ffbc01ccf0
* elflink.c (elf_link_input_bfd): Provide a file symbol for each input file with local syms, if the input lacks such. (bfd_elf_final_link): Add a file symbol to mark end of locals for which we can associate with input files. (struct elf_final_link_info): Add filesym_count field. (struct elf_outext_info): Add need_second_pass and second_pass. (elf_link_output_extsym): Detect symbols defined in the output file, emit them on second pass over locals. ld/testsuite/ Update to suit added STT_FILE symbols.
51 lines
1.5 KiB
Makefile
51 lines
1.5 KiB
Makefile
#source: greg-4.s
|
|
#source: greg-4.s
|
|
#source: local1.s
|
|
#source: regext1.s
|
|
#source: start.s
|
|
#ld: -m elf64mmix
|
|
#readelf: -Ssx1 -x2
|
|
|
|
# We check that the externally visible symbol ext1 is a local register
|
|
# (different meaning of "local" than for symbol), which can be seen as
|
|
# somewhat twisted.
|
|
|
|
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+ +0 +FILE +LOCAL +DEFAULT +ABS .*
|
|
.* 0+fc +0 +NOTYPE +GLOBAL +DEFAULT +PRC\[0xff00\] 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 .*
|