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 | 6397051ece4b63fedd2c20bdb2a1e9912056cad7 (patch) | |
tree | aa16a0fe018163955eddf7542f2b221675ef8071 /llvm/lib/MC/MCLoggingStreamer.cpp | |
parent | b10c631f5380bc17e0694e75e797251748e33657 (diff) | |
download | bcm5719-llvm-6397051ece4b63fedd2c20bdb2a1e9912056cad7.tar.gz bcm5719-llvm-6397051ece4b63fedd2c20bdb2a1e9912056cad7.zip |
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.
llvm-svn: 138976
Diffstat (limited to 'llvm/lib/MC/MCLoggingStreamer.cpp')
-rw-r--r-- | llvm/lib/MC/MCLoggingStreamer.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/MC/MCLoggingStreamer.cpp b/llvm/lib/MC/MCLoggingStreamer.cpp index 309752ec5f0..3fe8ac72c8e 100644 --- a/llvm/lib/MC/MCLoggingStreamer.cpp +++ b/llvm/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, |