delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-developers/1998/04/29/23:36:44

From: jeffdbREMOVETHIS AT goodnet DOT com (Mikey)
Subject: Re: structure packing/allingment
29 Apr 1998 23:36:44 -0700 :
Message-ID: <354a1423.44565668.cygnus.cygwin32.developers@smtp.goodnet.com>
References: <9804300514 DOT AA10682 AT modi DOT xraylith DOT wisc DOT edu>
Reply-To: jeffdbREMOVETHIS AT goodnet DOT com
Mime-Version: 1.0
To: cygwin32-developers AT cygnus DOT com

That's interesting,
with my patch I get

MIKEY:~$ ./bitpack-gcc.exe
Size of foo1 is 8
Size of foo2 is 8

because of -m486 obviously
apparently we need to place a default #pragma pack(1)
somewhere in the system headers, or the specs file,
to get exactly correct behavior. 
( which means figuring out the real structure packing 
for all the mingw32/win32api headers what fun!!! ;^0 )

with a #pragma pack(1) wrapped around the structs I get
MIKEY:~$ ./bitpack-gcc.exe
Size of foo1 is 2
Size of foo2 is 2

On Thu, 30 Apr 1998 00:13:14 -0500, you wrote:

>jeffdbREMOVETHIS AT goodnet DOT com (Mikey) writes:
>> 
>> #define PCC_BITFIELD_TYPE_MATTERS 0
>> this was defined in the emx port, and the guy apparently
>> knows what he is doing with structure alignment. 
>> ( I couldn't run the test at the end because I don't have cl.exe :)
>> If this is handeled somewhere else in the gcc config files,
>> I couldn't find it.
>
>Mikey, good catch! Here's what I get from GCC and MSVC4:
>
>    $ ./bitpack-gcc.exe 
>    Size of foo1 is 2
>    Size of foo2 is 5
>    $ ./bitpack-msvc4.exe         
>    Size of foo1 is 2
>    Size of foo2 is 2
>
>Mumit
>
>ps: I still haven't had time to look at your latest ld patches. Sorry. 

No prob ;^) like I said at the time it isn't the REAL solution.
I'll probably take a stab at fixing gas/bfd once I get this 
link-compat-SDK posted somewhere ;^)

>


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