[lld] 00c76f3 - [ELF][test] Improve arm-exidx-output.s to test different output text sections
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Sun Mar 29 13:12:29 PDT 2020
Author: Fangrui Song
Date: 2020-03-29T13:12:20-07:00
New Revision: 00c76f34962e822fa9bb5f16e516620a47c566ae
URL: https://github.com/llvm/llvm-project/commit/00c76f34962e822fa9bb5f16e516620a47c566ae
DIFF: https://github.com/llvm/llvm-project/commit/00c76f34962e822fa9bb5f16e516620a47c566ae.diff
LOG: [ELF][test] Improve arm-exidx-output.s to test different output text sections
Delete arm-exidx-link.s which is now covered by arm-exidx-output.s
Differential Revision: https://reviews.llvm.org/D76409
Added:
Modified:
lld/test/ELF/arm-exidx-output.s
Removed:
lld/test/ELF/arm-exidx-link.s
################################################################################
diff --git a/lld/test/ELF/arm-exidx-link.s b/lld/test/ELF/arm-exidx-link.s
deleted file mode 100644
index 071d28546c0e..000000000000
--- a/lld/test/ELF/arm-exidx-link.s
+++ /dev/null
@@ -1,25 +0,0 @@
-// REQUIRES: arm
-// RUN: llvm-mc -filetype=obj -triple=armv7a-none-linux-gnueabi %s -o %t.o
-// RUN: ld.lld %t.o -o %t.so -shared
-// RUN: llvm-readobj -S %t.so | FileCheck %s
-
-// CHECK: Name: .ARM.exidx
-// CHECK-NEXT: Type: SHT_ARM_EXIDX
-// CHECK-NEXT: Flags [
-// CHECK-NEXT: SHF_ALLOC
-// CHECK-NEXT: SHF_LINK_ORDER
-// CHECK-NEXT: ]
-// CHECK-NEXT: Address:
-// CHECK-NEXT: Offset:
-// CHECK-NEXT: Size:
-// CHECK-NEXT: Link: [[INDEX:.*]]
-
-// CHECK: Index: [[INDEX]]
-// CHECK-NEXT: Name: .text
-
-
- f:
- .fnstart
- bx lr
- .cantunwind
- .fnend
diff --git a/lld/test/ELF/arm-exidx-output.s b/lld/test/ELF/arm-exidx-output.s
index 4946bbad7a80..50e7820f2bdc 100644
--- a/lld/test/ELF/arm-exidx-output.s
+++ b/lld/test/ELF/arm-exidx-output.s
@@ -1,12 +1,29 @@
// REQUIRES: arm
-// RUN: llvm-mc -filetype=obj -triple=armv7a-none-linux-gnueabi %s -o %t
-// RUN: ld.lld %t -o %t2
-// RUN: llvm-readobj --sections %t2 | FileCheck %s
+// RUN: llvm-mc -filetype=obj -triple=armv7a-none-linux-gnueabi %s -o %t.o
+// RUN: ld.lld %t.o -o %t
+// RUN: llvm-readelf -S %t | FileCheck %s
+
+// RUN: echo 'SECTIONS { .text.f1 : { *(.text.f1) } .text.f2 : { *(.text.f2) } }' > %t.lds
+// RUN: ld.lld -T %t.lds %t.o -o %t1
+// RUN: llvm-readelf -S %t1 | FileCheck --check-prefix=MULTI %s
// Check that only a single .ARM.exidx output section is created when
// there are input sections of the form .ARM.exidx.<section-name>. The
// assembler creates the .ARM.exidx input sections with the .cantunwind
// directive
+
+// CHECK: [Nr] Name Type {{.*}} Flg Lk
+// CHECK-NEXT: [ 0]
+// CHECK-NEXT: [ 1] .ARM.exidx ARM_EXIDX {{.*}} AL 2
+// CHECK-NEXT: [ 2] .text PROGBITS {{.*}} AX 0
+
+// MULTI: [Nr] Name Type {{.*}} Flg Lk
+// MULTI-NEXT: [ 0]
+// MULTI-NEXT: [ 1] .ARM.exidx ARM_EXIDX {{.*}} AL 2
+// MULTI-NEXT: [ 2] .text.f1 PROGBITS {{.*}} AX 0
+// MULTI-NEXT: [ 3] .text.f2 PROGBITS {{.*}} AX 0
+// MULTI-NEXT: [ 4] .text PROGBITS {{.*}} AX 0
+
.syntax unified
.section .text, "ax",%progbits
.globl _start
@@ -31,14 +48,3 @@ f2:
bx lr
.cantunwind
.fnend
-
-// CHECK: Section {
-// CHECK: Name: .ARM.exidx
-// CHECK-NEXT: Type: SHT_ARM_EXIDX (0x70000001)
-// CHECK-NEXT: Flags [
-// CHECK-NEXT: SHF_ALLOC
-// CHECK-NEXT: SHF_LINK_ORDER
-// CHECK-NEXT: ]
-
-// CHECK-NOT: Name: .ARM.exidx.text.f1
-// CHECK-NOT: Name: .ARM.exidx.text.f2
More information about the llvm-commits
mailing list