1## Test that llvm-readobj shows proper relocation type 2## names and values for ppc64 target. 3 4# RUN: yaml2obj %s -o %t-ppc64.o 5# RUN: llvm-readobj -r --expand-relocs %t-ppc64.o | FileCheck %s 6 7# CHECK: Type: R_PPC64_NONE (0) 8# CHECK: Type: R_PPC64_ADDR32 (1) 9# CHECK: Type: R_PPC64_ADDR24 (2) 10# CHECK: Type: R_PPC64_ADDR16 (3) 11# CHECK: Type: R_PPC64_ADDR16_LO (4) 12# CHECK: Type: R_PPC64_ADDR16_HI (5) 13# CHECK: Type: R_PPC64_ADDR16_HA (6) 14# CHECK: Type: R_PPC64_ADDR14 (7) 15# CHECK: Type: R_PPC64_ADDR14_BRTAKEN (8) 16# CHECK: Type: R_PPC64_ADDR14_BRNTAKEN (9) 17# CHECK: Type: R_PPC64_REL24 (10) 18# CHECK: Type: R_PPC64_REL14 (11) 19# CHECK: Type: R_PPC64_REL14_BRTAKEN (12) 20# CHECK: Type: R_PPC64_REL14_BRNTAKEN (13) 21# CHECK: Type: R_PPC64_GOT16 (14) 22# CHECK: Type: R_PPC64_GOT16_LO (15) 23# CHECK: Type: R_PPC64_GOT16_HI (16) 24# CHECK: Type: R_PPC64_GOT16_HA (17) 25# CHECK: Type: R_PPC64_COPY (19) 26# CHECK: Type: R_PPC64_GLOB_DAT (20) 27# CHECK: Type: R_PPC64_JMP_SLOT (21) 28# CHECK: Type: R_PPC64_RELATIVE (22) 29# CHECK: Type: R_PPC64_REL32 (26) 30# CHECK: Type: R_PPC64_ADDR64 (38) 31# CHECK: Type: R_PPC64_ADDR16_HIGHER (39) 32# CHECK: Type: R_PPC64_ADDR16_HIGHERA (40) 33# CHECK: Type: R_PPC64_ADDR16_HIGHEST (41) 34# CHECK: Type: R_PPC64_ADDR16_HIGHESTA (42) 35# CHECK: Type: R_PPC64_REL64 (44) 36# CHECK: Type: R_PPC64_TOC16 (47) 37# CHECK: Type: R_PPC64_TOC16_LO (48) 38# CHECK: Type: R_PPC64_TOC16_HI (49) 39# CHECK: Type: R_PPC64_TOC16_HA (50) 40# CHECK: Type: R_PPC64_TOC (51) 41# CHECK: Type: R_PPC64_ADDR16_DS (56) 42# CHECK: Type: R_PPC64_ADDR16_LO_DS (57) 43# CHECK: Type: R_PPC64_GOT16_DS (58) 44# CHECK: Type: R_PPC64_GOT16_LO_DS (59) 45# CHECK: Type: R_PPC64_TOC16_DS (63) 46# CHECK: Type: R_PPC64_TOC16_LO_DS (64) 47# CHECK: Type: R_PPC64_TLS (67) 48# CHECK: Type: R_PPC64_DTPMOD64 (68) 49# CHECK: Type: R_PPC64_TPREL16 (69) 50# CHECK: Type: R_PPC64_TPREL16_LO (70) 51# CHECK: Type: R_PPC64_TPREL16_HI (71) 52# CHECK: Type: R_PPC64_TPREL16_HA (72) 53# CHECK: Type: R_PPC64_TPREL64 (73) 54# CHECK: Type: R_PPC64_DTPREL16 (74) 55# CHECK: Type: R_PPC64_DTPREL16_LO (75) 56# CHECK: Type: R_PPC64_DTPREL16_HI (76) 57# CHECK: Type: R_PPC64_DTPREL16_HA (77) 58# CHECK: Type: R_PPC64_DTPREL64 (78) 59# CHECK: Type: R_PPC64_GOT_TLSGD16 (79) 60# CHECK: Type: R_PPC64_GOT_TLSGD16_LO (80) 61# CHECK: Type: R_PPC64_GOT_TLSGD16_HI (81) 62# CHECK: Type: R_PPC64_GOT_TLSGD16_HA (82) 63# CHECK: Type: R_PPC64_GOT_TLSLD16 (83) 64# CHECK: Type: R_PPC64_GOT_TLSLD16_LO (84) 65# CHECK: Type: R_PPC64_GOT_TLSLD16_HI (85) 66# CHECK: Type: R_PPC64_GOT_TLSLD16_HA (86) 67# CHECK: Type: R_PPC64_GOT_TPREL16_DS (87) 68# CHECK: Type: R_PPC64_GOT_TPREL16_LO_DS (88) 69# CHECK: Type: R_PPC64_GOT_TPREL16_HI (89) 70# CHECK: Type: R_PPC64_GOT_TPREL16_HA (90) 71# CHECK: Type: R_PPC64_GOT_DTPREL16_DS (91) 72# CHECK: Type: R_PPC64_GOT_DTPREL16_LO_DS (92) 73# CHECK: Type: R_PPC64_GOT_DTPREL16_HI (93) 74# CHECK: Type: R_PPC64_GOT_DTPREL16_HA (94) 75# CHECK: Type: R_PPC64_TPREL16_DS (95) 76# CHECK: Type: R_PPC64_TPREL16_LO_DS (96) 77# CHECK: Type: R_PPC64_TPREL16_HIGHER (97) 78# CHECK: Type: R_PPC64_TPREL16_HIGHERA (98) 79# CHECK: Type: R_PPC64_TPREL16_HIGHEST (99) 80# CHECK: Type: R_PPC64_TPREL16_HIGHESTA (100) 81# CHECK: Type: R_PPC64_DTPREL16_DS (101) 82# CHECK: Type: R_PPC64_DTPREL16_LO_DS (102) 83# CHECK: Type: R_PPC64_DTPREL16_HIGHER (103) 84# CHECK: Type: R_PPC64_DTPREL16_HIGHERA (104) 85# CHECK: Type: R_PPC64_DTPREL16_HIGHEST (105) 86# CHECK: Type: R_PPC64_DTPREL16_HIGHESTA (106) 87# CHECK: Type: R_PPC64_TLSGD (107) 88# CHECK: Type: R_PPC64_TLSLD (108) 89# CHECK: Type: R_PPC64_ADDR16_HIGH (110) 90# CHECK: Type: R_PPC64_ADDR16_HIGHA (111) 91# CHECK: Type: R_PPC64_TPREL16_HIGH (112) 92# CHECK: Type: R_PPC64_TPREL16_HIGHA (113) 93# CHECK: Type: R_PPC64_DTPREL16_HIGH (114) 94# CHECK: Type: R_PPC64_DTPREL16_HIGHA (115) 95# CHECK: Type: R_PPC64_IRELATIVE (248) 96# CHECK: Type: R_PPC64_REL16 (249) 97# CHECK: Type: R_PPC64_REL16_LO (250) 98# CHECK: Type: R_PPC64_REL16_HI (251) 99# CHECK: Type: R_PPC64_REL16_HA (252) 100 101--- !ELF 102FileHeader: 103 Class: ELFCLASS64 104 Data: ELFDATA2MSB 105 Type: ET_REL 106 Machine: EM_PPC64 107Sections: 108 - Name: .rela.text 109 Type: SHT_RELA 110 Relocations: 111 - Type: R_PPC64_NONE 112 - Type: R_PPC64_ADDR32 113 - Type: R_PPC64_ADDR24 114 - Type: R_PPC64_ADDR16 115 - Type: R_PPC64_ADDR16_LO 116 - Type: R_PPC64_ADDR16_HI 117 - Type: R_PPC64_ADDR16_HA 118 - Type: R_PPC64_ADDR14 119 - Type: R_PPC64_ADDR14_BRTAKEN 120 - Type: R_PPC64_ADDR14_BRNTAKEN 121 - Type: R_PPC64_REL24 122 - Type: R_PPC64_REL14 123 - Type: R_PPC64_REL14_BRTAKEN 124 - Type: R_PPC64_REL14_BRNTAKEN 125 - Type: R_PPC64_GOT16 126 - Type: R_PPC64_GOT16_LO 127 - Type: R_PPC64_GOT16_HI 128 - Type: R_PPC64_GOT16_HA 129 - Type: R_PPC64_COPY 130 - Type: R_PPC64_GLOB_DAT 131 - Type: R_PPC64_JMP_SLOT 132 - Type: R_PPC64_RELATIVE 133 - Type: R_PPC64_REL32 134 - Type: R_PPC64_ADDR64 135 - Type: R_PPC64_ADDR16_HIGHER 136 - Type: R_PPC64_ADDR16_HIGHERA 137 - Type: R_PPC64_ADDR16_HIGHEST 138 - Type: R_PPC64_ADDR16_HIGHESTA 139 - Type: R_PPC64_REL64 140 - Type: R_PPC64_TOC16 141 - Type: R_PPC64_TOC16_LO 142 - Type: R_PPC64_TOC16_HI 143 - Type: R_PPC64_TOC16_HA 144 - Type: R_PPC64_TOC 145 - Type: R_PPC64_ADDR16_DS 146 - Type: R_PPC64_ADDR16_LO_DS 147 - Type: R_PPC64_GOT16_DS 148 - Type: R_PPC64_GOT16_LO_DS 149 - Type: R_PPC64_TOC16_DS 150 - Type: R_PPC64_TOC16_LO_DS 151 - Type: R_PPC64_TLS 152 - Type: R_PPC64_DTPMOD64 153 - Type: R_PPC64_TPREL16 154 - Type: R_PPC64_TPREL16_LO 155 - Type: R_PPC64_TPREL16_HI 156 - Type: R_PPC64_TPREL16_HA 157 - Type: R_PPC64_TPREL64 158 - Type: R_PPC64_DTPREL16 159 - Type: R_PPC64_DTPREL16_LO 160 - Type: R_PPC64_DTPREL16_HI 161 - Type: R_PPC64_DTPREL16_HA 162 - Type: R_PPC64_DTPREL64 163 - Type: R_PPC64_GOT_TLSGD16 164 - Type: R_PPC64_GOT_TLSGD16_LO 165 - Type: R_PPC64_GOT_TLSGD16_HI 166 - Type: R_PPC64_GOT_TLSGD16_HA 167 - Type: R_PPC64_GOT_TLSLD16 168 - Type: R_PPC64_GOT_TLSLD16_LO 169 - Type: R_PPC64_GOT_TLSLD16_HI 170 - Type: R_PPC64_GOT_TLSLD16_HA 171 - Type: R_PPC64_GOT_TPREL16_DS 172 - Type: R_PPC64_GOT_TPREL16_LO_DS 173 - Type: R_PPC64_GOT_TPREL16_HI 174 - Type: R_PPC64_GOT_TPREL16_HA 175 - Type: R_PPC64_GOT_DTPREL16_DS 176 - Type: R_PPC64_GOT_DTPREL16_LO_DS 177 - Type: R_PPC64_GOT_DTPREL16_HI 178 - Type: R_PPC64_GOT_DTPREL16_HA 179 - Type: R_PPC64_TPREL16_DS 180 - Type: R_PPC64_TPREL16_LO_DS 181 - Type: R_PPC64_TPREL16_HIGHER 182 - Type: R_PPC64_TPREL16_HIGHERA 183 - Type: R_PPC64_TPREL16_HIGHEST 184 - Type: R_PPC64_TPREL16_HIGHESTA 185 - Type: R_PPC64_DTPREL16_DS 186 - Type: R_PPC64_DTPREL16_LO_DS 187 - Type: R_PPC64_DTPREL16_HIGHER 188 - Type: R_PPC64_DTPREL16_HIGHERA 189 - Type: R_PPC64_DTPREL16_HIGHEST 190 - Type: R_PPC64_DTPREL16_HIGHESTA 191 - Type: R_PPC64_TLSGD 192 - Type: R_PPC64_TLSLD 193 - Type: R_PPC64_ADDR16_HIGH 194 - Type: R_PPC64_ADDR16_HIGHA 195 - Type: R_PPC64_TPREL16_HIGH 196 - Type: R_PPC64_TPREL16_HIGHA 197 - Type: R_PPC64_DTPREL16_HIGH 198 - Type: R_PPC64_DTPREL16_HIGHA 199 - Type: R_PPC64_IRELATIVE 200 - Type: R_PPC64_REL16 201 - Type: R_PPC64_REL16_LO 202 - Type: R_PPC64_REL16_HI 203 - Type: R_PPC64_REL16_HA 204