34 lines · plain
1// REQUIRES: arm2 3// RUN: llvm-mc -filetype=obj -triple=armv7-pc-linux %s -o %t.o4// RUN: ld.lld --xosegment %t.o -o %t.so -shared5// RUN: llvm-readelf -l %t.so | FileCheck --implicit-check-not=LOAD %s6 7// RUN: echo ".section .foo,\"ax\"; \8// RUN: bx lr" > %t.s9// RUN: llvm-mc -filetype=obj -triple=armv7-pc-linux %t.s -o %t2.o10// RUN: ld.lld --xosegment %t.o %t2.o -o %t.so -shared11// RUN: llvm-readelf -l %t.so | FileCheck --check-prefix=DIFF --implicit-check-not=LOAD %s12 13// CHECK: LOAD 0x000000 0x00000000 0x00000000 0x0016d 0x0016d R 0x1000014// CHECK: LOAD 0x000170 0x00010170 0x00010170 0x{{.*}} 0x{{.*}} R E 0x1000015// CHECK: LOAD 0x000174 0x00020174 0x00020174 0x{{.*}} 0x{{.*}} E 0x1000016// CHECK: LOAD 0x000178 0x00030178 0x00030178 0x00038 0x00e88 RW 0x1000017 18// CHECK: 01 .dynsym .gnu.hash .hash .dynstr19// CHECK: 02 .text20// CHECK: 03 .foo21// CHECK: 04 .dynamic22 23// DIFF: LOAD 0x000000 0x00000000 0x00000000 0x0014d 0x0014d R 0x1000024// DIFF: LOAD 0x000150 0x00010150 0x00010150 0x0000c 0x0000c R E 0x1000025// DIFF: LOAD 0x00015c 0x0002015c 0x0002015c 0x00038 0x00ea4 RW 0x1000026 27// DIFF: 01 .dynsym .gnu.hash .hash .dynstr28// DIFF: 02 .text .foo29// DIFF: 03 .dynamic30 31 bx lr32 .section .foo,"axy"33 bx lr34