summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2004-06-30 13:42:45 +0000
committerAlan Modra <amodra@bigpond.net.au>2004-06-30 13:42:45 +0000
commit9d92fab68ab3554a7bf6880171cbd8bba9f064b6 (patch)
tree3092f9de8c91cf11fad22087fbfe69e234e84e65
parent1e8e344e07c3d807d3ee553ed1873d82b578e9d9 (diff)
downloadbinutils-redhat-9d92fab68ab3554a7bf6880171cbd8bba9f064b6.tar.gz
* elflink.c (elf_section_ignore_discarded_relocs): Don't test
sec_info_type, test section name instead.
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elflink.c15
2 files changed, 12 insertions, 8 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 78bcea55e3..20f0c227ac 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2004-06-30 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.c (elf_section_ignore_discarded_relocs): Don't test
+ sec_info_type, test section name instead.
+
2004-06-29 H.J. Lu <hongjiu.lu@intel.com>
PR 240
diff --git a/bfd/elflink.c b/bfd/elflink.c
index 7b8d252428..354cfbbe5a 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -6263,14 +6263,13 @@ elf_section_ignore_discarded_relocs (asection *sec)
{
const struct elf_backend_data *bed;
- switch (sec->sec_info_type)
- {
- case ELF_INFO_TYPE_STABS:
- case ELF_INFO_TYPE_EH_FRAME:
- return TRUE;
- default:
- break;
- }
+ if (strncmp (".stab", sec->name, 5) == 0
+ && (!sec->name[5] ||
+ (sec->name[5] == '.' && ISDIGIT (sec->name[6]))))
+ return TRUE;
+
+ if (strcmp (".eh_frame", sec->name) == 0)
+ return TRUE;
bed = get_elf_backend_data (sec->owner);
if (bed->elf_backend_ignore_discarded_relocs != NULL