## Check that a malformed NT_GNU_ABI_TAG note can be dumped without crashing. # RUN: yaml2obj %s -o %t # RUN: llvm-readelf --notes %t | FileCheck %s --check-prefix=GNU # RUN: llvm-readobj --elf-output-style LLVM --notes %t | FileCheck %s --check-prefix=LLVM ## GNU binutils does not print the raw description data when encountering an ## invalid NT_GNU_ABI_TAG, but in LLVM style we print it. # GNU: Displaying notes found in: .note.ABI-tag # GNU-NEXT: Owner Data size Description # GNU-NEXT: GNU 0x00000004 NT_GNU_ABI_TAG (ABI version tag) # GNU-NEXT: <corrupt GNU_ABI_TAG> # GNU-EMPTY: # LLVM: Notes [ # LLVM-NEXT: NoteSection { # LLVM-NEXT: Name: .note.ABI-tag # LLVM-NEXT: Offset: # LLVM-NEXT: Size: 0x14 # LLVM-NEXT: Note { # LLVM-NEXT: Owner: GNU # LLVM-NEXT: Data size: 0x4 # LLVM-NEXT: Type: NT_GNU_ABI_TAG (ABI version tag) # LLVM-NEXT: ABI: <corrupt GNU_ABI_TAG> # LLVM-NEXT: Description data ( # LLVM-NEXT: 0000: 00000000 |....| # LLVM-NEXT: ) # LLVM-NEXT: } # LLVM-NEXT: } # LLVM-NEXT: ] --- !ELF FileHeader: Class: ELFCLASS64 Data: ELFDATA2LSB Type: ET_EXEC Sections: - Name: .note.ABI-tag Type: SHT_NOTE AddressAlign: 0x0000000000000004 Content: 040000000400000001000000474E550000000000