aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1995-08-21 15:12:34 +0000
committerIan Lance Taylor <ian@airs.com>1995-08-21 15:12:34 +0000
commit68807a39e419aeceff65520dcd8869a29611e7d8 (patch)
treed90d69bef36e91359b175e0406130580353bfba0
parentfa296a0c4446aad08053c2bc58ee8536ddcdd5c8 (diff)
downloadgdb-68807a39e419aeceff65520dcd8869a29611e7d8.zip
gdb-68807a39e419aeceff65520dcd8869a29611e7d8.tar.gz
gdb-68807a39e419aeceff65520dcd8869a29611e7d8.tar.bz2
* linker.c (link_action): If an undefined reference follows an
undefined weak reference, change the type to undefined. * elflink.h (elf_link_add_archive_symbols): Don't record an undefined weak reference as defined, in case it turns into a real undefined reference later in the same archive.
-rw-r--r--bfd/ChangeLog8
-rw-r--r--bfd/elflink.h3
2 files changed, 10 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 89b5e11..bd93fea 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,11 @@
+Mon Aug 21 11:10:32 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * linker.c (link_action): If an undefined reference follows an
+ undefined weak reference, change the type to undefined.
+ * elflink.h (elf_link_add_archive_symbols): Don't record an
+ undefined weak reference as defined, in case it turns into a real
+ undefined reference later in the same archive.
+
Thu Aug 17 16:29:09 1995 Ken Raeburn <raeburn@kr-laptop.cygnus.com>
* coff-sh.c (sh_relax_section): Cast value for used_by_bfd field
diff --git a/bfd/elflink.h b/bfd/elflink.h
index 07ab9bb..b625ae0 100644
--- a/bfd/elflink.h
+++ b/bfd/elflink.h
@@ -155,7 +155,8 @@ elf_link_add_archive_symbols (abfd, info)
continue;
if (h->root.type != bfd_link_hash_undefined)
{
- defined[i] = true;
+ if (h->root.type != bfd_link_hash_undefweak)
+ defined[i] = true;
continue;
}