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: selective[1245] xfail on x86-64


On Thu, May 30, 2002 at 02:23:14PM -0400, Daniel Jacobowitz wrote:
> On Thu, May 30, 2002 at 06:55:32PM +0200, Andreas Schwab wrote:
> > Alan Modra <amodra@bigpond.net.au> writes:
> > |> Or maybe we could just treat .eh_frame specially in elf_gc_mark.
> > |> Andreas, does this cure the x86_64 problem?
> > 
> > Doesn't work:
> > 
> > tmpdir/1.o(.eh_frame+0x38): undefined reference to `local symbols in discarded section .text.dropme1'
> 
> Yep.  Alan, if you want this to work you'll need to either:
>  - ignore discarded locals if you're in .eh_frame
>  - properly edit .eh_frame; I guess we only do this for .debug_frame.

Or teach gcc to split up .eh_frame.  I ran into difficulties with
.eh_frame relocs on my first attempt at this.  Perhaps editing
.eh_frame is the way to go.

> > |> (It doesn't work
> > |> on powerpc64 because the .opd section refers to all functions.
> > 
> > Can't this be fixed by splitting .opd in the same way as .text?
> 
> I'd think it would be easier to remove entries from .opd automatically
> when we GC a function.

I'll probably go with editing .opd.  That way you get to throw away
all the unused entries, for example there's no need to keep entries
for local functions.

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre


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