summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2014-05-01 19:02:03 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2014-05-01 19:02:03 +0000
commitea9f9d4030ec110862c53a5ca8b63999c88bc1a5 (patch)
treea09343e8bdf814698c13d6876e0079e8785d763b /llvm
parentcd1a98bf749f396288715bcf719fbbca78e3199e (diff)
downloadbcm5719-llvm-ea9f9d4030ec110862c53a5ca8b63999c88bc1a5.tar.gz
bcm5719-llvm-ea9f9d4030ec110862c53a5ca8b63999c88bc1a5.zip
Don't propagate StorageClass and ComplexType to aliases.
This matches gas' behaviour on COFF. I think that this yak is now sufficiently shaved for aliases with offset to work. llvm-svn: 207786
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/MC/WinCOFFObjectWriter.cpp3
-rw-r--r--llvm/test/MC/COFF/alias.s2
-rw-r--r--llvm/test/MC/COFF/symbol-alias.s2
3 files changed, 3 insertions, 4 deletions
diff --git a/llvm/lib/MC/WinCOFFObjectWriter.cpp b/llvm/lib/MC/WinCOFFObjectWriter.cpp
index 5cc239dce6e..7ae83134f3c 100644
--- a/llvm/lib/MC/WinCOFFObjectWriter.cpp
+++ b/llvm/lib/MC/WinCOFFObjectWriter.cpp
@@ -439,8 +439,7 @@ void WinCOFFObjectWriter::DefineSymbol(MCSymbolData const &SymbolData,
coff_symbol->MCData = &SymbolData;
} else {
- const MCSymbolData &ResSymData =
- Assembler.getSymbolData(Symbol.AliasedSymbol());
+ const MCSymbolData &ResSymData = Assembler.getSymbolData(Symbol);
const MCSymbol *Base = Layout.getBaseSymbol(Symbol);
coff_symbol->Data.Value = getSymbolValue(ResSymData, Layout);
diff --git a/llvm/test/MC/COFF/alias.s b/llvm/test/MC/COFF/alias.s
index f6f6d46bf6a..dc4f65acf74 100644
--- a/llvm/test/MC/COFF/alias.s
+++ b/llvm/test/MC/COFF/alias.s
@@ -68,7 +68,7 @@ weak_aliased_to_external = external2
// CHECK-NEXT: Section: .text (1)
// CHECK-NEXT: BaseType: Null (0x0)
// CHECK-NEXT: ComplexType: Null (0x0)
-// CHECK-NEXT: StorageClass: Static (0x3)
+// CHECK-NEXT: StorageClass: External (0x2)
// CHECK-NEXT: AuxSymbolCount: 0
// CHECK-NEXT: }
// CHECK-NEXT: Symbol {
diff --git a/llvm/test/MC/COFF/symbol-alias.s b/llvm/test/MC/COFF/symbol-alias.s
index ccada3793ca..71ccec31b82 100644
--- a/llvm/test/MC/COFF/symbol-alias.s
+++ b/llvm/test/MC/COFF/symbol-alias.s
@@ -51,7 +51,7 @@ _bar_alias = _bar
// CHECK-NEXT: Value: [[FOO_VALUE]]
// CHECK-NEXT: Section: [[FOO_SECTION_NUMBER]]
// CHECK-NEXT: BaseType: [[FOO_SIMPLE_TYPE]]
-// CHECK-NEXT: ComplexType: [[FOO_COMPLEX_TYPE]]
+// CHECK-NEXT: ComplexType: Null (0x0)
// CHECK-NEXT: StorageClass: [[FOO_STORAGE_CLASS]]
// CHECK-NEXT: AuxSymbolCount: [[FOO_NUMBER_OF_AUX_SYMBOLS]]
OpenPOWER on IntegriCloud