Index: src/IceTargetLoweringMIPS32.cpp |
diff --git a/src/IceTargetLoweringMIPS32.cpp b/src/IceTargetLoweringMIPS32.cpp |
index 391a4e94704869f0b80175024607f2247ec674d9..162ebec89ce17482cc6a87fa45c0f374e24f606c 100644 |
--- a/src/IceTargetLoweringMIPS32.cpp |
+++ b/src/IceTargetLoweringMIPS32.cpp |
@@ -43,7 +43,8 @@ constexpr uint32_t MIPS32_MAX_GPR_ARG = 4; |
TargetMIPS32::TargetMIPS32(Cfg *Func) : TargetLowering(Func) {} |
-void TargetMIPS32::staticInit() { |
+void TargetMIPS32::staticInit(const ClFlags &Flags) { |
+ (void)Flags; |
llvm::SmallBitVector IntegerRegisters(RegMIPS32::Reg_NUM); |
llvm::SmallBitVector I64PairRegisters(RegMIPS32::Reg_NUM); |
llvm::SmallBitVector Float32Registers(RegMIPS32::Reg_NUM); |
@@ -961,10 +962,12 @@ TargetDataMIPS32::TargetDataMIPS32(GlobalContext *Ctx) |
void TargetDataMIPS32::lowerGlobals(const VariableDeclarationList &Vars, |
const IceString &SectionSuffix) { |
+ const bool IsPIC = Ctx->getFlags().getUseNonsfi(); |
switch (Ctx->getFlags().getOutFileType()) { |
case FT_Elf: { |
ELFObjectWriter *Writer = Ctx->getObjectWriter(); |
- Writer->writeDataSection(Vars, llvm::ELF::R_MIPS_GLOB_DAT, SectionSuffix); |
+ Writer->writeDataSection(Vars, llvm::ELF::R_MIPS_GLOB_DAT, SectionSuffix, |
+ IsPIC); |
} break; |
case FT_Asm: |
case FT_Iasm: { |