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