Skip site navigation (1)Skip section navigation (2)
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>