Commit Graph

566 Commits

Author SHA1 Message Date
Stan Shebs
f0b81cbc9f config.gcc (powerpc-*-darwin*): Use fragment for Darwin 8 or later.
* config.gcc (powerpc-*-darwin*): Use fragment for Darwin 8 or later.
        * config/rs6000/t-darwin8: New, for 64-bit multilib.

From-SVN: r95118
2005-02-16 21:54:47 +00:00
Geoffrey Keating
f1b4c8d80a config.gcc (*-*-darwin*): Separate darwin7 and darwin8 configs.
* config.gcc (*-*-darwin*): Separate darwin7 and darwin8 configs.
	* config/darwin8.h: New.
	* config/darwin7.h: Update comment.

From-SVN: r94669
2005-02-06 08:34:34 +00:00
Segher Boessenkool
d1c8addb26 config.gcc (powerpc64-*-linux*): Default to -m64 also for specific 64-bit CPUs.
2005-02-01  Segher Boessenkool  <segher@kernel.crashing.org>

	* config.gcc (powerpc64-*-linux*): Default to -m64 also for
	specific 64-bit CPUs.

From-SVN: r94545
2005-02-01 16:36:42 +01:00
Marc Espie
75a3bd9d65 Thx to Eric Botcazou, Andrew Pinski and Mark Kettenis for this one.
Turns out OpenBSD was mistakenly including an embedded system fragment,
and thus outputting stabs debug by default.

Once the only needed definition is saved from that file, we happily compile
with default dwarf2.   The rest of the toolchain is happy, and any recent
gdb works very well with that...

This obviously improves the stability of the compiler, since dwarf2 output
is so much more well-tested than stabs on elf platforms...

2005-01-31  Marc Espie <espie@openbsd.org>

	* config.gcc: Don't include embedded systems fragment, switches default
	debugging format to ELF.
	* config/i386/openbsdelf.h: Add DBX_REGISTER_NUMBER since we no
	longer pick it up there.

From-SVN: r94488
2005-01-31 18:51:26 +00:00
Eric Botcazou
fe15407d97 config.gcc (Obsolete configurations): Remove 'dummy'...
* config.gcc (Obsolete configurations): Remove 'dummy', add
	sparclite-*-coff*, sparclite-*-elf*, sparc86x-*-elf* and
	sparc-*-openbsd*.

From-SVN: r94313
2005-01-27 07:15:36 +00:00
Eric Botcazou
81b4721953 re PR bootstrap/19364 (embedded sparc does not bootstrap)
PR bootstrap/19364
	* config.gcc (sparc-*-elf*): Remove sol2.h, sparc/sol2.h and
	sparc/elf.h, add sparc/sp-elf.h.
	(sparc-*-rtems*): Likewise.
	(sparclite-*-elf*): Remove sol2.h, sparc/sol2.h, sparc/elf.h and
	tm-dwarf2.h, add sparc/sp-elf.h.
	(sparc86x-*-elf): Likewise.
	(sparc64-*-elf*): Remove sol2.h, sparc/sol2.h and tm-dwarf2.h.
	* config/sparc/liteelf.h (TARGET_SUB_OS_CPP_BUILTINS): Rename into
	TARGET_OS_CPP_BUILTINS.
	* config/sparc/sp86x-elf (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
	* config/sparc/rtemself.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
	Undefine it.
	* config/sparc/openbsd64.h (NO_IMPLICIT_EXTERN_C): Undefine.
	* config/sparc/sp64-elf.h (NO_IMPLICIT_EXTERN_C): New macro.
	(SWITCH_TAKES_ARG): Likewise.
	(LOCAL_LABEL_PREFIX): Likewise.
	(ASM_GENERATE_INTERNAL_LABEL): Likewise.
	(TARGET_N_FORMAT_TYPES): Delete.
	(TARGET_FORMAT_TYPES): Likewise.
	(ASM_DECLARE_FUNCTION_SIZE): Likewise.
	* config/sparc/elf.h: Delete.
	* config/sparc/sp-elf.h: New file.

From-SVN: r94185
2005-01-24 21:31:52 +00:00
Eric Botcazou
0b85af22e2 config.gcc (sparc-*-netbsdelf*): Include dbxelf.h
* config.gcc (sparc-*-netbsdelf*): Include dbxelf.h
	(sparc64-*-openbsd*): Likewise.
	(sparclite-*-elf*): Include tm-dwarf2.h.
	(sparc86x-*-elf*): Likewise.
	(sparc64-*-elf*): Likewise.
	* config/sparc/linux64.h (DWARF2_DEBUGGING_INFO): Delete.
	(DBX_DEBUGGING_INFO): Likewise.
	* config/sparc/liteelf.h (DWARF2_DEBUGGING_INFO): Likewise.
	(PREFERRED_DEBUGGING_TYPE): Likewise.
	* config/sparc/netbsd-elf.h (PREFERRED_DEBUGGING_TYPE): Likewise.
	* config/sparc/sp64-elf.h (DBX_DEBUGGING_INFO): Likewise.
	(PREFERRED_DEBUGGING_TYPE): Likewise.
	* config/sparc/sp86x-elf.h (DWARF2_DEBUGGING_INFO 1): Likewise.
	(PREFERRED_DEBUGGING_TYPE): Likewise.
	* config/sparc/sparc.h (DBX_DEBUGGING_INFO): Likewise.

From-SVN: r94011
2005-01-21 10:15:56 +00:00
Ralf Corsepius
be33b72969 re PR target/19529 (sh-rtems multilibs broken)
2005-01-19  Ralf Corsepius  <ralf.corsepius@rtems.org>

	PR target/19529
	* config/sh/t-rtems: New.
	* config.gcc (sh-*-rtems*): Reflect having added config/sh/t-rtems.

From-SVN: r93921
2005-01-19 22:25:35 +01:00
Kazu Hirata
ad616de14c basic-block.h, [...]: Update copyright.
* basic-block.h, c-common.c, c-cppbuiltin.c, c-lang.c,
	c-tree.h, cfgbuild.c, cgraph.c, cgraph.h, collect2.c,
	combine.c, config.gcc, coverage.h, cse.c, cselib.c,
	defaults.h, df.c, dwarf2asm.c, dwarf2out.c, explow.c, expr.c,
	flow.c, fold-const.c, gcse.c, ggc-page.c, gimple-low.c,
	gimplify.c, ifcvt.c, langhooks-def.h, lcm.c, optabs.h,
	output.h, postreload-gcse.c, postreload.c, recog.c,
	resource.c, rtl.def, rtlanal.c, sched-deps.c, sched-rgn.c,
	targhooks.h, toplev.c, tree-data-ref.c, tree-eh.c,
	tree-flow.h, tree-loop-linear.c, tree-mudflap.h, tree-nrv.c,
	tree-optimize.c, tree-outof-ssa.c, tree-pass.h,
	tree-scalar-evolution.c, tree-ssa-copy.c, tree-ssa-dce.c,
	tree-ssa-dse.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c,
	tree-ssa-pre.c, tree-ssa.c, tree-vectorizer.c, tree.def,
	unwind-dw2-fde-darwin.c, var-tracking.c: Update copyright.

From-SVN: r93827
2005-01-18 11:36:31 +00:00
Richard Sandiford
2184a1201e config.gcc (mips64*-*-linux*): Set the default abi to n32.
* config.gcc (mips64*-*-linux*): Set the default abi to n32.  Remove
	redundant target_cpu_default and extra_parts lines.  Use the default
	"from-abi" ISA.
	* config/mips/linux64.h (DRIVER_DEFAULT_ABI_SELF_SPEC): Delete.
	(SUBTARGET_EXTRA_SPECS): Delete.
	(DRIVER_SELF_SPECS): Remove architecture lines.  Set the ABI directly.
	(SUBTARGET_ASM_SPEC): Remove -mabi=n32 and -mabi=64 mappings.
	* config/mips/t-linux64 (MULTILIB_DIRNAMES): Use "32" for -mabi=32
	and "n32" for -mabi=n32.

From-SVN: r93777
2005-01-17 21:09:14 +00:00
Marc Espie
378b66d476 config.gcc (*-*-openbsd*): Set HAS_LIBC_R for OpenBSD <= 3.2.
2005-01-11  Marc Espie  <espie@openbsd.org>

	* config.gcc (*-*-openbsd*): Set HAS_LIBC_R for OpenBSD <= 3.2.
	(i[34567]86-*-openbsd*): Switch to ELF for OpenBSD >= 3.4.
	* config/openbsd.h:  Fix C++ includes for native configurations.
	Add proper OS_CPP_BUILTINS.  Fix libspec for recent OpenBSD.
	Add trampoline support.
	* config/i386/openbsdelf.h: New.

okay Richard Earnshaw, Zack Weinberg, further changes in a separate patch.

From-SVN: r93694
2005-01-15 10:56:48 +00:00
Jan Beulich
f199d860ae config.gcc: Add dbxelf.h to NetWare's tm_file.
gcc/
2004-12-22  Jan Beulich  <jbeulich@novell.com>

	* config.gcc: Add dbxelf.h to NetWare's tm_file.
	* config/i386/netware-crt0.c: Prototype __init_environment and
	__deinit_environment prior to their definition.
	(__init_environment): Correct invokation of constructor function.
	* config/i386/netware.h (TARGET_OS_CPP_BUILTINS): Use
	builtin_define_std rather than builtin_define on IAPX386.
	* config/i386/nwld.h: Disable stabs debugging info with the linker
	this file supports.
	* config/i386/t-nwld (SHLIB_LINK): Do not use a temporary file for
	the output. Add -posix to the options as that is the more compatible
	mode.
	* gthr-nks.h: Formatting.
	(__gthread_mutex_init_function): Kill the dubious use of
	NX_MUTEX_RECURSIVE as it is now clear that the traditional mutexes
	were not meant to be recursive.
	(__gthread_recursive_mutex_t, __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION,
	__gthread_recursive_mutex_init_function,
	__gthread_recursive_mutex_lock, __gthread_recursive_mutex_trylock,
	__gthread_recursive_mutex_unlock): New.

gcc/testsuite/
2004-12-22  Jan Beulich  <jbeulich@novell.com>

	* gcc.dg/20040813-1.c: Skip for *-*-netware*.

From-SVN: r92488
2004-12-22 08:41:43 +00:00
Robert Millan
44379973a5 Changes for k*bsd-gnu support.
* config/i386/linux.h: Define REG_NAME to allow overriding of
	register names in sc structure.
	* config/i386/linux-unwind.h: Refer to sc->REG_NAME(reg) instead
	of sc->reg.
	* config.gcc: Detect x86_64-k*bsd-gnu systems.

From-SVN: r91350
2004-11-26 21:37:24 +00:00
Ralf Corsepius
91ff950773 config.gcc (avr-*-rtems*): Fix typo.
2004-11-25  Ralf Corsepius <ralf.corsepius@rtems.org>

	* config.gcc (avr-*-rtems*): Fix typo.

From-SVN: r91274
2004-11-25 05:49:30 +01:00
Nick Clifton
986ce40875 Oops - forgot to commit the change to config.gcc when checking in this patch:
2004-11-22 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>

	* config.gcc: Use t-slibgcc-elf to build libgcc_s.so on
	m32r*linux.
	* config/m32r/t-linux (SHLIB_MAPFILES): Override to use
	m32r/libgcc-glibc.ver.
	* config/m32r/libgcc-glibc.ver: Add New file.

From-SVN: r91143
2004-11-24 10:14:08 +00:00
Ralf Corsepius
491982a0a7 t-rtems: New.
2004-11-23  Ralf Corsepius <ralf.corsepius@rtems.org>

	* config/c4x/t-rtems: New.
	* config.gcc: Reflect having added c4x/t-rtems.

From-SVN: r91082
2004-11-23 10:30:39 +01:00
Ralf Corsepius
402fbd4d55 config.gcc (h8300-*-rtems*): Use h8300/t-rtems.
2004-11-23  Ralf Corsepius <ralf.corsepius@rtems.org>

	* config.gcc (h8300-*-rtems*): Use h8300/t-rtems.

From-SVN: r91079
2004-11-23 08:49:52 +01:00
Ralf Corsepius
70d6418981 t-rtems: New.
2004-11-23  Ralf Corsepius <ralf.corsepius@rtems.org>

	* config/arm/t-rtems: New.
	* config.gcc: Reflect having added arm/t-rtems.

From-SVN: r91076
2004-11-23 06:30:32 +01:00
Ralf Corsepius
63933fc357 config.gcc: Add avr-*-rtems*.
2004-11-23  Ralf Corsepius <ralf.corsepius@rtems.org>

	* config.gcc: Add avr-*-rtems*.
	* config/avr/t-rtems: New.
	* config/avr/rtems.h: New.

From-SVN: r91071
2004-11-23 04:44:03 +01:00
Eric Botcazou
181674429b re PR target/18444 (Multithreading broken on Unix95-class platforms)
PR target/18444
	* configure.ac (threading): Accept 'posix95'.
	* configure: Regenerate.
	* config.gcc (i[34567]86-*-solaris2*): On Solaris up to 2.6,
	include sol26.h and default to posix95 threads if have_pthread_h.
	(sparc-*-solaris2*): Likewise.
	* gthr.h: Include gthr-posix95.h if _PTHREADS95 is defined.
	* gthr-posix95.h: New file.
	* config/sol26.h: New file.
	* doc/install.texi (--enable-threads): Document 'posix95'.

From-SVN: r91041
2004-11-22 22:26:11 +00:00
Daniel Jacobowitz
a8e6802924 configure.ac (i[34567]86-*-solaris2.1[0-9]*): Set need_64bit_hwint=yes.
libcpp:
2004-11-18  Daniel Jacobowitz  <dan@codesourcery.com>
            Mark Mitchell  <mark@codesourcery.com>

	* configure.ac (i[34567]86-*-solaris2.1[0-9]*): Set
	need_64bit_hwint=yes.
	* configure: Regenerate.

gcc:
2004-11-18  Daniel Jacobowitz  <dan@codesourcery.com>
            Mark Mitchell  <mark@codesourcery.com>

	* config/i386/sol2-10.h, config/i386/t-sol2-10: New files.
	* config/i386/i386.c (i386_solaris_elf_named_section): New
	function.
	* config.gcc (i[34567]86-*-solaris2*): Handle Solaris 2.10.
	* config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Handle
	64-bit.
	(ASM_QUAD): Don't undefine for biarch targets.
	* config/i386/t-sol2: Introduce multilib support.

gcc/testsuite:
2004-11-18  Daniel Jacobowitz  <dan@codesourcery.com>
            Mark Mitchell  <mark@codesourcery.com>

	* testsuite/gcc.dg/pragma-init-fini-2.c: New test.

Co-Authored-By: Mark Mitchell <mark@codesourcery.com>

From-SVN: r90839
2004-11-18 01:07:18 +00:00
Aldy Hernandez
4d4cbc0e72 config.gcc: Add support for --enable-e500_double.
* config.gcc: Add support for --enable-e500_double.

	* config/rs6000/e500-double.h: New file.

	* config/rs6000/rs6000.h: Define TARGET_E500_SINGLE and
	TARGET_E500_DOUBLE.

	* config/rs6000/eabi.h: Define TARGET_E500_SINGLE and
	TARGET_E500_DOUBLE.

	* config/rs6000/linuxspe.h: Same.

	* doc/invoke.texi (Option Summary): Document new options for
	mfloat-gprs.
	(RS/6000 and PowerPC Options): Same.

	* config/rs6000/rs6000.c (rs6000_parse_float_gprs_option): New
	function.
	(rs6000_override_options): Use it.  Use
	SUB3TARGET_OVERRIDE_OPTIONS.
	Add 8548 to processor_target_table.
	(rs6000_legitimate_address): Handle e500 doubles.
	(rs6000_legitimize_address): Same.
	(rs6000_legitimize_reload_address): Same.
	(rs6000_hard_regno_nregs): Same.
	(spe_func_has_64bit_regs_p): Same.
	(emit_frame_save): Same.
	(gen_frame_mem_offset): Same.
	(rs6000_dwarf_register_span): Same.
	(rs6000_generate_compare): Same.
	(easy_fp_constant): Same.
	(legitimate_offset_address_p): Same.

	* config/rs6000/spe.md: (cmdfeq_gpr): New.
	(tstdfeq_gpr): New.
	(cmpdfgt_gpr): New.
	(tstdfgt_gpr): New.
	(tstdfgt_gpr): New.
	(cmpdflt_gpr): New.
	(tstdflt_gpr): New.
	Add new constants.

From-SVN: r89416
2004-10-21 22:28:29 +00:00
Paul Brook
fa91adc640 config.gcc: Add armv6{k,z,zk}
* config.gcc: Add armv6{k,z,zk}
	* config/arm/arm-cores.def: Add arm1176 and mpcore.
	* config/arm/tune.md: Regenerate.
	* config/arm/arm.c (FL_FOR_ARCH6K, FL_FOR_ARCH6Z, FL_FOR_ARCH6ZK):
	Define.
	(all_architectures): Add armv6k, armv6z, armv6zk.
	* config/arm/lib1funcs.asm: Recognise new arm arcitectures.
	* doc/invoke.texi: Document new arch and cpu values.

From-SVN: r88937
2004-10-12 15:38:30 +00:00
Eric Botcazou
fe7378d2bf re PR target/17443 (--enable-threads=single is ignored)
PR target/17443
	* config.gcc (i?86-*-solaris2*): Restore correct logic
	for --enable-threads option.
	(sparc64-*-solaris2*): Likewise.
	(sparc-*-solaris2*): Likewise.

From-SVN: r88442
2004-10-03 08:00:39 +00:00
Eric Botcazou
5d865dace2 config.gcc (sparc64-*-solaris2*): Include sparc/sol2-gas.h if the GNU assembler is used.
* config.gcc (sparc64-*-solaris2*): Include sparc/sol2-gas.h
	if the GNU assembler is used.
	(sparc-*-solaris2*): Likewise.
	* dbxout.c (NO_DBX_BNSYM_ENSYM): Default to zero.
	(dbxout_function_end): Protect N_ENSYM with it.
	(dbxout_begin_prologue): Protect N_BNSYM with it.
	* doc/tm.texi (NO_DBX_BNSYM_ENSYM): Document it.
	* config/sparc/sol2.h (NO_DBX_BNSYM_ENSYM): Define to 1.
	* config/sparc/sol2-gas.h: New file.

From-SVN: r88013
2004-09-24 06:17:07 +00:00
P.J. Darcy
512baaea75 gthr-tpf.h: New file.
2004-09-23  P.J. Darcy  <darcypj@us.ibm.com>

gcc/ChangeLog:

	* gthr-tpf.h: New file.
	* config.gcc (s390x-ibm-tpf*): Add thread_file='tpf'.
	* gthr.h: Use gthr-tpf.h on TPF OS.

libstdc++-v3/ChangeLog:

	* include/Makefile.am (thread_host_headers): Add gthr-tpf.h.
	Add rule to build ${host_builddir}/gthr-tpf.h.
	* include/Makefile.in: Regenerate.

From-SVN: r87982
2004-09-23 20:57:25 +00:00
Mark Mitchell
0393a68af0 * config.gcc: Do not build a shared libgcc for arm-none-eabi.
From-SVN: r87504
2004-09-14 19:58:49 +00:00
David Daney
9f0df97afb config.gcc: Added support for --with-divide=[breaks|traps] for mips targets.
2004-09-07  David Daney  <ddaney@avtrex.com>

	* config.gcc: Added support for --with-divide=[breaks|traps] for
	mips targets.
	* config/mips/mips.h (MASK_DIVIDE_BREAKS): New target_flags bit.
	(TARGET_DIVIDE_TRAPS): New macro.
	(TARGET_SWITCHES): Added -mdivide-traps and -mdivide-breaks.
	(OPTION_DEFAULT_SPECS): Added --with-divide= support.
	* config/mips/mips.c (mips_idiv_insns): Generate proper count on
	GENERATE_DIVIDE_TRAPS.
	(mips_output_division): Emit conditional trap if
	GENERATE_DIVIDE_TRAPS is set.
	* doc/install.texi: Document --with-divide.
	* doc/invoke.texi: Document -mdivide-traps and -mdivide-breaks.

From-SVN: r87153
2004-09-07 19:39:06 +00:00
H.J. Lu
443728bba4 re PR target/14925 (libunwind enabled gcc generates incompatible libgcc_s.so.1)
2004-09-03  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/14925:
	Makefile.in (LIB2ADDEHSTATIC): New.
	(LIB2ADDEHSHARED): New.
	(LIBUNWIND): New.
	(LIBUNWINDDEP): New.
	(SHLIBUNWIND_LINK): New.
	(SHLIBUNWIND_INSTALL): New.
	(libgcc.mk): Pass LIB2ADDEHSTATIC, LIB2ADDEHSHARED, LIBUNWIND,
	LIBUNWINDDEP, SHLIBUNWIND_LINK and SHLIBUNWIND_INSTALL.
	(clean): Remove libunwind*
	(stage1-start): Remove and copy stage1/libunwind*.
	(stage2-start): Remove and copy stage2/libunwind*.
	(stage3-start): Remove and copy stage3/libunwind*.
	(stage4-start): Remove and copy stage4/libunwind*.
	(stageprofile-start): Remove and copy stageprofile/libunwind*.
	(stagefeedback-start): Remove and copy stagefeedback/libunwind*.

	* config.gcc (ia64*-*-linux*): Always add t-libunwind to
	tmake_file. Add t-libunwind-elf and ia64/t-glibc-libunwind to
	tmake_file if --with-system-libunwind isn't used.

	* config/ia64/t-glibc-libunwind: New file.
	* config/t-libunwind-elf: Likewise.
	* unwind-compat.c: Likewise.
	* unwind-compat.h: Likewise.
	* unwind-dw2-fde-compat.c: Likewise.

	* config/ia64/t-glibc (LIB2ADDEH): Updated.
	* config/ia64/t-hpux (T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.

	* config/ia64/unwind-ia64.c: Include "unwind-compat.h". Define
	aliases if needed.
	* unwind-dw2-fde-glibc.c: Likewise.
	* unwind-dw2.c: Likewise.

	* config/t-libunwind (LIB2ADDEH): Updated.
	(LIB2ADDEHSTATIC): New.
	(T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.
	(TARGET_LIBGCC2_CFLAGS): Set to -DUSE_GAS_SYMVER.

	* configure.ac: Change --enable-libunwind-exceptions to
	--with-system-libunwind. Don't define USE_LIBUNWIND_EXCEPTIONS.
	* configure: Regenerated.
	* config.in: Updated.

	* doc/install.texi (ia64-*-linux): Require libunwind 0.98 or
	above and mention --with-system-libunwind.
	(ia64-*-hpux*): Mention --enable-libunwind-exceptions is
	removed in gcc 3.4.3 and later.

	* gcc.c (init_spec): Add -lunwind to -lgcc_s if
	USE_LIBUNWIND_EXCEPTIONS is defined.

	* mklibgcc.in: Support libunwind.

From-SVN: r87066
2004-09-03 17:15:42 -07:00
Jan Beulich
61fec9ffac configure.in: Remove target-libstdc++-v3 from noconfigdirs for *-*-netware...
/
        * configure.in: Remove target-libstdc++-v3 from noconfigdirs for
        *-*-netware, but add target-libmudflap.
        Consolidate *-*-netware targets (of which really only i?86 exists)
        into a single entry.
        * configure: Likewise.
gcc/
        * config.gcc: Resurrect NetWare as a target. Handle special case of
        Novell linker to be used (specified through --with-ld=) and threading
        model of either Posix (default) or NKS.
        * config/i386/i386.c (ix86_return_pops_args): Conditionalize popping
        of incoming hidden argument on KEEP_AGGREGATE_RETURN_POINTER.
        * config/i386/i386.h (KEEP_AGGREGATE_RETURN_POINTER): New.
        * config/i386/netware.c, config/i386/netware.h: New.
        * config/i386/nwld.c, config/i386/nwld.h: New.
        * config/i386/netware-crt0.c: New.
        * config/i386/netware-libgcc.c: New.
        * config/i386/netware-libgcc.def: New.
        * config/i386/netware-libgcc.exp: New.
        * config/i386/t-netware, config/i386/t-nwld: New.
        * gthr-nks.h: New.
        * doc/install.texi: Document NKS threading model.
gcc/cp/
        * g++spec.c (MATH_LIBRARY_PROFILE): Default to MATH_LIBRARY rather
        than "-lm".
gcc/testsuite/
        * g++.dg/abi/bitfield5.C: Use -mno-ms-bitfields.
        * g++.old-deja/g++.jason/thunk2.C: xfail for NetWare.
        * g++.old-deja/g++.law/profile1.C: xfail for NetWare.
        * g++.old-deja/g++.other/store-expr1.C: xfail for NetWare.
        * gcc.c-torture/compile/20001109-1.c: xfail for NetWare.
        * gcc.c-torture/compile/20001109-2.c: xfail for NetWare.
        * gcc.c-torture/execute/multi-ix.c: Use __builtin_bzero rather than
        the non-portable bzero.
        * gcc.dg/20010912-1.c: xfail for NetWare.
        * gcc.dg/20020426-2.c: xfail for NetWare.
        * gcc.dg/20021014-1.c: xfail for NetWare.
        * gcc.dg/20021018-1.c: xfail for NetWare.
        * gcc.dg/20030213-1.c: xfail for NetWare.
        * gcc.dg/20030225-1.c: xfail for NetWare.
        * gcc.dg/20030708-1.c: xfail for NetWare.
        * gcc.dg/builtins-config.h: Also exclude NetWare.
        * gcc.dg/format/format.h: Define restrict only if not already defined.
        * gcc.dg/nest.c: xfail for NetWare.
        * gcc.dg/special/gcsec-1.c: Don't pass -static for NetWare.
        * lib/target-supports.exp (check_visibility_available): Exclude
        NetWare.
fixincludes/
        * inclhack.def: Suppress exception_structure and math_exception
        for NetWare headers.
        * fixincl.x: Regenerate.
libstdc++-v3/
        * crossconfig.m4: Add NetWare as a target.
        * configure: Regenerate.

From-SVN: r87040
2004-09-03 11:10:08 -07:00
Paul Brook
e6fc6c9b86 config.gcc (arm*-*-eabi* | arm*-*-symbianelf*): Set default_use_cxa_atexit=yes.
* config.gcc (arm*-*-eabi* | arm*-*-symbianelf*): Set
	default_use_cxa_atexit=yes.

From-SVN: r86964
2004-09-02 15:43:10 +00:00
Richard Earnshaw
3207853238 config.gcc (--with-cpu on ARM): Preserve the canonical cpu name for use in configargs.h.
* config.gcc (--with-cpu on ARM): Preserve the canonical cpu name
for use in configargs.h.  Put the cname in a separate variable.  Use
that to set target_cpu_default2.

From-SVN: r86903
2004-09-01 16:27:05 +00:00
Richard Earnshaw
d98a72fd4f arm-cores.def (ARM_CORE): Add new field for the real name of the CPU.
* arm/arm-cores.def (ARM_CORE): Add new field for the real name of the
CPU.
(arm7tdmi-s): New CPU name.
* arm/arm.c (ARM_CORE): Update for new format.
* arm/arm.h (ARM_CORE): Likewise.
* arm/gentune.sh: Update for extra field.
* config.gcc: Likewise.
* arm/arm-tune.md: Regenerate.
* doc/invoke.texi: Document the real processor names for ARM cpus.

From-SVN: r86884
2004-09-01 12:49:30 +00:00
Mark Mitchell
f9a024084f config.gcc (arm*-*-symbianelf*): Do not include t-bpabi.
* config.gcc (arm*-*-symbianelf*): Do not include t-bpabi.
	* config/arm/lib1funcs.asm: Do not include supplemental .S files
	when compiling for Symbian.
	* config/arm/symbian.h (RENAME_LIBRARY): New macro.
	(TARGET_OS_CPP_BUILTINS): Likewise.
	* config/arm/t-symbian (LIB1ASMFUNCS): Define.

From-SVN: r86875
2004-09-01 06:08:34 +00:00
John David Anglin
d711cf67a6 PR libstdc++/17005 (fix for HP-UX 11.11)
PR libstdc++/17005 (fix for HP-UX 11.11)
	* config.gcc (hppa*-*-*): Move MASK_BIG_SWITCH to target_cpu_default2.
	(hppa*-*-hpux*): Consolidate hppa1.0-*-* code.  Rework handling of
	tm_file including pa-hpux1010.h or pa-hpux1111.h when appropriate.
	* config/pa/pa-hpux1010.h, config/pa/pa-hpux1111.h: New files.
	* config/pa/pa-hpux.h (TARGET_HPUX): Define.
	(LINK_SPEC): Handle march=1.0 option.
	* config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Predefine _XOPEN_UNIX
	and _XOPEN_SOURCE_EXTENDED for UNIX 95.
	(SUBTARGET_OPTIONS): New define.
	(LINK_SPEC): Handle march=1.0 option.
	(STARTFILE_SPEC): New define.
	* config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Predefine _XOPEN_UNIX
	and _XOPEN_SOURCE_EXTENDED for UNIX 95.  Additionally, predefine
	_INCLUDE__STDC_A1_SOURCE and _INCLUDE_XOPEN_SOURCE_500 for UNIX 98.
	(SUBTARGET_OPTIONS): New define.
	(LINK_SPEC): Handle march=1.0 option.
	(STARTFILE_SPEC): New define.
	* config/pa/pa.c (override_options): Add code to process -munix= option.
	* config/pa/pa.h (pa_unix_string, flag_pa_unix): Declare.
	(TARGET_HPUX, TARGET_HPUX_10_10, TARGET_HPUX_11_11): Provide default
	defines.
	(TARGET_OPTIONS): Add SUBTARGET_OPTIONS to option list.
	(SUBTARGET_OPTIONS): Provide default define.
	* config/pa/pa64-hpux.h (STANDARD_STARTFILE_PREFIX_1,
	STANDARD_STARTFILE_PREFIX_2): New defines.
	(STARTFILE_SPEC): Provide unix95.o or unix98.o startfiles as necessary.
	(ENDFILE_SPEC): Use %O.
	* doc/install.texi (hppa*-*-hpux*): Reword paragraph on -g and gas.
	Mention issue caused by changing namespace and runtime to UNIX 95/98.
	* doc/invoke.texi (HPPA options): Move misplaced text to FRV options.
	Document -munix=std option.

From-SVN: r86561
2004-08-25 17:49:58 +00:00
Richard Sandiford
5811cb27a8 config.gcc (mips-*-*): Remove definitions of MASK_GAS and OBJECT_FORMAT_ELF.
* config.gcc (mips-*-*): Remove definitions of MASK_GAS and
	OBJECT_FORMAT_ELF.  Set MASK_SPLIT_ADDR by default if using GNU ld.
	* config/mips/mips.h (MASK_GAS): Delete.  Shuffle later masks down.
	(TARGET_GAS, TARGET_MIPS_AS): Delete.
	(TARGET_GPWORD): Define to true for n32 on IRIX.
	(TARGET_SWITCHES): Remove -mmips-as.  Turn -mgas into a no-op.
	(MIPS_AS_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC): Delete.
	(GAS_ASM_SPEC): Delete, folding into ASM_SPEC.
	(ASM_ABI_DEFAULT_SPEC, TARGET_ASM_SPEC): Delete.
	(MDEBUG_ASM_SPEC): Delete, folding into...
	(SUBTARGET_ASM_DEBUGGING_SPEC): ...here.
	(ASM_SPEC): Inline old GAS_ASM_SPEC.  Use GNU names for ABI switches.
	(EXTRA_SPECS): Remove mips_as_asm_spec, gas_asm_spec, target_asm_spec,
	subtarget_mips_as_asm_spec, mdebug_asm_spec.  Use MULTILIB_ABI_DEFAULT
	to define asm_abi_default_spec.
	(ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): Delete.
	(TARGET_ASM_SELECT_SECTION): Delete.
	* config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): Define to 0x7ff0
	for non-mips16 code, removing previous workaround for SGI assemblers.
	(TARGET_ASM_INTEGER, mips_assemble_integer): Delete.
	(TARGET_ASM_ALIGNED_DI_OP): Define this instead.
	(override_options): Remove !TARGET_GAS and !have_named_sections code.
	(print_operand): Fold TARGET_GAS conditionals into asm strings.
	(mips_output_filename): Remove !TARGET_GAS code.  Replace use of
	ASM_STABS_OP and ASM_STABN_OP.
	(mips_file_start): Remove TARGET_MIPS_AS/TARGET_GAS checks.
	(mips_output_aligned_decl_common): Remove mention of SGI o32 assembler.
	(mips_output_function_prologue): Remove !TARGET_GAS code.
	(mips_select_rtx_section): Remove !have_named_sections code.
	(mips_select_section): Delete.
	* config/mips/mips.md (trap): Remove !TARGET_GAS check.
	* config/mips/linux.h (TARGET_DEFAULT): Remove use of MASK_GAS.
	* config/mips/sdb.h (PUT_SDB_DEF, PUT_SDB_PLAIN_DEF): Delete.
	(PUT_SDB_BLOCK_START, PUT_SDB_BLOCK_END): Fold TARGET_GAS conditional.
	* config/mips/vxworks.h (ASM_SPEC): As for mips.h.
	* config/mips/windiss.h (ASM_SPEC): Likewise.

testsuite/
	* gcc.dg/special/mips-abi.exp: Expect gcc to pass the GNU ABI flags
	to the assembler.  Simplify test accordingly.
	(asm_abi_flags): Use GNU names.
	(check_mips_abi, default_abi): Use string matches against "-mabi=*"
	to check for ABI flags.

From-SVN: r86405
2004-08-23 06:53:46 +00:00
Mark Mitchell
87c2399d89 config.gcc (arm*-*-symbianelf*): Add t-symbian Makefile fragment.
* config.gcc (arm*-*-symbianelf*): Add t-symbian Makefile
	fragment.
	* config/arm/bpabi.h (RENAME_LIBRARY_SET): Fix typo.
	(SUBTARGET_EXTRA_ASM_SPEC): Pass -meabi=3 to the assembler.
	* config/arm/symbian.h (SUBTARGET_CPU_DEFAULT): Assume ARMV5
	architecture.
	(SUBTARGET_ASM_FLOAT_SPEC): Default to -mfpu=vfp for hard-float
	configurations.
	* config/arm/t-symbian: New file.

From-SVN: r86338
2004-08-20 20:15:19 +00:00
Richard Sandiford
82563d3508 configure.ac (mips*-*-*): Print an error if not using GAS.
* configure.ac (mips*-*-*): Print an error if not using GAS.
	* configure: Regenerated.
	* doc/install.texi: Remove irix5 bullet from --with-gnu-as.  Remove
	comments about buggy MIPSpro assemblers.
	* config.gcc (mips-sgi-irix[56]*): Combine stanzas.  Include elfos.h
	before mips.h and iris.h after it.  Use t-iris and t-slibgcc-irix.
	Use iris5.h only for IRIX 5 configs.  Use iris6.h and t-iris6 for
	IRIX 6 configs.  Define IRIX_USING_GNU_LD if using GNU ld.
	* config/mips/iris5.h (TARGET_IRIX, SWITCHES_NEED_SPACES)
	(DEFAULT_SIGNED_CHAR, WORD_SWITCH_TAKES_ARG, SUBTARGET_CC1_SPEC)
	(NO_IMPLICIT_EXTERN_C, MIPS_DEFAULT_GVALUE)
	(TARGET_ASM_EXTERNAL_LIBCALL): Move to iris.h.
	(WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS): Delete in favor
	of more general IRIX 6 definitions.
	(OBJECT_FORMAT_ELF, ASM_OUTPUT_ASCII, ASM_WEAKEN_LABEL)
	(HANDLE_SYSV_PRAGMA): Delete in favor of elfos.h definitions.
	(TARGET_IRIX5, ABICALLS_ASM_OP, BSS_SECTION_ASM_OP, HAS_INIT_SECTION)
	(LD_INIT_SWITCH, LD_FINI_SWITCH, SUBTARGET_ASM_OPTIMIZING_SPEC)
	(ASM_FINAL_SPEC, DBX_DEBUGGING_INFO, MIPS_DEBUGGING_INFO)
	(PREFERRED_DEBUGGING_TYPE, DWARF2_UNWIND_INFO, SET_FILE_NUMBER)
	(LABEL_AFTER_LOC, DOLLARS_IN_IDENTIFIERS, NO_DOLLAR_IN_LABEL)
	(TARGET_ASM_NAMED_SECTION, EXTRA_SECTION_FUNCTIONS)
	(ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_WEAK_ALIAS)
	(SUBTARGET_EXTRA_SPECS): Delete definitions or undefs.
	(LINK_SPEC): Move most of definition to iris.h.
	(SUBTARGET_LINK_SPEC): New macro.
	(IRIX_STARTFILE_SPEC): Fold into...
	(STARTFILE_SPEC): ...here.
	(IRIX_ENDFILE_SPEC): Fold into...
	(ENDFILE_SPEC): ...here.
	* config/mips/iris6.h (TARGET_IRIX5): Remove override.
	(WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE)
	(DWARF_OFFSET_SIZE, DWARF_INITIAL_LENGTH_SIZE, SET_ASM_OP)
	(LINK_ELIMINATE_DUPLICATE_LDIRECTORIES, ASM_DECLARE_OBJECT_NAME)
	(ASM_FINISH_DECLARE_OBJECT, LOCAL_LABEL_PREFIX): Move to iris.h.
	(TARGET_OS_CPP_BUILTINS): Likewise.  Guard IRIX6-specific bits.
	(DWARF2_UNWIND_INFO, DWARF2_GENERATE_TEXT_SECTION_LABEL)
	(SUBTARGET_CPP_SPEC, DWARF2_DEBUGGING_INFO, MIPS_DEBUGGING_INFO)
	(PREFERRED_DEBUGGING_TYPE, DWARF2_FRAME_INFO, MD_EXEC_PREFIX)
	(ASM_DECLARE_FUNCTION_NAME, ASM_DECLARE_FUNCTION_SIZE)
	(FUNCTION_NAME_ALREADY_DECLARED, SUPPORTS_INIT_PRIORITY)
	(POPSECTION_ASM_OP, SUBTARGET_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC)
	(SUBTARGET_ASM_DEBUGGING_SPEC, SUBTARGET_ASM_OPTIMIZING_SPEC)
	(BSS_SECTION_ASM_OP*, READONLY_DATA_SECTION_ASM_OP*)
	(EH_FRAME_SECTION_NAME, MUST_USE_SJLJ_EXCEPTIONS, CTORS_SECTION_ASM_OP)
	(DTORS_SECTION_ASM_OP, TARGET_ASM_NAMED_SECTION, EH_FRAME_SECTION_NAME)
	(ASM_OUTPUT_ALIGN, ASM_OUTPUT_FILENAME, ASM_OUTPUT_ALIGNED_LOCAL)
	(ASM_OUTPUT_ALIGNED_BSS): Remove definitions or undefs.
	(TARGET_IRIX6): Define to 1.
	(DRIVER_SELF_SPECS): Define.
	(DWARF2_FRAME_INFO): Define to 1 rather than !TARGET_SGI_O32_AS.
	(SUBTARGET_CC1_SPEC): Remove in favor of DRIVER_SELF_SPECS.
	(SUBTARGET_LINK_SPEC): New macro.
	(IRIX_STARTFILE_SPEC): Fold into...
	(STARTFILE_SPEC): ...here.  Remove !mabi=* case.
	(SUBTARGET_{,DONT_}WARN_UNUSED_SPEC): New macros.
	(LIB_SPEC, LIBGCC_SPEC): Use them.
	(LIB_SPEC): Remove !mabi=* case.
	(IRIX_ENDFILE_SPEC): Fold into...
	(ENDFILE_SPEC): ...here.  Remove !mabi=* case.
	* config/mips/mips-protos.h (irix_output_external_libcall): Delete.
	* config/mips/mips.h (TARGET_IRIX5, TARGET_SGI_O32_AS): Delete.
	(TARGET_IRIX6): New macro.
	(ASM_ABI_DEFAULT_SPEC): Remove !ELF definition.
	(MD_EXEC_PREFIX, MD_STARTFILE_PREFIX, SET_FILE_NUMBER)
	(LABEL_AFTER_LOC): Delete.
	* config/mips/mips.c (TARGET_ASM_FILE_START, TARGET_ASM_FILE_END)
	(TARGET_SECTION_TYPE_FLAGS): Remove TARGET_IRIX versions.
	(mips_build_builtin_va_list): Check TARGET_IRIX6.
	(override_options): Remove TARGET_SGI_O32_AS-related code.
	(irix_output_external_libcall): Make static.
	(mips_output_filename): Avoid use of SET_FILE_NUMBER and
	LABEL_AFTER_LOC.
	(mips_file_start): Tidy guard for ABI sections.  Remove use of
	ABICALLS_ASM_OP; use .abicalls instead.
	(mips_output_aligned_decl_common, mips_declare_object_name)
	(mips_finish_declare_object): Remove use of TARGET_SGI_O32_AS.
	(mips_output_function_prologue): Set TREE_ASM_WRITTEN if emitting
	.globl foo .text directives.
	(irix_asm_named_section_1, irix_asm_named_section)
	(irix_section_align_entry, irix_section_align_htab)
	(irix_orig_asm_out_file, irix_section_align_entry_eq)
	(irix_section_align_entry_hash, irix_asm_output_align)
	(irix_file_start, irix_section_align_1, copy_file_data)
	(irix_file_end, irix_section_type_flags): Delete.
	* config/mips/irix-crti.asm (__gcc_init): Move to .gcc_init section.
	Use standard section syntax.  Remove protective "jr $31".
	(__gcc_fini): Likewise .gcc_fini.
	* config/mips/irix-crtn.asm: Adjust sections accordingly.
	* config/mips/sdb.h (PUT_SDB_SIZE, PUT_SDB_TYPE): Moved from
	iris5gas.h.
	* config/mips/t-iris (irix-crti.o, irix-crtn.o): New rules, moved
	from t-irix-gld.
	(EXTRA_MULTILIB_PARTS): Define.
	* config/mips/t-iris6: Remove bogus comment.
	(EXTRA_MULTILIB_PARTS, CRTSTUFF_T_CFLAGS): Delete.
	* config/mips/iris5gas.h, config/mips/iris5gld.h,
	config/mips/iris6gas.h, config/mips/iris6gld.h,
	config/mips/t-iris5-as, config/mips/t-iris5-gas
	config/mips/t-irix-gld: Delete.
	* config/mips/iris.h: New file.
	* config/mips/t-slibgcc-irix: Renamed from t-iris5-6.

From-SVN: r86309
2004-08-20 10:21:02 +00:00
Mark Mitchell
b3f8d95d35 configure.in (arm*-*-eabi*): New target.
* configure.in (arm*-*-eabi*): New target.
	* configure: Regenerate.

	* configure.ac (arm*-*-eabi*): New target.
	(arm*-*-symbianelf*): Likewise.
	* configure: Regenerated.

	* config.gcc (arm*-*-eabi*): New target.
	* defaults.h (TARGET_LIBGCC_FUNCS): New macro.
	(TARGET_LIB_INT_CMP_BIASED): Likewise.
	* expmed.c (expand_divmod): Try a two-valued divmod function as a
	last resort.
	* gthr.h: Remove bogus tokens at end of #pragma.
	* optabs.c (expand_twoval_binop_libfunc): New function.
	(prepare_cmp_insn): Handle the !TARGET_LIB_INT_CMP_BIASED case.
	(prepare_float_lib_cmp): Try reversing the condition.
	(debug_optab_libfuncs): New function.
	* optabs.h (expand_twoval_binop_libfunc): Declare.
	* config/arm/arm.c (arm_init_libfuncs): New function.
	(arm_compute_initial_eliminatino_offset): Return HOST_WIDE_INT.
	(TARGET_INIT_LIBFUNCS): Define it.
	* config/arm/arm.h (TARGET_BPABI): New macro.
	* config/arm/arm-protos.h
	(arm_compute_initial_elimination_offset): Return HOST_WIDE_INT.
	* config/arm/bpabi.S: New file.
	* config/arm/bpabi.c: Likewise.
	* config/arm/bpabi.h: Likewise.
	* config/arm/ieee754-df.S (__aeabi_dneg): New function or alias.
	(__aeabi_drsub): Likewise.
	(__aeabi_dsub): Likewise.
	(__aeabi_dadd): Likewise.
	(__aeabi_ui2d): Likewise.
	(__aeabi_i2d): Likewise.
	(__aeabi_f2d): Likewise.
	(__aeabi_dmul): Likewise.
	(__aeabi_ddiv): Likewise.
	(__aeabi_cdrcmple): Likewise.
	(__aeabi_cdcmpeq): Likewise.
	(__aeabi_cdcmple): Likewise.
	(__aeabi_dcmpeq): Likewise.
	(__aeabi_dcmplt): Likewise.
	(__aeabi_dcmple): Likewise.
	(__aeabi_dcmpge): Likewise.
	(__aeabi_dcmpgt): Likewise.
	(__aeabi_dcmpun): Likewise.
	(__aeabi_d2iz): Likewise.
	(__aeabi_d2uiz): Likewise.
	(__aeabi_d2f): Likewise.
	* config/arm/ieee754-sf.S (__aeabi_fneg): New function or alias.
	(__aeabi_frsub): Likewise.
	(__aeabi_fsub): Likewise.
	(__aeabi_fadd): Likewise.
	(__aeabi_ui2f): Likewise.
	(__aeabi_i2f): Likewise.
	(__aeabi_fmul): Likewise.
	(__aeabi_fdiv): Likewise.
	(__aeabi_cfrcmple): Likewise.
	(__aeabi_cfcmpeq): Likewise.
	(__aeabi_cfcmple): Likewise.
	(__aeabi_fcmpeq): Likewise.
	(__aeabi_fcmplt): Likewise.
	(__aeabi_fcmple): Likewise.
	(__aeabi_fcmpge): Likewise.
	(__aeabi_fcmpgt): Likewise.
	(__aeabi_fcmpun): Likewise.
	(__aeabi_f2iz): Likewise.
	(__aeabi_f2uiz): Likewise.
	* config/arm/lib1funcs.asm (ARM_CALL): New macro.
	(__aeabi_uidivmod): New function or alias.
	(__aeabi_idivmod): Likewise.
	(__aeabi_idiv0): Likewise.
	(__aeabi_ldiv0): Likewise.
	(__aeabi_llsr): Likewise.
	(__aeabi_lasr): Likewise.
	(__aeabi_llsl): Likewise.
	(bpabi.S): Include it.
	* config/arm/libgcc-bpabi.ver: New file.
	* config/arm/symbian.h (ARM_DEFAULT_ABI): Remove.
	(LINK_SPEC): Remove.
	* config/arm/t-arm-elf (LIB1ASMFUNCS): Add __aeabi_lcmp and
	__aeabi_ulcmp.
	* config/arm/t-bpabi: New file.
	* doc/tm.texi (TARGET_LIBGCC_FUNCS): New entry.
	(TARGET_LIB_INT_CMP_BIASED): Likewise.

	* gcc.dg/testsuite/gcc.dg/arm-eabi1.c: New test.
	* gcc.dg/dll-2.c: Fix dg-require syntax.
	* gcc.misc-tests/arm-isr.c (abort): Declare.
	(exit): Likewise.

From-SVN: r85788
2004-08-11 02:50:14 +00:00
Adam Nemet
4f587cb0d4 config.gcc (case i[34567]86-*-lynxos*): Update to LynxOS 4.0.
* config.gcc (case i[34567]86-*-lynxos*): Update to LynxOS 4.0.
	(case rs6000-*-lynxos*): Rename it to powerpc-*-lynxos*.  Update
	to LynxOS 4.0.
	* gthr-lynx.h: New file.
	* config/lynx-ng.h: Remove file.
	* config/lynx.h: Update to LynxOS 4.0.
	* config/t-lynx: New file.
	* config/i386/lynx-ng.h: Remove file.
	* config/i386/lynx.h: Update to LynxOS 4.0.
	* config/rs6000/lynxbase.h: Remove file.
	* config/rs6000/lynx.h: Update to LynxOS 4.0.
	* config/rs6000/t-lynx: New file.
	* doc/install.texi (Options specification): Remove reference to
	LynxOS from systems where --with-gnu-as makes a difference.

From-SVN: r85591
2004-08-05 04:55:37 +00:00
H.J. Lu
f6bc51cbc4 re PR target/16570 (missing _mm_malloc and _mm_free functions in xmmintrin.h)
gcc/

2004-08-03  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/16570
	* config.gcc (i[34567]86-*-* | x86_64-*-*): Add i386/t-gmm_malloc
	to tmake_file.
	(i[34567]86-*-linux*aout* | i[34567]86-*-linux*libc1): Likewise.
	(i[34567]86-*-linux* | x86_64-*-linux*): Add i386/t-pmm_malloc
	to tmake_file.

	* config/i386/t-gmm_malloc: New file.
	* config/i386/t-pmm_malloc: Likewise.

	* config/i386/xmmintrin.h: Include <mm_malloc.h>.

2004-08-03  H.J. Lu  <hongjiu.lu@intel.com>
	    Tanguy Fautr�  <tfautre@pandora.be>

	* config/i386/pmm_malloc.h: New file.

2004-08-03  Danny Smith  <dannysmith@users.sourceforge.net>

	* config/i386/gmm_malloc.h: New file.

gcc/testsuite/

2004-08-03  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/16570
	* gcc.dg/i386-sse-9.c: New test.

From-SVN: r85496
2004-08-03 12:52:52 -07:00
Mark Mitchell
336bd6ac16 config.gcc (arm*-*-symbianelf*): New target.
* config.gcc (arm*-*-symbianelf*): New target.
	* config/arm/symbian.h: New file.

From-SVN: r85490
2004-08-03 17:38:09 +00:00
Richard Earnshaw
315cd6b5a6 * config.gcc (strongarm-*, xscale-*): Add t-arm to tmake_files.
From-SVN: r85487
2004-08-03 15:22:03 +00:00
Richard Earnshaw
2f71a20a3e gentune.sh: New file.
* arm/gentune.sh: New file.
* arm/t-arm: New file.
* arm/arm-tune.md: New file (autogenerated).
* config.gcc (arm*-*-*): Add t-arm to tmake_file for all variants.
* arm.md (attribute tune): Delete.  Include arm-tune.md.

From-SVN: r85472
2004-08-03 13:27:02 +00:00
Richard Sandiford
e9475fa369 config.gcc (mips*-*-elf*, [...]): Add elfos.h to tm_file.
* config.gcc (mips*-*-elf*, mips*-*-rtems*): Add elfos.h to tm_file.
	Replace uses of mips/elf64.h with mips/elf.h
	* config/mips/elf.h (MAX_OFILE_ALIGNMENT, TARGET_ASM_NAMED_SECTION)
	(TYPE_OPERAND_FMT, TYPE_ASM_OP, SIZE_ASM_OP, BSS_SECTION_ASM_OP)
	(ASM_OUTPUT_ALIGNED_BSS, ASM_WEAKEN_LABEL, ASM_OUTPUT_WEAK_ALIAS)
	(MAKE_DECL_ONE_ONLY, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP)
	(HANDLE_SYSV_PRAGMA): Delete.
	(ASM_OUTPUT_DEF): Fix formatting.
	* config/mips/elf64.h: Delete.

From-SVN: r85430
2004-08-02 06:13:40 +00:00
Alexandre Oliva
157371cf43 Introduce sh2a support.
2004-07-29  Alexandre Oliva  <aoliva@redhat.com>
* config.gcc: Build multilibs for sh2a and sh2a-single by
default.
* config/sh/sh.h (SUPPORT_SH2A, SUPPORT_SH2A_SINGLE): Define by
default.  Split their tests out of the corresponding SH4
multilibs.
* config/sh/t-sh (MULTILIB_MATCHES): Don't ever use SH4 or SH4a
multilibs for SH2a.
2004-07-28  Alexandre Oliva  <aoliva@redhat.com>
* config.gcc: Handle sh2a multilibs and cpu selection.
* config/sh/sh.h: Likewise.  Handle sh2a command line flags.
* config/sh/t-mlib-sh2a: New.
* config/sh/t-mlib-sh2a-nofpu: New.
* config/sh/t-mlib-sh2a-single: New.
* config/sh/t-mlib-sh2a-single-only: New.
2004-07-09  Nick Clifton  <nickc@redhat.com>
Issue 43400
* config/sh/sh.h (DRIVER_SELF_SPECS): Issue an error message if
-ml and -m2a are used together.
2004-03-23  DJ Delorie  <dj@redhat.com>
* config/sh/sh.c (sh_builtin_saveregs): Use the double code only
when we have a double-sized FPU.
2004-02-24  Corinna Vinschen <vinschen@redhat.com>
* config/sh/lib1funcs.asm (set_fpscr): Don't build if __SH2A_NOFPU__
is set.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Add cases for -msh2a-nofpu,
-msh2a-single and -msh2a-single-only
2004-02-24  Corinna Vinschen <vinschen@redhat.com>
* config/sh/crt1.asm: Don't generate FPU instructions if __SH2A_NOFPU__
is set.
2004-02-20  DJ Delorie  <dj@delorie.com>
* config/sh/sh.md (movsf_i, movsf_ie, movsf, ble, bge): Disable for sh2a-nofpu.
2004-02-20  Fred Fish <fnf@redhat.com>,
Corinna Vinschen <vinschen@redhat.com>
* config/sh/t-sh (MULTILIB_OPTIONS): Add 2a-nofpu.
(MULTILIB_EXCEPTIONS): Don't build littel-endian on sh2a.
2004-02-18  DJ Delorie  <dj@redhat.com>
* config/sh/sh.c (broken_move): Add support for movi20.
* config/sh/sh.h: Likewise.
(SHIFT_COUNT_TRUNCATED): Set for sh2a.
* config/sh/sh.md (udivsi3_sh2a): New.
(udivsi3): Call it.
(divsi3_sh2a): New.
(divsi3): Call it.
(mul_r): New.
(ashlsi3_sh2a): New.
(ashrsi3_sh2a): New.
(lshrsi3_sh2a): New.
(movsi_i): Disable for sh2a.
(movsi_ie): Add movi20.
(movsf_i, movsf_ie, movsf, ble, untyped_call): Explicitly enable
sh2a, for -m2a-nofpu mode.
2004-02-13  DJ Delorie  <dj@redhat.com>
* config/sh/lib1funcs.asm: Handle double vs single better.
* config/sh/sh.h: Likewise.
2004-02-09  DJ Delorie  <dj@redhat.com>
* config/sh/crt1.asm: Add support for sh2a.
* config/sh/elf.h: Likewise.
* config/sh/lib1funcs.asm: Likewise.
* config/sh/sh.c: Likewise.
* config/sh/sh.md: Likewise.
* config/sh/sh.h: Likewise.
* config/sh/t-sh: Likewise.

From-SVN: r85286
2004-07-29 06:10:03 +00:00
Alexandre Oliva
312209c6a5 Introduce sh4a support.
gcc/ChangeLog:
Introduce sh4a support.
* config.gcc: Handle sh4a multilibs and cpu selection.
* config/sh/sh.h: Likewise.  Handle sh4a command line flags.
* config/sh/t-mlib-sh4a: New.
* config/sh/t-mlib-sh4al: New.
* config/sh/t-mlib-sh4a-nofpu: New.
* config/sh/t-mlib-sh4a-single: New.
* config/sh/t-mlib-sh4a-single-only: New.
2004-02-20  DJ Delorie  <dj@redhat.com>
* config/sh/sh.md ("movua"): Change constraint from "m" to "Sua".
* config/sh/sh.h (EXTRA_CONSTRAINT_S): Add "Sua" support.
2003-08-22  Eric Christopher  <echristo@redhat.com>
* config/sh/sh4a.md: Update for chip errata.
2003-08-07  Eric Christopher  <echristo@redhat.com>
* config/sh/sh4a.md: New file. sh4a processor description.
2003-07-08  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (TARGET_SWITCHES): Added 4al.  Adjust description
of -m4a-nofpu.
(SH_ASM_SPEC): Pass -dsp for -m4al, not -m4a-nofpu.
* config/sh/t-sh (MULTILIB_MATCHES): Map -m4al to -m4a-nofpu.
* doc/invoke.texi (SH Options): Document -m4al.
2003-07-03  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.c (expand_block_move): Remove commented-out code
checked in by mistake.
(sh_cannot_change_mode_class): Enable SUBREGs to be used to select
single elements from SFmode vectors.
* config/sh/sh.md (fsca): Use VEC_CONCAT to initialize the output
register.
(sinsf2, cossf2, sindf2, cosdf2): Don't emit CLOBBER.
2003-07-01  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (sh_fsca_sf2int, sh_fsca_df2int,
sh_fsca_int2sf): Remove variable declarations.
* config/sh/sh.c (sh_fsca_sf2int, sh_fsca_df2int,
sh_fsca_int2sf): New functions.
(sh_fsca_sf2int_rtx, sh_fsca_df2int_rtx,
sh_fsca_int2sf_rtx): New static variables.
* config/sh/sh-protos.h (sh_fsca_sf2int, sh_fsca_df2int,
sh_fsca_int2sf): Declare.
* config/sh/sh.md: Adjust.
* doc/invoke.texi (SH Options): Document new options.
* config/sh/lib1funcs.asm (ic_invalidate): Remove SH4a forward
compatibility from SH4 code.
2003-06-27  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.c (expand_block_move): Don't emit POST_INC too
early.
(memory_movsrc_operand): Renamed to...
(unaligned_load_operand): ... this.  Simplified.
* config/sh/sh.h (PREDICATE_CODES): Adjust.
* config/sh/sh.md (movua, extv, extzv): Likewise.  Change movua's
input operand to SImode, and adjust the others.  Introduce
post-increment by peephole.
* config/sh/sh.c (expand_block_move): Give the target address the
same mode as the temp reg.
* config/sh/sh.c (expand_block_move): Use a temp reg for unaligned
copying.
2003-06-26  Alexandre Oliva  <aoliva@redhat.com>
Introduce support for SH4a.
* config/sh/lib1funcs.asm (ic_invalidate): Use icbi if
__SH4A__.  Emit 4 4kb blocks and touch all of them otherwise.
* config/sh/sh.c (sh_fsca_sf2int, sh_fsca_df2int,
sh_fsca_int2sf): New.
(sh_init_builtins): Initialize them.
(print_operand): Support `d'.
(expand_block_move): Use movua if src is misaligned.
(memory_movsrc_operand): New.
* config/sh/sh.h (TARGET_CPU_CPP_BUILTINS): Define __SH4A__
and one of the SH4 macros.
(SH4A_BIT, TARGET_SH4A_ARCH, TARGET_SH4A_FP,
SELECT_SH4A_NOFPU, SELECT_SH4A_SINGLE_ONLY, SELECT_SH4A,
SELECT_SH4A_SINGLE): New.
(TARGET_NONE): Add SH4A_BIT.
(TARGET_SWITCHES): Add 4a-single-only, 4a-single, 4a-nofpu and 4a.
(SH_ASM_SPEC): Pass -dsp if -m4a-nofpu.
(sh_fsca_sf2int, sh_fsca_df2int, sh_fsca_int2sf): Declare.
(OVERRIDE_OPTIONS): Set cpu to CPU_SH4A when appropriate.
(enum processor_type): Added PROCESSOR_SH4A.
(PREDICATE_CODES): Add memory_movsrc_operand.
* config/sh/sh.md: Removed unused variables.
(attr cpu): Add sh4a.
(attr type): Add movua, fsrra and fsca.
(prefetch): New, for SH4.
(ic_invalidate_line, ic_invalidate_line_sh4a): Use icbi.
(toggle_sz): Set type to fp.
(toggle_pr, rsqrtsf2, fsca, sinsf2, cossf2, sindf2, cosdf2): New.
(movua, extv, extzv): New.
* config/sh/t-sh: Add multilibs for 4a, 4a-nofpu, 4a-single
and 4a-single-only.
gcc/testsuite/ChangeLog:
2003-07-06  Alexandre Oliva  <aoliva@redhat.com>
* gcc.dg/sh4a-memmovua.c: Tweak regular expression.
2003-07-01  Alexandre Oliva  <aoliva@redhat.com>
* gcc.dg/sh4a-bitmovua.c: New.
* gcc.dg/sh4a-cos.c: New.
* gcc.dg/sh4a-cosf.c: New.
* gcc.dg/sh4a-fprun.c: New.
* gcc.dg/sh4a-fsrra.c: New.
* gcc.dg/sh4a-memmovua.c: New.
* gcc.dg/sh4a-sin.c: New.
* gcc.dg/sh4a-sincos.c: New.
* gcc.dg/sh4a-sincosf.c: New.
* gcc.dg/sh4a-sinf.c: New.
libstdc++-v3/ChangeLog:
2003-10-01  Eric Christopher  <echristo@redhat.com>
* config/cpu/sh/atomicity.h (__exchange_and_add): Remove 'm'
constraint.
2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
* config/cpu/sh/atomicity.h: New.  Use movli and movco on SH4a.

From-SVN: r85257
2004-07-28 09:13:58 +00:00
Daniel Jacobowitz
07a434923a * config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*)
(sparc-*-solaris2*): Include sol2.o and sol2-protos.h.
	* config/sol2-c.c: Include "tm.h", "tm_p.h", "toplev.h",
	"cpplib.h", "c-pragma.h", "c-common.h".
	(solaris_pragma_align, solaris_pragma_init, solaris_pragma_fini)
	(solaris_register_pragmas): New functions.
	* config/sol2-protos.h: New file.
	* config/sol2.c: New file.
	* config/sol2.h (SOLARIS_ATTRIBUTE_TABLE, ASM_DECLARE_FUNCTION_SIZE)
	(REGISTER_TARGET_PRAGMAS): New macros.
	(solaris_pending_aligns, solaris_pending_inits)
	(solaris_pending_finis): New variables.
	* config/t-sol2 (sol2-c.o): Update dependencies.
	(sol2.o): New rule.
	* config/i386/i386.c (TARGET_INSERT_ATTRIBUTES): Define in terms of
	SUBTARGET_INSERT_ATTRIBUTES.
	(ix86_attribute_table): Include SUBTARGET_ATTRIBUTE_TABLE.
	* config/i386/sol2.h (SUBTARGET_INSERT_ATTRIBUTES)
	(SUBTARGET_ATTRIBUTE_TABLE, ASM_OUTPUT_CALL): Define.
	* config/sparc/elf.h (ASM_DECLARE_FUNCTION_SIZE): Redefine.
	* config/sparc/sp64-elf.h (ASM_DECLARE_FUNCTION_SIZE): Redefine.
	* config/sparc/sol2.h (SUBTARGET_INSERT_ATTRIBUTES)
	(SUBTARGET_ATTRIBUTE_TABLE, ASM_OUTPUT_CALL): Define.
	* config/sparc/sparc.c (sparc_attribute_table): New.
	(TARGET_INSERT_ATTRIBUTES): Define in terms of
	SUBTARGET_INSERT_ATTRIBUTES.
	(TARGET_ATTRIBUTE_TABLE): Define if SUBTARGET_ATTRIBUTE_TABLE
	is defined.
	* doc/extend.texi (Solaris Pragmas): New section.

From-SVN: r85155
2004-07-25 18:10:05 +00:00
Daniel Jacobowitz
a2bec81863 Makefile.in (c-format.o): Depend on c-format.h.
gcc/
	* Makefile.in (c-format.o): Depend on c-format.h.
	* c-format.h: New file.
	(struct format_char_info): Add CHAIN member.
	* c-format.c: Move some types and constants to c-format.h.
	(format_type_error): Set to -1.
	(struct function_format_info): Use an int for format_type.
	(decode_format_type): Return an int.  Return format_type_error
	on error.
	(print_char_table, asm_fprintf_char_table, gcc_diag_char_table)
	(gcc_diag_char_table, gcc_cdiag_char_table, gcc_cxxdiag_char_table)
	(scan_char_table, time_char_table, monetary_char_table): Initialize
	CHAIN to NULL.
	(n_format_types): New variable.
	(check_format_info_main): Handle CHAIN in format_char_info.
	(handle_format_attribute): Handle TARGET_FORMAT_TYPES and
	TARGET_N_FORMAT_TYPES.
	* config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*)
	(sparc-*-solaris2*): Include config/t-sol2 and config/sol2-c.c.
	* config/sol2-c.c: New file.
	* config/t-sol2: New file.
	* config/sol2.h (TARGET_N_FORMAT_TYPES, TARGET_FORMAT_TYPES): Define.
	* config/sparc/elf.h, config/sparc/sp64-elf.h: Undefine
	TARGET_N_FORMAT_TYPES and TARGET_FORMAT_TYPES.

	* doc/extend.texi (Target Format Checks): New section.
	(Function Attributes): Mention it.
	* doc/invoke.texi: Mention target format checks.
	* doc/sourcebuild.texi: Mention target format checks.
	* dc/tm.texi (Misc): Document TARGET_N_FORMAT_TYPES and
	TARGET_FORMAT_TYPES.
testsuite/
	* gcc.dg/format/cmn-err-1.c: New test.

From-SVN: r84920
2004-07-19 14:48:09 +00:00
Nick Clifton
b55e3aad63 config.gcc: Add sh-*-symbianelf target.
* config.gcc: Add sh-*-symbianelf target.
* config/sh/sh.c: Add new target macros:
  TARGET_ENCODE_SECTION_INFO, TARGET_STRIP_NAME_ENCODING,
  TARGET_CXX_IMPORT_EXPORT_CLASS.
  (sh_file_start): Create a definition of the .directive section.
  (sh_attribute): Add dllimport and dllexport attributes.
* config/sh/symbian-pre.h: New file.
* config/sh/symbian-post.h: New file.
* config/sh/symbian.c: New file. Contains Symbian specific functions.
* config/sh/sh-protos.h: Add prototypes for new functions provided by symbian.c.
* config/sh/t-symbian: New file.
* doc/extend.texi: Document support for dllimport and dllexport	attributes by
  the sh-symbianelf target.

From-SVN: r84551
2004-07-12 08:45:00 +00:00
Jan Beulich
0c2a4754bc mm3dnow.h: New.
* config/i386/mm3dnow.h: New.
        * config.gcc: Add mm3dnow.h to extra_headers for i?86 and x86-64.

From-SVN: r84428
2004-07-09 17:27:59 -07:00
Aaron W. LaFramboise
50c0d3fde0 * config.gcc (i[34567]86-*-mingw32*): Enable threads by default.
From-SVN: r84255
2004-07-07 18:28:54 -07:00
Joseph Myers
8f99553ff6 c-decl.c, [...]: Don't check TARGET_MEM_FUNCTIONS.
* c-decl.c, config/m32r/m32r.c, expr.c, optabs.c: Don't check
	TARGET_MEM_FUNCTIONS.
	* system.h: Poison TARGET_MEM_FUNCTIONS.
	* libfuncs.h (LTI_bcopy, LTI_bcmp, LTI_bzero, bcopy_libfunc,
	bcmp_libfunc, bzero_libfunc): Remove.
	* optabs.c (init_obtabs): Don't set bcopy_libfunc, bcmp_libfunc or
	bzero_libfunc.
	* doc/tm.texi (TARGET_MEM_FUNCTIONS): Remove.
	* doc/standards.texi: Don't mention calling BSD string functions.
	* doc/invoke.texi: Likewise.  Mention that memmove may be called.
	* config/vax/t-memfuncs: New.
	* config/memcmp.c, config/memcpy.c, config/memmove.c,
	config/memset.c: New.
	* config/pdp11/t-pdp11 (LIB2FUNCS_EXTRA): Use these files.
	* config.gcc (vax-*-bsd*, vax-*-sysv*, vax-*-ultrix*): Use
	vax/t-memfuncs.
	* config/alpha/alpha.h, config/arc/arc.h, config/arm/arm.h,
	config/avr/avr.h, config/c4x/c4x.h, config/cris/aout.h,
	config/elfos.h, config/gnu.h, config/h8300/h8300.h,
	config/i386/gas.h, config/ia64/ia64.h, config/interix.h,
	config/ip2k/ip2k.h, config/lynx-ng.h, config/m32r/m32r.h,
	config/mcore/mcore.h, config/mips/mips.h, config/mmix/mmix.h,
	config/netbsd.h, config/openbsd.h, config/pa/pa.h,
	config/rs6000/rs6000.h, config/rtems.h, config/s390/s390.h,
	config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16.h,
	config/svr3.h: Don't define TARGET_MEM_FUNCTIONS.

From-SVN: r84130
2004-07-05 20:49:20 +01:00
J"orn Rennecke
bf09b5123a * config.gcc (sh*-*elf*): Remove dead assignment of sh_multilibs.
From-SVN: r83818
2004-06-28 23:06:17 +01:00
Robert Millan
cfafe9734d Patch from Robert Millan.
* config.gcc: Merge kfreebsd*-gnu with linux* and add knetbsd*-gnu.
* config/i386/linux.h: Allow overriding of LINK_EMULATION,
  DYNAMIC_LINKER and register names in sc_ structure.
* config/kfreebsd-gnu.h: New. kfreebsd-gnu followup for linux.h.
* config/i386/kfreebsd-gnu.h: New. Ditto for i386-kfreebsd-gnu.
* config/knetbsd-gnu.h: New. Ditto for knetbsd-gnu.
* config/i386/knetbsd-gnu.h: New. Ditto for i386-knetbsd-gnu.
* config/kfreebsdgnu.h: Remove.
* config/t-kfreebsd-gnu: Likewise.
* config/i386/kfreebsdgnu.h: Likewise.

From-SVN: r83577
2004-06-23 19:56:23 -07:00
Joern Rennecke
da28a3b97d [multiple changes]
2004-06-21  Kaz Kojima  <kkojima@gcc.gnu.org>

	* config/sh/t-linux (MULTILIB_OPTIONS): Remove.

2004-06-21  J"orn Rennecke <joern.rennecke@superh.com>

	* sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionanlly define.
	(SUPPORT_SH4_SINGLE): Likewise.
	(TARGET_SWITCHES): Break out switches for cpu subtargets:
	(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
	(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
	(TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
	(TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
	(TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
	(TARGET_SWITCHES_SH5_32MEDIA): Likewise.
	(TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
	(SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
	(SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
	(SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
	(SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
	(SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
	(ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
	* sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
	(TARGET_DEFAULT): Likewise.
	* config/sh/t-elf: Amend comment.
	* config/sh/t-1e, config/sh/t-mlib-sh1: New files.
	* config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
	* config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
	* config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
	* config/sh/t-mlib-sh4-single: Likewise.
	* config/sh/t-mlib-sh4-single-only: Likewise.
	* config/sh/t-mlib-sh5-32media: Likewise.
	* config/sh/t-mlib-sh5-32media-nofpu: Likewise.
	* config/sh/t-mlib-sh5-64media: Likewise.
	* config/sh/t-mlib-sh5-64media-nofpu: Likewise.
	* config/sh/t-mlib-sh5-compact: Likewise.
	* config/sh/t-mlib-sh5-compact-nofpu: Likewise.
	* config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
	(MULTILIB_CPUS): Define.
	(MULTILIB_OPTIONS): Use MULTILIB_CPUS.
	(MULTILIB_MATCHES): Use some shell code to calculate it.
	(MULTILIB_EXCEPTIONS): Change to ml/m1.
	* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
	* config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
	(LINK_DEFAULT_CPU_EMUL): Don't redefine.
	(NO_PROFILE_COUNTERS): Define to 1.
	* config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
	(MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
	* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
	(MULTILIB_MATCHES): Don't zap.
	(MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
	* config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
	(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
	(MULTILIB_RAW_DIRNAMES): Define.
	(MULTILIB_DIRNAMES): Use it.
	* config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
	(sh*linux configurations): Merge into:
	(sh*elf / sh*kaos configurations).  Support --with-endian, --with-cpu,
	--with-multilib-list options.  Support sh-superh-elf configuration.
	(sh*-netbsd*): Use SELECT_SH* macros.
	(supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
	Merge sh*-*-netbsd* configurations into sh-elf configurations.
	* config/sh/t-netbsd-sh5, config/sh/t-le, config/sh/t-le: Delete.
	* config/sh/t-monolib: Likewise.

From-SVN: r83444
2004-06-21 19:18:40 +01:00
Kaz Kojima
d627e19f0e t-linux64: New file.
* config/sh/t-linux64: New file.
	* config.gcc: Add it to tmake_file for sh64*-*-linux*.

From-SVN: r83343
2004-06-18 09:40:34 +00:00
Ian Lance Taylor
1c2cdd56e2 config.gcc: Remove sparc64-*-aout*.
* config.gcc: Remove sparc64-*-aout*.
	* config/sparc/sparc.c (sparc_aout_select_rtx_section): Remove.
	* config/sparc/sp64-aout.h: Remove.
	* config/sparc/aout.h: Remove.

From-SVN: r83101
2004-06-14 13:59:44 +00:00
Danny Smith
90aa6719a0 toplev.c (init_asm_output): Add explicit 'b' to mode when opening asm_out_file.
* toplev.c (init_asm_output): Add explicit 'b' to mode when
        opening asm_out_file.
        * c-pch.c (c_common_write_pch): Remove unnecessary fflush before
        reading asm_out_file. Replace fflush after reading asm_out_file
        with fseek.
        * hosthooks-def.h (HOST_HOOKS_GT_PCH_ALLOC_GRANULARITY): Define
        default and add to HOST_HOOKS_INITIALIZER.
        * hosthooks.h (gt_pch_alloc_granularity): Declare hook function.
        * ggc-common.c (default_gt_pch_alloc_granularity): New function.
        (gt_pch_save): Use host_hooks.gt_pch_alloc_granularity
        to set mmi.offset padding.
         * config.gcc (i[34567]86-*-mingw32*): Set target_gtfiles to
        $(srcdir)/config/i386/winnt.c.
        (i[34567]86-*-pe | i[34567]86-*-cygwin*): Likewise.
        (i[34567]86-*-uwin*): Likewise.
        *i[34567]86-*-interix3*): Likewise.
        * config.host (i[34567]86-*-mingw32*): Set out_host_hook_obj.
        * config/i386/host-mingw32.c: New file.
        * config/i386/x-mingw32: Add rule for host-mingw32.o.
        * config/i386/winnt.c: (struct extern_list) Tag as GTY.
        (extern_head): Likewise.
        (struct export_list) Likewise.
        (export_head): Likewise.
        (i386_pe_record_external_function): Use ggc_alloc.
        (i386_pe_record_exported_symbol): Likewise.
        Include "gt-winnt.h" at end.
        * doc/hostconfig.texi: Document
	HOST_HOOKS_GT_PCH_ALLOC_GRANULARITY.

From-SVN: r82643
2004-06-05 07:28:27 +00:00
Aldy Hernandez
318fec6d1f config.gcc: Remove --enable-altivec support.
* config.gcc: Remove --enable-altivec support.

	* config/rs6000/altivec-defs.h: Remove.

From-SVN: r81456
2004-05-03 21:29:15 +00:00
Eric Botcazou
178af0f390 config.gcc (sparc64-*-solaris2*, [...]): Add tm-dwarf2.h to tm_file.
* config.gcc (sparc64-*-solaris2*, sparcv9-*-solaris2*): Add
	tm-dwarf2.h to tm_file.
	(sparc-*-solaris2*): Add tm-dwarf2.h to tm_file for Solaris 7+.
	* config/sparc/sol2-bi.h (PREFERRED_DEBUGGING_TYPE): Delete.
	(ASM_DEBUG_SPEC): Delete.

Co-Authored-By: Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>

From-SVN: r81428
2004-05-03 10:24:02 +00:00
Paul Brook
b73f075a43 config.gcc: Simplify arm --with-{cpu,tune} test.
* config.gcc: Simplify arm --with-{cpu,tune} test.
	* config/arm/arm-cores.def: Document whitespace restrictions.

From-SVN: r81365
2004-04-30 20:29:23 +00:00
Paul Brook
2d84a437b0 Fit typo in previous patch
Fit typo in previous patch
	* config.gcc: Default ep9312 to hard-float.

From-SVN: r81338
2004-04-30 13:14:02 +00:00
Paul Brook
78011587df configure.gcc: Default ep9312 to hard-float.
* configure.gcc: Default ep9312 to hard-float.
	* config/arm/arm-cores.def: Add ARCH field.
	* config/arm/arm.c (FL_FOR_ARCH*): Define.
	(arm_arch_cirrus): New variable.
	(all_cores): Set and use arch.
	(all_architectures): Ditto.
	(arm_arch_name): New variable.
	(arm_override_options): Set it. Use [SUB]TARGET_CPU_DEFAULT.
	Set and use arm_arch_cirrus.
	* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Set arch defines.
	(enum processor_type): Update ARM_CORE define.
	(enum target_cpus): Add.  Replaces TARGET_CPU_* defines.
	(CPP_SPEC): Remove %(cpp_cpu_arch).
	(CPP_ARCH_DEFAULT_SPEC): Remove.
	(CPP_CPU_ARCH_SPEC): Remove.
	(EXTRA_SPECS): Don't use CPP_*ARCH*_SPEC.
	(FPUTYPE_DEFAULT): Don't define here.

From-SVN: r81336
2004-04-30 12:13:49 +00:00
Paul Brook
2682e19f41 * config.gcc: Pull list of cores from arm-cores.def.
From-SVN: r81285
2004-04-29 10:28:05 +00:00
Andrew Pinski
9b2d02a0d2 darwin7.h: New file.
2004-04-23  Andrew Pinski  <pinskia@physics.uc.edu>

        * config/darwin7.h: New file.
        * config.gcc (*-*-darwin*): Add darwin7.h if the
        version is greater than 6.
        * config/darwin.h (TARGET_C99_FUNCTIONS): Define.
        (MATH_LIBRARY): Wrap in ifdefs.

From-SVN: r81100
2004-04-23 10:56:08 -07:00
Daniel Jacobowitz
06a6469a53 * config.gcc: Support --with-arch=iwmmxt for ARM.
From-SVN: r80970
2004-04-21 17:06:17 +00:00
Rainer Orth
04db08dbd1 config.gcc (i[34567]86-*-solaris2*): Default to DWARF-2 debugging on Solaris 7 and up.
* config.gcc (i[34567]86-*-solaris2*): Default to DWARF-2
	debugging on Solaris 7 and up.

From-SVN: r80785
2004-04-17 02:32:23 +00:00
Nathanael Nerode
615be2cfe6 config.gcc: Stop changing enable_threads midstream.
* config.gcc: Stop changing enable_threads midstream.
	Replace uses of enable_threads_flag with enable_threads.
	* configure.ac: Replace uses of enable_threads_flag with
	enable_threads.  Improve autoconf quotation in one place.
	* configure: Regenerate.

From-SVN: r80473
2004-04-07 01:20:59 +00:00
Jakub Jelinek
45dcc026e5 sparc.h (DITF_CONVERSION_LIBFUNCS): Define to 0.
* config/sparc/sparc.h (DITF_CONVERSION_LIBFUNCS): Define to 0.
	* config/sparc/linux.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
	* config/sparc/linux64.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
	* config/sparc/sol2.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
	(SOLARIS_CONVERSION_LIBFUNCS): Rename to SUN_CONVERSION_LIBFUNCS.
	* config/sparc/sparc.c (sparc_init_libfuncs): Initialize optabs
	with _Q_qtoll, _Q_qtoull and _Q_lltoq if DITF_CONVERSION_LIBFUNCS.
	* config.gcc (sparc-*-linux*): Revert 2004-03-23 change.
	* config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Likewise.
	* config/sparc/t-linux: Removed.

From-SVN: r80295
2004-04-01 18:05:22 +02:00
James A. Morrison
9e1395f14c config.gcc: Remove sparc-tti-*.
* config.gcc: Remove sparc-tti-*.
	* config/sparc/pbd.h: Delete.

	* config/sparc/sol2.h: Remove note about Sun OS 4.x.
	* config/sparc/aout.h: Likewise.

	* config/sparc/sparc.h: Remove if 0'd code.
	* config/sparc/sparc.md (call): Remove if 0'd code.
	(call_value): Likewise.
	(nonlocal_goto): Likewise.
	(unimp_insn): Delete.

From-SVN: r79980
2004-03-26 11:13:48 +00:00
Paul Brook
5848830fc3 config.gcc: Add --with-abi=
* config.gcc <arm>: Add --with-abi=
	* config/arm/arm-protos.h (arm_get_frame_size, thumb_get_frame_size,
	thumb_far_jump_used): Remove prototypes.
	(arm_needs_doubleword_align): Add prototype.
	(thumb_compute_initial_elimination_offset): Ditto.
	* config/arm/arm.c (arm_get_frame_offsets): New function.
	(use_return_insn, output_return_instruction, arm_output_epilogue,
	arm_output_function_epilogue, arm_compute_initial_elimination_offset,
	arm_expand_prologue, thumb_expand_epilogue): Use it.
	(arm_abi, target_abi_name, all_arm_abis): New variables.
	(arm_override_options): Set them.  Set structure padding for AAPCS.
	(arm_return_in_memory): Update ABI check.
	(arm_init_cumulative_args): Initialize can_split.
	(arm_needs_doubleword_align): New function.
	(arm_function_arg): Don't split args after pushing to stack. Handle
	doubleword/even reg alignment.
	(arm_va_arg): Handle all doubleword aligned args.
	(add_minpoolforward ref, dump_minpool, push_minpool_fix): Align based
	on ABI, not CPU.
	(arm_compute_save_reg0_reg12_mask): Fix comment.
	(thumb_get_frame_size, thumb_get_frame_size): Remove.
	(thumb_jump_far_used_p): Remove superfluous argument.  Return save
	value for alignment.
	(thumb_unexpanded_epilogue, thumb_output_function_prologue): Change
	to match.
	(thumb_compute_initial_elimination_offset): New function.
	(thumb_expand_prologue): Use arm_get_frame_offsets.  Remove
	unneccessary rounding.
	* config/arm/arm.h (target_abi_name): Declare.
	(ARM_DOUBLEWORD_ALIGN, DOUBLEWORD_ALIGNMENT, TARGET_IWMMXT_ABI,
	arm_abi_type, ARM_DEFAULT_ABI): Define.
	(ARM_FLAG_ATPCS): Remove.
	(TARGET_OPTIONS, OPTION_DEFAULT_SPECS): Add -mabi=.
	(BIGGEST_ALIGNMENT, PREFERRED_STACK_BOUNDARY, STACK_BOUNDARY): Use it.
	(ADJUST_FIELD_ALIGN, DATA_ALIGNMENT, LOCAL_ALIGNMENT,
	TYPE_NEEDS_IWMMXT_ALIGNMENT): Remove.
	(LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P, FUNCTION_ARG_REGNO_P):
	Contitionalize on ABI, not CPU.
	(struct arm_stack_offsets): Define.
	(struct machine_function): Add stack_offsets.  Remove frame_size.
	(FUNCTION_ARG_PARTIAL_NREGS): Don't split if previous args have been
	pushed.
	(FUNCTION_ARG_ADVANCE, FUNCTION_ARG_BOUNDARY): Handle general
	doubleword alignment.
	(THUMB_INITIAL_ELIMINATION_OFFSET,
	ARM_INITIAL_ELIMINATION_OFFSET): Remove.
	(INITIAL_ELIMINATION_OFFSET): Call functions directly.
	* config/arm/arm.md (align_8): Enable for all targets.
	* config/arm/netbsd-elf.h (TARGET_DEFAULT): Remove TARGET_ATPCS.
	(ARM_DEFAULT_ABI): Define.
	* doc/invoke.texi <ARM>: Document -mabi=. Update documentation for
	-mstructure-size-boundary.

From-SVN: r79921
2004-03-24 17:20:16 +00:00
Richard Sandiford
398a94926c Fix changelog entry for:
* config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Remove tm_defines.
	* config/mips/vr.h (DEFAULT_VR_ARCH): New macro, defined to vr4130.
	(MULTILIB_DEFAULTS): Use it.
	(MIPS_CPU_STRING_DEFAULT): Remove.
	(MIPS_ABI_DEFAULT, MIPS_MARCH_CONTROLS_SOFT_FLOAT): Define.
	(DRIVER_SELF_SPECS): Make -mfix-vr4122-bugs imply -march=vr4120.  Make
	EABI64 -mlong32 the default ABI.  Enforce the default architecture.
	* config/mips/t-vr (MULTILIB_OPTIONS): Add mfix-vr4122-bugs,
	march=vr4130, march=vr4300, march=vr5000 and march=vr5500.
	(MULTILIB_MATCHES): Use -mfix-vr4122-bugs multilibs for -march=vr4120.
	(MULTILIB_EXCEPTIONS): Change choice of multilibs.  Update comments
	accordingly.

and commit config.gcc hunk.

From-SVN: r79916
2004-03-24 13:55:37 +00:00
Jakub Jelinek
f2c79f80f2 config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file.
* config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file.
	* config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Set.
	* config/sparc/t-linux: New file.

From-SVN: r79858
2004-03-23 14:45:32 +01:00
Ralf Corsepius
314733e244 re PR target/14577 (Switching sh-rtems to ELF)
2004-03-16  Ralf Corsepius <corsepiu@faw.uni-ulm.de>

	PR target/14577
	* config.gcc: Switch sh-*-rtems* to ELF.  Add sh-*-rtemscoff.

From-SVN: r79536
2004-03-16 16:43:06 +00:00
Richard Zidlicky
3704aae954 config.gcc, linux.h: Implement with-cpu for m68k-linux.
* config.gcc, config/m68k/linux.h: Implement with-cpu for m68k-linux.
	* longlong.h: Make code 68060 clean when compiling for m68060.

From-SVN: r79524
2004-03-16 05:12:25 +01:00
Joel Sherrill
65cd26a6f5 re PR target/14480 (gcc/config/rs6000/t-rtems is missing)
2004-03-08  Joel Sherrill  <joel@oarcorp.com>

	PR target/14480
	* config/rs6000/t-rtems: Add missing file on branch.

From-SVN: r79263
2004-03-10 17:23:33 +00:00
Chris Demetriou
3fdf09a1fb config.gcc (mips64orion-*-elf*, [...]): Delete duplicated line.
2004-03-05  Chris Demetriou  <cgd@broadcom.com>

        * config.gcc (mips64orion-*-elf*, mips64orionel-*-elf*): Delete
        duplicated line.

From-SVN: r79010
2004-03-05 22:46:09 -08:00
Stuart Hastings
d79944f484 config.gcc: Arrange for Darwin/x86 to build libgcc_eh.a.
2004-03-03  Stuart Hastings  <stuart@apple.com>
	* gcc/config.gcc: Arrange for Darwin/x86 to build libgcc_eh.a.

From-SVN: r78866
2004-03-03 23:16:46 +00:00
Nathanael Nerode
65d151a781 config.gcc: Create a default tmake_file for linux, and use it in all but two linux clauses.
* config.gcc: Create a default tmake_file for linux, and use
	it in all but two linux clauses.  Comment those two.

From-SVN: r78704
2004-03-01 15:12:57 +00:00
Jan Hubicka
5bbeea4428 config.gcc: Add support for nocoma/prescott/pentium-m/pentium3m /pentium4m.
* config.gcc: Add support for nocoma/prescott/pentium-m/pentium3m
	/pentium4m.
	* i386.c (override_options): Add support for new CPUs.
	* i386.h (TARGET_CPU_DEFAULT_NAMES): New names.
	(TARGET_CPU_DEFAULT_pentium_m, TARGET_CPU_DEFAULT_pentium4e): New
	constants.
	* invoke.texi: Extend documentation of -mtune/-march for new CPUs.

From-SVN: r78524
2004-02-26 21:43:37 +00:00
Kelley Cook
30500d8492 config.gcc: Add comment describing extra_gcc_objs.
2004-02-25  Kelley Cook  <kcook@gcc.gnu.org>

	* config.gcc: Add comment describing extra_gcc_objs.
	i[34567]86-*-cygwin*): Replace host_extra_gcc_objs with extra_gcc_objs.
	* configure.ac (extra_gcc_objs): New substitution variable.
	(host_extra_gcc_objs): Don't substitute.
	* configure: Regenerate.
	* Makefile.in: Use extra_gcc_objs.

From-SVN: r78459
2004-02-25 21:43:26 +00:00
John David Anglin
7b79fe713d config.gcc (hppa*-*-*, [...]): Add MASK_BIG_SWITCH to all target_cpu_default defines.
* config.gcc (hppa*-*-*, parisc*-*-*): Add MASK_BIG_SWITCH to all
	target_cpu_default defines.
	* pa-hpux.h (TARGET_DEFAULT): Add MASK_BIG_SWITCH to define.
	* pa.h (TARGET_DEFAULT): Likewise.

From-SVN: r78446
2004-02-25 19:45:13 +00:00
Alexandre Oliva
34208acf14 Implement FR-V FDPIC ABI support for frv-uclinux and frv-linux.
2004-02-05  Alexandre Oliva  <aoliva@redhat.com>
* config/frv/frv.c (frv_emit_movsi): Use GOT relocations for
symbols in sections named by the user.
2004-01-30  Alexandre Oliva  <aoliva@redhat.com>
* config/frv/linux.h (TARGET_OS_CPP_BUILTINS): New.
2004-01-27  Alexandre Oliva  <aoliva@redhat.com>
* config.gcc (frv-*-*linux*): Handle like *-*-linux*.
* config/frv/t-linux (EXTRA_MULTILIB_PARTS): Remove, obviated by
the above.
2004-01-20  Alexandre Oliva  <aoliva@redhat.com>
* config/frv/frv.md (symGOT2reg_hilo, symGOTOFF2reg_hilo): Add
one more pseudo to further improve code generation.
2004-01-19  Alexandre Oliva  <aoliva@redhat.com>
* config/frv/frv.md (movdi_ldd): Introduce explicit indirection
inside UNSPEC.
2004-01-16  Alexandre Oliva  <aoliva@redhat.com>
* config/frv/frv.c (frv_legitimate_address_p): Added
allow_double_reg_p argument.  Adjust all callers.  Use it to
decide whether to enable double-register indirect addressing.
(frv_funcdesc_alias_set): Remove.
(frv_expand_fdpic_call): Force non-SYMBOL_REF operand into
register.  Emit movdi_ldd.
(ldd_address_operand): New.
* config/frv/frv-protos.h (frv_legitimate_address_p): Adjust.
* config/frv/frv.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
(PREDICATE_CODES): Add ldd_address_operand.
* config/frv/frv.md (movdi_ldd): New.
(symGOT2reg_hilo, symGOTOFF2reg_hilo): Use separate pseudo for
intermediate computations if possible.
(symGOTOFF2reg_i): Fix harmless typo.
2003-12-18  Alexandre Oliva  <aoliva@redhat.com>
* unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Cast
relocated p_vaddr to vaddr type.
* config/frv/frv-protos.h (frv_expand_fdpic_call): Return void.
* config/frv/frv.c (frv_get_funcdesc_alias_set): New.
(frv_expand_fdpic_call): Propagate incoming MEM's expr to funcdesc
MEM, or use a funcdesc alias set.  Use regular move instead of
ldd.
(dbl_memory_one_insn_operand): Recognize function descriptors by
type or by alias set, and don't split them.
* config/frv/frv.md (call, call_value): Never use call_internal
for fdpic.
(call_internal, call_value_internal): Never match for FDPIC.
(call_fdpicdi, call_fdpicsi, call_value_fdpicdi,
call_value_fdpicsi): Require FDPIC.
(ldd): Removed.
2003-12-17  Alexandre Oliva  <aoliva@redhat.com>
* config/frv/frv.h (CRT_GET_RFIB_DATA): Define for __FRV_FDPIC__.
* unwind-dw2-fde-glibc.c: Don't include elf-fdpic.h any more.
(_Unwind_IteratePhdrCallback): Adjust type of load_base for FRV
FDPIC.  Compute data base address.
* config/frv/linux.h (SUBTARGET_DRIVER_SELF_SPECS): Enable -mfdpic
before the other self-specs are processed.
* config/frv/t-linux (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS):
Build with -fPIC.
2003-12-15  Alexandre Oliva  <aoliva@redhat.com>
* unwind-dw2-fde-glibc.c: Don't include bits/elf-fdpic.h if
inhibit_libc is defined.
2003-12-12  Alexandre Oliva  <aoliva@redhat.com>
* unwind-dw2-fde-glibc.c: Include bits/elf-fdpic.h for
__FRV_FDPIC__.
(__RELOC_POINTER): Define.
(_Unwind_IteratePhdrCallback): Use it.
* config/frv/frv.h (Twrite): Define.
(TRANSFER_FROM_TRAMPOLINE): Use it.
* config/frv/linux.h (INVOKE__main): Undefine.
(Twrite): Override.
2003-12-05  Richard Sandiford  <rsandifo@redhat.com>
* doc/invoke.texi (-mlong-calls, -mlinked-fp): Document FRV options.
(-mlibrary-pic): Emphasize that this option generates EABI code.
(-mcpu): Add fr550.
(-mpack): Remove.
2003-11-30  Alexandre Oliva  <aoliva@redhat.com>
* config/frv/frv.c (int_2word_operand): Reject LABELs, SYMBOL_REFs
and CONSTs in FDPIC mode.
* gcc/config.gcc (with_cpu): Default to fr400 on frv-*-*linux*.
2003-11-29  Richard Sandiford  <rsandifo@redhat.com>
* config/frv/frv.c (move_source_operand): Don't accept symbolic
constants.
* config/frv/frv.md (*movhi_internal, *movsi_internal): Use an 'n'
rather than 'i' constraint for the 2-instruction alternative.
(*movsi_2word): New, incorporating existing int_2word_operand splitter.
2003-11-29  Richard Sandiford  <rsandifo@redhat.com>
* config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Q): Renamed from
EXTRA_CONSTRAINT_FOR_Y.
(EXTRA_CONSTRAINT): Remove handling of 'Y'.
* config/frv/frv.md (*movsi_internal): Remove 'Q' constraint.
(addsi3): Change 'Y' constraint to 'Q'.
2003-11-27  Richard Sandiford  <rsandifo@redhat.com>
* reload.c (CONST_POOL_OK_P): New macro.
(find_reloads): Use it to decide whether a constant can be forced
into memory.
* config/frv/frv.h (LEGITIMATE_PIC_OPERAND_P): Return true if the
constant satisfies got12_operand.
(frv_cannot_force_const_mem): Always return true for TARGET_FDPIC.
(frv_legitimate_address_p): Check for valid unspec offsets using
got12_operand rather than frv_legitimate_fdpic_operand_p.
(frv_legitimate_fdpic_operand_p): Delete.
(frv_emit_movsi): Abort if we try to use the FDPIC register during
or after reload.
(frv_legitimate_constant_p): Return LEGITIMATE_PIC_OPERAND_P if
TARGET_FDPIC.
* config/frv/frv.md (*movdf_double): Add alternatives for CONST_DOUBLE.
2003-11-19  Richard Sandiford  <rsandifo@redhat.com>
* config/frv/frv-protos.h (fdpic_operand, fdpic_got12_operand)
(frv_fdpic_fptr_operand): Don't declare here.
* config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Y): Call got12_operand
rather than fdpic_got12_operand.
(PREDICATE_CODES): Remove symbolic_operand entry.  Add entries for
got12_operand and const_unspec_operand.
* config/frv/frv.c (got12_operand): Renamed from fdpic_got12_operand.
(gpr_or_int12_operand, dbl_memory_one_insn_operand): Update calls.
(symbolic_operand): Remove.
(const_unspec_operand): New predicate.
* config/frv/frv.md (*movsi_got): Use got12_operand.
(*movsi_high_got, *movsi_lo_sum_got): Use const_unspec_operand.
2003-11-18  Richard Sandiford  <rsandifo@redhat.com>
* config/frv/frv-protos.h (frv_output_addr_const_extra): Remove.
* config/frv/frv.h (OUTPUT_ADDR_CONST_EXTRA): Remove definition.
* config/frv/frv.c (frv_unspec): New structure.
(frv_small_data_reloc_p, frv_const_unspec_p): New functions.
(frv_print_operand_memory_reference): Use frv_const_unspec_p to
validate CONST indices.  Use frv_output_const_unspec to print them.
(frv_print_operand): Update call to unspec_got_name.  Use
frv_output_const_unspec to print constant unspecs.
(frv_legitimate_fdpic_operand_p): Return true if frv_const_unspec_p.
Reject UNSPECs otherwise.
(unspec_got_name): Take the relocation number as argument, not an
rtx containing it.
(frv_output_addr_const_extra): Remove, replacing with...
(frv_output_const_unspec): ...this new function.
(frv_find_base_term): Use frv_const_unspec_p & frv_small_data_reloc_p.
(gpr_or_int12_operand): Use fdpic_got12_operand.
(dbl_memory_one_insn_operand): Likewise.
(fdpic_got12_operand): Use frv_const_unspec_p.
(frv_emit_movsi): Use frv_const_unspec_p to check for CONSTs that
are already legitimate.  Use frv_small_data_reloc_p when deciding
whether to use HIGH/LO_SUM for R_FRV_GOTOFF12 and R_FRV_GPREL12.
2003-11-18  Alexandre Oliva  <aoliva@redhat.com>
* config/frv/t-linux (SHLIB_MAPFILES): Override so as to export...
* config/frv/libgcc-frv.ver: ... frv-specific symbols.  New file.
* config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
label, for real this time.
* config/frv/frv.c (frv_local_funcdesc_p): Update to new
representation of visibility.
(fdpic_got12_operand, symbolic_operand): Mark unused arguments as
such.
2003-11-17  Richard Sandiford  <rsandifo@redhat.com>
* config/frv/frv.h (MASK_LINKED_FP, TARGET_LINKED_FP): New macros.
(TARGET_SWITCHES): Add -mlinked-fp and -mno-linked-fp.
* config/frv/frv.c (frv_override_options): Set MASK_LINKED_FP unless
it was explicitly disabled.
(frv_stack_info): There is no need to save the link register in every
frame unless TARGET_LINKED_FP is true.
(frv_frame_pointer_required): If !TARGET_LINKED_FP, only require a
frame pointer if the stack pointer might change value.
(frv_return_addr_rtx): Check and process "count" argument.
2003-11-14  Richard Sandiford  <rsandifo@redhat.com>
* config/frv/frv-protos.h (frv_legitimize_address): Remove.
(frv_find_base_term): Declare.
* config/frv/frv.h (LEGITIMIZE_ADDRESS): Do nothing.
(FIND_BASE_TERM): Define.
(PREDICATE_CODES): Remove pic_register_operand, pic_symbolic_operand,
small_data_register_operand, small_data_symbolic_operand.  Add
symbolic_operand.
* config/frv/frv.c (const_small_data_p, plus_small_data_p): Delete.
(frv_print_operand_memory_reference, output_move_single): Remove
special handling for unlegitimized sdata addresses.
(frv_legitimate_address_p): Don't allow sums of SDA_BASE_REG
and symbolic addresses.
(frv_legitimize_address, frv_legitimize_fdpic_address): Delete.
(frv_find_base_term): New function.
(int_2word_operand): Check specifically for symbolic address constants.
(pic_register_operand, pic_symbolic_operand): Delete.
(small_data_register_operand, small_data_symbolic_operand): Delete.
(dbl_memory_one_insn_operand): Don't call plus_small_data_p.
Allow UNSPEC_GOT constants if !TARGET_FDPIC.
(move_source_operand): Only accept CONSTs if they're a two-insn
symbolic constant.
(fdpic_got12_operand): Don't require TARGET_FDPIC.
(frv_emit_movsi): Legitimize sdata and -mlibrary-pic addresses
using gen_symGOTOFF2reg*.
(frv_ifcvt_rewrite_mem): Remove (plus gr16 ...) special cases.
(frv_rtx_costs): Give all MEM addresses a cost of 0.  Give MEMs
themselves a cost of 3 insns.
* config/mips/mips.md (*movsi_got): Allow for !TARGET_FDPIC too.
Change predicate to symbolic_operand.
(*movsi_high_got, *movsi_lo_sum_got): Likewise.
(*movsi_lda_sdata): Delete.
(*movsi_pic, movsi_high_pic, movsi_lo_sum_pic): Delete.
2003-11-05  Alexandre Oliva  <aoliva@redhat.com>
* config.gcc: Add t-slibgcc-elf-ver and support --with-cpu for
frv-*-*linux*.
* config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
label.
* config/frv/frv.h (DRIVER_SELF_SPECS): Add blank before
-multilib-library-pic.
(LINK_SPEC): Add -z text for -mfdpic.
* config/frv/frvbegin.c (__ROFIXUP_LIST__): Don't define on FDPIC.
* config/frv/frvend.c (__ROFIXUP_END__): Likewise.
* config/frv/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC):
Override.
(OPTION_DEFAULT_SPECS, HAS_INIT_SECTION, INIT_SECTION_ASM_OP,
FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION): Define.
* config/frv/t-linux (EXTRA_MULTILIB_PARTS): Use
crtstuff-generated files.
2003-10-31  Alexandre Oliva  <aoliva@redhat.com>
* config.gcc: Add frv-*-*linux*.
* config/frv/linux.h, config/frv/t-linux: New.
2003-10-06  Alexandre Oliva  <aoliva@redhat.com>
* config/frv/frv.h (LINK_SPEC): Pass -melf32frvfd to the linker
when -mfdpic even if a linker script is explicitly listed.
2003-10-02  Alexandre Oliva  <aoliva@redhat.com>
* config/frv/frv.c (frv_override_options): Clear asm_out
unaligned_op for SImode on FDPIC.
(frv_emit_movsi): Use compute_reloc_for_constant to compute the
argument passed to decl_readonly_section.
(frv_assemble_integer): Revert 2003-09-30's change, but make the
whole block run with FDPIC even with -fno-PIC.
2003-10-02  Alexandre Oliva  <aoliva@redhat.com>
* config/frv/frv.c (frv_cannot_force_const_mem): Don't force
symbol or label plus offset to memory.
(frv_emit_movsi): Emit GPREL only if -mgprel-ro.  Emit 32-bit
GOTOFF and GPREL for LABEL_REF.
* config/frv/frv.h (DRIVER_SELF_SPECS): Add -mgprel-ro with
-mfdpic unless -mno-gprel-ro, -fpic or -fpie.
(MASK_GPREL_RO, TARGET_GPREL_RO): New.
(TARGET_SWITCHES): Added gprel-ro and no-gprel-ro.
* doc/invoke.texi: Document them.
2003-09-30  Alexandre Oliva  <aoliva@redhat.com>
* config/frv/frv-protos.h (frv_gen_GPsym2reg): Declare.
(frv_splittable_got_operand): Removed.
* config/frv/frv.c (frv_cannot_force_const_mem): Reject HIGH and
LO_SUM.  Add comments.
(frv_override_options): Moved enabling of FDPIC to
DRIVER_SELF_SPECS.  Don't enable MASK_DWORD.
(frv_local_funcdesc_p): Remove unnecessary heck for flag_pie.
(frv_legitimize_fdpic_address): Don't duplicate logic in
frv_emit_movsi.
(frv_gen_GPsym2reg): New.
(unspec_got_name): Added gprel.
(frv_expand_fdpic_call): Add support for inlining PLTs.
(fdpic_fptr_operand): Renamed from frv_fdpic_fptr_operand.
(gpr_or_int12_operand): Added GPREL12.
(pic_symbolic_operand): Match even if !flag_pic for FDPIC.
(small_data_symbolic_operand): Fail if FDPIC.
(fdpic_splittable_got_operand): Removed.
(fdpic_got12_operand): Added GPREL12.
(frv_emit_movsi): Reorganize to avoid duplication.  Emit GPREL
when appropriate.  Fix sdata GOTOFF.
(frv_legitimate_constant_p): Require legitimate PIC operand for
FDPIC with pic, but only a legitimate fdpic operand for non-pic.
(frv_assemble_integer): Move FDPIC funcdesc handling out of
flag_pic case.
(frv_asm_out_constructor, frv_asm_out_destructor): Abort if
frv_assemble_integer fails.
* config/frv/frv.h (DRIVER_SELF_SPECS): New.
(SUBTARGET_DRIVER_SELF_SPECS): New.
(ASM_SPEC): Don't pass -mno-fdpic.
(LINK_SPEC): Pass -melf32frvfd for FDPIC.
(MASK_INLINE_PLT, TARGET_INLINE_PLT): New.
(TARGET_SWITCHES): Add -minline-plt, -mno-inline-plt and
-multilib-library-pic.
(PREDICATE_CODES): Added fdpic_operand, fdpic_fptr_operand,
condexec_si_media_operator, condexec_sf_add_operator and
condexec_sf_conv_operator.  Removed condexec_sf_binary_operator
and condexec_sf_unary_operator.
* config/frv/frv.md (R_FRV_GPREL12, R_FRV_GPRELHI, R_FRV_GPRELLO):
New.
(movsi_got, movsi_high_got, movsi_lo_sum_got): Move before
movsi_internal.  Give them internal names.  movsi_got has type
int.
(fdpic got splitters): Remove.
(symGPREL2reg, symGPREL2reg_hilo): New.
* config/frv/t-frv (MULTILIB_MATCHES): Don't map -fpic and -fPIC
to -mlibrary-pic.  Map -multilib-library-pic to it.
* doc/invoke.texi: -mfdpic, -minline-plt, -multilib-library-pic:
Document.
2003-09-28  Alexandre Oliva  <aoliva@redhat.com>
* config/frv/frv.c (frv_function_symbol_referenced_p): Declare.
(TARGET_CANNOT_FORCE_CONST_MEM): Define to...
(frv_cannot_force_const_mem): New function.
(const_small_data_p, plus_small_data_p): Update comments on sdata
on FDPIC.
(frv_override_options): Set flag_pie for FDPIC too.
(frv_conditional_register_usage): Mark gr16 and gr17 as non-fixed,
call-saved registers on FDPIC.
(frv_stack_info): Don't preserve the PIC register on FDPIC, and
don't force LR to be preserved.
(frv_expand_prologue): Likewise.
(frv_asm_output_mi_thunk): Use 12-bit funcdesc gotoff for -fpic.
(frv_frame_pointer_required): Don't force it just because the
FDPIC register is used.
(frv_legitimate_address_p) <CONST>: Accept a legitimate FDPIC
operand only if !condexec_p.
(frv_legitimize_address): Return the FDPIC-legitimized address.
Don't match small data here on FDPIC.
(frv_legitimate_fdpic_operand_p): Don't accept unadorned function
symbols.  Use TRUE/FALSE instead of 1/0.
(frv_local_funcdesc_p): New.
(frv_legitimize_fdpic_address): Rewrite to use GOTOFF and 12-bit
immediates when possible.
(pic_symbolic_operand): Accept SYMBOL_REFs and CONSTs in FDPIC.
(dbl_memory_one_insn_operand): Accept addresses that add a REG and
an UNSPEC_GOT.
(frv_emit_movsi): Handle FDPIC before small data.  Use GOTOFF and
12-bit immediates when possible.
(frv_legitimate_constant_p): In FDPIC, reject SImode operands that
are not legitimate pic operands.
(frv_in_small_data_p): Re-enable for FDPIC.
* config/frv/frv.h (SDA_BASE_REG): Remove comment about FDPIC.
(FRV_GLOBAL_P): Removed.
* config/frv/frv.md: Add modes to CONSTs.
(movsi_got): New.
(movsi_lo_sum_got): Use separate matches instead of match_dup.
(movsi_high_pic, movsi_lo_sum_pic): Match on non-FDPIC only.
(fdpic splittable operations): Match on flag_pic != 1.
2003-09-22  Alexandre Oliva  <aoliva@redhat.com>
* config/frv/frv.c (frv_asm_out_constructor,
frv_asm_out_destructor): Pass to frv_assemble_integer the size in
bytes, not bits.
2003-09-19  Alexandre Oliva  <aoliva@redhat.com>
* config/frv/frv.c (frv_assemble_integer): Reject complex
expressions referencing function SYMBOL_REFs.
* config/frv/frv.c (frv_function_symbol_referenced_p): New.
(move_source_operand): Reject CONSTs that reference function
SYMBOL_REFs on FDPIC.
(frv_emit_movsi): If we get such a CONST, break it up.
* config/frv/frv.h (CPP_SPEC): Define __FRV_FDPIC__ for -mfdpic.
(TRANSFER_FROM_TRAMPOLINE): Use different definitions for FDPIC.
* config/frv/frv.c (frv_print_operand) <I>: Recognize PLUS without
MEM.
(frv_assemble_integer): Don't use funcdesc for LABEL_REFs.
(frv_trampoline_size): Increase for FDPIC.
* config/frv/frv.h (TRAMPOLINE_ALIGNMENT): Bump to 64 for FDPIC.
(TRANSFER_FROM_TRAMPOLINE): Handle FDPIC trampolines.
* config/frv/frv.c (frv_legitimize_fdpic_address, frv_emit_movsi):
Disable use of GOTOFF for now.
(const_small_data_p, plus_small_data_p, frv_in_small_data_p):
Disable use of small data in FDPIC for now.
(frv_asm_output_mi_thunk): Implement for FDPIC.
* config/frv/frv.h (SDA_BASE_REG): Set to -1 with FDPIC.
* config/frv/frv.c (frv_asm_out_constructor): Use
frv_assemble_integer for FDPIC pointers.
(frv_asm_out_destructor): Likewise.
* config/frv/frv.md (ldd): Fix order of operands.  Use
address_operand for input.
2003-09-18  DJ Delorie  <dj@redhat.com>
* config/frv/frv.c (frv_legitimate_fdpic_operand_p): Remove UNSPEC_PIC.
(unspec_got_name): Correct typo.
(frv_emit_movsi): Pre-expand splittable GOTs.
(frv_expand_fdpic_call): Rename gen_lddi to gen_ldd.
* config/frv/frv.md (lddi): Fix syntax error, rename to ldd.
(symGOT2reg_hilo, symGOTOFF2reg_hilo): New.
* config/frv/t-frv: Add -mfdpic multilibs.
* config/frv/frv.h (ASM_SPEC): Pass -mfdpic/-mno-fdpic.
(TARGET_SWITCHES): Add -mno-fdpic, fix documentation.
* config/frv/frv.c (frv_override_options): -mfdpic assumes
flag_pic, default to 32-bit pics, require DWORD ops.
(frv_override_options): Add W and Z constraints.
(frv_expand_prologue): No pic prologue for -mfdpic.
(frv_asm_output_mi_thunk): Support -mfdpic (soon).
(frv_print_operand_memory_reference): Handle GOT constants.
(frv_legitimate_address_p): Allow GOT constants.
(frv_legitimize_address): Handle GOT addresses too.
(frv_legitimate_fdpic_operand_p): New.
(frv_legitimize_fdpic_address): New.
(unspec_got_name): New.
(frv_output_addr_const_extra): New.
(frv_expand_fdpic_call): New.
(frv_fdpic_fptr_operand): New.
(gpr_or_int12_operand): Handle GOT operands.
(int_2word_operand): Handle GOT operands.
(fdpic_operand): New.
(fdpic_splittable_got_operand): New.
(fdpic_got12_operand): New.
(frv_emit_movsi): Handle GOT operands.
(frv_assemble_integer): -mfdpic doesn't use rofixups.
(frv_print_operand): Support 'g' code for GOT operands.
* config/frv/frv-protos.h: Add prototypes as needed.
* config/frv/frv.md (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO,
R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI,
R_FRV_FUNCDESC_GOTLO, R_FRV_FUNCDESC_VALUE,
R_FRV_FUNCDESC_GOTOFF12, R_FRV_FUNCDESC_GOTOFFHI,
R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12, R_FRV_GOTOFFHI,
R_FRV_GOTOFFLO): New.
(movsi_high_got, movsi_lo_sum_got): New.
(*movsi_pic): Don't use this splitter for -mfdpic.
(addsi3): Allow GOT references also.
(call, call_value): Handle -mfdpic separately.
(call_fdpicdi, call_fdpicsi, lddi, call_value_fdpicdi,
call_value_fdpicsi): New.
(symGOT2reg, symGOT2reg_i, got splitters, symGOTOFF2reg,
symGOTOFF2reg_i): New.
* config/frv/frv.h (MASK_FDPIC): New.
(TARGET_FDPIC): New.
(TARGET_SWITCHES): Add -mfdpic.
(FDPIC_FPTR_REGNO): New.
(FDPIC_REGNO): New.
(OUR_FDPIC_REG): New.
(enum reg_class): Add FDPIC_REGS, FDPIC_FPTR_REGS, and
FDPIC_CALL_REGS.
(REG_CLASS_NAMES): Likewise.
(REG_CLASS_CONTENTS): Likewise.
(EXTRA_CONSTRAINT_FOR_Y): New, for 12-bit GOTs.
(EXTRA_CONSTRAINT): Add it here.
(FRV_GLOBAL_P): New.
(OUTPUT_ADDR_CONST_EXTRA): New.

From-SVN: r78373
2004-02-24 16:58:39 +00:00
Christopher Faylor
56d03a4010 config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): *Really* specify extra host object file when...
* config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): *Really* specify extra
host object file when targetting cygwin rather than generic object files.

From-SVN: r78278
2004-02-22 21:50:52 +00:00
Christopher Faylor
dc4a2f323a config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): Specify extra host object file when targetting cygwin.
* config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): Specify extra host object
file when targetting cygwin.
* config/i386/t-cygwin (EXTRA_GCC_OBJS): Remove definition since it is
overridden by top-level Makefile.

From-SVN: r78241
2004-02-22 00:04:38 +00:00
Rainer Orth
3e35cb0c02 t-iris6gld: Renamed to ...
* config/mips/t-iris6gld: Renamed to ...
	* config/mips/t-irix-gld: ... this.
	* config.gcc (mips-sgi-irix6*): Reflect this
	(mips-sgi-irix5*): Use it with GNU ld.

	* config/mips/irix6-crti.asm, config/mips/irix6-crtn.asm: Renamed
	to ...
	* config/mips/irix-crti.asm, config/mips/irix-crtn.asm: ... this.
	* config/mips/t-irix-gld: Reflect this.
	* config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.

	* config/mips/iris5gld.h: New file.
	* config.gcc (mips-sgi-irix5*): Use it with GNU ld.
	Only use collect2 without gas.

	* config/mips/iris6.h (IRIX6_STARTFILE_SPEC, IRIX6_ENDFILE_SPEC):
	Renamed to IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC.
	(STARTFILE_SPEC, ENDFILE_SPEC, SUBTARGET_EXTRA_SPECS): Reflect this.
	* config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.

	* config/mips/iris6.h (SUBTARGET_EXTRA_SPECS): Moved ...
	* config/mips/iris5.h: ... here.

	* config/mips/iris5.h (STARTFILE_SPEC, ENDFILE_SPEC): Renamed to
	IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC.
	(STARTFILE_SPEC, ENDFILE_SPEC): Define.

	* config/mips/iris5gas.h (STARTFILE_SPEC, ENDFILE_SPEC): Simplify
	using irix_startfile_spec, irix_endfile_spec.

From-SVN: r77978
2004-02-17 20:42:53 +00:00
Matthias Klose
8c958ed273 t-slibgcc-elf-ver: Define SHLIB_NAME and SHLIB_SONAME in terms of SHLIB_SOVERSION.
* config/t-slibgcc-elf-ver: Define SHLIB_NAME and SHLIB_SONAME
        in terms of SHLIB_SOVERSION.
        * config/m68k/t-slibgcc-elf-ver: New file.
        * config/pa/t-slibgcc-elf-ver: New file.
        * config.gcc (m68k-linux, parisc-linux): Use them when not
        sjlj exceptions are not configured.

From-SVN: r77920
2004-02-16 13:39:23 -08:00
Gunther Nikl
7ea98c5a50 * config.gcc: Restore support for m68k-openbsd.
From-SVN: r77712
2004-02-12 16:36:07 +00:00
Kazu Hirata
1197924d2b config.gcc: Don't mention MAX_LONG_TYPE_SIZE.
* config.gcc: Don't mention MAX_LONG_TYPE_SIZE.
	* system.h (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
	MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Poison.
	* config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
	config/ia64/ia64.h, config/ip2k/ip2k.h,
	config/iq2000/iq2000.h, config/mips/iris5.h,
	config/mips/mips.h, config/pa/pa-64.h, config/pa/pa.h,
	config/rs6000/aix51.h, config/rs6000/aix52.h,
	config/rs6000/darwin.h, config/rs6000/rs6000.h,
	config/s390/s390.h, config/sh/sh.h, config/sparc/freebsd.h,
	config/sparc/linux.h, config/sparc/linux64.h,
	config/sparc/netbsd-elf.h, config/sparc/sparc.h,
	config/xtensa/xtensa.h: Remove the definitions of
	MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE, and/or
	MAX_WCHAR_TYPE_SIZE.
	* doc/tm.texi (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
	MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Remove.

From-SVN: r77460
2004-02-07 17:06:25 +00:00
Kazu Hirata
5b54717271 * config.gcc: Remove i370 support.
From-SVN: r77369
2004-02-06 02:12:44 +00:00
Kazu Hirata
a4a4b1d364 config.gcc: Remove obsolete ports and configurations.
gcc/
	* config.gcc: Remove obsolete ports and configurations.
	* config/linux-aout.h, config/netware.h,
	config/t-linux-gnulibc1, config/d30v/abi,
	config/d30v/d30v-protos.h, config/d30v/d30v.c,
	config/d30v/d30v.h, config/d30v/d30v.md,
	config/d30v/libgcc1.asm, config/d30v/t-d30v,
	config/dsp16xx/dsp16xx-modes.def,
	config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
	config/dsp16xx/dsp16xx.h, config/dsp16xx/dsp16xx.md,
	config/i370/README, config/i370/i370-c.c,
	config/i370/i370-protos.h, config/i370/i370.c,
	config/i370/i370.h, config/i370/i370.md, config/i370/linux.h,
	config/i370/mvs.h, config/i370/oe.h, config/i370/t-i370,
	config/i386/freebsd-aout.h, config/i386/linux-aout.h,
	config/i386/moss.h, config/i386/netware.h,
	config/i386/svr3.ifile, config/i386/svr3dbx.h,
	config/i386/svr3gas.h, config/i386/svr3z.ifile,
	config/i386/t-udk, config/i386/udk.h, config/i386/vsta.h,
	config/i960/i960-c.c, config/i960/i960-coff.h,
	config/i960/i960-modes.def, config/i960/i960-protos.h,
	config/i960/i960.c, config/i960/i960.h, config/i960/i960.md,
	config/i960/rtems.h, config/i960/t-960bare,
	config/m68k/hp310.h, config/m68k/hp320.h,
	config/m68k/hp320base.h, config/m68k/m68kv4.h,
	config/m68k/netbsd.h, config/m68k/sgs.h, config/m68k/t-hp320:
	Remove.
	* doc/extend.texi, doc/install.texi, doc/invoke.texi,
	doc/md.texi: Remove mentions of obsolete ports.

	testsuite/
	* gcc.dg/20020312-2.c, gcc.dg/builtin-inf-1.c,
	gcc.dg/sibcall-3.c, gcc.dg/sibcall-4.c, gcc.dg/cpp/assert4.c:
	Remove mentions of obsolete ports.

From-SVN: r77216
2004-02-04 05:13:43 +00:00
J"orn Rennecke
a8f0f22ea9 * config.gcc (sh[234]l): Use little endian fragments.
From-SVN: r77185
2004-02-03 19:52:23 +00:00
Paul Brook
9b66ebb146 backport: re PR target/12476 (ARM/THUMB thunk calls broken)
Merge from csl-arm-branch.

	2004-01-30  Paul Brook  <paul@codesourcery.com>

	* aof.h (REGISTER_NAMES): Add vfp reg names
	(ADDITIONAL_REGISTER_NAMES): Ditto.
	* aout.h (REGISTER_NAMES): Ditto.
	(ADDITIONAL_REGISTER_NAMES): Ditto.
	* arm-protos.h: Update/Add Prototypes.
	* arm.c (init_fp_table): Rename from init_fpa_table. Update users.
	Only allow 0.0 for VFP.
	(fp_consts_inited): Rename from fpa_consts_inited.  Update users.
	(values_fp): Rename from values_fpa.  Update Users.
	(arm_const_double_rtx): Rename from const_double_rtx_ok_for_fpa.
	Update users.  Only check valid constants for this hardware.
	(arm_float_rhs_operand): Rename from fpa_rhs_operand.  Update Users.
	Only allow consts for FPA.
	(arm_float_add_operand): Rename from fpa_add_operand.  Update users.
	Only allow consts for FPA.
	(use_return_insn): Check for saved VFP regs.
	(arm_legitimate_address_p): Handle VFP DFmode addressing.
	(arm_legitimize_address): Ditto.
	(arm_general_register_operand): New function.
	(vfp_mem_operand): New function.
	(vfp_compare_operand): New function.
	(vfp_secondary_reload_class): New function.
	(arm_float_compare_operand): New function.
	(vfp_print_multi): New function.
	(vfp_output_fstmx): New function.
	(vfp_emit_fstm): New function.
	(arm_output_epilogue): Output VPF reg restore code.
	(arm_expand_prologue): Output VFP reg save code.
	(arm_print_operand): Add 'P'.
	(arm_hard_regno_mode_ok): Return modes for VFP regs.
	(arm_regno_class): Return classes for VFP regs.
	(arm_compute_initial_elimination_offset): Include space for VFP regs.
	(arm_get_frame_size): Ditto.
	* arm.h (FIXED_REGISTERS): Add VFP regs.
	(CALL_USED_REGISTERS): Ditto.
	(CONDITIONAL_REGISTER_USAGE): Enable VFP regs.
	(FIRST_VFP_REGNUM): Define.
	(LAST_VFP_REGNUM): Define.
	(IS_VFP_REGNUM): Define.
	(FIRST_PSEUDO_REGISTER): Include VFP regs.
	(HARD_REGNO_NREGS): Handle VFP regs.
	(REG_ALLOC_ORDER): Add VFP regs.
	(enum reg_class): Add VFP_REGS.
	(REG_CLASS_NAMES): Ditto.
	(REG_CLASS_CONTENTS): Ditto.
	(CANNOT_CHANGE_MODE_CLASS) Handle VFP Regs.
	(REG_CLASS_FROM_LETTER): Add 'w'.
	(EXTRA_CONSTRAINT_ARM): Add 'U'.
	(EXTRA_MEMORY_CONSTRAINT): Define.
	(SECONDARY_OUTPUT_RELOAD_CLASS): Handle VFP regs.
	(SECONDARY_INPUT_RELOAD_CLASS): Ditto.
	(REGISTER_MOVE_COST): Ditto.
	(PREDICATE_CODES): Add arm_general_register_operand,
	arm_float_compare_operand and vfp_compare_operand.
	* arm.md (various): Rename as above.
	(divsf3): Enable when TARGET_VFP.
	(divdf3): Ditto.
	(movdfcc): Ditto.
	(sqrtsf2): Ditto.
	(sqrtdf2): Ditto.
	(arm_movdi): Disable when TARGET_VFP.
	(arm_movsi_insn): Ditto.
	(movsi): Only split with general regs.
	(cmpsf): Use arm_float_compare_operand.
	(push_fp_multi): Restrict to TARGET_FPA.
	(vfp.md): Include.
	* vfp.md: New file.
	* fpa.md (various): Rename as above.
	* doc/md.texi: Document ARM w and U constraints.

	2004-01-15  Paul Brook  <paul@codesourcery.com>

	* config.gcc: Add with_fpu.  Allow with-float=softfp.
	* config/arm/arm.c (arm_override_options): Rename *-s to *s.
	Break out of loop when we find a float-abi.  Fix typo.
	* config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "fpu".
	Set -mfloat-abi=.
	* doc/install.texi: Document --with-fpu.

	2003-01-14  Paul Brook  <paul@codesourcery.com>

	* config.gcc (with_arch): Add armv6.
	* config/arm/arm.h: Rename TARGET_CPU_*_s to TARGET_CPU_*s.
	* config/arm/arm.c (arm_overrride_options): Ditto.

	2004-01-08  Richard Earnshaw  <rearnsha@arm.com>

	* arm.c (FL_ARCH3M): Renamed from FL_FAST_MULT.
	(FL_ARCH6): Renamed from FL_ARCH6J.
	(arm_arch3m): Renamed from arm_fast_multiply.
	(arm_arch6): Renamed from arm_arch6j.
	* arm.h: Update all uses of above.
	* arm-cores.def: Likewise.
	* arm.md: Likewise.

	* arm.h (CPP_CPU_ARCH_SPEC): Emit __ARM_ARCH_6J__ define for armV6j,
	not arm6j.  Add entry for arch armv6.

	2004-01-07  Richard Earnshaw  <rearnsha@arm.com>

	* arm.c (arm_emit_extendsi): Delete.
	* arm-protos.h (arm_emit_extendsi): Delete.
	* arm.md (zero_extendhisi2): Also handle zero-extension of
	non-subregs.
	(zero_extendqisi2, extendhisi2, extendqisi2): Likewise.
	(thumb_zero_extendhisi2): Only match if not v6.
	(arm_zero_extendhisi2, thumb_zero_extendqisi2, arm_zero_extendqisi2)
	(thumb_extendhisi2, arm_extendhisi2, arm_extendqisi)
	(thumb_extendqisi2): Likewise.
	(thumb_zero_extendhisi2_v6, arm_zero_extendhisi2_v6): New patterns.
	(thumb_zero_extendqisi2_v6, arm_zero_extendqisi2_v6): New patterns.
	(thumb_extendhisi2_insn_v6, arm_extendhisi2_v6): New patterns.
	(thumb_extendqisi2_v6, arm_extendqisi_v6): New patterns.
	(arm_zero_extendhisi2_reg, arm_zero_extendqisi2_reg): Delete.
	(arm_extendhisi2_reg, arm_extendqisi2_reg): Delete.
	(arm_zero_extendhisi2addsi): Remove subreg.  Add attributes.
	(arm_zero_extendqisi2addsi, arm_extendhisi2addsi): Likewise.
	(arm_extendqisi2addsi): Likewise.

	2003-12-31  Mark Mitchell  <mark@codesourcery.com>

	Revert this change:
	* config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG
	+ REG addressing modes.

	* config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG
	+ REG addressing modes.

	2003-12-30  Mark Mitchell  <mark@codesourcery.com>

	* config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept
	CONSTANT_P_RTX.

	2003-30-12  Paul Brook  <paul@codesourcery.com>

	* longlong.h: protect arm inlines with !defined (__thumb__)

	2003-30-12  Paul Brook  <paul@codesourcery.com>

	* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Always define __arm__.

	2003-12-30  Nathan Sidwell  <nathan@codesourcery.com>

	* builtins.c (expand_builtin_apply_args_1): Fix typo in previous
	change.

	2003-12-29  Nathan Sidwell  <nathan@codesourcery.com>

	* builtins.c (expand_builtin_apply_args_1): Add pretend args size
	to the virtual incoming args pointer for downward stacks.

	2003-12-29  Paul Brook  <paul@codesourcery.com>

	* config/arm/arm-cores.def: Add cost function.
	* config/arm/arm.c (arm_*_rtx_costs): New functions.
	(arm_rtx_costs): Remove
	(struct processors): Add rtx_costs field.
	(all_cores, all_architectures): Ditto.
	(arm_override_options): Set targetm.rtx_costs.
	(thumb_rtx_costs): New function.
	(arm_rtx_costs_1): Remove cases handled elsewhere.
	* config/arm/arm.h (processor_type): Add COSTS parameter.

	2003-12-29  Nathan Sidwell  <nathan@codesourcery.com>

	* config/arm/arm.md (generic_sched): arm926 has its own scheduler.
	(arm926ejs.md): Include it.
	* config/arm/arm926ejs.md: New pipeline description.

	2003-12-24  Paul Brook  <paul@codesourcery.com>

	* config/arm/arm.c (arm_arch6j): New variable.
	(arm_override_options): Set it.
	(arm_emit_extendsi): New function.
	* config/arm/arm-protos.h (arm_emit_extendsi): Add prototype.
	* config/arm/arm.h (arm_arch6j): Declare.
	* config/arm/arm.md: Add sign/zero extend insns.

	2003-12-23  Paul Brook  <paul@codesourcery.com>

	* config/arm/arm.c (all_architectures): Add armv6.
	* doc/invoke.texi: Document it.

	2003-12-19  Paul Brook  <paul@codesourcery.com>

	* config/arm/arm.md: Add load1 and load_byte "type" attrs.  Modify
	insn patterns to match.
	* config/arm/arm-generic.md: Ditto.
	* config/arm/cirrus.md: Ditto.
	* config/arm/fpa.md: Ditto.
	* config/amm/iwmmxt.md: Ditto.
	* config/arm/arm1026ejs.md: Ditto.
	* config/arm/arm1135jfs.md: Ditto.  Add insn_reservation and bypasses
	for 11_loadb.

	2003-12-18  Nathan Sidwell  <nathan@codesourcery.com>

	* config/arm/arm-protos.h (arm_no_early_alu_shift_value_dep): Declare.
	* config/arm/arm.c (arm_adjust_cost): Check shift cost for
	TYPE_ALU_SHIFT and TYPE_ALU_SHIFT_REG.
	(arm_no_early_store_addr_dep, arm_no_early_alu_shift_dep,
	arm_no_early_mul_dep): Correctly deal with conditional execution,
	parallels and single shift operations.
	(arm_no_early_alu_shift_value_dep): Define.
	* arm.md (attr type): Replace 'normal' with 'alu',
	'alu_shift' and 'alu_shift_reg'.
	(attr core_cycles): Adjust.
	(*addsi3_carryin_shift, andsi_not_shiftsi_si, *arm_shiftsi3,
	*shiftsi3_compare0, *notsi_shiftsi, *notsi_shiftsi_compare0,
	*not_shiftsi_compare0_scratch, *cmpsi_shiftsi, *cmpsi_shiftsi_swp,
	*cmpsi_neg_shiftsi, *arith_shiftsi, *arith_shiftsi_compare0,
	*arith_shiftsi_compare0_scratch, *sub_shiftsi,
	*sub_shiftsi_compare0, *sub_shiftsi_compare0_scratch,
	*if_shift_move, *if_move_shift, *if_shift_shift): Set type
	attribute appropriately.
	* config/arm/arm1026ejs.md (alu_op): Adjust.
	(alu_shift_op, alu_shift_reg_op): New.
	* config/arm/arm1136.md: Add better bypasses for early
	registers. Remove load[234] and store[234] bypasses.
	(11_alu_op): Adjust.
	(11_alu_shift_op, 11_alu_shift_reg_op): New.

	2003-12-15  Nathan Sidwell  <nathan@codesourcery.com>

	* config/arm/arm-protos.h (arm_no_early_store_addr_dep,
	arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Declare.
	* config/arm/arm.c (arm_no_early_store_addr_dep,
	arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Define.
	* config/arm/arm1026ejs.md: Add load-store bypass.
	* config/arm/arm1136jfs.md (11_alu_op): Take 2 cycles.
	Add bypasses between instructions.

	2003-12-10  Paul Brook  <paul@codesourcery.com>

	* config/arm/arm.c (arm_fpu_model): New variable.
	(arm_fload_abi): New variable.
	(target_fpe_name): Rename from target_fp_name.
	(target_fpu_name): New variable.
	(arm_is_cirrus): Remove.
	(fpu_desc): New struct.
	(all_fpus): Define.
	(pf_model_for_fpu): Define.
	(all_loat_abis): Define.
	(arm_override_options): Set fp arch flags based on -mfpu=
	and -float-abi=.
	(FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM.
	(LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM.
	(*): Use new TARGET_* flags.
	* config/arm/arm.h (TARGET_ANY_HARD_FLOAT): Remove.
	(TARGET_HARD_FLOAT): No longer implies TARGET_FPA.
	(TARGET_SOFT_FLOAT): Ditto.
	(TARGET_SOFT_FLOAT_ABI): New.
	(TARGET_MAVERICK): Rename from TARGET_CIRRUS.  No longer implies
	TARGET_HARD_FLOAT.
	(TARGET_VFP): No longer implies TARGET_HARD_FLOAT.
	(TARGET_OPTIONS): Add -mfpu=.
	(FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM.
	(LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM.
	(arm_pf_model): Define.
	(arm_float_abi_type): Define.
	(fputype): Add FPUTYPE_VFP.  Change SOFT_FPA->NONE
	* config/arm/arm.md: Use new TARGET_* flags.
	* config/arm/cirrus.md: Ditto.
	* config/arm/fpa.md: Ditto.
	* config/arm/elf.h (ASM_SPEC): Pass -mfloat-abi= and -mfpu=.
	* config/arm/semi.h (ASM_SPEC): Ditto.
	* config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Specify vfp.
	(FPUTYPE_DEFAULT): Set to VFP.
	* doc/invoke.texi: Document -mfpu= and -mfloat-abi=.

	2003-11-22  Phil Edwards  <phil@codesourcery.com>

	PR target/12476
	* config/arm/arm.c (arm_output_mi_thunk):  In Thumb mode, use
	'bx' instead of 'b' to avoid branch range restrictions.  Output
	the thunk immediately before the thunked-to function.
	* config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME):  Do not emit
	.thumb_func if a thunk is being generated.  Emit .code 16 along
	with .thumb_func if a thunk is not being generated.

	2003-11-15  Nicolas Pitre <nico@cam.org>

	* config/arm/arm.md (ashldi3, arm_ashldi3_1bit, ashrdi3,
	arm_ashrdi3_1bit, lshrdi3, arm_lshrdi3_1bit): New patterns.
	* config/arm/iwmmxt.md (ashrdi3_iwmmxt): Renamed from ashrdi3.
	(lshrdi3_iwmmxt): Renamed from lshrdi3.
	* config/arm/arm.c (IWMMXT_BUILTIN2): Renamed argument accordingly.

	2003-11-12  Steve Woodford  <scw@wasabisystems.com>
	    Ian Lance Taylor  <ian@wasabisystems.com>

	* config/arm/lib1funcs.asm (ARM_DIV_BODY, ARM_MOD_BODY): Add new
	code for __ARM_ARCH__ >= 5 && ! defined (__OPTIMIZE_SIZE__).

	2003-11-05  Phil Edwards  <phil@codesourcery.com>

	* config/arm/arm.md (insn):  Add new V6 instruction names.
	(generic_sched):  New attr.
	* config/arm/arm-generic.md:  Use generic_sched here.
	* config/arm/arm1026ejs.md:  Do not model fetch/issue/decode
	stages of pipeline.  Adjust latency counts accordingly.
	* config/arm/arm1136jfs.md:  New file.

	2003-10-28  Mark Mitchell  <mark@codesourcery.com>

	* config/arm/arm.h (processor_type): New enumeration type.
	(CPP_ARCH_DEFAULT_SPEC): Set appropriately for ARM 926EJ-S,
	ARM1026EJ-S, ARM1136J-S, and ARM1136JF-S processor cores.
	(CPP_CPU_ARCH_SPEC): Likewise.
	* config/arm/arm.c (arm_tune): New variable.
	(all_cores): Use cores.def.
	(all_architectures): Add representative processor.
	(arm_override_options): Restructure way in which tuning
	information is deduced.
	* arm.md: Update "insn" and "type" attributes throughout.
	(insn): New attribute.
	(type): Compute "mult" from "insn" attribute.  Add load2,
	load3, load4 alternatives.
	(arm automaton): Move to arm-generic.md.
	* config/arm/arm-cores.def: New file.
	* config/arm/arm-generic.md: Likewise.
	* config/arm/arm1026ejs.md: Likewise.

From-SVN: r77171
2004-02-03 14:45:44 +00:00
Jakub Jelinek
1ab1739cc6 config.gcc (powerpc*-*): Clear $with_cpu or $with_tune if it was set to default{32,64}.
* config.gcc (powerpc*-*): Clear $with_cpu or $with_tune if it was
	set to default{32,64}.

From-SVN: r76439
2004-01-23 18:42:58 +01:00
Rainer Orth
d0d969f8e7 config.gcc (mips-sgi-irix6*o32): Removed.
* config.gcc (mips-sgi-irix6*o32): Removed.
	* config/mips/iris6-o32-as.h: Likewise.
	* config/mips/iris6-o32-gas.h: Likewise.
	* config/mips/iris6-o32.h: Likewise.

From-SVN: r76376
2004-01-22 23:02:12 +00:00
Richard Earnshaw
192c8d78fe re PR bootstrap/12527 ([arm] bootstrap error on arm-linux, miscompiling genconstants)
PR bootstrap/12527
* config.gcc (arm*-*-linux*): Don't include unknown-elf.h in tm_file.
Move linux-gas.h and linux-elf.h before aout.h.
* arm/arm.h (INITIALIZE_TRAMPOLINE): Only define if not already.
* arm/linux-elf.h (SUBTARGET_CPU_DEFAULT): Define.

From-SVN: r75870
2004-01-14 17:51:31 +00:00
Jonathan Merriman
ff2aaa93cc re PR bootstrap/10847 (build fails on openbsd3.2-sparc64)
2004-01-12  Jonathan Merriman <jonm@dualitymedia.com>

        PR target/10847
        * config.gcc: No longer includes conflicting header sparc/sol2.h when
        building on sparc64-*-openbsd*.

From-SVN: r75751
2004-01-12 11:54:01 -08:00
Jan Hubicka
9a60938822 re PR target/10301 (Side effects of architecture specific flags are not documented.)
PR target/10301
	* config.gcc: Accept opteron and athlon-64 as variants
	of k8.
	* i386.c (override_options): Likewise.
	* invoke.texi (i386 -mtune): Expand documentation.

From-SVN: r75476
2004-01-06 17:31:10 +00:00
Kazuhiro Inaoka
ad12652102 Add support for m32r-linux target.
From-SVN: r75263
2003-12-31 10:33:02 +00:00