commit | 98c7ed52b8b10e4941a4feba9f2a820ec28b96d3 | [log] [tgz] |
---|---|---|
author | Rui Ueyama <ruiu@google.com> | Mon Oct 22 20:50:01 2018 +0000 |
committer | Rui Ueyama <ruiu@google.com> | Mon Oct 22 20:50:01 2018 +0000 |
tree | ff8cf8d3059790088516af947839d382e2429817 | |
parent | 755e94fe7efaa267ab5b03dbff53af5c280e4ce9 [diff] |
Add OUTPUT_FORMAT linker script directive support. This patch adds a support for OUTPUT_FORMAT linker script directive. Since I'm not 100% confident with BFD names you can use in the directive for all architectures, I added only a few in this patch. We can add other names for other archtiectures later. We still do not support triple-style OUTPUT_FORMAT directive, namely, OUTPUT_FORMAT(bfdname, big, little). If you pass -EL (little endian) or -EB (big endian) to the linker, GNU linkers pick up big or little as a BFD name, correspondingly, so that you can use a single linker script for bi-endian processor. I'm not sure if we really need to support that, so I'll leave it alone for now. Note that -m takes precedence over OUTPUT_FORAMT, but we always parse a BFD name given to OUTPUT_FORMAT for error checking. You cannot write an invalid name in the OUTPUT_FORMAT directive. Differential Revision: https://reviews.llvm.org/D53495 git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@344952 91177308-0d34-0410-b5e6-96231b3b80d8
This directory and its subdirectories contain source code for the LLVM Linker, a modular cross platform linker which is built as part of the LLVM compiler infrastructure project.
lld is open source software. You may freely distribute it under the terms of the license agreement found in LICENSE.txt.
In order to make sure various developers can evaluate patches over the same tests, we create a collection of self contained programs.
It is hosted at https://s3-us-west-2.amazonaws.com/linker-tests/lld-speed-test.tar.xz
The current sha256 is 10eec685463d5a8bbf08d77f4ca96282161d396c65bd97dc99dbde644a31610f.