Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965150AbWJJMNL (ORCPT ); Tue, 10 Oct 2006 08:13:11 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S965147AbWJJMNL (ORCPT ); Tue, 10 Oct 2006 08:13:11 -0400 Received: from e31.co.us.ibm.com ([32.97.110.149]:34754 "EHLO e31.co.us.ibm.com") by vger.kernel.org with ESMTP id S965135AbWJJMNI (ORCPT ); Tue, 10 Oct 2006 08:13:08 -0400 From: Arnd Bergmann Organization: IBM Deutschland Entwicklung GmbH To: David Woodhouse Subject: Re: [PATCH 1/4] LOG2: Implement a general integer log2 facility in the kernel [try #4] Date: Tue, 10 Oct 2006 14:12:57 +0200 User-Agent: KMail/1.9.4 Cc: Geert Uytterhoeven , Jan Engelhardt , Kyle Moffett , David Howells , Matthew Wilcox , Linus Torvalds , Andrew Morton , sfr@canb.auug.org.au, Linux Kernel Development , linux-arch@vger.kernel.org References: <200610091847.05441.arnd.bergmann@de.ibm.com> <1160466933.7920.25.camel@pmac.infradead.org> In-Reply-To: <1160466933.7920.25.camel@pmac.infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200610101413.00952.arnd.bergmann@de.ibm.com> Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1810 Lines: 51 On Tuesday 10 October 2006 09:55, David Woodhouse wrote: > On Mon, 2006-10-09 at 18:47 +0200, Arnd Bergmann wrote: > > That has the potential of breaking other source files that don't expect > > linux/types.h to bring in the whole stdint.h file. > > I don't think we need to care about those. Userspace in _general_ > shouldn't be including our header files -- this is only for low-level > system stuff, and that can be expected to deal with the fact that we > define and use some standard C types from last century. Some of our headers are traditionally included by libc headers. E.g. sys/stat.h might include asm/stat.h, but must not include stdint.h. It's somewhat different for file that are completely outside of the scope of posix, e.g. , that don't give any guarantees about what they include. > > Also, it may break some other linux header files that include > > and expect to get stuff like uid_t, which you don't get if a glibc header is > > included first, because of __KERNEL_STRICT_NAMES. > > We have that problem already, don't we? It would get worse. An application can now do #include #include #include but not #include #include #include If includes itself, the first examples breaks as well. I'd prefer to clean up all of our headers so they work with __KERNEL_STRICT_NAMES and in any order, but that's a lot of work and in the meantime we should make sure we don't make matters worse. Arnd <>< - 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/