Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[lld] Add target support for SystemZ (s390x) #75643

Merged
merged 1 commit into from
Feb 13, 2024
Merged

Commits on Feb 12, 2024

  1. [lld] Add target support for SystemZ (s390x)

    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_GOTREL, 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>
    uweigand and tuliom committed Feb 12, 2024
    Configuration menu
    Copy the full SHA
    9f0f1a8 View commit details
    Browse the repository at this point in the history