diff options
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/linker.c | 9 |
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; + } } } } |