1
0
mirror of https://github.com/skeeto/w64devkit.git synced 2025-06-30 14:41:50 +03:00

Upgrade to Mingw-w64 9.0.0

IMPORTANT: In this release _WIN32_WINNT is changed from 0x502 to 0xa00.

GDB: The Autoconf check for bcrypt.h in the embedded Gnulib is broken
and probably never worked in the first place, so Gnulib never tries to
use this header. When the check fails, it then checks if it's safe to
link against bcrypt.dll based on the value of _WIN32_WINNT. Before
Mingw-w64 9.0.0, this check also failed. So it used a run-time dynamic
symbol lookup fallback. However, if the version check succeeds, which it
does with 9.0.0, Gnulib incorrectly links bcrypt.dll, resulting in a
build failure.

In typical GNU fashion, Gnulib uses 187 lines of code to do something
poorly where 7 lines of code would do it well. Instead of hacking around
BCryptGenRandom, Gnulib should just call RtlGenRandom. This could be a
whole lot simpler and less fragile.

busybox-w32: The higher _WIN32_WINNT value causes new declarations to
become visible which conflict with definitions in busybox-w32, mostly in
networking headers like winsock2.h. To workaround it, lock it to the old
version.
This commit is contained in:
Christopher Wellons
2021-05-22 13:44:11 -04:00
parent 3589a5119a
commit 3316e7a0ad
2 changed files with 4 additions and 3 deletions

View File

@ -9,7 +9,7 @@ ARG GCC_VERSION=11.2.0
ARG GDB_VERSION=10.2
ARG GMP_VERSION=6.2.1
ARG MAKE_VERSION=4.2
ARG MINGW_VERSION=8.0.2
ARG MINGW_VERSION=9.0.0
ARG MPC_VERSION=1.2.1
ARG MPFR_VERSION=4.1.0
ARG NASM_VERSION=2.15.05
@ -288,7 +288,7 @@ RUN /mingw-w64-v$MINGW_VERSION/mingw-w64-tools/gendef/configure \
WORKDIR /gdb
RUN /gdb-$GDB_VERSION/configure \
--host=$ARCH \
CFLAGS="-Os" \
CFLAGS="-Os -D_WIN32_WINNT=0x502" \
CXXFLAGS="-Os" \
LDFLAGS="-s" \
&& make MAKEINFO=true -j$(nproc) \
@ -320,6 +320,7 @@ RUN cat $PREFIX/src/busybox-*.patch | patch -p1 \
&& sed -ri 's/^(CONFIG_VI)=y/\1=n/' .config \
&& sed -ri 's/^(CONFIG_XXD)=y/\1=n/' .config \
&& make -j$(nproc) CROSS_COMPILE=$ARCH- \
CONFIG_EXTRA_CFLAGS="-D_WIN32_WINNT=0x502" \
&& cp busybox.exe $PREFIX/bin/
# Create BusyBox command aliases (like "busybox --install")

View File

@ -4,7 +4,7 @@ d08edc536b54c372a1010ff6619dd274c0f1603aa49212ba20f7aa2cda36fa8b gcc-11.2.0.tar
aaa1223d534c9b700a8bec952d9748ee1977513f178727e1bee520ee000b4f29 gdb-10.2.tar.xz
fd4829912cddd12f84181c3451cc752be224643e87fac497b69edddadc49b4f2 gmp-6.2.1.tar.xz
e968ce3c57ad39a593a92339e23eb148af6296b9f40aa453a9a9202c99d34436 make-4.2.tar.gz
f00cf50951867a356d3dc0dcc7a9a9b422972302e23d54a33fc05ee7f73eee4d mingw-w64-v8.0.2.tar.bz2
1929b94b402f5ff4d7d37a9fe88daa9cc55515a6134805c104d1794ae22a4181 mingw-w64-v9.0.0.tar.bz2
17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459 mpc-1.2.1.tar.gz
0c98a3f1732ff6ca4ea690552079da9c597872d30e96ec28414ee23c95558a7f mpfr-4.1.0.tar.xz
3caf6729c1073bf96629b57cee31eeb54f4f8129b01902c73428836550b30a3f nasm-2.15.05.tar.xz