[PATCH] D41524: [ELF] Only scan executables for shlib undefined symbols

Shoaib Meenai via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Dec 30 00:01:53 PST 2017


This revision was automatically updated to reflect the committed changes.
Closed by commit rL321578: [ELF] Only scan executables for shlib undefined symbols (authored by smeenai, committed by ).

Repository:
  rL LLVM

https://reviews.llvm.org/D41524

Files:
  lld/trunk/ELF/Driver.cpp
  lld/trunk/test/ELF/Inputs/shlib-undefined-ref.s
  lld/trunk/test/ELF/shlib-undefined-shared.s


Index: lld/trunk/test/ELF/shlib-undefined-shared.s
===================================================================
--- lld/trunk/test/ELF/shlib-undefined-shared.s
+++ lld/trunk/test/ELF/shlib-undefined-shared.s
@@ -0,0 +1,15 @@
+# REQUIRES: x86
+
+# RUN: llvm-mc -filetype=obj -triple=x86_64-linux-gnu -o %t1.o %S/Inputs/shlib-undefined-ref.s
+# RUN: ld.lld -shared -o %t1.so %t1.o
+
+# RUN: llvm-mc -filetype=obj -triple=x86_64-linux-gnu -o %t2.o %s
+# RUN: echo "{ local: *; };" > %t.script
+# RUN: ld.lld -shared -version-script %t.script -o %t2.so %t2.o %t1.so
+# RUN: llvm-nm -g %t2.so | FileCheck -allow-empty %s
+
+# CHECK-NOT: should_not_be_exported
+
+.globl should_not_be_exported
+should_not_be_exported:
+	ret
Index: lld/trunk/test/ELF/Inputs/shlib-undefined-ref.s
===================================================================
--- lld/trunk/test/ELF/Inputs/shlib-undefined-ref.s
+++ lld/trunk/test/ELF/Inputs/shlib-undefined-ref.s
@@ -0,0 +1,4 @@
+.globl f
+f:
+	call	should_not_be_exported at PLT
+	ret
Index: lld/trunk/ELF/Driver.cpp
===================================================================
--- lld/trunk/ELF/Driver.cpp
+++ lld/trunk/ELF/Driver.cpp
@@ -1043,7 +1043,8 @@
     return;
 
   // Handle undefined symbols in DSOs.
-  Symtab->scanShlibUndefined<ELFT>();
+  if (!Config->Shared)
+    Symtab->scanShlibUndefined<ELFT>();
 
   // Handle the -exclude-libs option.
   if (Args.hasArg(OPT_exclude_libs))


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D41524.128352.patch
Type: text/x-patch
Size: 1441 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171230/656eee6c/attachment.bin>


More information about the llvm-commits mailing list