Re: [PATCH (updated)] Avoid annoying build warning on 32-bit platforms

Martin Zwickel
2004-10-20T11:41:40Z

[-- Attachment #1: Type: text/plain, Size: 1537 bytes --]

On Wed, 20 Oct 2004 03:23:43 -0700
Chris Wedgwood <cw@f00f.org> bubbled:

> On Wed, Oct 20, 2004 at 11:56:45AM +0200, Mikael Pettersson wrote:
>
> > There's a coding idiom for doing this: just break up
> > the ">> 32" in two steps, like: ((time >> 31) >> 1).
>
> i assumed gcc would complain there too but it doesn't and it does
> optimize this away (i checked)
>
> > Definitely preferable over #ifdef:s.
>
> indeed
>
>
>
> Avoid annoying gcc warning on 32-bit platforms.
>
> Signed-off-by: cw@f00f.org
>
> ===== drivers/char/random.c 1.57 vs edited =====
> --- 1.57/drivers/char/random.c 2004-10-05 14:21:53 -07:00
> +++ edited/drivers/char/random.c 2004-10-20 03:19:17 -07:00
> @@ -818,12 +818,10 @@ static void add_timer_randomness(struct
> * jiffies.
> */
> time = get_cycles();
> - if (time != 0) {
> - if (sizeof(time) > 4)
> - num ^= (u32)(time >> 32);
> - } else {
> + if (time)
> + num ^= (u32)((time >> 32) >> 1);
^^ errr ... should be 31 ?!?!
> + else
> time = jiffies;
> - }
>
> /*
> * Calculate number of bits of randomness we probably added.
> -
> To unsubscribe from this list: send the line "unsubscribe
> linux-kernel" in the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

--
MyExcuse:
We've run out of licenses

Martin Zwickel <martin.zwickel@technotrend.de>
Research & Development

TechnoTrend AG <http://www.technotrend.de>

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]