mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-03-07 11:59:09 +00:00
[ARM] Handle fixup_arm_pcrel_9 correctly on big-endian targets
Summary: The getFixupKindContainerSizeBytes function returns the size of the instruction containing a given fixup. Currently fixup_arm_pcrel_9 is not handled in this function, this causes an assertion failure in the debug build and incorrect codegen in the release build. This patch fixes the problem. Reviewers: ostannard, simon_tatham Reviewed By: ostannard Subscribers: javed.absar, kristof.beyls, hiraditya, pbarrio, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63778 llvm-svn: 364404
This commit is contained in:
parent
051f2ef225
commit
4609ef5d02
@ -1000,6 +1000,7 @@ static unsigned getFixupKindContainerSizeBytes(unsigned Kind) {
|
||||
case ARM::fixup_arm_pcrel_10_unscaled:
|
||||
case ARM::fixup_arm_ldst_pcrel_12:
|
||||
case ARM::fixup_arm_pcrel_10:
|
||||
case ARM::fixup_arm_pcrel_9:
|
||||
case ARM::fixup_arm_adr_pcrel_12:
|
||||
case ARM::fixup_arm_uncondbl:
|
||||
case ARM::fixup_arm_condbl:
|
||||
|
18
test/MC/ARM/fixup-pcrel9.s
Normal file
18
test/MC/ARM/fixup-pcrel9.s
Normal file
@ -0,0 +1,18 @@
|
||||
// RUN: llvm-mc -triple=armebv8.2a-eabi -filetype=obj < %s | llvm-objdump -s - | FileCheck %s --check-prefix=CHECK-BE
|
||||
// RUN: llvm-mc -triple=armv8.2a-eabi -filetype=obj < %s | llvm-objdump -s - | FileCheck %s --check-prefix=CHECK-LE
|
||||
|
||||
.text
|
||||
.fpu crypto-neon-fp-armv8
|
||||
.arch_extension fp16
|
||||
|
||||
.section s_pcrel_9,"ax",%progbits
|
||||
// CHECK-BE-LABEL: Contents of section s_pcrel_9
|
||||
// CHECK-LE-LABEL: Contents of section s_pcrel_9
|
||||
// CHECK-BE: 0000 ed9f0902
|
||||
// CHECK-LE: 0000 02099fed
|
||||
vldr.16 s0, .LCPI0_0
|
||||
nop
|
||||
bx lr
|
||||
.LCPI0_0:
|
||||
.short 28012
|
||||
|
Loading…
x
Reference in New Issue
Block a user