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
* 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
* 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-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-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
* 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
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-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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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-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-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
* 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
* 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
* 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-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
* 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-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
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
* 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
(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-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
* 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
* 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
* 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-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
* 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
* 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
* 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-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-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-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
* 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
* 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-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-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-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-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
* 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-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
* 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-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
* 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-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
* 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
* 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
* 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
* 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-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-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-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
* 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-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-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-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
* 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-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
* 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-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-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
* 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
* 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-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
* 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-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
* 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-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-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
* 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
* 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-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-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-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
* 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
* 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
* 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
* 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
* 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