delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-developers/1998/04/27/17:56:21

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
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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019