Author: jim
Date: 2005-04-29 23:39:16 -0600 (Fri, 29 Apr 2005)
New Revision: 939

Added:
   trunk/gcc/gcc-3.4.3-fix_configure_for_target_native-1.patch
Log:
Added: gcc-3.4.3-fix_configure_for_target_native-1.patch for cross-lfs

Added: trunk/gcc/gcc-3.4.3-fix_configure_for_target_native-1.patch
===================================================================
--- trunk/gcc/gcc-3.4.3-fix_configure_for_target_native-1.patch 2005-04-29 
18:25:20 UTC (rev 938)
+++ trunk/gcc/gcc-3.4.3-fix_configure_for_target_native-1.patch 2005-04-30 
05:39:16 UTC (rev 939)
@@ -0,0 +1,95 @@
+Submitted By: Ryan Oliver (ryan dot oliver at pha dot com dot au)
+Origin: Ryan Oliver
+Date: 2004-07-15
+Initial Package Version: 3.4.1 (problem exists through 3.3 series)
+Upstream Status: Unknown
+Description: There are issues with configure when attempting to cross-compile
+       a native gcc for target. During the last stage of make configure-host,
+       where host = target, the configury doesn't check if host != build.
+       Therefore it assumes that the build is a native build and performs
+        binutils feature checks using either 
+       a) what the native compiler we are building would normally use.
+          If a target-native binutils has already been built with the same
+          prefix, this is the binutils which is used which of course will not
+          work on host
+       b) the host os's assembler/linker/nm/as
+       which leads to bogus results.
+       This patch fixes this behaviour, so that if host = target and 
+       host != build the cross tools will be used for feature checks.
+
+--- gcc-3.4.1-ORIG/gcc/configure       2004-04-19 09:45:10.000000000 +1000
++++ gcc-3.4.1/gcc/configure    2004-07-15 02:01:17.000000000 +1000
+@@ -9518,7 +9518,9 @@
+       # If the loop below does not find an assembler, then use whatever
+       # one we can find in the users's path.
+       # user's path.
+-      if test "x$program_prefix" != xNONE; then
++      if test "x$host" = "x$target" -a "x$host" != "x$build"; then
++              gcc_cv_as=${target_alias}-as$host_exeext
++      elif test "x$gcc_cv_as" = x -a "x$program_prefix" != xNONE; then
+               gcc_cv_as=${program_prefix}as$host_exeext
+       else
+               gcc_cv_as=`echo as | sed ${program_transform_name}`$host_exeext
+@@ -9528,10 +9530,13 @@
+                  $test_prefix/libexec/gcc/$target_noncanonical \
+                  /usr/lib/gcc/$target_noncanonical/$gcc_version \
+                  /usr/lib/gcc/$target_noncanonical \
+-                 
$test_prefix/$target_noncanonical/bin/$target_noncanonical/$gcc_version \
+-                 $test_prefix/$target_noncanonical/bin"
++                 
$test_prefix/$target_noncanonical/bin/$target_noncanonical/$gcc_version"
++      if test "x$build" = "x$target" ; then 
++              test_dirs="$test_dirs \
++                         $test_prefix/$target_noncanonical/bin"
++      fi
+ 
+-      if test x$host = x$target; then
++      if test x$host = x$target -a x$host = x$build; then
+           test_dirs="$test_dirs \
+                  /usr/libexec \
+                  /usr/ccs/gcc \
+@@ -9633,7 +9638,9 @@
+       # If the loop below does not find an linker, then use whatever
+       # one we can find in the users's path.
+       # user's path.
+-      if test "x$program_prefix" != xNONE; then
++      if test "x$host" = "x$target" -a "x$host" != "x$build"; then
++              gcc_cv_ld=${target_alias}-ld$host_exeext
++      elif test "x$gcc_cv_ld" = x -a "x$program_prefix" != xNONE; then
+               gcc_cv_ld=${program_prefix}ld$host_exeext
+       else
+               gcc_cv_ld=`echo ld | sed ${program_transform_name}`$host_exeext
+@@ -9643,10 +9650,13 @@
+                  $test_prefix/libexec/gcc/$target_noncanonical \
+                  /usr/lib/gcc/$target_noncanonical/$gcc_version \
+                  /usr/lib/gcc/$target_noncanonical \
+-                 
$test_prefix/$target_noncanonical/bin/$target_noncanonical/$gcc_version \
+-                 $test_prefix/$target_noncanonical/bin"
++                 
$test_prefix/$target_noncanonical/bin/$target_noncanonical/$gcc_version"
++      if test "x$build" = "x$target" ; then 
++              test_dirs="$test_dirs \
++                         $test_prefix/$target_noncanonical/bin"
++      fi
+ 
+-      if test x$host = x$target; then
++      if test x$host = x$target -a x$host = x$build; then
+           test_dirs="$test_dirs \
+                  /usr/libexec \
+                  /usr/ccs/gcc \
+@@ -9692,6 +9702,8 @@
+       gcc_cv_nm=./nm$host_exeext
+       rm -f nm$host_exeext
+       $symbolic_link ../binutils/nm-new$host_exeext nm$host_exeext 2>/dev/null
++elif test "x$host" = "x$target" -a "x$host" != "x$build"; then
++      gcc_cv_nm=${target_alias}-nm$host_exeext
+ elif test "x$program_prefix" != xNONE; then
+       gcc_cv_nm=${program_prefix}nm$host_exeext
+ else
+@@ -9718,6 +9730,8 @@
+       rm -f objdump$host_exeext
+       $symbolic_link ../binutils/objdump$host_exeext \
+               objdump$host_exeext 2>/dev/null
++elif test "x$host" = "x$target" -a "x$host" != "x$build"; then
++      gcc_cv_objdump=${target_alias}-objdump$host_exeext
+ elif test "x$program_prefix" != xNONE; then
+       gcc_cv_objdump=${program_prefix}objdump$host_exeext
+ else

-- 
http://linuxfromscratch.org/mailman/listinfo/patches
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to