diff options
author | Jan Beulich <jbeulich@novell.com> | 2013-10-29 17:52:24 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2013-10-29 17:52:24 +0100 |
commit | 34a79995c4cc34f6f41e2a4b2df477db31b31f0c (patch) | |
tree | f85f8514b04cea06e4f013d80b869ec140dce61a /gas | |
parent | aee17e424f491173bb377b97c397bca1604bf5b8 (diff) | |
download | fsf-binutils-gdb-34a79995c4cc34f6f41e2a4b2df477db31b31f0c.zip fsf-binutils-gdb-34a79995c4cc34f6f41e2a4b2df477db31b31f0c.tar.gz fsf-binutils-gdb-34a79995c4cc34f6f41e2a4b2df477db31b31f0c.tar.bz2 |
ld/ELF: refine fake STT_FILE symbol emission
There's no real need to emit these always: They're needed only if we
indeed want to emit a localized symbol. Hence defer emission until we
at least did the basic early checks that would lead to no such symbol
getting emitted. This in particular avoids emitting such a symbol in
the majority of (if not all) "ld -r" cases.
I hope my set of cross build tests caught all the test cases needing
adjustment - please forgive if I missed a few.
bfd/
2013-10-29 Jan Beulich <jbeulich@suse.com>
* elflink.c (struct elf_outext_info): Add field file_sym_done.
(bfd_elf_final_link): Initialize new field. Move fake STT_FILE
symbol emission from here ...
(elf_link_output_extsym): ... to here.
gas/testsuite/
2013-10-29 Jan Beulich <jbeulich@suse.com>
* gas/microblaze/relax_size.elf: Drop expectation of no longer
present STT_FILE symbol.
* gas/microblaze/relax_size2.elf: Likewise.
ld/testsuite/
2013-10-29 Jan Beulich <jbeulich@suse.com>
* ld-cris/tls-e-tpoffcomm1.d: Drop expectation of no longer
present STT_FILE symbol.
* ld-mmix/bpo-18.d: Likewise.
* ld-mmix/bpo-22.d: Likewise.
* ld-mmix/greg-6.d: Likewise.
* ld-mmix/greg-7.d: Likewise.
* ld-mmix/loc4.d: Likewise.
* ld-mmix/local1.d: Likewise.
* ld-mmix/local3.d: Likewise.
* ld-mmix/local5.d: Likewise.
* ld-mmix/local7.d: Likewise.
* ld-mmix/loct-1.d: Likewise.
* ld-sh/sh64/abi32.xd: Likewise.
* ld-sh/sh64/abi64.xd: Likewise.
* ld-sh/sh64/cmpct1.xd: Likewise.
* ld-sh/sh64/crange1.rd: Likewise.
* ld-sh/sh64/crange2.rd: Likewise.
* ld-sh/sh64/crange3-cmpct.rd: Likewise.
* ld-sh/sh64/crange3-media.rd: Likewise.
* ld-sh/sh64/crange3.rd: Likewise.
* ld-sh/sh64/crangerel1.rd: Likewise.
* ld-sh/sh64/crangerel2.rd: Likewise.
* ld-sh/sh64/mix1.xd: Likewise.
* ld-sh/sh64/mix2.xd: Likewise.
* ld-sh/sh64/shdl32.xd: Likewise.
* ld-sh/sh64/shdl64.xd: Likewise.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/microblaze/relax_size.elf | 47 | ||||
-rw-r--r-- | gas/testsuite/gas/microblaze/relax_size2.elf | 47 |
3 files changed, 52 insertions, 48 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index da0afe8..f7cd119 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2013-10-29 Jan Beulich <jbeulich@suse.com> + + * gas/microblaze/relax_size.elf: Drop expectation of no longer + present STT_FILE symbol. + * gas/microblaze/relax_size2.elf: Likewise. + 2013-10-18 Chao-ying Fu <Chao-ying.Fu@imgtec.com> * gas/mips/micromips@msa-branch.d, gas/mips/msa-branch.d, diff --git a/gas/testsuite/gas/microblaze/relax_size.elf b/gas/testsuite/gas/microblaze/relax_size.elf index cf23ea6..9a96959 100644 --- a/gas/testsuite/gas/microblaze/relax_size.elf +++ b/gas/testsuite/gas/microblaze/relax_size.elf @@ -1,5 +1,5 @@ -Symbol table '.symtab' contains 29 entries: +Symbol table '.symtab' contains 28 entries: Num: Value Size Type Bind Vis Ndx Name 0: 00000000 0 NOTYPE LOCAL DEFAULT UND 1: 00000050 0 SECTION LOCAL DEFAULT 1 @@ -7,26 +7,25 @@ Symbol table '.symtab' contains 29 entries: 3: 00000000 0 FILE LOCAL DEFAULT ABS relax_size.o 4: 00000050 8 NOTYPE LOCAL DEFAULT 1 func 5: 00000058 0 NOTYPE LOCAL DEFAULT 1 label - 6: 00000000 0 FILE LOCAL DEFAULT ABS - 7: 00000058 0 NOTYPE GLOBAL DEFAULT 2 _fdata - 8: 00000058 0 NOTYPE GLOBAL DEFAULT 1 _etext - 9: 00000058 0 NOTYPE GLOBAL DEFAULT 2 _essrw - 10: 00000058 0 NOTYPE GLOBAL DEFAULT 1 _heap_end - 11: 00000058 0 NOTYPE GLOBAL DEFAULT 1 _heap_start - 12: 00000000 0 NOTYPE GLOBAL DEFAULT ABS _ssro_size - 13: 00000050 0 NOTYPE GLOBAL DEFAULT 1 _ftext - 14: 00000058 0 NOTYPE GLOBAL DEFAULT 2 _essro - 15: 00000400 0 NOTYPE GLOBAL DEFAULT ABS _STACK_SIZE - 16: 00000000 0 NOTYPE GLOBAL DEFAULT ABS _HEAP_SIZE - 17: 00000000 0 NOTYPE GLOBAL DEFAULT ABS _ssrw_size - 18: 00000058 0 NOTYPE GLOBAL DEFAULT 2 _stack_end - 19: 00000058 0 NOTYPE GLOBAL DEFAULT 2 _edata - 20: 00000458 0 NOTYPE GLOBAL DEFAULT 2 _end - 21: 00000058 0 NOTYPE GLOBAL DEFAULT 1 _heap - 22: 00000058 0 NOTYPE GLOBAL DEFAULT 2 _ssro - 23: 00000058 0 NOTYPE GLOBAL DEFAULT 2 _ssrw - 24: 00000458 0 NOTYPE GLOBAL DEFAULT 2 _stack - 25: 00000050 0 NOTYPE GLOBAL DEFAULT ABS _TEXT_START_ADDR - 26: 00000058 0 NOTYPE GLOBAL DEFAULT 2 _frodata - 27: 00000058 0 NOTYPE GLOBAL DEFAULT 2 _fbss - 28: 00000058 0 NOTYPE GLOBAL DEFAULT 2 _erodata + 6: 00000058 0 NOTYPE GLOBAL DEFAULT 2 _fdata + 7: 00000058 0 NOTYPE GLOBAL DEFAULT 1 _etext + 8: 00000058 0 NOTYPE GLOBAL DEFAULT 2 _essrw + 9: 00000058 0 NOTYPE GLOBAL DEFAULT 1 _heap_end + 10: 00000058 0 NOTYPE GLOBAL DEFAULT 1 _heap_start + 11: 00000000 0 NOTYPE GLOBAL DEFAULT ABS _ssro_size + 12: 00000050 0 NOTYPE GLOBAL DEFAULT 1 _ftext + 13: 00000058 0 NOTYPE GLOBAL DEFAULT 2 _essro + 14: 00000400 0 NOTYPE GLOBAL DEFAULT ABS _STACK_SIZE + 15: 00000000 0 NOTYPE GLOBAL DEFAULT ABS _HEAP_SIZE + 16: 00000000 0 NOTYPE GLOBAL DEFAULT ABS _ssrw_size + 17: 00000058 0 NOTYPE GLOBAL DEFAULT 2 _stack_end + 18: 00000058 0 NOTYPE GLOBAL DEFAULT 2 _edata + 19: 00000458 0 NOTYPE GLOBAL DEFAULT 2 _end + 20: 00000058 0 NOTYPE GLOBAL DEFAULT 1 _heap + 21: 00000058 0 NOTYPE GLOBAL DEFAULT 2 _ssro + 22: 00000058 0 NOTYPE GLOBAL DEFAULT 2 _ssrw + 23: 00000458 0 NOTYPE GLOBAL DEFAULT 2 _stack + 24: 00000050 0 NOTYPE GLOBAL DEFAULT ABS _TEXT_START_ADDR + 25: 00000058 0 NOTYPE GLOBAL DEFAULT 2 _frodata + 26: 00000058 0 NOTYPE GLOBAL DEFAULT 2 _fbss + 27: 00000058 0 NOTYPE GLOBAL DEFAULT 2 _erodata diff --git a/gas/testsuite/gas/microblaze/relax_size2.elf b/gas/testsuite/gas/microblaze/relax_size2.elf index fbdcc0a..2376bfcd2 100644 --- a/gas/testsuite/gas/microblaze/relax_size2.elf +++ b/gas/testsuite/gas/microblaze/relax_size2.elf @@ -1,5 +1,5 @@ -Symbol table '.symtab' contains 31 entries: +Symbol table '.symtab' contains 30 entries: Num: Value Size Type Bind Vis Ndx Name 0: 00000000 0 NOTYPE LOCAL DEFAULT UND 1: 00000050 0 SECTION LOCAL DEFAULT 1 @@ -9,26 +9,25 @@ Symbol table '.symtab' contains 31 entries: 5: 00000054 0 NOTYPE LOCAL DEFAULT 1 label 6: 00000054 8 NOTYPE LOCAL DEFAULT 1 func2 7: 0000005c 0 NOTYPE LOCAL DEFAULT 1 label2 - 8: 00000000 0 FILE LOCAL DEFAULT ABS - 9: 00000060 0 NOTYPE GLOBAL DEFAULT 2 _fdata - 10: 0000005c 0 NOTYPE GLOBAL DEFAULT 1 _etext - 11: 00000060 0 NOTYPE GLOBAL DEFAULT 2 _essrw - 12: 00000060 0 NOTYPE GLOBAL DEFAULT 1 _heap_end - 13: 00000060 0 NOTYPE GLOBAL DEFAULT 1 _heap_start - 14: 00000000 0 NOTYPE GLOBAL DEFAULT ABS _ssro_size - 15: 00000050 0 NOTYPE GLOBAL DEFAULT 1 _ftext - 16: 00000060 0 NOTYPE GLOBAL DEFAULT 2 _essro - 17: 00000400 0 NOTYPE GLOBAL DEFAULT ABS _STACK_SIZE - 18: 00000000 0 NOTYPE GLOBAL DEFAULT ABS _HEAP_SIZE - 19: 00000000 0 NOTYPE GLOBAL DEFAULT ABS _ssrw_size - 20: 00000060 0 NOTYPE GLOBAL DEFAULT 2 _stack_end - 21: 00000060 0 NOTYPE GLOBAL DEFAULT 2 _edata - 22: 00000460 0 NOTYPE GLOBAL DEFAULT 2 _end - 23: 00000060 0 NOTYPE GLOBAL DEFAULT 1 _heap - 24: 00000060 0 NOTYPE GLOBAL DEFAULT 2 _ssro - 25: 00000060 0 NOTYPE GLOBAL DEFAULT 2 _ssrw - 26: 00000460 0 NOTYPE GLOBAL DEFAULT 2 _stack - 27: 00000050 0 NOTYPE GLOBAL DEFAULT ABS _TEXT_START_ADDR - 28: 0000005c 0 NOTYPE GLOBAL DEFAULT 2 _frodata - 29: 00000060 0 NOTYPE GLOBAL DEFAULT 2 _fbss - 30: 0000005c 0 NOTYPE GLOBAL DEFAULT 2 _erodata + 8: 00000060 0 NOTYPE GLOBAL DEFAULT 2 _fdata + 9: 0000005c 0 NOTYPE GLOBAL DEFAULT 1 _etext + 10: 00000060 0 NOTYPE GLOBAL DEFAULT 2 _essrw + 11: 00000060 0 NOTYPE GLOBAL DEFAULT 1 _heap_end + 12: 00000060 0 NOTYPE GLOBAL DEFAULT 1 _heap_start + 13: 00000000 0 NOTYPE GLOBAL DEFAULT ABS _ssro_size + 14: 00000050 0 NOTYPE GLOBAL DEFAULT 1 _ftext + 15: 00000060 0 NOTYPE GLOBAL DEFAULT 2 _essro + 16: 00000400 0 NOTYPE GLOBAL DEFAULT ABS _STACK_SIZE + 17: 00000000 0 NOTYPE GLOBAL DEFAULT ABS _HEAP_SIZE + 18: 00000000 0 NOTYPE GLOBAL DEFAULT ABS _ssrw_size + 19: 00000060 0 NOTYPE GLOBAL DEFAULT 2 _stack_end + 20: 00000060 0 NOTYPE GLOBAL DEFAULT 2 _edata + 21: 00000460 0 NOTYPE GLOBAL DEFAULT 2 _end + 22: 00000060 0 NOTYPE GLOBAL DEFAULT 1 _heap + 23: 00000060 0 NOTYPE GLOBAL DEFAULT 2 _ssro + 24: 00000060 0 NOTYPE GLOBAL DEFAULT 2 _ssrw + 25: 00000460 0 NOTYPE GLOBAL DEFAULT 2 _stack + 26: 00000050 0 NOTYPE GLOBAL DEFAULT ABS _TEXT_START_ADDR + 27: 0000005c 0 NOTYPE GLOBAL DEFAULT 2 _frodata + 28: 00000060 0 NOTYPE GLOBAL DEFAULT 2 _fbss + 29: 0000005c 0 NOTYPE GLOBAL DEFAULT 2 _erodata |