Don't propagate StorageClass and ComplexType to aliases.
authorRafael Espindola <rafael.espindola@gmail.com>
Thu, 1 May 2014 19:02:03 +0000 (19:02 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Thu, 1 May 2014 19:02:03 +0000 (19:02 +0000)
This matches gas' behaviour on COFF.

I think that this yak is now sufficiently shaved for aliases with offset
to work.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207786 91177308-0d34-0410-b5e6-96231b3b80d8

lib/MC/WinCOFFObjectWriter.cpp
test/MC/COFF/alias.s
test/MC/COFF/symbol-alias.s

index 5cc239dce6ed50f841216e90f79b700a9918b75b..7ae83134f3c5acfc901d56014c9a18fa32987f70 100644 (file)
@@ -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);
 
index f6f6d46bf6a337132943c1f47d90d38691dd18e0..dc4f65acf74ee15152f9a716829ca19103d462be 100644 (file)
@@ -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 {
index ccada3793ca3e6f261f29b7a4508098f1686f503..71ccec31b821c227654269d56c2a15846a6ac57a 100644 (file)
@@ -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]]