summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--patches/01_noperl-headers.patch148
1 files changed, 0 insertions, 148 deletions
diff --git a/patches/01_noperl-headers.patch b/patches/01_noperl-headers.patch
deleted file mode 100644
index af8d014..0000000
--- a/patches/01_noperl-headers.patch
+++ /dev/null
@@ -1,148 +0,0 @@
-From: Rob Landley <rob@landley.net>
-Origin: http://landley.net/hg/aboriginal/file/9f8fb7a20166/sources/patches/linux-noperl-headers.patch
-Applied-Upstream: 3.10-rc1, https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/scripts/headers_install.sh?id=e0e2fa4
-Subject: Replace scripts/headers_install.pl with a shell script.
-
-Remove perl from make headers_install by replacing a perl script (doing
-a simple regex search and replace) with a smaller, faster, simpler,
-POSIX-2008 shell script implementation. The new shell script is a single
-for loop calling sed and piping its output through unifdef to produce the
-target file.
-
-Patch history:
- http://landley.net/hg/aboriginal/log/59c1495d5b5e/sources/patches/linux-noperl-headers.patch
- https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/log/scripts/headers_install.sh
-
-diff -ruN linux-3.1/scripts/headers_install.sh linux-2.6.30/scripts/headers_install.sh
---- linux-3.1/scripts/headers_install.sh
-+++ linux/scripts/headers_install.sh
-@@ -0,0 +1,43 @@
-+#!/bin/sh
-+
-+if [ $# -lt 2 ]
-+then
-+ echo "Usage: headers_install.sh INDIR OUTDIR [FILES...]
-+ echo
-+ echo "Prepares kernel header files for use by user space, by removing"
-+ echo "all compiler.h definitions and #includes, removing any"
-+ echo "#ifdef __KERNEL__ sections, and putting __underscores__ around"
-+ echo "asm/inline/volatile keywords."
-+ echo
-+ echo "INDIR: directory to read each kernel header FILE from."
-+ echo "OUTDIR: directory to write each userspace header FILE to."
-+ echo "FILES: list of header files to operate on."
-+
-+ exit 1
-+fi
-+
-+# Grab arguments
-+
-+INDIR="$1"
-+shift
-+OUTDIR="$1"
-+shift
-+
-+# Iterate through files listed on command line
-+
-+trap "rm -f $OUTDIR/$i $OUTDIR.sed" EXIT
-+for i in "$@"
-+do
-+ sed -r \
-+ -e 's/([ \t(])(__user|__force|__iomem)[ \t]/\1/g' \
-+ -e 's/__attribute_const__([ \t]|$)/\1/g' \
-+ -e 's@^#include <linux/compiler.h>@@' \
-+ -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' \
-+ "$INDIR/$i" > "$OUTDIR/$i.sed" || exit 1
-+ scripts/unifdef -U__KERNEL__ -D__EXPORTED_HEADERS__ "$OUTDIR/$i.sed" \
-+ > "$OUTDIR/$i"
-+ [ $? -gt 1 ] && exit 1
-+ rm -f "$OUTDIR/$i.sed"
-+done
-+trap - EXIT
-diff -ruN linux-3.1/scripts/Makefile.headersinst
---- linux-3.1/scripts/Makefile.headersinst
-+++ linux/scripts/Makefile.headersinst
-@@ -55,9 +55,9 @@
- quiet_cmd_install = INSTALL $(printdir) ($(words $(all-files))\
- file$(if $(word 2, $(all-files)),s))
- cmd_install = \
-- $(PERL) $< $(srctree)/$(obj) $(install) $(SRCARCH) $(header-y); \
-- $(PERL) $< $(objtree)/$(obj) $(install) $(SRCARCH) $(objhdr-y); \
-- $(PERL) $< $(objtree)/$(gen) $(install) $(SRCARCH) $(genhdr-y); \
-+ $(CONFIG_SHELL) $< $(srctree)/$(obj) $(install) $(header-y); \
-+ $(CONFIG_SHELL) $< $(objtree)/$(obj) $(install) $(objhdr-y); \
-+ $(CONFIG_SHELL) $< $(objtree)/$(gen) $(install) $(genhdr-y); \
- for F in $(wrapper-files); do \
- echo "\#include <asm-generic/$$F>" > $(install)/$$F; \
- done; \
-@@ -83,7 +83,7 @@
- @:
-
- targets += $(install-file)
--$(install-file): scripts/headers_install.pl $(input-files) FORCE
-+$(install-file): scripts/headers_install.sh $(input-files) FORCE
- $(if $(unwanted),$(call cmd,remove),)
- $(if $(wildcard $(dir $@)),,$(shell mkdir -p $(dir $@)))
- $(call if_changed,install)
---- a/scripts/headers_install.pl
-+++ /dev/null
-@@ -1,58 +0,0 @@
--#!/usr/bin/perl -w
--#
--# headers_install prepare the listed header files for use in
--# user space and copy the files to their destination.
--#
--# Usage: headers_install.pl readdir installdir arch [files...]
--# readdir: dir to open files
--# installdir: dir to install the files
--# arch: current architecture
--# arch is used to force a reinstallation when the arch
--# changes because kbuild then detect a command line change.
--# files: list of files to check
--#
--# Step in preparation for users space:
--# 1) Drop all use of compiler.h definitions
--# 2) Drop include of compiler.h
--# 3) Drop all sections defined out by __KERNEL__ (using unifdef)
--
--use strict;
--
--my ($readdir, $installdir, $arch, @files) = @ARGV;
--
--my $unifdef = "scripts/unifdef -U__KERNEL__ -D__EXPORTED_HEADERS__";
--
--foreach my $file (@files) {
-- my $tmpfile = "$installdir/$file.tmp";
--
-- open(my $in, '<', "$readdir/$file")
-- or die "$readdir/$file: $!\n";
-- open(my $out, '>', $tmpfile)
-- or die "$tmpfile: $!\n";
-- while (my $line = <$in>) {
-- $line =~ s/([\s(])__user\s/$1/g;
-- $line =~ s/([\s(])__force\s/$1/g;
-- $line =~ s/([\s(])__iomem\s/$1/g;
-- $line =~ s/\s__attribute_const__\s/ /g;
-- $line =~ s/\s__attribute_const__$//g;
-- $line =~ s/\b__packed\b/__attribute__((packed))/g;
-- $line =~ s/^#include <linux\/compiler.h>//;
-- $line =~ s/(^|\s)(inline)\b/$1__$2__/g;
-- $line =~ s/(^|\s)(asm)\b(\s|[(]|$)/$1__$2__$3/g;
-- $line =~ s/(^|\s|[(])(volatile)\b(\s|[(]|$)/$1__$2__$3/g;
-- printf {$out} "%s", $line;
-- }
-- close $out;
-- close $in;
--
-- system $unifdef . " $tmpfile > $installdir/$file";
-- # unifdef will exit 0 on success, and will exit 1 when the
-- # file was processed successfully but no changes were made,
-- # so abort only when it's higher than that.
-- my $e = $? >> 8;
-- if ($e > 1) {
-- die "$tmpfile: $!\n";
-- }
-- unlink $tmpfile;
--}
--exit 0;