mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-29 10:32:47 +00:00
Fix Thumb2 fixup kind in the integrated-as.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163063 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
4b6fbf2560
commit
8fccd013d8
@ -194,6 +194,10 @@ unsigned ARMELFObjectWriter::GetRelocTypeInner(const MCValue &Target,
|
||||
case ARM::fixup_arm_uncondbranch:
|
||||
Type = ELF::R_ARM_JUMP24;
|
||||
break;
|
||||
case ARM::fixup_t2_condbranch:
|
||||
case ARM::fixup_t2_uncondbranch:
|
||||
Type = ELF::R_ARM_THM_JUMP24;
|
||||
break;
|
||||
case ARM::fixup_arm_movt_hi16:
|
||||
case ARM::fixup_arm_movt_hi16_pcrel:
|
||||
Type = ELF::R_ARM_MOVT_PREL;
|
||||
|
23
test/CodeGen/Thumb/thumb_jump24_fixup.ll
Normal file
23
test/CodeGen/Thumb/thumb_jump24_fixup.ll
Normal file
@ -0,0 +1,23 @@
|
||||
; RUN: llc -mtriple thumbv7-none-linux-gnueabi -mcpu=cortex-a8 -march=thumb -mattr=thumb2 -filetype=obj -o - < %s | llvm-objdump -r - | FileCheck %s
|
||||
|
||||
target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:64:128-a0:0:32-n32-S64"
|
||||
target triple = "thumbv7-none-linux-gnueabi"
|
||||
|
||||
define i32 @test_fixup_t2_uncondbranch() {
|
||||
b0:
|
||||
invoke void @__cxa_throw(i8* null, i8* null, i8* null) noreturn
|
||||
to label %unreachable unwind label %lpad
|
||||
|
||||
; CHECK: {{[0-9]+}} R_ARM_THM_JUMP24 __cxa_throw
|
||||
|
||||
lpad:
|
||||
%0 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*) cleanup
|
||||
ret i32 0
|
||||
|
||||
unreachable:
|
||||
unreachable
|
||||
}
|
||||
|
||||
declare i32 @__gxx_personality_v0(...)
|
||||
|
||||
declare void @__cxa_throw(i8*, i8*, i8*)
|
Loading…
Reference in New Issue
Block a user