commit | fe9f98f141d3a3bfbf0359f033d5b26542ecc0f2 | [log] [tgz] |
---|---|---|
author | Martin Storsjo <martin@martin.st> | Fri Sep 21 22:01:06 2018 +0000 |
committer | Martin Storsjo <martin@martin.st> | Fri Sep 21 22:01:06 2018 +0000 |
tree | 3b0582d4ec422a5822cfd474e4f7247f693e7f69 | |
parent | 1d58e6ba79b446968de33905f7444b65c6eb314b [diff] |
[COFF] Support linking to import libraries from GNU binutils GNU binutils import libraries aren't the same kind of short import libraries as link.exe and LLD produce, but are a plain static library containing .idata section chunks. MSVC link.exe can successfully link to them. In order for imports from GNU import libraries to mix properly with the normal import chunks, the chunks from the existing mechanism needs to be added into named sections like .idata$2. These GNU import libraries consist of one header object, a number of object files, one for each imported function/variable, and one trailer. Within the import libraries, the object files are ordered alphabetically in this order. The chunks stemming from these libraries have to be grouped by what library they originate from and sorted, to make sure the section chunks for headers and trailers for the lists are ordered as intended. This is done on all sections named .idata$*, before adding the synthesized chunks to them. Differential Revision: https://reviews.llvm.org/D38513 git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@342777 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.