blob: f079ac8b4c387f0207e632f2dba62eba264f5d9a (
plain)
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
|
## Test that note values are interpreted correctly for FreeBSD executables.
# RUN: yaml2obj %s -o %t.o
# RUN: llvm-readelf --notes %t.o | FileCheck %s --check-prefixes=GNU --strict-whitespace
# RUN: llvm-readobj --notes %t.o | FileCheck %s --check-prefix=LLVM --strict-whitespace
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
Type: ET_EXEC
Machine: EM_RISCV
Sections:
- Name: .note.tag
Type: SHT_NOTE
AddressAlign: 0x0000000000000004
Notes:
- Name: FreeBSD
Desc: '6CD61300'
Type: NT_FREEBSD_ABI_TAG
- Name: FreeBSD
Desc: '6C' # Invalid data (should be 4 bytes)
Type: NT_FREEBSD_ABI_TAG
- Name: FreeBSD
Desc: '61617263683634'
Type: NT_FREEBSD_ARCH_TAG
- Name: FreeBSD
Desc: 'FFFFFFFF'
Type: NT_FREEBSD_FEATURE_CTL
- Name: FreeBSD
Desc: '00' # Invalid data (should be 4 bytes)
Type: NT_FREEBSD_FEATURE_CTL
- Name: FreeBSD
Desc: '00000000'
Type: NT_FREEBSD_NOINIT_TAG
- Name: FreeBSD
Desc: '616263646566'
Type: 0xabcdef
- Name: FreeBSD
Desc: '616263646566'
Type: NT_FREEBSD_PROCSTAT_RLIMIT # Only valid for coredumps.
# GNU: Displaying notes found in: .note.tag
# GNU-NEXT: Owner Data size Description
# GNU-NEXT: FreeBSD 0x00000004 NT_FREEBSD_ABI_TAG (ABI version tag)
# GNU-NEXT: ABI tag: 1300076
# GNU-NEXT: FreeBSD 0x00000001 NT_FREEBSD_ABI_TAG (ABI version tag)
# GNU-NEXT: description data: 6c
# GNU-NEXT: FreeBSD 0x00000007 NT_FREEBSD_ARCH_TAG (architecture tag)
# GNU-NEXT: Arch tag: aarch64
# GNU-NEXT: FreeBSD 0x00000004 NT_FREEBSD_FEATURE_CTL (FreeBSD feature control)
# GNU-NEXT: Feature flags: ASLR_DISABLE PROTMAX_DISABLE STKGAP_DISABLE WXNEEDED LA48 ASG_DISABLE (0xFFFFFFFF)
# GNU-NEXT: FreeBSD 0x00000001 NT_FREEBSD_FEATURE_CTL (FreeBSD feature control)
# GNU-NEXT: description data: 00
# GNU-NEXT: FreeBSD 0x00000004 NT_FREEBSD_NOINIT_TAG (no .init tag)
# GNU-NEXT: description data: 00 00 00 00
# GNU-NEXT: FreeBSD 0x00000006 Unknown note type: (0x00abcdef)
# GNU-NEXT: description data: 61 62 63 64 65 66
## NT_FREEBSD_PROCSTAT_RLIMIT is only a valid type for coredumps and should therefore not be decoded.
## Note: Binutils prints NT_PROCSTAT_RLIMIT, but this seems incorrect
# GNU-NEXT: FreeBSD 0x00000006 Unknown note type: (0x0000000d)
# GNU-NEXT: description data: 61 62 63 64 65 66
# GNU-EMPTY:
# LLVM: NoteSections [
# LLVM-NEXT: NoteSection {
# LLVM-NEXT: Name: .note.tag
# LLVM-NEXT: Offset: 0x40
# LLVM-NEXT: Size: 0xCC
# LLVM-NEXT: Notes [
# LLVM-NEXT: {
# LLVM-NEXT: Owner: FreeBSD
# LLVM-NEXT: Data size: 0x4
# LLVM-NEXT: Type: NT_FREEBSD_ABI_TAG (ABI version tag)
# LLVM-NEXT: ABI tag: 1300076
# LLVM-NEXT: }
# LLVM-NEXT: {
# LLVM-NEXT: Owner: FreeBSD
# LLVM-NEXT: Data size: 0x1
# LLVM-NEXT: Type: NT_FREEBSD_ABI_TAG (ABI version tag)
# LLVM-NEXT: Description data (
# LLVM-NEXT: 0000: 6C |l|
# LLVM-NEXT: )
# LLVM-NEXT: }
# LLVM-NEXT: {
# LLVM-NEXT: Owner: FreeBSD
# LLVM-NEXT: Data size: 0x7
# LLVM-NEXT: Type: NT_FREEBSD_ARCH_TAG (architecture tag)
# LLVM-NEXT: Arch tag: aarch64
# LLVM-NEXT: }
# LLVM-NEXT: {
# LLVM-NEXT: Owner: FreeBSD
# LLVM-NEXT: Data size: 0x4
# LLVM-NEXT: Type: NT_FREEBSD_FEATURE_CTL (FreeBSD feature control)
# LLVM-NEXT: Feature flags: ASLR_DISABLE PROTMAX_DISABLE STKGAP_DISABLE WXNEEDED LA48 ASG_DISABLE (0xFFFFFFFF)
# LLVM-NEXT: }
# LLVM-NEXT: {
# LLVM-NEXT: Owner: FreeBSD
# LLVM-NEXT: Data size: 0x1
# LLVM-NEXT: Type: NT_FREEBSD_FEATURE_CTL (FreeBSD feature control)
# LLVM-NEXT: Description data (
# LLVM-NEXT: 0000: 00 |.|
# LLVM-NEXT: )
# LLVM-NEXT: }
# LLVM-NEXT: {
# LLVM-NEXT: Owner: FreeBSD
# LLVM-NEXT: Data size: 0x4
# LLVM-NEXT: Type: NT_FREEBSD_NOINIT_TAG (no .init tag)
# LLVM-NEXT: Description data (
# LLVM-NEXT: 0000: 00000000 |....|
# LLVM-NEXT: )
# LLVM-NEXT: }
# LLVM-NEXT: {
# LLVM-NEXT: Owner: FreeBSD
# LLVM-NEXT: Data size: 0x6
# LLVM-NEXT: Type: Unknown (0x00abcdef)
# LLVM-NEXT: Description data (
# LLVM-NEXT: 0000: 61626364 6566 |abcdef|
# LLVM-NEXT: )
# LLVM-NEXT: }
# LLVM-NEXT: {
# LLVM-NEXT: Owner: FreeBSD
# LLVM-NEXT: Data size: 0x6
# LLVM-NEXT: Type: Unknown (0x0000000d)
# LLVM-NEXT: Description data (
# LLVM-NEXT: 0000: 61626364 6566 |abcdef|
# LLVM-NEXT: )
# LLVM-NEXT: }
# LLVM-NEXT: ]
# LLVM-NEXT: }
# LLVM-NEXT:]
|