changeset 1717:086e1ff5dd19 draft

Bump to 3.18 kernel with yet another perl removal patch.
author Rob Landley <rob@landley.net>
date Tue, 30 Dec 2014 14:54:17 -0600
parents 73b3dde1286d
children 189a9ec74b72
files download.sh sources/patches/linux-outoutdamnperl.patch
diffstat 2 files changed, 61 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/download.sh	Sat Dec 27 00:05:24 2014 -0600
+++ b/download.sh	Tue Dec 30 14:54:17 2014 -0600
@@ -29,8 +29,8 @@
 SHA1=1e49b4e65e071d0abdd9d8eb555fd7e84dc92838 \
 maybe_fork "download || dienow"
 
-URL=ftp://kernel.org/pub/linux/kernel/v3.x/linux-3.17.tar.gz \
-SHA1=86b65343835ffee7400a9ecf77f532d06e6378aa \
+URL=ftp://kernel.org/pub/linux/kernel/v3.x/linux-3.18.tar.gz \
+SHA1=65378512524be0bda9e4e87c7fd6ecb2de289673 \
 maybe_fork "download || dienow"
 
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/patches/linux-outoutdamnperl.patch	Tue Dec 30 14:54:17 2014 -0600
@@ -0,0 +1,59 @@
+Commit e6023367d779 added perl back to the kernel build. KILL IT WITH FIRE.
+
+--- linux/arch/x86/boot/compressed/Makefile
++++ linux/arch/x86/boot/compressed/Makefile
+@@ -89,8 +76,10 @@
+ suffix-$(CONFIG_KERNEL_LZO) 	:= lzo
+ suffix-$(CONFIG_KERNEL_LZ4) 	:= lz4
+ 
+-RUN_SIZE = $(shell $(OBJDUMP) -h vmlinux | \
+-	     perl $(srctree)/arch/x86/tools/calc_run_size.pl)
++RUN_SIZE = $(shell NUM='\([0-9a-fA-F]*[ \t]*\)'; objdump -h vmlinux | \
++sed -n 's/^[ \t0-9]*.b[sr][sk][ \t]*'"$$NUM$$NUM$$NUM$$NUM"'.*/\1\4/p' | \
++xargs | while read a b c d; do [ "$$b" != "$$d" ] && exit 1; \
++expr $(printf "%d + %d + %d" 0x$$a 0x$$b 0x$$c); done)
+ quiet_cmd_mkpiggy = MKPIGGY $@
+       cmd_mkpiggy = $(obj)/mkpiggy $< $(RUN_SIZE) > $@ || ( rm -f $@ ; false )
+ 
+--- linux/arch/x86/tools/calc_run_size.pl
++++ /dev/null
+@@ -1,39 +0,0 @@
+-#!/usr/bin/perl
+-#
+-# Calculate the amount of space needed to run the kernel, including room for
+-# the .bss and .brk sections.
+-#
+-# Usage:
+-# objdump -h a.out | perl calc_run_size.pl
+-use strict;
+-
+-my $mem_size = 0;
+-my $file_offset = 0;
+-
+-my $sections=" *[0-9]+ \.(?:bss|brk) +";
+-while (<>) {
+-	if (/^$sections([0-9a-f]+) +(?:[0-9a-f]+ +){2}([0-9a-f]+)/) {
+-		my $size = hex($1);
+-		my $offset = hex($2);
+-		$mem_size += $size;
+-		if ($file_offset == 0) {
+-			$file_offset = $offset;
+-		} elsif ($file_offset != $offset) {
+-			# BFD linker shows the same file offset in ELF.
+-			# Gold linker shows them as consecutive.
+-			next if ($file_offset + $mem_size == $offset + $size);
+-
+-			printf STDERR "file_offset: 0x%lx\n", $file_offset;
+-			printf STDERR "mem_size: 0x%lx\n", $mem_size;
+-			printf STDERR "offset: 0x%lx\n", $offset;
+-			printf STDERR "size: 0x%lx\n", $size;
+-
+-			die ".bss and .brk are non-contiguous\n";
+-		}
+-	}
+-}
+-
+-if ($file_offset == 0) {
+-	die "Never found .bss or .brk file offset\n";
+-}
+-printf("%d\n", $mem_size + $file_offset);