Browse Source

fix it now, really

Waldemar Brodkorb 11 years ago
parent
commit
6dd7b58738
1 changed files with 90 additions and 0 deletions
  1. 90 0
      toolchain/kernel-headers/patches/3.10.30/headers_install.patch

+ 90 - 0
toolchain/kernel-headers/patches/3.10.30/headers_install.patch

@@ -0,0 +1,90 @@
+diff -Nur linux-3.10.30.orig/scripts/headers_install.sh linux-3.10.30/scripts/headers_install.sh
+--- linux-3.10.30.orig/scripts/headers_install.sh	2014-02-13 22:48:15.000000000 +0100
++++ linux-3.10.30/scripts/headers_install.sh	2014-05-16 14:24:37.000000000 +0200
+@@ -2,7 +2,7 @@
+ 
+ if [ $# -lt 1 ]
+ then
+-	echo "Usage: headers_install.sh OUTDIR [FILES...]
++	echo "Usage: headers_install.sh OUTDIR SRCDIR [FILES...]
+ 	echo
+ 	echo "Prepares kernel header files for use by user space, by removing"
+ 	echo "all compiler.h definitions and #includes, removing any"
+@@ -10,6 +10,7 @@
+ 	echo "asm/inline/volatile keywords."
+ 	echo
+ 	echo "OUTDIR: directory to write each userspace header FILE to."
++	echo "SRCDIR: source directory where files are picked."
+ 	echo "FILES:  list of header files to operate on."
+ 
+ 	exit 1
+@@ -19,6 +20,8 @@
+ 
+ OUTDIR="$1"
+ shift
++SRCDIR="$1"
++shift
+ 
+ # Iterate through files listed on command line
+ 
+@@ -34,7 +37,7 @@
+ 		-e 's/(^|[^a-zA-Z0-9])__packed([^a-zA-Z0-9_]|$)/\1__attribute__((packed))\2/g' \
+ 		-e 's/(^|[ \t(])(inline|asm|volatile)([ \t(]|$)/\1__\2__\3/g' \
+ 		-e 's@#(ifndef|define|endif[ \t]*/[*])[ \t]*_UAPI@#\1 @' \
+-		"$i" > "$OUTDIR/$FILE.sed" || exit 1
++		"$SRCDIR/$i" > "$OUTDIR/$FILE.sed" || exit 1
+ 	scripts/unifdef -U__KERNEL__ -D__EXPORTED_HEADERS__ "$OUTDIR/$FILE.sed" \
+ 		> "$OUTDIR/$FILE"
+ 	[ $? -gt 1 ] && exit 1
+diff -Nur linux-3.10.30.orig/scripts/Makefile.headersinst linux-3.10.30/scripts/Makefile.headersinst
+--- linux-3.10.30.orig/scripts/Makefile.headersinst	2014-02-13 22:48:15.000000000 +0100
++++ linux-3.10.30/scripts/Makefile.headersinst	2014-05-16 14:23:34.000000000 +0200
+@@ -47,18 +47,24 @@
+ all-files     := $(header-y) $(genhdr-y) $(wrapper-files)
+ output-files  := $(addprefix $(installdir)/, $(all-files))
+ 
+-input-files   := $(foreach hdr, $(header-y), \
++input-files1  := $(foreach hdr, $(header-y), \
+ 		   $(if $(wildcard $(srcdir)/$(hdr)), \
+-			$(wildcard $(srcdir)/$(hdr)), \
++			$(wildcard $(srcdir)/$(hdr))) \
++		   )
++input-files1-name := $(notdir $(input-files1))
++input-files2  := $(foreach hdr, $(header-y), \
++		   $(if  $(wildcard $(srcdir)/$(hdr)),, \
+ 			$(if $(wildcard $(oldsrcdir)/$(hdr)), \
+ 				$(wildcard $(oldsrcdir)/$(hdr)), \
+ 				$(error Missing UAPI file $(srcdir)/$(hdr))) \
+-		   )) \
+-		 $(foreach hdr, $(genhdr-y), \
++		   ))
++input-files2-name := $(notdir $(input-files2))
++input-files3  := $(foreach hdr, $(genhdr-y), \
+ 		   $(if	$(wildcard $(gendir)/$(hdr)), \
+ 			$(wildcard $(gendir)/$(hdr)), \
+ 			$(error Missing generated UAPI file $(gendir)/$(hdr)) \
+ 		   ))
++input-files3-name := $(notdir $(input-files3))
+ 
+ # Work out what needs to be removed
+ oldheaders    := $(patsubst $(installdir)/%,%,$(wildcard $(installdir)/*.h))
+@@ -72,7 +78,9 @@
+ quiet_cmd_install = INSTALL $(printdir) ($(words $(all-files))\
+                             file$(if $(word 2, $(all-files)),s))
+       cmd_install = \
+-        $(CONFIG_SHELL) $< $(installdir) $(input-files); \
++        $(CONFIG_SHELL) $< $(installdir) $(srcdir) $(input-files1-name); \
++        $(CONFIG_SHELL) $< $(installdir) $(oldsrcdir) $(input-files2-name); \
++        $(CONFIG_SHELL) $< $(installdir) $(gendir) $(input-files3-name); \
+         for F in $(wrapper-files); do                                   \
+                 echo "\#include <asm-generic/$$F>" > $(installdir)/$$F;    \
+         done;                                                           \
+@@ -98,7 +106,7 @@
+ 	@:
+ 
+ targets += $(install-file)
+-$(install-file): scripts/headers_install.sh $(input-files) FORCE
++$(install-file): scripts/headers_install.sh $(input-files1) $(input-files2) $(input-files3) FORCE
+ 	$(if $(unwanted),$(call cmd,remove),)
+ 	$(if $(wildcard $(dir $@)),,$(shell mkdir -p $(dir $@)))
+ 	$(call if_changed,install)