Mercurial > hg > aboriginal
view sources/patches/linux-outoutdamnperl.patch @ 1719:78050a31d1ee draft
Sigh. Checked in the wrong version of the patch (typo fix).
author | Rob Landley <rob@landley.net> |
---|---|
date | Tue, 06 Jan 2015 13:15:33 -0600 |
parents | 086e1ff5dd19 |
children |
line wrap: on
line source
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);