d2667025dd
* ldlang.h (lang_output_section_statement_type): Add after_end field. (lang_abs_symbol_at_beginning_of, lang_abs_symbol_at_end_of): Delete. (section_for_dot): Declare. * ldlang.c (lang_size_sections_1): Correct comment. (current_section): Move earlier. (current_assign, prefer_next_section): New static vars. (lang_do_assignments_1): Add found_end param. Detect _end assignment to set found_end. Set os->after_end. Set above statics. (lang_do_assignments): Adjust lang_do_assignments_1 call. Init vars. (section_for_dot): New function. (lang_set_startof): Don't make an absolute symbol. (lang_abs_symbol_at_beginning_of, lang_abs_symbol_at_end_of): Delete. * ldexp.c (new_rel_from_abs): Use section_for_dot. * emultempl/lnk960.em (symbol_at_beginning_of): New function. (symbol_at_end_of): Likewise. (lnk960_after_allocation): Use them. * scripttempl/elf.sc: Precede OTHER_GOT_SYMBOLS with . = .; and likewise before __bss_start. ld/testsuite/ Update far too many tests.
32 lines
1,005 B
Makefile
32 lines
1,005 B
Makefile
#source: start.s
|
|
#ld: -u undefd -m elf64mmix
|
|
#readelf: -S -s
|
|
|
|
There are 5 section headers, starting at offset 0xa0:
|
|
|
|
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+4 +0+ +AX +0 +0 +4
|
|
+\[ 2\] \.shstrtab +STRTAB +0+ +0+7c
|
|
+0+21 +0+ +0 +0 +1
|
|
+\[ 3\] \.symtab +SYMTAB +0+ +0+1e0
|
|
+0+c0 +0+18 +4 +2 +8
|
|
+\[ 4\] \.strtab +STRTAB +0+ +0+2a0
|
|
+0+2f +0+ +0 +0 +1
|
|
Key to Flags:
|
|
#...
|
|
|
|
Symbol table '\.symtab' contains 8 entries:
|
|
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
|
|
+0: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND
|
|
+1: 0+ +0 +SECTION +LOCAL +DEFAULT +1
|
|
+2: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND undefd
|
|
+3: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +1 _start
|
|
+4: 2000000000000000 +0 +NOTYPE +GLOBAL +DEFAULT +1 __bss_start
|
|
+5: 2000000000000000 +0 +NOTYPE +GLOBAL +DEFAULT +1 _edata
|
|
+6: 2000000000000000 +0 +NOTYPE +GLOBAL +DEFAULT +1 _end
|
|
+7: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +1 _start\.
|