http://bugs.winehq.org/show_bug.cgi?id=24620
Summary: ntdll/tests/generated.c compile broken on OpenBSD 4.7 Product: Wine Version: 1.3.4 Platform: x86 URL: http://www.openbsd.org OS/Version: OpenBSD Status: NEW Keywords: download, source Severity: critical Priority: P2 Component: ntdll AssignedTo: wine-bugs@winehq.org ReportedBy: austinenglish@gmail.com
gcc -c -I. -I. -I../../../include -I../../../include -DWINE_STRICT_PROTOTYPES -D_REENTRANT -fPIC -Wall -pipe -fno-strict-aliasing -Wstrict-prototypes -Wwrite-strings -Wpointer-arith -I/usr/local/include -I/usr/local/include -I/usr/local/include/libpng -o generated.o generated.c generated.c: In function `test_pack_IMAGE_NT_HEADERS64': generated.c:4376: error: size of array `type name' is negative generated.c:4384: error: size of array `type name' is negative generated.c: In function `test_pack_IMAGE_OPTIONAL_HEADER64': generated.c:4499: error: size of array `type name' is negative generated.c:4525: error: size of array `type name' is negative generated.c:4570: error: size of array `type name' is negative generated.c:4573: error: size of array `type name' is negative generated.c:4576: error: size of array `type name' is negative generated.c:4579: error: size of array `type name' is negative generated.c: In function `test_pack_IMAGE_TLS_DIRECTORY64': generated.c:4869: error: size of array `type name' is negative generated.c:4871: error: size of array `type name' is negative generated.c:4874: error: size of array `type name' is negative generated.c:4877: error: size of array `type name' is negative generated.c:4880: error: size of array `type name' is negative generated.c: In function `test_pack_PIMAGE_NT_HEADERS64': generated.c:5593: error: size of array `type name' is negative generated.c: In function `test_pack_PIMAGE_OPTIONAL_HEADER64': generated.c:5618: error: size of array `type name' is negative *** Error code 1
http://bugs.winehq.org/show_bug.cgi?id=24620
S silas-wine@flatline.org.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |silas-wine@flatline.org.uk
--- Comment #1 from S silas-wine@flatline.org.uk 2011-02-20 10:24:20 CST --- I get the same error message when compiling WINE 1.2 or 1.2.2 in a chroot environment set up with an old Debian 3.1 "Sarge" distro, with LD_ASSUME_KERNEL=2.4 set so as to get its glibc 2.3.3 to use LinuxThreads instead of NPTL for pthreads (see "man pthreads"). I'm doing this because I want a WINE that will run on another system that is stuck with a 2.4 kernel (and therefore has no NPTL). It is no longer possible to configure WINE with --without-pthreads due to a WONTFIX bug #20196.
http://bugs.winehq.org/show_bug.cgi?id=24620
--- Comment #2 from Andrew Nguyen arethusa26@gmail.com 2011-02-21 14:31:41 CST --- I think the compilation process is running into a gcc 3.3.x bug, which I found reported as https://bugzilla.redhat.com/show_bug.cgi?id=109911 in the Red Hat bugzilla. It's easy enough to hack up include/winnt.h to get the compile-time assertions to pass by manually specifying eight-byte alignment for all the relevant ULONGLONG fields, but I'm not sure how Wine should work around this issue.
http://bugs.winehq.org/show_bug.cgi?id=24620
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID
--- Comment #3 from Alexandre Julliard julliard@winehq.org 2011-02-21 14:45:21 CST --- The goal of generated.c is to catch that sort of problem, so it looks like it's doing its job. I don't think there's anything else we need to do here. We can't add explicit alignment to every single use of a 64-bit type.
http://bugs.winehq.org/show_bug.cgi?id=24620
Dmitry Timoshkov dmitry@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #4 from Dmitry Timoshkov dmitry@codeweavers.com 2011-02-22 00:58:09 CST --- Closing invalid.
http://bugs.winehq.org/show_bug.cgi?id=24620
--- Comment #5 from Austin English austinenglish@gmail.com 2011-02-24 17:10:20 CST --- (In reply to comment #2)
I think the compilation process is running into a gcc 3.3.x bug, which I found reported as https://bugzilla.redhat.com/show_bug.cgi?id=109911 in the Red Hat bugzilla. It's easy enough to hack up include/winnt.h to get the compile-time assertions to pass by manually specifying eight-byte alignment for all the relevant ULONGLONG fields, but I'm not sure how Wine should work around this issue.
OpenBSD 4.8 uses gcc 4.2.1, so it's no longer an issue there. Thanks for looking.