public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
From: Keith Owens <kaos@ocs.com.au>
To: linux-ia64@vger.kernel.org
Subject: Re: [Linux-ia64] Cleanup include/asm-ia64/offsets.h - take 2
Date: Mon, 30 Apr 2001 22:31:04 +0000	[thread overview]
Message-ID: <marc-linux-ia64-105590693005491@msgid-missing> (raw)
In-Reply-To: <marc-linux-ia64-105590693005486@msgid-missing>

On Mon, 30 Apr 2001 08:00:57 -0700, 
David Mosberger <davidm@hpl.hp.com> wrote:
>>>>>> On Mon, 30 Apr 2001 14:57:45 +1000, Keith Owens <kaos@ocs.com.au> said:
>
>  Keith> Second version of offsets.h cleanup patch.  Instead of
>  Keith> changing lots of C code, define just the 11 IA64_*_OFFSET
>  Keith> fields used by C in ptrace.h.
>
>This is better, but still no cigar: print_tools knows all the symbols
>that we might want to use in assembly or C code so I'd rather have it
>generate all definitions.  I'm OK with using different definitions for
>C and asm, _provided_ they have the same name and they are
>automatically generated (to ensure consistency).  Ideally, I'd like
>these #defines to live in the same place (header file).

The kernel build system copes reasonably well with shipped files, using
implicit dependencies which take config changes into account.  kbuild
has problems with generated files because they require explicit
dependency information to ensure that they are built before any file
that uses a generated file is read.

A single version of offsets.h is a problem because it needs to be
included in several .c files, each of those .c files requires an
explicit dependency on the build of offsets.h.  Because offsets.h
depends on config changes, on header changes and possibly on command
line parameters to make, it is impractible to work out if any of the
inputs to offsets.h have changed.  Instead it must be generated every
time and checked to see if has changed.  That is acceptable for 5
assembler files, it is not acceptable to regenerate offsets.h for every
.c file that might include offsets.h.

There are only 11 IA64_*_OFFSET fields used by .c files.  The cleanest
solution is to define those 11 fields in the headers that also define
the structure, which is what I did.  There is no justification for
complicating the kernel build system any more than it already is, just
to avoid 11 #defines.



  parent reply	other threads:[~2001-04-30 22:31 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-04-28  2:49 [Linux-ia64] Cleanup include/asm-ia64/offsets.h Keith Owens
2001-04-28  2:55 ` David Mosberger
2001-04-28  3:20 ` Keith Owens
2001-04-30  4:57 ` [Linux-ia64] Cleanup include/asm-ia64/offsets.h - take 2 Keith Owens
2001-04-30 15:00 ` David Mosberger
2001-04-30 22:31 ` Keith Owens [this message]
2001-04-30 22:51 ` Don Dugger
2001-04-30 23:20 ` Keith Owens
2001-05-01  8:36 ` Doug Rabson
2001-05-07 18:08 ` David Mosberger

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=marc-linux-ia64-105590693005491@msgid-missing \
    --to=kaos@ocs.com.au \
    --cc=linux-ia64@vger.kernel.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