18 Nov, 2011
1 commit
-
Generated asm headers are supposed to live in
arch/*/include/generated/asm, but objhdr-y expect them to live in the
same directory they are generated in. Instead of trying to cut that
particular Gordian knot, introduce genhdr-y that takes this into
account; the sole user of objhdr-y, linux/version.h, should be
migrated over at some later date.Suggested-by: David Woodhouse
Acked-by: David Woodhouse
Cc: Sam Ravnborg
Cc: Michal Marek
Signed-off-by: H. Peter Anvin
29 Apr, 2011
1 commit
-
There is an increasing amount of header files
shared between individual architectures in asm-generic.
To avoid a lot of dummy wrapper files that just
include the corresponding file in asm-generic provide
some basic support in kbuild for this.With the following patch an architecture can maintain
a list of files in the file arch/$(ARCH)/include/asm/KbuildTo use a generic file just add:
generic-y +=
For each file listed kbuild will generate the necessary
wrapper in arch/$(ARCH)/include/generated/asm.When installing userspace headers a wrapper is likewise created.
The original inspiration for this came from the unicore32
patchset - although a different method is used.The patch includes several improvements from Arnd Bergmann.
Michael Marek contributed Makefile.asm-generic.Remis Baima did an intial implementation along to achive
the same - see https://patchwork.kernel.org/patch/13352/Signed-off-by: Sam Ravnborg
Acked-by: Guan Xuetao
Tested-by: Guan Xuetao
Acked-by: Arnd Bergmann
Cc: Remis Lima Baima
Signed-off-by: Michal Marek
15 Aug, 2010
1 commit
-
unifdef-y is not used anymore - drop remaining references
Signed-off-by: Sam Ravnborg
10 Jun, 2009
1 commit
-
I'm trying to install kernel headers to build a cross-toolchain, but got
the following:make ARCH=arm
INSTALL_HDR_PATH=/work/psl/eldk-builds/arm-2009-04-21/work/var/tmp/crosstool-0.43-3-root/usr/crosstool/gcc-4.2.2-glibc-20070515T2025-eldk/
+arm-linux-gnueabi/arm-linux-gnueabi/
headers_check
...
CHECK include/linux/raid (2 files)
CHECK include/linux/spi (1 files)
CHECK include/linux/sunrpc (1 files)
CHECK include/linux/tc_act (6 files)
CHECK include/linux/tc_ematch (4 files)
CHECK include/linux/usb (8 files)
make[2]: execvp: /bin/sh: Argument list too long
make[2]: ***
[/work/psl/eldk-builds/arm-2009-04-21/work/var/tmp/crosstool-0.43-3-root/usr/crosstool/gcc-4.2.2-glibc-20070515T2025-eldk/arm-linux-gnueab
+i/arm-linux-gnueabi//include/linux/.check]
Error 127
make[1]: *** [linux] Error 2
make: *** [headers_check] Error 2
->Introduce use of xargs to fix this.
Signed-off-by: Sergei Poselenov
Cc: Wolfgang Denk
Signed-off-by: Sam Ravnborg
11 Apr, 2009
1 commit
-
xtensa and arm have asked for a possibility to export headers
and locate them in a specific directory when exported.
Introduce destiantion-y to support this.This patch in additiona adds some limited
documentation for the variables used for exported headers.Signed-off-by: Sam Ravnborg
Cc: Oskar Schirmer
Cc: Mikael Starvik
26 Jul, 2008
6 commits
-
We see some header files that are selected dependent on
the actual architecture so force a reinstallation
of all header files when the arch changes.
This slows down "make headers_check_all" but then
we better reflect reality.Signed-off-by: Sam Ravnborg
-
Move the core functionality of headers_install
and headers_check to two small perl scripts.
The makefile is adapted to use the perl scrip and
changed to operate on all files in a directory.
So if one file is changed then all files in the
directory is processed.perl were chosen for the helper scripts because this
is pure text processing which perl is good at and
especially the headers_check.pl script are expected to
see changes / new checks implmented.The speed is ~300% faster on this box.
And the output generated to the screen is now down to
two lines per directory (one for install, one for check)
so it is easier to scroll back after a kernel build.The perl scripts has been brought to sanity by patient
feedback from: Vegard NossumSigned-off-by: Sam Ravnborg
-
Move it to the top-level file to decide if we install/check
the generic headers or the arch specific headers.This revealed a long standing bug where "make headers_check_all"
relied on the files in asm/ for the current architecture.
So make headers_check_all is now broken by this commit.In addition:
o add a simpler way to detect if an arch support
exporting header files.o add 'set -e;' so we error out early if
make headers_check_all fails.o add sparc64 and cris to arch we do not process
in make headers_*_all because:sparc64 - use sparc to export headers
cris - is know seriously brokenIncludes suggestions from: David Woodhouse
.Signed-off-by: Sam Ravnborg
Cc: David Woodhouse -
No functional changes just improved readability
Signed-off-by: Sam Ravnborg
-
ALTARCH is no longer used by any arch(*) so drop
support for this from Makefile.headerinstDropping ALTARCH support simplifies Makefile.headerinst
(*) sparc64 uses it but work is ongoing to drop it
and no furter usage is planned.Signed-off-by: Sam Ravnborg
Cc: David Woodhouse
Cc: David Miller -
unifdef utility is fast enough to warrant that we always
run the scripts through unifdef.This patch runs all headers listed with header-y and unifdef-y
through unifdef.
Next step is to drop unifdef-y in all Kbuild files and
that can now be done in smaller steps.Signed-off-by: Sam Ravnborg
Cc: David Woodhouse
Cc: Adrian Bunk
17 Jul, 2007
1 commit
-
The sed expression used at the moment in scripts/Makefile.headersinst
relies on the (handy) GNU extension where you can escape ERE's in an
otherwise BRE without using the GNU -r option. The following patch
replaces this "\+" usage with a functionally equivalent POSIX BRE compliant
"\{1,\}". Tested with `make headers_install` against blackfin/x86_64/i386
targets.Stupid whiny OS X users and their crappy sed ;)
Signed-off-by: Mike Frysinger
Signed-off-by: Andrew Morton
Signed-off-by: Sam Ravnborg
07 Jul, 2007
1 commit
-
A bug in headers_install for ARCH=x86_64 yields an asm/ directory full of
files all of which are using the same #ifdef guard, "__ASM_STUB_" with no
postfix. So the second and later asm files #included in the same C file
(often through standard headers like ioctl.h) yields no symbols.Strangeness with the Ubuntu 'tell me if I support something that's not
explcitly mentioned in POSIX, and I'll strip it out' shell, I believe.We don't need the 'export' but we do need a semicolon at the end of the
FNAME line:Signed-off-by: David Woodhouse
Signed-off-by: Rob Landley
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
22 May, 2007
1 commit
-
This should make it stop immediately after printing the _helpful_ error
message, rather than continuing to spit out many pages more of 'CHECK
include/linux/foo.h' before eventually coming to a halt with something
less obvious.Now I get this...
CHECK include/linux/smb_fs.h
/shiny/git/linux-2.6/usr/include/linux/smb_fs.h requires linux/jiffies.h, which does not exist in exported headers
make[2]: *** [/shiny/git/linux-2.6/usr/include/linux/.check.smb_fs.h] Error 1
make[1]: *** [linux] Error 2
make: *** [headers_check] Error 2Signed-off-by-if-Sam-says-so: David Woodhouse
[ Sam had better say so! This made me waste way too much time. - Linus]
Signed-off-by: Linus Torvalds
31 Jan, 2007
1 commit
-
The current filename->define translation does not scrub dashes so when
creating stub defines for like asm-x86_64/ptrace-abi.h, we get: #define
__ASM_STUB_PTRACE-ABI_Hgcc just hates that sort of thing :)
trivial attached patch adds - to the tr list to scrub it to _
Signed-off-by: Mike Frysinger
Cc: David Woodhouse
Cc: Sam Ravnborg
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
17 Oct, 2006
1 commit
-
Fix this:
make[3]: *** No rule to make target
`/mnt/md0/devel/linux-git/include/linux/version.h', needed by
`/mnt/md0/devel/linux-git-obj/usr/include/linux/version.h'. Stop.
make[2]: *** [linux] Error 2
make[1]: *** [headers_install] Error 2Signed-off-by: David Woodhouse
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
04 Oct, 2006
1 commit
-
Don't require that scripts/hdrcheck.sh be executable - shit happens...
Cc: Sam Ravnborg
Acked-by: David Woodhouse
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
25 Sep, 2006
3 commits
-
* git://git.infradead.org/~dwmw2/khdrs-2.6:
New 'make headers_install_all' target.
Use dependencies for 'make headers_install'.
[S390] Unexport , export in its place.
Remove dead netfilter_logging.h from include/linux/Kbuild
Remove offsetof() from user-visible
Clean up exported headers on CRIS
Fix v850 exported headers
Don't advertise (or allow) headers_{install,check} where inappropriate.
Remove UML header export
Remove ARM26 header export.
Fix H8300 exported headers.
Fix m68knommu exported headers
Fix exported headers for SPARC, SPARC64
Fix 'make headers_check' on m32r
Fix 'make headers_check' on sh64
Fix 'make headers_check' on sh
[HEADERS] Fix ARM 'make headers_check'Initial pass of manual conflict resolution in top-level Makefile over
conflicting build rule and headers_install changes. -
Let headers_install use in-kernel unifdef
Signed-off-by: Sam Ravnborg
-
Re-export header files only if either they or their controlling Kbuild
file has actually changed. Also allow for similar dependencies with
'headers_check', once we properly create the dependencies for those.Signed-off-by: David Woodhouse
17 Sep, 2006
1 commit
-
We generate an which includes either or
as appropriate. But we were doing this dependent on
whether the file in question existed in the _unexported_ tree, not the
exported tree. So if a file was exported to userspace in one asm- directory
but not the other, the generated file in asm/ was incorrect.This only changed the failure mode if it _was_ included from a nice #error to
a less explicable #include failure -- but it also gave false errors in 'make
headers_check' output. Fix it by looking in the right place instead.Signed-off-by: David Woodhouse
Cc: Sam Ravnborg
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
18 Jun, 2006
2 commits
-
Based on the 'headers_install' target, this performs a basic sanity check
on the exported headers -- so far only checking that they do not include
any other headers which aren't selected for import, but easily extendable.Signed-off-by: David Woodhouse
-
This adds a make target which exports a subset of headers which contain
definitions which are useful for system libraries and tools. It uses the
BSD 'unifdef' tool to remove instances of #ifdef __KERNEL__, and uses
sed to remove markers like __user.Based on an original implementation by Arnd Bergmann
Hacked about by David Woodhouse
Reviewed and cleaned up by Sam RavnborgSigned-off-by: David Woodhouse