From 34a79995c4cc34f6f41e2a4b2df477db31b31f0c Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Tue, 29 Oct 2013 17:52:24 +0100 Subject: 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 * 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 * 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 * 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. --- gas/testsuite/ChangeLog | 6 ++++ gas/testsuite/gas/microblaze/relax_size.elf | 47 ++++++++++++++-------------- gas/testsuite/gas/microblaze/relax_size2.elf | 47 ++++++++++++++-------------- 3 files changed, 52 insertions(+), 48 deletions(-) (limited to 'gas') 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 + + * 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 * 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 -- cgit v1.1