[lld] r323020 - [WebAssembly] Remove custom handling for undefined entry

Sam Clegg via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 19 16:52:51 PST 2018


Author: sbc
Date: Fri Jan 19 16:52:51 2018
New Revision: 323020

URL: http://llvm.org/viewvc/llvm-project?rev=323020&view=rev
Log:
[WebAssembly] Remove custom handling for undefined entry

This code was needed back when we were not able to write
out the synthetic symbol for main.

Add tests to make sure we can handle this now.

Differential Revision: https://reviews.llvm.org/D42322

Modified:
    lld/trunk/test/wasm/undefined-entry.test
    lld/trunk/wasm/Driver.cpp

Modified: lld/trunk/test/wasm/undefined-entry.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/wasm/undefined-entry.test?rev=323020&r1=323019&r2=323020&view=diff
==============================================================================
--- lld/trunk/test/wasm/undefined-entry.test (original)
+++ lld/trunk/test/wasm/undefined-entry.test Fri Jan 19 16:52:51 2018
@@ -2,3 +2,9 @@ RUN: llc -filetype=obj -mtriple=wasm32-u
 RUN: not lld -flavor wasm -o %t.wasm %t.ret32.o 2>&1 | FileCheck %s
 
 CHECK: error: undefined symbol: _start
+
+RUN: not lld -flavor wasm -entry=foo -o %t.wasm %t.ret32.o 2>&1 | FileCheck %s -check-prefix=CHECK-CUSTOM
+
+CHECK-CUSTOM: error: undefined symbol: foo
+
+RUN: lld -flavor wasm -entry=foo --allow-undefined -o %t.wasm %t.ret32.o

Modified: lld/trunk/wasm/Driver.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/wasm/Driver.cpp?rev=323020&r1=323019&r2=323020&view=diff
==============================================================================
--- lld/trunk/wasm/Driver.cpp (original)
+++ lld/trunk/wasm/Driver.cpp Fri Jan 19 16:52:51 2018
@@ -349,8 +349,6 @@ void LinkerDriver::link(ArrayRef<const c
       Sym->setHidden(false);
   }
 
-  if (!Config->Entry.empty() && !Symtab->find(Config->Entry)->isDefined())
-    error("entry point not found: " + Config->Entry);
   if (errorCount())
     return;
 




More information about the llvm-commits mailing list