aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1994-01-27 18:56:42 +0000
committerIan Lance Taylor <ian@airs.com>1994-01-27 18:56:42 +0000
commitc315696657d36cfab52129f14ff12436c8aa861d (patch)
treed78d3fb56ce0607261ee61d7b0f2641f64905281
parent4a5242e884dec6efa9730f8ee0ccb57c4d9bca68 (diff)
downloadgdb-c315696657d36cfab52129f14ff12436c8aa861d.zip
gdb-c315696657d36cfab52129f14ff12436c8aa861d.tar.gz
gdb-c315696657d36cfab52129f14ff12436c8aa861d.tar.bz2
* linker.c (generic_link_add_symbol_list): If symbol is common,
set the BSF_OLD_COMMON flag.
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/linker.c9
2 files changed, 13 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 13ff5f4..0e4ef7e 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+Thu Jan 27 13:54:08 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * linker.c (generic_link_add_symbol_list): If symbol is common,
+ set the BSF_OLD_COMMON flag.
+
Wed Jan 26 13:47:15 1994 David J. Mackenzie (djm@thepub.cygnus.com)
* format.c (bfd_check_format_matches): Put the new entry in the
diff --git a/bfd/linker.c b/bfd/linker.c
index 2f3ac82..f70f799 100644
--- a/bfd/linker.c
+++ b/bfd/linker.c
@@ -1066,7 +1066,14 @@ generic_link_add_symbol_list (abfd, info, symbol_count, symbols)
|| (bfd_get_section (p) != &bfd_und_section
&& (! bfd_is_com_section (bfd_get_section (p))
|| (bfd_get_section (h->sym) == &bfd_und_section))))
- h->sym = p;
+ {
+ h->sym = p;
+ /* BSF_OLD_COMMON is a hack to support COFF reloc
+ reading, and it should go away when the COFF
+ linker is switched to the new version. */
+ if (bfd_is_com_section (bfd_get_section (p)))
+ p->flags |= BSF_OLD_COMMON;
+ }
}
}
}