[lld] f097c10 - [ELF][test] Improve INSERT [AFTER|BEFORE] and adjustSectionsBeforeSorting tests
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 28 22:21:18 PST 2022
Author: Fangrui Song
Date: 2022-01-28T22:21:13-08:00
New Revision: f097c108b88d9d1cb2978fef1ecac16956430d7a
URL: https://github.com/llvm/llvm-project/commit/f097c108b88d9d1cb2978fef1ecac16956430d7a
DIFF: https://github.com/llvm/llvm-project/commit/f097c108b88d9d1cb2978fef1ecac16956430d7a.diff
LOG: [ELF][test] Improve INSERT [AFTER|BEFORE] and adjustSectionsBeforeSorting tests
Added:
Modified:
lld/test/ELF/linkerscript/insert-after.test
lld/test/ELF/linkerscript/insert-before.test
lld/test/ELF/linkerscript/symbol-only-flags.test
Removed:
################################################################################
diff --git a/lld/test/ELF/linkerscript/insert-after.test b/lld/test/ELF/linkerscript/insert-after.test
index 65751c75206ab..b438389c795fe 100644
--- a/lld/test/ELF/linkerscript/insert-after.test
+++ b/lld/test/ELF/linkerscript/insert-after.test
@@ -7,12 +7,13 @@
# RUN: ld.lld %t1.o -o %t1 --script %p/Inputs/insert-after.script --script %s
# RUN: llvm-readelf -S -l %t1 | FileCheck %s
-# CHECK: Name Type Address Off
+# CHECK: Name Type Address Off Size ES Flg
# CHECK-NEXT: NULL 0000000000000000 000000
-# CHECK-NEXT: .text PROGBITS 0000000000000000 001000
-# CHECK-NEXT: .foo.text PROGBITS 0000000000000008 001008
-# CHECK-NEXT: .data PROGBITS 0000000000000010 001010
-# CHECK-NEXT: .foo.data PROGBITS 0000000000000018 001018
+# CHECK-NEXT: .text PROGBITS 0000000000000000 001000 000008 00 AX
+# CHECK-NEXT: .foo.text PROGBITS 0000000000000008 001008 000008 00 AX
+# CHECK-NEXT: .data PROGBITS 0000000000000010 001010 000008 00 WA
+# CHECK-NEXT: .foo.data PROGBITS 0000000000000018 001018 000008 00 WA
+# CHECK-NEXT: .byte PROGBITS 0000000000000020 001020 000001 00 WA
# CHECK: Type
# CHECK-NEXT: LOAD {{.*}} R E
# CHECK-NEXT: LOAD {{.*}} RW
@@ -24,18 +25,21 @@
# RUN: ld.lld --script %s %t1.o -o %t2
# RUN: llvm-readelf -S -l %t2 | FileCheck --check-prefix=CHECK2 %s
-# CHECK2: Name Type Address Off
-# CHECK2-NEXT: NULL 0000000000000000 000000
-# CHECK2-NEXT: .text PROGBITS 0000000000201158 000158
-# CHECK2-NEXT: .foo.text PROGBITS 0000000000201160 000160
-# CHECK2-NEXT: .data PROGBITS 0000000000202168 000168
-# CHECK2-NEXT: .foo.data PROGBITS 0000000000202170 000170
-# CHECK2: Type
-# CHECK2-NEXT: PHDR {{.*}} R
-# CHECK2-NEXT: LOAD {{.*}} R
-# CHECK2-NEXT: LOAD {{.*}} R E
-# CHECK2-NEXT: LOAD {{.*}} RW
-# CHECK2-NEXT: GNU_STACK {{.*}} RW
+# CHECK2: Name Type Address Off Size ES Flg
+# CHECK2-NEXT: NULL
+# CHECK2-NEXT: .text PROGBITS 000000000020{{.*}} [[#%x,]] 000008 00 AX
+# CHECK2-NEXT: .foo.text PROGBITS [[#%x,]] [[#%x,]] 000008 00 AX
+# CHECK2-NEXT: .data PROGBITS [[#%x,]] [[#%x,]] 000008 00 WA
+# CHECK2-NEXT: .foo.data PROGBITS [[#%x,]] [[#%x,]] 000008 00 WA
+# CHECK2-NEXT: .byte PROGBITS [[#%x,]] [[#%x,]] 000001 00 0
+# CHECK2: Type {{.*}} Flg Align
+# CHECK2-NEXT: PHDR {{.*}} R 0x8
+# CHECK2-NEXT: LOAD {{.*}} R 0x1000
+# CHECK2-NEXT: LOAD {{.*}} R E 0x1000
+# CHECK2-NEXT: LOAD {{.*}} RW 0x1000
+# CHECK2-NEXT: GNU_STACK {{.*}} RW 0
+
+SECTIONS { .byte : { BYTE(0) } } INSERT AFTER .data;
SECTIONS { .foo.data : { *(.foo.data) } } INSERT AFTER .data;
diff --git a/lld/test/ELF/linkerscript/insert-before.test b/lld/test/ELF/linkerscript/insert-before.test
index 8fe912fdf9123..ff407464e3f53 100644
--- a/lld/test/ELF/linkerscript/insert-before.test
+++ b/lld/test/ELF/linkerscript/insert-before.test
@@ -7,12 +7,13 @@
# RUN: ld.lld %t1.o -o %t1 --script %p/Inputs/insert-after.script --script %s
# RUN: llvm-readelf -S -l %t1 | FileCheck %s
-# CHECK: Name Type Address Off
-# CHECK-NEXT: NULL 0000000000000000 000000
-# CHECK-NEXT: .foo.text PROGBITS 0000000000000000 001000
-# CHECK-NEXT: .text PROGBITS 0000000000000008 001008
-# CHECK-NEXT: .foo.data PROGBITS 0000000000000010 001010
-# CHECK-NEXT: .data PROGBITS 0000000000000018 001018
+# CHECK: Name Type Address Off Size ES Flg
+# CHECK-NEXT: NULL
+# CHECK-NEXT: .foo.text PROGBITS 0000000000000000 001000 000008 00 AX
+# CHECK-NEXT: .text PROGBITS 0000000000000008 001008 000008 00 AX
+# CHECK-NEXT: .byte PROGBITS 0000000000000010 001010 000001 00 WA
+# CHECK-NEXT: .foo.data PROGBITS 0000000000000011 001011 000008 00 WA
+# CHECK-NEXT: .data PROGBITS 0000000000000019 001019 000008 00 WA
# CHECK: Type
# CHECK-NEXT: LOAD {{.*}} R E
# CHECK-NEXT: LOAD {{.*}} RW
@@ -24,17 +25,21 @@
# RUN: ld.lld --script %s %t1.o -o %t2
# RUN: llvm-readelf -S -l %t2 | FileCheck --check-prefix=CHECK2 %s
-# CHECK2: Name Type Address Off
-# CHECK2-NEXT: NULL 0000000000000000 000000
-# CHECK2-NEXT: .foo.text PROGBITS 0000000000201158 000158
-# CHECK2-NEXT: .text PROGBITS 0000000000201160 000160
-# CHECK2-NEXT: .foo.data PROGBITS 0000000000202168 000168
-# CHECK2-NEXT: .data PROGBITS 0000000000202170 000170
-# CHECK2: Type
-# CHECK2-NEXT: PHDR {{.*}} R
-# CHECK2-NEXT: LOAD {{.*}} R
-# CHECK2-NEXT: LOAD {{.*}} R E
-# CHECK2-NEXT: LOAD {{.*}} RW
+# CHECK2: Name Type Address Off Size ES Flg
+# CHECK2-NEXT: NULL
+# CHECK2-NEXT: .foo.text PROGBITS 000000000020{{.*}} [[#%x,]] 000008 00 AX
+# CHECK2-NEXT: .text PROGBITS [[#%x,]] [[#%x,]] 000008 00 AX
+# CHECK2-NEXT: .byte PROGBITS [[#%x,]] [[#%x,]] 000001 00 0
+# CHECK2-NEXT: .foo.data PROGBITS [[#%x,]] [[#%x,]] 000008 00 WA
+# CHECK2-NEXT: .data PROGBITS [[#%x,]] [[#%x,]] 000008 00 WA
+# CHECK2: Type {{.*}} Flg Align
+# CHECK2-NEXT: PHDR {{.*}} R 0x8
+# CHECK2-NEXT: LOAD {{.*}} R 0x1000
+# CHECK2-NEXT: LOAD {{.*}} R E 0x1000
+# CHECK2-NEXT: LOAD {{.*}} RW 0x1000
+# CHECK2-NEXT: GNU_STACK {{.*}} RW 0
+
+SECTIONS { .byte : { BYTE(0) } } INSERT BEFORE .data;
SECTIONS { .foo.data : { *(.foo.data) } } INSERT BEFORE .data;
diff --git a/lld/test/ELF/linkerscript/symbol-only-flags.test b/lld/test/ELF/linkerscript/symbol-only-flags.test
index ed2ea762f8725..c16917971f854 100644
--- a/lld/test/ELF/linkerscript/symbol-only-flags.test
+++ b/lld/test/ELF/linkerscript/symbol-only-flags.test
@@ -2,20 +2,14 @@
# RUN: echo '.section .tbss,"awT", at nobits; .quad 0' \
# RUN: | llvm-mc -filetype=obj -triple=x86_64-unknown-linux - -o %t.o
# RUN: ld.lld -o %t --script %s %t.o
-# RUN: llvm-readobj -S %t | FileCheck %s
+# RUN: llvm-readelf -S %t | FileCheck %s
+
+## Check .foo does not get SHF_TLS flag.
+# CHECK: .tbss NOBITS [[#%x,]] [[#%x,]] [[#%x,]] 00 WAT
+# CHECK-NEXT: .foo PROGBITS [[#%x,]] [[#%x,]] [[#%x,]] 00 WA
SECTIONS {
. = SIZEOF_HEADERS;
.tbss : { *(.tbss) }
.foo : { bar = .; }
}
-
-## Check .foo does not get SHF_TLS flag.
-# CHECK: Section {
-# CHECK: Index:
-# CHECK: Name: .foo
-# CHECK-NEXT: Type: SHT_PROGBITS
-# CHECK-NEXT: Flags [
-# CHECK-NEXT: SHF_ALLOC
-# CHECK-NEXT: SHF_WRITE
-# CHECK-NEXT: ]
More information about the llvm-commits
mailing list