aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Commands/CommandObjectCommands.cpp
diff options
context:
space:
mode:
authorTom Tan <Tom.Tan@microsoft.com>2019-05-02 00:38:14 +0000
committerTom Tan <Tom.Tan@microsoft.com>2019-05-02 00:38:14 +0000
commitb7c6d95af5e295c560d1445e7090e31eb9289932 (patch)
tree17dc636dd19bfc8769acfe505a445ae1051a54c2 /lldb/source/Commands/CommandObjectCommands.cpp
parenta78ab77b6b784417a00287b082ab331355da2026 (diff)
downloadllvm-b7c6d95af5e295c560d1445e7090e31eb9289932.zip
llvm-b7c6d95af5e295c560d1445e7090e31eb9289932.tar.gz
llvm-b7c6d95af5e295c560d1445e7090e31eb9289932.tar.bz2
[COFF, ARM64] Align global symbol by size for ARM64 MSVC ABI
According to alignment section in below ARM64 ABI document, MSVC could increase alignment of global data based on its total size. Clang doesn't do this. Compile the same symbol into different alignments by Clang and MSVC could cause link error because some instruction encodings, like 64-bit LDR/STR with immediate, require the target to be 8 bytes aligned, and linker could choose code stream with such LDR/STR instruction from MSVC and 4 bytes aligned data from Clang into final image, which actually cannot be linked together (see https://bugs.llvm.org/show_bug.cgi?id=41506 for more details). https://docs.microsoft.com/en-us/cpp/build/arm64-windows-abi-conventions?view=vs-2019#alignment Differential Revision: https://reviews.llvm.org/D61225 llvm-svn: 359744
Diffstat (limited to 'lldb/source/Commands/CommandObjectCommands.cpp')
0 files changed, 0 insertions, 0 deletions