Lang Hames b4e1915517 Re-apply "[llvm-jitlink] Add Process and Platform JITDylibs, ..." with fixes.
This reapplies 3d0dd1a7d6, which was reverted in df2485b215a due to bot
failures. This patch addresses the issues seen on the bots by disabling two
Linux atexit tests in the ORC runtime whose behavior could not be maintained
now that the ORC runtime is being loaded into a separate Platform JITDylib.
https://github.com/llvm/llvm-project/issues/74641 has been filed to fix the
issue with atexit.
2023-12-06 12:35:56 -08:00

49 lines
1.1 KiB
ArmAsm

// RUN: llvm-mc -triple=thumbv7-none-linux-gnueabi -arm-add-build-attributes -filetype=obj -o %t.o %s
// RUN: llvm-jitlink -noexec -slab-address 0x76ff0000 -slab-allocate 10Kb -slab-page-size 4096 -abs printf=0x76bbe880 -show-entry-es %t.o | FileCheck %s
// Check that main is a thumb symbol (with LSB set) and printf is arm (with LSB clear)
//
// CHECK-LABEL: JITDylib "main"
// CHECK-NEXT: Link order: [ ("main", MatchAllSymbols), ("Process", MatchExportedSymbolsOnly) ]
// CHECK-NEXT: Symbol table:
// CHECK-NEXT: "main": 0x{{[0-9a-f]+[13579bdf]}} [Callable] Ready
// CHECK-NEXT: "printf": 0x76bbe880 [Data] Ready
.globl main
.p2align 2
.type main,%function
.code 16
.thumb_func
main:
.fnstart
.save {r7, lr}
push {r7, lr}
.setfp r7, sp
mov r7, sp
.pad #8
sub sp, #8
movs r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, .LCPI0_0
.LPC0_0:
add r0, pc
bl printf
ldr r0, [sp]
add sp, #8
pop {r7, pc}
.p2align 2
.LCPI0_0:
.long .L.str-(.LPC0_0+4)
.size main, .-main
.cantunwind
.fnend
.type .L.str,%object
.section .rodata.str1.1,"aMS",%progbits,1
.L.str:
.asciz "Hello AArch32!\n"
.size .L.str, 12