## 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