Browse Source

Unfortunately, the GCC documentation and the implementation diverge dramatically: BOOT_CFLAGS is not for stage1 (booting), but for stage2, stage3, etc. And LIBCFLAGS are used for libiberty, but no BOOT_LIBCFLAGS exists (BOOT_LIBCXXFLAGS are not required, btw). To allow GCC to build correctly with a non-GCC vendor compiler, we no longer set LIBCFLAGS at all (because libiberity build would fail) and we use CFLAGS for the stage1 and BOOT_CFLAGS for stage2, stage3, etc. So, beastie GCC, DWIM now, please!

Ralf S. Engelschall 22 years ago
parent
commit
55f917a1e8
1 changed files with 7 additions and 9 deletions
  1. 7 9
      gcc/gcc.spec

+ 7 - 9
gcc/gcc.spec

@@ -135,30 +135,28 @@ Provides:     gcc = %{version}-%{release}
         `find . -name Makefile -type f -print`
 
     #   determine build flags
-    l_boot_cflags=""
     l_cflags=""
+    l_boot_cflags=""
     l_libcflags="-g"
     l_libcxxflags="-g"
 %if "%{with_binutils}" == "yes"
     #   at least GNU as from GNU binutils supports -pipe always
-    l_cflags="$l_cflags -pipe"
-    l_libcflags="$l_libcflags -pipe"
+    l_boot_cflags="$l_boot_cflags -pipe"
     l_libcxxflags="$l_libcxxflags -pipe"
 %endif
 %if "%{with_optimize}" == "yes"
     #   conservatively optimize the generated program code
     #   (also _tune_ for particular CPUs, but _without_ requiring these CPUs!)
-    l_cflags="$l_cflags -O2 -fomit-frame-pointer -funroll-loops"
+    l_cflags="$l_cflags -O"
+    l_boot_cflags="$l_boot_cflags -O2 -fomit-frame-pointer -funroll-loops"
     case "%{l_target}" in
-        *x86-*     ) l_cflags="$l_cflags -mcpu=pentium3" ;;
-        *sparc64-* ) l_cflags="$l_cflags -mtune=v9"      ;;
+        *x86-*     ) l_boot_cflags="$l_boot_cflags -mcpu=pentium3" ;;
+        *sparc64-* ) l_boot_cflags="$l_boot_cflags -mtune=v9"      ;;
     esac
-    l_libcflags="$l_libcflags -O2"
     l_libcxxflags="$l_libcxxflags -O2 -fno-implicit-templates"
 %else
     #   else do no optimizations at all to reduce problems to minimum in advance
-    l_cflags="$l_cflags -O0"
-    l_libcflags="$l_libcflags -O0"
+    l_boot_cflags="$l_boot_cflags -O0"
     l_libcxxflags="$l_libcxxflags -O0"
 %endif