Date: Fri, 27 Feb 2004 18:13:36 -0500 From: Joe Marcus Clarke <marcus@marcuscom.com> To: Marcel Moolenaar <marcel@xcllnt.net> Cc: Kris Kennaway <kris@obsecurity.org> Subject: Re: gimp-2.0.pre3_1,1 broken on ia64 Message-ID: <1077923616.762.67.camel@gyros> In-Reply-To: <20040227022441.GD66191@ns1.xcllnt.net> References: <20040226100851.GH94694@xor.obsecurity.org> <1077822108.45850.2.camel@shumai.marcuscom.com> <20040227022441.GD66191@ns1.xcllnt.net>
next in thread | previous in thread | raw e-mail | index | archive | help
--=-ArLoimJ4WzNKBLOmBBO5 Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On Thu, 2004-02-26 at 21:24, Marcel Moolenaar wrote: > On Thu, Feb 26, 2004 at 02:01:48PM -0500, Joe Marcus Clarke wrote: > > On Thu, 2004-02-26 at 05:08, Kris Kennaway wrote: > > > http://bento.freebsd.org/errorlogs/ia64-5-latest/gimp-2.0.pre3_1,1.lo= g > > >=20 > > > Can you please investigate and/or report to the developers? > >=20 > > This is another .keeper. We need to figure out why the libgimpprint > > test is dumping core. >=20 > The problem is quite generic and simple. Many configure tests are > based on small and simple C programs. A lot of them don't bother > to include header files or otehrwise provide prototypes. This is > mostly harmless on most architectures, because automatic int to > pointer conversion happens to end up with a valid pointer. On > ia64 however this is never the case. The upper 3 bits of a 64-bit > pointer is the region number, which on ia64 is never 0. Thus, > automatic int to pointer conversion never yields a valid pointer. >=20 > Now, back to gimp and gimp-print. The failing configure test is > based on the attached C program. Notice the strdup()? See a > prototype? >=20 > So, when you compile and run this, you get: >=20 > pluto1# cc -I/usr/local/include marcel.c -L/usr/local/lib -lgimpprint > marcel.c: In function `main': > marcel.c:70: warning: assignment makes pointer from integer without a cas= t > pluto1# ./a.out > Segmentation fault (core dumped) >=20 > If you add a prototype before main for strdup() everything is dandy. Yep, makes sense. The other tests that require strdup() use g_strdup() which works properly on 64-bit systems. I included string.h which has the prototype, so this should be fixed now. Thanks for your help. Joe >=20 > FYI, --=20 PGP Key : http://www.marcuscom.com/pgp.asc --=-ArLoimJ4WzNKBLOmBBO5 Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (FreeBSD) iD8DBQBAP88gb2iPiv4Uz4cRAo30AJ9GgzQVDNBhjXwlBuexdX0RiyQ/DwCfcoCj K5ZIUyEJIa9FwkltVRaR0sw= =g/GE -----END PGP SIGNATURE----- --=-ArLoimJ4WzNKBLOmBBO5--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1077923616.762.67.camel>