forked from php/php-src
-
Notifications
You must be signed in to change notification settings - Fork 1
_tsrm_ls_cache resolution #13
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
Closed
Closed
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
b27f9e2
to
6432c75
Compare
…6, not as precision 0 (php#18912) Like in other languages, and especially C where printf originates from, a missing precision should be treated as a 0 precision. Because the ADJ_PRECISION flag was not set, the double formatting code resetted the precision to the default float precision of 6.
6dd7300
to
d09a3f2
Compare
RFC: https://wiki.php.net/rfc/clone_with_v2 Co-authored-by: Volker Dusch <[email protected]>
This functionality is not part of the POSIX interface. - On FreeBSD, the wait6 system call provides it - On Linux, the raw waitid system call provides it (glibc does not) close phpGH-15921
Also no need to reset the cache unconditionally in fetchAll().
* Switch to windows-2022 in CI windows-2019 runner will be dropped by GitHub on 2025-06-30. * xfail test cases that fail on windows-2022
When the array functions perform their operation in-place, the `@refcount 1` annotation is wrong and causes a failure under `ZEND_VERIFY_FUNC_INFO`. The test file tests all functions that have the in-place optimization, even those that didn't have the refcount annotation, just to prevent future regressions. Closes phpGH-18929.
* PHP-8.3: Fix RCN violations in array functions
* PHP-8.4: Fix RCN violations in array functions
This is a continuation of phpGH-18927 to fix CI for windows-2022
This is a continuation of phpGH-18927 to fix CI for windows-2022
* PHP-8.2: Fix CI for windows-2022
* PHP-8.3: Fix CI for windows-2022
* PHP-8.4: Fix CI for windows-2022
d09a3f2
to
78a89b1
Compare
This fixes the following linker error: TLS transition from R_X86_64_TLSGD to R_X86_64_GOTTPOFF against `_tsrm_ls_cache' at 0x12fc3 in section `.text' failed" The error arises from how we obtain information about the _tsrm_ls_cache TLS variable for use in JIT'ed code: Normally, TLS variables are resolved via linker relocations [1], which of course can not be used in JIT'ed code. Therefore we emit the relocation in AOT code and use the result in JIT. Specifically we use a fragment of the "General Dynamic" code sequence described in [1]. Using the full code sequence would give us the address of the variable in the current thread. Therefore we only use a fragment that gives us the variable's TLS index and offset. When Opcache is statically linked into the binary, linkers attempt to relax (rewrite) this code sequence into a more efficient one. However, this fails because they will not recognize the code sequence. We now take a different approach: * Emit the exact full code sequence expected by linkers * Extract the TLS index/offset or TCB offset by inspecting the ASM code, rather than executing it (execution would give us the thread-local address). * This is done in a conservative way so that if the linker did something we didn't expect, we fallback to a safer (but slower) mechanism. [1] https://www.akkadia.org/drepper/tls.pdf
78a89b1
to
3700f9d
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.