[617118d] | 1 | Submitted By: Ryan Oliver (ryan dot oliver at pha dot com dot au)
|
---|
| 2 | Origin: Ryan Oliver
|
---|
| 3 | Date: 2004-07-15
|
---|
| 4 | Initial Package Version: 3.4.1 (problem exists through 3.3 series)
|
---|
| 5 | Description: There are issues with configure when attempting to cross-compile
|
---|
| 6 | a native gcc for target. During the last stage of make configure-host,
|
---|
| 7 | where host = target, the configury doesn't check if host != build.
|
---|
| 8 | Therefore it assumes that the build is a native build and performs
|
---|
| 9 | binutils feature checks using either
|
---|
| 10 | a) what the native compiler we are building would normally use.
|
---|
| 11 | If a target-native binutils has already been built with the same
|
---|
| 12 | prefix, this is the binutils which is used which of course will not
|
---|
| 13 | work on host
|
---|
| 14 | b) the host os's assembler/linker/nm/as
|
---|
| 15 | which leads to bogus results.
|
---|
| 16 | This patch fixes this behaviour, so that if host = target and
|
---|
| 17 | host != build the cross tools will be used for feature checks.
|
---|
| 18 |
|
---|
| 19 | --- gcc-3.4.1-ORIG/gcc/configure 2004-04-19 09:45:10.000000000 +1000
|
---|
| 20 | +++ gcc-3.4.1/gcc/configure 2004-07-15 02:01:17.000000000 +1000
|
---|
| 21 | @@ -9518,7 +9518,9 @@
|
---|
| 22 | # If the loop below does not find an assembler, then use whatever
|
---|
| 23 | # one we can find in the users's path.
|
---|
| 24 | # user's path.
|
---|
| 25 | - if test "x$program_prefix" != xNONE; then
|
---|
| 26 | + if test "x$host" = "x$target" -a "x$host" != "x$build"; then
|
---|
| 27 | + gcc_cv_as=${target_alias}-as$host_exeext
|
---|
| 28 | + elif test "x$gcc_cv_as" = x -a "x$program_prefix" != xNONE; then
|
---|
| 29 | gcc_cv_as=${program_prefix}as$host_exeext
|
---|
| 30 | else
|
---|
| 31 | gcc_cv_as=`echo as | sed ${program_transform_name}`$host_exeext
|
---|
| 32 | @@ -9528,10 +9530,13 @@
|
---|
| 33 | $test_prefix/libexec/gcc/$target_noncanonical \
|
---|
| 34 | /usr/lib/gcc/$target_noncanonical/$gcc_version \
|
---|
| 35 | /usr/lib/gcc/$target_noncanonical \
|
---|
| 36 | - $test_prefix/$target_noncanonical/bin/$target_noncanonical/$gcc_version \
|
---|
| 37 | - $test_prefix/$target_noncanonical/bin"
|
---|
| 38 | + $test_prefix/$target_noncanonical/bin/$target_noncanonical/$gcc_version"
|
---|
| 39 | + if test "x$build" = "x$target" ; then
|
---|
| 40 | + test_dirs="$test_dirs \
|
---|
| 41 | + $test_prefix/$target_noncanonical/bin"
|
---|
| 42 | + fi
|
---|
| 43 |
|
---|
| 44 | - if test x$host = x$target; then
|
---|
| 45 | + if test x$host = x$target -a x$host = x$build; then
|
---|
| 46 | test_dirs="$test_dirs \
|
---|
| 47 | /usr/libexec \
|
---|
| 48 | /usr/ccs/gcc \
|
---|
| 49 | @@ -9633,7 +9638,9 @@
|
---|
| 50 | # If the loop below does not find an linker, then use whatever
|
---|
| 51 | # one we can find in the users's path.
|
---|
| 52 | # user's path.
|
---|
| 53 | - if test "x$program_prefix" != xNONE; then
|
---|
| 54 | + if test "x$host" = "x$target" -a "x$host" != "x$build"; then
|
---|
| 55 | + gcc_cv_ld=${target_alias}-ld$host_exeext
|
---|
| 56 | + elif test "x$gcc_cv_ld" = x -a "x$program_prefix" != xNONE; then
|
---|
| 57 | gcc_cv_ld=${program_prefix}ld$host_exeext
|
---|
| 58 | else
|
---|
| 59 | gcc_cv_ld=`echo ld | sed ${program_transform_name}`$host_exeext
|
---|
| 60 | @@ -9643,10 +9650,13 @@
|
---|
| 61 | $test_prefix/libexec/gcc/$target_noncanonical \
|
---|
| 62 | /usr/lib/gcc/$target_noncanonical/$gcc_version \
|
---|
| 63 | /usr/lib/gcc/$target_noncanonical \
|
---|
| 64 | - $test_prefix/$target_noncanonical/bin/$target_noncanonical/$gcc_version \
|
---|
| 65 | - $test_prefix/$target_noncanonical/bin"
|
---|
| 66 | + $test_prefix/$target_noncanonical/bin/$target_noncanonical/$gcc_version"
|
---|
| 67 | + if test "x$build" = "x$target" ; then
|
---|
| 68 | + test_dirs="$test_dirs \
|
---|
| 69 | + $test_prefix/$target_noncanonical/bin"
|
---|
| 70 | + fi
|
---|
| 71 |
|
---|
| 72 | - if test x$host = x$target; then
|
---|
| 73 | + if test x$host = x$target -a x$host = x$build; then
|
---|
| 74 | test_dirs="$test_dirs \
|
---|
| 75 | /usr/libexec \
|
---|
| 76 | /usr/ccs/gcc \
|
---|
| 77 | @@ -9692,6 +9702,8 @@
|
---|
| 78 | gcc_cv_nm=./nm$host_exeext
|
---|
| 79 | rm -f nm$host_exeext
|
---|
| 80 | $symbolic_link ../binutils/nm-new$host_exeext nm$host_exeext 2>/dev/null
|
---|
| 81 | +elif test "x$host" = "x$target" -a "x$host" != "x$build"; then
|
---|
| 82 | + gcc_cv_nm=${target_alias}-nm$host_exeext
|
---|
| 83 | elif test "x$program_prefix" != xNONE; then
|
---|
| 84 | gcc_cv_nm=${program_prefix}nm$host_exeext
|
---|
| 85 | else
|
---|
| 86 | @@ -9718,6 +9730,8 @@
|
---|
| 87 | rm -f objdump$host_exeext
|
---|
| 88 | $symbolic_link ../binutils/objdump$host_exeext \
|
---|
| 89 | objdump$host_exeext 2>/dev/null
|
---|
| 90 | +elif test "x$host" = "x$target" -a "x$host" != "x$build"; then
|
---|
| 91 | + gcc_cv_objdump=${target_alias}-objdump$host_exeext
|
---|
| 92 | elif test "x$program_prefix" != xNONE; then
|
---|
| 93 | gcc_cv_objdump=${program_prefix}objdump$host_exeext
|
---|
| 94 | else
|
---|