LLVM backend for 6502
Go to file
David Majnemer 31b080d57f 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218201 91177308-0d34-0410-b5e6-96231b3b80d8
2014-09-21 09:18:07 +00:00
autoconf
bindings
cmake
docs Fix sphinx warning. 2014-09-18 21:54:02 +00:00
examples
include llvm-cov: Allow creating CoverageMappings from filenames 2014-09-20 17:19:52 +00:00
lib MC: Support aligned COMMON symbols for COFF 2014-09-21 09:18:07 +00:00
projects
test MC: Support aligned COMMON symbols for COFF 2014-09-21 09:18:07 +00:00
tools llvm-cov: Allow creating CoverageMappings from filenames 2014-09-20 17:19:52 +00:00
unittests Add hsail and amdil64 to Triple 2014-09-19 19:52:11 +00:00
utils [lit] Parse all strings as UTF-8 rather than ASCII. 2014-09-12 16:46:05 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt
CODE_OWNERS.TXT
configure
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in
Makefile.rules Revert my earlier change to add "all" as a dependency to check. In 2014-09-19 18:44:27 +00:00
README.txt

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for the Low Level
Virtual Machine, a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you're writing a package for LLVM, see docs/Packaging.rst for our
suggestions.