Robin H. Johnson
2013-Dec-26 23:29 UTC
[klibc] [PATCH] Update header locations for uapi & generated
In the v3.6 kernel, many of the headers were split out into a uapi variant. klibc should be using those variants to compile. There is also a generated subdir, to seperate out generated headers. The old kernel header location needs to be included as well, because linux/compiler.h is available only in the base include directory. Signed-off-by: Robin H. Johnson <robbat2 at gentoo.org> --- scripts/Kbuild.klibc | 10 ++++++++-- usr/klibc/arch/i386/MCONFIG | 5 ++++- usr/klibc/arch/ppc/MCONFIG | 5 ++++- usr/klibc/arch/ppc64/MCONFIG | 5 ++++- usr/klibc/arch/x86_64/MCONFIG | 5 ++++- 5 files changed, 24 insertions(+), 6 deletions(-) diff --git a/scripts/Kbuild.klibc b/scripts/Kbuild.klibc index f500d53..989a065 100644 --- a/scripts/Kbuild.klibc +++ b/scripts/Kbuild.klibc @@ -77,7 +77,10 @@ KLIBCLDFLAGS : KLIBCCFLAGS : # Defaults for arch to override -KLIBCARCHINCFLAGS = -I$(KLIBCKERNELOBJ)/arch/$(KLIBCARCH)/include +KLIBCARCHINCFLAGS = -I$(KLIBCKERNELOBJ)/arch/$(KLIBCARCH)/include/uapi \ + -I$(KLIBCKERNELOBJ)/arch/$(KLIBCARCH)/include/generated/uapi \ + -I$(KLIBCKERNELOBJ)/arch/$(KLIBCARCH)/include/generated \ + -I$(KLIBCKERNELOBJ)/arch/$(KLIBCARCH)/include # Arch specific definitions for klibc include $(srctree)/$(KLIBCSRC)/arch/$(KLIBCARCHDIR)/MCONFIG @@ -113,7 +116,10 @@ KLIBCCPPFLAGS := -nostdinc -iwithprefix include \ # kernel include paths KLIBCKERNELSRC ?= $(srctree) KLIBCKERNELOBJ ?= $(objtree) -KLIBCCPPFLAGS += -I$(KLIBCKERNELSRC)/include \ +KLIBCCPPFLAGS += -I$(KLIBCKERNELSRC)/include/uapi \ + -I$(KLIBCKERNELSRC)/include/generated/uapi \ + -I$(KLIBCKERNELSRC)/include/generated \ + -I$(KLIBCKERNELSRC)/include \ $(if $(KBUILD_SRC),-I$(KLIBCKERNELOBJ)/include2 \ -I$(KLIBCKERNELOBJ)/include -I$(srctree)/include) \ $(KLIBCARCHINCFLAGS) diff --git a/usr/klibc/arch/i386/MCONFIG b/usr/klibc/arch/i386/MCONFIG index 1150ece..eb7a5e9 100644 --- a/usr/klibc/arch/i386/MCONFIG +++ b/usr/klibc/arch/i386/MCONFIG @@ -33,4 +33,7 @@ KLIBCBITSIZE = 32 KLIBCSHAREDFLAGS = -Ttext 0x06000200 # Asm includes for i386 are in the merged x86 tree -KLIBCARCHINCFLAGS = -I$(KLIBCKERNELOBJ)/arch/x86/include +KLIBCARCHINCFLAGS = -I$(KLIBCKERNELOBJ)/arch/x86/include/uapi \ + -I$(KLIBCKERNELOBJ)/arch/x86/include/generated/uapi \ + -I$(KLIBCKERNELOBJ)/arch/x86/include/generated \ + -I$(KLIBCKERNELOBJ)/arch/x86/include diff --git a/usr/klibc/arch/ppc/MCONFIG b/usr/klibc/arch/ppc/MCONFIG index 6630df7..ac52157 100644 --- a/usr/klibc/arch/ppc/MCONFIG +++ b/usr/klibc/arch/ppc/MCONFIG @@ -23,7 +23,10 @@ KLIBCBITSIZE = 32 KLIBCSHAREDFLAGS = -Ttext 0x0f800200 # The kernel so far has both asm-ppc* and asm-powerpc. -KLIBCARCHINCFLAGS = -I$(KLIBCKERNELOBJ)/arch/powerpc/include +KLIBCARCHINCFLAGS = -I$(KLIBCKERNELOBJ)/arch/powerpc/include/uapi \ + -I$(KLIBCKERNELOBJ)/arch/powerpc/include/generated/uapi \ + -I$(KLIBCKERNELOBJ)/arch/powerpc/include/generated \ + -I$(KLIBCKERNELOBJ)/arch/powerpc/include # The asm include files live in asm-powerpc KLIBCASMARCH = powerpc diff --git a/usr/klibc/arch/ppc64/MCONFIG b/usr/klibc/arch/ppc64/MCONFIG index 1331e05..a58bac3 100644 --- a/usr/klibc/arch/ppc64/MCONFIG +++ b/usr/klibc/arch/ppc64/MCONFIG @@ -21,7 +21,10 @@ KLIBCBITSIZE = 64 KLIBCSHAREDFLAGS = -Ttext 0x0f000200 # The kernel so far has both asm-ppc* and asm-powerpc. -KLIBCARCHINCFLAGS = -I$(KLIBCKERNELOBJ)/arch/powerpc/include +KLIBCARCHINCFLAGS = -I$(KLIBCKERNELOBJ)/arch/powerpc/include/uapi \ + -I$(KLIBCKERNELOBJ)/arch/powerpc/include/generated/uapi \ + -I$(KLIBCKERNELOBJ)/arch/powerpc/include/generated \ + -I$(KLIBCKERNELOBJ)/arch/powerpc/include # The asm include files live in asm-powerpc KLIBCASMARCH = powerpc diff --git a/usr/klibc/arch/x86_64/MCONFIG b/usr/klibc/arch/x86_64/MCONFIG index d4ff5ea..90cca2c 100644 --- a/usr/klibc/arch/x86_64/MCONFIG +++ b/usr/klibc/arch/x86_64/MCONFIG @@ -36,4 +36,7 @@ KLIBCLDFLAGS = -m elf_x86_64 KLIBCSHAREDFLAGS = -Ttext 0x00200200 -z max-page-size=0x100000 # Asm includes for x86_64 are in the merged x86 tree -KLIBCARCHINCFLAGS = -I$(KLIBCKERNELOBJ)/arch/x86/include +KLIBCARCHINCFLAGS = -I$(KLIBCKERNELOBJ)/arch/x86/include/uapi \ + -I$(KLIBCKERNELOBJ)/arch/x86/include/generated/uapi \ + -I$(KLIBCKERNELOBJ)/arch/x86/include/generated \ + -I$(KLIBCKERNELOBJ)/arch/x86/include -- 1.8.5.2
H. Peter Anvin
2013-Dec-27 00:13 UTC
[klibc] [PATCH] Update header locations for uapi & generated
On 12/26/2013 03:29 PM, Robin H. Johnson wrote:> In the v3.6 kernel, many of the headers were split out into a uapi variant. > klibc should be using those variants to compile. > > There is also a generated subdir, to seperate out generated headers. > > The old kernel header location needs to be included as well, because > linux/compiler.h is available only in the base include directory. > > Signed-off-by: Robin H. Johnson <robbat2 at gentoo.org>You should be using the output of "make headers_install" to build klibc. -hpa
Thorsten Glaser
2013-Dec-27 00:24 UTC
[klibc] [PATCH] Update header locations for uapi & generated
H. Peter Anvin dixit:>You should be using the output of "make headers_install" to build klibc.Hm. Can we catch that somehow? Like? #ifdef using_uninstalled_kernel_headers # error Go RTFM! #endif ? in the klibc sources, centrally somewhere? Ideally, a klibc header that?d also be included when using klcc to build some? thing, so that both klibc-build time and klibc-use time would be caught. bye, //mirabilos --> Wish I had pine to hand :-( I'll give lynx a try, thanks.Michael Schmitz on nntp://news.gmane.org/gmane.linux.debian.ports.68k a.k.a. {news.gmane.org/nntp}#news.gmane.linux.debian.ports.68k in pine
Apparently Analagous Threads
- [klibc:master] Kbuild: Remove KLIBCKERNELOBJ variable
- [lkp-developer] [lib] 0c5a9920fb: WARNING:at_lib/test_linktables/test-linktables.c:#test_linktable_init
- [PATCH klibc 0/4] Fix the KLIBCKERNEL{SRC,OBJ} mess
- ppc32: "Relocation truncated to fit"
- [klibc 19/43] klibc basic build infrastructure