https://sourceware.org/bugzilla/show_bug.cgi?id=34549

            Bug ID: 34549
           Summary: Misapplied cortex-a53-843419 errata fixup
           Product: binutils
           Version: 2.46
            Status: NEW
          Severity: normal
          Priority: P2
         Component: ld
          Assignee: unassigned at sourceware dot org
          Reporter: [email protected]
                CC: rearnsha at arm dot com
  Target Milestone: ---
            Target: aarch64-*-*

commit d3af4016a64 broke the application of the 843419 fixup, applying it to a
insn sequence that does not straddle a page boundary.

The test case can be found on cfarm13 under ~schwab/ld-test.tar.xz

Before:

$ LD=~/src/binutils/c-arm64/ld/ld-new ./link && objdump -dr ld-new | grep -C4
-m2 e843419
  414ff8:       f9414823        ldr     x3, [x1, #656]
  414ffc:       f0001be1        adrp    x1, 793000 <ptroot+0x10>
  415000:       f943e422        ldr     x2, [x1, #1992]
  415004:       d0001be1        adrp    x1, 793000 <ptroot+0x10>
  415008:       1400baf8        b       443be8 <e843419@0005_00000034_106e8>
  41500c:       d63f0060        blr     x3
  415010:       36000dc0        tbz     w0, #0, 4151c8
<ldlang_open_output+0x2e0>
  415014:       f9402ac0        ldr     x0, [x22, #80]
  415018:       f9400401        ldr     x1, [x0, #8]
--
  443bdc:       97fefe2d        bl      403490 <abort@plt>
  443be0:       14000400        b       444be0 <ctf_grow_ptrtab>
  443be4:       d503201f        nop

0000000000443be8 <e843419@0005_00000034_106e8>:
  443be8:       b947c021        ldr     w1, [x1, #1984]
  443bec:       17ff4508        b       41500c <ldlang_open_output+0x124>
        ...

After:

$ LD=~/src/binutils/c-arm64/ld/ld-new ./link && objdump -dr ld-new | grep -C4
-m2 e843419
  431038:       d65f03c0        ret
  43103c:       d0001b01        adrp    x1, 793000 <ptroot+0x10>
  431040:       f941ac20        ldr     x0, [x1, #856]
  431044:       925ef800        and     x0, x0, #0xfffffffdffffffff
  431048:       14004ae8        b       443be8 <e843419@0005_00000034_2c728>
  43104c:       52800020        mov     w0, #0x1                        // #1
  431050:       17fffff9        b       431034
<gldarmelfb_linux_eabi_handle_option+0x54>
  431054:       d0001b01        adrp    x1, 793000 <ptroot+0x10>
  431058:       f941ac20        ldr     x0, [x1, #856]
--
  443bdc:       97fefe2d        bl      403490 <abort@plt>
  443be0:       14000400        b       444be0 <ctf_grow_ptrtab>
  443be4:       d503201f        nop

0000000000443be8 <e843419@0005_00000034_2c728>:
  443be8:       f901ac20        str     x0, [x1, #856]
  443bec:       17ffb518        b       43104c
<gldarmelfb_linux_eabi_handle_option+0x6c>
        ...

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Reply via email to