[ELF][test] Clean up PT_OPENBSD tests
authorFangrui Song <i@maskray.me>
Sat, 19 Nov 2022 18:51:35 +0000 (18:51 +0000)
committerFangrui Song <i@maskray.me>
Sat, 19 Nov 2022 18:51:35 +0000 (18:51 +0000)
lld/test/ELF/linkerscript/openbsd-bootdata.test [deleted file]
lld/test/ELF/linkerscript/openbsd-randomize.s [deleted file]
lld/test/ELF/linkerscript/openbsd-wxneeded.test [deleted file]
lld/test/ELF/openbsd-phdr.s [new file with mode: 0644]
lld/test/ELF/openbsd-randomize.s [deleted file]
lld/test/ELF/openbsd-wxneeded.s [deleted file]

diff --git a/lld/test/ELF/linkerscript/openbsd-bootdata.test b/lld/test/ELF/linkerscript/openbsd-bootdata.test
deleted file mode 100644 (file)
index e0c647d..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-# REQUIRES: x86
-# RUN: llvm-mc -filetype=obj -triple=i686-unknown-linux /dev/null -o %t.o
-# RUN: ld.lld --script %s %t.o -o %t
-# RUN: llvm-readobj --program-headers -S %t | FileCheck %s
-
-PHDRS { boot PT_OPENBSD_BOOTDATA; }
-
-# CHECK:      ProgramHeader {
-# CHECK:        Type: PT_OPENBSD_BOOTDATA (0x65A41BE6)
diff --git a/lld/test/ELF/linkerscript/openbsd-randomize.s b/lld/test/ELF/linkerscript/openbsd-randomize.s
deleted file mode 100644 (file)
index b473d51..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-# REQUIRES: x86
-# RUN: llvm-mc -filetype=obj -triple=i686-unknown-linux %s -o %t.o
-# RUN: echo "PHDRS { text PT_LOAD FILEHDR PHDRS; rand PT_OPENBSD_RANDOMIZE; } \
-# RUN:       SECTIONS { . = SIZEOF_HEADERS; \
-# RUN:         .text : { *(.text) } \
-# RUN:         .openbsd.randomdata : { *(.openbsd.randomdata) } : rand }" > %t.script
-# RUN: ld.lld --script %t.script %t.o -o %t
-# RUN: llvm-readobj --program-headers -S %t | FileCheck %s
-
-# CHECK:      ProgramHeader {
-# CHECK:        Type: PT_OPENBSD_RANDOMIZE (0x65A3DBE6)
-# CHECK-NEXT:   Offset: 0x74
-# CHECK-NEXT:   VirtualAddress: 0x74
-# CHECK-NEXT:   PhysicalAddress: 0x74
-# CHECK-NEXT:   FileSize: 8
-# CHECK-NEXT:   MemSize: 8
-# CHECK-NEXT:   Flags [ (0x4)
-# CHECK-NEXT:     PF_R (0x4)
-# CHECK-NEXT:   ]
-# CHECK-NEXT:   Alignment: 1
-# CHECK-NEXT: }
-
-.section .openbsd.randomdata, "a"
-.quad 0
diff --git a/lld/test/ELF/linkerscript/openbsd-wxneeded.test b/lld/test/ELF/linkerscript/openbsd-wxneeded.test
deleted file mode 100644 (file)
index 1868c0e..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-# REQUIRES: x86
-# RUN: llvm-mc -filetype=obj -triple=i686-unknown-linux /dev/null -o %t.o
-# RUN: ld.lld -z wxneeded --script %s %t.o -o %t
-# RUN: llvm-readobj --program-headers %t | FileCheck %s
-
-PHDRS { text PT_LOAD FILEHDR PHDRS; wxneeded PT_OPENBSD_WXNEEDED; }
-
-# CHECK:      ProgramHeader {
-# CHECK:        Type: PT_OPENBSD_WXNEEDED (0x65A3DBE7)
-# CHECK-NEXT:   Offset: 0x0
-# CHECK-NEXT:   VirtualAddress: 0x0
-# CHECK-NEXT:   PhysicalAddress: 0x0
-# CHECK-NEXT:   FileSize: 0
-# CHECK-NEXT:   MemSize: 0
-# CHECK-NEXT:   Flags [
-# CHECK-NEXT:     PF_R
-# CHECK-NEXT:   ]
-# CHECK-NEXT:   Alignment: 0
-# CHECK-NEXT: }
diff --git a/lld/test/ELF/openbsd-phdr.s b/lld/test/ELF/openbsd-phdr.s
new file mode 100644 (file)
index 0000000..5ba0e03
--- /dev/null
@@ -0,0 +1,40 @@
+# REQUIRES: x86
+# RUN: rm -rf %t && split-file %s %t && cd %t
+# RUN: llvm-mc -filetype=obj -triple=x86_64 randomdata.s -o randomdata.o
+# RUN: ld.lld randomdata.o -o randomdata
+# RUN: llvm-readelf -S -l randomdata | FileCheck %s --check-prefix=RANDOMDATA
+
+# RUN: llvm-mc -filetype=obj -triple=x86_64 /dev/null -o wxneeded.o
+# RUN: ld.lld -z wxneeded wxneeded.o -o wxneeded
+# RUN: llvm-readelf -l wxneeded | FileCheck %s --check-prefix=WXNEEDED
+
+# RUN: ld.lld -T lds randomdata.o -o out
+# RUN: llvm-readelf -S -l out | FileCheck %s --check-prefixes=RANDOMDATA,CHECK
+
+# RANDOMDATA: Name                Type     Address            Off             Size   ES Flg Lk Inf Al
+# RANDOMDATA: .openbsd.randomdata PROGBITS [[ADDR:[0-9a-f]+]] [[O:[0-9a-f]+]] 000008 00   A  0   0  1
+
+# WXNEEDED:   Type              Offset   VirtAddr           PhysAddr           FileSiz  MemSiz   Flg Align
+# WXNEEDED:   OPENBSD_WXNEEDED  0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 E   0
+
+# RANDOMDATA: Type              Offset   VirtAddr           PhysAddr           FileSiz  MemSiz   Flg Align
+# RANDOMDATA: OPENBSD_RANDOMIZE 0x[[O]]  0x[[ADDR]]         0x[[ADDR]]         0x000008 0x000008 R   0x1
+# CHECK-NEXT: OPENBSD_BOOTDATA  0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 R   0
+# CHECK-NEXT: OPENBSD_WXNEEDED  0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 R   0
+
+#--- randomdata.s
+.section .openbsd.randomdata, "a"
+.quad 0
+
+#--- lds
+PHDRS {
+  text PT_LOAD FILEHDR PHDRS;
+  rand PT_OPENBSD_RANDOMIZE;
+  boot PT_OPENBSD_BOOTDATA;
+  wxneeded PT_OPENBSD_WXNEEDED;
+}
+SECTIONS {
+  . = SIZEOF_HEADERS;
+  .text : { *(.text) }
+  .openbsd.randomdata : { *(.openbsd.randomdata) } : rand
+}
diff --git a/lld/test/ELF/openbsd-randomize.s b/lld/test/ELF/openbsd-randomize.s
deleted file mode 100644 (file)
index 794e87b..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-# REQUIRES: x86
-# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t
-# RUN: ld.lld %t -o %t.out
-# RUN: llvm-readobj --program-headers %t.out | FileCheck %s
-
-# CHECK:      ProgramHeader {
-# CHECK:        Type: PT_OPENBSD_RANDOMIZE (0x65A3DBE6)
-# CHECK-NEXT:   Offset:
-# CHECK-NEXT:   VirtualAddress:
-# CHECK-NEXT:   PhysicalAddress:
-# CHECK-NEXT:   FileSize: 8
-# CHECK-NEXT:   MemSize: 8
-# CHECK-NEXT:   Flags [
-# CHECK-NEXT:     PF_R (0x4)
-# CHECK-NEXT:   ]
-# CHECK-NEXT:   Alignment: 1
-# CHECK-NEXT: }
-
-.section .openbsd.randomdata, "a"
-.quad 0
diff --git a/lld/test/ELF/openbsd-wxneeded.s b/lld/test/ELF/openbsd-wxneeded.s
deleted file mode 100644 (file)
index d209e4f..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-# REQUIRES: x86
-# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t
-# RUN: ld.lld -z wxneeded %t -o %t.out
-# RUN: llvm-readobj --program-headers %t.out | FileCheck %s
-
-# CHECK:      ProgramHeader {
-# CHECK:        Type: PT_OPENBSD_WXNEEDED (0x65A3DBE7)
-# CHECK-NEXT:   Offset: 0x0
-# CHECK-NEXT:   VirtualAddress: 0x0
-# CHECK-NEXT:   PhysicalAddress: 0x0
-# CHECK-NEXT:   FileSize: 0
-# CHECK-NEXT:   MemSize: 0
-# CHECK-NEXT:   Flags [
-# CHECK-NEXT:     PF_X
-# CHECK-NEXT:   ]
-# CHECK-NEXT:   Alignment: 0
-# CHECK-NEXT: }