aboutsummaryrefslogtreecommitdiff
path: root/clang-tools-extra/unittests/clang-tidy/LLVMModuleTest.cpp
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2014-09-21 09:18:07 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2014-09-21 09:18:07 +0000
commit48227a37592f31bd8c9410f36fb0ee5246a2e2bf (patch)
treea3f7ea909628af70d28eaeb14f98c4ef6fe9e0e6 /clang-tools-extra/unittests/clang-tidy/LLVMModuleTest.cpp
parent8ff73c01704991fdbe0b23a67925defdcb988d64 (diff)
downloadllvm-48227a37592f31bd8c9410f36fb0ee5246a2e2bf.zip
llvm-48227a37592f31bd8c9410f36fb0ee5246a2e2bf.tar.gz
llvm-48227a37592f31bd8c9410f36fb0ee5246a2e2bf.tar.bz2
MC: Support aligned COMMON symbols for COFF
link.exe: Fuzz testing has shown that COMMON symbols with size > 32 will always have an alignment of at least 32 and all symbols with size < 32 will have an alignment of at least the largest power of 2 less than the size of the symbol. binutils: The BFD linker essentially work like the link.exe behavior but with alignment 4 instead of 32. The BFD linker also supports an extension to COFF which adds an -aligncomm argument to the .drectve section which permits specifying a precise alignment for a variable but MC currently doesn't support editing .drectve in this way. With all of this in mind, we decide to play a little trick: we can ensure that the alignment will be respected by bumping the size of the global to it's alignment. llvm-svn: 218201
Diffstat (limited to 'clang-tools-extra/unittests/clang-tidy/LLVMModuleTest.cpp')
0 files changed, 0 insertions, 0 deletions