Messages in this thread | | | Date | Fri, 10 Oct 2008 08:15:56 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: [git pull] x86 updates for v2.6.28, phase #1 |
| |
On Fri, 10 Oct 2008, Ingo Molnar wrote: > > Vegard Nossum (3): > x86: consolidate header guards > x86: consolidate header guards
Ok, so I pulled phase 1, but quite frankly, I think this was utter crap. Why the hell did this go in?
The #1 "argument" for this was:
1. No leading underscore. Names with leading underscores are reserved.
but what the _hell_ do you think kernel header files are? They are system header files, and they _should_ use the reserved name-space.
Quite frankly, it's entirely possible that some crazy - but perfectly correct - user space program does something like
#include <sys/types.h>
int ASM_X86__TYPES_H = 1;
and the whole point in using underscores in system header files is that those names are reserved TO THE SYSTEM, so that normal portable programs never need to worry about their choice of names.
You just broke this. For no good reason. Just to make things uglier, and just because people apparently don't understand _why_ leading underscores are special. They are special exactly _because_ they are reserved for system use, and there is little less "systemy" than the headers exported by the kernel.
And yes, yes, we could add the f*cking things back when we export them as header files, but what's the point, really? And no, I'm not guaranteeing that we're being super-careful about namespace issues in all kernel headers that can get exported to user space, but we _try_.
Linus
| |