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
920 B
Makefile
32 lines
920 B
Makefile
#source: start3.s
|
|
#source: bpo-6.s
|
|
#source: bpo-2.s
|
|
#source: bpo-5.s
|
|
#as: -linker-allocated-gregs
|
|
#ld: -m elf64mmix --gc-sections
|
|
#objdump: -st
|
|
|
|
# Check that GC removes one of the three BPO:s, for the collected section.
|
|
|
|
.*: file format elf64-mmix
|
|
|
|
SYMBOL TABLE:
|
|
0+ l d \.init 0+ (|\.init)
|
|
0+10 l d \.text 0+ (|\.text)
|
|
0+7e8 l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents)
|
|
0+ l df \*ABS\* 0+ .*
|
|
0+ l \.init 0+ _start
|
|
0+ l df \*ABS\* 0+ .*
|
|
2000000000000000 l \.text 0+ __bss_start
|
|
2000000000000000 l \.text 0+ _edata
|
|
2000000000000000 l \.text 0+ _end
|
|
0+10 l \.text 0+ _start\.
|
|
0+14 g \.text 0+ x
|
|
0+10 g \.text 0+ x2
|
|
|
|
Contents of section \.init:
|
|
0000 00000000 0000003d 00000000 0000003a .*
|
|
Contents of section \.text:
|
|
0010 232dfe00 232dfd00 .*
|
|
Contents of section \.MMIX\.reg_contents:
|
|
07e8 00000000 0000107c 00000000 0000a420 .*
|