mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-21 04:42:53 +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.
74 lines
2.4 KiB
Makefile
74 lines
2.4 KiB
Makefile
#source: erratum843419.s
|
|
#as:
|
|
#ld: --fix-cortex-a53-835769 --fix-cortex-a53-843419 -e0 --section-start .e843419=0x20000000 --section-start .e835769=0x3000000 -Ttext=0x400000 -Tdata=0x40000000
|
|
#objdump: -dr
|
|
#...
|
|
|
|
Disassembly of section .e843419:
|
|
|
|
0*20000000 <e843419>:
|
|
[ ]*20000000: d10043ff sub sp, sp, #0x10
|
|
[ ]*20000004: d28001a7 mov x7, #0xd // #13
|
|
[ ]*20000008: b9000fe7 str w7, \[sp, #12\]
|
|
[ ]*2000000c: 140003fb b 20000ff8 <e843419_1>
|
|
...
|
|
|
|
0*20000ff8 <e843419_1>:
|
|
[ ]*20000ff8: 90100000 adrp x0, 40000000 <[_a-zA-Z0-9]+>
|
|
[ ]*20000ffc: f800c007 stur x7, \[x0, #12\]
|
|
[ ]*20001000: d2800128 mov x8, #0x9 // #9
|
|
[ ]*20001004: 14000009 b 20001028 <e843419@0002_00000013_1004>
|
|
[ ]*20001008: 8b050020 add x0, x1, x5
|
|
[ ]*2000100c: b9400fe7 ldr w7, \[sp, #12\]
|
|
[ ]*20001010: 0b0700e0 add w0, w7, w7
|
|
[ ]*20001014: 910043ff add sp, sp, #0x10
|
|
[ ]*20001018: 14000006 b 20001030 <__e835769_veneer>
|
|
[ ]*2000101c: d65f03c0 ret
|
|
[ ]*20001020: 14000400 b 20002020 <__e835769_veneer\+0xff0>
|
|
[ ]*20001024: d503201f nop
|
|
|
|
0*20001028 <e843419@0002_00000013_1004>:
|
|
[ ]*20001028: f9000008 str x8, \[x0\]
|
|
[ ]*2000102c: 17fffff7 b 20001008 <e843419_1\+0x10>
|
|
|
|
0*20001030 <__e835769_veneer>:
|
|
[ ]*20001030: f0f17ff0 adrp x16, 3000000 <e835769>
|
|
[ ]*20001034: 91000210 add x16, x16, #0x0
|
|
[ ]*20001038: d61f0200 br x16
|
|
...
|
|
|
|
Disassembly of section .e835769:
|
|
|
|
0*3000000 <e835769>:
|
|
[ ]*3000000: b8408c87 ldr w7, \[x4, #8\]!
|
|
[ ]*3000004: 1b017c06 mul w6, w0, w1
|
|
[ ]*3000008: f9400084 ldr x4, \[x4\]
|
|
[ ]*300000c: 14000005 b 3000020 <__erratum_835769_veneer_0>
|
|
[ ]*3000010: aa0503e0 mov x0, x5
|
|
[ ]*3000014: d65f03c0 ret
|
|
[ ]*3000018: 14000400 b 3001018 <__erratum_835769_veneer_0\+0xff8>
|
|
[ ]*300001c: d503201f nop
|
|
|
|
0*3000020 <__erratum_835769_veneer_0>:
|
|
[ ]*3000020: 9b031845 madd x5, x2, x3, x6
|
|
[ ]*3000024: 17fffffb b 3000010 <e835769\+0x10>
|
|
...
|
|
|
|
Disassembly of section .text:
|
|
|
|
0*400000 <main>:
|
|
[ ]*400000: d10043ff sub sp, sp, #0x10
|
|
[ ]*400004: d28001a7 mov x7, #0xd // #13
|
|
[ ]*400008: b9000fe7 str w7, \[sp, #12\]
|
|
[ ]*40000c: 14000005 b 400020 <__e843419_veneer>
|
|
[ ]*400010: d65f03c0 ret
|
|
[ ]*400014: d503201f nop
|
|
[ ]*400018: 14000400 b 401018 <__e843419_veneer\+0xff8>
|
|
[ ]*40001c: d503201f nop
|
|
|
|
0*400020 <__e843419_veneer>:
|
|
[ ]*400020: 900fe010 adrp x16, 20000000 <e843419>
|
|
[ ]*400024: 91000210 add x16, x16, #0x0
|
|
[ ]*400028: d61f0200 br x16
|
|
...
|