// REQUIRES: x86 // 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 be included into a PT_NOTE program header. // 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 we still emit the non-alloc SHT_NOTE section and keep its type. // CHECK: Name: .note.b // CHECK-NEXT: Type: SHT_NOTE // CHECK-NEXT: Flags [ // CHECK-NEXT: ] // CHECK: ProgramHeader { // CHECK: Type: PT_NOTE // CHECK-NEXT: Offset: // CHECK-NEXT: VirtualAddress: 0x[[ADDR]] // CHECK-NEXT: PhysicalAddress: 0x[[ADDR]] // 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