Date: Thu, 18 Mar 2004 11:05:05 +0200 From: Ruslan Ermilov <ru@freebsd.org> To: Marcel Moolenaar <marcel@xcllnt.net> Cc: ia64@freebsd.org Subject: Re: [current tinderbox] failure on ia64/ia64 Message-ID: <20040318090505.GA77835@ip.net.ua> In-Reply-To: <20040318084128.GA59199@dhcp01.pn.xcllnt.net> References: <20040317040254.386947303A@freebsd-current.sentex.ca> <xzpad2fhixn.fsf@dwp.des.no> <20040317113931.GF49920@ip.net.ua> <20040317200307.GA46126@ip.net.ua> <20040317205104.GA29066@dhcp01.pn.xcllnt.net> <20040317213014.GB46747@ip.net.ua> <20040318084128.GA59199@dhcp01.pn.xcllnt.net>
next in thread | previous in thread | raw e-mail | index | archive | help
--9amGYk9869ThD9tj
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
On Thu, Mar 18, 2004 at 12:41:28AM -0800, Marcel Moolenaar wrote:
> On Wed, Mar 17, 2004 at 11:30:14PM +0200, Ruslan Ermilov wrote:
> > On Wed, Mar 17, 2004 at 12:51:04PM -0800, Marcel Moolenaar wrote:
> > > On Wed, Mar 17, 2004 at 10:03:07PM +0200, Ruslan Ermilov wrote:
> > > > > >=20
> > > > > > for(i =3D 0; i < SOUND_MIXER_NRDEVICES; i++) {
> > > > > > if ((1 << i) & mask) {
> > > > > > v |=3D mt[i].iselect;
> > > > > > }
> > > > > > }
> > > > > >=20
> > > > >=20
> > > > Actually, this is easily reproduceable by compiling the correspondi=
ng
> > > > module on pluto1 with CFLAGS=3D"-O2 -pipe" set in environment. The=
re's
> > > > clearly a bug in gcc(1), as:
> > >=20
> > > What happens if you replace the for-loop with an equivalent while-loo=
p?
> > >=20
> > Doesn't make any difference. sparc64 and amd64 do not exhibit this pro=
blem.
> > (Yes, I tested this on amd64 as well, skipping the final ld(1) step of =
the
> > module's build.)
>=20
> The source code appears to be fishy. The variable v is never used.
> It's only defined. If you change the "return mask" to a "return v",
> the warning goes away.
>=20
But other *_setrecsrc() methods return "mask" too. It looks like it comput=
es
something but doesn't use that computed value to program the device, as oth=
er
*_setrecsrc() methods do. (Still, gcc(1) is buggy here.)
Cheers,
--=20
Ruslan Ermilov
FreeBSD committer
ru@FreeBSD.org
--9amGYk9869ThD9tj
Content-Type: application/pgp-signature
Content-Disposition: inline
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (FreeBSD)
iD8DBQFAWWZBUkv4P6juNwoRAusvAJ9b99BV30AoMozBCzO/hIGBN4sc/ACfUDjg
p5twG7rR8LDr+m3xaqE21ZM=
=J7jm
-----END PGP SIGNATURE-----
--9amGYk9869ThD9tj--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040318090505.GA77835>
