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 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210
|
## Check obj2yaml is able to decode all PPC64 relocations.
# RUN: yaml2obj %s -o %t
# RUN: obj2yaml %t | FileCheck %s
# CHECK: --- !ELF
# CHECK-NEXT: FileHeader:
# CHECK-NEXT: Class: ELFCLASS64
# CHECK-NEXT: Data: ELFDATA2MSB
# CHECK-NEXT: Type: ET_REL
# CHECK-NEXT: Machine: EM_PPC64
# CHECK-NEXT: Sections:
# CHECK-NEXT: - Name: .rela.text
# CHECK-NEXT: Type: SHT_RELA
# CHECK-NEXT: Relocations:
# CHECK-NEXT: - Type: R_PPC64_NONE
# CHECK-NEXT: - Type: R_PPC64_ADDR32
# CHECK-NEXT: - Type: R_PPC64_ADDR24
# CHECK-NEXT: - Type: R_PPC64_ADDR16
# CHECK-NEXT: - Type: R_PPC64_ADDR16_LO
# CHECK-NEXT: - Type: R_PPC64_ADDR16_HI
# CHECK-NEXT: - Type: R_PPC64_ADDR16_HA
# CHECK-NEXT: - Type: R_PPC64_ADDR14
# CHECK-NEXT: - Type: R_PPC64_ADDR14_BRTAKEN
# CHECK-NEXT: - Type: R_PPC64_ADDR14_BRNTAKEN
# CHECK-NEXT: - Type: R_PPC64_REL24
# CHECK-NEXT: - Type: R_PPC64_REL14
# CHECK-NEXT: - Type: R_PPC64_REL14_BRTAKEN
# CHECK-NEXT: - Type: R_PPC64_REL14_BRNTAKEN
# CHECK-NEXT: - Type: R_PPC64_GOT16
# CHECK-NEXT: - Type: R_PPC64_GOT16_LO
# CHECK-NEXT: - Type: R_PPC64_GOT16_HI
# CHECK-NEXT: - Type: R_PPC64_GOT16_HA
# CHECK-NEXT: - Type: R_PPC64_GLOB_DAT
# CHECK-NEXT: - Type: R_PPC64_JMP_SLOT
# CHECK-NEXT: - Type: R_PPC64_RELATIVE
# CHECK-NEXT: - Type: R_PPC64_REL32
# CHECK-NEXT: - Type: R_PPC64_ADDR64
# CHECK-NEXT: - Type: R_PPC64_ADDR16_HIGHER
# CHECK-NEXT: - Type: R_PPC64_ADDR16_HIGHERA
# CHECK-NEXT: - Type: R_PPC64_ADDR16_HIGHEST
# CHECK-NEXT: - Type: R_PPC64_ADDR16_HIGHESTA
# CHECK-NEXT: - Type: R_PPC64_REL64
# CHECK-NEXT: - Type: R_PPC64_TOC16
# CHECK-NEXT: - Type: R_PPC64_TOC16_LO
# CHECK-NEXT: - Type: R_PPC64_TOC16_HI
# CHECK-NEXT: - Type: R_PPC64_TOC16_HA
# CHECK-NEXT: - Type: R_PPC64_TOC
# CHECK-NEXT: - Type: R_PPC64_ADDR16_DS
# CHECK-NEXT: - Type: R_PPC64_ADDR16_LO_DS
# CHECK-NEXT: - Type: R_PPC64_GOT16_DS
# CHECK-NEXT: - Type: R_PPC64_GOT16_LO_DS
# CHECK-NEXT: - Type: R_PPC64_TOC16_DS
# CHECK-NEXT: - Type: R_PPC64_TOC16_LO_DS
# CHECK-NEXT: - Type: R_PPC64_TLS
# CHECK-NEXT: - Type: R_PPC64_DTPMOD64
# CHECK-NEXT: - Type: R_PPC64_TPREL16
# CHECK-NEXT: - Type: R_PPC64_TPREL16_LO
# CHECK-NEXT: - Type: R_PPC64_TPREL16_HI
# CHECK-NEXT: - Type: R_PPC64_TPREL16_HA
# CHECK-NEXT: - Type: R_PPC64_TPREL64
# CHECK-NEXT: - Type: R_PPC64_DTPREL16
# CHECK-NEXT: - Type: R_PPC64_DTPREL16_LO
# CHECK-NEXT: - Type: R_PPC64_DTPREL16_HI
# CHECK-NEXT: - Type: R_PPC64_DTPREL16_HA
# CHECK-NEXT: - Type: R_PPC64_DTPREL64
# CHECK-NEXT: - Type: R_PPC64_GOT_TLSGD16
# CHECK-NEXT: - Type: R_PPC64_GOT_TLSGD16_LO
# CHECK-NEXT: - Type: R_PPC64_GOT_TLSGD16_HI
# CHECK-NEXT: - Type: R_PPC64_GOT_TLSGD16_HA
# CHECK-NEXT: - Type: R_PPC64_GOT_TLSLD16
# CHECK-NEXT: - Type: R_PPC64_GOT_TLSLD16_LO
# CHECK-NEXT: - Type: R_PPC64_GOT_TLSLD16_HI
# CHECK-NEXT: - Type: R_PPC64_GOT_TLSLD16_HA
# CHECK-NEXT: - Type: R_PPC64_GOT_TPREL16_DS
# CHECK-NEXT: - Type: R_PPC64_GOT_TPREL16_LO_DS
# CHECK-NEXT: - Type: R_PPC64_GOT_TPREL16_HI
# CHECK-NEXT: - Type: R_PPC64_GOT_TPREL16_HA
# CHECK-NEXT: - Type: R_PPC64_GOT_DTPREL16_DS
# CHECK-NEXT: - Type: R_PPC64_GOT_DTPREL16_LO_DS
# CHECK-NEXT: - Type: R_PPC64_GOT_DTPREL16_HI
# CHECK-NEXT: - Type: R_PPC64_GOT_DTPREL16_HA
# CHECK-NEXT: - Type: R_PPC64_TPREL16_DS
# CHECK-NEXT: - Type: R_PPC64_TPREL16_LO_DS
# CHECK-NEXT: - Type: R_PPC64_TPREL16_HIGHER
# CHECK-NEXT: - Type: R_PPC64_TPREL16_HIGHERA
# CHECK-NEXT: - Type: R_PPC64_TPREL16_HIGHEST
# CHECK-NEXT: - Type: R_PPC64_TPREL16_HIGHESTA
# CHECK-NEXT: - Type: R_PPC64_DTPREL16_DS
# CHECK-NEXT: - Type: R_PPC64_DTPREL16_LO_DS
# CHECK-NEXT: - Type: R_PPC64_DTPREL16_HIGHER
# CHECK-NEXT: - Type: R_PPC64_DTPREL16_HIGHERA
# CHECK-NEXT: - Type: R_PPC64_DTPREL16_HIGHEST
# CHECK-NEXT: - Type: R_PPC64_DTPREL16_HIGHESTA
# CHECK-NEXT: - Type: R_PPC64_TLSGD
# CHECK-NEXT: - Type: R_PPC64_TLSLD
# CHECK-NEXT: - Type: R_PPC64_ADDR16_HIGH
# CHECK-NEXT: - Type: R_PPC64_ADDR16_HIGHA
# CHECK-NEXT: - Type: R_PPC64_TPREL16_HIGH
# CHECK-NEXT: - Type: R_PPC64_TPREL16_HIGHA
# CHECK-NEXT: - Type: R_PPC64_DTPREL16_HIGH
# CHECK-NEXT: - Type: R_PPC64_DTPREL16_HIGHA
# CHECK-NEXT: - Type: R_PPC64_IRELATIVE
# CHECK-NEXT: - Type: R_PPC64_REL16
# CHECK-NEXT: - Type: R_PPC64_REL16_LO
# CHECK-NEXT: - Type: R_PPC64_REL16_HI
# CHECK-NEXT: - Type: R_PPC64_REL16_HA
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2MSB
Type: ET_REL
Machine: EM_PPC64
Sections:
- Name: .rela.text
Type: SHT_RELA
Relocations:
- Type: R_PPC64_NONE
- Type: R_PPC64_ADDR32
- Type: R_PPC64_ADDR24
- Type: R_PPC64_ADDR16
- Type: R_PPC64_ADDR16_LO
- Type: R_PPC64_ADDR16_HI
- Type: R_PPC64_ADDR16_HA
- Type: R_PPC64_ADDR14
- Type: R_PPC64_ADDR14_BRTAKEN
- Type: R_PPC64_ADDR14_BRNTAKEN
- Type: R_PPC64_REL24
- Type: R_PPC64_REL14
- Type: R_PPC64_REL14_BRTAKEN
- Type: R_PPC64_REL14_BRNTAKEN
- Type: R_PPC64_GOT16
- Type: R_PPC64_GOT16_LO
- Type: R_PPC64_GOT16_HI
- Type: R_PPC64_GOT16_HA
- Type: R_PPC64_GLOB_DAT
- Type: R_PPC64_JMP_SLOT
- Type: R_PPC64_RELATIVE
- Type: R_PPC64_REL32
- Type: R_PPC64_ADDR64
- Type: R_PPC64_ADDR16_HIGHER
- Type: R_PPC64_ADDR16_HIGHERA
- Type: R_PPC64_ADDR16_HIGHEST
- Type: R_PPC64_ADDR16_HIGHESTA
- Type: R_PPC64_REL64
- Type: R_PPC64_TOC16
- Type: R_PPC64_TOC16_LO
- Type: R_PPC64_TOC16_HI
- Type: R_PPC64_TOC16_HA
- Type: R_PPC64_TOC
- Type: R_PPC64_ADDR16_DS
- Type: R_PPC64_ADDR16_LO_DS
- Type: R_PPC64_GOT16_DS
- Type: R_PPC64_GOT16_LO_DS
- Type: R_PPC64_TOC16_DS
- Type: R_PPC64_TOC16_LO_DS
- Type: R_PPC64_TLS
- Type: R_PPC64_DTPMOD64
- Type: R_PPC64_TPREL16
- Type: R_PPC64_TPREL16_LO
- Type: R_PPC64_TPREL16_HI
- Type: R_PPC64_TPREL16_HA
- Type: R_PPC64_TPREL64
- Type: R_PPC64_DTPREL16
- Type: R_PPC64_DTPREL16_LO
- Type: R_PPC64_DTPREL16_HI
- Type: R_PPC64_DTPREL16_HA
- Type: R_PPC64_DTPREL64
- Type: R_PPC64_GOT_TLSGD16
- Type: R_PPC64_GOT_TLSGD16_LO
- Type: R_PPC64_GOT_TLSGD16_HI
- Type: R_PPC64_GOT_TLSGD16_HA
- Type: R_PPC64_GOT_TLSLD16
- Type: R_PPC64_GOT_TLSLD16_LO
- Type: R_PPC64_GOT_TLSLD16_HI
- Type: R_PPC64_GOT_TLSLD16_HA
- Type: R_PPC64_GOT_TPREL16_DS
- Type: R_PPC64_GOT_TPREL16_LO_DS
- Type: R_PPC64_GOT_TPREL16_HI
- Type: R_PPC64_GOT_TPREL16_HA
- Type: R_PPC64_GOT_DTPREL16_DS
- Type: R_PPC64_GOT_DTPREL16_LO_DS
- Type: R_PPC64_GOT_DTPREL16_HI
- Type: R_PPC64_GOT_DTPREL16_HA
- Type: R_PPC64_TPREL16_DS
- Type: R_PPC64_TPREL16_LO_DS
- Type: R_PPC64_TPREL16_HIGHER
- Type: R_PPC64_TPREL16_HIGHERA
- Type: R_PPC64_TPREL16_HIGHEST
- Type: R_PPC64_TPREL16_HIGHESTA
- Type: R_PPC64_DTPREL16_DS
- Type: R_PPC64_DTPREL16_LO_DS
- Type: R_PPC64_DTPREL16_HIGHER
- Type: R_PPC64_DTPREL16_HIGHERA
- Type: R_PPC64_DTPREL16_HIGHEST
- Type: R_PPC64_DTPREL16_HIGHESTA
- Type: R_PPC64_TLSGD
- Type: R_PPC64_TLSLD
- Type: R_PPC64_ADDR16_HIGH
- Type: R_PPC64_ADDR16_HIGHA
- Type: R_PPC64_TPREL16_HIGH
- Type: R_PPC64_TPREL16_HIGHA
- Type: R_PPC64_DTPREL16_HIGH
- Type: R_PPC64_DTPREL16_HIGHA
- Type: R_PPC64_IRELATIVE
- Type: R_PPC64_REL16
- Type: R_PPC64_REL16_LO
- Type: R_PPC64_REL16_HI
- Type: R_PPC64_REL16_HA
|