[PATCH] D46690: [ELF] - Improve the test cases for notes sections.

George Rimar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 10 06:20:47 PDT 2018


grimar updated this revision to Diff 146119.
grimar added a comment.

- Addressed review comments.


https://reviews.llvm.org/D46690

Files:
  test/ELF/note-noalloc.s
  test/ELF/note-noalloc2.s


Index: test/ELF/note-noalloc2.s
===================================================================
--- test/ELF/note-noalloc2.s
+++ test/ELF/note-noalloc2.s
@@ -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,"", at note
+.quad 0
Index: test/ELF/note-noalloc.s
===================================================================
--- test/ELF/note-noalloc.s
+++ test/ELF/note-noalloc.s
@@ -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 it's type.
 
-        .section        .note.tag,"a", at note
-        .quad 1234
+// CHECK:        Name: .note.b
+// CHECK-NEXT:   Type: SHT_NOTE
+// CHECK-NEXT:   Flags [
+// CHECK-NEXT:   ]
 
-        .section        .debug.ghc-link-info,"", at 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", at note
+.quad 1
+.quad 2
+
+.section        .note.b,"", at note
+.quad 3


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D46690.146119.patch
Type: text/x-patch
Size: 2260 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180510/24e3ccc9/attachment.bin>


More information about the llvm-commits mailing list