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] dwarf2cfi.c fix for shlibs


Michal Ludvig writes:
 > Hi all,
 > this patch fixed mapping of FDE entries from shared libraries.
 > OK to commit to mainline and branch?
 > 
 > 2002-05-15  Michal Ludvig  <mludvig@suse.cz>
 > 
 >    * dwarf2cfi.c (dwarf2_build_frame_info): Add objfile->section_offset
 >    to fde->initial_location so that frames of shared libraries are mapped
 >    correctly.
 > 
 > Michal Ludvig
 > -- 
 > * SuSE CR, s.r.o     * mludvig@suse.cz
 > * +420 2 9654 5373   * http://www.suse.cz
 > Index: dwarf2cfi.c
 > ===================================================================
 > RCS file: /cvs/src/src/gdb/dwarf2cfi.c,v
 > retrieving revision 1.1.2.2
 > diff -c -3 -p -r1.1.2.2 dwarf2cfi.c
 > *** dwarf2cfi.c	14 May 2002 09:50:39 -0000	1.1.2.2
 > --- dwarf2cfi.c	15 May 2002 15:03:06 -0000
 > *************** dwarf2_build_frame_info (struct objfile 
 > *** 1476,1482 ****
 >   	      fde = fde_unit_alloc ();
 >   
 >   	      fde_chunks.array[fde_chunks.elems++] = fde;
 > ! 	      fde->initial_location = read_pointer (abfd, &start);
 >   	      fde->address_range = read_pointer (abfd, &start);
 >   
 >   	      for (cie = cie_chunks;
 > --- 1476,1483 ----
 >   	      fde = fde_unit_alloc ();
 >   
 >   	      fde_chunks.array[fde_chunks.elems++] = fde;
 > ! 	      fde->initial_location = read_pointer (abfd, &start)
 > ! 	        + objfile->section_offsets[objfile->sect_index_text].offsets[0];
 >   	      fde->address_range = read_pointer (abfd, &start);
 >   
 >   	      for (cie = cie_chunks;

You should use 

fde->initial_location = read_pointer (abfd, &start)
    + ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));

instead.

Otherwise it's ok.

Elena

BTW: I get 2 warnings compiling dwarf2cfi.c on i386.
/home/ezannoni/sources/src/gdb/dwarf2cfi.c: In function `execute_stack_op':
/home/ezannoni/sources/src/gdb/dwarf2cfi.c:1079: warning: cast to pointer from integer of different size
/home/ezannoni/sources/src/gdb/dwarf2cfi.c:1086: warning: cast to pointer from integer of different size


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