Index: llvm/lib/LTO/LTOBackend.cpp =================================================================== --- llvm/lib/LTO/LTOBackend.cpp +++ llvm/lib/LTO/LTOBackend.cpp @@ -184,10 +184,10 @@ for (const std::string &A : Conf.MAttrs) Features.AddFeature(A); - Reloc::Model RelocModel; + Optional RelocModel = None; if (Conf.RelocModel) RelocModel = *Conf.RelocModel; - else + else if (M.getModuleFlag("PIC Level")) RelocModel = M.getPICLevel() == PICLevel::NotPIC ? Reloc::Static : Reloc::PIC_; Index: llvm/test/tools/llvm-lto/aix.ll =================================================================== --- /dev/null +++ llvm/test/tools/llvm-lto/aix.ll @@ -0,0 +1,11 @@ +; RUN: llvm-as < %s > %t1 +; RUN: llvm-lto %t1 | FileCheck %s + +target triple = "powerpc-ibm-aix" + +define i32 @main() { +entry: + ret i32 42 +} +; CHECK: Wrote native object file +