From b8bf8f21294e07d4420f9c1f749b7d4734396fbf Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Thu, 18 Jan 2018 05:40:43 +0000 Subject: [PATCH] Add a lld test for a llvm fix. This is tested in llvm, but it seems reasonable to have a small integration test in lld. llvm-svn: 322815 --- lld/test/ELF/lto/setting-dso-local.ll | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 lld/test/ELF/lto/setting-dso-local.ll 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 +}