LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Oleg Verych <olecom@flower.upol.cz>
To: LKML <linux-kernel@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>
Cc: Jesper Juhl <jesper.juhl@gmail.com>,
	Roman Zippel <zippel@linux-m68k.org>,
	Sam Ravnborg <sam@ravnborg.org>,
	William Stearns <wstearns@pobox.com>,
	Martin Schlemmer <azarah@nosferatu.za.org>
Subject: [patch 1/3, resend] scripts: replace gawk, head, bc with shell, update
Date: Tue, 06 Feb 2007 02:18:20 +0100	[thread overview]
Message-ID: <20070206012207.805083000@flower.upol.cz> (raw)
In-Reply-To: 20070206011819.160359000@flower.upol.cz

[-- Attachment #1: scripts-replace-gawk-and-by-shell-with-some-cleanup_update.patch --]
[-- Type: text/plain, Size: 4871 bytes --]

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>
---

 Whitespace cleanup included.

 scripts/gen_initramfs_list.sh | 43 +++++++++++++++++++++---------------------
 scripts/makelst               | 34 ++++++++++++++++-----------------
 2 files changed, 39 insertions(+), 38 deletions(-)

Index: linux-2.6.20/scripts/makelst
===================================================================
--- linux-2.6.20.orig/scripts/makelst	2007-02-06 02:12:38.811908000 +0100
+++ linux-2.6.20/scripts/makelst	2007-02-06 02:12:43.688212750 +0100
@@ -1,31 +1,31 @@
-#!/bin/bash
+#!/bin/sh
 # A script to dump mixed source code & assembly
 # with correct relocations from System.map
-# Requires the following lines in Rules.make.
-# Author(s): DJ Barrow (djbarrow@de.ibm.com,barrow_dj@yahoo.com) 
-#            William Stearns <wstearns@pobox.com>
+# Requires the following lines in makefile:
 #%.lst: %.c
 #	$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(CFLAGS_$@) -g -c -o $*.o $<
-#	$(TOPDIR)/scripts/makelst $*.o $(TOPDIR)/System.map $(OBJDUMP)
+#	$(srctree)/scripts/makelst $*.o $(objtree)/System.map $(OBJDUMP)
 #
-#    Copyright (C) 2000 IBM Corporation
-#    Author(s): DJ Barrow (djbarrow@de.ibm.com,barrow_dj@yahoo.com) 
+# Copyright (C) 2000 IBM Corporation
+# Author(s): DJ Barrow (djbarrow@de.ibm.com,barrow_dj@yahoo.com)
+#            William Stearns <wstearns@pobox.com>
 #
 
-t1=`$3 --syms $1 | grep .text | grep " F " | head -n 1`
+# awk style field access
+field() {
+  shift $1 ; echo $1
+}
+
+t1=`$3 --syms $1 | grep .text | grep -m1 " F "`
 if [ -n "$t1" ]; then
-  t2=`echo $t1 | gawk '{ print $6 }'`
+  t2=`field 6 $t1`
   if [ ! -r $2 ]; then
     echo "No System.map" >&2
-    t7=0
   else
     t3=`grep $t2 $2`
-    t4=`echo $t3 | gawk '{ print $1 }'`
-    t5=`echo $t1 | gawk '{ print $1 }'`
-    t6=`echo $t4 - $t5 | tr a-f A-F`
-    t7=`( echo  ibase=16 ; echo $t6 ) | bc`
+    t4=`field 1 $t3`
+    t5=`field 1 $t1`
+    t6=`printf "%lu" $((0x$t4 - 0x$t5))`
   fi
-else
-  t7=0
 fi
-$3 -r --source --adjust-vma=$t7 $1
+$3 -r --source --adjust-vma=${t6:-0} $1
Index: linux-2.6.20/scripts/gen_initramfs_list.sh
===================================================================
--- linux-2.6.20.orig/scripts/gen_initramfs_list.sh	2007-02-06 02:12:38.819908500 +0100
+++ linux-2.6.20/scripts/gen_initramfs_list.sh	2007-02-06 02:12:43.688212750 +0100
@@ -1,5 +1,5 @@
 #!/bin/bash
 # Copyright (C) Martin Schlemmer <azarah@nosferatu.za.org>
-# Copyright (c) 2006           Sam Ravnborg <sam@ravnborg.org>
+# Copyright (C) 2006 Sam Ravnborg <sam@ravnborg.org>
 #
 # Released under the terms of the GNU GPL
@@ -18,13 +18,13 @@ Usage:
 $0 [-o <file>] [-u <uid>] [-g <gid>] {-d | <cpio_source>} ...
 	-o <file>      Create gzipped initramfs file named <file> using
-	               gen_init_cpio and gzip
+		       gen_init_cpio and gzip
 	-u <uid>       User ID to map to user ID 0 (root).
-	               <uid> is only meaningful if <cpio_source>
-	               is a directory.
+		       <uid> is only meaningful if <cpio_source>
+		       is a directory.
 	-g <gid>       Group ID to map to group ID 0 (root).
-	               <gid> is only meaningful if <cpio_source>
-	               is a directory.
+		       <gid> is only meaningful if <cpio_source>
+		       is a directory.
 	<cpio_source>  File list or directory for cpio archive.
-	               If <cpio_source> is a .cpio file it will be used
+		       If <cpio_source> is a .cpio file it will be used
 		       as direct input to initramfs.
 	-d             Output the default cpio list.
@@ -37,4 +37,10 @@ EOF
 }
 
+# awk style field access
+# $1 - field number; rest is argument string
+field() {
+	shift $1 ; echo $1
+}
+
 list_default_initramfs() {
 	# echo usr/kinit/kinit
@@ -120,20 +126,15 @@ parse() {
 			;;
 		"nod")
-			local dev_type=
-			local maj=$(LC_ALL=C ls -l "${location}" | \
-					gawk '{sub(/,/, "", $5); print $5}')
-			local min=$(LC_ALL=C ls -l "${location}" | \
-					gawk '{print $6}')
-
-			if [ -b "${location}" ]; then
-				dev_type="b"
-			else
-				dev_type="c"
-			fi
-			str="${ftype} ${name} ${str} ${dev_type} ${maj} ${min}"
+			local dev=`LC_ALL=C ls -l "${location}"`
+			local maj=`field 5 ${dev}`
+			local min=`field 6 ${dev}`
+			maj=${maj%,}
+
+			[ -b "${location}" ] && dev="b" || dev="c"
+
+			str="${ftype} ${name} ${str} ${dev} ${maj} ${min}"
 			;;
 		"slink")
-			local target=$(LC_ALL=C ls -l "${location}" | \
-					gawk '{print $11}')
+			local target=`field 11 $(LC_ALL=C ls -l "${location}")`
 			str="${ftype} ${name} ${target} ${str}"
 			;;

--


  reply	other threads:[~2007-02-06  1:23 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-06  1:18 [patch 0/3, resend] scripts, kbuild updates/fixes (against 2.6.20) Oleg Verych
2007-02-06  1:18 ` Oleg Verych [this message]
2007-02-06 14:49   ` [patch 1/3, resend] scripts: replace gawk, head, bc with shell, update Mark Lord
2007-02-06 16:47     ` Oleg Verych
2007-02-06 17:13       ` Mark Lord
2007-02-07  8:58   ` Jesper Juhl
2007-02-07 13:02     ` Oleg Verych
2007-02-07 14:28   ` Roman Zippel
2007-02-06  1:18 ` [patch 2/3, resend] kbuild: improve option checking, Kbuild.include cleanup Oleg Verych
2007-02-07 14:36   ` Roman Zippel
2007-02-07 18:18     ` Oleg Verych
2007-02-07 20:14     ` Oleg Verych
2007-02-06  1:18 ` [patch 3/3, resend] kbuild: correctly skip tilded backups in localversion files Oleg Verych
2007-02-07 14:39   ` Roman Zippel
2007-02-07 18:03     ` Oleg Verych
2007-02-12 22:09   ` Tony Luck
2007-02-12 22:53     ` Linus Torvalds
2007-02-13  0:32       ` Oleg Verych
2007-02-13  5:05         ` Oleg Verych
2007-02-13  8:23           ` Gerd Hoffmann
2007-02-13 15:51           ` Linus Torvalds
2007-02-13 16:09             ` Roman Zippel
2007-02-14  1:16               ` kbuild, localversion (Re: [patch 3/3, resend] kbuild: correctly skip tilded backups in localversion files) Oleg Verych
2007-02-14  8:30                 ` Sam Ravnborg
2007-02-06 17:56 ` [patch 0/3, resend] scripts, kbuild updates/fixes (against 2.6.20) Randy Dunlap
2007-02-06 18:25   ` Oleg Verych
2007-02-06 23:38 ` Oleg Verych

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070206012207.805083000@flower.upol.cz \
    --to=olecom@flower.upol.cz \
    --cc=akpm@linux-foundation.org \
    --cc=azarah@nosferatu.za.org \
    --cc=jesper.juhl@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sam@ravnborg.org \
    --cc=torvalds@linux-foundation.org \
    --cc=wstearns@pobox.com \
    --cc=zippel@linux-m68k.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).