summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorHal Finkel <hfinkel@anl.gov>2016-08-30 01:43:38 +0000
committerHal Finkel <hfinkel@anl.gov>2016-08-30 01:43:38 +0000
commit18d0e3f44c5021e9f2236e062e5c10987a1b9060 (patch)
treeb50f494c60f03b87575c321ec28e96c00e6d950a /llvm/lib/Target
parent6d3c9132e308aedc7917db1ed0e16998a8e06c0a (diff)
downloadbcm5719-llvm-18d0e3f44c5021e9f2236e062e5c10987a1b9060.tar.gz
bcm5719-llvm-18d0e3f44c5021e9f2236e062e5c10987a1b9060.zip
[PowerPC] Force entry alignment in .got2
Implement Bill's suggested fix for 32-bit targets for PR22711 (for the alignment of each entry). As pointed out in the bug report, we could just force the section alignment, since we only add pointer-sized things currently, but this fix is somewhat more future-proof. llvm-svn: 280049
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
index 5040f167beb..5bdec80ac42 100644
--- a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
+++ b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
@@ -1146,10 +1146,12 @@ bool PPCLinuxAsmPrinter::doFinalization(Module &M) {
E = TOC.end(); I != E; ++I) {
OutStreamer->EmitLabel(I->second);
MCSymbol *S = I->first;
- if (isPPC64)
+ if (isPPC64) {
TS.emitTCEntry(*S);
- else
+ } else {
+ OutStreamer->EmitValueToAlignment(4);
OutStreamer->EmitSymbolValue(S, 4);
+ }
}
}
OpenPOWER on IntegriCloud