This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils 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: Linux/ppc failure


On Thu, Oct 03, 2002 at 01:58:45PM +0930, Alan Modra wrote:
> On Wed, Oct 02, 2002 at 08:29:36PM -0700, H. J. Lu wrote:
> > I am kind of reluctant to change code without a testcase. It may break
> > something.
> 
> Take a look at .rel.debug_info from x86 gas/as.o.  You'll see many
> section relative relocs, but some like
> 
> 000095ad  00009b01 R_386_32          00000004   now_subseg
> 
> which is from
> 
>  <1><959e>: Abbrev Number: 74 (DW_TAG_variable)
>      DW_AT_name        : (indirect string, offset: 0x62c): now_subseg   
>      DW_AT_decl_file   : 23     
>      DW_AT_decl_line   : 305    
>      DW_AT_type        : <9592> 
>      DW_AT_external    : 1      
>      DW_AT_location    : 5 byte block: 3 0 0 0 0        (DW_OP_addr: 0; )
> 
> Richard's contention (if I understand correctly) is that we need to
> emit the reloc for similar cases to the above in ELF shared libraries
> so that DW_AT_location is correct in the face of symbol overrides.
> And for variables like the above, we have the added complication of
> .dynbss sections.

Woah now...

I don't think that's true at all!  In the case of symbol overrides, we
have no guarantee that the items being overridden all have the same
type, right?  So having the DWARF-2 for the version in libA.so point to
the properly selected version in libB.so is a little dodgy.

I suppose GDB could learn to check if the location was in the same
shared object.  That's pretty dodgy too.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer


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