|
|
4ac4fd |
This is an optimization hack which should only be present
|
|
|
4ac4fd |
in a sparc 32bit driver of the compiler compiled with
|
|
|
4ac4fd |
host/target/build sparc64-redhat-linux --with-cpu=v7.
|
|
|
4ac4fd |
As long long HOST_WIDE_INT slows things down, we can have in
|
|
|
4ac4fd |
addition to the sparc64-*/3.2/{cc1,cc1plus}
|
|
|
4ac4fd |
sparc-*/3.2/{cc1,cc1plus} binaries which are suitable for compiling
|
|
|
4ac4fd |
-m32 code only, but use long HOST_WIDE_INT.
|
|
|
4ac4fd |
|
|
|
4ac4fd |
--- gcc/gcc.c.jj Thu Aug 1 17:41:31 2002
|
|
|
4ac4fd |
+++ gcc/gcc.c Fri Sep 6 16:48:10 2002
|
|
|
4ac4fd |
@@ -3184,6 +3184,8 @@ process_command (argc, argv)
|
|
|
4ac4fd |
int have_c = 0;
|
|
|
4ac4fd |
int have_o = 0;
|
|
|
4ac4fd |
int lang_n_infiles = 0;
|
|
|
4ac4fd |
+ int m64 = 0;
|
|
|
4ac4fd |
+ int used_B = 0;
|
|
|
4ac4fd |
#ifdef MODIFY_TARGET_NAME
|
|
|
4ac4fd |
int is_modify_target_name;
|
|
|
4ac4fd |
int j;
|
|
|
4ac4fd |
@@ -3565,6 +3567,7 @@ warranty; not even for MERCHANTABILITY o
|
|
|
4ac4fd |
spec_machine = p + 1;
|
|
|
4ac4fd |
|
|
|
4ac4fd |
warn_std_ptr = &warn_std;
|
|
|
4ac4fd |
+ used_B = 1;
|
|
|
4ac4fd |
break;
|
|
|
4ac4fd |
|
|
|
4ac4fd |
case 'B':
|
|
|
4ac4fd |
@@ -3627,6 +3630,7 @@ warranty; not even for MERCHANTABILITY o
|
|
|
4ac4fd |
PREFIX_PRIORITY_B_OPT, 0, &warn_B, 0);
|
|
|
4ac4fd |
add_prefix (&include_prefixes, concat (value, "include", NULL),
|
|
|
4ac4fd |
NULL, PREFIX_PRIORITY_B_OPT, 0, NULL, 0);
|
|
|
4ac4fd |
+ used_B = 1;
|
|
|
4ac4fd |
n_switches++;
|
|
|
4ac4fd |
}
|
|
|
4ac4fd |
break;
|
|
|
4ac4fd |
@@ -3731,6 +3735,13 @@ warranty; not even for MERCHANTABILITY o
|
|
|
4ac4fd |
#endif
|
|
|
4ac4fd |
goto normal_switch;
|
|
|
4ac4fd |
|
|
|
4ac4fd |
+ /* HACK START */
|
|
|
4ac4fd |
+ case 'm':
|
|
|
4ac4fd |
+ if (p[1] == '6' && p[2] == '4')
|
|
|
4ac4fd |
+ m64 = 1;
|
|
|
4ac4fd |
+ /* FALLTHROUGH */
|
|
|
4ac4fd |
+ /* HACK END */
|
|
|
4ac4fd |
+
|
|
|
4ac4fd |
default:
|
|
|
4ac4fd |
normal_switch:
|
|
|
4ac4fd |
|
|
|
4ac4fd |
@@ -3798,6 +3809,26 @@ warranty; not even for MERCHANTABILITY o
|
|
|
4ac4fd |
/* Use 2 as fourth arg meaning try just the machine as a suffix,
|
|
|
4ac4fd |
as well as trying the machine and the version. */
|
|
|
4ac4fd |
#ifndef OS2
|
|
|
4ac4fd |
+ /* HACK START */
|
|
|
4ac4fd |
+ if (!m64 && !used_B && !strncmp (spec_machine, "sparc64-", 8))
|
|
|
4ac4fd |
+ {
|
|
|
4ac4fd |
+ const char *sparc32_exec_prefix =
|
|
|
4ac4fd |
+ concat (standard_exec_prefix, "sparc-", spec_machine + 8,
|
|
|
4ac4fd |
+ dir_separator_str, spec_version, dir_separator_str, NULL);
|
|
|
4ac4fd |
+ add_prefix (&exec_prefixes, sparc32_exec_prefix, "GCC",
|
|
|
4ac4fd |
+ PREFIX_PRIORITY_LAST, 0, warn_std_ptr, 0);
|
|
|
4ac4fd |
+ }
|
|
|
4ac4fd |
+ /* HACK END */
|
|
|
4ac4fd |
+ /* HACK START */
|
|
|
4ac4fd |
+ if (!m64 && !used_B && !strncmp (spec_machine, "ppc64-", 6))
|
|
|
4ac4fd |
+ {
|
|
|
4ac4fd |
+ const char *ppc32_exec_prefix =
|
|
|
4ac4fd |
+ concat (standard_exec_prefix, "ppc-", spec_machine + 6,
|
|
|
4ac4fd |
+ dir_separator_str, spec_version, dir_separator_str, NULL);
|
|
|
4ac4fd |
+ add_prefix (&exec_prefixes, ppc32_exec_prefix, "GCC",
|
|
|
4ac4fd |
+ PREFIX_PRIORITY_LAST, 0, warn_std_ptr, 0);
|
|
|
4ac4fd |
+ }
|
|
|
4ac4fd |
+ /* HACK END */
|
|
|
4ac4fd |
add_prefix (&exec_prefixes, standard_exec_prefix, "GCC",
|
|
|
4ac4fd |
PREFIX_PRIORITY_LAST, 1, warn_std_ptr, 0);
|
|
|
4ac4fd |
add_prefix (&exec_prefixes, standard_exec_prefix, "BINUTILS",
|