71 lines · plain
1# REQUIRES: asserts2# RUN: llvm-mc -triple=armv7-linux-gnueabi -arm-add-build-attributes -filetype=obj -o %t_armv7.o %s3# RUN: llvm-objdump -s --section=.rodata %t_armv7.o | FileCheck --check-prefix=CHECK-OBJ %s4# RUN: llvm-jitlink -num-threads=0 -debug-only=jitlink -noexec \5# RUN: -slab-address 0x76ff0000 -slab-allocate 10Kb \6# RUN: -slab-page-size 4096 %t_armv7.o 2>&1 \7# RUN: | FileCheck --check-prefix=CHECK-LG %s8# RUN: llvm-jitlink -noexec -slab-address 0x76ff0000 -slab-allocate 10Kb \9# RUN: -slab-page-size 4096 %t_armv7.o -check %s10 11# RUN: llvm-mc -triple=thumbv7-linux-gnueabi -arm-add-build-attributes -filetype=obj -o %t_thumbv7.o %s12# RUN: llvm-objdump -s --section=.rodata %t_thumbv7.o | FileCheck --check-prefix=CHECK-OBJ %s13# RUN: llvm-jitlink -num-threads=0 -debug-only=jitlink -noexec \14# RUN: -slab-address 0x76ff0000 -slab-allocate 10Kb \15# RUN: -slab-page-size 4096 %t_thumbv7.o 2>&1 \16# RUN: | FileCheck --check-prefix=CHECK-LG %s17# RUN: llvm-jitlink -noexec -slab-address 0x76ff0000 -slab-allocate 10Kb \18# RUN: -slab-page-size 4096 %t_thumbv7.o -check %s19 20# The strings of "H1\00", "H2\00" and "H3\00" are encoded as21# 0x483100, 0x483200 and 0x483300 in the .rodata section.22# CHECK-OBJ: Contents of section .rodata:23# CHECK-OBJ: 0000 48310048 32004833 00 H1.H2.H3.24 25# CHECK-LG: Starting link phase 126# CHECK-LG: section .rodata:27 28# CHECK-LG: block 0x0 size = 0x00000009, align = 1, alignment-offset = 029# CHECK-LG-NEXT: symbols:30# CHECK-LG-NEXT: 0x0 (block + 0x00000000): size: 0x00000003, linkage: strong, scope: default, live - Lstr.H131# CHECK-LG-NEXT: 0x3 (block + 0x00000003): size: 0x00000003, linkage: strong, scope: default, live - Lstr.H232# CHECK-LG-NOT: 0x2 (block + 0x00000002): size: 0x00000003, linkage: strong, scope: default, live - Lstr.H233# CHECK-LG-NEXT: 0x6 (block + 0x00000006): size: 0x00000003, linkage: strong, scope: default, live - Lstr.H334 35# jitlink-check: Lstr.H1 = 0x76ff000036# jitlink-check: (*{4}(Lstr.H1))[23:0] = 0x00314837 .globl Lstr.H138 .type Lstr.H1,%object39 .section .rodata,"a",%progbits40Lstr.H1:41 .asciz "H1"42 .size Lstr.H1, 343 44# H2 is unaligned as its beginning address is base address + 0x345# Make sure the string we get is 0x003248 and not 0x32480046# jitlink-check: Lstr.H2 = 0x76ff000347# jitlink-check: (*{4}(Lstr.H2))[23:0] = 0x00324848 .globl Lstr.H249 .type Lstr.H2,%object50Lstr.H2:51 .asciz "H2"52 .size Lstr.H2, 353 54# jitlink-check: Lstr.H3 = 0x76ff000655# jitlink-check: (*{4}(Lstr.H3))[23:0] = 0x00334856 .globl Lstr.H357 .type Lstr.H3,%object58Lstr.H3:59 .asciz "H3"60 .size Lstr.H3, 361 62 .text63 .syntax unified64# Empty main function for jitlink to be happy65 .globl main66 .type main,%function67 .p2align 268main:69 bx lr70 .size main,.-main71