Index: lib/IR/Globals.cpp =================================================================== --- lib/IR/Globals.cpp +++ lib/IR/Globals.cpp @@ -246,6 +246,7 @@ GlobalObject::copyAttributesFrom(Src); const GlobalVariable *SrcVar = cast(Src); setThreadLocalMode(SrcVar->getThreadLocalMode()); + setExternallyInitialized(SrcVar->isExternallyInitialized()); } Index: test/Linker/lto-attributes.ll =================================================================== --- /dev/null +++ test/Linker/lto-attributes.ll @@ -0,0 +1,7 @@ +; RUN: llvm-link -S %s -o - | FileCheck %s + +; CHECK: @foo = private externally_initialized global i8* null +@foo = private externally_initialized global i8* null +; CHECK: @array = appending global [7 x i8] c"abcdefg", align 1 +@array = appending global [7 x i8] c"abcdefg", align 1 +