This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Double the speed of ct-ng with CONFIG_SHELL=/bin/ash


Hi folks
  You can roughly halve* the time that a ct-ng build takes by saying:
CONFIG_SHELL=/bin/ash ct-ng build
  This is because bash is executed more times during a run, from
configure and from make, than all the other commands put together (!).
  Unlike $SHELL, this just overrides the shell used to launch shell
commands from "configure" and "make"
  You'll need to add one tiny patch (attached) in
patches/binutils/binutils-2.18 to rewrite a tiny bashism in a way that
is not poisonous to dash (the version of ash I have). I guess the
other binutils versions would need the same thing.

happy hacking!

   M

*) the GMP build dropped from 230 seconds to 150, and is now hovering
at 108 seconds.
--- binutils-2.18.orig/ld/genscripts.sh	2007-08-12 20:00:07.000000000 +0100
+++ binutils-2.18/ld/genscripts.sh	2008-08-25 16:09:54.000000000 +0100
@@ -398,9 +398,11 @@
     . $em_script
     em_script=$current_script
   }
-  fragment()
+  
+  alias fragment='em_lineno=$LINENO; fragment_em'
+  fragment_em()
   {
-    local lineno=$[${BASH_LINENO[0]} + 1]
+    local lineno=$[$em_lineno + 1]
     echo >> e${EMULATION_NAME}.c "#line $lineno \"$em_script\""
     cat >> e${EMULATION_NAME}.c
   }
--
For unsubscribe information see http://sourceware.org/lists.html#faq

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]