+2004-12-01 Paul Brook <paul@codesourcery.com>
+
+ * elflink.c (elf_link_add_object_symbols): Make symbols from discarded
+ sections undefined.
+
2004-11-30 Paul Brook <paul@codesourcery.com>
* elf32-arm.c (struct elf32_arm_link_hash_table): Remove
sec = bfd_section_from_elf_index (abfd, isym->st_shndx);
if (sec == NULL)
sec = bfd_abs_section_ptr;
+ else if (sec->kept_section)
+ {
+ /* Symbols from discarded section are undefined. */
+ sec = bfd_und_section_ptr;
+ isym->st_shndx = SHN_UNDEF;
+ }
else if ((abfd->flags & (EXEC_P | DYNAMIC)) != 0)
value -= sec->vma;
}
+2004-12-01 Paul Brook <paul@codesourcery.com>
+
+ * ld-elf/group1.d: New test.
+ * ld-elf/group.ld, ld-elf/group1a.s, ld-elf/group1b.s: New test.
+
2004-12-01 Daniel Jacobowitz <dan@codesourcery.com>
* ld-selective/selective.exp: Use -print-libgcc-file-name for
--- /dev/null
+SECTIONS
+{
+ . = 0x1000;
+ .text : { *(.text) }
+}
--- /dev/null
+#source: group1a.s
+#source: group1b.s
+#ld: -T group.ld
+#readelf: -s
+Symbol table '.symtab' contains .* entries:
+#...
+ .*: 00001000 0 NOTYPE WEAK DEFAULT . foo
+ .*: 00000000 0 NOTYPE GLOBAL DEFAULT UND bar
+#...
--- /dev/null
+ .section .text,"axG",%progbits,foo_group,comdat
+ .weak foo
+foo:
+ .word 0
--- /dev/null
+ .section .text,"axG",%progbits,foo_group,comdat
+ .global foo
+ .global bar
+foo:
+ .word 0
+bar: