public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Adrian Bunk <bunk@stusta.de>
To: David Woodhouse <dwmw2@infradead.org>
Cc: linux-kernel@vger.kernel.org, sam@ravnborg.org
Subject: Re: [PATCH] 'make headers_install' kbuild target.
Date: Sat, 22 Apr 2006 11:33:28 +0200	[thread overview]
Message-ID: <20060422093328.GM19754@stusta.de> (raw)
In-Reply-To: <1145672241.16166.156.camel@shinybook.infradead.org>

On Sat, Apr 22, 2006 at 03:17:20AM +0100, David Woodhouse wrote:
>...
> Implementation details aside, the point is that we can now work on
> refining the choice of headers to be exported, and more importantly we
> can start fixing the _contents_ of those headers so that nothing which
> should be private is exported in them outside #ifdef __KERNEL__.
> 
> I've chosen headers in the generic directories and in asm-powerpc; the
> other asm directories could do with a proper selection being made; the
> rest of the current list is just inherited from Fedora's
> glibc-kernheaders package for now.
> 
> For a start, the headers I've marked for export are sometimes including
> headers which _weren't_ so marked, and hence which don't exist in our
> exported set of headers. I've started to move those inclusions into
> #ifdef __KERNEL__ where appropriate, but there's more of that to do
> before we can even use these for building anything and actually start to
> test them in earnest.
> 
> Adrian, I'm hoping we can persuade you to help us audit the resulting
> contents of usr/include/* and apply your usual treatment to the headers
> until it looks sane. That assistance would be very much appreciated.

My thirst thought is:
Is this really the best approach, or could this be done better?

I'm currently more a fan of a separate kabi/ subdir with headers used by 
both headers under linux/ and userspace.

Why?

Unless I'm misunderstanding this, your changes are giving a result 
identical result to simply using the current kernel headers (stripping 
the #ifdef __KERNEL__ stuff doesn't change anything).

If we want to define an ABI and do it right, the resulting ABI headers
should be write-only, and should even continue to contain the ABI for
code already removed from the kernel.

It should be possible to do this incrementically:
- without breaking the kernel at any time
- with no userspace breakages when switching to the ABI headers for 
  userspace (there might be corner cases, and if e.g. the asm-i386/atomic.h
  abuse by MySQL breaks that's not a loss)

This might take a bit longer, but as a result we have:
- an ABI where diffstat is able to tell us if someone has touched the ABI
  (can git trigger electric shocks for everyone trying to commit or pull 
   changes to the kabi/ subdir?  ;-)  )
- as a side effect, some cleanup of the current kernel headers

Unless someone can tell me a reason why this wouldn't work (except for 
being a bit more work than your approach), this is the approach I have 
in mind for working on.

> dwmw2

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


  reply	other threads:[~2006-04-22 17:27 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-22  2:17 [PATCH] 'make headers_install' kbuild target David Woodhouse
2006-04-22  9:33 ` Adrian Bunk [this message]
2006-04-22 12:03   ` David Woodhouse
2006-04-22 12:38     ` Adrian Bunk
2006-04-22 12:48       ` David Woodhouse
2006-04-22 13:20         ` Adrian Bunk
2006-04-22 13:36           ` David Woodhouse
2006-04-22 14:11             ` Adrian Bunk
2006-04-22 14:26               ` David Woodhouse
2006-04-22 14:44                 ` Adrian Bunk
2006-04-22 14:56                   ` David Woodhouse
2006-04-22 15:30           ` David Woodhouse
2006-04-22 21:13             ` Arnd Bergmann
2006-04-23  7:09               ` Arjan van de Ven
2006-04-23 16:51                 ` Arnd Bergmann
2006-04-23 17:00                 ` Joshua Hudson
2006-04-22 14:14     ` Sam Ravnborg
2006-04-22 14:20       ` Adrian Bunk
2006-04-22 14:28         ` Sam Ravnborg
2006-04-22 14:47           ` David Woodhouse
2006-04-22 14:50           ` Adrian Bunk
2006-04-28 18:15             ` Rob Landley
2006-04-28 18:27               ` David Woodhouse
2006-04-28 19:59                 ` Rob Landley
2006-04-22 14:35         ` David Woodhouse
2006-04-23 20:47 ` David Woodhouse
2006-04-24  0:12 ` David Woodhouse
2006-04-28 18:13 ` Rob Landley
2006-04-28 18:22   ` David Woodhouse

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060422093328.GM19754@stusta.de \
    --to=bunk@stusta.de \
    --cc=dwmw2@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sam@ravnborg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox