Commit Graph

492 Commits

Author SHA1 Message Date
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
Geoffrey Keating
40b4cdbfa9 t-rs6000: Move contents to t-fprules...
* config/rs6000/t-rs6000: Move contents to t-fprules,
	add rules for dependencies of rs6000.o and to build rs6000-c.o
	* config/rs6000/t-fprules: New file from t-rs6000.
	* config/rs6000/t-beos: Remove soft-fp rules.
	* config/rs6000/t-ppccomm: Likewise.
	* config/rs6000/t-newas: Likewise.
	* config/rs6000/t-rs6000-c-rule: Delete.
	* config.gcc: Use t-fprules for rs6000/ ports when appropriate.
	Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
	Create generic Darwin rules.

From-SVN: r60265
2002-12-18 22:45:36 +00:00
Zack Weinberg
4977bab6ed Merge basic-improvements-branch to trunk
From-SVN: r60174
2002-12-16 18:23:00 +00:00
Svein E. Seldal
7f0db92aa6 config.sub: Import from master repository
* config.sub: Import from master repository
	* config.guess: Ditto
	* MAINTAINERS: Added Svein Seldal under write after approval
	* gcc/config.gcc: Added tic4x-* target as an alias to c4x-*

From-SVN: r59955
2002-12-09 08:10:20 +00:00
Ulrich Weigand
8ef34c0df0 t-crtstuff: New target makefile fragment.
* config/s390/t-crtstuff: New target makefile fragment.
	* config.gcc [s390-*-linux, s390x-*-linux]: Use it.

From-SVN: r59641
2002-11-29 19:59:25 +00:00
Jakub Jelinek
17c04c5eb2 config.gcc (x86_64-*-linux*): Remove i386/t-crtstuff.
* config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
	* config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
	* config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.

From-SVN: r59607
2002-11-28 15:47:02 +01:00
Krister Walfridsson
4e85eadab7 config.gcc (*-*-netbsd[2-9]*, [...]): Test for correct version.
2002-11-27  Krister Walfridsson  <cato@df.lth.se>

	* config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
	correct version.

From-SVN: r59592
2002-11-28 00:09:54 +00:00
Jason Thorpe
a4967b8db1 config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with "netbsd.h netbsd-elf.h" in tm_file.
* config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
"netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
"${tmake_file} rs6000/t-netbsd".
* config/rs6000/netbsd.h: Rewrite.
* config/rs6000/t-netbsd: New file.

From-SVN: r59479
2002-11-26 00:05:07 +00:00
Jason Thorpe
1169f9e02d config.gcc (*-*-netbsd*1.[7-9]*, [...]): Set extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o".
* config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
crtbeginT.o".
(arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
(ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
to "" for a.out configurations.
* config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".

From-SVN: r59444
2002-11-24 23:36:26 +00:00
Jason Thorpe
ff3afb5623 config.gcc (arm*-*-netbsdelf*): Enable configuration.
* config.gcc (arm*-*-netbsdelf*): Enable configuration.
* config/arm/netbsd-elf.h: New file.

From-SVN: r59359
2002-11-21 21:39:17 +00:00
John David Anglin
581d94049b pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
* pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
	* config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
	(hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
	* pa.c (output_millicode_call): Use symbol difference rather than
	$PIC_pcrel$0 when using HP assembler.
	* pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
	not elfos.h (i.e., gas) is being used.
	(ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
	DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
	ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
	ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
	ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
	using elfos.h.
	(TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
	(DWARF2_ASM_LINE_DEBUG_INFO): Delete.
	(ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
	using elfos.h.
	(TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
	BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
	(TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
	Don't define when not using elfos.h.
	(ASM_DECLARE_RESULT): Don't define.
	* doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
	doesn't work on hppa64-hp-hpux11.
	(hppa*-hp-hpux11): Update.

From-SVN: r58967
2002-11-10 01:14:48 +00:00
Geoffrey Keating
3cfe49dab8 Index: ChangeLog
2002-11-05  Geoffrey Keating  <geoffk@apple.com>

	* config.gcc: Don't create crtbegin, crtend on Darwin; do create
	crt2.o.  Rearrange t-darwin makefiles.
	* crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
	* unwind-dw2-fde-darwin.c: New.
	* unwind-dw2-fde-glibc.c: Correct comment.
	* unwind-dw2-fde.c (__register_frame_info_bases)
	[DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
	(classify_object_over_fdes): Use last_fde.
	(add_fdes): Likewise.
	(linear_search_fdes): Likewise.
	* unwind-dw2-fde.h (struct object)
	[DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
	(last_fde): New.
	* config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
	(ENDFILE_SPEC): No crtend.o.
	* config/t-darwin: New.
	* config/i386/t-darwin: Delete.
	* config/darwin-crt2.c: New.
	* config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
	or config/t-darwin.

Index: testsuite/ChangeLog
2002-11-05  Geoffrey Keating  <geoffk@apple.com>

	* g++.old-deja/g++.eh/badalloc1.C: XFAIL excess errors test on
	Darwin.

From-SVN: r58877
2002-11-07 06:00:07 +00:00
Jason Thorpe
ee3c755a45 config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to tm_defines if pthreads are enabled.
* config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
tm_defines if pthreads are enabled.
* config/netbsd.h (LIB_SPEC): Only support the -pthread option
if NETBSD_ENABLE_PTHREADS is defined.

From-SVN: r58599
2002-10-28 17:20:36 +00:00
Richard Sandiford
60bc2b4b9c config.gcc (mips64vr-*-elf*, [...]): Add MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
* config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
	MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
	* config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
	(override_options): Base default setting of MASK_SOFT_FLOAT on -march
	if MIPS_MARCH_CONTROLS_SOFT_FLOAT.

From-SVN: r58488
2002-10-24 08:51:00 +00:00
Ulrich Weigand
42c7861881 config.gcc [...]: Remove s390/t-linux from tmake_file.
* config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
	[s390x-*-linux*]: Likewise.
	* config/s390/t-linux: Remove.
	* config/s390/s390.h: Include fixdfdi.h when building libgcc2.

From-SVN: r58416
2002-10-22 20:26:13 +00:00
Richard Sandiford
4db83639f4 config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines if using mips/elf.h or mips/elf64.h.
* config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
	if using mips/elf.h or mips/elf64.h.
	* config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
	* config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.

From-SVN: r58237
2002-10-17 06:53:35 +00:00
David Edelsohn
5f5d5417e8 aix52.h: New file.
* config/rs6000/aix52.h: New file.
        * config/rs6000/t-aix52: New File.
        * config.gcc (rs6000-ibm-aix5.1.*): New entry.
        (rs6000-ibm-aix[56789].*): Default to AIX 5.2.

From-SVN: r58021
2002-10-10 14:29:33 -04:00
Steve Ellcey
83eb95f995 config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
* config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
	* config/pa/pa.h (MASK_GNU_LD): New.
	(TARGET_GNU_LD): New.
	(TARGET_SWITCHES): New gnu-ld & no-gnu-ld flags.
	* config/pa/pa64-hpux.h (LINK_SPEC): Set based
	on gnu-ld and MASK_GNU_LD.

From-SVN: r57792
2002-10-03 21:46:59 +00:00
Jason Thorpe
ec20cffb2e [multiple changes]
2002-10-01  Matt Thomas  <matt@3am-software.com>
            Jason Thorpe  <thorpej@wasabisystems.com>

* config.gcc (vax-*-netbsdelf*): Enable configuration.
* config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
if not already defined.
* config/vax/elf.h: New file.
* config/vax/netbsd-elf.h: New file.
* config/vax/vax.c: Include "debug.h".
(vax_output_function_prologue): Add dwarf2 support.  Use
MAIN_NAME_P when checking for VMS_TARGET stack adjust.
* config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
(VAX_ISTREAM_SYNC): Remove.
(INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
(JUMP_TABLES_IN_TEXT_SECTION): Define.
(ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
(ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
and assemble_name.
(ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
(PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
(PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
(INCOMING_RETURN_ADDR_RTX): Define.
* config/vax/vax.md (VUNSPEC_BLOCKAGE)
(VUNSPEC_SYNC_ISTREAM): Define.
(blockage): Use VUNSPEC_BLOCKAGE.
(sync_istream): New insn.


2002-10-01  Richard Henderson  <rth@redhat.com>

* config/vax/vax.md (call_pop, *call_pop, call_value_pop)
(*call_value_pop, call, call_value): Add dwarf2 EH support.
(*call): New insn.

From-SVN: r57702
2002-10-01 20:16:04 +00:00
Nick Clifton
09818236a2 Add x prefix to v850e case for handling --with-cpu=v850e.
From-SVN: r57538
2002-09-26 10:42:04 +00:00
Jeff Garzik
3780101d62 config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
* config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
        * config/i386/i386.c (processor_alias_table): Add winchip-c6,
        winchip2 and c3.
        * doc/invoke.texi: Mention new aliases.

From-SVN: r57227
2002-09-16 20:35:34 -07:00
Kazu Hirata
981f6289ab ChangeLog: Follow spelling conventions.
* ChangeLog: Follow spelling conventions.
	* ChangeLog.0: Likewise.
	* ChangeLog.1: Likewise.
	* ChangeLog.2: Likewise.
	* ChangeLog.4: Likewise.
	* ChangeLog.6: Likewise.
	* config.gcc: Likewise.
	* dwarfout.c: Likewise.
	* reload1.c: Likewise.
	* simplify-rtx.c: Likewise.
	* unwind-sjlj.c: Likewise.
	* config/avr/avr.h: Likewise.
	* config/d30v/d30v.h: Likewise.
	* config/frv/frv.c: Likewise.
	* config/frv/frv.h: Likewise.
	* config/ip2k/ip2k.h: Likewise.
	* config/m88k/m88k-move.sh: Likewise.
	* config/stormy16/stormy16.c: Likewise.
	* config/stormy16/stormy16.h: Likewise.
	* doc/extend.texi: Likewise.
	* doc/interface.texi: Likewise.
	* doc/invoke.texi: Likewise.
	* doc/md.texi: Likewise.
	* doc/rtl.texi: Likewise.
	* doc/tm.texi: Likewise.
	* doc/trouble.texi: Likewise.
	* ginclude/float.h: Likewise.
	* treelang/treelang.texi: Likewise.

From-SVN: r57179
2002-09-15 22:48:06 +00:00
Jason Thorpe
a0494c057a config.gcc (*-*-netbsd*): Set thread_file to 'posix' for --enable-threads=yes and --enable-threads=posix.
* config.gcc (*-*-netbsd*): Set thread_file to 'posix'
for --enable-threads=yes and --enable-threads=posix.

From-SVN: r57163
2002-09-15 18:07:13 +00:00
Steve Ellcey
32b4f6f42a config.gcc (ia64*-*-aix*, [...]): Set extra_parts.
* config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
	ia64*-*-linux*): Set extra_parts.
	* config/ia64/t-aix (EXTRA_PARTS): Remove.
	* config/ia64/t-ia64 (EXTRA_PARTS): Remove.

From-SVN: r57119
2002-09-13 21:12:18 +00:00
Stan Shebs
7606e68f7b target.h (struct gcc_target): New field terminate_dw2_eh_frame_info.
* target.h (struct gcc_target): New field
        terminate_dw2_eh_frame_info.
        * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
        (TARGET_INITIALIZER): Add it.
        * dwarf2out.c (output_call_frame_info): Use target hook.
        * dwarf2asm.c (dw2_asm_output_delta): Use macro
        ASM_OUTPUT_DWARF_DELTA if defined.
        * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
        (ASM_OUTPUT_DWARF_DELTA): Ditto.
        (ASM_OUTPUT_DWARF_OFFSET): Ditto.
        (ASM_OUTPUT_DWARF_PCREL): Ditto.
        * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
        (powerpc-*-darwin*): Ditto.
        * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
        to work correctly for Darwin.
        * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
        (STARTFILE_SPEC): Add crtbegin.o.
        (ENDFILE_SPEC): Define.
        (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
        (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
        (ASM_OUTPUT_DWARF_DELTA): Define.
        (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
        * config/darwin.c (darwin_asm_output_dwarf_delta): New function.

From-SVN: r57089
2002-09-13 03:44:54 +00:00
Richard Henderson
d57a4b98c4 Makefile.in (USER_H): Add ginclude/float.h.
* Makefile.in (USER_H): Add ginclude/float.h.
        (FLOAT_H): Remove.
        (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
        (mostlyclean): Don't remove float.h intermediate files.
        (distclean): Don't remove float.h.
        * config.gcc: Remove all float_format references.
        * configure.in (float_format, float_h_file): Remove.

        * c-common.c: Include tree-inline.h.
        (builtin_define_with_int_value): New.
        (builtin_define_type_precision): Use it.
        (builtin_define_float_constants): New.
        (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
        __FLT_EVAL_METHOD__.
        * defaults.h (TARGET_FLT_EVAL_METHOD): New.
        * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
        * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
        * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
        (TARGET_FLT_EVAL_METHOD): New.

        * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
        config/float-i386.h, config/float-i64.h, config/float-m68k.h,
        config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
        * ginclude/float.h: New.

From-SVN: r56769
2002-09-03 13:21:35 -07:00
Steve Ellcey
34c1864f43 config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and cxx_target.
* config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
	cxx_target.
	* config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
	handling routine for builtin pragma.
	* config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
	Registered pragma handling routine.
	* ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
	(ia64_hpux_add_pragma_builtin) New subroutine used by above.
	If builtin pragma seen for math routine and C89 conformance is
	requested use different math function in order to set errno.
	* t-ia64 (ia64-c.o): Add new rule for new file.

From-SVN: r56767
2002-09-03 19:47:10 +00:00
Jason Thorpe
27f4b67efe config.gcc (mips*-*-netbsd*): Set target_cpu_default to "MASK_GAS|MASK_ABICALLS".
* config.gcc (mips*-*-netbsd*): Set target_cpu_default to
"MASK_GAS|MASK_ABICALLS".
* config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
(TARGET_DEFAULT): Remove.
(MACHINE_TYPE): Undefine before defining.
(DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.

From-SVN: r56627
2002-08-28 05:23:43 +00:00
Nick Clifton
b43783196f config.gcc: Add v850e-*-* target.
2002-08-27  Nick Clifton  <nickc@redhat.com>
            Catherine Moore  <clm@redhat.com>
            Jim Wilson  <wilson@cygnus.com>
        * config.gcc: Add v850e-*-* target.
        Add --with-cpu= support for v850.
        * config/v850/lib1funcs.asm: Add v850e callt functions.
        * config/v850/v850.h: Add support for v850e target.
        * config/v850/v850.c: Add functions to support v850e target.
        * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
        * config/v850/v850.md: Add patterns for v850e instructions.
        * doc/invoke.texi: Document new v850e command line switches.

Co-Authored-By: Catherine Moore <clm@redhat.com>
Co-Authored-By: Jim Wilson <wilson@cygnus.com>

From-SVN: r56612
2002-08-27 20:01:17 +00:00
Eric Christopher
5ce6f47b37 config.sub: Import from master repository.
2002-08-15  Eric Christopher  <echristo@redhat.com>

        * config.sub: Import from master repository.
        * config.guess: Ditto.
2002-08-15  Eric Christopher  <echristo@redhat.com>
	    Jeff Knaggs  <jknaggs@redhat.com>

	* config.gcc (mipsisa64sr71k-elf): New target.
	* config/mips/sr71k.md: New file.
	* config/mips/mips.md: Use it.
	(rot*): Add sr71k specifics.
	* config/mips/t-sr71k: New file.
	* config/mips/mips.h (sr71k): New cpu.
	(TARGET_SR71K): Use it.
	(TUNE_SR71K): Ditto.
	(GENERATE_BRANCHLIKELY): Ditto.
	(ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
	ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
	* config/mips/mips.c (sr71k): New cpu.
	(mips_use_dfa_pipeline_interface): Use.

2002-08-15  Eric Christopher  <echristo@redhat.com>
            Richard Sandiford <rsandifo@redhat.com>
	    Aldy Hernandez  <aldyh@redhat.com>
	    Graham Stott    <grahams@redhat.com>
	    Michael Meissner  <meissner@redhat.com>
	    Gavin Romig-Koch  <gavin@redhat.com>
	    Ken Raeburn  <raeburn@cygnus.com>
	    Alexandre Oliva <aoliva@redhat.com>

	* config.gcc (mips64vr-elf): New target.
	* config/mips/5400.md: New file.
	* config/mips/5500.md: Ditto.
	* config/mips/mips.md: Use them.
	(frsqrt): New.
	* config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
	cpus.
	(mips_issue_rate): Use them.
	(mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
	(TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
	* config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
	cpus.
	(TARGET_MIPSx): Use them.
	(TUNE_MIPSx): Ditto.
	(GETNATE_MULT3_SI): Ditto.
	(ISA_HAS_BRANCHLIKELY): Ditto.
	(ISA_HAS_CONDMOVE): Ditto.
	(ISA_HAS_NMADD_NMSUB): Ditto.
	(ISA_HAS_MULHI): New. Ditto.
	(ISA_HAS_MULS): Ditto.
	(ISA_HAS_MSAC): Ditto.
	(ISA_HAS_MACC): Ditto.
	(ISA_HAS_ROTR_SI): Ditto.
	(ISA_HAS_ROTR_DI): Ditto.
	(RTX_COSTS): Use.

From-SVN: r56471
2002-08-20 21:53:28 +00:00
H.J. Lu
66df2ac2f0 config.gcc (*-*-linux*): Set extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"...
2002-08-18  H.J. Lu  (hjl@gnu.org)

	* config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
	crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
	gnu_ld=yes.
	(alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
	i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
	s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
	xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
	here.
	(cris-*-linux*): Remove setting thread_file here.

From-SVN: r56428
2002-08-18 15:20:28 -07:00
Kaveh R. Ghazi
f3f268dd79 * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
From-SVN: r56222
2002-08-12 03:40:15 +00:00
Jakub Jelinek
609a87f3b3 config.gcc (*-*-linux*): Default to --enable-threads=posix if no --{enable,disable}-threads is given to...
* config.gcc (*-*-linux*): Default to --enable-threads=posix if no
	--{enable,disable}-threads is given to configure.
	(alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
	x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
	powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
	s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
	Remove thread_file setting here.

From-SVN: r56071
2002-08-06 17:29:24 +02:00
Douglas B Rupp
84512347f7 config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
2002-08-05  Douglas B Rupp  <rupp@gnat.com>

	* config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
	* config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
	drectve_section): Define.
	* config/i386/t-interix: Replace interix.o rule with winnt.o.
	* config/i386/interix.c: Remove.

From-SVN: r56056
2002-08-05 18:53:16 +00:00
Bernd Schmidt
36a05131ca Add the FRV port
From-SVN: r56029
2002-08-04 19:37:03 +00:00
Eric Christopher
2017ed61d3 config.gcc (mips*-*-linux*): Fix ordering of tm_file.
2002-08-02  Eric Christopher  <echristo@redhat.com>

	* config.gcc (mips*-*-linux*): Fix ordering of tm_file.
	* config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
	#ifndef to #undef.
	(TARGET_MEM_FUNCTIONS): Define instead of define to 1.

From-SVN: r55998
2002-08-02 20:22:35 +00:00
Richard Sandiford
ac8ab9fe50 config.gcc: Don't include mips/abi64.h in $tm_file.
* config.gcc: Don't include mips/abi64.h in $tm_file.
	* hard-reg-set.h (call_really_used_regs): Declare.
	* config/mips/abi64.h: Remove file.
	* config/mips/linux.h,
	* config/mips/iris6.h: Don't include it.
	* config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
	* config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
	(REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
	FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
	FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
	Bring across definitions from abi64.h.
	(GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
	(BIGGEST_MAX_ARGS_IN_REGISTERS): New.
	(struct mips_args): Use it.
	* config/mips/mips.c (mips_conditional_register_usage): Define.

From-SVN: r55986
2002-08-02 14:55:08 +00:00
Chris Demetriou
3d41dbb0a9 [file missed during commit of following change]
2002-08-01  Chris Demetriou  <cgd@broadcom.com>

        * config.gcc (mipsisa64sb1-*-elf*): New configuration.
        (mipsisa64sb1el-*-elf*): Likewise.
        * config/mips/mips.c (mips_cpu_info_table): Add sb1.
        * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
        (TARGET_SB1, TUNE_SB1): New macros.
        * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
        -mtune flags.

From-SVN: r55970
2002-08-01 22:26:50 -07:00
Ian Dall
ac14c72576 ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
* config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
        (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
        when there is no frame pointer.
        (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
        registers properly.
        * config/ns32k/__unorddf2.c: New file.
        * config/ns32k/__unordsf2.c: New file.
        * config/ns32k/t-ns32k: New file.
        * config.gcc (ns32k-*-netbsd*): Use it.

From-SVN: r55949
2002-08-01 14:21:52 -07:00
Stan Shebs
b069de3bac config.gcc (i[34567]86-*-darwin*): New configuration.
* config.gcc (i[34567]86-*-darwin*): New configuration.
        * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
        defining.
        (TARGET_ENCODE_SECTION_INFO): Ditto.
        (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
        * config/darwin.c (machopic_indirect_data_reference): Remove
        setting of RTX_UNCHANGING_P.
        (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
        * config/i386/t-darwin: New file.
        * config/i386/darwin.h: New file.
        * config/i386/i386.h (TARGET_MACHO): Add default definition.
        * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
        * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
        label and not the GOT add.
        (constant_address_p): For Mach-O, seeing a CONST is enough.
        (legitimate_pic_address_disp_p): Add a Mach-O case.
        (legitimate_address_p): Also test machopic_operand_p if Mach-O.
        (legitimize_pic_address): Use generic Mach-O code to legitimize.
        (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
        if outputting a difference.
        (ix86_output_addr_diff_elt): Add Mach-O case.
        (ix86_expand_move): Similarly.
        (ix86_expand_call): Similarly.
        (current_machopic_label_num): New global.
        (machopic_output_stub): New function.
        (ix86_value_regno): New function.
        (ix86_function_value): Use it instead of VALUE_REGNO.
        (ix86_libcall_value): Ditto.
        * config/i386/unix.h (VALUE_REGNO): Remove.

From-SVN: r55916
2002-07-31 23:18:44 +00:00
Eric Christopher
6d4392353e elf.h: Remove ecoff.h and gofast includes.
2002-07-29  Eric Christopher  <echristo@redhat.com>

       	* config/mips/elf.h: Remove ecoff.h and gofast includes.
        (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
        (SDB_DEBUGGING_INFO): Undefine.
        (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
	(PUT_SDB_SIZE): Remove.
	(SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
       	(STARTFILE_SPEC): Add isa3264 define.
       	* config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
       	* config/mips/ecoff.h: Remove. and here...
       	* config/mips/iris3.h: and here...
       	* config/mips/sni-svr4.h: and here...
       	* config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
	Add assembler -mmdebug options for non-dwarf debugging.
	* config/mips/r3900.h: Remove debug info defines.
       	* config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
       	* config/mips/isa3264.h: Ditto.
       	* config/mips/t-isa3264: Fix up for file removal and gofast configure
       	change.
       	* config/mips/t-elf: Ditto.
       	* config/mips/t-ecoff: Ditto.
       	* config/mips/t-r3900: Ditto.
       	* config/mips/t-iris5-6: Ditto.
       	* config/mips/t-isa3264: Ditto.
       	* config/mips/t-linux: Remove.
       	* config/mips/t-netbsd: Remove.
       	* config/mips/t-mips: New file.
       	* config/mips/t-gofast: Ditto.
       	* config/mips/netbsd.h: Remove unnecessary undefines.
       	* config/mips/linux.h: Remove #include of mips.h.
       	* config.gcc: Add mips.h include for elf targets. Remove tm_file
       	for ecoff. Add gofast configure option for mips.

From-SVN: r55852
2002-07-29 22:21:41 +00:00
Mike Stump
6ab185d6a5 config.gcc (target_gtfiles): Initialize...
* config.gcc (target_gtfiles): Initialize, as otherwise cross compilers hosted on
	powerpc-apple-darwin6.0 won't even build.

From-SVN: r55838
2002-07-29 17:25:30 +00:00
Stan Shebs
ef69da62f4 configure.in: Rename config_gtfiles to target_gtfiles.
* configure.in: Rename config_gtfiles to target_gtfiles.
        * configure: Regenerate.
        * doc/gty.texi: Update reference.
        * config.gcc (powerpc-*-darwin*): Set target_gtfiles
        instead of appending to it.

From-SVN: r55801
2002-07-27 20:54:52 +00:00
Aldy Hernandez
518878e18a eabi.h: Define TARGET_SPE_ABI, TARGET_SPE, TARGET_ISEL, and TARGET_FPRS.
2002-07-24  Aldy Hernandez  <aldyh@redhat.com>

	* config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
	TARGET_ISEL, and TARGET_FPRS.

	* doc/invoke.texi (RS/6000 and PowerPC Options): Document
	-mabi=spe, -mabi=no-spe, and -misel=.

	* config/rs6000/rs6000-protos.h: Add output_isel.
	Move vrsave_operation prototype here.

	* config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
	(smaxsi3): Same.
	(uminsi3): Same.
	(umaxsi3): Same.
	(abssi2_nopower): Disallow when TARGET_ISEL.
	(*ne0): Same.
	(negsf2): Change to expand and rename old pattern to *negsf2.
	(abssf2): Change to expand and rename old pattern to *abssf2.

	New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
	fixunssfsi2.

	Change patterns that check for TARGET_HARD_FLOAT or
	TARGET_SOFT_FLOAT to also check TARGET_FPRS.

	* config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
	rs6000_isel, rs6000_fprs, rs6000_isel_string.
	(rs6000_override_options): Add 8540 case to
	processor_target_table.
	Set rs6000_isel for the 8540.
	Call rs6000_parse_isel_option.
	(enable_mask_for_builtins): New.
	(rs6000_parse_isel_option): New.
	(rs6000_parse_abi_options): Add spe and no-spe.
	(easy_fp_constant): Treat !TARGET_FPRS as soft-float.
	(rs6000_legitimize_address): Check for TARGET_FPRS when checking
	for TARGET_HARD_FLOAT.
	Add case for SPE_VECTOR_MODE.
	(rs6000_legitimize_reload_address): Handle SPE vector modes.
	(rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
	vector modes.
	Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
	(rs6000_emit_move): Check for TARGET_FPRS.
	Add cases for SPE vector modes.
	(function_arg_boundary): Return 64 for SPE vector modes.
	(function_arg_advance): Check for TARGET_FPRS and
	Handle SPE vectors.
	(function_arg): Same.
	(setup_incoming_varargs): Check for TARGET_FPRS.
	(rs6000_va_arg): Same.
	(struct builtin_description): Un-constify mask field.  Move up in
	file.
	(bdesc_2arg): Un-constify and add SPE builtins.
	(bdesc_1arg): Same.
	(bdesc_spe_predicates): New.
	(bdesc_spe_evsel): New.
	(rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
	(rs6000_expand_binop_builtin): Same.
	(bdesc_2arg_spe): New.
	(spe_expand_builtin): New.
	(spe_expand_predicate_builtin): New.
	(spe_expand_evsel_builtin): New.
	(rs6000_expand_builtin): Call spe_expand_builtin for SPE.
	(rs6000_init_builtins): Initialize SPE builtins.  Call
	rs6000_common_init_builtins.
	(altivec_init_builtins): Move all non-altivec builtin code to...
	(rs6000_common_init_builtins): ...here.  New function.
	(branch_positive_comparison_operator): Allow NE code for SPE.
	(ccr_bit): Return correct ccr bit for SPE fp.
	(print_operand): Emit crnor in 'D' case for SPE.
	New case 't'.
	Add SPE code for 'y' case.
	(rs6000_generate_compare): Generate rtl for SPE fp.
	(output_cbranch): Handle SPE hard floats.
	(rs6000_emit_cmove): Handle isel.
	(rs6000_emit_int_cmove): New.
	(output_isel): New.
	(rs6000_stack_info): Adjust stack frame so GPRs are saved in
	64-bits for SPE.
	(debug_stack_info): Add SPE info.
	(gen_frame_mem_offset): New.
	(rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
	Change mode of frame pointer, when saving it, to Pmode.
	(rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
	Misc cleanups and use gen_frame_mem_offset when appropriate.

	* config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
	(TARGET_SPE_ABI): New.
	(TARGET_SPE): New.
	(TARGET_ISEL): New.
	(TARGET_FPRS): New.
	(FIXED_SCRATCH): New.
	(RTX_COSTS): Add PROCESSOR_PPC8540.
	(ASM_CPU_SPEC): Add case for 8540.
	(TARGET_OPTIONS): Add isel= case.
	(rs6000_spe_abi): New.
	(rs6000_isel): New.
	(rs6000_fprs): New.
	(rs6000_isel_string): New.
	(UNITS_PER_SPE_WORD): New.
	(LOCAL_ALIGNMENT): Adjust for SPE.
	(HARD_REGNO_MODE_OK): Same.
	(DATA_ALIGNMENT): Same.
	(MEMBER_TYPE_FORCES_BLK): New.
	(FIRST_PSEUDO_REGISTER): Set to 113.
	(FIXED_REGISTERS): Add SPE registers.
	(reg_class): Same.
	(REG_CLASS_NAMES): Same.
	(REG_CLASS_CONTENTS): Same.
	(REGNO_REG_CLASS): Same.
	(REGISTER_NAMES): Same.
	(DEBUG_REGISTER_NAMES): Same.
	(ADDITIONAL_REGISTER_NAMES): Same.
	(CALL_USED_REGISTERS): Same.
	(CALL_REALLY_USED_REGISTERS): Same.
	(SPE_ACC_REGNO): New.
	(SPEFSCR_REGNO): New.
	(SPE_SIMD_REGNO_P): New.
	(HARD_REGNO_NREGS): Adjust for SPE.
	(VECTOR_MODE_SUPPORTED_P): Same.
	(REGNO_REG_CLASS): Same.
	(FUNCTION_VALUE): Same.
	(LIBCALL_VALUE): Same.
	(LEGITIMATE_OFFSET_ADDRESS_P): Same.
	(SPE_VECTOR_MODE): New.
	(CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
	the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
	(rs6000_stack): Add spe_gp_size, spe_padding_size,
	spe_gp_save_offset.
	(USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
	(LEGITIMATE_LO_SUM_ADDRESS_P): Same.
	(SPE_CONST_OFFSET_OK): New.
	(rs6000_builtins): Add SPE builtins.

	* testsuite/gcc.dg/ppc-spe.c: New.

	* config/rs6000/eabispe.h: New.

	* config/rs6000/spe.h: New.

	* config/rs600/spe.md: New.

	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
	__SIMD__ for TARGET_SPE.

	* config.gcc: Add powerpc-*-eabispe* case.
	Add spe.h to user headers for powerpc.

From-SVN: r55734
2002-07-25 02:51:31 +00:00
Rainer Orth
59267987db iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
* config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
	(PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
	(LINK_SPEC): Define.
	(STARTFILE_SPEC): Define.
	(ENDFILE_SPEC): Define.

	* config/mips/iris6-o32.h (LINK_SPEC): Move ...
	* config/mips/iris6-o32-as.h (LINK_SPEC): ... here.

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

	* config/mips/t-iris5-gas: New file.
	* config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.

From-SVN: r55596
2002-07-19 21:58:12 +00:00
Andreas Jaeger
e89617feba config.gcc (sh64): Remove unused target_requires_64bit_host_wide_int.
* config.gcc (sh64): Remove unused
	target_requires_64bit_host_wide_int.

From-SVN: r55437
2002-07-14 09:01:36 +02:00
Rainer Orth
789b7de56b configure.in (mips*-*-irix6*o32): Enable stabs.
* configure.in (mips*-*-irix6*o32): Enable stabs.

	gcc:
	* config.gcc (mips-sgi-irix6*o32): New configuration.

	* configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
	configurations.
	* configure: Regenerate.

	* config/mips/iris6-o32-as.h: New file.
	* config/mips/iris6-o32.h: New file.

	* config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
	(NM_FLAGS): Define.
	(HAVE_AS_SHF_MERGE): Undefine.

	* config/mips/t-iris5-as: New file.
	* config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.

	* config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
	SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
	SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
	dp-bit.c, fp-bit.c): Move ...
	* config/mips/t-iris5-6: ... here.
	New file, shared by IRIX 5 and IRIX 6.
	* config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
	mips-sgi-irix5*): Use it.

	* config/mips/iris6.h: Remove duplicate comment.

	* config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
	!TARGET_IRIX6]: Define.
	(mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.

	* config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.

	gcc/testsuite:
	* gcc.misc-tests/linkage.exp: Handle mips-sgi-irix6*o32
	configuration and IRIX 6 O32 ABI.

	libstdc++-v3:
	* configure.target (target_os switch): Allow for irix6*o32
	configurations.

From-SVN: r55401
2002-07-11 18:56:58 +00:00
Chris Demetriou
9bb46191b4 config.gcc (mips*el-*-*): Use tm_defines to set TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
2002-07-02  Chris Demetriou  <cgd@broadcom.com>

        * config.gcc (mips*el-*-*): Use tm_defines to set
        TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
        * config/mips/little.h: Remove.

From-SVN: r55200
2002-07-02 16:26:45 -07:00
Nathanael Nerode
18fbcbcf9d Obselete vax-*-vms*
From-SVN: r55002
2002-06-26 04:09:11 +00:00
Steve Ellcey
cad6176232 config.gcc (ia64*-*-hpux*): Set use_collect2 to no.
* gcc/config.gcc (ia64*-*-hpux*): Set use_collect2 to no.
	Set float_format to i128.

From-SVN: r54953
2002-06-24 16:06:21 +00:00
Denis Chertykov
2f9021d325 * config.gcc: Add support for ip2k.
From-SVN: r54925
2002-06-23 21:31:05 +04:00
Jason Thorpe
1c655a0dcc config.gcc (ns32k-*-netbsd*): Remove from list of obsolete configurations.
* config.gcc (ns32k-*-netbsd*): Remove from list of obsolete
configurations.

From-SVN: r54893
2002-06-21 23:36:45 +00:00
Chris Demetriou
5c44e27551 config.gcc (mipsisa64-*-elf*, [...]): New targets.
2002-06-20  Chris Demetriou  <cgd@broadcom.com>

	* config.gcc (mipsisa64-*-elf*, mipsisa64el-*-elf*): New targets.

From-SVN: r54860
2002-06-20 15:41:25 -07:00
Rainer Orth
8433a25e2a sol2.h: New file.
* config/sol2.h: New file.
	* config.gcc (i?86-*-solaris2*): Include it before i386/sol2.h.
	(sparc64-wrs-vxworks*): Include it before sparc/sol2.h.
	(sparc-*-chorusos*): Likewise.
	(sparc-*-elf*): Likewise.
	(sparc-*-rtems*, sparc-*-rtemself*): Likewise.
	(sparc64-*-solaris2*, sparcv9-*-solaris2*): Likewise.
	(sparc-hal-solaris2*): Likewise.
	(sparc-*-solaris2*): Likewise.
	(sparclite-*-elf*): Likewise.
	(sparc86x-*-elf*): Likewise.
	(sparc64-*-elf*): Likewise.

	* config/i386/sol2.h (PREFERRED_DEBUGGING_TYPE): Moved to
	config/sol2.h.
	(ASM_SPEC): Override config/sol2.h version for now.
	Removed obsolete GAS_REJECTS_MINUS_S variant.
	(WINT_TYPE, WINT_TYPE_SIZE): Moved to config/sol2.h.
	(HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise.
	(TARGET_OS_CPP_BUILTINS): Likewise.
	Assert system=unix.
	(CPP_SPEC): Simplified using new CPP_SUBTARGET_SPEC.
	(LIB_SPEC, ENDFILE_SPEC, STARTFILE_SPEC, LINK_SPEC): Moved to
	config/sol2.h.
	(SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise.
	(ASM_CPU_SPEC): Define.
	(SUBTARGET_EXTRA_SPECS): Define.

	* config/sparc/sol2-bi.h (LONG_DOUBLE_TYPE_SIZE): Removed, already
	in config/sparc/sol2.h.
	(ASM_SPEC): Moved to config/sol2.h.
	(CPP_CPU_SPEC): Simplified.
	(STARTFILE_SPEC32): Likewise, renamed to STARTFILE_ARCH32_SPEC for
	consistency.
	(STARTFILE_SPEC64): Renamed to STARTFILE_ARCH64_SPEC.
	(STARTFILE_ARCH_SPEC): Use new names STARTFILE_ARCH32_SPEC,
	STARTFILE_ARCH64_SPEC.
	(STARTFILE_SPEC): Moved to config/sol2.h
	(SUBTARGET_EXTRA_SPECS): Add startfile_arch.
	(LINK_ARCH32_SPEC): Moved to config/sol2.h.
	(LINK_ARCH64_SPEC): Simplified.
	(LINK_ARCH_SPEC): Redefined config/sol2.h version for 64-bit support.
	(LINK_SPEC): Moved to config/sol2.h

	* config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Moved to
	config/sol2.h.
	Use BITS_PER_WORD for size.
	(WINT_TYPE, WINT_TYPE_SIZE): Likewise.
	(HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise.
	(CPP_PREDEFINES): Removed OS-specific part handled by
	TARGET_OS_CPP_BUILTINS.
	(CPP_SUBTARGET_SPEC): Moved to config/sol2.h.
	(CPLUSPLUS_CPP_SPEC): Removed, handled by TARGET_OS_CPP_BUILTINS.
	(ASM_SPEC): Moved to config/sol2.h.
	(PREFERRED_DEBUGGING_TYPE): Likewise.
	(STARTFILE_SPEC, LIB_SPEC, LINK_SPEC): Likewise.
	(SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise.
	(TARGET_DEFAULT): Reordered to match config/sparc/sol2-bi.h version.
	(TRANSFER_FROM_TRAMPOLINE): Moved to config/sol2.h

	* config.gcc (i?86-*-solaris2*): Removed obsolete gas support.
	* config/i386/sol2gas.h: Removed.

From-SVN: r54827
2002-06-20 11:03:40 +00:00
Neil Booth
3d05b15f10 config.gcc: Add an i386/sysv4-cpp.h.
* config.gcc: Add an i386/sysv4-cpp.h.  Remove i386-aout.h from
	vxworks.
config/i386:
	* i386-aout.h, i386elf.h, sysv4.h: Remove CPP_PREDEFINES.
	* linux64.h: Use TARGET_OS_CPP_BUILTINS rather than
	CPP_PREDEFINES and part of CPP_SPEC.
	i386elf.h, mach.h, netware.h, rtemself.h, sco5.h, sol2.h,
	vsta.h, vxi386.h, win32.h: Similarly.
	* sysv4-cpp.h: New.

From-SVN: r54679
2002-06-16 21:13:11 +00:00
Geoffrey Keating
a6e2e53e83 config.gcc: Revert rth's patch of 2002-05-18.
2002-06-12  Geoffrey Keating  <geoffk@redhat.com>

        * config.gcc: Revert rth's patch of 2002-05-18.  Instead,
        include both darwin.o and rs6000-c.o.

From-SVN: r54658
2002-06-15 20:27:45 +00:00
John David Anglin
d5355cb2c6 Makefile.in (tm_defines): New configuration variable.
* Makefile.in (tm_defines): New configuration variable.
	(cs-config.h, cs-hconfig.h, cs-tconfig.h): Rename DEFINES to XM_DEFINES.
	Pass tm_defines in TM_DEFINES.
	(cs-tm_p.h): Rename DEFINES to XM_DEFINES.  Pass TM_DEFINES.
	* config.gcc (tm_defines): New configuration variable.
	(hppa*-*-* | parisc*-*-*): Use tm_defines instead of pa-700.h and
	pa-7100.h headers.  Change hppa1* scheduling default to 7100LC.
	* configure.in: Substitute tm_defines.
	* configure: Rebuilt.
	* mkconfig.sh: Rename DEFINES to XM_DEFINES.  Output TM_DEFINES.
	* doc/install.texi: Update.
	* pa/pa-700.h: Delete file.
	* pa/pa-7100.h: Delete file.

From-SVN: r54648
2002-06-15 17:31:32 +00:00
J"orn Rennecke
8bc6e10185 Individual processor configurations for sh-elf / sh-linux:
gcc:
	* config.gcc: Add support for sh[234]*-*-elf*, sh[2346lbe]*-*-linux*.
	* config/sh/linux.h (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
	* sh.h (SELECT_SH1, SELECT_SH2, SELECT_SH3, SELECT_SH3E): New macros.
	(SELECT_SH4_NOFPU, SELECT_SH4_SINGLE_ONLY, SELECT_SH4): Likewise.
	(SELECT_SH4_SINGLE, SELECT_SH5_64, SELECT_SH5_64_NOFPU): Likewise.
	(SELECT_SH5_32, SELECT_SH5_32_NOFPU, SELECT_SH5_COMPACT): Likewise.
	(SELECT_SH5_COMPACT_NOFPU): Likewise.
	(TARGET_SWITCHES): Use them.
	(TARGET_CPU_DEFAULT): Define if not already defined.
	(TARGET_DEFAULT): Use it.
	(LINK_DEFAULT_CPU_EMUL): Value now depends on TARGET_CPU_DEFAULT.
	* config/sh/t-linux (MULTILIB_OPTIONS): Use MULTILIB_ENDIAN.
	* config/sh/t-monolib: New file.

bfd:
	config.bfd: Add support for sh[1234]l*-*-elf* | sh3el*-*-elf*,
	sh[1234]*-elf*.

ld:
	* configure.tgt: Add support for sh[1234]*le*-*-elf, sh[1234]*-*-elf.

Still outstanding:
	config.sub:
		* config.sub: Add support for sh[12], sh3e, sh[1234]le, sh3ele,
		shle, sh[1234]le, sh3ele, sh64le.

From-SVN: r54598
2002-06-13 20:23:28 +01:00
Eric Christopher
74826b0f9f Missed a file from previous check-in.
From-SVN: r54568
2002-06-12 23:24:04 +00:00
Zack Weinberg
1c0ca89ddb config.gcc: Make the name of the extra-modes file adjustable by target stanzas.
* config.gcc: Make the name of the extra-modes file adjustable
	by target stanzas.
	(s390x, strongarm, xscale stanzas): Use this facility.
	* configure.in: Update to match.
	* configure: Regenerate.

From-SVN: r54540
2002-06-12 01:36:13 +00:00
Jason Thorpe
169274cd2e config.gcc (vax-*-bsd*): Add vax/bsd.h to ${tm_file}.
* config.gcc (vax-*-bsd*): Add vax/bsd.h to ${tm_file}.
* config/vax/bsd.h: New file.
* config/vax/netbsd.h: Add missing notice.
(CPP_PREDEFINES): Remove.
(TARGET_OS_CPP_BUILTINS): Define.
(CPP_SPEC): Use NETBSD_CPP_SPEC.
* config/vax/openbsd.h: Update copyright years.
(CPP_PREDEFINES): Remove.
(TARGET_OS_CPP_BUILTINS): Define.
* config/vax/ultrix.h: Likewise.
* config/vax/vaxv.h: Likewise.
* config/vax/vms.h: Likewise.
* config/vax/vax.h (TARGET_CPU_CPP_BUILTINS): Define.
(CPP_PREDEFINES, CPP_SPEC): Remove.

From-SVN: r54538
2002-06-12 00:02:07 +00:00
Geoffrey Keating
4c4eb375f3 config.gcc (powerpc*-*-*, [...]): Don't bother including softfloat.h.
* config.gcc (powerpc*-*-*, rs6000-*-*-*): Don't bother including
	softfloat.h.
	* config/rs6000/vxppc.h (CPP_ENDIAN_BIG_SPEC): Delete.
	(CPP_ENDIAN_LITTLE_SPEC): Delete.
	* config/rs6000/sysv4le.h (CPP_ENDIAN_DEFAULT_SPEC): Delete.
	* config/rs6000/sysv4.h (CPP_SYSV_SPEC): Delete _SOFT_FLOAT setting,
	__LONG_DOUBLE_128__ setting, _CALL_* setting.
	(CPP_DEFAULT_SPEC): Delete.
	(CPP_FLOAT_DEFAULT_SPEC): Delete.
	(CPP_LONGDOUBLE_DEFAULT_SPEC): Delete.
	(CPP_SYSV_DEFAULT_SPEC): Delete.
	(CPP_ENDIAN_BIG_SPEC): Delete.
	(CPP_ENDIAN_LITTLE_SPEC): Delete.
	(CPP_ENDIAN_SPEC): Delete.
	(CPP_SPEC): Don't include cpp_endian, cpp_cpu.
	(SUBTARGET_EXTRA_SPECS): Delete cpp_sysv_default, cpp_endian_default,
	cpp_endian, cpp_endian_big, cpp_endian_little, cpp_float_default,
	cpp_longdouble_default.
	* config/rs6000/softfloat.h: Delete.
	* config/rs6000/rs6000.h (CPP_CPU_SPEC): Delete.
	(EXTRA_SPECS): Delete cpp_cpu.
	(TARGET_CPU_CPP_BUILTINS): New.
	* config/rs6000/rs6000-protos.h (rs6000_cpu_cpp_builtins): New
	prototype.
	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): New.
	* config/rs6000/linux64.h (CPP_PREDEFINES): Remove endianness defines.
	(CPP_DEFAULT_SPEC): Delete.
	* config/rs6000/eabiaix.h (CPP_SYSV_DEFAULT_SPEC): Delete.
	* config/rs6000/darwin.h (CPP_PREDEFINES): Don't define __BIG_ENDIAN__.
	* config/rs6000/beos.h (CPP_SPEC): Remove cpp_cpu.
	(CPP_DEFAULT_SPEC): Delete.
	* config/rs6000/aix51.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
	(CPLUSPLUS_CPP_SPEC): Likewise.
	(CPP_CPU_SPEC): Delete.
	(CPP_DEFAULT_SPEC): Delete.
	* config/rs6000/aix43.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
	(CPLUSPLUS_CPP_SPEC): Likewise.
	(CPP_CPU_SPEC): Delete.
	(CPP_DEFAULT_SPEC): Delete.
	* config/rs6000/aix41.h (CPP_SPEC): Remove cpp_cpu.
	(CPP_DEFAULT_SPEC): Delete.
	* config/rs6000/aix.h (CPP_SPEC): Remove cpp_cpu.
	(CPP_DEFAULT_SPEC): Delete.

From-SVN: r54534
2002-06-11 23:14:47 +00:00
Jason Thorpe
cd24b8a403 config.gcc (mips*-*-netbsd*): Add mips/t-netbsd to ${tmake_file}.
* config.gcc (mips*-*-netbsd*): Add mips/t-netbsd to ${tmake_file}.
* config/mips/t-netbsd: New file.

From-SVN: r54353
2002-06-07 23:31:05 +00:00
Jason Thorpe
3fa1b44830 config.gcc (sh5*-*-netbsd*): Remove sh/t-netbsd-sh5-32 from and add t-sh64 to ${tmake_file}.
* config.gcc (sh5*-*-netbsd*): Remove sh/t-netbsd-sh5-32
from and add t-sh64 to ${tmake_file}.
(sh64*-*-netbsd*): Add t-sh64 to ${tmake_file}.
* config/sh/t-netbsd-sh5 (LIB1ASMFUNCS): Remove.
* config/sh/t-netbsd-sh5-32: Remove.
* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Use
MULTILIB_ENDIAN.
(MULTILIB_DIRNAMES): Define.

From-SVN: r54328
2002-06-07 00:58:44 +00:00
J"orn Rennecke
dbf87f32ae config.gcc (sh-*-elf*, [...]): Unify.
gcc:
	* config.gcc (sh-*-elf*,  sh64*-*-elf*): Unify.
	(shl*-*-elf*): Add.
	* config/sh/t-be (MULTILIB_ENDIAN): Set.
	* config/sh/t-le (MULTILIB_ENDIAN): Likewise.
	* t-sh (MULTILIB_ENDIAN): Set.
	(MULTILIB_OPTIONS): Use it.
	* t-sh64 (MULTILIB_OPTIONS): Likewise.
	(MULTILIB_DIRNAMES): Likewise.
bfd:
	* config.bfd (sh64l*-*-elf*, shl*-*-elf*): New configurations.
ld:
	configure.tgt (shle*-*-elf*, sh64le-*-elf*): New configurations.

From-SVN: r54292
2002-06-05 20:52:07 +01:00
Geoffrey Keating
aaab35ae40 config.gcc (powerpc-*-darwin*): Set config_gtfiles.
* config.gcc (powerpc-*-darwin*): Set config_gtfiles.
	* configure.in (config_gtfiles): New variable.
	(all_gtfiles): Initialise from config_gtfiles.
	* configure: Regenerate.

From-SVN: r54265
2002-06-04 22:20:43 +00:00
Jason Thorpe
b655555e33 * config.gcc (sh5-*-netbsd*, sh5l*-*-netbsd*)
(sh64-*-netbsd*, sh64l*-*-netbsd*): New targets.
* config/sh/netbsd-elf.h (TARGET_VERSION_ENDIAN)
(TARGET_VERSION_CPU): Define according to the
default target.
(TARGET_VERSION): Use TARGET_VERSION_ENDIAN and
TARGET_VERSION_CPU.
(TARGET_OS_CPP_BUILTINS): Use NETBSD_OS_CPP_BUILTINS_LP64
if TARGET_SHMEDIA64.
(LINK_DEFAULT_CPU_EMUL): Define according to the
default target.
(SUBTARGET_LINK_EMUL_SUFFIX): Define.
(SUBTARGET_LINK_SPEC): Define.
(LINK_SPEC): Use SH_LINK_SPEC.
(ASM_SPEC): Remove.
(TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
(FUNCTION_PROFILER): Add cases for TARGET_SHMEDIA32
and TARGET_SHMEDIA64 which abort, for now.
* config/sh/t-netbsd-sh5: New file.
* config/sh/t-netbsd-sh5-32: New file.
* config/sh/t-netbsd-sh5-64: New file.

From-SVN: r54230
2002-06-04 05:02:44 +00:00
John David Anglin
806bf4137d config.gcc (tm_file): Prefix pa/pa-700.h to tm_file list for PA1.0 architecture and pa/pa-7100.h for...
2002-05-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* config.gcc (tm_file): Prefix pa/pa-700.h to tm_file list for PA1.0
	architecture and pa/pa-7100.h for PA1.1 architecture, respectively.
	* pa/pa.c (override_options): Use TARGET_SCHED_DEFAULT to select
	default scheduling model.
	* pa/pa.h (TARGET_SCHED_DEFAULT): Define if not defined to "8000".
	* pa/pa-700.h (TARGET_SCHED_DEFAULT): New file for "700" scheduling.
	* pa/pa-7100.h (TARGET_SCHED_DEFAULT): New file for "7100" scheduling.
	* doc/install.texi (hppa*-*-*): Document default scheduling.

From-SVN: r54085
2002-05-31 04:00:42 +00:00
Jason Thorpe
c8eb978520 config.gcc (ns32k-*-netbsd*): Set tm_file to "${tm_file} netbsd.h netbsd-aout.h ns32k/netbsd.h"
* config.gcc (ns32k-*-netbsd*): Set tm_file to
"${tm_file} netbsd.h netbsd-aout.h ns32k/netbsd.h"
* config/ns32k/netbsd.h: Don't include ns32k/ns32k.h,
netbsd.h, or netbsd-aout.h.

From-SVN: r54082
2002-05-31 02:51:23 +00:00
Jason Thorpe
b4eb03fef0 config.gcc (sh[123456789l]*-*-*): Set cpu_type to sh.
* config.gcc (sh[123456789l]*-*-*): Set cpu_type to sh.
(sh-*-netbsdelf*)
(shl*-*-netbsdelf*): New targets.
* config/sh/netbsd-elf.h: New file.

From-SVN: r54079
2002-05-31 01:31:26 +00:00
Marc Espie
91f0fcee22 config.gcc (sparc64-*-openbsd*): New.
2002-05-30	Marc Espie <espie@openbsd.org>
	* config.gcc (sparc64-*-openbsd*):  New.
	* config/sparc/openbsd1-64.h:  New.
	* config/sparc/openbsd64.h:  New.

From-SVN: r54066
2002-05-30 20:35:58 +00:00
J"orn Rennecke
f1a58d928b config/sh reorganization to factor out endianness and coff:
* config/sh/little.h: New file.
        * config/sh/sh.h (TARGET_ENDIAN_DEFAULT): If not already
        defined, define to 0 to select big-endian.
	(SUBTARGET_ASM_ENDIAN_SPEC): Define according to TARGET_ENDIAN_DEFAULT.
        (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
        * config/sh/sh64.h (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
        * config/sh/t-be: New file.
        * config/sh/t-le: New file.

	* sh.h (SDB_DEBUGGING_INFO, #include "dbxcoff.h"): Moved to sh/coff.h.
	(SDB_DELIM, MAX_OFILE_ALIGNMENT, IDENT_ASM_OP): Likewise.
	(TARGET_ASM_NAMED_SECTION, ASM_OUTPUT_SKIP): Likewise.
	(USER_LABEL_PREFIX, LOCAL_LABEL_PREFIX): Likewise.
	(ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Likewise.
	(ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
	(ASM_FILE_END, ASM_DECLARE_FUNCTION_NAME): Deleted.
	(CPP_SPEC, SUBTARGET_CPP_ENDIAN_SPEC): Likewise.
	(SUBTARGET_CPP_SPEC, CPP_DEFAULT_CPU_SPEC, CPP_PREDEFINES): Likewise.
	(EXTRA_SPECS): Remove SUBTARGET_CPP_ENDIAN_SPEC and
	CPP_DEFAULT_CPU_SPEC.  Add LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL,
	SUBTARGET_LINK_EMUL_SUFFIX and SUBTARGET_LINK_SPEC.
	(LINK_SPEC): Define to SH_LINK_SPEC.
	(TARGET_CPU_CPP_BUILTINS, SH_LINK_SPEC): Define.
	(LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL): Likewise.
	(SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
	(CPP_SPEC): Reduce to %(subtarget_cpp_spec).
	(TARGET_ENDIAN_DEFAULT): Define if not already defined.
	* config/sh/coff.h: New file.
	(TARGET_ASM_NAMED_SECTION): Now default_coff_asm_named_section
	(TARGET_OBJFMT_CPP_BUILTINS): Define.
	* config/sh/elf.h (IDENT_ASM_OP): No need to #undef at the start.
	(ASM_FILE_END, ASM_OUTPUT_SOURCE_LINE): Likewise.
	(DBX_OUTPUT_MAIN_SOURCE_FILE_END, TARGET_ASM_NAMED_SECTION): Likewise.
	(ASM_DECLARE_FUNCTION_NAME, MAX_OFILE_ALIGNMENT, SIZE_TYPE): Likewise.
	(PTRDIFF_TYPE): Likewise.
	("dbxelf.h", "elfos.h", "svr4.h"): Don't #include.
	(CPP_PREDEFINES): Don't define.
	(TARGET_OBJFMT_CPP_BUILTINS): Define.
	(LINK_SPEC): Define to SH_LINK_SPEC.
	(LINK_EMUL_PREFIX): Redefine.
	* config/sh/linux.h: (SUBTARGET_CPP_SPEC): Remove -fpic / -fPIC cases.
	(SUBTARGET_CPP_ENDIAN_SPEC, CPP_DEFAULT_CPU_SPEC): Remove redefinition.
	(CPP_PREDEFINES, SUBTARGET_ASM_ENDIAN_SPEC): Likewise.
	(CC1_SPEC, CC1PLUS_SPEC, LINK_SPEC): Likewise.
	(TARGET_OS_CPP_BUILTINS): Define.
	(TARGET_DEFAULT): Redefine.
	(SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
	* config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Remove.
	(LINK_SPEC): Don't redefine.
	(LINK_DEFAULT_CPU_EMUL): Redefine.
	(TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
	* sh.c (sh_asm_named_section): Don't declare / define.
	* t-linux (MULTILIB_OPTIONS): Rely on pre-set endianness option.
	* config.gcc (sh-*-elf* tm_file): Add dbxelf.h elfos.h svr4.h.
	(sh64-*-elf* tm_file): Likewise.
	(sh-*-rtemself* tm_file): Likewise.
	(sh-*-linux* tm_file): Likewise.  Add sh/little.h.
	(sh-*-linux* tmake_file): Add sh/t-le.
	(sh-*-rtems* tm_file): Add sh/coff.h
	(sh-*-* tm_file): Likewise.


	* sh.h (LEGITIMATE_PIC_OPERAND_P): Check for SYMBOL_REF before using
	CONSTANT_POOL_ADDRESS_P.

	* coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Define.

Co-Authored-By: Jason R. Thorpe <thorpej@wasabisystems.com>

From-SVN: r53974
2002-05-28 23:26:43 +01:00
Richard Henderson
9c07557009 * config.gcc: Obsolete mn10200.
From-SVN: r53944
2002-05-28 00:02:44 -07:00
Zack Weinberg
c7bdf0a6af config.gcc: Remove all stanzas for previously obsoleted systems.
* config.gcc: Remove all stanzas for previously obsoleted
	systems.  Where necessary, add explicit error stanzas to
	prevent removed systems from being misidentified as something
	else.  Begin a fresh obsoletions list, with the systems that
	were reprieved last round.
	* doc/install.texi: Remove all mention of dead targets.
	* fixinc/mkfixinc.sh: Likewise.

	* config/arm/arm.h: Bit 31 of target_flags is no longer
	reserved.

	* config/1750a/1750a-protos.h, config/1750a/1750a.c,
	config/1750a/1750a.h, config/1750a/1750a.md, config/1750a/ms1750.inc,
	config/a29k/a29k-protos.h, config/a29k/a29k.c, config/a29k/a29k.h,
	config/a29k/a29k.md, config/a29k/rtems.h, config/a29k/t-a29kbare,
	config/a29k/t-vx29k, config/a29k/unix.h, config/a29k/vx29k.h,
	config/alpha/osf12.h, config/alpha/osf2or3.h,
	config/arm/arm-wince-pe.h, config/arm/arm.h, config/arm/riscix.h,
	config/arm/riscix1-1.h, config/arm/rix-gas.h, config/arm/t-riscix,
	config/clipper/clipper-protos.h, config/clipper/clipper.c,
	config/clipper/clipper.h, config/clipper/clipper.md,
	config/clipper/clix.h, config/convex/convex-protos.h,
	config/convex/convex.c, config/convex/convex.h,
	config/convex/convex.md, config/convex/fixinc.convex,
	config/convex/proto.h, config/elxsi/elxsi-protos.h,
	config/elxsi/elxsi.c, config/elxsi/elxsi.h, config/elxsi/elxsi.md,
	config/i386/386bsd.h, config/i386/aix386.h, config/i386/aix386ng.h,
	config/i386/bsd386.h, config/i386/dgux.h, config/i386/djgpp-rtems.h,
	config/i386/isc.h, config/i386/iscdbx.h, config/i386/linux-oldld.h,
	config/i386/next.h, config/i386/osf1-ci.asm, config/i386/osf1-cn.asm,
	config/i386/osf1elf.h, config/i386/osf1elfgdb.h, config/i386/osfelf.h,
	config/i386/osfrose.h, config/i386/rtems.h, config/i386/seq-gas.h,
	config/i386/seq-sysv3.h, config/i386/seq2-sysv3.h,
	config/i386/sequent.h, config/i386/sun.h, config/i386/sun386.h,
	config/i386/t-dgux, config/i386/t-next, config/i386/t-osf,
	config/i386/t-osf1elf, config/i860/bsd-gas.h, config/i860/bsd.h,
	config/i860/fx2800.h, config/i860/i860-protos.h, config/i860/i860.c,
	config/i860/i860.h, config/i860/i860.md, config/i860/mach.h,
	config/i860/paragon.h, config/i860/sysv3.h, config/i860/sysv4.h,
	config/i860/t-fx2800, config/i860/varargs.asm, config/m68k/a-ux.h,
	config/m68k/altos3068.h, config/m68k/apollo68.h,
	config/m68k/aux-crt1.c, config/m68k/aux-crt2.asm,
	config/m68k/aux-crtn.asm, config/m68k/aux-exit.c,
	config/m68k/aux-low.gld, config/m68k/aux-mcount.c,
	config/m68k/auxas.h, config/m68k/auxgas.h, config/m68k/auxgld.h,
	config/m68k/auxld.h, config/m68k/ctix.h, config/m68k/dpx2.h,
	config/m68k/dpx2.ifile, config/m68k/dpx2cdbx.h, config/m68k/dpx2g.h,
	config/m68k/isi-nfp.h, config/m68k/isi.h, config/m68k/lynx-ng.h,
	config/m68k/lynx.h, config/m68k/math-3300.h, config/m68k/news.h,
	config/m68k/news3.h, config/m68k/news3gas.h, config/m68k/newsgas.h,
	config/m68k/next.h, config/m68k/next21.h, config/m68k/rtems.h,
	config/m68k/t-aux, config/m68k/t-lynx, config/m68k/t-next,
	config/m68k/x-next, config/m88k/dgux.h, config/m88k/dgux.ld,
	config/m88k/dguxbcs.h, config/m88k/dolph.h, config/m88k/dolphin.ld,
	config/m88k/luna.h, config/m88k/m88k-coff.h, config/m88k/sysv3.h,
	config/m88k/t-bug, config/m88k/t-dgux, config/m88k/t-dgux-gas,
	config/m88k/t-dguxbcs, config/m88k/t-dolph, config/m88k/t-m88k-gas,
	config/m88k/t-tekXD88, config/m88k/tekXD88.h, config/m88k/tekXD88.ld,
	config/mips/bsd-4.h, config/mips/bsd-5.h, config/mips/dec-bsd.h,
	config/mips/dec-osf1.h, config/mips/elflorion.h,
	config/mips/iris4loser.h, config/mips/mips-5.h, config/mips/news4.h,
	config/mips/news5.h, config/mips/nws3250v4.h, config/mips/osfrose.h,
	config/mips/svr3-4.h, config/mips/svr3-5.h, config/mips/svr4-4.h,
	config/mips/svr4-5.h, config/mips/svr4-t.h, config/mips/t-bsd,
	config/mips/t-bsd-gas, config/mips/t-svr3, config/mips/t-svr3-gas,
	config/mips/t-svr4, config/mips/t-svr4-gas, config/mips/t-ultrix,
	config/mips/ultrix.h, config/nextstep-protos.h, config/nextstep.c,
	config/nextstep.h, config/nextstep21.h, config/ns32k/encore.h,
	config/ns32k/merlin.h, config/ns32k/pc532-mach.h,
	config/ns32k/pc532-min.h, config/ns32k/pc532.h,
	config/ns32k/sequent.h, config/ns32k/tek6000.h,
	config/ns32k/tek6100.h, config/ns32k/tek6200.h, config/pj/lib1funcs.S,
	config/pj/linux.h, config/pj/pj-protos.h, config/pj/pj.c,
	config/pj/pj.h, config/pj/pj.md, config/pj/pjl.h, config/pj/t-pj,
	config/sparc/rtems.h, config/we32k/we32k-protos.h,
	config/we32k/we32k.c, config/we32k/we32k.h, config/we32k/we32k.md:
	Delete file.

From-SVN: r53862
2002-05-25 02:10:46 +00:00
Mark Mitchell
bce0deb2b6 * config.gcc (powerpc-wrs-windiss*): New target.
From-SVN: r53635
2002-05-19 17:17:34 +00:00
Richard Henderson
410b770f63 * config.gcc: Do not use rs6000-c.c on powerpc-darwin.
From-SVN: r53604
2002-05-18 19:42:37 -07:00
Zack Weinberg
a5c76ee6e2 rs6000.c (rs6000_default_long_calls, [...]): New.
* config/rs6000/rs6000.c (rs6000_default_long_calls,
	rs6000_longcall_switch, rs6000_set_default_type_attributes): New.
	(TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Set it.
	(rs6000_override_options): Handle -m(no-)longcall.
	(init_cumulative_args, output_mi_thunk): Check for both
	longcall and shortcall attributes on the function.
	(rs6000_attribute_table): Add "shortcall".
	(rs6000_handle_longcall_attribute): Update comment.
	(altivec_expand_unop_builtin, altivec_expand_binop_builtin,
	altivec_expand_ternop_builtin): Add default clauses to switches
	to silence warnings.

	* config/rs6000/rs6000.h: Declare rs6000_longcall_switch and
	rs6000_default_long_calls.  Define REGISTER_TARGET_PRAGMAS.
	(TARGET_OPTIONS): Add longcall and no-longcall.

	* config/rs6000/rs6000.md (call_nonlocal_sysv,
	call_value_nonlocal_sysv): Split by alternatives.  One pair
	accepts only SYMBOL_REFs and rejects if CALL_LONG is set in
	the call cookie.  The other pair accepts only LR/CTR and has
	no restriction.

	* config.gcc (rs6000-*-* | powerpc*-*-* trailer stanza):
	Set c_target_objs, cxx_target_objs; add t-rs6000-c-rule to
	tmake_file.
	* config/rs6000/rs6000-c.c: New file.
	* config/rs6000/t-rs6000-c-rule: New file.
	* config/rs6000/rs6000-protos.c: Add multiple-include guard.
	Prototype rs6000_pragma_longcall.

	* doc/extend.texi: Document shortcall attribute.
	* doc/invoke.texi: Document -mlongcall, -mno-longcall.

From-SVN: r53382
2002-05-11 16:25:05 +00:00
Jason Thorpe
40cd22f223 * config.gcc (alpha*-*-netbsd*): Don't use crtstuff.
From-SVN: r53198
2002-05-05 22:23:40 +00:00
Jakub Jelinek
0a2950527d re PR target/6540 (sparc-sun-solaris2.7 (perhaps all bi-arch sparc) fail libstdc++-v3 18_support/numeric_limits.cc)
2002-05-02  Jakub Jelinek  <jakub@redhat.com>

	PR target/6540
	* config.gcc (sparc*-*-solaris2*): Set float_format to i128.
	* config/float-sparc.h: Assume 128-bit long double if
	__LONG_DOUBLE_128__ is defined.

From-SVN: r53069
2002-05-02 14:30:38 -07:00
Zack Weinberg
8998d5bf40 config.gcc: Correct test of --enable-obsolete.
* config.gcc: Correct test of --enable-obsolete.  Obsolete all
	A29k configurations.
	* doc/install.texi: Update to match.

From-SVN: r53009
2002-05-01 18:42:55 +00:00
John David Anglin
ed9d6ff9f1 config.gcc (hppa1.1-*-pro*, [...]): Define xmake_file.
* config.gcc (hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-rtems*,
	hppa1.0-*-osf*, hppa1.1-*-bsd*, hppa1.1-*-hpux10*, hppa2*-*-hpux10*,
	hppa1.0-*-hpux10*, hppa*64*-*-hpux11*, hppa1.1-*-hpux11*,
	hppa2*-*-hpux11*, hppa1.0-*-hpux11*, hppa*-*-lites*): Define xmake_file.
	* pa/t-linux, pa/t-pa, pa/t-pa64, t-pro (T_ADAFLAGS): Delete.
	* pa/x-ada: New file.  Define ADA_CFLAGS.

From-SVN: r52969
2002-04-30 19:47:38 +00:00
Zack Weinberg
9340544b77 re PR c/6300 (sparc-sun-solaris2.7 gcc-3.1 C testsuite failure in gcc.dg/cpp/charconst.c)
* c-lex.c (lex_charconst): Call convert to get constant in
	proper type; don't just smash the type field.
	Fixes PR c/6300.

	* config.gcc: Add list of obsolete configurations.  Disallow
	building these without --enable-obsolete.
	* doc/install.texi: Document --enable-obsolete and obsoletion
	policy.  Mention obsoletion of individual targets in
	appropriate places.

From-SVN: r52639
2002-04-22 22:25:14 +00:00
Richard Henderson
f0871dfe8f sol2-bi.h (AS_SPARC64_FLAG): New.
* config/sparc/sol2-bi.h (AS_SPARC64_FLAG): New.
        * config/sparc/sol2-gas-bi.h: New file.
        * config.gcc (sparc*-solaris): Add it as needed.
        * configure.in (AS_SPARC64_FLAG): Remove check.
        * config.in, configure: Regenerate.

From-SVN: r52393
2002-04-16 18:37:42 -07:00
Richard Henderson
8947df0cbb config.gcc (sparcv9-solaris): Configure for 64-bit default.
* config.gcc (sparcv9-solaris): Configure for 64-bit default.
        Adjust tm_file order to get TARGET_DEFAULT set properly.
        (sparc-solaris): Configure 2.[78] for 64-bit multilibs.
        * doc/install.texi (sparc-solaris): Update.

From-SVN: r52373
2002-04-16 11:05:20 -07:00
Roland McGrath
83248d496d config.gcc (alpha*-*-gnu*): New target configuration.
* config.gcc (alpha*-*-gnu*): New target configuration.
        * config/alpha/gnu.h: New file for it.
        * config/gnu.h (TARGET_MEM_FUNCTIONS): #undef before #define.

From-SVN: r52332
2002-04-15 13:44:35 -07:00
Richard Henderson
3fc602a055 config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
* config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
        (sparc*-*-solaris): Clean up header files.
        * configure.in (AS_SPARC64_FLAG): Error out if can't find it
        and plan on generating 64-bit code.
        * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
        * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
        * config/sparc/sol2-sld-64.h: Rename ...
        * config/sparc/sol2-bi.h: ... here.  Remove the bits that checked
        for AS_SPARC64_FLAG not defined.
        * config/sparc/sol2-gld-bi.h: New.
        * config/sparc/sol2-sld.h: Remove.
        * config/sparc/sol26-sld.h: New.
        * config/sparc/sol2.h: Tidy comments.
        * doc/install.texi: Document sparc-solaris configury changes.

From-SVN: r52251
2002-04-12 16:02:45 -07:00
David O'Brien
fee42cc1e8 config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match all other *-*-freebsd* targets.
2002-04-11  David O'Brien  <obrien@FreeBSD.org>
	* config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
	all other *-*-freebsd* targets.

Approved by:  Richard Henderson <rth@redhat.com>
              Message-ID: <20020411174756.A11442@redhat.com>

From-SVN: r52189
2002-04-12 00:54:42 +00:00
Richard Henderson
77a403e4d8 * config.gcc (alpha*-*-linux*ecoff): Detect and reject.
From-SVN: r52188
2002-04-11 16:43:02 -07:00
David O'Brien
cf0005c62f config.gcc (alpha*-*-openbsd, [...]): Include {cpu}/{cpu}.h thru tm_file.
2002-04-11  David O'Brien  <obrien@FreeBSD.org>
	* config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
	Include {cpu}/{cpu}.h thru tm_file.
	(alpha*-*-linux*ecoff): Remove target.
	* config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
	(LINK_SPEC): Remove, is not OS independent.
	* config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
	(LINK_SPEC): Do not need to #undef any longer.
	* config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
	any longer.
	* config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
	__ELF__.
	(LINK_SPEC): Moved here from alpha/elf.h.
	* config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
	SUB_CPP_PREDEFINES.
	* config/alpha/linux-ecoff.h: Remove.
	* config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
	(CPP_SPEC): Define _POSIX_SOURCE as needed.
	(CPP_SUBTARGET_SPEC): Do not define.
	(LINK_SPEC): Do not need to #undef any longer.
	* config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
	* config/alpha/vms.h: Likewise.

Approved by:  Richard Henderson <rth@redhat.com>
              Message-ID: <20020411152309.A11121@redhat.com>
	      Message-ID: <20020411160159.B11250@redhat.com>
	      Jason R Thorpe <thorpej@wasabisystems.com>
	      Message-ID: <20020411161434.I4954@dr-evil.shagadelic.org>

From-SVN: r52186
2002-04-11 23:25:54 +00:00
J"orn Rennecke
1951818c2f config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
* config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
	(sh64-*-elf*, sh-*-rtemself*): Likewise.
	* config/sh/embed_bb.c: New file.
	* config/sh/embed-elf.h: New file.
	* sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
	if -m[12345]* option is given.  Don't use subtarget_cpp_ptr_spec.
	(CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
	__PTRDIFF_TYPE__ .
	(SUBTARGET_CPP_PTR_SPEC): Don't define.
	(EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
	Add subtarget_asm_endian_spec.
	(ASM_SPEC): Use subtarget_asm_endian_spec.
	(SUBTARGET_ASM_ENDIAN_SPEC): Define.
	(RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
	(WCHAR_UNSIGNED): Define.
	(SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
	(DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
	(ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
	Fix value.
	* sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
	(sh_adjust_cost): Likewise.
	sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
	__PTRDIFF_TYPE__ .
	(SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
	(WCHAR_TYPE_SIZE): Likewise.
	(ASM_SPEC): Use subtarget_asm_endian_spec.
	(SH_ELF_WCHAR_TYPE): #undef/ #define.
	(MAX_WCHAR_TYPE_SIZE): Don't #undef.
	* config/sh/elf.h (WCHAR_UNSIGNED): #undef .
	(MAX_WCHAR_TYPE_SIZE): Don't #define .
	(WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
	(USER_LABEL_PREFIX): Don't #undef /#define .
	(DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
	* config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
	(SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
	(ASM_SPEC): Likewise.
	(SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
	(CC1_SPEC): don't supply -m3 for -m4*, -m5*.
	* t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
	(LIB2FUNCS_EXTRA): Define.
	* t-sh64 (LIB2FUNCS_EXTRA): Define.
	* config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
	(LIB1ASMFUNCS_CACHE): Define.
	(LIB2FUNCS_EXTRA): Redefine empty.

From-SVN: r52091
2002-04-09 21:07:15 +01:00
David S. Miller
7a31a340a1 re PR target/6082 (memory model wrong for FreeBSD/sparc64)
2002-04-08  David S. Miller  <davem@redhat.com>

	PR target/6082
	* config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW

	Make init_priority work on Sparc when using GNU ld.
	* config/sparc/linux.h, config/sparc/linux64.h,
	config/sparc/netbsd-elf.h, config/sparc/freebsd.h
	(CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
	* config/sparc/sol2-gld.h: New file to do the same.
	* config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
	sparc/sol2-gld.h to tm_file.

	PR optimization/4328
	* config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
	* doc/md.texi: Document it.
	* config/sparc/sparc.md (movdi_insn_sp64_novis,
	movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
	movdf_insn_v9only_vis, movdf_insn_sp64_novis,
	movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
	* config/sparc/sparc.c (mem_min_alignment): Fix comment.

From-SVN: r52031
2002-04-08 10:20:48 -07:00
David S. Miller
19fe522aa3 config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
2002-04-07  David S. Miller  <davem@redhat.com>

	* config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.

From-SVN: r52011
2002-04-07 17:30:07 -07:00
David S. Miller
2d69e3cb6a freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
2002-04-05  David S. Miller  <davem@redhat.com>

	* config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
	* config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
	sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
	{sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.

From-SVN: r51940
2002-04-05 20:55:28 -08:00
David S. Miller
a261e0cc7b crtfastmath.c: New file.
2002-04-03  David S. Miller  <davem@redhat.com>

	* config/sparc/crtfastmath.c: New file.
	* config/sparc/t-crtfm: New file.
	* config/sparc/linux.h (ENDFILE_SPEC): Use crtfastmath.o
	* config/sparc/linux64.h (ENDFILE_SPEC): Likewise.
	* config/sparc/sol2.h (ENDFILE_SPEC): Likewise.
	* config/sparc/sp64-elf.h (ENDFILE_SPEC): Likewise.
	* config/sparc/elf.h (ENDFILE_SPEC): Likewise.
	* config.gcc (sparc*-*-{elf*,linux*,solaris2*}): Add
	sparc/t-crtfm to tmake_file.

	* config/sparc/sparc-protos.h (sparc_emitting_epilogue): Add.

From-SVN: r51808
2002-04-03 12:13:50 -08:00
David O'Brien
39ed301b58 config.gcc (i386-dg-dgux, [...]): Include as many configury headers via tm_file as possible.
2002-04-02  David O'Brien  <obrien@FreeBSD.org>
	* config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
	i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
	i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
	i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
	i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
	i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
	i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
	i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
	i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
	i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
	i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
	i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
	i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
	i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
	Include as many configury headers via tm_file as possible.  This
	includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
	* config/openbsd-oldgas.h: New file.
	* config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
	config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
	config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
	config/i386/i386-coff.h, config/i386/i386-interix.h,
	config/i386/iscdbx.h, config/i386/linux-aout.h,
	config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
	config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
	config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
	config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
	config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
	config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
	config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
	config/i386/vxi386.h: Do not directly include configury headers.
	* config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
	Directly include configury headers that are no longer automatically
	included by the above headers.
	* config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
	* config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
	config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
	config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
	config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
	config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
	config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
	(TARGET_VERSION): Define.
	* config/i386/beos-elf.h, config/i386/freebsd.h,
	config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
	config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
	config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
	config/i386/sco5.h, config/i386/sysv4.h
	(TARGET_VERSION): Do not need to protect.
	* config/i386/freebsd64.h (TARGET_VERSION): Fix style.
	* config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
	config/i386/freebsd-aout.h, config/i386/i386-aout.h,
	config/i386/i386-interix.h, config/i386/linux-aout.h,
	config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
	config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
	(YES_UNDERSCORES): Do not define - not needed.
	* config/i386/bsd.h, config/i386/gas.h (LPREFIX,
	ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
	USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
	* config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
	(LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
	USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
	* config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
	* config/i386/isccoff.h, config/i386/v3gas.h: Remove.

Approved by:  Richard Henderson <rth@redhat.com>
              Message-ID: <20020402190415.D29320@redhat.com>

From-SVN: r51791
2002-04-03 03:49:19 +00:00
Loren J. Rittle
bc3a44dbca config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
* config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
	* config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
	No functional change except ...
	* config/t-slibgcc-nolc-override (SHLIB_LC): Override it.  New file.
	* doc/install.texi (*-*-freebsd*): Document port configuration.

From-SVN: r51574
2002-03-29 22:01:18 +00:00
Richard Henderson
300d40935c * config.gcc (sparc*-solaris): Use float_format=sparc.
From-SVN: r51424
2002-03-26 18:24:28 -08:00
Alan Modra
2a78758be5 t-linux64: New.
* config/rs6000/t-linux64: New.
	* config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
	t-ppccomm.  Use t-rs6000 and t-linux64.
	(powerpc64-*-gnu* <tmake_file>): Likewise.

From-SVN: r51150
2002-03-22 10:49:56 +10:30
Jakub Jelinek
048b1c951b re PR c/5972 (produces wrong assembly code when -march=pentiumpro and optimization (e.g. -O2)is on)
PR c/5972
	* config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
	movsfcc_1, movdfcc_1): Add %O2.
	* config/i386/i386.c (print_operand): Handle %ON.
	Print . before float condition codes in Sun as cmov syntax.
	* config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
	* config.gcc (i[34567]86-*-solaris2*): Remove comment which is
	no longer true.

From-SVN: r51086
2002-03-20 22:47:07 +01:00
Krister Walfridsson
123455433f * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
From-SVN: r50297
2002-03-04 17:38:39 -08:00
Aldy Hernandez
3b7d0e9830 config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
2002-03-03  Aldy Hernandez  <aldyh@redhat.com>

        * config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
        (powerpc-*-eabisimaltivec*): Same.

        * config/rs6000/t-ppcendian: New.

From-SVN: r50268
2002-03-04 00:30:25 +00:00
David O'Brien
e005418551 config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification of "ultrasparc".
2002-02-28  David O'Brien  <obrien@FreeBSD.org>
	* config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
	of "ultrasparc".
	* config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS.  It appears
	to be broken.

Approved by:  Richard Henderson <rth@redhat.com>
              Message-ID: <20020228100723.A30279@redhat.com>

From-SVN: r50165
2002-02-28 23:06:25 +00:00
Matthew Green
4cb7482c3a config.gcc (sparc-*-netbsdelf*): Enable target.
2002-02-19  matthew green  <mrg@eterna.com.au>

* config.gcc (sparc-*-netbsdelf*): Enable target.
(sparc64-*-netbsd*): New target.
* config/sparc/netbsd-elf.h: New file.
* config/sparc/t-netbsd64: New file.

From-SVN: r49870
2002-02-19 17:43:25 +00:00
Roland McGrath
ddb284412e config.gcc (powerpc-*-gnu-gnualtivec*, [...]): New configurations.
2002-01-21  Roland McGrath  <roland@frob.com>

        * config.gcc (powerpc-*-gnu-gnualtivec*,
        powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
        * config/rs6000/gnu.h: New file.
        * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
        Grok "gnu" in rs6000_abi_name.
        (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
        CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
        Grok -mcall-gnu analogous to -mcall-linux et al.
        (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
        LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
        (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.

From-SVN: r49826
2002-02-17 18:06:55 -05:00
Hans-Peter Nilsson
fdc76b0969 * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
From-SVN: r49764
2002-02-14 11:08:57 +00:00
Joel Sherrill
f22b4bc43d config.gcc (a29k-*-rtems): General cleanup across all RTEMS targets...
2002-02-13	Joel Sherrill <joel@OARcorp.com>

	* config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
	all RTEMS targets including removal of #includes from config/*/rtems*.h
	file and adding them to tm_file setting. Added xm_defines=POSIX to
	many targets.
	* config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
	* config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
	* config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
	* config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
	* config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
	config/m68k/rtemself.h: Ditto.
	* config.gcc (mips*-*-rtems*), config/mips/rtems.h,
	config/mips/rtems64.h: Ditto.
	* config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
	* config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
	Ditto.
	* config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
	config/sparc/rtemself.h: Ditto.
	* config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
	* config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
	arm-rtems stanza closer to other arm-elf targets and made arm-rtems
	more like arm-elf.
	* config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
	config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
	target made more similar to i386-elf.
	* config/i386/t-rtems-i386: Added soft float support and multilibs.
	* config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
	be similar to config/m68k/t-m68kelf.
	* gthr-rtems.h: Encapsulate with extern "C" for C++.

From-SVN: r49749
2002-02-13 22:49:03 +00:00
Alexandre Oliva
fa5322fa58 Contribute sh64-elf.
2002-02-09  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
(sh_cannot_modify_jumps_p): New function.
2002-02-05  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
(sh_ms_bitfield_layout_p): New function.
2002-02-04  Alexandre Oliva  <aoliva@redhat.com>
	    Zack Weinberg  <zack@codesourcery.com>
* config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
expand_simple_binop instead of expand_binop.
2002-02-03  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
use of .quad and .uaquad.
* config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.md (movdi_const, movdi_const_32bit,
movdi_const_16bit): Make sure all CONSTs have modes.
(sym2PIC): Ditto, but by adjusting all callers.
* config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
if the prologue calls the SHmedia argument decoder or register
saver.
2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
(TARGET_ASM_ALIGNED_DI_OP): Likewise.
(sh_expand_epilogue): Don't emit USE of return target register.
(prepare_move_operands): Legitimize DImode PIC addresses.
(sh_media_register_for_return): Skip tr0, used to initialize the
PIC register.
(sh_expand_prologue): Remove explicit USE of return register.
(nonpic_symbol_mentioned_p): PC is non-PIC.  Don't recurse in
CONST_DOUBLEs.  UNSPEC_GOTPLT is PIC.
* config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
(OVERRIDE_OPTIONS): Don't disable PIC on SH5.
(EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
EXTRA_CONSTRAINT_T.
(GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
(MOVI_SHORI_BASE_OPERAND_P): New.
(NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
(EXTRA_CONSTRAINT_T): Define in terms of them.
(OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
* config/sh/sh.md (movsi_media, movsi_media_nofpu,
movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
alternatives supporting TARGET_REGS.
(UNSPEC_GOTPLT): New constant.
(movdi split): Move incrementing of LABEL_NUSES...
(movdi_const, movdi_const_32bit): Here.  Use
MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
(movdi_const_16bit): New.
(call, call_value) [flag_pic]: Use GOTPLT.
(call_pop, call_value_pop): New expands.
(call_pop_compact, call_pop_rettramp): New insns.
(call_value_pop_compact, call_value_pop_rettramp): New insns.
(sibcall) [flag_pic]: Use GOT.
(builtint_setjmp_receiver): Remove bogus, unused expand.
(GOTaddr2picreg): Implement for SHcompact and SHmedia.
(*pt, *ptb, ptrel): New insns.
(sym2GOT): Handle DImode GOT.
(sym2GOTPLT, symGOTPLT2reg): New expands.
(sym2PIC): New expand.
(shcompact_return_tramp): Use GOTPLT to return trampoline.
(shcompact_return_tramp_i): Use return register explicitly.
* config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
disable flag_reorder_blocks.
2002-01-19  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.md (sibcall_compact): Reorder return, uses and
clobbers, for clarity.
(sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
restoring of r0 in macl as MAYBE_DEAD.
2002-01-18  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
* config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
alter_subreg all over.
(jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
reload, instead of emitting instructions that would require
reloading.
(casesi_load_media): Add missing modes.
2001-11-09  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.c (sh_expand_prologue): Mark the PIC register
as used if the argument decoder is called.
2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
Pmode, then extend it to DImode if necessary.
2001-08-28  Stephen Clarke  <Stephen.Clarke@st.com>
* config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
constants in FPU-enabled SHmedia, let them be loaded from memory.
2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
Adjust whitespace in assembly output templates.
2001-08-28  Stephen Clarke  <Stephen.Clarke@st.com>
* config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
mode of if_then_else.
2001-08-04  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
sh.h.
2001-07-26  Andrew Haley  <aph@cambridge.redhat.com>
	    Joern Rennecke <amylaar@redhat.com>
* config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
(SUBTARGET_CPP_PTR_SPEC): New.
(SUBTARGET_CPP_SPEC): Remove.
2001-07-06  Chandrakala Chavva  <cchavva@redhat.com>
* config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
Fix typo in previous checkin.
2001-07-11  Chandrakala Chavva  <cchavva@redhat.com>
* config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
2001-07-10  Chandrakala Chavva  <cchavva@cygnus.com>
	    Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
what single FP register can hold for SHmedia target.
2001-07-06  Chandrakala Chavva  <cchavva@redhat.com>
	    Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
Do not split into SUBREG.
2001-06-14  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
and added new functions as specified in SH5 ABI r9.
2001-06-04  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
8-byte boundary.
2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.c (dump_table): Add const0_rtx in calls of
gen_consttable_4 and gen_consttable_8.  Emit multiple labels
and consttable_window_ends.
2001-06-03  Graham Stott  <grahams@redhat,com>
* config/sh/sh.md (movdi split): Remove unused variable last_insn.
2001-05-16  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.c (print_operand): Handle floating-point pair,
vector and matrix registers.
* config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
vector modes into account.
* config/sh/sh.md (movv2sf): Split move between registers into
movdf.
(movv4sf, movv16sf): Introduce insns that get split only after
reload.
* config/sh/shmedia.h: Fix Copyright dates.
* config/sh/ushmedia.h: Likewise.  Move loop counter
declarations into conditionals that uses them.
(sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
loop boundary.
* config/sh/sshmedia.h: Fix Copyright dates.
(sh_media_PUTCFG): Fix constraints.
2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
ptrmemfunc_vbit_in_delta for SH5.
2001-05-08  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
* invoke.texi: Likewise.
2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
GCC_pop_shmedia_regs_nofpu): New global symbols.
* config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
* config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
* config/sh/sh.c (calc_live_regs): Account for PR's saving in
compact function with nonlocal labels.
(sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
(sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
(initial_elimination_offset): Account for their stack space.
* config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
* config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
least one of the operands to be a register.
(movv2sf): Likewise.  Renamed to movv2sf_i.
(movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
prepare_move_operands() before emitting SHmedia insns.
2001-04-03  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
Don't save nor initialize r12.  Don't mis-align the stack.
Pad the code with a nop.
* config/sh/crti.asm: Don't restore r12.  Don't mis-align the
stack.
2001-03-13  Alexandre Oliva  <aoliva@redhat.com>
* gcc/longlong.h (__umulsidi3, count_leading_zeros)
[__SHMEDIA__]: Implement.
2001-03-11  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.md: Set latency of `pt' closer to reality.
(movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
Set move, load and store type attributes.
* config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
* config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
profiling.
* config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
* config/sh/sh-protos.h (sh_media_register_for_return): Declare.
* config/sh/sh.c (sh_media_register_for_return): New function.
(sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
branch-target register.
(sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
* config/sh/sh.md (return_media_i): Use any call-clobbered
branch-target register.
(return_media): If r18 wasn't copied in the prologue, copy it
here.
* config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
Clear class FP0_REGS.
* config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
from elf.h.
2001-03-08  DJ Delorie  <dj@redhat.com>
* config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.md (sibcall_compact): Set fp_mode to single.
2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
2001-02-03  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
return value correctly for call_cookie.
2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/crt1.asm (start): Modified so as to call
___setup_argv_and_call_main.
2001-01-26  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
SHmedia mode.
2001-01-20  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
(STRIP_NAME_ENCODING): Use it.
(ASM_OUTPUT_LABELREF): Likewise.  Don't call assemble_name().
2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
prepare_scc_operands().
* config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
(DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
2001-01-17  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
* config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
used in shcompact_incoming_args.
* config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
change.
* config/sh/crt1.asm (start) [SH5]: Switch to single-precision
mode.
* config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
Adjust accordingly.
* config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
Simplify.  Adjust.  Add sanity check.
* config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
FPU_SINGLE_BIT.
* config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
TARGET_SHCOMPACT.
(udivsi3, divsi3): Use them.
(force_mode_for_call): New insn.
(call, call_value, sibcall_value): Emit it before SHcompact
calls.
2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.md (call, call_value, sibcall): Make sure the
call cookie is non-NULL before taking its value.
2001-01-10  Alexandre Oliva  <aoliva@redhat.com>
* config.gcc (sh64): Set target_requires_64bit_host_wide_int.
2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.md (shcompact_incoming_args): Set argument memory
block.
* config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
* config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
temporary for stack adjusts.  Use MACL and MACH to pass
arguments to shcompact_incoming_args.
* config/sh/sh.md (shcompact_incoming_args): Adjust.  Don't
clobber r1.
* config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
(nested_trampoline): Load static chain address into r1.
* config/sh/sh.md (movdi_media splits): Fix sign-extension.
2001-01-07  Alexandre Oliva  <aoliva@redhat.com
* config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
fp_arith_reg_operand().
2001-01-06  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.md (casesi): Sign-extend the first two operands,
and use signed compares for them.
* config/sh/sh.c (dump_table): Don't emit 8-byte constants after
4-byte ones.  Instead, inter-leave them, maintaining the 8-byte
ones properly aligned.
(find_barrier): Account for extra alignment needed for 8-byte wide
constants.
(machine_dependent_reorg): Require a label for the second 4-byte
constant after an 8-byte one.
* config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
change.
2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
last_float when switching float modes.
* config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
auto-increment for general-purpose registers.
* config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
result.
* config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
for stack adjust.
* config/sh/sh.c (sh_builtin_saveregs): Support using all
registers for varargs.
2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
* config/sh/sh.h (CALL_COOKIE_STACKSEQ,
CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
(CALL_COOKIE_INT_REG_SHIFT): Adjust.
(FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK.  Adjust
call_cookie accordingly.
(FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
(SHCOMPACT_BYREF): Likewise.
(SHCOMPACT_FORCE_ON_STACK): New macro.
* config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
(sh_builtin_saveregs): Likewise.
* config/sh/lib1funcs.asm (shcompact_call_trampoline,
shcompact_incoming_args): Use new shift values.  Support
sequences of consecutive and non-consecutive pushes/pops.
* config/sh/sh.md (return): Don't explicitly use PR_REG.
2001-01-05  Hans-Peter Nilsson  <hpn@cygnus.com>
* config/sh/sh.h (TEXT_SECTION): Define.
* config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
* config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
return values on FPU-enabled SHmedia.
(FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
FPU-enabled SHmedia.
(INIT_CUMULATIVE_ARGS): Set up return trampoline only if
value is returned in a non-FP reg and is not returned by
reference.
* config/sh/sh.md (shcompact_return_tramp_i): Change type to
jump_ind.
2000-01-04  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
(FUNCTION_ARG_CALLEE_COPIES): Require argument to be
quad-aligned to be passed by callee-copy reference.
2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
* config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
2001-01-02  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
copying low-numbered FP regs to r7 and r8.
* config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
FP regs to general-purpose regs only if the copy was passed on the
stack.
* config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
copying FP reg to r9.
* config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
copy FP regs to general-purpose regs only in outgoing calls.
* config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
change from 	2000-10-30.  Adjust for 64-bit (or 32-bit)
HOST_WIDE_INT.
* config/sh/sh.h (struct sh_args): Document all fields.
(FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
passed partially on the stack should not consider making
sibcalls.
* config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
stack_regs only for incoming calls.  When passing FP args,
make sure there are FP regs available before modifying
call_cookie.
(SHCOMPACT_BYREF): Pass double args in general-purpose
registers by reference.
2000-12-30  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
attempt to generate sibcalls if the caller got any arguments
by reference.
* config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
* config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
to 8-byte boundaries.
* config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
* config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
* config/sh/sh.c (sh_expand_prologue): Preserve args that will be
stored in the stack.
* config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
for the offsets to have the ISA bit set.
(shcompact_call_trampoline): Document.  Swap r0 and r1, to match
invocation.  Use beq instead of bgt to mark end of sequence of
loads.
(shcompact_incoming_args): Fix store of r2.  Use beq instead of
bgt to mark end of sequence of stores.
* config/sh/sh.c (arith_operand): Don't check whether
CONST_OK_FOR_J for now.
* config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
instead of long for conversion.
2000-12-29  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.c (print_operand_address): Convert INTVAL to int
before passing it to fprintf.
2000-12-28  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
Call set_fpscr before reading/writing SR.
* config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
Call set_fpscr.
* config/sh/lib1funcs.asm: Add `.align 2' directives before
SHmedia code.
(FMOVD_WORKS): Define on SH5 with FPU.
(set_fpscr): Define on SH5.  Remove separate _fpscr_values
setting.
* config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
_fpscr_values.
2000-12-28  Hans-Peter Nilsson  <hpn@cygnus.com>
* config/sh/lib1funcs.asm (ct_main_table): Align contents to even
address.
(ia_main_table): Ditto.
2000-12-27  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
* config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
the definitions from sh.h.
* config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
TARGET_SH5.
(SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
* config/sh/elf.h (PTRDIFF_TYPE): Likewise.
* config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
2000-12-26  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
Increment LABEL_NUSES.

From-SVN: r49630
2002-02-09 03:08:08 +00:00
Andreas Jaeger
565472991e config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
* config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
	* config/i386/t-linux64: New file.

From-SVN: r49610
2002-02-08 08:53:36 +01:00
Ulrich Weigand
e8487c0417 config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
* config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
	* config/s390/t-linux64: New file.
	* config/s390/libgcc-glibc.ver: New file.

From-SVN: r49553
2002-02-06 21:19:46 +00:00
Ulrich Weigand
58d10f89c4 linux64.h: Delete file.
* config/s390/linux64.h: Delete file.
	* config/s390/s390x.h: New file.
	* config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
	as target header file.
	* config/s390/linux.h (TARGET_VERSION): Define depending on
	DEFAULT_TARGET_64BIT.
	(CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
	(SIZE_TYPE, PTRDIFF_TYPE): Likewise.
	(NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
	(CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
	(LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
	(EXTRA_SPEC): New define.
	* config/s390/s390.h (TARGET_VERSION): Define depending on
	DEFAULT_TARGET_64BIT.
	(MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.

From-SVN: r49552
2002-02-06 20:55:37 +00:00
Jason Thorpe
69474c3c18 config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match by existing arm*-*-netbsd* (a.out) target.
* config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
by existing arm*-*-netbsd* (a.out) target.
(ns32k-*-netbsdelf*): Likewise.
(sparc-*-netbsdelf*): Likewise.
(vax-*-netbsdelf*): Likewise.

From-SVN: r49467
2002-02-03 21:52:34 +00:00
Jason Thorpe
2fd95d71b4 config.gcc: Set cpu_type to m68k for 68010, as well.
* config.gcc: Set cpu_type to m68k for 68010, as well.
(m68010-*-netbsdelf*): New...
(m68k*-*-netbsdelf*): ...targets.
* config/m68k/netbsd-elf.h: New file.

From-SVN: r49464
2002-02-03 20:53:44 +00:00
David O'Brien
86f808dc81 config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
2002-01-30  David O'Brien  <obrien@FreeBSD.org>
	* config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
	* config/sparc/sparc_bi.h: Remove file.
	* config/sparc/biarch64.h: New file (rename of sparc_bi.h).

Approved by:  Richard Henderson <rth@redhat.com>
              Message-ID: <20020130102608.B9040@redhat.com>

From-SVN: r49346
2002-01-30 22:37:10 +00:00
Richard Earnshaw
5721cd8402 * config.gcc: Revert previous change.
From-SVN: r49290
2002-01-28 18:20:58 +00:00
Richard Earnshaw
5a721dab82 config.gcc (*-*-netbsdelf*): Set up generic parameters.
* config.gcc (*-*-netbsdelf*): Set up generic parameters.
(*-*-netbsd*): Always use collect2.  Remove collect2 settings from
other non-elf netbsd config frags.
* config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
collect2 will does that.
* config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
shared-lib frobbing will work.

From-SVN: r49285
2002-01-28 16:25:14 +00:00
Richard Henderson
cea3bd3e5a Makefile.in (CRTSTUFF_CFLAGS): New.
* Makefile.in (CRTSTUFF_CFLAGS): New.
	(crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
	* config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
	crtstuff.c instead of alpha assembly version.
	* crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
	entire dummy function sequence.  Use FORCE_CODE_SECTION_ALIGN
	not FORCE_{INIT,FINI}_SECTION_ALIGN.
	(__do_global_dtors_aux): Mark used.
	(frame_dummy, __do_global_ctors_aux): Mark used.
	(fini_dummy, init_dummy): Remove.

	* config/alpha/crtbegin.asm: Remove file.
	* config/alpha/crtend.asm: Remove file.
	* config/alpha/t-crtbe: Remove file.
	* config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
	(LINK_EH_SPEC): New.

	* config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
	FORCE_INIT_SECTION_ALIGN hack.  Register __fini_start before
	calling constructors.
	* config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.

	* config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
	* config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
	CRT_END_INIT_DUMMY hack.
	* config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
	FORCE_{INIT,FINI}_SECTION_ALIGN.

	* config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
	FORCE_{INIT,FINI}_SECTION_ALIGN.

	* config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
	invocation sequence.
	* config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.

	* doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
	(FORCE_CODE_SECTION_ALIGN): New.

From-SVN: r49261
2002-01-26 20:18:12 -08:00
David O'Brien
e564e61805 config.gcc (x86_64-*-freebsd*): New target.
2002-01-25  David O'Brien  <obrien@FreeBSD.org>
	* config.gcc (x86_64-*-freebsd*): New target.
	(x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
	value.
	(i[34567]86-*-freebsd*): Don't include svr4.h.
	* config/i386/freebsd64.h: New file.

Approved by:  Richard Henderson <rth@redhat.com>
              Message-ID: <20020125160119.B17943@redhat.com>

From-SVN: r49233
2002-01-26 01:23:27 +00:00
Douglas B Rupp
ff3aaf1732 Makefile.in (install-headers-cp): New target.
* Makefile.in (install-headers-cp): New target.
	* config.gcc (alpha-dec-*vms*): Install headers with
	install-headers-cp

From-SVN: r49229
2002-01-25 18:46:14 -05:00
Bob Wilson
039843087a elf.h: New file.
* config/xtensa/elf.h: New file.
        * config/xtensa/lib1funcs.asm: New file.
        * config/xtensa/lib2funcs.S: New file.
        * config/xtensa/linux.h: New file.
        * config/xtensa/t-xtensa: New file.
        * config/xtensa/xtensa-config.h: New file.
        * config/xtensa/xtensa-protos.h: New file.
        * config/xtensa/xtensa.c: New file.
        * config/xtensa/xtensa.h: New file.
        * config/xtensa/xtensa.md: New file.
        * config.gcc (xtensa-*-elf*): New target.
        (xtensa-*-linux*): New target.
        * cse.c (canon_hash): Compare rtx pointers instead of register
        numbers.  This is required for the Xtensa port.
        * integrate.c (copy_insn_list): Handle case where the static
        chain is in memory and the memory address has to be copied to
        a register.
        * doc/invoke.texi (Option Summary): Add Xtensa options.
        (Xtensa Options): New node.
        * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
        * gcc.c-torture/compile/20001226-1.x: xfail for Xtensa.

From-SVN: r49155
2002-01-23 21:03:53 +00:00
Jason Thorpe
7c884404e0 config.gcc (x86_64-*-netbsd*): New target.
* config.gcc (x86_64-*-netbsd*): New target.
* config/i386/netbsd64.h: New file.

From-SVN: r49087
2002-01-22 19:48:27 +00:00
Jason Thorpe
f982f8052a netbsd.h (TARGET_HAS_F_SETLKW): define.
* config/netbsd.h (TARGET_HAS_F_SETLKW): define.
Split a.out-specific bits into...
* config/netbsd-aout.h: ...this.
* config/netbsd-elf.h: New file.
* config/alpha/netbsd-elf.h: Remove.
* config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
* config/i386/netbsd-elf.h (LIB_SPEC): Remove.
(STARTFILE_SPEC): Remove redundant definition.
(ENDFILE_SPEC): Likewise.
(LINK_SPEC): Likewise.
(CPP_SPEC): Likewise.
(ASM_SPEC): Likewise.
(LIB_SPEC): Likewise.
(SWITCH_TAKES_ARG): Likewise.
(TARGET_MEM_FUNCTIONS): Likewise.
(CPP_PREDEFINES): Redefine.
(ASM_FINAL_SPEC): Remove redefinition.
(ASM_COMMENT_START): Redefine.
(FUNCTION_PROFILER): Define.
(TARGET_VERSION): Redefine.
Comment and formatting cleanup.
* config/i386/netbsd.h: Include <netbsd-aout.h>.
* config/m68k/netbsd.h: Include <netbsd-aout.h>.
* config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
big- or little-endian.
* config/ns32k/netbsd.h: Include <netbsd-aout.h>.
* config.gcc (*-*-netbsd*): Add definitions common to all
NetBSD configs.
(alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
gnu_ld definitions.  Add netbsd-elf.h to and remove
alpha/netbsd-elf.h from tm_file.  Remove alpha/t-crtfm from
tmake_file, and don't lose previous tmake_file contents.
(arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
(i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
gnu_ld definitions.  Add netbsd-elf.h to tm_file.
(mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
(mipsel-*-netbsd*): Rename this to...
(mips*-*-netbsd*): ...this.  Add elfos.h to tm_file.  Add
mips/little.h to tm_file for mips*el-*.
(powerpc-*-netbsd*): Remove redundant xm_defines definition.
(sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
(vax-*-netbsd*): Add netbsd-aout.h to tm_file.

From-SVN: r49064
2002-01-22 04:23:07 +00:00
Daniel Jacobowitz
94f1d97c48 config.gcc: Add entries to supported PowerPC --with-cpu types.
2002-01-21  Daniel Jacobowitz  <drow@mvista.com>

        * config.gcc: Add entries to supported PowerPC --with-cpu
        types.

From-SVN: r49047
2002-01-21 11:14:48 -05:00
John David Anglin
eab854f689 * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
From-SVN: r49013
2002-01-19 20:42:33 +00:00
Aldy Hernandez
5fb4cf2456 config.gcc (cpu_type): Include altivec.h in powerpc extra_headers.
2002-01-17  Aldy Hernandez  <aldyh@redhat.com>

        * config.gcc (cpu_type): Include altivec.h in powerpc
        extra_headers.
        Same for darwin.

        * config/rs6000/altivec.h: New.

From-SVN: r48963
2002-01-17 20:07:06 +00:00
H.J. Lu
5f083b7255 t-linux: New.
2002-01-16  H.J. Lu <hjl@gnu.org>

	* config/mips/t-linux: New.

	* config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.

	* config/mips/linux.h: Don't include "gofast.h".
	(INIT_SUBTARGET_OPTABS): Removed.

From-SVN: r48936
2002-01-16 17:22:02 -08:00
Aldy Hernandez
5e505bc919 config.gcc: Change altivec.h to altivec-defs.h.
2002-01-15  Aldy Hernandez  <aldyh@redhat.com>

        * config.gcc: Change altivec.h to altivec-defs.h.

        * config/rs6000/altivec.h: Delete.

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

From-SVN: r48886
2002-01-15 23:32:44 +00:00
Andreas Jaeger
8559c8c043 config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
* config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.

for testsuite:
	* gcc.dg/i386-mmx-1.c: Also run on x86-64.
	* gcc.dg/i386-mmx-2.c: Likewise.
	* gcc.dg/i386-sse-1.c: Likewise.
	* gcc.dg/i386-sse-2.c: Likewise.
	* gcc.dg/i386-sse-3.c: Likewise.

From-SVN: r48864
2002-01-15 07:17:04 +01:00
Richard Henderson
6f1a6c5bb4 mmintrin.h: New file.
* config/i386/mmintrin.h: New file.
        * config/i386/xmmintrin.h: New file.
        * config.gcc (i?86-*-*): Add extra_headers.
        * simplify-rtx.c (simplify_unary_operation): Handle saturating
        truncation codes.
        (simplify_binary_operation): Handle saturating arithmetic codes.
        * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
        not the lowpart subreg.
        (ix86_expand_builtin): Return a TImode dummy register instead of 0
        on error.
        * config/i386/i386.md (mmx_clrdi): Override memory attribute.

        * gcc.dg/i386-mmx-1.c, gcc.dg/i386-mmx-2.c: New.
        * gcc.dg/i386-sse-1.c, gcc.dg/i386-sse-2.c, gcc.dg/i386-sse-1.c: New.
CVs: ----------------------------------------------------------------------

From-SVN: r48793
2002-01-11 23:38:50 -08:00
Zack Weinberg
5dd8a9b1c2 configure.in: Set stage1_cflags for powerpc-*-darwin*.
* configure.in: Set stage1_cflags for powerpc-*-darwin*.
	* configure: Regenerate.

	* config/interix.h: Set DO_GLOBAL_CTORS_BODY and
	DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
	* config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
	alpha/xm-vms.h.
	* config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
	LIMITS_H_TEST here, not in m68k/x-next.
	* config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
	SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.

	* config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
	LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
	* config/alpha/x-vms: Don't set USE_COLLECT2.  Add comments.

	* config/i386/x-djgpp: Renamed i386/t-djgpp.
	* config/m88k/x-dolph: Renamed m88k/t-dolph.
	* config/m88k/x-texXD88: Renamed m88k/t-texXD88.
	* config/pa/x-pa-mpeix: Renamed pa/t-mpeix.  Update for
	replacement of quadlib.asm with quadlib.c.

	* config/x-interix3, config/xm-interix.h, config/i386/x-beos,
	config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
	config/rs6000/xm-beos.h: Delete file.

	* config.gcc: Update to match above changes.

From-SVN: r48757
2002-01-10 22:03:06 +00:00
Aldy Hernandez
480f7f3a6b config.gcc: Add support for --enable-altivec.
2002-02-06  Aldy Hernandez  <aldyh@redhat.com>

        * config.gcc: Add support for --enable-altivec.

From-SVN: r48591
2002-01-07 01:30:10 +00:00
Joseph Myers
817e13c4d9 config.gcc (ia64-*-*): Set extra_headers.
* config.gcc (ia64-*-*): Set extra_headers.
	(alpha*-dec-osf*): Likewise.  Don't use alpha/t-osf.
	* config/alpha/t-osf: Remove.
	* config/ia64/t-ia64 (EXTRA_HEADERS): Remove.

From-SVN: r48483
2002-01-02 22:50:01 +00:00
Joseph Myers
b31bbca2fe Makefile.in (USER_H): Remove proto.h.
* Makefile.in (USER_H): Remove proto.h.
	* config.gcc (c*-convex-*): Set extra_headers=proto.h.

From-SVN: r48291
2001-12-23 23:33:14 +00:00
Joseph Myers
ba1e6c0b05 config.gcc (extra_headers): Move settings to math-68881.h and ppc-asm.h to common code for CPU types.
* config.gcc (extra_headers): Move settings to math-68881.h and
	ppc-asm.h to common code for CPU types.  Use math-68881.h on all
	m68k targets.
	(header_files): Remove unused setting.

From-SVN: r48277
2001-12-22 21:07:33 +00:00
Jeff Law
e476127441 t-hpux-shlib: New file.
* config/pa/t-hpux-shlib: New file.
	* config.gcc (hpux10, hpux11): Include t-hpux-shlib in tmake_file
	for 32bit hpux10 & hpux11 configurations.

From-SVN: r48180
2001-12-19 10:59:05 -07:00
David O'Brien
c7240cbddb config.gcc (sparc64-*-freebsd*): Add target.
2001-12-16  David O'Brien  <obrien@FreeBSD.org>
	* config.gcc (sparc64-*-freebsd*): Add target.
	* config/sparc/freebsd.h: New file.
	* config/sparc/sparc.h (LIB_SPEC, LINK_SPEC): Don't define.
	* config/sparc/sunos4.h (LIB_SPEC, LINK_SPEC): Define.
	* config/sparc/sysv4.h (CPP_PREDEFINES): Undefine before defining.

Approved by:  Richard Henderson <rth@redhat.com>
              Message-ID: <20011215175143.A8758@redhat.com>

From-SVN: r48093
2001-12-17 07:33:07 +00:00
Aldy Hernandez
cf6ede82ac * config.gcc: Add powerpc-*-eabisimaltivec*.
From-SVN: r48084
2001-12-17 00:00:35 +00:00
Kaveh R. Ghazi
15bc166fa0 nextstep-protos.h: New file.
* nextstep-protos.h: New file.
	* nextstep.c: Include "rtl.h", "output.h" & "tm_p.h".
	* nextstep.h (INCLUDE_DEFAULTS): Delete LOCAL_INCLUDE_DIR and
	STANDARD_INCLUDE_DIR from the CROSS_COMPILE clause.
	(nextstep_asm_out_constructor, nextstep_asm_out_destructor,
	handle_pragma): Move prototypes to nextstep-protos.h.
	* config.gcc (i[34567]86-next-*, m68k-next-nextstep2*,
	m68k-next-nextstep[34]*): Append nextstep-protos.h to tm_p_file.

From-SVN: r48067
2001-12-16 13:42:53 +00:00
Jakub Jelinek
275b60d6d8 configure.in: Check for ld.
* configure.in: Check for ld.
	(HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option.
	* configure, config.in: Rebuilt.
	* config.gcc: Add crtbeginT.o to extra_parts where needed.
	* config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc
	frame unwinding on Linux.
	* config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde
	frame unwinding.
	* config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
	(LINK_EH_SPEC): Define.
	* config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
	* config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define.
	* config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't
	iterate further if pc falls into current library, but fde was not
	found.
	* config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static
	if using glibc.
	(LINK_EH_SPEC): Define.
	* config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64):
	Use crtbeginT.o for -static.
	(LINK_EH_SPEC): Define.
	* config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
	* Makefile.in (crtbeginT.o): Add rule.
	* gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh.
	If neither -static-libgcc nor -shared-libgcc is passed and -shared,
	use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not.
	If none of the above switches are passed, use -lgcc -lgcc_eh.
	(init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec.
	* mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if
	creating libgcc_s.so, put them into separate libgcc_eh.a instead.
	* unwind-dw2-fde.c: Don't include any headers if this file
	is included from other .c file.
	* unwind-dw2-fde-glibc.c: New file.
	* crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define.
	Use it instead of EH_FRAME_SECTION_NAME where appropriate.

From-SVN: r48039
2001-12-15 12:49:18 +01:00
Jan Hubicka
e10e23ee51 config.gcc: Revamp target_cpu_default2 to strings; support new x86 variants.
* config.gcc: Revamp target_cpu_default2 to strings;
	support new x86 variants.

From-SVN: r48007
2001-12-14 20:43:41 +00:00
Douglas B Rupp
b6bfa8766b config.gcc (alpha64-dec-*vms*): New case.
* config.gcc (alpha64-dec-*vms*): New case.
	* config/alpha/t-vms64, config/alpha/vms-crt0-64.c: New files.
	* config/alpha/vms-psxcrt0-64.c, config/alpha/vms64.h: Likewise.
	* config/alpha/xm-vms64.h: Likewise.

From-SVN: r48001
2001-12-14 07:55:07 -05:00
Aldy Hernandez
10baca6bed rs6000.c (rs6000_override_options): Add SUBSUBTARGET_OVERRIDE_OPTIONS.
* config/rs6000/rs6000.c (rs6000_override_options): Add
        SUBSUBTARGET_OVERRIDE_OPTIONS.

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

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

	* config.gcc: Add powerpc-*-eabialtivec and
	powerpc-*-linux-gnualtivec.

From-SVN: r47981
2001-12-13 23:14:45 +00:00
David O'Brien
5742588d23 config.gcc (arm-*-freebsd*): Add target.
2001-12-12  David O'Brien  <obrien@FreeBSD.org>
	* config.gcc (arm-*-freebsd*): Add target.
	* config/arm/freebsd.h: New file.
	* config/arm/arm.h (CPP_PREDEFINES): Do not define.
	(CPP_SPEC): #undef before defining.
	(CPP_CPU_ARCH_SPEC): Add -Acpu=arm -Amachine=arm.
	* config/arm/conix-elf.h (CPP_PREDEFINES): Remove -Acpu=arm
	-Amachine=arm.
	* config/arm/linux-elf.h: Likewise.
	* config/arm/netbsd.h: Likewise.
	* config/arm/riscix.h: Likewise.
	* config/arm/riscix1-1.h: Likewise.
	* config/arm/semiaof.h: Likewise.

Approved by:  Richard Earnshaw <rearnsha@arm.com> (in private email)
              Message-Id: <200112121046.KAA09097@cam-mail2.cambridge.arm.com>

From-SVN: r47957
2001-12-13 00:27:30 +00:00
David O'Brien
9117131576 config.gcc (m68020-*-elf*): Expand tm_file to include all needed cpu configuration headers.
2001-12-11  David O'Brien  <obrien@FreeBSD.org>
	* config.gcc (m68020-*-elf*): Expand tm_file to include all needed
	cpu configuration headers.
	* config/h8300/elf.h: Include dbxelf.h.
	* config/m68k/linux.h: Likewise.
	* config/m68k/m68020-elf.h: Likewise.
	* config/m68k/m68kv4.h: Likewise.
	* config/sh/elf.h: Likewise.
	* config/m68k/m68kemb.h: Add comment about the its purpose.

Approved by:  Richard Henderson <rth@redhat.com>
              Message-ID: <20011210155120.A23862@redhat.com>

From-SVN: r47885
2001-12-11 18:21:04 +00:00
Douglas B Rupp
ef057c4508 config.gcc (alpha*-dec-vms*): Change to alpha*-dec-*vms*
* config.gcc (alpha*-dec-vms*): Change to alpha*-dec-*vms*
	(exeext, target_alias, prefix, local_prefix): Define.
	* config/alpha/x-vms (USE_COLLECT2): Make empty.
	* config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Use Unix style
	file specifications. Remove ".".
	(GCC_INCLUDE_DIR): Remove redefinition (redundant).
	* fixinc/mkfixinc.sh (alpha*-dec-vms*):  Change to alpha*-dec-*vms*

From-SVN: r47840
2001-12-10 06:18:34 -05:00
David O'Brien
c40409ce4d config.gcc: Include dbxelf.h before elfos.h.
2001-12-06  David O'Brien  <obrien@FreeBSD.org>
	* config.gcc: Include dbxelf.h before elfos.h.
	* elfos.h: Don't include dbxelf.h, let config.gcc handle it.

Approved by:  Richard Henderson <rth@redhat.com>
              Message-ID: <20011205224713.D9059@redhat.com>

From-SVN: r47723
2001-12-06 17:34:55 +00:00
David O'Brien
f3465a4445 config.gcc (powerpc-*-freebsd*): Use the proper tmake_file files, as set by the generic FreeBSD configure framework.
2001-12-05  David O'Brien  <obrien@FreeBSD.org>
	* config.gcc (powerpc-*-freebsd*): Use the proper tmake_file files,
	as set by the generic FreeBSD configure framework.

Approved by:  obvious rule

From-SVN: r47705
2001-12-06 01:43:58 +00:00
Nick Clifton
578316b948 Include arm/xscale-coff.h before arm/arm.h.
From-SVN: r47693
2001-12-05 21:19:14 +00:00
Douglas B Rupp
04cec1a71d config.gcc (i[34567]86-*-interix3*): New case.
* config.gcc (i[34567]86-*-interix3*): New case.
	* config/x-interix3, config/interix3.h, config/i386/i386interix3.h:
	New files.

From-SVN: r47428
2001-11-28 16:41:54 -05:00
Douglas B Rupp
d133777f5d vms-ld.c, vms-cc.c: New files.
* config/alpha/vms-ld.c, config/alpha/vms-cc.c: New files.
	* config/alpha/x-vms: New file, to compile the above.
	* config.gcc (alpha*-dec-vms*): Add x-vms.

From-SVN: r47312
2001-11-25 06:30:17 -05:00
Nick Clifton
eb9601aba2 Add necessary header files to tm_file for xscale-ecoff
From-SVN: r47261
2001-11-22 09:51:42 +00:00
Zack Weinberg
f607bc57e3 config.gcc: Delete powerpcle-*-solaris2* stanza.
* config.gcc: Delete powerpcle-*-solaris2* stanza.
	* config/rs6000/eabi.asm, config/rs6000/rs6000.c,
	config/rs6000/rs6000.h, config/rs6000/rs6000.md,
	config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
	config/rs6000/sysv4.h, config/rs6000/t-ppccomm,
	config/rs6000/t-ppcos: Expunge all references to Solaris.

	* config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete.

	* config/rs6000/rs6000.md: Replace '%$' with '$' in all
	output templates.
	* config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0,
	and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P.

From-SVN: r47232
2001-11-21 02:57:16 +00:00
David O'Brien
b7e0196a08 Add the part of the freebsd-ppc patch that was rejected by patch(1).
From-SVN: r47224
2001-11-20 19:49:28 +00:00
David O'Brien
b91da81fbd config.gcc: Add FreeBSD/PowerPC target.
2001-11-20  David O'Brien  <obrien@FreeBSD.org>
	* config.gcc: Add FreeBSD/PowerPC target.
	(powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
	powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
	powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
	powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
	powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
	powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*): Add
	freebsd-spec.h to tm_file.
	(rs6000-*-lynxos*): Add lynx.h to tm_file.
	* config/freebsd.h: Tidy up.
	(USING_CONFIG_FREEBSD): Define.
	(FBSD_SWITCH_TAKES_ARG, FBSD_WORD_SWITCH_TAKES_ARG,
	FBSD_CPP_PREDEFINES, FBSD_CPP_SPEC, FBSD_STARTFILE_SPEC,
	FBSD_ENDFILE_SPEC, FBSD_LIB_SPEC): Remove (moved to freebsd-spec.h).
	(TARGET_HAS_F_SETLKW): Define.
	(ASM_OUTPUT_IDENT): Delete, the elfos.h definition is fine.
	* config/freebsd-spec.h: New file.
	* config/rs6000/freebsd.h: New file.
	* config/rs6000/rs6000.h (TARGET_VERSION): Do not define.
	* config/rs6000/rs6000.c: Test for USING_ELFOS_H rather than
	USING_SVR4_H to know when to turn on ELF support.
	* config/rs6000/sysv4.h (TARGET_VERSION, CPP_PREDEFINES): Don't undef,
	define only if not already defined.
	Add FreeBSD support.
	* config/rs6000/aix.h (TARGET_VERSION): Define.
	* config/rs6000/beos.h: Likewise.
	* config/rs6000/darwin.h: Likewise.
	* config/rs6000/mach.h: Likewise.
	* config/rs6000/lynx.h (TARGET_VERSION): Likewise.
	Don't include lynx.h directly.

Approved by:  Geoff Keating <geoffk@geoffk.org>
              Message-Id: <200111192053.MAA11977@geoffk.org>
			  Stan Shebs <shebs@apple.com>  (Darwin bits)
              Message-ID: <3BF95F29.794BC924@apple.com>

From-SVN: r47223
2001-11-20 19:43:28 +00:00
Loren J. Rittle
a5f4f16cdc * config.gcc (*-*-freebsd*): Remove configuration block.
From-SVN: r47205
2001-11-20 07:36:29 +00:00
Craig Rodrigues
f3095b5f17 re PR target/4606 (config.gcc refers to non-existant va-clipper.h)
2001-11-17  Craig Rodrigues  <rodrigc@gcc.gnu.org>

	PR target/4606
	* config.gcc: Remove reference to va-clipper.h.

From-SVN: r47129
2001-11-18 00:14:52 +00:00
David O'Brien
5059254f4b Not all of revision 1.113 made it in.
From-SVN: r47114
2001-11-17 05:46:25 +00:00
David O'Brien
f910b1bb5f config.gcc (arm*-*-rtems*, [...]): Include various CPU headers via tm_file.
2001-11-16  David O'Brien  <obrien@FreeBSD.org>
	* config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
	arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
	arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
	arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
	arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
	arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
	xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
	* config/arm/aof.h: Don't include arm.h.
	* config/arm/aout.h: Likewise.
	* config/arm/coff.h: Don't include semi.h and aout.h.
	* config/arm/elf.h: Don't include aout.h.
	* config/arm/netbsd.h: Don't include netbsd.h and aout.h.
	(TARGET_VERSION): Undef before defining.
	(ARM_OS_NAME): Likewise
	(TARGET_DEFAULT): Likewise
	(TARGET_MEM_FUNCTIONS): Do not need to undefine now.
	* config/arm/pe.h: Don't include arm/coff.h.
	* config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
	SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
	* config/arm/riscix1-1.h: Likewise.
	* config/arm/rix-gas.h: Don't include riscix.h.
	(DBX_CONTIN_LENGTH): Undef before defining.
	* config/arm/semi.h: Don't include aout.h.
	* config/arm/semiaof.h: Don't include aof.h.
	* config/arm/strongarm-coff.h: Don't include coff.h.
	* config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
	* config/arm/vxarm.h: Don't include arm/coff.h.
	* config/arm/xscale-coff.h: Don't include coff.h.

Approved by:  Nick Clifton <nickc@cambridge.redhat.com>
              <m3ofm2c27q.fsf@north-pole.nickc.cambridge.redhat.com>

From-SVN: r47105
2001-11-16 21:23:16 +00:00
Andreas Schwab
14455c648a config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target makefile frag...
* config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
	makefile frag, not host makefile frag.
	(m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
	(hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
	used.
        (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
	* config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
	* config/m88k/t-dgux (STMP_FIXPROTO): Define.
	* config/i386/t-cygwin (STMP_FIXPROTO): Define.
	* config/i386/t-dgux (STMP_FIXPROTO): Define.
	* config/x-interix: Don't define STMP_FIXPROTO and
	FIXPROTO_DEFINES.
	* config/t-interix: New file, define STMP_FIXPROTO.
	* config/i386/x-beos (STMP_FIXPROTO): Don't define here.
	* config/i386/t-beos (STMP_FIXPROTO): Define here instead.
	* config/t-svr4 (FIXPROTO_DEFINES): Define.
	* config/arm/t-riscix (FIXPROTO_DEFINES): Define.
	* config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
	* config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
	* config/m68k/t-hp3200: Renamed from x-hp3200.
	* config/i370/t-oe: Renamed from x-oe.
	* config/mips/t-iris: Renamed from x-iris.
	* config/pa/t-bsd: Renamed from x-pa.
	* config/pa/t-pa-hpux: Renamed from x-pa-hpux.
	* config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
	config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
	config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
	config/rs6000/x-cygwin: Remove files.

From-SVN: r47052
2001-11-15 13:05:54 +00:00
David O'Brien
0f7a7be7ce config.gcc (sparc64-wrs-vxworks*, [...]): Include various CPU headers via tm_file.
2001-11-14  David O'Brien  <obrien@FreeBSD.org>
	* config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
	sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
	sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
	sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
	sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
	sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
	sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
	Include various CPU headers via tm_file.  a.out based platforms now
	properly include sparc/aout.h.  sol2.h usage now implies including
	elfos.h, svr4.h, and sparc/sysv4.h.
	* config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
	Also define to '1'.
	* sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
	SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
	DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
	Remove.  They are a.out specific and belong in sparc/aout.h.
	* sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
	ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
	DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define.  Moved here from
	sparc/sparc.h.
	* sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
	TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
	Moved here from sparc/sparc.h.
	* config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
	defining.
	* config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
	* config/sparc/lynx.h:  Don't include lynx.h.
	(SELECT_SECTION): Do not undef.
	* config/sparc/openbsd.h: Don't include sparc/sparc.h.
	* config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
	and sparc/sysv4.h.
	* config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
	* config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define.  Get from
	sparc/aout.h now.
	* config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
	Don't undef, there is no need.
	* config/sparc/splet.h (CPP_PREDEFINES): Define.
	* config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
	* config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
	Don't include sparc/sparc.h.
	* config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
	SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
	DATA_SECTION_ASM_OP): Don't undef, there is no need now.  Don't include
	elfos.h and svr4.h.
	(TARGET_VERSION): Define.
	* config/sparc/vxsim.h (TARGET_VERSION): Define.

Approved by:  Richard Henderson <rth@redhat.com>
              Message-ID: <20011114132416.B17112@redhat.com>

From-SVN: r47023
2001-11-14 21:44:21 +00:00
DJ Delorie
c19083d852 config.gcc (powerpc|rs6000): Set default cpp options based on --with-cpu settings.
* config.gcc (powerpc|rs6000): Set default cpp options based
on --with-cpu settings.
* config/rs6000/softfloat.h: New.

From-SVN: r46993
2001-11-13 17:08:28 -05:00
David O'Brien
0f658c83b5 config.gcc (sparc-tti-*, [...]): Include various CPU headers via tm_file.
2001-11-12  David O'Brien  <obrien@FreeBSD.org>
	* config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
	sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
	sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
	sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
	sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
	sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
	sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
	sparc64-*-linux*):  Include various CPU headers via tm_file.
	* config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
	(SELECT_SECTION): Likewise.
	(SELECT_RTX_SECTION): Likewise.
	* config/sparc/sparc_bi.h: New file.
	* config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
	* config/sparc/linux-aout.h: Likewise.
	* config/sparc/linux.h: Don't include sparc/sysv4.h.
	* config/sparc/linux64.h: Likewise.
	(SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
	* config/sparc/lite.h:  Don't include sparc/sparc.h and gofast.h.
	* config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
	and dbxcoff.h
	(ASM_OUTPUT_IDENT): Do not #undef.
	(SELECT_SECTION): Likewise.
	(SELECT_RTX_SECTION): Likewise.
	* config/sparc/liteelf.h: Don't include gofast.h.
	* config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
	* config/sparc/lynx.h: Don't include sparc/sparc.h.
	* config/sparc/pbd.h: Likewise.
	* config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
	* config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
	* config/sparc/rtemself.h: Don't include rtems.h.
	* config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
	* config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
	sparc_bi.h instead.
	* config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
	* config/sparc/sol2.h: Include sparc/sparc.h directly.
	* config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
	* config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
	* config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
	* config/sparc/sp86x-elf.h: Don't include gofast.h.
	* config/sparc/splet.h: Don't include sparc/aout.h.
	* config/sparc/sun4o3.h: Don't include sparc/sparc.h.
	* config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
	* config/sparc/vxsim.h: Don't include sparc/sysv4.h.
	* config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
	* config/sparc/vxsparc64.h: Don't include gofast.h.
	(SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.

Approved by:  David S. Miller <davem@redhat.com>
              Message-Id: <20011112.151527.70477368.davem@redhat.com>

From-SVN: r46969
2001-11-12 23:52:28 +00:00
H.J. Lu
3e619f1433 config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
2001-11-11  H.J. Lu <hjl@gnu.org>

	* config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.

From-SVN: r46921
2001-11-10 17:50:40 -08:00
Kaveh R. Ghazi
57870f8acd config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
* config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.

	* i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
	of dgux.c:output_file_start().

	* i386/dgux.c: Delete file.

From-SVN: r46911
2001-11-10 04:40:58 +00:00
David O'Brien
243a707078 config.gcc: Add FreeBSD/IA-64 target.
2001-11-07  David O'Brien  <obrien@FreeBSD.org>
	* config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
	* config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
	they are OS specific.  Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
	so OS specific files and use CPP_PREDEFINES for their needs.
	* config/i64/elf.h (TARGET_VERSION): Add.  Also, move inclusion of
	target headers to tm_file.
	* config/ia64/aix.h (TARGET_VERSION): Likewise.
	* config/ia64/hpux.h (TARGET_VERSION): Likewise.
	* config/ia64/linux.h (TARGET_VERSION): Likewise.
	(FUNCTION_PROFILER): Remove.
	* config/ia64/ia64.h (FUNCTION_PROFILER): Update defintion using the
	version in config/ia64/linux.h.
	* config/ia64/freebsd.h: New file.
	* config/freebsd.h: Tidy up.
	(_USING_CONFIG_FREEBSD): Define.
	(FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
	(FBSD_CPP_SPEC): Define generic FreeBSD spec.
	(FBSD_STARTFILE_SPEC): Likewise.
	(FBSD_ENDFILE_SPEC): Likewise.
	(FBSD_LIB_SPEC): Likewise.
	(WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
	(USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
	set an ELF-improper one.

Approved by:  Richard Henderson <rth@redhat.com>
              Message-ID: <20011109100352.A6186@redhat.com>

From-SVN: r46909
2001-11-10 01:07:17 +00:00
Kaveh R. Ghazi
1e5cf79655 elf.h (ASM_DECLARE_FUNCTION_NAME, [...]): Undef before defining.
* pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
	ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
	* config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.

From-SVN: r46905
2001-11-09 23:16:04 +00:00
Geoffrey Keating
14d269bba7 * config.gcc: Rename stormy16 to xstormy16.
From-SVN: r46873
2001-11-09 05:32:46 +00:00
Kaveh R. Ghazi
5f37d07c6e aof.h (aof_text_section, [...]): Don't declare.
* arm/aof.h (aof_text_section, aof_data_section): Don't declare.
	(common_section): Delete unused variable.
	(ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
	(ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
	* arm-protos.h (arm_poke_function_name, aof_add_import,
	aof_delete_import): Const-ify.
	* arm.c (legitimize_pic_address): Wrap variables in the macro
	controlling their usage.
	(arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
	(arm_poke_function_name, pic_chain, import, aof_add_import,
	aof_delete_import): Const-ify.
	* i386.c (ix86_osf_output_function_prologue): Const-ify.
	* i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
	ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
	* i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
	* i860/sysv3.h: Add missing comment closure.
	* m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
	* m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
	to symbolic_operand.

	* config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
	(i960-*-*): Set tmake_file.
	(sparc86x-*-elf*): Fix typo in header name.

	* sched-rgn.c (schedule_insns): Delete unused variable.

From-SVN: r46776
2001-11-04 22:37:46 +00:00
Hans-Peter Nilsson
bcf684c7a5 config.gcc (mmix-*-*): New target.
* config.gcc (mmix-*-*): New target.
	* doc/invoke.texi: Document MMIX options.
	* doc/contrib.texi: Add note about MMIX port to my entry.
	* config/mmix/t-mmix: New file.
	* config/mmix/mmix.h: New file.
	* config/mmix/mmix-protos.h: New file.
	* config/mmix/mmix.c: New file.
	* config/mmix/mmix.md: New file.
	* config/mmix/crti.asm: New file.
	* config/mmix/crtn.asm: New file.

From-SVN: r46746
2001-11-03 22:14:57 +00:00
Eric Christopher
009da78551 config.gcc: Revert part of earlier patch.
2001-11-01  Eric Christopher  <echristo@redhat.com>

        * config.gcc: Revert part of earlier patch.
        * config/mips/linux.h: Ditto.
	* df.c: Include tm_p.h to avoid warnings.
        * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
	#if/#endif.
	* config/mips/mips.c: Define mips_abi regardless.
	(mips_output_function_prologues): Add long casts for .frame
	output.
	(override_options): Allow use of ABI_32.

From-SVN: r46707
2001-11-02 02:18:37 +00:00
Hans-Peter Nilsson
b4ac17fc36 config.gcc (cris-*-linux*, tm_file): Rearrange order.
* config.gcc (cris-*-linux*, tm_file): Rearrange order.
	* config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.

From-SVN: r46682
2001-10-31 19:50:59 +00:00
Joseph Myers
ff7cc30768 ChangeLog.0, [...]: Fix spelling errors.
* ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
	ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
	c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
	configure, configure.in, except.c, except.h, flow.c, function.c,
	gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
	predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
	sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
	unroll.c: Fix spelling errors.

From-SVN: r46595
2001-10-28 20:09:17 +00:00
Franz Sirl
32fb7c9d6c config.gcc (i[34567]86-*-gnu*, [...]): Delete superflous ${cpu_type} setting.
2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	* config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
	fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
	parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
	i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
	i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
	i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
	i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
	i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
	i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
	i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
	i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
	i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
	ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
	mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
	powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
	powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
	powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
	powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
	powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
	powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
	rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
	sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
	v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
	cris-*-none, cris-*-linux*: Update ${tmfile} list.
	(c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
	i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
	mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
	powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
	v850-*-*): Delete superflous ${cpu_type} setting.
	* config/linux.h: Delete svr4.h include.
	(SET_ASM_OP): Delete.
	* config/netware.h (INT_ASM_OP): Undef before define.
	* config/ptx4.h: Delete elfos.h include.
	(PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
	* config/svr4.h: Delete elfos.h include. Update commentary.
	* config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
	config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
	config/mn10200/mn10300.h, config/stormy16/stormy16.h,
	config/v850/v850.h: Delete svr4.h include.
	* config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
	config/m68k/m68kv4.h, config/m88k/sysv4.h,
	config/sparc/sysv4.h: Update includes.
	* config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
	config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
	config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
	config/m88k/dguxbcs.h: Delete includes.
	* config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
	(PREFERRED_DEBUGGING_TYPE): Undef before defining it.
	* config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
	it.
	* config/m88k/dgux.h: Delete include.
	(SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
	defining it.
	* config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
	ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
	* config/sh/elf.h: Update include.
	(SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
	DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.

From-SVN: r46366
2001-10-19 22:27:41 +00:00
Neil Booth
51fabca55a config.gcc: Update c4x and i370 for C front end-specific dependencies.
* config.gcc: Update c4x and i370 for C front end-specific
	dependencies.
	* config/c4x/c4x-c.c: New.
	* config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
	(code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
	New declarations.
	* config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
	(code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
	Make extern.
	(c4x_init_pragma): Remove.
	(c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
	c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
	c4x_pr_ignored): Move to c4x-c.c.
	* config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
	* config/c4x/t-c4x: Update.
	* config/i370/i370-c.c: New.
	* config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
	(i370_pr_map): Move to i370-c.c.
	* config/i370/t-i370: New.

	* doc/tm.texi: Update.

From-SVN: r46322
2001-10-17 20:39:13 +00:00
Hans-Peter Nilsson
0b85d8165e config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none, cris-*-linux* cases.
* config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
	cris-*-linux* cases.
	* config/cris/cris-protos.h: New file.
	* config/cris/cris.c: New file.
	* config/cris/cris.h: New file.
	* config/cris/cris.md: New file.
	* config/cris/linux.h: New file.
	* config/cris/aout.h: New file.
	* config/cris/arit.c: New file.
	* config/cris/cris_abi_symbol.c: New file.
	* config/cris/mulsi3.asm: New file.
	* config/cris/t-aout: New file.
	* config/cris/t-cris: New file.
	* config/cris/t-elfmulti: New file.
	* config/cris/t-linux: New file.
	* doc/invoke.texi: Add CRIS options.
	* doc/install.texi (Specific): Add blurb for CRIS.

From-SVN: r46191
2001-10-11 17:02:36 +00:00
Franz Sirl
c156ea3083 config.gcc (mips*-*-gnu*): Delete support.
2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	* config.gcc (mips*-*-gnu*): Delete support.
	* config/mips/gnu.h: Remove.

From-SVN: r46150
2001-10-10 16:50:19 +00:00
Danny Smith
09eaf5a5ff config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent version default.
* config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
version default.

From-SVN: r46139
2001-10-09 20:27:21 -04:00
Eric Christopher
3054eeed1d mips.c (init_cumulative_args): Remember to set cum->prototype.
2001-10-04  Eric Christopher  <echristo@redhat.com>

	* config/mips/mips.c (init_cumulative_args): Remember to set
	cum->prototype.
	* config.gcc: Redo linux configuration. Add target_cpu_default
	of soft-float to all mipsisa32 combinations and tx39.
	* config/mips/linux.h: Remove include of mips.h.

From-SVN: r46008
2001-10-04 08:38:41 +00:00
Jan Hubicka
14f73b5a12 invoke.texi (i386 Options): Document x86-64 options.
* doc/invoke.texi (i386 Options): Document x86-64 options.
	(i386 and x86-64 Options): Rename i386 options section.

	* config/i386/i386.h (TARGET_UNWIND_INFO): New.
	(TARGET_SWITCHES): Add -munwind-info.
	(MASK_NO_UNWIND_INFO): New.
	(NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
	biarch compilation.
	(ASM_OUTPUT_DOUBLE_INT): New.

	* config/i386/linux64.h: New spec file for Linux x86-64 support.
	* config.gcc: Fix tm_file settings for x86-64.
	* config/i386/x86-64.h: New file with OS independent x86-64
	definitions.
	* config/i386/biarch64.h: New file used to configure compiler
	to biarch/64bit compilation.

	* config/i386/i386.c: (override_options): Set flags default
	for 64bit compilation.

	* i386.c (legitimize_pic_address): Add missing bits of 64bit support.
	(ix86_expand_int_movcc): Optimize DImode conditional moves with
	constants on x86_64.
	(ix86_attr_length_immediate_default): Support MODE_DI.
	* i386.md (fixdi splitter): Add missing "&& 1" in splitter
	condition.
	(indirect_jump, tablejump): Turn into expander.

From-SVN: r45946
2001-10-02 10:59:42 +00:00
Ulrich Weigand
70eeb10b99 config.gcc (s390-*-linux-*, [...]): Switch to new-style tm_file specification.
* config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
new-style tm_file specification.  Specify correct tm_p_file,
md_file, and out_file for s390x.

* config/s390/linux.h, linux64.h:  Don't include other target
macro header files.  Now handled via tm_file.

* config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
are defined before use.

From-SVN: r45685
2001-09-18 21:51:53 +00:00
Eric Christopher
0e5a4ad871 mips.md: Add unspec #2.
2001-09-15  Eric Christopher  <echristo@redhat.com>

	* config/mips/mips.md: Add unspec #2.
	(reload_indi): Use.
	(reload_outdi): Ditto.
	(reload_outsi): Ditto.
	(HILO_delay): New.

2001-09-15  Eric Christopher  <echristo@redhat.com>
	    Jason Eckhardt  <jle@redhat.com>

	* config.gcc: Add mipsisa32 target and mipsisa32-linux target.
	* config/mips/isa32-linux.h: New file.
	* config/mips/isa3264.h: Ditto.
	* config/mips/mips-protos.h: Add mips_hard_regno_nregs.
	* config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
	(output_block_mode): Support MEABI.
	(function_arg): Ditto. Fix floating point arg passing.
	(mips_va_start): Ditto.
	(override_options): Add isas 32 and 64, meabi, mips32 and mips64
	processors.
	(mips_asm_file_start): Add new section to pass abi to gdb.
	(function_arg_pass_by_reference): Support MEABI.
	(mips_parse_cpu): Support mips32 and mips64 processors.
	* config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
	TARGET_MIPS5KC.  Support isa32 and isa64.
	(processor_type): Add r4kc, r5kc, r20kc.
	(GENERATE_MULT3_SI): New.
	(GENERATE_MULT3_DI): Ditto.
	(GENERATE_MULT3): Remove.
	(ISA_HAS_64BIT_REGS): Add isa == 64.
	(ISA_HAS_8CC): Add mips_isa = 32 and 64.
	(ISA_HAS_MADD_MSUB): New.
	(ISA_HAS_CLZ_CLO): Ditto.
	(ISA_HAS_DCLZ_DCLO): Ditto.
	(ABI_GAS_ASM_SPEC): New.
	(GAS_ASM_SPEC): Use. Add support for mips32, mips64.
	(ASM_SPEC): Ditto.
	(LINK_SPEC): Ditto.
	(SUBTARGET_CC1_SPEC): Ditto.
	(SUBTARGET_CPP_SIZE_SPEC): Ditto.
	(PAD_VARARGS_DOWN): Support MEABI.
	(HARD_REGNO_NREGS): Move to mips.c.
	(ASM_OUTPUT_IDENT): Add #undef.
	* config/mips/mips.md: Add r4kc, r5kc, r20kc.
	(mulsi3): Use GENERATE_MULT3_SI.
	(mulsi3_mult3): Ditto.  Support mips32, mips64.
	(mul_acc_si): Use ISA_HAS_MADD_MSUB.
	(mul_sub_si): New pattern.
	(unnamed splitters): New.
	(muldi3): Use GENERATE_MULT3_DI.
	(muldi3_internal2): Ditto.
	(movdicc): Support mips32.
	* config/mips/t-isa3264: New file.

From-SVN: r45623
2001-09-15 02:03:14 +00:00
Nick Clifton
be393ecf35 Rearrange arm/elf header files
From-SVN: r45594
2001-09-14 10:19:30 +00:00
Richard Henderson
30102605e7 Cray T3E port.
From-SVN: r45539
2001-09-11 01:52:39 -07:00
Michael Meissner
60acf24e08 add sparc64-*-solaris2 support just like sparcv9-*-solaris2
From-SVN: r45523
2001-09-10 21:10:20 +00:00
J"orn Rennecke
9f5b774b11 config.gcc (h8300-*-elf*): New case.
* config.gcc (h8300-*-elf*): New case.
	* h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
	(SUBTARGET_CPP_SPEC): Define.
	(EXTRA_SPECS): Define.
	(SUBTARGET_EXTRA_SPECS): Define.
	* config/h8300/crti.asm, config/h8300/crtn.asm: New files.
	* config/h8300/elf.h, config/h8300/t-elf: Likewise.

From-SVN: r45294
2001-08-30 19:22:55 +01:00
Geoffrey Keating
4b58290fe6 config.gcc: Add stormy16-*-elf case.
* config.gcc: Add stormy16-*-elf case.
	* config/stormy16/stormy-abi: New file.
	* config/stormy16/stormy16-lib2.c: New file.
	* config/stormy16/stormy16-protos.h: New file.
	* config/stormy16/stormy16.c: New file.
	* config/stormy16/stormy16.h: New file.
	* config/stormy16/stormy16.md: New file.
	* config/stormy16/t-stormy16: New file.

From-SVN: r45173
2001-08-25 17:14:36 +00:00
Lars Brinkhoff
1322177dbd Makefile.in, [...]: replace "GNU CC" with "GCC".
* Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
	bitmap.h, builtin-types.def, builtins.c, builtins.def,
	c-aux-info.c, c-common.c, c-common.def, c-common.h,
	c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
	c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
	c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
	caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
	conditions.h, config.gcc, configure.frag, configure.in,
	conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
	cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
	dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
	doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
	dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
	emit-rtl.c, errors.c, errors.h, except.c, except.h,
	exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
	fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
	function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
	gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
	gencheck.c, gencodes.c, genconfig.c, genemit.c,
	genextract.c, genflags.c, gengenrtl.c, genmultilib,
	genopinit.c, genoutput.c, genpeep.c, genrecog.c,
	gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
	ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
	graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
	gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
	gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
	hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
	integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
	libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
	machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
	mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
	mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
	params.h, predict.c, predict.def, predict.h, prefix.c,
	prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
	read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
	regclass.c, regmove.c, regrename.c, regs.h, reload.c,
	reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
	rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
	sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
	sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
	ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
	stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
	tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
	tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
	unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
	unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
	xcoffout.h: replace "GNU CC" with "GCC".

From-SVN: r45105
2001-08-22 14:35:51 +00:00
Andreas Jaeger
050e4ca284 config.gcc: Use t-slibgcc-elf to build shared libgcc_s on s390*linux.
* config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
	s390*linux.

From-SVN: r44856
2001-08-13 17:33:12 +02:00
Richard Henderson
2cc07db4b0 Move constructor/destructor handling into target hooks.
From-SVN: r44747
2001-08-09 15:33:35 -07:00
H.J. Lu
b2bcb32d28 mips.c (mips_unique_section): New.
2001-08-08  H.J. Lu <hjl@gnu.org>

	* config/mips/mips.c (mips_unique_section): New. Copied from
	config/mips/elf.h.

	* config/mips/mips-protos.h (mips_unique_section): New
	prototype.

	* config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.

	* config/mips/little.h: New. Generic little endian mips
	targets. Only mips*-*-linux* is converted to use it so far.

	* config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
	(WCHAR_TYPE): Defined
	(WCHAR_TYPE_SIZE): Likewise.
	(INIT_SUBTARGET_OPTABS): Likewise.
	(BSS_SECTION_ASM_OP): Likewise.
	(SBSS_SECTION_ASM_OP): Likewise.
	(ASM_OUTPUT_ALIGNED_BSS): Likewise.
	(ASM_DECLARE_OBJECT_NAME): Likewise.
	(UNIQUE_SECTION): Likewise.
	(EXTRA_SECTIONS): Likewise.
	(ASM_OUTPUT_CONSTRUCTOR): Likewise.
	(ASM_OUTPUT_DESTRUCTOR): Likewise.
	(ASM_OUTPUT_DEF): Likewise.
	(HANDLE_SYSV_PRAGMA): Removed.
	(NO_IMPLICIT_EXTERN_C): Likewise.
	(TARGET_MEM_FUNCTIONS): Likewise.
	(STARTFILE_SPEC): Likewise.
	(ENDFILE_SPEC): Likewise.
	(LIB_SPEC): Likewise.
	(INVOKE__main): Likewise.
	(CTOR_LIST_BEGIN): Likewise.
	(CTOR_LIST_END): Likewise.
	(DTOR_LIST_BEGIN): Likewise.
	(DTOR_LIST_END): Likewise.
	(SET_ASM_OP): Likewise.
	(ASM_OUTPUT_SOURCE_LINE): Likewise.
	(ASM_OUTPUT_DEF): Likewise.
	(ASM_OUTPUT_IDENT): Likewise.

	* config/mips/mips.h (ASM_SPEC): Undefine before define.
	(CPLUSPLUS_CPP_SPEC): Likewise.
	(ASM_APP_ON) Redefine only if not defined.
	(ASM_APP_OFF): Likewise.
	(ASM_OUTPUT_SOURCE_LINE): Likewise.
	(ASM_OUTPUT_IDENT): Likewise.

	* config.gcc: Update tm_file for Linux/mips.

From-SVN: r44718
2001-08-08 08:40:57 -07:00
Daniel Jacobowitz
ff25793cc1 config.gcc: Quote target_cpu_default2 correctly for powerpc*-*-* targets.
* config.gcc: Quote target_cpu_default2 correctly for
        powerpc*-*-* targets.

From-SVN: r44699
2001-08-07 18:31:57 +00:00
Lars Brinkhoff
8aeea6e67d combine.c, [...]: consistently use "VAX", "VAXen", and "MicroVAX" in comments and documentation.
* combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
	simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
	config/convex/convex.h, config/d30v/d30v.c,
	config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
	config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
	config/mips/mips.h, config/mn10200/mn10200.h,
	config/mn10300/mn10300.h, config/pdp11/pdp11.md,
	config/v850/v850.h, config/vax/openbsd.h,
	config/vax/openbsd1.h, config/vax/ultrix.h,
	config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
	config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
	cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
	doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
	doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
        in comments and documentation.

From-SVN: r44589
2001-08-03 01:19:20 +00:00
Andrew Cagney
edf1b3f317 config.gcc: Recognize powerpc-*-netbsd*.
* config.gcc: Recognize powerpc-*-netbsd*.
* doc/install.texi (Host/target specific installation notes for
GCC): Mention powerpc-*-netbsd*.
* config/rs6000/netbsd.h: New file.
(STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
(LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
(ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
(LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
(TARGET_VERSION): Redefine.
* config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
mcall-netbsd as a match for mcall-sysv.
(EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
(ncrti.S, ncrtn.S): New targets.
($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
"netbsd' as a V4 ABI.
(ASM_SPEC): Check for -mcall-netbsd.
(CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
(CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
(LIB_SPEC, ENDFILE_SPEC): Ditto.
(LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
(ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
(LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
(SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
* doc/invoke.texi (Option Summary): Add -mcall-netbsd.
(RS/6000 and PowerPC Options): Mention -mcall-netbsd.

From-SVN: r44552
2001-08-01 19:25:18 +00:00
Matthew Green
6ea0279fef config.gcc (i386-*-netbsdelf): New description.
* config.gcc (i386-*-netbsdelf): New description.
        * config/i386/netbsd-elf.h: New file.

From-SVN: r44525
2001-07-31 15:53:43 -07:00
Daniel Berlin
2bfcf29777 PowerPC reorg and support for powerpc64-*-linux*.
2001-07-31  Daniel Berlin  <dan@cgsoftware.com>

	PowerPC reorg and support for powerpc64-*-linux*.

	Also fixes emitting of constants on 32 bit and 64 bit
	platforms.

	* config.gcc: powerpc64-*-linux* is a new target.
	Things that needed aix.h now also include xcoff.h

	* config/rs6000/rs6000.h: Split XCOFF specific stuff into
	xcoff.h.
	Move AIX specific stuff into aix.h.
	(ASM_LONG): Use DOUBLE_INT_ASM_OP if we are on a 64 bit target.
	(ASM_OUTPUT_DOUBLE_INT): Ditto.
	(TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
	with more than just XCOFF now.
	(SET_ASM_OP): Remove, now defined where needed.
	(FUNCTION_PROLOGUE): New macro definition.
	(FUNCTION_EPILOGUE): New macro definition.
	(CONST_OK_FOR_LETTER_P): Change N to require that value is
	positive, too.
	(ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
	(PREDICATE_CODES): Added exact_log2_cint_operand,
	reg_or_add_cint64_operand, reg_or_sub_cint64_operand.

	* config/rs6000/rs6000.c: #ifdef XCOFF debugging info stuff on
	XCOFF_DEBUGGING_INFO.
	Use DOUBLE_INT_ASM_OP where approriate.
	(rs6000_emit_set_long_const): New function.
	(rs6000_emit_set_const): New function.
	(reg_or_sub_cint64_operand): New function.
	(reg_or_add_cint64_operand): New function.
	(exact_log2_cint_operand): New function.

	* config/rs6000/rs6000.md: Fix emitting of constants.
	Fix patterns that were AIX ABI specific, but depended on
	!TARGET_ELF (instead of DEFAULT_ABI == ABI_AIX).

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

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

	* config/rs6000/darwin.h: Copy needed AIX alignment definitions.

From-SVN: r44516
2001-07-31 17:20:20 +00:00
Joel Sherrill
bb8602be34 config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as extra multilib parts like arm-elf.
* config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
        extra multilib parts like arm-elf.
        (i960-*-coff*, i960-*-rtems): Should not use collect2.
        (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
        crtfini.o as extra multilib parts.

From-SVN: r44327
2001-07-24 18:49:45 -07:00
Chandra Chavva
001da62afe config.gcc: For *-*-chorusos triplet, get chorus.h file from config directory.
* config.gcc: For *-*-chorusos triplet, get chorus.h file from
        config directory.
        * config/i386/chorus.h: Move up.
        * config/sparc/chorus.h: Likewise.
        * config/rs6000/chorus.h: Likewise.
        * config/chorus.h: Moved here.

From-SVN: r44092
2001-07-17 17:54:37 -04:00
Marc Espie
f1cf4606f9 config.gcc (*-*-openbsd*): Add fragment to compile libgcc correctly for shared configurations.
2001-07-13  Marc Espie  <espie@cvs.openbsd.org>

	* config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
	correctly for shared configurations.
	* config/t-libgcc-pic:  New.
	* config/{i386,m68k,sparc}/t-openbsd:  New.
	* config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
	Support -shared.  Support debugging libraries with -g.
	* config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
	frame information does not emit pointer diffs.
	* config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
	emit pointer diffs.

From-SVN: r43988
2001-07-13 18:12:22 +00:00
Hartmut Penner
9628a7671d config.gcc: Add configuration for s/390.
* config.gcc: Add configuration for s/390.
	* Changelog: Add s/390.

From-SVN: r43981
2001-07-13 13:11:59 +00:00
Timothy Wall
c177db4bbe ia64-aix port from Tim Wall
ia64-aix port from Tim Wall
        * config.gcc: Add configuration for AIX5/IA64.
        * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
        * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
	support prefix/suffix code.
        * config/ia64/t-aix: New.  Makefile fragment.
        * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.

From-SVN: r43958
2001-07-11 19:55:24 -07:00
Stan Shebs
0168a84948 darwin.h (REGISTER_TARGET_PRAGMAS): Define.
* config/darwin.h (REGISTER_TARGET_PRAGMAS): Define.
        * config/darwin-c.c: New file.
        * config/darwin-protos.h: Declare new functions.
        * config/rs6000/t-darwin (darwin-c.o): New rule.
        * config.gcc (powerpc-*-darwin*): Define c_target_objs and
        cxx_target_objs.
        * doc/extend.texi (Pragmas): New section.

        * gcc.dg/pragma-darwin.c: New test.

From-SVN: r43645
2001-06-28 19:55:53 +00:00
Steve Ellcey
23c108aff8 Add ia64-hpux 128-bit long double support.
From-SVN: r43565
2001-06-25 20:50:48 -07:00
Richard Henderson
567d20f046 crtfastmath.c: New file.
* config/alpha/crtfastmath.c: New file.
        * config/alpha/t-crtfm: New file.
        * config/alpha/elf.h (ENDFILE_SPEC): Use crtfastmath.o.
        * config/alpha/osf.h (ENDFILE_SPEC): Likewise.
        * config/alpha/t-crtbe (EXTRA_PARTS): Add pieces defined here.
        * config.gcc (alpha-{linux,freebsd,netbsd,osf}): Use alpha/t-crtfm;
        do not set extra_parts here.

From-SVN: r43537
2001-06-23 19:05:06 -07:00
Alexandre Oliva
7112135f34 * config.gcc: Re-enable bi-arch sparc on Solaris 7 and above.
From-SVN: r43106
2001-06-09 20:37:29 +00:00
Joseph Myers
4ed47beaff config.gcc: For $target_alias of athlon-*, set target_cpu_default2=5.
* config.gcc: For $target_alias of athlon-*, set
	target_cpu_default2=5.

From-SVN: r42984
2001-06-08 00:21:29 +01:00
David O'Brien
910e231e80 config.gcc, bsd.h: Do not directly include sparc/sparc.h.
2001-06-05  David O'Brien  <obrien@FreeBSD.org>
	* config.gcc, config/sparc/bsd.h:  Do not directly include
	sparc/sparc.h.  Instead do it via tm_file.

Approved by:  Richard Henderson <rth@redhat.com>
              Message-ID: <20010604154759.G25044@redhat.com>

From-SVN: r42927
2001-06-06 02:13:37 +00:00
David O'Brien
c51f6c6bd5 config.gcc, bsd386.h: Do not directly include i386/386bsd.h.
2001-06-05  David O'Brien  <obrien@FreeBSD.org>
	* config.gcc, config/i386/bsd386.h:  Do not directly include
	i386/386bsd.h.  Instead do it via tm_file.

Approved by:  Richard Henderson <rth@redhat.com>
              Message-ID: <20010604154739.F25044@redhat.com>

From-SVN: r42925
2001-06-06 01:54:45 +00:00
Richard Henderson
7b3a4df550 config.gcc (all gnu and linux): Use t-slibgcc-elf-ver with t-linux.
* config.gcc (all gnu and linux): Use t-slibgcc-elf-ver with t-linux.
        (i386-*-solaris2): Use t-slibgcc-elf-ver or t-slibgcc-sld.
        (sparc*-*-solaris2): Likewise.
        * config/t-linux: Remove shared libgcc macros.
        * config/t-slibgcc-elf-ver: Move from sparc/t-slibgcc.
        * config/t-slibgcc-sld: Move from sparc/t-slibgcc-sld.

From-SVN: r42602
2001-05-25 16:08:57 -07:00
Loren J. Rittle
45f1add133 * config.gcc (*-*-freebsd*): Report bad configuration.
From-SVN: r42599
2001-05-25 22:11:21 +00:00
Loren J. Rittle
9e405fe52e config.gcc (the unlabeled system switch statement): Add generic configuration section to handle *-*-freebsd*.
* config.gcc (the unlabeled system switch statement): Add
	generic configuration section to handle *-*-freebsd*.  Also,
	to match the system compiler, default to threading support (it
	may be disabled with the standard --disable-threads
	configuration-time switch).
	(i[34567]86-*-freebsd* in machine-specific section): Use it.
	(alpha*-*-freebsd* in machine-specific section): Likewise.

	* config/freebsd3.h: New file to expose FBSD_MAJOR macro (3).
	* config/freebsd4.h: New file to expose FBSD_MAJOR macro (4).
	* config/freebsd5.h: New file to expose FBSD_MAJOR macro (5).
	* config/freebsd6.h: New file to expose FBSD_MAJOR macro (6).
	* config/freebsd-nthr.h: New file to expose FBSD_NO_THREADS macro.

Co-Authored-By: David O'Brien <obrien@freebsd.org>

From-SVN: r42463
2001-05-22 19:23:33 +00:00
Zack Weinberg
7857f13404 i * libgcc1-test.c, libgcc1.c, config/i386/perform.h: Delete file.
* testsuite/gcc.dg/complete-port.c: New (revised version of
	libgcc1-test.c)
	* po/POTFILES.in: Remove libgcc1-test.c and libgcc1.c.

	* Makefile.in: Delete variables: OLDCC, CCLIBFLAGS, OLDAR,
	OLDAR_FLAGS, LIBGCC1, LIBGCC1_TEST, CROSS_LIBGCC1,
	LIB1FUNCS, and LIB1FUNCS_EXTRA.  Delete rules: libgcc1-test,
	libgcc1-test.o.  Clarify commentary now that libgcc1 no longer exists.
	* cross-make: Don't set LIBGCC1.
	* mklibgcc.in: Delete all code for building from libgcc1.c.
	Always honor LIB1ASMFUNCS if set.

	* crtstuff.c, floatlib.c, longlong.h, config/fp-bit.c,
	config/arc/lib1funcs.asm, config/arm/lib1funcs.asm,
	config/d30v/libgcc1.asm, config/fr30/lib1funcs.asm,
	config/h8300/lib1funcs.asm, config/i386/cygwin.asm,
	config/i386/uwin.asm, config/m68hc11/larith.asm,
	config/m68k/lb1sf68.asm, config/mcore/lib1.asm,
	config/mn10200/lib1funcs.asm, config/sh/lib1funcs.asm,
	config/sparc/lb1spc.asm, config/sparc/lb1spl.asm,
	config/v850/lib1funcs.asm, config/c4x/libgcc.S:
	Delete or update references to libgcc1 in commentary.

	* config/t-libc-ok, config/t-linux, config/t-linux-aout,
	config/t-netbsd, config/a29k/t-a29kbare, config/a29k/t-vx29k,
	config/alpha/t-interix, config/alpha/t-osf, config/alpha/t-vms,
	config/arc/t-arc, config/arm/t-arm-aout, config/arm/t-arm-coff,
	config/arm/t-arm-elf, config/arm/t-linux, config/arm/t-pe,
	config/arm/t-semi, config/arm/t-strongarm-coff,
	config/arm/t-strongarm-elf, config/arm/t-strongarm-pe,
	config/arm/t-xscale-coff, config/arm/t-xscale-elf, config/avr/t-avr,
	config/c4x/t-c4x, config/d30v/t-d30v, config/fr30/t-fr30,
	config/h8300/t-h8300, config/i386/t-beos, config/i386/t-cygwin,
	config/i386/t-i386elf, config/i386/t-interix, config/i386/t-netware,
	config/i386/t-next, config/i386/t-rtems-i386, config/i386/t-sol2,
	config/i960/t-960bare, config/i960/t-vxworks960, config/ia64/t-ia64,
	config/m32r/t-m32r, config/m68hc11/t-m68hc11-gas, config/m68k/t-lynx,
	config/m68k/t-m68kbare, config/m68k/t-m68kelf,
	config/m68k/t-mot3300-gald, config/m68k/t-mot3300-gas,
	config/m68k/t-next, config/m68k/t-vxworks68, config/m88k/t-bug,
	config/m88k/t-dgux, config/m88k/t-dgux-gas, config/m88k/t-dguxbcs,
	config/m88k/t-luna, config/m88k/t-luna-gas, config/m88k/t-m88k,
	config/m88k/t-m88k-gas, config/m88k/t-sysv4, config/mcore/t-mcore,
	config/mcore/t-mcore-pe, config/mips/t-bsd, config/mips/t-bsd-gas,
	config/mips/t-cross64, config/mips/t-ecoff, config/mips/t-elf,
	config/mips/t-iris6, config/mips/t-r3900, config/mips/t-svr3,
	config/mips/t-svr3-gas, config/mips/t-svr4, config/mips/t-svr4-gas,
	config/mips/t-ultrix, config/mn10200/t-mn10200,
	config/mn10300/t-mn10300, config/pa/t-linux, config/pa/t-linux64,
	config/pa/t-pa, config/pa/t-pa64, config/pa/t-pro,
	config/pdp11/t-pdp11, config/pj/t-pj, config/rs6000/t-aix43,
	config/rs6000/t-beos, config/rs6000/t-darwin, config/rs6000/t-newas,
	config/rs6000/t-ppccomm, config/rs6000/t-rs6000, config/sh/t-linux,
	config/sh/t-sh, config/sparc/t-chorus-elf, config/sparc/t-elf,
	config/sparc/t-sol2, config/sparc/t-sp86x, config/sparc/t-sparcbare,
	config/sparc/t-sparclite, config/sparc/t-splet,
	config/sparc/t-sunos41, config/sparc/t-vxsparc,
	config/sparc/t-vxsparc64, config/v850/t-v850:
	Don't set any of LIBGCC1, CROSS_LIBGCC1, or LIBGCC1_TEST.

	* config/alpha/alpha.h, config/i386/i386.h, config/i860/i860.h:
	Don't set FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, INTIFY, or FLOATIFY.
	* config/d30v/d30v.h: Don't mention LIBGCC_NEEDS_DOUBLE,
	FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, FLOATIFY, INTIFY,
	nongcc_SI_type, nongcc_word_type, or perform_*
	* config/i860/fx2800: Don't define perform_umodsi3 or perform_modsi3.

	* config/i386/386bsd.h, config/i386/beos-elf.h,
	config/i386/linux-aout.h, config/i386/linux-oldld.h,
	config/i386/linux.h, config/i386/mach.h, config/i386/netbsd.h,
	config/i386/openbsd.h, config/i386/osfrose.h, config/i386/rtemself.h:
	Don't include i386/perform.h.

	* config/a29k/t-a29k, config/arm/t-semiaof, config/i370/t-i370,
	config/i370/t-linux, config/i370/t-mvs, config/i370/t-oe,
	config/i386/t-djgpp, config/i386/t-i386bare, config/i386/t-vsta,
	config/ia64/t-hpux, config/mips/t-mips, config/mips/t-mips-gas,
	config/mips/t-osfrose, config/sparc/t-sp64, config/sparc/t-sunos40,
	config/vax/t-openbsd, config/vax/t-vax: Delete.

	* config.gcc: Remove references to deleted files.
	(arm-semi-aof): Use arm/t-semi for tmake_file.

	* gcc.texi, install.texi, invoke.texi, tm.texi:
	Delete or rewrite text which is no longer relevant now that
	libgcc1 no longer exists.

	* config/t-openbsd, config/alpha/t-interix, config/i386/t-interix:
	No need to set INSTALL_ASSERT_H.  (Missed in previous sweep.)

From-SVN: r42188
2001-05-17 03:16:18 +00:00
Zack Weinberg
7d25bcce9e config.gcc (i[34567]86-*-sco3.2v4*, [...]): Delete stanzas.
* config.gcc (i[34567]86-*-sco3.2v4*, i[34567]86-*-sco*):
	Delete stanzas.
	* config/i386/sco.h, config/i386/sco4.h, config/i386/scodbx.h,
	config/i386/sco4dbx.h, config/i386/x-sco4: Delete file.

	* optabs.c: Delete #ifdef BROKEN_LDEXP block.

	* POTFILES.in: Remove config/i386/sco.h, config/i386/sco4.h,
	config/i386/sco4dbx.h, and config/i386/scodbx.h.

From-SVN: r41912
2001-05-08 06:26:49 +00:00
David O'Brien
cb5dda2bde config.gcc (rs6000-ibm-aix|powerpc-ibm-aix): Do not include rs6000/rs6000.h twice.
2001-05-03  David O'Brien  <obrien@FreeBSD.org>
	* config.gcc(rs6000-ibm-aix|powerpc-ibm-aix):  Do not include
	rs6000/rs6000.h twice.

Approved by:  David Edelsohn <dje@watson.ibm.com>
              <200105031901.PAA24582@makai.watson.ibm.com>

From-SVN: r41799
2001-05-03 19:32:51 +00:00
David O'Brien
05de394bf9 config.gcc, [...]: Do not directly include rs6000/rs6000.h.
2001-05-02  David O'Brien  <obrien@FreeBSD.org>
	* config.gcc, config/rs6000/aix51.h, config/rs6000/mach.h:  Do not
	directly include rs6000/rs6000.h.  Instead do it in tm.h.

Approved by:  Geoff Keating <geoffk@geoffk.org>
              Message-ID: <jmae4vtdi0.fsf@geoffk.org>

From-SVN: r41782
2001-05-03 07:56:42 +00:00
Zack Weinberg
4e70264f82 config.gcc: Don't default xmake_file to ${cpu_type}/x-${cpu_type}.
2001-05-01  Zack Weinberg  <zackw@stanford.edu>

	* config.gcc: Don't default xmake_file to ${cpu_type}/x-${cpu_type}.
	Remove references to deleted files.
	(*-*-openbsd): No need to override xmake_file.
	(*-*-sysv4): Treat like *-*-sysv.

	* configure.in: Probe for ldopen in various places, and set up
	collect2 to be linked with them if found.
	Don't dink with Windows registry stuff unless $host_os is a
	Win32 os name.  Check to see if we need -ladvapi32.
	* configure: Regenerate.

	* Makefile: Get rid of CLIB and HOST_CLIB.
	Substitute in COLLECT2_LIBS and link collect2 against its contents.
	* build-make: Get rid of HOST_CLIB.

	* config/a29k/x-unix, config/alpha/x-osf, config/i386/x-aix,
	config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
	config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
	config/mips/x-sysv, config/rs6000/x-aix31, config/rs6000/x-aix41,
	config/rs6000/x-rs6000: Delete.

	* config/i386/x-cygwin, config/m68k/t-aux, config/mips/x-iris:
	Don't set CLIB.

	24 x-host fragments remain, 0 x-cpu, 3 top level.

2001-05-01  Zack Weinberg  <zackw@stanford.edu>

	* aclocal.m4 (gcc_AC_C_CHAR_BIT): Correct test program.
	* configure: Regenerate.

From-SVN: r41732
2001-05-01 17:45:05 +00:00
Zack Weinberg
34f4f3a551 tsystem.h: Test only POSIX for availability of string.h and time.h.
* tsystem.h: Test only POSIX for availability of string.h
	and time.h.
	* config.gcc (all systems): If USG appeared in xm_defines,
	change it to POSIX.  If both USG and POSIX appeared, just
	delete USG. Remove unnecessary quotes around xm_defines
	settings.
	(m68k-crds-unos*): Don't #define unos - tested nowhere.
	(m68k-apple-aux*): Don't #define AUX - tested nowhere.
	(alpha*-*-linux*ecoff*, powerpc-*-linux*libc1,
	powerpc-*-linux*): No need to set xm_defines - handled by
	global settings for *-*-linux*.

From-SVN: r41714
2001-05-01 03:48:04 +00:00
H.J. Lu
44404b8b95 config.gcc (mips*-*-linux*): Add elfos.h to tm_file.
2001-04-26  H.J. Lu  (hjl@gnu.org)

	* config.gcc (mips*-*-linux*): Add elfos.h to tm_file.

	* config/mips/ecoff.h (STARTFILE_SPEC): Undefine before
	define.
	* config/mips/elf64.h (MAX_OFILE_ALIGNMENT): Likewise.
	(ASM_OUTPUT_SECTION_NAME): Likewise.
	(ASM_WEAKEN_LABEL): Likewise.
	(UNIQUE_SECTION): Likewise.
	(ASM_OUTPUT_CONSTRUCTOR): Likewise.
	(ASM_OUTPUT_DESTRUCTOR): Likewise.
	* config/mips/elf.h (MAX_OFILE_ALIGNMENT): Likewise.
	(ASM_OUTPUT_SECTION_NAME): Likewise.
	(ASM_WEAKEN_LABEL): Likewise.
	(UNIQUE_SECTION): Likewise.
	(ASM_OUTPUT_CONSTRUCTOR): Likewise.
	(ASM_OUTPUT_DESTRUCTOR): Likewise.
	* config/mips/linux.h (HANDLE_SYSV_PRAGMA): Likewise.
	* config/mips/mips.h (DBX_CONTIN_LENGTH): Likewise.
	(ASM_FILE_START): Likewise.
	(ASM_OUTPUT_SOURCE_LINE): Likewise.
	(ASM_DECLARE_OBJECT_NAME): Likewise.
	(ASM_FILE_END): Likewise.
	(ASM_DECLARE_FUNCTION_NAME): Likewise.
	(ASM_OUTPUT_INTERNAL_LABEL): Likewise.
	(ASM_GENERATE_INTERNAL_LABEL): Likewise.
	(ASM_OUTPUT_CASE_LABEL): Likewise.
	(ASM_OUTPUT_SKIP): Likewise.
	(ASM_OUTPUT_ASCII): Likewise.
	(ASM_OUTPUT_IDENT): Likewise.
	(READONLY_DATA_SECTION): Likewise.
	(EXTRA_SECTIONS): Likewise.
	(EXTRA_SECTION_FUNCTIONS): Likewise.
	(SELECT_RTX_SECTION): Likewise.
	(SELECT_SECTION): Likewise.

	* config/mips/linux.h (INVOKE__main): Undefine.
	(CTOR_LIST_BEGIN): Likewise.
	(CTOR_LIST_END): Likewise.
	(DTOR_LIST_BEGIN): Likewise.
	(DTOR_LIST_END): Likewise.
	(SET_ASM_OP): Defined it to ".dummy".
	(ASM_OUTPUT_DEF): Defined.
	(ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Defined.

From-SVN: r41592
2001-04-26 09:02:05 -07:00
Stan Shebs
a3b1a352b0 config.gcc (powerpc-*-darwin*): Move the flag in xm-darwin.h into xm_defines.
* config.gcc (powerpc-*-darwin*): Move the flag in xm-darwin.h
        into xm_defines.
        * config/rs6000/xm-darwin.h: Remove file.

From-SVN: r41496
2001-04-23 01:14:03 +00:00
Zack Weinberg
acb0db7b38 toplev.c (output_lang_identify): Delete.
* toplev.c (output_lang_identify): Delete.
	(compile_file): Don't call ASM_IDENTIFY_GCC or ASM_IDENTIFY_LANGUAGE.
	Don't generate gcc2_compiled. label.  Don't emit a nop if profiling.
	If IDENT_ASM_OP is defined, emit an .ident "GCC (GNU) <version>"
	after calling ASM_FILE_END.

	* dbxout.c (dbxout_init): Don't call ASM_IDENTIFY_GCC_AFTER_SOURCE.
	Instead, unconditionally emit an N_OPT stab with string equal
	to STABS_GCC_MARKER, which defaults to "gcc2_compiled."

	* defaults.h: Don't provide default for ASM_IDENTIFY_LANGUAGE.

	* config/dbxelf.h, config/freebsd.h, config/nextstep.h,
	config/psos.h, config/ptx4.h, config/1750a/1750a.h,
	config/alpha/alpha.h, config/alpha/elf.h, config/arc/arc.h,
	config/arm/aof.h, config/arm/coff.h, config/arm/elf.h,
	config/arm/linux-elf.h, config/avr/avr.h, config/d30v/d30v.h,
	config/dsp16xx/dsp16xx.h, config/h8300/h8300.h,
	config/i370/i370.h, config/i386/beos-elf.h,
	config/i386/osf1elf.h, config/i386/osfrose.h,
	config/ia64/sysv4.h, config/m68k/3b1.h, config/m68k/auxgas.h,
	config/m68k/crds.h, config/m68k/hp320.h, config/m68k/m68kv4.h,
	config/m68k/mot3300.h, config/m68k/news.h, config/m68k/sgs.h,
	config/m68k/tower-as.h, config/mcore/mcore-elf.h,
	config/mips/iris6.h, config/mips/osfrose.h,
	config/mips/sni-svr4.h, config/pa/som.h, config/pdp11/pdp11.h,
	config/sparc/sp64-elf.h:
	Delete definitions of any or all of: ASM_IDENTIFY_GCC,
	ASM_IDENTIFY_GCC_AFTER_SOURCE, and ASM_IDENTIFY_LANGUAGE.

	* config/elfos.h, config/freebsd.h, config/linux.h,
	config/alpha/elf.h, config/arm/linux-elf.h, config/i386/i386elf.h,
	config/i386/ptx4-i.h, config/mips/gnu.h, config/mips/linux.h,
	config/sparc/linux.h, config/sparc/linux64.h: Delete definitions
	of ASM_FILE_START which merely emit a .version directive.  Delete
	definitions of ASM_FILE_END which merely emit an .ident directive.

	* config/avr/avr.h, config/vax/vax.h: Delete definition of
	ASM_IDENTIFY_GCC and move part of its logic into
	ASM_FILE_START.

	* config/i386/att.h, config/i386/gas.h, config/i386/linux.h,
	config/sparc/linux-aout.h: Don't emit .version directive in
	ASM_FILE_START.

	* config/i386/dgux.c, config/m88k/m88k.c, config/sh/sh.c
	(output_file_start): Correct comment.

	* config/i386/osfrose.h: Don't emit trailing .ident directive.
	* config/m68k/mot3300.h: Override STABS_GCC_MARKER to "gcc2_compiled%"
	to match gdb.
	* config/pa/lib2funcs.asm: Delete gcc_compiled. label.
	* config/rs6000/aix.h: Correct comment.

	* config/i386/i386afe.h: Delete.
	* config.gcc: Remove references to i386afe.h.

	* tm.texi: Delete documentation of ASM_IDENTIFY_GCC.  The
	other macros deleted by this patch were undocumented.

From-SVN: r41385
2001-04-16 18:30:48 +00:00
Alan Modra
c21a23721b pa-gas.h: Delete file.
* pa-gas.h: Delete file.
	* config.gcc: Match `parisc' as well as `hppa' for cpu_type=pa.
	Add new targets hppa*64*-*-linux* and parisc*64*-*-linux*.  Update
	hppa*-*-linux*.  For all pa targets, remove pa/gas.h from tm_file,
	instead setting MASK_GAS | MASK_JUMP_IN_DELAY in target_cpu_default2.

From-SVN: r41325
2001-04-13 14:57:47 +09:30
Alan Modra
380109278c pa-64.h (WCHAR_TYPE, [...]): Define.
* pa-64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
	(ASM_OUTPUT_DOUBLE_INT): Format, protect macro with do..while.
	(LINK_SPEC, LIB_SPEC, MD_EXEC_PREFIX, MD_STARTFILE_PREFIX,
	NEW_HP_ASSEMBLER, ASM_FILE_START, OBJECT_FORMAT_ELF,
	DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_FORMAT,
	DWARF2_ASM_LINE_DEBUG_INFO, USE_CONST_SECTION, CONST_SECTION_ASM_OP,
	CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
	FINI_SECTION_ASM_OP, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
	READONLY_DATA_SECTION, CONST_SECTION_FUNCTION, CTORS_SECTION_FUNCTION,
	DTORS_SECTION_FUNCTION, ASM_OUTPUT_SECTION_NAME, MAKE_DECL_ONE_ONLY,
	UNIQUE_SECTION_P, UNIQUE_SECTION, INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
	ASM_OUTPUT_DESTRUCTOR, TYPE_ASM_OP, SIZE_ASM_OP, ASM_WEAKEN_LABEL,
	TYPE_OPERAND_FMT, ASM_DECLARE_RESULT): Move to..
	* pa64-hpux.h: New file.
	(ASM_FILE_START): Correct typo.
	(PREFERRED_DEBUGGING_FORMAT): Rename to PREFERRED_DEBUGGING_TYPE.
	* config.gcc: Modify for above.

From-SVN: r41321
2001-04-13 14:36:32 +09:30
Stan Shebs
ee890fe2a1 Add Darwin (Mac OS X kernel) native support.
* config.gcc (powerpc-*-darwin*): Add native bits.
        * config/darwin.c: New file, generic Darwin support functions.
        * config/darwin.h: New file, generic Darwin definitions.
        * config/darwin-protos.h: New file, generic Darwin prototypes.
        * rs6000/darwin.h: New file, Darwin for PowerPC.
        * rs6000/t-darwin: New file, Darwin makefile fragment.
        * rs6000/rs6000.h (OBJECT_MACHO): New macro.
        (TARGET_MACHO): Ditto.
        (rs6000_abi): Add ABI_DARWIN.
        (RS6000_REG_SAVE): Add ABI_DARWIN case.
        (RS6000_SAVE_AREA): Ditto.
        (FP_ARG_MAX_REG): Ditto.
        (RETURN_ADDRESS_OFFSET): Ditto.
        * rs6000/rs6000.c (rs6000_legitimize_address): Add TARGET_MACHO
        cases.
        (rs6000_emit_move): Add ABI_DARWIN cases.
        (print_operand): Ditto.
        (first_reg_to_save): Ditto.
        (rs6000_stack_info): Ditto, also align stack by 16 instead of 8.
        (debug_stack_info): Ditto.
        (rs6000_emit_prologue): Ditto.
        (rs6000_emit_epilogue): Ditto.
        (output_profiler_hook): Ditto.
        (output_function_profiler): Ditto.
        (rs6000_add_gc_roots): Call machopic_add_gc_roots if TARGET_MACHO.
        (output_mi_thunk): Add TARGET_MACHO case.
        (add_compiler_stub): Ditto.
        (output_compiler_stub): Ditto.
        (no_previous_def): Ditto.
        (output_call): Ditto.
        (machopic_output_stub): Ditto.
        (rs6000_machopic_legitimize_pic_address): Ditto.
        (toc_section): Ditto.
        * rs6000/rs6000.md (addsi3_high): New TARGET_MACHO pattern.
        (macho_high): Ditto.
        (macho_low): Ditto.
        (movsi_low): Ditto.
        (load_macho_picbase): Ditto.
        (call): Add TARGET_MACHO case to modify function.
        (call_value): Ditto.
        (call_nonlocal_sysv): Add ABI_DARWIN case.
        (call_value_nonlocal_sysv): Ditto.
        * rs6000/rs6000-protos.h (rs6000_machopic_legitimize_pic_address):
        Add prototype.
        (machopic_output_stub): Ditto.
        * ginclude/stddef.h: Test _BSD_WCHAR_T_DEFINED_.

From-SVN: r41277
2001-04-12 02:13:00 +00:00
Zack Weinberg
b6d7afec45 config.gcc: Set default for xmake_file at top, not bottom.
* config.gcc: Set default for xmake_file at top, not bottom.
	Change places that set xmake_file to "none" to set to the
	empty string instead, or remove them entirely if there is no
	default xmake_file for this cpu_type.  Remove references to
	deleted files.

	* config/x-lynx, config/convex/x-convex, config/elxsi/x-elxsi,
	config/i386/x-isc, config/i386/x-isc3, config/i386/x-ncr3000,
	config/i386/x-next, config/i386/x-sco, config/i386/x-sysv3,
	config/i386/x-vsta, config/i860/x-sysv4, config/m68k/x-amix,
	config/m68k/x-apollo68, config/m68k/x-ccur, config/m68k/x-crds,
	config/m68k/x-hp2bsd, config/m68k/x-mot3300, config/m68k/x-mot3300-gas,
	config/m68k/x-tower, config/m88k/x-sysv4, config/mips/x-dec-osf1,
	config/mips/x-sni-svr4, config/mips/x-ultrix, config/romp/x-mach,
	config/romp/x-romp, config/rs6000/x-beos, config/rs6000/x-lynx,
	config/rs6000/x-mach, config/rs6000/x-sysv4, config/sparc/x-sysv4:
	Delete.

	* config/a29k/x-unix, config/i386/x-aix, config/i386/x-osf1elf,
	config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
	config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
	config/mips/x-sysv, config/rs6000/x-aix31:
	Just set CLIB to -lld or -lmld, as appropriate.

	* config/arm/x-riscix, config/i370/x-oe, config/i386/x-dgux,
	config/i386/x-sco4, config/i386/x-sco5, config/m68k/x-hp320,
	config/m68k/x-hp320g, config/m68k/x-next, config/m88k/x-dgux,
	config/mips/x-iris, config/pa/x-pa:
	Just set (some of) FIXPROTO_DEFINES, STMP_FIXPROTO,
	OTHER_FIXINCLUDES_DIRS.

	* config/i386/x-djgpp: Don't set LN or LN_S.
	* config/m88k/x-dolph: Don't define __m88k__.
	* config/m88k/x-tekXD88: Don't set AR_FLAGS.
	* config/pa/x-pa-mpeix: Just set up quadlib.asm.
	* config/i860/fx2800.h: No need to #undef SVR4.

	38 x-host fragments remain, 2 x-cpu.

From-SVN: r41181
2001-04-07 20:44:56 +00:00
Zack Weinberg
4dc0535b80 config.gcc: Remove default for xm_file.
* config.gcc: Remove default for xm_file.  Clean up local
	machine type handling.  Remove settings of xm_file to
	something that doesn't exist.  In the big switch, set xm_file,
	don't append to it (the value before the big switch is always
	null).  Don't force build_xm_file or host_xm_file to have a value.
	* configure.in: Remove default for xm_file.  Do not special
	case $cpu/xm-$cpu.h not existing.
	* configure: Regenerate.

From-SVN: r41106
2001-04-05 04:34:24 +00:00
Zack Weinberg
547a559d01 xm-beos.h, [...]: Delete.
* config/i386/xm-beos.h, config/i386/xm-isc.h,
	config/i386/xm-next.h, config/i386/xm-sco.h,
	config/i386/xm-sco5.h, config/m68k/xm-plexus.h,
	config/m88k/xm-m88k.h: Delete.

	* config/i386/xm-djgpp.h: Don't define __MSDOS__.
	* config/romp/xm-romp.h: Don't define bcopy.
	* config/rs6000/xm-beos.h: Don't define bcopy, HAVE_VPRINTF,
	HAVE_PUTENV, HAVE_RENAME, or USE_C_ALLOCA.

	* config.gcc: Remove references to deleted files.

From-SVN: r41061
2001-04-03 17:38:23 +00:00
Zack Weinberg
0b29309adf config.gcc (m68hc11-*-*, [...]): Convert to new tm.h inclusion style.
* config.gcc (m68hc11-*-*, m68hc12-*-*): Convert to new tm.h
	inclusion style.  xm-m68hc11.h no longer exists.
	* config/m68hc11/xm-m68hc11.h: Delete file.
	* config/m68hc11/m68hc12.h: Convert to new tm.h inclusion style.

	* config/m68hc11/m68hc11.h: Convert to new tm.h inclusion style.
	Don't define GCC_VERSION, N_, or PARAMS; don't include
	gansidecl.h or stdio.h.  Define inhibit_libc here.
	Make code conditioned on #if GCC_VERSION > 2095 unconditional.
	Delete code conditioned on #if GCC_VERSION == 2095.

	* config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
	Make code conditioned on #if GCC_VERSION > 2095 unconditional.
	Delete code conditioned on #if GCC_VERSION == 2095.

From-SVN: r40878
2001-03-27 20:09:27 +00:00
Kaveh R. Ghazi
d2a2648c79 mkconfig.sh (DEFINES): Handle entries with '='.
* mkconfig.sh (DEFINES): Handle entries with '='.

	* config.gcc: Don't use i370/xm-mvs.h or ns32k/xm-pc532-min.h.
	Set xm_defines to MACRO=value instead.

	* i370/xm-mvs.h: Delete.

	* ns32k/xm-pc532-min.h: Likewise.

From-SVN: r40828
2001-03-25 13:23:30 +00:00
Steve Ellcey
7e5b99080a Steve Ellcey's ia64-hpux port.
* config.gcc (ia64*-*-hpux*): New case.
        * config/ia64/hpux.h: New file for HP-UX support.
        * config/ia64/t-hpux: New file for HP-UX support.

From-SVN: r40531
2001-03-15 20:39:20 -08:00