54806ffa85
Complement: commit 1bbce132647e6d72aaa065cce5c1d5dd6585c2b2 Author: Maciej W. Rozycki <macro@linux-mips.org> Date: Mon Jun 24 23:55:46 2013 +0000 <https://sourceware.org/ml/binutils/2013-06/msg00077.html>, ("MIPS: Compressed PLT/stubs support"), and also choose between regular and compressed PLT entries as appropriate for any branches referring. bfd/ * elfxx-mips.c (mips_elf_calculate_relocation): Handle branches in PLT compression selection. (_bfd_mips_elf_check_relocs): Likewise. ld/ * testsuite/ld-mips-elf/compressed-plt-1.s: Add branch support. * testsuite/ld-mips-elf/compressed-plt-1a.s: Likewise. * testsuite/ld-mips-elf/compressed-plt-1b.s: Likewise. * testsuite/ld-mips-elf/compressed-plt-1-o32-branch.od: New test. * testsuite/ld-mips-elf/compressed-plt-1-o32-branch.rd: New test. * testsuite/ld-mips-elf/compressed-plt-1-o32-mips16-bronly.od: New test. * testsuite/ld-mips-elf/compressed-plt-1-o32-mips16-bronly.rd: New test. * testsuite/ld-mips-elf/compressed-plt-1-o32-mips16-branch.od: New test. * testsuite/ld-mips-elf/compressed-plt-1-o32-mips16-branch.rd: New test. * testsuite/ld-mips-elf/compressed-plt-1-o32-umips-bronly.od: New test. * testsuite/ld-mips-elf/compressed-plt-1-o32-umips-bronly.rd: New test. * testsuite/ld-mips-elf/compressed-plt-1-o32-umips-branch.od: New test. * testsuite/ld-mips-elf/compressed-plt-1-o32-umips-branch.rd: New test. * testsuite/ld-mips-elf/mips-elf.exp: Run the new tests.
34 lines
451 B
ArmAsm
34 lines
451 B
ArmAsm
# Define a function with all "uncompressed" (du, bu and iu) references.
|
|
|
|
.abicalls
|
|
.option pic0
|
|
|
|
.include "compressed-plt-1.s"
|
|
|
|
.macro test_one, name, types
|
|
.if (\types) & DU
|
|
jal \name
|
|
nop
|
|
j \name
|
|
nop
|
|
.endif
|
|
.if (\types) & BU
|
|
bal \name
|
|
nop
|
|
b \name
|
|
nop
|
|
.endif
|
|
.if (\types) & IU
|
|
lw $2, %call16(\name)($3)
|
|
.endif
|
|
.endm
|
|
|
|
.section .text.b, "ax", @progbits
|
|
.globl testu
|
|
.ent testu
|
|
.set noreorder
|
|
testu:
|
|
test_all
|
|
jr $31
|
|
.end testu
|