This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
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