Skip to content

ext/opcache: zend_jit_resolve_tsrm_ls_cache_offsets() TEXTREL from ba…#22801

Closed
devnexen wants to merge 1 commit into
php:PHP-8.5from
devnexen:gh22693
Closed

ext/opcache: zend_jit_resolve_tsrm_ls_cache_offsets() TEXTREL from ba…#22801
devnexen wants to merge 1 commit into
php:PHP-8.5from
devnexen:gh22693

Conversation

@devnexen

Copy link
Copy Markdown
Member

…re __tls_get_addr call.

Fix GH-22693

The x86_64 General Dynamic TLS sequence called __tls_get_addr without @plt, which could emit a PC-relative relocation against the external symbol landing in read-only .text, producing a DT_TEXTREL and a linker warning about a possible runtime segfault. Routing the call through the PLT matches the x86-64 TLS ABI canonical sequence and the already correct i386 variant, without changing the emitted instruction bytes.

…re __tls_get_addr call.

Fix phpGH-22693

The x86_64 General Dynamic TLS sequence called __tls_get_addr without
@plt, which could emit a PC-relative relocation against the external
symbol landing in read-only .text, producing a DT_TEXTREL and a linker
warning about a possible runtime segfault. Routing the call through the
PLT matches the x86-64 TLS ABI canonical sequence and the already
correct i386 variant, without changing the emitted instruction bytes.
@devnexen
devnexen requested a review from dstogov as a code owner July 19, 2026 04:06
@devnexen
devnexen requested review from arnaud-lb and removed request for dstogov July 19, 2026 04:06
@github-world192

Copy link
Copy Markdown

Goood

@arnaud-lb arnaud-lb left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This looks good to me! Thank you!

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