Weird relocations

Ian Lance Taylor ian@zembu.com
Sun Oct 3 05:36:00 GMT 1999


   From: Toshi Morita <tm2@best.com>
   Date: Sat, 2 Oct 1999 22:49:09 -0700 (PDT)

   I'm seeing DWARF1 debug info in a final executable where the DW_high_pc
   is lower than the DW_low_pc, and it looks like the DW_low_pc isn't properly
   resolved; e.g. it has a value like 0000008 or 00000010.

   Okay, Ian Lance Taylor replied:

   > I don't know why you are seeing relocations against symbols named .L*.
   > I wonder whether you have this patch in your sources:
   > 
   > 1999-06-13  Ian Lance Taylor  <ian@zembu.com>
   > 
   >         * write.c (adjust_reloc_syms): Rather than never reducing reloc
   >         which refer to symbols in linkonce sections, permit reducing the
   >         relocs if the symbol is local.
   >
   >As you can see, this again leads me to think about linkonce sections.
   >In what section are those symbols actually defined?

   Yup, I checked a few of the symbols and they do seem to be in .gnu.linkonce
   sections...can any meaningful inferences be made from this?

Just that we have to either patch the linker to do something different
with these relocations, or we have to patch the debugger to handle
this case.  Patching the debugger is probably easier; it should
presumably just ignore debugging information like this.  Patching the
linker would unfortunately have to be done in a number of locations.

Ian


More information about the Binutils mailing list