commit | 3f55de15b5ea4675ba80d545cb132376a3260d37 | [log] [tgz] |
---|---|---|
author | LemonBoy <thatlemon@gmail.com> | Fri Apr 16 10:38:58 2021 +0200 |
committer | Copybara-Service <copybara-worker@google.com> | Fri Apr 16 12:25:17 2021 -0700 |
tree | b9b81c0b0508d08379646931b27aaa0ddf6dd56a | |
parent | 3889deb5545efa38c4f1d8dc1fa9cedc13be7f92 [diff] |
[LLD][ELF][AVR] Propagate ELF flags to the linked image The `e_flags` for a ELF file targeting the AVR ISA contains two fields at the time of writing: - A 7-bit integer field specifying the ISA revision being targeted - A 1-bit flag specifying whether the object files being linked are suited for applying the relaxations at link time The linked ELF file is blessed with the arch revision shared among all the files. The behaviour in case of mismatch is purposefully different than the one implemented in libbfd: LLD will raise a fatal error while libbfd silently picks a default value of `avr2`. The relaxation-ready flag is handled as done by libbfd, in order for it to appear in the linked object every source object must be tagged with it. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D99754 GitOrigin-RevId: 7a781fb692975ded33ff86c06f838fe904e706f8
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
.