Skip to content

Fix GH-18743: Incompatibility in Inline TLS Assembly on Alpine 3.22 - #18779

Closed
ndossche wants to merge 1 commit into
php:PHP-8.3from
ndossche:fix-tlsgd
Closed

ndossche wants to merge 1 commit into
php:PHP-8.3from
ndossche:fix-tlsgd

Conversation

@ndossche

@ndossche ndossche commented Jun 5, 2025

Copy link
Copy Markdown
Member

GAS started checking the relocation for tlsgd: it must use the %rdi register. However, the inline assembly now uses %rax instead. This causes a build failure. Fix it by changing the "=a" output register to "=D". Source: https://github.com/bminor/binutils-gdb/blob/ec181e1710e37007a8d95c284609bfaa5868d086/gas/config/tc-i386.c#L6793

gottpoff is unaffected.

GAS started checking the relocation for tlsgd: it must use the %rdi
register. However, the inline assembly now uses %rax instead.
Fix it by changing the "=a" output register to "=D".
Source: https://github.com/bminor/binutils-gdb/blob/ec181e1710e37007a8d95c284609bfaa5868d086/gas/config/tc-i386.c#L6793

gottpoff is unaffected.

@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.

Looks good to me!

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.

Incompatibility in Inline TLS Assembly on Alpine 3.22 with zend_jit_ir.c

3 participants