From: Daniel Jacobowitz <drow@mvista.com>
To: John David Anglin <dave@hiauly1.hia.nrc.ca>
Cc: Richard.Earnshaw@arm.com, gcc-patches@gcc.gnu.org
Subject: Re: RFC: New approach to --with-cpu
Date: Wed, 31 Jul 2002 13:27:00 -0000 [thread overview]
Message-ID: <20020731194750.GA2371@nevyn.them.org> (raw)
In-Reply-To: <200207311652.g6VGqPCg022621@hiauly1.hia.nrc.ca>
On Wed, Jul 31, 2002 at 12:52:24PM -0400, John David Anglin wrote:
> > Historical inconsistency. PA appears to define -mschedule but not
> > -mtune; the meaning appears to be about the same. One thing I will
> > _not_ do is allow --with-tune to set -mschedule, though; I'd rather add
> > -mtune to PA and then use --with-tune.
>
> My preference would be to leave things as they are and use --with-schedule.
> -mschedule relates directly to the scheduling model. The option value is PA
> specific anyway. We also have a whole bunch of other oddball -m options
> which affect bits in the target flags.
Take 3. Is this about what you had in mind?
--
Daniel Jacobowitz Carnegie Mellon University
MontaVista Software Debian GNU/Linux Developer
2002-07-31 Daniel Jacobowitz <drow@mvista.com>
* Makefile.in (DRIVER_DEFINES): Add @target_default_options@
* configure.in: Add @target_default_options@. Document --with-cpu,
--with-arch, --with-tune, --with-schedule, and --with-float.
* config.gcc: Reorganize $with_cpu logic. Set
target_default_options according to the default CPU, $with_cpu,
$with_arch, $with_tune, $with_schedule, and $with_float.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (default_options, add_option, option_present): New
functions.
(process_command): Call default_options.
* doc/install.texi: Update --with-cpu documentation. Mention
--with-arch, --with-schedule, --with-tune, and --with-float.
Index: Makefile.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Makefile.in,v
retrieving revision 1.919
diff -u -p -r1.919 Makefile.in
--- Makefile.in 29 Jul 2002 19:31:23 -0000 1.919
+++ Makefile.in 31 Jul 2002 19:43:30 -0000
@@ -1251,6 +1251,7 @@ c-dump.o : c-dump.c $(CONFIG_H) $(SYSTEM
# Language-independent files.
DRIVER_DEFINES = \
+ @target_default_options@ \
-DSTANDARD_STARTFILE_PREFIX=\"$(unlibsubdir)/\" \
-DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc-lib/\" \
-DDEFAULT_TARGET_VERSION=\"$(version)\" \
Index: config.gcc
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config.gcc,v
retrieving revision 1.229
diff -u -p -r1.229 config.gcc
--- config.gcc 29 Jul 2002 22:21:40 -0000 1.229
+++ config.gcc 31 Jul 2002 19:43:32 -0000
@@ -2770,173 +2770,178 @@ case $machine in
;;
esac
-# Distinguish i[34567]86
-# Also, do not run mips-tfile on MIPS if using gas.
-# Process --with-cpu= for PowerPC/rs6000
-target_cpu_default2=
-case $machine in
-i486-*-*)
- target_cpu_default2=TARGET_CPU_DEFAULT_i486
- ;;
-i586-*-*)
- case $target_alias in
- k6_2-*)
- target_cpu_default2=TARGET_CPU_DEFAULT_k6_2
- ;;
- k6_3-*)
- target_cpu_default2=TARGET_CPU_DEFAULT_k6_3
- ;;
- k6-*)
- target_cpu_default2=TARGET_CPU_DEFAULT_k6
- ;;
- pentium_mmx-*)
- target_cpu_default2=TARGET_CPU_DEFAULT_pentium_mmx
- ;;
- *)
- target_cpu_default2=TARGET_CPU_DEFAULT_pentium
- ;;
- esac
- ;;
-i686-*-* | i786-*-*)
- case $target_alias in
- athlon_xp-*|athlon_mp-*|athlon_4-*)
- target_cpu_default2=TARGET_CPU_DEFAULT_athlon_sse
- ;;
- athlon_tbird-*|athlon-*)
- target_cpu_default2=TARGET_CPU_DEFAULT_athlon
- ;;
- pentium2-*)
- target_cpu_default2=TARGET_CPU_DEFAULT_pentium2
- ;;
- pentium3-*)
- target_cpu_default2=TARGET_CPU_DEFAULT_pentium3
- ;;
- pentium4-*)
- target_cpu_default2=TARGET_CPU_DEFAULT_pentium4
- ;;
- *)
- target_cpu_default2=TARGET_CPU_DEFAULT_pentiumpro
+if test x$pass2done = xyes
+then
+ case "x$with_cpu" in
+ xyes | xno)
+ echo "--with-cpu must be passed a value" 1>&2
+ exit 1
;;
esac
- ;;
-x86_64-*-*)
- # We should have hammer chip here, but it does not exist yet and
- # thus it is not supported. Athlon_SSE is probably equivalent feature
- # wise to hammer from our point of view except for 64bit mode.
- target_cpu_default2=TARGET_CPU_DEFAULT_athlon_sse
- ;;
-alpha*-*-*)
- case $machine in
- alphaev6[78]*)
- target_cpu_default2="MASK_CPU_EV6|MASK_BWX|MASK_MAX|MASK_FIX|MASK_CIX"
- ;;
- alphaev6*)
- target_cpu_default2="MASK_CPU_EV6|MASK_BWX|MASK_MAX|MASK_FIX"
- ;;
- alphapca56*)
- target_cpu_default2="MASK_CPU_EV5|MASK_BWX|MASK_MAX"
- ;;
- alphaev56*)
- target_cpu_default2="MASK_CPU_EV5|MASK_BWX"
+
+ # If there is no $with_cpu option, try to infer one from ${machine}.
+ if test x$with_cpu = x
+ then
+ case $machine in
+ i486-*-*)
+ with_cpu=i486
+ ;;
+ i586-*-*)
+ case $target_alias in
+ k6_2-*)
+ with_cpu=k6-2
+ ;;
+ k6_3-*)
+ with_cpu=k6-3
+ ;;
+ k6-*)
+ with_cpu=k6
+ ;;
+ pentium_mmx-*)
+ with_cpu=pentium-mmx
+ ;;
+ *)
+ with_cpu=pentium
+ ;;
+ esac
+ ;;
+ i686-*-* | i786-*-*)
+ case $target_alias in
+ athlon_xp-*|athlon_mp-*|athlon_4-*)
+ with_cpu=athlon-4
+ ;;
+ athlon_tbird-*|athlon-*)
+ with_cpu=athlon
+ ;;
+ pentium2-*)
+ with_cpu=pentium2
+ ;;
+ pentium3-*)
+ with_cpu=pentium3
+ ;;
+ pentium4-*)
+ with_cpu=pentium4
+ ;;
+ *)
+ with_cpu=pentiumpro
+ ;;
+ esac
+ ;;
+ x86_64-*-*)
+ # We should have hammer chip here, but it does not
+ # exist yet and thus it is not supported. Athlon_SSE
+ # is probably equivalent feature wise to hammer from
+ # our point of view except for 64bit mode.
+ with_cpu=athlon-sse
+ ;;
+ alpha*-*-*)
+ case $machine in
+ alphaev6[78]*)
+ with_cpu=ev67
+ ;;
+ alphaev6*)
+ with_cpu=ev6
+ ;;
+ alphapca56*)
+ with_cpu=pca56
+ ;;
+ alphaev56*)
+ with_cpu=ev56
+ ;;
+ alphaev5*)
+ with_cpu=ev5
+ ;;
+ esac
;;
- alphaev5*)
- target_cpu_default2="MASK_CPU_EV5"
+ sparc*-*-*)
+ with_cpu="`echo $machine | sed 's/-.*$//'`"
;;
- esac
+ esac
+ fi
- if test x$gas = xyes
- then
- if test "$target_cpu_default2" = ""
+ case "$machine" in
+ alpha*-*-*)
+ if test x$gas = xyes
then
- target_cpu_default2="MASK_GAS"
- else
- target_cpu_default2="${target_cpu_default2}|MASK_GAS"
+ if test "$target_cpu_default2" = ""
+ then
+ target_cpu_default2="MASK_GAS"
+ else
+ target_cpu_default2="${target_cpu_default2}|MASK_GAS"
+ fi
fi
- fi
- ;;
-arm*-*-*)
- case "x$with_cpu" in
- x)
- # The most generic
- target_cpu_default2="TARGET_CPU_generic"
- ;;
-
+ ;;
+ arm*-*-*)
+ # Start with the most generic.
+ target_cpu_default2="TARGET_CPU_generic"
# Distinguish cores, and major variants
# arm7m doesn't exist, but D & I don't affect code
+ case "x$with_cpu" in
xarm[236789] | xarm250 | xarm[67][01]0 \
| xarm7m | xarm7dm | xarm7dmi | xarm[79]tdmi \
| xarm7100 | xarm7500 | xarm7500fe | xarm810 \
| xxscale \
| xstrongarm | xstrongarm110 | xstrongarm1100)
- target_cpu_default2="TARGET_CPU_$with_cpu"
+ # OK
;;
- xyes | xno)
- echo "--with-cpu must be passed a value" 1>&2
+ *)
+ echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
exit 1
;;
-
- *)
- if test x$pass2done = xyes
+ esac
+ ;;
+ hppa*-*-* | parisc*-*-*)
+ if test x$gas = xyes
+ then
+ target_cpu_default2="MASK_GAS|MASK_JUMP_IN_DELAY"
+ fi
+ case $machine in
+ hppa1* | parisc1*)
+ with_cpu=7100LC
+ ;;
+ esac
+ ;;
+ mips*-*-*)
+ case $machine in
+ mips*-*-ecoff* | mips*-*-elf*)
+ if test x$gas = xyes
then
- echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
- exit 1
+ if test x$gnu_ld = xyes
+ then
+ target_cpu_default2="MASK_GAS|MASK_SPLIT_ADDR"
+ else
+ target_cpu_default2="MASK_GAS"
+ fi
fi
;;
- esac
- ;;
-
-hppa*-*-* | parisc*-*-*)
- if test x$gas = xyes
- then
- target_cpu_default2="MASK_GAS|MASK_JUMP_IN_DELAY"
- fi
- case $machine in
- hppa1* | parisc1*)
- tm_defines="TARGET_SCHED_DEFAULT=\\\"7100LC\\\""
- ;;
- esac
- ;;
-mips*-*-*)
- case $machine in
- mips*-*-ecoff* | mips*-*-elf*)
- if test x$gas = xyes
- then
- if test x$gnu_ld = xyes
+ mips*-*-*)
+ if test x$gas = xyes
then
- target_cpu_default2="MASK_GAS|MASK_SPLIT_ADDR"
- else
target_cpu_default2="MASK_GAS"
fi
- fi
- ;;
- mips*-*-*)
- if test x$gas = xyes
+ ;;
+ esac
+ case $machine in
+ mips*el-*-*)
+ tm_defines="TARGET_ENDIAN_DEFAULT=0 $tm_defines"
+ ;;
+ esac
+ if test "x$enable_gofast" = xyes
then
- target_cpu_default2="MASK_GAS"
+ tm_defines="INIT_SUBTARGET_OPTABS=INIT_GOFAST_OPTABS $tm_defines"
+ tm_file="gofast.h $tm_file"
+ tmake_file="mips/t-gofast $tmake_file"
+ else
+ tmake_file="mips/t-mips $tmake_file"
fi
;;
- esac
- case $machine in
- mips*el-*-*)
- tm_defines="TARGET_ENDIAN_DEFAULT=0 $tm_defines"
- ;;
- esac
- if test "x$enable_gofast" = xyes
- then
- tm_defines="INIT_SUBTARGET_OPTABS=INIT_GOFAST_OPTABS $tm_defines"
- tm_file="gofast.h $tm_file"
- tmake_file="mips/t-gofast $tmake_file"
- else
- tmake_file="mips/t-mips $tmake_file"
- fi
- ;;
-powerpc*-*-* | rs6000-*-*)
- if test x$enable_altivec = xyes
- then
- tm_file="$tm_file rs6000/altivec-defs.h"
- fi
- case "x$with_cpu" in
+ powerpc*-*-* | rs6000-*-*)
+ if test x$enable_altivec = xyes
+ then
+ tm_file="$tm_file rs6000/altivec-defs.h"
+ fi
+ case "x$with_cpu" in
x)
;;
@@ -2951,49 +2956,48 @@ powerpc*-*-* | rs6000-*-*)
target_cpu_default2="\\\"$with_cpu\\\""
;;
- xyes | xno)
- echo "--with-cpu must be passed a value" 1>&2
- exit 1
- ;;
-
*)
- if test x$pass2done = xyes
- then
- echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
- exit 1
- fi
- ;;
- esac
- c_target_objs="${c_target_objs} rs6000-c.o"
- cxx_target_objs="${cxx_target_objs} rs6000-c.o"
- tmake_file="${tmake_file} rs6000/t-rs6000-c-rule"
- ;;
-sparc*-*-*)
- case ".$with_cpu" in
- .)
- target_cpu_default2=TARGET_CPU_"`echo $machine | sed 's/-.*$//'`"
+ echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
+ exit 1
;;
+ esac
+ c_target_objs="${c_target_objs} rs6000-c.o"
+ cxx_target_objs="${cxx_target_objs} rs6000-c.o"
+ tmake_file="${tmake_file} rs6000/t-rs6000-c-rule"
+ ;;
+ sparc*-*-*)
+ case .$with_cpu in
.supersparc | .hypersparc | .ultrasparc | .v7 | .v8 | .v9)
target_cpu_default2="TARGET_CPU_$with_cpu"
;;
*)
- if test x$pass2done = xyes
- then
- echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
- exit 1
- fi
+ echo "Unknown cpu used with --with-cpu=$with_cpu" 1>&2
+ exit 1
;;
+ esac
+ ;;
esac
- ;;
-esac
-if test "$target_cpu_default2" != ""
-then
- if test "$target_cpu_default" != ""
+ t=
+ for option in cpu arch tune schedule float
+ do
+ val=`eval 'echo $with_'$option`
+ if test -n "$val"; then
+ upper=`echo $option | tr '[a-z]' '[A-Z]'`
+ option="TARGET_DEFAULT_OPTION_$upper"
+ t="${t} -D${option}=\"${val}\""
+ fi
+ done
+ target_default_options="${t}"
+
+ if test "$target_cpu_default2" != ""
then
- target_cpu_default="(${target_cpu_default}|${target_cpu_default2})"
- else
- target_cpu_default=$target_cpu_default2
+ if test "$target_cpu_default" != ""
+ then
+ target_cpu_default="(${target_cpu_default}|${target_cpu_default2})"
+ else
+ target_cpu_default=$target_cpu_default2
+ fi
fi
fi
Index: configure.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/configure.in,v
retrieving revision 1.612
diff -u -p -r1.612 configure.in
--- configure.in 29 Jul 2002 22:07:27 -0000 1.612
+++ configure.in 31 Jul 2002 19:43:40 -0000
@@ -136,6 +136,20 @@ AC_ARG_WITH(elf,
elf="$with_elf",
elf=no)
+# With a particular CPU
+AC_ARG_WITH(cpu,
+[ --with-cpu default to -mcpu=CPU],,)
+AC_ARG_WITH(arch,
+[ --with-arch default to -march=CPU],,)
+AC_ARG_WITH(schedule,
+[ --with-schedule default to -mschedule=CPU],,)
+AC_ARG_WITH(tune,
+[ --with-tune default to -mtune=CPU],,)
+
+# Default floating-point setting
+AC_ARG_WITH(float,
+[ --with-float default to the specified type of floating point],,)
+
# Specify the local prefix
local_prefix=
AC_ARG_WITH(local-prefix,
@@ -2694,6 +2708,7 @@ AC_SUBST(target_alias)
AC_SUBST(c_target_objs)
AC_SUBST(cxx_target_objs)
AC_SUBST(target_cpu_default)
+AC_SUBST(target_default_options)
AC_SUBST_FILE(target_overrides)
AC_SUBST_FILE(host_overrides)
Index: gcc.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/gcc.c,v
retrieving revision 1.332
diff -u -p -r1.332 gcc.c
--- gcc.c 30 Jul 2002 20:40:14 -0000 1.332
+++ gcc.c 31 Jul 2002 19:43:45 -0000
@@ -990,6 +990,112 @@ static const struct option_map option_ma
};
\f
+static int option_present PARAMS ((int, const char *const *, const char *));
+static void add_option PARAMS ((int *, const char *const **, const char *));
+static void default_options PARAMS ((int *, const char *const **));
+
+static int
+option_present (argc, argv, option)
+ int argc;
+ const char *const *argv;
+ const char *option;
+{
+ int i;
+ int len;
+
+ len = strlen (option);
+
+ for (i = 0; i < argc; i++)
+ if (option[len - 1] == '=')
+ {
+ if (strncmp (argv[i], option, len) == 0)
+ return 1;
+ }
+ else
+ {
+ if (strcmp (argv[i], option) == 0)
+ return 1;
+ }
+
+ return 0;
+}
+
+static void
+add_option (argcp, argvp, option)
+ int *argcp;
+ const char *const **argvp;
+ const char *option;
+{
+ const char **newargv = (const char **) xmalloc ((*argcp + 2) * sizeof (char *));
+ int i;
+
+ newargv[0] = (*argvp)[0];
+ newargv[1] = option;
+ for (i = 1; i < *argcp; i++)
+ newargv[i + 1] = (*argvp)[i];
+ newargv[i + 1] = NULL;
+
+ *argvp = newargv;
+ (*argcp)++;
+}
+
+#ifndef TARGET_DEFAULT_ARCH_P
+#define TARGET_DEFAULT_ARCH_P() (! option_present (*argcp, *argvp, "-march="))
+#endif
+
+#ifndef TARGET_DEFAULT_CPU_P
+#define TARGET_DEFAULT_CPU_P() (! option_present (*argcp, *argvp, "-mcpu="))
+#endif
+
+#ifndef TARGET_DEFAULT_SCHEDULE_P
+#define TARGET_DEFAULT_SCHEDULE_P() (! option_present (*argcp, *argvp, \
+ "-mschedule="))
+#endif
+
+#ifndef TARGET_DEFAULT_TUNE_P
+#define TARGET_DEFAULT_TUNE_P() (! option_present (*argcp, *argvp, "-mtune="))
+#endif
+
+#ifndef TARGET_DEFAULT_FLOAT_P
+#define TARGET_DEFAULT_FLOAT_P() (! option_present (*argcp, *argvp, \
+ "-msoft-float") \
+ && ! option_present (*argcp, *argvp, \
+ "-mhard-float"))
+#endif
+
+static void
+default_options (argcp, argvp)
+ int *argcp ATTRIBUTE_UNUSED;
+ const char *const **argvp ATTRIBUTE_UNUSED;
+{
+#ifdef TARGET_DEFAULT_OPTION_ARCH
+ if (TARGET_DEFAULT_ARCH_P ())
+ add_option (argcp, argvp, "-march=" XSTRING (TARGET_DEFAULT_OPTION_ARCH));
+#endif
+
+#ifdef TARGET_DEFAULT_OPTION_CPU
+ if (TARGET_DEFAULT_CPU_P ())
+ add_option (argcp, argvp, "-mcpu=" XSTRING (TARGET_DEFAULT_OPTION_CPU));
+#endif
+
+#ifdef TARGET_DEFAULT_OPTION_SCHEDULE
+ if (TARGET_DEFAULT_SCHEDULE_P ())
+ add_option (argcp, argvp,
+ "-mschedule=" XSTRING (TARGET_DEFAULT_OPTION_SCHEDULE));
+#endif
+
+#ifdef TARGET_DEFAULT_OPTION_TUNE
+ if (TARGET_DEFAULT_TUNE_P ())
+ add_option (argcp, argvp, "-mtune=" XSTRING (TARGET_DEFAULT_OPTION_TUNE));
+#endif
+
+#ifdef TARGET_DEFAULT_OPTION_FLOAT
+ if (TARGET_DEFAULT_FLOAT_P ())
+ add_option (argcp, argvp, "-m" XSTRING (TARGET_DEFAULT_OPTION_FLOAT) "-float");
+#endif
+}
+\f
+
#ifdef TARGET_OPTION_TRANSLATE_TABLE
static const struct {
const char *const option_found;
@@ -3374,6 +3480,9 @@ process_command (argc, argv)
/* Convert new-style -- options to old-style. */
translate_options (&argc, &argv);
+
+ /* Add any default options. */
+ default_options (&argc, &argv);
/* Do language-specific adjustment/addition of flags. */
lang_specific_driver (&argc, &argv, &added_libraries);
Index: config/mips/mips.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/mips/mips.h,v
retrieving revision 1.206
diff -u -p -r1.206 mips.h
--- config/mips/mips.h 31 Jul 2002 02:13:31 -0000 1.206
+++ config/mips/mips.h 31 Jul 2002 19:43:52 -0000
@@ -737,6 +737,20 @@ extern void sbss_section PARAMS ((void)
N_("Specify cache flush function")}, \
}
+/* This is not quite correct, because -mips16 will override a default
+ architecture. This is an unfortunate consequence of -mips16 being
+ completely orthogonal to the other -mipsN switches, yet sometimes
+ overriding them on the command line. */
+#define TARGET_DEFAULT_ARCH_P() \
+ (! option_present (*argcp, *argvp, "-march=") \
+ && (! option_present (*argcp, *argvp, "-mips") \
+ || option_present (*argcp, *argvp, "-mips16")))
+
+#define TARGET_DEFAULT_FLOAT_P() \
+ (! option_present (*argcp, *argvp, "-msoft-float") \
+ && ! option_present (*argcp, *argvp, "-mhard-float") \
+ && ! option_present (*argcp, *argvp, "-msingle-float"))
+
/* This is meant to be redefined in the host dependent files. */
#define SUBTARGET_TARGET_OPTIONS
Index: doc/install.texi
===================================================================
RCS file: /cvs/gcc/gcc/gcc/doc/install.texi,v
retrieving revision 1.128
diff -u -p -r1.128 install.texi
--- doc/install.texi 30 Jun 2002 19:27:48 -0000 1.128
+++ doc/install.texi 31 Jul 2002 19:43:58 -0000
@@ -671,11 +671,24 @@ Microsoft Win32 API thread support.
@item --with-cpu=@var{cpu}
Specify which cpu variant the
-compiler should generate code for by default. This is currently
-only supported on the some ports, specifically arm, powerpc, and
-SPARC@. If configure does not recognize the model name (e.g.@: arm700,
-603e, or ultrasparc) you provide, please check the configure script
-for a complete list of supported models.
+compiler should generate code for by default. @var{cpu}
+will be used as the default value of the @code{-mcpu=} switch.
+This option is only supported on some ports, including arm, i386, powerpc,
+and SPARC@.
+
+@item --with-schedule=@var{cpu}
+@itemx --with-arch=@var{cpu}
+@itemx --with-tune=@var{cpu}
+These configure options provide default values for the @code{-mschedule=},
+@code{-march=}, and @code{-mtune=} options, respectively. As with
+@code{--with-cpu} the legal values of @var{CPU} depend on the port; these
+options are not valid for all ports, only those which accept the respective
+options.
+
+@item --with-float=@var{type}
+Specify the default form of floating point. The normal choices are ``hard''
+and ``soft''. Which (if any) choices are recognized depends on the port;
+for instance, MIPS also recognizes ``single''.
@item --enable-altivec
Specify that the target supports AltiVec vector enhancements. This
next prev parent reply other threads:[~2002-07-31 19:48 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-07-30 18:54 John David Anglin
2002-07-30 23:03 ` Daniel Jacobowitz
2002-07-31 7:53 ` John David Anglin
2002-07-31 8:09 ` Daniel Jacobowitz
2002-07-31 8:30 ` Richard Earnshaw
2002-07-31 9:02 ` Daniel Jacobowitz
2002-07-31 10:34 ` John David Anglin
2002-07-31 13:27 ` Daniel Jacobowitz [this message]
2002-08-01 3:31 ` Richard Sandiford
2002-08-01 3:57 ` Richard Earnshaw
2002-08-01 8:15 ` John David Anglin
2002-08-01 8:23 ` Daniel Jacobowitz
2002-08-01 11:40 ` John David Anglin
2002-08-01 6:30 ` Richard Earnshaw
2002-08-01 7:41 ` John David Anglin
[not found] <20020801125224.GA5374@nevyn.them.org>
2002-08-01 6:04 ` Richard Earnshaw
2002-08-01 6:25 ` Daniel Jacobowitz
-- strict thread matches above, loose matches on Subject: below --
2002-07-30 15:27 Daniel Jacobowitz
2002-07-31 6:35 ` Richard Sandiford
2002-07-31 6:41 ` Daniel Jacobowitz
2002-07-31 6:54 ` Richard Sandiford
2002-07-31 7:28 ` Daniel Jacobowitz
2002-07-31 7:36 ` Richard Sandiford
2002-07-31 7:46 ` Daniel Jacobowitz
2002-07-31 7:50 ` Richard Sandiford
2002-07-31 8:04 ` Daniel Jacobowitz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20020731194750.GA2371@nevyn.them.org \
--to=drow@mvista.com \
--cc=Richard.Earnshaw@arm.com \
--cc=dave@hiauly1.hia.nrc.ca \
--cc=gcc-patches@gcc.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).