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.
34 lines
1,006 B
Makefile
34 lines
1,006 B
Makefile
#source: start1.s
|
|
#source: tls128.s
|
|
#source: tls-ie-8e.s
|
|
#source: tls-x.s
|
|
#as: --no-underscore --em=criself
|
|
#ld: -m crislinux --gc-sections
|
|
#objdump: -s -t -r -p
|
|
|
|
# An executable with a single R_CRIS_32_IE, with gc. Check that we
|
|
# have nothing left but the start symbol and its code. Can't get rid
|
|
# of the GOT just yet.
|
|
|
|
.*: file format elf32-cris
|
|
|
|
Program Header:
|
|
LOAD off 0x0+ vaddr 0x0+80000 paddr 0x0+80000 align 2\*\*13
|
|
filesz 0x0+78 memsz 0x0+78 flags r-x
|
|
LOAD off 0x0+78 vaddr 0x0+82078 paddr 0x0+82078 align 2\*\*13
|
|
filesz 0x0+c memsz 0x0+c flags rw-
|
|
private flags = 0:
|
|
|
|
SYMBOL TABLE:
|
|
0+80074 l d \.text 0+ \.text
|
|
0+82078 l d \.got 0+ \.got
|
|
0+82084 l \.got 0+ __bss_start
|
|
0+82084 l \.got 0+ _edata
|
|
0+82078 l O \.got 0+ _GLOBAL_OFFSET_TABLE_
|
|
0+820a0 l \.got 0+ _end
|
|
0+80074 g \.text 0+ _start
|
|
|
|
Contents of section \.text:
|
|
80074 41b20+ .*
|
|
Contents of section \.got:
|
|
82078 0+ 0+ 0+ .*
|