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;
}
.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:
//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