old-cross-binutils/ld/testsuite/ld-mmix/local3.d
Jan Beulich 34a79995c4 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.
2013-10-29 17:52:24 +01:00

48 lines
1.4 KiB
Makefile

#source: greg-4.s
#source: greg-4.s
#source: local1.s
#source: ext1.s
#source: start.s
#ld: -m elf64mmix
#readelf: -Ssx1 -x2
# Like local1, but ext1 is here a constant, not a global register.
There are 6 section headers, starting at offset 0xc8:
Section Headers:
+\[Nr\] Name +Type +Address +Offset
+Size +EntSize +Flags +Link +Info +Align
+\[ 0\] +NULL +0+ +0+
+0+ +0+ +0 +0 +0
+\[ 1\] \.text +PROGBITS +0+ +0+78
+0+8 +0+ +AX +0 +0 +4
+\[ 2\] \.MMIX\.reg_content PROGBITS +0+7e8 +0+80
+0+10 +0+ +W +0 +0 +1
+\[ 3\] \.shstrtab +STRTAB +0+ +0+90
+0+34 +0+ +0 +0 +1
+\[ 4\] \.symtab +SYMTAB +0+ +[0-9a-f]+
+[0-9a-f]+ +0+18 +5 +[0-9] +8
+\[ 5\] \.strtab +STRTAB +0+ +[0-9a-f]+
+[0-9a-f]+ +0+ +0 +0 +1
Key to Flags:
#...
Symbol table '\.symtab' contains [0-9]+ entries:
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
.* 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND
.* 0+ +0 +SECTION +LOCAL +DEFAULT +1
.* 0+7e8 +0 +SECTION +LOCAL +DEFAULT +2
.* 0+ +0 +FILE +LOCAL +DEFAULT +ABS .*
.* 0+fd +0 +NOTYPE +LOCAL +DEFAULT +PRC\[0xff00\] lsym
.* 0+ +0 +FILE +LOCAL +DEFAULT +ABS .*
.* 0+fe +0 +NOTYPE +LOCAL +DEFAULT +PRC\[0xff00\] lsym
.* 0+fc +0 +NOTYPE +GLOBAL +DEFAULT +ABS ext1
.* 0+4 +0 +NOTYPE +GLOBAL +DEFAULT +1 _start
#...
Hex dump of section '\.text':
0x0+ fd030201 e3fd0001 .*
Hex dump of section '\.MMIX\.reg_contents':
0x0+7e8 00000000 0000004e 00000000 0000004e .*