aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2005-07-27 08:32:53 +0000
committerAlan Modra <amodra@gmail.com>2005-07-27 08:32:53 +0000
commit2f5028a7c8f6a9c9fb2d32a6962774b6fc87eb21 (patch)
tree8a28b0895797c4ea5a100080a3a3f7e0fee65638
parent8b5328ac50681bbb28f0f2b414a33e0fad079288 (diff)
downloadgdb-2f5028a7c8f6a9c9fb2d32a6962774b6fc87eb21.zip
gdb-2f5028a7c8f6a9c9fb2d32a6962774b6fc87eb21.tar.gz
gdb-2f5028a7c8f6a9c9fb2d32a6962774b6fc87eb21.tar.bz2
* elflink.c (fix_syms): Handle symbols defined in input sections.
-rw-r--r--bfd/ChangeLog4
-rw-r--r--bfd/elflink.c7
2 files changed, 8 insertions, 3 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 4286fdf..21ab9cc 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,7 @@
+2005-07-27 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.c (fix_syms): Handle symbols defined in input sections.
+
2005-07-27 Jan Beulich <jbeulich@novell.com>
* elf64-x86-64.c (R_X86_64_standard, R_X86_64_vt_offset): New.
diff --git a/bfd/elflink.c b/bfd/elflink.c
index 98fee0c..62f80c9 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -9911,10 +9911,11 @@ fix_syms (struct bfd_link_hash_entry *h, void *data)
{
asection *s = h->u.def.section;
if (s != NULL
- && s == s->output_section
- && bfd_section_removed_from_list (obfd, s))
+ && s->output_section != NULL
+ && (s->output_section->flags & SEC_EXCLUDE) != 0
+ && bfd_section_removed_from_list (obfd, s->output_section))
{
- h->u.def.value += s->vma;
+ h->u.def.value += s->output_offset + s->output_section->vma;
h->u.def.section = bfd_abs_section_ptr;
}
}