commit | 2f6e4a700d28f30e422c9d43c6c2465f203b2507 | [log] [tgz] |
---|---|---|
author | Jez Ng <jezng@fb.com> | Tue Apr 06 15:09:14 2021 -0400 |
committer | Copybara-Service <copybara-worker@google.com> | Mon Apr 12 11:34:33 2021 -0700 |
tree | b18496eca10dabdbfd485cf5e5dd8ed84d8fb96e | |
parent | 1e69595002f3b860b94782884f596212265165c8 [diff] |
[lld-macho] Fix & refactor symbol size calculations I noticed two problems with the previous implementation: * N_ALT_ENTRY symbols weren't being handled correctly -- they should determine the size of the previous symbol, even though they don't cause a new section to be created * The last symbol in a section had its size calculated wrongly; the first subsection's size was used instead of the last one I decided to take the opportunity to refactor things as well, mainly to realize my observation [here](https://reviews.llvm.org/D98837#inline-931511) that we could avoid doing a binary search to match symbols with subsections. I think the resulting code is a bit simpler too. N Min Max Median Avg Stddev x 20 4.31 4.43 4.37 4.3775 0.034162922 + 20 4.32 4.43 4.38 4.3755 0.02799906 No difference proven at 95.0% confidence Reviewed By: #lld-macho, alexshap Differential Revision: https://reviews.llvm.org/D99972 GitOrigin-RevId: ceec610754b045cdac4ae0d705d8d9651e323fc4
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
.