diff options
author | Nick Clifton <nickc@redhat.com> | 2006-07-24 18:18:19 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2006-07-24 18:18:19 +0000 |
commit | ff15b24025763b5e8c609fc1ec15af3091a52133 (patch) | |
tree | ab4e92cca847a85b912e856d936a9e0a6e6d0178 /bfd | |
parent | 4e22f78d855c28e90d785d10a5449263df88148f (diff) | |
download | gdb-ff15b24025763b5e8c609fc1ec15af3091a52133.zip gdb-ff15b24025763b5e8c609fc1ec15af3091a52133.tar.gz gdb-ff15b24025763b5e8c609fc1ec15af3091a52133.tar.bz2 |
* emulparams/elf_x86_64.sh (LIBPATH_SUFFIX, ELF_INTERPRETER_NAME): Set for *-*-solaris2*.
* elf.c (bfd_section_from_shdr): Reject unrecognised OS-specific sections
only if the SHF_OS_NONCONFORMING flag is present.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elf.c | 19 |
2 files changed, 19 insertions, 5 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 98a3bc4..8292b28 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2006-07-24 Michael Wetherell <mike.wetherell@ntlworld.com> + + * elf.c (bfd_section_from_shdr): Reject unrecognised OS-specific + sections only if the SHF_OS_NONCONFORMING flag is present. + 2006-07-24 Nick Clifton <nickc@redhat.com> PR ld/2729 @@ -2201,11 +2201,20 @@ bfd_section_from_shdr (bfd *abfd, unsigned int shindex) "`%s' [0x%8x]"), abfd, name, hdr->sh_type); else if (hdr->sh_type >= SHT_LOOS && hdr->sh_type <= SHT_HIOS) - /* FIXME: We should handle this section. */ - (*_bfd_error_handler) - (_("%B: don't know how to handle OS specific section " - "`%s' [0x%8x]"), - abfd, name, hdr->sh_type); + { + /* Unrecognised OS-specific sections. */ + if ((hdr->sh_flags & SHF_OS_NONCONFORMING) != 0) + /* SHF_OS_NONCONFORMING indicates that special knowledge is + required to correctly process the section and the file should + be rejected with an error message. */ + (*_bfd_error_handler) + (_("%B: don't know how to handle OS specific section " + "`%s' [0x%8x]"), + abfd, name, hdr->sh_type); + else + /* Otherwise it should be processed. */ + return _bfd_elf_make_section_from_shdr (abfd, hdr, name, shindex); + } else /* FIXME: We should handle this section. */ (*_bfd_error_handler) |