diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2011-09-01 23:04:27 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2011-09-01 23:04:27 +0000 |
commit | 36a16015ac108e2f0dd2d6d96a6d364bc74c50d7 (patch) | |
tree | 32f8e302aea0fbe6b07b367e256e4f2e01bc19a4 /lib/MC/MCLoggingStreamer.cpp | |
parent | 7df496d2ad1ecbc86d454a5cea2ae3e0928197ee (diff) |
Don't drop alignment info on local common symbols.
- On COFF the .lcomm directive has an alignment argument.
- On ELF we fall back to .local + .comm
Based on a patch by NAKAMURA Takumi.
Fixes PR9337, PR9483 and PR10128.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138976 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/MC/MCLoggingStreamer.cpp')
-rw-r--r-- | lib/MC/MCLoggingStreamer.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/MC/MCLoggingStreamer.cpp b/lib/MC/MCLoggingStreamer.cpp index 309752ec5f..3fe8ac72c8 100644 --- a/lib/MC/MCLoggingStreamer.cpp +++ b/lib/MC/MCLoggingStreamer.cpp @@ -133,9 +133,10 @@ public: return Child->EmitCommonSymbol(Symbol, Size, ByteAlignment); } - virtual void EmitLocalCommonSymbol(MCSymbol *Symbol, uint64_t Size) { + virtual void EmitLocalCommonSymbol(MCSymbol *Symbol, uint64_t Size, + unsigned ByteAlignment) { LogCall("EmitLocalCommonSymbol"); - return Child->EmitLocalCommonSymbol(Symbol, Size); + return Child->EmitLocalCommonSymbol(Symbol, Size, ByteAlignment); } virtual void EmitZerofill(const MCSection *Section, MCSymbol *Symbol = 0, |