commit | 4be589fd04c72586a18f75036e631e685451c597 | [log] [tgz] |
---|---|---|
author | Jez Ng <jezng@fb.com> | Fri Mar 12 17:26:11 2021 -0500 |
committer | Copybara-Service <copybara-worker@google.com> | Thu Mar 18 00:35:46 2021 -0700 |
tree | 3882b898419c96e9848762714ace29848257bb06 | |
parent | 0eab103b63a893046dbf5fe271c09ab538ac4dd0 [diff] |
[lld-macho] Check address ranges when applying relocations This diff required fixing `getEmbeddedAddend` to apply sign extension to 32-bit values. We were previously passing around wrong 64-bit addend values that became "right" after being truncated back to 32-bit. I've also made `getEmbeddedAddend` return a signed int, which is similar to what LLD-ELF does for its `getImplicitAddend`. `reportRangeError`, `checkUInt`, and `checkInt` are counterparts of similar functions in LLD-ELF. Reviewed By: #lld-macho, thakis Differential Revision: https://reviews.llvm.org/D98387 GitOrigin-RevId: dc8bee92658e4ac2314aa2f59123078d49463219
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
.