[PATCH RFC v02 00/45] Compile test and fixes for exported header files

From: Mikko Rapeli
Date: Mon Feb 16 2015 - 18:06:12 EST


v2:
added cross compiler support with CROSS_COMPILE,
detecting libc and GCC headers from compiler,
more header file fixes

v1:
https://lkml.org/lkml/2014/8/21/665

Users of kernel header files would be happier if they did not contain
kernel specific parts and would contain #include statements for all
other header files that they depend on, and in general would compile.

This patch set fixes some headers_install issues, then introduces a
compile test for headers exported to userspace and then fixes many of the
userspace header compilation failures.

Changes are also available in headers_test_v02 branch at github:
https://github.com/mcfrisk/linux/tree/headers_test_v02

Mikko Rapeli (45):
Makefile: propagate verbose options
scripts/headers.sh: add verbose option to make calls if defined
headers_install.sh: enhance error handling
scripts/headers_compile_test.sh: compile test script for exported
headers
drm.h: include stdlib.h in userspace
drm_mode.h: include stdint.h and linux/types.h in userspace
exynos_drm.h: include stdint.h in userspace
nouveau_drm.h: include stdint.h in userspace
radeon_drm.h: include stdint.h in userspace
r128_drm.h: include drm/drm.h
via_drm.h: include linux/types.h instead of non-existing
via_drmclient.h
via_drm.h: hide struct via_file_private in userspace
savage_drm.h: include <drm/drm.h>
sis_drm.h: hide sis_file_private in userspace
dm-log-userspace.h: include stdint.h in userspace
hsi_char.h: include stdint.h in userspace
ebtables.h: include stdint.h in userspace
cld.h: include stdint.h in userspace
rds.h: include stdint.h in userspace
sctp.h: include stdint.h in userspace
scsi_bsg_fc.h: include stdint.h in userspace
scsi_netlink.h: include stdint.h in userspace
scsi_netlink_fc.h: include stdint.h in userspace
hdspm.h: include stdint.h in userspace
gntalloc.h: include stdint.h in userspace
gntdev.h: include stdint.h in userspace
include/uapi/linux/sysctl.h: include stdlib.h in userspace
include/uapi/asm-generic/ipcbuf.h: include linux/posix_types.h
include/uapi/asm-generic/msgbuf.h: include asm/ipcbuf.h
include/uapi/asm-generic/shmbuf.h: include fixes
asm-generic/sembuf.h: include asm/posix_types.h and asm/ipcbuf.h
drm/i810_drm.h: include drm/drm.h
include/uapi/asm-generic/signal.h: include stdlib.h in userspace
include/uapi/asm-generic/signal.h: hide sigset_t definition in
userspace
include/uapi/sound/asound.h: include stdlib.h in userspace
include/uapi/linux/netfilter.h: include in.h and in6.h
include/uapi/linux/socket.h: include sys/socket.h in userspace
include/uapi/linux/agpgart.h: include stdlib.h in userspace
include/uapi/sound/asequencer.h: include sound/asound.h
include/uapi/sound/emu10k1.h: include sound/asound.h
include/uapi/sound/emu10k1.h: hide gpr_valid, tram_valid and
code_valid in userspace
include/uapi/linux/rds.h: include linux/socket.h and linux/types.h
always
include/uapi/linux/netfilter_bridge.h: include if.h
nf_conntrack_tuple_common.h: include linux/types.h and
linux/netfilter.h
include/uapi/asm-generic/ucontext.h: include signal.h and sigcontext.h

Makefile | 8 +-
include/uapi/asm-generic/ipcbuf.h | 2 +
include/uapi/asm-generic/msgbuf.h | 2 +
include/uapi/asm-generic/sembuf.h | 2 +
include/uapi/asm-generic/shmbuf.h | 6 +
include/uapi/asm-generic/signal.h | 7 +
include/uapi/asm-generic/ucontext.h | 3 +
include/uapi/drm/drm.h | 4 +
include/uapi/drm/drm_mode.h | 5 +
include/uapi/drm/exynos_drm.h | 5 +
include/uapi/drm/i810_drm.h | 2 +
include/uapi/drm/nouveau_drm.h | 6 +
include/uapi/drm/r128_drm.h | 2 +
include/uapi/drm/radeon_drm.h | 5 +
include/uapi/drm/savage_drm.h | 2 +
include/uapi/drm/sis_drm.h | 2 +
include/uapi/drm/via_drm.h | 6 +-
include/uapi/linux/agpgart.h | 1 +
include/uapi/linux/dm-log-userspace.h | 5 +
include/uapi/linux/hsi/hsi_char.h | 7 +-
include/uapi/linux/netfilter.h | 3 +-
.../linux/netfilter/nf_conntrack_tuple_common.h | 3 +
include/uapi/linux/netfilter_bridge.h | 1 +
include/uapi/linux/netfilter_bridge/ebtables.h | 5 +
include/uapi/linux/nfsd/cld.h | 6 +
include/uapi/linux/rds.h | 4 +
include/uapi/linux/sctp.h | 4 +
include/uapi/linux/socket.h | 4 +
include/uapi/linux/sysctl.h | 4 +
include/uapi/scsi/scsi_bsg_fc.h | 6 +
include/uapi/scsi/scsi_netlink.h | 6 +-
include/uapi/scsi/scsi_netlink_fc.h | 5 +
include/uapi/sound/asequencer.h | 1 +
include/uapi/sound/asound.h | 3 +
include/uapi/sound/emu10k1.h | 9 +-
include/uapi/sound/hdspm.h | 6 +
include/uapi/xen/gntalloc.h | 6 +
include/uapi/xen/gntdev.h | 6 +
scripts/headers.sh | 2 +-
scripts/headers_compile_test.sh | 143 +++++++++++++++++++++
scripts/headers_install.sh | 15 ++-
41 files changed, 306 insertions(+), 18 deletions(-)
create mode 100755 scripts/headers_compile_test.sh

--
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/