1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
|
## Test that note values are interpreted correctly for FreeBSD core files.
# RUN: yaml2obj %s -o %t.o
# RUN: llvm-readelf --notes %t.o | FileCheck %s --check-prefix=GNU --strict-whitespace
# RUN: llvm-readobj --notes %t.o | FileCheck %s --check-prefix=LLVM --strict-whitespace
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
Type: ET_CORE
Sections:
- Name: .note.foo
Type: SHT_NOTE
Notes:
- Name: FreeBSD
Type: NT_FREEBSD_THRMISC
- Name: FreeBSD
Type: NT_FREEBSD_PROCSTAT_PROC
- Name: FreeBSD
Type: NT_FREEBSD_PROCSTAT_FILES
- Name: FreeBSD
Type: NT_FREEBSD_PROCSTAT_VMMAP
- Name: FreeBSD
Type: NT_FREEBSD_PROCSTAT_GROUPS
- Name: FreeBSD
Type: NT_FREEBSD_PROCSTAT_UMASK
- Name: FreeBSD
Type: NT_FREEBSD_PROCSTAT_RLIMIT
- Name: FreeBSD
Type: NT_FREEBSD_PROCSTAT_OSREL
- Name: FreeBSD
Type: NT_FREEBSD_PROCSTAT_PSSTRINGS
- Name: FreeBSD
Type: NT_FREEBSD_PROCSTAT_AUXV
- Name: FreeBSD
Type: 0x12345
- Name: .note.bar
Type: SHT_NOTE
Notes:
- Name: FreeBSD
Desc: 'aabbccddeeff'
Type: NT_PRPSINFO
ProgramHeaders:
- Type: PT_NOTE
FirstSec: .note.foo
LastSec: .note.foo
- Type: PT_NOTE
FirstSec: .note.bar
LastSec: .note.bar
# GNU: Displaying notes found at file offset 0x000000b0 with length 0x000000dc:
# GNU-NEXT: Owner Data size Description
# GNU-NEXT: FreeBSD 0x00000000 NT_THRMISC (thrmisc structure)
# GNU-NEXT: FreeBSD 0x00000000 NT_PROCSTAT_PROC (proc data)
# GNU-NEXT: FreeBSD 0x00000000 NT_PROCSTAT_FILES (files data)
# GNU-NEXT: FreeBSD 0x00000000 NT_PROCSTAT_VMMAP (vmmap data)
# GNU-NEXT: FreeBSD 0x00000000 NT_PROCSTAT_GROUPS (groups data)
# GNU-NEXT: FreeBSD 0x00000000 NT_PROCSTAT_UMASK (umask data)
# GNU-NEXT: FreeBSD 0x00000000 NT_PROCSTAT_RLIMIT (rlimit data)
# GNU-NEXT: FreeBSD 0x00000000 NT_PROCSTAT_OSREL (osreldate data)
# GNU-NEXT: FreeBSD 0x00000000 NT_PROCSTAT_PSSTRINGS (ps_strings data)
# GNU-NEXT: FreeBSD 0x00000000 NT_PROCSTAT_AUXV (auxv data)
# GNU-NEXT: FreeBSD 0x00000000 Unknown note type: (0x00012345)
# GNU-EMPTY:
# GNU-NEXT: Displaying notes found at file offset 0x0000018c with length 0x0000001c:
# GNU-NEXT: Owner Data size Description
# GNU-NEXT: FreeBSD 0x00000006 NT_PRPSINFO (prpsinfo structure)
# GNU-NEXT: description data: aa bb cc dd ee ff
# GNU-EMPTY:
# LLVM: Notes [
# LLVM-NEXT: NoteSection {
# LLVM-NEXT: Name: <?>
# LLVM-NEXT: Offset: 0xB0
# LLVM-NEXT: Size: 0xDC
# LLVM-NEXT: Note {
# LLVM-NEXT: Owner: FreeBSD
# LLVM-NEXT: Data size: 0x0
# LLVM-NEXT: Type: NT_THRMISC (thrmisc structure)
# LLVM-NEXT: }
# LLVM-NEXT: Note {
# LLVM-NEXT: Owner: FreeBSD
# LLVM-NEXT: Data size: 0x0
# LLVM-NEXT: Type: NT_PROCSTAT_PROC (proc data)
# LLVM-NEXT: }
# LLVM-NEXT: Note {
# LLVM-NEXT: Owner: FreeBSD
# LLVM-NEXT: Data size: 0x0
# LLVM-NEXT: Type: NT_PROCSTAT_FILES (files data)
# LLVM-NEXT: }
# LLVM-NEXT: Note {
# LLVM-NEXT: Owner: FreeBSD
# LLVM-NEXT: Data size: 0x0
# LLVM-NEXT: Type: NT_PROCSTAT_VMMAP (vmmap data)
# LLVM-NEXT: }
# LLVM-NEXT: Note {
# LLVM-NEXT: Owner: FreeBSD
# LLVM-NEXT: Data size: 0x0
# LLVM-NEXT: Type: NT_PROCSTAT_GROUPS (groups data)
# LLVM-NEXT: }
# LLVM-NEXT: Note {
# LLVM-NEXT: Owner: FreeBSD
# LLVM-NEXT: Data size: 0x0
# LLVM-NEXT: Type: NT_PROCSTAT_UMASK (umask data)
# LLVM-NEXT: }
# LLVM-NEXT: Note {
# LLVM-NEXT: Owner: FreeBSD
# LLVM-NEXT: Data size: 0x0
# LLVM-NEXT: Type: NT_PROCSTAT_RLIMIT (rlimit data)
# LLVM-NEXT: }
# LLVM-NEXT: Note {
# LLVM-NEXT: Owner: FreeBSD
# LLVM-NEXT: Data size: 0x0
# LLVM-NEXT: Type: NT_PROCSTAT_OSREL (osreldate data)
# LLVM-NEXT: }
# LLVM-NEXT: Note {
# LLVM-NEXT: Owner: FreeBSD
# LLVM-NEXT: Data size: 0x0
# LLVM-NEXT: Type: NT_PROCSTAT_PSSTRINGS (ps_strings data)
# LLVM-NEXT: }
# LLVM-NEXT: Note {
# LLVM-NEXT: Owner: FreeBSD
# LLVM-NEXT: Data size: 0x0
# LLVM-NEXT: Type: NT_PROCSTAT_AUXV (auxv data)
# LLVM-NEXT: }
# LLVM-NEXT: Note {
# LLVM-NEXT: Owner: FreeBSD
# LLVM-NEXT: Data size: 0x0
# LLVM-NEXT: Type: Unknown (0x00012345)
# LLVM-NEXT: }
# LLVM-NEXT: }
# LLVM-NEXT: NoteSection {
# LLVM-NEXT: Name: <?>
# LLVM-NEXT: Offset: 0x18C
# LLVM-NEXT: Size: 0x1C
# LLVM-NEXT: Note {
# LLVM-NEXT: Owner: FreeBSD
# LLVM-NEXT: Data size: 0x6
# LLVM-NEXT: Type: NT_PRPSINFO (prpsinfo structure)
# LLVM-NEXT: Description data (
# LLVM-NEXT: 0000: AABBCCDD EEFF |......|
# LLVM-NEXT: )
# LLVM-NEXT: }
# LLVM-NEXT: }
# LLVM-NEXT: ]
|