This changes the output of `llvm-readelf -n` from: ``` Displaying notes found at file offset 0x<...> with length 0x<...>: ``` to: ``` Displaying notes found in: .note.foo ``` And similarly, adds a `Name:` field to the `llvm-readobj -n` output for notes. This change not only increases GNU compatibility, it also makes it much easier to read notes. Note that we still fall back to printing the file offset/length in cases where we don't have a section name, such as when printing notes in program headers or printing notes in a partially stripped file (GNU readelf does the same). Fixes llvm.org/PR41339. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D75647
35 lines
1.1 KiB
Plaintext
35 lines
1.1 KiB
Plaintext
# 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: 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>
|
|
|
|
# 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: }
|
|
# LLVM-NEXT: }
|
|
# LLVM-NEXT: ]
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_EXEC
|
|
Machine: EM_X86_64
|
|
Sections:
|
|
- Name: .note.ABI-tag
|
|
Type: SHT_NOTE
|
|
AddressAlign: 0x0000000000000004
|
|
Content: 040000000400000001000000474E550000000000
|