105 lines
3.3 KiB
Diff
105 lines
3.3 KiB
Diff
|
--- libcpp/configure.ac.jj 2005-10-28 23:13:40.000000000 +0200
|
||
|
+++ libcpp/configure.ac 2005-11-25 14:34:31.000000000 +0100
|
||
|
@@ -112,6 +112,8 @@ fi
|
||
|
|
||
|
m4_changequote(,)
|
||
|
case $target in
|
||
|
+ powerpc-*-linux*)
|
||
|
+ need_64bit_hwint=no ;;
|
||
|
alpha*-*-* | \
|
||
|
arm*-*-*eabi* | \
|
||
|
arm*-*-symbianelf* | \
|
||
|
--- libcpp/configure.jj 2005-10-28 23:13:40.000000000 +0200
|
||
|
+++ libcpp/configure 2005-11-25 14:34:40.000000000 +0100
|
||
|
@@ -8217,6 +8217,8 @@ fi
|
||
|
|
||
|
|
||
|
case $target in
|
||
|
+ powerpc-*-linux*)
|
||
|
+ need_64bit_hwint=no ;;
|
||
|
alpha*-*-* | \
|
||
|
arm*-*-*eabi* | \
|
||
|
arm*-*-symbianelf* | \
|
||
|
--- gcc/config.gcc.jj 2005-11-19 09:27:16.000000000 +0100
|
||
|
+++ gcc/config.gcc 2005-11-25 14:29:30.000000000 +0100
|
||
|
@@ -294,7 +294,10 @@ mips*-*-*)
|
||
|
powerpc*-*-*)
|
||
|
cpu_type=rs6000
|
||
|
extra_headers="ppc-asm.h altivec.h spe.h"
|
||
|
- need_64bit_hwint=yes
|
||
|
+ case ${target} in
|
||
|
+ powerpc-*-linux*) ;;
|
||
|
+ *) need_64bit_hwint=yes ;;
|
||
|
+ esac
|
||
|
case x$with_cpu in
|
||
|
xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[345]|xrs64a)
|
||
|
cpu_is_64bit=yes
|
||
|
--- gcc/gcc.c.jj 2005-11-19 21:16:39.000000000 +0100
|
||
|
+++ gcc/gcc.c 2005-11-28 13:00:58.000000000 +0100
|
||
|
@@ -3154,6 +3154,8 @@ process_command (int argc, const char **
|
||
|
const char *spec_lang = 0;
|
||
|
int last_language_n_infiles;
|
||
|
int lang_n_infiles = 0;
|
||
|
+ int hack32 = 1;
|
||
|
+ int used_B = 0;
|
||
|
#ifdef MODIFY_TARGET_NAME
|
||
|
int is_modify_target_name;
|
||
|
int j;
|
||
|
@@ -3680,6 +3682,7 @@ warranty; not even for MERCHANTABILITY o
|
||
|
PREFIX_PRIORITY_B_OPT, 0, 0);
|
||
|
add_prefix (&include_prefixes, value, NULL,
|
||
|
PREFIX_PRIORITY_B_OPT, 0, 0);
|
||
|
+ used_B = 1;
|
||
|
n_switches++;
|
||
|
}
|
||
|
break;
|
||
|
@@ -3742,6 +3745,21 @@ warranty; not even for MERCHANTABILITY o
|
||
|
#endif
|
||
|
goto normal_switch;
|
||
|
|
||
|
+ /* HACK START */
|
||
|
+ case 'm':
|
||
|
+ if ((p[1] == '6' && p[2] == '4')
|
||
|
+ || (p[1] == 'a' && strncmp (p + 2, "ltivec", 6) == 0)
|
||
|
+ || (p[1] == 'c' && strncmp (p + 2, "pu=", 3) == 0
|
||
|
+ && (strncmp (p + 5, "7400", 4) == 0
|
||
|
+ || strncmp (p + 5, "7450", 4) == 0
|
||
|
+ || strncmp (p + 5, "G4", 2) == 0
|
||
|
+ || strncmp (p + 5, "970", 3) == 0
|
||
|
+ || strncmp (p + 5, "G5", 2) == 0))
|
||
|
+ || (p[1] == 'p' && strncmp (p + 2, "owerpc64", 8) == 0))
|
||
|
+ hack32 = 0;
|
||
|
+ /* FALLTHROUGH */
|
||
|
+ /* HACK END */
|
||
|
+
|
||
|
default:
|
||
|
normal_switch:
|
||
|
|
||
|
@@ -3812,6 +3830,26 @@ warranty; not even for MERCHANTABILITY o
|
||
|
/* Use 2 as fourth arg meaning try just the machine as a suffix,
|
||
|
as well as trying the machine and the version. */
|
||
|
#ifndef OS2
|
||
|
+ /* HACK START */
|
||
|
+ if (hack32 && !used_B && !strncmp (spec_machine, "sparc64-", 8))
|
||
|
+ {
|
||
|
+ const char *sparc32_exec_prefix =
|
||
|
+ concat (standard_libexec_prefix, "sparc-", spec_machine + 8,
|
||
|
+ dir_separator_str, spec_version, dir_separator_str, NULL);
|
||
|
+ add_prefix (&exec_prefixes, sparc32_exec_prefix, "GCC",
|
||
|
+ PREFIX_PRIORITY_LAST, 0, 0);
|
||
|
+ }
|
||
|
+ /* HACK END */
|
||
|
+ /* HACK START */
|
||
|
+ if (hack32 && !used_B && !strncmp (spec_machine, "ppc64-", 6))
|
||
|
+ {
|
||
|
+ const char *ppc32_exec_prefix =
|
||
|
+ concat (standard_libexec_prefix, "ppc-", spec_machine + 6,
|
||
|
+ dir_separator_str, spec_version, dir_separator_str, NULL);
|
||
|
+ add_prefix (&exec_prefixes, ppc32_exec_prefix, "GCC",
|
||
|
+ PREFIX_PRIORITY_LAST, 0, 0);
|
||
|
+ }
|
||
|
+ /* HACK END */
|
||
|
add_prefix (&exec_prefixes, standard_libexec_prefix, "GCC",
|
||
|
PREFIX_PRIORITY_LAST, 1, 0);
|
||
|
add_prefix (&exec_prefixes, standard_libexec_prefix, "BINUTILS",
|