Commit f6112ec27a8f0eee6c5a996f65c7bfd9457d9f85
Committed by
Linus Torvalds
1 parent
62d0cfcb27
Exists in
master
and in
20 other branches
[PATCH] kbuild scripts: replace gawk, head, bc with shell, update
Replacing overhead of using some (external) programs instead of good old `sh'. Cc: Roman Zippel <zippel@linux-m68k.org> Cc: Sam Ravnborg <sam@ravnborg.org> Cc: William Stearns <wstearns@pobox.com> Cc: Martin Schlemmer <azarah@nosferatu.za.org> Signed-off-by: Oleg Verych <olecom@flower.upol.cz> Acked-by: Mark Lord <lkml@rtr.ca> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Showing 2 changed files with 39 additions and 38 deletions Side-by-side Diff
scripts/gen_initramfs_list.sh
1 | 1 | #!/bin/bash |
2 | 2 | # Copyright (C) Martin Schlemmer <azarah@nosferatu.za.org> |
3 | -# Copyright (c) 2006 Sam Ravnborg <sam@ravnborg.org> | |
3 | +# Copyright (C) 2006 Sam Ravnborg <sam@ravnborg.org> | |
4 | 4 | # |
5 | 5 | # Released under the terms of the GNU GPL |
6 | 6 | # |
7 | 7 | |
8 | 8 | |
9 | 9 | |
... | ... | @@ -17,15 +17,15 @@ |
17 | 17 | Usage: |
18 | 18 | $0 [-o <file>] [-u <uid>] [-g <gid>] {-d | <cpio_source>} ... |
19 | 19 | -o <file> Create gzipped initramfs file named <file> using |
20 | - gen_init_cpio and gzip | |
20 | + gen_init_cpio and gzip | |
21 | 21 | -u <uid> User ID to map to user ID 0 (root). |
22 | - <uid> is only meaningful if <cpio_source> | |
23 | - is a directory. | |
22 | + <uid> is only meaningful if <cpio_source> | |
23 | + is a directory. | |
24 | 24 | -g <gid> Group ID to map to group ID 0 (root). |
25 | - <gid> is only meaningful if <cpio_source> | |
26 | - is a directory. | |
25 | + <gid> is only meaningful if <cpio_source> | |
26 | + is a directory. | |
27 | 27 | <cpio_source> File list or directory for cpio archive. |
28 | - If <cpio_source> is a .cpio file it will be used | |
28 | + If <cpio_source> is a .cpio file it will be used | |
29 | 29 | as direct input to initramfs. |
30 | 30 | -d Output the default cpio list. |
31 | 31 | |
... | ... | @@ -36,6 +36,12 @@ |
36 | 36 | EOF |
37 | 37 | } |
38 | 38 | |
39 | +# awk style field access | |
40 | +# $1 - field number; rest is argument string | |
41 | +field() { | |
42 | + shift $1 ; echo $1 | |
43 | +} | |
44 | + | |
39 | 45 | list_default_initramfs() { |
40 | 46 | # echo usr/kinit/kinit |
41 | 47 | : |
42 | 48 | |
43 | 49 | |
... | ... | @@ -119,22 +125,17 @@ |
119 | 125 | str="${ftype} ${name} ${location} ${str}" |
120 | 126 | ;; |
121 | 127 | "nod") |
122 | - local dev_type= | |
123 | - local maj=$(LC_ALL=C ls -l "${location}" | \ | |
124 | - gawk '{sub(/,/, "", $5); print $5}') | |
125 | - local min=$(LC_ALL=C ls -l "${location}" | \ | |
126 | - gawk '{print $6}') | |
128 | + local dev=`LC_ALL=C ls -l "${location}"` | |
129 | + local maj=`field 5 ${dev}` | |
130 | + local min=`field 6 ${dev}` | |
131 | + maj=${maj%,} | |
127 | 132 | |
128 | - if [ -b "${location}" ]; then | |
129 | - dev_type="b" | |
130 | - else | |
131 | - dev_type="c" | |
132 | - fi | |
133 | - str="${ftype} ${name} ${str} ${dev_type} ${maj} ${min}" | |
133 | + [ -b "${location}" ] && dev="b" || dev="c" | |
134 | + | |
135 | + str="${ftype} ${name} ${str} ${dev} ${maj} ${min}" | |
134 | 136 | ;; |
135 | 137 | "slink") |
136 | - local target=$(LC_ALL=C ls -l "${location}" | \ | |
137 | - gawk '{print $11}') | |
138 | + local target=`field 11 $(LC_ALL=C ls -l "${location}")` | |
138 | 139 | str="${ftype} ${name} ${target} ${str}" |
139 | 140 | ;; |
140 | 141 | *) |
scripts/makelst
1 | -#!/bin/bash | |
1 | +#!/bin/sh | |
2 | 2 | # A script to dump mixed source code & assembly |
3 | 3 | # with correct relocations from System.map |
4 | -# Requires the following lines in Rules.make. | |
5 | -# Author(s): DJ Barrow (djbarrow@de.ibm.com,barrow_dj@yahoo.com) | |
6 | -# William Stearns <wstearns@pobox.com> | |
4 | +# Requires the following lines in makefile: | |
7 | 5 | #%.lst: %.c |
8 | 6 | # $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(CFLAGS_$@) -g -c -o $*.o $< |
9 | -# $(TOPDIR)/scripts/makelst $*.o $(TOPDIR)/System.map $(OBJDUMP) | |
7 | +# $(srctree)/scripts/makelst $*.o $(objtree)/System.map $(OBJDUMP) | |
10 | 8 | # |
11 | -# Copyright (C) 2000 IBM Corporation | |
12 | -# Author(s): DJ Barrow (djbarrow@de.ibm.com,barrow_dj@yahoo.com) | |
9 | +# Copyright (C) 2000 IBM Corporation | |
10 | +# Author(s): DJ Barrow (djbarrow@de.ibm.com,barrow_dj@yahoo.com) | |
11 | +# William Stearns <wstearns@pobox.com> | |
13 | 12 | # |
14 | 13 | |
15 | -t1=`$3 --syms $1 | grep .text | grep " F " | head -n 1` | |
14 | +# awk style field access | |
15 | +field() { | |
16 | + shift $1 ; echo $1 | |
17 | +} | |
18 | + | |
19 | +t1=`$3 --syms $1 | grep .text | grep -m1 " F "` | |
16 | 20 | if [ -n "$t1" ]; then |
17 | - t2=`echo $t1 | gawk '{ print $6 }'` | |
21 | + t2=`field 6 $t1` | |
18 | 22 | if [ ! -r $2 ]; then |
19 | 23 | echo "No System.map" >&2 |
20 | - t7=0 | |
21 | 24 | else |
22 | 25 | t3=`grep $t2 $2` |
23 | - t4=`echo $t3 | gawk '{ print $1 }'` | |
24 | - t5=`echo $t1 | gawk '{ print $1 }'` | |
25 | - t6=`echo $t4 - $t5 | tr a-f A-F` | |
26 | - t7=`( echo ibase=16 ; echo $t6 ) | bc` | |
26 | + t4=`field 1 $t3` | |
27 | + t5=`field 1 $t1` | |
28 | + t6=`printf "%lu" $((0x$t4 - 0x$t5))` | |
27 | 29 | fi |
28 | -else | |
29 | - t7=0 | |
30 | 30 | fi |
31 | -$3 -r --source --adjust-vma=$t7 $1 | |
31 | +$3 -r --source --adjust-vma=${t6:-0} $1 |