2007-03-27 16:36:27 +08:00
|
|
|
#source: ovl2.s
|
ld/
* ld.texinfo (INSERT): Describe.
* ldgram.y (ldgram_in_script, ldgram_had_equals): Delete.
(INSERT_K, AFTER, BEFORE): Add as tokens.
(ifile_p1): Handle INSERT statements.
(saved_script_handle, force_make_executable): Move to..
* ldmain.c: ..here.
(previous_script_handle): New global var.
* ldmain.h (saved_script_handle, force_make_executable): Declare.
(previous_script_handle): Likewise.
* ldlex.l (INSERT_K, AFTER, BEFORE): Add tokens.
* lexsup.c (parge_args <-T>): Set previous_script_handle.
* ldlang.c (lang_for_each_statement_worker): Handle insert statement.
(map_input_to_output_sections, print_statement): Likewise.
(lang_size_sections_1, lang_do_assignments_1): Likewise.
(insert_os_after): New function, extracted from..
(lang_insert_orphan): ..here.
(process_insert_statements): New function.
(lang_process): Call it.
(lang_add_insert): New function.
* ldlang.h (lang_insert_statement_enum): New.
(lang_insert_statement_type): New.
(lang_statement_union_type): Add insert_statement.
(lang_add_insert): Declare.
ld/testsuite/
* ld-spu/ovl.lnk: Delete overlay.
* ld-spu/ovl1.lnk: New file.
* ld-spu/ovl2.lnk: New file.
* ld-spu/ovl.d: Update.
* ld-spu/ovl2.d: Update.
2008-01-25 20:03:37 +08:00
|
|
|
#ld: -N -T ovl2.lnk -T ovl.lnk --emit-relocs
|
2007-03-27 16:36:27 +08:00
|
|
|
#objdump: -D -r
|
|
|
|
|
|
|
|
.*elf32-spu
|
|
|
|
|
|
|
|
Disassembly of section \.text:
|
|
|
|
|
|
|
|
00000100 <_start>:
|
2008-01-28 13:59:24 +08:00
|
|
|
.* brsl \$0,.* <00000000\.ovl_call\.f1_a1>.*
|
|
|
|
.*SPU_REL16 f1_a1
|
|
|
|
.* brsl \$0,.* <00000000\.ovl_call\.10:4>.*
|
|
|
|
.*SPU_REL16 setjmp
|
|
|
|
.* br 100 <_start> # 100
|
|
|
|
.*SPU_REL16 _start
|
2007-03-27 16:36:27 +08:00
|
|
|
|
|
|
|
0000010c <setjmp>:
|
2008-01-28 13:59:24 +08:00
|
|
|
.* bi \$0
|
2007-03-27 16:36:27 +08:00
|
|
|
|
|
|
|
00000110 <longjmp>:
|
2008-01-28 13:59:24 +08:00
|
|
|
.* bi \$0
|
|
|
|
.*
|
|
|
|
|
|
|
|
#00000118 <00000000\.ovl_call.f1_a1>:
|
|
|
|
#.* brsl \$75,.* <__ovly_load>.*
|
|
|
|
#.*00 04 04 00.*
|
|
|
|
#
|
|
|
|
#00000120 <00000000\.ovl_call.10:4>:
|
|
|
|
#.* brsl \$75,.* <__ovly_load>.*
|
|
|
|
#.*00 00 01 0c.*
|
|
|
|
#
|
|
|
|
#00000128 <_SPUEAR_f1_a2>:
|
|
|
|
#.* brsl \$75,.* <__ovly_load>.*
|
|
|
|
#.*00 08 04 00.*
|
|
|
|
|
|
|
|
00000120 <00000000\.ovl_call.f1_a1>:
|
|
|
|
.* ila \$78,1
|
|
|
|
.* lnop
|
|
|
|
.* ila \$79,1024 # 400
|
|
|
|
.* br .* <__ovly_load>.*
|
|
|
|
|
|
|
|
00000130 <00000000\.ovl_call.10:4>:
|
|
|
|
.* ila \$78,0
|
|
|
|
.* lnop
|
|
|
|
.* ila \$79,268 # 10c
|
|
|
|
.* br .* <__ovly_load>.*
|
2007-03-27 16:36:27 +08:00
|
|
|
|
2007-04-05 15:01:53 +08:00
|
|
|
00000140 <_SPUEAR_f1_a2>:
|
2008-01-28 13:59:24 +08:00
|
|
|
.* ila \$78,2
|
|
|
|
.* lnop
|
|
|
|
.* ila \$79,1024 # 400
|
|
|
|
.* br .* <__ovly_load>.*
|
|
|
|
|
2007-03-27 16:36:27 +08:00
|
|
|
#...
|
|
|
|
Disassembly of section \.ov_a1:
|
|
|
|
|
|
|
|
00000400 <f1_a1>:
|
|
|
|
400: 35 00 00 00 bi \$0
|
|
|
|
\.\.\.
|
|
|
|
Disassembly of section \.ov_a2:
|
|
|
|
|
2007-04-05 15:01:53 +08:00
|
|
|
00000400 <f1_a2>:
|
2007-03-27 16:36:27 +08:00
|
|
|
400: 32 7f a2 00 br 110 <longjmp> # 110
|
|
|
|
400: SPU_REL16 longjmp
|
|
|
|
\.\.\.
|
|
|
|
Disassembly of section \.data:
|
|
|
|
|
2008-01-28 13:59:24 +08:00
|
|
|
00000410 <_ovly_table-0x10>:
|
|
|
|
\.\.\.
|
2007-03-27 16:36:27 +08:00
|
|
|
41c: 00 00 00 01 .*
|
2008-01-28 13:59:24 +08:00
|
|
|
00000420 <_ovly_table>:
|
2007-03-27 16:36:27 +08:00
|
|
|
420: 00 00 04 00 .*
|
|
|
|
424: 00 00 00 10 .*
|
2008-01-28 13:59:24 +08:00
|
|
|
# 428: 00 00 03 10 .*
|
|
|
|
428: 00 00 03 30 .*
|
|
|
|
42c: 00 00 00 02 .*
|
|
|
|
430: 00 00 04 00 .*
|
|
|
|
434: 00 00 00 10 .*
|
|
|
|
# 438: 00 00 03 20 .*
|
|
|
|
438: 00 00 03 40 .*
|
|
|
|
43c: 00 00 00 02 .*
|
|
|
|
|
|
|
|
00000440 <_ovly_buf_table>:
|
|
|
|
\.\.\.
|
2007-03-27 16:36:27 +08:00
|
|
|
|
|
|
|
Disassembly of section \.toe:
|
|
|
|
|
2008-01-28 13:59:24 +08:00
|
|
|
00000450 <_EAR_>:
|
2007-03-27 16:36:27 +08:00
|
|
|
\.\.\.
|
|
|
|
Disassembly of section \.note\.spu_name:
|
|
|
|
|
|
|
|
.* <\.note\.spu_name>:
|
|
|
|
.*: 00 00 00 08 .*
|
|
|
|
.*: 00 00 00 0c .*
|
|
|
|
.*: 00 00 00 01 .*
|
|
|
|
.*: 53 50 55 4e .*
|
|
|
|
.*: 41 4d 45 00 .*
|
|
|
|
.*: 74 6d 70 64 .*
|
|
|
|
.*: 69 72 2f 64 .*
|
|
|
|
.*: 75 6d 70 00 .*
|