diff options
| -rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 1 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/catch.ll | 6 |
2 files changed, 6 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp index da4244b8b6c..2926ea64b85 100644 --- a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp @@ -1336,6 +1336,7 @@ bool AsmPrinter::doFinalization(Module &M) { OutStreamer->SwitchSection(TLOF.getDataSection()); const DataLayout &DL = M.getDataLayout(); + EmitAlignment(Log2_32(DL.getPointerSize())); for (const auto &Stub : Stubs) { OutStreamer->EmitLabel(Stub.first); OutStreamer->EmitSymbolValue(Stub.second.getPointer(), diff --git a/llvm/test/CodeGen/X86/catch.ll b/llvm/test/CodeGen/X86/catch.ll index be7466e8abb..5c0bc5008f4 100644 --- a/llvm/test/CodeGen/X86/catch.ll +++ b/llvm/test/CodeGen/X86/catch.ll @@ -3,7 +3,11 @@ ; PR18390 ; We used to assert creating this label. The name itself is not critical. It ; just needs to be a unique local symbol. -; CHECK: .L.Lstr.DW.stub: +; PR36885 +; The stub symbol should have pointer-size (8 byte) alignment. +; CHECK: .data +; CHECK-NEXT: .p2align 3 +; CHECK-NEXT: .L.Lstr.DW.stub: ; CHECK-NEXT: .quad .Lstr @str = private unnamed_addr constant [12 x i8] c"NSException\00" |

