commit | c13c0a132556f41c5766212f6dc8becb371a0fc8 | [log] [tgz] |
---|---|---|
author | Ulrich Weigand <ulrich.weigand@de.ibm.com> | Tue Feb 13 11:29:21 2024 +0100 |
committer | Copybara-Service <copybara-worker@google.com> | Tue Feb 13 02:35:17 2024 -0800 |
tree | eb677115052bb0adcacdc383b0587006fbfda505 | |
parent | eb2c9e46fd03c2a4bd0b8aa2c273e0d99f93623b [diff] |
[lld] Add target support for SystemZ (s390x) (#75643) This patch adds full support for linking SystemZ (ELF s390x) object files. Support should be generally complete: - All relocation types are supported. - Full shared library support (DYNAMIC, GOT, PLT, ifunc). - Relaxation of TLS and GOT relocations where appropriate. - Platform-specific test cases. In addition to new platform code and the obvious changes, there were a few additional changes to common code: - Add three new RelExpr members (R_GOTPLT_OFF, R_GOTPLT_PC, and R_PLT_GOTREL) needed to support certain s390x relocations. I chose not to use a platform-specific name since nothing in the definition of these relocs is actually platform-specific; it is well possible that other platforms will need the same. - A couple of tweaks to TLS relocation handling, as the particular semantics of the s390x versions differ slightly. See comments in the code. This was tested by building and testing >1500 Fedora packages, with only a handful of failures; as these also have issues when building with LLD on other architectures, they seem unrelated. Co-authored-by: Tulio Magno Quites Machado Filho <tuliom@redhat.com> GitOrigin-RevId: fe3406e349884e4ef61480dd0607f1e237102c74
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
.