[PATCH] PR ld/18160: Segmentation Fault in lang_gc_sections when linking elf_x86_64 output
Alan Modra
amodra@gmail.com
Thu Mar 26 02:29:00 GMT 2015
On Wed, Mar 25, 2015 at 06:58:25PM -0700, H.J. Lu wrote:
> On Wed, Mar 25, 2015 at 6:27 PM, Alan Modra <amodra@gmail.com> wrote:
> > On Wed, Mar 25, 2015 at 06:14:29PM -0700, H.J. Lu wrote:
> >> On Wed, Mar 25, 2015 at 5:38 PM, Alan Modra <amodra@gmail.com> wrote:
> >> > On Wed, Mar 25, 2015 at 04:21:14PM -0700, H.J. Lu wrote:
> >> >> This patch ignores gc-sections if input relocation is incompatible with
> >> >> output. OK for master?
> >> >
> >> > No. For one, it looks like you can't call _bfd_elf_relocs_compatible
> >> > with a non-ELF input, which is either a bug in that function or you
> >> > need to first test for ELF.
> >> >
> >> > Secondly, if you take a look at the gc-sections code you'll see that
> >> > it handles non-ELF input files by simply not garbage collecting those
> >> > files. Your patch would disable gc-sections entirely on finding a
> >> > non-ELF file. I'm not sure how important it is to keep the old
> >> > behaviour, but I'm guessing you did not intend to make that change.
> >> >
> >>
> >> How about this one?
> >>
> >> This patch skips gc-sections if input relocation is incompatible with
> >> output.
> >
> > Is the warning really necessary? Also, it looks to me that the
> > relocs_compatible test should be in more places, eg. to stop the
> > backend gc_mark_hook from being confused by incompatible relocs.
>
> Like this?
Yes, thanks, this is OK. Do we need a similar test in the .eh_frame
loop that you originally patched? Feel free to add that if you think
so.
--
Alan Modra
Australia Development Lab, IBM
More information about the Binutils
mailing list