Commit f6112ec27a8f0eee6c5a996f65c7bfd9457d9f85

Authored by Oleg Verych
Committed by Linus Torvalds
1 parent 62d0cfcb27

[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 *)
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