diff options
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elflink.c | 15 |
2 files changed, 12 insertions, 8 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 78bcea5..20f0c22 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 7b8d252..354cfbb 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 |