This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA] Relocate debug information in object files (e.g. add-symbol-file) [take 2]


On Fri, 31 Jan 2003 19:47:57 -0500, Elena Zannoni <ezannoni@redhat.com> said:

>> I haven't looked at it at all closely; but dwarf2_read_section (and
>> hence symfile_relocate_debug_section) is getting passed a NULL
>> section from this part of dwarf2_build_psymtabs:
>> 
>> if (dwarf_ranges_offset)
>> dwarf_ranges_buffer = dwarf2_read_section (objfile,
>> dwarf_ranges_offset,
>> dwarf_ranges_size,
>> dwarf_ranges_section);
>> else
>> dwarf_ranges_buffer = NULL;
>> 

> It's odd, if the dwarf_ranges_offset is zero, the call shouldn't be made.
> Maybe something is trashing the stack?

> What gcc did you use? I tried with 2.96 (from RHL 7.2) and didn't see
> the error.

Did you specify DWARF 2?  I saw this on 3.1.

I've found the problem, though: nobody seems to be setting
dwarf_ranges_section!  Patch enclosed below; I'm running it through
the testsuite, and I'll commit it as obvious if it cures the problem.

David Carlton
carlton@math.stanford.edu

2003-01-31  David Carlton  <carlton@math.stanford.edu>

	* dwarf2read.c (dwarf2_locate_sections): Set
	dwarf_ranges_section.

Index: dwarf2read.c
===================================================================
RCS file: /cvs/src/src/gdb/dwarf2read.c,v
retrieving revision 1.81
diff -u -p -r1.81 dwarf2read.c
--- dwarf2read.c	31 Jan 2003 19:22:18 -0000	1.81
+++ dwarf2read.c	1 Feb 2003 00:57:49 -0000
@@ -1002,6 +1002,7 @@ dwarf2_locate_sections (bfd *ignore_abfd
     {
       dwarf_ranges_offset = sectp->filepos;
       dwarf_ranges_size = bfd_get_section_size_before_reloc (sectp);
+      dwarf_ranges_section = sectp;
     }
 }
 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]