diff options
| author | Christoph M. Becker <cmbecker69@gmx.de> | 2020-08-05 08:59:41 +0200 |
|---|---|---|
| committer | Christoph M. Becker <cmbecker69@gmx.de> | 2020-09-21 16:25:31 +0200 |
| commit | 3e33e1e86d15e262cd9e0224a9604e252f5d9284 (patch) | |
| tree | 8cb9f1178c8d2d287144c7be3cf7c7037c7bd72a /win32/build/confutils.js | |
| parent | 6fa2493789f8f05c7a53eca803227fcfb1bf2573 (diff) | |
| download | php-git-3e33e1e86d15e262cd9e0224a9604e252f5d9284.tar.gz | |
Check linker compatibility directly from HMODULE
Checking the linker compatibility with extranous `ImageLoad()` calls is
possible, but unnecessary, since the modules are either already loaded
or loaded shortly afterwards, so that we can get the required
information directly from the module handles. And actually, doing
`ImageLoad()` as well as `LoadLibrary()` leaves a tiny room for a race
condition, because both functions will lookup the module in the search
path, so there is no *guarantee* that both are dealing with the same
module. Dropping the `ImageLoad()` calls also has the advantage to no
longer face the issue reported in bug #79557. A very minor additional
advantage is that we no longer have to link against Imagehlp.dll.
Furthermore, there is no need to check for CRT compatibility multiple
times, so we can simplify the signature of `php_win32_crt_compatible`,
and at the same time clean up main.c a bit.
These changes require to change the signature of the exported
`php_win32_image_compatible` and `php_win32_crt_compatible` functions,
which now expect a `HMODULE` and nothing, respectively, instead of the
module name.
Diffstat (limited to 'win32/build/confutils.js')
| -rw-r--r-- | win32/build/confutils.js | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/win32/build/confutils.js b/win32/build/confutils.js index e71757748f..857e50acbe 100644 --- a/win32/build/confutils.js +++ b/win32/build/confutils.js @@ -3401,7 +3401,7 @@ function toolset_setup_common_ldlags() function toolset_setup_common_libs() { // urlmon.lib ole32.lib oleaut32.lib uuid.lib gdi32.lib winspool.lib comdlg32.lib - DEFINE("LIBS", "kernel32.lib ole32.lib user32.lib advapi32.lib shell32.lib ws2_32.lib Dnsapi.lib psapi.lib bcrypt.lib imagehlp.lib"); + DEFINE("LIBS", "kernel32.lib ole32.lib user32.lib advapi32.lib shell32.lib ws2_32.lib Dnsapi.lib psapi.lib bcrypt.lib"); } function toolset_setup_build_mode() |
