mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-27 04:52:05 +08:00
9a2ebffd4d
PR 22903 bfd * elfnn-aarch64.c (_bfd_aarch64_resize_stubs): Add 8 bytes for branch and nop instead of 4. (elfNN_arch64_build_stubs): Add nop after branch. Increase size by 8 instead of 4. ld * emultempl/aarch64elf.em (elf${ELFSIZE}_aarch64_add_stub_section): Give stub_sec 8 byte alignment. * emulparams/aarch64cloudabi.sh (NOP): Set to 0x1f2003d5. * emulparams/aarch64elf.sh (NOP): Likewise. * emulparams/aarch64elf32.sh (NOP): Likewise. * emulparams/aarch64fbsd.sh (NOP): Likewise. * emulparams/aarch64linux.sh (NOP): Likewise. * emulparams/aarch64linux32.sh (NOP): Likewise. * testsuite/ld-aarch64/erratum835769.d: Adjust for added nop. * testsuite/ld-aarch64/erratum843419.d: Likewise. * testsuite/ld-aarch64/farcall-b-defsym.d: Likewise. * testsuite/ld-aarch64/farcall-b-none-function.d: Likewise. * testsuite/ld-aarch64/farcall-b-plt.d: Likewise. * testsuite/ld-aarch64/farcall-b-section.d: Likewise. * testsuite/ld-aarch64/farcall-b.d: Likewise. * testsuite/ld-aarch64/farcall-back.d: Likewise. * testsuite/ld-aarch64/farcall-bl-defsym.d: Likewise. * testsuite/ld-aarch64/farcall-bl-none-function.d: Likewise. * testsuite/ld-aarch64/farcall-bl-plt.d: Likewise. * testsuite/ld-aarch64/farcall-bl-section.d: Likewise. * testsuite/ld-aarch64/farcall-bl.d: Likewise.
26 lines
534 B
Makefile
26 lines
534 B
Makefile
#name: aarch64-farcall-bl-none-function
|
|
#source: farcall-bl-none-function.s
|
|
#as:
|
|
#ld: -Ttext 0x1000 --section-start .foo=0x8001000
|
|
#objdump: -dr
|
|
#...
|
|
|
|
Disassembly of section .text:
|
|
|
|
.* <_start>:
|
|
1000: 94000004 bl 1010 <__bar_veneer>
|
|
1004: d65f03c0 ret
|
|
1008: 14000008 b 1028 <__bar_veneer\+0x18>
|
|
100c: d503201f nop
|
|
|
|
.* <__bar_veneer>:
|
|
1010: 90040010 adrp x16, 8001000 <bar>
|
|
1014: 91000210 add x16, x16, #0x0
|
|
1018: d61f0200 br x16
|
|
...
|
|
|
|
Disassembly of section .foo:
|
|
|
|
.* <bar>:
|
|
8001000: d65f03c0 ret
|