Win32: i386 now assumed when crossbuilding (ticket #2416).

Previously, NGX_MACHINE was not set when crossbuilding, resulting in
NGX_ALIGNMENT=16 being used in 32-bit builds (if not explicitly set to a
correct value).  This in turn might result in memory corruption in
ngx_palloc() (as there are no usable aligned allocator on Windows, and
normal malloc() is used instead, which provides 8 byte alignment on
32-bit platforms).

To fix this, now i386 machine is set when crossbuilding, so nginx won't
assume strict alignment requirements.
This commit is contained in:
Maxim Dounin 2023-02-23 18:15:59 +03:00
parent 180be97d31
commit 62b790c331

1
auto/configure vendored
View File

@ -44,6 +44,7 @@ if test -z "$NGX_PLATFORM"; then
else else
echo "building for $NGX_PLATFORM" echo "building for $NGX_PLATFORM"
NGX_SYSTEM=$NGX_PLATFORM NGX_SYSTEM=$NGX_PLATFORM
NGX_MACHINE=i386
fi fi
. auto/cc/conf . auto/cc/conf