aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1996-10-01 16:33:01 +0000
committerIan Lance Taylor <ian@airs.com>1996-10-01 16:33:01 +0000
commit0db6249c778a75ca251e025dbd54b185cf536a9e (patch)
tree9c51e1b038d80df2aaad4c70c4fd70fa4ba13f57
parenta5cb84dd6f9a5356e601da8ce57ebc88fd6a953a (diff)
downloadgdb-0db6249c778a75ca251e025dbd54b185cf536a9e.zip
gdb-0db6249c778a75ca251e025dbd54b185cf536a9e.tar.gz
gdb-0db6249c778a75ca251e025dbd54b185cf536a9e.tar.bz2
* elflink.h (elf_link_add_object_symbols): Only put a symbol from
a dynamic object in the dynamic symbol table if it is referenced or defined by a regular object. PR 10711.
-rw-r--r--bfd/ChangeLog20
-rw-r--r--bfd/elflink.h8
2 files changed, 21 insertions, 7 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 36c4757..bddced0 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,11 +1,29 @@
+Tue Oct 1 12:31:39 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * elflink.h (elf_link_add_object_symbols): Only put a symbol from
+ a dynamic object in the dynamic symbol table if it is referenced
+ or defined by a regular object.
+
+start-sanitize-v850
+Fri Sep 27 18:41:07 1996 Stu Grossman (grossman@critters.cygnus.com)
+
+ * elf32-v850.c (bfd_elf32_v850_is_local_label): New function to
+ remove dwarf local labels. Shrinks binaries by a factor of 3!
+
+end-sanitize-v850
+Mon Sep 23 13:33:00 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * elf32-ppc.c (ppc_elf_add_symbol_hook): Create the .sbss section
+ by hand, rather than by calling bfd_make_section.
+
start-sanitize-m32r
Mon Sep 23 09:23:41 1996 Doug Evans <dje@seba.cygnus.com>
* reloc.c: Rename m32r relocs.
* bfd-in2.h, libbfd.h: Rebuilt.
* elf32-m32r.c: Update.
-end-sanitize-m32r
+end-sanitize-m32r
Fri Sep 20 11:43:43 1996 Ian Lance Taylor <ian@cygnus.com>
* aoutx.h (aout_link_input_section_ext): When doing a relocateable
diff --git a/bfd/elflink.h b/bfd/elflink.h
index 6326121..dae7597 100644
--- a/bfd/elflink.h
+++ b/bfd/elflink.h
@@ -827,12 +827,8 @@ elf_link_add_object_symbols (abfd, info)
new_flag = ELF_LINK_HASH_REF_DYNAMIC;
else
new_flag = ELF_LINK_HASH_DEF_DYNAMIC;
- if ((old_flags & new_flag) != 0
- || (old_flags & (ELF_LINK_HASH_DEF_REGULAR
- | ELF_LINK_HASH_REF_REGULAR)) != 0
- || (h->weakdef != NULL
- && (old_flags & (ELF_LINK_HASH_DEF_DYNAMIC
- | ELF_LINK_HASH_REF_DYNAMIC)) != 0))
+ if ((old_flags & (ELF_LINK_HASH_DEF_REGULAR
+ | ELF_LINK_HASH_REF_REGULAR)) != 0)
dynsym = true;
}