[llvm-commits] [llvm] r117585 - in /llvm/trunk: lib/MC/ELFObjectWriter.cpp test/MC/ELF/weak.s
Rafael Espindola
rafael.espindola at gmail.com
Thu Oct 28 12:39:57 PDT 2010
Author: rafael
Date: Thu Oct 28 14:39:57 2010
New Revision: 117585
URL: http://llvm.org/viewvc/llvm-project?rev=117585&view=rev
Log:
Defined weak symbols should have non-zero value.
Modified:
llvm/trunk/lib/MC/ELFObjectWriter.cpp
llvm/trunk/test/MC/ELF/weak.s
Modified: llvm/trunk/lib/MC/ELFObjectWriter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/ELFObjectWriter.cpp?rev=117585&r1=117584&r2=117585&view=diff
==============================================================================
--- llvm/trunk/lib/MC/ELFObjectWriter.cpp (original)
+++ llvm/trunk/lib/MC/ELFObjectWriter.cpp Thu Oct 28 14:39:57 2010
@@ -438,10 +438,9 @@
if (!Symbol.isInSection())
return 0;
- if (!Data.isCommon() && !(Data.getFlags() & ELF_STB_Weak))
- if (MCFragment *FF = Data.getFragment())
- return Layout.getSymbolAddress(&Data) -
- Layout.getSectionAddress(FF->getParent());
+ if (MCFragment *FF = Data.getFragment())
+ return Layout.getSymbolAddress(&Data) -
+ Layout.getSectionAddress(FF->getParent());
return 0;
}
Modified: llvm/trunk/test/MC/ELF/weak.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ELF/weak.s?rev=117585&r1=117584&r2=117585&view=diff
==============================================================================
--- llvm/trunk/test/MC/ELF/weak.s (original)
+++ llvm/trunk/test/MC/ELF/weak.s Thu Oct 28 14:39:57 2010
@@ -5,7 +5,7 @@
.weak foo
.long foo
-// And that bar is after all local symbols
+// And that bar is after all local symbols and has non zero value.
.weak bar
bar:
@@ -15,7 +15,7 @@
//CHECK-NEXT: ('st_type', 0x00000000)
//CHECK-NEXT: ('st_other', 0x00000000)
//CHECK-NEXT: ('st_shndx', 0x00000001)
-//CHECK-NEXT: ('st_value', 0x00000000)
+//CHECK-NEXT: ('st_value', 0x00000004)
//CHECK-NEXT: ('st_size', 0x00000000)
//CHECK-NEXT: ),
//CHECK-NEXT: # Symbol 0x00000005
More information about the llvm-commits
mailing list