[PATCH] D21476: Handle .weak in IRObjectFile RecordStreamer

Davide Italiano via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 17 10:16:07 PDT 2016


davide created this revision.
davide added a reviewer: rafael.
davide added a subscriber: llvm-commits.

http://reviews.llvm.org/D21476

Files:
  lib/Object/RecordStreamer.cpp
  test/Object/X86/nm-bitcodeweak.test

Index: lib/Object/RecordStreamer.cpp
===================================================================
--- lib/Object/RecordStreamer.cpp
+++ lib/Object/RecordStreamer.cpp
@@ -84,7 +84,7 @@

 bool RecordStreamer::EmitSymbolAttribute(MCSymbol *Symbol,
                                          MCSymbolAttr Attribute) {
-  if (Attribute == MCSA_Global)
+  if (Attribute == MCSA_Global || Attribute == MCSA_Weak)
     markGlobal(*Symbol);
   return true;
 }
Index: test/Object/X86/nm-bitcodeweak.test
===================================================================
--- /dev/null
+++ test/Object/X86/nm-bitcodeweak.test
@@ -0,0 +1,15 @@
+; RUN: llvm-as %s -o=%t1
+; RUN: llvm-nm %t1 | FileCheck %s
+
+; CHECK: T __libc_blah
+
+target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-unknown-freebsd11.0"
+
+module asm ".weak __libc_blah"
+module asm ".equ __libc_blah, blah"
+
+; Function Attrs: nounwind uwtable
+define void @blah() {
+  ret void
+}


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D21476.61107.patch
Type: text/x-patch
Size: 982 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160617/def83ea1/attachment.bin>


More information about the llvm-commits mailing list