This is the mail archive of the binutils@sourceware.org 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: PR22451, strip no longer works on older object files


On Mon, Nov 20, 2017 at 05:50:04AM -0800, H.J. Lu wrote:
> On Mon, Nov 20, 2017 at 5:40 AM, Alan Modra <amodra@gmail.com> wrote:
> > Setting SHF_GROUP unconditionally on rel/rela sections associated with
> > SHF_GROUP sections fails badly with objcopy/strip and ld -r if the
> > input file SHT_GROUP section didn't specify the rel/rela sections.
> > This patch rearranges where SHF_GROUP is set for rel/rela sections.
> >
> >         PR 22451
> >         PR 22460
> >         * elf.c (_bfd_elf_init_reloc_shdr): Delete "sec_hdr" parameter
> >         and leave rel_hdr->sh_flags zero.  Update calls.
> >         (bfd_elf_set_group_contents): Check input rel/rela SHF_GROUP
> >         flag when !gas before adding rel/rela section to group.  Set
> >         output rel/rela SHF_GROUP flags.
> >
> 
> Can we add an assembler command-line option to get  back the old
> behavior?  It can be used to generate a testcase for this patch.   It
> may be useful in other places.

I don't see the need for a testcase.  Yes, we like to be backward
compatible with older buggy object files, but it isn't something that
we need to keep forever (which is what a testcase would imply).
That's not to say backward compatibility in this case will be lost.
My patch didn't add some hack that I or some future maintainer will
want to remove:  It just moved where SHF_GROUP was set for rel/rela
sections.

-- 
Alan Modra
Australia Development Lab, IBM


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