[llvm] r188022 - [Object] Split the ELF interface into 3 parts.

Ulrich Weigand Ulrich.Weigand at de.ibm.com
Thu Aug 8 16:20:55 PDT 2013


"Michael J. Spencer" <bigcheesegs at gmail.com> wrote:

> [Object] Split the ELF interface into 3 parts.

This causes failures in PPC assembler tests, because some
of the reloc definitions apparently got lost in the move:

> -  case ELF::EM_PPC:
> -    switch (Type) {
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_NONE);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR32);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR24);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR16);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR16_LO);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR16_HI);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR16_HA);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR14);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR14_BRTAKEN);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR14_BRNTAKEN);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL24);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL14);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL14_BRTAKEN);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL14_BRNTAKEN);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT16);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT16_LO);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT16_HI);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT16_HA);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL32);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TLS);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_DTPMOD32);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TPREL16);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TPREL16_LO);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TPREL16_HI);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TPREL16_HA);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TPREL32);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_DTPREL16);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_DTPREL16_LO);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_DTPREL16_HI);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_DTPREL16_HA);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_DTPREL32);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSGD16);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSGD16_LO);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSGD16_HI);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSGD16_HA);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSLD16);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSLD16_LO);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSLD16_HI);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TLSLD16_HA);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TPREL16);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TPREL16_LO);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TPREL16_HI);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_TPREL16_HA);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_DTPREL16);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_DTPREL16_LO);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_DTPREL16_HI);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_GOT_DTPREL16_HA);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TLSGD);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TLSLD);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL16);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL16_LO);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL16_HI);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL16_HA);
> -    default: break;
> -    }
> -    break;
> -  case ELF::EM_PPC64:
> -    switch (Type) {
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_NONE);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR32);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR24);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_LO);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_HI);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_HA);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR14);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR14_BRTAKEN);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR14_BRNTAKEN);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL24);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL14);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL14_BRTAKEN);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL14_BRNTAKEN);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT16);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT16_LO);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT16_HI);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT16_HA);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL32);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR64);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_HIGHER);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_HIGHERA);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_HIGHEST);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_HIGHESTA);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL64);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16_LO);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16_HI);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16_HA);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_DS);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_LO_DS);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT16_DS);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT16_LO_DS);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16_DS);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16_LO_DS);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TLS);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPMOD64);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_LO);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_HI);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_HA);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL64);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_LO);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_HI);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_HA);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL64);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSGD16);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSGD16_LO);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSGD16_HI);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSGD16_HA);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSLD16);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSLD16_LO);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSLD16_HI);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSLD16_HA);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TPREL16_DS);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TPREL16_LO_DS);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TPREL16_HI);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TPREL16_HA);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_DTPREL16_DS);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_DTPREL16_LO_DS);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_DTPREL16_HI);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_DTPREL16_HA);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_DS);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_LO_DS);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_HIGHER);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_HIGHERA);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_HIGHEST);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_HIGHESTA);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_DS);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_LO_DS);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_HIGHER);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_HIGHERA);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_HIGHEST);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_HIGHESTA);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TLSGD);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TLSLD);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL16);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL16_LO);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL16_HI);
> -      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL16_HA);
> -    default: break;
> -    }
> -    break;


> +  case ELF::EM_PPC:
> +    switch (Type) {
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_NONE);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR32);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR24);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR16);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR16_LO);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR16_HI);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR16_HA);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR14);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR14_BRTAKEN);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_ADDR14_BRNTAKEN);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL24);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL14);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL14_BRTAKEN);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL14_BRNTAKEN);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_REL32);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TPREL16_LO);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC_TPREL16_HA);
> +    default:
> +      break;
> +    }
> +    break;
> +  case ELF::EM_PPC64:
> +    switch (Type) {
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_NONE);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR32);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR24);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_LO);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_HI);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_HA);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR14);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR14_BRTAKEN);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR14_BRNTAKEN);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL24);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL14);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL14_BRTAKEN);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL14_BRNTAKEN);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL32);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR64);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_HIGHER);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_HIGHEST);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_REL64);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16_LO);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16_HA);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_DS);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_ADDR16_LO_DS);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16_DS);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TOC16_LO_DS);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TLS);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_LO);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TPREL16_HA);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_LO);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_DTPREL16_HA);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSGD16_LO);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSGD16_HA);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSLD16_LO);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TLSLD16_HA);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TPREL16_LO_DS);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_GOT_TPREL16_HA);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TLSGD);
> +      LLVM_ELF_SWITCH_RELOC_TYPE_NAME(R_PPC64_TLSLD);
> +    default:
> +      break;
> +    }
> +    break;

Bye,
Ulrich




More information about the llvm-commits mailing list