[PATCH] D38111: [WebAssembly] Weak symbols should be defined in SF_Global

Phabricator via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 20 16:41:28 PDT 2017


This revision was automatically updated to reflect the committed changes.
Closed by commit rL313838: [WebAssembly] Weak symbols should be defined in SF_Global (authored by sbc).

Repository:
  rL LLVM

https://reviews.llvm.org/D38111

Files:
  llvm/trunk/lib/Object/WasmObjectFile.cpp
  llvm/trunk/test/MC/WebAssembly/weak-alias.ll


Index: llvm/trunk/test/MC/WebAssembly/weak-alias.ll
===================================================================
--- llvm/trunk/test/MC/WebAssembly/weak-alias.ll
+++ llvm/trunk/test/MC/WebAssembly/weak-alias.ll
@@ -1,4 +1,6 @@
-; RUN: llc -mtriple wasm32-unknown-unknown-wasm -filetype=obj %s -o - | obj2yaml | FileCheck %s
+; RUN: llc -mtriple wasm32-unknown-unknown-wasm -filetype=obj %s -o %t.o
+; RUN: obj2yaml %t.o | FileCheck %s
+; RUN: llvm-objdump -t %t.o | FileCheck --check-prefix=CHECK-SYMS %s
 
 ; 'foo_alias()' is weak alias of function 'foo()'
 ; 'bar_alias' is weak alias of global variable 'bar'
@@ -107,3 +109,14 @@
 ; CHECK-NEXT:       - Index:           1
 ; CHECK-NEXT:         Name:            .data.bar_alias_address
 ; CHECK-NEXT: ...
+
+; CHECK-SYMS: SYMBOL TABLE:
+; CHECK-SYMS-NEXT: 00000000 g     F name	foo_alias
+; CHECK-SYMS-NEXT: 00000001 g     F name	call_alias
+; CHECK-SYMS-NEXT: 00000002 g     F name	foo
+; CHECK-SYMS-NEXT: 00000002 gw    F EXPORT	foo_alias
+; CHECK-SYMS-NEXT: 00000000 gw      EXPORT	bar_alias
+; CHECK-SYMS-NEXT: 00000001 g     F EXPORT	call_alias
+; CHECK-SYMS-NEXT: 00000002 g     F EXPORT	foo
+; CHECK-SYMS-NEXT: 00000000 g       EXPORT	bar
+; CHECK-SYMS-NEXT: 00000008 g       EXPORT	bar_alias_address
Index: llvm/trunk/lib/Object/WasmObjectFile.cpp
===================================================================
--- llvm/trunk/lib/Object/WasmObjectFile.cpp
+++ llvm/trunk/lib/Object/WasmObjectFile.cpp
@@ -769,7 +769,7 @@
   DEBUG(dbgs() << "getSymbolFlags: ptr=" << &Sym << " " << Sym << "\n");
   if (Sym.isWeak())
     Result |= SymbolRef::SF_Weak;
-  else if (Sym.isGlobal())
+  if (!Sym.isLocal())
     Result |= SymbolRef::SF_Global;
 
   switch (Sym.Type) {


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D38111.116115.patch
Type: text/x-patch
Size: 1737 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170920/e572a741/attachment.bin>


More information about the llvm-commits mailing list