mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-18 23:03:29 +08:00
afd7a018c9
PR 63 * ldlang.h (lang_output_section_statement_type): Make "next" a struct lang_output_section_statement_struct *. (struct orphan_save): Move from elf32.em. Add "name" and "flags". (lang_output_section_find_by_flags, lang_insert_orphan): Declare. * ldlang.c (lang_output_section_find_1): Adjust for changed output_section_statement "next". (strip_excluded_output_sections): Likewise. (lang_record_phdrs): Likewise. (lang_output_section_find_by_flags): New function. (output_prev_sec_find): Move from pe.em. Adjust iterator. (lang_insert_orphan): New function. Tail end of elf32.em's place_orphan merged with that from pe.em. Allow bfd_section to be placed first. New heuristic for placing new output section statement in existing script, and accompanying split of __start symbol alignment into a separate assignment to dot. (lang_add_section): Consistently use output->bfd_section rather than an alias, section->output_section. (map_input_to_output_sections): Rename overly long arg. Move initialization of data_statement output section to here.. (lang_check_section_addresses): ..from here. (print_assignment): Correct printing of etree_assert. (print_all_symbols): Don't bomb if userdata is NULL. (IGNORE_SECTION): Rearrange. * emultempl/elf32.em (output_rel_find): Adjust interator. (output_prev_sec_find): Delete. (struct orphan_save): Delete. (gld${EMULATION_NAME}_place_orphan): Cater for zero bfd_section flags without creating a duplicate output section statement. Revise code holding history of various orphan section placements. Allow orphan sections to place before script specified output sections. Call lang_output_section_find_by_flags when placement by name fails. Use lang_insert_orphan. * emultempl/mmo.em (output_prev_sec_find): Delete. (struct orphan_save): Delete. (mmo_place_orphan): Revise code holding history of orphan placement. Allow orphans to place before existing output sections. Use lang_insert_orphan. * emultempl/pe.em (output_prev_sec_find): Delete. (struct orphan_save): Delete. (gld_${EMULATION_NAME}_place_orphan): Revise to suit use of lang_insert_orphan. ld/testsuite/ * ld-scripts/overlay-size.d: Update for changed orphan section placement. * ld-mmix/bpo-18.d: Likewise.
35 lines
1004 B
Makefile
35 lines
1004 B
Makefile
#source: start.s
|
|
#source: bpo-1.s
|
|
#source: bpo-2.s
|
|
#source: bpo-5.s
|
|
#source: bpo-6.s
|
|
#as: -linker-allocated-gregs
|
|
#ld: -m elf64mmix -T$srcdir/$subdir/bpo64addr.ld
|
|
#objdump: -st
|
|
|
|
.*: file format elf64-mmix
|
|
|
|
SYMBOL TABLE:
|
|
0+100 l d \.text 0+
|
|
4000000000001060 l d \.text\.away 0+
|
|
400000000000106c l d \.data 0+
|
|
400000000000106c l d \.bss 0+
|
|
0+7e0 l d \.MMIX\.reg_contents 0+
|
|
0+ l d \*ABS\* 0+
|
|
0+ l d \*ABS\* 0+
|
|
0+ l d \*ABS\* 0+
|
|
4000000000001064 l \.text\.away 0+ x
|
|
0+100 g \.text 0+ x
|
|
4000000000001060 g \.text\.away 0+ Main
|
|
0+104 g \.text 0+ x2
|
|
4000000000001060 g \.text\.away 0+ _start
|
|
4000000000001068 g \.text\.away 0+ y
|
|
|
|
Contents of section \.text:
|
|
0100 232dfc00 232dfd00 .*
|
|
Contents of section \.text\.away:
|
|
4000000000001060 e3fd0001 232afe1e 2321fe00 .*
|
|
Contents of section \.MMIX\.reg_contents:
|
|
07e0 00000000 00001168 00000000 0000a514 .*
|
|
07f0 40000000 00001070 .*
|