Patchwork gcc: skip core pass 1 when it is unnecessary

login
register
mail settings
Submitter Trevor Woerner
Date Feb. 26, 2014, 4 p.m.
Message ID <76f3ac3697f23244c624.1393430436@openSUSE-i7>
Download mbox | patch
Permalink /patch/324484/
State Superseded
Headers show

Comments

Trevor Woerner - Feb. 26, 2014, 4 p.m.
# HG changeset patch
# User Trevor Woerner <trevor.woerner@linaro.org>
# Date 1393430367 18000
#      Wed Feb 26 10:59:27 2014 -0500
# Node ID 76f3ac3697f23244c6246e87081ba452230d35f1
# Parent  c727adf1b7bd2c1e891db512871dbe7b26797fa6
gcc: skip core pass 1 when it is unnecessary

If neither Linux headers nor libc start files are required, skip gcc's core
pass 1 since the build will simply move from pass 1 to pass 2 without doing
any work in between.


--
For unsubscribe information see http://sourceware.org/lists.html#faq

Patch

diff -r c727adf1b7bd -r 76f3ac3697f2 scripts/build/cc/gcc.sh
--- a/scripts/build/cc/gcc.sh	Tue Feb 25 13:34:48 2014 -0500
+++ b/scripts/build/cc/gcc.sh	Wed Feb 26 10:59:27 2014 -0500
@@ -88,6 +88,14 @@ 
         return 0
     fi
 
+    # skip gcc pass 1 if there are no Linux kernel headers
+    # nor libc start files to build/process
+    if [ "${CT_LIBC}" = "none" -o "${CT_LIBC}" = "newlib" ]; then
+        if [ "${CT_BARE_METAL}" = "y" ]; then
+            return 0
+        fi
+    fi
+
     core_opts+=( "mode=static" )
     core_opts+=( "host=${CT_BUILD}" )
     core_opts+=( "complibs=${CT_BUILDTOOLS_PREFIX_DIR}" )