diff --git a/lld/test/ELF/lto/setting-dso-local.ll b/lld/test/ELF/lto/setting-dso-local.ll new file mode 100644 index 000000000000..74ce4e7f16d3 --- /dev/null +++ b/lld/test/ELF/lto/setting-dso-local.ll @@ -0,0 +1,15 @@ +; REQUIRES: x86 +; RUN: llvm-as %s -o %t1.o +; RUN: not ld.lld -o %t %t1.o 2>&1 | FileCheck %s + +; CHECK: undefined symbol: foobar + +; We used to crash setting foobar to non-dso_local + +target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" +target triple = "x86_64-unknown-linux-gnu" + +@foobar = external hidden global i32 +define i32* @_start() { + ret i32* @foobar +}