[llvm-commits] [PATCH] PPC32: Add mapping for darwin/gas modifier in elf object writer

Kai kai at redstar.de
Sun Dec 30 15:49:04 PST 2012


Hi!

The VK_PPC_DARWIN_HA16/LO16 and :VK_PPC_GAS_HA16/LO16 modifier are not 
mapped in PPCELFObjectWriter.cpp. They should be mapped to 
R_PPC_ADDR16_HA and R_PPC_ADDR16_LO. The attached patch adds these mappings.

Regards

Kai
-------------- next part --------------
diff --git a/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp b/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
index 7f4d9a2..cd925ad 100644
--- a/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
+++ b/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
@@ -99,6 +99,8 @@ unsigned PPCELFObjectWriter::getRelocTypeInner(const MCValue &Target,
       case MCSymbolRefExpr::VK_PPC_DTPREL16_HA:
         Type = ELF::R_PPC64_DTPREL16_HA;
         break;
+      case MCSymbolRefExpr::VK_PPC_DARWIN_HA16:
+      case MCSymbolRefExpr::VK_PPC_GAS_HA16:
       case MCSymbolRefExpr::VK_None:
         Type = ELF::R_PPC_ADDR16_HA;
 	break;
@@ -125,6 +127,8 @@ unsigned PPCELFObjectWriter::getRelocTypeInner(const MCValue &Target,
       case MCSymbolRefExpr::VK_PPC_DTPREL16_LO:
         Type = ELF::R_PPC64_DTPREL16_LO;
         break;
+      case MCSymbolRefExpr::VK_PPC_DARWIN_LO16:
+      case MCSymbolRefExpr::VK_PPC_GAS_LO16:
       case MCSymbolRefExpr::VK_None:
         Type = ELF::R_PPC_ADDR16_LO;
 	break;


More information about the llvm-commits mailing list