[llvm-commits] [llvm] r167864 - in /llvm/trunk: include/llvm/Support/ELF.h lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp

Chandler Carruth chandlerc at google.com
Tue Nov 13 12:05:38 PST 2012


On Tue, Nov 13, 2012 at 11:24 AM, Ulrich Weigand
<ulrich.weigand at de.ibm.com> wrote:
> Author: uweigand
> Date: Tue Nov 13 13:24:36 2012
> New Revision: 167864
>
> URL: http://llvm.org/viewvc/llvm-project?rev=167864&view=rev
> Log:
> Add (some) PowerPC TLS relocation types to ELF.h and
> generate them from PPCELFObjectWriter::getRelocTypeInner
> as appropriate.

Is this fixing a JIT test that is currently failing on PPC hosts? If
so, please mention it with the commit so folks understand that is how
it is being tested. If not, a new test case to cover this seems
useful.

>
> Modified:
>     llvm/trunk/include/llvm/Support/ELF.h
>     llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
>
> Modified: llvm/trunk/include/llvm/Support/ELF.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/ELF.h?rev=167864&r1=167863&r2=167864&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm/Support/ELF.h (original)
> +++ llvm/trunk/include/llvm/Support/ELF.h Tue Nov 13 13:24:36 2012
> @@ -457,7 +457,9 @@
>    R_PPC_REL14                 = 11,
>    R_PPC_REL14_BRTAKEN         = 12,
>    R_PPC_REL14_BRNTAKEN        = 13,
> -  R_PPC_REL32                 = 26
> +  R_PPC_REL32                 = 26,
> +  R_PPC_TPREL16_LO            = 70,
> +  R_PPC_TPREL16_HA            = 72
>  };
>
>  // ELF Relocation types for PPC64
>
> Modified: llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp?rev=167864&r1=167863&r2=167864&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp (original)
> +++ llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp Tue Nov 13 13:24:36 2012
> @@ -74,10 +74,26 @@
>        Type = ELF::R_PPC_ADDR14; // XXX: or BRNTAKEN?_
>        break;
>      case PPC::fixup_ppc_ha16:
> -      Type = ELF::R_PPC_ADDR16_HA;
> +      switch (Modifier) {
> +      default: llvm_unreachable("Unsupported Modifier");
> +      case MCSymbolRefExpr::VK_PPC_TPREL16_HA:
> +        Type = ELF::R_PPC_TPREL16_HA;
> +        break;
> +      case MCSymbolRefExpr::VK_None:
> +        Type = ELF::R_PPC_ADDR16_HA;
> +       break;
> +      }
>        break;
>      case PPC::fixup_ppc_lo16:
> -      Type = ELF::R_PPC_ADDR16_LO;
> +      switch (Modifier) {
> +      default: llvm_unreachable("Unsupported Modifier");
> +      case MCSymbolRefExpr::VK_PPC_TPREL16_LO:
> +        Type = ELF::R_PPC_TPREL16_LO;
> +        break;
> +      case MCSymbolRefExpr::VK_None:
> +        Type = ELF::R_PPC_ADDR16_LO;
> +       break;
> +      }
>        break;
>      case PPC::fixup_ppc_lo14:
>        Type = ELF::R_PPC_ADDR14;
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits



More information about the llvm-commits mailing list