Commit Graph

618 Commits

Author SHA1 Message Date
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
Andrew Pinski
1c8cfe0351 re PR target/13466 (-mpowerpc64 causes ICE)
2003-12-22  Andrew Pinski  <pinskia@physics.uc.edu>

        PR target/13466
        * config.gcc (powerpc-*-darwin): Remove overridden value of need_64bit_hwint.

From-SVN: r74952
2003-12-22 14:04:19 -08:00
James E Wilson
28f08c8adb Drop test for libunwind 0.95 and earlier.
* configure.in: Delete libunwind_has_eh_support test.
* configure: Regenerate.
* config.gcc (ia64*-*-linux*): Delete reference to t-libunwind-no-eh
and libunwind_has_eh_support check.
* config/t-libunwind-no-eh: Delete.

From-SVN: r74865
2003-12-19 17:30:23 -08:00
Geoffrey Keating
33d2ad24d3 config.gcc: Don't use fixproto.
* config.gcc <i[34567]86-*-darwin*>: Don't use fixproto.
	<powerpc-*-darwin*>: Likewise.

From-SVN: r74581
2003-12-12 21:11:50 +00:00
David Mosberger
fe16ab7e3e libunwind related patch from David Mosberger
libunwind related patch from David Mosberger
* unwind-libunwind.c (_Unwind_SetGR): Clear the NaT bit as
required by C++ ABI for Itanium.
* config/t-libunwind (LIB2ADDEH): Remove unwind-libunwind.c.
* config/t-libunwind-no-eh: New file.
* configure.in: Check libunwind for _Unwind_Resume() and if it's
present, set libunwind_has_eh_support to "yes".
* configure: Regenerate.
* config.gcc (ia64*-*-linux*): If $libunwind_has_eh_support is
set to yes, use t-libunwind, otherwise, use t-libunwind-no-eh.

From-SVN: r74548
2003-12-11 12:50:33 -08:00
Kazuhiro Inaoka
6975bd2cc4 m32r.h: Add support for m32r2 processor.
* config/m32r/m32r.h: Add support for m32r2 processor.  Including
  a new command line option -m32r2 to select it.
* config/m32r/m32r.c: Add support for the new processor variant.
* config/m32r/m32r.md: Likewise.
* config/m32r/t-m32r: Add m32r2 multilibs.
* doc/invoke.texi: Document the new command line switch.

From-SVN: r74473
2003-12-09 17:33:00 +00:00
Nathanael Nerode
34cf946f15 * config.gcc: Mark obsolete targets for GCC 3.4.
From-SVN: r74236
2003-12-03 17:59:46 +00:00
Ulrich Weigand
bde5dd2520 * config.gcc (s390x-ibm-tpf*): Add extra_parts.
From-SVN: r74121
2003-12-01 19:06:25 +00:00
Gunther Nikl
c16202e159 config.gcc (m68020-*-elf*, [...]): Add tm_defines containing MOTOROLA and USE_GAS.
* config.gcc (m68020-*-elf*, m68k-*-elf*, m68010-*-netbsdelf*,
	m68k*-*-netbsdelf*, m68k-*-rtems*): Add tm_defines containing
	MOTOROLA and USE_GAS.
	* config/m68k/rtemself.h (MOTOROLA): Delete.
	* config/m68k/netbsd-elf.h (MOTOROLA, USE_GAS): Delete.
	* config/m68k/m68kelf.h (MOTOROLA, USE_GAS, SGS_CMP_ORDER): Delete.

From-SVN: r74048
2003-11-30 05:20:28 +01:00
Richard Sandiford
21b807f180 config.gcc (mips-sgi-irix6*): Add t-iris6gld to tmake_file when using GNU ld.
* config.gcc (mips-sgi-irix6*): Add t-iris6gld to tmake_file when
	using GNU ld.
	* config/mips/iris6.h (IRIX6_STARTFILE_SPEC): New, taking the
	whole of the previous STARTFILE_SPEC except crtbegin.o%s.
	(IRIX6_ENDFILE_SPEC): Likewise ENDFILE_SPEC and crtend.o%s.
	(STARTFILE_SPEC, ENDFILE_SPEC): Define in terms of the above.
	(SUBTARGET_EXTRA_SPECS): Define.
	* config/mips/iris6gld.h (LINK_SPEC): Change -init function
	to __gcc_init and -fini function to __gcc_fini.
	(STARTFILE_SPEC): Redefine, including irix6-crti.o before crtbegin.o.
	(ENDFILE_SPEC): Likewise, including irix6-crtn.o after crtend.o.
	(INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Define.
	* config/mips/t-iris6gld,
	* config/mips/irix6-crti.asm,
	* config/mips/irix6-crtn.asm: New files.

From-SVN: r73891
2003-11-24 21:02:12 +00:00
Andreas Tobler
f7a75b82d2 config.gcc (powerpc-*-darwin*): Add libgcc build specification file.
2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>

	* config/config.gcc (powerpc-*-darwin*): Add libgcc build
	specification file.
	* config/t-slibgcc-darwin: New file, libgcc build specification.
	* config/t-darwin: Add libgcc2 flag -fPIC.
	* config/rs6000/t-darwin: Multilib matches float.
	* libgcc-darwin.ver: New file, contains libgcc symbols.

From-SVN: r73728
2003-11-19 06:17:15 +01:00
Syd Polk
49ffe578b0 rs6000.c (rs6000_override_options): Add G3, G4, and G5 marketing names to the list of supported processors.
2003-10-28  Syd Polk <spolk@apple.com>

	* config/rs6000/rs6000.c (rs6000_override_options): Add G3, G4, and G5
	marketing names to the list of supported processors.
	* config/rs6000/rs6000.h: Ditto.
	* doc/invoke.texi: Ditto.
	* config.gcc: Ditto.

From-SVN: r73228
2003-11-03 21:44:14 +00:00
Phil Edwards
55047c9d1a config.gcc: Update *-*-vxworks* generic hook and comments.
2003-10-22  Phil Edwards  <phil@codesourcery.com>

	* config.gcc:  Update *-*-vxworks* generic hook and comments.
	(arm-wrs-vxworks, i[4567]86-wrs-vxworks, mips-wrs-vxworks,
	mips-wrs-windiss, sh-wrs-vxworks):  New stanzas.
	* genmultilib:  Allow the MULTILIB_OSDIRNAMES to be mapped directly.
	* config/svr4.h (SWITCH_TAKES_ARG):  Undefine it before redefining it.
	* config/windiss.h:  New file.
	* config/arm/t-vxworks:  New file.
	* config/arm/vxworks.h:  New file.
	* config/i386/t-vxworks:  New file.
	* config/i386/vxworks.h:  New file.
	* config/mips/t-vxworks:  New file.
	* config/mips/vxworks.h:  New file.
	* config/mips/windiss.h:  New file.
	* config/sh/t-vxworks:  New file.
	* config/sh/vxworks.h:  New file.

From-SVN: r72834
2003-10-23 05:16:56 +00:00
Robert Millan
e2befd7d4b kfreebsdgnu.h: New.
2003-09-28  Robert Millan  <robertmh@gnu.org>

	* config/i386/kfreebsdgnu.h: New. i386-*-kfreebsd-gnu definitions.
	* config/kfreebsdgnu.h: New. *-*-kfreebsd-gnu definitions.
	* config/t-kfreebsd-gnu: New. *-*-kfreebsd-gnu tmake_file.
	* config.gcc: Add *-*-kfreebsd*-gnu and i[34567]86-*-kfreebsd*-gnu.

From-SVN: r72744
2003-10-21 02:52:47 -07:00
Mark Mitchell
81f9037c86 config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js, arm1136jfs, and armv6j.
* config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js,
	arm1136jfs, and armv6j.
	* config/arm/arm.c (FL_ARCH6J): New macro.
	(FL_VFPV2): Likewise.
	(all_cores): Add entries for arm926ejs, arm1026ejs, arm1136js,
	and arm1136jfs.
	(all_architectures): Add entry for armv6j.
	(arm_override_options): Add entries for arm926ejs, arm1026ejs,
	arm1136js, and arm1136jfs.
	* config/arm/arm.h (TARGET_CPU_arm926ej_s): New macro.
	(TARGET_CPU_arm1026ej_s): Likewise.
	(TARGET_CPU_arm1136j_s): Likewise.
	(TARGET_CPU_arm1136jf_s): Likewise.
	* doc/invoke.texi: Document new ARM cores and architecture
	variants.

From-SVN: r72694
2003-10-20 06:27:32 +00:00
Rainer Orth
3c7404d343 config.gcc (mips-sgi-irix6*o32): Only enable use_collect2 without gas.
* config.gcc (mips-sgi-irix6*o32): Only enable use_collect2
	without gas.
	(mips-sgi-irix6*): Likewise.

	* config/mips/iris6gas.h: New file.
	* gcc/config.gcc (mips-sgi-irix6*): Use it.

	* config/mips/mips.h (TARGET_IRIX): Provide default.
	(TARGET_IRIX5): Likewise.
	(TARGET_SGI_O32_AS): Likewise.
	* config/mips/iris5.h (TARGET_IRIX): Redefine as 1.
	(TARGET_IRIX5): Likewise.
	* config/mips/iris6.h (TARGET_IRIX6): Remove.
	(TARGET_IRIX5): Redefine as 0.

	* config/mips/mips.c (mips_output_external): Test for IRIX 6 O32
	linker workaround with TARGET_IRIX and mips_abi instead of
	ASM_OUTPUT_UNDEF_FUNCTION.
	(mips_file_end): Inline old ASM_OUTPUT_UNDEF_FUNCTION definition,
	testing TARGET_IRIX and mips_abi explicitly.
	* config/mips/iris5.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove.
	* config/mips/iris6.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove undef.

	* config/mips/mips.c (irix_output_external_libcall): Renamed from
	mips_output_external_libcall.
	Use new TARGET_IRIX in guard.
	* config/mips/mips-protos.h (irix_output_external_libcall): Match
	this.
	* config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Likewise.

	* config/mips/iris5gas.h (HAVE_GAS_SHF_MERGE): Update comment.
	Define as 0.

	* config/mips/iris6.h (FUNCTION_NAME_ALREADY_DECLARED): Define
	depending on mips_abi.
	* config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Define as 1.
	* config/mips/mips.c (mips_output_function_prologue): Test
	FUNCTION_NAME_ALREADY_DECLARED at runtime.
	(mips_output_function_epilogue): Likewise.
	(build_mips16_function_stub): Likewise.
	(build_mips16_call_stub): Likewise.
	* config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Provide
	default.

	* config/mips/iris6.h (DWARF2_UNWIND_INFO): Don't define for native
	IRIX 6 O32 assembler.
	(SUBTARGET_CC1_SPEC): Enforce mips2 ISA with O32 ABI.
	(TARGET_OS_CPP_BUILTINS): Define _ABIO32, use it to define
	_MIPS_SIM for O32 ABI.
	(DWARF2_FRAME_INFO): Don't define for native IRIX 6 O32 assembler.
	(ASM_DECLARE_FUNCTION_NAME): Integrate mips.h version.
	(ASM_DECLARE_FUNCTION_SIZE): Move undef before redefinition.
	Integrate O32 version.
	(SUBTARGET_ASM_SPEC): Handle -mabi=32.
	(SUBTARGET_ASM_DEBUGGING_SPEC): Add mdebug_asm_spec for gas with
	O32 ABI.
	(BSS_SECTION_ASM_OP_32): Define.
	(BSS_SECTION_ASM_OP_64): Likewise.
	(BSS_SECTION_ASM_OP): Define differently for O32 and N32/N64 ABIs
	using them.
	(TARGET_ASM_NAMED_SECTION): Reflect renaming.
	Move up to allow override for O32 ABI without GNU as.
	(EH_FRAME_SECTION_NAME): Define explicitly.
	(MUST_USE_SJLJ_EXCEPTIONS): Define.
	[_MIPS_SIM == _ABIO32 && !GAS] (CTORS_SECTION_ASM_OP,
	DTORS_SECTION_ASM_OP): Dummy definitions.
	(TARGET_ASM_NAMED_SECTION): Undef statically.
	(EH_FRAME_SECTION_NAME): Likewise.
	(ASM_OUTPUT_FILENAME): Integrate mips.h version.
	(LINK_SPEC): Only use default options -call_shared -no_unresolved
	without -r.
	Don't pass -init, -fini with -mabi=32.
	(COLLECT_PARSE_FLAG): Define.

	* config/mips/mips.c (iris6_asm_named_section_1): Changed guard to
	TARGET_IRIX.
	Renamed to use irix_ prefix.
	(iris6_asm_named_section): Likewise.
	(iris_section_align_entry_eq): Likewise.
	(iris_section_align_entry_hash): Likewise.
	(iris6_file_start): Likewise.
	(iris6_section_align_1): Likewise.
	(iris6_file_end): Likewise.
	(iris6_section_type_flags): Likewise.
	(iris_section_align_htab): Likewise.
	(iris_orig_asm_out_file): Likewise.
	[TARGET_IRIX] (TARGET_ASM_FILE_START): Reflect rename.
	(TARGET_ASM_FILE_END): Likewise.
	(TARGET_SECTION_TYPE_FLAGS): Likewise.

	* config/mips/mips.c [TARGET_IRIX5 && !TARGET_IRIX6]
	(TARGET_ASM_UNALIGNED_HI_OP): Use runtime initialization in
	override_options instead.
	(TARGET_ASM_UNALIGNED_SI_OP): Likewise.
	(TARGET_ASM_UNALIGNED_DI_OP): Likewise.
	* config/mips/mips.c (override_options) [USE_COLLECT2]: Restore
	flag_gnu_linker to defaults without USE_COLLECT2 for non-IRIX O32
	assemblers.
	Likewise for constructor/destructor handling.
	(override_options): Handle IRIX O32 assembler quirks.
	[TARGET_IRIX] (irix_asm_named_section): Handle O32 ABI with and
	without gas.
	(mips_file_start): Use new TARGET_IRIX.
	(mips_declare_object_name): No special processing for IRIX O32
	assembler.
	(mips_finish_declare_object): Likewise.
	(irix_asm_output_align): Renamed from iris6_asm_output_align.
	Don't record alignment for O32 ABI.
	(irix_file_start): Renamed from iris6_file_start.
	Return early for O32 ABI.
	(irix_file_end): Renamed from iris6_file_end.
	Don't emit .section directives for O32 ABI.
	* config/mips/iris6.h (ASM_OUTPUT_ALIGN): Reflect renaming.
	* config/mips/mips-protos.h (irix_asm_output_align): Likewise.

	* config/mips/t-iris6 (MULTILIB_OPTIONS): Add mabi=32.
	(MULTILIB_OSDIRNAMES): Likewise.

From-SVN: r72600
2003-10-17 11:44:33 +00:00
Ulrich Weigand
24fe22c9d4 config.gcc (s390x-ibm-tpf*): New target.
* config.gcc (s390x-ibm-tpf*): New target.
	* doc/invoke.texi: Document it.
	* config/s390/t-tpf: New file.
	* config/s390/tpf.h: New file.

From-SVN: r72529
2003-10-15 17:10:20 +00:00
Nathanael Nerode
e7f86e619d * config.gcc (am33_2.0-*-linux*): Use t-slibgcc-elf-ver.
From-SVN: r72490
2003-10-14 19:51:11 +00:00
Nathanael Nerode
43aba51835 config.gcc, [...]: Replace uses of target_alias with target_noncanonical.
gcc:
	* config.gcc, config/m68hc11/t-m68hc11-gas: Replace uses of
	target_alias with target_noncanonical.

ada:
	* Make-lang.in: Replace uses of $(target_alias) with
	$(target_noncanonical).
	* ada/Makefile.in: Remove unused mention of $(target_alias).

cp:
	* Make-lang.in: Replace uses of $(target_alias) with
	$(target_noncanonical).

java:
	* Make-lang.in: Replace uses of $(target_alias) with
	$(target_noncanonical).

From-SVN: r72487
2003-10-14 19:07:21 +00:00
Nathanael Nerode
bc9b32c230 config.gcc (*-*-freebsd*): Use tm_defines instead of tiny config files which do the same thing.
* config.gcc (*-*-freebsd*): Use tm_defines instead of tiny
	config files which do the same thing.
	* config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
	config/freebsd6.h: Remove now unnecessary files.

OK, I don't know what happened, but get this to commit properly.

From-SVN: r72417
2003-10-13 02:48:59 +00:00
Bernardo Innocenti
ba591f5a88 t-uclinux: New target Makefile fragment.
* config/m68k/t-uclinux: New target Makefile fragment.
	* config/m68k/uclinux.h: New target macro file.
	* config.gcc (m68k-*-uclinux): New target definition.

From-SVN: r72328
2003-10-11 06:23:20 +02:00
Nathanael Nerode
af6625cb5e config.gcc (mips*-*-netbsd*): Remove content-free line.
* config.gcc (mips*-*-netbsd*): Remove content-free line.

Also fixed old-style ChangeLog date to be new-style.

From-SVN: r72304
2003-10-10 17:37:26 +00:00
Nathanael Nerode
a9807ca268 config.gcc: Remove redundant thread_file setting clauses for various *-*-linux* targets.
* config.gcc: Remove redundant thread_file setting clauses for
	various *-*-linux* targets.

From-SVN: r72269
2003-10-09 16:17:46 +00:00
Nathanael Nerode
769e49eb03 config.gcc: Don't accept --enable-threads=pthreads.
* config.gcc: Don't accept --enable-threads=pthreads.  Clean
	up related case statements.
	* configure.in: Don't accept --enable-threads=pthreads,
	decosf1, mach, or os2 (none of which work anyway).  Alphabetize
	supported thread files in case clause.
	* configure: Regenerate.

From-SVN: r72244
2003-10-08 21:32:50 +00:00
Zack Weinberg
c15c90bbfe target.h (init_libfuncs): New hook.
* target.h (init_libfuncs): New hook.
	* target-def.h: Default TARGET_INIT_BUILTINS and
	TARGET_INIT_LIBFUNCS to hook_void_void.  Add
	TARGET_INIT_LIBFUNCS to TARGET_INITIALIZER.
	* builtins.c (default_init_builtins): Delete.
	* expr.h (default_init_builtins): Delete prototype.
	* doc/tm.texi: Document TARGET_INIT_LIBFUNCS and US_SOFTWARE_GOFAST.
	Tweak documentation of TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL.
	Remove documentation of INIT_TARGET_OPTABS, MULSI3_LIBCALL,
	DIVSI3_LIBCALL, UDIVSI3_LIBCALL, MODSI3_LIBCALL, UMODSI3_LIBCALL,
	MULDI3_LIBCALL, DIVDI3_LIBCALL, UDIVDI3_LIBCALL, MODDI3_LIBCALL,
	and UMODDI3_LIBCALL,

	* Makefile.in (optabs.o): Depends on target.h.
	* defaults.h: Provide default for FLOAT_LIB_COMPARE_RETURNS_BOOL.
	* optabs.c: Include target.h.
	(prepare_float_lib_cmp): No need for #ifdef around use of
	FLOAT_LIB_COMPARE_RETURNS_BOOL.
	(set_optab_libfunc): New function.
	(init_optabs): Delete use of all *_LIBCALL defines.
	Call targetm.init_libfuncs not INIT_TARGET_OPTABS.
	* optabs.h: Prototype set_optab_libfunc.

	* config.gcc: Remove all references to pa/long_double.h,
	ia64/hpux_longdouble.h, and gofast.h.
	(mips-*-*): When --enable-gofast, just add US_SOFTWARE_GOFAST
	to tm_defines; don't set INIT_SUBTARGET_OPTABS or change tm_file.

	* config/alpha/alpha.c, config/c4x/c4x.c, config/cris/cris.c
	* config/frv/frv.c, config/h8300/h8300.c, config/i860/i860.c
	* config/ia64/ia64.c, config/ip2k/ip2k.c, config/m68hc11/m68hc11.c
	* config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
	* config/sparc/sparc.c, config/vax/vax.c:
	Provide a definition for TARGET_INIT_LIBFUNCS.  Where
	necessary, include optabs.h, libfuncs.h, and/or config/gofast.h.

	* config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.h
	* config/avr/avr.h, config/cris/cris.h, config/frv/frv.h
	* config/h8300/h8300.h, config/i860/i860.h, config/ip2k/ip2k.h
	* config/iq2000/iq2000.h, config/m68hc11/m68hc11.h, config/mips/mips.h
	* config/rs6000/aix.h, config/rs6000/sysv4.h, config/sparc/elf.h
	* config/sparc/lite.h, config/sparc/netbsd-elf.h, config/sparc/sol2.h
	* config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h
	* config/vax/elf.h: Don't define or use INIT_TARGET_OPTABS,
	INIT_SUBTARGET_OPTABS, or any *_LIBCALL macros.

	* config/ia64/hpux.h: Redefine INTEL_EXTENDED_IEEE_FORMAT to 0.
	Set TARGET_INIT_LIBFUNCS and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
	* config/pa/pa-hpux.h: Define LONG_DOUBLE_TYPE_SIZE,
	HPUX_LONG_DOUBLE_LIBRARY, and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
	* config/ia64/hpux_longdouble.h, config/pa/long_double.h: Delete.

	* config/rs6000/xcoff.h: Don't define RS6000_ITRUNC nor RS6000_UITRUNC.
	* config/sparc/sparc.h: Default SUN_CONVERSION_LIBFUNCS and
	SUN_INTEGER_MULTIPLY_64 to 0.
	* config/sparc/sol2.h: Redefine SUN_CONVERSION_LIBFUNCS and
	SUN_INTEGER_MULTIPLY_64 to 1.
	* config/sparc/elf.h: Redefine SUN_CONVERSION_LIBFUNCS and
	SUN_INTEGER_MULTIPLY_64 to 0.
	* config/sparc/lite.h, config/sparc/liteelf.h, config/sparc/sp86x-elf.h:
	Define US_SOFTWARE_GOFAST.
	* config/vax/vax.h: Default TARGET_ELF to 0.
	* config/vax/elf.h: Redefine TARGET_ELF to 1.

	* config/gofast.h: Don't define any macros here.  Provide one
	static function, gofast_maybe_init_libfuncs, which does what
	INIT_GOFAST_LIBFUNCS used to do but only if US_SOFTWARE_GOFAST
	is already defined.  Do not clear negation libfuncs.  Do
	not mess with HFmode, XFmode, or TFmode libfuncs.

	* config/avr/avr.c (avr_init_once): #if 0 out; mark FIXME.

From-SVN: r72009
2003-10-02 00:44:29 +00:00
Rainer Orth
9a032f82ee xm-iris5.h: Remove, unnecessary.
* config/mips/xm-iris5.h: Remove, unnecessary.
	* config.build (mips-sgi-irix5*): Remove.
	(mips-sgi-irix6*o32): Likewise.
	* config.gcc (mips-sgi-irix6*o32): Remove xm_file.
	(mips-sgi-irix5cross64): Likewise.
	(mips-sgi-irix5*): Likewise.
	* config.host (mips-sgi-irix5*): Remove.
	(mips-sgi-irix6*o32): Likewise.

From-SVN: r72003
2003-10-01 23:51:10 +00:00
Nathanael Nerode
3fc87ac147 * config.gcc (cris-*-linux*): Revert mistaken commit.
From-SVN: r71970
2003-10-01 11:14:01 +00:00
Nathanael Nerode
8cefb55d77 config.gcc (arm*-*-kaos*, [...]): Disable fixproto.
* config.gcc (arm*-*-kaos*, i[34567]86-*-kaos*, powerpc-*-kaos*,
	powerpcle-*-kaos*, strongarm-*-kaos*): Disable fixproto.

From-SVN: r71948
2003-09-30 17:23:47 +00:00
Nathanael Nerode
ec2a60b0c4 * config.gcc: Default use_fixproto to 'no'.
From-SVN: r71938
2003-09-30 10:16:39 +00:00
Rainer Orth
51ac684e52 configure.in: Remove wildcard from Solaris 8-9/Intel and Solaris 2.3/SPARC...
boehm-gc:
	* configure.in: Remove wildcard from Solaris 8-9/Intel and Solaris
	2.3/SPARC, there are no micro versions.
	Treat Solaris 10 and up alike.
	* configure: Regenerate.

	gcc:
	* config.gcc (sparc-*-solaris2*): Handle Solaris 10 and up like
	Solaris 7-9.

	* fixinc/inclhack.def (solaris_widec): Replace solaris2.[0-5]* by
	wildcards which explicitly match micro versions.
	* fixinc/fixincl.x: Regenerate.

	libstdc++-v3:
	* configure.host: Handle Solaris 2.5 micro releases explicitly.
	Remove wildcards from Solaris 2.6, 7-9: there were no
	micro releases.
	Treat Solaris 10 and up like 7-9.

From-SVN: r71914
2003-09-29 20:02:08 +00:00
Nathanael Nerode
4bf1dc658b * config.gcc (alpha*-dec-osf[45]*): Disable fixproto.
From-SVN: r71866
2003-09-27 22:27:10 +00:00
Nathanael Nerode
75e52d96b8 * config.gcc (arm*-*-uclinux*): Disable fixproto.
From-SVN: r71865
2003-09-27 21:43:18 +00:00
Nathanael Nerode
1e43319cd2 config.gcc (powerpc-*-eabispe*, [...]): Disable fixproto.
* config.gcc (powerpc-*-eabispe*, powerpc-*-eabisimaltivec*,
	powerpc-*-eabialtivec*): Disable fixproto.

From-SVN: r71864
2003-09-27 21:40:40 +00:00
Nathanael Nerode
63e002bd63 config.gcc (hppa*64*-*-linux* | parisc*64*-*-linux*): Include t-slibgcc-elf-ver and t-linux in tmake_file.
* config.gcc (hppa*64*-*-linux* | parisc*64*-*-linux*):
	Include t-slibgcc-elf-ver and t-linux in tmake_file.

From-SVN: r71842
2003-09-26 22:13:33 +00:00
Nathanael Nerode
488c4e944e config.gcc (hppa*64*-*-linux* | parisc*64-*-linux*): Disable fixproto.
* config.gcc (hppa*64*-*-linux* | parisc*64-*-linux*):
	Disable fixproto.

From-SVN: r71838
2003-09-26 21:07:56 +00:00
Nathanael Nerode
0a66cee8c4 config.gcc (i960-*-coff*, [...]): Disable fixproto.
* config.gcc (i960-*-coff*, m68k-*-aout*, sparclite-*-coff*):
	Disable fixproto.

From-SVN: r71837
2003-09-26 21:01:02 +00:00
Nathanael Nerode
96f8d04ec0 config.gcc (i[34567]86-*-solaris2*, [...]): Disable fixproto.
* config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*,
	sparcv9-*-solaris2*, sparc-*-solaris2*): Disable fixproto.

From-SVN: r71836
2003-09-26 20:57:28 +00:00
Nathanael Nerode
16aa42c079 config.gcc: Get rid of more gratuitious 'x'es.
* config.gcc: Get rid of more gratuitious 'x'es.  Actually allow
	tsc701 as a --with-cpu, --with-tune setting for sparc.

From-SVN: r71763
2003-09-25 07:30:57 +00:00
Nathanael Nerode
8179b3c802 config.gcc: New 'widely ported system' clause for rtems.
* config.gcc: New 'widely ported system' clause for rtems.
	Set thread file there, not in individual clauses.

From-SVN: r71761
2003-09-25 07:12:41 +00:00
Nathanael Nerode
4d6d5bb21a config.gcc (widely ported systems section): Mostly alphabetize by system.
* config.gcc (widely ported systems section): Mostly alphabetize
	by system.  Comment the case where we can't.

From-SVN: r71759
2003-09-25 07:00:01 +00:00
Nathanael Nerode
e302977341 * config.gcc (widely ported systems section): Reindent and clean up.
From-SVN: r71756
2003-09-25 06:29:23 +00:00
Nathanael Nerode
b597bfd837 config.gcc: Remove some unnecessary uses of 'x' in case statements.
* config.gcc: Remove some unnecessary uses of 'x' in case statements.
	Actually allow ep9312 as an arm --with-arch setting.

From-SVN: r71755
2003-09-25 05:52:28 +00:00
Nathanael Nerode
f851b49e44 * config.gcc (*-hpux11): Disable fixproto.
From-SVN: r71752
2003-09-25 05:25:18 +00:00
Nathanael Nerode
eb9a155e95 config.gcc (c4x-*, [...]): Disable fixproto.
* config.gcc (c4x-*, tic4x-*, d30v-*, mmix-knuth-mmixware):
	Disable fixproto.

From-SVN: r71740
2003-09-24 22:33:00 +00:00
Nathanael Nerode
3534107305 config.gcc: Clean up and reindent $with_cpu=yes|no clause and the section giving $with_cpu...
* config.gcc: Clean up and reindent $with_cpu=yes|no clause and
	the section giving $with_cpu defaults by target.

From-SVN: r71738
2003-09-24 21:34:14 +00:00
Nathanael Nerode
77cf10c933 config.gcc (arm-*-coff*, [...]): Disable fixproto.
* config.gcc (arm-*-coff*, armel-*-coff*, arm*-*-ecos-elf,
	arm*-*-elf, ep9312-*-elf, arm*-wince-pe*, arm*-*-pe*, arm*-*-pe*,
	rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*,
	rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*,
	rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*,
	i[34567]86-pc-msdosdjgpp*): Disable fixproto.

From-SVN: r71737
2003-09-24 21:24:44 +00:00
Nathanael Nerode
b9f2972f1e config.gcc: Move use_fixproto=no from generic vxworks clause to specific one.
* config.gcc: Move use_fixproto=no from generic vxworks clause to
	specific one.

From-SVN: r71723
2003-09-24 04:09:00 +00:00
Nathanael Nerode
a30ac78154 config.gcc (powerpc-*-gnu-gnualtivec*): Disable fixproto (accidentally missed in last pass).
* config.gcc (powerpc-*-gnu-gnualtivec*): Disable fixproto
	(accidentally missed in last pass).

From-SVN: r71722
2003-09-24 04:03:46 +00:00
Nathanael Nerode
e743d226a0 config.gcc (x86_64-*-freebsd*): Disable fixproto (accidentally missed in last pass).
* config.gcc (x86_64-*-freebsd*): Disable fixproto (accidentally
	missed in last pass).

From-SVN: r71720
2003-09-24 03:52:29 +00:00
Nathanael Nerode
9ab346a144 * config.gcc: Move vax-*-vms* unsupported notice up with the rest.
From-SVN: r71715
2003-09-24 02:42:13 +00:00
Nathanael Nerode
8b22a93bd2 config.gcc (alpha64*-dec-*vms*, [...]): Disable fixproto.
* config.gcc (alpha64*-dec-*vms*, alpha*-dec-*vms*,
	powerpc-*-eabisim*, powerpc-*-eabi*, powerpcle-*-eabisim*,
	powerpcle-*-eabi*): Disable fixproto.

From-SVN: r71714
2003-09-24 02:37:52 +00:00
Nathanael Nerode
76bc249d13 config.gcc: Move use_fixproto=no from generic FreeBSD clause to specific FreeBSD clauses.
* config.gcc: Move use_fixproto=no from generic FreeBSD clause to
	specific FreeBSD clauses.

From-SVN: r71713
2003-09-24 02:28:51 +00:00
Nathanael Nerode
980465f330 config.gcc: Move use_fixproto=no from generic NetBSD clause to specific NetBSD clauses.
* config.gcc: Move use_fixproto=no from generic NetBSD clause to
	specific NetBSD clauses.

From-SVN: r71712
2003-09-24 02:19:38 +00:00
Nathanael Nerode
7bc5294afe config.gcc: Move use_fixproto=no from generic OpenBSD clause to specific OpenBSD clauses.
* config.gcc: Move use_fixproto=no from generic OpenBSD clause
	to specific OpenBSD clauses.

From-SVN: r71711
2003-09-24 02:10:04 +00:00
Nathanael Nerode
b01bc573ac config.gcc: Use ${target}, not $machine.
* config.gcc: Use ${target}, not $machine.
	* configure.in: Don't set $machine.
	* configure: Regenerate.

From-SVN: r71700
2003-09-23 21:51:44 +00:00
Nathanael Nerode
e5f1132858 config.gcc: Set use_fixproto=no in each specific *-gnu* configuration...
* config.gcc: Set use_fixproto=no in each specific *-gnu*
	configuration, rather than the generic one.

From-SVN: r71695
2003-09-23 20:16:59 +00:00
Nathanael Nerode
587dc9c65e config.gcc: Do per-target disabling of fixproto here in clauses, not in t- fragments.
* config.gcc: Do per-target disabling of fixproto here in clauses,
	not in t- fragments.
	* configure.in: Adjust to set STMP_FIXPROTO correctly.
	* configure: Regenerate.
	* config/arm/t-semi, config/cris/t-cris, config/i386/t-beos,
	config/i386/t-cygming, config/i386/t-nto, config/ia64/t-hpux,
	t-freebsd, t-linux, t-netbsd, t-openbsd, t-rtems, t-vxworks,
	xtensa/t-xtensa: Remove setting of STMP_FIXPROTO.
	* config/i370/t-oe, config/i386/t-netware, config/pa/t-bsd,
	t-interix, t-linux-aout:  Delete files consisting only of
	setting of STMP_FIXPROTO.

From-SVN: r71687
2003-09-23 18:56:00 +00:00
Nathanael Nerode
2c813e213c configure.in: Remove --with-elf, which doesn't work.
* configure.in: Remove --with-elf, which doesn't work.
	* configure: Regenerate.
	* config.gcc: Remove references to $elf, which does nothing.

From-SVN: r71588
2003-09-19 19:48:57 +00:00
Ralf Corsepius
472b0fbcf7 t-rtems: New.
2003-09-19  Ralf Corsepius <corsepiu@faw.uni-ulm.de>

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

From-SVN: r71570
2003-09-19 13:27:53 +00:00
Ralf Corsepius
c7fcd90b72 t-rtems: New.
2003-09-19  Ralf Corsepius <corsepiu@faw.uni-ulm.de>

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

From-SVN: r71569
2003-09-19 13:24:47 +00:00
Nick Clifton
70d651640a Oops - I forgot to commit the change to this file along with the v850e1 patch yesterday.
Oops - I forgot to commit the change to this file along with the v850e1 patch
yesterday.  This part of the patch adds support for a --target=v850e1-elf
configuration as well as --target=v850-elf --with-cpu=v850e1.

From-SVN: r71113
2003-09-05 15:34:46 +00:00
Nick Clifton
c490cc8991 Fix v850 multilibs so that there is only one copy of the default multilib
From-SVN: r71058
2003-09-04 11:50:08 +00:00
Bernardo Innocenti
47fe5c480b config.gcc (m68k-*-linux*): Remove definition of LINUX_DEFAULT_ELF.
* config.gcc (m68k-*-linux*): Remove definition of LINUX_DEFAULT_ELF.
	* config/i370/linux.h (LINUX_DEFAULT_ELF): Remove unconditional
	definition and code blocks compiled when not defined.
	* config/i386/linux.h (LINUX_DEFAULT_ELF): Likewise.
	* config/i386/linux64.h (LINUX_DEFAULT_ELF): Likewise.
	* config/sparc/linux.h: (LINUX_DEFAULT_ELF): Likewise.
	* config/sparc/linux64.h: (LINUX_DEFAULT_ELF): Likewise.

From-SVN: r71035
2003-09-03 23:39:02 +02:00
Nathanael Nerode
b342207401 * config.gcc: Remove host-specific rewrites of target_alias.
From-SVN: r70991
2003-09-02 04:13:25 +00:00
Nathanael Nerode
53b49acaa7 config.gcc: Remove host-specific stuff which is unused here since the introduction of...
* config.gcc: Remove host-specific stuff which is unused here
	since the introduction of config.host.

From-SVN: r70978
2003-09-01 17:58:18 +00:00
Nathanael Nerode
a89ea0df26 config.host: New file.
* config.host: New file.
	* config.gcc: Remove some host-specific stuff and some
	logic needed only for repeated invocation.
	* configure.in: Use config.host.
	* configure: Regenerate.

From-SVN: r70975
2003-09-01 17:30:41 +00:00
Nathanael Nerode
d0d0e9aca7 config.gcc: Remove references to install_headers_dir...
* config.gcc:  Remove references to install_headers_dir, now unused
	since introduction of config.build.
	* config.gcc (i860-*-sysv4*): Don't set unused USG, SVR3 defines.

From-SVN: r70966
2003-08-31 19:11:43 +00:00
Nathanael Nerode
5b28c537ab fragments.texi, [...]: Mention new file config.build.
* doc/fragments.texi, doc/sourcebuild.texi: Mention new file
	config.build.

	* config.build: New file.
	* config.gcc: Remove some build-specific stuff.
	* configure.in: Use config.build.
	* configure: Regnerate.

From-SVN: r70965
2003-08-31 19:00:39 +00:00
Nathanael Nerode
2d3359eba6 config.gcc: Don't use negated character class in shell case clause.
* config.gcc: Don't use negated character class in shell case
        clause.

From-SVN: r70927
2003-08-29 22:15:41 +00:00
Nathanael Nerode
c5e54ac887 * config.gcc (i386-*-vsta): Fix obvious bogosity.
From-SVN: r70922
2003-08-29 21:49:35 +00:00
Nathanael Nerode
8e3a7070fe config.gcc: Narrow unsupported target match to avoid clobbering i?86-sequent-sysv4*.
* config.gcc: Narrow unsupported target match to avoid clobbering
	i?86-sequent-sysv4*.

From-SVN: r70914
2003-08-29 17:32:19 +00:00
Zack Weinberg
7e2055ec11 config.gcc (hppa*-*-hpux11*, [...]): Remove commented-out logic to use DCE threads (if present)...
gcc:
	* config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove
	commented-out logic to use DCE threads (if present), add
	support for POSIX threads.
	* config/ia64/hpux.h: Define CPP_SPEC to set appropriate
	#defines for -pthread.  Add -lpthread to LIB_SPEC when
	-pthread.  In both cases take -mt as a synonym for -pthread
	for acc compatibility.
	Define GTHREAD_USE_WEAK to 0.
	* config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC.
	Remove old logic for DCE threads from LIB_SPEC.
	* config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0.
libstdc++-v3:
	* config/os/hpux/os_defines.h: Unconditionally define
	_GLIBCXX_GTHREAD_USE_WEAK to 0.

From-SVN: r70797
2003-08-26 06:54:15 +00:00
Jason Eckhardt
b882d60dbf t-i860: New.
2003-08-23  Jason Eckhardt  <jle@rice.edu>

        * config/i860/t-i860: New.
        * config.gcc (i860-*-sysv4*): Add t-i860 to tmake_file.

From-SVN: r70759
2003-08-24 03:57:49 +00:00
Jason Eckhardt
e156735260 MAINTAINERS: Resurrect the i860 maintainer.
2003-08-22  Jason Eckhardt  <jle@rice.edu>

ChangeLog
	* MAINTAINERS: Resurrect the i860 maintainer.

gcc/ChangeLog:
	* gcc/config.gcc (i860-*-sysv4*): Add target.
	* config/i860/i860-protos.h: New.
	* config/i860/i860.c: New.
	* config/i860/i860.h: New.
	* config/i860/i860.md: New.
	* config/i860/sysv4.h: New.
	* config/i860/varargs.asm: New.
	* config/i860/x-sysv4: New.

From-SVN: r70719
2003-08-23 02:02:18 +00:00
Zack Weinberg
ca11c37c5d Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
	* config.gcc (*-*-openbsd): Don't set tm_file.
	(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
	arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
	h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
	i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
	i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
	m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
	m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
	m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
	mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
	sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
	xscale-*-coff): Use explicit and complete lists of target headers
	to include.  Move definitions to tm_defines where appropriate.
	(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
	not-yet-contributed configuration.

	* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
	* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
	* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
	* config/i386/nto.h, config/iq2000/iq2000.h,
	* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
	* config/m68k/linux.h, config/m68k/m68k-aout.h
	* config/m68k/m68k-none.h, config/m68k/m68kv4.h
	* config/m68k/netbsd.h, config/m68k/openbsd.h
	* config/m68k/sgs.h, config/mcore/mcore-pe.h,
	* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
	* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
	Remove includes of other target config headers, and
	definitions of macros moved to tm_defines lists.  Add #undefs
	where now necessary to prevent redefinition warnings.

	* config/h8300/coff.h: New file split out of...
	* config/h8300/elf.h: ...here.
	* config/m68k/hp320base.h: New file split out of...
	* config/m68k/hp320.h: ...here.
	* config/rs6000/lynxbase.h: New file split out of...
	* config/rs6000/lynx.h: ...here.

	* config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
	* config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.

	* config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
	* config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
	* config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
	Remove unnecessary #ifndef.
	* config/s390/s390.h: Prefix #include of s390/fixdfdi.h
	[under IN_LIBGCC2] with config/.

From-SVN: r70651
2003-08-21 17:27:29 +00:00
Zack Weinberg
c5d190371b config.gcc (iq2000*-*-elf*): Don't set xm_file.
* config.gcc (iq2000*-*-elf*): Don't set xm_file.
        * config/iq2000/xm-iq2000.h: Delete file.

From-SVN: r70428
2003-08-14 04:18:13 +00:00
Geoffrey Keating
5dddb92059 * config.gcc (powerpc-*-darwin*): Don't build a soft-float multilib.
From-SVN: r70257
2003-08-08 21:13:37 +00:00
Stan Cox
6b3d1e471a iq2000: New port.
* config/iq2000: New port.
	* config.gcc (iq2000-*-elf): Added.
	* doc/install.texi (Specific):  Add iq2000 description.

From-SVN: r70245
2003-08-08 11:30:25 +00:00
Graeme Peterson
f2feed2c72 Preliminary i386-pc-nto-qnx6 support.
* config/i386/nto.h: New.
* config/i386/t-nto: New.
* config.gcc (i[34567]86-*-nto-qnx*): New.

From-SVN: r70203
2003-08-06 17:04:39 +00:00
Andreas Tobler
12550591fd 003-08-02 Andreas Tobler <a.tobler@schweiz.ch>
* config.gcc: Enable posix threads by default on darwin.

From-SVN: r70095
2003-08-02 07:51:02 +02:00
SUGIOKA Toshinobu
2fdd01a09a config.gcc (sh-*-linux*): Do not override sh/t-linux with sh/t-le.
2003-07-31  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>

	* config.gcc (sh-*-linux*): Do not override sh/t-linux with sh/t-le.

From-SVN: r70040
2003-08-01 09:05:16 +00:00
Rainer Orth
2a4e8ebc13 re PR bootstrap/9330 ([alpha-osf]small alphaev56-dec-osf5.1 --enable-threads=posix problem)
* config.gcc (alpha*-dec-osf[45]*): Enable POSIX thread support by
	default.

	* gthr-posix.c: New file.
	* gthr-posix.h: Define _REENTRANT if missing.
	Make _LIBOBJC #pragma weak visible with _LIBOBJC_WEAK.

	* config/alpha/t-osf4 (SHLIB_LINK): Hide dummy functions provided
	by gthr-posix.o.
	* config/alpha/t-osf-pthread: New file.

	* fixinc/inclhack.def (alpha_pthread): New fix.
	* fixinc/fixincl.x: Regenerate.
	* fixinc/tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: New testcase.

	* doc/install.texi (alpha*-dec-osf*): Remove --enable-threads
	warning.
	Fixes PR bootstrap/9330.

From-SVN: r69998
2003-07-31 12:01:07 +00:00
Richard Sandiford
6627b7f96a config.gcc (mips-sgi-irix6*o32, [...]): Add mips/sdb.h to the list of include files when using gas.
* config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Add mips/sdb.h
	to the list of include files when using gas.
	(mips*el-*-openbsd*, mips*-*-openbsd*): Add mips/sdb.h unconditionally.
	* config/mips/elf.h: Remove #undef SDB_DEBUGGING_INFO.
	* config/mips/elf64.h: Likewise.
	* config/mips/iris5.h: Likewise.
	* config/mips/linux.h: Likewise.
	* config/mips/iris5gas.h (SDB_DEBUGGING_INFO): Remove definition.
	* config/mips/mips.h (PREFERRED_DEBUGGING_TYPE): Likewise.
	(SDB_DEBUGGING_INFO, sdb*, SDB_ALLOW_*, PUT_SDB*): Move to...
	* config/mips/sdb.h: ...this new file.

From-SVN: r69345
2003-07-14 20:09:20 +00:00
Andreas Jaeger
1a7d084043 * config.gcc: Add pmmintrin.h for x86_64-*-*.
From-SVN: r69299
2003-07-13 20:22:54 +02:00
Alexandre Oliva
2beef00e78 [multiple changes]
2001-12-13  Alexandre Oliva  <aoliva@redhat.com>
* config/mn10300/linux.h (LINK_SPEC): Rename the dynamic linker
from ld-linux.so.2 to ld.so.1.
2001-11-18  Alexandre Oliva  <aoliva@redhat.com>
* config/mn10300/linux.h (LINK_SPEC): -lpthread, not -lthread.
* config/mn10300/linux.h (LINK_SPEC): Don't handle -Wl,-rpath
nor -Wl,-rpath-link.
(LIB_SPEC): Add -rpath-link if !static.
2001-08-22  Alexandre Oliva  <aoliva@redhat.com>
* config/mn10300/mn10300.c (mn10300_protect_label): New
variable.
* config/mn10300/linux.h (PRINT_OPERAND,
PRINT_OPERAND_ADDRESS): Set it during their execution.
(ASM_OUTPUT_LABELREF): Output `+' before symbol name if
mn10300_protect_label is set.
* config/mn10300/linux.h (LINK_SPEC): Recognize -Wl,-rpath and
-Wl,-rpath-link.
(LIB_SPEC, STARTFILE_SPEC): Define.
2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
* config/mn10300/t-linux (dp-bit.c, fp-bit.c): Don't define
FLOAT_BIT_ORDER_MISMATCH.
2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
* config.gcc (am33_2.0-*-linux*): Added.
* config/mn10300/linux.h: New.
* config/mn10300/t-linux: New.

From-SVN: r69171
2003-07-10 04:50:15 +00:00
H.J. Lu
8c90b13a22 Makefile.tpl: Replace PWD with PWD_COMMAND.
2003-07-04  H.J. Lu <hongjiu.lu@intel.com>

	* Makefile.tpl: Replace PWD with PWD_COMMAND.
	* Makefile.in: Regenerated.

gcc/

2003-07-04  H.J. Lu <hongjiu.lu@intel.com>

	* config-ml.in: Replace PWD with PWD_COMMAND.
	* Makefile.in: Likewise.

gcc/ada/

2003-07-04  H.J. Lu <hongjiu.lu@intel.com>

	* Make-lang.in: Replace PWD with PWD_COMMAND.
	* Makefile.adalib: Likewise.
	* Makefile.in: Likewise.

gcc/treelang/

2003-07-04  H.J. Lu <hongjiu.lu@intel.com>

	* Make-lang.in: Replace PWD with PWD_COMMAND.

libf2c/

2003-07-04  H.J. Lu <hongjiu.lu@intel.com>

	* Makefile.in: Replace PWD with PWD_COMMAND.

libstdc++-v3/

2003-07-04  H.J. Lu <hongjiu.lu@intel.com>

	* Makefile.am: Replace PWD with PWD_COMMAND.
	* Makefile.in: Regenerated.
	* docs/html/Makefile: Likewise.

From-SVN: r68931
2003-07-04 12:45:55 -07:00
Rainer Orth
4c82f12b8e iris5.h (SET_FILE_NUMBER): Moved here from iris3.h.
* config/mips/iris5.h (SET_FILE_NUMBER): Moved here from iris3.h.
	Undef before redefinition.
	(LABEL_AFTER_LOC): Likewise.
	(DEFAULT_SIGNED_CHAR): Likewise.
	(ASM_OUTPUT_ASCII): Moved here from iris4.h.
	Fix IRIX spelling.

	* config/mips/iris3.h: Remove, unused.
	* config/mips/iris4.h: Likewise.

	* config/mips/mips.h (STACK_ARGS_ADJUST): Remove, unused.

	* config/mips/iris5.h (TARGET_DEFAULT): Move ...
	* config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here to
	target_cpu_default.

	* config/mips/iris5.h: Move explicit includes ...
	* config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here.

	* config/mips/iris6.h (MIPS_ISA_DEFAULT, MIPS_ABI_DEFAULT): Move ...
	* config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
	tm_defines.

	* config/mips/iris6.h (TARGET_DEFAULT): Move ...
	* config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
	target_cpu_default.

	* config/mips/iris6.h: Fix IRIX spelling.
	(MULTILIB_DEFAULTS): Undef before redefinition.

	* config/mips/iris6.h: Move explicit includes ...
	* config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here.

From-SVN: r68808
2003-07-02 00:21:56 +00:00
Ulrich Weigand
f13e0d4e03 config.gcc [...]: Support --with-arch, --with-tune, and --with-mode configure options.
* config.gcc [s390*-*-*]: Support --with-arch, --with-tune, and
	--with-mode configure options.
	* config/s390/s390.h (OPTION_DEFAULT_SPECS): Define.
	(DRIVER_SELF_SPECS): Define.
	* config/s390/linux.h (ASM_SPEC): Pass architecture mode and cpu
	architecture to assembler.
	(LINK_SPEC): Merge 31-bit and 64-bit variants.
	(LINK_ARCH31_SPEC, LINK_ARCH64_SPEC, EXTRA_SPECS): Remove.
	* config/s390/s390.c (override_options): New default rules for
	architecture mode and cpu architecture selection.
	* doc/invoke.texi (-mesa, -mzarch, -march, -mtune): Document
	new default rules.

	* config/s390/s390.h (enum processor_type): Add PROCESSOR_2084_Z990.
	* config/s390/s390.md (attr "cpu"): Add "z990" processor type.
	* config/s390/s390.c (override_options): Add "z990" to
	processor_alias_table.
	* doc/invoke.texi (-march): Document "z990" processor type.

	* config/s390/s390.c (s390_tune_flags, s390_arch_flags): New variables.
	* config/s390/s390.h (s390_tune_flags, s390_arch_flags): Declare.
	(enum processor_flags, TARGET_CPU_IEEE_FLOAT, TARGET_CPU_ZARCH,
	TARGET_CPU_LONG_DISPLACEMENT, TARGET_LONG_DISPLACEMENT): New.
	* config/s390/s390.c (override_options): Replace enum pta_flags by
	enum processor_flags.  Fill in s390_tune_flags and s390_arch_flags.

	* config/s390/s390.c (s390_cpu): Rename to ...
	(s390_tune): ... this.
	* config/s390/s390.h (s390_cpu, s390_tune): Likewise.
	* config/s390/s390.c (s390_issue_rate, override_options): Likewise.
	* config/s390/s390.md (attr "cpu"): Likewise.

From-SVN: r68736
2003-06-30 19:47:22 +00:00
Uwe Stieber
8f48afc165 Patch from Uwe Stieber.
* config.gcc (sh*-*-kaos*): Put tm_file setting in separate case
statement from tmake_file set.

From-SVN: r68692
2003-06-29 22:43:37 -07:00
David Edelsohn
e601f149a9 * config.gcc: Add 970.
From-SVN: r68675
2003-06-29 13:36:44 -04:00
Nathanael Nerode
10d6ea27dc coff.h: Don't include dbxcoff.h.
* config/sh/coff.h: Don't include dbxcoff.h.
	* config.gcc: List it here.

From-SVN: r68537
2003-06-26 16:34:32 +00:00
Jason Thorpe
ad667abe54 * config.gcc (*-*-netbsd*): Add t-libgcc-pic to tmake_file.
From-SVN: r68322
2003-06-22 04:53:22 +00:00
Nick Clifton
5a9335ef01 config.gcc: Add an extra_header for ARM targets.
* config.gcc: Add an extra_header for ARM targets.
        Support configuring with --with-cpu=iwmmxt.
	* doc/invoke.texi: Document new value for -mcpu= ARM switch.
        * config/arm/aof.h (REGISTER_NAMES): Add iwmmxt register
	names.  Fix formatting.
        * config/arm/aout.h (REGISTER_NAMES): Add iwmmxt register
	names.
        * config/arm/arm-protos.h (arm_emit_vector_const): New
	prototype.
	(arm_output_load_gr): New prototype.
	* config/arm/arm.c (extra_reg_names1): Delete.
        (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN, FL_IWMMXT,
	* arch_is_iwmmxt): Define.
	(all_cores, all_architecture): Add entry for iwmmxt.
	(arm_override_options): Add support for iwmmxt.
	(use_return_insn, arm_function_arg, arm_legitimate_index_p,
	arm_print_value, arm_rtx_costs_1, output_move_double,
	arm_compute_save_reg_mask, arm_output_epilogue,
	arm_get_frame_size, arm_expand_prologue, arm_print_operand,
	arm_assemble_integer, arm_hard_regno_ok, arm_regno_class):
	Likewise.
	(arm_init_cumulative_args): Count iwmmxt registers.
	(arm_function_ok_for_sibcall): Return false of sibcall_blocked
	has been set.
	(struct minipool_node): Add fix_size field.
	(add_minipool_forward_ref): Add support for 8-byte aligning of
	the pool.
	(add_minipool_backward_ref, add_minipool_offsets,
	dump_minipool, push_minipool_fix): Likewise.
	(struct builtin_description): New struct.
        (builtin_description): New array of iwmmxt builtin functions.
        (arm_init_iwmmxt_builtins): New function.
        (arm_init_builtins): New function.
        (safe_vector_operand): New function.
        (arm_expand_binop_builtin): New function.
        (arm_expand_unop_builtin): New function.
        (arm_expand_builtin): New function.
        (arm_emit_vector_const): New function.
        (arm_output_load_gr): New function.
        * config/arm/arm.h (TARGET_CPU_iwmmxt, TARGET_IWMMXT,
	TARGET_REALLY_IWMMXT, arm_arch_iwmmxt, IWMMXT_ALIGNMENT,
	TYPE_NEEDS_IWMMXT_ALIGNMENT, ADJUST_FIELD_ALIGN,
	DATA_ALIGNMENT, LOCAL_ALIGNMENT, VECTOR_MODE_SUPPORTED_P): Define.
        (BIGGEST_ALIGNMENT): Set to 64 if ATPCS support is enabled.
        (CPP_CPU_ARCH_SPEC): Add entries for iwmmxt.
        (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER,
	reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
	REG_CLASS_FOR_LETTER): Add iwmmxt registers.
        (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Disable iwmmxt
	registers unless the iwmmxt target is selected.
        (FIRST_IWMMXT_GR_REGNUM, LAST_IWMMXT_GR_REGNUM,
	FIRST_IWMMXT_REGNUM, LAST_IWMMXT_REGNUM, IS_IWMMXT_REGNUM,
	IS_IWMMXT_GR_REGNUM): Define.
        (FIRST_PSEUDO_REGISTER): Bump to 63.
        (struct machine_function): Add sibcall_blocked field.
        (Struct CUMULATIVE_ARGS): Add iwmmxt_nregs, named_count and
	nargs fields.
        (enum arm_builtins): New enum list.
        * config/arm/arm.md (UNSPEC_WSHUFH, UNSPEC_WACC,
	UNSPEC_TMOVMSK, UNSPEC_WSAD, UNSPEC_WSADZ, UNSPEC_WMACS,
	UNSPEC_WMACU, UNSPEC_WMACSZ, UNSPEC_WMACUZ, UNSPEC_CLRDI,
	UNSPEC_WMADDS, UNSPEC_WMADDU): New unspecs.
	(VUNSPEC_TMRC, VUNSPEC_TMCR, VUNSPEC_ALIGN8, VUNSPEC_WCMP_EQ,
	VUNSPEC_WCMP_GTU, VUNSPEC_WCMP_GT): New vunspecs.
        (movv2si, movv4hi, movv8qi): New expands for vector moves.
        Include iwmmxt.md.
	* config/arm/t-xscale-elf (MULTILIB_OPITONS): Add iwmmxt
	multilib.
        (MULTILIB_DIRNAMES, MULTILIB_REDUNDANT_DIRS): Likewise.
        * config/arm/mmintrin.h: New ARM specific header file.
        * config/arm/iwmmx.md: New iWMMXt specific machine patterns.

From-SVN: r68157
2003-06-18 16:36:13 +00:00
Nathanael Nerode
9cd598aa72 config.gcc: Explicitly mention elfos.h in ip2k entry.
* config.gcc: Explicitly mention elfos.h in ip2k entry.
	* config/ip2k/ip2k.h: Don't #include it here.

From-SVN: r68045
2003-06-16 22:38:25 +00:00
Nathanael Nerode
ad9b8af6f9 aoutos.h: Remove.
* config/aoutos.h: Remove.
	* config.gcc: Remove reference to aoutos.h.
	* config/m68k/m68k-aout.h: Remove reference to aoutos.h.

From-SVN: r67964
2003-06-15 04:47:43 +00:00
DJ Delorie
267409e8b0 bsd.h: Remove ASM_FILE_START.
* config/i386/bsd.h: Remove ASM_FILE_START.
* config/i386/djgpp.h: Likewise.
* config/i386/gas.h (ASM_FILE_START): Output .file before .intel_syntax.

* config/i386/djgpp.h: Move included unix.h, bsd.h, gas.h to ...
* config.gcc (i[34567]86-pc-msdosdjgpp): ... here.

From-SVN: r67922
2003-06-13 19:55:54 -04:00
Uwe Stieber
6b3a0b3462 Kaos support from Uwe Stieber
Kaos support from Uwe Stieber
* config.gcc (arm*-*-kaos*, i[34567]86-*-kaos*, powerpc-*-kaos*,
powerpcle-*-kaos*, strongarm-*-kaos*): New targets.
(sh-*-elf*): Add sh*-*-kaos* support.
* config/kaos.h, config/arm/kaos-strongarm.h, config/arm/kaos-arm.h,
config/i386/kaos-i386.h, config/rs6000/kaos-ppc.h,
config/sh/kaos-sh.h: New files.

From-SVN: r67819
2003-06-11 22:18:12 -07:00
Rainer Orth
655b71665a configure.in: Don't pass --with-stabs for mips*-sgi-irix6*o32.
* configure.in: Don't pass --with-stabs for mips*-sgi-irix6*o32.
	* configure. Regenerate.

	gcc:
	* config/mips/iris5gas.h (MDEBUG_ASM_SPEC): Override to match
	DWARF 2 default.

	* config/mips/dbxmdebug.h: New file.
	* config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it with
	gas and --with-stabs.

From-SVN: r67780
2003-06-11 16:19:18 +00:00
Nick Clifton
52f97a3b6c Improve support for arm-wince-pe target:
* config.gcc: Add arm-wince-pe target.
	* config/arm/pe.h (MULTILIB_DEFAULTS): Define.
        Add comment about default apcs26 support.
	* config/arm/t-pe (MULTILIB_OPTIONS): Add an -mapcs-32
	multilib.
        (MULTILIB_DIRNAMES): Add 'apcs32'.
	* config/arm/t-wince-pe: New makefile fragment.
	* config/arm/wince-pe.h: New file.  Overrides a few definitions
	in arm/pe.h

From-SVN: r67705
2003-06-10 14:45:44 +00:00
Nathanael Nerode
619833ad03 configure.in: Remove references to host_truncate_target.
* configure.in: Remove references to host_truncate_target.
	* configure: Regenerate.
	* config.gcc: Remove references to truncate_target,
	host_truncate_target.

From-SVN: r67694
2003-06-10 02:31:45 +00:00
Zack Weinberg
a5fe455b12 config.gcc (with_cpu handling): Translate sparc64 in $machine to --with-cpu=v9.
* config.gcc (with_cpu handling): Translate sparc64 in
	$machine to --with-cpu=v9.
	* config/alpha/alpha.c
	(TARGET_ASM_GLOBALIZE_LABEL [TARGET_ABI_UNICOSMK]): Correct definition.
	(alpha_setup_incoming_varargs): #ifdef out when TARGET_ABI_UNICOSMK.

	* target.h: New hook asm_out.file_end.
	* target.h: Update to match.  New hook macro TARGET_ASM_FILE_END.
	* toplev.c (compile_file: Use targetm.asm_out.file_end.
	* system.h: Poison ASM_FILE_END.
	* varasm.c (file_end_indicate_exec_stack): New.
	* output.h: Prototype it.
	* doc/tm.texi: Document TARGET_ASM_FILE_END and
	file_end_indicate_exec_stack.  Delete references to attasm.h.

	* config/darwin.h (TARGET_ASM_FILE_END): Reset to darwin_file_end.
	(ASM_FILE_END): Delete; move code...
	* config/darwin.c (darwin_file_end): Here; new function.
	* config/darwin-protos.h: Prototype it.
	* config/alpha/alpha.c (unicosmk_asm_file_end): Make static,
	rename unicosmk_file_end.
	* config/arm/aof.h (ASM_FILE_END): Delete; move code...
	* config/arm/arm.c (aof_file_end): ... here; new static function.
	Set TARGET_ASM_FILE_END to aof_file_end if AOF_ASSEMBLER.
	Make aof_dump_imports and aof_dump_pic_table static.
	* config/avr/avr.c (asm_file_end): Rename avr_file_end, make static.
	Set TARGET_ASM_FILE_END to avr_file_end.
	* config/c4x/c4x.c (c4x_file_end): Make static.  Take no arguments.
	Set TARGET_ASM_FILE_END to c4x_file_end.
	* config/h8300/h8300.c (asm_file_end): Rename h8300_file_end,
	make static. Take no arguments.  Set TARGET_ASM_FILE_END to
	h8300_file_end.
	* config/i370/i370.h (ASM_FILE_END): Delete; move code...
	* config/i370/i370.c (i370_file_end): ... here; new static function.
	Set TARGET_ASM_FILE_END to i370_file_end.
	 * config/i386/i386.c (ix86_asm_file_end): Rename ix86_file_end.
	 Take no arguments.  Call file_end_indicate_exec_stack if
	 NEED_INDICATE_EXEC_STACK; don't use SUBTARGET_FILE_END.
	* config/i386/i386.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
	Define NEED_INDICATE_EXEC_STACK to 0.
	* config/i386/linux.h, config/i386/linux64.h: Redefine
	NEED_INDICATE_EXEC_STACK to 1 instead of setting SUBTARGET_FILE_END.
	* config/i386/winnt.c (i386_pe_asm_file_end): Rename to
	i386_pe_file_end.  Take no arguments.  Use ix86_file_end.
	* config/ia64/ia64.c (ia64_hpux_asm_file_end): Rename to
	ia64_hpux_file_end, make static.  Take no arguments.
	* config/ip2k/ip2k.c (asm_file_start, asm_file_end,
	commands_in_prologues, commands_in_epilogues): Delete.
	(function_epilogue): Update to match.
	* config/mips/mips.c (mips_asm_file_end): Rename mips_file_end,
	make static.  Take no arguments.
	(iris6_asm_file_end): Rename iris6_file_end, make static, use
	mips_file_end, take no arguments.
	Set TARGET_ASM_FILE_END to iris6_file_end or mips_file_end as
	appropriate.
	* config/mmix/mmix.c (mmix_asm_file_end): Rename mmix_file_end,
	make static, take no arguments. Set TARGET_ASM_FILE_END to
	mmix_file_end.
	* config/pa/pa.c (output_deferred_plabels): Make static, take
	no arguments.  Set TARGET_ASM_FILE_END to output_deferred_plabels.
	* config/rs6000/xcoff.h (TARGET_ASM_FILE_END): Set it.
	(ASM_FILE_END): Delete; move code...
	* config/rs6000/rs6000.c (rs6000_xcoff_file_end): ... here;
	new static function.

	* config/avr/avr.h, config/cris/cris.h, config/h8300/h8300.h
	* config/mmix/mmix.h, config/mips/iris6.h, config/mips/mips.h:
	Don't set ASM_FILE_END.
	* config/alpha/linux-elf.h, config/m68k/linux.h, config/rs6000/linux.h
	* config/rs6000/linux64.h, config/s390/linux.h, config/sparc/linux.h
	* config/sparc/linux64.h: Set TARGET_ASM_FILE_END to
	file_end_indicate_exec_stack; don't set ASM_FILE_END.
	* config/alpha/unicosmk.h, config/i386/cygming.h
	* config/ia64/hpux.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
	* config/arm/arm-protos.h, config/alpha/alpha-protos.h
	* config/avr/avr-protos.h, config/c4x/c4x-protos.h
	* config/h8300/h8300-protos.h, config/ia64/ia64-protos.h
	* config/ip2k/ip2k-protos.h, config/mips/mips-protos.h
	* config/mmix/mmix-protos.h, config/pa/pa-protos.h: Update.

From-SVN: r67591
2003-06-07 17:11:48 +00:00
Daniel Jacobowitz
09c36669b6 * config.gcc: Add a missing sparc64 case.
From-SVN: r67554
2003-06-06 16:23:21 +00:00
H.J. Lu
30fb323110 config.gcc (extra_headers): Add emmintrin.h for i[34567]86-*-* and x86_64-*-*.
2003-06-06  H.J. Lu <hongjiu.lu@intel.com>

	* config.gcc (extra_headers): Add emmintrin.h for i[34567]86-*-*
	and x86_64-*-*.

	* config/i386/mmintrin.h: Update version and add alternate
	intrinsic names.
	* config/i386/xmmintrin.h: Likewise.

	* config/i386/xmmintrin.h: Include <emmintrin.h>. Move SSE2
	intrinsics to ...
	* config/i386/emmintrin.h: Here. New file.

From-SVN: r67543
2003-06-06 06:52:17 -07:00
Nick Clifton
3a30516dd0 config.gcc (m32r-elf): Revert previous delta.
* config.gcc (m32r-elf): Revert previous delta.
* config/m32r/t-m32r (crtinit.o): Fix rule to work with multilibs.
  Remove m32rx specific version.
  (crtfini.o): Likewise.
  (EXTRA_MULTILIB_PARTS): Define.

From-SVN: r67483
2003-06-05 09:12:02 +00:00
Daniel Jacobowitz
7816bea0e2 config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic.  Set
	configure_default_options according to the default CPU, --with-cpu,
	--with-arch, --with-tune, --with-schedule, --with-abi, and
	--with-float.  Check for legal values of various options.
	* configure.in: Define configure_default_options in configargs.h.
	* configure: Regenerated.
	* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
	(TARGET_DEFAULT_FLOAT_P): New macros.
	* gcc.c (do_option_spec): New function.
	(struct default_spec, option_default_specs): New.
	(main): Call do_option_spec.
	* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
	config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
	config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.

	* doc/install.texi: Update --with-cpu documentation.  Mention
	--with-arch, --with-schedule, --with-tune, --with-abi, and
	--with-float.
	* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.

From-SVN: r67457
2003-06-04 17:50:44 +00:00
Daniel Jacobowitz
83079d893c * config.gcc: Only process --with-cpu logic in the third pass.
From-SVN: r67456
2003-06-04 17:44:03 +00:00
Daniel Jacobowitz
73f09c9913 config.gcc: Reorganize --with-cpu section.
* config.gcc: Reorganize --with-cpu section.  Remove an
	obsolete comment about the default CPU for x86-64.  Fix
	a typo for the ep9312.  Update the list of supported PowerPC
	CPUs.  Support a limited set of new --with-cpu options
	for i386.

From-SVN: r67455
2003-06-04 17:42:53 +00:00
Jakub Jelinek
9739c90c8d linux.h (NO_PROFILE_COUNTERS): Define to 1.
* config/i386/linux.h (NO_PROFILE_COUNTERS): Define to 1.
	* config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
	* config/i386/netbsd-elf.h (NO_PROFILE_COUNTERS): Likewise.
	* config/xtensa/xtensa.h (NO_PROFILE_COUTNERS): Likewise.
	* config/darwin.h (NO_PROFILE_COUNTERS): Likewise.
	* final.c (NO_PROFILE_COUNTERS): Define to 0 if not defined.
	(profile_function): Allow NO_PROFILE_COUNTERS to be non-constant.
	* config/rs6000/rs6000.c (output_profile_hook): Likewise.

	* configure.in (powerpc*-*, s390*-*): Set tls_as_opt.
	Pass it to $gcc_cv_as.
	* configure: Rebuilt.

	* config/rs6000/rs6000.c (rs6000_abi_name): Remove initializer.
	(print_operand): Allow TARGET_AIX to be non-constant.
	(rs6000_aix_emit_builtin_unwind_init, rs6000_emit_eh_toc_restore):
	Define unconditionally.
	(rs6000_elf_declare_function_name): New function.
	* config/rs6000/rs6000.md (eh_return): Allow TARGET_AIX to be
	non-constant.
	* config/rs6000/linux64.h [!RS6000_BI_ARCH] (TARGET_64BIT): Define
	to 1.
	(DEFAULT_ARCH64_P, RS6000_BI_ARCH_P): Define.
	[IN_LIBGCC2] (TARGET_64BIT): Define based on whether __powerpc64__
	is defined.
	(TARGET_AIX): Define to 1 if TARGET_64BIT.
	(PROCESSOR_DEFAULT): Remove.
	(TARGET_RELOCATABLE, RS6000_ABI_NAME, INVALID_64BIT,
	INVALID_32BIT, SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
	[RS6000_BI_ARCH] (OVERRIDE_OPTIONS, ASM_FILE_START): Define.
	(ASM_DEFAULT_SPEC, ASM_SPEC, LINK_OS_LINUX_SPEC): Define for both
	-m32 and -m64.
	(MULTILIB_DEFAULTS): Define.
	(SUBSUBTARGET_EXTRA_SPECS): Define.
	(ASM_SPEC32, ASM_SPEC64, ASM_SPEC_COMMON): Define.
	(TARGET_TOC): Define only if !RS6000_BI_ARCH.
	(TARGET_NO_TOC): Remove.
	[!RS6000_BI_ARCH] (TARGET_RELOCATABLE, TARGET_EABI,
	TARGET_PROTOTYPE): Define to 0.
	(NO_PROFILE_COUNTERS): Define to TARGET_64BIT.
	(PROFILE_HOOK): Only call output_profile_hook if TARGET_64BIT.
	(ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Adjust to work properly
	if !TARGET_64BIT.
	(USER_LABEL_PREFIX): Remove.
	(JUMP_TABLES_IN_TEXT_SECTION): Define to TARGET_64BIT.
	(SETUP_FRAME_ADDRESSES): Only call rs6000_aix_emit_builtin_unwind_init
	if TARGET_64BIT.
	(TARGET_OS_CPP_BUILTINS): Handle both -m32 and -m64.
	(LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Define.
	(STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Remove.
	(TOC_SECTION_ASM_OP): Define depending on TARGET_64BIT.
	(MINIMAL_TOC_SECTION_ASM_OP): Likewise.
	(SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Define depending on
	TARGET_64BIT.
	(RS6000_CALL_GLUE): Likewise.
	(SAVE_FP_PREFIX, SAVE_FP_SUFFIX, RESTORE_FP_PREFIX,
	RESTORE_FP_SUFFIX): Likewise.
	(ASM_DECLARE_FUNCTION_NAME): Remove.
	(ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_SOURCE_LINE,
	DBX_OUTPUT_BRAC, DBX_OUTPUT_NFUN): Only output dot before function
	name if TARGET_64BIT.
	(ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Handle both TARGET_64BIT and
	!TARGET_64BIT.
	(ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Remove undefs.
	(ASM_PREFERRED_EH_DATA_FORMAT): Take TARGET_64BIT into account.
	(DRAFT_V4_STRUCT_RET): Define.
	(SIGNAL_FRAMESIZE): New enum value.
	(MD_FALLBACK_FRAME_STATE_FOR): Define.
	* config/rs6000/default64.h: New file.
	* config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -m32 and -m64
	options.
	(SUBTARGET_OVERRIDE_OPTIONS): If rs6000_abi_name is NULL, set it
	to RS6000_ABI_NAME.  Only disallow mixing of -fPIC with -mcall-aixdesc
	if !TARGET_64BIT.
	[!RS6000_BI_ARCH] (SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
	(ASM_DECLARE_FUNCTION_NAME): Use rs6000_elf_declare_function_name
	function.
	(TARGET_OS_SYSV_CPP_BUILTINS): Define.
	(TARGET_OS_CPP_BUILTINS): Use it.
	(CPP_SYSV_SPEC): Remove.
	(CPP_SPEC): Remove cpp_sysv.
	(SUBTARGET_EXTRA_SPECS): Remove cpp_sysv.
	Add SUBSUBTARGET_EXTRA_SPECS.
	(SUBSUBTARGET_EXTRA_SPECS): Define.
	* config/rs6000/biarch64.h: New file.
	* config/rs6000/rs6000-protos.h (rs6000_elf_declare_function_name):
	New prototype.
	* config/rs6000/x-linux64: New file.
	* config/rs6000/t-linux64: Build -m64, -m32 and -m32 -msoft-float
	multilibs.
	* config/rs6000/eabi-ci.asm: Protect with #ifndef __powerpc64__.
	* config/rs6000/eabi-cn.asm: Likewise.
	* config/rs6000/tramp.asm: Likewise.
	* config/rs6000/sol-ci.asm: Likewise.
	* config/rs6000/sol-cn.asm: Likewise.
	* config/rs6000/linux.h (TARGET_64BIT): Define to 0.
	(TARGET_OS_CPP_BUILTINS): Use TARGET_OS_SYSV_CPP_BUILTINS.
	* config/rs6000/ppc-asm.h: Move __powerpc64__ section before
	_CALL_AIXDESC section.
	* config.gcc (powerpc64-*-linux*): Configure a bi-arch compiler,
	defaulting to -m64 unless --with-cpu= is one of the 32-bit CPUs
	or default32.

Co-Authored-By: Alan Modra <amodra@bigpond.net.au>

From-SVN: r67442
2003-06-04 17:23:42 +02:00
Daniel Jacobowitz
150b72ed1f * config.gcc: Revert accidentally committed ARM changes.
From-SVN: r67440
2003-06-04 14:53:59 +00:00
Jason Thorpe
2121a768f7 config.gcc (default_use_cxa_atexit): New variable, defaults to no.
* config.gcc (default_use_cxa_atexit): New variable, defaults to no.
(*-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*): Set default_use_cxa_atexit
to yes.
* configure.in: Allow default_use_cxa_atexit to determine the
value of DEFAULT_USE_CXA_ATEXIT if not explicitly enabled or
disabled.
* configure: Regenerate.

From-SVN: r67401
2003-06-03 20:39:52 +00:00
Nick Clifton
4d49ef0cc3 remove addition to ARM configure accidentally added with m32r commit
From-SVN: r67335
2003-06-02 15:40:43 +00:00
Nick Clifton
37ec8b7a07 Add support multilib parts for m32rx processor.
From-SVN: r67328
2003-06-02 12:11:49 +00:00
Kazuhiro Inaoka
250315f71c Add support multilib parts for m32rx processor.
From-SVN: r67327
2003-06-02 11:48:21 +00:00
Danny Smith
02c67fd1bf config.gcc (i[34567]86-*-mingw32*): Add host makefile fragment i386/x-mingw32.
* config.gcc (i[34567]86-*-mingw32*): Add host makefile
        fragment i386/x-mingw32.
	* config/i386/x-mingw32: New file. Make local_includedir
	relative to EXEC_PREFIX.

From-SVN: r67213
2003-05-28 21:06:23 +00:00
Mike Stump
5f875c8fc6 config.gcc (*-*-darwin*): Remove use_collect2=no, as it is the default.
* config.gcc (*-*-darwin*): Remove use_collect2=no, as it is the
	default.

From-SVN: r67101
2003-05-22 22:08:43 +00:00
Nathanael Nerode
6a38414a27 * config.gcc: Clear xm_file, md_file at the beginning of each pass.
From-SVN: r66935
2003-05-18 18:44:46 +00:00
Neil Booth
9b8466f43d config.gcc (sparc-*-sysv4*): Add sparc/sysv4-only.h.
* config.gcc (sparc-*-sysv4*): Add sparc/sysv4-only.h.
	* sparc/aout.h, sparc/elf.h, sparc/freebsd.h, sparc/linux.h,
	sparc/linux64.h, sparc/lite.h, sparc/litecoff.h, sparc/liteelf.h,
	sparc/netbsd-elf.h, sparc/openbsd.h, sparc/openbsd64.h,
	sparc/pbd.h, sparc/rtemself.h, sparc/sol2-64.h, sparc/sol2-bi.h,
	sparc/sol2.h, sparc/sp64-elf.h, sparc/sp86-elf.h, sparc/sparc.h,
	sparc/sysv4.h,
	* sparc/sysv4-only.h: New.

From-SVN: r66902
2003-05-17 07:19:56 +00:00
Zack Weinberg
7c942e1747 config.gcc: Purge all targets obsoleted in GCC 3.3.
* config.gcc: Purge all targets obsoleted in GCC 3.3.  Also
	remove hppa*-*-mpeix* which could not be built, and prune
	files from tmake_file= or tm_file= lists that don't exist.

	* config/alpha/alpha-interix.h, config/alpha/alpha32.h
	* config/alpha/t-interix, config/arm/conix-elf.h
	* config/arm/t-arm-aout, config/arm/t-strongarm-coff
	* config/arm/unknown-elf-oabi.h, config/i386/win32.h
	* config/m68k/3b1.h, config/m68k/3b1g.h, config/m68k/amix.h
	* config/m68k/atari.h, config/m68k/ccur-GAS.h, config/m68k/crds.h
	* config/m68k/hp2bsd.h, config/m68k/hp3bsd.h
	* config/m68k/hp3bsd44.h, config/m68k/linux-aout.h
	* config/m68k/m68k-psos.h, config/m68k/mot3300.h
	* config/m68k/pbb.h, config/m68k/plexus.h, config/m68k/sun2.h
	* config/m68k/sun2o4.h, config/m68k/sun3.h, config/m68k/sun3mach.h
	* config/m68k/sun3n.h, config/m68k/sun3n3.h, config/m68k/sun3o3.h
	* config/m68k/t-mot3300, config/m68k/t-mot3300-gald
	* config/m68k/t-mot3300-gas, config/m68k/t-mot3300-gld
	* config/m68k/tower-as.h, config/m68k/tower.h
	* config/m88k/aout-dbx.h, config/m88k/m88k-aout.h
	* config/m88k/m88k-modes.def, config/m88k/m88k-move.sh
	* config/m88k/m88k-protos.h, config/m88k/m88k.c
	* config/m88k/m88k.h, config/m88k/m88k.md, config/m88k/openbsd.h
	* config/m88k/sysv4.h, config/m88k/t-luna, config/m88k/t-luna-gas
	* config/m88k/t-m88k, config/m88k/t-sysv4, config/mcore/gfloat.h
	* config/mips/rtems64.h, config/mips/sni-gas.h
	* config/mips/sni-svr4.h, config/mips/t-ecoff
	* config/mn10200/lib1funcs.asm, config/mn10200/mn10200-protos.h
	* config/mn10200/mn10200.c, config/mn10200/mn10200.h
	* config/mn10200/mn10200.md, config/mn10200/t-mn10200
	* config/pa/pa-hiux.h, config/pa/pa-hpux7.h, config/pa/pa-hpux9.h
	* config/pa/pa-oldas.h, config/pa/t-mpeix, config/psos.h
	* config/romp/romp-protos.h, config/romp/romp.c
	* config/romp/romp.h, config/romp/romp.md, config/rs6000/aix31.h
	* config/rs6000/aix3newas.h, config/rs6000/mach.h
	* config/sparc/bsd.h, config/sparc/hal.h
	* config/sparc/linux-aout.h, config/sparc/lynx-ng.h
	* config/sparc/lynx.h, config/sparc/netbsd.h
	* config/sparc/sp86x-aout.h, config/sparc/splet.h
	* config/sparc/sun4gas.h, config/sparc/sun4o3.h
	* config/sparc/sunos4.h, config/sparc/t-chorus-elf
	* config/sparc/t-halos, config/sparc/t-sparcbare
	* config/sparc/t-splet, config/sparc/t-sunos41
	* config/v850/rtems.h: Delete file.

From-SVN: r66842
2003-05-15 21:47:36 +00:00
Richard Kenner
429d630084 revert: vxxscale.h, [...]: New files.
Revert:

2003-05-09  Olivier Hainque <hainque@act-europe.fr>

	* config/arm/vxxscale.h, config/arm/vxxscale-coff.h: New files.
	* config/arm/vxxscale-elf.h, config/arm/t-vxxscale-elf: Likewise.
	* config.gcc (xscale-coff-vxworks, xscale-wrs-vxworks): New new cases.
	* fixinc/fixinc.copy: New file.
	* fixinc/mkfixinc.sh (*-vxworks*): New case, using above.

From-SVN: r66661
2003-05-10 08:07:04 -04:00
Olivier Hainque
b3dd7e32bf vxxscale.h, [...]: New files.
* config/arm/vxxscale.h, config/arm/vxxscale-coff.h: New files.
	* config/arm/vxxscale-elf.h, config/arm/t-vxxscale-elf: Likewise.
	* config.gcc (xscale-coff-vxworks, xscale-wrs-vxworks): New new cases.
	* fixinc/fixinc.copy: New file.
	* fixinc/mkfixinc.sh (*-vxworks*): New case, using above.

From-SVN: r66639
2003-05-09 15:06:56 -04:00
Aldy Hernandez
2f3f95e9cd linuxspe.h: New file.
2003-05-06  Aldy Hernandez  <aldyh@redhat.com>

        * config/rs6000/linuxspe.h: New file.

        * config.gcc: Add powerpc-*-linux-gnuspe* target.

From-SVN: r66531
2003-05-06 19:49:21 +00:00
Eric Christopher
d1c4bfe8b7 Missed commit file.
From-SVN: r66319
2003-05-01 06:18:07 +00:00
Zack Weinberg
8e720e8bbc config.gcc: Install obsolete target list for GCC 3.3.
* config.gcc: Install obsolete target list for GCC 3.3.
	* doc/install.texi: Mention in specific-target instructions
	that certain configurations are deprecated.

From-SVN: r66238
2003-04-29 18:47:40 +00:00
Aldy Hernandez
00c060a4cc t-spe: Merge in t-fprules into file.
2003-04-22  Aldy Hernandez  <aldyh@redhat.com>

        * config/rs6000/t-spe: Merge in t-fprules into file.

        * config.gcc: Add t-spe to powerpc-eabispe.

From-SVN: r65938
2003-04-22 13:06:55 +00:00
Kean Johnston
ac24fc99ac Part 2 of the SCO port update. This is everything I have approval for.
There are two outstanding patches I await approval to check in.

From-SVN: r65832
2003-04-19 21:23:20 +00:00
Nick Clifton
50d440bc05 config-ml.in: Remove support for --disable-aix removing call-aix multilibs.
config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Delete support for
 -mcall-aix switch.
config/rs6000/eabiaix.h: Delete.
config/rs6000/rs6000.h (rs6000_abi): Remove ABI_AIX_NODESC.
 (RS6000_REG_SAVE, RS6000_SAVE_AREA, FP_ARGS_MAX_REG, RETURN_ADDRESS_OFFSET):
 Remove use of ABI_AIX_NODESC.
config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Likewise.
config/rs6000/rs6000.c (print_operand, rs6000_stack_info, debug_stack_info,
 output_function_profiler, rs6000_trampoline_size,
 rs6000_initialise_trampoline): Likewise.
config/rs6000/rs6000.md (call, call_value, call_nonlocal_sysv,
 call_indirect_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
 call_value_nonlocal_sysv, sibcall_value_nonlocal_sysv, sibcall_nonlocal_sysv,
 sibcall_value_local64): Likewise.
config/rs6000/t-ppcgas (MULTILIB_OPTIONS): Remove mcall-aix multilibs.
 (MULTILIB_DIRNAMES): Remove mcall-aix directories.
 (MULTILIB_EXCEPTIONS): Delete.
 (MULTILIB_MATCHES): Remove mcall-aix matches.
doc/fragments.texi: Replace -mcall-aix example with an ARM one.
doc/install.texi: Delete powerpc-*-eabiaix target.
doc/invoke.texi: Remove documentation of mcall-aix switch.
doc/tm.texi: Remove mcall-aix from example CPP_SPEC.
config.gcc: Delete powerpc-*-eabiaix target.

From-SVN: r65546
2003-04-13 16:59:45 +00:00
Nathanael Nerode
bea4139388 * config.gcc: Remove 'float_format'.
From-SVN: r64698
2003-03-22 00:29:06 +00:00
Nathanael Nerode
cbbf876bb2 fixproto: Define NULL and size_t in generated stdlib.h and unistd.h.
* fixproto: Define NULL and size_t in generated stdlib.h and
	unistd.h.  Kill unused required_stdlib_h, required_unistd_h.
	Rearrange file generation loop for readability.  Generate time.h,
	string.h if missing.
	* tsystem.h: Include <string.h>, <time.h> unconditionally.
	* config.gcc: Blow away POSIX defines.

From-SVN: r64690
2003-03-22 00:15:53 +00:00
Christopher Faylor
70e5e841b8 config.gcc (i[34567]86-*-cygwin*): Use new common makefile stub t-cygming.
2003-03-21  Christopher Faylor  <cgf@redhat.com>

	* config.gcc (i[34567]86-*-cygwin*): Use new common makefile
	stub t-cygming. Use common target header cygming.h. Add extra
	c_target_obj and cxx_target_obj file. Default cygwin to posix
	threading. Enforce i386 as float format.
	(i[34567]86-*-mingw*): Use new common makefile stub t-cygming.
	Remove cygwin.h as target header. Use common target header
	cygming.h  Enforce i386 as float format. Correct typo.
	* config/i386/cygming.h: New file, containing definitions
	common to mingw32 and cygwin.
	* config/i386/cygwin.h: Remove definitions common to cygwin and
	mingw.	Simplify special spec logic.  Define "wrappers" around
	certain include path defines to accommodate -mno-cygwin.
	Remove some #if 0'ed code.
	(STANDARD_INCLUDE_DIR) Always define when not cross-compiling.
	(LINK_SPEC): Don't use cyg search prefix when -mno-cygwin.
	(GCC_DRIVER_HOST_INITIALIZATION): Define as call to mingw_scan.
	* config/i386/mingw32.h: Remove definitions common to cygwin and
	mingw.
	(EXTRA_OS_CPP_BUILTINS): Adjust.
	(TARGET_VERSION): Define.
	* config/i386/crtdll.h (EXTRA_OS_CPP_BUILTINS): Override
	mingw32.h definitions.
	(LIBGCC_SPEC): Add libmingwex.a as in mingw32.h.
	* config/i386/t-cygwin (EXTRA_GCC_OBJS): Define as cygwin1.o.
	Add compilation rules for cygwin1.o cygwin2.o.
	* config/i386/cygwin1.c: New file.
	* config/i386/cygwin2.c: New file.
	* config/i386/t-cygming: New makefile stub.

From-SVN: r64643
2003-03-21 03:57:09 +00:00
Bob Wilson
066f153843 * config.gcc (xtensa-*-linux*): Add t-slibgcc-elf-ver to tmake_file.
From-SVN: r63568
2003-02-28 18:17:33 +00:00
Jason Thorpe
51b7c247de config.gcc (*-*-netbsd[2-9]*, [...]): Enable POSIX thread support by default.
* config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Enable
POSIX thread support by default.

From-SVN: r63509
2003-02-27 16:00:55 +00:00
Roger Sayle
3eae722dec cygwin.h: Don't include any other files directly.
* config/i386/cygwin.h: Don't include any other files directly.
	* config/i386/mingw32.h: Don't include cygwin.h directly.
	* config.gcc (cygwin, mingw32, uwin): Instead make these files
	explicit in the tm_files variable.

From-SVN: r63508
2003-02-27 15:34:19 +00:00
David Edelsohn
dccd52137d * config.gcc: Add power4 to PowerPC with_cpu list.
From-SVN: r63481
2003-02-26 14:28:37 -05:00
Andreas Schwab
d2c172bf5b config.gcc: Delete references to m68k/t-linux and m68k/t-linux-aout.
* config.gcc: Delete references to m68k/t-linux and
	m68k/t-linux-aout.
	* config/m68k/t-linux, config/m68k/t-linux-aout: Removed.

From-SVN: r63305
2003-02-22 23:46:46 +00:00
Nick Clifton
9b6b54e2fe Add support for Cirrus EP9312, an ARM variant.
From-SVN: r62625
2003-02-10 11:45:26 +00:00
John David Anglin
90330d3193 config.gcc (hppa*-*-linux*): Set MASK_NO_SPACE_REGS in target_cpu_default.
* config.gcc (hppa*-*-linux*): Set MASK_NO_SPACE_REGS in
	target_cpu_default.
	* pa.c (attr_length_call): Add 8 to call length (long indirect PA 1.X)
	if not MASK_NO_SPACE_REGS.
	(output_call): Adjust return pointer, don't load new space register
	into %sr0, and use %sr4 for call if TARGET_NO_SPACE_REGS is true.
	(pa_asm_output_mi_thunk): Don't load new space register into %sr0 if
	TARGET_NO_SPACE_REGS is true.
	* pa.md (return_external_pic): Add TARGET_NO_SPACE_REGS to insn
	conditions.
	(epilogue): Always use return_internal if TARGET_NO_SPACE_REGS is true.
	(interspace_jump): Add new pattern for when TARGET_NO_SPACE_REGS is
	true.  Use bve when TARGET_64BIT is true.

From-SVN: r62497
2003-02-06 21:17:13 +00:00
Geoffrey Keating
476d909872 Makefile.in (host_hook_obj): New.
* Makefile.in (host_hook_obj): New.
	(OBJS): Add $(host_hook_obj).
	(host_default.o): New rule.
	* config.gcc (host_hook_obj): New, default to host-default.o.
	(powerpc-*-darwin*): Use host-darwin.o.
	(out_host_hook_obj): New.
	* configure: Regenerate.
	* configure.in: Print information about out_host_hook_obj, substitute
	into output files.
	* host-default.c: New file.
	* hosthooks.h: New file.
	* toplev.c (general_init): Call host_hooks.extra_signals.
	* config/rs6000/host-darwin.c: New file.
	* config/rs6000/x-darwin: New file.
	* doc/hostconfig.texi: Add documentation for new host hook.
	Rearrange existing documentation.

From-SVN: r62470
2003-02-06 01:47:56 +00:00
Ralf Corsepius
0186a143cb re PR target/9316 (powerpc-rtems/extending multilibs)
2003-01-30	Ralf Corsepius <corsepiu@faw.uni-ulm.de>

	PR target/9316
	* config/rs6000/rtems.h: Add CPP_OS_DEFAULT_SPEC.
	* config/rs6000/sysv4.h: Add CPP_OS_RTEMS_SPEC.
	* config/rs6000/t-rtems: New file. multilib variants to match OS.
	* config.gcc (powerpc-*-rtems*): Use rs6000/t-rtems instead of
	rs6000/t-ppcgas so we get the desired multilibs.

From-SVN: r62139
2003-01-30 14:22:53 +00:00
Joel Sherrill
64abe03e3d re PR bootstrap/9292 (hppa1.1-rtems configurery problems)
2003-01-29	Joel Sherrill <joel@OARcorp.com>

	* config.gcc (hppa1.1-rtems):  Did not include t-rtems nor enable
	RTEMS threads.
	* config/pa/rtems.h (LIB_SPEC): Use -N when linking.
	This issue was tracked as PR9292.

From-SVN: r62078
2003-01-29 14:54:09 +00:00
Richard Henderson
021aa6ed6f config.gcc (ia64*-*-aix*): Remove.
* config.gcc (ia64*-*-aix*): Remove.
        * config/ia64/aix.h, config/ia64/t-aix: Remove file.
        * config/ia64/unwind-aix.c: Remove file.

From-SVN: r62043
2003-01-28 15:04:02 -08:00
Bob Wilson
1f37a5b273 config.gcc (xtensa-*-elf*): Removed assignments to with_newlib, extra_parts, and fixincludes.
* config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
        extra_parts, and fixincludes.  Add xtensa/t-elf tmake_file.
        (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
        * config/xtensa/crti.asm: New file.
        * config/xtensa/crtn.asm: New file.
        * config/xtensa/t-elf: New file.
        * config/xtensa/t-linux: New file.
        * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
        Move various CFLAGS settings to new t-elf file.

From-SVN: r61735
2003-01-24 21:51:03 +00:00
Alexandre Oliva
3a8699c7ab Add sh2e support:
2002-08-12  Alexandre Oliva  <aoliva@redhat.com>

        * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
        med_cbranches.  Fix logic in short_cbranches.

    2002-04-03  Alexandre Oliva  <aoliva@redhat.com>

        * config/sh/sh.md (delay for cbranch): Don't annul delay
        slots on SH2e.
        * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
        cbranch with unfilled delay slot on SH2e.
        (output_branch): Fill with a nop the delay slot of a
        branch that required a delay slot but didn't get one.

    2002-04-02  Alexandre Oliva  <aoliva@redhat.com>

        * doc/invoke.texi (SH options): Document -m2e.
        * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
        * config/sh/lib1funcs.asm: Likewise.
        * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
        * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
        not __sh1__.
        (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
        SH2E up.
        (SH3E_BIT): Renamed to...
        (SH_E_BIT): ... this.  Replace all uses.
        (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
        Replace all uses of TARGET_SH3E with TARGET_SH2E.
        (TARGET_SWITCHES): Added 2e.
        (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
        (processor_type): Added PROCESSOR_SH2E.
        * config/sh/sh.md: Replace all uses of TARGET_SH3E with
        TARGET_SH2E, except in sqrtsf2_i.
        (attribute cpu): Added sh2e.
        * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
        (MULTILIB_MATCHES): Use m2e multilib for m3e.
        * config.gcc: Add sh2e target support.

From-SVN: r61697
2003-01-24 15:45:53 +00:00
Alexandre Oliva
3bd6d4c458 config.gcc (mips64*-*-linux*): Added.
* config.gcc (mips64*-*-linux*): Added.
* config/mips/linux64.h, config/mips/t-linux64: New file.
* config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
* config/mips/mips.c (override_options): Use it.
* config/mips/mips.h (TARGET_SWITCHES): Added...
(SUBTARGET_TARGET_SWITCHES): New, empty by default.
* Makefile.in (SPECS): New.
(STAGESTUFF, specs, mostlyclean, install-common): Use it.
* gcc.c (process_command): Move self-spec processing past spec
file loading.
* doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
* doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
CRTSTUFF_T_CFLAGS.
(SPECS): Document.
* doc/invoke.texi (-mabi-fake-default): Document.

From-SVN: r61481
2003-01-19 13:04:24 +00:00
Chris Demetriou
2d2a50c30a config.gcc (mipsisa32r2-*-elf*, [...]): New targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
2003-01-08  Chris Demetriou  <cgd@broadcom.com>

	* config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
	targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
	* config/mips/mips.h (enum processor_type): Rename
	PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
	PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
	Add PROCESSOR_M4K.
	(TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
	(ISA_MIPS32R2): New define.
	(GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
	(ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
	(ISA_HAS_PREFETCH): Add support for MIPS32R2.
	(MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
	(TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
	predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
	(ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
	compiling MIPS16 code.
	(ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
	comment.
	(ISA_HAS_SEB_SEH): New define.
	(ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
	* config/mips/mips.c (mips_cpu_info_table): Adjust for enum
	processor_type value renaming.  Add support for MIPS32R2.
	Clean up comments, and move "sb1" entry with other MIPS64 CPU
	entries.
	(override_options): Reimplement -mipsN option handling so that
	it will work correctly for -mips32r2.  Avoid branch-likely
	instructions on MIPS32R2.
	* config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
	(extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
	(extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
	(extendhisi2_hw, extendqisi2_hw): New.
	* config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
	for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
	MIPS32R2, and MIPS64.
	(LINK_SPEC): Pass -mips32r2 to linker.
	* config/mips/t-isa3264: Built -mips32r2 multilibs.
	* doc/invoke.texi (MIPS Options): Add -mips32r2, add support
	for mips32r2 in the -march description.  Alphabetically sort
	CPU names in the -march description.  Add long-missed -mips32
	and -mips64 to MIPS option summary.

	* config.gcc: Update copyright years to include 2003.
	* config/mips/mips.c: Likewise.
	* config/mips/mips.h: Likewise.
	* config/mips/mips.md: Likewise.
	* config/mips/netbsd.h: Likewise.

From-SVN: r61053
2003-01-08 11:57:52 -08:00
Andreas Schwab
e7edc5a07b config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld, should come from the generic *-*-linux* entry.
* config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
	should come from the generic *-*-linux* entry.

From-SVN: r61024
2003-01-07 23:34:24 +00:00
Chris Demetriou
ef8dfae612 config.gcc (mipsisa32-*-elf*, [...]): Default ABI to EABI.
2003-01-06  Chris Demetriou  <cgd@broadcom.com>

        * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
        to EABI.

From-SVN: r60957
2003-01-06 13:35:22 -08:00
John David Anglin
35d434edd9 config.gcc (hppa*64*-*-hpux11*): Define extra_parts.
* config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
	collect2.
	* pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
	(HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
	* pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
	GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
	GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
	(CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
	elfos.h.
	(EH_FRAME_IN_DATA_SECTION): Delete define.
	(HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
	(STARTFILE_SPEC): Use crtbegin.o.
	(ENDFILE_SPEC): Use crtend.o.
	(INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
	SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
	PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
	DTOR_LIST_BEGIN): Define.
	* pa.c (TARGET_ASM_CONSTRUCTOR): Define.
	(pa_asm_out_constructor, pa_asm_out_destructor): New functions.
	* som.h (SUPPORTS_INIT_PRIORITY): Delete define.

From-SVN: r60892
2003-01-04 21:13:45 +00:00
Andreas Schwab
b17bb466ac * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
From-SVN: r60519
2002-12-26 18:01:22 +00:00
Geoffrey Keating
064b6c700a config.gcc: Set extra_objs in the generic Darwin rule, not in the machine-specific rules.
* config.gcc: Set extra_objs in the generic Darwin rule,
	not in the machine-specific rules.

From-SVN: r60282
2002-12-19 05:19:47 +00:00