[PATCH] D76409: [ELF][test] Improve arm-exidx-output.s to test different output text sections

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Mar 29 13:23:50 PDT 2020


MaskRay updated this revision to Diff 253454.
MaskRay added a comment.

Enhance


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D76409/new/

https://reviews.llvm.org/D76409

Files:
  lld/test/ELF/arm-exidx-link.s
  lld/test/ELF/arm-exidx-output.s


Index: lld/test/ELF/arm-exidx-output.s
===================================================================
--- lld/test/ELF/arm-exidx-output.s
+++ 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 @@
  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
Index: lld/test/ELF/arm-exidx-link.s
===================================================================
--- 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


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D76409.253454.patch
Type: text/x-patch
Size: 2628 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200329/7e36151d/attachment-0001.bin>


More information about the llvm-commits mailing list