[PATCH] D44848: Align stubs for external and common global variables to pointer size.

Rahul Chaudhry via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 23 15:24:22 PDT 2018


rahulchaudhry created this revision.
Herald added a subscriber: llvm-commits.

This patch fixes PR36885: clang++ generates unaligned stub symbol
holding a pointer.


Repository:
  rL LLVM

https://reviews.llvm.org/D44848

Files:
  lib/CodeGen/AsmPrinter/AsmPrinter.cpp


Index: lib/CodeGen/AsmPrinter/AsmPrinter.cpp
===================================================================
--- lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+++ lib/CodeGen/AsmPrinter/AsmPrinter.cpp
@@ -1337,6 +1337,7 @@
       const DataLayout &DL = M.getDataLayout();
 
       for (const auto &Stub : Stubs) {
+        EmitAlignment(Log2_32(DL.getPointerSize()));
         OutStreamer->EmitLabel(Stub.first);
         OutStreamer->EmitSymbolValue(Stub.second.getPointer(),
                                      DL.getPointerSize());


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D44848.139660.patch
Type: text/x-patch
Size: 533 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180323/515fd824/attachment.bin>


More information about the llvm-commits mailing list