summaryrefslogtreecommitdiffstats
path: root/binutils
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2009-09-28 09:45:33 +0000
committerNick Clifton <nickc@redhat.com>2009-09-28 09:45:33 +0000
commitcaa83f8b08be81c0f5a93fd8beee392eeac826bc (patch)
tree938d28131809fc700206f5990d812e16a8f417ff /binutils
parentfc9f1df98e169c50b9cc1b7b016a3fb712c3af1f (diff)
downloadppe42-binutils-caa83f8b08be81c0f5a93fd8beee392eeac826bc.tar.gz
ppe42-binutils-caa83f8b08be81c0f5a93fd8beee392eeac826bc.zip
PR 10478
* elf.c (bfd_section_from_shdr): Allow SHN_BEFORE and SHN_AFTER section link values in x86 binaries. * elfcode.h (elf_object_p): Likewise. * readelf.c (get_elf_section_flags): Allow SHN_BEFORE and SHN_AFTER section link values in x86 binaries. (process_section_headers): Likewise.
Diffstat (limited to 'binutils')
-rw-r--r--binutils/ChangeLog7
-rw-r--r--binutils/readelf.c8
2 files changed, 14 insertions, 1 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 04e553f296..b059f91e63 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,10 @@
+2009-09-28 Nick Clifton <nickc@redhat.com>
+
+ PR 10478
+ * readelf.c (get_elf_section_flags): Allow SHN_BEFORE and
+ SHN_AFTER section link values in x86 binaries.
+ (process_section_headers): Likewise.
+
2009-09-25 Dimitry Gorbachev <d.g.gorbachev@gmail.com>
PR 10656
diff --git a/binutils/readelf.c b/binutils/readelf.c
index 9c0982307d..a57b5ad63b 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -3971,6 +3971,9 @@ get_elf_section_flags (bfd_vma sh_flags)
#endif
break;
+ case EM_386:
+ case EM_486:
+ case EM_X86_64:
case EM_OLD_SPARCV9:
case EM_SPARC32PLUS:
case EM_SPARCV9:
@@ -4384,9 +4387,12 @@ process_section_headers (FILE * file)
{
link_too_big = "";
/* The sh_link value is out of range. Normally this indicates
- an error but it can have special values in SPARC binaries. */
+ an error but it can have special values in Solaris binaries. */
switch (elf_header.e_machine)
{
+ case EM_386:
+ case EM_486:
+ case EM_X86_64:
case EM_OLD_SPARCV9:
case EM_SPARC32PLUS:
case EM_SPARCV9:
OpenPOWER on IntegriCloud