From: Raunaq 12 <raunaq12@in.ibm.com>
To: Raunaq 12 <raunaq12@in.ibm.com>
Cc: Pedro Alves <palves@redhat.com>,
gdb-patches@sourceware.org,
Mark Kettenis <mark.kettenis@xs4all.nl>,
tromey@redhat.com
Subject: Re: [PATCH 2/5] powerpc64-aix processing xlC generated line table
Date: Wed, 31 Jul 2013 10:03:00 -0000 [thread overview]
Message-ID: <OF7E65CADF.3FE2B182-ON65257BB9.0036E94F-65257BB9.00374012@in.ibm.com> (raw)
In-Reply-To: <OF668B9A7A.5414653D-ON65257BB9.00351B5A-65257BB9.003675D7@LocalDomain>
Corrected a few formatting errors that i just realised :-
---
./gdb/xcoffread.c
===================================================================
--- ./gdb.orig/xcoffread.c
+++ ./gdb/xcoffread.c
@@ -241,6 +241,8 @@
static struct linetable *arrange_linetable (struct linetable *);
+static struct linetable *modify_xlc_linenos (struct linetable *);
+
static void record_include_end (struct coff_symbol *);
static void process_linenos (CORE_ADDR, CORE_ADDR);
@@ -589,6 +591,24 @@
}
}
+/* xlc compiled binaries have one less entry in the line table.
+ So the function entry lines marked as line number equal to 0
+ will be retained in the line table with line numbers equal
+ to its succeeding line table entry. */
+
+static struct linetable *
+modify_xlc_linenos (struct linetable *lineTb)
+{
+ int jj;
+ for (jj = 0; jj < lineTb->nitems; jj++)
+ {
+ if (lineTb->item[jj].line == 0 && (lineTb->item[jj].pc
+ != lineTb->item[jj + 1].pc))
+ lineTb->item[jj].line = lineTb->item[jj + 1].line;
+ }
+ return lineTb;
+}
+
/* Global variable to pass the psymtab down to all the routines involved
in psymtab to symtab processing. */
static struct partial_symtab *this_symtab_psymtab;
@@ -698,10 +718,14 @@
lv = main_subfile.line_vector;
+ /* Add extra line entry in case of xlc compiled binaries. */
+
+ lineTb = modify_xlc_linenos (lv);
+
/* Line numbers are not necessarily ordered. xlc compilation will
put static function to the end. */
- lineTb = arrange_linetable (lv);
+ lineTb = arrange_linetable (lineTb);
if (lv == lineTb)
{
current_subfile->line_vector = (struct linetable *)
@@ -730,10 +754,14 @@
lv = (inclTable[ii].subfile)->line_vector;
+ /* Add extra line entry in case of xlc compiled binaries */
+
+ lineTb = modify_xlc_linenos (lv);
+
/* Line numbers are not necessarily ordered. xlc compilation will
put static function to the end. */
- lineTb = arrange_linetable (lv);
+ lineTb = arrange_linetable (lineTb);
push_subfile ();
---
Regards,
Raunaq
next prev parent reply other threads:[~2013-07-31 10:03 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-29 6:15 Raunaq 12
2013-07-29 16:58 ` Pedro Alves
2013-07-31 9:57 ` Raunaq 12
[not found] ` <OF668B9A7A.5414653D-ON65257BB9.00351B5A-65257BB9.003675D7@LocalDomain>
2013-07-31 10:03 ` Raunaq 12 [this message]
[not found] <OF1EDEDB55.9DF54135-ON65257BBA.003B42B8-65257BBA.003D0F4D@LocalDomain>
2013-08-07 11:37 ` Raunaq 12
2013-08-07 15:23 ` Ulrich Weigand
2013-08-08 12:04 ` Raunaq 12
2013-08-08 22:01 ` Ulrich Weigand
2013-08-12 7:50 ` Raunaq 12
2013-08-26 15:30 ` Ulrich Weigand
-- strict thread matches above, loose matches on Subject: below --
2013-08-01 11:07 Raunaq 12
2013-07-24 12:37 Raunaq 12
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=OF7E65CADF.3FE2B182-ON65257BB9.0036E94F-65257BB9.00374012@in.ibm.com \
--to=raunaq12@in.ibm.com \
--cc=gdb-patches@sourceware.org \
--cc=mark.kettenis@xs4all.nl \
--cc=palves@redhat.com \
--cc=tromey@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox