From: jeffdbREMOVETHIS AT goodnet DOT com (Mikey) Subject: Re: structure packing/allingment 27 Apr 1998 17:56:21 -0700 Message-ID: <35451d32.22962562.cygnus.cygwin32.developers@smtp.goodnet.com> References: <35440b86 DOT 44573818 AT smtp DOT goodnet DOT com> Reply-To: jeffdbREMOVETHIS AT goodnet DOT com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: cygwin32-developers AT cygnus DOT com Ok, I tried the following changes with egcs 1.0.2 + link-compat-ld + Mumit's __declspec.dif and they seem to work, at least bitmaps open without __attribute__((packed)) added to the SDK headers. FINALLY!!! in src/gcc/config/i386/cygwin32.h add -m486 like this -#define CPP_PREDEFINES "-Di386 -D_WIN32 \ +#define CPP_PREDEFINES "-m486 -Di386 -D_WIN32 \ which gives default 8 byte structure packing, needed since #pragma pack(8) is unsupported, so in pshpack8.h use #ifdef __GNUC__ #pragma pack() #else #pragma pack(8) #endif +/* Enable #pragma pack. */ +#undef HANDLE_SYSV_PRAGMA +#define HANDLE_SYSV_PRAGMA + +/* Bitfields may cross alignment boundaries. */ +#undef PCC_BITFIELD_TYPE_MATTERS +#define PCC_BITFIELD_TYPE_MATTERS 0 + +/* By default, return short structures in registers. */ +#undef DEFAULT_PCC_STRUCT_RETURN +#define DEFAULT_PCC_STRUCT_RETURN 0 since I'm running a P5 I also fixed specs with *cc1: %(cc1_cpu) -fno-strength-reduce -malign-jumps=2 -malign-loops=2 -malign-functions=2 *cc1plus: -fno-strength-reduce -malign-jumps=2 -malign-loops=2 -malign-functions=2 to keep .exe sizes down. ===================================================== Linux a platform built by, and for users, standing on the firm legs of reliability, and speed. Microsoft Windows, a platform without a leg to stand on. (jeffdbREMOVETHIS AT goodnet DOT com) delete REMOVETHIS from the above to reply Mikey