Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 19 Jun 2011 11:51:51 +0300
From:      Kostik Belousov <kostikbel@gmail.com>
To:        "Simon L. B. Nielsen" <simon@nitro.dk>
Cc:        src-committers@freebsd.org, Jilles Tjoelker <jilles@stack.nl>, Ben Laurie <benl@freebsd.org>, svn-src-all@freebsd.org, Philip Paeps <philip@freebsd.org>, svn-src-head@freebsd.org
Subject:   Re: svn commit: r223262 - in head: cddl/contrib/opensolaris/lib/libdtrace/common contrib/binutils/bfd contrib/binutils/gas contrib/binutils/gas/config contrib/binutils/ld contrib/binutils/opcodes contr...
Message-ID:  <20110619085151.GB48734@deviant.kiev.zoral.com.ua>
In-Reply-To: <B9D82F44-A580-4722-8F8C-81A30F490D3A@nitro.dk>
References:  <201106181356.p5IDuXhW044171@svn.freebsd.org> <20110618204836.GA46582@stack.nl> <B9D82F44-A580-4722-8F8C-81A30F490D3A@nitro.dk>

next in thread | previous in thread | raw e-mail | index | archive | help

--Zk+PeIDuky64cHni
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sun, Jun 19, 2011 at 10:38:44AM +0200, Simon L. B. Nielsen wrote:
>=20
> On 18 Jun 2011, at 22:48, Jilles Tjoelker wrote:
>=20
> > On Sat, Jun 18, 2011 at 01:56:33PM +0000, Ben Laurie wrote:
> >> Modified: head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c
> >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D
> >> --- head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c	Sat J=
un 18 13:54:36 2011	(r223261)
> >> +++ head/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c	Sat J=
un 18 13:56:33 2011	(r223262)
> >> @@ -45,6 +45,7 @@
> >> #include <assert.h>
> >> #include <libgen.h>
> >> #include <limits.h>
> >> +#include <stdint.h>
> >>=20
> >> #include <dt_impl.h>
> >>=20
> >> @@ -811,15 +812,14 @@ dt_basename(char *str)
> >> ulong_t
> >> dt_popc(ulong_t x)
> >> {
> >> -#ifdef _ILP32
> >> +#if defined(_ILP32)
> >> 	x =3D x - ((x >> 1) & 0x55555555UL);
> >> 	x =3D (x & 0x33333333UL) + ((x >> 2) & 0x33333333UL);
> >> 	x =3D (x + (x >> 4)) & 0x0F0F0F0FUL;
> >> 	x =3D x + (x >> 8);
> >> 	x =3D x + (x >> 16);
> >> 	return (x & 0x3F);
> >> -#endif
> >> -#ifdef _LP64
> >> +#elif defined(_LP64)
> >> 	x =3D x - ((x >> 1) & 0x5555555555555555ULL);
> >> 	x =3D (x & 0x3333333333333333ULL) + ((x >> 2) & 0x3333333333333333ULL=
);
> >> 	x =3D (x + (x >> 4)) & 0x0F0F0F0F0F0F0F0FULL;
> >> @@ -827,6 +827,8 @@ dt_popc(ulong_t x)
> >> 	x =3D x + (x >> 16);
> >> 	x =3D x + (x >> 32);
> >> 	return (x & 0x7F);
> >> +#else
> >> +# warning need td_popc() implementation
> >> #endif
> >> }
> >=20
> > This commit uncovers breakage that had been present for a while. If I
> > compile this on stable/8 i386 for head i386, _ILP32 is not defined and
> > the warning is hit, breaking the build. Apparently, the code had been
> > broken for a while but I do not use dtrace so I would not have noticed.
> > The tinderboxes have now also noticed the problem so it is not something
> > weird about my system.
>=20
> What would be the correct (at least temporary) fix?  Replace the _ILP32 /=
 _LP64 checks with specific architecture checks ?
>=20
> I can see that on i386 _ILP32  isn't actually defined - but on amd64 _LP6=
4 is... and it still breaks.
>=20
> [simon@zaphod:~] ssh ref9-i386.freebsd.org 'cpp -dM < /dev/null | grep LP'
> [simon@zaphod:~] ssh ref9-amd64.freebsd.org 'cpp -dM < /dev/null | grep L=
P'
> #define __LP64__ 1
> #define _LP64 1
> [simon@zaphod:~] ssh ref8-amd64.freebsd.org 'cpp -dM < /dev/null | grep L=
P'
> #define __LP64__ 1
> #define _LP64 1
>=20
> I must be missing something...
It breaks on amd64 while building compat32 libraries. The build step
uses i386-targeted compiler, which lacks the ILP32 definition.

--Zk+PeIDuky64cHni
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (FreeBSD)

iEYEARECAAYFAk39uKcACgkQC3+MBN1Mb4j15ACgpgwXIiikRlK4oV9StwH/VS5w
sCMAnRchEvb5XvEW9URHPCMBebXl+3Ch
=ucLP
-----END PGP SIGNATURE-----

--Zk+PeIDuky64cHni--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110619085151.GB48734>