| ## Test that llvm-readobj shows proper relocation type |
| ## names and values for ppc64 target. |
| |
| # RUN: yaml2obj %s -o %t-ppc64.o |
| # RUN: llvm-readobj -r --expand-relocs %t-ppc64.o | FileCheck %s |
| |
| # CHECK: Type: R_PPC64_NONE (0) |
| # CHECK: Type: R_PPC64_ADDR32 (1) |
| # CHECK: Type: R_PPC64_ADDR24 (2) |
| # CHECK: Type: R_PPC64_ADDR16 (3) |
| # CHECK: Type: R_PPC64_ADDR16_LO (4) |
| # CHECK: Type: R_PPC64_ADDR16_HI (5) |
| # CHECK: Type: R_PPC64_ADDR16_HA (6) |
| # CHECK: Type: R_PPC64_ADDR14 (7) |
| # CHECK: Type: R_PPC64_ADDR14_BRTAKEN (8) |
| # CHECK: Type: R_PPC64_ADDR14_BRNTAKEN (9) |
| # CHECK: Type: R_PPC64_REL24 (10) |
| # CHECK: Type: R_PPC64_REL14 (11) |
| # CHECK: Type: R_PPC64_REL14_BRTAKEN (12) |
| # CHECK: Type: R_PPC64_REL14_BRNTAKEN (13) |
| # CHECK: Type: R_PPC64_GOT16 (14) |
| # CHECK: Type: R_PPC64_GOT16_LO (15) |
| # CHECK: Type: R_PPC64_GOT16_HI (16) |
| # CHECK: Type: R_PPC64_GOT16_HA (17) |
| # CHECK: Type: R_PPC64_COPY (19) |
| # CHECK: Type: R_PPC64_GLOB_DAT (20) |
| # CHECK: Type: R_PPC64_JMP_SLOT (21) |
| # CHECK: Type: R_PPC64_RELATIVE (22) |
| # CHECK: Type: R_PPC64_REL32 (26) |
| # CHECK: Type: R_PPC64_ADDR64 (38) |
| # CHECK: Type: R_PPC64_ADDR16_HIGHER (39) |
| # CHECK: Type: R_PPC64_ADDR16_HIGHERA (40) |
| # CHECK: Type: R_PPC64_ADDR16_HIGHEST (41) |
| # CHECK: Type: R_PPC64_ADDR16_HIGHESTA (42) |
| # CHECK: Type: R_PPC64_REL64 (44) |
| # CHECK: Type: R_PPC64_TOC16 (47) |
| # CHECK: Type: R_PPC64_TOC16_LO (48) |
| # CHECK: Type: R_PPC64_TOC16_HI (49) |
| # CHECK: Type: R_PPC64_TOC16_HA (50) |
| # CHECK: Type: R_PPC64_TOC (51) |
| # CHECK: Type: R_PPC64_ADDR16_DS (56) |
| # CHECK: Type: R_PPC64_ADDR16_LO_DS (57) |
| # CHECK: Type: R_PPC64_GOT16_DS (58) |
| # CHECK: Type: R_PPC64_GOT16_LO_DS (59) |
| # CHECK: Type: R_PPC64_TOC16_DS (63) |
| # CHECK: Type: R_PPC64_TOC16_LO_DS (64) |
| # CHECK: Type: R_PPC64_TLS (67) |
| # CHECK: Type: R_PPC64_DTPMOD64 (68) |
| # CHECK: Type: R_PPC64_TPREL16 (69) |
| # CHECK: Type: R_PPC64_TPREL16_LO (70) |
| # CHECK: Type: R_PPC64_TPREL16_HI (71) |
| # CHECK: Type: R_PPC64_TPREL16_HA (72) |
| # CHECK: Type: R_PPC64_TPREL64 (73) |
| # CHECK: Type: R_PPC64_DTPREL16 (74) |
| # CHECK: Type: R_PPC64_DTPREL16_LO (75) |
| # CHECK: Type: R_PPC64_DTPREL16_HI (76) |
| # CHECK: Type: R_PPC64_DTPREL16_HA (77) |
| # CHECK: Type: R_PPC64_DTPREL64 (78) |
| # CHECK: Type: R_PPC64_GOT_TLSGD16 (79) |
| # CHECK: Type: R_PPC64_GOT_TLSGD16_LO (80) |
| # CHECK: Type: R_PPC64_GOT_TLSGD16_HI (81) |
| # CHECK: Type: R_PPC64_GOT_TLSGD16_HA (82) |
| # CHECK: Type: R_PPC64_GOT_TLSLD16 (83) |
| # CHECK: Type: R_PPC64_GOT_TLSLD16_LO (84) |
| # CHECK: Type: R_PPC64_GOT_TLSLD16_HI (85) |
| # CHECK: Type: R_PPC64_GOT_TLSLD16_HA (86) |
| # CHECK: Type: R_PPC64_GOT_TPREL16_DS (87) |
| # CHECK: Type: R_PPC64_GOT_TPREL16_LO_DS (88) |
| # CHECK: Type: R_PPC64_GOT_TPREL16_HI (89) |
| # CHECK: Type: R_PPC64_GOT_TPREL16_HA (90) |
| # CHECK: Type: R_PPC64_GOT_DTPREL16_DS (91) |
| # CHECK: Type: R_PPC64_GOT_DTPREL16_LO_DS (92) |
| # CHECK: Type: R_PPC64_GOT_DTPREL16_HI (93) |
| # CHECK: Type: R_PPC64_GOT_DTPREL16_HA (94) |
| # CHECK: Type: R_PPC64_TPREL16_DS (95) |
| # CHECK: Type: R_PPC64_TPREL16_LO_DS (96) |
| # CHECK: Type: R_PPC64_TPREL16_HIGHER (97) |
| # CHECK: Type: R_PPC64_TPREL16_HIGHERA (98) |
| # CHECK: Type: R_PPC64_TPREL16_HIGHEST (99) |
| # CHECK: Type: R_PPC64_TPREL16_HIGHESTA (100) |
| # CHECK: Type: R_PPC64_DTPREL16_DS (101) |
| # CHECK: Type: R_PPC64_DTPREL16_LO_DS (102) |
| # CHECK: Type: R_PPC64_DTPREL16_HIGHER (103) |
| # CHECK: Type: R_PPC64_DTPREL16_HIGHERA (104) |
| # CHECK: Type: R_PPC64_DTPREL16_HIGHEST (105) |
| # CHECK: Type: R_PPC64_DTPREL16_HIGHESTA (106) |
| # CHECK: Type: R_PPC64_TLSGD (107) |
| # CHECK: Type: R_PPC64_TLSLD (108) |
| # CHECK: Type: R_PPC64_ADDR16_HIGH (110) |
| # CHECK: Type: R_PPC64_ADDR16_HIGHA (111) |
| # CHECK: Type: R_PPC64_TPREL16_HIGH (112) |
| # CHECK: Type: R_PPC64_TPREL16_HIGHA (113) |
| # CHECK: Type: R_PPC64_DTPREL16_HIGH (114) |
| # CHECK: Type: R_PPC64_DTPREL16_HIGHA (115) |
| # CHECK: Type: R_PPC64_IRELATIVE (248) |
| # CHECK: Type: R_PPC64_REL16 (249) |
| # CHECK: Type: R_PPC64_REL16_LO (250) |
| # CHECK: Type: R_PPC64_REL16_HI (251) |
| # CHECK: Type: R_PPC64_REL16_HA (252) |
| |
| --- !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_COPY |
| - 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 |