Skip to content

Conversation

pull[bot]
Copy link

@pull pull bot commented Oct 13, 2025

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

Girgias and others added 21 commits October 13, 2025 13:44
The dynamic loader, starting around version 1284, patches the thunk emitted for
thread local variables by the compiler, so that its format changes from

struct Thunk {
    void *func;
    size_t module;
    size_t offset;
}

to

struct Thunk_v2 {
     void *func;
     uint32_t module;
     uint32_t offset;
     // other fields
}

which has the same size, but not the same layout.

This is mentionned in
https://github.com/apple-oss-distributions/dyld/blob/9307719dd8dc9b385daa412b03cfceb897b2b398/libdyld/ThreadLocalVariables.h#L90

As a result, access to thread specific variables in JIT is broken.

Fix by using the new layout when the new dynamic loader is in use.

Closes GH-20121
* PHP-8.3:
  Fix JIT TLS on MacOS
* PHP-8.4:
  Fix JIT TLS on MacOS
* PHP-8.5:
  Fix JIT TLS on MacOS
* PHP-8.3:
  Partially fix GH-16317: DOM classes do not allow __debugInfo() overrides to work
* PHP-8.4:
  Add forgotten NEWS item
  Partially fix GH-16317: DOM classes do not allow __debugInfo() overrides to work
* PHP-8.5:
  Add forgotten NEWS item
  Partially fix GH-16317: DOM classes do not allow __debugInfo() overrides to work
* PHP-8.3:
  phar: Fix more alias memory leaks
* PHP-8.4:
  phar: Fix more alias memory leaks
* PHP-8.5:
  phar: Fix more alias memory leaks
@pull pull bot locked and limited conversation to collaborators Oct 13, 2025
@pull pull bot added the ⤵️ pull label Oct 13, 2025
@pull pull bot merged commit b9aa42e into wudi:master Oct 13, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants