diff options
-rw-r--r-- | lib/CodeGen/AsmPrinter.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/CodeGen/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter.cpp index 07319d595a..586472c38e 100644 --- a/lib/CodeGen/AsmPrinter.cpp +++ b/lib/CodeGen/AsmPrinter.cpp @@ -327,16 +327,18 @@ bool AsmPrinter::EmitSpecialLLVMGlobal(const GlobalVariable *GV) { return true; } + const TargetData *TD = TM.getTargetData(); + unsigned Align = Log2_32(TD->getPointerPrefAlignment()); if (GV->getName() == "llvm.global_ctors" && GV->use_empty()) { SwitchToDataSection(TAI->getStaticCtorsSection()); - EmitAlignment(2, 0); + EmitAlignment(Align, 0); EmitXXStructorList(GV->getInitializer()); return true; } if (GV->getName() == "llvm.global_dtors" && GV->use_empty()) { SwitchToDataSection(TAI->getStaticDtorsSection()); - EmitAlignment(2, 0); + EmitAlignment(Align, 0); EmitXXStructorList(GV->getInitializer()); return true; } |