RE: [PATCH] fixes for building kernel using Intel compiler

From: Nakajima, Jun (jun.nakajima@intel.com)
Date: Fri Oct 18 2002 - 21:17:19 EST


Thanks, Andi.

No, because of (size_t) (it's typedef) from offsetof() and &. But
        if ( (int) offsetof(struct task_struct, thread.i387.fxsave) % 16) {
would be optiminzed away. So I'll change the patch like that.

Thanks,
Jun
-----Original Message-----
From: Andi Kleen [mailto:ak@suse.de]
Sent: Friday, October 18, 2002 6:02 PM
To: Nakajima, Jun
Cc: Andi Kleen; David S. Miller; torvalds@transmeta.com;
linux-kernel@vger.kernel.org; Mallick, Asit K; Saxena, Sunil
Subject: Re: [PATCH] fixes for building kernel using Intel compiler

On Fri, Oct 18, 2002 at 05:45:08PM -0700, Nakajima, Jun wrote:
> No, it removes most of such cases. It happens only for a general boolean
> controlling expression, and this is the only spot as far as we tested. But

        So it would be optimized away if changed to

        if ((offsetof(struct task_struct, thread.i387.fxsave) & 15) != 0) {

        ?

> our argument is that the checking code is not required because
> thread.i387.fxsave is __attribute__ ((aligned (16))). If __attribute__
> ((aligned (...))) is broken, we should see more problems.

I think it would be better to keep the check, even with attribute aligned.
These bugs
are nasty to debug when they happen.

-Andi
-
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/



This archive was generated by hypermail 2b29 : Wed Oct 23 2002 - 22:00:46 EST