2006-06-19 Vladimir Prus <vladimir@codesourcery.com>
bfd/ * elf32-arm.c (elf32_arm_swap_symbol_out): Don't set low bit for undefined symbols. ld/testsuite * ld-arm/arm-elf.exp: New test. * ld-arm/use-thumb-lib.s: New file. * ld-arm/use-thumb-lib.sym: New file.
This commit is contained in:
parent
a6b96bebd2
commit
0fa3dcad7e
|
@ -1,3 +1,8 @@
|
||||||
|
2006-06-19 Vladimir Prus <vladimir@codesourcery.com>
|
||||||
|
|
||||||
|
* elf32-arm.c (elf32_arm_swap_symbol_out): Don't set low
|
||||||
|
bit for undefined symbols.
|
||||||
|
|
||||||
2006-06-19 Alan Modra <amodra@bigpond.net.au>
|
2006-06-19 Alan Modra <amodra@bigpond.net.au>
|
||||||
|
|
||||||
* elf-bfd.h (struct elf_backend_data): Add bfd_link_info pointer
|
* elf-bfd.h (struct elf_backend_data): Add bfd_link_info pointer
|
||||||
|
|
|
@ -9172,6 +9172,19 @@ elf32_arm_swap_symbol_out (bfd *abfd,
|
||||||
{
|
{
|
||||||
newsym = *src;
|
newsym = *src;
|
||||||
newsym.st_info = ELF_ST_INFO (ELF_ST_BIND (src->st_info), STT_FUNC);
|
newsym.st_info = ELF_ST_INFO (ELF_ST_BIND (src->st_info), STT_FUNC);
|
||||||
|
if (newsym.st_shndx != SHN_UNDEF)
|
||||||
|
{
|
||||||
|
/* Do this only for defined symbols. At link type, the static
|
||||||
|
linker will simulate the work of dynamic linker of resolving
|
||||||
|
symbols and will carry over the thumbness of found symbols to
|
||||||
|
the output symbol table. It's not clear how it happens, but
|
||||||
|
the thumbness of underfined symbols can well be different at
|
||||||
|
runtime, and writing '1' for them will be confusing for users
|
||||||
|
and possibly for dynamic linker itself.
|
||||||
|
*/
|
||||||
|
newsym.st_value |= 1;
|
||||||
|
}
|
||||||
|
|
||||||
newsym.st_value |= 1;
|
newsym.st_value |= 1;
|
||||||
|
|
||||||
src = &newsym;
|
src = &newsym;
|
||||||
|
|
|
@ -1,3 +1,9 @@
|
||||||
|
2006-06-19 Vladimir Prus <vladimir@codesourcery.com>
|
||||||
|
|
||||||
|
* ld-arm/arm-elf.exp: New test.
|
||||||
|
* ld-arm/use-thumb-lib.s: New file.
|
||||||
|
* ld-arm/use-thumb-lib.sym: New file.
|
||||||
|
|
||||||
2006-06-15 Mark Shinwell <shinwell@codesourcery.com>
|
2006-06-15 Mark Shinwell <shinwell@codesourcery.com>
|
||||||
|
|
||||||
* ld-arm/group-relocs-alu-bad.d: New test.
|
* ld-arm/group-relocs-alu-bad.d: New test.
|
||||||
|
|
|
@ -131,6 +131,10 @@ set armelftests {
|
||||||
{"BE8 Mapping Symbols" "-static -T arm.ld -EB --be8" "-EB" {arm-be8.s}
|
{"BE8 Mapping Symbols" "-static -T arm.ld -EB --be8" "-EB" {arm-be8.s}
|
||||||
{{objdump -s arm-be8.d}}
|
{{objdump -s arm-be8.d}}
|
||||||
"arm-be8"}
|
"arm-be8"}
|
||||||
|
{"Using Thumb lib by another lib" "-shared tmpdir/mixed-lib.so" "" {use-thumb-lib.s}
|
||||||
|
{{readelf -Ds use-thumb-lib.sym}}
|
||||||
|
"use-thumb-lib.so"}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
run_ld_link_tests $armelftests
|
run_ld_link_tests $armelftests
|
||||||
|
|
Loading…
Reference in New Issue