<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
Mika, Hm. I would have expected 44 for FreeBSD/x86. Needs slightly more investigation.<BR>
PPC_DARWIN we agree on.<BR>
<BR>
Thanks,<BR>
- Jay<BR><BR> <BR>> To: jay.krell@cornell.edu<BR>> Date: Wed, 6 Jan 2010 08:25:58 -0800<BR>> From: mika@async.async.caltech.edu<BR>> CC: m3devel@elegosoft.com<BR>> Subject: Re: [M3devel] double double double double checking jmp_buf size/alignment<BR>> <BR>> Forgot the #endif there?<BR>> <BR>> (81)trs80:~>./a.out<BR>> 48 4<BR>> (82)trs80:~>uname -a<BR>> FreeBSD trs80.async.caltech.edu 4.11-RELEASE FreeBSD 4.11-RELEASE #3: Mon Nov 21 20:27:08 PST 2005 root@trs80.async.caltech.edu:/usr/src/sys/compile/TRS80 i386<BR>> <BR>> [lapdog:~] mika% cc jay.c<BR>> [lapdog:~] mika% ./a.out<BR>> 768 4<BR>> [lapdog:~] mika% uname -a<BR>> Darwin lapdog 8.11.0 Darwin Kernel Version 8.11.0: Wed Oct 10 18:26:00 PDT 2007; root:xnu-792.24.17~1/RELEASE_PPC Power Macintosh powerpc<BR>> [lapdog:~] mika% <BR>> <BR>> Jay K writes:<BR>> >--_b0fc625a-8a60-4f2b-9394-0f52cc975894_<BR>> >Content-Type: text/plain; charset="iso-8859-1"<BR>> >Content-Transfer-Encoding: quoted-printable<BR>> ><BR>> ><BR>> >Was truncated!..edited slightly to avoid..<BR>> ><BR>> ><BR>> >From: jay.krell@cornell.edu<BR>> >To: m3devel@elegosoft.com<BR>> >Subject: double double double double checking jmp_buf size/alignment<BR>> >Date: Wed=2C 6 Jan 2010 12:28:02 +0000<BR>> ><BR>> ><BR>> ><BR>> ><BR>> ><BR>> ><BR>> ><BR>> ><BR>> >Getting this right is very important.<BR>> > Well=2C we can overstate but it is wasteful.<BR>> ><BR>> ><BR>> >So anyone with any time=2C please compile/run this and send the "platform" =<BR>> >(uname -a) and the output=2C thanks.<BR>> >Or look at m3-libs/m3core/src/C/*/Csetjmp.i3 and<BR>> >m3-sys/m3middle/src/Target.m3 and see if all three agree.<BR>> ><BR>> ><BR>> >I have checked a bunch of systems myself but extra checking is good.<BR>> ><BR>> ><BR>> >If you have a system we do not yet or any longer support=2C those are ok to=<BR>> >o.<BR>> > (e.g. Alpha_*=2C ARM_*=2C MIPS_*=2C *_Irix=2C *_VMS=2C *_Tru64 etc.)<BR>> ><BR>> >=20<BR>> >#include <setjmp.h><BR>> >#include <stdio.h><BR>> ><BR>> >#ifdef __GNUC__<BR>> >#define ALIGN_OF(x) ((int)(sizeof(struct { char a=3B x b=3B }) - sizeof(x))=<BR>> >)<BR>> >#else<BR>> >#define ALIGN_OF(x) ((int)__alignof(x))<BR>> ><BR>> >int main()<BR>> >{<BR>> > printf("%d %d\n"=2C (int)sizeof(jmp_buf)=2C ALIGN_OF(jmp_buf))=3B<BR>> > return 0=3B<BR>> >}<BR>> ><BR>> ><BR>> >Thanks=2C<BR>> > - Jay<BR>> > =<BR>> ><BR>> >--_b0fc625a-8a60-4f2b-9394-0f52cc975894_<BR>> >Content-Type: text/html; charset="iso-8859-1"<BR>> >Content-Transfer-Encoding: quoted-printable<BR>> ><BR>> ><html><BR>> ><head><BR>> ><style><!--<BR>> >.hmmessage P<BR>> >{<BR>> >margin:0px=3B<BR>> >padding:0px<BR>> >}<BR>> >body.hmmessage<BR>> >{<BR>> >font-size: 10pt=3B<BR>> >font-family:Verdana<BR>> >}<BR>> >--></style><BR>> ></head><BR>> ><body class=3D'hmmessage'><BR>> >Was truncated!..edited slightly to avoid..<br><br><br><hr id=3D"stopSpellin=<BR>> >g">From: jay.krell@cornell.edu<br>To: m3devel@elegosoft.com<br>Subject: dou=<BR>> >ble double double double checking jmp_buf size/alignment<br>Date: Wed=2C 6 =<BR>> >Jan 2010 12:28:02 +0000<br><br><BR>> ><BR>> ><BR>> ><BR>> ><style><BR>> >.ExternalClass .ecxhmmessage P<BR>> >{padding:0px=3B}<BR>> >.ExternalClass body.ecxhmmessage<BR>> >{font-size:10pt=3Bfont-family:Verdana=3B}<BR>> ></style><BR>> ><BR>> ><BR>> >Getting this right is very important.<br> =3B Well=2C we can overstate =<BR>> >but it is wasteful.<br><br><br>So anyone with any time=2C please compile/ru=<BR>> >n this and send the "platform" (uname -a) and the output=2C thanks.<br>Or l=<BR>> >ook at m3-libs/m3core/src/C/*/Csetjmp.i3 and<br>m3-sys/m3middle/src/Target.=<BR>> >m3 and see if all three agree.<br><br><br>I have checked a bunch of systems=<BR>> > myself but extra checking is good.<br><br><br>If you have a system we do n=<BR>> >ot yet or any longer support=2C those are ok too.<br> =3B(e.g. Alpha_*=<BR>> >=2C ARM_*=2C MIPS_*=2C *_Irix=2C *_VMS=2C *_Tru64 etc.)<br><br> =3B<br>=<BR>> >#include <=3Bsetjmp.h>=3B<br>#include <=3Bstdio.h>=3B<br><br>#ifdef=<BR>> > __GNUC__<br>#define ALIGN_OF(x) ((int)(sizeof(struct { char a=3B x b=3B })=<BR>> > - sizeof(x)))<br>#else<br>#define ALIGN_OF(x) ((int)__alignof(x))<br><br>i=<BR>> >nt main()<br>{<br> =3B printf("%d %d\n"=2C (int)sizeof(jmp_buf)=2C ALIG=<BR>> >N_OF(jmp_buf))=3B<br> =3B return 0=3B<br>}<br><br><br>Thanks=2C<br>&nbs=<BR>> >p=3B- Jay<br> </body><BR>> ></html>=<BR>> ><BR>> >--_b0fc625a-8a60-4f2b-9394-0f52cc975894_--<BR> </body>
</html>