Re: [PATCH] Speed up "make headers_*"

From: Tim Schmielau
Date: Wed Jun 25 2008 - 22:14:43 EST


[apologies for the late reply, I do not follow lkml anymore]

On Sun, 2008-06-08 at 14:17 +0100, David Woodhouse wrote:
On Sun, 2008-06-08 at 13:17 +0200, Sam Ravnborg wrote:
> #if !defined(CONFIG_M68K) || !defined(__KERNEL__)

That's just scary, and broken for m68k where in userspace neither
CONFIG_M68K nor __KERNEL__ will be defined, so the unwanted ac_ahz
member will actually show up and break the binary compatibility.
Assuming we _don't_ want the ac_ahz member to be included on m68k, this
should fix it (is __mc68000__ the right thing to use?)...

diff --git a/include/linux/acct.h b/include/linux/acct.h
index e8cae54..228473b 100644
--- a/include/linux/acct.h
+++ b/include/linux/acct.h
@@ -58,8 +58,7 @@ struct acct
comp_t ac_minflt; /* Minor Pagefaults */
comp_t ac_majflt; /* Major Pagefaults */
comp_t ac_swaps; /* Number of Swaps */
-/* m68k had no padding here. */
-#if !defined(CONFIG_M68K) || !defined(__KERNEL__)
+#ifndef __mc68000__ /* m68k had no padding here. */
__u16 ac_ahz; /* AHZ */
#endif
__u32 ac_exitcode; /* Exitcode */

This would make cross-compiled m68k kernels silently write wrong
accounting files.

I personally believe it more likely to find an m68k user cross-compiling
his kernels than one including kernel headers in userspace, which was
frowned upon at the time the above code was written (and the number
of BSD accounting users on m68k was estimated as nil, anyways).

If we want this header to work on m68k in userspace, something even
more scary like the following approximation to a mind-reading device
would be needed:

#if !defined(CONFIG_M68K) || (!defined(__KERNEL__) && ! defined(__mc68000__))

Tim

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/