[ELF] - Improve the test cases for notes sections.
authorGeorge Rimar <grimar@accesssoftek.com>
Thu, 10 May 2018 13:45:34 +0000 (13:45 +0000)
committerGeorge Rimar <grimar@accesssoftek.com>
Thu, 10 May 2018 13:45:34 +0000 (13:45 +0000)
A minor clean up and improvement for our tests for notes sections.

Differential revision: https://reviews.llvm.org/D46690

llvm-svn: 331980

lld/test/ELF/note-noalloc.s
lld/test/ELF/note-noalloc2.s [new file with mode: 0644]

index e43ba4f..c79ba6e 100644 (file)
@@ -1,22 +1,38 @@
 // REQUIRES: x86
-// RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-freebsd %s -o %t.o
+// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o
 // RUN: ld.lld %t.o -o %t -shared
 // RUN: llvm-readobj -program-headers -sections %t | FileCheck %s
 
-// PR37361: A note without SHF_ALLOC should not create a PT_NOTE program
-// header (but should have a SHT_NOTE section).
+// PR37361: A note without SHF_ALLOC should not be included into a PT_NOTE program header.
 
-// CHECK: Name: .note.tag
-// CHECK: Type: SHT_NOTE
-// CHECK: Name: .debug.ghc-link-info
-// CHECK: Type: SHT_NOTE
-// CHECK-NOT: Type: SHT_NOTE
+// CHECK:      Section {
+// CHECK:        Index:
+// CHECK:        Name: .note.a
+// CHECK-NEXT:   Type: SHT_NOTE
+// CHECK-NEXT:   Flags [
+// CHECK-NEXT:     SHF_ALLOC
+// CHECK-NEXT:   ]
+// CHECK-NEXT:   Address: 0x[[ADDR:.*]]
 
-// CHECK: Type: PT_NOTE
-// CHECK-NOT: Type: PT_NOTE
+// Check we still emit the non-alloc SHT_NOTE section and keep its type.
 
-        .section        .note.tag,"a",@note
-        .quad 1234
+// CHECK:        Name: .note.b
+// CHECK-NEXT:   Type: SHT_NOTE
+// CHECK-NEXT:   Flags [
+// CHECK-NEXT:   ]
 
-        .section        .debug.ghc-link-info,"",@note
-        .quad 5678
+// CHECK:      ProgramHeader {
+// CHECK:        Type: PT_NOTE
+// CHECK-NEXT:   Offset:
+// CHECK-NEXT:   VirtualAddress: 0x[[ADDR]]
+// CHECK-NEXT:   PhysicalAddress: 0x245
+// CHECK-NEXT:   FileSize: 16
+// CHECK-NEXT:   MemSize: 16
+// CHECK-NOT:  PT_NOTE
+
+.section        .note.a,"a",@note
+.quad 1
+.quad 2
+
+.section        .note.b,"",@note
+.quad 3
diff --git a/lld/test/ELF/note-noalloc2.s b/lld/test/ELF/note-noalloc2.s
new file mode 100644 (file)
index 0000000..3705799
--- /dev/null
@@ -0,0 +1,11 @@
+# REQUIRES: x86
+# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o
+# RUN: ld.lld %t.o -o %t
+# RUN: llvm-readobj -program-headers %t | FileCheck %s
+
+## Check we do not create a PT_NOTE segment for non-allocatable note section.
+
+# CHECK-NOT:  PT_NOTE
+
+.section  .note,"",@note
+.quad 0