27 Nov, 2012
1 commit
-
Strip the _UAPI prefix from header guards during header installation so
that any userspace dependencies aren't affected. glibc, for example,
checks for linux/types.h, linux/kernel.h, linux/compiler.h and
linux/list.h by their guards - though the last two aren't actually
exported.libtool: compile: gcc -std=gnu99 -DHAVE_CONFIG_H -I. -Wall -Werror -Wformat -Wformat-security -D_FORTIFY_SOURCE=2 -fno-delete-null-pointer-checks -fstack-protector -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -c child.c -fPIC -DPIC -o .libs/child.o
In file included from cli.c:20:0:
common.h:152:8: error: redefinition of 'struct sysinfo'
In file included from /usr/include/linux/kernel.h:4:0,
from /usr/include/linux/sysctl.h:25,
from /usr/include/sys/sysctl.h:43,
from common.h:50,
from cli.c:20:
/usr/include/linux/sysinfo.h:7:8: note: originally defined hereReported-by: Tomasz Torcz
Signed-off-by: David Howells
Acked-by: Josh Boyer
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
03 Oct, 2012
1 commit
-
Plumb the UAPI Kbuilds into the user header installation and checking system.
As the headers are split the entries will be transferred across from the old
Kbuild files to the UAPI Kbuild files.The changes made in this commit are:
(1) Exported generated files (of which there are currently four) are moved to
uapi/ directories under the appropriate generated/ directory, thus we
get:include/generated/uapi/linux/version.h
arch/x86/include/generated/uapi/asm/unistd_32.h
arch/x86/include/generated/uapi/asm/unistd_64.h
arch/x86/include/generated/uapi/asm/unistd_x32.hThese paths were added to the build as -I flags in a previous patch.
(2) scripts/Makefile.headersinst is now given the UAPI path to install from
rather than the old path.It then determines the old path from that and includes that Kbuild also
if it exists, thus permitting the headers to exist in either directory
during the changeover.I also renamed the "install" variable to "installdir" as it refers to a
directory not the install program.(3) scripts/headers_install.pl is altered to take a list of source file paths
instead of just their names so that the makefile can tell it exactly
where to find each file.For the moment, files can be obtained from one of four places for each
output directory:.../include/uapi/foo/
.../include/generated/uapi/foo/
.../include/foo/
.../include/generated/foo/The non-UAPI paths will be dropped later.
Signed-off-by: David Howells
Acked-by: Arnd Bergmann
Acked-by: Thomas Gleixner
Acked-by: Paul E. McKenney
Acked-by: Dave Jones
24 Jun, 2011
1 commit
-
checkpatch.pl warns about using __attribute__((packed)) in kernel
headers: "__packed is preferred over __attribute__((packed))". If one
follows that advice it could cause problems in the exported header
files, because the outside world doesn't know about this shortcut.For example busybox will fail to compile:
CC miscutils/ubi_attach_detach.o
In file included from miscutils/ubi_attach_detach.c:27:0:
/usr/include/mtd/ubi-user.h:330:3: error: conflicting types for ‘__packed’
/usr/include/mtd/ubi-user.h:314:3: note: previous declaration of ‘__packed’ was here
...Fix the problem by substituting __packed with __attribute__((packed)) in
the header_install.pl script.Cc: Artem Bityutskiy
CC: Joe Perches
Signed-off-by: Markus Trippelsdorf
Signed-off-by: Michal Marek
14 Dec, 2010
1 commit
-
If unifdef fails for any reason (like segfaulting), we should be aborting
the install steps. So check its exit status in this unlikely scenario.Reported-by: Diego Elio Pettenò
Signed-off-by: Mike Frysinger
Signed-off-by: Michal Marek
08 Mar, 2010
1 commit
-
Better practice to use 3 arg open and local file handles.
Signed-off-by: Stephen Hemminger
Acked-by: WANG Cong
Cc: Michal Marek
Signed-off-by: Andrew Morton
Signed-off-by: Michal Marek
12 Oct, 2009
1 commit
-
User applications frequently hit problems when they try to use
the kernel headers directly, rather than the exported headers.This adds an explicit warning for this case, and points to
a URL holding an explanation of why this is wrong and what
to do about it.Signed-off-by: Arnd Bergmann
Signed-off-by: Sam Ravnborg
03 Jan, 2009
1 commit
-
Headers in userspace should be using the __xxx__ form of the asm, inline,
and volatile keywords. Since people like to revert these things without
realizing what's going on, have the headers install step autoconvert these
keywords.Signed-off-by: Mike Frysinger
Signed-off-by: Sam Ravnborg
30 Oct, 2008
1 commit
-
Fix headers_install.pl and headers_check.pl to be compatible with versions
of Perl less than 5.6.0. It has been tested with Perl 5.005_03 and 5.8.8.
I realize this may not be an issue for most people, but there will still
be some that hit it, I imagine. There are three basic issues:1. Prior to 5.6.0 open() only used 2 arguments, and the versions of
the scripts in 2.6.27.1 use 3.
2. 5.6.0 also introduced the ability to use uninitialized scalar
variables as file handles, which the current scripts make use of.
3. Lastly, 5.6.0 also introduced the pragma 'use warnings'. We can use
the -w switch and be backwards compatible.Signed-off-by: Jeremy Huntwork
Signed-off-by: Andrew Morton
Signed-off-by: Sam Ravnborg
26 Jul, 2008
2 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