Skip to content

Conversation

@anoopkg6
Copy link
Contributor

@anoopkg6 anoopkg6 commented Dec 4, 2025

This patch supports R_390_TLS_GD64 relocation for SystemZ.

@github-actions
Copy link

github-actions bot commented Dec 4, 2025

🐧 Linux x64 Test Results

  • 193603 tests passed
  • 6243 tests skipped

✅ The build succeeded and all tests passed.

@anoopkg6
Copy link
Contributor Author

anoopkg6 commented Dec 5, 2025

@uweigand

@zwuis zwuis changed the title {JITLink] Add initial TLS support for SystemZ [JITLink] Add initial TLS support for SystemZ Dec 5, 2025
Copy link
Member

@uweigand uweigand left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think if we enable building the ORC runtime library, we need to make sure that all of it works correctly, not just the TLS bits. It would probably be best to first have a patch that enables the library plus all relevant tests, and then have a follow-on patch that takes care of TLS.

std %f12, 200(%r15)
std %f13, 192(%r15)
std %f14, 184(%r15)
std %f15, 176(%r15)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the point of saving all these registers? They're not modified here, and the called __orc_rt routine will preserve them ...

larl %r12, _GLOBAL_OFFSET_TABLE_
stg %r12, 160(%r11) # 8-byte Spill
brasl %r14, __tls_get_offset@PLT:tls_gdcall:x
lg %r12, 160(%r11) # 8-byte Reload
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This shouldn't be needed, r12 will be preserved by the call. In general, there's quite a bit of unnecessary stuff in this test case. Was this created by compiling something with -O0 or the like?

anoopkg6 pushed a commit to anoopkg6/llvm-project that referenced this pull request Dec 10, 2025
…d orc-runtime

changes. This patch is on top of separate patch llvm#171062 created for orc-runtime from original patch llvm#170706.
@anoopkg6
Copy link
Contributor Author

Closing this pr as a new TLS support patch #171559 has been created on top of separate orc-runtime patch #171062.

@anoopkg6 anoopkg6 closed this Dec 10, 2025
uweigand pushed a commit that referenced this pull request Dec 11, 2025
This patch adds TLS support for SystemZ on top of orc-runtime support. A
separate orc-runtime support #171062 has been created from earlier TLS
support #[170706](#170706).

See conversations in
[#170706](#170706)

---------

Co-authored-by: anoopkg6 <anoopkg6@github.com>
llvm-sync bot pushed a commit to arm/arm-toolchain that referenced this pull request Dec 11, 2025
This patch adds TLS support for SystemZ on top of orc-runtime support. A
separate orc-runtime support #171062 has been created from earlier TLS
support #[170706](llvm/llvm-project#170706).

See conversations in
[#170706](llvm/llvm-project#170706)

---------

Co-authored-by: anoopkg6 <anoopkg6@github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants