old-cross-binutils/ld/testsuite/ld-mips-elf/mips16-intermix-1.s
Thiemo Seufer b9d58d7191 [ bfd/ChangeLog ]
* elf-bfd.h (local_call_stubs): New member.
	* elfxx-mips.c (FN_STUB_P, CALL_STUB_P, CALL_FP_STUB_P): New macros.
	(mips_elf_calculate_relocation): Handle local mips16 call stubs.
	(mips16_stub_section_p): Rename from mips_elf_stub_section_p, use
	the new stub macros.
	(_bfd_mips_elf_check_relocs): Handle call stubs for code which
	mixes mips16 and mips32 functions. Use mips16_stub_section_p. Mark
	used stubs with SEC_KEEP. Use the new stub macros.

	[ gas/testsuite/ChangeLog ]
	* gas/mips/mips16-intermix.d, gas/mips/mips16-intermix.s: New
	testcase.
	* gas/mips/mips.exp: Run new testcase.

	[ ld/testsuite/ChangeLog ]
	* ld-mips-elf/mips16-intermix-1.s, ld-mips-elf/mips16-intermix-2.s,
	ld-mips-elf/mips16-intermix.d: New testcase.
	* ld-mips-elf/mips-elf.exp (mips16_intermix_test): Run new testcases.
2006-11-02 15:20:31 +00:00

104 lines
1.3 KiB
ArmAsm

.text
.align 2
.globl __start
.set nomips16
.ent __start
__start:
.frame $sp,56,$31 # vars= 0, regs= 3/2, args= 24, gp= 0
.mask 0x80030000,-24
.fmask 0x00f00000,-8
.set noreorder
.set nomacro
addiu $sp,$sp,-56
sw $31,32($sp)
sw $17,28($sp)
sw $16,24($sp)
sdc1 $f22,48($sp)
sdc1 $f20,40($sp)
jal m32_l
move $4,$17
move $4,$17
jal m16_l
move $16,$2
addu $16,$16,$2
jal m32_d
mov.d $f12,$f22
addu $16,$16,$2
jal m16_d
mov.d $f12,$f22
move $4,$17
mfc1 $7,$f22
mfc1 $6,$f23
jal m32_ld
addu $16,$16,$2
move $4,$17
mfc1 $7,$f22
mfc1 $6,$f23
jal m16_ld
addu $16,$16,$2
move $6,$17
mov.d $f12,$f22
jal m32_dl
addu $16,$16,$2
move $6,$17
mov.d $f12,$f22
jal m16_dl
addu $16,$16,$2
move $6,$17
move $7,$17
sdc1 $f22,16($sp)
mov.d $f12,$f22
jal m32_dlld
addu $16,$16,$2
move $6,$17
move $7,$17
mov.d $f12,$f22
sdc1 $f22,16($sp)
jal m16_dlld
addu $16,$16,$2
move $4,$17
jal m32_d_l
addu $16,$16,$2
move $4,$17
jal m16_d_l
mov.d $f20,$f0
move $4,$17
mfc1 $7,$f22
mfc1 $6,$f23
jal f32
add.d $f20,$f20,$f0
move $4,$17
add.d $f20,$f20,$f0
mfc1 $7,$f22
jal f16
mfc1 $6,$f23
add.d $f20,$f20,$f0
lw $31,32($sp)
trunc.w.d $f0,$f20
lw $17,28($sp)
mfc1 $3,$f0
addu $2,$3,$16
lw $16,24($sp)
ldc1 $f22,48($sp)
ldc1 $f20,40($sp)
j $31
addiu $sp,$sp,56
.set macro
.set reorder
.end __start