Question about your patch
Catherine Moore
clm@codesourcery.com
Tue Jan 27 16:04:00 GMT 2009
Hi Nick --
I'm looking at a change that you made to elf32-arm.c back in November as part of this patch:
bfd/ChangeLog
2008-11-25 Nick Clifton <nickc@redhat.com>
* elflink.c (is_reloc_section): New function. Returns true if the
given name matches the name of the reloc-containing section
associated with the given section.
<lots of stuff deleted>
The part that I'm interested in is in elf32_arm_check_relocs (hopefully, there's enough context):
old part:
! if ((sec->flags & SEC_ALLOC) != 0
! /* BPABI objects never have dynamic
! relocations mapped. */
! && !htab->symbian_p)
! flags |= SEC_ALLOC | SEC_LOAD;
new part:
! /* BPABI objects never have dynamic relocations mapped. */
! if (! htab->symbian_p)
{
! flagword flags;
! flags = bfd_get_section_flags (dynobj, sreloc);
! flags &= ~(SEC_LOAD | SEC_ALLOC);
! bfd_set_section_flags (dynobj, sreloc, flags);
}
What I'm seeing is that the SEC_ALLOC flag is missing for .rel.somename sections that are created,
which in turn is causing these sections to be emitted to the output bfd instead of being placed in
the .rel.dyn section. In particular, it's happening during the building of libc.so for arm-linux.
Did you mean to make that change to the flags to prevent the SEC_ALLOC flag from being set?
Thanks,
Catherine
More information about the Binutils
mailing list