2003-09-01 19:30:41 +02:00
|
|
|
# GCC target-specific configuration file.
|
2006-02-17 00:29:10 +01:00
|
|
|
# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
|
2003-01-19 14:04:24 +01:00
|
|
|
# Free Software Foundation, Inc.
|
2000-11-17 11:42:45 +01:00
|
|
|
|
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 16:35:51 +02:00
|
|
|
#This file is part of GCC.
|
2000-11-17 11:42:45 +01:00
|
|
|
|
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 16:35:51 +02:00
|
|
|
#GCC is free software; you can redistribute it and/or modify it under
|
|
|
|
#the terms of the GNU General Public License as published by the Free
|
|
|
|
#Software Foundation; either version 2, or (at your option) any later
|
|
|
|
#version.
|
2000-11-17 11:42:45 +01:00
|
|
|
|
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 16:35:51 +02:00
|
|
|
#GCC is distributed in the hope that it will be useful, but WITHOUT
|
|
|
|
#ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
|
|
#FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
|
|
#for more details.
|
2000-11-17 11:42:45 +01:00
|
|
|
|
|
|
|
#You should have received a copy of the GNU General Public License
|
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 16:35:51 +02:00
|
|
|
#along with GCC; see the file COPYING. If not, write to the Free
|
2005-06-25 04:02:01 +02:00
|
|
|
#Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
|
|
|
|
#02110-1301, USA.
|
2000-11-17 11:42:45 +01:00
|
|
|
|
2003-09-01 19:30:41 +02:00
|
|
|
# This is the GCC target-specific configuration file
|
|
|
|
# where a configuration type is mapped to different system-specific
|
|
|
|
# definitions and files. This is invoked by the autoconf-generated
|
|
|
|
# configure script. Putting it in a separate shell file lets us skip
|
|
|
|
# running autoconf when modifying target-specific information.
|
2000-11-17 11:42:45 +01:00
|
|
|
|
2003-09-23 23:51:44 +02:00
|
|
|
# This file switches on the shell variable ${target}, and also uses the
|
2000-11-17 11:42:45 +01:00
|
|
|
# following shell variables:
|
|
|
|
#
|
|
|
|
# with_* Various variables as set by configure.
|
|
|
|
#
|
2004-04-07 03:20:59 +02:00
|
|
|
# enable_threads Either the name, yes or no depending on whether
|
2000-11-17 11:42:45 +01:00
|
|
|
# threads support was requested.
|
|
|
|
#
|
2003-06-03 22:39:52 +02:00
|
|
|
# default_use_cxa_atexit
|
2006-03-02 11:01:21 +01:00
|
|
|
# The default value for the $enable___cxa_atexit
|
|
|
|
# variable. enable___cxa_atexit needs to be set to
|
|
|
|
# "yes" for the correct operation of C++ destructors
|
|
|
|
# but it relies upon the presence of a non-standard C
|
|
|
|
# library function called __cxa_atexit.
|
|
|
|
# Since not all C libraries provide __cxa_atexit the
|
|
|
|
# default value of $default_use_cxa_atexit is set to
|
|
|
|
# "no" except for targets which are known to be OK.
|
2003-06-03 22:39:52 +02:00
|
|
|
#
|
2000-11-17 11:42:45 +01:00
|
|
|
# gas_flag Either yes or no depending on whether GNU as was
|
|
|
|
# requested.
|
|
|
|
#
|
|
|
|
# gnu_ld_flag Either yes or no depending on whether GNU ld was
|
|
|
|
# requested.
|
|
|
|
|
|
|
|
# This file sets the following shell variables for use by the
|
|
|
|
# autoconf-generated configure script:
|
|
|
|
#
|
2003-09-23 23:51:44 +02:00
|
|
|
# cpu_type The name of the cpu, if different from the first
|
|
|
|
# chunk of the canonical target name.
|
2000-11-17 11:42:45 +01:00
|
|
|
#
|
2002-06-15 19:31:32 +02:00
|
|
|
# tm_defines List of target macros to define for all compilations.
|
|
|
|
#
|
2000-11-17 11:42:45 +01:00
|
|
|
# tm_file A list of target macro files, if different from
|
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-20 00:27:41 +02:00
|
|
|
# "$cpu_type/$cpu_type.h". Usually it's constructed
|
|
|
|
# per target in a way like this:
|
2001-12-06 18:34:55 +01:00
|
|
|
# tm_file="${tm_file} dbxelf.h elfos.h svr4.h ${cpu_type.h}/elf.h"
|
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-20 00:27:41 +02:00
|
|
|
# Note that the preferred order is:
|
|
|
|
# - specific target header "${cpu_type}/${cpu_type.h}"
|
config.gcc: Remove obsolete ports and configurations.
gcc/
* config.gcc: Remove obsolete ports and configurations.
* config/linux-aout.h, config/netware.h,
config/t-linux-gnulibc1, config/d30v/abi,
config/d30v/d30v-protos.h, config/d30v/d30v.c,
config/d30v/d30v.h, config/d30v/d30v.md,
config/d30v/libgcc1.asm, config/d30v/t-d30v,
config/dsp16xx/dsp16xx-modes.def,
config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
config/dsp16xx/dsp16xx.h, config/dsp16xx/dsp16xx.md,
config/i370/README, config/i370/i370-c.c,
config/i370/i370-protos.h, config/i370/i370.c,
config/i370/i370.h, config/i370/i370.md, config/i370/linux.h,
config/i370/mvs.h, config/i370/oe.h, config/i370/t-i370,
config/i386/freebsd-aout.h, config/i386/linux-aout.h,
config/i386/moss.h, config/i386/netware.h,
config/i386/svr3.ifile, config/i386/svr3dbx.h,
config/i386/svr3gas.h, config/i386/svr3z.ifile,
config/i386/t-udk, config/i386/udk.h, config/i386/vsta.h,
config/i960/i960-c.c, config/i960/i960-coff.h,
config/i960/i960-modes.def, config/i960/i960-protos.h,
config/i960/i960.c, config/i960/i960.h, config/i960/i960.md,
config/i960/rtems.h, config/i960/t-960bare,
config/m68k/hp310.h, config/m68k/hp320.h,
config/m68k/hp320base.h, config/m68k/m68kv4.h,
config/m68k/netbsd.h, config/m68k/sgs.h, config/m68k/t-hp320:
Remove.
* doc/extend.texi, doc/install.texi, doc/invoke.texi,
doc/md.texi: Remove mentions of obsolete ports.
testsuite/
* gcc.dg/20020312-2.c, gcc.dg/builtin-inf-1.c,
gcc.dg/sibcall-3.c, gcc.dg/sibcall-4.c, gcc.dg/cpp/assert4.c:
Remove mentions of obsolete ports.
From-SVN: r77216
2004-02-04 06:13:43 +01:00
|
|
|
# - generic headers like dbxelf.h elfos.h, etc.
|
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-20 00:27:41 +02:00
|
|
|
# - specializing target headers like ${cpu_type.h}/elf.h
|
|
|
|
# This helps to keep OS specific stuff out of the CPU
|
|
|
|
# defining header ${cpu_type}/${cpu_type.h}.
|
2000-11-17 11:42:45 +01:00
|
|
|
#
|
|
|
|
# tm_p_file Location of file with declarations for functions
|
|
|
|
# in $out_file.
|
|
|
|
#
|
|
|
|
# out_file The name of the machine description C support
|
|
|
|
# file, if different from "$cpu_type/$cpu_type.c".
|
|
|
|
#
|
|
|
|
# md_file The name of the machine-description file, if
|
|
|
|
# different from "$cpu_type/$cpu_type.md".
|
|
|
|
#
|
|
|
|
# tmake_file A list of machine-description-specific
|
|
|
|
# makefile-fragments, if different from
|
|
|
|
# "$cpu_type/t-$cpu_type".
|
|
|
|
#
|
2002-06-12 03:36:13 +02:00
|
|
|
# extra_modes The name of the file containing a list of extra
|
|
|
|
# machine modes, if necessary and different from
|
|
|
|
# "$cpu_type/$cpu_type-modes.def".
|
|
|
|
#
|
2000-11-17 11:42:45 +01:00
|
|
|
# extra_objs List of extra objects that should be linked into
|
|
|
|
# the compiler proper (cc1, cc1obj, cc1plus)
|
|
|
|
# depending on target.
|
|
|
|
#
|
2004-02-25 22:43:26 +01:00
|
|
|
# extra_gcc_objs List of extra objects that should be linked into
|
|
|
|
# the compiler driver (gcc) depending on target.
|
|
|
|
#
|
2000-11-17 11:42:45 +01:00
|
|
|
# extra_headers List of used header files from the directory
|
2002-01-02 23:50:01 +01:00
|
|
|
# config/${cpu_type}.
|
2000-11-17 11:42:45 +01:00
|
|
|
#
|
|
|
|
# extra_passes List of extra executables compiled for this target
|
|
|
|
# machine, used for compiling from source to object.
|
|
|
|
#
|
|
|
|
# extra_parts List of extra object files that should be compiled
|
|
|
|
# for this target machine.
|
|
|
|
#
|
|
|
|
# extra_programs Like extra_passes, but these are used when linking.
|
|
|
|
#
|
2005-03-14 21:18:43 +01:00
|
|
|
# extra_options List of target-dependent .opt files.
|
|
|
|
#
|
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 21:09:17 +01:00
|
|
|
# c_target_objs List of extra target-dependent objects that be
|
2000-11-25 01:33:04 +01:00
|
|
|
# linked into the C compiler only.
|
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 04:03:14 +02:00
|
|
|
#
|
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 21:09:17 +01:00
|
|
|
# cxx_target_objs List of extra target-dependent objects that be
|
2000-11-25 01:33:04 +01:00
|
|
|
# linked into the C++ compiler only.
|
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 04:03:14 +02:00
|
|
|
#
|
2002-07-27 22:54:52 +02:00
|
|
|
# target_gtfiles List of extra source files with type information.
|
|
|
|
#
|
2000-11-17 11:42:45 +01:00
|
|
|
# xm_defines List of macros to define when compiling for the
|
|
|
|
# target machine.
|
|
|
|
#
|
|
|
|
# xm_file List of files to include when compiling for the
|
|
|
|
# target machine.
|
|
|
|
#
|
|
|
|
# use_collect2 Set to yes or no, depending on whether collect2
|
|
|
|
# will be used.
|
|
|
|
#
|
|
|
|
# target_cpu_default Set to override the default target model.
|
|
|
|
#
|
|
|
|
# gdb_needs_out_file_path
|
|
|
|
# Set to yes if gdb needs a dir command with
|
|
|
|
# `dirname $out_file`.
|
|
|
|
#
|
|
|
|
# thread_file Set to control which thread package to use.
|
|
|
|
#
|
|
|
|
# gas Set to yes or no depending on whether the target
|
|
|
|
# system normally uses GNU as.
|
2002-12-16 19:23:00 +01:00
|
|
|
#
|
|
|
|
# need_64bit_hwint Set to yes if HOST_WIDE_INT must be 64 bits wide
|
config.gcc: Don't mention MAX_LONG_TYPE_SIZE.
* config.gcc: Don't mention MAX_LONG_TYPE_SIZE.
* system.h (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Poison.
* config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
config/ia64/ia64.h, config/ip2k/ip2k.h,
config/iq2000/iq2000.h, config/mips/iris5.h,
config/mips/mips.h, config/pa/pa-64.h, config/pa/pa.h,
config/rs6000/aix51.h, config/rs6000/aix52.h,
config/rs6000/darwin.h, config/rs6000/rs6000.h,
config/s390/s390.h, config/sh/sh.h, config/sparc/freebsd.h,
config/sparc/linux.h, config/sparc/linux64.h,
config/sparc/netbsd-elf.h, config/sparc/sparc.h,
config/xtensa/xtensa.h: Remove the definitions of
MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE, and/or
MAX_WCHAR_TYPE_SIZE.
* doc/tm.texi (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Remove.
From-SVN: r77460
2004-02-07 18:06:25 +01:00
|
|
|
# for this target. This is true iff this target
|
|
|
|
# supports "long" or "wchar_t" wider than 32 bits.
|
config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic. Set
configure_default_options according to the default CPU, --with-cpu,
--with-arch, --with-tune, --with-schedule, --with-abi, and
--with-float. Check for legal values of various options.
* configure.in: Define configure_default_options in configargs.h.
* configure: Regenerated.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (do_option_spec): New function.
(struct default_spec, option_default_specs): New.
(main): Call do_option_spec.
* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
* doc/install.texi: Update --with-cpu documentation. Mention
--with-arch, --with-schedule, --with-tune, --with-abi, and
--with-float.
* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
From-SVN: r67457
2003-06-04 19:50:44 +02:00
|
|
|
#
|
|
|
|
# configure_default_options
|
|
|
|
# Set to an initializer for configure_default_options
|
|
|
|
# in configargs.h, based on --with-cpu et cetera.
|
config.gcc: Do per-target disabling of fixproto here in clauses, not in t- fragments.
* config.gcc: Do per-target disabling of fixproto here in clauses,
not in t- fragments.
* configure.in: Adjust to set STMP_FIXPROTO correctly.
* configure: Regenerate.
* config/arm/t-semi, config/cris/t-cris, config/i386/t-beos,
config/i386/t-cygming, config/i386/t-nto, config/ia64/t-hpux,
t-freebsd, t-linux, t-netbsd, t-openbsd, t-rtems, t-vxworks,
xtensa/t-xtensa: Remove setting of STMP_FIXPROTO.
* config/i370/t-oe, config/i386/t-netware, config/pa/t-bsd,
t-interix, t-linux-aout: Delete files consisting only of
setting of STMP_FIXPROTO.
From-SVN: r71687
2003-09-23 20:56:00 +02:00
|
|
|
#
|
|
|
|
# use_fixproto Set to "yes" if fixproto should be run normally,
|
|
|
|
# "no" if fixproto should never be run.
|
2000-11-17 11:42:45 +01:00
|
|
|
|
|
|
|
# The following variables are used in each case-construct to build up the
|
|
|
|
# outgoing variables:
|
|
|
|
#
|
|
|
|
# gnu_ld Set to yes or no depending on whether the target
|
|
|
|
# system normally uses GNU ld.
|
|
|
|
|
|
|
|
out_file=
|
|
|
|
tmake_file=
|
|
|
|
extra_headers=
|
|
|
|
extra_passes=
|
|
|
|
extra_parts=
|
|
|
|
extra_programs=
|
|
|
|
extra_objs=
|
|
|
|
extra_gcc_objs=
|
2005-03-14 21:18:43 +01:00
|
|
|
extra_options=
|
2000-11-25 01:33:04 +01:00
|
|
|
c_target_objs=
|
|
|
|
cxx_target_objs=
|
2002-06-15 19:31:32 +02:00
|
|
|
tm_defines=
|
2000-11-17 11:42:45 +01:00
|
|
|
xm_defines=
|
|
|
|
# Set this to force installation and use of collect2.
|
|
|
|
use_collect2=
|
|
|
|
# Set this to override the default target model.
|
|
|
|
target_cpu_default=
|
|
|
|
# Set this if gdb needs a dir command with `dirname $out_file`
|
|
|
|
gdb_needs_out_file_path=
|
|
|
|
# Set this to control which thread package will be used.
|
|
|
|
thread_file=
|
|
|
|
# Reinitialize these from the flag values every loop pass, since some
|
|
|
|
# configure entries modify them.
|
|
|
|
gas="$gas_flag"
|
|
|
|
gnu_ld="$gnu_ld_flag"
|
2003-06-03 22:39:52 +02:00
|
|
|
default_use_cxa_atexit=no
|
2002-07-29 19:25:30 +02:00
|
|
|
target_gtfiles=
|
2002-12-16 19:23:00 +01:00
|
|
|
need_64bit_hwint=
|
2000-11-17 11:42:45 +01:00
|
|
|
|
2003-09-30 12:16:39 +02:00
|
|
|
# Default to not using fixproto. Targets which need fixproto should
|
|
|
|
# specifically set this to 'yes'.
|
|
|
|
use_fixproto=no
|
config.gcc: Do per-target disabling of fixproto here in clauses, not in t- fragments.
* config.gcc: Do per-target disabling of fixproto here in clauses,
not in t- fragments.
* configure.in: Adjust to set STMP_FIXPROTO correctly.
* configure: Regenerate.
* config/arm/t-semi, config/cris/t-cris, config/i386/t-beos,
config/i386/t-cygming, config/i386/t-nto, config/ia64/t-hpux,
t-freebsd, t-linux, t-netbsd, t-openbsd, t-rtems, t-vxworks,
xtensa/t-xtensa: Remove setting of STMP_FIXPROTO.
* config/i370/t-oe, config/i386/t-netware, config/pa/t-bsd,
t-interix, t-linux-aout: Delete files consisting only of
setting of STMP_FIXPROTO.
From-SVN: r71687
2003-09-23 20:56:00 +02:00
|
|
|
|
2003-05-18 20:44:46 +02:00
|
|
|
# Don't carry these over build->host->target. Please.
|
|
|
|
xm_file=
|
|
|
|
md_file=
|
|
|
|
|
2002-04-23 00:25:14 +02:00
|
|
|
# Obsolete configurations.
|
2003-09-23 23:51:44 +02:00
|
|
|
case ${target} in
|
config.gcc: Remove support for sparc-*-openbsd*...
gcc/
* config.gcc: Remove support for sparc-*-openbsd*,
i860-*-sysv4*, ip2k-*-elf, ns32k-*-netbsdelf*,
ns32k-*-netbsd*.
* config.host: Remove support for i860-*-sysv4* as a host.
* config/i860/*, config/ip2k/*, config/ns32k/*,
config/sparc/openbsd.h, config/sparc/t-openbsd: Remove.
* doc/install.texi, doc/invoke.texi, doc/md.texi: Don't
mention obsolete ports.
testsuite/
* gcc.dg/20020312-2.c, gcc.dg/sibcall-3.c, gcc.dg/sibcall-4.c,
gcc.dg/cpp/assert4.c: Don't mention obsolete ports.
From-SVN: r102189
2005-07-20 08:39:38 +02:00
|
|
|
c4x-* \
|
2005-04-28 04:29:10 +02:00
|
|
|
| tic4x-* \
|
2005-01-27 08:15:36 +01:00
|
|
|
)
|
2002-05-01 20:42:55 +02:00
|
|
|
if test "x$enable_obsolete" != xyes; then
|
2003-09-23 23:51:44 +02:00
|
|
|
echo "*** Configuration ${target} is obsolete." >&2
|
2002-04-23 00:25:14 +02:00
|
|
|
echo "*** Specify --enable-obsolete to build it anyway." >&2
|
|
|
|
echo "*** Support will be REMOVED in the next major release of GCC," >&2
|
|
|
|
echo "*** unless a maintainer comes forward." >&2
|
|
|
|
exit 1
|
|
|
|
fi;;
|
|
|
|
esac
|
|
|
|
|
config.gcc: Purge all targets obsoleted in GCC 3.3.
* config.gcc: Purge all targets obsoleted in GCC 3.3. Also
remove hppa*-*-mpeix* which could not be built, and prune
files from tmake_file= or tm_file= lists that don't exist.
* config/alpha/alpha-interix.h, config/alpha/alpha32.h
* config/alpha/t-interix, config/arm/conix-elf.h
* config/arm/t-arm-aout, config/arm/t-strongarm-coff
* config/arm/unknown-elf-oabi.h, config/i386/win32.h
* config/m68k/3b1.h, config/m68k/3b1g.h, config/m68k/amix.h
* config/m68k/atari.h, config/m68k/ccur-GAS.h, config/m68k/crds.h
* config/m68k/hp2bsd.h, config/m68k/hp3bsd.h
* config/m68k/hp3bsd44.h, config/m68k/linux-aout.h
* config/m68k/m68k-psos.h, config/m68k/mot3300.h
* config/m68k/pbb.h, config/m68k/plexus.h, config/m68k/sun2.h
* config/m68k/sun2o4.h, config/m68k/sun3.h, config/m68k/sun3mach.h
* config/m68k/sun3n.h, config/m68k/sun3n3.h, config/m68k/sun3o3.h
* config/m68k/t-mot3300, config/m68k/t-mot3300-gald
* config/m68k/t-mot3300-gas, config/m68k/t-mot3300-gld
* config/m68k/tower-as.h, config/m68k/tower.h
* config/m88k/aout-dbx.h, config/m88k/m88k-aout.h
* config/m88k/m88k-modes.def, config/m88k/m88k-move.sh
* config/m88k/m88k-protos.h, config/m88k/m88k.c
* config/m88k/m88k.h, config/m88k/m88k.md, config/m88k/openbsd.h
* config/m88k/sysv4.h, config/m88k/t-luna, config/m88k/t-luna-gas
* config/m88k/t-m88k, config/m88k/t-sysv4, config/mcore/gfloat.h
* config/mips/rtems64.h, config/mips/sni-gas.h
* config/mips/sni-svr4.h, config/mips/t-ecoff
* config/mn10200/lib1funcs.asm, config/mn10200/mn10200-protos.h
* config/mn10200/mn10200.c, config/mn10200/mn10200.h
* config/mn10200/mn10200.md, config/mn10200/t-mn10200
* config/pa/pa-hiux.h, config/pa/pa-hpux7.h, config/pa/pa-hpux9.h
* config/pa/pa-oldas.h, config/pa/t-mpeix, config/psos.h
* config/romp/romp-protos.h, config/romp/romp.c
* config/romp/romp.h, config/romp/romp.md, config/rs6000/aix31.h
* config/rs6000/aix3newas.h, config/rs6000/mach.h
* config/sparc/bsd.h, config/sparc/hal.h
* config/sparc/linux-aout.h, config/sparc/lynx-ng.h
* config/sparc/lynx.h, config/sparc/netbsd.h
* config/sparc/sp86x-aout.h, config/sparc/splet.h
* config/sparc/sun4gas.h, config/sparc/sun4o3.h
* config/sparc/sunos4.h, config/sparc/t-chorus-elf
* config/sparc/t-halos, config/sparc/t-sparcbare
* config/sparc/t-splet, config/sparc/t-sunos41
* config/v850/rtems.h: Delete file.
From-SVN: r66842
2003-05-15 23:47:36 +02:00
|
|
|
# Unsupported targets list. Do not put an entry in this list unless
|
|
|
|
# it would otherwise be caught by a more permissive pattern. The list
|
|
|
|
# should be in alphabetical order.
|
2003-09-23 23:51:44 +02:00
|
|
|
case ${target} in
|
config.gcc: Purge all targets obsoleted in GCC 3.3.
* config.gcc: Purge all targets obsoleted in GCC 3.3. Also
remove hppa*-*-mpeix* which could not be built, and prune
files from tmake_file= or tm_file= lists that don't exist.
* config/alpha/alpha-interix.h, config/alpha/alpha32.h
* config/alpha/t-interix, config/arm/conix-elf.h
* config/arm/t-arm-aout, config/arm/t-strongarm-coff
* config/arm/unknown-elf-oabi.h, config/i386/win32.h
* config/m68k/3b1.h, config/m68k/3b1g.h, config/m68k/amix.h
* config/m68k/atari.h, config/m68k/ccur-GAS.h, config/m68k/crds.h
* config/m68k/hp2bsd.h, config/m68k/hp3bsd.h
* config/m68k/hp3bsd44.h, config/m68k/linux-aout.h
* config/m68k/m68k-psos.h, config/m68k/mot3300.h
* config/m68k/pbb.h, config/m68k/plexus.h, config/m68k/sun2.h
* config/m68k/sun2o4.h, config/m68k/sun3.h, config/m68k/sun3mach.h
* config/m68k/sun3n.h, config/m68k/sun3n3.h, config/m68k/sun3o3.h
* config/m68k/t-mot3300, config/m68k/t-mot3300-gald
* config/m68k/t-mot3300-gas, config/m68k/t-mot3300-gld
* config/m68k/tower-as.h, config/m68k/tower.h
* config/m88k/aout-dbx.h, config/m88k/m88k-aout.h
* config/m88k/m88k-modes.def, config/m88k/m88k-move.sh
* config/m88k/m88k-protos.h, config/m88k/m88k.c
* config/m88k/m88k.h, config/m88k/m88k.md, config/m88k/openbsd.h
* config/m88k/sysv4.h, config/m88k/t-luna, config/m88k/t-luna-gas
* config/m88k/t-m88k, config/m88k/t-sysv4, config/mcore/gfloat.h
* config/mips/rtems64.h, config/mips/sni-gas.h
* config/mips/sni-svr4.h, config/mips/t-ecoff
* config/mn10200/lib1funcs.asm, config/mn10200/mn10200-protos.h
* config/mn10200/mn10200.c, config/mn10200/mn10200.h
* config/mn10200/mn10200.md, config/mn10200/t-mn10200
* config/pa/pa-hiux.h, config/pa/pa-hpux7.h, config/pa/pa-hpux9.h
* config/pa/pa-oldas.h, config/pa/t-mpeix, config/psos.h
* config/romp/romp-protos.h, config/romp/romp.c
* config/romp/romp.h, config/romp/romp.md, config/rs6000/aix31.h
* config/rs6000/aix3newas.h, config/rs6000/mach.h
* config/sparc/bsd.h, config/sparc/hal.h
* config/sparc/linux-aout.h, config/sparc/lynx-ng.h
* config/sparc/lynx.h, config/sparc/netbsd.h
* config/sparc/sp86x-aout.h, config/sparc/splet.h
* config/sparc/sun4gas.h, config/sparc/sun4o3.h
* config/sparc/sunos4.h, config/sparc/t-chorus-elf
* config/sparc/t-halos, config/sparc/t-sparcbare
* config/sparc/t-splet, config/sparc/t-sunos41
* config/v850/rtems.h: Delete file.
From-SVN: r66842
2003-05-15 23:47:36 +02:00
|
|
|
alpha*-*-linux*libc1* \
|
2003-08-29 19:32:19 +02:00
|
|
|
| i[34567]86-sequent-sysv \
|
2003-08-30 00:15:41 +02:00
|
|
|
| i[34567]86-sequent-sysv[123]* \
|
config.gcc: Purge all targets obsoleted in GCC 3.3.
* config.gcc: Purge all targets obsoleted in GCC 3.3. Also
remove hppa*-*-mpeix* which could not be built, and prune
files from tmake_file= or tm_file= lists that don't exist.
* config/alpha/alpha-interix.h, config/alpha/alpha32.h
* config/alpha/t-interix, config/arm/conix-elf.h
* config/arm/t-arm-aout, config/arm/t-strongarm-coff
* config/arm/unknown-elf-oabi.h, config/i386/win32.h
* config/m68k/3b1.h, config/m68k/3b1g.h, config/m68k/amix.h
* config/m68k/atari.h, config/m68k/ccur-GAS.h, config/m68k/crds.h
* config/m68k/hp2bsd.h, config/m68k/hp3bsd.h
* config/m68k/hp3bsd44.h, config/m68k/linux-aout.h
* config/m68k/m68k-psos.h, config/m68k/mot3300.h
* config/m68k/pbb.h, config/m68k/plexus.h, config/m68k/sun2.h
* config/m68k/sun2o4.h, config/m68k/sun3.h, config/m68k/sun3mach.h
* config/m68k/sun3n.h, config/m68k/sun3n3.h, config/m68k/sun3o3.h
* config/m68k/t-mot3300, config/m68k/t-mot3300-gald
* config/m68k/t-mot3300-gas, config/m68k/t-mot3300-gld
* config/m68k/tower-as.h, config/m68k/tower.h
* config/m88k/aout-dbx.h, config/m88k/m88k-aout.h
* config/m88k/m88k-modes.def, config/m88k/m88k-move.sh
* config/m88k/m88k-protos.h, config/m88k/m88k.c
* config/m88k/m88k.h, config/m88k/m88k.md, config/m88k/openbsd.h
* config/m88k/sysv4.h, config/m88k/t-luna, config/m88k/t-luna-gas
* config/m88k/t-m88k, config/m88k/t-sysv4, config/mcore/gfloat.h
* config/mips/rtems64.h, config/mips/sni-gas.h
* config/mips/sni-svr4.h, config/mips/t-ecoff
* config/mn10200/lib1funcs.asm, config/mn10200/mn10200-protos.h
* config/mn10200/mn10200.c, config/mn10200/mn10200.h
* config/mn10200/mn10200.md, config/mn10200/t-mn10200
* config/pa/pa-hiux.h, config/pa/pa-hpux7.h, config/pa/pa-hpux9.h
* config/pa/pa-oldas.h, config/pa/t-mpeix, config/psos.h
* config/romp/romp-protos.h, config/romp/romp.c
* config/romp/romp.h, config/romp/romp.md, config/rs6000/aix31.h
* config/rs6000/aix3newas.h, config/rs6000/mach.h
* config/sparc/bsd.h, config/sparc/hal.h
* config/sparc/linux-aout.h, config/sparc/lynx-ng.h
* config/sparc/lynx.h, config/sparc/netbsd.h
* config/sparc/sp86x-aout.h, config/sparc/splet.h
* config/sparc/sun4gas.h, config/sparc/sun4o3.h
* config/sparc/sunos4.h, config/sparc/t-chorus-elf
* config/sparc/t-halos, config/sparc/t-sparcbare
* config/sparc/t-splet, config/sparc/t-sunos41
* config/v850/rtems.h: Delete file.
From-SVN: r66842
2003-05-15 23:47:36 +02:00
|
|
|
| i[34567]86-go32-* \
|
|
|
|
| i[34567]86-*-go32* \
|
|
|
|
| m68k-*-linux*aout* \
|
|
|
|
| m68k-*-linux*libc1* \
|
|
|
|
| mips64orion*-*-rtems* \
|
|
|
|
| powerpc-*-linux*libc1* \
|
|
|
|
| sparc-*-linux*aout* \
|
|
|
|
| sparc-*-linux*libc1* \
|
|
|
|
| sparc-hal-solaris2* \
|
|
|
|
| thumb-*-* \
|
|
|
|
| *-*-linux*coff* \
|
|
|
|
| *-*-linux*oldld* \
|
|
|
|
| *-*-rtemsaout* \
|
|
|
|
| *-*-rtemscoff* \
|
2003-09-24 04:42:13 +02:00
|
|
|
| vax-*-vms* \
|
config.gcc: Purge all targets obsoleted in GCC 3.3.
* config.gcc: Purge all targets obsoleted in GCC 3.3. Also
remove hppa*-*-mpeix* which could not be built, and prune
files from tmake_file= or tm_file= lists that don't exist.
* config/alpha/alpha-interix.h, config/alpha/alpha32.h
* config/alpha/t-interix, config/arm/conix-elf.h
* config/arm/t-arm-aout, config/arm/t-strongarm-coff
* config/arm/unknown-elf-oabi.h, config/i386/win32.h
* config/m68k/3b1.h, config/m68k/3b1g.h, config/m68k/amix.h
* config/m68k/atari.h, config/m68k/ccur-GAS.h, config/m68k/crds.h
* config/m68k/hp2bsd.h, config/m68k/hp3bsd.h
* config/m68k/hp3bsd44.h, config/m68k/linux-aout.h
* config/m68k/m68k-psos.h, config/m68k/mot3300.h
* config/m68k/pbb.h, config/m68k/plexus.h, config/m68k/sun2.h
* config/m68k/sun2o4.h, config/m68k/sun3.h, config/m68k/sun3mach.h
* config/m68k/sun3n.h, config/m68k/sun3n3.h, config/m68k/sun3o3.h
* config/m68k/t-mot3300, config/m68k/t-mot3300-gald
* config/m68k/t-mot3300-gas, config/m68k/t-mot3300-gld
* config/m68k/tower-as.h, config/m68k/tower.h
* config/m88k/aout-dbx.h, config/m88k/m88k-aout.h
* config/m88k/m88k-modes.def, config/m88k/m88k-move.sh
* config/m88k/m88k-protos.h, config/m88k/m88k.c
* config/m88k/m88k.h, config/m88k/m88k.md, config/m88k/openbsd.h
* config/m88k/sysv4.h, config/m88k/t-luna, config/m88k/t-luna-gas
* config/m88k/t-m88k, config/m88k/t-sysv4, config/mcore/gfloat.h
* config/mips/rtems64.h, config/mips/sni-gas.h
* config/mips/sni-svr4.h, config/mips/t-ecoff
* config/mn10200/lib1funcs.asm, config/mn10200/mn10200-protos.h
* config/mn10200/mn10200.c, config/mn10200/mn10200.h
* config/mn10200/mn10200.md, config/mn10200/t-mn10200
* config/pa/pa-hiux.h, config/pa/pa-hpux7.h, config/pa/pa-hpux9.h
* config/pa/pa-oldas.h, config/pa/t-mpeix, config/psos.h
* config/romp/romp-protos.h, config/romp/romp.c
* config/romp/romp.h, config/romp/romp.md, config/rs6000/aix31.h
* config/rs6000/aix3newas.h, config/rs6000/mach.h
* config/sparc/bsd.h, config/sparc/hal.h
* config/sparc/linux-aout.h, config/sparc/lynx-ng.h
* config/sparc/lynx.h, config/sparc/netbsd.h
* config/sparc/sp86x-aout.h, config/sparc/splet.h
* config/sparc/sun4gas.h, config/sparc/sun4o3.h
* config/sparc/sunos4.h, config/sparc/t-chorus-elf
* config/sparc/t-halos, config/sparc/t-sparcbare
* config/sparc/t-splet, config/sparc/t-sunos41
* config/v850/rtems.h: Delete file.
From-SVN: r66842
2003-05-15 23:47:36 +02:00
|
|
|
)
|
2003-09-23 23:51:44 +02:00
|
|
|
echo "*** Configuration ${target} not supported" 1>&2
|
config.gcc: Purge all targets obsoleted in GCC 3.3.
* config.gcc: Purge all targets obsoleted in GCC 3.3. Also
remove hppa*-*-mpeix* which could not be built, and prune
files from tmake_file= or tm_file= lists that don't exist.
* config/alpha/alpha-interix.h, config/alpha/alpha32.h
* config/alpha/t-interix, config/arm/conix-elf.h
* config/arm/t-arm-aout, config/arm/t-strongarm-coff
* config/arm/unknown-elf-oabi.h, config/i386/win32.h
* config/m68k/3b1.h, config/m68k/3b1g.h, config/m68k/amix.h
* config/m68k/atari.h, config/m68k/ccur-GAS.h, config/m68k/crds.h
* config/m68k/hp2bsd.h, config/m68k/hp3bsd.h
* config/m68k/hp3bsd44.h, config/m68k/linux-aout.h
* config/m68k/m68k-psos.h, config/m68k/mot3300.h
* config/m68k/pbb.h, config/m68k/plexus.h, config/m68k/sun2.h
* config/m68k/sun2o4.h, config/m68k/sun3.h, config/m68k/sun3mach.h
* config/m68k/sun3n.h, config/m68k/sun3n3.h, config/m68k/sun3o3.h
* config/m68k/t-mot3300, config/m68k/t-mot3300-gald
* config/m68k/t-mot3300-gas, config/m68k/t-mot3300-gld
* config/m68k/tower-as.h, config/m68k/tower.h
* config/m88k/aout-dbx.h, config/m88k/m88k-aout.h
* config/m88k/m88k-modes.def, config/m88k/m88k-move.sh
* config/m88k/m88k-protos.h, config/m88k/m88k.c
* config/m88k/m88k.h, config/m88k/m88k.md, config/m88k/openbsd.h
* config/m88k/sysv4.h, config/m88k/t-luna, config/m88k/t-luna-gas
* config/m88k/t-m88k, config/m88k/t-sysv4, config/mcore/gfloat.h
* config/mips/rtems64.h, config/mips/sni-gas.h
* config/mips/sni-svr4.h, config/mips/t-ecoff
* config/mn10200/lib1funcs.asm, config/mn10200/mn10200-protos.h
* config/mn10200/mn10200.c, config/mn10200/mn10200.h
* config/mn10200/mn10200.md, config/mn10200/t-mn10200
* config/pa/pa-hiux.h, config/pa/pa-hpux7.h, config/pa/pa-hpux9.h
* config/pa/pa-oldas.h, config/pa/t-mpeix, config/psos.h
* config/romp/romp-protos.h, config/romp/romp.c
* config/romp/romp.h, config/romp/romp.md, config/rs6000/aix31.h
* config/rs6000/aix3newas.h, config/rs6000/mach.h
* config/sparc/bsd.h, config/sparc/hal.h
* config/sparc/linux-aout.h, config/sparc/lynx-ng.h
* config/sparc/lynx.h, config/sparc/netbsd.h
* config/sparc/sp86x-aout.h, config/sparc/splet.h
* config/sparc/sun4gas.h, config/sparc/sun4o3.h
* config/sparc/sunos4.h, config/sparc/t-chorus-elf
* config/sparc/t-halos, config/sparc/t-sparcbare
* config/sparc/t-splet, config/sparc/t-sunos41
* config/v850/rtems.h: Delete file.
From-SVN: r66842
2003-05-15 23:47:36 +02:00
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2000-11-17 11:42:45 +01:00
|
|
|
# Set default cpu_type, tm_file, tm_p_file and xm_file so it can be
|
2001-12-22 22:07:33 +01:00
|
|
|
# updated in each machine entry. Also set default extra_headers for some
|
|
|
|
# machines.
|
2000-11-17 11:42:45 +01:00
|
|
|
tm_p_file=
|
2003-09-23 23:51:44 +02:00
|
|
|
cpu_type=`echo ${target} | sed 's/-.*$//'`
|
2005-03-31 01:46:28 +02:00
|
|
|
cpu_is_64bit=
|
2003-09-23 23:51:44 +02:00
|
|
|
case ${target} in
|
2005-07-21 01:27:02 +02:00
|
|
|
m32c*-*-*)
|
|
|
|
cpu_type=m32c
|
|
|
|
tmake_file=m32c/t-m32c
|
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
alpha*-*-*)
|
|
|
|
cpu_type=alpha
|
2002-12-16 19:23:00 +01:00
|
|
|
need_64bit_hwint=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2003-07-10 06:50:15 +02:00
|
|
|
am33_2.0-*-linux*)
|
|
|
|
cpu_type=mn10300
|
|
|
|
;;
|
2003-06-04 16:53:59 +02:00
|
|
|
strongarm*-*-*)
|
|
|
|
cpu_type=arm
|
|
|
|
;;
|
|
|
|
arm*-*-*)
|
|
|
|
cpu_type=arm
|
config.gcc: Add an extra_header for ARM targets.
* config.gcc: Add an extra_header for ARM targets.
Support configuring with --with-cpu=iwmmxt.
* doc/invoke.texi: Document new value for -mcpu= ARM switch.
* config/arm/aof.h (REGISTER_NAMES): Add iwmmxt register
names. Fix formatting.
* config/arm/aout.h (REGISTER_NAMES): Add iwmmxt register
names.
* config/arm/arm-protos.h (arm_emit_vector_const): New
prototype.
(arm_output_load_gr): New prototype.
* config/arm/arm.c (extra_reg_names1): Delete.
(TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN, FL_IWMMXT,
* arch_is_iwmmxt): Define.
(all_cores, all_architecture): Add entry for iwmmxt.
(arm_override_options): Add support for iwmmxt.
(use_return_insn, arm_function_arg, arm_legitimate_index_p,
arm_print_value, arm_rtx_costs_1, output_move_double,
arm_compute_save_reg_mask, arm_output_epilogue,
arm_get_frame_size, arm_expand_prologue, arm_print_operand,
arm_assemble_integer, arm_hard_regno_ok, arm_regno_class):
Likewise.
(arm_init_cumulative_args): Count iwmmxt registers.
(arm_function_ok_for_sibcall): Return false of sibcall_blocked
has been set.
(struct minipool_node): Add fix_size field.
(add_minipool_forward_ref): Add support for 8-byte aligning of
the pool.
(add_minipool_backward_ref, add_minipool_offsets,
dump_minipool, push_minipool_fix): Likewise.
(struct builtin_description): New struct.
(builtin_description): New array of iwmmxt builtin functions.
(arm_init_iwmmxt_builtins): New function.
(arm_init_builtins): New function.
(safe_vector_operand): New function.
(arm_expand_binop_builtin): New function.
(arm_expand_unop_builtin): New function.
(arm_expand_builtin): New function.
(arm_emit_vector_const): New function.
(arm_output_load_gr): New function.
* config/arm/arm.h (TARGET_CPU_iwmmxt, TARGET_IWMMXT,
TARGET_REALLY_IWMMXT, arm_arch_iwmmxt, IWMMXT_ALIGNMENT,
TYPE_NEEDS_IWMMXT_ALIGNMENT, ADJUST_FIELD_ALIGN,
DATA_ALIGNMENT, LOCAL_ALIGNMENT, VECTOR_MODE_SUPPORTED_P): Define.
(BIGGEST_ALIGNMENT): Set to 64 if ATPCS support is enabled.
(CPP_CPU_ARCH_SPEC): Add entries for iwmmxt.
(FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER,
reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
REG_CLASS_FOR_LETTER): Add iwmmxt registers.
(SUBTARGET_CONDITIONAL_REGISTER_USAGE): Disable iwmmxt
registers unless the iwmmxt target is selected.
(FIRST_IWMMXT_GR_REGNUM, LAST_IWMMXT_GR_REGNUM,
FIRST_IWMMXT_REGNUM, LAST_IWMMXT_REGNUM, IS_IWMMXT_REGNUM,
IS_IWMMXT_GR_REGNUM): Define.
(FIRST_PSEUDO_REGISTER): Bump to 63.
(struct machine_function): Add sibcall_blocked field.
(Struct CUMULATIVE_ARGS): Add iwmmxt_nregs, named_count and
nargs fields.
(enum arm_builtins): New enum list.
* config/arm/arm.md (UNSPEC_WSHUFH, UNSPEC_WACC,
UNSPEC_TMOVMSK, UNSPEC_WSAD, UNSPEC_WSADZ, UNSPEC_WMACS,
UNSPEC_WMACU, UNSPEC_WMACSZ, UNSPEC_WMACUZ, UNSPEC_CLRDI,
UNSPEC_WMADDS, UNSPEC_WMADDU): New unspecs.
(VUNSPEC_TMRC, VUNSPEC_TMCR, VUNSPEC_ALIGN8, VUNSPEC_WCMP_EQ,
VUNSPEC_WCMP_GTU, VUNSPEC_WCMP_GT): New vunspecs.
(movv2si, movv4hi, movv8qi): New expands for vector moves.
Include iwmmxt.md.
* config/arm/t-xscale-elf (MULTILIB_OPITONS): Add iwmmxt
multilib.
(MULTILIB_DIRNAMES, MULTILIB_REDUNDANT_DIRS): Likewise.
* config/arm/mmintrin.h: New ARM specific header file.
* config/arm/iwmmx.md: New iWMMXt specific machine patterns.
From-SVN: r68157
2003-06-18 18:36:13 +02:00
|
|
|
extra_headers="mmintrin.h"
|
2003-06-04 16:53:59 +02:00
|
|
|
;;
|
2005-04-05 13:26:48 +02:00
|
|
|
bfin*-*)
|
|
|
|
cpu_type=bfin
|
|
|
|
;;
|
2003-06-04 16:53:59 +02:00
|
|
|
ep9312*-*-*)
|
|
|
|
cpu_type=arm
|
|
|
|
;;
|
2005-07-26 23:22:44 +02:00
|
|
|
frv*) cpu_type=frv
|
|
|
|
;;
|
2003-06-04 16:53:59 +02:00
|
|
|
xscale-*-*)
|
2000-12-04 01:23:35 +01:00
|
|
|
cpu_type=arm
|
config.gcc: Add an extra_header for ARM targets.
* config.gcc: Add an extra_header for ARM targets.
Support configuring with --with-cpu=iwmmxt.
* doc/invoke.texi: Document new value for -mcpu= ARM switch.
* config/arm/aof.h (REGISTER_NAMES): Add iwmmxt register
names. Fix formatting.
* config/arm/aout.h (REGISTER_NAMES): Add iwmmxt register
names.
* config/arm/arm-protos.h (arm_emit_vector_const): New
prototype.
(arm_output_load_gr): New prototype.
* config/arm/arm.c (extra_reg_names1): Delete.
(TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN, FL_IWMMXT,
* arch_is_iwmmxt): Define.
(all_cores, all_architecture): Add entry for iwmmxt.
(arm_override_options): Add support for iwmmxt.
(use_return_insn, arm_function_arg, arm_legitimate_index_p,
arm_print_value, arm_rtx_costs_1, output_move_double,
arm_compute_save_reg_mask, arm_output_epilogue,
arm_get_frame_size, arm_expand_prologue, arm_print_operand,
arm_assemble_integer, arm_hard_regno_ok, arm_regno_class):
Likewise.
(arm_init_cumulative_args): Count iwmmxt registers.
(arm_function_ok_for_sibcall): Return false of sibcall_blocked
has been set.
(struct minipool_node): Add fix_size field.
(add_minipool_forward_ref): Add support for 8-byte aligning of
the pool.
(add_minipool_backward_ref, add_minipool_offsets,
dump_minipool, push_minipool_fix): Likewise.
(struct builtin_description): New struct.
(builtin_description): New array of iwmmxt builtin functions.
(arm_init_iwmmxt_builtins): New function.
(arm_init_builtins): New function.
(safe_vector_operand): New function.
(arm_expand_binop_builtin): New function.
(arm_expand_unop_builtin): New function.
(arm_expand_builtin): New function.
(arm_emit_vector_const): New function.
(arm_output_load_gr): New function.
* config/arm/arm.h (TARGET_CPU_iwmmxt, TARGET_IWMMXT,
TARGET_REALLY_IWMMXT, arm_arch_iwmmxt, IWMMXT_ALIGNMENT,
TYPE_NEEDS_IWMMXT_ALIGNMENT, ADJUST_FIELD_ALIGN,
DATA_ALIGNMENT, LOCAL_ALIGNMENT, VECTOR_MODE_SUPPORTED_P): Define.
(BIGGEST_ALIGNMENT): Set to 64 if ATPCS support is enabled.
(CPP_CPU_ARCH_SPEC): Add entries for iwmmxt.
(FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER,
reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
REG_CLASS_FOR_LETTER): Add iwmmxt registers.
(SUBTARGET_CONDITIONAL_REGISTER_USAGE): Disable iwmmxt
registers unless the iwmmxt target is selected.
(FIRST_IWMMXT_GR_REGNUM, LAST_IWMMXT_GR_REGNUM,
FIRST_IWMMXT_REGNUM, LAST_IWMMXT_REGNUM, IS_IWMMXT_REGNUM,
IS_IWMMXT_GR_REGNUM): Define.
(FIRST_PSEUDO_REGISTER): Bump to 63.
(struct machine_function): Add sibcall_blocked field.
(Struct CUMULATIVE_ARGS): Add iwmmxt_nregs, named_count and
nargs fields.
(enum arm_builtins): New enum list.
* config/arm/arm.md (UNSPEC_WSHUFH, UNSPEC_WACC,
UNSPEC_TMOVMSK, UNSPEC_WSAD, UNSPEC_WSADZ, UNSPEC_WMACS,
UNSPEC_WMACU, UNSPEC_WMACSZ, UNSPEC_WMACUZ, UNSPEC_CLRDI,
UNSPEC_WMADDS, UNSPEC_WMADDU): New unspecs.
(VUNSPEC_TMRC, VUNSPEC_TMCR, VUNSPEC_ALIGN8, VUNSPEC_WCMP_EQ,
VUNSPEC_WCMP_GTU, VUNSPEC_WCMP_GT): New vunspecs.
(movv2si, movv4hi, movv8qi): New expands for vector moves.
Include iwmmxt.md.
* config/arm/t-xscale-elf (MULTILIB_OPITONS): Add iwmmxt
multilib.
(MULTILIB_DIRNAMES, MULTILIB_REDUNDANT_DIRS): Likewise.
* config/arm/mmintrin.h: New ARM specific header file.
* config/arm/iwmmx.md: New iWMMXt specific machine patterns.
From-SVN: r68157
2003-06-18 18:36:13 +02:00
|
|
|
extra_headers="mmintrin.h"
|
2000-12-04 01:23:35 +01:00
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
i[34567]86-*-*)
|
|
|
|
cpu_type=i386
|
2004-07-10 02:27:59 +02:00
|
|
|
extra_headers="mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h pmmintrin.h"
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2001-10-02 12:59:42 +02:00
|
|
|
x86_64-*-*)
|
|
|
|
cpu_type=i386
|
2004-07-10 02:27:59 +02:00
|
|
|
extra_headers="mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h pmmintrin.h"
|
2002-12-16 19:23:00 +01:00
|
|
|
need_64bit_hwint=yes
|
2001-10-02 12:59:42 +02:00
|
|
|
;;
|
2002-01-02 23:50:01 +01:00
|
|
|
ia64-*-*)
|
|
|
|
extra_headers=ia64intrin.h
|
2002-12-16 19:23:00 +01:00
|
|
|
need_64bit_hwint=yes
|
2002-01-02 23:50:01 +01:00
|
|
|
;;
|
2001-04-13 07:27:47 +02:00
|
|
|
hppa*-*-* | parisc*-*-*)
|
2000-11-17 11:42:45 +01:00
|
|
|
cpu_type=pa
|
|
|
|
;;
|
2003-12-31 11:33:02 +01:00
|
|
|
m32r*-*-*)
|
|
|
|
cpu_type=m32r
|
|
|
|
;;
|
2002-02-03 21:53:44 +01:00
|
|
|
m680[012]0-*-*)
|
2000-11-17 11:42:45 +01:00
|
|
|
cpu_type=m68k
|
2001-12-22 22:07:33 +01:00
|
|
|
extra_headers=math-68881.h
|
|
|
|
;;
|
|
|
|
m68k-*-*)
|
|
|
|
extra_headers=math-68881.h
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
|
|
|
mips*-*-*)
|
|
|
|
cpu_type=mips
|
2002-12-16 19:23:00 +01:00
|
|
|
need_64bit_hwint=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
|
|
|
powerpc*-*-*)
|
|
|
|
cpu_type=rs6000
|
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 04:51:31 +02:00
|
|
|
extra_headers="ppc-asm.h altivec.h spe.h"
|
2002-12-16 19:23:00 +01:00
|
|
|
need_64bit_hwint=yes
|
2005-03-31 01:46:28 +02:00
|
|
|
case x$with_cpu in
|
2006-06-01 17:44:13 +02:00
|
|
|
xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[3456]|xrs64a)
|
2005-03-31 01:46:28 +02:00
|
|
|
cpu_is_64bit=yes
|
|
|
|
;;
|
|
|
|
esac
|
2002-12-16 19:23:00 +01:00
|
|
|
;;
|
|
|
|
rs6000*-*-*)
|
|
|
|
need_64bit_hwint=yes
|
|
|
|
;;
|
|
|
|
sparc64*-*-*)
|
|
|
|
cpu_type=sparc
|
|
|
|
need_64bit_hwint=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
|
|
|
sparc*-*-*)
|
|
|
|
cpu_type=sparc
|
|
|
|
;;
|
2002-12-16 19:23:00 +01:00
|
|
|
s390*-*-*)
|
2005-04-14 17:59:57 +02:00
|
|
|
cpu_type=s390
|
2002-12-16 19:23:00 +01:00
|
|
|
need_64bit_hwint=yes
|
|
|
|
;;
|
2002-05-31 03:31:26 +02:00
|
|
|
# Note the 'l'; we need to be able to match e.g. "shle" or "shl".
|
[multiple changes]
2004-06-21 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/t-linux (MULTILIB_OPTIONS): Remove.
2004-06-21 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionanlly define.
(SUPPORT_SH4_SINGLE): Likewise.
(TARGET_SWITCHES): Break out switches for cpu subtargets:
(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
(TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
(TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
(TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
(SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
(SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
(SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
(SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
(SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
(ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
* sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
(TARGET_DEFAULT): Likewise.
* config/sh/t-elf: Amend comment.
* config/sh/t-1e, config/sh/t-mlib-sh1: New files.
* config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
* config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
* config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
* config/sh/t-mlib-sh4-single: Likewise.
* config/sh/t-mlib-sh4-single-only: Likewise.
* config/sh/t-mlib-sh5-32media: Likewise.
* config/sh/t-mlib-sh5-32media-nofpu: Likewise.
* config/sh/t-mlib-sh5-64media: Likewise.
* config/sh/t-mlib-sh5-64media-nofpu: Likewise.
* config/sh/t-mlib-sh5-compact: Likewise.
* config/sh/t-mlib-sh5-compact-nofpu: Likewise.
* config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
(MULTILIB_CPUS): Define.
(MULTILIB_OPTIONS): Use MULTILIB_CPUS.
(MULTILIB_MATCHES): Use some shell code to calculate it.
(MULTILIB_EXCEPTIONS): Change to ml/m1.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
* config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
(LINK_DEFAULT_CPU_EMUL): Don't redefine.
(NO_PROFILE_COUNTERS): Define to 1.
* config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
(MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES): Don't zap.
(MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
* config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
(MULTILIB_RAW_DIRNAMES): Define.
(MULTILIB_DIRNAMES): Use it.
* config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
(sh*linux configurations): Merge into:
(sh*elf / sh*kaos configurations). Support --with-endian, --with-cpu,
--with-multilib-list options. Support sh-superh-elf configuration.
(sh*-netbsd*): Use SELECT_SH* macros.
(supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
Merge sh*-*-netbsd* configurations into sh-elf configurations.
* config/sh/t-netbsd-sh5, config/sh/t-le, config/sh/t-le: Delete.
* config/sh/t-monolib: Likewise.
From-SVN: r83444
2004-06-21 20:18:40 +02:00
|
|
|
sh[123456789lbe]*-*-*)
|
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 04:08:08 +01:00
|
|
|
cpu_type=sh
|
2002-12-16 19:23:00 +01:00
|
|
|
need_64bit_hwint=yes
|
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 04:08:08 +01:00
|
|
|
;;
|
2002-12-09 09:10:20 +01:00
|
|
|
tic4x-*-*)
|
|
|
|
cpu_type=c4x
|
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
esac
|
|
|
|
|
|
|
|
tm_file=${cpu_type}/${cpu_type}.h
|
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 22:44:56 +02:00
|
|
|
if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-protos.h
|
2000-11-17 11:42:45 +01:00
|
|
|
then
|
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 22:44:56 +02:00
|
|
|
tm_p_file=${cpu_type}/${cpu_type}-protos.h
|
|
|
|
fi
|
2002-06-12 03:36:13 +02:00
|
|
|
extra_modes=
|
|
|
|
if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-modes.def
|
|
|
|
then
|
|
|
|
extra_modes=${cpu_type}/${cpu_type}-modes.def
|
|
|
|
fi
|
2005-03-14 21:18:43 +01:00
|
|
|
if test -f ${srcdir}/config/${cpu_type}/${cpu_type}.opt
|
|
|
|
then
|
|
|
|
extra_options="${extra_options} ${cpu_type}/${cpu_type}.opt"
|
|
|
|
fi
|
2002-01-26 02:23:27 +01:00
|
|
|
|
2003-09-23 23:51:44 +02:00
|
|
|
case ${target} in
|
2002-01-26 02:23:27 +01:00
|
|
|
x86_64-*-*)
|
|
|
|
tm_file="i386/biarch64.h ${tm_file}"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2000-11-17 11:42:45 +01:00
|
|
|
# On a.out targets, we need to use collect2.
|
2003-09-23 23:51:44 +02:00
|
|
|
case ${target} in
|
2000-11-17 11:42:45 +01:00
|
|
|
*-*-*aout*)
|
|
|
|
use_collect2=yes
|
|
|
|
;;
|
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 04:03:14 +02:00
|
|
|
esac
|
2000-11-17 11:42:45 +01:00
|
|
|
|
2002-12-16 19:23:00 +01:00
|
|
|
# Common parts for widely ported systems.
|
2003-09-23 23:51:44 +02:00
|
|
|
case ${target} in
|
2003-09-25 09:00:01 +02:00
|
|
|
*-*-darwin*)
|
2005-09-29 01:50:06 +02:00
|
|
|
tm_file="${tm_file} darwin.h ${cpu_type}/darwin.h"
|
2003-09-25 09:00:01 +02:00
|
|
|
tm_p_file="${tm_p_file} darwin-protos.h"
|
2005-09-29 01:50:06 +02:00
|
|
|
tmake_file="t-darwin ${cpu_type}/t-darwin t-slibgcc-darwin"
|
2003-09-25 09:00:01 +02:00
|
|
|
target_gtfiles="\$(srcdir)/config/darwin.c"
|
config.gcc (*-*-darwin*): Add darwin.opt to $extra_options.
* config.gcc (*-*-darwin*): Add darwin.opt to $extra_options.
(i[34567]86-pc-msdosdjgpp*): Likewise i386/djgpp.opt.
(i[34567]86-*-lynxos*, powerpc-*-lynxos*): Likewise lynx.opt.
(i[34567]86-*-sco3.2v5*): Likewise i386/sco5.opt.
(i[34567]86-*-pe, i[34567]86-*-cygwin*, i[34567]86-*-mingw32*)
(i[34567]86-*-uwin*): Likewise i386/cygming.opt.
* config/darwin.h (darwin_one_byte_bool, darwin_fix_and_continue)
(darwin_fix_and_continue_switch, SUBTARGET_OPTIONS): Delete.
* config/darwin.c (darwin_one_byte_bool, darwin_fix_and_continue)
(darwin_fix_and_continue_switch): Delete.
* config/lynx.h (SUBTARGET_OS_LYNX_SWITCHES): Delete.
(SUBTARGET_SWITCHES): Delete.
* config/i386/i386.h (target_flags, MASK_80387, MASK_RTD)
(MASK_ALIGN_DOUBLE, MASK_SVR3_SHLIB, MASK_IEEE_FP, MASK_FLOAT_RETURNS)
(MASK_NO_FANCY_MATH_387, MASK_OMIT_LEAF_FRAME_POINTER)
(MASK_STACK_PROBE, MASK_NO_ALIGN_STROPS, MASK_INLINE_ALL_STROPS)
(MASK_NO_PUSH_ARGS, MASK_ACCUMULATE_OUTGOING_ARGS, MASK_MMX)
(MASK_SSE, MASK_SSE2, MASK_SSE3, MASK_3DNOW, MASK_3DNOW_A)
(MASK_128BIT_LONG_DOUBLE, MASK_64BIT, MASK_MS_BITFIELD_LAYOUT)
(MASK_TLS_DIRECT_SEG_REFS, MASK_NO_RED_ZONE, TARGET_80387)
(TARGET_RTD, TARGET_ALIGN_DOUBLE, TARGET_PUSH_ARGS)
(TARGET_ACCUMULATE_OUTGOING_ARGS, TARGET_SVR3_SHLIB, TARGET_IEEE_FP)
(TARGET_128BIT_LONG_DOUBLE, TARGET_NO_FANCY_MATH_387)
(TARGET_USE_FANCY_MATH_387, TARGET_OMIT_LEAF_FRAME_POINTER)
(TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Delete.
(TARGET_FLOAT_RETURNS_IN_80387): Make an alias of TARGET_FLOAT_RETURNS.
(TARGET_64BIT): Undef before redefining.
(TARGET_TLS_DIRECT_SEG_REFS, TARGET_STACK_PROBE)
(TARGET_ALIGN_STRINGOPS, TARGET_INLINE_ALL_STRINGOPS, TARGET_SSE)
(TARGET_SSE2, TARGET_SSE3, TARGET_MMX, TARGET_3DNOW, TARGET_3DNOW_A)
(TARGET_RED_ZONE, TARGET_USE_MS_BITFIELD_LAYOUT, TARGET_SWITCHES)
(TARGET_OPTIONS, SUBTARGET_SWITCHES, SUBTARGET_OPTIONS)
(ix86_fpmath_string, ix86_tls_dialect_string, ix86_cmodel_string)
(ix86_asm_string, ix86_regparm, ix86_regparm_string)
(ix86_preferred_stack_boundary_string, ix86_branch_cost_string)
(ix86_debug_arg_string, ix86_debug_addr_string)
(ix86_align_loops_string, ix86_align_jumps_string)
(ix86_align_funcs_string): Delete.
* config/i386/cygming.h (MASK_NOP_FUN_DLLIMPORT)
(TARGET_NOP_FUN_DLLIMPORT, SUBTARGET_SWITCHES): Delete.
* config/i386/djgpp.h (MASK_BNU210, SUBTARGET_SWITCHES): Delete.
(SUBTARGET_OVERRIDE_OPTIONS): Check TARGET_BNU210.
* config/i386/lynx.h (SUBTARGET_SWITCHES): Delete.
* config/i386/sco5.h (MASK_COFF, TARGET_ELF)
(SUBTARGET_SWITCHES): Delete.
* config/i386/i386.c (ix86_debug_arg_string): Delete.
(ix86_debug_addr_string): Delete.
(ix86_cmodel_string, ix86_asm_string, ix86_tls_dialect_string)
(ix86_fpmath_string, ix86_regparm_string, ix86_regparm)
(ix86_align_loops_string, ix86_align_jumps_string)
(ix86_preferred_stack_boundary_string, ix86_branch_cost_string)
(ix86_align_funcs_string): Make static.
(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
(ix86_handle_option): New function.
(TARGET_USE_MS_BITFIELD_LAYOUT): Delete.
(ix86_ms_bitfield_layout_p): Check TARGET_MS_BITFIELD_LAYOUT.
* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Remove handling
of darwin_fix_and_continue_switch.
(darwin_one_byte_bool): Delete.
* config/rs6000/lynx.h (EXTRA_SUBTARGET_SWITCHES): Delete.
* config/rs6000/rs6000.c (rs6000_override_options): Update assignment
to darwin_one_byte_bool.
* config/darwin.opt, config/lynx.opt, config/i386/cygming.opt,
* config/i386/djgpp.opt, config/i386/i386.opt,
* config/i386/sco5.opt: New files.
From-SVN: r98495
2005-04-21 09:35:09 +02:00
|
|
|
extra_options="${extra_options} darwin.opt"
|
2003-09-25 09:00:01 +02:00
|
|
|
c_target_objs="darwin-c.o"
|
|
|
|
cxx_target_objs="darwin-c.o"
|
|
|
|
extra_objs="darwin.o"
|
2006-03-16 03:37:09 +01:00
|
|
|
default_use_cxa_atexit=yes
|
2003-09-25 09:00:01 +02:00
|
|
|
case ${enable_threads} in
|
|
|
|
"" | yes | posix) thread_file='posix' ;;
|
|
|
|
esac
|
|
|
|
;;
|
|
|
|
*-*-freebsd[12] | *-*-freebsd[12].* | *-*-freebsd*aout*)
|
|
|
|
# This is the place-holder for the generic a.out configuration
|
|
|
|
# of FreeBSD. No actual configuration resides here since
|
|
|
|
# there was only ever a bare-bones ix86 configuration for
|
|
|
|
# a.out and it exists solely in the machine-specific section.
|
|
|
|
# This place-holder must exist to avoid dropping into
|
|
|
|
# the generic ELF configuration of FreeBSD (i.e. it must be
|
|
|
|
# ordered before that section).
|
|
|
|
;;
|
|
|
|
*-*-freebsd*)
|
|
|
|
# This is the generic ELF configuration of FreeBSD. Later
|
|
|
|
# machine-specific sections may refine and add to this
|
|
|
|
# configuration.
|
|
|
|
#
|
|
|
|
# Due to tm_file entry ordering issues that vary between cpu
|
|
|
|
# architectures, we only define fbsd_tm_file to allow the
|
|
|
|
# machine-specific section to dictate the final order of all
|
|
|
|
# entries of tm_file with the minor exception that components
|
|
|
|
# of the tm_file set here will always be of the form:
|
|
|
|
#
|
|
|
|
# freebsd<version_number>.h [freebsd-<conf_option>.h ...] freebsd-spec.h freebsd.h
|
|
|
|
#
|
|
|
|
# The machine-specific section should not tamper with this
|
|
|
|
# ordering but may order all other entries of tm_file as it
|
|
|
|
# pleases around the provided core setting.
|
|
|
|
gas=yes
|
|
|
|
gnu_ld=yes
|
|
|
|
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
|
|
|
|
case ${target} in
|
2003-10-13 04:48:59 +02:00
|
|
|
*-*-freebsd3 | *-*-freebsd[3].*)
|
|
|
|
tm_defines="${tm_defines} FBSD_MAJOR=3" ;;
|
|
|
|
*-*-freebsd4 | *-*-freebsd[4].*)
|
|
|
|
tm_defines="${tm_defines} FBSD_MAJOR=4" ;;
|
|
|
|
*-*-freebsd5 | *-*-freebsd[5].*)
|
|
|
|
tm_defines="${tm_defines} FBSD_MAJOR=5" ;;
|
|
|
|
*-*-freebsd6 | *-*-freebsd[6].*)
|
|
|
|
tm_defines="${tm_defines} FBSD_MAJOR=6" ;;
|
2005-07-19 15:42:12 +02:00
|
|
|
*-*-freebsd7 | *-*-freebsd[7].*)
|
|
|
|
tm_defines="${tm_defines} FBSD_MAJOR=7" ;;
|
|
|
|
*-*-freebsd8 | *-*-freebsd[8].*)
|
|
|
|
tm_defines="${tm_defines} FBSD_MAJOR=8" ;;
|
|
|
|
*-*-freebsd9 | *-*-freebsd[9].*)
|
|
|
|
tm_defines="${tm_defines} FBSD_MAJOR=9" ;;
|
2003-10-13 04:48:59 +02:00
|
|
|
*)
|
|
|
|
echo 'Please update *-*-freebsd* in gcc/config.gcc'
|
|
|
|
exit 1
|
|
|
|
;;
|
2003-09-25 09:00:01 +02:00
|
|
|
esac
|
|
|
|
tmake_file="t-slibgcc-elf-ver t-freebsd"
|
|
|
|
case ${enable_threads} in
|
|
|
|
no)
|
|
|
|
fbsd_tm_file="${fbsd_tm_file} freebsd-nthr.h"
|
|
|
|
;;
|
2003-10-08 23:32:50 +02:00
|
|
|
"" | yes | posix)
|
2003-09-25 09:00:01 +02:00
|
|
|
thread_file='posix'
|
|
|
|
tmake_file="${tmake_file} t-freebsd-thread"
|
|
|
|
# Before 5.0, FreeBSD can't bind shared libraries to -lc
|
|
|
|
# when "optionally" threaded via weak pthread_* checks.
|
|
|
|
case ${target} in
|
|
|
|
*-*-freebsd[34] | *-*-freebsd[34].*)
|
|
|
|
tmake_file="${tmake_file} t-slibgcc-nolc-override"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo 'Unknown thread configuration for FreeBSD'
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
fbsd_tm_file="${fbsd_tm_file} freebsd-spec.h freebsd.h"
|
|
|
|
;;
|
2003-09-25 08:29:23 +02:00
|
|
|
*-*-linux*libc1* | *-*-linux*aout*)
|
|
|
|
# Avoid the generic linux case.
|
|
|
|
;;
|
2004-06-24 04:56:23 +02:00
|
|
|
*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu)
|
2003-09-25 09:00:01 +02:00
|
|
|
# Must come before *-*-gnu* (because of *-*-linux-gnu* systems).
|
2003-09-25 08:29:23 +02:00
|
|
|
extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
|
2006-02-17 00:29:10 +01:00
|
|
|
extra_options="${extra_options} linux.opt"
|
2003-09-25 08:29:23 +02:00
|
|
|
gas=yes
|
|
|
|
gnu_ld=yes
|
|
|
|
case ${enable_threads} in
|
|
|
|
"" | yes | posix) thread_file='posix' ;;
|
|
|
|
esac
|
2004-03-01 16:12:57 +01:00
|
|
|
tmake_file="t-slibgcc-elf-ver t-linux"
|
2006-02-17 00:29:10 +01:00
|
|
|
case ${target} in
|
|
|
|
*-*-*uclibc*)
|
re PR target/24837 (move dynamic linker names out of LINK_SPEC and into new DYNAMIC_LINKER)
PR target/24837
* config.gcc: Define UCLIBC_DEFAULT to 0 or 1.
* opth-gen.awk: Handle Var and InverseMask together.
* config/linux.opt (muclibc, mglibc): Use Var(linux_uclibc).
* config/linux.h: Use #if not #ifdef for testing UCLIBC_DEFAULT.
(TARGET_C99_FUNCTIONS): Test OPTION_GLIBC not TARGET_GLIBC.
(CHOOSE_DYNAMIC_LINKER): Give an error for -mglibc and -muclibc
used together.
(UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define.
* config/alpha/linux-elf.h (GLIBC_DYNAMIC_LINKER,
UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER,
LINUX_DYNAMIC_LINKER): Define.
(ELF_DYNAMIC_LINKER): Define to LINUX_DYNAMIC_LINKER.
* config/alpha/linux.h (TARGET_C99_FUNCTIONS): Define to
TARGET_GLIBC.
* config/cris/linux.h (GLIBC_DYNAMIC_LINKER): Define.
(CRIS_LINK_SUBTARGET_SPEC): Pass a -dynamic-linker option.
* config/frv/linux.h (GLIBC_DYNAMIC_LINKER): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
(TARGET_C99_FUNCTIONS): Don't define.
* config/i386/linux.h (DYNAMIC_LINKER): Rename to
GLIBC_DYNAMIC_LINKER.
(SUBTARGET_EXTRA_SPECS): Use LINUX_DYNAMIC_LINKER.
* config/i386/linux64.h (GLIBC_DYNAMIC_LINKER32,
GLIBC_DYNAMIC_LINKER64): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKER32 and
LINUX_DYNAMIC_LINKER64.
* config/ia64/linux.h (GLIBC_DYNAMIC_LINKER): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
* config/m32r/linux.h (GLIBC_DYNAMIC_LINKE): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
* config/m68k/linux.h (GLIBC_DYNAMIC_LINKER): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
* config/mips/linux64.h (GLIBC_DYNAMIC_LINKER32,
GLIBC_DYNAMIC_LINKER64, GLIBC_DYNAMIC_LINKERN32,
UCLIBC_DYNAMIC_LINKERN32, LINUX_DYNAMIC_LINKERN32): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKERN32, LINUX_DYNAMIC_LINKER64
and LINUX_DYNAMIC_LINKER32.
* config/mn10300/linux.h (GLIBC_DYNAMIC_LINKER): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
* config/pa/pa-linux.h (GLIBC_DYNAMIC_LINKER): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
* config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define to
TARGET_GLIBC.
* config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Likewise.
(GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64,
UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
CHOOSE_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER,
LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define.
(LINK_OS_LINUX_SPEC32): Use LINUX_DYNAMIC_LINKER32.
(LINK_OS_LINUX_SPEC64): Use LINUX_DYNAMIC_LINKER64.
* config/rs6000/sysv4.h (GLIBC_DYNAMIC_LINKER,
UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER,
LINUX_DYNAMIC_LINKER): Define.
(LINK_OS_LINUX_SPEC): Use LINUX_DYNAMIC_LINKE.
* config/s390/linux.h (GLIBC_DYNAMIC_LINKER32,
GLIBC_DYNAMIC_LINKER64): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKER32 and
LINUX_DYNAMIC_LINKER64.
* config/sh/linux.h (GLIBC_DYNAMIC_LINKER): Define.
(SUBTARGET_LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
* config/sparc/linux.h (GLIBC_DYNAMIC_LINKER,
UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER,
LINUX_DYNAMIC_LINKER): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
(TARGET_C99_FUNCTIONS): Define to TARGET_GLIBC.
* config/sparc/linux64.h (GLIBC_DYNAMIC_LINKER32,
GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER32,
UCLIBC_DYNAMIC_LINKER64, CHOOSE_DYNAMIC_LINKER,
LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64): Define.
(LINK_ARCH32_SPEC): Use LINUX_DYNAMIC_LINKER32.
(LINK_ARCH64_SPEC, LINK_SPEC): Use LINUX_DYNAMIC_LINKER64.
(TARGET_C99_FUNCTIONS): Define to TARGET_GLIBC.
* config/xtensa/linux.h (GLIBC_DYNAMIC_LINKER): Define.
(LINK_SPEC): Use LINUX_DYNAMIC_LINKER.
* doc/invoke.texi (-muclibc): Remove caveat about supported
targets.
testsuite:
* gcc.dg/glibc-uclibc-1.c, gcc.dg/glibc-uclibc-2.c: New tests.
From-SVN: r111235
2006-02-18 12:12:51 +01:00
|
|
|
tm_defines="${tm_defines} UCLIBC_DEFAULT=1"
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
tm_defines="${tm_defines} UCLIBC_DEFAULT=0"
|
2006-02-17 00:29:10 +01:00
|
|
|
;;
|
|
|
|
esac
|
2006-03-02 11:01:21 +01:00
|
|
|
# Assume that glibc or uClibc are being used and so __cxa_atexit is provided.
|
|
|
|
default_use_cxa_atexit=yes
|
2003-09-25 08:29:23 +02:00
|
|
|
;;
|
2000-12-07 03:35:41 +01:00
|
|
|
*-*-gnu*)
|
2003-09-25 08:29:23 +02:00
|
|
|
# On the Hurd, the setup is just about the same on
|
|
|
|
# each different CPU. The specific machines that we
|
|
|
|
# support are matched above and just set $cpu_type.
|
|
|
|
tm_file="${cpu_type}/gnu.h"
|
|
|
|
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
|
|
|
|
# GNU tools are the only tools.
|
|
|
|
gas=yes
|
|
|
|
gnu_ld=yes
|
|
|
|
# These details are the same as for Linux.
|
|
|
|
# But here we need a little extra magic.
|
|
|
|
tmake_file="t-slibgcc-elf-ver t-linux t-gnu"
|
|
|
|
case ${target} in
|
|
|
|
alpha*)
|
|
|
|
tm_file="${cpu_type}/${cpu_type}.h alpha/elf.h alpha/linux.h alpha/linux-elf.h gnu.h ${tm_file}"
|
|
|
|
;;
|
|
|
|
i[34567]86-*-*)
|
|
|
|
tm_file="${cpu_type}/${cpu_type}.h i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h gnu.h ${tm_file}"
|
|
|
|
;;
|
|
|
|
esac
|
2006-03-02 11:01:21 +01:00
|
|
|
# Assume that glibc is being used and so __cxa_atexit is provided.
|
|
|
|
default_use_cxa_atexit=yes
|
2003-09-25 08:29:23 +02:00
|
|
|
;;
|
2002-01-22 05:23:07 +01:00
|
|
|
*-*-netbsd*)
|
2003-09-25 08:29:23 +02:00
|
|
|
tmake_file="t-slibgcc-elf-ver t-libc-ok t-netbsd t-libgcc-pic"
|
|
|
|
gas=yes
|
|
|
|
gnu_ld=yes
|
2003-02-27 17:00:55 +01:00
|
|
|
|
2003-09-25 08:29:23 +02:00
|
|
|
# NetBSD 2.0 and later get POSIX threads enabled by default.
|
|
|
|
# Allow them to be explicitly enabled on any other version.
|
|
|
|
case ${enable_threads} in
|
|
|
|
"")
|
|
|
|
case ${target} in
|
|
|
|
*-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
|
|
|
|
thread_file='posix'
|
|
|
|
tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
;;
|
|
|
|
yes | posix)
|
|
|
|
thread_file='posix'
|
|
|
|
tm_defines="${tm_defines} NETBSD_ENABLE_PTHREADS"
|
|
|
|
;;
|
|
|
|
esac
|
2002-11-25 00:36:26 +01:00
|
|
|
|
2003-09-25 08:29:23 +02:00
|
|
|
# NetBSD 1.7 and later are set up to use GCC's crtstuff for
|
|
|
|
# ELF configurations. We will clear extra_parts in the
|
|
|
|
# a.out configurations.
|
|
|
|
case ${target} in
|
|
|
|
*-*-netbsd*1.[7-9]* | *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
|
|
|
|
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
|
|
|
|
;;
|
|
|
|
esac
|
2003-06-03 22:39:52 +02:00
|
|
|
|
2003-09-25 08:29:23 +02:00
|
|
|
# NetBSD 2.0 and later provide __cxa_atexit(), which we use by
|
|
|
|
# default (unless overridden by --disable-__cxa_atexit).
|
|
|
|
case ${target} in
|
|
|
|
*-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
|
|
|
|
default_use_cxa_atexit=yes
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
;;
|
2003-09-25 09:00:01 +02:00
|
|
|
*-*-openbsd*)
|
|
|
|
tmake_file="t-libc-ok t-openbsd t-libgcc-pic"
|
2003-09-25 08:29:23 +02:00
|
|
|
case ${enable_threads} in
|
2003-09-25 09:00:01 +02:00
|
|
|
yes)
|
2003-09-25 08:29:23 +02:00
|
|
|
thread_file='posix'
|
2003-09-25 09:00:01 +02:00
|
|
|
tmake_file="${tmake_file} t-openbsd-thread"
|
2003-09-25 08:29:23 +02:00
|
|
|
;;
|
|
|
|
esac
|
2005-01-15 11:56:48 +01:00
|
|
|
case ${target} in
|
|
|
|
*-*-openbsd2.*|*-*-openbsd3.[012])
|
|
|
|
tm_defines="${tm_defines} HAS_LIBC_R=1" ;;
|
|
|
|
esac
|
2003-09-25 08:29:23 +02:00
|
|
|
;;
|
2003-09-25 09:12:41 +02:00
|
|
|
*-*-rtems*)
|
|
|
|
case ${enable_threads} in
|
|
|
|
yes) thread_file='rtems' ;;
|
|
|
|
esac
|
|
|
|
;;
|
2002-12-16 19:23:00 +01:00
|
|
|
*-*-vxworks*)
|
2003-09-25 08:29:23 +02:00
|
|
|
tmake_file=t-vxworks
|
config.gcc (*-*-vxworks*): Update tm_file, add extra_options, remove use_collect2.
2005-08-22 Phil Edwards <phil@codesourcery.com>
* config.gcc (*-*-vxworks*): Update tm_file, add extra_options,
remove use_collect2.
(powerpc-wrs-vxworks): Update, split out *-*-vxworksae target.
* target-def.h (TARGET_HAVE_CTORS_DTORS): Allow target
configuration files to override the default value.
* config/t-vxworks: Remove INSTALL_ASSERT_H. Define STMP_FIXPROTO,
EXTRA_HEADERS, and EXTRA_MULTILIB_PARTS.
* config/vx-common.h: New file, split out from...
* config/vxworks.h: here. Update for VxWorks 6.x and RTP mode.
* config/vxworksae.h: New file, for VxWorks AE.
* config/vxworks.opt: New file.
* config/vxlib.c: Update for VxWorks 6.
* config/rs6000/t-vxworks (MULTILIB_OPTIONS): New list. Adjust
other MULTILIB_* variables appropriately.
(LIB2FUNCS_EXTRA, EXTRA_MULTILIB_PARTS): Correct from t-ppccomm.
* config/rs6000/t-vxworksae: New file, adjust multilibs for AE.
* config/rs6000/vxworks.h: Update for VxWorks 6.
* config/rs6000/vxworksae.h: New file, mostly placeholder for now.
From-SVN: r103432
2005-08-24 09:13:10 +02:00
|
|
|
tm_file="${tm_file} elfos.h svr4.h"
|
|
|
|
xm_defines=POSIX
|
|
|
|
extra_options="${extra_options} vxworks.opt"
|
2003-10-23 07:16:56 +02:00
|
|
|
case ${enable_threads} in
|
|
|
|
no) ;;
|
|
|
|
"" | yes | vxworks) thread_file='vxworks' ;;
|
|
|
|
*) echo 'Unknown thread configuration for VxWorks'; exit 1 ;;
|
|
|
|
esac
|
2003-09-25 08:29:23 +02:00
|
|
|
;;
|
2006-03-02 11:01:21 +01:00
|
|
|
*-*-elf)
|
|
|
|
# Assume that newlib is being used and so __cxa_atexit is provided.
|
|
|
|
default_use_cxa_atexit=yes
|
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
esac
|
|
|
|
|
2003-09-23 23:51:44 +02:00
|
|
|
case ${target} in
|
2000-11-17 11:42:45 +01:00
|
|
|
# Support site-specific machine types.
|
|
|
|
*local*)
|
2003-09-23 23:51:44 +02:00
|
|
|
rest=`echo ${target} | sed -e "s/$cpu_type-//"`
|
2000-11-17 11:42:45 +01:00
|
|
|
tm_file=${cpu_type}/$rest.h
|
2001-04-05 06:34:24 +02:00
|
|
|
if test -f $srcdir/config/${cpu_type}/xm-$rest.h
|
|
|
|
then xm_file=${cpu_type}/xm-$rest.h
|
2000-11-17 11:42:45 +01:00
|
|
|
fi
|
2001-04-05 06:34:24 +02:00
|
|
|
if test -f $srcdir/config/${cpu_type}/t-$rest
|
|
|
|
then tmake_file=${cpu_type}/t-$rest
|
2000-11-17 11:42:45 +01:00
|
|
|
fi
|
|
|
|
;;
|
2001-09-11 10:52:39 +02:00
|
|
|
alpha*-*-unicosmk*)
|
|
|
|
use_collect2=yes
|
|
|
|
tm_file="${tm_file} alpha/unicosmk.h"
|
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 04:03:14 +02:00
|
|
|
|
2001-09-11 10:52:39 +02:00
|
|
|
# Don't include t-ieee for now because we don't support that yet
|
|
|
|
# tmake_file="alpha/t-ieee"
|
|
|
|
tmake_file="alpha/t-unicosmk"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2001-09-11 10:52:39 +02:00
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
alpha*-*-linux*)
|
|
|
|
tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
|
|
|
|
target_cpu_default="MASK_GAS"
|
2006-02-08 08:19:43 +01:00
|
|
|
tmake_file="${tmake_file} alpha/t-crtfm alpha/t-alpha alpha/t-ieee alpha/t-linux"
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2002-04-15 22:44:35 +02:00
|
|
|
alpha*-*-gnu*)
|
|
|
|
target_cpu_default="MASK_GAS"
|
|
|
|
tmake_file="${tmake_file} alpha/t-crtfm alpha/t-alpha alpha/t-ieee"
|
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
alpha*-*-freebsd*)
|
2001-05-22 21:23:33 +02:00
|
|
|
tm_file="${tm_file} ${fbsd_tm_file} alpha/elf.h alpha/freebsd.h"
|
2000-11-17 11:42:45 +01:00
|
|
|
target_cpu_default="MASK_GAS"
|
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-27 05:18:12 +01:00
|
|
|
tmake_file="${tmake_file} alpha/t-crtfm alpha/t-alpha alpha/t-ieee"
|
|
|
|
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
|
|
|
alpha*-*-netbsd*)
|
2002-01-22 05:23:07 +01:00
|
|
|
tm_file="${tm_file} netbsd.h alpha/elf.h netbsd-elf.h alpha/netbsd.h"
|
2000-11-17 11:42:45 +01:00
|
|
|
target_cpu_default="MASK_GAS"
|
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-27 05:18:12 +01:00
|
|
|
tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee"
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
|
|
|
alpha*-*-openbsd*)
|
2006-03-17 00:58:00 +01:00
|
|
|
tm_defines="${tm_defines} OBSD_NO_DYNAMIC_LIBRARIES OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_FUNCTION_SIZE OBSD_HAS_DECLARE_OBJECT"
|
Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* config.gcc (*-*-openbsd): Don't set tm_file.
(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
xscale-*-coff): Use explicit and complete lists of target headers
to include. Move definitions to tm_defines where appropriate.
(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
not-yet-contributed configuration.
* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
* config/i386/nto.h, config/iq2000/iq2000.h,
* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
* config/m68k/linux.h, config/m68k/m68k-aout.h
* config/m68k/m68k-none.h, config/m68k/m68kv4.h
* config/m68k/netbsd.h, config/m68k/openbsd.h
* config/m68k/sgs.h, config/mcore/mcore-pe.h,
* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
Remove includes of other target config headers, and
definitions of macros moved to tm_defines lists. Add #undefs
where now necessary to prevent redefinition warnings.
* config/h8300/coff.h: New file split out of...
* config/h8300/elf.h: ...here.
* config/m68k/hp320base.h: New file split out of...
* config/m68k/hp320.h: ...here.
* config/rs6000/lynxbase.h: New file split out of...
* config/rs6000/lynx.h: ...here.
* config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
* config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
* config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
* config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
* config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
Remove unnecessary #ifndef.
* config/s390/s390.h: Prefix #include of s390/fixdfdi.h
[under IN_LIBGCC2] with config/.
From-SVN: r70651
2003-08-21 19:27:29 +02:00
|
|
|
tm_file="alpha/alpha.h openbsd.h alpha/openbsd.h"
|
2000-11-17 11:42:45 +01:00
|
|
|
# default x-alpha is only appropriate for dec-osf.
|
|
|
|
target_cpu_default="MASK_GAS"
|
|
|
|
tmake_file="alpha/t-alpha alpha/t-ieee"
|
|
|
|
;;
|
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 04:10:46 +02:00
|
|
|
alpha*-dec-osf[45]*)
|
2000-11-17 11:42:45 +01:00
|
|
|
if test x$stabs = xyes
|
|
|
|
then
|
|
|
|
tm_file="${tm_file} dbx.h"
|
|
|
|
fi
|
|
|
|
if test x$gas != xyes
|
|
|
|
then
|
|
|
|
extra_passes="mips-tfile mips-tdump"
|
|
|
|
fi
|
|
|
|
use_collect2=yes
|
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 04:10:46 +02:00
|
|
|
tmake_file="alpha/t-alpha alpha/t-ieee alpha/t-crtfm alpha/t-osf4"
|
|
|
|
tm_file="${tm_file} alpha/osf.h"
|
2002-01-02 23:50:01 +01:00
|
|
|
extra_headers=va_list.h
|
2003-09-23 23:51:44 +02:00
|
|
|
case ${target} in
|
2000-11-17 11:42:45 +01:00
|
|
|
*-*-osf4*)
|
2005-03-23 14:42:58 +01:00
|
|
|
# Define TARGET_SUPPORT_ARCH except on 4.0a.
|
2003-09-23 23:51:44 +02:00
|
|
|
case ${target} in
|
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 04:10:46 +02:00
|
|
|
*-*-osf4.0a) ;;
|
2006-03-17 00:58:00 +01:00
|
|
|
*) tm_defines="${tm_defines} TARGET_SUPPORT_ARCH=1"
|
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 04:10:46 +02:00
|
|
|
esac
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
|
|
|
*-*-osf5*)
|
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 04:10:46 +02:00
|
|
|
tm_file="${tm_file} alpha/osf5.h"
|
2006-03-17 00:58:00 +01:00
|
|
|
tm_defines="${tm_defines} TARGET_SUPPORT_ARCH=1"
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
|
|
|
esac
|
2003-10-08 23:32:50 +02:00
|
|
|
case ${enable_threads} in
|
|
|
|
"" | yes | posix)
|
2003-07-31 14:01:07 +02:00
|
|
|
thread_file='posix'
|
|
|
|
tmake_file="${tmake_file} alpha/t-osf-pthread"
|
|
|
|
;;
|
|
|
|
esac
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2001-12-14 13:55:07 +01:00
|
|
|
alpha64-dec-*vms*)
|
2002-04-12 01:25:54 +02:00
|
|
|
tm_file="${tm_file} alpha/vms.h alpha/vms64.h"
|
2002-12-16 19:23:00 +01:00
|
|
|
xm_file="alpha/xm-vms.h"
|
2001-12-14 13:55:07 +01:00
|
|
|
tmake_file="alpha/t-alpha alpha/t-vms alpha/t-vms64 alpha/t-ieee"
|
|
|
|
prefix=/gnu
|
|
|
|
local_prefix=/gnu
|
|
|
|
;;
|
2001-12-10 12:18:34 +01:00
|
|
|
alpha*-dec-*vms*)
|
2002-04-12 01:25:54 +02:00
|
|
|
tm_file="${tm_file} alpha/vms.h"
|
2001-04-05 06:34:24 +02:00
|
|
|
xm_file=alpha/xm-vms.h
|
2000-11-17 11:42:45 +01:00
|
|
|
tmake_file="alpha/t-alpha alpha/t-vms alpha/t-ieee"
|
2001-12-10 12:18:34 +01:00
|
|
|
prefix=/gnu
|
|
|
|
local_prefix=/gnu
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2001-08-10 00:33:35 +02:00
|
|
|
arc-*-elf*)
|
2001-12-06 18:34:55 +01:00
|
|
|
tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
|
2001-08-10 00:33:35 +02:00
|
|
|
extra_parts="crtinit.o crtfini.o"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2001-08-10 00:33:35 +02:00
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
arm-*-coff* | armel-*-coff*)
|
Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* config.gcc (*-*-openbsd): Don't set tm_file.
(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
xscale-*-coff): Use explicit and complete lists of target headers
to include. Move definitions to tm_defines where appropriate.
(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
not-yet-contributed configuration.
* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
* config/i386/nto.h, config/iq2000/iq2000.h,
* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
* config/m68k/linux.h, config/m68k/m68k-aout.h
* config/m68k/m68k-none.h, config/m68k/m68kv4.h
* config/m68k/netbsd.h, config/m68k/openbsd.h
* config/m68k/sgs.h, config/mcore/mcore-pe.h,
* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
Remove includes of other target config headers, and
definitions of macros moved to tm_defines lists. Add #undefs
where now necessary to prevent redefinition warnings.
* config/h8300/coff.h: New file split out of...
* config/h8300/elf.h: ...here.
* config/m68k/hp320base.h: New file split out of...
* config/m68k/hp320.h: ...here.
* config/rs6000/lynxbase.h: New file split out of...
* config/rs6000/lynx.h: ...here.
* config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
* config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
* config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
* config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
* config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
Remove unnecessary #ifndef.
* config/s390/s390.h: Prefix #include of s390/fixdfdi.h
[under IN_LIBGCC2] with config/.
From-SVN: r70651
2003-08-21 19:27:29 +02:00
|
|
|
tm_file="arm/semi.h arm/aout.h arm/arm.h arm/coff.h dbxcoff.h"
|
2004-08-03 17:22:03 +02:00
|
|
|
tmake_file="arm/t-arm arm/t-arm-coff"
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
|
|
|
arm-semi-aof | armel-semi-aof)
|
2001-11-17 06:46:25 +01:00
|
|
|
tm_file="arm/semiaof.h arm/aof.h arm/arm.h"
|
2004-08-03 17:22:03 +02:00
|
|
|
tmake_file="arm/t-arm arm/t-semi"
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2003-10-23 07:16:56 +02:00
|
|
|
arm-wrs-vxworks)
|
|
|
|
tm_file="dbxelf.h elfos.h svr4.h vxworks.h arm/elf.h arm/aout.h arm/arm.h arm/vxworks.h"
|
2004-08-03 15:27:02 +02:00
|
|
|
tmake_file="${tmake_file} arm/t-arm arm/t-vxworks"
|
2003-10-23 07:16:56 +02:00
|
|
|
;;
|
2001-12-13 01:27:30 +01:00
|
|
|
arm*-*-freebsd*|strongarm*-*-freebsd*)
|
|
|
|
tm_file="dbxelf.h elfos.h ${fbsd_tm_file} arm/elf.h arm/aout.h arm/freebsd.h arm/arm.h"
|
2004-08-03 15:27:02 +02:00
|
|
|
tmake_file="${tmake_file} arm/t-arm arm/t-strongarm-elf"
|
2001-12-13 01:27:30 +01:00
|
|
|
;;
|
2002-02-03 22:52:34 +01:00
|
|
|
arm*-*-netbsdelf*)
|
2002-11-21 22:39:17 +01:00
|
|
|
tm_file="dbxelf.h elfos.h netbsd.h netbsd-elf.h arm/elf.h arm/aout.h arm/arm.h arm/netbsd-elf.h"
|
2004-08-03 15:27:02 +02:00
|
|
|
tmake_file="${tmake_file} arm/t-arm arm/t-netbsd"
|
2002-02-03 22:52:34 +01:00
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
arm*-*-netbsd*)
|
2002-01-22 05:23:07 +01:00
|
|
|
tm_file="arm/aout.h arm/arm.h netbsd.h netbsd-aout.h arm/netbsd.h"
|
2004-08-03 15:27:02 +02:00
|
|
|
tmake_file="t-netbsd arm/t-arm arm/t-netbsd"
|
2002-11-25 00:36:26 +01:00
|
|
|
extra_parts=""
|
2002-01-28 19:20:58 +01:00
|
|
|
use_collect2=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2001-02-26 19:15:36 +01:00
|
|
|
arm*-*-linux*) # ARM GNU/Linux with ELF
|
2005-10-08 20:17:20 +02:00
|
|
|
tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h"
|
|
|
|
tmake_file="${tmake_file} t-linux arm/t-arm"
|
|
|
|
case ${target} in
|
2006-02-17 00:29:10 +01:00
|
|
|
arm*-*-linux-*eabi)
|
2005-10-08 20:17:20 +02:00
|
|
|
tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h"
|
|
|
|
tmake_file="$tmake_file arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"
|
|
|
|
# The BPABI long long divmod functions return a 128-bit value in
|
|
|
|
# registers r0-r3. Correctly modeling that requires the use of
|
|
|
|
# TImode.
|
|
|
|
need_64bit_hwint=yes
|
|
|
|
# The EABI requires the use of __cxa_atexit.
|
|
|
|
default_use_cxa_atexit=yes
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
tmake_file="$tmake_file arm/t-linux"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
tm_file="$tm_file arm/aout.h arm/arm.h"
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
|
|
|
arm*-*-uclinux*) # ARM ucLinux
|
2001-12-06 18:34:55 +01:00
|
|
|
tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/linux-gas.h arm/linux-elf.h arm/uclinux-elf.h"
|
2004-08-03 15:27:02 +02:00
|
|
|
tmake_file="arm/t-arm arm/t-arm-elf"
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
|
|
|
arm*-*-ecos-elf)
|
2001-12-06 18:34:55 +01:00
|
|
|
tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/ecos-elf.h"
|
2004-08-03 17:22:03 +02:00
|
|
|
tmake_file="arm/t-arm arm/t-arm-elf"
|
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 04:03:14 +02:00
|
|
|
;;
|
2004-08-11 04:50:14 +02:00
|
|
|
arm*-*-eabi* | arm*-*-symbianelf* )
|
|
|
|
# The BPABI long long divmod functions return a 128-bit value in
|
|
|
|
# registers r0-r3. Correctly modeling that requires the use of
|
|
|
|
# TImode.
|
|
|
|
need_64bit_hwint=yes
|
2004-09-02 17:43:10 +02:00
|
|
|
default_use_cxa_atexit=yes
|
2004-08-11 04:50:14 +02:00
|
|
|
tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/bpabi.h"
|
2004-09-14 21:58:49 +02:00
|
|
|
tmake_file="arm/t-arm arm/t-arm-elf"
|
2004-08-11 04:50:14 +02:00
|
|
|
case ${target} in
|
2004-09-01 08:08:34 +02:00
|
|
|
arm*-*-eabi*)
|
|
|
|
tmake_file="${tmake_file} arm/t-bpabi"
|
|
|
|
;;
|
2004-08-11 04:50:14 +02:00
|
|
|
arm*-*-symbianelf*)
|
|
|
|
tm_file="${tm_file} arm/symbian.h"
|
2004-09-01 08:08:34 +02:00
|
|
|
# We do not include t-bpabi for Symbian OS because the system
|
|
|
|
# provides its own implementation of the BPABI functions.
|
2006-01-18 21:39:17 +01:00
|
|
|
tmake_file="${tmake_file} arm/t-symbian"
|
2004-08-11 04:50:14 +02:00
|
|
|
;;
|
|
|
|
esac
|
|
|
|
tm_file="${tm_file} arm/aout.h arm/arm.h"
|
2004-08-03 19:38:09 +02:00
|
|
|
;;
|
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 23:49:03 +01:00
|
|
|
arm*-*-rtems*)
|
|
|
|
tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/rtems-elf.h rtems.h"
|
2004-11-23 06:30:32 +01:00
|
|
|
tmake_file="arm/t-arm arm/t-arm-elf t-rtems arm/t-rtems"
|
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 23:49:03 +01:00
|
|
|
;;
|
2003-02-10 12:45:26 +01:00
|
|
|
arm*-*-elf | ep9312-*-elf)
|
2001-12-06 18:34:55 +01:00
|
|
|
tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h"
|
2004-08-03 15:27:02 +02:00
|
|
|
tmake_file="arm/t-arm arm/t-arm-elf"
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2003-06-10 16:45:44 +02:00
|
|
|
arm*-wince-pe*)
|
Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* config.gcc (*-*-openbsd): Don't set tm_file.
(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
xscale-*-coff): Use explicit and complete lists of target headers
to include. Move definitions to tm_defines where appropriate.
(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
not-yet-contributed configuration.
* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
* config/i386/nto.h, config/iq2000/iq2000.h,
* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
* config/m68k/linux.h, config/m68k/m68k-aout.h
* config/m68k/m68k-none.h, config/m68k/m68kv4.h
* config/m68k/netbsd.h, config/m68k/openbsd.h
* config/m68k/sgs.h, config/mcore/mcore-pe.h,
* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
Remove includes of other target config headers, and
definitions of macros moved to tm_defines lists. Add #undefs
where now necessary to prevent redefinition warnings.
* config/h8300/coff.h: New file split out of...
* config/h8300/elf.h: ...here.
* config/m68k/hp320base.h: New file split out of...
* config/m68k/hp320.h: ...here.
* config/rs6000/lynxbase.h: New file split out of...
* config/rs6000/lynx.h: ...here.
* config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
* config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
* config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
* config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
* config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
Remove unnecessary #ifndef.
* config/s390/s390.h: Prefix #include of s390/fixdfdi.h
[under IN_LIBGCC2] with config/.
From-SVN: r70651
2003-08-21 19:27:29 +02:00
|
|
|
tm_file="arm/semi.h arm/aout.h arm/arm.h arm/coff.h dbxcoff.h arm/pe.h arm/wince-pe.h"
|
2004-08-03 15:27:02 +02:00
|
|
|
tmake_file="arm/t-arm arm/t-wince-pe"
|
config.gcc (arm*-wince-pe*, [...]): Add arm/pe.opt to $extra_options.
* config.gcc (arm*-wince-pe*, arm-*-pe*, strongarm-*-pe): Add
arm/pe.opt to $extra_options.
* config/arm/arm.h (target_flags, target_fpu_name, target_fpe_name)
(target_float_abi_name, target_float_switch, target_abi_name)
(ARM_FLAG_APCS_FRAME, ARM_FLAG_POKE, ARM_FLAG_FPE, ARM_FLAG_APCS_STACK)
(ARM_FLAG_APCS_FLOAT, ARM_FLAG_APCS_REENT, ARM_FLAG_BIG_END)
(ARM_FLAG_INTERWORK, ARM_FLAG_LITTLE_WORDS, ARM_FLAG_NO_SCHED_PRO)
(ARM_FLAG_ABORT_NORETURN, ARM_FLAG_SINGLE_PIC_BASE)
(ARM_FLAG_LONG_CALLS, ARM_FLAG_THUMB, THUMB_FLAG_BACKTRACE)
(THUMB_FLAG_LEAF_BACKTRACE, THUMB_FLAG_CALLEE_SUPER_INTERWORKING)
(THUMB_FLAG_CALLER_SUPER_INTERWORKING, CIRRUS_FIX_INVALID_INSNS)
(TARGET_APCS_FRAME, TARGET_POKE_FUNCTION_NAME, TARGET_FPE)
(TARGET_APCS_STACK, TARGET_APCS_FLOAT, TARGET_APCS_REENT)
(TARGET_BIG_END, TARGET_INTERWORK, TARGET_LITTLE_WORDS)
(TARGET_NO_SCHED_PRO, TARGET_ABORT_NORETURN, TARGET_SINGLE_PIC_BASE)
(TARGET_LONG_CALLS, TARGET_THUMB, TARGET_CALLER_INTERWORKING)
(TARGET_CIRRUS_FIX_INVALID_INSNS, SUBTARGET_SWITCHES, TARGET_SWITCHES)
(TARGET_OPTIONS, arm_cpu_select, arm_select, structure_size_string)
(arm_pic_register_string): Delete.
(TARGET_BACKTRACE): Redefine using TARGET_TPCS_LEAF_FRAME and
TARGET_TPCS_FRAME.
(TARGET_DEFAULT, CONDITIONAL_REGISTER_USAGE): Update mask names.
* config/arm/coff.h (TARGET_DEFAULT): Likewise.
* config/arm/elf.h (TARGET_DEFAULT): Likewise.
* config/arm/netbsd-elf.h (TARGET_DEFAULT): Likewise.
* config/arm/netbsd.h (TARGET_DEFAULT): Likewise.
* config/arm/semi.h (TARGET_DEFAULT): Likewise.
* config/arm/uclinux-elf.h (TARGET_DEFAULT): Likewise.
* config/arm/wince-pe.h (TARGET_DEFAULT): Likewise.
* config/arm/pe.h (TARGET_DEFAULT): Likewise.
(TARGET_FLAG_NOP_FUN, TARGET_NOP_FUN_DLLIMPORT): Delete.
(SUBTARGET_SWITCHES): Delete.
* config/arm/arm.c (target_float_switch): Delete.
(arm_cpu_select): Moved from config/arm/arm.h.
(target_fpu_name, target_fpe_name, target_float_abi_name)
(target_abi_name, structure_size_string, arm_pic_register_string)
(arm_select): Make static.
(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
(arm_handle_option): New function.
(arm_override_options): Update target_flags checks for new mask names.
Remove target_float_switch code.
(arm_expand_prologue, thumb_expand_prologue): Check
!TARGET_SCHED_PROLOG instead of TARGET_NO_SCHED_PRO.
* config/arm/arm.opt, config/arm/pe.opt: New files.
From-SVN: r99265
2005-05-05 14:09:00 +02:00
|
|
|
extra_options="${extra_options} arm/pe.opt"
|
2003-06-10 16:45:44 +02:00
|
|
|
extra_objs="pe.o"
|
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
arm-*-pe*)
|
Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* config.gcc (*-*-openbsd): Don't set tm_file.
(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
xscale-*-coff): Use explicit and complete lists of target headers
to include. Move definitions to tm_defines where appropriate.
(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
not-yet-contributed configuration.
* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
* config/i386/nto.h, config/iq2000/iq2000.h,
* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
* config/m68k/linux.h, config/m68k/m68k-aout.h
* config/m68k/m68k-none.h, config/m68k/m68kv4.h
* config/m68k/netbsd.h, config/m68k/openbsd.h
* config/m68k/sgs.h, config/mcore/mcore-pe.h,
* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
Remove includes of other target config headers, and
definitions of macros moved to tm_defines lists. Add #undefs
where now necessary to prevent redefinition warnings.
* config/h8300/coff.h: New file split out of...
* config/h8300/elf.h: ...here.
* config/m68k/hp320base.h: New file split out of...
* config/m68k/hp320.h: ...here.
* config/rs6000/lynxbase.h: New file split out of...
* config/rs6000/lynx.h: ...here.
* config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
* config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
* config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
* config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
* config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
Remove unnecessary #ifndef.
* config/s390/s390.h: Prefix #include of s390/fixdfdi.h
[under IN_LIBGCC2] with config/.
From-SVN: r70651
2003-08-21 19:27:29 +02:00
|
|
|
tm_file="arm/semi.h arm/aout.h arm/arm.h arm/coff.h dbxcoff.h arm/pe.h"
|
2004-08-03 15:27:02 +02:00
|
|
|
tmake_file="arm/t-arm arm/t-pe"
|
config.gcc (arm*-wince-pe*, [...]): Add arm/pe.opt to $extra_options.
* config.gcc (arm*-wince-pe*, arm-*-pe*, strongarm-*-pe): Add
arm/pe.opt to $extra_options.
* config/arm/arm.h (target_flags, target_fpu_name, target_fpe_name)
(target_float_abi_name, target_float_switch, target_abi_name)
(ARM_FLAG_APCS_FRAME, ARM_FLAG_POKE, ARM_FLAG_FPE, ARM_FLAG_APCS_STACK)
(ARM_FLAG_APCS_FLOAT, ARM_FLAG_APCS_REENT, ARM_FLAG_BIG_END)
(ARM_FLAG_INTERWORK, ARM_FLAG_LITTLE_WORDS, ARM_FLAG_NO_SCHED_PRO)
(ARM_FLAG_ABORT_NORETURN, ARM_FLAG_SINGLE_PIC_BASE)
(ARM_FLAG_LONG_CALLS, ARM_FLAG_THUMB, THUMB_FLAG_BACKTRACE)
(THUMB_FLAG_LEAF_BACKTRACE, THUMB_FLAG_CALLEE_SUPER_INTERWORKING)
(THUMB_FLAG_CALLER_SUPER_INTERWORKING, CIRRUS_FIX_INVALID_INSNS)
(TARGET_APCS_FRAME, TARGET_POKE_FUNCTION_NAME, TARGET_FPE)
(TARGET_APCS_STACK, TARGET_APCS_FLOAT, TARGET_APCS_REENT)
(TARGET_BIG_END, TARGET_INTERWORK, TARGET_LITTLE_WORDS)
(TARGET_NO_SCHED_PRO, TARGET_ABORT_NORETURN, TARGET_SINGLE_PIC_BASE)
(TARGET_LONG_CALLS, TARGET_THUMB, TARGET_CALLER_INTERWORKING)
(TARGET_CIRRUS_FIX_INVALID_INSNS, SUBTARGET_SWITCHES, TARGET_SWITCHES)
(TARGET_OPTIONS, arm_cpu_select, arm_select, structure_size_string)
(arm_pic_register_string): Delete.
(TARGET_BACKTRACE): Redefine using TARGET_TPCS_LEAF_FRAME and
TARGET_TPCS_FRAME.
(TARGET_DEFAULT, CONDITIONAL_REGISTER_USAGE): Update mask names.
* config/arm/coff.h (TARGET_DEFAULT): Likewise.
* config/arm/elf.h (TARGET_DEFAULT): Likewise.
* config/arm/netbsd-elf.h (TARGET_DEFAULT): Likewise.
* config/arm/netbsd.h (TARGET_DEFAULT): Likewise.
* config/arm/semi.h (TARGET_DEFAULT): Likewise.
* config/arm/uclinux-elf.h (TARGET_DEFAULT): Likewise.
* config/arm/wince-pe.h (TARGET_DEFAULT): Likewise.
* config/arm/pe.h (TARGET_DEFAULT): Likewise.
(TARGET_FLAG_NOP_FUN, TARGET_NOP_FUN_DLLIMPORT): Delete.
(SUBTARGET_SWITCHES): Delete.
* config/arm/arm.c (target_float_switch): Delete.
(arm_cpu_select): Moved from config/arm/arm.h.
(target_fpu_name, target_fpe_name, target_float_abi_name)
(target_abi_name, structure_size_string, arm_pic_register_string)
(arm_select): Make static.
(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
(arm_handle_option): New function.
(arm_override_options): Update target_flags checks for new mask names.
Remove target_float_switch code.
(arm_expand_prologue, thumb_expand_prologue): Check
!TARGET_SCHED_PROLOG instead of TARGET_NO_SCHED_PRO.
* config/arm/arm.opt, config/arm/pe.opt: New files.
From-SVN: r99265
2005-05-05 14:09:00 +02:00
|
|
|
extra_options="${extra_options} arm/pe.opt"
|
2000-11-17 11:42:45 +01:00
|
|
|
extra_objs="pe.o"
|
|
|
|
;;
|
2003-06-12 07:18:12 +02:00
|
|
|
arm*-*-kaos*)
|
|
|
|
tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h kaos.h arm/kaos-arm.h"
|
2004-08-03 15:27:02 +02:00
|
|
|
tmake_file="arm/t-arm arm/t-arm-elf"
|
2003-06-12 07:18:12 +02:00
|
|
|
;;
|
2004-11-23 04:44:03 +01:00
|
|
|
avr-*-rtems*)
|
|
|
|
tm_file="avr/avr.h dbxelf.h avr/rtems.h rtems.h"
|
2004-11-25 05:49:30 +01:00
|
|
|
tmake_file="avr/t-avr t-rtems avr/t-rtems"
|
2004-11-23 04:44:03 +01:00
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
avr-*-*)
|
Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* config.gcc (*-*-openbsd): Don't set tm_file.
(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
xscale-*-coff): Use explicit and complete lists of target headers
to include. Move definitions to tm_defines where appropriate.
(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
not-yet-contributed configuration.
* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
* config/i386/nto.h, config/iq2000/iq2000.h,
* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
* config/m68k/linux.h, config/m68k/m68k-aout.h
* config/m68k/m68k-none.h, config/m68k/m68kv4.h
* config/m68k/netbsd.h, config/m68k/openbsd.h
* config/m68k/sgs.h, config/mcore/mcore-pe.h,
* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
Remove includes of other target config headers, and
definitions of macros moved to tm_defines lists. Add #undefs
where now necessary to prevent redefinition warnings.
* config/h8300/coff.h: New file split out of...
* config/h8300/elf.h: ...here.
* config/m68k/hp320base.h: New file split out of...
* config/m68k/hp320.h: ...here.
* config/rs6000/lynxbase.h: New file split out of...
* config/rs6000/lynx.h: ...here.
* config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
* config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
* config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
* config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
* config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
Remove unnecessary #ifndef.
* config/s390/s390.h: Prefix #include of s390/fixdfdi.h
[under IN_LIBGCC2] with config/.
From-SVN: r70651
2003-08-21 19:27:29 +02:00
|
|
|
tm_file="avr/avr.h dbxelf.h"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2005-04-05 13:26:48 +02:00
|
|
|
bfin*-elf*)
|
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h"
|
|
|
|
tmake_file=bfin/t-bfin-elf
|
|
|
|
use_collect2=no
|
2005-06-06 11:46:39 +02:00
|
|
|
;;
|
|
|
|
bfin*-uclinux*)
|
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h bfin/uclinux.h"
|
|
|
|
tmake_file=bfin/t-bfin-elf
|
|
|
|
use_collect2=no
|
|
|
|
;;
|
2005-04-05 13:26:48 +02:00
|
|
|
bfin*-*)
|
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h"
|
|
|
|
tmake_file=bfin/t-bfin
|
|
|
|
use_collect2=no
|
2005-06-06 11:46:39 +02:00
|
|
|
;;
|
2002-12-09 09:10:20 +01:00
|
|
|
c4x-*-rtems* | tic4x-*-rtems*)
|
2004-11-23 10:30:39 +01:00
|
|
|
tmake_file="c4x/t-c4x t-rtems c4x/t-rtems"
|
2002-02-14 12:08:57 +01:00
|
|
|
tm_file="c4x/c4x.h c4x/rtems.h rtems.h"
|
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 22:39:13 +02:00
|
|
|
c_target_objs="c4x-c.o"
|
|
|
|
cxx_target_objs="c4x-c.o"
|
config.gcc (a29k*-*-rtems*, [...]): New targets.
* config.gcc (a29k*-*-rtems*, arm*-*-rtems*, c4x-*-rtems*,
h8300-*-rtems*, hppa1.1-*-rtems, *mips*-*-rtems*): New targets.
* config.gcc (*-rtems*): Add support for gthr-rtems.h.
* gthr-rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
config/h8300/rtems.h, config/mips/rtems.h: New files.
From-SVN: r38094
2000-12-07 03:42:02 +01:00
|
|
|
;;
|
2002-12-09 09:10:20 +01:00
|
|
|
c4x-* | tic4x-*)
|
2000-11-17 11:42:45 +01:00
|
|
|
tmake_file=c4x/t-c4x
|
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 22:39:13 +02:00
|
|
|
c_target_objs="c4x-c.o"
|
|
|
|
cxx_target_objs="c4x-c.o"
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2001-10-11 19:02:36 +02:00
|
|
|
cris-*-aout)
|
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-20 00:27:41 +02:00
|
|
|
tm_file="dbxelf.h ${tm_file} cris/aout.h"
|
2001-10-11 19:02:36 +02:00
|
|
|
gas=yes
|
|
|
|
tmake_file="cris/t-cris cris/t-aout"
|
config.gcc: Specify .opt files.
* config.gcc <cris-*>: Specify .opt files.
* config/cris/cris.opt, config/cris/elf.opt, config/cris/aout.opt,
config/cris/linux.opt: New files.
* config/cris/aout.h (CRIS_SUBTARGET_SWITCHES)
(CRIS_SUBTARGET_LONG_OPTIONS): Don't define.
(TARGET_ELF): Override to 0.
(CRIS_SUBTARGET_HANDLE_OPTION): Override to handle -melinux and
-melinux-stacksize=N.
* config/cris/cris.c: (cris_handle_option): New function.
(TARGET_DEFAULT_TARGET_FLAGS): Override.
(TARGET_HANDLE_OPTION): Override to cris_handle_option.
(cris_override_options): Use MASK_*, not TARGET_MASK_*.
* config/cris/cris.h (TARGET_MASK_SVINTO, TARGET_SVINTO,
(TARGET_MASK_CCINIT, TARGET_CCINIT, TARGET_MASK_PDEBUG)
(TARGET_PDEBUG, TARGET_MASK_SIDE_EFFECT_PREFIXES)
(TARGET_SIDE_EFFECT_PREFIXES, TARGET_MASK_EXPAND_MUL)
(TARGET_EXPAND_MUL, TARGET_MASK_STACK_ALIGN, TARGET_STACK_ALIGN)
(TARGET_MASK_CONST_ALIGN, TARGET_CONST_ALIGN)
(TARGET_MASK_DATA_ALIGN, TARGET_DATA_ALIGN)
(TARGET_MASK_PROLOGUE_EPILOGUE, TARGET_PROLOGUE_EPILOGUE)
(TARGET_MASK_ETRAX4_ADD, TARGET_ETRAX4_ADD)
(TARGET_MASK_ALIGN_BY_32, TARGET_ALIGN_BY_32, TARGET_MASK_ELF)
(TARGET_ELF, TARGET_MASK_LINUX, TARGET_LINUX)
(TARGET_MASK_AVOID_GOTPLT, TARGET_AVOID_GOTPLT)
(TARGET_MASK_MUL_BUG, TARGET_MUL_BUG, TARGET_SWITCHES)
(CRIS_SUBTARGET_SWITCHES, TARGET_OPTIONS)
(CRIS_SUBTARGET_LONG_OPTIONS): Don't define.
(TARGET_LINUX): Define 0.
(TARGET_DEFAULT): Use MASK_*, not TARGET_MASK_*.
(CRIS_SUBTARGET_DEFAULT): Define to 0, not TARGET_MASK_ELF.
(CRIS_SUBTARGET_DEFAULT): New empty default macro.
* config/cris/linux.h (CRIS_SUBTARGET_SWITCHES): Don't define.
(TARGET_LINUX): Override to 1.
(CRIS_SUBTARGET_DEFAULT): Use MASK_*, not TARGET_MASK_*.
From-SVN: r98611
2005-04-23 16:03:53 +02:00
|
|
|
extra_options="${extra_options} cris/aout.opt"
|
2001-10-11 19:02:36 +02:00
|
|
|
;;
|
|
|
|
cris-*-elf | cris-*-none)
|
2001-12-06 18:34:55 +01:00
|
|
|
tm_file="dbxelf.h elfos.h ${tm_file}"
|
2001-10-11 19:02:36 +02:00
|
|
|
tmake_file="cris/t-cris cris/t-elfmulti"
|
|
|
|
gas=yes
|
config.gcc: Specify .opt files.
* config.gcc <cris-*>: Specify .opt files.
* config/cris/cris.opt, config/cris/elf.opt, config/cris/aout.opt,
config/cris/linux.opt: New files.
* config/cris/aout.h (CRIS_SUBTARGET_SWITCHES)
(CRIS_SUBTARGET_LONG_OPTIONS): Don't define.
(TARGET_ELF): Override to 0.
(CRIS_SUBTARGET_HANDLE_OPTION): Override to handle -melinux and
-melinux-stacksize=N.
* config/cris/cris.c: (cris_handle_option): New function.
(TARGET_DEFAULT_TARGET_FLAGS): Override.
(TARGET_HANDLE_OPTION): Override to cris_handle_option.
(cris_override_options): Use MASK_*, not TARGET_MASK_*.
* config/cris/cris.h (TARGET_MASK_SVINTO, TARGET_SVINTO,
(TARGET_MASK_CCINIT, TARGET_CCINIT, TARGET_MASK_PDEBUG)
(TARGET_PDEBUG, TARGET_MASK_SIDE_EFFECT_PREFIXES)
(TARGET_SIDE_EFFECT_PREFIXES, TARGET_MASK_EXPAND_MUL)
(TARGET_EXPAND_MUL, TARGET_MASK_STACK_ALIGN, TARGET_STACK_ALIGN)
(TARGET_MASK_CONST_ALIGN, TARGET_CONST_ALIGN)
(TARGET_MASK_DATA_ALIGN, TARGET_DATA_ALIGN)
(TARGET_MASK_PROLOGUE_EPILOGUE, TARGET_PROLOGUE_EPILOGUE)
(TARGET_MASK_ETRAX4_ADD, TARGET_ETRAX4_ADD)
(TARGET_MASK_ALIGN_BY_32, TARGET_ALIGN_BY_32, TARGET_MASK_ELF)
(TARGET_ELF, TARGET_MASK_LINUX, TARGET_LINUX)
(TARGET_MASK_AVOID_GOTPLT, TARGET_AVOID_GOTPLT)
(TARGET_MASK_MUL_BUG, TARGET_MUL_BUG, TARGET_SWITCHES)
(CRIS_SUBTARGET_SWITCHES, TARGET_OPTIONS)
(CRIS_SUBTARGET_LONG_OPTIONS): Don't define.
(TARGET_LINUX): Define 0.
(TARGET_DEFAULT): Use MASK_*, not TARGET_MASK_*.
(CRIS_SUBTARGET_DEFAULT): Define to 0, not TARGET_MASK_ELF.
(CRIS_SUBTARGET_DEFAULT): New empty default macro.
* config/cris/linux.h (CRIS_SUBTARGET_SWITCHES): Don't define.
(TARGET_LINUX): Override to 1.
(CRIS_SUBTARGET_DEFAULT): Use MASK_*, not TARGET_MASK_*.
From-SVN: r98611
2005-04-23 16:03:53 +02:00
|
|
|
extra_options="${extra_options} cris/elf.opt"
|
2001-10-11 19:02:36 +02:00
|
|
|
;;
|
|
|
|
cris-*-linux*)
|
2001-12-06 18:34:55 +01:00
|
|
|
tm_file="dbxelf.h elfos.h svr4.h ${tm_file} linux.h cris/linux.h"
|
2004-03-01 16:12:57 +01:00
|
|
|
# We need to avoid using t-linux, so override default tmake_file
|
2003-10-01 13:14:01 +02:00
|
|
|
tmake_file="cris/t-cris t-slibgcc-elf-ver cris/t-linux"
|
config.gcc: Specify .opt files.
* config.gcc <cris-*>: Specify .opt files.
* config/cris/cris.opt, config/cris/elf.opt, config/cris/aout.opt,
config/cris/linux.opt: New files.
* config/cris/aout.h (CRIS_SUBTARGET_SWITCHES)
(CRIS_SUBTARGET_LONG_OPTIONS): Don't define.
(TARGET_ELF): Override to 0.
(CRIS_SUBTARGET_HANDLE_OPTION): Override to handle -melinux and
-melinux-stacksize=N.
* config/cris/cris.c: (cris_handle_option): New function.
(TARGET_DEFAULT_TARGET_FLAGS): Override.
(TARGET_HANDLE_OPTION): Override to cris_handle_option.
(cris_override_options): Use MASK_*, not TARGET_MASK_*.
* config/cris/cris.h (TARGET_MASK_SVINTO, TARGET_SVINTO,
(TARGET_MASK_CCINIT, TARGET_CCINIT, TARGET_MASK_PDEBUG)
(TARGET_PDEBUG, TARGET_MASK_SIDE_EFFECT_PREFIXES)
(TARGET_SIDE_EFFECT_PREFIXES, TARGET_MASK_EXPAND_MUL)
(TARGET_EXPAND_MUL, TARGET_MASK_STACK_ALIGN, TARGET_STACK_ALIGN)
(TARGET_MASK_CONST_ALIGN, TARGET_CONST_ALIGN)
(TARGET_MASK_DATA_ALIGN, TARGET_DATA_ALIGN)
(TARGET_MASK_PROLOGUE_EPILOGUE, TARGET_PROLOGUE_EPILOGUE)
(TARGET_MASK_ETRAX4_ADD, TARGET_ETRAX4_ADD)
(TARGET_MASK_ALIGN_BY_32, TARGET_ALIGN_BY_32, TARGET_MASK_ELF)
(TARGET_ELF, TARGET_MASK_LINUX, TARGET_LINUX)
(TARGET_MASK_AVOID_GOTPLT, TARGET_AVOID_GOTPLT)
(TARGET_MASK_MUL_BUG, TARGET_MUL_BUG, TARGET_SWITCHES)
(CRIS_SUBTARGET_SWITCHES, TARGET_OPTIONS)
(CRIS_SUBTARGET_LONG_OPTIONS): Don't define.
(TARGET_LINUX): Define 0.
(TARGET_DEFAULT): Use MASK_*, not TARGET_MASK_*.
(CRIS_SUBTARGET_DEFAULT): Define to 0, not TARGET_MASK_ELF.
(CRIS_SUBTARGET_DEFAULT): New empty default macro.
* config/cris/linux.h (CRIS_SUBTARGET_SWITCHES): Don't define.
(TARGET_LINUX): Override to 1.
(CRIS_SUBTARGET_DEFAULT): Use MASK_*, not TARGET_MASK_*.
From-SVN: r98611
2005-04-23 16:03:53 +02:00
|
|
|
extra_options="${extra_options} cris/linux.opt"
|
2001-10-11 19:02:36 +02:00
|
|
|
;;
|
2005-07-22 11:49:48 +02:00
|
|
|
crx-*-elf)
|
|
|
|
tm_file="elfos.h ${tm_file}"
|
|
|
|
extra_parts="crtbegin.o crtend.o"
|
|
|
|
use_collect2=no
|
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
fr30-*-elf)
|
2001-12-06 18:34:55 +01:00
|
|
|
tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
|
2000-11-17 11:42:45 +01:00
|
|
|
tmake_file=fr30/t-fr30
|
|
|
|
extra_parts="crti.o crtn.o crtbegin.o crtend.o"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2002-08-04 21:37:03 +02:00
|
|
|
frv-*-elf)
|
|
|
|
tm_file="dbxelf.h elfos.h svr4.h ${tm_file} frv/frv-abi.h"
|
|
|
|
tmake_file=frv/t-frv
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2002-08-04 21:37:03 +02:00
|
|
|
;;
|
Implement FR-V FDPIC ABI support for frv-uclinux and frv-linux.
2004-02-05 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_emit_movsi): Use GOT relocations for
symbols in sections named by the user.
2004-01-30 Alexandre Oliva <aoliva@redhat.com>
* config/frv/linux.h (TARGET_OS_CPP_BUILTINS): New.
2004-01-27 Alexandre Oliva <aoliva@redhat.com>
* config.gcc (frv-*-*linux*): Handle like *-*-linux*.
* config/frv/t-linux (EXTRA_MULTILIB_PARTS): Remove, obviated by
the above.
2004-01-20 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.md (symGOT2reg_hilo, symGOTOFF2reg_hilo): Add
one more pseudo to further improve code generation.
2004-01-19 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.md (movdi_ldd): Introduce explicit indirection
inside UNSPEC.
2004-01-16 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_legitimate_address_p): Added
allow_double_reg_p argument. Adjust all callers. Use it to
decide whether to enable double-register indirect addressing.
(frv_funcdesc_alias_set): Remove.
(frv_expand_fdpic_call): Force non-SYMBOL_REF operand into
register. Emit movdi_ldd.
(ldd_address_operand): New.
* config/frv/frv-protos.h (frv_legitimate_address_p): Adjust.
* config/frv/frv.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
(PREDICATE_CODES): Add ldd_address_operand.
* config/frv/frv.md (movdi_ldd): New.
(symGOT2reg_hilo, symGOTOFF2reg_hilo): Use separate pseudo for
intermediate computations if possible.
(symGOTOFF2reg_i): Fix harmless typo.
2003-12-18 Alexandre Oliva <aoliva@redhat.com>
* unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Cast
relocated p_vaddr to vaddr type.
* config/frv/frv-protos.h (frv_expand_fdpic_call): Return void.
* config/frv/frv.c (frv_get_funcdesc_alias_set): New.
(frv_expand_fdpic_call): Propagate incoming MEM's expr to funcdesc
MEM, or use a funcdesc alias set. Use regular move instead of
ldd.
(dbl_memory_one_insn_operand): Recognize function descriptors by
type or by alias set, and don't split them.
* config/frv/frv.md (call, call_value): Never use call_internal
for fdpic.
(call_internal, call_value_internal): Never match for FDPIC.
(call_fdpicdi, call_fdpicsi, call_value_fdpicdi,
call_value_fdpicsi): Require FDPIC.
(ldd): Removed.
2003-12-17 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.h (CRT_GET_RFIB_DATA): Define for __FRV_FDPIC__.
* unwind-dw2-fde-glibc.c: Don't include elf-fdpic.h any more.
(_Unwind_IteratePhdrCallback): Adjust type of load_base for FRV
FDPIC. Compute data base address.
* config/frv/linux.h (SUBTARGET_DRIVER_SELF_SPECS): Enable -mfdpic
before the other self-specs are processed.
* config/frv/t-linux (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS):
Build with -fPIC.
2003-12-15 Alexandre Oliva <aoliva@redhat.com>
* unwind-dw2-fde-glibc.c: Don't include bits/elf-fdpic.h if
inhibit_libc is defined.
2003-12-12 Alexandre Oliva <aoliva@redhat.com>
* unwind-dw2-fde-glibc.c: Include bits/elf-fdpic.h for
__FRV_FDPIC__.
(__RELOC_POINTER): Define.
(_Unwind_IteratePhdrCallback): Use it.
* config/frv/frv.h (Twrite): Define.
(TRANSFER_FROM_TRAMPOLINE): Use it.
* config/frv/linux.h (INVOKE__main): Undefine.
(Twrite): Override.
2003-12-05 Richard Sandiford <rsandifo@redhat.com>
* doc/invoke.texi (-mlong-calls, -mlinked-fp): Document FRV options.
(-mlibrary-pic): Emphasize that this option generates EABI code.
(-mcpu): Add fr550.
(-mpack): Remove.
2003-11-30 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (int_2word_operand): Reject LABELs, SYMBOL_REFs
and CONSTs in FDPIC mode.
* gcc/config.gcc (with_cpu): Default to fr400 on frv-*-*linux*.
2003-11-29 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv.c (move_source_operand): Don't accept symbolic
constants.
* config/frv/frv.md (*movhi_internal, *movsi_internal): Use an 'n'
rather than 'i' constraint for the 2-instruction alternative.
(*movsi_2word): New, incorporating existing int_2word_operand splitter.
2003-11-29 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Q): Renamed from
EXTRA_CONSTRAINT_FOR_Y.
(EXTRA_CONSTRAINT): Remove handling of 'Y'.
* config/frv/frv.md (*movsi_internal): Remove 'Q' constraint.
(addsi3): Change 'Y' constraint to 'Q'.
2003-11-27 Richard Sandiford <rsandifo@redhat.com>
* reload.c (CONST_POOL_OK_P): New macro.
(find_reloads): Use it to decide whether a constant can be forced
into memory.
* config/frv/frv.h (LEGITIMATE_PIC_OPERAND_P): Return true if the
constant satisfies got12_operand.
(frv_cannot_force_const_mem): Always return true for TARGET_FDPIC.
(frv_legitimate_address_p): Check for valid unspec offsets using
got12_operand rather than frv_legitimate_fdpic_operand_p.
(frv_legitimate_fdpic_operand_p): Delete.
(frv_emit_movsi): Abort if we try to use the FDPIC register during
or after reload.
(frv_legitimate_constant_p): Return LEGITIMATE_PIC_OPERAND_P if
TARGET_FDPIC.
* config/frv/frv.md (*movdf_double): Add alternatives for CONST_DOUBLE.
2003-11-19 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv-protos.h (fdpic_operand, fdpic_got12_operand)
(frv_fdpic_fptr_operand): Don't declare here.
* config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Y): Call got12_operand
rather than fdpic_got12_operand.
(PREDICATE_CODES): Remove symbolic_operand entry. Add entries for
got12_operand and const_unspec_operand.
* config/frv/frv.c (got12_operand): Renamed from fdpic_got12_operand.
(gpr_or_int12_operand, dbl_memory_one_insn_operand): Update calls.
(symbolic_operand): Remove.
(const_unspec_operand): New predicate.
* config/frv/frv.md (*movsi_got): Use got12_operand.
(*movsi_high_got, *movsi_lo_sum_got): Use const_unspec_operand.
2003-11-18 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv-protos.h (frv_output_addr_const_extra): Remove.
* config/frv/frv.h (OUTPUT_ADDR_CONST_EXTRA): Remove definition.
* config/frv/frv.c (frv_unspec): New structure.
(frv_small_data_reloc_p, frv_const_unspec_p): New functions.
(frv_print_operand_memory_reference): Use frv_const_unspec_p to
validate CONST indices. Use frv_output_const_unspec to print them.
(frv_print_operand): Update call to unspec_got_name. Use
frv_output_const_unspec to print constant unspecs.
(frv_legitimate_fdpic_operand_p): Return true if frv_const_unspec_p.
Reject UNSPECs otherwise.
(unspec_got_name): Take the relocation number as argument, not an
rtx containing it.
(frv_output_addr_const_extra): Remove, replacing with...
(frv_output_const_unspec): ...this new function.
(frv_find_base_term): Use frv_const_unspec_p & frv_small_data_reloc_p.
(gpr_or_int12_operand): Use fdpic_got12_operand.
(dbl_memory_one_insn_operand): Likewise.
(fdpic_got12_operand): Use frv_const_unspec_p.
(frv_emit_movsi): Use frv_const_unspec_p to check for CONSTs that
are already legitimate. Use frv_small_data_reloc_p when deciding
whether to use HIGH/LO_SUM for R_FRV_GOTOFF12 and R_FRV_GPREL12.
2003-11-18 Alexandre Oliva <aoliva@redhat.com>
* config/frv/t-linux (SHLIB_MAPFILES): Override so as to export...
* config/frv/libgcc-frv.ver: ... frv-specific symbols. New file.
* config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
label, for real this time.
* config/frv/frv.c (frv_local_funcdesc_p): Update to new
representation of visibility.
(fdpic_got12_operand, symbolic_operand): Mark unused arguments as
such.
2003-11-17 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv.h (MASK_LINKED_FP, TARGET_LINKED_FP): New macros.
(TARGET_SWITCHES): Add -mlinked-fp and -mno-linked-fp.
* config/frv/frv.c (frv_override_options): Set MASK_LINKED_FP unless
it was explicitly disabled.
(frv_stack_info): There is no need to save the link register in every
frame unless TARGET_LINKED_FP is true.
(frv_frame_pointer_required): If !TARGET_LINKED_FP, only require a
frame pointer if the stack pointer might change value.
(frv_return_addr_rtx): Check and process "count" argument.
2003-11-14 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv-protos.h (frv_legitimize_address): Remove.
(frv_find_base_term): Declare.
* config/frv/frv.h (LEGITIMIZE_ADDRESS): Do nothing.
(FIND_BASE_TERM): Define.
(PREDICATE_CODES): Remove pic_register_operand, pic_symbolic_operand,
small_data_register_operand, small_data_symbolic_operand. Add
symbolic_operand.
* config/frv/frv.c (const_small_data_p, plus_small_data_p): Delete.
(frv_print_operand_memory_reference, output_move_single): Remove
special handling for unlegitimized sdata addresses.
(frv_legitimate_address_p): Don't allow sums of SDA_BASE_REG
and symbolic addresses.
(frv_legitimize_address, frv_legitimize_fdpic_address): Delete.
(frv_find_base_term): New function.
(int_2word_operand): Check specifically for symbolic address constants.
(pic_register_operand, pic_symbolic_operand): Delete.
(small_data_register_operand, small_data_symbolic_operand): Delete.
(dbl_memory_one_insn_operand): Don't call plus_small_data_p.
Allow UNSPEC_GOT constants if !TARGET_FDPIC.
(move_source_operand): Only accept CONSTs if they're a two-insn
symbolic constant.
(fdpic_got12_operand): Don't require TARGET_FDPIC.
(frv_emit_movsi): Legitimize sdata and -mlibrary-pic addresses
using gen_symGOTOFF2reg*.
(frv_ifcvt_rewrite_mem): Remove (plus gr16 ...) special cases.
(frv_rtx_costs): Give all MEM addresses a cost of 0. Give MEMs
themselves a cost of 3 insns.
* config/mips/mips.md (*movsi_got): Allow for !TARGET_FDPIC too.
Change predicate to symbolic_operand.
(*movsi_high_got, *movsi_lo_sum_got): Likewise.
(*movsi_lda_sdata): Delete.
(*movsi_pic, movsi_high_pic, movsi_lo_sum_pic): Delete.
2003-11-05 Alexandre Oliva <aoliva@redhat.com>
* config.gcc: Add t-slibgcc-elf-ver and support --with-cpu for
frv-*-*linux*.
* config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
label.
* config/frv/frv.h (DRIVER_SELF_SPECS): Add blank before
-multilib-library-pic.
(LINK_SPEC): Add -z text for -mfdpic.
* config/frv/frvbegin.c (__ROFIXUP_LIST__): Don't define on FDPIC.
* config/frv/frvend.c (__ROFIXUP_END__): Likewise.
* config/frv/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC):
Override.
(OPTION_DEFAULT_SPECS, HAS_INIT_SECTION, INIT_SECTION_ASM_OP,
FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION): Define.
* config/frv/t-linux (EXTRA_MULTILIB_PARTS): Use
crtstuff-generated files.
2003-10-31 Alexandre Oliva <aoliva@redhat.com>
* config.gcc: Add frv-*-*linux*.
* config/frv/linux.h, config/frv/t-linux: New.
2003-10-06 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.h (LINK_SPEC): Pass -melf32frvfd to the linker
when -mfdpic even if a linker script is explicitly listed.
2003-10-02 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_override_options): Clear asm_out
unaligned_op for SImode on FDPIC.
(frv_emit_movsi): Use compute_reloc_for_constant to compute the
argument passed to decl_readonly_section.
(frv_assemble_integer): Revert 2003-09-30's change, but make the
whole block run with FDPIC even with -fno-PIC.
2003-10-02 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_cannot_force_const_mem): Don't force
symbol or label plus offset to memory.
(frv_emit_movsi): Emit GPREL only if -mgprel-ro. Emit 32-bit
GOTOFF and GPREL for LABEL_REF.
* config/frv/frv.h (DRIVER_SELF_SPECS): Add -mgprel-ro with
-mfdpic unless -mno-gprel-ro, -fpic or -fpie.
(MASK_GPREL_RO, TARGET_GPREL_RO): New.
(TARGET_SWITCHES): Added gprel-ro and no-gprel-ro.
* doc/invoke.texi: Document them.
2003-09-30 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv-protos.h (frv_gen_GPsym2reg): Declare.
(frv_splittable_got_operand): Removed.
* config/frv/frv.c (frv_cannot_force_const_mem): Reject HIGH and
LO_SUM. Add comments.
(frv_override_options): Moved enabling of FDPIC to
DRIVER_SELF_SPECS. Don't enable MASK_DWORD.
(frv_local_funcdesc_p): Remove unnecessary heck for flag_pie.
(frv_legitimize_fdpic_address): Don't duplicate logic in
frv_emit_movsi.
(frv_gen_GPsym2reg): New.
(unspec_got_name): Added gprel.
(frv_expand_fdpic_call): Add support for inlining PLTs.
(fdpic_fptr_operand): Renamed from frv_fdpic_fptr_operand.
(gpr_or_int12_operand): Added GPREL12.
(pic_symbolic_operand): Match even if !flag_pic for FDPIC.
(small_data_symbolic_operand): Fail if FDPIC.
(fdpic_splittable_got_operand): Removed.
(fdpic_got12_operand): Added GPREL12.
(frv_emit_movsi): Reorganize to avoid duplication. Emit GPREL
when appropriate. Fix sdata GOTOFF.
(frv_legitimate_constant_p): Require legitimate PIC operand for
FDPIC with pic, but only a legitimate fdpic operand for non-pic.
(frv_assemble_integer): Move FDPIC funcdesc handling out of
flag_pic case.
(frv_asm_out_constructor, frv_asm_out_destructor): Abort if
frv_assemble_integer fails.
* config/frv/frv.h (DRIVER_SELF_SPECS): New.
(SUBTARGET_DRIVER_SELF_SPECS): New.
(ASM_SPEC): Don't pass -mno-fdpic.
(LINK_SPEC): Pass -melf32frvfd for FDPIC.
(MASK_INLINE_PLT, TARGET_INLINE_PLT): New.
(TARGET_SWITCHES): Add -minline-plt, -mno-inline-plt and
-multilib-library-pic.
(PREDICATE_CODES): Added fdpic_operand, fdpic_fptr_operand,
condexec_si_media_operator, condexec_sf_add_operator and
condexec_sf_conv_operator. Removed condexec_sf_binary_operator
and condexec_sf_unary_operator.
* config/frv/frv.md (R_FRV_GPREL12, R_FRV_GPRELHI, R_FRV_GPRELLO):
New.
(movsi_got, movsi_high_got, movsi_lo_sum_got): Move before
movsi_internal. Give them internal names. movsi_got has type
int.
(fdpic got splitters): Remove.
(symGPREL2reg, symGPREL2reg_hilo): New.
* config/frv/t-frv (MULTILIB_MATCHES): Don't map -fpic and -fPIC
to -mlibrary-pic. Map -multilib-library-pic to it.
* doc/invoke.texi: -mfdpic, -minline-plt, -multilib-library-pic:
Document.
2003-09-28 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_function_symbol_referenced_p): Declare.
(TARGET_CANNOT_FORCE_CONST_MEM): Define to...
(frv_cannot_force_const_mem): New function.
(const_small_data_p, plus_small_data_p): Update comments on sdata
on FDPIC.
(frv_override_options): Set flag_pie for FDPIC too.
(frv_conditional_register_usage): Mark gr16 and gr17 as non-fixed,
call-saved registers on FDPIC.
(frv_stack_info): Don't preserve the PIC register on FDPIC, and
don't force LR to be preserved.
(frv_expand_prologue): Likewise.
(frv_asm_output_mi_thunk): Use 12-bit funcdesc gotoff for -fpic.
(frv_frame_pointer_required): Don't force it just because the
FDPIC register is used.
(frv_legitimate_address_p) <CONST>: Accept a legitimate FDPIC
operand only if !condexec_p.
(frv_legitimize_address): Return the FDPIC-legitimized address.
Don't match small data here on FDPIC.
(frv_legitimate_fdpic_operand_p): Don't accept unadorned function
symbols. Use TRUE/FALSE instead of 1/0.
(frv_local_funcdesc_p): New.
(frv_legitimize_fdpic_address): Rewrite to use GOTOFF and 12-bit
immediates when possible.
(pic_symbolic_operand): Accept SYMBOL_REFs and CONSTs in FDPIC.
(dbl_memory_one_insn_operand): Accept addresses that add a REG and
an UNSPEC_GOT.
(frv_emit_movsi): Handle FDPIC before small data. Use GOTOFF and
12-bit immediates when possible.
(frv_legitimate_constant_p): In FDPIC, reject SImode operands that
are not legitimate pic operands.
(frv_in_small_data_p): Re-enable for FDPIC.
* config/frv/frv.h (SDA_BASE_REG): Remove comment about FDPIC.
(FRV_GLOBAL_P): Removed.
* config/frv/frv.md: Add modes to CONSTs.
(movsi_got): New.
(movsi_lo_sum_got): Use separate matches instead of match_dup.
(movsi_high_pic, movsi_lo_sum_pic): Match on non-FDPIC only.
(fdpic splittable operations): Match on flag_pic != 1.
2003-09-22 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_asm_out_constructor,
frv_asm_out_destructor): Pass to frv_assemble_integer the size in
bytes, not bits.
2003-09-19 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_assemble_integer): Reject complex
expressions referencing function SYMBOL_REFs.
* config/frv/frv.c (frv_function_symbol_referenced_p): New.
(move_source_operand): Reject CONSTs that reference function
SYMBOL_REFs on FDPIC.
(frv_emit_movsi): If we get such a CONST, break it up.
* config/frv/frv.h (CPP_SPEC): Define __FRV_FDPIC__ for -mfdpic.
(TRANSFER_FROM_TRAMPOLINE): Use different definitions for FDPIC.
* config/frv/frv.c (frv_print_operand) <I>: Recognize PLUS without
MEM.
(frv_assemble_integer): Don't use funcdesc for LABEL_REFs.
(frv_trampoline_size): Increase for FDPIC.
* config/frv/frv.h (TRAMPOLINE_ALIGNMENT): Bump to 64 for FDPIC.
(TRANSFER_FROM_TRAMPOLINE): Handle FDPIC trampolines.
* config/frv/frv.c (frv_legitimize_fdpic_address, frv_emit_movsi):
Disable use of GOTOFF for now.
(const_small_data_p, plus_small_data_p, frv_in_small_data_p):
Disable use of small data in FDPIC for now.
(frv_asm_output_mi_thunk): Implement for FDPIC.
* config/frv/frv.h (SDA_BASE_REG): Set to -1 with FDPIC.
* config/frv/frv.c (frv_asm_out_constructor): Use
frv_assemble_integer for FDPIC pointers.
(frv_asm_out_destructor): Likewise.
* config/frv/frv.md (ldd): Fix order of operands. Use
address_operand for input.
2003-09-18 DJ Delorie <dj@redhat.com>
* config/frv/frv.c (frv_legitimate_fdpic_operand_p): Remove UNSPEC_PIC.
(unspec_got_name): Correct typo.
(frv_emit_movsi): Pre-expand splittable GOTs.
(frv_expand_fdpic_call): Rename gen_lddi to gen_ldd.
* config/frv/frv.md (lddi): Fix syntax error, rename to ldd.
(symGOT2reg_hilo, symGOTOFF2reg_hilo): New.
* config/frv/t-frv: Add -mfdpic multilibs.
* config/frv/frv.h (ASM_SPEC): Pass -mfdpic/-mno-fdpic.
(TARGET_SWITCHES): Add -mno-fdpic, fix documentation.
* config/frv/frv.c (frv_override_options): -mfdpic assumes
flag_pic, default to 32-bit pics, require DWORD ops.
(frv_override_options): Add W and Z constraints.
(frv_expand_prologue): No pic prologue for -mfdpic.
(frv_asm_output_mi_thunk): Support -mfdpic (soon).
(frv_print_operand_memory_reference): Handle GOT constants.
(frv_legitimate_address_p): Allow GOT constants.
(frv_legitimize_address): Handle GOT addresses too.
(frv_legitimate_fdpic_operand_p): New.
(frv_legitimize_fdpic_address): New.
(unspec_got_name): New.
(frv_output_addr_const_extra): New.
(frv_expand_fdpic_call): New.
(frv_fdpic_fptr_operand): New.
(gpr_or_int12_operand): Handle GOT operands.
(int_2word_operand): Handle GOT operands.
(fdpic_operand): New.
(fdpic_splittable_got_operand): New.
(fdpic_got12_operand): New.
(frv_emit_movsi): Handle GOT operands.
(frv_assemble_integer): -mfdpic doesn't use rofixups.
(frv_print_operand): Support 'g' code for GOT operands.
* config/frv/frv-protos.h: Add prototypes as needed.
* config/frv/frv.md (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO,
R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI,
R_FRV_FUNCDESC_GOTLO, R_FRV_FUNCDESC_VALUE,
R_FRV_FUNCDESC_GOTOFF12, R_FRV_FUNCDESC_GOTOFFHI,
R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12, R_FRV_GOTOFFHI,
R_FRV_GOTOFFLO): New.
(movsi_high_got, movsi_lo_sum_got): New.
(*movsi_pic): Don't use this splitter for -mfdpic.
(addsi3): Allow GOT references also.
(call, call_value): Handle -mfdpic separately.
(call_fdpicdi, call_fdpicsi, lddi, call_value_fdpicdi,
call_value_fdpicsi): New.
(symGOT2reg, symGOT2reg_i, got splitters, symGOTOFF2reg,
symGOTOFF2reg_i): New.
* config/frv/frv.h (MASK_FDPIC): New.
(TARGET_FDPIC): New.
(TARGET_SWITCHES): Add -mfdpic.
(FDPIC_FPTR_REGNO): New.
(FDPIC_REGNO): New.
(OUR_FDPIC_REG): New.
(enum reg_class): Add FDPIC_REGS, FDPIC_FPTR_REGS, and
FDPIC_CALL_REGS.
(REG_CLASS_NAMES): Likewise.
(REG_CLASS_CONTENTS): Likewise.
(EXTRA_CONSTRAINT_FOR_Y): New, for 12-bit GOTs.
(EXTRA_CONSTRAINT): Add it here.
(FRV_GLOBAL_P): New.
(OUTPUT_ADDR_CONST_EXTRA): New.
From-SVN: r78373
2004-02-24 17:58:39 +01:00
|
|
|
frv-*-*linux*)
|
|
|
|
tm_file="dbxelf.h elfos.h svr4.h ${tm_file} \
|
|
|
|
linux.h frv/linux.h frv/frv-abi.h"
|
2004-03-01 16:12:57 +01:00
|
|
|
tmake_file="${tmake_file} frv/t-frv frv/t-linux"
|
Implement FR-V FDPIC ABI support for frv-uclinux and frv-linux.
2004-02-05 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_emit_movsi): Use GOT relocations for
symbols in sections named by the user.
2004-01-30 Alexandre Oliva <aoliva@redhat.com>
* config/frv/linux.h (TARGET_OS_CPP_BUILTINS): New.
2004-01-27 Alexandre Oliva <aoliva@redhat.com>
* config.gcc (frv-*-*linux*): Handle like *-*-linux*.
* config/frv/t-linux (EXTRA_MULTILIB_PARTS): Remove, obviated by
the above.
2004-01-20 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.md (symGOT2reg_hilo, symGOTOFF2reg_hilo): Add
one more pseudo to further improve code generation.
2004-01-19 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.md (movdi_ldd): Introduce explicit indirection
inside UNSPEC.
2004-01-16 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_legitimate_address_p): Added
allow_double_reg_p argument. Adjust all callers. Use it to
decide whether to enable double-register indirect addressing.
(frv_funcdesc_alias_set): Remove.
(frv_expand_fdpic_call): Force non-SYMBOL_REF operand into
register. Emit movdi_ldd.
(ldd_address_operand): New.
* config/frv/frv-protos.h (frv_legitimate_address_p): Adjust.
* config/frv/frv.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
(PREDICATE_CODES): Add ldd_address_operand.
* config/frv/frv.md (movdi_ldd): New.
(symGOT2reg_hilo, symGOTOFF2reg_hilo): Use separate pseudo for
intermediate computations if possible.
(symGOTOFF2reg_i): Fix harmless typo.
2003-12-18 Alexandre Oliva <aoliva@redhat.com>
* unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Cast
relocated p_vaddr to vaddr type.
* config/frv/frv-protos.h (frv_expand_fdpic_call): Return void.
* config/frv/frv.c (frv_get_funcdesc_alias_set): New.
(frv_expand_fdpic_call): Propagate incoming MEM's expr to funcdesc
MEM, or use a funcdesc alias set. Use regular move instead of
ldd.
(dbl_memory_one_insn_operand): Recognize function descriptors by
type or by alias set, and don't split them.
* config/frv/frv.md (call, call_value): Never use call_internal
for fdpic.
(call_internal, call_value_internal): Never match for FDPIC.
(call_fdpicdi, call_fdpicsi, call_value_fdpicdi,
call_value_fdpicsi): Require FDPIC.
(ldd): Removed.
2003-12-17 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.h (CRT_GET_RFIB_DATA): Define for __FRV_FDPIC__.
* unwind-dw2-fde-glibc.c: Don't include elf-fdpic.h any more.
(_Unwind_IteratePhdrCallback): Adjust type of load_base for FRV
FDPIC. Compute data base address.
* config/frv/linux.h (SUBTARGET_DRIVER_SELF_SPECS): Enable -mfdpic
before the other self-specs are processed.
* config/frv/t-linux (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS):
Build with -fPIC.
2003-12-15 Alexandre Oliva <aoliva@redhat.com>
* unwind-dw2-fde-glibc.c: Don't include bits/elf-fdpic.h if
inhibit_libc is defined.
2003-12-12 Alexandre Oliva <aoliva@redhat.com>
* unwind-dw2-fde-glibc.c: Include bits/elf-fdpic.h for
__FRV_FDPIC__.
(__RELOC_POINTER): Define.
(_Unwind_IteratePhdrCallback): Use it.
* config/frv/frv.h (Twrite): Define.
(TRANSFER_FROM_TRAMPOLINE): Use it.
* config/frv/linux.h (INVOKE__main): Undefine.
(Twrite): Override.
2003-12-05 Richard Sandiford <rsandifo@redhat.com>
* doc/invoke.texi (-mlong-calls, -mlinked-fp): Document FRV options.
(-mlibrary-pic): Emphasize that this option generates EABI code.
(-mcpu): Add fr550.
(-mpack): Remove.
2003-11-30 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (int_2word_operand): Reject LABELs, SYMBOL_REFs
and CONSTs in FDPIC mode.
* gcc/config.gcc (with_cpu): Default to fr400 on frv-*-*linux*.
2003-11-29 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv.c (move_source_operand): Don't accept symbolic
constants.
* config/frv/frv.md (*movhi_internal, *movsi_internal): Use an 'n'
rather than 'i' constraint for the 2-instruction alternative.
(*movsi_2word): New, incorporating existing int_2word_operand splitter.
2003-11-29 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Q): Renamed from
EXTRA_CONSTRAINT_FOR_Y.
(EXTRA_CONSTRAINT): Remove handling of 'Y'.
* config/frv/frv.md (*movsi_internal): Remove 'Q' constraint.
(addsi3): Change 'Y' constraint to 'Q'.
2003-11-27 Richard Sandiford <rsandifo@redhat.com>
* reload.c (CONST_POOL_OK_P): New macro.
(find_reloads): Use it to decide whether a constant can be forced
into memory.
* config/frv/frv.h (LEGITIMATE_PIC_OPERAND_P): Return true if the
constant satisfies got12_operand.
(frv_cannot_force_const_mem): Always return true for TARGET_FDPIC.
(frv_legitimate_address_p): Check for valid unspec offsets using
got12_operand rather than frv_legitimate_fdpic_operand_p.
(frv_legitimate_fdpic_operand_p): Delete.
(frv_emit_movsi): Abort if we try to use the FDPIC register during
or after reload.
(frv_legitimate_constant_p): Return LEGITIMATE_PIC_OPERAND_P if
TARGET_FDPIC.
* config/frv/frv.md (*movdf_double): Add alternatives for CONST_DOUBLE.
2003-11-19 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv-protos.h (fdpic_operand, fdpic_got12_operand)
(frv_fdpic_fptr_operand): Don't declare here.
* config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Y): Call got12_operand
rather than fdpic_got12_operand.
(PREDICATE_CODES): Remove symbolic_operand entry. Add entries for
got12_operand and const_unspec_operand.
* config/frv/frv.c (got12_operand): Renamed from fdpic_got12_operand.
(gpr_or_int12_operand, dbl_memory_one_insn_operand): Update calls.
(symbolic_operand): Remove.
(const_unspec_operand): New predicate.
* config/frv/frv.md (*movsi_got): Use got12_operand.
(*movsi_high_got, *movsi_lo_sum_got): Use const_unspec_operand.
2003-11-18 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv-protos.h (frv_output_addr_const_extra): Remove.
* config/frv/frv.h (OUTPUT_ADDR_CONST_EXTRA): Remove definition.
* config/frv/frv.c (frv_unspec): New structure.
(frv_small_data_reloc_p, frv_const_unspec_p): New functions.
(frv_print_operand_memory_reference): Use frv_const_unspec_p to
validate CONST indices. Use frv_output_const_unspec to print them.
(frv_print_operand): Update call to unspec_got_name. Use
frv_output_const_unspec to print constant unspecs.
(frv_legitimate_fdpic_operand_p): Return true if frv_const_unspec_p.
Reject UNSPECs otherwise.
(unspec_got_name): Take the relocation number as argument, not an
rtx containing it.
(frv_output_addr_const_extra): Remove, replacing with...
(frv_output_const_unspec): ...this new function.
(frv_find_base_term): Use frv_const_unspec_p & frv_small_data_reloc_p.
(gpr_or_int12_operand): Use fdpic_got12_operand.
(dbl_memory_one_insn_operand): Likewise.
(fdpic_got12_operand): Use frv_const_unspec_p.
(frv_emit_movsi): Use frv_const_unspec_p to check for CONSTs that
are already legitimate. Use frv_small_data_reloc_p when deciding
whether to use HIGH/LO_SUM for R_FRV_GOTOFF12 and R_FRV_GPREL12.
2003-11-18 Alexandre Oliva <aoliva@redhat.com>
* config/frv/t-linux (SHLIB_MAPFILES): Override so as to export...
* config/frv/libgcc-frv.ver: ... frv-specific symbols. New file.
* config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
label, for real this time.
* config/frv/frv.c (frv_local_funcdesc_p): Update to new
representation of visibility.
(fdpic_got12_operand, symbolic_operand): Mark unused arguments as
such.
2003-11-17 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv.h (MASK_LINKED_FP, TARGET_LINKED_FP): New macros.
(TARGET_SWITCHES): Add -mlinked-fp and -mno-linked-fp.
* config/frv/frv.c (frv_override_options): Set MASK_LINKED_FP unless
it was explicitly disabled.
(frv_stack_info): There is no need to save the link register in every
frame unless TARGET_LINKED_FP is true.
(frv_frame_pointer_required): If !TARGET_LINKED_FP, only require a
frame pointer if the stack pointer might change value.
(frv_return_addr_rtx): Check and process "count" argument.
2003-11-14 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv-protos.h (frv_legitimize_address): Remove.
(frv_find_base_term): Declare.
* config/frv/frv.h (LEGITIMIZE_ADDRESS): Do nothing.
(FIND_BASE_TERM): Define.
(PREDICATE_CODES): Remove pic_register_operand, pic_symbolic_operand,
small_data_register_operand, small_data_symbolic_operand. Add
symbolic_operand.
* config/frv/frv.c (const_small_data_p, plus_small_data_p): Delete.
(frv_print_operand_memory_reference, output_move_single): Remove
special handling for unlegitimized sdata addresses.
(frv_legitimate_address_p): Don't allow sums of SDA_BASE_REG
and symbolic addresses.
(frv_legitimize_address, frv_legitimize_fdpic_address): Delete.
(frv_find_base_term): New function.
(int_2word_operand): Check specifically for symbolic address constants.
(pic_register_operand, pic_symbolic_operand): Delete.
(small_data_register_operand, small_data_symbolic_operand): Delete.
(dbl_memory_one_insn_operand): Don't call plus_small_data_p.
Allow UNSPEC_GOT constants if !TARGET_FDPIC.
(move_source_operand): Only accept CONSTs if they're a two-insn
symbolic constant.
(fdpic_got12_operand): Don't require TARGET_FDPIC.
(frv_emit_movsi): Legitimize sdata and -mlibrary-pic addresses
using gen_symGOTOFF2reg*.
(frv_ifcvt_rewrite_mem): Remove (plus gr16 ...) special cases.
(frv_rtx_costs): Give all MEM addresses a cost of 0. Give MEMs
themselves a cost of 3 insns.
* config/mips/mips.md (*movsi_got): Allow for !TARGET_FDPIC too.
Change predicate to symbolic_operand.
(*movsi_high_got, *movsi_lo_sum_got): Likewise.
(*movsi_lda_sdata): Delete.
(*movsi_pic, movsi_high_pic, movsi_lo_sum_pic): Delete.
2003-11-05 Alexandre Oliva <aoliva@redhat.com>
* config.gcc: Add t-slibgcc-elf-ver and support --with-cpu for
frv-*-*linux*.
* config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
label.
* config/frv/frv.h (DRIVER_SELF_SPECS): Add blank before
-multilib-library-pic.
(LINK_SPEC): Add -z text for -mfdpic.
* config/frv/frvbegin.c (__ROFIXUP_LIST__): Don't define on FDPIC.
* config/frv/frvend.c (__ROFIXUP_END__): Likewise.
* config/frv/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC):
Override.
(OPTION_DEFAULT_SPECS, HAS_INIT_SECTION, INIT_SECTION_ASM_OP,
FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION): Define.
* config/frv/t-linux (EXTRA_MULTILIB_PARTS): Use
crtstuff-generated files.
2003-10-31 Alexandre Oliva <aoliva@redhat.com>
* config.gcc: Add frv-*-*linux*.
* config/frv/linux.h, config/frv/t-linux: New.
2003-10-06 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.h (LINK_SPEC): Pass -melf32frvfd to the linker
when -mfdpic even if a linker script is explicitly listed.
2003-10-02 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_override_options): Clear asm_out
unaligned_op for SImode on FDPIC.
(frv_emit_movsi): Use compute_reloc_for_constant to compute the
argument passed to decl_readonly_section.
(frv_assemble_integer): Revert 2003-09-30's change, but make the
whole block run with FDPIC even with -fno-PIC.
2003-10-02 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_cannot_force_const_mem): Don't force
symbol or label plus offset to memory.
(frv_emit_movsi): Emit GPREL only if -mgprel-ro. Emit 32-bit
GOTOFF and GPREL for LABEL_REF.
* config/frv/frv.h (DRIVER_SELF_SPECS): Add -mgprel-ro with
-mfdpic unless -mno-gprel-ro, -fpic or -fpie.
(MASK_GPREL_RO, TARGET_GPREL_RO): New.
(TARGET_SWITCHES): Added gprel-ro and no-gprel-ro.
* doc/invoke.texi: Document them.
2003-09-30 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv-protos.h (frv_gen_GPsym2reg): Declare.
(frv_splittable_got_operand): Removed.
* config/frv/frv.c (frv_cannot_force_const_mem): Reject HIGH and
LO_SUM. Add comments.
(frv_override_options): Moved enabling of FDPIC to
DRIVER_SELF_SPECS. Don't enable MASK_DWORD.
(frv_local_funcdesc_p): Remove unnecessary heck for flag_pie.
(frv_legitimize_fdpic_address): Don't duplicate logic in
frv_emit_movsi.
(frv_gen_GPsym2reg): New.
(unspec_got_name): Added gprel.
(frv_expand_fdpic_call): Add support for inlining PLTs.
(fdpic_fptr_operand): Renamed from frv_fdpic_fptr_operand.
(gpr_or_int12_operand): Added GPREL12.
(pic_symbolic_operand): Match even if !flag_pic for FDPIC.
(small_data_symbolic_operand): Fail if FDPIC.
(fdpic_splittable_got_operand): Removed.
(fdpic_got12_operand): Added GPREL12.
(frv_emit_movsi): Reorganize to avoid duplication. Emit GPREL
when appropriate. Fix sdata GOTOFF.
(frv_legitimate_constant_p): Require legitimate PIC operand for
FDPIC with pic, but only a legitimate fdpic operand for non-pic.
(frv_assemble_integer): Move FDPIC funcdesc handling out of
flag_pic case.
(frv_asm_out_constructor, frv_asm_out_destructor): Abort if
frv_assemble_integer fails.
* config/frv/frv.h (DRIVER_SELF_SPECS): New.
(SUBTARGET_DRIVER_SELF_SPECS): New.
(ASM_SPEC): Don't pass -mno-fdpic.
(LINK_SPEC): Pass -melf32frvfd for FDPIC.
(MASK_INLINE_PLT, TARGET_INLINE_PLT): New.
(TARGET_SWITCHES): Add -minline-plt, -mno-inline-plt and
-multilib-library-pic.
(PREDICATE_CODES): Added fdpic_operand, fdpic_fptr_operand,
condexec_si_media_operator, condexec_sf_add_operator and
condexec_sf_conv_operator. Removed condexec_sf_binary_operator
and condexec_sf_unary_operator.
* config/frv/frv.md (R_FRV_GPREL12, R_FRV_GPRELHI, R_FRV_GPRELLO):
New.
(movsi_got, movsi_high_got, movsi_lo_sum_got): Move before
movsi_internal. Give them internal names. movsi_got has type
int.
(fdpic got splitters): Remove.
(symGPREL2reg, symGPREL2reg_hilo): New.
* config/frv/t-frv (MULTILIB_MATCHES): Don't map -fpic and -fPIC
to -mlibrary-pic. Map -multilib-library-pic to it.
* doc/invoke.texi: -mfdpic, -minline-plt, -multilib-library-pic:
Document.
2003-09-28 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_function_symbol_referenced_p): Declare.
(TARGET_CANNOT_FORCE_CONST_MEM): Define to...
(frv_cannot_force_const_mem): New function.
(const_small_data_p, plus_small_data_p): Update comments on sdata
on FDPIC.
(frv_override_options): Set flag_pie for FDPIC too.
(frv_conditional_register_usage): Mark gr16 and gr17 as non-fixed,
call-saved registers on FDPIC.
(frv_stack_info): Don't preserve the PIC register on FDPIC, and
don't force LR to be preserved.
(frv_expand_prologue): Likewise.
(frv_asm_output_mi_thunk): Use 12-bit funcdesc gotoff for -fpic.
(frv_frame_pointer_required): Don't force it just because the
FDPIC register is used.
(frv_legitimate_address_p) <CONST>: Accept a legitimate FDPIC
operand only if !condexec_p.
(frv_legitimize_address): Return the FDPIC-legitimized address.
Don't match small data here on FDPIC.
(frv_legitimate_fdpic_operand_p): Don't accept unadorned function
symbols. Use TRUE/FALSE instead of 1/0.
(frv_local_funcdesc_p): New.
(frv_legitimize_fdpic_address): Rewrite to use GOTOFF and 12-bit
immediates when possible.
(pic_symbolic_operand): Accept SYMBOL_REFs and CONSTs in FDPIC.
(dbl_memory_one_insn_operand): Accept addresses that add a REG and
an UNSPEC_GOT.
(frv_emit_movsi): Handle FDPIC before small data. Use GOTOFF and
12-bit immediates when possible.
(frv_legitimate_constant_p): In FDPIC, reject SImode operands that
are not legitimate pic operands.
(frv_in_small_data_p): Re-enable for FDPIC.
* config/frv/frv.h (SDA_BASE_REG): Remove comment about FDPIC.
(FRV_GLOBAL_P): Removed.
* config/frv/frv.md: Add modes to CONSTs.
(movsi_got): New.
(movsi_lo_sum_got): Use separate matches instead of match_dup.
(movsi_high_pic, movsi_lo_sum_pic): Match on non-FDPIC only.
(fdpic splittable operations): Match on flag_pic != 1.
2003-09-22 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_asm_out_constructor,
frv_asm_out_destructor): Pass to frv_assemble_integer the size in
bytes, not bits.
2003-09-19 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_assemble_integer): Reject complex
expressions referencing function SYMBOL_REFs.
* config/frv/frv.c (frv_function_symbol_referenced_p): New.
(move_source_operand): Reject CONSTs that reference function
SYMBOL_REFs on FDPIC.
(frv_emit_movsi): If we get such a CONST, break it up.
* config/frv/frv.h (CPP_SPEC): Define __FRV_FDPIC__ for -mfdpic.
(TRANSFER_FROM_TRAMPOLINE): Use different definitions for FDPIC.
* config/frv/frv.c (frv_print_operand) <I>: Recognize PLUS without
MEM.
(frv_assemble_integer): Don't use funcdesc for LABEL_REFs.
(frv_trampoline_size): Increase for FDPIC.
* config/frv/frv.h (TRAMPOLINE_ALIGNMENT): Bump to 64 for FDPIC.
(TRANSFER_FROM_TRAMPOLINE): Handle FDPIC trampolines.
* config/frv/frv.c (frv_legitimize_fdpic_address, frv_emit_movsi):
Disable use of GOTOFF for now.
(const_small_data_p, plus_small_data_p, frv_in_small_data_p):
Disable use of small data in FDPIC for now.
(frv_asm_output_mi_thunk): Implement for FDPIC.
* config/frv/frv.h (SDA_BASE_REG): Set to -1 with FDPIC.
* config/frv/frv.c (frv_asm_out_constructor): Use
frv_assemble_integer for FDPIC pointers.
(frv_asm_out_destructor): Likewise.
* config/frv/frv.md (ldd): Fix order of operands. Use
address_operand for input.
2003-09-18 DJ Delorie <dj@redhat.com>
* config/frv/frv.c (frv_legitimate_fdpic_operand_p): Remove UNSPEC_PIC.
(unspec_got_name): Correct typo.
(frv_emit_movsi): Pre-expand splittable GOTs.
(frv_expand_fdpic_call): Rename gen_lddi to gen_ldd.
* config/frv/frv.md (lddi): Fix syntax error, rename to ldd.
(symGOT2reg_hilo, symGOTOFF2reg_hilo): New.
* config/frv/t-frv: Add -mfdpic multilibs.
* config/frv/frv.h (ASM_SPEC): Pass -mfdpic/-mno-fdpic.
(TARGET_SWITCHES): Add -mno-fdpic, fix documentation.
* config/frv/frv.c (frv_override_options): -mfdpic assumes
flag_pic, default to 32-bit pics, require DWORD ops.
(frv_override_options): Add W and Z constraints.
(frv_expand_prologue): No pic prologue for -mfdpic.
(frv_asm_output_mi_thunk): Support -mfdpic (soon).
(frv_print_operand_memory_reference): Handle GOT constants.
(frv_legitimate_address_p): Allow GOT constants.
(frv_legitimize_address): Handle GOT addresses too.
(frv_legitimate_fdpic_operand_p): New.
(frv_legitimize_fdpic_address): New.
(unspec_got_name): New.
(frv_output_addr_const_extra): New.
(frv_expand_fdpic_call): New.
(frv_fdpic_fptr_operand): New.
(gpr_or_int12_operand): Handle GOT operands.
(int_2word_operand): Handle GOT operands.
(fdpic_operand): New.
(fdpic_splittable_got_operand): New.
(fdpic_got12_operand): New.
(frv_emit_movsi): Handle GOT operands.
(frv_assemble_integer): -mfdpic doesn't use rofixups.
(frv_print_operand): Support 'g' code for GOT operands.
* config/frv/frv-protos.h: Add prototypes as needed.
* config/frv/frv.md (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO,
R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI,
R_FRV_FUNCDESC_GOTLO, R_FRV_FUNCDESC_VALUE,
R_FRV_FUNCDESC_GOTOFF12, R_FRV_FUNCDESC_GOTOFFHI,
R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12, R_FRV_GOTOFFHI,
R_FRV_GOTOFFLO): New.
(movsi_high_got, movsi_lo_sum_got): New.
(*movsi_pic): Don't use this splitter for -mfdpic.
(addsi3): Allow GOT references also.
(call, call_value): Handle -mfdpic separately.
(call_fdpicdi, call_fdpicsi, lddi, call_value_fdpicdi,
call_value_fdpicsi): New.
(symGOT2reg, symGOT2reg_i, got splitters, symGOTOFF2reg,
symGOTOFF2reg_i): New.
* config/frv/frv.h (MASK_FDPIC): New.
(TARGET_FDPIC): New.
(TARGET_SWITCHES): Add -mfdpic.
(FDPIC_FPTR_REGNO): New.
(FDPIC_REGNO): New.
(OUR_FDPIC_REG): New.
(enum reg_class): Add FDPIC_REGS, FDPIC_FPTR_REGS, and
FDPIC_CALL_REGS.
(REG_CLASS_NAMES): Likewise.
(REG_CLASS_CONTENTS): Likewise.
(EXTRA_CONSTRAINT_FOR_Y): New, for 12-bit GOTs.
(EXTRA_CONSTRAINT): Add it here.
(FRV_GLOBAL_P): New.
(OUTPUT_ADDR_CONST_EXTRA): New.
From-SVN: r78373
2004-02-24 17:58:39 +01:00
|
|
|
;;
|
2005-04-24 08:41:51 +02:00
|
|
|
h8300-*-rtemscoff*)
|
2004-11-23 08:49:52 +01:00
|
|
|
tmake_file="h8300/t-h8300 t-rtems h8300/t-rtems"
|
Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* config.gcc (*-*-openbsd): Don't set tm_file.
(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
xscale-*-coff): Use explicit and complete lists of target headers
to include. Move definitions to tm_defines where appropriate.
(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
not-yet-contributed configuration.
* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
* config/i386/nto.h, config/iq2000/iq2000.h,
* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
* config/m68k/linux.h, config/m68k/m68k-aout.h
* config/m68k/m68k-none.h, config/m68k/m68kv4.h
* config/m68k/netbsd.h, config/m68k/openbsd.h
* config/m68k/sgs.h, config/mcore/mcore-pe.h,
* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
Remove includes of other target config headers, and
definitions of macros moved to tm_defines lists. Add #undefs
where now necessary to prevent redefinition warnings.
* config/h8300/coff.h: New file split out of...
* config/h8300/elf.h: ...here.
* config/m68k/hp320base.h: New file split out of...
* config/m68k/hp320.h: ...here.
* config/rs6000/lynxbase.h: New file split out of...
* config/rs6000/lynx.h: ...here.
* config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
* config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
* config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
* config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
* config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
Remove unnecessary #ifndef.
* config/s390/s390.h: Prefix #include of s390/fixdfdi.h
[under IN_LIBGCC2] with config/.
From-SVN: r70651
2003-08-21 19:27:29 +02:00
|
|
|
tm_file="h8300/h8300.h dbxcoff.h h8300/coff.h h8300/rtems.h rtems.h"
|
config.gcc (a29k*-*-rtems*, [...]): New targets.
* config.gcc (a29k*-*-rtems*, arm*-*-rtems*, c4x-*-rtems*,
h8300-*-rtems*, hppa1.1-*-rtems, *mips*-*-rtems*): New targets.
* config.gcc (*-rtems*): Add support for gthr-rtems.h.
* gthr-rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
config/h8300/rtems.h, config/mips/rtems.h: New files.
From-SVN: r38094
2000-12-07 03:42:02 +01:00
|
|
|
;;
|
2005-04-24 08:41:51 +02:00
|
|
|
h8300-*-rtems*)
|
|
|
|
tmake_file="h8300/t-h8300 h8300/t-elf t-rtems h8300/t-rtems"
|
|
|
|
tm_file="h8300/h8300.h dbxelf.h elfos.h h8300/elf.h h8300/rtems.h rtems.h"
|
|
|
|
;;
|
2001-08-30 20:22:55 +02:00
|
|
|
h8300-*-elf*)
|
|
|
|
tmake_file="h8300/t-h8300 h8300/t-elf"
|
Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* config.gcc (*-*-openbsd): Don't set tm_file.
(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
xscale-*-coff): Use explicit and complete lists of target headers
to include. Move definitions to tm_defines where appropriate.
(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
not-yet-contributed configuration.
* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
* config/i386/nto.h, config/iq2000/iq2000.h,
* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
* config/m68k/linux.h, config/m68k/m68k-aout.h
* config/m68k/m68k-none.h, config/m68k/m68kv4.h
* config/m68k/netbsd.h, config/m68k/openbsd.h
* config/m68k/sgs.h, config/mcore/mcore-pe.h,
* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
Remove includes of other target config headers, and
definitions of macros moved to tm_defines lists. Add #undefs
where now necessary to prevent redefinition warnings.
* config/h8300/coff.h: New file split out of...
* config/h8300/elf.h: ...here.
* config/m68k/hp320base.h: New file split out of...
* config/m68k/hp320.h: ...here.
* config/rs6000/lynxbase.h: New file split out of...
* config/rs6000/lynx.h: ...here.
* config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
* config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
* config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
* config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
* config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
Remove unnecessary #ifndef.
* config/s390/s390.h: Prefix #include of s390/fixdfdi.h
[under IN_LIBGCC2] with config/.
From-SVN: r70651
2003-08-21 19:27:29 +02:00
|
|
|
tm_file="h8300/h8300.h dbxelf.h elfos.h h8300/elf.h"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2001-08-30 20:22:55 +02:00
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
h8300-*-*)
|
Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* config.gcc (*-*-openbsd): Don't set tm_file.
(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
xscale-*-coff): Use explicit and complete lists of target headers
to include. Move definitions to tm_defines where appropriate.
(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
not-yet-contributed configuration.
* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
* config/i386/nto.h, config/iq2000/iq2000.h,
* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
* config/m68k/linux.h, config/m68k/m68k-aout.h
* config/m68k/m68k-none.h, config/m68k/m68kv4.h
* config/m68k/netbsd.h, config/m68k/openbsd.h
* config/m68k/sgs.h, config/mcore/mcore-pe.h,
* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
Remove includes of other target config headers, and
definitions of macros moved to tm_defines lists. Add #undefs
where now necessary to prevent redefinition warnings.
* config/h8300/coff.h: New file split out of...
* config/h8300/elf.h: ...here.
* config/m68k/hp320base.h: New file split out of...
* config/m68k/hp320.h: ...here.
* config/rs6000/lynxbase.h: New file split out of...
* config/rs6000/lynx.h: ...here.
* config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
* config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
* config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
* config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
* config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
Remove unnecessary #ifndef.
* config/s390/s390.h: Prefix #include of s390/fixdfdi.h
[under IN_LIBGCC2] with config/.
From-SVN: r70651
2003-08-21 19:27:29 +02:00
|
|
|
tm_file="h8300/h8300.h dbxcoff.h h8300/coff.h"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2001-04-13 07:27:47 +02:00
|
|
|
hppa*64*-*-linux* | parisc*64*-*-linux*)
|
2004-08-25 19:49:58 +02:00
|
|
|
target_cpu_default="MASK_PA_11|MASK_PA_20"
|
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 02:14:48 +01:00
|
|
|
tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h svr4.h linux.h \
|
|
|
|
pa/pa-linux.h pa/pa64-regs.h pa/pa-64.h pa/pa64-linux.h"
|
2004-03-01 16:12:57 +01:00
|
|
|
tmake_file="${tmake_file} pa/t-linux64"
|
2001-04-13 07:27:47 +02:00
|
|
|
gas=yes gnu_ld=yes
|
2002-12-16 19:23:00 +01:00
|
|
|
need_64bit_hwint=yes
|
2001-04-13 07:27:47 +02:00
|
|
|
;;
|
|
|
|
hppa*-*-linux* | parisc*-*-linux*)
|
2004-08-25 19:49:58 +02:00
|
|
|
target_cpu_default="MASK_PA_11|MASK_NO_SPACE_REGS"
|
2001-12-06 18:34:55 +01:00
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h pa/pa-linux.h \
|
2001-04-13 07:27:47 +02:00
|
|
|
pa/pa32-regs.h pa/pa32-linux.h"
|
2004-03-01 16:12:57 +01:00
|
|
|
tmake_file="${tmake_file} pa/t-linux"
|
2006-01-18 16:44:57 +01:00
|
|
|
# Set the libgcc version number
|
|
|
|
if test x$sjlj = x1; then
|
|
|
|
tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
|
|
|
|
else
|
|
|
|
tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
|
2004-02-16 22:39:23 +01:00
|
|
|
fi
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* config.gcc (*-*-openbsd): Don't set tm_file.
(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
xscale-*-coff): Use explicit and complete lists of target headers
to include. Move definitions to tm_defines where appropriate.
(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
not-yet-contributed configuration.
* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
* config/i386/nto.h, config/iq2000/iq2000.h,
* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
* config/m68k/linux.h, config/m68k/m68k-aout.h
* config/m68k/m68k-none.h, config/m68k/m68kv4.h
* config/m68k/netbsd.h, config/m68k/openbsd.h
* config/m68k/sgs.h, config/mcore/mcore-pe.h,
* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
Remove includes of other target config headers, and
definitions of macros moved to tm_defines lists. Add #undefs
where now necessary to prevent redefinition warnings.
* config/h8300/coff.h: New file split out of...
* config/h8300/elf.h: ...here.
* config/m68k/hp320base.h: New file split out of...
* config/m68k/hp320.h: ...here.
* config/rs6000/lynxbase.h: New file split out of...
* config/rs6000/lynx.h: ...here.
* config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
* config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
* config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
* config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
* config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
Remove unnecessary #ifndef.
* config/s390/s390.h: Prefix #include of s390/fixdfdi.h
[under IN_LIBGCC2] with config/.
From-SVN: r70651
2003-08-21 19:27:29 +02:00
|
|
|
# port not yet contributed.
|
|
|
|
#hppa*-*-openbsd*)
|
2004-08-25 19:49:58 +02:00
|
|
|
# target_cpu_default="MASK_PA_11"
|
Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* config.gcc (*-*-openbsd): Don't set tm_file.
(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
xscale-*-coff): Use explicit and complete lists of target headers
to include. Move definitions to tm_defines where appropriate.
(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
not-yet-contributed configuration.
* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
* config/i386/nto.h, config/iq2000/iq2000.h,
* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
* config/m68k/linux.h, config/m68k/m68k-aout.h
* config/m68k/m68k-none.h, config/m68k/m68kv4.h
* config/m68k/netbsd.h, config/m68k/openbsd.h
* config/m68k/sgs.h, config/mcore/mcore-pe.h,
* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
Remove includes of other target config headers, and
definitions of macros moved to tm_defines lists. Add #undefs
where now necessary to prevent redefinition warnings.
* config/h8300/coff.h: New file split out of...
* config/h8300/elf.h: ...here.
* config/m68k/hp320base.h: New file split out of...
* config/m68k/hp320.h: ...here.
* config/rs6000/lynxbase.h: New file split out of...
* config/rs6000/lynx.h: ...here.
* config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
* config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
* config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
* config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
* config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
Remove unnecessary #ifndef.
* config/s390/s390.h: Prefix #include of s390/fixdfdi.h
[under IN_LIBGCC2] with config/.
From-SVN: r70651
2003-08-21 19:27:29 +02:00
|
|
|
# ;;
|
2000-11-17 11:42:45 +01:00
|
|
|
hppa1.1-*-pro*)
|
2004-08-25 19:49:58 +02:00
|
|
|
target_cpu_default="MASK_PORTABLE_RUNTIME|MASK_NO_SPACE_REGS|MASK_SOFT_FLOAT"
|
|
|
|
tm_file="${tm_file} pa/pa32-regs.h dbxelf.h elfos.h pa/elf.h \
|
|
|
|
pa/pa-pro-end.h libgloss.h"
|
config.gcc: Do per-target disabling of fixproto here in clauses, not in t- fragments.
* config.gcc: Do per-target disabling of fixproto here in clauses,
not in t- fragments.
* configure.in: Adjust to set STMP_FIXPROTO correctly.
* configure: Regenerate.
* config/arm/t-semi, config/cris/t-cris, config/i386/t-beos,
config/i386/t-cygming, config/i386/t-nto, config/ia64/t-hpux,
t-freebsd, t-linux, t-netbsd, t-openbsd, t-rtems, t-vxworks,
xtensa/t-xtensa: Remove setting of STMP_FIXPROTO.
* config/i370/t-oe, config/i386/t-netware, config/pa/t-bsd,
t-interix, t-linux-aout: Delete files consisting only of
setting of STMP_FIXPROTO.
From-SVN: r71687
2003-09-23 20:56:00 +02:00
|
|
|
tmake_file="pa/t-pro"
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
|
|
|
hppa1.1-*-osf*)
|
2004-08-25 19:49:58 +02:00
|
|
|
target_cpu_default="MASK_PA_11"
|
Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* config.gcc (*-*-openbsd): Don't set tm_file.
(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
xscale-*-coff): Use explicit and complete lists of target headers
to include. Move definitions to tm_defines where appropriate.
(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
not-yet-contributed configuration.
* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
* config/i386/nto.h, config/iq2000/iq2000.h,
* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
* config/m68k/linux.h, config/m68k/m68k-aout.h
* config/m68k/m68k-none.h, config/m68k/m68kv4.h
* config/m68k/netbsd.h, config/m68k/openbsd.h
* config/m68k/sgs.h, config/mcore/mcore-pe.h,
* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
Remove includes of other target config headers, and
definitions of macros moved to tm_defines lists. Add #undefs
where now necessary to prevent redefinition warnings.
* config/h8300/coff.h: New file split out of...
* config/h8300/elf.h: ...here.
* config/m68k/hp320base.h: New file split out of...
* config/m68k/hp320.h: ...here.
* config/rs6000/lynxbase.h: New file split out of...
* config/rs6000/lynx.h: ...here.
* config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
* config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
* config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
* config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
* config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
Remove unnecessary #ifndef.
* config/s390/s390.h: Prefix #include of s390/fixdfdi.h
[under IN_LIBGCC2] with config/.
From-SVN: r70651
2003-08-21 19:27:29 +02:00
|
|
|
tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h pa/pa-osf.h"
|
config.gcc: Do per-target disabling of fixproto here in clauses, not in t- fragments.
* config.gcc: Do per-target disabling of fixproto here in clauses,
not in t- fragments.
* configure.in: Adjust to set STMP_FIXPROTO correctly.
* configure: Regenerate.
* config/arm/t-semi, config/cris/t-cris, config/i386/t-beos,
config/i386/t-cygming, config/i386/t-nto, config/ia64/t-hpux,
t-freebsd, t-linux, t-netbsd, t-openbsd, t-rtems, t-vxworks,
xtensa/t-xtensa: Remove setting of STMP_FIXPROTO.
* config/i370/t-oe, config/i386/t-netware, config/pa/t-bsd,
t-interix, t-linux-aout: Delete files consisting only of
setting of STMP_FIXPROTO.
From-SVN: r71687
2003-09-23 20:56:00 +02:00
|
|
|
tmake_file="pa/t-pa"
|
2000-11-17 11:42:45 +01:00
|
|
|
use_collect2=yes
|
|
|
|
;;
|
|
|
|
hppa1.1-*-bsd*)
|
2004-08-25 19:49:58 +02:00
|
|
|
target_cpu_default="MASK_PA_11"
|
Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* config.gcc (*-*-openbsd): Don't set tm_file.
(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
xscale-*-coff): Use explicit and complete lists of target headers
to include. Move definitions to tm_defines where appropriate.
(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
not-yet-contributed configuration.
* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
* config/i386/nto.h, config/iq2000/iq2000.h,
* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
* config/m68k/linux.h, config/m68k/m68k-aout.h
* config/m68k/m68k-none.h, config/m68k/m68kv4.h
* config/m68k/netbsd.h, config/m68k/openbsd.h
* config/m68k/sgs.h, config/mcore/mcore-pe.h,
* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
Remove includes of other target config headers, and
definitions of macros moved to tm_defines lists. Add #undefs
where now necessary to prevent redefinition warnings.
* config/h8300/coff.h: New file split out of...
* config/h8300/elf.h: ...here.
* config/m68k/hp320base.h: New file split out of...
* config/m68k/hp320.h: ...here.
* config/rs6000/lynxbase.h: New file split out of...
* config/rs6000/lynx.h: ...here.
* config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
* config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
* config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
* config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
* config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
Remove unnecessary #ifndef.
* config/s390/s390.h: Prefix #include of s390/fixdfdi.h
[under IN_LIBGCC2] with config/.
From-SVN: r70651
2003-08-21 19:27:29 +02:00
|
|
|
tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h"
|
config.gcc: Do per-target disabling of fixproto here in clauses, not in t- fragments.
* config.gcc: Do per-target disabling of fixproto here in clauses,
not in t- fragments.
* configure.in: Adjust to set STMP_FIXPROTO correctly.
* configure: Regenerate.
* config/arm/t-semi, config/cris/t-cris, config/i386/t-beos,
config/i386/t-cygming, config/i386/t-nto, config/ia64/t-hpux,
t-freebsd, t-linux, t-netbsd, t-openbsd, t-rtems, t-vxworks,
xtensa/t-xtensa: Remove setting of STMP_FIXPROTO.
* config/i370/t-oe, config/i386/t-netware, config/pa/t-bsd,
t-interix, t-linux-aout: Delete files consisting only of
setting of STMP_FIXPROTO.
From-SVN: r71687
2003-09-23 20:56:00 +02:00
|
|
|
tmake_file="pa/t-pa"
|
2000-11-17 11:42:45 +01:00
|
|
|
use_collect2=yes
|
|
|
|
;;
|
2004-08-25 19:49:58 +02:00
|
|
|
hppa[12]*-*-hpux10*)
|
|
|
|
case ${target} in
|
|
|
|
hppa1.1-*-* | hppa2*-*-*)
|
|
|
|
target_cpu_default="MASK_PA_11"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
|
|
|
|
pa/pa-hpux.h pa/pa-hpux10.h"
|
config.gcc (hppa[12]*-*-hpux10*): Add pa/pa-hpux.opt to $extra_options.
* config.gcc (hppa[12]*-*-hpux10*): Add pa/pa-hpux.opt to
$extra_options. Also add pa/pa-hpux1010.opt for hpux10.[1-9]*.
(hppa*64*-*-hpux11*): Add pa/pa-hpux1010.h to $tm_file. Add
pa/pa-hpux.opt, pa/pa-hpux1010.opt and pa/pa64-hpux.opt to
$extra_options. Also add pa/pa-hpux1111.opt for hpux11.[1-9]*.
(hppa[12]*-*-hpux11*): Add pa/pa-hpux1010.h to $tm_file. Add
pa/pa-hpux.opt to $extra_options. Also add pa/pa-hpux1111.opt
for hpux11.[1-9]*.
* config/pa/pa.h (architecture_type, rtx_def, pa_arch_string, pa_arch)
(pa_fixed_range_string, pa_cpu_string, pa_unix_string, target_flags)
(MASK_PA_11, MASK_DISABLE_FPREGS, TARGET_DISABLE_FPREGS)
(MASK_NO_SPACE_REGS, TARGET_NO_SPACE_REGS, MASK_JUMP_IN_DELAY)
(TARGET_JUMP_IN_DELAY, MASK_DISABLE_INDEXING, TARGET_DISABLE_INDEXING)
(MASK_PORTABLE_RUNTIME, TARGET_PORTABLE_RUNTIME, MASK_GAS, TARGET_GAS)
(MASK_SOFT_FLOAT, TARGET_SOFT_FLOAT, MASK_LONG_LOAD_STORE)
(TARGET_LONG_LOAD_STORE, MASK_FAST_INDIRECT_CALLS)
(TARGET_FAST_INDIRECT_CALLS, MASK_BIG_SWITCH, TARGET_BIG_SWITCH)
(MASK_PA_20, MASK_SIO, TARGET_SIO, MASK_GNU_LD, TARGET_GNU_LD)
(MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_PA_11, TARGET_PA_20)
(TARGET_SWITCHES, SUBTARGET_SWITCHES, TARGET_OPTIONS)
(SUBTARGET_OPTIONS): Delete.
(TARGET_PA_10): Redefine in terms of TARGET_PA_11 and TARGET_PA_20.
(TARGET_SCHED_DEFAULT): Define to a PROCESSOR_* enum (PROCESSOR_8000)
instead of a string.
* config/pa/pa.c (pa_arch, pa_arch_string, pa_fixed_range_string)
(pa_cpu_string, pa_unix_string): Delete.
(pa_cpu): Initialize to TARGET_SCHED_DEFAULT.
(flag_pa_unix): Initialize based on TARGET_HPUX_11_11 and
TARGET_HPUX_10_10.
(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
(pa_handle_option): New function.
(override_options): Remove handling of -march=, -mfixed-range=,
-mschedule= and -munix=.
* config/pa/pa-hpux.h (SUBTARGET_SWITCHES): Delete.
* config/pa/pa-hpux1010.h (SUBTARGET_OPTIONS): Delete.
* config/pa/pa-hpux10.h (SUBTARGET_OPTIONS): Delete.
* config/pa/pa-hpux1111.h (SUBTARGET_OPTIONS): Delete.
* config/pa/pa-hpux11.h (SUBTARGET_OPTIONS): Delete.
* config/pa/pa64-hpux.h (SUBTARGET_SWITCHES): Delete.
* config/pa/pa64-start.h (TARGET_PA_11, TARGET_PA_20): #undef before
redefining.
* config/pa/pa.opt: New file.
* config/pa/pa-hpux.opt: New file.
* config/pa/pa-hpux1010.opt: New file.
* config/pa/pa-hpux1111.opt: New file.
* config/pa/pa64-hpux.opt: New file.
From-SVN: r98605
2005-04-23 09:02:19 +02:00
|
|
|
extra_options="${extra_options} pa/pa-hpux.opt"
|
2004-08-25 19:49:58 +02:00
|
|
|
case ${target} in
|
|
|
|
*-*-hpux10.[1-9]*)
|
|
|
|
tm_file="${tm_file} pa/pa-hpux1010.h"
|
config.gcc (hppa[12]*-*-hpux10*): Add pa/pa-hpux.opt to $extra_options.
* config.gcc (hppa[12]*-*-hpux10*): Add pa/pa-hpux.opt to
$extra_options. Also add pa/pa-hpux1010.opt for hpux10.[1-9]*.
(hppa*64*-*-hpux11*): Add pa/pa-hpux1010.h to $tm_file. Add
pa/pa-hpux.opt, pa/pa-hpux1010.opt and pa/pa64-hpux.opt to
$extra_options. Also add pa/pa-hpux1111.opt for hpux11.[1-9]*.
(hppa[12]*-*-hpux11*): Add pa/pa-hpux1010.h to $tm_file. Add
pa/pa-hpux.opt to $extra_options. Also add pa/pa-hpux1111.opt
for hpux11.[1-9]*.
* config/pa/pa.h (architecture_type, rtx_def, pa_arch_string, pa_arch)
(pa_fixed_range_string, pa_cpu_string, pa_unix_string, target_flags)
(MASK_PA_11, MASK_DISABLE_FPREGS, TARGET_DISABLE_FPREGS)
(MASK_NO_SPACE_REGS, TARGET_NO_SPACE_REGS, MASK_JUMP_IN_DELAY)
(TARGET_JUMP_IN_DELAY, MASK_DISABLE_INDEXING, TARGET_DISABLE_INDEXING)
(MASK_PORTABLE_RUNTIME, TARGET_PORTABLE_RUNTIME, MASK_GAS, TARGET_GAS)
(MASK_SOFT_FLOAT, TARGET_SOFT_FLOAT, MASK_LONG_LOAD_STORE)
(TARGET_LONG_LOAD_STORE, MASK_FAST_INDIRECT_CALLS)
(TARGET_FAST_INDIRECT_CALLS, MASK_BIG_SWITCH, TARGET_BIG_SWITCH)
(MASK_PA_20, MASK_SIO, TARGET_SIO, MASK_GNU_LD, TARGET_GNU_LD)
(MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_PA_11, TARGET_PA_20)
(TARGET_SWITCHES, SUBTARGET_SWITCHES, TARGET_OPTIONS)
(SUBTARGET_OPTIONS): Delete.
(TARGET_PA_10): Redefine in terms of TARGET_PA_11 and TARGET_PA_20.
(TARGET_SCHED_DEFAULT): Define to a PROCESSOR_* enum (PROCESSOR_8000)
instead of a string.
* config/pa/pa.c (pa_arch, pa_arch_string, pa_fixed_range_string)
(pa_cpu_string, pa_unix_string): Delete.
(pa_cpu): Initialize to TARGET_SCHED_DEFAULT.
(flag_pa_unix): Initialize based on TARGET_HPUX_11_11 and
TARGET_HPUX_10_10.
(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
(pa_handle_option): New function.
(override_options): Remove handling of -march=, -mfixed-range=,
-mschedule= and -munix=.
* config/pa/pa-hpux.h (SUBTARGET_SWITCHES): Delete.
* config/pa/pa-hpux1010.h (SUBTARGET_OPTIONS): Delete.
* config/pa/pa-hpux10.h (SUBTARGET_OPTIONS): Delete.
* config/pa/pa-hpux1111.h (SUBTARGET_OPTIONS): Delete.
* config/pa/pa-hpux11.h (SUBTARGET_OPTIONS): Delete.
* config/pa/pa64-hpux.h (SUBTARGET_SWITCHES): Delete.
* config/pa/pa64-start.h (TARGET_PA_11, TARGET_PA_20): #undef before
redefining.
* config/pa/pa.opt: New file.
* config/pa/pa-hpux.opt: New file.
* config/pa/pa-hpux1010.opt: New file.
* config/pa/pa-hpux1111.opt: New file.
* config/pa/pa64-hpux.opt: New file.
From-SVN: r98605
2005-04-23 09:02:19 +02:00
|
|
|
extra_options="${extra_options} pa/pa-hpux1010.opt"
|
2004-08-25 19:49:58 +02:00
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
esac
|
2006-02-05 16:54:49 +01:00
|
|
|
tmake_file="pa/t-pa-hpux10 pa/t-pa-hpux pa/t-hpux-shlib"
|
2004-04-07 03:20:59 +02:00
|
|
|
case ${enable_threads} in
|
|
|
|
"")
|
|
|
|
if test x$have_pthread_h = xyes ; then
|
|
|
|
tmake_file="${tmake_file} pa/t-dce-thr"
|
|
|
|
fi
|
|
|
|
;;
|
|
|
|
yes | dce)
|
|
|
|
tmake_file="${tmake_file} pa/t-dce-thr"
|
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
esac
|
2006-01-18 16:44:57 +01:00
|
|
|
# Set the libgcc version number
|
|
|
|
if test x$sjlj = x1; then
|
|
|
|
tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
|
|
|
|
else
|
|
|
|
tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
|
2005-11-18 04:22:18 +01:00
|
|
|
fi
|
2000-11-17 11:42:45 +01:00
|
|
|
use_collect2=yes
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2006-05-09 22:00:55 +02:00
|
|
|
gas=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
|
|
|
hppa*64*-*-hpux11*)
|
2004-08-25 19:49:58 +02:00
|
|
|
target_cpu_default="MASK_PA_11|MASK_PA_20"
|
2004-02-25 20:45:13 +01:00
|
|
|
if test x$gnu_ld = xyes
|
|
|
|
then
|
2004-08-25 19:49:58 +02:00
|
|
|
target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
|
2004-02-25 20:45:13 +01:00
|
|
|
fi
|
2006-05-09 22:00:55 +02:00
|
|
|
tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h \
|
|
|
|
pa/pa64-regs.h pa/pa-hpux.h pa/pa-hpux1010.h \
|
|
|
|
pa/pa-hpux11.h"
|
2004-08-25 19:49:58 +02:00
|
|
|
case ${target} in
|
2005-03-05 02:47:27 +01:00
|
|
|
*-*-hpux11.[1-9]*)
|
2004-08-25 19:49:58 +02:00
|
|
|
tm_file="${tm_file} pa/pa-hpux1111.h pa/pa-64.h pa/pa64-hpux.h"
|
config.gcc (hppa[12]*-*-hpux10*): Add pa/pa-hpux.opt to $extra_options.
* config.gcc (hppa[12]*-*-hpux10*): Add pa/pa-hpux.opt to
$extra_options. Also add pa/pa-hpux1010.opt for hpux10.[1-9]*.
(hppa*64*-*-hpux11*): Add pa/pa-hpux1010.h to $tm_file. Add
pa/pa-hpux.opt, pa/pa-hpux1010.opt and pa/pa64-hpux.opt to
$extra_options. Also add pa/pa-hpux1111.opt for hpux11.[1-9]*.
(hppa[12]*-*-hpux11*): Add pa/pa-hpux1010.h to $tm_file. Add
pa/pa-hpux.opt to $extra_options. Also add pa/pa-hpux1111.opt
for hpux11.[1-9]*.
* config/pa/pa.h (architecture_type, rtx_def, pa_arch_string, pa_arch)
(pa_fixed_range_string, pa_cpu_string, pa_unix_string, target_flags)
(MASK_PA_11, MASK_DISABLE_FPREGS, TARGET_DISABLE_FPREGS)
(MASK_NO_SPACE_REGS, TARGET_NO_SPACE_REGS, MASK_JUMP_IN_DELAY)
(TARGET_JUMP_IN_DELAY, MASK_DISABLE_INDEXING, TARGET_DISABLE_INDEXING)
(MASK_PORTABLE_RUNTIME, TARGET_PORTABLE_RUNTIME, MASK_GAS, TARGET_GAS)
(MASK_SOFT_FLOAT, TARGET_SOFT_FLOAT, MASK_LONG_LOAD_STORE)
(TARGET_LONG_LOAD_STORE, MASK_FAST_INDIRECT_CALLS)
(TARGET_FAST_INDIRECT_CALLS, MASK_BIG_SWITCH, TARGET_BIG_SWITCH)
(MASK_PA_20, MASK_SIO, TARGET_SIO, MASK_GNU_LD, TARGET_GNU_LD)
(MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_PA_11, TARGET_PA_20)
(TARGET_SWITCHES, SUBTARGET_SWITCHES, TARGET_OPTIONS)
(SUBTARGET_OPTIONS): Delete.
(TARGET_PA_10): Redefine in terms of TARGET_PA_11 and TARGET_PA_20.
(TARGET_SCHED_DEFAULT): Define to a PROCESSOR_* enum (PROCESSOR_8000)
instead of a string.
* config/pa/pa.c (pa_arch, pa_arch_string, pa_fixed_range_string)
(pa_cpu_string, pa_unix_string): Delete.
(pa_cpu): Initialize to TARGET_SCHED_DEFAULT.
(flag_pa_unix): Initialize based on TARGET_HPUX_11_11 and
TARGET_HPUX_10_10.
(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
(pa_handle_option): New function.
(override_options): Remove handling of -march=, -mfixed-range=,
-mschedule= and -munix=.
* config/pa/pa-hpux.h (SUBTARGET_SWITCHES): Delete.
* config/pa/pa-hpux1010.h (SUBTARGET_OPTIONS): Delete.
* config/pa/pa-hpux10.h (SUBTARGET_OPTIONS): Delete.
* config/pa/pa-hpux1111.h (SUBTARGET_OPTIONS): Delete.
* config/pa/pa-hpux11.h (SUBTARGET_OPTIONS): Delete.
* config/pa/pa64-hpux.h (SUBTARGET_SWITCHES): Delete.
* config/pa/pa64-start.h (TARGET_PA_11, TARGET_PA_20): #undef before
redefining.
* config/pa/pa.opt: New file.
* config/pa/pa-hpux.opt: New file.
* config/pa/pa-hpux1010.opt: New file.
* config/pa/pa-hpux1111.opt: New file.
* config/pa/pa64-hpux.opt: New file.
From-SVN: r98605
2005-04-23 09:02:19 +02:00
|
|
|
extra_options="${extra_options} pa/pa-hpux1111.opt"
|
2004-08-25 19:49:58 +02:00
|
|
|
;;
|
|
|
|
*)
|
|
|
|
tm_file="${tm_file} pa/pa-64.h pa/pa64-hpux.h"
|
|
|
|
;;
|
|
|
|
esac
|
config.gcc (hppa[12]*-*-hpux10*): Add pa/pa-hpux.opt to $extra_options.
* config.gcc (hppa[12]*-*-hpux10*): Add pa/pa-hpux.opt to
$extra_options. Also add pa/pa-hpux1010.opt for hpux10.[1-9]*.
(hppa*64*-*-hpux11*): Add pa/pa-hpux1010.h to $tm_file. Add
pa/pa-hpux.opt, pa/pa-hpux1010.opt and pa/pa64-hpux.opt to
$extra_options. Also add pa/pa-hpux1111.opt for hpux11.[1-9]*.
(hppa[12]*-*-hpux11*): Add pa/pa-hpux1010.h to $tm_file. Add
pa/pa-hpux.opt to $extra_options. Also add pa/pa-hpux1111.opt
for hpux11.[1-9]*.
* config/pa/pa.h (architecture_type, rtx_def, pa_arch_string, pa_arch)
(pa_fixed_range_string, pa_cpu_string, pa_unix_string, target_flags)
(MASK_PA_11, MASK_DISABLE_FPREGS, TARGET_DISABLE_FPREGS)
(MASK_NO_SPACE_REGS, TARGET_NO_SPACE_REGS, MASK_JUMP_IN_DELAY)
(TARGET_JUMP_IN_DELAY, MASK_DISABLE_INDEXING, TARGET_DISABLE_INDEXING)
(MASK_PORTABLE_RUNTIME, TARGET_PORTABLE_RUNTIME, MASK_GAS, TARGET_GAS)
(MASK_SOFT_FLOAT, TARGET_SOFT_FLOAT, MASK_LONG_LOAD_STORE)
(TARGET_LONG_LOAD_STORE, MASK_FAST_INDIRECT_CALLS)
(TARGET_FAST_INDIRECT_CALLS, MASK_BIG_SWITCH, TARGET_BIG_SWITCH)
(MASK_PA_20, MASK_SIO, TARGET_SIO, MASK_GNU_LD, TARGET_GNU_LD)
(MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_PA_11, TARGET_PA_20)
(TARGET_SWITCHES, SUBTARGET_SWITCHES, TARGET_OPTIONS)
(SUBTARGET_OPTIONS): Delete.
(TARGET_PA_10): Redefine in terms of TARGET_PA_11 and TARGET_PA_20.
(TARGET_SCHED_DEFAULT): Define to a PROCESSOR_* enum (PROCESSOR_8000)
instead of a string.
* config/pa/pa.c (pa_arch, pa_arch_string, pa_fixed_range_string)
(pa_cpu_string, pa_unix_string): Delete.
(pa_cpu): Initialize to TARGET_SCHED_DEFAULT.
(flag_pa_unix): Initialize based on TARGET_HPUX_11_11 and
TARGET_HPUX_10_10.
(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
(pa_handle_option): New function.
(override_options): Remove handling of -march=, -mfixed-range=,
-mschedule= and -munix=.
* config/pa/pa-hpux.h (SUBTARGET_SWITCHES): Delete.
* config/pa/pa-hpux1010.h (SUBTARGET_OPTIONS): Delete.
* config/pa/pa-hpux10.h (SUBTARGET_OPTIONS): Delete.
* config/pa/pa-hpux1111.h (SUBTARGET_OPTIONS): Delete.
* config/pa/pa-hpux11.h (SUBTARGET_OPTIONS): Delete.
* config/pa/pa64-hpux.h (SUBTARGET_SWITCHES): Delete.
* config/pa/pa64-start.h (TARGET_PA_11, TARGET_PA_20): #undef before
redefining.
* config/pa/pa.opt: New file.
* config/pa/pa-hpux.opt: New file.
* config/pa/pa-hpux1010.opt: New file.
* config/pa/pa-hpux1111.opt: New file.
* config/pa/pa64-hpux.opt: New file.
From-SVN: r98605
2005-04-23 09:02:19 +02:00
|
|
|
extra_options="${extra_options} pa/pa-hpux.opt \
|
|
|
|
pa/pa-hpux1010.opt pa/pa64-hpux.opt"
|
2002-12-16 19:23:00 +01:00
|
|
|
need_64bit_hwint=yes
|
2005-03-11 01:40:03 +01:00
|
|
|
tmake_file="pa/t-pa64 pa/t-pa-hpux pa/t-hpux-shlib"
|
2006-01-18 16:44:57 +01:00
|
|
|
# Set the libgcc version number
|
|
|
|
if test x$sjlj = x1; then
|
|
|
|
tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
|
|
|
|
else
|
|
|
|
tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
|
2005-11-18 04:22:18 +01:00
|
|
|
fi
|
2006-04-09 20:32:16 +02:00
|
|
|
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o \
|
|
|
|
libgcc_stub.a"
|
2003-08-26 08:54:15 +02:00
|
|
|
case x${enable_threads} in
|
|
|
|
xyes | xposix )
|
|
|
|
thread_file=posix
|
|
|
|
;;
|
|
|
|
esac
|
2006-05-09 22:00:55 +02:00
|
|
|
gas=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2004-08-25 19:49:58 +02:00
|
|
|
hppa[12]*-*-hpux11*)
|
|
|
|
case ${target} in
|
|
|
|
hppa1.1-*-* | hppa2*-*-*)
|
|
|
|
target_cpu_default="MASK_PA_11"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h \
|
config.gcc (hppa[12]*-*-hpux10*): Add pa/pa-hpux.opt to $extra_options.
* config.gcc (hppa[12]*-*-hpux10*): Add pa/pa-hpux.opt to
$extra_options. Also add pa/pa-hpux1010.opt for hpux10.[1-9]*.
(hppa*64*-*-hpux11*): Add pa/pa-hpux1010.h to $tm_file. Add
pa/pa-hpux.opt, pa/pa-hpux1010.opt and pa/pa64-hpux.opt to
$extra_options. Also add pa/pa-hpux1111.opt for hpux11.[1-9]*.
(hppa[12]*-*-hpux11*): Add pa/pa-hpux1010.h to $tm_file. Add
pa/pa-hpux.opt to $extra_options. Also add pa/pa-hpux1111.opt
for hpux11.[1-9]*.
* config/pa/pa.h (architecture_type, rtx_def, pa_arch_string, pa_arch)
(pa_fixed_range_string, pa_cpu_string, pa_unix_string, target_flags)
(MASK_PA_11, MASK_DISABLE_FPREGS, TARGET_DISABLE_FPREGS)
(MASK_NO_SPACE_REGS, TARGET_NO_SPACE_REGS, MASK_JUMP_IN_DELAY)
(TARGET_JUMP_IN_DELAY, MASK_DISABLE_INDEXING, TARGET_DISABLE_INDEXING)
(MASK_PORTABLE_RUNTIME, TARGET_PORTABLE_RUNTIME, MASK_GAS, TARGET_GAS)
(MASK_SOFT_FLOAT, TARGET_SOFT_FLOAT, MASK_LONG_LOAD_STORE)
(TARGET_LONG_LOAD_STORE, MASK_FAST_INDIRECT_CALLS)
(TARGET_FAST_INDIRECT_CALLS, MASK_BIG_SWITCH, TARGET_BIG_SWITCH)
(MASK_PA_20, MASK_SIO, TARGET_SIO, MASK_GNU_LD, TARGET_GNU_LD)
(MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_PA_11, TARGET_PA_20)
(TARGET_SWITCHES, SUBTARGET_SWITCHES, TARGET_OPTIONS)
(SUBTARGET_OPTIONS): Delete.
(TARGET_PA_10): Redefine in terms of TARGET_PA_11 and TARGET_PA_20.
(TARGET_SCHED_DEFAULT): Define to a PROCESSOR_* enum (PROCESSOR_8000)
instead of a string.
* config/pa/pa.c (pa_arch, pa_arch_string, pa_fixed_range_string)
(pa_cpu_string, pa_unix_string): Delete.
(pa_cpu): Initialize to TARGET_SCHED_DEFAULT.
(flag_pa_unix): Initialize based on TARGET_HPUX_11_11 and
TARGET_HPUX_10_10.
(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
(pa_handle_option): New function.
(override_options): Remove handling of -march=, -mfixed-range=,
-mschedule= and -munix=.
* config/pa/pa-hpux.h (SUBTARGET_SWITCHES): Delete.
* config/pa/pa-hpux1010.h (SUBTARGET_OPTIONS): Delete.
* config/pa/pa-hpux10.h (SUBTARGET_OPTIONS): Delete.
* config/pa/pa-hpux1111.h (SUBTARGET_OPTIONS): Delete.
* config/pa/pa-hpux11.h (SUBTARGET_OPTIONS): Delete.
* config/pa/pa64-hpux.h (SUBTARGET_SWITCHES): Delete.
* config/pa/pa64-start.h (TARGET_PA_11, TARGET_PA_20): #undef before
redefining.
* config/pa/pa.opt: New file.
* config/pa/pa-hpux.opt: New file.
* config/pa/pa-hpux1010.opt: New file.
* config/pa/pa-hpux1111.opt: New file.
* config/pa/pa64-hpux.opt: New file.
From-SVN: r98605
2005-04-23 09:02:19 +02:00
|
|
|
pa/pa-hpux.h pa/pa-hpux1010.h pa/pa-hpux11.h"
|
|
|
|
extra_options="${extra_options} pa/pa-hpux.opt pa/pa-hpux1010.opt"
|
2004-08-25 19:49:58 +02:00
|
|
|
case ${target} in
|
|
|
|
*-*-hpux11.[1-9]*)
|
|
|
|
tm_file="${tm_file} pa/pa-hpux1111.h"
|
config.gcc (hppa[12]*-*-hpux10*): Add pa/pa-hpux.opt to $extra_options.
* config.gcc (hppa[12]*-*-hpux10*): Add pa/pa-hpux.opt to
$extra_options. Also add pa/pa-hpux1010.opt for hpux10.[1-9]*.
(hppa*64*-*-hpux11*): Add pa/pa-hpux1010.h to $tm_file. Add
pa/pa-hpux.opt, pa/pa-hpux1010.opt and pa/pa64-hpux.opt to
$extra_options. Also add pa/pa-hpux1111.opt for hpux11.[1-9]*.
(hppa[12]*-*-hpux11*): Add pa/pa-hpux1010.h to $tm_file. Add
pa/pa-hpux.opt to $extra_options. Also add pa/pa-hpux1111.opt
for hpux11.[1-9]*.
* config/pa/pa.h (architecture_type, rtx_def, pa_arch_string, pa_arch)
(pa_fixed_range_string, pa_cpu_string, pa_unix_string, target_flags)
(MASK_PA_11, MASK_DISABLE_FPREGS, TARGET_DISABLE_FPREGS)
(MASK_NO_SPACE_REGS, TARGET_NO_SPACE_REGS, MASK_JUMP_IN_DELAY)
(TARGET_JUMP_IN_DELAY, MASK_DISABLE_INDEXING, TARGET_DISABLE_INDEXING)
(MASK_PORTABLE_RUNTIME, TARGET_PORTABLE_RUNTIME, MASK_GAS, TARGET_GAS)
(MASK_SOFT_FLOAT, TARGET_SOFT_FLOAT, MASK_LONG_LOAD_STORE)
(TARGET_LONG_LOAD_STORE, MASK_FAST_INDIRECT_CALLS)
(TARGET_FAST_INDIRECT_CALLS, MASK_BIG_SWITCH, TARGET_BIG_SWITCH)
(MASK_PA_20, MASK_SIO, TARGET_SIO, MASK_GNU_LD, TARGET_GNU_LD)
(MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_PA_11, TARGET_PA_20)
(TARGET_SWITCHES, SUBTARGET_SWITCHES, TARGET_OPTIONS)
(SUBTARGET_OPTIONS): Delete.
(TARGET_PA_10): Redefine in terms of TARGET_PA_11 and TARGET_PA_20.
(TARGET_SCHED_DEFAULT): Define to a PROCESSOR_* enum (PROCESSOR_8000)
instead of a string.
* config/pa/pa.c (pa_arch, pa_arch_string, pa_fixed_range_string)
(pa_cpu_string, pa_unix_string): Delete.
(pa_cpu): Initialize to TARGET_SCHED_DEFAULT.
(flag_pa_unix): Initialize based on TARGET_HPUX_11_11 and
TARGET_HPUX_10_10.
(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
(pa_handle_option): New function.
(override_options): Remove handling of -march=, -mfixed-range=,
-mschedule= and -munix=.
* config/pa/pa-hpux.h (SUBTARGET_SWITCHES): Delete.
* config/pa/pa-hpux1010.h (SUBTARGET_OPTIONS): Delete.
* config/pa/pa-hpux10.h (SUBTARGET_OPTIONS): Delete.
* config/pa/pa-hpux1111.h (SUBTARGET_OPTIONS): Delete.
* config/pa/pa-hpux11.h (SUBTARGET_OPTIONS): Delete.
* config/pa/pa64-hpux.h (SUBTARGET_SWITCHES): Delete.
* config/pa/pa64-start.h (TARGET_PA_11, TARGET_PA_20): #undef before
redefining.
* config/pa/pa.opt: New file.
* config/pa/pa-hpux.opt: New file.
* config/pa/pa-hpux1010.opt: New file.
* config/pa/pa-hpux1111.opt: New file.
* config/pa/pa64-hpux.opt: New file.
From-SVN: r98605
2005-04-23 09:02:19 +02:00
|
|
|
extra_options="${extra_options} pa/pa-hpux1111.opt"
|
2003-08-26 08:54:15 +02:00
|
|
|
;;
|
|
|
|
esac
|
2006-02-05 16:54:49 +01:00
|
|
|
tmake_file="pa/t-pa-hpux11 pa/t-pa-hpux pa/t-hpux-shlib"
|
2006-01-18 16:44:57 +01:00
|
|
|
# Set the libgcc version number
|
|
|
|
if test x$sjlj = x1; then
|
|
|
|
tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
|
|
|
|
else
|
|
|
|
tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
|
2005-11-18 04:22:18 +01:00
|
|
|
fi
|
2003-08-26 08:54:15 +02:00
|
|
|
case x${enable_threads} in
|
|
|
|
xyes | xposix )
|
|
|
|
thread_file=posix
|
|
|
|
;;
|
|
|
|
esac
|
2000-11-17 11:42:45 +01:00
|
|
|
use_collect2=yes
|
2006-05-09 22:00:55 +02:00
|
|
|
gas=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2002-08-01 01:18:44 +02:00
|
|
|
i[34567]86-*-darwin*)
|
2005-09-29 01:50:06 +02:00
|
|
|
# All the configuration is presently done generically.
|
2002-08-01 01:18:44 +02:00
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
i[34567]86-*-elf*)
|
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 05:49:19 +02:00
|
|
|
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h"
|
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 14:05:54 +01:00
|
|
|
tmake_file="i386/t-i386elf t-svr4"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
|
|
|
i[34567]86-sequent-ptx4* | i[34567]86-sequent-sysv4*)
|
2001-01-27 21:50:52 +01:00
|
|
|
if test x$gas = xyes
|
|
|
|
then
|
|
|
|
tm_file="${tm_file} usegas.h"
|
|
|
|
fi
|
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 05:49:19 +02:00
|
|
|
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ptx4.h i386/ptx4-i.h"
|
2000-11-17 11:42:45 +01:00
|
|
|
tmake_file=t-svr4
|
|
|
|
extra_parts="crtbegin.o crtend.o"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
|
|
|
i[34567]86-*-aout*)
|
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 05:49:19 +02:00
|
|
|
tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/i386-aout.h"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
|
|
|
i[34567]86-*-beoself* | i[34567]86-*-beos*)
|
|
|
|
tmake_file='i386/t-beos i386/t-crtpic'
|
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 05:49:19 +02:00
|
|
|
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/beos-elf.h"
|
2000-11-17 11:42:45 +01:00
|
|
|
extra_parts='crtbegin.o crtend.o'
|
|
|
|
;;
|
|
|
|
i[34567]86-*-freebsd*)
|
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 05:49:19 +02:00
|
|
|
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
|
2002-01-26 02:23:27 +01:00
|
|
|
;;
|
|
|
|
x86_64-*-freebsd*)
|
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 05:49:19 +02:00
|
|
|
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/x86-64.h i386/freebsd.h i386/freebsd64.h"
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2001-08-01 00:53:43 +02:00
|
|
|
i[34567]86-*-netbsdelf*)
|
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 05:49:19 +02:00
|
|
|
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h"
|
2001-08-01 00:53:43 +02:00
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
i[34567]86-*-netbsd*)
|
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 05:49:19 +02:00
|
|
|
tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h netbsd.h netbsd-aout.h i386/netbsd.h"
|
2000-11-17 11:42:45 +01:00
|
|
|
tmake_file=t-netbsd
|
2002-11-25 00:36:26 +01:00
|
|
|
extra_parts=""
|
2002-01-28 19:20:58 +01:00
|
|
|
use_collect2=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2002-01-22 20:48:27 +01:00
|
|
|
x86_64-*-netbsd*)
|
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 05:49:19 +02:00
|
|
|
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/x86-64.h i386/netbsd64.h"
|
2002-01-22 20:48:27 +01:00
|
|
|
;;
|
2005-01-15 11:56:48 +01:00
|
|
|
i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123])
|
Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* config.gcc (*-*-openbsd): Don't set tm_file.
(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
xscale-*-coff): Use explicit and complete lists of target headers
to include. Move definitions to tm_defines where appropriate.
(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
not-yet-contributed configuration.
* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
* config/i386/nto.h, config/iq2000/iq2000.h,
* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
* config/m68k/linux.h, config/m68k/m68k-aout.h
* config/m68k/m68k-none.h, config/m68k/m68kv4.h
* config/m68k/netbsd.h, config/m68k/openbsd.h
* config/m68k/sgs.h, config/mcore/mcore-pe.h,
* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
Remove includes of other target config headers, and
definitions of macros moved to tm_defines lists. Add #undefs
where now necessary to prevent redefinition warnings.
* config/h8300/coff.h: New file split out of...
* config/h8300/elf.h: ...here.
* config/m68k/hp320base.h: New file split out of...
* config/m68k/hp320.h: ...here.
* config/rs6000/lynxbase.h: New file split out of...
* config/rs6000/lynx.h: ...here.
* config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
* config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
* config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
* config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
* config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
Remove unnecessary #ifndef.
* config/s390/s390.h: Prefix #include of s390/fixdfdi.h
[under IN_LIBGCC2] with config/.
From-SVN: r70651
2003-08-21 19:27:29 +02:00
|
|
|
tm_file="i386/i386.h i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h openbsd-oldgas.h openbsd.h i386/openbsd.h"
|
2001-07-13 20:12:22 +02:00
|
|
|
# needed to unconfuse gdb
|
|
|
|
tmake_file="t-libc-ok t-openbsd i386/t-openbsd"
|
2000-11-17 11:42:45 +01:00
|
|
|
# we need collect2 until our bug is fixed...
|
|
|
|
use_collect2=yes
|
|
|
|
;;
|
2005-01-15 11:56:48 +01:00
|
|
|
i[34567]86-*-openbsd*)
|
2005-01-31 19:51:26 +01:00
|
|
|
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h"
|
2005-01-15 11:56:48 +01:00
|
|
|
tm_file="${tm_file} openbsd.h i386/openbsdelf.h"
|
|
|
|
gas=yes
|
|
|
|
gnu_ld=yes
|
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
i[34567]86-*-coff*)
|
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 05:49:19 +02:00
|
|
|
tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/i386-coff.h"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2004-06-24 04:56:23 +02:00
|
|
|
i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu)
|
|
|
|
# Intel 80386's running GNU/*
|
2000-11-17 11:42:45 +01:00
|
|
|
# with ELF format using glibc 2
|
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 05:49:19 +02:00
|
|
|
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h"
|
2004-06-24 04:56:23 +02:00
|
|
|
case ${target} in
|
|
|
|
i[34567]86-*-knetbsd*-gnu) tm_file="${tm_file} knetbsd-gnu.h i386/knetbsd-gnu.h" ;;
|
|
|
|
i[34567]86-*-kfreebsd*-gnu) tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu.h" ;;
|
|
|
|
esac
|
2006-03-06 02:23:17 +01:00
|
|
|
tmake_file="${tmake_file} i386/t-crtstuff i386/t-crtfm t-dfprules"
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2004-11-26 22:37:24 +01:00
|
|
|
x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu)
|
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 05:49:19 +02:00
|
|
|
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h \
|
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-20 00:27:41 +02:00
|
|
|
i386/x86-64.h i386/linux64.h"
|
2004-11-26 22:37:24 +01:00
|
|
|
case ${target} in
|
|
|
|
x86_64-*-kfreebsd*-gnu) tm_file="${tm_file} kfreebsd-gnu.h" ;;
|
|
|
|
x86_64-*-knetbsd*-gnu) tm_file="${tm_file} knetbsd-gnu.h" ;;
|
|
|
|
esac
|
2006-03-06 02:23:17 +01:00
|
|
|
tmake_file="${tmake_file} i386/t-linux64 i386/t-crtfm t-dfprules"
|
2001-10-02 12:59:42 +02:00
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
i[34567]86-*-gnu*)
|
|
|
|
;;
|
|
|
|
i[34567]86-pc-msdosdjgpp*)
|
|
|
|
xm_file=i386/xm-djgpp.h
|
2003-06-14 01:55:54 +02:00
|
|
|
tm_file="dbxcoff.h ${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/djgpp.h"
|
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 23:03:06 +01:00
|
|
|
tmake_file=i386/t-djgpp
|
config.gcc (*-*-darwin*): Add darwin.opt to $extra_options.
* config.gcc (*-*-darwin*): Add darwin.opt to $extra_options.
(i[34567]86-pc-msdosdjgpp*): Likewise i386/djgpp.opt.
(i[34567]86-*-lynxos*, powerpc-*-lynxos*): Likewise lynx.opt.
(i[34567]86-*-sco3.2v5*): Likewise i386/sco5.opt.
(i[34567]86-*-pe, i[34567]86-*-cygwin*, i[34567]86-*-mingw32*)
(i[34567]86-*-uwin*): Likewise i386/cygming.opt.
* config/darwin.h (darwin_one_byte_bool, darwin_fix_and_continue)
(darwin_fix_and_continue_switch, SUBTARGET_OPTIONS): Delete.
* config/darwin.c (darwin_one_byte_bool, darwin_fix_and_continue)
(darwin_fix_and_continue_switch): Delete.
* config/lynx.h (SUBTARGET_OS_LYNX_SWITCHES): Delete.
(SUBTARGET_SWITCHES): Delete.
* config/i386/i386.h (target_flags, MASK_80387, MASK_RTD)
(MASK_ALIGN_DOUBLE, MASK_SVR3_SHLIB, MASK_IEEE_FP, MASK_FLOAT_RETURNS)
(MASK_NO_FANCY_MATH_387, MASK_OMIT_LEAF_FRAME_POINTER)
(MASK_STACK_PROBE, MASK_NO_ALIGN_STROPS, MASK_INLINE_ALL_STROPS)
(MASK_NO_PUSH_ARGS, MASK_ACCUMULATE_OUTGOING_ARGS, MASK_MMX)
(MASK_SSE, MASK_SSE2, MASK_SSE3, MASK_3DNOW, MASK_3DNOW_A)
(MASK_128BIT_LONG_DOUBLE, MASK_64BIT, MASK_MS_BITFIELD_LAYOUT)
(MASK_TLS_DIRECT_SEG_REFS, MASK_NO_RED_ZONE, TARGET_80387)
(TARGET_RTD, TARGET_ALIGN_DOUBLE, TARGET_PUSH_ARGS)
(TARGET_ACCUMULATE_OUTGOING_ARGS, TARGET_SVR3_SHLIB, TARGET_IEEE_FP)
(TARGET_128BIT_LONG_DOUBLE, TARGET_NO_FANCY_MATH_387)
(TARGET_USE_FANCY_MATH_387, TARGET_OMIT_LEAF_FRAME_POINTER)
(TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Delete.
(TARGET_FLOAT_RETURNS_IN_80387): Make an alias of TARGET_FLOAT_RETURNS.
(TARGET_64BIT): Undef before redefining.
(TARGET_TLS_DIRECT_SEG_REFS, TARGET_STACK_PROBE)
(TARGET_ALIGN_STRINGOPS, TARGET_INLINE_ALL_STRINGOPS, TARGET_SSE)
(TARGET_SSE2, TARGET_SSE3, TARGET_MMX, TARGET_3DNOW, TARGET_3DNOW_A)
(TARGET_RED_ZONE, TARGET_USE_MS_BITFIELD_LAYOUT, TARGET_SWITCHES)
(TARGET_OPTIONS, SUBTARGET_SWITCHES, SUBTARGET_OPTIONS)
(ix86_fpmath_string, ix86_tls_dialect_string, ix86_cmodel_string)
(ix86_asm_string, ix86_regparm, ix86_regparm_string)
(ix86_preferred_stack_boundary_string, ix86_branch_cost_string)
(ix86_debug_arg_string, ix86_debug_addr_string)
(ix86_align_loops_string, ix86_align_jumps_string)
(ix86_align_funcs_string): Delete.
* config/i386/cygming.h (MASK_NOP_FUN_DLLIMPORT)
(TARGET_NOP_FUN_DLLIMPORT, SUBTARGET_SWITCHES): Delete.
* config/i386/djgpp.h (MASK_BNU210, SUBTARGET_SWITCHES): Delete.
(SUBTARGET_OVERRIDE_OPTIONS): Check TARGET_BNU210.
* config/i386/lynx.h (SUBTARGET_SWITCHES): Delete.
* config/i386/sco5.h (MASK_COFF, TARGET_ELF)
(SUBTARGET_SWITCHES): Delete.
* config/i386/i386.c (ix86_debug_arg_string): Delete.
(ix86_debug_addr_string): Delete.
(ix86_cmodel_string, ix86_asm_string, ix86_tls_dialect_string)
(ix86_fpmath_string, ix86_regparm_string, ix86_regparm)
(ix86_align_loops_string, ix86_align_jumps_string)
(ix86_preferred_stack_boundary_string, ix86_branch_cost_string)
(ix86_align_funcs_string): Make static.
(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
(ix86_handle_option): New function.
(TARGET_USE_MS_BITFIELD_LAYOUT): Delete.
(ix86_ms_bitfield_layout_p): Check TARGET_MS_BITFIELD_LAYOUT.
* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Remove handling
of darwin_fix_and_continue_switch.
(darwin_one_byte_bool): Delete.
* config/rs6000/lynx.h (EXTRA_SUBTARGET_SWITCHES): Delete.
* config/rs6000/rs6000.c (rs6000_override_options): Update assignment
to darwin_one_byte_bool.
* config/darwin.opt, config/lynx.opt, config/i386/cygming.opt,
* config/i386/djgpp.opt, config/i386/i386.opt,
* config/i386/sco5.opt: New files.
From-SVN: r98495
2005-04-21 09:35:09 +02:00
|
|
|
extra_options="${extra_options} i386/djgpp.opt"
|
2000-11-17 11:42:45 +01:00
|
|
|
gnu_ld=yes
|
|
|
|
gas=yes
|
|
|
|
;;
|
|
|
|
i[34567]86-*-lynxos*)
|
2004-08-05 06:55:37 +02:00
|
|
|
xm_defines=POSIX
|
|
|
|
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/lynx.h lynx.h"
|
|
|
|
tmake_file="i386/t-crtstuff t-lynx"
|
|
|
|
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
|
config.gcc (*-*-darwin*): Add darwin.opt to $extra_options.
* config.gcc (*-*-darwin*): Add darwin.opt to $extra_options.
(i[34567]86-pc-msdosdjgpp*): Likewise i386/djgpp.opt.
(i[34567]86-*-lynxos*, powerpc-*-lynxos*): Likewise lynx.opt.
(i[34567]86-*-sco3.2v5*): Likewise i386/sco5.opt.
(i[34567]86-*-pe, i[34567]86-*-cygwin*, i[34567]86-*-mingw32*)
(i[34567]86-*-uwin*): Likewise i386/cygming.opt.
* config/darwin.h (darwin_one_byte_bool, darwin_fix_and_continue)
(darwin_fix_and_continue_switch, SUBTARGET_OPTIONS): Delete.
* config/darwin.c (darwin_one_byte_bool, darwin_fix_and_continue)
(darwin_fix_and_continue_switch): Delete.
* config/lynx.h (SUBTARGET_OS_LYNX_SWITCHES): Delete.
(SUBTARGET_SWITCHES): Delete.
* config/i386/i386.h (target_flags, MASK_80387, MASK_RTD)
(MASK_ALIGN_DOUBLE, MASK_SVR3_SHLIB, MASK_IEEE_FP, MASK_FLOAT_RETURNS)
(MASK_NO_FANCY_MATH_387, MASK_OMIT_LEAF_FRAME_POINTER)
(MASK_STACK_PROBE, MASK_NO_ALIGN_STROPS, MASK_INLINE_ALL_STROPS)
(MASK_NO_PUSH_ARGS, MASK_ACCUMULATE_OUTGOING_ARGS, MASK_MMX)
(MASK_SSE, MASK_SSE2, MASK_SSE3, MASK_3DNOW, MASK_3DNOW_A)
(MASK_128BIT_LONG_DOUBLE, MASK_64BIT, MASK_MS_BITFIELD_LAYOUT)
(MASK_TLS_DIRECT_SEG_REFS, MASK_NO_RED_ZONE, TARGET_80387)
(TARGET_RTD, TARGET_ALIGN_DOUBLE, TARGET_PUSH_ARGS)
(TARGET_ACCUMULATE_OUTGOING_ARGS, TARGET_SVR3_SHLIB, TARGET_IEEE_FP)
(TARGET_128BIT_LONG_DOUBLE, TARGET_NO_FANCY_MATH_387)
(TARGET_USE_FANCY_MATH_387, TARGET_OMIT_LEAF_FRAME_POINTER)
(TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Delete.
(TARGET_FLOAT_RETURNS_IN_80387): Make an alias of TARGET_FLOAT_RETURNS.
(TARGET_64BIT): Undef before redefining.
(TARGET_TLS_DIRECT_SEG_REFS, TARGET_STACK_PROBE)
(TARGET_ALIGN_STRINGOPS, TARGET_INLINE_ALL_STRINGOPS, TARGET_SSE)
(TARGET_SSE2, TARGET_SSE3, TARGET_MMX, TARGET_3DNOW, TARGET_3DNOW_A)
(TARGET_RED_ZONE, TARGET_USE_MS_BITFIELD_LAYOUT, TARGET_SWITCHES)
(TARGET_OPTIONS, SUBTARGET_SWITCHES, SUBTARGET_OPTIONS)
(ix86_fpmath_string, ix86_tls_dialect_string, ix86_cmodel_string)
(ix86_asm_string, ix86_regparm, ix86_regparm_string)
(ix86_preferred_stack_boundary_string, ix86_branch_cost_string)
(ix86_debug_arg_string, ix86_debug_addr_string)
(ix86_align_loops_string, ix86_align_jumps_string)
(ix86_align_funcs_string): Delete.
* config/i386/cygming.h (MASK_NOP_FUN_DLLIMPORT)
(TARGET_NOP_FUN_DLLIMPORT, SUBTARGET_SWITCHES): Delete.
* config/i386/djgpp.h (MASK_BNU210, SUBTARGET_SWITCHES): Delete.
(SUBTARGET_OVERRIDE_OPTIONS): Check TARGET_BNU210.
* config/i386/lynx.h (SUBTARGET_SWITCHES): Delete.
* config/i386/sco5.h (MASK_COFF, TARGET_ELF)
(SUBTARGET_SWITCHES): Delete.
* config/i386/i386.c (ix86_debug_arg_string): Delete.
(ix86_debug_addr_string): Delete.
(ix86_cmodel_string, ix86_asm_string, ix86_tls_dialect_string)
(ix86_fpmath_string, ix86_regparm_string, ix86_regparm)
(ix86_align_loops_string, ix86_align_jumps_string)
(ix86_preferred_stack_boundary_string, ix86_branch_cost_string)
(ix86_align_funcs_string): Make static.
(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
(ix86_handle_option): New function.
(TARGET_USE_MS_BITFIELD_LAYOUT): Delete.
(ix86_ms_bitfield_layout_p): Check TARGET_MS_BITFIELD_LAYOUT.
* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Remove handling
of darwin_fix_and_continue_switch.
(darwin_one_byte_bool): Delete.
* config/rs6000/lynx.h (EXTRA_SUBTARGET_SWITCHES): Delete.
* config/rs6000/rs6000.c (rs6000_override_options): Update assignment
to darwin_one_byte_bool.
* config/darwin.opt, config/lynx.opt, config/i386/cygming.opt,
* config/i386/djgpp.opt, config/i386/i386.opt,
* config/i386/sco5.opt: New files.
From-SVN: r98495
2005-04-21 09:35:09 +02:00
|
|
|
extra_options="${extra_options} lynx.opt"
|
2004-08-05 06:55:37 +02:00
|
|
|
thread_file=lynx
|
|
|
|
gnu_ld=yes
|
|
|
|
gas=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2004-09-03 20:10:08 +02:00
|
|
|
i[3456x]86-*-netware*)
|
2004-12-22 09:41:43 +01:00
|
|
|
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h tm-dwarf2.h i386/netware.h"
|
2004-09-03 20:10:08 +02:00
|
|
|
tmake_file=i386/t-netware
|
|
|
|
extra_objs=netware.o
|
|
|
|
case /${with_ld} in
|
|
|
|
*/nwld)
|
|
|
|
extra_objs="$extra_objs nwld.o"
|
|
|
|
tm_file="${tm_file} i386/nwld.h"
|
|
|
|
tmake_file="${tmake_file} i386/t-nwld"
|
|
|
|
extra_parts="crt0.o libgcc.def libc.def libcpre.def posixpre.def"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
case x${enable_threads} in
|
|
|
|
x | xyes | xposix) thread_file='posix';;
|
|
|
|
xnks) thread_file='nks';;
|
|
|
|
xno) ;;
|
|
|
|
*) echo 'Unknown thread configuration for NetWare' >&2; exit 1;;
|
|
|
|
esac
|
|
|
|
;;
|
2003-08-06 19:04:39 +02:00
|
|
|
i[34567]86-*-nto-qnx*)
|
Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* config.gcc (*-*-openbsd): Don't set tm_file.
(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
xscale-*-coff): Use explicit and complete lists of target headers
to include. Move definitions to tm_defines where appropriate.
(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
not-yet-contributed configuration.
* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
* config/i386/nto.h, config/iq2000/iq2000.h,
* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
* config/m68k/linux.h, config/m68k/m68k-aout.h
* config/m68k/m68k-none.h, config/m68k/m68kv4.h
* config/m68k/netbsd.h, config/m68k/openbsd.h
* config/m68k/sgs.h, config/mcore/mcore-pe.h,
* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
Remove includes of other target config headers, and
definitions of macros moved to tm_defines lists. Add #undefs
where now necessary to prevent redefinition warnings.
* config/h8300/coff.h: New file split out of...
* config/h8300/elf.h: ...here.
* config/m68k/hp320base.h: New file split out of...
* config/m68k/hp320.h: ...here.
* config/rs6000/lynxbase.h: New file split out of...
* config/rs6000/lynx.h: ...here.
* config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
* config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
* config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
* config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
* config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
Remove unnecessary #ifndef.
* config/s390/s390.h: Prefix #include of s390/fixdfdi.h
[under IN_LIBGCC2] with config/.
From-SVN: r70651
2003-08-21 19:27:29 +02:00
|
|
|
tm_file="${tm_file} i386/att.h dbxelf.h tm-dwarf2.h elfos.h svr4.h i386/unix.h i386/nto.h"
|
2003-08-06 19:04:39 +02:00
|
|
|
tmake_file=i386/t-nto
|
|
|
|
gnu_ld=yes
|
|
|
|
gas=yes
|
|
|
|
;;
|
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 04:10:46 +02:00
|
|
|
i[34567]86-*-rtems*)
|
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 05:49:19 +02:00
|
|
|
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h i386/rtemself.h rtems.h"
|
2000-11-17 11:42:45 +01:00
|
|
|
extra_parts="crtbegin.o crtend.o crti.o crtn.o"
|
|
|
|
tmake_file="i386/t-rtems-i386 i386/t-crtstuff t-rtems"
|
|
|
|
;;
|
|
|
|
i[34567]86-*-sco3.2v5*) # 80386 running SCO Open Server 5
|
2003-04-19 23:23:20 +02:00
|
|
|
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/sco5.h"
|
2000-11-17 11:42:45 +01:00
|
|
|
if test x$gas = xyes
|
|
|
|
then
|
2001-01-27 21:50:52 +01:00
|
|
|
tm_file="usegas.h ${tm_file}"
|
2000-11-17 11:42:45 +01:00
|
|
|
fi
|
2003-04-19 23:23:20 +02:00
|
|
|
tmake_file=i386/t-sco5
|
|
|
|
extra_parts="crtbegin.o crtend.o"
|
config.gcc (*-*-darwin*): Add darwin.opt to $extra_options.
* config.gcc (*-*-darwin*): Add darwin.opt to $extra_options.
(i[34567]86-pc-msdosdjgpp*): Likewise i386/djgpp.opt.
(i[34567]86-*-lynxos*, powerpc-*-lynxos*): Likewise lynx.opt.
(i[34567]86-*-sco3.2v5*): Likewise i386/sco5.opt.
(i[34567]86-*-pe, i[34567]86-*-cygwin*, i[34567]86-*-mingw32*)
(i[34567]86-*-uwin*): Likewise i386/cygming.opt.
* config/darwin.h (darwin_one_byte_bool, darwin_fix_and_continue)
(darwin_fix_and_continue_switch, SUBTARGET_OPTIONS): Delete.
* config/darwin.c (darwin_one_byte_bool, darwin_fix_and_continue)
(darwin_fix_and_continue_switch): Delete.
* config/lynx.h (SUBTARGET_OS_LYNX_SWITCHES): Delete.
(SUBTARGET_SWITCHES): Delete.
* config/i386/i386.h (target_flags, MASK_80387, MASK_RTD)
(MASK_ALIGN_DOUBLE, MASK_SVR3_SHLIB, MASK_IEEE_FP, MASK_FLOAT_RETURNS)
(MASK_NO_FANCY_MATH_387, MASK_OMIT_LEAF_FRAME_POINTER)
(MASK_STACK_PROBE, MASK_NO_ALIGN_STROPS, MASK_INLINE_ALL_STROPS)
(MASK_NO_PUSH_ARGS, MASK_ACCUMULATE_OUTGOING_ARGS, MASK_MMX)
(MASK_SSE, MASK_SSE2, MASK_SSE3, MASK_3DNOW, MASK_3DNOW_A)
(MASK_128BIT_LONG_DOUBLE, MASK_64BIT, MASK_MS_BITFIELD_LAYOUT)
(MASK_TLS_DIRECT_SEG_REFS, MASK_NO_RED_ZONE, TARGET_80387)
(TARGET_RTD, TARGET_ALIGN_DOUBLE, TARGET_PUSH_ARGS)
(TARGET_ACCUMULATE_OUTGOING_ARGS, TARGET_SVR3_SHLIB, TARGET_IEEE_FP)
(TARGET_128BIT_LONG_DOUBLE, TARGET_NO_FANCY_MATH_387)
(TARGET_USE_FANCY_MATH_387, TARGET_OMIT_LEAF_FRAME_POINTER)
(TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Delete.
(TARGET_FLOAT_RETURNS_IN_80387): Make an alias of TARGET_FLOAT_RETURNS.
(TARGET_64BIT): Undef before redefining.
(TARGET_TLS_DIRECT_SEG_REFS, TARGET_STACK_PROBE)
(TARGET_ALIGN_STRINGOPS, TARGET_INLINE_ALL_STRINGOPS, TARGET_SSE)
(TARGET_SSE2, TARGET_SSE3, TARGET_MMX, TARGET_3DNOW, TARGET_3DNOW_A)
(TARGET_RED_ZONE, TARGET_USE_MS_BITFIELD_LAYOUT, TARGET_SWITCHES)
(TARGET_OPTIONS, SUBTARGET_SWITCHES, SUBTARGET_OPTIONS)
(ix86_fpmath_string, ix86_tls_dialect_string, ix86_cmodel_string)
(ix86_asm_string, ix86_regparm, ix86_regparm_string)
(ix86_preferred_stack_boundary_string, ix86_branch_cost_string)
(ix86_debug_arg_string, ix86_debug_addr_string)
(ix86_align_loops_string, ix86_align_jumps_string)
(ix86_align_funcs_string): Delete.
* config/i386/cygming.h (MASK_NOP_FUN_DLLIMPORT)
(TARGET_NOP_FUN_DLLIMPORT, SUBTARGET_SWITCHES): Delete.
* config/i386/djgpp.h (MASK_BNU210, SUBTARGET_SWITCHES): Delete.
(SUBTARGET_OVERRIDE_OPTIONS): Check TARGET_BNU210.
* config/i386/lynx.h (SUBTARGET_SWITCHES): Delete.
* config/i386/sco5.h (MASK_COFF, TARGET_ELF)
(SUBTARGET_SWITCHES): Delete.
* config/i386/i386.c (ix86_debug_arg_string): Delete.
(ix86_debug_addr_string): Delete.
(ix86_cmodel_string, ix86_asm_string, ix86_tls_dialect_string)
(ix86_fpmath_string, ix86_regparm_string, ix86_regparm)
(ix86_align_loops_string, ix86_align_jumps_string)
(ix86_preferred_stack_boundary_string, ix86_branch_cost_string)
(ix86_align_funcs_string): Make static.
(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
(ix86_handle_option): New function.
(TARGET_USE_MS_BITFIELD_LAYOUT): Delete.
(ix86_ms_bitfield_layout_p): Check TARGET_MS_BITFIELD_LAYOUT.
* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Remove handling
of darwin_fix_and_continue_switch.
(darwin_one_byte_bool): Delete.
* config/rs6000/lynx.h (EXTRA_SUBTARGET_SWITCHES): Delete.
* config/rs6000/rs6000.c (rs6000_override_options): Update assignment
to darwin_one_byte_bool.
* config/darwin.opt, config/lynx.opt, config/i386/cygming.opt,
* config/i386/djgpp.opt, config/i386/i386.opt,
* config/i386/sco5.opt: New files.
From-SVN: r98495
2005-04-21 09:35:09 +02:00
|
|
|
extra_options="${extra_options} i386/sco5.opt"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
|
|
|
i[34567]86-*-solaris2*)
|
2004-11-22 23:26:11 +01:00
|
|
|
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h sol2.h"
|
|
|
|
case ${target} in
|
|
|
|
*-*-solaris2.[0-6] | *-*-solaris2.[0-6].*)
|
2006-03-21 21:59:11 +01:00
|
|
|
tm_file="${tm_file} sol2-6.h"
|
|
|
|
;;
|
|
|
|
*-*-solaris2.1[0-9]*)
|
|
|
|
tm_file="${tm_file} sol2-10.h"
|
|
|
|
;;
|
2004-11-22 23:26:11 +01:00
|
|
|
esac
|
|
|
|
tm_file="${tm_file} i386/sol2.h"
|
2004-07-19 16:48:09 +02:00
|
|
|
tmake_file="t-sol2 i386/t-sol2 t-svr4"
|
|
|
|
c_target_objs="sol2-c.o"
|
|
|
|
cxx_target_objs="sol2-c.o"
|
* config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*)
(sparc-*-solaris2*): Include sol2.o and sol2-protos.h.
* config/sol2-c.c: Include "tm.h", "tm_p.h", "toplev.h",
"cpplib.h", "c-pragma.h", "c-common.h".
(solaris_pragma_align, solaris_pragma_init, solaris_pragma_fini)
(solaris_register_pragmas): New functions.
* config/sol2-protos.h: New file.
* config/sol2.c: New file.
* config/sol2.h (SOLARIS_ATTRIBUTE_TABLE, ASM_DECLARE_FUNCTION_SIZE)
(REGISTER_TARGET_PRAGMAS): New macros.
(solaris_pending_aligns, solaris_pending_inits)
(solaris_pending_finis): New variables.
* config/t-sol2 (sol2-c.o): Update dependencies.
(sol2.o): New rule.
* config/i386/i386.c (TARGET_INSERT_ATTRIBUTES): Define in terms of
SUBTARGET_INSERT_ATTRIBUTES.
(ix86_attribute_table): Include SUBTARGET_ATTRIBUTE_TABLE.
* config/i386/sol2.h (SUBTARGET_INSERT_ATTRIBUTES)
(SUBTARGET_ATTRIBUTE_TABLE, ASM_OUTPUT_CALL): Define.
* config/sparc/elf.h (ASM_DECLARE_FUNCTION_SIZE): Redefine.
* config/sparc/sp64-elf.h (ASM_DECLARE_FUNCTION_SIZE): Redefine.
* config/sparc/sol2.h (SUBTARGET_INSERT_ATTRIBUTES)
(SUBTARGET_ATTRIBUTE_TABLE, ASM_OUTPUT_CALL): Define.
* config/sparc/sparc.c (sparc_attribute_table): New.
(TARGET_INSERT_ATTRIBUTES): Define in terms of
SUBTARGET_INSERT_ATTRIBUTES.
(TARGET_ATTRIBUTE_TABLE): Define if SUBTARGET_ATTRIBUTE_TABLE
is defined.
* doc/extend.texi (Solaris Pragmas): New section.
From-SVN: r85155
2004-07-25 20:10:05 +02:00
|
|
|
extra_objs="sol2.o"
|
|
|
|
tm_p_file="${tm_p_file} sol2-protos.h"
|
2001-05-26 01:08:57 +02:00
|
|
|
if test x$gnu_ld = xyes; then
|
|
|
|
tmake_file="$tmake_file t-slibgcc-elf-ver"
|
2004-11-18 02:07:18 +01:00
|
|
|
tm_defines="${tm_defines} TARGET_GNU_LD=1"
|
2001-05-26 01:08:57 +02:00
|
|
|
else
|
|
|
|
tmake_file="$tmake_file t-slibgcc-sld"
|
|
|
|
fi
|
2004-04-17 04:32:23 +02:00
|
|
|
case ${target} in
|
2005-03-19 21:19:06 +01:00
|
|
|
*-*-solaris2.[789] | *-*-solaris2.1[0-9]*)
|
2004-04-17 04:32:23 +02:00
|
|
|
tm_file="$tm_file tm-dwarf2.h"
|
|
|
|
;;
|
|
|
|
esac
|
2004-11-18 02:07:18 +01:00
|
|
|
case ${target} in
|
2005-03-19 21:19:06 +01:00
|
|
|
*-*-solaris2.1[0-9]*)
|
2004-11-18 02:07:18 +01:00
|
|
|
tm_file="${tm_file} i386/x86-64.h i386/sol2-10.h"
|
|
|
|
tm_defines="${tm_defines} TARGET_BI_ARCH=1"
|
|
|
|
tmake_file="$tmake_file i386/t-sol2-10"
|
|
|
|
need_64bit_hwint=yes
|
2006-07-05 20:49:48 +02:00
|
|
|
# FIXME: -m64 for i[34567]86-*-* should be allowed just
|
|
|
|
# like -m32 for x86_64-*-*.
|
|
|
|
case X"${with_cpu}" in
|
|
|
|
Xgeneric|Xnocona|Xx86-64|Xk8|Xopteron|Xathlon64|Xathlon-fx)
|
|
|
|
;;
|
|
|
|
X)
|
|
|
|
with_cpu=generic
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "Unsupported CPU used in --with-cpu=$with_cpu, supported values:" 1>&2
|
|
|
|
echo "generic nocona x86-64 k8 opteron athlon64 athlon-fx" 1>&2
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
2004-11-18 02:07:18 +01:00
|
|
|
# Solaris 2.10 provides crt1.o, crti.o, crtn.o, and gcrt1.o as
|
|
|
|
# part of the base system.
|
|
|
|
extra_parts="gmon.o crtbegin.o crtend.o"
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
|
|
|
|
;;
|
|
|
|
esac
|
2004-04-07 03:20:59 +02:00
|
|
|
case ${enable_threads}:${have_pthread_h}:${have_thread_h} in
|
2004-11-22 23:26:11 +01:00
|
|
|
"":yes:* | yes:yes:* )
|
|
|
|
case ${target} in
|
|
|
|
*-*-solaris2.[0-6] | *-*-solaris2.[0-6].*)
|
|
|
|
thread_file=posix95
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
thread_file=posix
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
;;
|
|
|
|
"":*:yes | yes:*:yes )
|
|
|
|
thread_file=solaris
|
|
|
|
;;
|
2004-04-07 03:20:59 +02:00
|
|
|
esac
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2000-12-04 21:20:23 +01:00
|
|
|
i[34567]86-*-sysv5*) # Intel x86 on System V Release 5
|
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 05:49:19 +02:00
|
|
|
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h i386/sysv5.h"
|
2000-11-17 11:42:45 +01:00
|
|
|
if test x$stabs = xyes
|
|
|
|
then
|
|
|
|
tm_file="${tm_file} dbx.h"
|
|
|
|
fi
|
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 14:05:54 +01:00
|
|
|
tmake_file="i386/t-crtpic t-svr4"
|
2000-11-17 11:42:45 +01:00
|
|
|
extra_parts="crtbegin.o crtend.o"
|
|
|
|
if test x$enable_threads = xyes; then
|
|
|
|
thread_file='posix'
|
|
|
|
fi
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
|
|
|
i[34567]86-*-sysv4*) # Intel 80386's running system V.4
|
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 23:13:11 +02:00
|
|
|
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h i386/sysv4-cpp.h"
|
2000-11-17 11:42:45 +01:00
|
|
|
if test x$stabs = xyes
|
|
|
|
then
|
|
|
|
tm_file="${tm_file} dbx.h"
|
|
|
|
fi
|
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 14:05:54 +01:00
|
|
|
tmake_file="i386/t-crtpic t-svr4"
|
2000-11-17 11:42:45 +01:00
|
|
|
extra_parts="crtbegin.o crtend.o"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2005-09-01 19:44:40 +02:00
|
|
|
i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
|
|
|
|
tm_file="${tm_file} i386/sysv4.h i386/unix.h i386/att.h vx-common.h"
|
|
|
|
case ${target} in
|
|
|
|
*-vxworksae*)
|
|
|
|
tm_file="${tm_file} vxworksae.h i386/vxworksae.h"
|
|
|
|
tmake_file="${tmake_file} i386/t-vxworks i386/t-vxworksae"
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
tm_file="${tm_file} vxworks.h i386/vxworks.h"
|
|
|
|
tmake_file="${tmake_file} i386/t-vxworks"
|
|
|
|
;;
|
|
|
|
esac
|
2003-10-23 07:16:56 +02:00
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
i[34567]86-*-pe | i[34567]86-*-cygwin*)
|
2003-03-21 04:57:09 +01:00
|
|
|
tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h"
|
2001-04-05 06:34:24 +02:00
|
|
|
xm_file=i386/xm-cygwin.h
|
2004-02-22 01:04:38 +01:00
|
|
|
tmake_file="i386/t-cygwin i386/t-cygming"
|
2004-06-05 09:28:27 +02:00
|
|
|
target_gtfiles="\$(srcdir)/config/i386/winnt.c"
|
config.gcc (*-*-darwin*): Add darwin.opt to $extra_options.
* config.gcc (*-*-darwin*): Add darwin.opt to $extra_options.
(i[34567]86-pc-msdosdjgpp*): Likewise i386/djgpp.opt.
(i[34567]86-*-lynxos*, powerpc-*-lynxos*): Likewise lynx.opt.
(i[34567]86-*-sco3.2v5*): Likewise i386/sco5.opt.
(i[34567]86-*-pe, i[34567]86-*-cygwin*, i[34567]86-*-mingw32*)
(i[34567]86-*-uwin*): Likewise i386/cygming.opt.
* config/darwin.h (darwin_one_byte_bool, darwin_fix_and_continue)
(darwin_fix_and_continue_switch, SUBTARGET_OPTIONS): Delete.
* config/darwin.c (darwin_one_byte_bool, darwin_fix_and_continue)
(darwin_fix_and_continue_switch): Delete.
* config/lynx.h (SUBTARGET_OS_LYNX_SWITCHES): Delete.
(SUBTARGET_SWITCHES): Delete.
* config/i386/i386.h (target_flags, MASK_80387, MASK_RTD)
(MASK_ALIGN_DOUBLE, MASK_SVR3_SHLIB, MASK_IEEE_FP, MASK_FLOAT_RETURNS)
(MASK_NO_FANCY_MATH_387, MASK_OMIT_LEAF_FRAME_POINTER)
(MASK_STACK_PROBE, MASK_NO_ALIGN_STROPS, MASK_INLINE_ALL_STROPS)
(MASK_NO_PUSH_ARGS, MASK_ACCUMULATE_OUTGOING_ARGS, MASK_MMX)
(MASK_SSE, MASK_SSE2, MASK_SSE3, MASK_3DNOW, MASK_3DNOW_A)
(MASK_128BIT_LONG_DOUBLE, MASK_64BIT, MASK_MS_BITFIELD_LAYOUT)
(MASK_TLS_DIRECT_SEG_REFS, MASK_NO_RED_ZONE, TARGET_80387)
(TARGET_RTD, TARGET_ALIGN_DOUBLE, TARGET_PUSH_ARGS)
(TARGET_ACCUMULATE_OUTGOING_ARGS, TARGET_SVR3_SHLIB, TARGET_IEEE_FP)
(TARGET_128BIT_LONG_DOUBLE, TARGET_NO_FANCY_MATH_387)
(TARGET_USE_FANCY_MATH_387, TARGET_OMIT_LEAF_FRAME_POINTER)
(TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Delete.
(TARGET_FLOAT_RETURNS_IN_80387): Make an alias of TARGET_FLOAT_RETURNS.
(TARGET_64BIT): Undef before redefining.
(TARGET_TLS_DIRECT_SEG_REFS, TARGET_STACK_PROBE)
(TARGET_ALIGN_STRINGOPS, TARGET_INLINE_ALL_STRINGOPS, TARGET_SSE)
(TARGET_SSE2, TARGET_SSE3, TARGET_MMX, TARGET_3DNOW, TARGET_3DNOW_A)
(TARGET_RED_ZONE, TARGET_USE_MS_BITFIELD_LAYOUT, TARGET_SWITCHES)
(TARGET_OPTIONS, SUBTARGET_SWITCHES, SUBTARGET_OPTIONS)
(ix86_fpmath_string, ix86_tls_dialect_string, ix86_cmodel_string)
(ix86_asm_string, ix86_regparm, ix86_regparm_string)
(ix86_preferred_stack_boundary_string, ix86_branch_cost_string)
(ix86_debug_arg_string, ix86_debug_addr_string)
(ix86_align_loops_string, ix86_align_jumps_string)
(ix86_align_funcs_string): Delete.
* config/i386/cygming.h (MASK_NOP_FUN_DLLIMPORT)
(TARGET_NOP_FUN_DLLIMPORT, SUBTARGET_SWITCHES): Delete.
* config/i386/djgpp.h (MASK_BNU210, SUBTARGET_SWITCHES): Delete.
(SUBTARGET_OVERRIDE_OPTIONS): Check TARGET_BNU210.
* config/i386/lynx.h (SUBTARGET_SWITCHES): Delete.
* config/i386/sco5.h (MASK_COFF, TARGET_ELF)
(SUBTARGET_SWITCHES): Delete.
* config/i386/i386.c (ix86_debug_arg_string): Delete.
(ix86_debug_addr_string): Delete.
(ix86_cmodel_string, ix86_asm_string, ix86_tls_dialect_string)
(ix86_fpmath_string, ix86_regparm_string, ix86_regparm)
(ix86_align_loops_string, ix86_align_jumps_string)
(ix86_preferred_stack_boundary_string, ix86_branch_cost_string)
(ix86_align_funcs_string): Make static.
(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
(ix86_handle_option): New function.
(TARGET_USE_MS_BITFIELD_LAYOUT): Delete.
(ix86_ms_bitfield_layout_p): Check TARGET_MS_BITFIELD_LAYOUT.
* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Remove handling
of darwin_fix_and_continue_switch.
(darwin_one_byte_bool): Delete.
* config/rs6000/lynx.h (EXTRA_SUBTARGET_SWITCHES): Delete.
* config/rs6000/rs6000.c (rs6000_override_options): Update assignment
to darwin_one_byte_bool.
* config/darwin.opt, config/lynx.opt, config/i386/cygming.opt,
* config/i386/djgpp.opt, config/i386/i386.opt,
* config/i386/sco5.opt: New files.
From-SVN: r98495
2005-04-21 09:35:09 +02:00
|
|
|
extra_options="${extra_options} i386/cygming.opt"
|
2005-10-12 22:54:50 +02:00
|
|
|
extra_objs="winnt.o winnt-stubs.o"
|
2003-03-21 04:57:09 +01:00
|
|
|
c_target_objs=cygwin2.o
|
2005-10-12 22:54:50 +02:00
|
|
|
cxx_target_objs="cygwin2.o winnt-cxx.o"
|
2004-02-25 22:43:26 +01:00
|
|
|
extra_gcc_objs=cygwin1.o
|
2000-11-17 11:42:45 +01:00
|
|
|
if test x$enable_threads = xyes; then
|
2003-03-21 04:57:09 +01:00
|
|
|
thread_file='posix'
|
2000-11-17 11:42:45 +01:00
|
|
|
fi
|
|
|
|
;;
|
|
|
|
i[34567]86-*-mingw32*)
|
2003-03-21 04:57:09 +01:00
|
|
|
tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/mingw32.h"
|
2001-04-05 06:34:24 +02:00
|
|
|
xm_file=i386/xm-mingw32.h
|
2003-03-21 04:57:09 +01:00
|
|
|
tmake_file="i386/t-cygming i386/t-mingw32"
|
2004-06-05 09:28:27 +02:00
|
|
|
target_gtfiles="\$(srcdir)/config/i386/winnt.c"
|
config.gcc (*-*-darwin*): Add darwin.opt to $extra_options.
* config.gcc (*-*-darwin*): Add darwin.opt to $extra_options.
(i[34567]86-pc-msdosdjgpp*): Likewise i386/djgpp.opt.
(i[34567]86-*-lynxos*, powerpc-*-lynxos*): Likewise lynx.opt.
(i[34567]86-*-sco3.2v5*): Likewise i386/sco5.opt.
(i[34567]86-*-pe, i[34567]86-*-cygwin*, i[34567]86-*-mingw32*)
(i[34567]86-*-uwin*): Likewise i386/cygming.opt.
* config/darwin.h (darwin_one_byte_bool, darwin_fix_and_continue)
(darwin_fix_and_continue_switch, SUBTARGET_OPTIONS): Delete.
* config/darwin.c (darwin_one_byte_bool, darwin_fix_and_continue)
(darwin_fix_and_continue_switch): Delete.
* config/lynx.h (SUBTARGET_OS_LYNX_SWITCHES): Delete.
(SUBTARGET_SWITCHES): Delete.
* config/i386/i386.h (target_flags, MASK_80387, MASK_RTD)
(MASK_ALIGN_DOUBLE, MASK_SVR3_SHLIB, MASK_IEEE_FP, MASK_FLOAT_RETURNS)
(MASK_NO_FANCY_MATH_387, MASK_OMIT_LEAF_FRAME_POINTER)
(MASK_STACK_PROBE, MASK_NO_ALIGN_STROPS, MASK_INLINE_ALL_STROPS)
(MASK_NO_PUSH_ARGS, MASK_ACCUMULATE_OUTGOING_ARGS, MASK_MMX)
(MASK_SSE, MASK_SSE2, MASK_SSE3, MASK_3DNOW, MASK_3DNOW_A)
(MASK_128BIT_LONG_DOUBLE, MASK_64BIT, MASK_MS_BITFIELD_LAYOUT)
(MASK_TLS_DIRECT_SEG_REFS, MASK_NO_RED_ZONE, TARGET_80387)
(TARGET_RTD, TARGET_ALIGN_DOUBLE, TARGET_PUSH_ARGS)
(TARGET_ACCUMULATE_OUTGOING_ARGS, TARGET_SVR3_SHLIB, TARGET_IEEE_FP)
(TARGET_128BIT_LONG_DOUBLE, TARGET_NO_FANCY_MATH_387)
(TARGET_USE_FANCY_MATH_387, TARGET_OMIT_LEAF_FRAME_POINTER)
(TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Delete.
(TARGET_FLOAT_RETURNS_IN_80387): Make an alias of TARGET_FLOAT_RETURNS.
(TARGET_64BIT): Undef before redefining.
(TARGET_TLS_DIRECT_SEG_REFS, TARGET_STACK_PROBE)
(TARGET_ALIGN_STRINGOPS, TARGET_INLINE_ALL_STRINGOPS, TARGET_SSE)
(TARGET_SSE2, TARGET_SSE3, TARGET_MMX, TARGET_3DNOW, TARGET_3DNOW_A)
(TARGET_RED_ZONE, TARGET_USE_MS_BITFIELD_LAYOUT, TARGET_SWITCHES)
(TARGET_OPTIONS, SUBTARGET_SWITCHES, SUBTARGET_OPTIONS)
(ix86_fpmath_string, ix86_tls_dialect_string, ix86_cmodel_string)
(ix86_asm_string, ix86_regparm, ix86_regparm_string)
(ix86_preferred_stack_boundary_string, ix86_branch_cost_string)
(ix86_debug_arg_string, ix86_debug_addr_string)
(ix86_align_loops_string, ix86_align_jumps_string)
(ix86_align_funcs_string): Delete.
* config/i386/cygming.h (MASK_NOP_FUN_DLLIMPORT)
(TARGET_NOP_FUN_DLLIMPORT, SUBTARGET_SWITCHES): Delete.
* config/i386/djgpp.h (MASK_BNU210, SUBTARGET_SWITCHES): Delete.
(SUBTARGET_OVERRIDE_OPTIONS): Check TARGET_BNU210.
* config/i386/lynx.h (SUBTARGET_SWITCHES): Delete.
* config/i386/sco5.h (MASK_COFF, TARGET_ELF)
(SUBTARGET_SWITCHES): Delete.
* config/i386/i386.c (ix86_debug_arg_string): Delete.
(ix86_debug_addr_string): Delete.
(ix86_cmodel_string, ix86_asm_string, ix86_tls_dialect_string)
(ix86_fpmath_string, ix86_regparm_string, ix86_regparm)
(ix86_align_loops_string, ix86_align_jumps_string)
(ix86_preferred_stack_boundary_string, ix86_branch_cost_string)
(ix86_align_funcs_string): Make static.
(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
(ix86_handle_option): New function.
(TARGET_USE_MS_BITFIELD_LAYOUT): Delete.
(ix86_ms_bitfield_layout_p): Check TARGET_MS_BITFIELD_LAYOUT.
* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Remove handling
of darwin_fix_and_continue_switch.
(darwin_one_byte_bool): Delete.
* config/rs6000/lynx.h (EXTRA_SUBTARGET_SWITCHES): Delete.
* config/rs6000/rs6000.c (rs6000_override_options): Update assignment
to darwin_one_byte_bool.
* config/darwin.opt, config/lynx.opt, config/i386/cygming.opt,
* config/i386/djgpp.opt, config/i386/i386.opt,
* config/i386/sco5.opt: New files.
From-SVN: r98495
2005-04-21 09:35:09 +02:00
|
|
|
extra_options="${extra_options} i386/cygming.opt"
|
2005-10-12 22:54:50 +02:00
|
|
|
extra_objs="winnt.o winnt-stubs.o"
|
|
|
|
cxx_target_objs=winnt-cxx.o
|
2004-07-08 03:28:54 +02:00
|
|
|
case ${enable_threads} in
|
|
|
|
"" | yes | win32) thread_file='win32' ;;
|
|
|
|
esac
|
2003-09-23 23:51:44 +02:00
|
|
|
case ${target} in
|
2001-10-10 02:27:21 +02:00
|
|
|
*mingw32crt*)
|
2000-11-17 11:42:45 +01:00
|
|
|
tm_file="${tm_file} i386/crtdll.h"
|
|
|
|
;;
|
2003-03-21 04:57:09 +01:00
|
|
|
*mingw32msv* | *mingw32*)
|
2001-10-10 02:27:21 +02:00
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
esac
|
|
|
|
;;
|
|
|
|
i[34567]86-*-uwin*)
|
2003-02-27 16:34:19 +01:00
|
|
|
tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygwin.h i386/uwin.h"
|
2000-11-17 11:42:45 +01:00
|
|
|
tmake_file="i386/t-cygwin i386/t-uwin"
|
|
|
|
extra_objs=winnt.o
|
config.gcc (*-*-darwin*): Add darwin.opt to $extra_options.
* config.gcc (*-*-darwin*): Add darwin.opt to $extra_options.
(i[34567]86-pc-msdosdjgpp*): Likewise i386/djgpp.opt.
(i[34567]86-*-lynxos*, powerpc-*-lynxos*): Likewise lynx.opt.
(i[34567]86-*-sco3.2v5*): Likewise i386/sco5.opt.
(i[34567]86-*-pe, i[34567]86-*-cygwin*, i[34567]86-*-mingw32*)
(i[34567]86-*-uwin*): Likewise i386/cygming.opt.
* config/darwin.h (darwin_one_byte_bool, darwin_fix_and_continue)
(darwin_fix_and_continue_switch, SUBTARGET_OPTIONS): Delete.
* config/darwin.c (darwin_one_byte_bool, darwin_fix_and_continue)
(darwin_fix_and_continue_switch): Delete.
* config/lynx.h (SUBTARGET_OS_LYNX_SWITCHES): Delete.
(SUBTARGET_SWITCHES): Delete.
* config/i386/i386.h (target_flags, MASK_80387, MASK_RTD)
(MASK_ALIGN_DOUBLE, MASK_SVR3_SHLIB, MASK_IEEE_FP, MASK_FLOAT_RETURNS)
(MASK_NO_FANCY_MATH_387, MASK_OMIT_LEAF_FRAME_POINTER)
(MASK_STACK_PROBE, MASK_NO_ALIGN_STROPS, MASK_INLINE_ALL_STROPS)
(MASK_NO_PUSH_ARGS, MASK_ACCUMULATE_OUTGOING_ARGS, MASK_MMX)
(MASK_SSE, MASK_SSE2, MASK_SSE3, MASK_3DNOW, MASK_3DNOW_A)
(MASK_128BIT_LONG_DOUBLE, MASK_64BIT, MASK_MS_BITFIELD_LAYOUT)
(MASK_TLS_DIRECT_SEG_REFS, MASK_NO_RED_ZONE, TARGET_80387)
(TARGET_RTD, TARGET_ALIGN_DOUBLE, TARGET_PUSH_ARGS)
(TARGET_ACCUMULATE_OUTGOING_ARGS, TARGET_SVR3_SHLIB, TARGET_IEEE_FP)
(TARGET_128BIT_LONG_DOUBLE, TARGET_NO_FANCY_MATH_387)
(TARGET_USE_FANCY_MATH_387, TARGET_OMIT_LEAF_FRAME_POINTER)
(TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Delete.
(TARGET_FLOAT_RETURNS_IN_80387): Make an alias of TARGET_FLOAT_RETURNS.
(TARGET_64BIT): Undef before redefining.
(TARGET_TLS_DIRECT_SEG_REFS, TARGET_STACK_PROBE)
(TARGET_ALIGN_STRINGOPS, TARGET_INLINE_ALL_STRINGOPS, TARGET_SSE)
(TARGET_SSE2, TARGET_SSE3, TARGET_MMX, TARGET_3DNOW, TARGET_3DNOW_A)
(TARGET_RED_ZONE, TARGET_USE_MS_BITFIELD_LAYOUT, TARGET_SWITCHES)
(TARGET_OPTIONS, SUBTARGET_SWITCHES, SUBTARGET_OPTIONS)
(ix86_fpmath_string, ix86_tls_dialect_string, ix86_cmodel_string)
(ix86_asm_string, ix86_regparm, ix86_regparm_string)
(ix86_preferred_stack_boundary_string, ix86_branch_cost_string)
(ix86_debug_arg_string, ix86_debug_addr_string)
(ix86_align_loops_string, ix86_align_jumps_string)
(ix86_align_funcs_string): Delete.
* config/i386/cygming.h (MASK_NOP_FUN_DLLIMPORT)
(TARGET_NOP_FUN_DLLIMPORT, SUBTARGET_SWITCHES): Delete.
* config/i386/djgpp.h (MASK_BNU210, SUBTARGET_SWITCHES): Delete.
(SUBTARGET_OVERRIDE_OPTIONS): Check TARGET_BNU210.
* config/i386/lynx.h (SUBTARGET_SWITCHES): Delete.
* config/i386/sco5.h (MASK_COFF, TARGET_ELF)
(SUBTARGET_SWITCHES): Delete.
* config/i386/i386.c (ix86_debug_arg_string): Delete.
(ix86_debug_addr_string): Delete.
(ix86_cmodel_string, ix86_asm_string, ix86_tls_dialect_string)
(ix86_fpmath_string, ix86_regparm_string, ix86_regparm)
(ix86_align_loops_string, ix86_align_jumps_string)
(ix86_preferred_stack_boundary_string, ix86_branch_cost_string)
(ix86_align_funcs_string): Make static.
(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
(ix86_handle_option): New function.
(TARGET_USE_MS_BITFIELD_LAYOUT): Delete.
(ix86_ms_bitfield_layout_p): Check TARGET_MS_BITFIELD_LAYOUT.
* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Remove handling
of darwin_fix_and_continue_switch.
(darwin_one_byte_bool): Delete.
* config/rs6000/lynx.h (EXTRA_SUBTARGET_SWITCHES): Delete.
* config/rs6000/rs6000.c (rs6000_override_options): Update assignment
to darwin_one_byte_bool.
* config/darwin.opt, config/lynx.opt, config/i386/cygming.opt,
* config/i386/djgpp.opt, config/i386/i386.opt,
* config/i386/sco5.opt: New files.
From-SVN: r98495
2005-04-21 09:35:09 +02:00
|
|
|
extra_options="${extra_options} i386/cygming.opt"
|
2004-06-05 09:28:27 +02:00
|
|
|
target_gtfiles="\$(srcdir)/config/i386/winnt.c"
|
2000-11-17 11:42:45 +01:00
|
|
|
if test x$enable_threads = xyes; then
|
|
|
|
thread_file='win32'
|
|
|
|
fi
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2001-11-28 22:41:54 +01:00
|
|
|
i[34567]86-*-interix3*)
|
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 05:49:19 +02:00
|
|
|
tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/i386-interix.h i386/i386-interix3.h interix.h interix3.h"
|
config.gcc: Do per-target disabling of fixproto here in clauses, not in t- fragments.
* config.gcc: Do per-target disabling of fixproto here in clauses,
not in t- fragments.
* configure.in: Adjust to set STMP_FIXPROTO correctly.
* configure: Regenerate.
* config/arm/t-semi, config/cris/t-cris, config/i386/t-beos,
config/i386/t-cygming, config/i386/t-nto, config/ia64/t-hpux,
t-freebsd, t-linux, t-netbsd, t-openbsd, t-rtems, t-vxworks,
xtensa/t-xtensa: Remove setting of STMP_FIXPROTO.
* config/i370/t-oe, config/i386/t-netware, config/pa/t-bsd,
t-interix, t-linux-aout: Delete files consisting only of
setting of STMP_FIXPROTO.
From-SVN: r71687
2003-09-23 20:56:00 +02:00
|
|
|
tmake_file="i386/t-interix"
|
2002-08-05 20:53:16 +02:00
|
|
|
extra_objs=winnt.o
|
2004-06-05 09:28:27 +02:00
|
|
|
target_gtfiles="\$(srcdir)/config/i386/winnt.c"
|
2001-11-28 22:41:54 +01:00
|
|
|
if test x$enable_threads = xyes ; then
|
|
|
|
thread_file='posix'
|
|
|
|
fi
|
|
|
|
if test x$stabs = xyes ; then
|
|
|
|
tm_file="${tm_file} dbxcoff.h"
|
|
|
|
fi
|
|
|
|
;;
|
2003-06-12 07:18:12 +02:00
|
|
|
i[34567]86-*-kaos*)
|
|
|
|
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h kaos.h i386/kaos-i386.h"
|
|
|
|
tmake_file="i386/t-i386elf t-svr4"
|
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
ia64*-*-elf*)
|
2001-12-06 18:34:55 +01:00
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h ia64/sysv4.h ia64/elf.h"
|
2000-11-17 11:42:45 +01:00
|
|
|
tmake_file="ia64/t-ia64"
|
|
|
|
target_cpu_default="0"
|
|
|
|
if test x$gas = xyes
|
|
|
|
then
|
|
|
|
target_cpu_default="${target_cpu_default}|MASK_GNU_AS"
|
|
|
|
fi
|
|
|
|
if test x$gnu_ld = xyes
|
|
|
|
then
|
|
|
|
target_cpu_default="${target_cpu_default}|MASK_GNU_LD"
|
|
|
|
fi
|
2002-09-13 23:12:18 +02:00
|
|
|
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2001-11-10 02:07:17 +01:00
|
|
|
ia64*-*-freebsd*)
|
2002-04-12 02:54:42 +02:00
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} ia64/sysv4.h ia64/freebsd.h"
|
2001-11-10 02:07:17 +01:00
|
|
|
target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
|
|
|
|
tmake_file="${tmake_file} ia64/t-ia64"
|
2002-09-13 23:12:18 +02:00
|
|
|
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
|
2001-11-10 02:07:17 +01:00
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
ia64*-*-linux*)
|
2001-12-06 18:34:55 +01:00
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h ia64/sysv4.h ia64/linux.h"
|
2004-09-04 02:15:42 +02:00
|
|
|
tmake_file="${tmake_file} ia64/t-ia64 t-libunwind ia64/t-glibc"
|
|
|
|
if test x$with_system_libunwind != xyes ; then
|
|
|
|
tmake_file="${tmake_file} t-libunwind-elf ia64/t-glibc-libunwind"
|
|
|
|
fi
|
2000-11-17 11:42:45 +01:00
|
|
|
target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
|
2002-09-13 23:12:18 +02:00
|
|
|
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2001-03-16 05:39:20 +01:00
|
|
|
ia64*-*-hpux*)
|
target.h (init_libfuncs): New hook.
* target.h (init_libfuncs): New hook.
* target-def.h: Default TARGET_INIT_BUILTINS and
TARGET_INIT_LIBFUNCS to hook_void_void. Add
TARGET_INIT_LIBFUNCS to TARGET_INITIALIZER.
* builtins.c (default_init_builtins): Delete.
* expr.h (default_init_builtins): Delete prototype.
* doc/tm.texi: Document TARGET_INIT_LIBFUNCS and US_SOFTWARE_GOFAST.
Tweak documentation of TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL.
Remove documentation of INIT_TARGET_OPTABS, MULSI3_LIBCALL,
DIVSI3_LIBCALL, UDIVSI3_LIBCALL, MODSI3_LIBCALL, UMODSI3_LIBCALL,
MULDI3_LIBCALL, DIVDI3_LIBCALL, UDIVDI3_LIBCALL, MODDI3_LIBCALL,
and UMODDI3_LIBCALL,
* Makefile.in (optabs.o): Depends on target.h.
* defaults.h: Provide default for FLOAT_LIB_COMPARE_RETURNS_BOOL.
* optabs.c: Include target.h.
(prepare_float_lib_cmp): No need for #ifdef around use of
FLOAT_LIB_COMPARE_RETURNS_BOOL.
(set_optab_libfunc): New function.
(init_optabs): Delete use of all *_LIBCALL defines.
Call targetm.init_libfuncs not INIT_TARGET_OPTABS.
* optabs.h: Prototype set_optab_libfunc.
* config.gcc: Remove all references to pa/long_double.h,
ia64/hpux_longdouble.h, and gofast.h.
(mips-*-*): When --enable-gofast, just add US_SOFTWARE_GOFAST
to tm_defines; don't set INIT_SUBTARGET_OPTABS or change tm_file.
* config/alpha/alpha.c, config/c4x/c4x.c, config/cris/cris.c
* config/frv/frv.c, config/h8300/h8300.c, config/i860/i860.c
* config/ia64/ia64.c, config/ip2k/ip2k.c, config/m68hc11/m68hc11.c
* config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
* config/sparc/sparc.c, config/vax/vax.c:
Provide a definition for TARGET_INIT_LIBFUNCS. Where
necessary, include optabs.h, libfuncs.h, and/or config/gofast.h.
* config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.h
* config/avr/avr.h, config/cris/cris.h, config/frv/frv.h
* config/h8300/h8300.h, config/i860/i860.h, config/ip2k/ip2k.h
* config/iq2000/iq2000.h, config/m68hc11/m68hc11.h, config/mips/mips.h
* config/rs6000/aix.h, config/rs6000/sysv4.h, config/sparc/elf.h
* config/sparc/lite.h, config/sparc/netbsd-elf.h, config/sparc/sol2.h
* config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h
* config/vax/elf.h: Don't define or use INIT_TARGET_OPTABS,
INIT_SUBTARGET_OPTABS, or any *_LIBCALL macros.
* config/ia64/hpux.h: Redefine INTEL_EXTENDED_IEEE_FORMAT to 0.
Set TARGET_INIT_LIBFUNCS and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
* config/pa/pa-hpux.h: Define LONG_DOUBLE_TYPE_SIZE,
HPUX_LONG_DOUBLE_LIBRARY, and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
* config/ia64/hpux_longdouble.h, config/pa/long_double.h: Delete.
* config/rs6000/xcoff.h: Don't define RS6000_ITRUNC nor RS6000_UITRUNC.
* config/sparc/sparc.h: Default SUN_CONVERSION_LIBFUNCS and
SUN_INTEGER_MULTIPLY_64 to 0.
* config/sparc/sol2.h: Redefine SUN_CONVERSION_LIBFUNCS and
SUN_INTEGER_MULTIPLY_64 to 1.
* config/sparc/elf.h: Redefine SUN_CONVERSION_LIBFUNCS and
SUN_INTEGER_MULTIPLY_64 to 0.
* config/sparc/lite.h, config/sparc/liteelf.h, config/sparc/sp86x-elf.h:
Define US_SOFTWARE_GOFAST.
* config/vax/vax.h: Default TARGET_ELF to 0.
* config/vax/elf.h: Redefine TARGET_ELF to 1.
* config/gofast.h: Don't define any macros here. Provide one
static function, gofast_maybe_init_libfuncs, which does what
INIT_GOFAST_LIBFUNCS used to do but only if US_SOFTWARE_GOFAST
is already defined. Do not clear negation libfuncs. Do
not mess with HFmode, XFmode, or TFmode libfuncs.
* config/avr/avr.c (avr_init_once): #if 0 out; mark FIXME.
From-SVN: r72009
2003-10-02 02:44:29 +02:00
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h ia64/sysv4.h ia64/hpux.h"
|
2001-06-26 05:50:48 +02:00
|
|
|
tmake_file="ia64/t-ia64 ia64/t-hpux"
|
2001-03-16 05:39:20 +01:00
|
|
|
target_cpu_default="MASK_GNU_AS"
|
2003-08-26 08:54:15 +02:00
|
|
|
case x$enable_threads in
|
|
|
|
xyes | xposix )
|
|
|
|
thread_file=posix
|
|
|
|
;;
|
|
|
|
esac
|
2002-06-24 18:06:21 +02:00
|
|
|
use_collect2=no
|
2002-09-03 21:47:10 +02:00
|
|
|
c_target_objs="ia64-c.o"
|
|
|
|
cxx_target_objs="ia64-c.o"
|
config.gcc (ia64*-*-hpux*): Add extra_options.
* config.gcc (ia64*-*-hpux*): Add extra_options.
* config/ia64/hpux.h (SUBTARGET_SWITCHES): Remove.
(TARGET_DEFAULT): Remove MASK_INLINE_FLOAT_DIV_THR.
* config/ia64/ia64.c (ia64_fixed_range_string): Remove.
(ia64_tls_size_string, ia64_tune_string): Remove.
(ia64_tune): Init to PROCESSOR_ITANIUM2.
(TARGET_DEFAULT_TARGET_FLAGS): New.
(TARGET_HANDLE_OPTION): New.
(ia64_override_options): Move options parsing ...
(ia64_handle_option): ... here. New.
* config/ia64/ia64.h (target_flags, MASK_BIG_ENDIAN, MASK_GNU_AS,
MASK_GNU_LD, MASK_NO_PIC, MASK_VOL_ASM_STOP, MASK_ILP32,
MASK_REG_NAMES, MASK_NO_SDATA, MASK_CONST_GP, MASK_AUTO_PIC,
MASK_INLINE_FLOAT_DIV_LAT, MASK_INLINE_FLOAT_DIV_THR,
MASK_INLINE_INT_DIV_LAT, MASK_INLINE_INT_DIV_THR,
MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR, MASK_DWARF2_ASM,
MASK_EARLY_STOP_BITS, TARGET_BIG_ENDIAN, TARGET_GNU_AS, TARGET_GNU_LD,
TARGET_NO_PIC, TARGET_VOL_ASM_STOP, TARGET_ILP32, TARGET_REG_NAMES,
TARGET_NO_SDATA, TARGET_CONST_GP, TARGET_AUTO_PIC,
TARGET_INLINE_FLOAT_DIV_LAT, TARGET_INLINE_FLOAT_DIV_THR,
TARGET_INLINE_INT_DIV_LAT, TARGET_INLINE_INT_DIV_THR,
TARGET_INLINE_FLOAT_DIV, TARGET_INLINE_INT_DIV, TARGET_INLINE_SQRT_LAT,
TARGET_INLINE_SQRT_THR, TARGET_INLINE_SQRT, TARGET_DWARF2_ASM,
TARGET_EARLY_STOP_BITS): Remove.
(TARGET_ILP32): Default false.
(TARGET_SWITCHES, SUBTARGET_SWITCHES, TARGET_OPTIONS): Remove.
(enum ia64_inline_type): New.
(TARGET_DEFAULT): Remove MASK_INLINE_FLOAT_DIV_THR.
* config/ia64/ia64.md: Update for new definitions of
TARGET_INLINE_INT_DIV, TARGET_INLINE_FLOAT_DIV, TARGET_INLINE_SQRT.
* config/ia64/ia64.opt: New file.
* config/ia64/ilp32.opt: New file.
From-SVN: r96621
2005-03-17 18:35:16 +01:00
|
|
|
extra_options="${extra_options} ia64/ilp32.opt"
|
config.gcc: Do per-target disabling of fixproto here in clauses, not in t- fragments.
* config.gcc: Do per-target disabling of fixproto here in clauses,
not in t- fragments.
* configure.in: Adjust to set STMP_FIXPROTO correctly.
* configure: Regenerate.
* config/arm/t-semi, config/cris/t-cris, config/i386/t-beos,
config/i386/t-cygming, config/i386/t-nto, config/ia64/t-hpux,
t-freebsd, t-linux, t-netbsd, t-openbsd, t-rtems, t-vxworks,
xtensa/t-xtensa: Remove setting of STMP_FIXPROTO.
* config/i370/t-oe, config/i386/t-netware, config/pa/t-bsd,
t-interix, t-linux-aout: Delete files consisting only of
setting of STMP_FIXPROTO.
From-SVN: r71687
2003-09-23 20:56:00 +02:00
|
|
|
# If we decide to run fixproto we should define FIXPROTO_DEFINES
|
|
|
|
# in ia64/t-hpux, and also fix the definition of putenv in
|
|
|
|
# sys-protos.h (const char not char).
|
2001-03-16 05:39:20 +01:00
|
|
|
;;
|
2003-08-08 13:30:25 +02:00
|
|
|
iq2000*-*-elf*)
|
Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* config.gcc (*-*-openbsd): Don't set tm_file.
(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
xscale-*-coff): Use explicit and complete lists of target headers
to include. Move definitions to tm_defines where appropriate.
(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
not-yet-contributed configuration.
* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
* config/i386/nto.h, config/iq2000/iq2000.h,
* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
* config/m68k/linux.h, config/m68k/m68k-aout.h
* config/m68k/m68k-none.h, config/m68k/m68kv4.h
* config/m68k/netbsd.h, config/m68k/openbsd.h
* config/m68k/sgs.h, config/mcore/mcore-pe.h,
* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
Remove includes of other target config headers, and
definitions of macros moved to tm_defines lists. Add #undefs
where now necessary to prevent redefinition warnings.
* config/h8300/coff.h: New file split out of...
* config/h8300/elf.h: ...here.
* config/m68k/hp320base.h: New file split out of...
* config/m68k/hp320.h: ...here.
* config/rs6000/lynxbase.h: New file split out of...
* config/rs6000/lynx.h: ...here.
* config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
* config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
* config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
* config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
* config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
Remove unnecessary #ifndef.
* config/s390/s390.h: Prefix #include of s390/fixdfdi.h
[under IN_LIBGCC2] with config/.
From-SVN: r70651
2003-08-21 19:27:29 +02:00
|
|
|
tm_file="svr4.h elfos.h iq2000/iq2000.h"
|
2003-08-08 13:30:25 +02:00
|
|
|
tmake_file=iq2000/t-iq2000
|
|
|
|
out_file=iq2000/iq2000.c
|
|
|
|
md_file=iq2000/iq2000.md
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2003-08-08 13:30:25 +02:00
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
m32r-*-elf*)
|
2001-12-06 18:34:55 +01:00
|
|
|
tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
|
2003-06-05 11:12:02 +02:00
|
|
|
extra_parts="crtinit.o crtfini.o"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2003-06-02 14:11:49 +02:00
|
|
|
;;
|
2003-12-31 11:33:02 +01:00
|
|
|
m32rle-*-elf*)
|
|
|
|
tm_file="dbxelf.h elfos.h svr4.h m32r/little.h ${tm_file}"
|
|
|
|
extra_parts="crtinit.o crtfini.o m32rx/crtinit.o m32rx/crtfini.o"
|
|
|
|
use_fixproto=yes
|
|
|
|
;;
|
|
|
|
m32r-*-linux*)
|
|
|
|
tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} m32r/linux.h"
|
2004-03-01 16:12:57 +01:00
|
|
|
# We override the tmake_file for linux -- why?
|
2004-11-24 11:14:08 +01:00
|
|
|
tmake_file="t-slibgcc-elf-ver m32r/t-linux"
|
2003-12-31 11:33:02 +01:00
|
|
|
gnu_ld=yes
|
|
|
|
use_fixproto=yes
|
|
|
|
if test x$enable_threads = xyes; then
|
|
|
|
thread_file='posix'
|
|
|
|
fi
|
|
|
|
;;
|
|
|
|
m32rle-*-linux*)
|
|
|
|
tm_file="dbxelf.h elfos.h svr4.h linux.h m32r/little.h ${tm_file} m32r/linux.h"
|
2004-03-01 16:12:57 +01:00
|
|
|
# We override the tmake_file for linux -- why?
|
2004-11-24 11:14:08 +01:00
|
|
|
tmake_file="t-slibgcc-elf-ver m32r/t-linux"
|
2003-12-31 11:33:02 +01:00
|
|
|
gnu_ld=yes
|
|
|
|
use_fixproto=yes
|
|
|
|
if test x$enable_threads = xyes; then
|
|
|
|
thread_file='posix'
|
|
|
|
fi
|
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
# m68hc11 and m68hc12 share the same machine description.
|
|
|
|
m68hc11-*-*|m6811-*-*)
|
2001-12-06 18:34:55 +01:00
|
|
|
tm_file="dbxelf.h elfos.h m68hc11/m68hc11.h"
|
2000-11-17 11:42:45 +01:00
|
|
|
tm_p_file="m68hc11/m68hc11-protos.h"
|
|
|
|
md_file="m68hc11/m68hc11.md"
|
|
|
|
out_file="m68hc11/m68hc11.c"
|
|
|
|
tmake_file="m68hc11/t-m68hc11-gas"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
|
|
|
m68hc12-*-*|m6812-*-*)
|
2001-12-06 18:34:55 +01:00
|
|
|
tm_file="m68hc11/m68hc12.h dbxelf.h elfos.h m68hc11/m68hc11.h"
|
2000-11-17 11:42:45 +01:00
|
|
|
tm_p_file="m68hc11/m68hc11-protos.h"
|
|
|
|
md_file="m68hc11/m68hc11.md"
|
|
|
|
out_file="m68hc11/m68hc11.c"
|
|
|
|
tmake_file="m68hc11/t-m68hc11-gas"
|
2005-04-18 12:59:35 +02:00
|
|
|
extra_options="${extra_options} m68hc11/m68hc11.opt"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
|
|
|
m68k-*-aout*)
|
|
|
|
tmake_file=m68k/t-m68kbare
|
Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* config.gcc (*-*-openbsd): Don't set tm_file.
(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
xscale-*-coff): Use explicit and complete lists of target headers
to include. Move definitions to tm_defines where appropriate.
(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
not-yet-contributed configuration.
* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
* config/i386/nto.h, config/iq2000/iq2000.h,
* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
* config/m68k/linux.h, config/m68k/m68k-aout.h
* config/m68k/m68k-none.h, config/m68k/m68kv4.h
* config/m68k/netbsd.h, config/m68k/openbsd.h
* config/m68k/sgs.h, config/mcore/mcore-pe.h,
* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
Remove includes of other target config headers, and
definitions of macros moved to tm_defines lists. Add #undefs
where now necessary to prevent redefinition warnings.
* config/h8300/coff.h: New file split out of...
* config/h8300/elf.h: ...here.
* config/m68k/hp320base.h: New file split out of...
* config/m68k/hp320.h: ...here.
* config/rs6000/lynxbase.h: New file split out of...
* config/rs6000/lynx.h: ...here.
* config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
* config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
* config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
* config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
* config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
Remove unnecessary #ifndef.
* config/s390/s390.h: Prefix #include of s390/fixdfdi.h
[under IN_LIBGCC2] with config/.
From-SVN: r70651
2003-08-21 19:27:29 +02:00
|
|
|
tm_file="m68k/m68k.h m68k/m68k-none.h m68k/m68kemb.h m68k/m68k-aout.h libgloss.h"
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
|
|
|
m68k-*-coff*)
|
|
|
|
tmake_file=m68k/t-m68kbare
|
2006-03-17 00:58:00 +01:00
|
|
|
tm_defines="${tm_defines} MOTOROLA USE_GAS"
|
Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* config.gcc (*-*-openbsd): Don't set tm_file.
(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
xscale-*-coff): Use explicit and complete lists of target headers
to include. Move definitions to tm_defines where appropriate.
(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
not-yet-contributed configuration.
* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
* config/i386/nto.h, config/iq2000/iq2000.h,
* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
* config/m68k/linux.h, config/m68k/m68k-aout.h
* config/m68k/m68k-none.h, config/m68k/m68kv4.h
* config/m68k/netbsd.h, config/m68k/openbsd.h
* config/m68k/sgs.h, config/mcore/mcore-pe.h,
* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
Remove includes of other target config headers, and
definitions of macros moved to tm_defines lists. Add #undefs
where now necessary to prevent redefinition warnings.
* config/h8300/coff.h: New file split out of...
* config/h8300/elf.h: ...here.
* config/m68k/hp320base.h: New file split out of...
* config/m68k/hp320.h: ...here.
* config/rs6000/lynxbase.h: New file split out of...
* config/rs6000/lynx.h: ...here.
* config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
* config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
* config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
* config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
* config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
Remove unnecessary #ifndef.
* config/s390/s390.h: Prefix #include of s390/fixdfdi.h
[under IN_LIBGCC2] with config/.
From-SVN: r70651
2003-08-21 19:27:29 +02:00
|
|
|
tm_file="m68k/m68k.h m68k/m68k-none.h m68k/m68kemb.h dbxcoff.h m68k/coff.h dbx.h"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
|
|
|
m68020-*-elf* | m68k-*-elf*)
|
Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* config.gcc (*-*-openbsd): Don't set tm_file.
(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
xscale-*-coff): Use explicit and complete lists of target headers
to include. Move definitions to tm_defines where appropriate.
(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
not-yet-contributed configuration.
* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
* config/i386/nto.h, config/iq2000/iq2000.h,
* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
* config/m68k/linux.h, config/m68k/m68k-aout.h
* config/m68k/m68k-none.h, config/m68k/m68kv4.h
* config/m68k/netbsd.h, config/m68k/openbsd.h
* config/m68k/sgs.h, config/mcore/mcore-pe.h,
* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
Remove includes of other target config headers, and
definitions of macros moved to tm_defines lists. Add #undefs
where now necessary to prevent redefinition warnings.
* config/h8300/coff.h: New file split out of...
* config/h8300/elf.h: ...here.
* config/m68k/hp320base.h: New file split out of...
* config/m68k/hp320.h: ...here.
* config/rs6000/lynxbase.h: New file split out of...
* config/rs6000/lynx.h: ...here.
* config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
* config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
* config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
* config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
* config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
Remove unnecessary #ifndef.
* config/s390/s390.h: Prefix #include of s390/fixdfdi.h
[under IN_LIBGCC2] with config/.
From-SVN: r70651
2003-08-21 19:27:29 +02:00
|
|
|
tm_file="m68k/m68k.h m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h"
|
2006-03-17 00:58:00 +01:00
|
|
|
tm_defines="${tm_defines} MOTOROLA USE_GAS"
|
2000-11-17 11:42:45 +01:00
|
|
|
tmake_file=m68k/t-m68kelf
|
2001-07-25 03:49:45 +02:00
|
|
|
extra_parts="crtbegin.o crtend.o"
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2002-02-03 21:53:44 +01:00
|
|
|
m68010-*-netbsdelf* | m68k*-*-netbsdelf*)
|
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h m68k/netbsd-elf.h"
|
2006-03-17 00:58:00 +01:00
|
|
|
tm_defines="${tm_defines} MOTOROLA USE_GAS"
|
2003-09-23 23:51:44 +02:00
|
|
|
case ${target} in
|
2002-02-03 21:53:44 +01:00
|
|
|
m68010*)
|
|
|
|
target_cpu_default="0"
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
target_cpu_default="MASK_68020|MASK_68881|MASK_BITFIELD"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
;;
|
2004-02-12 17:36:07 +01:00
|
|
|
m68k*-*-openbsd*)
|
|
|
|
# needed to unconfuse gdb
|
2006-03-17 00:58:00 +01:00
|
|
|
tm_defines="${tm_defines} OBSD_OLD_GAS TARGET_DEFAULT=(MASK_68020|MASK_68881|MASK_BITFIELD)"
|
2004-02-12 17:36:07 +01:00
|
|
|
tm_file="m68k/m68k.h openbsd.h m68k/openbsd.h"
|
|
|
|
tmake_file="t-libc-ok t-openbsd m68k/t-openbsd"
|
|
|
|
# we need collect2 until our bug is fixed...
|
|
|
|
use_collect2=yes
|
|
|
|
;;
|
2003-10-11 06:23:20 +02:00
|
|
|
m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc
|
|
|
|
tm_file="m68k/m68k.h m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/uclinux.h"
|
2006-03-17 00:58:00 +01:00
|
|
|
tm_defines="${tm_defines} MOTOROLA USE_GAS"
|
2003-10-11 06:23:20 +02:00
|
|
|
tmake_file=m68k/t-uclinux
|
|
|
|
use_fixproto=no
|
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
m68k-*-linux*) # Motorola m68k's running GNU/Linux
|
|
|
|
# with ELF format using glibc 2
|
|
|
|
# aka the GNU/Linux C library 6.
|
Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* config.gcc (*-*-openbsd): Don't set tm_file.
(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
xscale-*-coff): Use explicit and complete lists of target headers
to include. Move definitions to tm_defines where appropriate.
(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
not-yet-contributed configuration.
* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
* config/i386/nto.h, config/iq2000/iq2000.h,
* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
* config/m68k/linux.h, config/m68k/m68k-aout.h
* config/m68k/m68k-none.h, config/m68k/m68kv4.h
* config/m68k/netbsd.h, config/m68k/openbsd.h
* config/m68k/sgs.h, config/mcore/mcore-pe.h,
* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
Remove includes of other target config headers, and
definitions of macros moved to tm_defines lists. Add #undefs
where now necessary to prevent redefinition warnings.
* config/h8300/coff.h: New file split out of...
* config/h8300/elf.h: ...here.
* config/m68k/hp320base.h: New file split out of...
* config/m68k/hp320.h: ...here.
* config/rs6000/lynxbase.h: New file split out of...
* config/rs6000/lynx.h: ...here.
* config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
* config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
* config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
* config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
* config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
Remove unnecessary #ifndef.
* config/s390/s390.h: Prefix #include of s390/fixdfdi.h
[under IN_LIBGCC2] with config/.
From-SVN: r70651
2003-08-21 19:27:29 +02:00
|
|
|
tm_file="m68k/m68k.h dbxelf.h elfos.h svr4.h linux.h m68k/linux.h"
|
config.gcc (m68k-*-linux*): Add m68k/ieee.opt to $extra_options.
* config.gcc (m68k-*-linux*): Add m68k/ieee.opt to $extra_options.
* config/m68k/m68k.h (target_flags, MASK_68020, TARGET_68020)
(MASK_68030, TARGET_68030, MASK_68040, TARGET_68040, MASK_68040_ONLY)
(TARGET_68040_ONLY, MASK_68060, TARGET_68060, MASK_5200, TARGET_5200)
(MASK_CFV3, TARGET_CFV3, MASK_CFV4, TARGET_CFV4, MASK_528x)
(TARGET_528x, MASK_CF_HWDIV, TARGET_CF_HWDIV, MASK_68881, TARGET_68881)
(MASK_BITFIELD, TARGET_BITFIELD, MASK_SHORT, TARGET_SHORT)
(MASK_ALIGN_INT, TARGET_ALIGN_INT, MASK_PCREL, TARGET_PCREL)
(MASK_NO_STRICT_ALIGNMENT, TARGET_STRICT_ALIGNMENT, MASK_RTD)
(TARGET_RTD, MASK_SEP_DATA, TARGET_SEP_DATA, MASK_ID_SHARED_LIBRARY)
(TARGET_ID_SHARED_LIBRARY, MASK_ALL_CF_BITS, TARGET_SWITCHES)
(TARGET_OPTIONS, SUBTARGET_SWITCHES, SUBTARGET_OPTIONS): Delete.
(MASK_COLDFIRE): Formatting fixes.
(TARGET_COLDFIRE): Turn into a boolean value for consistency.
* config/m68k/linux.h (SUBTARGET_SWITCHES): Delete.
* config/m68k/m68k.c (m68k_library_id_string): Initialize to
"_current_shared_library_a5_offset_".
(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
(MASK_ALL_CPU_BITS): New macro.
(m68k_handle_option): New function.
(override_options): Remove handling of m68k_library_id_string.
* config/m68k/m68k.opt: New file.
* config/m68k/ieee.opt: New file.
From-SVN: r98017
2005-04-12 12:16:47 +02:00
|
|
|
extra_options="${extra_options} m68k/ieee.opt"
|
2006-03-17 00:58:00 +01:00
|
|
|
tm_defines="${tm_defines} MOTOROLA USE_GAS"
|
2004-02-16 22:39:23 +01:00
|
|
|
# if not configured with --enable-sjlj-exceptions, bump the
|
|
|
|
# libgcc version number
|
|
|
|
if test x$sjlj != x1; then
|
|
|
|
tmake_file="$tmake_file m68k/t-slibgcc-elf-ver"
|
|
|
|
fi
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
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 04:10:46 +02:00
|
|
|
m68k-*-rtems*)
|
2003-09-19 15:27:53 +02:00
|
|
|
tmake_file="m68k/t-m68kbare m68k/t-crtstuff t-rtems m68k/t-rtems"
|
Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* config.gcc (*-*-openbsd): Don't set tm_file.
(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
xscale-*-coff): Use explicit and complete lists of target headers
to include. Move definitions to tm_defines where appropriate.
(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
not-yet-contributed configuration.
* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
* config/i386/nto.h, config/iq2000/iq2000.h,
* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
* config/m68k/linux.h, config/m68k/m68k-aout.h
* config/m68k/m68k-none.h, config/m68k/m68kv4.h
* config/m68k/netbsd.h, config/m68k/openbsd.h
* config/m68k/sgs.h, config/mcore/mcore-pe.h,
* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
Remove includes of other target config headers, and
definitions of macros moved to tm_defines lists. Add #undefs
where now necessary to prevent redefinition warnings.
* config/h8300/coff.h: New file split out of...
* config/h8300/elf.h: ...here.
* config/m68k/hp320base.h: New file split out of...
* config/m68k/hp320.h: ...here.
* config/rs6000/lynxbase.h: New file split out of...
* config/rs6000/lynx.h: ...here.
* config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
* config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
* config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
* config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
* config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
Remove unnecessary #ifndef.
* config/s390/s390.h: Prefix #include of s390/fixdfdi.h
[under IN_LIBGCC2] with config/.
From-SVN: r70651
2003-08-21 19:27:29 +02:00
|
|
|
tm_file="m68k/m68k.h m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h m68k/rtemself.h rtems.h"
|
2006-03-17 00:58:00 +01:00
|
|
|
tm_defines="${tm_defines} MOTOROLA USE_GAS"
|
2001-07-25 03:49:45 +02:00
|
|
|
extra_parts="crtbegin.o crtend.o"
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
|
|
|
mcore-*-elf)
|
2001-12-06 18:34:55 +01:00
|
|
|
tm_file="dbxelf.h elfos.h svr4.h ${tm_file} mcore/mcore-elf.h"
|
2000-11-17 11:42:45 +01:00
|
|
|
tmake_file=mcore/t-mcore
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
|
|
|
mcore-*-pe*)
|
Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* config.gcc (*-*-openbsd): Don't set tm_file.
(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
xscale-*-coff): Use explicit and complete lists of target headers
to include. Move definitions to tm_defines where appropriate.
(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
not-yet-contributed configuration.
* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
* config/i386/nto.h, config/iq2000/iq2000.h,
* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
* config/m68k/linux.h, config/m68k/m68k-aout.h
* config/m68k/m68k-none.h, config/m68k/m68kv4.h
* config/m68k/netbsd.h, config/m68k/openbsd.h
* config/m68k/sgs.h, config/mcore/mcore-pe.h,
* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
Remove includes of other target config headers, and
definitions of macros moved to tm_defines lists. Add #undefs
where now necessary to prevent redefinition warnings.
* config/h8300/coff.h: New file split out of...
* config/h8300/elf.h: ...here.
* config/m68k/hp320base.h: New file split out of...
* config/m68k/hp320.h: ...here.
* config/rs6000/lynxbase.h: New file split out of...
* config/rs6000/lynx.h: ...here.
* config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
* config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
* config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
* config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
* config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
Remove unnecessary #ifndef.
* config/s390/s390.h: Prefix #include of s390/fixdfdi.h
[under IN_LIBGCC2] with config/.
From-SVN: r70651
2003-08-21 19:27:29 +02:00
|
|
|
tm_file="svr3.h dbxcoff.h ${tm_file} mcore/mcore-pe.h"
|
2000-11-17 11:42:45 +01:00
|
|
|
tmake_file=mcore/t-mcore-pe
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
configure.ac (mips*-*-*): Print an error if not using GAS.
* configure.ac (mips*-*-*): Print an error if not using GAS.
* configure: Regenerated.
* doc/install.texi: Remove irix5 bullet from --with-gnu-as. Remove
comments about buggy MIPSpro assemblers.
* config.gcc (mips-sgi-irix[56]*): Combine stanzas. Include elfos.h
before mips.h and iris.h after it. Use t-iris and t-slibgcc-irix.
Use iris5.h only for IRIX 5 configs. Use iris6.h and t-iris6 for
IRIX 6 configs. Define IRIX_USING_GNU_LD if using GNU ld.
* config/mips/iris5.h (TARGET_IRIX, SWITCHES_NEED_SPACES)
(DEFAULT_SIGNED_CHAR, WORD_SWITCH_TAKES_ARG, SUBTARGET_CC1_SPEC)
(NO_IMPLICIT_EXTERN_C, MIPS_DEFAULT_GVALUE)
(TARGET_ASM_EXTERNAL_LIBCALL): Move to iris.h.
(WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS): Delete in favor
of more general IRIX 6 definitions.
(OBJECT_FORMAT_ELF, ASM_OUTPUT_ASCII, ASM_WEAKEN_LABEL)
(HANDLE_SYSV_PRAGMA): Delete in favor of elfos.h definitions.
(TARGET_IRIX5, ABICALLS_ASM_OP, BSS_SECTION_ASM_OP, HAS_INIT_SECTION)
(LD_INIT_SWITCH, LD_FINI_SWITCH, SUBTARGET_ASM_OPTIMIZING_SPEC)
(ASM_FINAL_SPEC, DBX_DEBUGGING_INFO, MIPS_DEBUGGING_INFO)
(PREFERRED_DEBUGGING_TYPE, DWARF2_UNWIND_INFO, SET_FILE_NUMBER)
(LABEL_AFTER_LOC, DOLLARS_IN_IDENTIFIERS, NO_DOLLAR_IN_LABEL)
(TARGET_ASM_NAMED_SECTION, EXTRA_SECTION_FUNCTIONS)
(ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_WEAK_ALIAS)
(SUBTARGET_EXTRA_SPECS): Delete definitions or undefs.
(LINK_SPEC): Move most of definition to iris.h.
(SUBTARGET_LINK_SPEC): New macro.
(IRIX_STARTFILE_SPEC): Fold into...
(STARTFILE_SPEC): ...here.
(IRIX_ENDFILE_SPEC): Fold into...
(ENDFILE_SPEC): ...here.
* config/mips/iris6.h (TARGET_IRIX5): Remove override.
(WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE)
(DWARF_OFFSET_SIZE, DWARF_INITIAL_LENGTH_SIZE, SET_ASM_OP)
(LINK_ELIMINATE_DUPLICATE_LDIRECTORIES, ASM_DECLARE_OBJECT_NAME)
(ASM_FINISH_DECLARE_OBJECT, LOCAL_LABEL_PREFIX): Move to iris.h.
(TARGET_OS_CPP_BUILTINS): Likewise. Guard IRIX6-specific bits.
(DWARF2_UNWIND_INFO, DWARF2_GENERATE_TEXT_SECTION_LABEL)
(SUBTARGET_CPP_SPEC, DWARF2_DEBUGGING_INFO, MIPS_DEBUGGING_INFO)
(PREFERRED_DEBUGGING_TYPE, DWARF2_FRAME_INFO, MD_EXEC_PREFIX)
(ASM_DECLARE_FUNCTION_NAME, ASM_DECLARE_FUNCTION_SIZE)
(FUNCTION_NAME_ALREADY_DECLARED, SUPPORTS_INIT_PRIORITY)
(POPSECTION_ASM_OP, SUBTARGET_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC)
(SUBTARGET_ASM_DEBUGGING_SPEC, SUBTARGET_ASM_OPTIMIZING_SPEC)
(BSS_SECTION_ASM_OP*, READONLY_DATA_SECTION_ASM_OP*)
(EH_FRAME_SECTION_NAME, MUST_USE_SJLJ_EXCEPTIONS, CTORS_SECTION_ASM_OP)
(DTORS_SECTION_ASM_OP, TARGET_ASM_NAMED_SECTION, EH_FRAME_SECTION_NAME)
(ASM_OUTPUT_ALIGN, ASM_OUTPUT_FILENAME, ASM_OUTPUT_ALIGNED_LOCAL)
(ASM_OUTPUT_ALIGNED_BSS): Remove definitions or undefs.
(TARGET_IRIX6): Define to 1.
(DRIVER_SELF_SPECS): Define.
(DWARF2_FRAME_INFO): Define to 1 rather than !TARGET_SGI_O32_AS.
(SUBTARGET_CC1_SPEC): Remove in favor of DRIVER_SELF_SPECS.
(SUBTARGET_LINK_SPEC): New macro.
(IRIX_STARTFILE_SPEC): Fold into...
(STARTFILE_SPEC): ...here. Remove !mabi=* case.
(SUBTARGET_{,DONT_}WARN_UNUSED_SPEC): New macros.
(LIB_SPEC, LIBGCC_SPEC): Use them.
(LIB_SPEC): Remove !mabi=* case.
(IRIX_ENDFILE_SPEC): Fold into...
(ENDFILE_SPEC): ...here. Remove !mabi=* case.
* config/mips/mips-protos.h (irix_output_external_libcall): Delete.
* config/mips/mips.h (TARGET_IRIX5, TARGET_SGI_O32_AS): Delete.
(TARGET_IRIX6): New macro.
(ASM_ABI_DEFAULT_SPEC): Remove !ELF definition.
(MD_EXEC_PREFIX, MD_STARTFILE_PREFIX, SET_FILE_NUMBER)
(LABEL_AFTER_LOC): Delete.
* config/mips/mips.c (TARGET_ASM_FILE_START, TARGET_ASM_FILE_END)
(TARGET_SECTION_TYPE_FLAGS): Remove TARGET_IRIX versions.
(mips_build_builtin_va_list): Check TARGET_IRIX6.
(override_options): Remove TARGET_SGI_O32_AS-related code.
(irix_output_external_libcall): Make static.
(mips_output_filename): Avoid use of SET_FILE_NUMBER and
LABEL_AFTER_LOC.
(mips_file_start): Tidy guard for ABI sections. Remove use of
ABICALLS_ASM_OP; use .abicalls instead.
(mips_output_aligned_decl_common, mips_declare_object_name)
(mips_finish_declare_object): Remove use of TARGET_SGI_O32_AS.
(mips_output_function_prologue): Set TREE_ASM_WRITTEN if emitting
.globl foo .text directives.
(irix_asm_named_section_1, irix_asm_named_section)
(irix_section_align_entry, irix_section_align_htab)
(irix_orig_asm_out_file, irix_section_align_entry_eq)
(irix_section_align_entry_hash, irix_asm_output_align)
(irix_file_start, irix_section_align_1, copy_file_data)
(irix_file_end, irix_section_type_flags): Delete.
* config/mips/irix-crti.asm (__gcc_init): Move to .gcc_init section.
Use standard section syntax. Remove protective "jr $31".
(__gcc_fini): Likewise .gcc_fini.
* config/mips/irix-crtn.asm: Adjust sections accordingly.
* config/mips/sdb.h (PUT_SDB_SIZE, PUT_SDB_TYPE): Moved from
iris5gas.h.
* config/mips/t-iris (irix-crti.o, irix-crtn.o): New rules, moved
from t-irix-gld.
(EXTRA_MULTILIB_PARTS): Define.
* config/mips/t-iris6: Remove bogus comment.
(EXTRA_MULTILIB_PARTS, CRTSTUFF_T_CFLAGS): Delete.
* config/mips/iris5gas.h, config/mips/iris5gld.h,
config/mips/iris6gas.h, config/mips/iris6gld.h,
config/mips/t-iris5-as, config/mips/t-iris5-gas
config/mips/t-irix-gld: Delete.
* config/mips/iris.h: New file.
* config/mips/t-slibgcc-irix: Renamed from t-iris5-6.
From-SVN: r86309
2004-08-20 12:21:02 +02:00
|
|
|
mips-sgi-irix[56]*)
|
|
|
|
tm_file="elfos.h ${tm_file} mips/iris.h"
|
|
|
|
tmake_file="mips/t-iris mips/t-slibgcc-irix"
|
config.gcc (mips-*-*): Remove definitions of MASK_GAS and OBJECT_FORMAT_ELF.
* config.gcc (mips-*-*): Remove definitions of MASK_GAS and
OBJECT_FORMAT_ELF. Set MASK_SPLIT_ADDR by default if using GNU ld.
* config/mips/mips.h (MASK_GAS): Delete. Shuffle later masks down.
(TARGET_GAS, TARGET_MIPS_AS): Delete.
(TARGET_GPWORD): Define to true for n32 on IRIX.
(TARGET_SWITCHES): Remove -mmips-as. Turn -mgas into a no-op.
(MIPS_AS_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC): Delete.
(GAS_ASM_SPEC): Delete, folding into ASM_SPEC.
(ASM_ABI_DEFAULT_SPEC, TARGET_ASM_SPEC): Delete.
(MDEBUG_ASM_SPEC): Delete, folding into...
(SUBTARGET_ASM_DEBUGGING_SPEC): ...here.
(ASM_SPEC): Inline old GAS_ASM_SPEC. Use GNU names for ABI switches.
(EXTRA_SPECS): Remove mips_as_asm_spec, gas_asm_spec, target_asm_spec,
subtarget_mips_as_asm_spec, mdebug_asm_spec. Use MULTILIB_ABI_DEFAULT
to define asm_abi_default_spec.
(ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): Delete.
(TARGET_ASM_SELECT_SECTION): Delete.
* config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): Define to 0x7ff0
for non-mips16 code, removing previous workaround for SGI assemblers.
(TARGET_ASM_INTEGER, mips_assemble_integer): Delete.
(TARGET_ASM_ALIGNED_DI_OP): Define this instead.
(override_options): Remove !TARGET_GAS and !have_named_sections code.
(print_operand): Fold TARGET_GAS conditionals into asm strings.
(mips_output_filename): Remove !TARGET_GAS code. Replace use of
ASM_STABS_OP and ASM_STABN_OP.
(mips_file_start): Remove TARGET_MIPS_AS/TARGET_GAS checks.
(mips_output_aligned_decl_common): Remove mention of SGI o32 assembler.
(mips_output_function_prologue): Remove !TARGET_GAS code.
(mips_select_rtx_section): Remove !have_named_sections code.
(mips_select_section): Delete.
* config/mips/mips.md (trap): Remove !TARGET_GAS check.
* config/mips/linux.h (TARGET_DEFAULT): Remove use of MASK_GAS.
* config/mips/sdb.h (PUT_SDB_DEF, PUT_SDB_PLAIN_DEF): Delete.
(PUT_SDB_BLOCK_START, PUT_SDB_BLOCK_END): Fold TARGET_GAS conditional.
* config/mips/vxworks.h (ASM_SPEC): As for mips.h.
* config/mips/windiss.h (ASM_SPEC): Likewise.
testsuite/
* gcc.dg/special/mips-abi.exp: Expect gcc to pass the GNU ABI flags
to the assembler. Simplify test accordingly.
(asm_abi_flags): Use GNU names.
(check_mips_abi, default_abi): Use string matches against "-mabi=*"
to check for ABI flags.
From-SVN: r86405
2004-08-23 08:53:46 +02:00
|
|
|
target_cpu_default="MASK_ABICALLS"
|
configure.ac (mips*-*-*): Print an error if not using GAS.
* configure.ac (mips*-*-*): Print an error if not using GAS.
* configure: Regenerated.
* doc/install.texi: Remove irix5 bullet from --with-gnu-as. Remove
comments about buggy MIPSpro assemblers.
* config.gcc (mips-sgi-irix[56]*): Combine stanzas. Include elfos.h
before mips.h and iris.h after it. Use t-iris and t-slibgcc-irix.
Use iris5.h only for IRIX 5 configs. Use iris6.h and t-iris6 for
IRIX 6 configs. Define IRIX_USING_GNU_LD if using GNU ld.
* config/mips/iris5.h (TARGET_IRIX, SWITCHES_NEED_SPACES)
(DEFAULT_SIGNED_CHAR, WORD_SWITCH_TAKES_ARG, SUBTARGET_CC1_SPEC)
(NO_IMPLICIT_EXTERN_C, MIPS_DEFAULT_GVALUE)
(TARGET_ASM_EXTERNAL_LIBCALL): Move to iris.h.
(WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS): Delete in favor
of more general IRIX 6 definitions.
(OBJECT_FORMAT_ELF, ASM_OUTPUT_ASCII, ASM_WEAKEN_LABEL)
(HANDLE_SYSV_PRAGMA): Delete in favor of elfos.h definitions.
(TARGET_IRIX5, ABICALLS_ASM_OP, BSS_SECTION_ASM_OP, HAS_INIT_SECTION)
(LD_INIT_SWITCH, LD_FINI_SWITCH, SUBTARGET_ASM_OPTIMIZING_SPEC)
(ASM_FINAL_SPEC, DBX_DEBUGGING_INFO, MIPS_DEBUGGING_INFO)
(PREFERRED_DEBUGGING_TYPE, DWARF2_UNWIND_INFO, SET_FILE_NUMBER)
(LABEL_AFTER_LOC, DOLLARS_IN_IDENTIFIERS, NO_DOLLAR_IN_LABEL)
(TARGET_ASM_NAMED_SECTION, EXTRA_SECTION_FUNCTIONS)
(ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_WEAK_ALIAS)
(SUBTARGET_EXTRA_SPECS): Delete definitions or undefs.
(LINK_SPEC): Move most of definition to iris.h.
(SUBTARGET_LINK_SPEC): New macro.
(IRIX_STARTFILE_SPEC): Fold into...
(STARTFILE_SPEC): ...here.
(IRIX_ENDFILE_SPEC): Fold into...
(ENDFILE_SPEC): ...here.
* config/mips/iris6.h (TARGET_IRIX5): Remove override.
(WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE)
(DWARF_OFFSET_SIZE, DWARF_INITIAL_LENGTH_SIZE, SET_ASM_OP)
(LINK_ELIMINATE_DUPLICATE_LDIRECTORIES, ASM_DECLARE_OBJECT_NAME)
(ASM_FINISH_DECLARE_OBJECT, LOCAL_LABEL_PREFIX): Move to iris.h.
(TARGET_OS_CPP_BUILTINS): Likewise. Guard IRIX6-specific bits.
(DWARF2_UNWIND_INFO, DWARF2_GENERATE_TEXT_SECTION_LABEL)
(SUBTARGET_CPP_SPEC, DWARF2_DEBUGGING_INFO, MIPS_DEBUGGING_INFO)
(PREFERRED_DEBUGGING_TYPE, DWARF2_FRAME_INFO, MD_EXEC_PREFIX)
(ASM_DECLARE_FUNCTION_NAME, ASM_DECLARE_FUNCTION_SIZE)
(FUNCTION_NAME_ALREADY_DECLARED, SUPPORTS_INIT_PRIORITY)
(POPSECTION_ASM_OP, SUBTARGET_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC)
(SUBTARGET_ASM_DEBUGGING_SPEC, SUBTARGET_ASM_OPTIMIZING_SPEC)
(BSS_SECTION_ASM_OP*, READONLY_DATA_SECTION_ASM_OP*)
(EH_FRAME_SECTION_NAME, MUST_USE_SJLJ_EXCEPTIONS, CTORS_SECTION_ASM_OP)
(DTORS_SECTION_ASM_OP, TARGET_ASM_NAMED_SECTION, EH_FRAME_SECTION_NAME)
(ASM_OUTPUT_ALIGN, ASM_OUTPUT_FILENAME, ASM_OUTPUT_ALIGNED_LOCAL)
(ASM_OUTPUT_ALIGNED_BSS): Remove definitions or undefs.
(TARGET_IRIX6): Define to 1.
(DRIVER_SELF_SPECS): Define.
(DWARF2_FRAME_INFO): Define to 1 rather than !TARGET_SGI_O32_AS.
(SUBTARGET_CC1_SPEC): Remove in favor of DRIVER_SELF_SPECS.
(SUBTARGET_LINK_SPEC): New macro.
(IRIX_STARTFILE_SPEC): Fold into...
(STARTFILE_SPEC): ...here. Remove !mabi=* case.
(SUBTARGET_{,DONT_}WARN_UNUSED_SPEC): New macros.
(LIB_SPEC, LIBGCC_SPEC): Use them.
(LIB_SPEC): Remove !mabi=* case.
(IRIX_ENDFILE_SPEC): Fold into...
(ENDFILE_SPEC): ...here. Remove !mabi=* case.
* config/mips/mips-protos.h (irix_output_external_libcall): Delete.
* config/mips/mips.h (TARGET_IRIX5, TARGET_SGI_O32_AS): Delete.
(TARGET_IRIX6): New macro.
(ASM_ABI_DEFAULT_SPEC): Remove !ELF definition.
(MD_EXEC_PREFIX, MD_STARTFILE_PREFIX, SET_FILE_NUMBER)
(LABEL_AFTER_LOC): Delete.
* config/mips/mips.c (TARGET_ASM_FILE_START, TARGET_ASM_FILE_END)
(TARGET_SECTION_TYPE_FLAGS): Remove TARGET_IRIX versions.
(mips_build_builtin_va_list): Check TARGET_IRIX6.
(override_options): Remove TARGET_SGI_O32_AS-related code.
(irix_output_external_libcall): Make static.
(mips_output_filename): Avoid use of SET_FILE_NUMBER and
LABEL_AFTER_LOC.
(mips_file_start): Tidy guard for ABI sections. Remove use of
ABICALLS_ASM_OP; use .abicalls instead.
(mips_output_aligned_decl_common, mips_declare_object_name)
(mips_finish_declare_object): Remove use of TARGET_SGI_O32_AS.
(mips_output_function_prologue): Set TREE_ASM_WRITTEN if emitting
.globl foo .text directives.
(irix_asm_named_section_1, irix_asm_named_section)
(irix_section_align_entry, irix_section_align_htab)
(irix_orig_asm_out_file, irix_section_align_entry_eq)
(irix_section_align_entry_hash, irix_asm_output_align)
(irix_file_start, irix_section_align_1, copy_file_data)
(irix_file_end, irix_section_type_flags): Delete.
* config/mips/irix-crti.asm (__gcc_init): Move to .gcc_init section.
Use standard section syntax. Remove protective "jr $31".
(__gcc_fini): Likewise .gcc_fini.
* config/mips/irix-crtn.asm: Adjust sections accordingly.
* config/mips/sdb.h (PUT_SDB_SIZE, PUT_SDB_TYPE): Moved from
iris5gas.h.
* config/mips/t-iris (irix-crti.o, irix-crtn.o): New rules, moved
from t-irix-gld.
(EXTRA_MULTILIB_PARTS): Define.
* config/mips/t-iris6: Remove bogus comment.
(EXTRA_MULTILIB_PARTS, CRTSTUFF_T_CFLAGS): Delete.
* config/mips/iris5gas.h, config/mips/iris5gld.h,
config/mips/iris6gas.h, config/mips/iris6gld.h,
config/mips/t-iris5-as, config/mips/t-iris5-gas
config/mips/t-irix-gld: Delete.
* config/mips/iris.h: New file.
* config/mips/t-slibgcc-irix: Renamed from t-iris5-6.
From-SVN: r86309
2004-08-20 12:21:02 +02:00
|
|
|
case ${target} in
|
|
|
|
*-*-irix5*)
|
|
|
|
tm_file="${tm_file} mips/iris5.h"
|
|
|
|
;;
|
|
|
|
|
|
|
|
*-*-irix6*)
|
|
|
|
tm_file="${tm_file} mips/iris6.h"
|
|
|
|
tmake_file="${tmake_file} mips/t-iris6"
|
2006-03-17 00:58:00 +01:00
|
|
|
tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32"
|
configure.ac (mips*-*-*): Print an error if not using GAS.
* configure.ac (mips*-*-*): Print an error if not using GAS.
* configure: Regenerated.
* doc/install.texi: Remove irix5 bullet from --with-gnu-as. Remove
comments about buggy MIPSpro assemblers.
* config.gcc (mips-sgi-irix[56]*): Combine stanzas. Include elfos.h
before mips.h and iris.h after it. Use t-iris and t-slibgcc-irix.
Use iris5.h only for IRIX 5 configs. Use iris6.h and t-iris6 for
IRIX 6 configs. Define IRIX_USING_GNU_LD if using GNU ld.
* config/mips/iris5.h (TARGET_IRIX, SWITCHES_NEED_SPACES)
(DEFAULT_SIGNED_CHAR, WORD_SWITCH_TAKES_ARG, SUBTARGET_CC1_SPEC)
(NO_IMPLICIT_EXTERN_C, MIPS_DEFAULT_GVALUE)
(TARGET_ASM_EXTERNAL_LIBCALL): Move to iris.h.
(WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS): Delete in favor
of more general IRIX 6 definitions.
(OBJECT_FORMAT_ELF, ASM_OUTPUT_ASCII, ASM_WEAKEN_LABEL)
(HANDLE_SYSV_PRAGMA): Delete in favor of elfos.h definitions.
(TARGET_IRIX5, ABICALLS_ASM_OP, BSS_SECTION_ASM_OP, HAS_INIT_SECTION)
(LD_INIT_SWITCH, LD_FINI_SWITCH, SUBTARGET_ASM_OPTIMIZING_SPEC)
(ASM_FINAL_SPEC, DBX_DEBUGGING_INFO, MIPS_DEBUGGING_INFO)
(PREFERRED_DEBUGGING_TYPE, DWARF2_UNWIND_INFO, SET_FILE_NUMBER)
(LABEL_AFTER_LOC, DOLLARS_IN_IDENTIFIERS, NO_DOLLAR_IN_LABEL)
(TARGET_ASM_NAMED_SECTION, EXTRA_SECTION_FUNCTIONS)
(ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_WEAK_ALIAS)
(SUBTARGET_EXTRA_SPECS): Delete definitions or undefs.
(LINK_SPEC): Move most of definition to iris.h.
(SUBTARGET_LINK_SPEC): New macro.
(IRIX_STARTFILE_SPEC): Fold into...
(STARTFILE_SPEC): ...here.
(IRIX_ENDFILE_SPEC): Fold into...
(ENDFILE_SPEC): ...here.
* config/mips/iris6.h (TARGET_IRIX5): Remove override.
(WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE)
(DWARF_OFFSET_SIZE, DWARF_INITIAL_LENGTH_SIZE, SET_ASM_OP)
(LINK_ELIMINATE_DUPLICATE_LDIRECTORIES, ASM_DECLARE_OBJECT_NAME)
(ASM_FINISH_DECLARE_OBJECT, LOCAL_LABEL_PREFIX): Move to iris.h.
(TARGET_OS_CPP_BUILTINS): Likewise. Guard IRIX6-specific bits.
(DWARF2_UNWIND_INFO, DWARF2_GENERATE_TEXT_SECTION_LABEL)
(SUBTARGET_CPP_SPEC, DWARF2_DEBUGGING_INFO, MIPS_DEBUGGING_INFO)
(PREFERRED_DEBUGGING_TYPE, DWARF2_FRAME_INFO, MD_EXEC_PREFIX)
(ASM_DECLARE_FUNCTION_NAME, ASM_DECLARE_FUNCTION_SIZE)
(FUNCTION_NAME_ALREADY_DECLARED, SUPPORTS_INIT_PRIORITY)
(POPSECTION_ASM_OP, SUBTARGET_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC)
(SUBTARGET_ASM_DEBUGGING_SPEC, SUBTARGET_ASM_OPTIMIZING_SPEC)
(BSS_SECTION_ASM_OP*, READONLY_DATA_SECTION_ASM_OP*)
(EH_FRAME_SECTION_NAME, MUST_USE_SJLJ_EXCEPTIONS, CTORS_SECTION_ASM_OP)
(DTORS_SECTION_ASM_OP, TARGET_ASM_NAMED_SECTION, EH_FRAME_SECTION_NAME)
(ASM_OUTPUT_ALIGN, ASM_OUTPUT_FILENAME, ASM_OUTPUT_ALIGNED_LOCAL)
(ASM_OUTPUT_ALIGNED_BSS): Remove definitions or undefs.
(TARGET_IRIX6): Define to 1.
(DRIVER_SELF_SPECS): Define.
(DWARF2_FRAME_INFO): Define to 1 rather than !TARGET_SGI_O32_AS.
(SUBTARGET_CC1_SPEC): Remove in favor of DRIVER_SELF_SPECS.
(SUBTARGET_LINK_SPEC): New macro.
(IRIX_STARTFILE_SPEC): Fold into...
(STARTFILE_SPEC): ...here. Remove !mabi=* case.
(SUBTARGET_{,DONT_}WARN_UNUSED_SPEC): New macros.
(LIB_SPEC, LIBGCC_SPEC): Use them.
(LIB_SPEC): Remove !mabi=* case.
(IRIX_ENDFILE_SPEC): Fold into...
(ENDFILE_SPEC): ...here. Remove !mabi=* case.
* config/mips/mips-protos.h (irix_output_external_libcall): Delete.
* config/mips/mips.h (TARGET_IRIX5, TARGET_SGI_O32_AS): Delete.
(TARGET_IRIX6): New macro.
(ASM_ABI_DEFAULT_SPEC): Remove !ELF definition.
(MD_EXEC_PREFIX, MD_STARTFILE_PREFIX, SET_FILE_NUMBER)
(LABEL_AFTER_LOC): Delete.
* config/mips/mips.c (TARGET_ASM_FILE_START, TARGET_ASM_FILE_END)
(TARGET_SECTION_TYPE_FLAGS): Remove TARGET_IRIX versions.
(mips_build_builtin_va_list): Check TARGET_IRIX6.
(override_options): Remove TARGET_SGI_O32_AS-related code.
(irix_output_external_libcall): Make static.
(mips_output_filename): Avoid use of SET_FILE_NUMBER and
LABEL_AFTER_LOC.
(mips_file_start): Tidy guard for ABI sections. Remove use of
ABICALLS_ASM_OP; use .abicalls instead.
(mips_output_aligned_decl_common, mips_declare_object_name)
(mips_finish_declare_object): Remove use of TARGET_SGI_O32_AS.
(mips_output_function_prologue): Set TREE_ASM_WRITTEN if emitting
.globl foo .text directives.
(irix_asm_named_section_1, irix_asm_named_section)
(irix_section_align_entry, irix_section_align_htab)
(irix_orig_asm_out_file, irix_section_align_entry_eq)
(irix_section_align_entry_hash, irix_asm_output_align)
(irix_file_start, irix_section_align_1, copy_file_data)
(irix_file_end, irix_section_type_flags): Delete.
* config/mips/irix-crti.asm (__gcc_init): Move to .gcc_init section.
Use standard section syntax. Remove protective "jr $31".
(__gcc_fini): Likewise .gcc_fini.
* config/mips/irix-crtn.asm: Adjust sections accordingly.
* config/mips/sdb.h (PUT_SDB_SIZE, PUT_SDB_TYPE): Moved from
iris5gas.h.
* config/mips/t-iris (irix-crti.o, irix-crtn.o): New rules, moved
from t-irix-gld.
(EXTRA_MULTILIB_PARTS): Define.
* config/mips/t-iris6: Remove bogus comment.
(EXTRA_MULTILIB_PARTS, CRTSTUFF_T_CFLAGS): Delete.
* config/mips/iris5gas.h, config/mips/iris5gld.h,
config/mips/iris6gas.h, config/mips/iris6gld.h,
config/mips/t-iris5-as, config/mips/t-iris5-gas
config/mips/t-irix-gld: Delete.
* config/mips/iris.h: New file.
* config/mips/t-slibgcc-irix: Renamed from t-iris5-6.
From-SVN: r86309
2004-08-20 12:21:02 +02:00
|
|
|
;;
|
|
|
|
esac
|
|
|
|
if test "x$stabs" = xyes
|
2000-11-17 11:42:45 +01:00
|
|
|
then
|
configure.ac (mips*-*-*): Print an error if not using GAS.
* configure.ac (mips*-*-*): Print an error if not using GAS.
* configure: Regenerated.
* doc/install.texi: Remove irix5 bullet from --with-gnu-as. Remove
comments about buggy MIPSpro assemblers.
* config.gcc (mips-sgi-irix[56]*): Combine stanzas. Include elfos.h
before mips.h and iris.h after it. Use t-iris and t-slibgcc-irix.
Use iris5.h only for IRIX 5 configs. Use iris6.h and t-iris6 for
IRIX 6 configs. Define IRIX_USING_GNU_LD if using GNU ld.
* config/mips/iris5.h (TARGET_IRIX, SWITCHES_NEED_SPACES)
(DEFAULT_SIGNED_CHAR, WORD_SWITCH_TAKES_ARG, SUBTARGET_CC1_SPEC)
(NO_IMPLICIT_EXTERN_C, MIPS_DEFAULT_GVALUE)
(TARGET_ASM_EXTERNAL_LIBCALL): Move to iris.h.
(WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS): Delete in favor
of more general IRIX 6 definitions.
(OBJECT_FORMAT_ELF, ASM_OUTPUT_ASCII, ASM_WEAKEN_LABEL)
(HANDLE_SYSV_PRAGMA): Delete in favor of elfos.h definitions.
(TARGET_IRIX5, ABICALLS_ASM_OP, BSS_SECTION_ASM_OP, HAS_INIT_SECTION)
(LD_INIT_SWITCH, LD_FINI_SWITCH, SUBTARGET_ASM_OPTIMIZING_SPEC)
(ASM_FINAL_SPEC, DBX_DEBUGGING_INFO, MIPS_DEBUGGING_INFO)
(PREFERRED_DEBUGGING_TYPE, DWARF2_UNWIND_INFO, SET_FILE_NUMBER)
(LABEL_AFTER_LOC, DOLLARS_IN_IDENTIFIERS, NO_DOLLAR_IN_LABEL)
(TARGET_ASM_NAMED_SECTION, EXTRA_SECTION_FUNCTIONS)
(ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_WEAK_ALIAS)
(SUBTARGET_EXTRA_SPECS): Delete definitions or undefs.
(LINK_SPEC): Move most of definition to iris.h.
(SUBTARGET_LINK_SPEC): New macro.
(IRIX_STARTFILE_SPEC): Fold into...
(STARTFILE_SPEC): ...here.
(IRIX_ENDFILE_SPEC): Fold into...
(ENDFILE_SPEC): ...here.
* config/mips/iris6.h (TARGET_IRIX5): Remove override.
(WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE)
(DWARF_OFFSET_SIZE, DWARF_INITIAL_LENGTH_SIZE, SET_ASM_OP)
(LINK_ELIMINATE_DUPLICATE_LDIRECTORIES, ASM_DECLARE_OBJECT_NAME)
(ASM_FINISH_DECLARE_OBJECT, LOCAL_LABEL_PREFIX): Move to iris.h.
(TARGET_OS_CPP_BUILTINS): Likewise. Guard IRIX6-specific bits.
(DWARF2_UNWIND_INFO, DWARF2_GENERATE_TEXT_SECTION_LABEL)
(SUBTARGET_CPP_SPEC, DWARF2_DEBUGGING_INFO, MIPS_DEBUGGING_INFO)
(PREFERRED_DEBUGGING_TYPE, DWARF2_FRAME_INFO, MD_EXEC_PREFIX)
(ASM_DECLARE_FUNCTION_NAME, ASM_DECLARE_FUNCTION_SIZE)
(FUNCTION_NAME_ALREADY_DECLARED, SUPPORTS_INIT_PRIORITY)
(POPSECTION_ASM_OP, SUBTARGET_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC)
(SUBTARGET_ASM_DEBUGGING_SPEC, SUBTARGET_ASM_OPTIMIZING_SPEC)
(BSS_SECTION_ASM_OP*, READONLY_DATA_SECTION_ASM_OP*)
(EH_FRAME_SECTION_NAME, MUST_USE_SJLJ_EXCEPTIONS, CTORS_SECTION_ASM_OP)
(DTORS_SECTION_ASM_OP, TARGET_ASM_NAMED_SECTION, EH_FRAME_SECTION_NAME)
(ASM_OUTPUT_ALIGN, ASM_OUTPUT_FILENAME, ASM_OUTPUT_ALIGNED_LOCAL)
(ASM_OUTPUT_ALIGNED_BSS): Remove definitions or undefs.
(TARGET_IRIX6): Define to 1.
(DRIVER_SELF_SPECS): Define.
(DWARF2_FRAME_INFO): Define to 1 rather than !TARGET_SGI_O32_AS.
(SUBTARGET_CC1_SPEC): Remove in favor of DRIVER_SELF_SPECS.
(SUBTARGET_LINK_SPEC): New macro.
(IRIX_STARTFILE_SPEC): Fold into...
(STARTFILE_SPEC): ...here. Remove !mabi=* case.
(SUBTARGET_{,DONT_}WARN_UNUSED_SPEC): New macros.
(LIB_SPEC, LIBGCC_SPEC): Use them.
(LIB_SPEC): Remove !mabi=* case.
(IRIX_ENDFILE_SPEC): Fold into...
(ENDFILE_SPEC): ...here. Remove !mabi=* case.
* config/mips/mips-protos.h (irix_output_external_libcall): Delete.
* config/mips/mips.h (TARGET_IRIX5, TARGET_SGI_O32_AS): Delete.
(TARGET_IRIX6): New macro.
(ASM_ABI_DEFAULT_SPEC): Remove !ELF definition.
(MD_EXEC_PREFIX, MD_STARTFILE_PREFIX, SET_FILE_NUMBER)
(LABEL_AFTER_LOC): Delete.
* config/mips/mips.c (TARGET_ASM_FILE_START, TARGET_ASM_FILE_END)
(TARGET_SECTION_TYPE_FLAGS): Remove TARGET_IRIX versions.
(mips_build_builtin_va_list): Check TARGET_IRIX6.
(override_options): Remove TARGET_SGI_O32_AS-related code.
(irix_output_external_libcall): Make static.
(mips_output_filename): Avoid use of SET_FILE_NUMBER and
LABEL_AFTER_LOC.
(mips_file_start): Tidy guard for ABI sections. Remove use of
ABICALLS_ASM_OP; use .abicalls instead.
(mips_output_aligned_decl_common, mips_declare_object_name)
(mips_finish_declare_object): Remove use of TARGET_SGI_O32_AS.
(mips_output_function_prologue): Set TREE_ASM_WRITTEN if emitting
.globl foo .text directives.
(irix_asm_named_section_1, irix_asm_named_section)
(irix_section_align_entry, irix_section_align_htab)
(irix_orig_asm_out_file, irix_section_align_entry_eq)
(irix_section_align_entry_hash, irix_asm_output_align)
(irix_file_start, irix_section_align_1, copy_file_data)
(irix_file_end, irix_section_type_flags): Delete.
* config/mips/irix-crti.asm (__gcc_init): Move to .gcc_init section.
Use standard section syntax. Remove protective "jr $31".
(__gcc_fini): Likewise .gcc_fini.
* config/mips/irix-crtn.asm: Adjust sections accordingly.
* config/mips/sdb.h (PUT_SDB_SIZE, PUT_SDB_TYPE): Moved from
iris5gas.h.
* config/mips/t-iris (irix-crti.o, irix-crtn.o): New rules, moved
from t-irix-gld.
(EXTRA_MULTILIB_PARTS): Define.
* config/mips/t-iris6: Remove bogus comment.
(EXTRA_MULTILIB_PARTS, CRTSTUFF_T_CFLAGS): Delete.
* config/mips/iris5gas.h, config/mips/iris5gld.h,
config/mips/iris6gas.h, config/mips/iris6gld.h,
config/mips/t-iris5-as, config/mips/t-iris5-gas
config/mips/t-irix-gld: Delete.
* config/mips/iris.h: New file.
* config/mips/t-slibgcc-irix: Renamed from t-iris5-6.
From-SVN: r86309
2004-08-20 12:21:02 +02:00
|
|
|
tm_file="${tm_file} dbx.h mips/dbxmdebug.h"
|
2000-11-17 11:42:45 +01:00
|
|
|
fi
|
t-iris6gld: Renamed to ...
* config/mips/t-iris6gld: Renamed to ...
* config/mips/t-irix-gld: ... this.
* config.gcc (mips-sgi-irix6*): Reflect this
(mips-sgi-irix5*): Use it with GNU ld.
* config/mips/irix6-crti.asm, config/mips/irix6-crtn.asm: Renamed
to ...
* config/mips/irix-crti.asm, config/mips/irix-crtn.asm: ... this.
* config/mips/t-irix-gld: Reflect this.
* config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
* config/mips/iris5gld.h: New file.
* config.gcc (mips-sgi-irix5*): Use it with GNU ld.
Only use collect2 without gas.
* config/mips/iris6.h (IRIX6_STARTFILE_SPEC, IRIX6_ENDFILE_SPEC):
Renamed to IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC.
(STARTFILE_SPEC, ENDFILE_SPEC, SUBTARGET_EXTRA_SPECS): Reflect this.
* config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
* config/mips/iris6.h (SUBTARGET_EXTRA_SPECS): Moved ...
* config/mips/iris5.h: ... here.
* config/mips/iris5.h (STARTFILE_SPEC, ENDFILE_SPEC): Renamed to
IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC.
(STARTFILE_SPEC, ENDFILE_SPEC): Define.
* config/mips/iris5gas.h (STARTFILE_SPEC, ENDFILE_SPEC): Simplify
using irix_startfile_spec, irix_endfile_spec.
From-SVN: r77978
2004-02-17 21:42:53 +01:00
|
|
|
if test "x$gnu_ld" = xyes
|
|
|
|
then
|
configure.ac (mips*-*-*): Print an error if not using GAS.
* configure.ac (mips*-*-*): Print an error if not using GAS.
* configure: Regenerated.
* doc/install.texi: Remove irix5 bullet from --with-gnu-as. Remove
comments about buggy MIPSpro assemblers.
* config.gcc (mips-sgi-irix[56]*): Combine stanzas. Include elfos.h
before mips.h and iris.h after it. Use t-iris and t-slibgcc-irix.
Use iris5.h only for IRIX 5 configs. Use iris6.h and t-iris6 for
IRIX 6 configs. Define IRIX_USING_GNU_LD if using GNU ld.
* config/mips/iris5.h (TARGET_IRIX, SWITCHES_NEED_SPACES)
(DEFAULT_SIGNED_CHAR, WORD_SWITCH_TAKES_ARG, SUBTARGET_CC1_SPEC)
(NO_IMPLICIT_EXTERN_C, MIPS_DEFAULT_GVALUE)
(TARGET_ASM_EXTERNAL_LIBCALL): Move to iris.h.
(WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS): Delete in favor
of more general IRIX 6 definitions.
(OBJECT_FORMAT_ELF, ASM_OUTPUT_ASCII, ASM_WEAKEN_LABEL)
(HANDLE_SYSV_PRAGMA): Delete in favor of elfos.h definitions.
(TARGET_IRIX5, ABICALLS_ASM_OP, BSS_SECTION_ASM_OP, HAS_INIT_SECTION)
(LD_INIT_SWITCH, LD_FINI_SWITCH, SUBTARGET_ASM_OPTIMIZING_SPEC)
(ASM_FINAL_SPEC, DBX_DEBUGGING_INFO, MIPS_DEBUGGING_INFO)
(PREFERRED_DEBUGGING_TYPE, DWARF2_UNWIND_INFO, SET_FILE_NUMBER)
(LABEL_AFTER_LOC, DOLLARS_IN_IDENTIFIERS, NO_DOLLAR_IN_LABEL)
(TARGET_ASM_NAMED_SECTION, EXTRA_SECTION_FUNCTIONS)
(ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_WEAK_ALIAS)
(SUBTARGET_EXTRA_SPECS): Delete definitions or undefs.
(LINK_SPEC): Move most of definition to iris.h.
(SUBTARGET_LINK_SPEC): New macro.
(IRIX_STARTFILE_SPEC): Fold into...
(STARTFILE_SPEC): ...here.
(IRIX_ENDFILE_SPEC): Fold into...
(ENDFILE_SPEC): ...here.
* config/mips/iris6.h (TARGET_IRIX5): Remove override.
(WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE)
(DWARF_OFFSET_SIZE, DWARF_INITIAL_LENGTH_SIZE, SET_ASM_OP)
(LINK_ELIMINATE_DUPLICATE_LDIRECTORIES, ASM_DECLARE_OBJECT_NAME)
(ASM_FINISH_DECLARE_OBJECT, LOCAL_LABEL_PREFIX): Move to iris.h.
(TARGET_OS_CPP_BUILTINS): Likewise. Guard IRIX6-specific bits.
(DWARF2_UNWIND_INFO, DWARF2_GENERATE_TEXT_SECTION_LABEL)
(SUBTARGET_CPP_SPEC, DWARF2_DEBUGGING_INFO, MIPS_DEBUGGING_INFO)
(PREFERRED_DEBUGGING_TYPE, DWARF2_FRAME_INFO, MD_EXEC_PREFIX)
(ASM_DECLARE_FUNCTION_NAME, ASM_DECLARE_FUNCTION_SIZE)
(FUNCTION_NAME_ALREADY_DECLARED, SUPPORTS_INIT_PRIORITY)
(POPSECTION_ASM_OP, SUBTARGET_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC)
(SUBTARGET_ASM_DEBUGGING_SPEC, SUBTARGET_ASM_OPTIMIZING_SPEC)
(BSS_SECTION_ASM_OP*, READONLY_DATA_SECTION_ASM_OP*)
(EH_FRAME_SECTION_NAME, MUST_USE_SJLJ_EXCEPTIONS, CTORS_SECTION_ASM_OP)
(DTORS_SECTION_ASM_OP, TARGET_ASM_NAMED_SECTION, EH_FRAME_SECTION_NAME)
(ASM_OUTPUT_ALIGN, ASM_OUTPUT_FILENAME, ASM_OUTPUT_ALIGNED_LOCAL)
(ASM_OUTPUT_ALIGNED_BSS): Remove definitions or undefs.
(TARGET_IRIX6): Define to 1.
(DRIVER_SELF_SPECS): Define.
(DWARF2_FRAME_INFO): Define to 1 rather than !TARGET_SGI_O32_AS.
(SUBTARGET_CC1_SPEC): Remove in favor of DRIVER_SELF_SPECS.
(SUBTARGET_LINK_SPEC): New macro.
(IRIX_STARTFILE_SPEC): Fold into...
(STARTFILE_SPEC): ...here. Remove !mabi=* case.
(SUBTARGET_{,DONT_}WARN_UNUSED_SPEC): New macros.
(LIB_SPEC, LIBGCC_SPEC): Use them.
(LIB_SPEC): Remove !mabi=* case.
(IRIX_ENDFILE_SPEC): Fold into...
(ENDFILE_SPEC): ...here. Remove !mabi=* case.
* config/mips/mips-protos.h (irix_output_external_libcall): Delete.
* config/mips/mips.h (TARGET_IRIX5, TARGET_SGI_O32_AS): Delete.
(TARGET_IRIX6): New macro.
(ASM_ABI_DEFAULT_SPEC): Remove !ELF definition.
(MD_EXEC_PREFIX, MD_STARTFILE_PREFIX, SET_FILE_NUMBER)
(LABEL_AFTER_LOC): Delete.
* config/mips/mips.c (TARGET_ASM_FILE_START, TARGET_ASM_FILE_END)
(TARGET_SECTION_TYPE_FLAGS): Remove TARGET_IRIX versions.
(mips_build_builtin_va_list): Check TARGET_IRIX6.
(override_options): Remove TARGET_SGI_O32_AS-related code.
(irix_output_external_libcall): Make static.
(mips_output_filename): Avoid use of SET_FILE_NUMBER and
LABEL_AFTER_LOC.
(mips_file_start): Tidy guard for ABI sections. Remove use of
ABICALLS_ASM_OP; use .abicalls instead.
(mips_output_aligned_decl_common, mips_declare_object_name)
(mips_finish_declare_object): Remove use of TARGET_SGI_O32_AS.
(mips_output_function_prologue): Set TREE_ASM_WRITTEN if emitting
.globl foo .text directives.
(irix_asm_named_section_1, irix_asm_named_section)
(irix_section_align_entry, irix_section_align_htab)
(irix_orig_asm_out_file, irix_section_align_entry_eq)
(irix_section_align_entry_hash, irix_asm_output_align)
(irix_file_start, irix_section_align_1, copy_file_data)
(irix_file_end, irix_section_type_flags): Delete.
* config/mips/irix-crti.asm (__gcc_init): Move to .gcc_init section.
Use standard section syntax. Remove protective "jr $31".
(__gcc_fini): Likewise .gcc_fini.
* config/mips/irix-crtn.asm: Adjust sections accordingly.
* config/mips/sdb.h (PUT_SDB_SIZE, PUT_SDB_TYPE): Moved from
iris5gas.h.
* config/mips/t-iris (irix-crti.o, irix-crtn.o): New rules, moved
from t-irix-gld.
(EXTRA_MULTILIB_PARTS): Define.
* config/mips/t-iris6: Remove bogus comment.
(EXTRA_MULTILIB_PARTS, CRTSTUFF_T_CFLAGS): Delete.
* config/mips/iris5gas.h, config/mips/iris5gld.h,
config/mips/iris6gas.h, config/mips/iris6gld.h,
config/mips/t-iris5-as, config/mips/t-iris5-gas
config/mips/t-irix-gld: Delete.
* config/mips/iris.h: New file.
* config/mips/t-slibgcc-irix: Renamed from t-iris5-6.
From-SVN: r86309
2004-08-20 12:21:02 +02:00
|
|
|
tm_defines="${tm_defines} IRIX_USING_GNU_LD"
|
t-iris6gld: Renamed to ...
* config/mips/t-iris6gld: Renamed to ...
* config/mips/t-irix-gld: ... this.
* config.gcc (mips-sgi-irix6*): Reflect this
(mips-sgi-irix5*): Use it with GNU ld.
* config/mips/irix6-crti.asm, config/mips/irix6-crtn.asm: Renamed
to ...
* config/mips/irix-crti.asm, config/mips/irix-crtn.asm: ... this.
* config/mips/t-irix-gld: Reflect this.
* config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
* config/mips/iris5gld.h: New file.
* config.gcc (mips-sgi-irix5*): Use it with GNU ld.
Only use collect2 without gas.
* config/mips/iris6.h (IRIX6_STARTFILE_SPEC, IRIX6_ENDFILE_SPEC):
Renamed to IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC.
(STARTFILE_SPEC, ENDFILE_SPEC, SUBTARGET_EXTRA_SPECS): Reflect this.
* config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
* config/mips/iris6.h (SUBTARGET_EXTRA_SPECS): Moved ...
* config/mips/iris5.h: ... here.
* config/mips/iris5.h (STARTFILE_SPEC, ENDFILE_SPEC): Renamed to
IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC.
(STARTFILE_SPEC, ENDFILE_SPEC): Define.
* config/mips/iris5gas.h (STARTFILE_SPEC, ENDFILE_SPEC): Simplify
using irix_startfile_spec, irix_endfile_spec.
From-SVN: r77978
2004-02-17 21:42:53 +01:00
|
|
|
fi
|
2000-11-17 11:42:45 +01:00
|
|
|
# if test x$enable_threads = xyes; then
|
|
|
|
# thread_file='irix'
|
|
|
|
# fi
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2002-01-22 05:23:07 +01:00
|
|
|
mips*-*-netbsd*) # NetBSD/mips, either endian.
|
config.gcc (mips-*-*): Remove definitions of MASK_GAS and OBJECT_FORMAT_ELF.
* config.gcc (mips-*-*): Remove definitions of MASK_GAS and
OBJECT_FORMAT_ELF. Set MASK_SPLIT_ADDR by default if using GNU ld.
* config/mips/mips.h (MASK_GAS): Delete. Shuffle later masks down.
(TARGET_GAS, TARGET_MIPS_AS): Delete.
(TARGET_GPWORD): Define to true for n32 on IRIX.
(TARGET_SWITCHES): Remove -mmips-as. Turn -mgas into a no-op.
(MIPS_AS_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC): Delete.
(GAS_ASM_SPEC): Delete, folding into ASM_SPEC.
(ASM_ABI_DEFAULT_SPEC, TARGET_ASM_SPEC): Delete.
(MDEBUG_ASM_SPEC): Delete, folding into...
(SUBTARGET_ASM_DEBUGGING_SPEC): ...here.
(ASM_SPEC): Inline old GAS_ASM_SPEC. Use GNU names for ABI switches.
(EXTRA_SPECS): Remove mips_as_asm_spec, gas_asm_spec, target_asm_spec,
subtarget_mips_as_asm_spec, mdebug_asm_spec. Use MULTILIB_ABI_DEFAULT
to define asm_abi_default_spec.
(ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): Delete.
(TARGET_ASM_SELECT_SECTION): Delete.
* config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): Define to 0x7ff0
for non-mips16 code, removing previous workaround for SGI assemblers.
(TARGET_ASM_INTEGER, mips_assemble_integer): Delete.
(TARGET_ASM_ALIGNED_DI_OP): Define this instead.
(override_options): Remove !TARGET_GAS and !have_named_sections code.
(print_operand): Fold TARGET_GAS conditionals into asm strings.
(mips_output_filename): Remove !TARGET_GAS code. Replace use of
ASM_STABS_OP and ASM_STABN_OP.
(mips_file_start): Remove TARGET_MIPS_AS/TARGET_GAS checks.
(mips_output_aligned_decl_common): Remove mention of SGI o32 assembler.
(mips_output_function_prologue): Remove !TARGET_GAS code.
(mips_select_rtx_section): Remove !have_named_sections code.
(mips_select_section): Delete.
* config/mips/mips.md (trap): Remove !TARGET_GAS check.
* config/mips/linux.h (TARGET_DEFAULT): Remove use of MASK_GAS.
* config/mips/sdb.h (PUT_SDB_DEF, PUT_SDB_PLAIN_DEF): Delete.
(PUT_SDB_BLOCK_START, PUT_SDB_BLOCK_END): Fold TARGET_GAS conditional.
* config/mips/vxworks.h (ASM_SPEC): As for mips.h.
* config/mips/windiss.h (ASM_SPEC): Likewise.
testsuite/
* gcc.dg/special/mips-abi.exp: Expect gcc to pass the GNU ABI flags
to the assembler. Simplify test accordingly.
(asm_abi_flags): Use GNU names.
(check_mips_abi, default_abi): Use string matches against "-mabi=*"
to check for ABI flags.
From-SVN: r86405
2004-08-23 08:53:46 +02:00
|
|
|
target_cpu_default="MASK_ABICALLS"
|
Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* config.gcc (*-*-openbsd): Don't set tm_file.
(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
xscale-*-coff): Use explicit and complete lists of target headers
to include. Move definitions to tm_defines where appropriate.
(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
not-yet-contributed configuration.
* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
* config/i386/nto.h, config/iq2000/iq2000.h,
* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
* config/m68k/linux.h, config/m68k/m68k-aout.h
* config/m68k/m68k-none.h, config/m68k/m68kv4.h
* config/m68k/netbsd.h, config/m68k/openbsd.h
* config/m68k/sgs.h, config/mcore/mcore-pe.h,
* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
Remove includes of other target config headers, and
definitions of macros moved to tm_defines lists. Add #undefs
where now necessary to prevent redefinition warnings.
* config/h8300/coff.h: New file split out of...
* config/h8300/elf.h: ...here.
* config/m68k/hp320base.h: New file split out of...
* config/m68k/hp320.h: ...here.
* config/rs6000/lynxbase.h: New file split out of...
* config/rs6000/lynx.h: ...here.
* config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
* config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
* config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
* config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
* config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
Remove unnecessary #ifndef.
* config/s390/s390.h: Prefix #include of s390/fixdfdi.h
[under IN_LIBGCC2] with config/.
From-SVN: r70651
2003-08-21 19:27:29 +02:00
|
|
|
tm_file="elfos.h ${tm_file} mips/elf.h netbsd.h netbsd-elf.h mips/netbsd.h"
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2003-01-19 14:04:24 +01:00
|
|
|
mips64*-*-linux*)
|
|
|
|
tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h mips/linux64.h"
|
2004-03-01 16:12:57 +01:00
|
|
|
tmake_file="${tmake_file} mips/t-linux64"
|
2006-03-16 21:21:11 +01:00
|
|
|
tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_N32"
|
2003-01-19 14:04:24 +01:00
|
|
|
gnu_ld=yes
|
|
|
|
gas=yes
|
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
mips*-*-linux*) # Linux MIPS, either endian.
|
2002-08-02 22:22:35 +02:00
|
|
|
tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h"
|
2003-09-23 23:51:44 +02:00
|
|
|
case ${target} in
|
2001-11-02 03:18:37 +01:00
|
|
|
mipsisa32*-*)
|
|
|
|
target_cpu_default="MASK_SOFT_FLOAT"
|
2006-03-16 21:21:11 +01:00
|
|
|
tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32"
|
2001-11-02 03:18:37 +01:00
|
|
|
;;
|
|
|
|
esac
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* config.gcc (*-*-openbsd): Don't set tm_file.
(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
xscale-*-coff): Use explicit and complete lists of target headers
to include. Move definitions to tm_defines where appropriate.
(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
not-yet-contributed configuration.
* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
* config/i386/nto.h, config/iq2000/iq2000.h,
* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
* config/m68k/linux.h, config/m68k/m68k-aout.h
* config/m68k/m68k-none.h, config/m68k/m68kv4.h
* config/m68k/netbsd.h, config/m68k/openbsd.h
* config/m68k/sgs.h, config/mcore/mcore-pe.h,
* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
Remove includes of other target config headers, and
definitions of macros moved to tm_defines lists. Add #undefs
where now necessary to prevent redefinition warnings.
* config/h8300/coff.h: New file split out of...
* config/h8300/elf.h: ...here.
* config/m68k/hp320base.h: New file split out of...
* config/m68k/hp320.h: ...here.
* config/rs6000/lynxbase.h: New file split out of...
* config/rs6000/lynx.h: ...here.
* config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
* config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
* config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
* config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
* config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
Remove unnecessary #ifndef.
* config/s390/s390.h: Prefix #include of s390/fixdfdi.h
[under IN_LIBGCC2] with config/.
From-SVN: r70651
2003-08-21 19:27:29 +02:00
|
|
|
mips*-*-openbsd*)
|
2006-03-17 00:58:00 +01:00
|
|
|
tm_defines="${tm_defines} OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_OBJECT OBSD_HAS_CORRECT_SPECS"
|
config.gcc (mips-*-*): Remove definitions of MASK_GAS and OBJECT_FORMAT_ELF.
* config.gcc (mips-*-*): Remove definitions of MASK_GAS and
OBJECT_FORMAT_ELF. Set MASK_SPLIT_ADDR by default if using GNU ld.
* config/mips/mips.h (MASK_GAS): Delete. Shuffle later masks down.
(TARGET_GAS, TARGET_MIPS_AS): Delete.
(TARGET_GPWORD): Define to true for n32 on IRIX.
(TARGET_SWITCHES): Remove -mmips-as. Turn -mgas into a no-op.
(MIPS_AS_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC): Delete.
(GAS_ASM_SPEC): Delete, folding into ASM_SPEC.
(ASM_ABI_DEFAULT_SPEC, TARGET_ASM_SPEC): Delete.
(MDEBUG_ASM_SPEC): Delete, folding into...
(SUBTARGET_ASM_DEBUGGING_SPEC): ...here.
(ASM_SPEC): Inline old GAS_ASM_SPEC. Use GNU names for ABI switches.
(EXTRA_SPECS): Remove mips_as_asm_spec, gas_asm_spec, target_asm_spec,
subtarget_mips_as_asm_spec, mdebug_asm_spec. Use MULTILIB_ABI_DEFAULT
to define asm_abi_default_spec.
(ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): Delete.
(TARGET_ASM_SELECT_SECTION): Delete.
* config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): Define to 0x7ff0
for non-mips16 code, removing previous workaround for SGI assemblers.
(TARGET_ASM_INTEGER, mips_assemble_integer): Delete.
(TARGET_ASM_ALIGNED_DI_OP): Define this instead.
(override_options): Remove !TARGET_GAS and !have_named_sections code.
(print_operand): Fold TARGET_GAS conditionals into asm strings.
(mips_output_filename): Remove !TARGET_GAS code. Replace use of
ASM_STABS_OP and ASM_STABN_OP.
(mips_file_start): Remove TARGET_MIPS_AS/TARGET_GAS checks.
(mips_output_aligned_decl_common): Remove mention of SGI o32 assembler.
(mips_output_function_prologue): Remove !TARGET_GAS code.
(mips_select_rtx_section): Remove !have_named_sections code.
(mips_select_section): Delete.
* config/mips/mips.md (trap): Remove !TARGET_GAS check.
* config/mips/linux.h (TARGET_DEFAULT): Remove use of MASK_GAS.
* config/mips/sdb.h (PUT_SDB_DEF, PUT_SDB_PLAIN_DEF): Delete.
(PUT_SDB_BLOCK_START, PUT_SDB_BLOCK_END): Fold TARGET_GAS conditional.
* config/mips/vxworks.h (ASM_SPEC): As for mips.h.
* config/mips/windiss.h (ASM_SPEC): Likewise.
testsuite/
* gcc.dg/special/mips-abi.exp: Expect gcc to pass the GNU ABI flags
to the assembler. Simplify test accordingly.
(asm_abi_flags): Use GNU names.
(check_mips_abi, default_abi): Use string matches against "-mabi=*"
to check for ABI flags.
From-SVN: r86405
2004-08-23 08:53:46 +02:00
|
|
|
target_cpu_default="MASK_ABICALLS"
|
Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* config.gcc (*-*-openbsd): Don't set tm_file.
(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
xscale-*-coff): Use explicit and complete lists of target headers
to include. Move definitions to tm_defines where appropriate.
(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
not-yet-contributed configuration.
* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
* config/i386/nto.h, config/iq2000/iq2000.h,
* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
* config/m68k/linux.h, config/m68k/m68k-aout.h
* config/m68k/m68k-none.h, config/m68k/m68kv4.h
* config/m68k/netbsd.h, config/m68k/openbsd.h
* config/m68k/sgs.h, config/mcore/mcore-pe.h,
* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
Remove includes of other target config headers, and
definitions of macros moved to tm_defines lists. Add #undefs
where now necessary to prevent redefinition warnings.
* config/h8300/coff.h: New file split out of...
* config/h8300/elf.h: ...here.
* config/m68k/hp320base.h: New file split out of...
* config/m68k/hp320.h: ...here.
* config/rs6000/lynxbase.h: New file split out of...
* config/rs6000/lynx.h: ...here.
* config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
* config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
* config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
* config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
* config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
Remove unnecessary #ifndef.
* config/s390/s390.h: Prefix #include of s390/fixdfdi.h
[under IN_LIBGCC2] with config/.
From-SVN: r70651
2003-08-21 19:27:29 +02:00
|
|
|
tm_file="mips/mips.h openbsd.h mips/openbsd.h mips/sdb.h"
|
2003-09-23 23:51:44 +02:00
|
|
|
case ${target} in
|
Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* config.gcc (*-*-openbsd): Don't set tm_file.
(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
xscale-*-coff): Use explicit and complete lists of target headers
to include. Move definitions to tm_defines where appropriate.
(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
not-yet-contributed configuration.
* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
* config/i386/nto.h, config/iq2000/iq2000.h,
* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
* config/m68k/linux.h, config/m68k/m68k-aout.h
* config/m68k/m68k-none.h, config/m68k/m68kv4.h
* config/m68k/netbsd.h, config/m68k/openbsd.h
* config/m68k/sgs.h, config/mcore/mcore-pe.h,
* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
Remove includes of other target config headers, and
definitions of macros moved to tm_defines lists. Add #undefs
where now necessary to prevent redefinition warnings.
* config/h8300/coff.h: New file split out of...
* config/h8300/elf.h: ...here.
* config/m68k/hp320base.h: New file split out of...
* config/m68k/hp320.h: ...here.
* config/rs6000/lynxbase.h: New file split out of...
* config/rs6000/lynx.h: ...here.
* config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
* config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
* config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
* config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
* config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
Remove unnecessary #ifndef.
* config/s390/s390.h: Prefix #include of s390/fixdfdi.h
[under IN_LIBGCC2] with config/.
From-SVN: r70651
2003-08-21 19:27:29 +02:00
|
|
|
mips*el-*-openbsd*)
|
|
|
|
tm_defines="${tm_defines} TARGET_ENDIAN_DEFAULT=0";;
|
|
|
|
*) tm_defines="${tm_defines} TARGET_ENDIAN_DEFAULT=MASK_BIG_ENDIAN";;
|
|
|
|
esac
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2002-06-13 01:24:04 +02:00
|
|
|
mipsisa32-*-elf* | mipsisa32el-*-elf*)
|
config.gcc (mips*-*-elf*, [...]): Add elfos.h to tm_file.
* config.gcc (mips*-*-elf*, mips*-*-rtems*): Add elfos.h to tm_file.
Replace uses of mips/elf64.h with mips/elf.h
* config/mips/elf.h (MAX_OFILE_ALIGNMENT, TARGET_ASM_NAMED_SECTION)
(TYPE_OPERAND_FMT, TYPE_ASM_OP, SIZE_ASM_OP, BSS_SECTION_ASM_OP)
(ASM_OUTPUT_ALIGNED_BSS, ASM_WEAKEN_LABEL, ASM_OUTPUT_WEAK_ALIAS)
(MAKE_DECL_ONE_ONLY, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP)
(HANDLE_SYSV_PRAGMA): Delete.
(ASM_OUTPUT_DEF): Fix formatting.
* config/mips/elf64.h: Delete.
From-SVN: r85430
2004-08-02 08:13:40 +02:00
|
|
|
tm_file="elfos.h ${tm_file} mips/elf.h"
|
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 04:03:14 +02:00
|
|
|
tmake_file=mips/t-isa3264
|
2006-03-17 00:58:00 +01:00
|
|
|
tm_defines="${tm_defines} MIPS_ISA_DEFAULT=32 MIPS_ABI_DEFAULT=ABI_EABI"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
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 04:03:14 +02:00
|
|
|
;;
|
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 20:57:52 +01:00
|
|
|
mipsisa32r2-*-elf* | mipsisa32r2el-*-elf*)
|
config.gcc (mips*-*-elf*, [...]): Add elfos.h to tm_file.
* config.gcc (mips*-*-elf*, mips*-*-rtems*): Add elfos.h to tm_file.
Replace uses of mips/elf64.h with mips/elf.h
* config/mips/elf.h (MAX_OFILE_ALIGNMENT, TARGET_ASM_NAMED_SECTION)
(TYPE_OPERAND_FMT, TYPE_ASM_OP, SIZE_ASM_OP, BSS_SECTION_ASM_OP)
(ASM_OUTPUT_ALIGNED_BSS, ASM_WEAKEN_LABEL, ASM_OUTPUT_WEAK_ALIAS)
(MAKE_DECL_ONE_ONLY, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP)
(HANDLE_SYSV_PRAGMA): Delete.
(ASM_OUTPUT_DEF): Fix formatting.
* config/mips/elf64.h: Delete.
From-SVN: r85430
2004-08-02 08:13:40 +02:00
|
|
|
tm_file="elfos.h ${tm_file} mips/elf.h"
|
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 20:57:52 +01:00
|
|
|
tmake_file=mips/t-isa3264
|
2006-03-17 00:58:00 +01:00
|
|
|
tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33 MIPS_ABI_DEFAULT=ABI_EABI"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
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 20:57:52 +01:00
|
|
|
;;
|
2002-06-21 00:41:25 +02:00
|
|
|
mipsisa64-*-elf* | mipsisa64el-*-elf*)
|
config.gcc (mips*-*-elf*, [...]): Add elfos.h to tm_file.
* config.gcc (mips*-*-elf*, mips*-*-rtems*): Add elfos.h to tm_file.
Replace uses of mips/elf64.h with mips/elf.h
* config/mips/elf.h (MAX_OFILE_ALIGNMENT, TARGET_ASM_NAMED_SECTION)
(TYPE_OPERAND_FMT, TYPE_ASM_OP, SIZE_ASM_OP, BSS_SECTION_ASM_OP)
(ASM_OUTPUT_ALIGNED_BSS, ASM_WEAKEN_LABEL, ASM_OUTPUT_WEAK_ALIAS)
(MAKE_DECL_ONE_ONLY, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP)
(HANDLE_SYSV_PRAGMA): Delete.
(ASM_OUTPUT_DEF): Fix formatting.
* config/mips/elf64.h: Delete.
From-SVN: r85430
2004-08-02 08:13:40 +02:00
|
|
|
tm_file="elfos.h ${tm_file} mips/elf.h"
|
2002-06-21 00:41:25 +02:00
|
|
|
tmake_file=mips/t-isa3264
|
config.gcc (mips-*-*): Remove definitions of MASK_GAS and OBJECT_FORMAT_ELF.
* config.gcc (mips-*-*): Remove definitions of MASK_GAS and
OBJECT_FORMAT_ELF. Set MASK_SPLIT_ADDR by default if using GNU ld.
* config/mips/mips.h (MASK_GAS): Delete. Shuffle later masks down.
(TARGET_GAS, TARGET_MIPS_AS): Delete.
(TARGET_GPWORD): Define to true for n32 on IRIX.
(TARGET_SWITCHES): Remove -mmips-as. Turn -mgas into a no-op.
(MIPS_AS_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC): Delete.
(GAS_ASM_SPEC): Delete, folding into ASM_SPEC.
(ASM_ABI_DEFAULT_SPEC, TARGET_ASM_SPEC): Delete.
(MDEBUG_ASM_SPEC): Delete, folding into...
(SUBTARGET_ASM_DEBUGGING_SPEC): ...here.
(ASM_SPEC): Inline old GAS_ASM_SPEC. Use GNU names for ABI switches.
(EXTRA_SPECS): Remove mips_as_asm_spec, gas_asm_spec, target_asm_spec,
subtarget_mips_as_asm_spec, mdebug_asm_spec. Use MULTILIB_ABI_DEFAULT
to define asm_abi_default_spec.
(ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): Delete.
(TARGET_ASM_SELECT_SECTION): Delete.
* config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): Define to 0x7ff0
for non-mips16 code, removing previous workaround for SGI assemblers.
(TARGET_ASM_INTEGER, mips_assemble_integer): Delete.
(TARGET_ASM_ALIGNED_DI_OP): Define this instead.
(override_options): Remove !TARGET_GAS and !have_named_sections code.
(print_operand): Fold TARGET_GAS conditionals into asm strings.
(mips_output_filename): Remove !TARGET_GAS code. Replace use of
ASM_STABS_OP and ASM_STABN_OP.
(mips_file_start): Remove TARGET_MIPS_AS/TARGET_GAS checks.
(mips_output_aligned_decl_common): Remove mention of SGI o32 assembler.
(mips_output_function_prologue): Remove !TARGET_GAS code.
(mips_select_rtx_section): Remove !have_named_sections code.
(mips_select_section): Delete.
* config/mips/mips.md (trap): Remove !TARGET_GAS check.
* config/mips/linux.h (TARGET_DEFAULT): Remove use of MASK_GAS.
* config/mips/sdb.h (PUT_SDB_DEF, PUT_SDB_PLAIN_DEF): Delete.
(PUT_SDB_BLOCK_START, PUT_SDB_BLOCK_END): Fold TARGET_GAS conditional.
* config/mips/vxworks.h (ASM_SPEC): As for mips.h.
* config/mips/windiss.h (ASM_SPEC): Likewise.
testsuite/
* gcc.dg/special/mips-abi.exp: Expect gcc to pass the GNU ABI flags
to the assembler. Simplify test accordingly.
(asm_abi_flags): Use GNU names.
(check_mips_abi, default_abi): Use string matches against "-mabi=*"
to check for ABI flags.
From-SVN: r86405
2004-08-23 08:53:46 +02:00
|
|
|
target_cpu_default="MASK_64BIT|MASK_FLOAT64"
|
2006-03-17 00:58:00 +01:00
|
|
|
tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_ABI_DEFAULT=ABI_EABI"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2002-06-21 00:41:25 +02:00
|
|
|
;;
|
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 23:53:28 +02:00
|
|
|
mipsisa64sr71k-*-elf*)
|
config.gcc (mips*-*-elf*, [...]): Add elfos.h to tm_file.
* config.gcc (mips*-*-elf*, mips*-*-rtems*): Add elfos.h to tm_file.
Replace uses of mips/elf64.h with mips/elf.h
* config/mips/elf.h (MAX_OFILE_ALIGNMENT, TARGET_ASM_NAMED_SECTION)
(TYPE_OPERAND_FMT, TYPE_ASM_OP, SIZE_ASM_OP, BSS_SECTION_ASM_OP)
(ASM_OUTPUT_ALIGNED_BSS, ASM_WEAKEN_LABEL, ASM_OUTPUT_WEAK_ALIAS)
(MAKE_DECL_ONE_ONLY, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP)
(HANDLE_SYSV_PRAGMA): Delete.
(ASM_OUTPUT_DEF): Fix formatting.
* config/mips/elf64.h: Delete.
From-SVN: r85430
2004-08-02 08:13:40 +02:00
|
|
|
tm_file="elfos.h ${tm_file} mips/elf.h"
|
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 23:53:28 +02:00
|
|
|
tmake_file=mips/t-sr71k
|
config.gcc (mips-*-*): Remove definitions of MASK_GAS and OBJECT_FORMAT_ELF.
* config.gcc (mips-*-*): Remove definitions of MASK_GAS and
OBJECT_FORMAT_ELF. Set MASK_SPLIT_ADDR by default if using GNU ld.
* config/mips/mips.h (MASK_GAS): Delete. Shuffle later masks down.
(TARGET_GAS, TARGET_MIPS_AS): Delete.
(TARGET_GPWORD): Define to true for n32 on IRIX.
(TARGET_SWITCHES): Remove -mmips-as. Turn -mgas into a no-op.
(MIPS_AS_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC): Delete.
(GAS_ASM_SPEC): Delete, folding into ASM_SPEC.
(ASM_ABI_DEFAULT_SPEC, TARGET_ASM_SPEC): Delete.
(MDEBUG_ASM_SPEC): Delete, folding into...
(SUBTARGET_ASM_DEBUGGING_SPEC): ...here.
(ASM_SPEC): Inline old GAS_ASM_SPEC. Use GNU names for ABI switches.
(EXTRA_SPECS): Remove mips_as_asm_spec, gas_asm_spec, target_asm_spec,
subtarget_mips_as_asm_spec, mdebug_asm_spec. Use MULTILIB_ABI_DEFAULT
to define asm_abi_default_spec.
(ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): Delete.
(TARGET_ASM_SELECT_SECTION): Delete.
* config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): Define to 0x7ff0
for non-mips16 code, removing previous workaround for SGI assemblers.
(TARGET_ASM_INTEGER, mips_assemble_integer): Delete.
(TARGET_ASM_ALIGNED_DI_OP): Define this instead.
(override_options): Remove !TARGET_GAS and !have_named_sections code.
(print_operand): Fold TARGET_GAS conditionals into asm strings.
(mips_output_filename): Remove !TARGET_GAS code. Replace use of
ASM_STABS_OP and ASM_STABN_OP.
(mips_file_start): Remove TARGET_MIPS_AS/TARGET_GAS checks.
(mips_output_aligned_decl_common): Remove mention of SGI o32 assembler.
(mips_output_function_prologue): Remove !TARGET_GAS code.
(mips_select_rtx_section): Remove !have_named_sections code.
(mips_select_section): Delete.
* config/mips/mips.md (trap): Remove !TARGET_GAS check.
* config/mips/linux.h (TARGET_DEFAULT): Remove use of MASK_GAS.
* config/mips/sdb.h (PUT_SDB_DEF, PUT_SDB_PLAIN_DEF): Delete.
(PUT_SDB_BLOCK_START, PUT_SDB_BLOCK_END): Fold TARGET_GAS conditional.
* config/mips/vxworks.h (ASM_SPEC): As for mips.h.
* config/mips/windiss.h (ASM_SPEC): Likewise.
testsuite/
* gcc.dg/special/mips-abi.exp: Expect gcc to pass the GNU ABI flags
to the assembler. Simplify test accordingly.
(asm_abi_flags): Use GNU names.
(check_mips_abi, default_abi): Use string matches against "-mabi=*"
to check for ABI flags.
From-SVN: r86405
2004-08-23 08:53:46 +02:00
|
|
|
target_cpu_default="MASK_64BIT|MASK_FLOAT64"
|
2006-03-17 00:58:00 +01:00
|
|
|
tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sr71000\\\" MIPS_ABI_DEFAULT=ABI_EABI"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
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 23:53:28 +02:00
|
|
|
;;
|
2002-08-02 07:26:50 +02:00
|
|
|
mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)
|
config.gcc (mips*-*-elf*, [...]): Add elfos.h to tm_file.
* config.gcc (mips*-*-elf*, mips*-*-rtems*): Add elfos.h to tm_file.
Replace uses of mips/elf64.h with mips/elf.h
* config/mips/elf.h (MAX_OFILE_ALIGNMENT, TARGET_ASM_NAMED_SECTION)
(TYPE_OPERAND_FMT, TYPE_ASM_OP, SIZE_ASM_OP, BSS_SECTION_ASM_OP)
(ASM_OUTPUT_ALIGNED_BSS, ASM_WEAKEN_LABEL, ASM_OUTPUT_WEAK_ALIAS)
(MAKE_DECL_ONE_ONLY, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP)
(HANDLE_SYSV_PRAGMA): Delete.
(ASM_OUTPUT_DEF): Fix formatting.
* config/mips/elf64.h: Delete.
From-SVN: r85430
2004-08-02 08:13:40 +02:00
|
|
|
tm_file="elfos.h ${tm_file} mips/elf.h"
|
2006-06-26 23:16:30 +02:00
|
|
|
tmake_file="mips/t-elf mips/t-sb1"
|
config.gcc (mips-*-*): Remove definitions of MASK_GAS and OBJECT_FORMAT_ELF.
* config.gcc (mips-*-*): Remove definitions of MASK_GAS and
OBJECT_FORMAT_ELF. Set MASK_SPLIT_ADDR by default if using GNU ld.
* config/mips/mips.h (MASK_GAS): Delete. Shuffle later masks down.
(TARGET_GAS, TARGET_MIPS_AS): Delete.
(TARGET_GPWORD): Define to true for n32 on IRIX.
(TARGET_SWITCHES): Remove -mmips-as. Turn -mgas into a no-op.
(MIPS_AS_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC): Delete.
(GAS_ASM_SPEC): Delete, folding into ASM_SPEC.
(ASM_ABI_DEFAULT_SPEC, TARGET_ASM_SPEC): Delete.
(MDEBUG_ASM_SPEC): Delete, folding into...
(SUBTARGET_ASM_DEBUGGING_SPEC): ...here.
(ASM_SPEC): Inline old GAS_ASM_SPEC. Use GNU names for ABI switches.
(EXTRA_SPECS): Remove mips_as_asm_spec, gas_asm_spec, target_asm_spec,
subtarget_mips_as_asm_spec, mdebug_asm_spec. Use MULTILIB_ABI_DEFAULT
to define asm_abi_default_spec.
(ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): Delete.
(TARGET_ASM_SELECT_SECTION): Delete.
* config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): Define to 0x7ff0
for non-mips16 code, removing previous workaround for SGI assemblers.
(TARGET_ASM_INTEGER, mips_assemble_integer): Delete.
(TARGET_ASM_ALIGNED_DI_OP): Define this instead.
(override_options): Remove !TARGET_GAS and !have_named_sections code.
(print_operand): Fold TARGET_GAS conditionals into asm strings.
(mips_output_filename): Remove !TARGET_GAS code. Replace use of
ASM_STABS_OP and ASM_STABN_OP.
(mips_file_start): Remove TARGET_MIPS_AS/TARGET_GAS checks.
(mips_output_aligned_decl_common): Remove mention of SGI o32 assembler.
(mips_output_function_prologue): Remove !TARGET_GAS code.
(mips_select_rtx_section): Remove !have_named_sections code.
(mips_select_section): Delete.
* config/mips/mips.md (trap): Remove !TARGET_GAS check.
* config/mips/linux.h (TARGET_DEFAULT): Remove use of MASK_GAS.
* config/mips/sdb.h (PUT_SDB_DEF, PUT_SDB_PLAIN_DEF): Delete.
(PUT_SDB_BLOCK_START, PUT_SDB_BLOCK_END): Fold TARGET_GAS conditional.
* config/mips/vxworks.h (ASM_SPEC): As for mips.h.
* config/mips/windiss.h (ASM_SPEC): Likewise.
testsuite/
* gcc.dg/special/mips-abi.exp: Expect gcc to pass the GNU ABI flags
to the assembler. Simplify test accordingly.
(asm_abi_flags): Use GNU names.
(check_mips_abi, default_abi): Use string matches against "-mabi=*"
to check for ABI flags.
From-SVN: r86405
2004-08-23 08:53:46 +02:00
|
|
|
target_cpu_default="MASK_64BIT|MASK_FLOAT64"
|
2006-03-17 00:58:00 +01:00
|
|
|
tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sb1\\\" MIPS_ABI_DEFAULT=ABI_O64"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2002-08-02 07:26:50 +02:00
|
|
|
;;
|
2002-06-13 01:24:04 +02:00
|
|
|
mips-*-elf* | mipsel-*-elf*)
|
config.gcc (mips*-*-elf*, [...]): Add elfos.h to tm_file.
* config.gcc (mips*-*-elf*, mips*-*-rtems*): Add elfos.h to tm_file.
Replace uses of mips/elf64.h with mips/elf.h
* config/mips/elf.h (MAX_OFILE_ALIGNMENT, TARGET_ASM_NAMED_SECTION)
(TYPE_OPERAND_FMT, TYPE_ASM_OP, SIZE_ASM_OP, BSS_SECTION_ASM_OP)
(ASM_OUTPUT_ALIGNED_BSS, ASM_WEAKEN_LABEL, ASM_OUTPUT_WEAK_ALIAS)
(MAKE_DECL_ONE_ONLY, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP)
(HANDLE_SYSV_PRAGMA): Delete.
(ASM_OUTPUT_DEF): Fix formatting.
* config/mips/elf64.h: Delete.
From-SVN: r85430
2004-08-02 08:13:40 +02:00
|
|
|
tm_file="elfos.h ${tm_file} mips/elf.h"
|
2000-11-17 11:42:45 +01:00
|
|
|
tmake_file=mips/t-elf
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2002-06-13 01:24:04 +02:00
|
|
|
mips64-*-elf* | mips64el-*-elf*)
|
config.gcc (mips*-*-elf*, [...]): Add elfos.h to tm_file.
* config.gcc (mips*-*-elf*, mips*-*-rtems*): Add elfos.h to tm_file.
Replace uses of mips/elf64.h with mips/elf.h
* config/mips/elf.h (MAX_OFILE_ALIGNMENT, TARGET_ASM_NAMED_SECTION)
(TYPE_OPERAND_FMT, TYPE_ASM_OP, SIZE_ASM_OP, BSS_SECTION_ASM_OP)
(ASM_OUTPUT_ALIGNED_BSS, ASM_WEAKEN_LABEL, ASM_OUTPUT_WEAK_ALIAS)
(MAKE_DECL_ONE_ONLY, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP)
(HANDLE_SYSV_PRAGMA): Delete.
(ASM_OUTPUT_DEF): Fix formatting.
* config/mips/elf64.h: Delete.
From-SVN: r85430
2004-08-02 08:13:40 +02:00
|
|
|
tm_file="elfos.h ${tm_file} mips/elf.h"
|
2000-11-17 11:42:45 +01:00
|
|
|
tmake_file=mips/t-elf
|
config.gcc (mips-*-*): Remove definitions of MASK_GAS and OBJECT_FORMAT_ELF.
* config.gcc (mips-*-*): Remove definitions of MASK_GAS and
OBJECT_FORMAT_ELF. Set MASK_SPLIT_ADDR by default if using GNU ld.
* config/mips/mips.h (MASK_GAS): Delete. Shuffle later masks down.
(TARGET_GAS, TARGET_MIPS_AS): Delete.
(TARGET_GPWORD): Define to true for n32 on IRIX.
(TARGET_SWITCHES): Remove -mmips-as. Turn -mgas into a no-op.
(MIPS_AS_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC): Delete.
(GAS_ASM_SPEC): Delete, folding into ASM_SPEC.
(ASM_ABI_DEFAULT_SPEC, TARGET_ASM_SPEC): Delete.
(MDEBUG_ASM_SPEC): Delete, folding into...
(SUBTARGET_ASM_DEBUGGING_SPEC): ...here.
(ASM_SPEC): Inline old GAS_ASM_SPEC. Use GNU names for ABI switches.
(EXTRA_SPECS): Remove mips_as_asm_spec, gas_asm_spec, target_asm_spec,
subtarget_mips_as_asm_spec, mdebug_asm_spec. Use MULTILIB_ABI_DEFAULT
to define asm_abi_default_spec.
(ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): Delete.
(TARGET_ASM_SELECT_SECTION): Delete.
* config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): Define to 0x7ff0
for non-mips16 code, removing previous workaround for SGI assemblers.
(TARGET_ASM_INTEGER, mips_assemble_integer): Delete.
(TARGET_ASM_ALIGNED_DI_OP): Define this instead.
(override_options): Remove !TARGET_GAS and !have_named_sections code.
(print_operand): Fold TARGET_GAS conditionals into asm strings.
(mips_output_filename): Remove !TARGET_GAS code. Replace use of
ASM_STABS_OP and ASM_STABN_OP.
(mips_file_start): Remove TARGET_MIPS_AS/TARGET_GAS checks.
(mips_output_aligned_decl_common): Remove mention of SGI o32 assembler.
(mips_output_function_prologue): Remove !TARGET_GAS code.
(mips_select_rtx_section): Remove !have_named_sections code.
(mips_select_section): Delete.
* config/mips/mips.md (trap): Remove !TARGET_GAS check.
* config/mips/linux.h (TARGET_DEFAULT): Remove use of MASK_GAS.
* config/mips/sdb.h (PUT_SDB_DEF, PUT_SDB_PLAIN_DEF): Delete.
(PUT_SDB_BLOCK_START, PUT_SDB_BLOCK_END): Fold TARGET_GAS conditional.
* config/mips/vxworks.h (ASM_SPEC): As for mips.h.
* config/mips/windiss.h (ASM_SPEC): Likewise.
testsuite/
* gcc.dg/special/mips-abi.exp: Expect gcc to pass the GNU ABI flags
to the assembler. Simplify test accordingly.
(asm_abi_flags): Use GNU names.
(check_mips_abi, default_abi): Use string matches against "-mabi=*"
to check for ABI flags.
From-SVN: r86405
2004-08-23 08:53:46 +02:00
|
|
|
target_cpu_default="MASK_64BIT|MASK_FLOAT64"
|
2006-03-17 00:58:00 +01:00
|
|
|
tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
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 23:53:28 +02:00
|
|
|
mips64vr-*-elf* | mips64vrel-*-elf*)
|
config.gcc (mips*-*-elf*, [...]): Add elfos.h to tm_file.
* config.gcc (mips*-*-elf*, mips*-*-rtems*): Add elfos.h to tm_file.
Replace uses of mips/elf64.h with mips/elf.h
* config/mips/elf.h (MAX_OFILE_ALIGNMENT, TARGET_ASM_NAMED_SECTION)
(TYPE_OPERAND_FMT, TYPE_ASM_OP, SIZE_ASM_OP, BSS_SECTION_ASM_OP)
(ASM_OUTPUT_ALIGNED_BSS, ASM_WEAKEN_LABEL, ASM_OUTPUT_WEAK_ALIAS)
(MAKE_DECL_ONE_ONLY, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP)
(HANDLE_SYSV_PRAGMA): Delete.
(ASM_OUTPUT_DEF): Fix formatting.
* config/mips/elf64.h: Delete.
From-SVN: r85430
2004-08-02 08:13:40 +02:00
|
|
|
tm_file="mips/vr.h elfos.h ${tm_file} mips/elf.h"
|
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 23:53:28 +02:00
|
|
|
tmake_file=mips/t-vr
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
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 23:53:28 +02:00
|
|
|
;;
|
2002-06-13 01:24:04 +02:00
|
|
|
mips64orion-*-elf* | mips64orionel-*-elf*)
|
config.gcc (mips*-*-elf*, [...]): Add elfos.h to tm_file.
* config.gcc (mips*-*-elf*, mips*-*-rtems*): Add elfos.h to tm_file.
Replace uses of mips/elf64.h with mips/elf.h
* config/mips/elf.h (MAX_OFILE_ALIGNMENT, TARGET_ASM_NAMED_SECTION)
(TYPE_OPERAND_FMT, TYPE_ASM_OP, SIZE_ASM_OP, BSS_SECTION_ASM_OP)
(ASM_OUTPUT_ALIGNED_BSS, ASM_WEAKEN_LABEL, ASM_OUTPUT_WEAK_ALIAS)
(MAKE_DECL_ONE_ONLY, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP)
(HANDLE_SYSV_PRAGMA): Delete.
(ASM_OUTPUT_DEF): Fix formatting.
* config/mips/elf64.h: Delete.
From-SVN: r85430
2004-08-02 08:13:40 +02:00
|
|
|
tm_file="elfos.h ${tm_file} mips/elforion.h mips/elf.h"
|
2002-07-30 00:21:41 +02:00
|
|
|
tmake_file=mips/t-elf
|
config.gcc (mips-*-*): Remove definitions of MASK_GAS and OBJECT_FORMAT_ELF.
* config.gcc (mips-*-*): Remove definitions of MASK_GAS and
OBJECT_FORMAT_ELF. Set MASK_SPLIT_ADDR by default if using GNU ld.
* config/mips/mips.h (MASK_GAS): Delete. Shuffle later masks down.
(TARGET_GAS, TARGET_MIPS_AS): Delete.
(TARGET_GPWORD): Define to true for n32 on IRIX.
(TARGET_SWITCHES): Remove -mmips-as. Turn -mgas into a no-op.
(MIPS_AS_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC): Delete.
(GAS_ASM_SPEC): Delete, folding into ASM_SPEC.
(ASM_ABI_DEFAULT_SPEC, TARGET_ASM_SPEC): Delete.
(MDEBUG_ASM_SPEC): Delete, folding into...
(SUBTARGET_ASM_DEBUGGING_SPEC): ...here.
(ASM_SPEC): Inline old GAS_ASM_SPEC. Use GNU names for ABI switches.
(EXTRA_SPECS): Remove mips_as_asm_spec, gas_asm_spec, target_asm_spec,
subtarget_mips_as_asm_spec, mdebug_asm_spec. Use MULTILIB_ABI_DEFAULT
to define asm_abi_default_spec.
(ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): Delete.
(TARGET_ASM_SELECT_SECTION): Delete.
* config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): Define to 0x7ff0
for non-mips16 code, removing previous workaround for SGI assemblers.
(TARGET_ASM_INTEGER, mips_assemble_integer): Delete.
(TARGET_ASM_ALIGNED_DI_OP): Define this instead.
(override_options): Remove !TARGET_GAS and !have_named_sections code.
(print_operand): Fold TARGET_GAS conditionals into asm strings.
(mips_output_filename): Remove !TARGET_GAS code. Replace use of
ASM_STABS_OP and ASM_STABN_OP.
(mips_file_start): Remove TARGET_MIPS_AS/TARGET_GAS checks.
(mips_output_aligned_decl_common): Remove mention of SGI o32 assembler.
(mips_output_function_prologue): Remove !TARGET_GAS code.
(mips_select_rtx_section): Remove !have_named_sections code.
(mips_select_section): Delete.
* config/mips/mips.md (trap): Remove !TARGET_GAS check.
* config/mips/linux.h (TARGET_DEFAULT): Remove use of MASK_GAS.
* config/mips/sdb.h (PUT_SDB_DEF, PUT_SDB_PLAIN_DEF): Delete.
(PUT_SDB_BLOCK_START, PUT_SDB_BLOCK_END): Fold TARGET_GAS conditional.
* config/mips/vxworks.h (ASM_SPEC): As for mips.h.
* config/mips/windiss.h (ASM_SPEC): Likewise.
testsuite/
* gcc.dg/special/mips-abi.exp: Expect gcc to pass the GNU ABI flags
to the assembler. Simplify test accordingly.
(asm_abi_flags): Use GNU names.
(check_mips_abi, default_abi): Use string matches against "-mabi=*"
to check for ABI flags.
From-SVN: r86405
2004-08-23 08:53:46 +02:00
|
|
|
target_cpu_default="MASK_64BIT|MASK_FLOAT64"
|
2006-03-17 00:58:00 +01:00
|
|
|
tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_O64"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
config.gcc (a29k*-*-rtems*, [...]): New targets.
* config.gcc (a29k*-*-rtems*, arm*-*-rtems*, c4x-*-rtems*,
h8300-*-rtems*, hppa1.1-*-rtems, *mips*-*-rtems*): New targets.
* config.gcc (*-rtems*): Add support for gthr-rtems.h.
* gthr-rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
config/h8300/rtems.h, config/mips/rtems.h: New files.
From-SVN: r38094
2000-12-07 03:42:02 +01:00
|
|
|
mips*-*-rtems*)
|
config.gcc (mips*-*-elf*, [...]): Add elfos.h to tm_file.
* config.gcc (mips*-*-elf*, mips*-*-rtems*): Add elfos.h to tm_file.
Replace uses of mips/elf64.h with mips/elf.h
* config/mips/elf.h (MAX_OFILE_ALIGNMENT, TARGET_ASM_NAMED_SECTION)
(TYPE_OPERAND_FMT, TYPE_ASM_OP, SIZE_ASM_OP, BSS_SECTION_ASM_OP)
(ASM_OUTPUT_ALIGNED_BSS, ASM_WEAKEN_LABEL, ASM_OUTPUT_WEAK_ALIAS)
(MAKE_DECL_ONE_ONLY, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP)
(HANDLE_SYSV_PRAGMA): Delete.
(ASM_OUTPUT_DEF): Fix formatting.
* config/mips/elf64.h: Delete.
From-SVN: r85430
2004-08-02 08:13:40 +02:00
|
|
|
tm_file="elfos.h ${tm_file} mips/elf.h mips/rtems.h rtems.h"
|
2003-09-19 15:24:47 +02:00
|
|
|
tmake_file="mips/t-elf t-rtems mips/t-rtems"
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2003-10-23 07:16:56 +02:00
|
|
|
mips-wrs-vxworks)
|
|
|
|
# We want vxworks.h after mips/elf.h, which unfortunately means we
|
|
|
|
# have to redo the tm_file list from scratch.
|
|
|
|
tm_file="elfos.h mips/mips.h svr4.h mips/elf.h vxworks.h mips/vxworks.h"
|
|
|
|
tmake_file="${tmake_file} mips/t-vxworks"
|
|
|
|
;;
|
|
|
|
mips-wrs-windiss) # Instruction-level simulator for VxWorks.
|
|
|
|
xm_defines=POSIX
|
|
|
|
tm_file="elfos.h mips/mips.h svr4.h mips/elf.h windiss.h mips/windiss.h"
|
|
|
|
tmake_file="${tmake_file} mips/t-elf"
|
|
|
|
thread_file=
|
|
|
|
;;
|
2002-06-13 01:24:04 +02:00
|
|
|
mipstx39-*-elf* | mipstx39el-*-elf*)
|
config.gcc (mips*-*-elf*, [...]): Add elfos.h to tm_file.
* config.gcc (mips*-*-elf*, mips*-*-rtems*): Add elfos.h to tm_file.
Replace uses of mips/elf64.h with mips/elf.h
* config/mips/elf.h (MAX_OFILE_ALIGNMENT, TARGET_ASM_NAMED_SECTION)
(TYPE_OPERAND_FMT, TYPE_ASM_OP, SIZE_ASM_OP, BSS_SECTION_ASM_OP)
(ASM_OUTPUT_ALIGNED_BSS, ASM_WEAKEN_LABEL, ASM_OUTPUT_WEAK_ALIAS)
(MAKE_DECL_ONE_ONLY, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP)
(HANDLE_SYSV_PRAGMA): Delete.
(ASM_OUTPUT_DEF): Fix formatting.
* config/mips/elf64.h: Delete.
From-SVN: r85430
2004-08-02 08:13:40 +02:00
|
|
|
tm_file="elfos.h ${tm_file} mips/r3900.h mips/elf.h"
|
2000-11-17 11:42:45 +01:00
|
|
|
tmake_file=mips/t-r3900
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2001-11-03 23:14:57 +01:00
|
|
|
mmix-knuth-mmixware)
|
2002-12-16 19:23:00 +01:00
|
|
|
need_64bit_hwint=yes
|
2001-11-03 23:14:57 +01:00
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
mn10300-*-*)
|
2001-12-06 18:34:55 +01:00
|
|
|
tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
|
2000-11-17 11:42:45 +01:00
|
|
|
if test x$stabs = xyes
|
|
|
|
then
|
|
|
|
tm_file="${tm_file} dbx.h"
|
|
|
|
fi
|
|
|
|
use_collect2=no
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2005-12-16 12:43:46 +01:00
|
|
|
mt-*-elf)
|
2005-08-22 18:12:14 +02:00
|
|
|
tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
|
2005-12-16 12:43:46 +01:00
|
|
|
tmake_file="${tmake_file} mt/t-mt"
|
2005-08-22 18:12:14 +02:00
|
|
|
;;
|
|
|
|
ns32k-*-netbsdelf*)
|
|
|
|
echo "GCC does not yet support the ${target} target"; exit 1
|
|
|
|
;;
|
|
|
|
ns32k-*-netbsd*)
|
|
|
|
tm_file="${tm_file} netbsd.h netbsd-aout.h ns32k/netbsd.h"
|
|
|
|
# On NetBSD, the headers are already okay, except for math.h.
|
|
|
|
tmake_file="t-netbsd ns32k/t-ns32k"
|
|
|
|
extra_parts=""
|
|
|
|
use_collect2=yes
|
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
pdp11-*-bsd)
|
|
|
|
tm_file="${tm_file} pdp11/2bsd.h"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
|
|
|
pdp11-*-*)
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* config.gcc (*-*-openbsd): Don't set tm_file.
(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
xscale-*-coff): Use explicit and complete lists of target headers
to include. Move definitions to tm_defines where appropriate.
(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
not-yet-contributed configuration.
* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
* config/i386/nto.h, config/iq2000/iq2000.h,
* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
* config/m68k/linux.h, config/m68k/m68k-aout.h
* config/m68k/m68k-none.h, config/m68k/m68kv4.h
* config/m68k/netbsd.h, config/m68k/openbsd.h
* config/m68k/sgs.h, config/mcore/mcore-pe.h,
* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
Remove includes of other target config headers, and
definitions of macros moved to tm_defines lists. Add #undefs
where now necessary to prevent redefinition warnings.
* config/h8300/coff.h: New file split out of...
* config/h8300/elf.h: ...here.
* config/m68k/hp320base.h: New file split out of...
* config/m68k/hp320.h: ...here.
* config/rs6000/lynxbase.h: New file split out of...
* config/rs6000/lynx.h: ...here.
* config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
* config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
* config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
* config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
* config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
Remove unnecessary #ifndef.
* config/s390/s390.h: Prefix #include of s390/fixdfdi.h
[under IN_LIBGCC2] with config/.
From-SVN: r70651
2003-08-21 19:27:29 +02:00
|
|
|
# port not yet contributed
|
|
|
|
#powerpc-*-openbsd*)
|
2006-04-18 22:50:45 +02:00
|
|
|
# tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-fprules-fpbit "
|
Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* config.gcc (*-*-openbsd): Don't set tm_file.
(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
xscale-*-coff): Use explicit and complete lists of target headers
to include. Move definitions to tm_defines where appropriate.
(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
not-yet-contributed configuration.
* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
* config/i386/nto.h, config/iq2000/iq2000.h,
* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
* config/m68k/linux.h, config/m68k/m68k-aout.h
* config/m68k/m68k-none.h, config/m68k/m68kv4.h
* config/m68k/netbsd.h, config/m68k/openbsd.h
* config/m68k/sgs.h, config/mcore/mcore-pe.h,
* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
Remove includes of other target config headers, and
definitions of macros moved to tm_defines lists. Add #undefs
where now necessary to prevent redefinition warnings.
* config/h8300/coff.h: New file split out of...
* config/h8300/elf.h: ...here.
* config/m68k/hp320base.h: New file split out of...
* config/m68k/hp320.h: ...here.
* config/rs6000/lynxbase.h: New file split out of...
* config/rs6000/lynx.h: ...here.
* config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
* config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
* config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
* config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
* config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
Remove unnecessary #ifndef.
* config/s390/s390.h: Prefix #include of s390/fixdfdi.h
[under IN_LIBGCC2] with config/.
From-SVN: r70651
2003-08-21 19:27:29 +02:00
|
|
|
# extra_headers=
|
|
|
|
# ;;
|
2001-07-31 19:20:20 +02:00
|
|
|
powerpc64-*-linux*)
|
2005-03-31 01:46:28 +02:00
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h"
|
|
|
|
test x$with_cpu != x || cpu_is_64bit=yes
|
|
|
|
test x$cpu_is_64bit != xyes || tm_file="${tm_file} rs6000/default64.h"
|
|
|
|
tm_file="rs6000/biarch64.h ${tm_file} rs6000/linux64.h"
|
configure.ac: Add --enable-secureplt.
* configure.ac: Add --enable-secureplt.
(HAVE_AS_REL16): Test for R_PPC_REL16 relocs.
* config.in: Regenerate.
* configure: Regenerate.
* config.gcc (powerpc64-*-linux*, powerpc-*-linux*): Add
rs6000/secureplt.h to tm_file when enable_secureplt.
* doc/invoke.texi (msecure-plt, mbss-plt): Document.
* doc/install.texi: Document --enable-targets and --enable-secureplt.
Correct xrefs to "Using the GNU Compiler Collection (GCC)".
* config/rs6000/secureplt.h: New file.
* config/rs6000/sysv4.h (TARGET_SECURE_PLT): Define.
(SUBTARGET_OVERRIDE_OPTIONS): Error if -msecure-plt given without
assembler support.
(CC1_SECURE_PLT_DEFAULT_SPEC): Define.
(CC1_SPEC): Delete duplicate mno-sdata. Invoke cc1_secure_plt_default.
(SUBTARGET_EXTRA_SPECS): Add cc1_secure_plt_default.
* config/rs6000/sysv4.opt (msecure-plt, bss-plt): Add options.
* config/rs6000/rs6000.h (TARGET_SECURE_PLT): Define.
* config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Handle
TARGET_SECURE_PLT got register load sequence.
(rs6000_emit_prologue): Call rs6000_emit_load_toc_table when
TARGET_SECURE_PLT.
(rs6000_elf_declare_function_name): Don't emit toc address offset
word when TARGET_SECURE_PLT.
* config/rs6000/rs6000.md (elf_high, elf_low): Move past load_toc_*.
(load_toc_v4_PIC_1) Enable for TARGET_SECURE_PLT.
(load_toc_v4_PIC_3b, load_toc_v4_PIC_3c): New insns.
(call, call_value): Mark pic_offset_table_rtx used for sysv pic and
TARGET_SECURE_PLT.
(call_nonlocal_sysv, call_value_nonlocal_sysv, sibcall_nonlocal_sysv,
sibcall_value_nonlocal_sysv): Add 32768 offset when TARGET_SECURE_PLT
and -fPIC.
* config/rs6000/tramp.asm (trampoline_initial): Use "bcl 20,31".
(__trampoline_setup): Likewise. Init r30 before plt call.
From-SVN: r100415
2005-06-01 02:30:26 +02:00
|
|
|
if test x${enable_secureplt} = xyes; then
|
|
|
|
tm_file="rs6000/secureplt.h ${tm_file}"
|
|
|
|
fi
|
config.gcc: Add .opt magic for the rs6000 ports.
2005-05-05 Aldy Hernandez <aldyh@redhat.com>
* config.gcc: Add .opt magic for the rs6000 ports.
* doc/invoke.texi: Document -mabi= option properly. Document
-misel and -mno-sel. Document -mspe and -mno-spe. Document
-mvrsave and -mno-vrsave. Document deprecation of -mspe= and
-misel=.
* config/rs6000/aix.h: Remove XL_COMPAT stuff. Remove
SUBTARGET_SWITCHES and SUBSUBTARGET_SWITCHES. Define
TARGET_XL_COMPAT.
* config/rs6000/aix.opt: New.
* config/rs6000/aix41.opt: New.
* config/rs6000/aix64.opt: New.
* config/rs6000/darwin.opt: New.
* config/rs6000/linux64.opt: New.
* config/rs6000/rs6000.opt: New.
* config/rs6000/sysv4.opt: New.
* config/rs6000/sysv4.h: Delete definitions of MASK_* and
associated TARGET_*. Remove SUBTARGET_OPTIONS,
SUBTARGET_SWITCHES.
Define TARGET_USES_SYSV4_OPT.
* config/rs6000/aix41.h: Remove SUBSUBTARGET_SWITCHES.
* config/rs6000/aix43.h: Remove SUBSUBTARGET_SWITCHES. Define
TARGET_USES_AIX64_OPT.
* config/rs6000/aix51.h: Same.
* config/rs6000/aix52.h: Same.
* config/rs6000/darwin.h: Remove
SUBTARGET_SWITCHES. Use TARGET_ALTIVEC_VRSAVE instead of
rs6000_altivec_vrsave.
* config/rs6000/linux64.h: Use
rs6000_explicit_options. Remove EXTRA_SUBTARGET_SWITCHES.
* config/rs6000/rs6000.c: Remove definitions of
rs6000_sched_restricted_insns_priority,
rs6000_long_double_size_string, rs6000_altivec_vrsave,
rs6000_altivec_vrsave_string, rs6000_isel, rs6000_spe,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_abi_string, rs6000_warn_altivec_long, rs6000_longcall,
rs6000_alignment_string. Define rs6000_explicit_options.
(rs6000_parse_abi_options): Remove.
(rs6000_parse_alignment_option): Remove.
(rs6000_parse_float_gprs_option): Remove.
(rs6000_handle_option): New. Define TARGET_HANDLE_OPTION. Define
TARGET_DEFAULT_TARGET_FLAGS.
(rs6000_override_options): Revamp to use new .opt machinery.
* config/rs6000/rs6000.h: Remove old MASK_* and TARGET_* in favor
of new .opt machinery. Remove target_flags. Redefine
TARGET_MFCRF and TARGET_POWERPC64. Remove TARGET_SWITCHES,
SUBTARGET_SWITCHES, TARGET_OPTIONS, SUBTARGET_OPTIONS,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_altivec_vrsave_string, rs6000_altivec_vrsave,
rs6000_longcall_switch, rs6000_default_long_calls,
rs6000_sched_costly_dep_str, rs6000_sched_costly_dep,
rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch, and
TARGET_ALTIVEC_VRSAVE.
From-SVN: r99284
2005-05-05 22:54:25 +02:00
|
|
|
extra_options="${extra_options} rs6000/sysv4.opt rs6000/linux64.opt"
|
2006-04-18 22:50:45 +02:00
|
|
|
tmake_file="t-dfprules rs6000/t-fprules ${tmake_file} rs6000/t-ppccomm rs6000/t-linux64 rs6000/t-fprules-softfp soft-fp/t-softfp"
|
2001-07-31 19:20:20 +02:00
|
|
|
;;
|
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-18 00:06:55 +01:00
|
|
|
powerpc64-*-gnu*)
|
|
|
|
tm_file="${cpu_type}/${cpu_type}.h elfos.h svr4.h freebsd-spec.h gnu.h rs6000/sysv4.h rs6000/linux64.h rs6000/gnu.h"
|
config.gcc: Add .opt magic for the rs6000 ports.
2005-05-05 Aldy Hernandez <aldyh@redhat.com>
* config.gcc: Add .opt magic for the rs6000 ports.
* doc/invoke.texi: Document -mabi= option properly. Document
-misel and -mno-sel. Document -mspe and -mno-spe. Document
-mvrsave and -mno-vrsave. Document deprecation of -mspe= and
-misel=.
* config/rs6000/aix.h: Remove XL_COMPAT stuff. Remove
SUBTARGET_SWITCHES and SUBSUBTARGET_SWITCHES. Define
TARGET_XL_COMPAT.
* config/rs6000/aix.opt: New.
* config/rs6000/aix41.opt: New.
* config/rs6000/aix64.opt: New.
* config/rs6000/darwin.opt: New.
* config/rs6000/linux64.opt: New.
* config/rs6000/rs6000.opt: New.
* config/rs6000/sysv4.opt: New.
* config/rs6000/sysv4.h: Delete definitions of MASK_* and
associated TARGET_*. Remove SUBTARGET_OPTIONS,
SUBTARGET_SWITCHES.
Define TARGET_USES_SYSV4_OPT.
* config/rs6000/aix41.h: Remove SUBSUBTARGET_SWITCHES.
* config/rs6000/aix43.h: Remove SUBSUBTARGET_SWITCHES. Define
TARGET_USES_AIX64_OPT.
* config/rs6000/aix51.h: Same.
* config/rs6000/aix52.h: Same.
* config/rs6000/darwin.h: Remove
SUBTARGET_SWITCHES. Use TARGET_ALTIVEC_VRSAVE instead of
rs6000_altivec_vrsave.
* config/rs6000/linux64.h: Use
rs6000_explicit_options. Remove EXTRA_SUBTARGET_SWITCHES.
* config/rs6000/rs6000.c: Remove definitions of
rs6000_sched_restricted_insns_priority,
rs6000_long_double_size_string, rs6000_altivec_vrsave,
rs6000_altivec_vrsave_string, rs6000_isel, rs6000_spe,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_abi_string, rs6000_warn_altivec_long, rs6000_longcall,
rs6000_alignment_string. Define rs6000_explicit_options.
(rs6000_parse_abi_options): Remove.
(rs6000_parse_alignment_option): Remove.
(rs6000_parse_float_gprs_option): Remove.
(rs6000_handle_option): New. Define TARGET_HANDLE_OPTION. Define
TARGET_DEFAULT_TARGET_FLAGS.
(rs6000_override_options): Revamp to use new .opt machinery.
* config/rs6000/rs6000.h: Remove old MASK_* and TARGET_* in favor
of new .opt machinery. Remove target_flags. Redefine
TARGET_MFCRF and TARGET_POWERPC64. Remove TARGET_SWITCHES,
SUBTARGET_SWITCHES, TARGET_OPTIONS, SUBTARGET_OPTIONS,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_altivec_vrsave_string, rs6000_altivec_vrsave,
rs6000_longcall_switch, rs6000_default_long_calls,
rs6000_sched_costly_dep_str, rs6000_sched_costly_dep,
rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch, and
TARGET_ALTIVEC_VRSAVE.
From-SVN: r99284
2005-05-05 22:54:25 +02:00
|
|
|
extra_options="${extra_options} rs6000/sysv4.opt rs6000/linux64.opt"
|
2006-04-18 22:50:45 +02:00
|
|
|
tmake_file="rs6000/t-fprules t-slibgcc-elf-ver t-gnu rs6000/t-linux64 rs6000/t-fprules-softfp soft-fp/t-softfp"
|
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-18 00:06:55 +01:00
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
powerpc-*-beos*)
|
2001-07-31 19:20:20 +02:00
|
|
|
tm_file="${tm_file} rs6000/aix.h rs6000/beos.h rs6000/xcoff.h"
|
2006-04-18 22:50:45 +02:00
|
|
|
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-beos"
|
2001-12-22 22:07:33 +01:00
|
|
|
extra_headers=
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2000-11-21 04:02:09 +01:00
|
|
|
powerpc-*-darwin*)
|
config.gcc: Add .opt magic for the rs6000 ports.
2005-05-05 Aldy Hernandez <aldyh@redhat.com>
* config.gcc: Add .opt magic for the rs6000 ports.
* doc/invoke.texi: Document -mabi= option properly. Document
-misel and -mno-sel. Document -mspe and -mno-spe. Document
-mvrsave and -mno-vrsave. Document deprecation of -mspe= and
-misel=.
* config/rs6000/aix.h: Remove XL_COMPAT stuff. Remove
SUBTARGET_SWITCHES and SUBSUBTARGET_SWITCHES. Define
TARGET_XL_COMPAT.
* config/rs6000/aix.opt: New.
* config/rs6000/aix41.opt: New.
* config/rs6000/aix64.opt: New.
* config/rs6000/darwin.opt: New.
* config/rs6000/linux64.opt: New.
* config/rs6000/rs6000.opt: New.
* config/rs6000/sysv4.opt: New.
* config/rs6000/sysv4.h: Delete definitions of MASK_* and
associated TARGET_*. Remove SUBTARGET_OPTIONS,
SUBTARGET_SWITCHES.
Define TARGET_USES_SYSV4_OPT.
* config/rs6000/aix41.h: Remove SUBSUBTARGET_SWITCHES.
* config/rs6000/aix43.h: Remove SUBSUBTARGET_SWITCHES. Define
TARGET_USES_AIX64_OPT.
* config/rs6000/aix51.h: Same.
* config/rs6000/aix52.h: Same.
* config/rs6000/darwin.h: Remove
SUBTARGET_SWITCHES. Use TARGET_ALTIVEC_VRSAVE instead of
rs6000_altivec_vrsave.
* config/rs6000/linux64.h: Use
rs6000_explicit_options. Remove EXTRA_SUBTARGET_SWITCHES.
* config/rs6000/rs6000.c: Remove definitions of
rs6000_sched_restricted_insns_priority,
rs6000_long_double_size_string, rs6000_altivec_vrsave,
rs6000_altivec_vrsave_string, rs6000_isel, rs6000_spe,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_abi_string, rs6000_warn_altivec_long, rs6000_longcall,
rs6000_alignment_string. Define rs6000_explicit_options.
(rs6000_parse_abi_options): Remove.
(rs6000_parse_alignment_option): Remove.
(rs6000_parse_float_gprs_option): Remove.
(rs6000_handle_option): New. Define TARGET_HANDLE_OPTION. Define
TARGET_DEFAULT_TARGET_FLAGS.
(rs6000_override_options): Revamp to use new .opt machinery.
* config/rs6000/rs6000.h: Remove old MASK_* and TARGET_* in favor
of new .opt machinery. Remove target_flags. Redefine
TARGET_MFCRF and TARGET_POWERPC64. Remove TARGET_SWITCHES,
SUBTARGET_SWITCHES, TARGET_OPTIONS, SUBTARGET_OPTIONS,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_altivec_vrsave_string, rs6000_altivec_vrsave,
rs6000_longcall_switch, rs6000_default_long_calls,
rs6000_sched_costly_dep_str, rs6000_sched_costly_dep,
rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch, and
TARGET_ALTIVEC_VRSAVE.
From-SVN: r99284
2005-05-05 22:54:25 +02:00
|
|
|
extra_options="${extra_options} rs6000/darwin.opt"
|
2006-03-16 03:37:09 +01:00
|
|
|
extra_parts="crt2.o"
|
2005-02-16 22:54:47 +01:00
|
|
|
case ${target} in
|
2005-07-08 07:51:06 +02:00
|
|
|
*-darwin1[0-9]* | *-darwin[8-9]*)
|
|
|
|
tmake_file="${tmake_file} rs6000/t-darwin8"
|
|
|
|
tm_file="${tm_file} rs6000/darwin8.h"
|
|
|
|
;;
|
|
|
|
*-darwin7*)
|
|
|
|
tm_file="${tm_file} rs6000/darwin7.h"
|
|
|
|
;;
|
|
|
|
*-darwin[0-6]*)
|
|
|
|
;;
|
2005-02-16 22:54:47 +01:00
|
|
|
esac
|
2002-01-17 21:07:06 +01:00
|
|
|
extra_headers=altivec.h
|
2000-11-21 04:02:09 +01:00
|
|
|
;;
|
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 20:43:28 +01:00
|
|
|
powerpc*-*-freebsd*)
|
2001-12-06 18:34:55 +01:00
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} rs6000/sysv4.h rs6000/freebsd.h"
|
2006-04-18 22:50:45 +02:00
|
|
|
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
|
config.gcc: Add .opt magic for the rs6000 ports.
2005-05-05 Aldy Hernandez <aldyh@redhat.com>
* config.gcc: Add .opt magic for the rs6000 ports.
* doc/invoke.texi: Document -mabi= option properly. Document
-misel and -mno-sel. Document -mspe and -mno-spe. Document
-mvrsave and -mno-vrsave. Document deprecation of -mspe= and
-misel=.
* config/rs6000/aix.h: Remove XL_COMPAT stuff. Remove
SUBTARGET_SWITCHES and SUBSUBTARGET_SWITCHES. Define
TARGET_XL_COMPAT.
* config/rs6000/aix.opt: New.
* config/rs6000/aix41.opt: New.
* config/rs6000/aix64.opt: New.
* config/rs6000/darwin.opt: New.
* config/rs6000/linux64.opt: New.
* config/rs6000/rs6000.opt: New.
* config/rs6000/sysv4.opt: New.
* config/rs6000/sysv4.h: Delete definitions of MASK_* and
associated TARGET_*. Remove SUBTARGET_OPTIONS,
SUBTARGET_SWITCHES.
Define TARGET_USES_SYSV4_OPT.
* config/rs6000/aix41.h: Remove SUBSUBTARGET_SWITCHES.
* config/rs6000/aix43.h: Remove SUBSUBTARGET_SWITCHES. Define
TARGET_USES_AIX64_OPT.
* config/rs6000/aix51.h: Same.
* config/rs6000/aix52.h: Same.
* config/rs6000/darwin.h: Remove
SUBTARGET_SWITCHES. Use TARGET_ALTIVEC_VRSAVE instead of
rs6000_altivec_vrsave.
* config/rs6000/linux64.h: Use
rs6000_explicit_options. Remove EXTRA_SUBTARGET_SWITCHES.
* config/rs6000/rs6000.c: Remove definitions of
rs6000_sched_restricted_insns_priority,
rs6000_long_double_size_string, rs6000_altivec_vrsave,
rs6000_altivec_vrsave_string, rs6000_isel, rs6000_spe,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_abi_string, rs6000_warn_altivec_long, rs6000_longcall,
rs6000_alignment_string. Define rs6000_explicit_options.
(rs6000_parse_abi_options): Remove.
(rs6000_parse_alignment_option): Remove.
(rs6000_parse_float_gprs_option): Remove.
(rs6000_handle_option): New. Define TARGET_HANDLE_OPTION. Define
TARGET_DEFAULT_TARGET_FLAGS.
(rs6000_override_options): Revamp to use new .opt machinery.
* config/rs6000/rs6000.h: Remove old MASK_* and TARGET_* in favor
of new .opt machinery. Remove target_flags. Redefine
TARGET_MFCRF and TARGET_POWERPC64. Remove TARGET_SWITCHES,
SUBTARGET_SWITCHES, TARGET_OPTIONS, SUBTARGET_OPTIONS,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_altivec_vrsave_string, rs6000_altivec_vrsave,
rs6000_longcall_switch, rs6000_default_long_calls,
rs6000_sched_costly_dep_str, rs6000_sched_costly_dep,
rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch, and
TARGET_ALTIVEC_VRSAVE.
From-SVN: r99284
2005-05-05 22:54:25 +02:00
|
|
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
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 20:43:28 +01:00
|
|
|
;;
|
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 21:25:18 +02:00
|
|
|
powerpc-*-netbsd*)
|
2002-11-26 01:05:07 +01:00
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h freebsd-spec.h rs6000/sysv4.h rs6000/netbsd.h"
|
|
|
|
tmake_file="${tmake_file} rs6000/t-netbsd"
|
config.gcc: Add .opt magic for the rs6000 ports.
2005-05-05 Aldy Hernandez <aldyh@redhat.com>
* config.gcc: Add .opt magic for the rs6000 ports.
* doc/invoke.texi: Document -mabi= option properly. Document
-misel and -mno-sel. Document -mspe and -mno-spe. Document
-mvrsave and -mno-vrsave. Document deprecation of -mspe= and
-misel=.
* config/rs6000/aix.h: Remove XL_COMPAT stuff. Remove
SUBTARGET_SWITCHES and SUBSUBTARGET_SWITCHES. Define
TARGET_XL_COMPAT.
* config/rs6000/aix.opt: New.
* config/rs6000/aix41.opt: New.
* config/rs6000/aix64.opt: New.
* config/rs6000/darwin.opt: New.
* config/rs6000/linux64.opt: New.
* config/rs6000/rs6000.opt: New.
* config/rs6000/sysv4.opt: New.
* config/rs6000/sysv4.h: Delete definitions of MASK_* and
associated TARGET_*. Remove SUBTARGET_OPTIONS,
SUBTARGET_SWITCHES.
Define TARGET_USES_SYSV4_OPT.
* config/rs6000/aix41.h: Remove SUBSUBTARGET_SWITCHES.
* config/rs6000/aix43.h: Remove SUBSUBTARGET_SWITCHES. Define
TARGET_USES_AIX64_OPT.
* config/rs6000/aix51.h: Same.
* config/rs6000/aix52.h: Same.
* config/rs6000/darwin.h: Remove
SUBTARGET_SWITCHES. Use TARGET_ALTIVEC_VRSAVE instead of
rs6000_altivec_vrsave.
* config/rs6000/linux64.h: Use
rs6000_explicit_options. Remove EXTRA_SUBTARGET_SWITCHES.
* config/rs6000/rs6000.c: Remove definitions of
rs6000_sched_restricted_insns_priority,
rs6000_long_double_size_string, rs6000_altivec_vrsave,
rs6000_altivec_vrsave_string, rs6000_isel, rs6000_spe,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_abi_string, rs6000_warn_altivec_long, rs6000_longcall,
rs6000_alignment_string. Define rs6000_explicit_options.
(rs6000_parse_abi_options): Remove.
(rs6000_parse_alignment_option): Remove.
(rs6000_parse_float_gprs_option): Remove.
(rs6000_handle_option): New. Define TARGET_HANDLE_OPTION. Define
TARGET_DEFAULT_TARGET_FLAGS.
(rs6000_override_options): Revamp to use new .opt machinery.
* config/rs6000/rs6000.h: Remove old MASK_* and TARGET_* in favor
of new .opt machinery. Remove target_flags. Redefine
TARGET_MFCRF and TARGET_POWERPC64. Remove TARGET_SWITCHES,
SUBTARGET_SWITCHES, TARGET_OPTIONS, SUBTARGET_OPTIONS,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_altivec_vrsave_string, rs6000_altivec_vrsave,
rs6000_longcall_switch, rs6000_default_long_calls,
rs6000_sched_costly_dep_str, rs6000_sched_costly_dep,
rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch, and
TARGET_ALTIVEC_VRSAVE.
From-SVN: r99284
2005-05-05 22:54:25 +02:00
|
|
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
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 21:25:18 +02:00
|
|
|
;;
|
2001-02-08 23:09:06 +01:00
|
|
|
powerpc-*-chorusos*)
|
2001-12-06 18:34:55 +01:00
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h chorus.h"
|
2006-04-18 22:50:45 +02:00
|
|
|
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcos rs6000/t-ppccomm"
|
config.gcc: Add .opt magic for the rs6000 ports.
2005-05-05 Aldy Hernandez <aldyh@redhat.com>
* config.gcc: Add .opt magic for the rs6000 ports.
* doc/invoke.texi: Document -mabi= option properly. Document
-misel and -mno-sel. Document -mspe and -mno-spe. Document
-mvrsave and -mno-vrsave. Document deprecation of -mspe= and
-misel=.
* config/rs6000/aix.h: Remove XL_COMPAT stuff. Remove
SUBTARGET_SWITCHES and SUBSUBTARGET_SWITCHES. Define
TARGET_XL_COMPAT.
* config/rs6000/aix.opt: New.
* config/rs6000/aix41.opt: New.
* config/rs6000/aix64.opt: New.
* config/rs6000/darwin.opt: New.
* config/rs6000/linux64.opt: New.
* config/rs6000/rs6000.opt: New.
* config/rs6000/sysv4.opt: New.
* config/rs6000/sysv4.h: Delete definitions of MASK_* and
associated TARGET_*. Remove SUBTARGET_OPTIONS,
SUBTARGET_SWITCHES.
Define TARGET_USES_SYSV4_OPT.
* config/rs6000/aix41.h: Remove SUBSUBTARGET_SWITCHES.
* config/rs6000/aix43.h: Remove SUBSUBTARGET_SWITCHES. Define
TARGET_USES_AIX64_OPT.
* config/rs6000/aix51.h: Same.
* config/rs6000/aix52.h: Same.
* config/rs6000/darwin.h: Remove
SUBTARGET_SWITCHES. Use TARGET_ALTIVEC_VRSAVE instead of
rs6000_altivec_vrsave.
* config/rs6000/linux64.h: Use
rs6000_explicit_options. Remove EXTRA_SUBTARGET_SWITCHES.
* config/rs6000/rs6000.c: Remove definitions of
rs6000_sched_restricted_insns_priority,
rs6000_long_double_size_string, rs6000_altivec_vrsave,
rs6000_altivec_vrsave_string, rs6000_isel, rs6000_spe,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_abi_string, rs6000_warn_altivec_long, rs6000_longcall,
rs6000_alignment_string. Define rs6000_explicit_options.
(rs6000_parse_abi_options): Remove.
(rs6000_parse_alignment_option): Remove.
(rs6000_parse_float_gprs_option): Remove.
(rs6000_handle_option): New. Define TARGET_HANDLE_OPTION. Define
TARGET_DEFAULT_TARGET_FLAGS.
(rs6000_override_options): Revamp to use new .opt machinery.
* config/rs6000/rs6000.h: Remove old MASK_* and TARGET_* in favor
of new .opt machinery. Remove target_flags. Redefine
TARGET_MFCRF and TARGET_POWERPC64. Remove TARGET_SWITCHES,
SUBTARGET_SWITCHES, TARGET_OPTIONS, SUBTARGET_OPTIONS,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_altivec_vrsave_string, rs6000_altivec_vrsave,
rs6000_longcall_switch, rs6000_default_long_calls,
rs6000_sched_costly_dep_str, rs6000_sched_costly_dep,
rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch, and
TARGET_ALTIVEC_VRSAVE.
From-SVN: r99284
2005-05-05 22:54:25 +02:00
|
|
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
2003-10-08 23:32:50 +02:00
|
|
|
case ${enable_threads} in
|
|
|
|
yes | posix)
|
|
|
|
thread_file='posix'
|
|
|
|
;;
|
2001-02-08 23:09:06 +01:00
|
|
|
esac
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2001-02-08 23:09:06 +01:00
|
|
|
;;
|
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 04:51:31 +02:00
|
|
|
powerpc-*-eabispe*)
|
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabispe.h"
|
config.gcc: Add .opt magic for the rs6000 ports.
2005-05-05 Aldy Hernandez <aldyh@redhat.com>
* config.gcc: Add .opt magic for the rs6000 ports.
* doc/invoke.texi: Document -mabi= option properly. Document
-misel and -mno-sel. Document -mspe and -mno-spe. Document
-mvrsave and -mno-vrsave. Document deprecation of -mspe= and
-misel=.
* config/rs6000/aix.h: Remove XL_COMPAT stuff. Remove
SUBTARGET_SWITCHES and SUBSUBTARGET_SWITCHES. Define
TARGET_XL_COMPAT.
* config/rs6000/aix.opt: New.
* config/rs6000/aix41.opt: New.
* config/rs6000/aix64.opt: New.
* config/rs6000/darwin.opt: New.
* config/rs6000/linux64.opt: New.
* config/rs6000/rs6000.opt: New.
* config/rs6000/sysv4.opt: New.
* config/rs6000/sysv4.h: Delete definitions of MASK_* and
associated TARGET_*. Remove SUBTARGET_OPTIONS,
SUBTARGET_SWITCHES.
Define TARGET_USES_SYSV4_OPT.
* config/rs6000/aix41.h: Remove SUBSUBTARGET_SWITCHES.
* config/rs6000/aix43.h: Remove SUBSUBTARGET_SWITCHES. Define
TARGET_USES_AIX64_OPT.
* config/rs6000/aix51.h: Same.
* config/rs6000/aix52.h: Same.
* config/rs6000/darwin.h: Remove
SUBTARGET_SWITCHES. Use TARGET_ALTIVEC_VRSAVE instead of
rs6000_altivec_vrsave.
* config/rs6000/linux64.h: Use
rs6000_explicit_options. Remove EXTRA_SUBTARGET_SWITCHES.
* config/rs6000/rs6000.c: Remove definitions of
rs6000_sched_restricted_insns_priority,
rs6000_long_double_size_string, rs6000_altivec_vrsave,
rs6000_altivec_vrsave_string, rs6000_isel, rs6000_spe,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_abi_string, rs6000_warn_altivec_long, rs6000_longcall,
rs6000_alignment_string. Define rs6000_explicit_options.
(rs6000_parse_abi_options): Remove.
(rs6000_parse_alignment_option): Remove.
(rs6000_parse_float_gprs_option): Remove.
(rs6000_handle_option): New. Define TARGET_HANDLE_OPTION. Define
TARGET_DEFAULT_TARGET_FLAGS.
(rs6000_override_options): Revamp to use new .opt machinery.
* config/rs6000/rs6000.h: Remove old MASK_* and TARGET_* in favor
of new .opt machinery. Remove target_flags. Redefine
TARGET_MFCRF and TARGET_POWERPC64. Remove TARGET_SWITCHES,
SUBTARGET_SWITCHES, TARGET_OPTIONS, SUBTARGET_OPTIONS,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_altivec_vrsave_string, rs6000_altivec_vrsave,
rs6000_longcall_switch, rs6000_default_long_calls,
rs6000_sched_costly_dep_str, rs6000_sched_costly_dep,
rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch, and
TARGET_ALTIVEC_VRSAVE.
From-SVN: r99284
2005-05-05 22:54:25 +02:00
|
|
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
2003-04-22 15:06:55 +02:00
|
|
|
tmake_file="rs6000/t-spe rs6000/t-ppccomm"
|
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 04:51:31 +02:00
|
|
|
;;
|
2001-12-17 01:00:35 +01:00
|
|
|
powerpc-*-eabisimaltivec*)
|
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabisim.h rs6000/eabialtivec.h"
|
config.gcc: Add .opt magic for the rs6000 ports.
2005-05-05 Aldy Hernandez <aldyh@redhat.com>
* config.gcc: Add .opt magic for the rs6000 ports.
* doc/invoke.texi: Document -mabi= option properly. Document
-misel and -mno-sel. Document -mspe and -mno-spe. Document
-mvrsave and -mno-vrsave. Document deprecation of -mspe= and
-misel=.
* config/rs6000/aix.h: Remove XL_COMPAT stuff. Remove
SUBTARGET_SWITCHES and SUBSUBTARGET_SWITCHES. Define
TARGET_XL_COMPAT.
* config/rs6000/aix.opt: New.
* config/rs6000/aix41.opt: New.
* config/rs6000/aix64.opt: New.
* config/rs6000/darwin.opt: New.
* config/rs6000/linux64.opt: New.
* config/rs6000/rs6000.opt: New.
* config/rs6000/sysv4.opt: New.
* config/rs6000/sysv4.h: Delete definitions of MASK_* and
associated TARGET_*. Remove SUBTARGET_OPTIONS,
SUBTARGET_SWITCHES.
Define TARGET_USES_SYSV4_OPT.
* config/rs6000/aix41.h: Remove SUBSUBTARGET_SWITCHES.
* config/rs6000/aix43.h: Remove SUBSUBTARGET_SWITCHES. Define
TARGET_USES_AIX64_OPT.
* config/rs6000/aix51.h: Same.
* config/rs6000/aix52.h: Same.
* config/rs6000/darwin.h: Remove
SUBTARGET_SWITCHES. Use TARGET_ALTIVEC_VRSAVE instead of
rs6000_altivec_vrsave.
* config/rs6000/linux64.h: Use
rs6000_explicit_options. Remove EXTRA_SUBTARGET_SWITCHES.
* config/rs6000/rs6000.c: Remove definitions of
rs6000_sched_restricted_insns_priority,
rs6000_long_double_size_string, rs6000_altivec_vrsave,
rs6000_altivec_vrsave_string, rs6000_isel, rs6000_spe,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_abi_string, rs6000_warn_altivec_long, rs6000_longcall,
rs6000_alignment_string. Define rs6000_explicit_options.
(rs6000_parse_abi_options): Remove.
(rs6000_parse_alignment_option): Remove.
(rs6000_parse_float_gprs_option): Remove.
(rs6000_handle_option): New. Define TARGET_HANDLE_OPTION. Define
TARGET_DEFAULT_TARGET_FLAGS.
(rs6000_override_options): Revamp to use new .opt machinery.
* config/rs6000/rs6000.h: Remove old MASK_* and TARGET_* in favor
of new .opt machinery. Remove target_flags. Redefine
TARGET_MFCRF and TARGET_POWERPC64. Remove TARGET_SWITCHES,
SUBTARGET_SWITCHES, TARGET_OPTIONS, SUBTARGET_OPTIONS,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_altivec_vrsave_string, rs6000_altivec_vrsave,
rs6000_longcall_switch, rs6000_default_long_calls,
rs6000_sched_costly_dep_str, rs6000_sched_costly_dep,
rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch, and
TARGET_ALTIVEC_VRSAVE.
From-SVN: r99284
2005-05-05 22:54:25 +02:00
|
|
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
2006-04-18 22:50:45 +02:00
|
|
|
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcendian rs6000/t-ppccomm"
|
2001-12-17 01:00:35 +01:00
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
powerpc-*-eabisim*)
|
2001-12-06 18:34:55 +01:00
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabisim.h"
|
config.gcc: Add .opt magic for the rs6000 ports.
2005-05-05 Aldy Hernandez <aldyh@redhat.com>
* config.gcc: Add .opt magic for the rs6000 ports.
* doc/invoke.texi: Document -mabi= option properly. Document
-misel and -mno-sel. Document -mspe and -mno-spe. Document
-mvrsave and -mno-vrsave. Document deprecation of -mspe= and
-misel=.
* config/rs6000/aix.h: Remove XL_COMPAT stuff. Remove
SUBTARGET_SWITCHES and SUBSUBTARGET_SWITCHES. Define
TARGET_XL_COMPAT.
* config/rs6000/aix.opt: New.
* config/rs6000/aix41.opt: New.
* config/rs6000/aix64.opt: New.
* config/rs6000/darwin.opt: New.
* config/rs6000/linux64.opt: New.
* config/rs6000/rs6000.opt: New.
* config/rs6000/sysv4.opt: New.
* config/rs6000/sysv4.h: Delete definitions of MASK_* and
associated TARGET_*. Remove SUBTARGET_OPTIONS,
SUBTARGET_SWITCHES.
Define TARGET_USES_SYSV4_OPT.
* config/rs6000/aix41.h: Remove SUBSUBTARGET_SWITCHES.
* config/rs6000/aix43.h: Remove SUBSUBTARGET_SWITCHES. Define
TARGET_USES_AIX64_OPT.
* config/rs6000/aix51.h: Same.
* config/rs6000/aix52.h: Same.
* config/rs6000/darwin.h: Remove
SUBTARGET_SWITCHES. Use TARGET_ALTIVEC_VRSAVE instead of
rs6000_altivec_vrsave.
* config/rs6000/linux64.h: Use
rs6000_explicit_options. Remove EXTRA_SUBTARGET_SWITCHES.
* config/rs6000/rs6000.c: Remove definitions of
rs6000_sched_restricted_insns_priority,
rs6000_long_double_size_string, rs6000_altivec_vrsave,
rs6000_altivec_vrsave_string, rs6000_isel, rs6000_spe,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_abi_string, rs6000_warn_altivec_long, rs6000_longcall,
rs6000_alignment_string. Define rs6000_explicit_options.
(rs6000_parse_abi_options): Remove.
(rs6000_parse_alignment_option): Remove.
(rs6000_parse_float_gprs_option): Remove.
(rs6000_handle_option): New. Define TARGET_HANDLE_OPTION. Define
TARGET_DEFAULT_TARGET_FLAGS.
(rs6000_override_options): Revamp to use new .opt machinery.
* config/rs6000/rs6000.h: Remove old MASK_* and TARGET_* in favor
of new .opt machinery. Remove target_flags. Redefine
TARGET_MFCRF and TARGET_POWERPC64. Remove TARGET_SWITCHES,
SUBTARGET_SWITCHES, TARGET_OPTIONS, SUBTARGET_OPTIONS,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_altivec_vrsave_string, rs6000_altivec_vrsave,
rs6000_longcall_switch, rs6000_default_long_calls,
rs6000_sched_costly_dep_str, rs6000_sched_costly_dep,
rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch, and
TARGET_ALTIVEC_VRSAVE.
From-SVN: r99284
2005-05-05 22:54:25 +02:00
|
|
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
2006-04-18 22:50:45 +02:00
|
|
|
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
|
|
|
powerpc-*-elf*)
|
2001-12-06 18:34:55 +01:00
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h"
|
config.gcc: Add .opt magic for the rs6000 ports.
2005-05-05 Aldy Hernandez <aldyh@redhat.com>
* config.gcc: Add .opt magic for the rs6000 ports.
* doc/invoke.texi: Document -mabi= option properly. Document
-misel and -mno-sel. Document -mspe and -mno-spe. Document
-mvrsave and -mno-vrsave. Document deprecation of -mspe= and
-misel=.
* config/rs6000/aix.h: Remove XL_COMPAT stuff. Remove
SUBTARGET_SWITCHES and SUBSUBTARGET_SWITCHES. Define
TARGET_XL_COMPAT.
* config/rs6000/aix.opt: New.
* config/rs6000/aix41.opt: New.
* config/rs6000/aix64.opt: New.
* config/rs6000/darwin.opt: New.
* config/rs6000/linux64.opt: New.
* config/rs6000/rs6000.opt: New.
* config/rs6000/sysv4.opt: New.
* config/rs6000/sysv4.h: Delete definitions of MASK_* and
associated TARGET_*. Remove SUBTARGET_OPTIONS,
SUBTARGET_SWITCHES.
Define TARGET_USES_SYSV4_OPT.
* config/rs6000/aix41.h: Remove SUBSUBTARGET_SWITCHES.
* config/rs6000/aix43.h: Remove SUBSUBTARGET_SWITCHES. Define
TARGET_USES_AIX64_OPT.
* config/rs6000/aix51.h: Same.
* config/rs6000/aix52.h: Same.
* config/rs6000/darwin.h: Remove
SUBTARGET_SWITCHES. Use TARGET_ALTIVEC_VRSAVE instead of
rs6000_altivec_vrsave.
* config/rs6000/linux64.h: Use
rs6000_explicit_options. Remove EXTRA_SUBTARGET_SWITCHES.
* config/rs6000/rs6000.c: Remove definitions of
rs6000_sched_restricted_insns_priority,
rs6000_long_double_size_string, rs6000_altivec_vrsave,
rs6000_altivec_vrsave_string, rs6000_isel, rs6000_spe,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_abi_string, rs6000_warn_altivec_long, rs6000_longcall,
rs6000_alignment_string. Define rs6000_explicit_options.
(rs6000_parse_abi_options): Remove.
(rs6000_parse_alignment_option): Remove.
(rs6000_parse_float_gprs_option): Remove.
(rs6000_handle_option): New. Define TARGET_HANDLE_OPTION. Define
TARGET_DEFAULT_TARGET_FLAGS.
(rs6000_override_options): Revamp to use new .opt machinery.
* config/rs6000/rs6000.h: Remove old MASK_* and TARGET_* in favor
of new .opt machinery. Remove target_flags. Redefine
TARGET_MFCRF and TARGET_POWERPC64. Remove TARGET_SWITCHES,
SUBTARGET_SWITCHES, TARGET_OPTIONS, SUBTARGET_OPTIONS,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_altivec_vrsave_string, rs6000_altivec_vrsave,
rs6000_longcall_switch, rs6000_default_long_calls,
rs6000_sched_costly_dep_str, rs6000_sched_costly_dep,
rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch, and
TARGET_ALTIVEC_VRSAVE.
From-SVN: r99284
2005-05-05 22:54:25 +02:00
|
|
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
2006-04-18 22:50:45 +02:00
|
|
|
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2001-12-14 00:14:45 +01:00
|
|
|
powerpc-*-eabialtivec*)
|
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabialtivec.h"
|
config.gcc: Add .opt magic for the rs6000 ports.
2005-05-05 Aldy Hernandez <aldyh@redhat.com>
* config.gcc: Add .opt magic for the rs6000 ports.
* doc/invoke.texi: Document -mabi= option properly. Document
-misel and -mno-sel. Document -mspe and -mno-spe. Document
-mvrsave and -mno-vrsave. Document deprecation of -mspe= and
-misel=.
* config/rs6000/aix.h: Remove XL_COMPAT stuff. Remove
SUBTARGET_SWITCHES and SUBSUBTARGET_SWITCHES. Define
TARGET_XL_COMPAT.
* config/rs6000/aix.opt: New.
* config/rs6000/aix41.opt: New.
* config/rs6000/aix64.opt: New.
* config/rs6000/darwin.opt: New.
* config/rs6000/linux64.opt: New.
* config/rs6000/rs6000.opt: New.
* config/rs6000/sysv4.opt: New.
* config/rs6000/sysv4.h: Delete definitions of MASK_* and
associated TARGET_*. Remove SUBTARGET_OPTIONS,
SUBTARGET_SWITCHES.
Define TARGET_USES_SYSV4_OPT.
* config/rs6000/aix41.h: Remove SUBSUBTARGET_SWITCHES.
* config/rs6000/aix43.h: Remove SUBSUBTARGET_SWITCHES. Define
TARGET_USES_AIX64_OPT.
* config/rs6000/aix51.h: Same.
* config/rs6000/aix52.h: Same.
* config/rs6000/darwin.h: Remove
SUBTARGET_SWITCHES. Use TARGET_ALTIVEC_VRSAVE instead of
rs6000_altivec_vrsave.
* config/rs6000/linux64.h: Use
rs6000_explicit_options. Remove EXTRA_SUBTARGET_SWITCHES.
* config/rs6000/rs6000.c: Remove definitions of
rs6000_sched_restricted_insns_priority,
rs6000_long_double_size_string, rs6000_altivec_vrsave,
rs6000_altivec_vrsave_string, rs6000_isel, rs6000_spe,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_abi_string, rs6000_warn_altivec_long, rs6000_longcall,
rs6000_alignment_string. Define rs6000_explicit_options.
(rs6000_parse_abi_options): Remove.
(rs6000_parse_alignment_option): Remove.
(rs6000_parse_float_gprs_option): Remove.
(rs6000_handle_option): New. Define TARGET_HANDLE_OPTION. Define
TARGET_DEFAULT_TARGET_FLAGS.
(rs6000_override_options): Revamp to use new .opt machinery.
* config/rs6000/rs6000.h: Remove old MASK_* and TARGET_* in favor
of new .opt machinery. Remove target_flags. Redefine
TARGET_MFCRF and TARGET_POWERPC64. Remove TARGET_SWITCHES,
SUBTARGET_SWITCHES, TARGET_OPTIONS, SUBTARGET_OPTIONS,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_altivec_vrsave_string, rs6000_altivec_vrsave,
rs6000_longcall_switch, rs6000_default_long_calls,
rs6000_sched_costly_dep_str, rs6000_sched_costly_dep,
rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch, and
TARGET_ALTIVEC_VRSAVE.
From-SVN: r99284
2005-05-05 22:54:25 +02:00
|
|
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
2006-04-18 22:50:45 +02:00
|
|
|
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcendian rs6000/t-ppccomm"
|
2001-12-14 00:14:45 +01:00
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
powerpc-*-eabi*)
|
2001-12-06 18:34:55 +01:00
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h"
|
config.gcc: Add .opt magic for the rs6000 ports.
2005-05-05 Aldy Hernandez <aldyh@redhat.com>
* config.gcc: Add .opt magic for the rs6000 ports.
* doc/invoke.texi: Document -mabi= option properly. Document
-misel and -mno-sel. Document -mspe and -mno-spe. Document
-mvrsave and -mno-vrsave. Document deprecation of -mspe= and
-misel=.
* config/rs6000/aix.h: Remove XL_COMPAT stuff. Remove
SUBTARGET_SWITCHES and SUBSUBTARGET_SWITCHES. Define
TARGET_XL_COMPAT.
* config/rs6000/aix.opt: New.
* config/rs6000/aix41.opt: New.
* config/rs6000/aix64.opt: New.
* config/rs6000/darwin.opt: New.
* config/rs6000/linux64.opt: New.
* config/rs6000/rs6000.opt: New.
* config/rs6000/sysv4.opt: New.
* config/rs6000/sysv4.h: Delete definitions of MASK_* and
associated TARGET_*. Remove SUBTARGET_OPTIONS,
SUBTARGET_SWITCHES.
Define TARGET_USES_SYSV4_OPT.
* config/rs6000/aix41.h: Remove SUBSUBTARGET_SWITCHES.
* config/rs6000/aix43.h: Remove SUBSUBTARGET_SWITCHES. Define
TARGET_USES_AIX64_OPT.
* config/rs6000/aix51.h: Same.
* config/rs6000/aix52.h: Same.
* config/rs6000/darwin.h: Remove
SUBTARGET_SWITCHES. Use TARGET_ALTIVEC_VRSAVE instead of
rs6000_altivec_vrsave.
* config/rs6000/linux64.h: Use
rs6000_explicit_options. Remove EXTRA_SUBTARGET_SWITCHES.
* config/rs6000/rs6000.c: Remove definitions of
rs6000_sched_restricted_insns_priority,
rs6000_long_double_size_string, rs6000_altivec_vrsave,
rs6000_altivec_vrsave_string, rs6000_isel, rs6000_spe,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_abi_string, rs6000_warn_altivec_long, rs6000_longcall,
rs6000_alignment_string. Define rs6000_explicit_options.
(rs6000_parse_abi_options): Remove.
(rs6000_parse_alignment_option): Remove.
(rs6000_parse_float_gprs_option): Remove.
(rs6000_handle_option): New. Define TARGET_HANDLE_OPTION. Define
TARGET_DEFAULT_TARGET_FLAGS.
(rs6000_override_options): Revamp to use new .opt machinery.
* config/rs6000/rs6000.h: Remove old MASK_* and TARGET_* in favor
of new .opt machinery. Remove target_flags. Redefine
TARGET_MFCRF and TARGET_POWERPC64. Remove TARGET_SWITCHES,
SUBTARGET_SWITCHES, TARGET_OPTIONS, SUBTARGET_OPTIONS,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_altivec_vrsave_string, rs6000_altivec_vrsave,
rs6000_longcall_switch, rs6000_default_long_calls,
rs6000_sched_costly_dep_str, rs6000_sched_costly_dep,
rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch, and
TARGET_ALTIVEC_VRSAVE.
From-SVN: r99284
2005-05-05 22:54:25 +02:00
|
|
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
2006-04-18 22:50:45 +02:00
|
|
|
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
|
|
|
powerpc-*-rtems*)
|
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 23:49:03 +01:00
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/rtems.h rtems.h"
|
config.gcc: Add .opt magic for the rs6000 ports.
2005-05-05 Aldy Hernandez <aldyh@redhat.com>
* config.gcc: Add .opt magic for the rs6000 ports.
* doc/invoke.texi: Document -mabi= option properly. Document
-misel and -mno-sel. Document -mspe and -mno-spe. Document
-mvrsave and -mno-vrsave. Document deprecation of -mspe= and
-misel=.
* config/rs6000/aix.h: Remove XL_COMPAT stuff. Remove
SUBTARGET_SWITCHES and SUBSUBTARGET_SWITCHES. Define
TARGET_XL_COMPAT.
* config/rs6000/aix.opt: New.
* config/rs6000/aix41.opt: New.
* config/rs6000/aix64.opt: New.
* config/rs6000/darwin.opt: New.
* config/rs6000/linux64.opt: New.
* config/rs6000/rs6000.opt: New.
* config/rs6000/sysv4.opt: New.
* config/rs6000/sysv4.h: Delete definitions of MASK_* and
associated TARGET_*. Remove SUBTARGET_OPTIONS,
SUBTARGET_SWITCHES.
Define TARGET_USES_SYSV4_OPT.
* config/rs6000/aix41.h: Remove SUBSUBTARGET_SWITCHES.
* config/rs6000/aix43.h: Remove SUBSUBTARGET_SWITCHES. Define
TARGET_USES_AIX64_OPT.
* config/rs6000/aix51.h: Same.
* config/rs6000/aix52.h: Same.
* config/rs6000/darwin.h: Remove
SUBTARGET_SWITCHES. Use TARGET_ALTIVEC_VRSAVE instead of
rs6000_altivec_vrsave.
* config/rs6000/linux64.h: Use
rs6000_explicit_options. Remove EXTRA_SUBTARGET_SWITCHES.
* config/rs6000/rs6000.c: Remove definitions of
rs6000_sched_restricted_insns_priority,
rs6000_long_double_size_string, rs6000_altivec_vrsave,
rs6000_altivec_vrsave_string, rs6000_isel, rs6000_spe,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_abi_string, rs6000_warn_altivec_long, rs6000_longcall,
rs6000_alignment_string. Define rs6000_explicit_options.
(rs6000_parse_abi_options): Remove.
(rs6000_parse_alignment_option): Remove.
(rs6000_parse_float_gprs_option): Remove.
(rs6000_handle_option): New. Define TARGET_HANDLE_OPTION. Define
TARGET_DEFAULT_TARGET_FLAGS.
(rs6000_override_options): Revamp to use new .opt machinery.
* config/rs6000/rs6000.h: Remove old MASK_* and TARGET_* in favor
of new .opt machinery. Remove target_flags. Redefine
TARGET_MFCRF and TARGET_POWERPC64. Remove TARGET_SWITCHES,
SUBTARGET_SWITCHES, TARGET_OPTIONS, SUBTARGET_OPTIONS,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_altivec_vrsave_string, rs6000_altivec_vrsave,
rs6000_longcall_switch, rs6000_default_long_calls,
rs6000_sched_costly_dep_str, rs6000_sched_costly_dep,
rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch, and
TARGET_ALTIVEC_VRSAVE.
From-SVN: r99284
2005-05-05 22:54:25 +02:00
|
|
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
2006-04-18 22:50:45 +02:00
|
|
|
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-rtems t-rtems rs6000/t-ppccomm"
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
config.gcc: Purge all targets obsoleted in GCC 3.3.
* config.gcc: Purge all targets obsoleted in GCC 3.3. Also
remove hppa*-*-mpeix* which could not be built, and prune
files from tmake_file= or tm_file= lists that don't exist.
* config/alpha/alpha-interix.h, config/alpha/alpha32.h
* config/alpha/t-interix, config/arm/conix-elf.h
* config/arm/t-arm-aout, config/arm/t-strongarm-coff
* config/arm/unknown-elf-oabi.h, config/i386/win32.h
* config/m68k/3b1.h, config/m68k/3b1g.h, config/m68k/amix.h
* config/m68k/atari.h, config/m68k/ccur-GAS.h, config/m68k/crds.h
* config/m68k/hp2bsd.h, config/m68k/hp3bsd.h
* config/m68k/hp3bsd44.h, config/m68k/linux-aout.h
* config/m68k/m68k-psos.h, config/m68k/mot3300.h
* config/m68k/pbb.h, config/m68k/plexus.h, config/m68k/sun2.h
* config/m68k/sun2o4.h, config/m68k/sun3.h, config/m68k/sun3mach.h
* config/m68k/sun3n.h, config/m68k/sun3n3.h, config/m68k/sun3o3.h
* config/m68k/t-mot3300, config/m68k/t-mot3300-gald
* config/m68k/t-mot3300-gas, config/m68k/t-mot3300-gld
* config/m68k/tower-as.h, config/m68k/tower.h
* config/m88k/aout-dbx.h, config/m88k/m88k-aout.h
* config/m88k/m88k-modes.def, config/m88k/m88k-move.sh
* config/m88k/m88k-protos.h, config/m88k/m88k.c
* config/m88k/m88k.h, config/m88k/m88k.md, config/m88k/openbsd.h
* config/m88k/sysv4.h, config/m88k/t-luna, config/m88k/t-luna-gas
* config/m88k/t-m88k, config/m88k/t-sysv4, config/mcore/gfloat.h
* config/mips/rtems64.h, config/mips/sni-gas.h
* config/mips/sni-svr4.h, config/mips/t-ecoff
* config/mn10200/lib1funcs.asm, config/mn10200/mn10200-protos.h
* config/mn10200/mn10200.c, config/mn10200/mn10200.h
* config/mn10200/mn10200.md, config/mn10200/t-mn10200
* config/pa/pa-hiux.h, config/pa/pa-hpux7.h, config/pa/pa-hpux9.h
* config/pa/pa-oldas.h, config/pa/t-mpeix, config/psos.h
* config/romp/romp-protos.h, config/romp/romp.c
* config/romp/romp.h, config/romp/romp.md, config/rs6000/aix31.h
* config/rs6000/aix3newas.h, config/rs6000/mach.h
* config/sparc/bsd.h, config/sparc/hal.h
* config/sparc/linux-aout.h, config/sparc/lynx-ng.h
* config/sparc/lynx.h, config/sparc/netbsd.h
* config/sparc/sp86x-aout.h, config/sparc/splet.h
* config/sparc/sun4gas.h, config/sparc/sun4o3.h
* config/sparc/sunos4.h, config/sparc/t-chorus-elf
* config/sparc/t-halos, config/sparc/t-sparcbare
* config/sparc/t-splet, config/sparc/t-sunos41
* config/v850/rtems.h: Delete file.
From-SVN: r66842
2003-05-15 23:47:36 +02:00
|
|
|
powerpc-*-linux*altivec*)
|
2001-12-14 00:14:45 +01:00
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h rs6000/linuxaltivec.h"
|
config.gcc: Add .opt magic for the rs6000 ports.
2005-05-05 Aldy Hernandez <aldyh@redhat.com>
* config.gcc: Add .opt magic for the rs6000 ports.
* doc/invoke.texi: Document -mabi= option properly. Document
-misel and -mno-sel. Document -mspe and -mno-spe. Document
-mvrsave and -mno-vrsave. Document deprecation of -mspe= and
-misel=.
* config/rs6000/aix.h: Remove XL_COMPAT stuff. Remove
SUBTARGET_SWITCHES and SUBSUBTARGET_SWITCHES. Define
TARGET_XL_COMPAT.
* config/rs6000/aix.opt: New.
* config/rs6000/aix41.opt: New.
* config/rs6000/aix64.opt: New.
* config/rs6000/darwin.opt: New.
* config/rs6000/linux64.opt: New.
* config/rs6000/rs6000.opt: New.
* config/rs6000/sysv4.opt: New.
* config/rs6000/sysv4.h: Delete definitions of MASK_* and
associated TARGET_*. Remove SUBTARGET_OPTIONS,
SUBTARGET_SWITCHES.
Define TARGET_USES_SYSV4_OPT.
* config/rs6000/aix41.h: Remove SUBSUBTARGET_SWITCHES.
* config/rs6000/aix43.h: Remove SUBSUBTARGET_SWITCHES. Define
TARGET_USES_AIX64_OPT.
* config/rs6000/aix51.h: Same.
* config/rs6000/aix52.h: Same.
* config/rs6000/darwin.h: Remove
SUBTARGET_SWITCHES. Use TARGET_ALTIVEC_VRSAVE instead of
rs6000_altivec_vrsave.
* config/rs6000/linux64.h: Use
rs6000_explicit_options. Remove EXTRA_SUBTARGET_SWITCHES.
* config/rs6000/rs6000.c: Remove definitions of
rs6000_sched_restricted_insns_priority,
rs6000_long_double_size_string, rs6000_altivec_vrsave,
rs6000_altivec_vrsave_string, rs6000_isel, rs6000_spe,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_abi_string, rs6000_warn_altivec_long, rs6000_longcall,
rs6000_alignment_string. Define rs6000_explicit_options.
(rs6000_parse_abi_options): Remove.
(rs6000_parse_alignment_option): Remove.
(rs6000_parse_float_gprs_option): Remove.
(rs6000_handle_option): New. Define TARGET_HANDLE_OPTION. Define
TARGET_DEFAULT_TARGET_FLAGS.
(rs6000_override_options): Revamp to use new .opt machinery.
* config/rs6000/rs6000.h: Remove old MASK_* and TARGET_* in favor
of new .opt machinery. Remove target_flags. Redefine
TARGET_MFCRF and TARGET_POWERPC64. Remove TARGET_SWITCHES,
SUBTARGET_SWITCHES, TARGET_OPTIONS, SUBTARGET_OPTIONS,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_altivec_vrsave_string, rs6000_altivec_vrsave,
rs6000_longcall_switch, rs6000_default_long_calls,
rs6000_sched_costly_dep_str, rs6000_sched_costly_dep,
rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch, and
TARGET_ALTIVEC_VRSAVE.
From-SVN: r99284
2005-05-05 22:54:25 +02:00
|
|
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
2006-04-18 22:50:45 +02:00
|
|
|
tmake_file="rs6000/t-fprules rs6000/t-fprules-softfp soft-fp/t-softfp rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
|
2001-12-14 00:14:45 +01:00
|
|
|
;;
|
config.gcc: Purge all targets obsoleted in GCC 3.3.
* config.gcc: Purge all targets obsoleted in GCC 3.3. Also
remove hppa*-*-mpeix* which could not be built, and prune
files from tmake_file= or tm_file= lists that don't exist.
* config/alpha/alpha-interix.h, config/alpha/alpha32.h
* config/alpha/t-interix, config/arm/conix-elf.h
* config/arm/t-arm-aout, config/arm/t-strongarm-coff
* config/arm/unknown-elf-oabi.h, config/i386/win32.h
* config/m68k/3b1.h, config/m68k/3b1g.h, config/m68k/amix.h
* config/m68k/atari.h, config/m68k/ccur-GAS.h, config/m68k/crds.h
* config/m68k/hp2bsd.h, config/m68k/hp3bsd.h
* config/m68k/hp3bsd44.h, config/m68k/linux-aout.h
* config/m68k/m68k-psos.h, config/m68k/mot3300.h
* config/m68k/pbb.h, config/m68k/plexus.h, config/m68k/sun2.h
* config/m68k/sun2o4.h, config/m68k/sun3.h, config/m68k/sun3mach.h
* config/m68k/sun3n.h, config/m68k/sun3n3.h, config/m68k/sun3o3.h
* config/m68k/t-mot3300, config/m68k/t-mot3300-gald
* config/m68k/t-mot3300-gas, config/m68k/t-mot3300-gld
* config/m68k/tower-as.h, config/m68k/tower.h
* config/m88k/aout-dbx.h, config/m88k/m88k-aout.h
* config/m88k/m88k-modes.def, config/m88k/m88k-move.sh
* config/m88k/m88k-protos.h, config/m88k/m88k.c
* config/m88k/m88k.h, config/m88k/m88k.md, config/m88k/openbsd.h
* config/m88k/sysv4.h, config/m88k/t-luna, config/m88k/t-luna-gas
* config/m88k/t-m88k, config/m88k/t-sysv4, config/mcore/gfloat.h
* config/mips/rtems64.h, config/mips/sni-gas.h
* config/mips/sni-svr4.h, config/mips/t-ecoff
* config/mn10200/lib1funcs.asm, config/mn10200/mn10200-protos.h
* config/mn10200/mn10200.c, config/mn10200/mn10200.h
* config/mn10200/mn10200.md, config/mn10200/t-mn10200
* config/pa/pa-hiux.h, config/pa/pa-hpux7.h, config/pa/pa-hpux9.h
* config/pa/pa-oldas.h, config/pa/t-mpeix, config/psos.h
* config/romp/romp-protos.h, config/romp/romp.c
* config/romp/romp.h, config/romp/romp.md, config/rs6000/aix31.h
* config/rs6000/aix3newas.h, config/rs6000/mach.h
* config/sparc/bsd.h, config/sparc/hal.h
* config/sparc/linux-aout.h, config/sparc/lynx-ng.h
* config/sparc/lynx.h, config/sparc/netbsd.h
* config/sparc/sp86x-aout.h, config/sparc/splet.h
* config/sparc/sun4gas.h, config/sparc/sun4o3.h
* config/sparc/sunos4.h, config/sparc/t-chorus-elf
* config/sparc/t-halos, config/sparc/t-sparcbare
* config/sparc/t-splet, config/sparc/t-sunos41
* config/v850/rtems.h: Delete file.
From-SVN: r66842
2003-05-15 23:47:36 +02:00
|
|
|
powerpc-*-linux*spe*)
|
2003-05-06 21:49:21 +02:00
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h rs6000/linuxspe.h"
|
config.gcc: Add .opt magic for the rs6000 ports.
2005-05-05 Aldy Hernandez <aldyh@redhat.com>
* config.gcc: Add .opt magic for the rs6000 ports.
* doc/invoke.texi: Document -mabi= option properly. Document
-misel and -mno-sel. Document -mspe and -mno-spe. Document
-mvrsave and -mno-vrsave. Document deprecation of -mspe= and
-misel=.
* config/rs6000/aix.h: Remove XL_COMPAT stuff. Remove
SUBTARGET_SWITCHES and SUBSUBTARGET_SWITCHES. Define
TARGET_XL_COMPAT.
* config/rs6000/aix.opt: New.
* config/rs6000/aix41.opt: New.
* config/rs6000/aix64.opt: New.
* config/rs6000/darwin.opt: New.
* config/rs6000/linux64.opt: New.
* config/rs6000/rs6000.opt: New.
* config/rs6000/sysv4.opt: New.
* config/rs6000/sysv4.h: Delete definitions of MASK_* and
associated TARGET_*. Remove SUBTARGET_OPTIONS,
SUBTARGET_SWITCHES.
Define TARGET_USES_SYSV4_OPT.
* config/rs6000/aix41.h: Remove SUBSUBTARGET_SWITCHES.
* config/rs6000/aix43.h: Remove SUBSUBTARGET_SWITCHES. Define
TARGET_USES_AIX64_OPT.
* config/rs6000/aix51.h: Same.
* config/rs6000/aix52.h: Same.
* config/rs6000/darwin.h: Remove
SUBTARGET_SWITCHES. Use TARGET_ALTIVEC_VRSAVE instead of
rs6000_altivec_vrsave.
* config/rs6000/linux64.h: Use
rs6000_explicit_options. Remove EXTRA_SUBTARGET_SWITCHES.
* config/rs6000/rs6000.c: Remove definitions of
rs6000_sched_restricted_insns_priority,
rs6000_long_double_size_string, rs6000_altivec_vrsave,
rs6000_altivec_vrsave_string, rs6000_isel, rs6000_spe,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_abi_string, rs6000_warn_altivec_long, rs6000_longcall,
rs6000_alignment_string. Define rs6000_explicit_options.
(rs6000_parse_abi_options): Remove.
(rs6000_parse_alignment_option): Remove.
(rs6000_parse_float_gprs_option): Remove.
(rs6000_handle_option): New. Define TARGET_HANDLE_OPTION. Define
TARGET_DEFAULT_TARGET_FLAGS.
(rs6000_override_options): Revamp to use new .opt machinery.
* config/rs6000/rs6000.h: Remove old MASK_* and TARGET_* in favor
of new .opt machinery. Remove target_flags. Redefine
TARGET_MFCRF and TARGET_POWERPC64. Remove TARGET_SWITCHES,
SUBTARGET_SWITCHES, TARGET_OPTIONS, SUBTARGET_OPTIONS,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_altivec_vrsave_string, rs6000_altivec_vrsave,
rs6000_longcall_switch, rs6000_default_long_calls,
rs6000_sched_costly_dep_str, rs6000_sched_costly_dep,
rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch, and
TARGET_ALTIVEC_VRSAVE.
From-SVN: r99284
2005-05-05 22:54:25 +02:00
|
|
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
2006-04-18 22:50:45 +02:00
|
|
|
tmake_file="rs6000/t-fprules rs6000/t-fprules-softfp soft-fp/t-softfp rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
|
2003-05-06 21:49:21 +02:00
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
powerpc-*-linux*)
|
2005-03-31 01:46:28 +02:00
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h"
|
config.gcc: Add .opt magic for the rs6000 ports.
2005-05-05 Aldy Hernandez <aldyh@redhat.com>
* config.gcc: Add .opt magic for the rs6000 ports.
* doc/invoke.texi: Document -mabi= option properly. Document
-misel and -mno-sel. Document -mspe and -mno-spe. Document
-mvrsave and -mno-vrsave. Document deprecation of -mspe= and
-misel=.
* config/rs6000/aix.h: Remove XL_COMPAT stuff. Remove
SUBTARGET_SWITCHES and SUBSUBTARGET_SWITCHES. Define
TARGET_XL_COMPAT.
* config/rs6000/aix.opt: New.
* config/rs6000/aix41.opt: New.
* config/rs6000/aix64.opt: New.
* config/rs6000/darwin.opt: New.
* config/rs6000/linux64.opt: New.
* config/rs6000/rs6000.opt: New.
* config/rs6000/sysv4.opt: New.
* config/rs6000/sysv4.h: Delete definitions of MASK_* and
associated TARGET_*. Remove SUBTARGET_OPTIONS,
SUBTARGET_SWITCHES.
Define TARGET_USES_SYSV4_OPT.
* config/rs6000/aix41.h: Remove SUBSUBTARGET_SWITCHES.
* config/rs6000/aix43.h: Remove SUBSUBTARGET_SWITCHES. Define
TARGET_USES_AIX64_OPT.
* config/rs6000/aix51.h: Same.
* config/rs6000/aix52.h: Same.
* config/rs6000/darwin.h: Remove
SUBTARGET_SWITCHES. Use TARGET_ALTIVEC_VRSAVE instead of
rs6000_altivec_vrsave.
* config/rs6000/linux64.h: Use
rs6000_explicit_options. Remove EXTRA_SUBTARGET_SWITCHES.
* config/rs6000/rs6000.c: Remove definitions of
rs6000_sched_restricted_insns_priority,
rs6000_long_double_size_string, rs6000_altivec_vrsave,
rs6000_altivec_vrsave_string, rs6000_isel, rs6000_spe,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_abi_string, rs6000_warn_altivec_long, rs6000_longcall,
rs6000_alignment_string. Define rs6000_explicit_options.
(rs6000_parse_abi_options): Remove.
(rs6000_parse_alignment_option): Remove.
(rs6000_parse_float_gprs_option): Remove.
(rs6000_handle_option): New. Define TARGET_HANDLE_OPTION. Define
TARGET_DEFAULT_TARGET_FLAGS.
(rs6000_override_options): Revamp to use new .opt machinery.
* config/rs6000/rs6000.h: Remove old MASK_* and TARGET_* in favor
of new .opt machinery. Remove target_flags. Redefine
TARGET_MFCRF and TARGET_POWERPC64. Remove TARGET_SWITCHES,
SUBTARGET_SWITCHES, TARGET_OPTIONS, SUBTARGET_OPTIONS,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_altivec_vrsave_string, rs6000_altivec_vrsave,
rs6000_longcall_switch, rs6000_default_long_calls,
rs6000_sched_costly_dep_str, rs6000_sched_costly_dep,
rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch, and
TARGET_ALTIVEC_VRSAVE.
From-SVN: r99284
2005-05-05 22:54:25 +02:00
|
|
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
2006-04-18 22:50:45 +02:00
|
|
|
tmake_file="t-dfprules rs6000/t-fprules rs6000/t-fprules-softfp soft-fp/t-softfp rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm"
|
2005-03-31 01:46:28 +02:00
|
|
|
case ${enable_targets}:${cpu_is_64bit} in
|
|
|
|
*powerpc64* | all:* | *:yes)
|
|
|
|
if test x$cpu_is_64bit = xyes; then
|
|
|
|
tm_file="${tm_file} rs6000/default64.h"
|
|
|
|
fi
|
|
|
|
tm_file="rs6000/biarch64.h ${tm_file} rs6000/linux64.h"
|
|
|
|
tmake_file="$tmake_file rs6000/t-linux64"
|
2005-05-19 03:10:13 +02:00
|
|
|
extra_options="${extra_options} rs6000/linux64.opt"
|
2005-03-31 01:46:28 +02:00
|
|
|
;;
|
|
|
|
*)
|
|
|
|
tm_file="${tm_file} rs6000/linux.h"
|
|
|
|
;;
|
|
|
|
esac
|
configure.ac: Add --enable-secureplt.
* configure.ac: Add --enable-secureplt.
(HAVE_AS_REL16): Test for R_PPC_REL16 relocs.
* config.in: Regenerate.
* configure: Regenerate.
* config.gcc (powerpc64-*-linux*, powerpc-*-linux*): Add
rs6000/secureplt.h to tm_file when enable_secureplt.
* doc/invoke.texi (msecure-plt, mbss-plt): Document.
* doc/install.texi: Document --enable-targets and --enable-secureplt.
Correct xrefs to "Using the GNU Compiler Collection (GCC)".
* config/rs6000/secureplt.h: New file.
* config/rs6000/sysv4.h (TARGET_SECURE_PLT): Define.
(SUBTARGET_OVERRIDE_OPTIONS): Error if -msecure-plt given without
assembler support.
(CC1_SECURE_PLT_DEFAULT_SPEC): Define.
(CC1_SPEC): Delete duplicate mno-sdata. Invoke cc1_secure_plt_default.
(SUBTARGET_EXTRA_SPECS): Add cc1_secure_plt_default.
* config/rs6000/sysv4.opt (msecure-plt, bss-plt): Add options.
* config/rs6000/rs6000.h (TARGET_SECURE_PLT): Define.
* config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Handle
TARGET_SECURE_PLT got register load sequence.
(rs6000_emit_prologue): Call rs6000_emit_load_toc_table when
TARGET_SECURE_PLT.
(rs6000_elf_declare_function_name): Don't emit toc address offset
word when TARGET_SECURE_PLT.
* config/rs6000/rs6000.md (elf_high, elf_low): Move past load_toc_*.
(load_toc_v4_PIC_1) Enable for TARGET_SECURE_PLT.
(load_toc_v4_PIC_3b, load_toc_v4_PIC_3c): New insns.
(call, call_value): Mark pic_offset_table_rtx used for sysv pic and
TARGET_SECURE_PLT.
(call_nonlocal_sysv, call_value_nonlocal_sysv, sibcall_nonlocal_sysv,
sibcall_value_nonlocal_sysv): Add 32768 offset when TARGET_SECURE_PLT
and -fPIC.
* config/rs6000/tramp.asm (trampoline_initial): Use "bcl 20,31".
(__trampoline_setup): Likewise. Init r30 before plt call.
From-SVN: r100415
2005-06-01 02:30:26 +02:00
|
|
|
if test x${enable_secureplt} = xyes; then
|
|
|
|
tm_file="rs6000/secureplt.h ${tm_file}"
|
|
|
|
fi
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
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-18 00:06:55 +01:00
|
|
|
powerpc-*-gnu-gnualtivec*)
|
|
|
|
tm_file="${cpu_type}/${cpu_type}.h elfos.h svr4.h freebsd-spec.h gnu.h rs6000/sysv4.h rs6000/linux.h rs6000/linuxaltivec.h rs6000/gnu.h"
|
config.gcc: Add .opt magic for the rs6000 ports.
2005-05-05 Aldy Hernandez <aldyh@redhat.com>
* config.gcc: Add .opt magic for the rs6000 ports.
* doc/invoke.texi: Document -mabi= option properly. Document
-misel and -mno-sel. Document -mspe and -mno-spe. Document
-mvrsave and -mno-vrsave. Document deprecation of -mspe= and
-misel=.
* config/rs6000/aix.h: Remove XL_COMPAT stuff. Remove
SUBTARGET_SWITCHES and SUBSUBTARGET_SWITCHES. Define
TARGET_XL_COMPAT.
* config/rs6000/aix.opt: New.
* config/rs6000/aix41.opt: New.
* config/rs6000/aix64.opt: New.
* config/rs6000/darwin.opt: New.
* config/rs6000/linux64.opt: New.
* config/rs6000/rs6000.opt: New.
* config/rs6000/sysv4.opt: New.
* config/rs6000/sysv4.h: Delete definitions of MASK_* and
associated TARGET_*. Remove SUBTARGET_OPTIONS,
SUBTARGET_SWITCHES.
Define TARGET_USES_SYSV4_OPT.
* config/rs6000/aix41.h: Remove SUBSUBTARGET_SWITCHES.
* config/rs6000/aix43.h: Remove SUBSUBTARGET_SWITCHES. Define
TARGET_USES_AIX64_OPT.
* config/rs6000/aix51.h: Same.
* config/rs6000/aix52.h: Same.
* config/rs6000/darwin.h: Remove
SUBTARGET_SWITCHES. Use TARGET_ALTIVEC_VRSAVE instead of
rs6000_altivec_vrsave.
* config/rs6000/linux64.h: Use
rs6000_explicit_options. Remove EXTRA_SUBTARGET_SWITCHES.
* config/rs6000/rs6000.c: Remove definitions of
rs6000_sched_restricted_insns_priority,
rs6000_long_double_size_string, rs6000_altivec_vrsave,
rs6000_altivec_vrsave_string, rs6000_isel, rs6000_spe,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_abi_string, rs6000_warn_altivec_long, rs6000_longcall,
rs6000_alignment_string. Define rs6000_explicit_options.
(rs6000_parse_abi_options): Remove.
(rs6000_parse_alignment_option): Remove.
(rs6000_parse_float_gprs_option): Remove.
(rs6000_handle_option): New. Define TARGET_HANDLE_OPTION. Define
TARGET_DEFAULT_TARGET_FLAGS.
(rs6000_override_options): Revamp to use new .opt machinery.
* config/rs6000/rs6000.h: Remove old MASK_* and TARGET_* in favor
of new .opt machinery. Remove target_flags. Redefine
TARGET_MFCRF and TARGET_POWERPC64. Remove TARGET_SWITCHES,
SUBTARGET_SWITCHES, TARGET_OPTIONS, SUBTARGET_OPTIONS,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_altivec_vrsave_string, rs6000_altivec_vrsave,
rs6000_longcall_switch, rs6000_default_long_calls,
rs6000_sched_costly_dep_str, rs6000_sched_costly_dep,
rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch, and
TARGET_ALTIVEC_VRSAVE.
From-SVN: r99284
2005-05-05 22:54:25 +02:00
|
|
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
2006-04-18 22:50:45 +02:00
|
|
|
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcos t-slibgcc-elf-ver t-gnu rs6000/t-ppccomm"
|
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-18 00:06:55 +01:00
|
|
|
if test x$enable_threads = xyes; then
|
|
|
|
thread_file='posix'
|
|
|
|
fi
|
|
|
|
;;
|
|
|
|
powerpc-*-gnu*)
|
|
|
|
tm_file="${cpu_type}/${cpu_type}.h elfos.h svr4.h freebsd-spec.h gnu.h rs6000/sysv4.h rs6000/linux.h rs6000/gnu.h"
|
2006-04-18 22:50:45 +02:00
|
|
|
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcos t-slibgcc-elf-ver t-gnu rs6000/t-ppccomm"
|
config.gcc: Add .opt magic for the rs6000 ports.
2005-05-05 Aldy Hernandez <aldyh@redhat.com>
* config.gcc: Add .opt magic for the rs6000 ports.
* doc/invoke.texi: Document -mabi= option properly. Document
-misel and -mno-sel. Document -mspe and -mno-spe. Document
-mvrsave and -mno-vrsave. Document deprecation of -mspe= and
-misel=.
* config/rs6000/aix.h: Remove XL_COMPAT stuff. Remove
SUBTARGET_SWITCHES and SUBSUBTARGET_SWITCHES. Define
TARGET_XL_COMPAT.
* config/rs6000/aix.opt: New.
* config/rs6000/aix41.opt: New.
* config/rs6000/aix64.opt: New.
* config/rs6000/darwin.opt: New.
* config/rs6000/linux64.opt: New.
* config/rs6000/rs6000.opt: New.
* config/rs6000/sysv4.opt: New.
* config/rs6000/sysv4.h: Delete definitions of MASK_* and
associated TARGET_*. Remove SUBTARGET_OPTIONS,
SUBTARGET_SWITCHES.
Define TARGET_USES_SYSV4_OPT.
* config/rs6000/aix41.h: Remove SUBSUBTARGET_SWITCHES.
* config/rs6000/aix43.h: Remove SUBSUBTARGET_SWITCHES. Define
TARGET_USES_AIX64_OPT.
* config/rs6000/aix51.h: Same.
* config/rs6000/aix52.h: Same.
* config/rs6000/darwin.h: Remove
SUBTARGET_SWITCHES. Use TARGET_ALTIVEC_VRSAVE instead of
rs6000_altivec_vrsave.
* config/rs6000/linux64.h: Use
rs6000_explicit_options. Remove EXTRA_SUBTARGET_SWITCHES.
* config/rs6000/rs6000.c: Remove definitions of
rs6000_sched_restricted_insns_priority,
rs6000_long_double_size_string, rs6000_altivec_vrsave,
rs6000_altivec_vrsave_string, rs6000_isel, rs6000_spe,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_abi_string, rs6000_warn_altivec_long, rs6000_longcall,
rs6000_alignment_string. Define rs6000_explicit_options.
(rs6000_parse_abi_options): Remove.
(rs6000_parse_alignment_option): Remove.
(rs6000_parse_float_gprs_option): Remove.
(rs6000_handle_option): New. Define TARGET_HANDLE_OPTION. Define
TARGET_DEFAULT_TARGET_FLAGS.
(rs6000_override_options): Revamp to use new .opt machinery.
* config/rs6000/rs6000.h: Remove old MASK_* and TARGET_* in favor
of new .opt machinery. Remove target_flags. Redefine
TARGET_MFCRF and TARGET_POWERPC64. Remove TARGET_SWITCHES,
SUBTARGET_SWITCHES, TARGET_OPTIONS, SUBTARGET_OPTIONS,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_altivec_vrsave_string, rs6000_altivec_vrsave,
rs6000_longcall_switch, rs6000_default_long_calls,
rs6000_sched_costly_dep_str, rs6000_sched_costly_dep,
rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch, and
TARGET_ALTIVEC_VRSAVE.
From-SVN: r99284
2005-05-05 22:54:25 +02:00
|
|
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
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-18 00:06:55 +01:00
|
|
|
if test x$enable_threads = xyes; then
|
|
|
|
thread_file='posix'
|
|
|
|
fi
|
|
|
|
;;
|
config.gcc (*-*-vxworks*): Update tm_file, add extra_options, remove use_collect2.
2005-08-22 Phil Edwards <phil@codesourcery.com>
* config.gcc (*-*-vxworks*): Update tm_file, add extra_options,
remove use_collect2.
(powerpc-wrs-vxworks): Update, split out *-*-vxworksae target.
* target-def.h (TARGET_HAVE_CTORS_DTORS): Allow target
configuration files to override the default value.
* config/t-vxworks: Remove INSTALL_ASSERT_H. Define STMP_FIXPROTO,
EXTRA_HEADERS, and EXTRA_MULTILIB_PARTS.
* config/vx-common.h: New file, split out from...
* config/vxworks.h: here. Update for VxWorks 6.x and RTP mode.
* config/vxworksae.h: New file, for VxWorks AE.
* config/vxworks.opt: New file.
* config/vxlib.c: Update for VxWorks 6.
* config/rs6000/t-vxworks (MULTILIB_OPTIONS): New list. Adjust
other MULTILIB_* variables appropriately.
(LIB2FUNCS_EXTRA, EXTRA_MULTILIB_PARTS): Correct from t-ppccomm.
* config/rs6000/t-vxworksae: New file, adjust multilibs for AE.
* config/rs6000/vxworks.h: Update for VxWorks 6.
* config/rs6000/vxworksae.h: New file, mostly placeholder for now.
From-SVN: r103432
2005-08-24 09:13:10 +02:00
|
|
|
powerpc-wrs-vxworks|powerpc-wrs-vxworksae)
|
2002-12-16 19:23:00 +01:00
|
|
|
# We want vxworks.h after rs6000/sysv4.h, which unfortunately
|
|
|
|
# means we have to redo the tm_file list from scratch.
|
|
|
|
tm_file="rs6000/rs6000.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h"
|
2006-04-18 22:50:45 +02:00
|
|
|
tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppccomm rs6000/t-vxworks"
|
config.gcc: Add .opt magic for the rs6000 ports.
2005-05-05 Aldy Hernandez <aldyh@redhat.com>
* config.gcc: Add .opt magic for the rs6000 ports.
* doc/invoke.texi: Document -mabi= option properly. Document
-misel and -mno-sel. Document -mspe and -mno-spe. Document
-mvrsave and -mno-vrsave. Document deprecation of -mspe= and
-misel=.
* config/rs6000/aix.h: Remove XL_COMPAT stuff. Remove
SUBTARGET_SWITCHES and SUBSUBTARGET_SWITCHES. Define
TARGET_XL_COMPAT.
* config/rs6000/aix.opt: New.
* config/rs6000/aix41.opt: New.
* config/rs6000/aix64.opt: New.
* config/rs6000/darwin.opt: New.
* config/rs6000/linux64.opt: New.
* config/rs6000/rs6000.opt: New.
* config/rs6000/sysv4.opt: New.
* config/rs6000/sysv4.h: Delete definitions of MASK_* and
associated TARGET_*. Remove SUBTARGET_OPTIONS,
SUBTARGET_SWITCHES.
Define TARGET_USES_SYSV4_OPT.
* config/rs6000/aix41.h: Remove SUBSUBTARGET_SWITCHES.
* config/rs6000/aix43.h: Remove SUBSUBTARGET_SWITCHES. Define
TARGET_USES_AIX64_OPT.
* config/rs6000/aix51.h: Same.
* config/rs6000/aix52.h: Same.
* config/rs6000/darwin.h: Remove
SUBTARGET_SWITCHES. Use TARGET_ALTIVEC_VRSAVE instead of
rs6000_altivec_vrsave.
* config/rs6000/linux64.h: Use
rs6000_explicit_options. Remove EXTRA_SUBTARGET_SWITCHES.
* config/rs6000/rs6000.c: Remove definitions of
rs6000_sched_restricted_insns_priority,
rs6000_long_double_size_string, rs6000_altivec_vrsave,
rs6000_altivec_vrsave_string, rs6000_isel, rs6000_spe,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_abi_string, rs6000_warn_altivec_long, rs6000_longcall,
rs6000_alignment_string. Define rs6000_explicit_options.
(rs6000_parse_abi_options): Remove.
(rs6000_parse_alignment_option): Remove.
(rs6000_parse_float_gprs_option): Remove.
(rs6000_handle_option): New. Define TARGET_HANDLE_OPTION. Define
TARGET_DEFAULT_TARGET_FLAGS.
(rs6000_override_options): Revamp to use new .opt machinery.
* config/rs6000/rs6000.h: Remove old MASK_* and TARGET_* in favor
of new .opt machinery. Remove target_flags. Redefine
TARGET_MFCRF and TARGET_POWERPC64. Remove TARGET_SWITCHES,
SUBTARGET_SWITCHES, TARGET_OPTIONS, SUBTARGET_OPTIONS,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_altivec_vrsave_string, rs6000_altivec_vrsave,
rs6000_longcall_switch, rs6000_default_long_calls,
rs6000_sched_costly_dep_str, rs6000_sched_costly_dep,
rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch, and
TARGET_ALTIVEC_VRSAVE.
From-SVN: r99284
2005-05-05 22:54:25 +02:00
|
|
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
2002-12-16 19:23:00 +01:00
|
|
|
extra_headers=ppc-asm.h
|
config.gcc (*-*-vxworks*): Update tm_file, add extra_options, remove use_collect2.
2005-08-22 Phil Edwards <phil@codesourcery.com>
* config.gcc (*-*-vxworks*): Update tm_file, add extra_options,
remove use_collect2.
(powerpc-wrs-vxworks): Update, split out *-*-vxworksae target.
* target-def.h (TARGET_HAVE_CTORS_DTORS): Allow target
configuration files to override the default value.
* config/t-vxworks: Remove INSTALL_ASSERT_H. Define STMP_FIXPROTO,
EXTRA_HEADERS, and EXTRA_MULTILIB_PARTS.
* config/vx-common.h: New file, split out from...
* config/vxworks.h: here. Update for VxWorks 6.x and RTP mode.
* config/vxworksae.h: New file, for VxWorks AE.
* config/vxworks.opt: New file.
* config/vxlib.c: Update for VxWorks 6.
* config/rs6000/t-vxworks (MULTILIB_OPTIONS): New list. Adjust
other MULTILIB_* variables appropriately.
(LIB2FUNCS_EXTRA, EXTRA_MULTILIB_PARTS): Correct from t-ppccomm.
* config/rs6000/t-vxworksae: New file, adjust multilibs for AE.
* config/rs6000/vxworks.h: Update for VxWorks 6.
* config/rs6000/vxworksae.h: New file, mostly placeholder for now.
From-SVN: r103432
2005-08-24 09:13:10 +02:00
|
|
|
case ${target} in
|
|
|
|
*-vxworksae*)
|
|
|
|
tm_file="${tm_file} vx-common.h vxworksae.h rs6000/vxworks.h rs6000/vxworksae.h"
|
|
|
|
tmake_file="${tmake_file} rs6000/t-vxworksae"
|
|
|
|
;;
|
|
|
|
*-vxworks*)
|
|
|
|
tm_file="${tm_file} vx-common.h vxworks.h rs6000/vxworks.h"
|
|
|
|
;;
|
|
|
|
esac
|
2002-12-16 19:23:00 +01:00
|
|
|
;;
|
config.gcc (*-*-vxworks*): Update tm_file, add extra_options, remove use_collect2.
2005-08-22 Phil Edwards <phil@codesourcery.com>
* config.gcc (*-*-vxworks*): Update tm_file, add extra_options,
remove use_collect2.
(powerpc-wrs-vxworks): Update, split out *-*-vxworksae target.
* target-def.h (TARGET_HAVE_CTORS_DTORS): Allow target
configuration files to override the default value.
* config/t-vxworks: Remove INSTALL_ASSERT_H. Define STMP_FIXPROTO,
EXTRA_HEADERS, and EXTRA_MULTILIB_PARTS.
* config/vx-common.h: New file, split out from...
* config/vxworks.h: here. Update for VxWorks 6.x and RTP mode.
* config/vxworksae.h: New file, for VxWorks AE.
* config/vxworks.opt: New file.
* config/vxlib.c: Update for VxWorks 6.
* config/rs6000/t-vxworks (MULTILIB_OPTIONS): New list. Adjust
other MULTILIB_* variables appropriately.
(LIB2FUNCS_EXTRA, EXTRA_MULTILIB_PARTS): Correct from t-ppccomm.
* config/rs6000/t-vxworksae: New file, adjust multilibs for AE.
* config/rs6000/vxworks.h: Update for VxWorks 6.
* config/rs6000/vxworksae.h: New file, mostly placeholder for now.
From-SVN: r103432
2005-08-24 09:13:10 +02:00
|
|
|
powerpc-wrs-windiss*) # Instruction-level simulator for VxWorks.
|
2002-05-19 19:17:34 +02:00
|
|
|
tm_file="${tm_file} elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/windiss.h"
|
2006-04-18 22:50:45 +02:00
|
|
|
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
|
config.gcc: Add .opt magic for the rs6000 ports.
2005-05-05 Aldy Hernandez <aldyh@redhat.com>
* config.gcc: Add .opt magic for the rs6000 ports.
* doc/invoke.texi: Document -mabi= option properly. Document
-misel and -mno-sel. Document -mspe and -mno-spe. Document
-mvrsave and -mno-vrsave. Document deprecation of -mspe= and
-misel=.
* config/rs6000/aix.h: Remove XL_COMPAT stuff. Remove
SUBTARGET_SWITCHES and SUBSUBTARGET_SWITCHES. Define
TARGET_XL_COMPAT.
* config/rs6000/aix.opt: New.
* config/rs6000/aix41.opt: New.
* config/rs6000/aix64.opt: New.
* config/rs6000/darwin.opt: New.
* config/rs6000/linux64.opt: New.
* config/rs6000/rs6000.opt: New.
* config/rs6000/sysv4.opt: New.
* config/rs6000/sysv4.h: Delete definitions of MASK_* and
associated TARGET_*. Remove SUBTARGET_OPTIONS,
SUBTARGET_SWITCHES.
Define TARGET_USES_SYSV4_OPT.
* config/rs6000/aix41.h: Remove SUBSUBTARGET_SWITCHES.
* config/rs6000/aix43.h: Remove SUBSUBTARGET_SWITCHES. Define
TARGET_USES_AIX64_OPT.
* config/rs6000/aix51.h: Same.
* config/rs6000/aix52.h: Same.
* config/rs6000/darwin.h: Remove
SUBTARGET_SWITCHES. Use TARGET_ALTIVEC_VRSAVE instead of
rs6000_altivec_vrsave.
* config/rs6000/linux64.h: Use
rs6000_explicit_options. Remove EXTRA_SUBTARGET_SWITCHES.
* config/rs6000/rs6000.c: Remove definitions of
rs6000_sched_restricted_insns_priority,
rs6000_long_double_size_string, rs6000_altivec_vrsave,
rs6000_altivec_vrsave_string, rs6000_isel, rs6000_spe,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_abi_string, rs6000_warn_altivec_long, rs6000_longcall,
rs6000_alignment_string. Define rs6000_explicit_options.
(rs6000_parse_abi_options): Remove.
(rs6000_parse_alignment_option): Remove.
(rs6000_parse_float_gprs_option): Remove.
(rs6000_handle_option): New. Define TARGET_HANDLE_OPTION. Define
TARGET_DEFAULT_TARGET_FLAGS.
(rs6000_override_options): Revamp to use new .opt machinery.
* config/rs6000/rs6000.h: Remove old MASK_* and TARGET_* in favor
of new .opt machinery. Remove target_flags. Redefine
TARGET_MFCRF and TARGET_POWERPC64. Remove TARGET_SWITCHES,
SUBTARGET_SWITCHES, TARGET_OPTIONS, SUBTARGET_OPTIONS,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_altivec_vrsave_string, rs6000_altivec_vrsave,
rs6000_longcall_switch, rs6000_default_long_calls,
rs6000_sched_costly_dep_str, rs6000_sched_costly_dep,
rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch, and
TARGET_ALTIVEC_VRSAVE.
From-SVN: r99284
2005-05-05 22:54:25 +02:00
|
|
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
config.gcc (*-*-vxworks*): Update tm_file, add extra_options, remove use_collect2.
2005-08-22 Phil Edwards <phil@codesourcery.com>
* config.gcc (*-*-vxworks*): Update tm_file, add extra_options,
remove use_collect2.
(powerpc-wrs-vxworks): Update, split out *-*-vxworksae target.
* target-def.h (TARGET_HAVE_CTORS_DTORS): Allow target
configuration files to override the default value.
* config/t-vxworks: Remove INSTALL_ASSERT_H. Define STMP_FIXPROTO,
EXTRA_HEADERS, and EXTRA_MULTILIB_PARTS.
* config/vx-common.h: New file, split out from...
* config/vxworks.h: here. Update for VxWorks 6.x and RTP mode.
* config/vxworksae.h: New file, for VxWorks AE.
* config/vxworks.opt: New file.
* config/vxlib.c: Update for VxWorks 6.
* config/rs6000/t-vxworks (MULTILIB_OPTIONS): New list. Adjust
other MULTILIB_* variables appropriately.
(LIB2FUNCS_EXTRA, EXTRA_MULTILIB_PARTS): Correct from t-ppccomm.
* config/rs6000/t-vxworksae: New file, adjust multilibs for AE.
* config/rs6000/vxworks.h: Update for VxWorks 6.
* config/rs6000/vxworksae.h: New file, mostly placeholder for now.
From-SVN: r103432
2005-08-24 09:13:10 +02:00
|
|
|
thread_file=""
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
config.gcc (*-*-vxworks*): Update tm_file, add extra_options, remove use_collect2.
2005-08-22 Phil Edwards <phil@codesourcery.com>
* config.gcc (*-*-vxworks*): Update tm_file, add extra_options,
remove use_collect2.
(powerpc-wrs-vxworks): Update, split out *-*-vxworksae target.
* target-def.h (TARGET_HAVE_CTORS_DTORS): Allow target
configuration files to override the default value.
* config/t-vxworks: Remove INSTALL_ASSERT_H. Define STMP_FIXPROTO,
EXTRA_HEADERS, and EXTRA_MULTILIB_PARTS.
* config/vx-common.h: New file, split out from...
* config/vxworks.h: here. Update for VxWorks 6.x and RTP mode.
* config/vxworksae.h: New file, for VxWorks AE.
* config/vxworks.opt: New file.
* config/vxlib.c: Update for VxWorks 6.
* config/rs6000/t-vxworks (MULTILIB_OPTIONS): New list. Adjust
other MULTILIB_* variables appropriately.
(LIB2FUNCS_EXTRA, EXTRA_MULTILIB_PARTS): Correct from t-ppccomm.
* config/rs6000/t-vxworksae: New file, adjust multilibs for AE.
* config/rs6000/vxworks.h: Update for VxWorks 6.
* config/rs6000/vxworksae.h: New file, mostly placeholder for now.
From-SVN: r103432
2005-08-24 09:13:10 +02:00
|
|
|
;;
|
2004-08-05 06:55:37 +02:00
|
|
|
powerpc-*-lynxos*)
|
|
|
|
xm_defines=POSIX
|
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h rs6000/sysv4.h rs6000/lynx.h lynx.h"
|
|
|
|
tmake_file="t-lynx rs6000/t-lynx"
|
config.gcc: Add .opt magic for the rs6000 ports.
2005-05-05 Aldy Hernandez <aldyh@redhat.com>
* config.gcc: Add .opt magic for the rs6000 ports.
* doc/invoke.texi: Document -mabi= option properly. Document
-misel and -mno-sel. Document -mspe and -mno-spe. Document
-mvrsave and -mno-vrsave. Document deprecation of -mspe= and
-misel=.
* config/rs6000/aix.h: Remove XL_COMPAT stuff. Remove
SUBTARGET_SWITCHES and SUBSUBTARGET_SWITCHES. Define
TARGET_XL_COMPAT.
* config/rs6000/aix.opt: New.
* config/rs6000/aix41.opt: New.
* config/rs6000/aix64.opt: New.
* config/rs6000/darwin.opt: New.
* config/rs6000/linux64.opt: New.
* config/rs6000/rs6000.opt: New.
* config/rs6000/sysv4.opt: New.
* config/rs6000/sysv4.h: Delete definitions of MASK_* and
associated TARGET_*. Remove SUBTARGET_OPTIONS,
SUBTARGET_SWITCHES.
Define TARGET_USES_SYSV4_OPT.
* config/rs6000/aix41.h: Remove SUBSUBTARGET_SWITCHES.
* config/rs6000/aix43.h: Remove SUBSUBTARGET_SWITCHES. Define
TARGET_USES_AIX64_OPT.
* config/rs6000/aix51.h: Same.
* config/rs6000/aix52.h: Same.
* config/rs6000/darwin.h: Remove
SUBTARGET_SWITCHES. Use TARGET_ALTIVEC_VRSAVE instead of
rs6000_altivec_vrsave.
* config/rs6000/linux64.h: Use
rs6000_explicit_options. Remove EXTRA_SUBTARGET_SWITCHES.
* config/rs6000/rs6000.c: Remove definitions of
rs6000_sched_restricted_insns_priority,
rs6000_long_double_size_string, rs6000_altivec_vrsave,
rs6000_altivec_vrsave_string, rs6000_isel, rs6000_spe,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_abi_string, rs6000_warn_altivec_long, rs6000_longcall,
rs6000_alignment_string. Define rs6000_explicit_options.
(rs6000_parse_abi_options): Remove.
(rs6000_parse_alignment_option): Remove.
(rs6000_parse_float_gprs_option): Remove.
(rs6000_handle_option): New. Define TARGET_HANDLE_OPTION. Define
TARGET_DEFAULT_TARGET_FLAGS.
(rs6000_override_options): Revamp to use new .opt machinery.
* config/rs6000/rs6000.h: Remove old MASK_* and TARGET_* in favor
of new .opt machinery. Remove target_flags. Redefine
TARGET_MFCRF and TARGET_POWERPC64. Remove TARGET_SWITCHES,
SUBTARGET_SWITCHES, TARGET_OPTIONS, SUBTARGET_OPTIONS,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_altivec_vrsave_string, rs6000_altivec_vrsave,
rs6000_longcall_switch, rs6000_default_long_calls,
rs6000_sched_costly_dep_str, rs6000_sched_costly_dep,
rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch, and
TARGET_ALTIVEC_VRSAVE.
From-SVN: r99284
2005-05-05 22:54:25 +02:00
|
|
|
extra_options="${extra_options} rs6000/sysv4.opt lynx.opt"
|
2004-08-05 06:55:37 +02:00
|
|
|
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
|
config.gcc (*-*-darwin*): Add darwin.opt to $extra_options.
* config.gcc (*-*-darwin*): Add darwin.opt to $extra_options.
(i[34567]86-pc-msdosdjgpp*): Likewise i386/djgpp.opt.
(i[34567]86-*-lynxos*, powerpc-*-lynxos*): Likewise lynx.opt.
(i[34567]86-*-sco3.2v5*): Likewise i386/sco5.opt.
(i[34567]86-*-pe, i[34567]86-*-cygwin*, i[34567]86-*-mingw32*)
(i[34567]86-*-uwin*): Likewise i386/cygming.opt.
* config/darwin.h (darwin_one_byte_bool, darwin_fix_and_continue)
(darwin_fix_and_continue_switch, SUBTARGET_OPTIONS): Delete.
* config/darwin.c (darwin_one_byte_bool, darwin_fix_and_continue)
(darwin_fix_and_continue_switch): Delete.
* config/lynx.h (SUBTARGET_OS_LYNX_SWITCHES): Delete.
(SUBTARGET_SWITCHES): Delete.
* config/i386/i386.h (target_flags, MASK_80387, MASK_RTD)
(MASK_ALIGN_DOUBLE, MASK_SVR3_SHLIB, MASK_IEEE_FP, MASK_FLOAT_RETURNS)
(MASK_NO_FANCY_MATH_387, MASK_OMIT_LEAF_FRAME_POINTER)
(MASK_STACK_PROBE, MASK_NO_ALIGN_STROPS, MASK_INLINE_ALL_STROPS)
(MASK_NO_PUSH_ARGS, MASK_ACCUMULATE_OUTGOING_ARGS, MASK_MMX)
(MASK_SSE, MASK_SSE2, MASK_SSE3, MASK_3DNOW, MASK_3DNOW_A)
(MASK_128BIT_LONG_DOUBLE, MASK_64BIT, MASK_MS_BITFIELD_LAYOUT)
(MASK_TLS_DIRECT_SEG_REFS, MASK_NO_RED_ZONE, TARGET_80387)
(TARGET_RTD, TARGET_ALIGN_DOUBLE, TARGET_PUSH_ARGS)
(TARGET_ACCUMULATE_OUTGOING_ARGS, TARGET_SVR3_SHLIB, TARGET_IEEE_FP)
(TARGET_128BIT_LONG_DOUBLE, TARGET_NO_FANCY_MATH_387)
(TARGET_USE_FANCY_MATH_387, TARGET_OMIT_LEAF_FRAME_POINTER)
(TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Delete.
(TARGET_FLOAT_RETURNS_IN_80387): Make an alias of TARGET_FLOAT_RETURNS.
(TARGET_64BIT): Undef before redefining.
(TARGET_TLS_DIRECT_SEG_REFS, TARGET_STACK_PROBE)
(TARGET_ALIGN_STRINGOPS, TARGET_INLINE_ALL_STRINGOPS, TARGET_SSE)
(TARGET_SSE2, TARGET_SSE3, TARGET_MMX, TARGET_3DNOW, TARGET_3DNOW_A)
(TARGET_RED_ZONE, TARGET_USE_MS_BITFIELD_LAYOUT, TARGET_SWITCHES)
(TARGET_OPTIONS, SUBTARGET_SWITCHES, SUBTARGET_OPTIONS)
(ix86_fpmath_string, ix86_tls_dialect_string, ix86_cmodel_string)
(ix86_asm_string, ix86_regparm, ix86_regparm_string)
(ix86_preferred_stack_boundary_string, ix86_branch_cost_string)
(ix86_debug_arg_string, ix86_debug_addr_string)
(ix86_align_loops_string, ix86_align_jumps_string)
(ix86_align_funcs_string): Delete.
* config/i386/cygming.h (MASK_NOP_FUN_DLLIMPORT)
(TARGET_NOP_FUN_DLLIMPORT, SUBTARGET_SWITCHES): Delete.
* config/i386/djgpp.h (MASK_BNU210, SUBTARGET_SWITCHES): Delete.
(SUBTARGET_OVERRIDE_OPTIONS): Check TARGET_BNU210.
* config/i386/lynx.h (SUBTARGET_SWITCHES): Delete.
* config/i386/sco5.h (MASK_COFF, TARGET_ELF)
(SUBTARGET_SWITCHES): Delete.
* config/i386/i386.c (ix86_debug_arg_string): Delete.
(ix86_debug_addr_string): Delete.
(ix86_cmodel_string, ix86_asm_string, ix86_tls_dialect_string)
(ix86_fpmath_string, ix86_regparm_string, ix86_regparm)
(ix86_align_loops_string, ix86_align_jumps_string)
(ix86_preferred_stack_boundary_string, ix86_branch_cost_string)
(ix86_align_funcs_string): Make static.
(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
(ix86_handle_option): New function.
(TARGET_USE_MS_BITFIELD_LAYOUT): Delete.
(ix86_ms_bitfield_layout_p): Check TARGET_MS_BITFIELD_LAYOUT.
* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Remove handling
of darwin_fix_and_continue_switch.
(darwin_one_byte_bool): Delete.
* config/rs6000/lynx.h (EXTRA_SUBTARGET_SWITCHES): Delete.
* config/rs6000/rs6000.c (rs6000_override_options): Update assignment
to darwin_one_byte_bool.
* config/darwin.opt, config/lynx.opt, config/i386/cygming.opt,
* config/i386/djgpp.opt, config/i386/i386.opt,
* config/i386/sco5.opt: New files.
From-SVN: r98495
2005-04-21 09:35:09 +02:00
|
|
|
extra_options="${extra_options} lynx.opt"
|
2004-08-05 06:55:37 +02:00
|
|
|
thread_file=lynx
|
|
|
|
gnu_ld=yes
|
|
|
|
gas=yes
|
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
powerpcle-*-sysv*)
|
2001-12-06 18:34:55 +01:00
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h"
|
2006-04-18 22:50:45 +02:00
|
|
|
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcos rs6000/t-ppccomm"
|
config.gcc: Add .opt magic for the rs6000 ports.
2005-05-05 Aldy Hernandez <aldyh@redhat.com>
* config.gcc: Add .opt magic for the rs6000 ports.
* doc/invoke.texi: Document -mabi= option properly. Document
-misel and -mno-sel. Document -mspe and -mno-spe. Document
-mvrsave and -mno-vrsave. Document deprecation of -mspe= and
-misel=.
* config/rs6000/aix.h: Remove XL_COMPAT stuff. Remove
SUBTARGET_SWITCHES and SUBSUBTARGET_SWITCHES. Define
TARGET_XL_COMPAT.
* config/rs6000/aix.opt: New.
* config/rs6000/aix41.opt: New.
* config/rs6000/aix64.opt: New.
* config/rs6000/darwin.opt: New.
* config/rs6000/linux64.opt: New.
* config/rs6000/rs6000.opt: New.
* config/rs6000/sysv4.opt: New.
* config/rs6000/sysv4.h: Delete definitions of MASK_* and
associated TARGET_*. Remove SUBTARGET_OPTIONS,
SUBTARGET_SWITCHES.
Define TARGET_USES_SYSV4_OPT.
* config/rs6000/aix41.h: Remove SUBSUBTARGET_SWITCHES.
* config/rs6000/aix43.h: Remove SUBSUBTARGET_SWITCHES. Define
TARGET_USES_AIX64_OPT.
* config/rs6000/aix51.h: Same.
* config/rs6000/aix52.h: Same.
* config/rs6000/darwin.h: Remove
SUBTARGET_SWITCHES. Use TARGET_ALTIVEC_VRSAVE instead of
rs6000_altivec_vrsave.
* config/rs6000/linux64.h: Use
rs6000_explicit_options. Remove EXTRA_SUBTARGET_SWITCHES.
* config/rs6000/rs6000.c: Remove definitions of
rs6000_sched_restricted_insns_priority,
rs6000_long_double_size_string, rs6000_altivec_vrsave,
rs6000_altivec_vrsave_string, rs6000_isel, rs6000_spe,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_abi_string, rs6000_warn_altivec_long, rs6000_longcall,
rs6000_alignment_string. Define rs6000_explicit_options.
(rs6000_parse_abi_options): Remove.
(rs6000_parse_alignment_option): Remove.
(rs6000_parse_float_gprs_option): Remove.
(rs6000_handle_option): New. Define TARGET_HANDLE_OPTION. Define
TARGET_DEFAULT_TARGET_FLAGS.
(rs6000_override_options): Revamp to use new .opt machinery.
* config/rs6000/rs6000.h: Remove old MASK_* and TARGET_* in favor
of new .opt machinery. Remove target_flags. Redefine
TARGET_MFCRF and TARGET_POWERPC64. Remove TARGET_SWITCHES,
SUBTARGET_SWITCHES, TARGET_OPTIONS, SUBTARGET_OPTIONS,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_altivec_vrsave_string, rs6000_altivec_vrsave,
rs6000_longcall_switch, rs6000_default_long_calls,
rs6000_sched_costly_dep_str, rs6000_sched_costly_dep,
rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch, and
TARGET_ALTIVEC_VRSAVE.
From-SVN: r99284
2005-05-05 22:54:25 +02:00
|
|
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
|
|
|
powerpcle-*-elf*)
|
2001-12-06 18:34:55 +01:00
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h"
|
2006-04-18 22:50:45 +02:00
|
|
|
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
|
config.gcc: Add .opt magic for the rs6000 ports.
2005-05-05 Aldy Hernandez <aldyh@redhat.com>
* config.gcc: Add .opt magic for the rs6000 ports.
* doc/invoke.texi: Document -mabi= option properly. Document
-misel and -mno-sel. Document -mspe and -mno-spe. Document
-mvrsave and -mno-vrsave. Document deprecation of -mspe= and
-misel=.
* config/rs6000/aix.h: Remove XL_COMPAT stuff. Remove
SUBTARGET_SWITCHES and SUBSUBTARGET_SWITCHES. Define
TARGET_XL_COMPAT.
* config/rs6000/aix.opt: New.
* config/rs6000/aix41.opt: New.
* config/rs6000/aix64.opt: New.
* config/rs6000/darwin.opt: New.
* config/rs6000/linux64.opt: New.
* config/rs6000/rs6000.opt: New.
* config/rs6000/sysv4.opt: New.
* config/rs6000/sysv4.h: Delete definitions of MASK_* and
associated TARGET_*. Remove SUBTARGET_OPTIONS,
SUBTARGET_SWITCHES.
Define TARGET_USES_SYSV4_OPT.
* config/rs6000/aix41.h: Remove SUBSUBTARGET_SWITCHES.
* config/rs6000/aix43.h: Remove SUBSUBTARGET_SWITCHES. Define
TARGET_USES_AIX64_OPT.
* config/rs6000/aix51.h: Same.
* config/rs6000/aix52.h: Same.
* config/rs6000/darwin.h: Remove
SUBTARGET_SWITCHES. Use TARGET_ALTIVEC_VRSAVE instead of
rs6000_altivec_vrsave.
* config/rs6000/linux64.h: Use
rs6000_explicit_options. Remove EXTRA_SUBTARGET_SWITCHES.
* config/rs6000/rs6000.c: Remove definitions of
rs6000_sched_restricted_insns_priority,
rs6000_long_double_size_string, rs6000_altivec_vrsave,
rs6000_altivec_vrsave_string, rs6000_isel, rs6000_spe,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_abi_string, rs6000_warn_altivec_long, rs6000_longcall,
rs6000_alignment_string. Define rs6000_explicit_options.
(rs6000_parse_abi_options): Remove.
(rs6000_parse_alignment_option): Remove.
(rs6000_parse_float_gprs_option): Remove.
(rs6000_handle_option): New. Define TARGET_HANDLE_OPTION. Define
TARGET_DEFAULT_TARGET_FLAGS.
(rs6000_override_options): Revamp to use new .opt machinery.
* config/rs6000/rs6000.h: Remove old MASK_* and TARGET_* in favor
of new .opt machinery. Remove target_flags. Redefine
TARGET_MFCRF and TARGET_POWERPC64. Remove TARGET_SWITCHES,
SUBTARGET_SWITCHES, TARGET_OPTIONS, SUBTARGET_OPTIONS,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_altivec_vrsave_string, rs6000_altivec_vrsave,
rs6000_longcall_switch, rs6000_default_long_calls,
rs6000_sched_costly_dep_str, rs6000_sched_costly_dep,
rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch, and
TARGET_ALTIVEC_VRSAVE.
From-SVN: r99284
2005-05-05 22:54:25 +02:00
|
|
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
|
|
|
powerpcle-*-eabisim*)
|
2001-12-06 18:34:55 +01:00
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h rs6000/eabisim.h"
|
2006-04-18 22:50:45 +02:00
|
|
|
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
|
config.gcc: Add .opt magic for the rs6000 ports.
2005-05-05 Aldy Hernandez <aldyh@redhat.com>
* config.gcc: Add .opt magic for the rs6000 ports.
* doc/invoke.texi: Document -mabi= option properly. Document
-misel and -mno-sel. Document -mspe and -mno-spe. Document
-mvrsave and -mno-vrsave. Document deprecation of -mspe= and
-misel=.
* config/rs6000/aix.h: Remove XL_COMPAT stuff. Remove
SUBTARGET_SWITCHES and SUBSUBTARGET_SWITCHES. Define
TARGET_XL_COMPAT.
* config/rs6000/aix.opt: New.
* config/rs6000/aix41.opt: New.
* config/rs6000/aix64.opt: New.
* config/rs6000/darwin.opt: New.
* config/rs6000/linux64.opt: New.
* config/rs6000/rs6000.opt: New.
* config/rs6000/sysv4.opt: New.
* config/rs6000/sysv4.h: Delete definitions of MASK_* and
associated TARGET_*. Remove SUBTARGET_OPTIONS,
SUBTARGET_SWITCHES.
Define TARGET_USES_SYSV4_OPT.
* config/rs6000/aix41.h: Remove SUBSUBTARGET_SWITCHES.
* config/rs6000/aix43.h: Remove SUBSUBTARGET_SWITCHES. Define
TARGET_USES_AIX64_OPT.
* config/rs6000/aix51.h: Same.
* config/rs6000/aix52.h: Same.
* config/rs6000/darwin.h: Remove
SUBTARGET_SWITCHES. Use TARGET_ALTIVEC_VRSAVE instead of
rs6000_altivec_vrsave.
* config/rs6000/linux64.h: Use
rs6000_explicit_options. Remove EXTRA_SUBTARGET_SWITCHES.
* config/rs6000/rs6000.c: Remove definitions of
rs6000_sched_restricted_insns_priority,
rs6000_long_double_size_string, rs6000_altivec_vrsave,
rs6000_altivec_vrsave_string, rs6000_isel, rs6000_spe,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_abi_string, rs6000_warn_altivec_long, rs6000_longcall,
rs6000_alignment_string. Define rs6000_explicit_options.
(rs6000_parse_abi_options): Remove.
(rs6000_parse_alignment_option): Remove.
(rs6000_parse_float_gprs_option): Remove.
(rs6000_handle_option): New. Define TARGET_HANDLE_OPTION. Define
TARGET_DEFAULT_TARGET_FLAGS.
(rs6000_override_options): Revamp to use new .opt machinery.
* config/rs6000/rs6000.h: Remove old MASK_* and TARGET_* in favor
of new .opt machinery. Remove target_flags. Redefine
TARGET_MFCRF and TARGET_POWERPC64. Remove TARGET_SWITCHES,
SUBTARGET_SWITCHES, TARGET_OPTIONS, SUBTARGET_OPTIONS,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_altivec_vrsave_string, rs6000_altivec_vrsave,
rs6000_longcall_switch, rs6000_default_long_calls,
rs6000_sched_costly_dep_str, rs6000_sched_costly_dep,
rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch, and
TARGET_ALTIVEC_VRSAVE.
From-SVN: r99284
2005-05-05 22:54:25 +02:00
|
|
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
|
|
|
powerpcle-*-eabi*)
|
2001-12-06 18:34:55 +01:00
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/eabi.h"
|
2006-04-18 22:50:45 +02:00
|
|
|
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
|
config.gcc: Add .opt magic for the rs6000 ports.
2005-05-05 Aldy Hernandez <aldyh@redhat.com>
* config.gcc: Add .opt magic for the rs6000 ports.
* doc/invoke.texi: Document -mabi= option properly. Document
-misel and -mno-sel. Document -mspe and -mno-spe. Document
-mvrsave and -mno-vrsave. Document deprecation of -mspe= and
-misel=.
* config/rs6000/aix.h: Remove XL_COMPAT stuff. Remove
SUBTARGET_SWITCHES and SUBSUBTARGET_SWITCHES. Define
TARGET_XL_COMPAT.
* config/rs6000/aix.opt: New.
* config/rs6000/aix41.opt: New.
* config/rs6000/aix64.opt: New.
* config/rs6000/darwin.opt: New.
* config/rs6000/linux64.opt: New.
* config/rs6000/rs6000.opt: New.
* config/rs6000/sysv4.opt: New.
* config/rs6000/sysv4.h: Delete definitions of MASK_* and
associated TARGET_*. Remove SUBTARGET_OPTIONS,
SUBTARGET_SWITCHES.
Define TARGET_USES_SYSV4_OPT.
* config/rs6000/aix41.h: Remove SUBSUBTARGET_SWITCHES.
* config/rs6000/aix43.h: Remove SUBSUBTARGET_SWITCHES. Define
TARGET_USES_AIX64_OPT.
* config/rs6000/aix51.h: Same.
* config/rs6000/aix52.h: Same.
* config/rs6000/darwin.h: Remove
SUBTARGET_SWITCHES. Use TARGET_ALTIVEC_VRSAVE instead of
rs6000_altivec_vrsave.
* config/rs6000/linux64.h: Use
rs6000_explicit_options. Remove EXTRA_SUBTARGET_SWITCHES.
* config/rs6000/rs6000.c: Remove definitions of
rs6000_sched_restricted_insns_priority,
rs6000_long_double_size_string, rs6000_altivec_vrsave,
rs6000_altivec_vrsave_string, rs6000_isel, rs6000_spe,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_abi_string, rs6000_warn_altivec_long, rs6000_longcall,
rs6000_alignment_string. Define rs6000_explicit_options.
(rs6000_parse_abi_options): Remove.
(rs6000_parse_alignment_option): Remove.
(rs6000_parse_float_gprs_option): Remove.
(rs6000_handle_option): New. Define TARGET_HANDLE_OPTION. Define
TARGET_DEFAULT_TARGET_FLAGS.
(rs6000_override_options): Revamp to use new .opt machinery.
* config/rs6000/rs6000.h: Remove old MASK_* and TARGET_* in favor
of new .opt machinery. Remove target_flags. Redefine
TARGET_MFCRF and TARGET_POWERPC64. Remove TARGET_SWITCHES,
SUBTARGET_SWITCHES, TARGET_OPTIONS, SUBTARGET_OPTIONS,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_altivec_vrsave_string, rs6000_altivec_vrsave,
rs6000_longcall_switch, rs6000_default_long_calls,
rs6000_sched_costly_dep_str, rs6000_sched_costly_dep,
rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch, and
TARGET_ALTIVEC_VRSAVE.
From-SVN: r99284
2005-05-05 22:54:25 +02:00
|
|
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2003-06-12 07:18:12 +02:00
|
|
|
powerpc-*-kaos*)
|
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h kaos.h rs6000/kaos-ppc.h"
|
2006-04-18 22:50:45 +02:00
|
|
|
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
|
config.gcc: Add .opt magic for the rs6000 ports.
2005-05-05 Aldy Hernandez <aldyh@redhat.com>
* config.gcc: Add .opt magic for the rs6000 ports.
* doc/invoke.texi: Document -mabi= option properly. Document
-misel and -mno-sel. Document -mspe and -mno-spe. Document
-mvrsave and -mno-vrsave. Document deprecation of -mspe= and
-misel=.
* config/rs6000/aix.h: Remove XL_COMPAT stuff. Remove
SUBTARGET_SWITCHES and SUBSUBTARGET_SWITCHES. Define
TARGET_XL_COMPAT.
* config/rs6000/aix.opt: New.
* config/rs6000/aix41.opt: New.
* config/rs6000/aix64.opt: New.
* config/rs6000/darwin.opt: New.
* config/rs6000/linux64.opt: New.
* config/rs6000/rs6000.opt: New.
* config/rs6000/sysv4.opt: New.
* config/rs6000/sysv4.h: Delete definitions of MASK_* and
associated TARGET_*. Remove SUBTARGET_OPTIONS,
SUBTARGET_SWITCHES.
Define TARGET_USES_SYSV4_OPT.
* config/rs6000/aix41.h: Remove SUBSUBTARGET_SWITCHES.
* config/rs6000/aix43.h: Remove SUBSUBTARGET_SWITCHES. Define
TARGET_USES_AIX64_OPT.
* config/rs6000/aix51.h: Same.
* config/rs6000/aix52.h: Same.
* config/rs6000/darwin.h: Remove
SUBTARGET_SWITCHES. Use TARGET_ALTIVEC_VRSAVE instead of
rs6000_altivec_vrsave.
* config/rs6000/linux64.h: Use
rs6000_explicit_options. Remove EXTRA_SUBTARGET_SWITCHES.
* config/rs6000/rs6000.c: Remove definitions of
rs6000_sched_restricted_insns_priority,
rs6000_long_double_size_string, rs6000_altivec_vrsave,
rs6000_altivec_vrsave_string, rs6000_isel, rs6000_spe,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_abi_string, rs6000_warn_altivec_long, rs6000_longcall,
rs6000_alignment_string. Define rs6000_explicit_options.
(rs6000_parse_abi_options): Remove.
(rs6000_parse_alignment_option): Remove.
(rs6000_parse_float_gprs_option): Remove.
(rs6000_handle_option): New. Define TARGET_HANDLE_OPTION. Define
TARGET_DEFAULT_TARGET_FLAGS.
(rs6000_override_options): Revamp to use new .opt machinery.
* config/rs6000/rs6000.h: Remove old MASK_* and TARGET_* in favor
of new .opt machinery. Remove target_flags. Redefine
TARGET_MFCRF and TARGET_POWERPC64. Remove TARGET_SWITCHES,
SUBTARGET_SWITCHES, TARGET_OPTIONS, SUBTARGET_OPTIONS,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_altivec_vrsave_string, rs6000_altivec_vrsave,
rs6000_longcall_switch, rs6000_default_long_calls,
rs6000_sched_costly_dep_str, rs6000_sched_costly_dep,
rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch, and
TARGET_ALTIVEC_VRSAVE.
From-SVN: r99284
2005-05-05 22:54:25 +02:00
|
|
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
2003-06-12 07:18:12 +02:00
|
|
|
;;
|
|
|
|
powerpcle-*-kaos*)
|
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h kaos.h rs6000/kaos-ppc.h"
|
2006-04-18 22:50:45 +02:00
|
|
|
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
|
config.gcc: Add .opt magic for the rs6000 ports.
2005-05-05 Aldy Hernandez <aldyh@redhat.com>
* config.gcc: Add .opt magic for the rs6000 ports.
* doc/invoke.texi: Document -mabi= option properly. Document
-misel and -mno-sel. Document -mspe and -mno-spe. Document
-mvrsave and -mno-vrsave. Document deprecation of -mspe= and
-misel=.
* config/rs6000/aix.h: Remove XL_COMPAT stuff. Remove
SUBTARGET_SWITCHES and SUBSUBTARGET_SWITCHES. Define
TARGET_XL_COMPAT.
* config/rs6000/aix.opt: New.
* config/rs6000/aix41.opt: New.
* config/rs6000/aix64.opt: New.
* config/rs6000/darwin.opt: New.
* config/rs6000/linux64.opt: New.
* config/rs6000/rs6000.opt: New.
* config/rs6000/sysv4.opt: New.
* config/rs6000/sysv4.h: Delete definitions of MASK_* and
associated TARGET_*. Remove SUBTARGET_OPTIONS,
SUBTARGET_SWITCHES.
Define TARGET_USES_SYSV4_OPT.
* config/rs6000/aix41.h: Remove SUBSUBTARGET_SWITCHES.
* config/rs6000/aix43.h: Remove SUBSUBTARGET_SWITCHES. Define
TARGET_USES_AIX64_OPT.
* config/rs6000/aix51.h: Same.
* config/rs6000/aix52.h: Same.
* config/rs6000/darwin.h: Remove
SUBTARGET_SWITCHES. Use TARGET_ALTIVEC_VRSAVE instead of
rs6000_altivec_vrsave.
* config/rs6000/linux64.h: Use
rs6000_explicit_options. Remove EXTRA_SUBTARGET_SWITCHES.
* config/rs6000/rs6000.c: Remove definitions of
rs6000_sched_restricted_insns_priority,
rs6000_long_double_size_string, rs6000_altivec_vrsave,
rs6000_altivec_vrsave_string, rs6000_isel, rs6000_spe,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_abi_string, rs6000_warn_altivec_long, rs6000_longcall,
rs6000_alignment_string. Define rs6000_explicit_options.
(rs6000_parse_abi_options): Remove.
(rs6000_parse_alignment_option): Remove.
(rs6000_parse_float_gprs_option): Remove.
(rs6000_handle_option): New. Define TARGET_HANDLE_OPTION. Define
TARGET_DEFAULT_TARGET_FLAGS.
(rs6000_override_options): Revamp to use new .opt machinery.
* config/rs6000/rs6000.h: Remove old MASK_* and TARGET_* in favor
of new .opt machinery. Remove target_flags. Redefine
TARGET_MFCRF and TARGET_POWERPC64. Remove TARGET_SWITCHES,
SUBTARGET_SWITCHES, TARGET_OPTIONS, SUBTARGET_OPTIONS,
rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
rs6000_altivec_vrsave_string, rs6000_altivec_vrsave,
rs6000_longcall_switch, rs6000_default_long_calls,
rs6000_sched_costly_dep_str, rs6000_sched_costly_dep,
rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch, and
TARGET_ALTIVEC_VRSAVE.
From-SVN: r99284
2005-05-05 22:54:25 +02:00
|
|
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
2003-06-12 07:18:12 +02:00
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
rs6000-ibm-aix4.[12]* | powerpc-ibm-aix4.[12]*)
|
2001-07-31 19:20:20 +02:00
|
|
|
tm_file="${tm_file} rs6000/aix.h rs6000/aix41.h rs6000/xcoff.h"
|
2006-04-18 22:50:45 +02:00
|
|
|
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-newas"
|
2005-05-07 20:51:50 +02:00
|
|
|
extra_options="${extra_options} rs6000/aix41.opt"
|
2000-11-17 11:42:45 +01:00
|
|
|
use_collect2=yes
|
2001-12-22 22:07:33 +01:00
|
|
|
extra_headers=
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
|
|
|
rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
|
linux.h (NO_PROFILE_COUNTERS): Define to 1.
* config/i386/linux.h (NO_PROFILE_COUNTERS): Define to 1.
* config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
* config/i386/netbsd-elf.h (NO_PROFILE_COUNTERS): Likewise.
* config/xtensa/xtensa.h (NO_PROFILE_COUTNERS): Likewise.
* config/darwin.h (NO_PROFILE_COUNTERS): Likewise.
* final.c (NO_PROFILE_COUNTERS): Define to 0 if not defined.
(profile_function): Allow NO_PROFILE_COUNTERS to be non-constant.
* config/rs6000/rs6000.c (output_profile_hook): Likewise.
* configure.in (powerpc*-*, s390*-*): Set tls_as_opt.
Pass it to $gcc_cv_as.
* configure: Rebuilt.
* config/rs6000/rs6000.c (rs6000_abi_name): Remove initializer.
(print_operand): Allow TARGET_AIX to be non-constant.
(rs6000_aix_emit_builtin_unwind_init, rs6000_emit_eh_toc_restore):
Define unconditionally.
(rs6000_elf_declare_function_name): New function.
* config/rs6000/rs6000.md (eh_return): Allow TARGET_AIX to be
non-constant.
* config/rs6000/linux64.h [!RS6000_BI_ARCH] (TARGET_64BIT): Define
to 1.
(DEFAULT_ARCH64_P, RS6000_BI_ARCH_P): Define.
[IN_LIBGCC2] (TARGET_64BIT): Define based on whether __powerpc64__
is defined.
(TARGET_AIX): Define to 1 if TARGET_64BIT.
(PROCESSOR_DEFAULT): Remove.
(TARGET_RELOCATABLE, RS6000_ABI_NAME, INVALID_64BIT,
INVALID_32BIT, SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
[RS6000_BI_ARCH] (OVERRIDE_OPTIONS, ASM_FILE_START): Define.
(ASM_DEFAULT_SPEC, ASM_SPEC, LINK_OS_LINUX_SPEC): Define for both
-m32 and -m64.
(MULTILIB_DEFAULTS): Define.
(SUBSUBTARGET_EXTRA_SPECS): Define.
(ASM_SPEC32, ASM_SPEC64, ASM_SPEC_COMMON): Define.
(TARGET_TOC): Define only if !RS6000_BI_ARCH.
(TARGET_NO_TOC): Remove.
[!RS6000_BI_ARCH] (TARGET_RELOCATABLE, TARGET_EABI,
TARGET_PROTOTYPE): Define to 0.
(NO_PROFILE_COUNTERS): Define to TARGET_64BIT.
(PROFILE_HOOK): Only call output_profile_hook if TARGET_64BIT.
(ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Adjust to work properly
if !TARGET_64BIT.
(USER_LABEL_PREFIX): Remove.
(JUMP_TABLES_IN_TEXT_SECTION): Define to TARGET_64BIT.
(SETUP_FRAME_ADDRESSES): Only call rs6000_aix_emit_builtin_unwind_init
if TARGET_64BIT.
(TARGET_OS_CPP_BUILTINS): Handle both -m32 and -m64.
(LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Define.
(STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Remove.
(TOC_SECTION_ASM_OP): Define depending on TARGET_64BIT.
(MINIMAL_TOC_SECTION_ASM_OP): Likewise.
(SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Define depending on
TARGET_64BIT.
(RS6000_CALL_GLUE): Likewise.
(SAVE_FP_PREFIX, SAVE_FP_SUFFIX, RESTORE_FP_PREFIX,
RESTORE_FP_SUFFIX): Likewise.
(ASM_DECLARE_FUNCTION_NAME): Remove.
(ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_SOURCE_LINE,
DBX_OUTPUT_BRAC, DBX_OUTPUT_NFUN): Only output dot before function
name if TARGET_64BIT.
(ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Handle both TARGET_64BIT and
!TARGET_64BIT.
(ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Remove undefs.
(ASM_PREFERRED_EH_DATA_FORMAT): Take TARGET_64BIT into account.
(DRAFT_V4_STRUCT_RET): Define.
(SIGNAL_FRAMESIZE): New enum value.
(MD_FALLBACK_FRAME_STATE_FOR): Define.
* config/rs6000/default64.h: New file.
* config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -m32 and -m64
options.
(SUBTARGET_OVERRIDE_OPTIONS): If rs6000_abi_name is NULL, set it
to RS6000_ABI_NAME. Only disallow mixing of -fPIC with -mcall-aixdesc
if !TARGET_64BIT.
[!RS6000_BI_ARCH] (SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
(ASM_DECLARE_FUNCTION_NAME): Use rs6000_elf_declare_function_name
function.
(TARGET_OS_SYSV_CPP_BUILTINS): Define.
(TARGET_OS_CPP_BUILTINS): Use it.
(CPP_SYSV_SPEC): Remove.
(CPP_SPEC): Remove cpp_sysv.
(SUBTARGET_EXTRA_SPECS): Remove cpp_sysv.
Add SUBSUBTARGET_EXTRA_SPECS.
(SUBSUBTARGET_EXTRA_SPECS): Define.
* config/rs6000/biarch64.h: New file.
* config/rs6000/rs6000-protos.h (rs6000_elf_declare_function_name):
New prototype.
* config/rs6000/x-linux64: New file.
* config/rs6000/t-linux64: Build -m64, -m32 and -m32 -msoft-float
multilibs.
* config/rs6000/eabi-ci.asm: Protect with #ifndef __powerpc64__.
* config/rs6000/eabi-cn.asm: Likewise.
* config/rs6000/tramp.asm: Likewise.
* config/rs6000/sol-ci.asm: Likewise.
* config/rs6000/sol-cn.asm: Likewise.
* config/rs6000/linux.h (TARGET_64BIT): Define to 0.
(TARGET_OS_CPP_BUILTINS): Use TARGET_OS_SYSV_CPP_BUILTINS.
* config/rs6000/ppc-asm.h: Move __powerpc64__ section before
_CALL_AIXDESC section.
* config.gcc (powerpc64-*-linux*): Configure a bi-arch compiler,
defaulting to -m64 unless --with-cpu= is one of the 32-bit CPUs
or default32.
Co-Authored-By: Alan Modra <amodra@bigpond.net.au>
From-SVN: r67442
2003-06-04 17:23:42 +02:00
|
|
|
tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix43.h rs6000/xcoff.h"
|
2000-11-17 11:42:45 +01:00
|
|
|
tmake_file=rs6000/t-aix43
|
2005-05-07 20:51:50 +02:00
|
|
|
extra_options="${extra_options} rs6000/aix64.opt"
|
2000-11-17 11:42:45 +01:00
|
|
|
use_collect2=yes
|
|
|
|
thread_file='aix'
|
2001-12-22 22:07:33 +01:00
|
|
|
extra_headers=
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2002-10-10 20:29:33 +02:00
|
|
|
rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*)
|
linux.h (NO_PROFILE_COUNTERS): Define to 1.
* config/i386/linux.h (NO_PROFILE_COUNTERS): Define to 1.
* config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
* config/i386/netbsd-elf.h (NO_PROFILE_COUNTERS): Likewise.
* config/xtensa/xtensa.h (NO_PROFILE_COUTNERS): Likewise.
* config/darwin.h (NO_PROFILE_COUNTERS): Likewise.
* final.c (NO_PROFILE_COUNTERS): Define to 0 if not defined.
(profile_function): Allow NO_PROFILE_COUNTERS to be non-constant.
* config/rs6000/rs6000.c (output_profile_hook): Likewise.
* configure.in (powerpc*-*, s390*-*): Set tls_as_opt.
Pass it to $gcc_cv_as.
* configure: Rebuilt.
* config/rs6000/rs6000.c (rs6000_abi_name): Remove initializer.
(print_operand): Allow TARGET_AIX to be non-constant.
(rs6000_aix_emit_builtin_unwind_init, rs6000_emit_eh_toc_restore):
Define unconditionally.
(rs6000_elf_declare_function_name): New function.
* config/rs6000/rs6000.md (eh_return): Allow TARGET_AIX to be
non-constant.
* config/rs6000/linux64.h [!RS6000_BI_ARCH] (TARGET_64BIT): Define
to 1.
(DEFAULT_ARCH64_P, RS6000_BI_ARCH_P): Define.
[IN_LIBGCC2] (TARGET_64BIT): Define based on whether __powerpc64__
is defined.
(TARGET_AIX): Define to 1 if TARGET_64BIT.
(PROCESSOR_DEFAULT): Remove.
(TARGET_RELOCATABLE, RS6000_ABI_NAME, INVALID_64BIT,
INVALID_32BIT, SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
[RS6000_BI_ARCH] (OVERRIDE_OPTIONS, ASM_FILE_START): Define.
(ASM_DEFAULT_SPEC, ASM_SPEC, LINK_OS_LINUX_SPEC): Define for both
-m32 and -m64.
(MULTILIB_DEFAULTS): Define.
(SUBSUBTARGET_EXTRA_SPECS): Define.
(ASM_SPEC32, ASM_SPEC64, ASM_SPEC_COMMON): Define.
(TARGET_TOC): Define only if !RS6000_BI_ARCH.
(TARGET_NO_TOC): Remove.
[!RS6000_BI_ARCH] (TARGET_RELOCATABLE, TARGET_EABI,
TARGET_PROTOTYPE): Define to 0.
(NO_PROFILE_COUNTERS): Define to TARGET_64BIT.
(PROFILE_HOOK): Only call output_profile_hook if TARGET_64BIT.
(ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Adjust to work properly
if !TARGET_64BIT.
(USER_LABEL_PREFIX): Remove.
(JUMP_TABLES_IN_TEXT_SECTION): Define to TARGET_64BIT.
(SETUP_FRAME_ADDRESSES): Only call rs6000_aix_emit_builtin_unwind_init
if TARGET_64BIT.
(TARGET_OS_CPP_BUILTINS): Handle both -m32 and -m64.
(LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Define.
(STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Remove.
(TOC_SECTION_ASM_OP): Define depending on TARGET_64BIT.
(MINIMAL_TOC_SECTION_ASM_OP): Likewise.
(SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Define depending on
TARGET_64BIT.
(RS6000_CALL_GLUE): Likewise.
(SAVE_FP_PREFIX, SAVE_FP_SUFFIX, RESTORE_FP_PREFIX,
RESTORE_FP_SUFFIX): Likewise.
(ASM_DECLARE_FUNCTION_NAME): Remove.
(ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_SOURCE_LINE,
DBX_OUTPUT_BRAC, DBX_OUTPUT_NFUN): Only output dot before function
name if TARGET_64BIT.
(ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Handle both TARGET_64BIT and
!TARGET_64BIT.
(ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Remove undefs.
(ASM_PREFERRED_EH_DATA_FORMAT): Take TARGET_64BIT into account.
(DRAFT_V4_STRUCT_RET): Define.
(SIGNAL_FRAMESIZE): New enum value.
(MD_FALLBACK_FRAME_STATE_FOR): Define.
* config/rs6000/default64.h: New file.
* config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -m32 and -m64
options.
(SUBTARGET_OVERRIDE_OPTIONS): If rs6000_abi_name is NULL, set it
to RS6000_ABI_NAME. Only disallow mixing of -fPIC with -mcall-aixdesc
if !TARGET_64BIT.
[!RS6000_BI_ARCH] (SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
(ASM_DECLARE_FUNCTION_NAME): Use rs6000_elf_declare_function_name
function.
(TARGET_OS_SYSV_CPP_BUILTINS): Define.
(TARGET_OS_CPP_BUILTINS): Use it.
(CPP_SYSV_SPEC): Remove.
(CPP_SPEC): Remove cpp_sysv.
(SUBTARGET_EXTRA_SPECS): Remove cpp_sysv.
Add SUBSUBTARGET_EXTRA_SPECS.
(SUBSUBTARGET_EXTRA_SPECS): Define.
* config/rs6000/biarch64.h: New file.
* config/rs6000/rs6000-protos.h (rs6000_elf_declare_function_name):
New prototype.
* config/rs6000/x-linux64: New file.
* config/rs6000/t-linux64: Build -m64, -m32 and -m32 -msoft-float
multilibs.
* config/rs6000/eabi-ci.asm: Protect with #ifndef __powerpc64__.
* config/rs6000/eabi-cn.asm: Likewise.
* config/rs6000/tramp.asm: Likewise.
* config/rs6000/sol-ci.asm: Likewise.
* config/rs6000/sol-cn.asm: Likewise.
* config/rs6000/linux.h (TARGET_64BIT): Define to 0.
(TARGET_OS_CPP_BUILTINS): Use TARGET_OS_SYSV_CPP_BUILTINS.
* config/rs6000/ppc-asm.h: Move __powerpc64__ section before
_CALL_AIXDESC section.
* config.gcc (powerpc64-*-linux*): Configure a bi-arch compiler,
defaulting to -m64 unless --with-cpu= is one of the 32-bit CPUs
or default32.
Co-Authored-By: Alan Modra <amodra@bigpond.net.au>
From-SVN: r67442
2003-06-04 17:23:42 +02:00
|
|
|
tm_file="rs6000/biarch64.h ${tm_file} rs6000/aix.h rs6000/aix51.h rs6000/xcoff.h"
|
2005-05-07 20:51:50 +02:00
|
|
|
extra_options="${extra_options} rs6000/aix64.opt"
|
2000-11-17 11:42:45 +01:00
|
|
|
tmake_file=rs6000/t-aix43
|
|
|
|
use_collect2=yes
|
|
|
|
thread_file='aix'
|
2001-12-22 22:07:33 +01:00
|
|
|
extra_headers=
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2002-10-10 20:29:33 +02:00
|
|
|
rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*)
|
|
|
|
tm_file="${tm_file} rs6000/aix.h rs6000/aix52.h rs6000/xcoff.h"
|
|
|
|
tmake_file=rs6000/t-aix52
|
2005-05-07 20:51:50 +02:00
|
|
|
extra_options="${extra_options} rs6000/aix64.opt"
|
2002-10-10 20:29:33 +02:00
|
|
|
use_collect2=yes
|
|
|
|
thread_file='aix'
|
|
|
|
extra_headers=
|
|
|
|
;;
|
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 04:03:14 +02:00
|
|
|
s390-*-linux*)
|
2001-12-06 18:34:55 +01:00
|
|
|
tm_file="s390/s390.h dbxelf.h elfos.h svr4.h linux.h s390/linux.h"
|
2006-03-29 13:55:53 +02:00
|
|
|
tmake_file="${tmake_file} t-dfprules s390/t-crtstuff s390/t-linux"
|
2001-07-13 15:11:59 +02:00
|
|
|
;;
|
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 04:03:14 +02:00
|
|
|
s390x-*-linux*)
|
2002-02-06 21:55:37 +01:00
|
|
|
tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h svr4.h linux.h s390/linux.h"
|
2001-09-18 23:51:53 +02:00
|
|
|
tm_p_file=s390/s390-protos.h
|
|
|
|
md_file=s390/s390.md
|
2002-06-12 03:36:13 +02:00
|
|
|
extra_modes=s390/s390-modes.def
|
2001-09-18 23:51:53 +02:00
|
|
|
out_file=s390/s390.c
|
2006-03-29 13:55:53 +02:00
|
|
|
tmake_file="${tmake_file} t-dfprules s390/t-crtstuff s390/t-linux s390/t-linux64"
|
2001-07-13 15:11:59 +02:00
|
|
|
;;
|
2003-10-15 19:10:20 +02:00
|
|
|
s390x-ibm-tpf*)
|
2005-07-13 20:15:43 +02:00
|
|
|
tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h svr4.h s390/tpf.h"
|
|
|
|
tm_p_file=s390/s390-protos.h
|
|
|
|
md_file=s390/s390.md
|
|
|
|
extra_modes=s390/s390-modes.def
|
|
|
|
out_file=s390/s390.c
|
|
|
|
extra_parts="crtbeginS.o crtendS.o"
|
|
|
|
tmake_file="s390/t-crtstuff s390/t-tpf"
|
|
|
|
thread_file='tpf'
|
|
|
|
extra_options="${extra_options} s390/tpf.opt"
|
2003-10-15 19:10:20 +02:00
|
|
|
;;
|
[multiple changes]
2004-06-21 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/t-linux (MULTILIB_OPTIONS): Remove.
2004-06-21 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionanlly define.
(SUPPORT_SH4_SINGLE): Likewise.
(TARGET_SWITCHES): Break out switches for cpu subtargets:
(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
(TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
(TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
(TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
(SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
(SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
(SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
(SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
(SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
(ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
* sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
(TARGET_DEFAULT): Likewise.
* config/sh/t-elf: Amend comment.
* config/sh/t-1e, config/sh/t-mlib-sh1: New files.
* config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
* config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
* config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
* config/sh/t-mlib-sh4-single: Likewise.
* config/sh/t-mlib-sh4-single-only: Likewise.
* config/sh/t-mlib-sh5-32media: Likewise.
* config/sh/t-mlib-sh5-32media-nofpu: Likewise.
* config/sh/t-mlib-sh5-64media: Likewise.
* config/sh/t-mlib-sh5-64media-nofpu: Likewise.
* config/sh/t-mlib-sh5-compact: Likewise.
* config/sh/t-mlib-sh5-compact-nofpu: Likewise.
* config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
(MULTILIB_CPUS): Define.
(MULTILIB_OPTIONS): Use MULTILIB_CPUS.
(MULTILIB_MATCHES): Use some shell code to calculate it.
(MULTILIB_EXCEPTIONS): Change to ml/m1.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
* config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
(LINK_DEFAULT_CPU_EMUL): Don't redefine.
(NO_PROFILE_COUNTERS): Define to 1.
* config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
(MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES): Don't zap.
(MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
* config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
(MULTILIB_RAW_DIRNAMES): Define.
(MULTILIB_DIRNAMES): Use it.
* config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
(sh*linux configurations): Merge into:
(sh*elf / sh*kaos configurations). Support --with-endian, --with-cpu,
--with-multilib-list options. Support sh-superh-elf configuration.
(sh*-netbsd*): Use SELECT_SH* macros.
(supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
Merge sh*-*-netbsd* configurations into sh-elf configurations.
* config/sh/t-netbsd-sh5, config/sh/t-le, config/sh/t-le: Delete.
* config/sh/t-monolib: Likewise.
From-SVN: r83444
2004-06-21 20:18:40 +02:00
|
|
|
sh-*-elf* | sh[12346l]*-*-elf* | sh*-*-kaos* | \
|
2004-07-12 10:45:00 +02:00
|
|
|
sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
|
[multiple changes]
2004-06-21 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/t-linux (MULTILIB_OPTIONS): Remove.
2004-06-21 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionanlly define.
(SUPPORT_SH4_SINGLE): Likewise.
(TARGET_SWITCHES): Break out switches for cpu subtargets:
(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
(TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
(TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
(TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
(SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
(SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
(SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
(SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
(SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
(ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
* sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
(TARGET_DEFAULT): Likewise.
* config/sh/t-elf: Amend comment.
* config/sh/t-1e, config/sh/t-mlib-sh1: New files.
* config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
* config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
* config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
* config/sh/t-mlib-sh4-single: Likewise.
* config/sh/t-mlib-sh4-single-only: Likewise.
* config/sh/t-mlib-sh5-32media: Likewise.
* config/sh/t-mlib-sh5-32media-nofpu: Likewise.
* config/sh/t-mlib-sh5-64media: Likewise.
* config/sh/t-mlib-sh5-64media-nofpu: Likewise.
* config/sh/t-mlib-sh5-compact: Likewise.
* config/sh/t-mlib-sh5-compact-nofpu: Likewise.
* config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
(MULTILIB_CPUS): Define.
(MULTILIB_OPTIONS): Use MULTILIB_CPUS.
(MULTILIB_MATCHES): Use some shell code to calculate it.
(MULTILIB_EXCEPTIONS): Change to ml/m1.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
* config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
(LINK_DEFAULT_CPU_EMUL): Don't redefine.
(NO_PROFILE_COUNTERS): Define to 1.
* config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
(MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES): Don't zap.
(MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
* config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
(MULTILIB_RAW_DIRNAMES): Define.
(MULTILIB_DIRNAMES): Use it.
* config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
(sh*linux configurations): Merge into:
(sh*elf / sh*kaos configurations). Support --with-endian, --with-cpu,
--with-multilib-list options. Support sh-superh-elf configuration.
(sh*-netbsd*): Use SELECT_SH* macros.
(supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
Merge sh*-*-netbsd* configurations into sh-elf configurations.
* config/sh/t-netbsd-sh5, config/sh/t-le, config/sh/t-le: Delete.
* config/sh/t-monolib: Likewise.
From-SVN: r83444
2004-06-21 20:18:40 +02:00
|
|
|
sh-*-linux* | sh[346lbe]*-*-linux* | \
|
|
|
|
sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
|
|
|
|
sh64-*-netbsd* | sh64l*-*-netbsd*)
|
|
|
|
tmake_file="${tmake_file} sh/t-sh sh/t-elf"
|
|
|
|
if test x${with_endian} = x; then
|
|
|
|
case ${target} in
|
|
|
|
sh[1234]*be-*-* | sh[1234]*eb-*-*) with_endian=big ;;
|
|
|
|
shbe-*-* | sheb-*-*) with_endian=big,little ;;
|
|
|
|
sh[1234]l* | sh[34]*-*-linux*) with_endian=little ;;
|
|
|
|
shl* | sh64l* | sh*-*-linux* | \
|
|
|
|
sh5l* | sh-superh-elf) with_endian=little,big ;;
|
|
|
|
sh[1234]*-*-*) with_endian=big ;;
|
|
|
|
*) with_endian=big,little ;;
|
|
|
|
esac
|
|
|
|
fi
|
|
|
|
case ${with_endian} in
|
|
|
|
big|little) tmake_file="${tmake_file} sh/t-1e" ;;
|
|
|
|
big,little|little,big) ;;
|
|
|
|
*) echo "with_endian=${with_endian} not supported."; exit 1 ;;
|
|
|
|
esac
|
|
|
|
case ${with_endian} in
|
|
|
|
little*) tm_file="sh/little.h ${tm_file}" ;;
|
|
|
|
esac
|
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h"
|
2003-09-23 23:51:44 +02:00
|
|
|
case ${target} in
|
[multiple changes]
2004-06-21 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/t-linux (MULTILIB_OPTIONS): Remove.
2004-06-21 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionanlly define.
(SUPPORT_SH4_SINGLE): Likewise.
(TARGET_SWITCHES): Break out switches for cpu subtargets:
(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
(TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
(TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
(TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
(SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
(SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
(SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
(SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
(SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
(ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
* sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
(TARGET_DEFAULT): Likewise.
* config/sh/t-elf: Amend comment.
* config/sh/t-1e, config/sh/t-mlib-sh1: New files.
* config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
* config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
* config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
* config/sh/t-mlib-sh4-single: Likewise.
* config/sh/t-mlib-sh4-single-only: Likewise.
* config/sh/t-mlib-sh5-32media: Likewise.
* config/sh/t-mlib-sh5-32media-nofpu: Likewise.
* config/sh/t-mlib-sh5-64media: Likewise.
* config/sh/t-mlib-sh5-64media-nofpu: Likewise.
* config/sh/t-mlib-sh5-compact: Likewise.
* config/sh/t-mlib-sh5-compact-nofpu: Likewise.
* config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
(MULTILIB_CPUS): Define.
(MULTILIB_OPTIONS): Use MULTILIB_CPUS.
(MULTILIB_MATCHES): Use some shell code to calculate it.
(MULTILIB_EXCEPTIONS): Change to ml/m1.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
* config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
(LINK_DEFAULT_CPU_EMUL): Don't redefine.
(NO_PROFILE_COUNTERS): Define to 1.
* config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
(MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES): Don't zap.
(MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
* config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
(MULTILIB_RAW_DIRNAMES): Define.
(MULTILIB_DIRNAMES): Use it.
* config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
(sh*linux configurations): Merge into:
(sh*elf / sh*kaos configurations). Support --with-endian, --with-cpu,
--with-multilib-list options. Support sh-superh-elf configuration.
(sh*-netbsd*): Use SELECT_SH* macros.
(supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
Merge sh*-*-netbsd* configurations into sh-elf configurations.
* config/sh/t-netbsd-sh5, config/sh/t-le, config/sh/t-le: Delete.
* config/sh/t-monolib: Likewise.
From-SVN: r83444
2004-06-21 20:18:40 +02:00
|
|
|
sh*-*-netbsd*) ;;
|
|
|
|
*) tm_file="${tm_file} svr4.h" ;;
|
2002-06-05 21:52:07 +02:00
|
|
|
esac
|
[multiple changes]
2004-06-21 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/t-linux (MULTILIB_OPTIONS): Remove.
2004-06-21 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionanlly define.
(SUPPORT_SH4_SINGLE): Likewise.
(TARGET_SWITCHES): Break out switches for cpu subtargets:
(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
(TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
(TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
(TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
(SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
(SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
(SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
(SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
(SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
(ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
* sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
(TARGET_DEFAULT): Likewise.
* config/sh/t-elf: Amend comment.
* config/sh/t-1e, config/sh/t-mlib-sh1: New files.
* config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
* config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
* config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
* config/sh/t-mlib-sh4-single: Likewise.
* config/sh/t-mlib-sh4-single-only: Likewise.
* config/sh/t-mlib-sh5-32media: Likewise.
* config/sh/t-mlib-sh5-32media-nofpu: Likewise.
* config/sh/t-mlib-sh5-64media: Likewise.
* config/sh/t-mlib-sh5-64media-nofpu: Likewise.
* config/sh/t-mlib-sh5-compact: Likewise.
* config/sh/t-mlib-sh5-compact-nofpu: Likewise.
* config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
(MULTILIB_CPUS): Define.
(MULTILIB_OPTIONS): Use MULTILIB_CPUS.
(MULTILIB_MATCHES): Use some shell code to calculate it.
(MULTILIB_EXCEPTIONS): Change to ml/m1.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
* config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
(LINK_DEFAULT_CPU_EMUL): Don't redefine.
(NO_PROFILE_COUNTERS): Define to 1.
* config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
(MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES): Don't zap.
(MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
* config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
(MULTILIB_RAW_DIRNAMES): Define.
(MULTILIB_DIRNAMES): Use it.
* config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
(sh*linux configurations): Merge into:
(sh*elf / sh*kaos configurations). Support --with-endian, --with-cpu,
--with-multilib-list options. Support sh-superh-elf configuration.
(sh*-netbsd*): Use SELECT_SH* macros.
(supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
Merge sh*-*-netbsd* configurations into sh-elf configurations.
* config/sh/t-netbsd-sh5, config/sh/t-le, config/sh/t-le: Delete.
* config/sh/t-monolib: Likewise.
From-SVN: r83444
2004-06-21 20:18:40 +02:00
|
|
|
tm_file="${tm_file} sh/elf.h"
|
2003-09-23 23:51:44 +02:00
|
|
|
case ${target} in
|
[multiple changes]
2004-06-21 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/t-linux (MULTILIB_OPTIONS): Remove.
2004-06-21 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionanlly define.
(SUPPORT_SH4_SINGLE): Likewise.
(TARGET_SWITCHES): Break out switches for cpu subtargets:
(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
(TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
(TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
(TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
(SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
(SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
(SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
(SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
(SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
(ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
* sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
(TARGET_DEFAULT): Likewise.
* config/sh/t-elf: Amend comment.
* config/sh/t-1e, config/sh/t-mlib-sh1: New files.
* config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
* config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
* config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
* config/sh/t-mlib-sh4-single: Likewise.
* config/sh/t-mlib-sh4-single-only: Likewise.
* config/sh/t-mlib-sh5-32media: Likewise.
* config/sh/t-mlib-sh5-32media-nofpu: Likewise.
* config/sh/t-mlib-sh5-64media: Likewise.
* config/sh/t-mlib-sh5-64media-nofpu: Likewise.
* config/sh/t-mlib-sh5-compact: Likewise.
* config/sh/t-mlib-sh5-compact-nofpu: Likewise.
* config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
(MULTILIB_CPUS): Define.
(MULTILIB_OPTIONS): Use MULTILIB_CPUS.
(MULTILIB_MATCHES): Use some shell code to calculate it.
(MULTILIB_EXCEPTIONS): Change to ml/m1.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
* config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
(LINK_DEFAULT_CPU_EMUL): Don't redefine.
(NO_PROFILE_COUNTERS): Define to 1.
* config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
(MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES): Don't zap.
(MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
* config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
(MULTILIB_RAW_DIRNAMES): Define.
(MULTILIB_DIRNAMES): Use it.
* config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
(sh*linux configurations): Merge into:
(sh*elf / sh*kaos configurations). Support --with-endian, --with-cpu,
--with-multilib-list options. Support sh-superh-elf configuration.
(sh*-netbsd*): Use SELECT_SH* macros.
(supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
Merge sh*-*-netbsd* configurations into sh-elf configurations.
* config/sh/t-netbsd-sh5, config/sh/t-le, config/sh/t-le: Delete.
* config/sh/t-monolib: Likewise.
From-SVN: r83444
2004-06-21 20:18:40 +02:00
|
|
|
sh*-*-linux*) tmake_file="${tmake_file} sh/t-linux"
|
2005-03-01 04:39:03 +01:00
|
|
|
tm_file="${tm_file} linux.h sh/linux.h" ;;
|
[multiple changes]
2004-06-21 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/t-linux (MULTILIB_OPTIONS): Remove.
2004-06-21 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionanlly define.
(SUPPORT_SH4_SINGLE): Likewise.
(TARGET_SWITCHES): Break out switches for cpu subtargets:
(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
(TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
(TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
(TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
(SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
(SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
(SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
(SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
(SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
(ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
* sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
(TARGET_DEFAULT): Likewise.
* config/sh/t-elf: Amend comment.
* config/sh/t-1e, config/sh/t-mlib-sh1: New files.
* config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
* config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
* config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
* config/sh/t-mlib-sh4-single: Likewise.
* config/sh/t-mlib-sh4-single-only: Likewise.
* config/sh/t-mlib-sh5-32media: Likewise.
* config/sh/t-mlib-sh5-32media-nofpu: Likewise.
* config/sh/t-mlib-sh5-64media: Likewise.
* config/sh/t-mlib-sh5-64media-nofpu: Likewise.
* config/sh/t-mlib-sh5-compact: Likewise.
* config/sh/t-mlib-sh5-compact-nofpu: Likewise.
* config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
(MULTILIB_CPUS): Define.
(MULTILIB_OPTIONS): Use MULTILIB_CPUS.
(MULTILIB_MATCHES): Use some shell code to calculate it.
(MULTILIB_EXCEPTIONS): Change to ml/m1.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
* config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
(LINK_DEFAULT_CPU_EMUL): Don't redefine.
(NO_PROFILE_COUNTERS): Define to 1.
* config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
(MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES): Don't zap.
(MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
* config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
(MULTILIB_RAW_DIRNAMES): Define.
(MULTILIB_DIRNAMES): Use it.
* config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
(sh*linux configurations): Merge into:
(sh*elf / sh*kaos configurations). Support --with-endian, --with-cpu,
--with-multilib-list options. Support sh-superh-elf configuration.
(sh*-netbsd*): Use SELECT_SH* macros.
(supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
Merge sh*-*-netbsd* configurations into sh-elf configurations.
* config/sh/t-netbsd-sh5, config/sh/t-le, config/sh/t-le: Delete.
* config/sh/t-monolib: Likewise.
From-SVN: r83444
2004-06-21 20:18:40 +02:00
|
|
|
sh*-*-kaos*) tm_file="${tm_file} sh/embed-elf.h kaos.h sh/kaos-sh.h"
|
|
|
|
;;
|
|
|
|
sh*-*-netbsd*) tm_file="${tm_file} netbsd.h netbsd-elf.h sh/netbsd-elf.h" ;;
|
2006-03-10 17:07:29 +01:00
|
|
|
sh*-superh-elf) if test x$with_libgloss != xno; then
|
|
|
|
with_libgloss=yes
|
|
|
|
tm_file="${tm_file} sh/newlib.h"
|
|
|
|
fi
|
2006-03-27 16:11:14 +02:00
|
|
|
tm_file="${tm_file} sh/embed-elf.h"
|
|
|
|
extra_options="${extra_options} sh/superh.opt" ;;
|
2006-03-10 17:07:29 +01:00
|
|
|
*) if test x$with_newlib = xyes \
|
|
|
|
&& test x$with_libgloss = xyes; then
|
|
|
|
tm_file="${tm_file} sh/newlib.h"
|
|
|
|
fi
|
|
|
|
tm_file="${tm_file} sh/embed-elf.h" ;;
|
[multiple changes]
2004-06-21 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/t-linux (MULTILIB_OPTIONS): Remove.
2004-06-21 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionanlly define.
(SUPPORT_SH4_SINGLE): Likewise.
(TARGET_SWITCHES): Break out switches for cpu subtargets:
(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
(TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
(TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
(TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
(SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
(SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
(SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
(SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
(SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
(ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
* sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
(TARGET_DEFAULT): Likewise.
* config/sh/t-elf: Amend comment.
* config/sh/t-1e, config/sh/t-mlib-sh1: New files.
* config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
* config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
* config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
* config/sh/t-mlib-sh4-single: Likewise.
* config/sh/t-mlib-sh4-single-only: Likewise.
* config/sh/t-mlib-sh5-32media: Likewise.
* config/sh/t-mlib-sh5-32media-nofpu: Likewise.
* config/sh/t-mlib-sh5-64media: Likewise.
* config/sh/t-mlib-sh5-64media-nofpu: Likewise.
* config/sh/t-mlib-sh5-compact: Likewise.
* config/sh/t-mlib-sh5-compact-nofpu: Likewise.
* config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
(MULTILIB_CPUS): Define.
(MULTILIB_OPTIONS): Use MULTILIB_CPUS.
(MULTILIB_MATCHES): Use some shell code to calculate it.
(MULTILIB_EXCEPTIONS): Change to ml/m1.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
* config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
(LINK_DEFAULT_CPU_EMUL): Don't redefine.
(NO_PROFILE_COUNTERS): Define to 1.
* config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
(MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES): Don't zap.
(MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
* config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
(MULTILIB_RAW_DIRNAMES): Define.
(MULTILIB_DIRNAMES): Use it.
* config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
(sh*linux configurations): Merge into:
(sh*elf / sh*kaos configurations). Support --with-endian, --with-cpu,
--with-multilib-list options. Support sh-superh-elf configuration.
(sh*-netbsd*): Use SELECT_SH* macros.
(supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
Merge sh*-*-netbsd* configurations into sh-elf configurations.
* config/sh/t-netbsd-sh5, config/sh/t-le, config/sh/t-le: Delete.
* config/sh/t-monolib: Likewise.
From-SVN: r83444
2004-06-21 20:18:40 +02:00
|
|
|
esac
|
|
|
|
case ${target} in
|
|
|
|
sh5*-*-netbsd*)
|
|
|
|
# SHmedia, 32-bit ABI
|
|
|
|
tmake_file="${tmake_file} sh/t-sh64 sh/t-netbsd"
|
|
|
|
;;
|
|
|
|
sh64*-netbsd*)
|
|
|
|
# SHmedia, 64-bit ABI
|
|
|
|
tmake_file="${tmake_file} sh/t-sh64 sh/t-netbsd sh/t-netbsd-sh5-64"
|
|
|
|
;;
|
|
|
|
*-*-netbsd)
|
|
|
|
tmake_file="${tmake_file} sh/t-netbsd"
|
|
|
|
;;
|
|
|
|
sh64*-*-linux*)
|
|
|
|
tmake_file="${tmake_file} sh/t-sh64 sh/t-linux64"
|
|
|
|
tm_file="${tm_file} sh/sh64.h"
|
|
|
|
extra_headers="shmedia.h ushmedia.h sshmedia.h"
|
|
|
|
;;
|
2002-06-05 21:52:07 +02:00
|
|
|
sh64*)
|
|
|
|
tmake_file="${tmake_file} sh/t-sh64"
|
|
|
|
tm_file="${tm_file} sh/sh64.h"
|
|
|
|
extra_headers="shmedia.h ushmedia.h sshmedia.h"
|
|
|
|
;;
|
2004-07-12 10:45:00 +02:00
|
|
|
*-*-symbianelf*)
|
|
|
|
tmake_file="sh/t-symbian"
|
|
|
|
tm_file="sh/symbian-pre.h sh/little.h ${tm_file} sh/symbian-post.h"
|
|
|
|
extra_objs="symbian.o"
|
|
|
|
extra_parts="crt1.o crti.o crtn.o crtbegin.o crtend.o crtbeginS.o crtendS.o"
|
|
|
|
;;
|
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 21:23:28 +02:00
|
|
|
esac
|
[multiple changes]
2004-06-21 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/t-linux (MULTILIB_OPTIONS): Remove.
2004-06-21 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionanlly define.
(SUPPORT_SH4_SINGLE): Likewise.
(TARGET_SWITCHES): Break out switches for cpu subtargets:
(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
(TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
(TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
(TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
(SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
(SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
(SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
(SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
(SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
(ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
* sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
(TARGET_DEFAULT): Likewise.
* config/sh/t-elf: Amend comment.
* config/sh/t-1e, config/sh/t-mlib-sh1: New files.
* config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
* config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
* config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
* config/sh/t-mlib-sh4-single: Likewise.
* config/sh/t-mlib-sh4-single-only: Likewise.
* config/sh/t-mlib-sh5-32media: Likewise.
* config/sh/t-mlib-sh5-32media-nofpu: Likewise.
* config/sh/t-mlib-sh5-64media: Likewise.
* config/sh/t-mlib-sh5-64media-nofpu: Likewise.
* config/sh/t-mlib-sh5-compact: Likewise.
* config/sh/t-mlib-sh5-compact-nofpu: Likewise.
* config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
(MULTILIB_CPUS): Define.
(MULTILIB_OPTIONS): Use MULTILIB_CPUS.
(MULTILIB_MATCHES): Use some shell code to calculate it.
(MULTILIB_EXCEPTIONS): Change to ml/m1.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
* config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
(LINK_DEFAULT_CPU_EMUL): Don't redefine.
(NO_PROFILE_COUNTERS): Define to 1.
* config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
(MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES): Don't zap.
(MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
* config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
(MULTILIB_RAW_DIRNAMES): Define.
(MULTILIB_DIRNAMES): Use it.
* config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
(sh*linux configurations): Merge into:
(sh*elf / sh*kaos configurations). Support --with-endian, --with-cpu,
--with-multilib-list options. Support sh-superh-elf configuration.
(sh*-netbsd*): Use SELECT_SH* macros.
(supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
Merge sh*-*-netbsd* configurations into sh-elf configurations.
* config/sh/t-netbsd-sh5, config/sh/t-le, config/sh/t-le: Delete.
* config/sh/t-monolib: Likewise.
From-SVN: r83444
2004-06-21 20:18:40 +02:00
|
|
|
# sed el/eb endian suffixes away to avoid confusion with sh[23]e
|
|
|
|
case `echo ${target} | sed 's/e[lb]-/-/'` in
|
|
|
|
sh64*-*-netbsd*) sh_cpu_target=sh5-64media ;;
|
|
|
|
sh64* | sh5*-*-netbsd*) sh_cpu_target=sh5-32media ;;
|
Introduce sh4a support.
gcc/ChangeLog:
Introduce sh4a support.
* config.gcc: Handle sh4a multilibs and cpu selection.
* config/sh/sh.h: Likewise. Handle sh4a command line flags.
* config/sh/t-mlib-sh4a: New.
* config/sh/t-mlib-sh4al: New.
* config/sh/t-mlib-sh4a-nofpu: New.
* config/sh/t-mlib-sh4a-single: New.
* config/sh/t-mlib-sh4a-single-only: New.
2004-02-20 DJ Delorie <dj@redhat.com>
* config/sh/sh.md ("movua"): Change constraint from "m" to "Sua".
* config/sh/sh.h (EXTRA_CONSTRAINT_S): Add "Sua" support.
2003-08-22 Eric Christopher <echristo@redhat.com>
* config/sh/sh4a.md: Update for chip errata.
2003-08-07 Eric Christopher <echristo@redhat.com>
* config/sh/sh4a.md: New file. sh4a processor description.
2003-07-08 Alexandre Oliva <aoliva@redhat.com>
* config/sh/sh.h (TARGET_SWITCHES): Added 4al. Adjust description
of -m4a-nofpu.
(SH_ASM_SPEC): Pass -dsp for -m4al, not -m4a-nofpu.
* config/sh/t-sh (MULTILIB_MATCHES): Map -m4al to -m4a-nofpu.
* doc/invoke.texi (SH Options): Document -m4al.
2003-07-03 Alexandre Oliva <aoliva@redhat.com>
* config/sh/sh.c (expand_block_move): Remove commented-out code
checked in by mistake.
(sh_cannot_change_mode_class): Enable SUBREGs to be used to select
single elements from SFmode vectors.
* config/sh/sh.md (fsca): Use VEC_CONCAT to initialize the output
register.
(sinsf2, cossf2, sindf2, cosdf2): Don't emit CLOBBER.
2003-07-01 Alexandre Oliva <aoliva@redhat.com>
* config/sh/sh.h (sh_fsca_sf2int, sh_fsca_df2int,
sh_fsca_int2sf): Remove variable declarations.
* config/sh/sh.c (sh_fsca_sf2int, sh_fsca_df2int,
sh_fsca_int2sf): New functions.
(sh_fsca_sf2int_rtx, sh_fsca_df2int_rtx,
sh_fsca_int2sf_rtx): New static variables.
* config/sh/sh-protos.h (sh_fsca_sf2int, sh_fsca_df2int,
sh_fsca_int2sf): Declare.
* config/sh/sh.md: Adjust.
* doc/invoke.texi (SH Options): Document new options.
* config/sh/lib1funcs.asm (ic_invalidate): Remove SH4a forward
compatibility from SH4 code.
2003-06-27 Alexandre Oliva <aoliva@redhat.com>
* config/sh/sh.c (expand_block_move): Don't emit POST_INC too
early.
(memory_movsrc_operand): Renamed to...
(unaligned_load_operand): ... this. Simplified.
* config/sh/sh.h (PREDICATE_CODES): Adjust.
* config/sh/sh.md (movua, extv, extzv): Likewise. Change movua's
input operand to SImode, and adjust the others. Introduce
post-increment by peephole.
* config/sh/sh.c (expand_block_move): Give the target address the
same mode as the temp reg.
* config/sh/sh.c (expand_block_move): Use a temp reg for unaligned
copying.
2003-06-26 Alexandre Oliva <aoliva@redhat.com>
Introduce support for SH4a.
* config/sh/lib1funcs.asm (ic_invalidate): Use icbi if
__SH4A__. Emit 4 4kb blocks and touch all of them otherwise.
* config/sh/sh.c (sh_fsca_sf2int, sh_fsca_df2int,
sh_fsca_int2sf): New.
(sh_init_builtins): Initialize them.
(print_operand): Support `d'.
(expand_block_move): Use movua if src is misaligned.
(memory_movsrc_operand): New.
* config/sh/sh.h (TARGET_CPU_CPP_BUILTINS): Define __SH4A__
and one of the SH4 macros.
(SH4A_BIT, TARGET_SH4A_ARCH, TARGET_SH4A_FP,
SELECT_SH4A_NOFPU, SELECT_SH4A_SINGLE_ONLY, SELECT_SH4A,
SELECT_SH4A_SINGLE): New.
(TARGET_NONE): Add SH4A_BIT.
(TARGET_SWITCHES): Add 4a-single-only, 4a-single, 4a-nofpu and 4a.
(SH_ASM_SPEC): Pass -dsp if -m4a-nofpu.
(sh_fsca_sf2int, sh_fsca_df2int, sh_fsca_int2sf): Declare.
(OVERRIDE_OPTIONS): Set cpu to CPU_SH4A when appropriate.
(enum processor_type): Added PROCESSOR_SH4A.
(PREDICATE_CODES): Add memory_movsrc_operand.
* config/sh/sh.md: Removed unused variables.
(attr cpu): Add sh4a.
(attr type): Add movua, fsrra and fsca.
(prefetch): New, for SH4.
(ic_invalidate_line, ic_invalidate_line_sh4a): Use icbi.
(toggle_sz): Set type to fp.
(toggle_pr, rsqrtsf2, fsca, sinsf2, cossf2, sindf2, cosdf2): New.
(movua, extv, extzv): New.
* config/sh/t-sh: Add multilibs for 4a, 4a-nofpu, 4a-single
and 4a-single-only.
gcc/testsuite/ChangeLog:
2003-07-06 Alexandre Oliva <aoliva@redhat.com>
* gcc.dg/sh4a-memmovua.c: Tweak regular expression.
2003-07-01 Alexandre Oliva <aoliva@redhat.com>
* gcc.dg/sh4a-bitmovua.c: New.
* gcc.dg/sh4a-cos.c: New.
* gcc.dg/sh4a-cosf.c: New.
* gcc.dg/sh4a-fprun.c: New.
* gcc.dg/sh4a-fsrra.c: New.
* gcc.dg/sh4a-memmovua.c: New.
* gcc.dg/sh4a-sin.c: New.
* gcc.dg/sh4a-sincos.c: New.
* gcc.dg/sh4a-sincosf.c: New.
* gcc.dg/sh4a-sinf.c: New.
libstdc++-v3/ChangeLog:
2003-10-01 Eric Christopher <echristo@redhat.com>
* config/cpu/sh/atomicity.h (__exchange_and_add): Remove 'm'
constraint.
2003-07-09 Alexandre Oliva <aoliva@redhat.com>
* config/cpu/sh/atomicity.h: New. Use movli and movco on SH4a.
From-SVN: r85257
2004-07-28 11:13:58 +02:00
|
|
|
sh4a_single_only*) sh_cpu_target=sh4a-single-only ;;
|
|
|
|
sh4a_single*) sh_cpu_target=sh4a-single ;;
|
|
|
|
sh4a_nofpu*) sh_cpu_target=sh4a-nofpu ;;
|
|
|
|
sh4al) sh_cpu_target=sh4al ;;
|
|
|
|
sh4a*) sh_cpu_target=sh4a ;;
|
[multiple changes]
2004-06-21 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/t-linux (MULTILIB_OPTIONS): Remove.
2004-06-21 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionanlly define.
(SUPPORT_SH4_SINGLE): Likewise.
(TARGET_SWITCHES): Break out switches for cpu subtargets:
(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
(TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
(TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
(TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
(SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
(SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
(SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
(SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
(SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
(ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
* sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
(TARGET_DEFAULT): Likewise.
* config/sh/t-elf: Amend comment.
* config/sh/t-1e, config/sh/t-mlib-sh1: New files.
* config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
* config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
* config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
* config/sh/t-mlib-sh4-single: Likewise.
* config/sh/t-mlib-sh4-single-only: Likewise.
* config/sh/t-mlib-sh5-32media: Likewise.
* config/sh/t-mlib-sh5-32media-nofpu: Likewise.
* config/sh/t-mlib-sh5-64media: Likewise.
* config/sh/t-mlib-sh5-64media-nofpu: Likewise.
* config/sh/t-mlib-sh5-compact: Likewise.
* config/sh/t-mlib-sh5-compact-nofpu: Likewise.
* config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
(MULTILIB_CPUS): Define.
(MULTILIB_OPTIONS): Use MULTILIB_CPUS.
(MULTILIB_MATCHES): Use some shell code to calculate it.
(MULTILIB_EXCEPTIONS): Change to ml/m1.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
* config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
(LINK_DEFAULT_CPU_EMUL): Don't redefine.
(NO_PROFILE_COUNTERS): Define to 1.
* config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
(MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES): Don't zap.
(MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
* config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
(MULTILIB_RAW_DIRNAMES): Define.
(MULTILIB_DIRNAMES): Use it.
* config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
(sh*linux configurations): Merge into:
(sh*elf / sh*kaos configurations). Support --with-endian, --with-cpu,
--with-multilib-list options. Support sh-superh-elf configuration.
(sh*-netbsd*): Use SELECT_SH* macros.
(supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
Merge sh*-*-netbsd* configurations into sh-elf configurations.
* config/sh/t-netbsd-sh5, config/sh/t-le, config/sh/t-le: Delete.
* config/sh/t-monolib: Likewise.
From-SVN: r83444
2004-06-21 20:18:40 +02:00
|
|
|
sh4_single_only*) sh_cpu_target=sh4-single-only ;;
|
|
|
|
sh4_single*) sh_cpu_target=sh4-single ;;
|
|
|
|
sh4_nofpu*) sh_cpu_target=sh4-nofpu ;;
|
|
|
|
sh4* | sh-superh-*) sh_cpu_target=sh4 ;;
|
|
|
|
sh3e*) sh_cpu_target=sh3e ;;
|
|
|
|
sh*-*-netbsd* | sh3*) sh_cpu_target=sh3 ;;
|
Introduce sh2a support.
2004-07-29 Alexandre Oliva <aoliva@redhat.com>
* config.gcc: Build multilibs for sh2a and sh2a-single by
default.
* config/sh/sh.h (SUPPORT_SH2A, SUPPORT_SH2A_SINGLE): Define by
default. Split their tests out of the corresponding SH4
multilibs.
* config/sh/t-sh (MULTILIB_MATCHES): Don't ever use SH4 or SH4a
multilibs for SH2a.
2004-07-28 Alexandre Oliva <aoliva@redhat.com>
* config.gcc: Handle sh2a multilibs and cpu selection.
* config/sh/sh.h: Likewise. Handle sh2a command line flags.
* config/sh/t-mlib-sh2a: New.
* config/sh/t-mlib-sh2a-nofpu: New.
* config/sh/t-mlib-sh2a-single: New.
* config/sh/t-mlib-sh2a-single-only: New.
2004-07-09 Nick Clifton <nickc@redhat.com>
Issue 43400
* config/sh/sh.h (DRIVER_SELF_SPECS): Issue an error message if
-ml and -m2a are used together.
2004-03-23 DJ Delorie <dj@redhat.com>
* config/sh/sh.c (sh_builtin_saveregs): Use the double code only
when we have a double-sized FPU.
2004-02-24 Corinna Vinschen <vinschen@redhat.com>
* config/sh/lib1funcs.asm (set_fpscr): Don't build if __SH2A_NOFPU__
is set.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Add cases for -msh2a-nofpu,
-msh2a-single and -msh2a-single-only
2004-02-24 Corinna Vinschen <vinschen@redhat.com>
* config/sh/crt1.asm: Don't generate FPU instructions if __SH2A_NOFPU__
is set.
2004-02-20 DJ Delorie <dj@delorie.com>
* config/sh/sh.md (movsf_i, movsf_ie, movsf, ble, bge): Disable for sh2a-nofpu.
2004-02-20 Fred Fish <fnf@redhat.com>,
Corinna Vinschen <vinschen@redhat.com>
* config/sh/t-sh (MULTILIB_OPTIONS): Add 2a-nofpu.
(MULTILIB_EXCEPTIONS): Don't build littel-endian on sh2a.
2004-02-18 DJ Delorie <dj@redhat.com>
* config/sh/sh.c (broken_move): Add support for movi20.
* config/sh/sh.h: Likewise.
(SHIFT_COUNT_TRUNCATED): Set for sh2a.
* config/sh/sh.md (udivsi3_sh2a): New.
(udivsi3): Call it.
(divsi3_sh2a): New.
(divsi3): Call it.
(mul_r): New.
(ashlsi3_sh2a): New.
(ashrsi3_sh2a): New.
(lshrsi3_sh2a): New.
(movsi_i): Disable for sh2a.
(movsi_ie): Add movi20.
(movsf_i, movsf_ie, movsf, ble, untyped_call): Explicitly enable
sh2a, for -m2a-nofpu mode.
2004-02-13 DJ Delorie <dj@redhat.com>
* config/sh/lib1funcs.asm: Handle double vs single better.
* config/sh/sh.h: Likewise.
2004-02-09 DJ Delorie <dj@redhat.com>
* config/sh/crt1.asm: Add support for sh2a.
* config/sh/elf.h: Likewise.
* config/sh/lib1funcs.asm: Likewise.
* config/sh/sh.c: Likewise.
* config/sh/sh.md: Likewise.
* config/sh/sh.h: Likewise.
* config/sh/t-sh: Likewise.
From-SVN: r85286
2004-07-29 08:10:03 +02:00
|
|
|
sh2a_single_only*) sh_cpu_target=sh2a-single-only ;;
|
|
|
|
sh2a_single*) sh_cpu_target=sh2a-single ;;
|
|
|
|
sh2a_nofpu*) sh_cpu_target=sh2a-nofpu ;;
|
|
|
|
sh2a*) sh_cpu_target=sh2a ;;
|
[multiple changes]
2004-06-21 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/t-linux (MULTILIB_OPTIONS): Remove.
2004-06-21 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionanlly define.
(SUPPORT_SH4_SINGLE): Likewise.
(TARGET_SWITCHES): Break out switches for cpu subtargets:
(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
(TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
(TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
(TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
(SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
(SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
(SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
(SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
(SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
(ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
* sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
(TARGET_DEFAULT): Likewise.
* config/sh/t-elf: Amend comment.
* config/sh/t-1e, config/sh/t-mlib-sh1: New files.
* config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
* config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
* config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
* config/sh/t-mlib-sh4-single: Likewise.
* config/sh/t-mlib-sh4-single-only: Likewise.
* config/sh/t-mlib-sh5-32media: Likewise.
* config/sh/t-mlib-sh5-32media-nofpu: Likewise.
* config/sh/t-mlib-sh5-64media: Likewise.
* config/sh/t-mlib-sh5-64media-nofpu: Likewise.
* config/sh/t-mlib-sh5-compact: Likewise.
* config/sh/t-mlib-sh5-compact-nofpu: Likewise.
* config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
(MULTILIB_CPUS): Define.
(MULTILIB_OPTIONS): Use MULTILIB_CPUS.
(MULTILIB_MATCHES): Use some shell code to calculate it.
(MULTILIB_EXCEPTIONS): Change to ml/m1.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
* config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
(LINK_DEFAULT_CPU_EMUL): Don't redefine.
(NO_PROFILE_COUNTERS): Define to 1.
* config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
(MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES): Don't zap.
(MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
* config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
(MULTILIB_RAW_DIRNAMES): Define.
(MULTILIB_DIRNAMES): Use it.
* config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
(sh*linux configurations): Merge into:
(sh*elf / sh*kaos configurations). Support --with-endian, --with-cpu,
--with-multilib-list options. Support sh-superh-elf configuration.
(sh*-netbsd*): Use SELECT_SH* macros.
(supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
Merge sh*-*-netbsd* configurations into sh-elf configurations.
* config/sh/t-netbsd-sh5, config/sh/t-le, config/sh/t-le: Delete.
* config/sh/t-monolib: Likewise.
From-SVN: r83444
2004-06-21 20:18:40 +02:00
|
|
|
sh2e*) sh_cpu_target=sh2e ;;
|
|
|
|
sh2*) sh_cpu_target=sh2 ;;
|
|
|
|
*) sh_cpu_target=sh1 ;;
|
2003-06-30 07:43:37 +02:00
|
|
|
esac
|
2006-03-10 17:07:29 +01:00
|
|
|
# did the user say --without-fp ?
|
|
|
|
if test x$with_fp = xno; then
|
|
|
|
case ${sh_cpu_target} in
|
|
|
|
sh5-*media) sh_cpu_target=${sh_cpu_target}-nofpu ;;
|
|
|
|
sh4al | sh1) ;;
|
|
|
|
sh4a* ) sh_cpu_target=sh4a-nofpu ;;
|
|
|
|
sh4*) sh_cpu_target=sh4-nofpu ;;
|
|
|
|
sh3*) sh_cpu_target=sh3 ;;
|
|
|
|
sh2a*) sh_cpu_target=sh2a-nofpu ;;
|
|
|
|
sh2*) sh_cpu_target=sh2 ;;
|
|
|
|
*) echo --without-fp not available for $target: ignored
|
|
|
|
esac
|
|
|
|
tm_defines="$tm_defines STRICT_NOFPU=1"
|
|
|
|
fi
|
[multiple changes]
2004-06-21 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/t-linux (MULTILIB_OPTIONS): Remove.
2004-06-21 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionanlly define.
(SUPPORT_SH4_SINGLE): Likewise.
(TARGET_SWITCHES): Break out switches for cpu subtargets:
(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
(TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
(TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
(TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
(SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
(SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
(SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
(SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
(SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
(ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
* sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
(TARGET_DEFAULT): Likewise.
* config/sh/t-elf: Amend comment.
* config/sh/t-1e, config/sh/t-mlib-sh1: New files.
* config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
* config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
* config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
* config/sh/t-mlib-sh4-single: Likewise.
* config/sh/t-mlib-sh4-single-only: Likewise.
* config/sh/t-mlib-sh5-32media: Likewise.
* config/sh/t-mlib-sh5-32media-nofpu: Likewise.
* config/sh/t-mlib-sh5-64media: Likewise.
* config/sh/t-mlib-sh5-64media-nofpu: Likewise.
* config/sh/t-mlib-sh5-compact: Likewise.
* config/sh/t-mlib-sh5-compact-nofpu: Likewise.
* config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
(MULTILIB_CPUS): Define.
(MULTILIB_OPTIONS): Use MULTILIB_CPUS.
(MULTILIB_MATCHES): Use some shell code to calculate it.
(MULTILIB_EXCEPTIONS): Change to ml/m1.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
* config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
(LINK_DEFAULT_CPU_EMUL): Don't redefine.
(NO_PROFILE_COUNTERS): Define to 1.
* config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
(MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES): Don't zap.
(MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
* config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
(MULTILIB_RAW_DIRNAMES): Define.
(MULTILIB_DIRNAMES): Use it.
* config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
(sh*linux configurations): Merge into:
(sh*elf / sh*kaos configurations). Support --with-endian, --with-cpu,
--with-multilib-list options. Support sh-superh-elf configuration.
(sh*-netbsd*): Use SELECT_SH* macros.
(supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
Merge sh*-*-netbsd* configurations into sh-elf configurations.
* config/sh/t-netbsd-sh5, config/sh/t-le, config/sh/t-le: Delete.
* config/sh/t-monolib: Likewise.
From-SVN: r83444
2004-06-21 20:18:40 +02:00
|
|
|
sh_cpu_default="`echo $with_cpu|sed s/^m/sh/|tr A-Z_ a-z-`"
|
|
|
|
case $sh_cpu_default in
|
|
|
|
sh5-64media-nofpu | sh5-64media | \
|
|
|
|
sh5-32media-nofpu | sh5-32media | sh5-compact-nofpu | sh5-compact | \
|
Introduce sh2a support.
2004-07-29 Alexandre Oliva <aoliva@redhat.com>
* config.gcc: Build multilibs for sh2a and sh2a-single by
default.
* config/sh/sh.h (SUPPORT_SH2A, SUPPORT_SH2A_SINGLE): Define by
default. Split their tests out of the corresponding SH4
multilibs.
* config/sh/t-sh (MULTILIB_MATCHES): Don't ever use SH4 or SH4a
multilibs for SH2a.
2004-07-28 Alexandre Oliva <aoliva@redhat.com>
* config.gcc: Handle sh2a multilibs and cpu selection.
* config/sh/sh.h: Likewise. Handle sh2a command line flags.
* config/sh/t-mlib-sh2a: New.
* config/sh/t-mlib-sh2a-nofpu: New.
* config/sh/t-mlib-sh2a-single: New.
* config/sh/t-mlib-sh2a-single-only: New.
2004-07-09 Nick Clifton <nickc@redhat.com>
Issue 43400
* config/sh/sh.h (DRIVER_SELF_SPECS): Issue an error message if
-ml and -m2a are used together.
2004-03-23 DJ Delorie <dj@redhat.com>
* config/sh/sh.c (sh_builtin_saveregs): Use the double code only
when we have a double-sized FPU.
2004-02-24 Corinna Vinschen <vinschen@redhat.com>
* config/sh/lib1funcs.asm (set_fpscr): Don't build if __SH2A_NOFPU__
is set.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Add cases for -msh2a-nofpu,
-msh2a-single and -msh2a-single-only
2004-02-24 Corinna Vinschen <vinschen@redhat.com>
* config/sh/crt1.asm: Don't generate FPU instructions if __SH2A_NOFPU__
is set.
2004-02-20 DJ Delorie <dj@delorie.com>
* config/sh/sh.md (movsf_i, movsf_ie, movsf, ble, bge): Disable for sh2a-nofpu.
2004-02-20 Fred Fish <fnf@redhat.com>,
Corinna Vinschen <vinschen@redhat.com>
* config/sh/t-sh (MULTILIB_OPTIONS): Add 2a-nofpu.
(MULTILIB_EXCEPTIONS): Don't build littel-endian on sh2a.
2004-02-18 DJ Delorie <dj@redhat.com>
* config/sh/sh.c (broken_move): Add support for movi20.
* config/sh/sh.h: Likewise.
(SHIFT_COUNT_TRUNCATED): Set for sh2a.
* config/sh/sh.md (udivsi3_sh2a): New.
(udivsi3): Call it.
(divsi3_sh2a): New.
(divsi3): Call it.
(mul_r): New.
(ashlsi3_sh2a): New.
(ashrsi3_sh2a): New.
(lshrsi3_sh2a): New.
(movsi_i): Disable for sh2a.
(movsi_ie): Add movi20.
(movsf_i, movsf_ie, movsf, ble, untyped_call): Explicitly enable
sh2a, for -m2a-nofpu mode.
2004-02-13 DJ Delorie <dj@redhat.com>
* config/sh/lib1funcs.asm: Handle double vs single better.
* config/sh/sh.h: Likewise.
2004-02-09 DJ Delorie <dj@redhat.com>
* config/sh/crt1.asm: Add support for sh2a.
* config/sh/elf.h: Likewise.
* config/sh/lib1funcs.asm: Likewise.
* config/sh/sh.c: Likewise.
* config/sh/sh.md: Likewise.
* config/sh/sh.h: Likewise.
* config/sh/t-sh: Likewise.
From-SVN: r85286
2004-07-29 08:10:03 +02:00
|
|
|
sh2a-single-only | sh2a-single | sh2a-nofpu | sh2a | \
|
Introduce sh4a support.
gcc/ChangeLog:
Introduce sh4a support.
* config.gcc: Handle sh4a multilibs and cpu selection.
* config/sh/sh.h: Likewise. Handle sh4a command line flags.
* config/sh/t-mlib-sh4a: New.
* config/sh/t-mlib-sh4al: New.
* config/sh/t-mlib-sh4a-nofpu: New.
* config/sh/t-mlib-sh4a-single: New.
* config/sh/t-mlib-sh4a-single-only: New.
2004-02-20 DJ Delorie <dj@redhat.com>
* config/sh/sh.md ("movua"): Change constraint from "m" to "Sua".
* config/sh/sh.h (EXTRA_CONSTRAINT_S): Add "Sua" support.
2003-08-22 Eric Christopher <echristo@redhat.com>
* config/sh/sh4a.md: Update for chip errata.
2003-08-07 Eric Christopher <echristo@redhat.com>
* config/sh/sh4a.md: New file. sh4a processor description.
2003-07-08 Alexandre Oliva <aoliva@redhat.com>
* config/sh/sh.h (TARGET_SWITCHES): Added 4al. Adjust description
of -m4a-nofpu.
(SH_ASM_SPEC): Pass -dsp for -m4al, not -m4a-nofpu.
* config/sh/t-sh (MULTILIB_MATCHES): Map -m4al to -m4a-nofpu.
* doc/invoke.texi (SH Options): Document -m4al.
2003-07-03 Alexandre Oliva <aoliva@redhat.com>
* config/sh/sh.c (expand_block_move): Remove commented-out code
checked in by mistake.
(sh_cannot_change_mode_class): Enable SUBREGs to be used to select
single elements from SFmode vectors.
* config/sh/sh.md (fsca): Use VEC_CONCAT to initialize the output
register.
(sinsf2, cossf2, sindf2, cosdf2): Don't emit CLOBBER.
2003-07-01 Alexandre Oliva <aoliva@redhat.com>
* config/sh/sh.h (sh_fsca_sf2int, sh_fsca_df2int,
sh_fsca_int2sf): Remove variable declarations.
* config/sh/sh.c (sh_fsca_sf2int, sh_fsca_df2int,
sh_fsca_int2sf): New functions.
(sh_fsca_sf2int_rtx, sh_fsca_df2int_rtx,
sh_fsca_int2sf_rtx): New static variables.
* config/sh/sh-protos.h (sh_fsca_sf2int, sh_fsca_df2int,
sh_fsca_int2sf): Declare.
* config/sh/sh.md: Adjust.
* doc/invoke.texi (SH Options): Document new options.
* config/sh/lib1funcs.asm (ic_invalidate): Remove SH4a forward
compatibility from SH4 code.
2003-06-27 Alexandre Oliva <aoliva@redhat.com>
* config/sh/sh.c (expand_block_move): Don't emit POST_INC too
early.
(memory_movsrc_operand): Renamed to...
(unaligned_load_operand): ... this. Simplified.
* config/sh/sh.h (PREDICATE_CODES): Adjust.
* config/sh/sh.md (movua, extv, extzv): Likewise. Change movua's
input operand to SImode, and adjust the others. Introduce
post-increment by peephole.
* config/sh/sh.c (expand_block_move): Give the target address the
same mode as the temp reg.
* config/sh/sh.c (expand_block_move): Use a temp reg for unaligned
copying.
2003-06-26 Alexandre Oliva <aoliva@redhat.com>
Introduce support for SH4a.
* config/sh/lib1funcs.asm (ic_invalidate): Use icbi if
__SH4A__. Emit 4 4kb blocks and touch all of them otherwise.
* config/sh/sh.c (sh_fsca_sf2int, sh_fsca_df2int,
sh_fsca_int2sf): New.
(sh_init_builtins): Initialize them.
(print_operand): Support `d'.
(expand_block_move): Use movua if src is misaligned.
(memory_movsrc_operand): New.
* config/sh/sh.h (TARGET_CPU_CPP_BUILTINS): Define __SH4A__
and one of the SH4 macros.
(SH4A_BIT, TARGET_SH4A_ARCH, TARGET_SH4A_FP,
SELECT_SH4A_NOFPU, SELECT_SH4A_SINGLE_ONLY, SELECT_SH4A,
SELECT_SH4A_SINGLE): New.
(TARGET_NONE): Add SH4A_BIT.
(TARGET_SWITCHES): Add 4a-single-only, 4a-single, 4a-nofpu and 4a.
(SH_ASM_SPEC): Pass -dsp if -m4a-nofpu.
(sh_fsca_sf2int, sh_fsca_df2int, sh_fsca_int2sf): Declare.
(OVERRIDE_OPTIONS): Set cpu to CPU_SH4A when appropriate.
(enum processor_type): Added PROCESSOR_SH4A.
(PREDICATE_CODES): Add memory_movsrc_operand.
* config/sh/sh.md: Removed unused variables.
(attr cpu): Add sh4a.
(attr type): Add movua, fsrra and fsca.
(prefetch): New, for SH4.
(ic_invalidate_line, ic_invalidate_line_sh4a): Use icbi.
(toggle_sz): Set type to fp.
(toggle_pr, rsqrtsf2, fsca, sinsf2, cossf2, sindf2, cosdf2): New.
(movua, extv, extzv): New.
* config/sh/t-sh: Add multilibs for 4a, 4a-nofpu, 4a-single
and 4a-single-only.
gcc/testsuite/ChangeLog:
2003-07-06 Alexandre Oliva <aoliva@redhat.com>
* gcc.dg/sh4a-memmovua.c: Tweak regular expression.
2003-07-01 Alexandre Oliva <aoliva@redhat.com>
* gcc.dg/sh4a-bitmovua.c: New.
* gcc.dg/sh4a-cos.c: New.
* gcc.dg/sh4a-cosf.c: New.
* gcc.dg/sh4a-fprun.c: New.
* gcc.dg/sh4a-fsrra.c: New.
* gcc.dg/sh4a-memmovua.c: New.
* gcc.dg/sh4a-sin.c: New.
* gcc.dg/sh4a-sincos.c: New.
* gcc.dg/sh4a-sincosf.c: New.
* gcc.dg/sh4a-sinf.c: New.
libstdc++-v3/ChangeLog:
2003-10-01 Eric Christopher <echristo@redhat.com>
* config/cpu/sh/atomicity.h (__exchange_and_add): Remove 'm'
constraint.
2003-07-09 Alexandre Oliva <aoliva@redhat.com>
* config/cpu/sh/atomicity.h: New. Use movli and movco on SH4a.
From-SVN: r85257
2004-07-28 11:13:58 +02:00
|
|
|
sh4a-single-only | sh4a-single | sh4a-nofpu | sh4a | sh4al | \
|
[multiple changes]
2004-06-21 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/t-linux (MULTILIB_OPTIONS): Remove.
2004-06-21 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionanlly define.
(SUPPORT_SH4_SINGLE): Likewise.
(TARGET_SWITCHES): Break out switches for cpu subtargets:
(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
(TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
(TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
(TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
(SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
(SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
(SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
(SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
(SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
(ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
* sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
(TARGET_DEFAULT): Likewise.
* config/sh/t-elf: Amend comment.
* config/sh/t-1e, config/sh/t-mlib-sh1: New files.
* config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
* config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
* config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
* config/sh/t-mlib-sh4-single: Likewise.
* config/sh/t-mlib-sh4-single-only: Likewise.
* config/sh/t-mlib-sh5-32media: Likewise.
* config/sh/t-mlib-sh5-32media-nofpu: Likewise.
* config/sh/t-mlib-sh5-64media: Likewise.
* config/sh/t-mlib-sh5-64media-nofpu: Likewise.
* config/sh/t-mlib-sh5-compact: Likewise.
* config/sh/t-mlib-sh5-compact-nofpu: Likewise.
* config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
(MULTILIB_CPUS): Define.
(MULTILIB_OPTIONS): Use MULTILIB_CPUS.
(MULTILIB_MATCHES): Use some shell code to calculate it.
(MULTILIB_EXCEPTIONS): Change to ml/m1.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
* config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
(LINK_DEFAULT_CPU_EMUL): Don't redefine.
(NO_PROFILE_COUNTERS): Define to 1.
* config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
(MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES): Don't zap.
(MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
* config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
(MULTILIB_RAW_DIRNAMES): Define.
(MULTILIB_DIRNAMES): Use it.
* config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
(sh*linux configurations): Merge into:
(sh*elf / sh*kaos configurations). Support --with-endian, --with-cpu,
--with-multilib-list options. Support sh-superh-elf configuration.
(sh*-netbsd*): Use SELECT_SH* macros.
(supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
Merge sh*-*-netbsd* configurations into sh-elf configurations.
* config/sh/t-netbsd-sh5, config/sh/t-le, config/sh/t-le: Delete.
* config/sh/t-monolib: Likewise.
From-SVN: r83444
2004-06-21 20:18:40 +02:00
|
|
|
sh4-single-only | sh4-single | sh4-nofpu | sh4 | \
|
2004-06-29 00:06:17 +02:00
|
|
|
sh3e | sh3 | sh2e | sh2 | sh1) ;;
|
[multiple changes]
2004-06-21 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/t-linux (MULTILIB_OPTIONS): Remove.
2004-06-21 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionanlly define.
(SUPPORT_SH4_SINGLE): Likewise.
(TARGET_SWITCHES): Break out switches for cpu subtargets:
(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
(TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
(TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
(TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
(SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
(SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
(SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
(SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
(SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
(ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
* sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
(TARGET_DEFAULT): Likewise.
* config/sh/t-elf: Amend comment.
* config/sh/t-1e, config/sh/t-mlib-sh1: New files.
* config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
* config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
* config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
* config/sh/t-mlib-sh4-single: Likewise.
* config/sh/t-mlib-sh4-single-only: Likewise.
* config/sh/t-mlib-sh5-32media: Likewise.
* config/sh/t-mlib-sh5-32media-nofpu: Likewise.
* config/sh/t-mlib-sh5-64media: Likewise.
* config/sh/t-mlib-sh5-64media-nofpu: Likewise.
* config/sh/t-mlib-sh5-compact: Likewise.
* config/sh/t-mlib-sh5-compact-nofpu: Likewise.
* config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
(MULTILIB_CPUS): Define.
(MULTILIB_OPTIONS): Use MULTILIB_CPUS.
(MULTILIB_MATCHES): Use some shell code to calculate it.
(MULTILIB_EXCEPTIONS): Change to ml/m1.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
* config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
(LINK_DEFAULT_CPU_EMUL): Don't redefine.
(NO_PROFILE_COUNTERS): Define to 1.
* config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
(MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES): Don't zap.
(MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
* config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
(MULTILIB_RAW_DIRNAMES): Define.
(MULTILIB_DIRNAMES): Use it.
* config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
(sh*linux configurations): Merge into:
(sh*elf / sh*kaos configurations). Support --with-endian, --with-cpu,
--with-multilib-list options. Support sh-superh-elf configuration.
(sh*-netbsd*): Use SELECT_SH* macros.
(supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
Merge sh*-*-netbsd* configurations into sh-elf configurations.
* config/sh/t-netbsd-sh5, config/sh/t-le, config/sh/t-le: Delete.
* config/sh/t-monolib: Likewise.
From-SVN: r83444
2004-06-21 20:18:40 +02:00
|
|
|
"") sh_cpu_default=${sh_cpu_target} ;;
|
|
|
|
*) echo "with_cpu=$with_cpu not supported"; exit 1 ;;
|
2002-06-05 21:52:07 +02:00
|
|
|
esac
|
[multiple changes]
2004-06-21 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/t-linux (MULTILIB_OPTIONS): Remove.
2004-06-21 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionanlly define.
(SUPPORT_SH4_SINGLE): Likewise.
(TARGET_SWITCHES): Break out switches for cpu subtargets:
(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
(TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
(TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
(TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
(SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
(SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
(SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
(SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
(SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
(ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
* sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
(TARGET_DEFAULT): Likewise.
* config/sh/t-elf: Amend comment.
* config/sh/t-1e, config/sh/t-mlib-sh1: New files.
* config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
* config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
* config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
* config/sh/t-mlib-sh4-single: Likewise.
* config/sh/t-mlib-sh4-single-only: Likewise.
* config/sh/t-mlib-sh5-32media: Likewise.
* config/sh/t-mlib-sh5-32media-nofpu: Likewise.
* config/sh/t-mlib-sh5-64media: Likewise.
* config/sh/t-mlib-sh5-64media-nofpu: Likewise.
* config/sh/t-mlib-sh5-compact: Likewise.
* config/sh/t-mlib-sh5-compact-nofpu: Likewise.
* config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
(MULTILIB_CPUS): Define.
(MULTILIB_OPTIONS): Use MULTILIB_CPUS.
(MULTILIB_MATCHES): Use some shell code to calculate it.
(MULTILIB_EXCEPTIONS): Change to ml/m1.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
* config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
(LINK_DEFAULT_CPU_EMUL): Don't redefine.
(NO_PROFILE_COUNTERS): Define to 1.
* config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
(MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES): Don't zap.
(MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
* config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
(MULTILIB_RAW_DIRNAMES): Define.
(MULTILIB_DIRNAMES): Use it.
* config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
(sh*linux configurations): Merge into:
(sh*elf / sh*kaos configurations). Support --with-endian, --with-cpu,
--with-multilib-list options. Support sh-superh-elf configuration.
(sh*-netbsd*): Use SELECT_SH* macros.
(supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
Merge sh*-*-netbsd* configurations into sh-elf configurations.
* config/sh/t-netbsd-sh5, config/sh/t-le, config/sh/t-le: Delete.
* config/sh/t-monolib: Likewise.
From-SVN: r83444
2004-06-21 20:18:40 +02:00
|
|
|
sh_multilibs=${with_multilib_list}
|
|
|
|
if test x${sh_multilibs} = x ; then
|
|
|
|
case ${target} in
|
2006-03-10 17:07:29 +01:00
|
|
|
sh64-superh-linux* | \
|
[multiple changes]
2004-06-21 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/t-linux (MULTILIB_OPTIONS): Remove.
2004-06-21 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionanlly define.
(SUPPORT_SH4_SINGLE): Likewise.
(TARGET_SWITCHES): Break out switches for cpu subtargets:
(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
(TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
(TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
(TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
(SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
(SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
(SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
(SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
(SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
(ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
* sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
(TARGET_DEFAULT): Likewise.
* config/sh/t-elf: Amend comment.
* config/sh/t-1e, config/sh/t-mlib-sh1: New files.
* config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
* config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
* config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
* config/sh/t-mlib-sh4-single: Likewise.
* config/sh/t-mlib-sh4-single-only: Likewise.
* config/sh/t-mlib-sh5-32media: Likewise.
* config/sh/t-mlib-sh5-32media-nofpu: Likewise.
* config/sh/t-mlib-sh5-64media: Likewise.
* config/sh/t-mlib-sh5-64media-nofpu: Likewise.
* config/sh/t-mlib-sh5-compact: Likewise.
* config/sh/t-mlib-sh5-compact-nofpu: Likewise.
* config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
(MULTILIB_CPUS): Define.
(MULTILIB_OPTIONS): Use MULTILIB_CPUS.
(MULTILIB_MATCHES): Use some shell code to calculate it.
(MULTILIB_EXCEPTIONS): Change to ml/m1.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
* config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
(LINK_DEFAULT_CPU_EMUL): Don't redefine.
(NO_PROFILE_COUNTERS): Define to 1.
* config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
(MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES): Don't zap.
(MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
* config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
(MULTILIB_RAW_DIRNAMES): Define.
(MULTILIB_DIRNAMES): Use it.
* config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
(sh*linux configurations): Merge into:
(sh*elf / sh*kaos configurations). Support --with-endian, --with-cpu,
--with-multilib-list options. Support sh-superh-elf configuration.
(sh*-netbsd*): Use SELECT_SH* macros.
(supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
Merge sh*-*-netbsd* configurations into sh-elf configurations.
* config/sh/t-netbsd-sh5, config/sh/t-le, config/sh/t-le: Delete.
* config/sh/t-monolib: Likewise.
From-SVN: r83444
2004-06-21 20:18:40 +02:00
|
|
|
sh[1234]*) sh_multilibs=${sh_cpu_target} ;;
|
|
|
|
sh64* | sh5*) sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu ;;
|
|
|
|
sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
|
|
|
|
sh*-*-linux*) sh_multilibs=m1,m3e,m4 ;;
|
|
|
|
sh*-*-netbsd*) sh_multilibs=m3,m3e,m4 ;;
|
Introduce sh2a support.
2004-07-29 Alexandre Oliva <aoliva@redhat.com>
* config.gcc: Build multilibs for sh2a and sh2a-single by
default.
* config/sh/sh.h (SUPPORT_SH2A, SUPPORT_SH2A_SINGLE): Define by
default. Split their tests out of the corresponding SH4
multilibs.
* config/sh/t-sh (MULTILIB_MATCHES): Don't ever use SH4 or SH4a
multilibs for SH2a.
2004-07-28 Alexandre Oliva <aoliva@redhat.com>
* config.gcc: Handle sh2a multilibs and cpu selection.
* config/sh/sh.h: Likewise. Handle sh2a command line flags.
* config/sh/t-mlib-sh2a: New.
* config/sh/t-mlib-sh2a-nofpu: New.
* config/sh/t-mlib-sh2a-single: New.
* config/sh/t-mlib-sh2a-single-only: New.
2004-07-09 Nick Clifton <nickc@redhat.com>
Issue 43400
* config/sh/sh.h (DRIVER_SELF_SPECS): Issue an error message if
-ml and -m2a are used together.
2004-03-23 DJ Delorie <dj@redhat.com>
* config/sh/sh.c (sh_builtin_saveregs): Use the double code only
when we have a double-sized FPU.
2004-02-24 Corinna Vinschen <vinschen@redhat.com>
* config/sh/lib1funcs.asm (set_fpscr): Don't build if __SH2A_NOFPU__
is set.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Add cases for -msh2a-nofpu,
-msh2a-single and -msh2a-single-only
2004-02-24 Corinna Vinschen <vinschen@redhat.com>
* config/sh/crt1.asm: Don't generate FPU instructions if __SH2A_NOFPU__
is set.
2004-02-20 DJ Delorie <dj@delorie.com>
* config/sh/sh.md (movsf_i, movsf_ie, movsf, ble, bge): Disable for sh2a-nofpu.
2004-02-20 Fred Fish <fnf@redhat.com>,
Corinna Vinschen <vinschen@redhat.com>
* config/sh/t-sh (MULTILIB_OPTIONS): Add 2a-nofpu.
(MULTILIB_EXCEPTIONS): Don't build littel-endian on sh2a.
2004-02-18 DJ Delorie <dj@redhat.com>
* config/sh/sh.c (broken_move): Add support for movi20.
* config/sh/sh.h: Likewise.
(SHIFT_COUNT_TRUNCATED): Set for sh2a.
* config/sh/sh.md (udivsi3_sh2a): New.
(udivsi3): Call it.
(divsi3_sh2a): New.
(divsi3): Call it.
(mul_r): New.
(ashlsi3_sh2a): New.
(ashrsi3_sh2a): New.
(lshrsi3_sh2a): New.
(movsi_i): Disable for sh2a.
(movsi_ie): Add movi20.
(movsf_i, movsf_ie, movsf, ble, untyped_call): Explicitly enable
sh2a, for -m2a-nofpu mode.
2004-02-13 DJ Delorie <dj@redhat.com>
* config/sh/lib1funcs.asm: Handle double vs single better.
* config/sh/sh.h: Likewise.
2004-02-09 DJ Delorie <dj@redhat.com>
* config/sh/crt1.asm: Add support for sh2a.
* config/sh/elf.h: Likewise.
* config/sh/lib1funcs.asm: Likewise.
* config/sh/sh.c: Likewise.
* config/sh/sh.md: Likewise.
* config/sh/sh.h: Likewise.
* config/sh/t-sh: Likewise.
From-SVN: r85286
2004-07-29 08:10:03 +02:00
|
|
|
*) sh_multilibs=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single ;;
|
[multiple changes]
2004-06-21 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/t-linux (MULTILIB_OPTIONS): Remove.
2004-06-21 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionanlly define.
(SUPPORT_SH4_SINGLE): Likewise.
(TARGET_SWITCHES): Break out switches for cpu subtargets:
(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
(TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
(TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
(TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
(SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
(SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
(SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
(SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
(SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
(ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
* sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
(TARGET_DEFAULT): Likewise.
* config/sh/t-elf: Amend comment.
* config/sh/t-1e, config/sh/t-mlib-sh1: New files.
* config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
* config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
* config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
* config/sh/t-mlib-sh4-single: Likewise.
* config/sh/t-mlib-sh4-single-only: Likewise.
* config/sh/t-mlib-sh5-32media: Likewise.
* config/sh/t-mlib-sh5-32media-nofpu: Likewise.
* config/sh/t-mlib-sh5-64media: Likewise.
* config/sh/t-mlib-sh5-64media-nofpu: Likewise.
* config/sh/t-mlib-sh5-compact: Likewise.
* config/sh/t-mlib-sh5-compact-nofpu: Likewise.
* config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
(MULTILIB_CPUS): Define.
(MULTILIB_OPTIONS): Use MULTILIB_CPUS.
(MULTILIB_MATCHES): Use some shell code to calculate it.
(MULTILIB_EXCEPTIONS): Change to ml/m1.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
* config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
(LINK_DEFAULT_CPU_EMUL): Don't redefine.
(NO_PROFILE_COUNTERS): Define to 1.
* config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
(MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES): Don't zap.
(MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
* config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
(MULTILIB_RAW_DIRNAMES): Define.
(MULTILIB_DIRNAMES): Use it.
* config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
(sh*linux configurations): Merge into:
(sh*elf / sh*kaos configurations). Support --with-endian, --with-cpu,
--with-multilib-list options. Support sh-superh-elf configuration.
(sh*-netbsd*): Use SELECT_SH* macros.
(supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
Merge sh*-*-netbsd* configurations into sh-elf configurations.
* config/sh/t-netbsd-sh5, config/sh/t-le, config/sh/t-le: Delete.
* config/sh/t-monolib: Likewise.
From-SVN: r83444
2004-06-21 20:18:40 +02:00
|
|
|
esac
|
2006-03-10 17:07:29 +01:00
|
|
|
if test x$with_fp = xno; then
|
|
|
|
sh_multilibs="`echo $sh_multilibs|sed -e s/m4/sh4-nofpu/ -e s/,m4-[^,]*//g -e s/,m[23]e// -e s/m2a,m2a-single/m2a-nofpu/ -e s/m5-..m....,//g`"
|
|
|
|
fi
|
[multiple changes]
2004-06-21 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/t-linux (MULTILIB_OPTIONS): Remove.
2004-06-21 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionanlly define.
(SUPPORT_SH4_SINGLE): Likewise.
(TARGET_SWITCHES): Break out switches for cpu subtargets:
(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
(TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
(TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
(TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
(SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
(SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
(SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
(SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
(SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
(ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
* sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
(TARGET_DEFAULT): Likewise.
* config/sh/t-elf: Amend comment.
* config/sh/t-1e, config/sh/t-mlib-sh1: New files.
* config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
* config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
* config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
* config/sh/t-mlib-sh4-single: Likewise.
* config/sh/t-mlib-sh4-single-only: Likewise.
* config/sh/t-mlib-sh5-32media: Likewise.
* config/sh/t-mlib-sh5-32media-nofpu: Likewise.
* config/sh/t-mlib-sh5-64media: Likewise.
* config/sh/t-mlib-sh5-64media-nofpu: Likewise.
* config/sh/t-mlib-sh5-compact: Likewise.
* config/sh/t-mlib-sh5-compact-nofpu: Likewise.
* config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
(MULTILIB_CPUS): Define.
(MULTILIB_OPTIONS): Use MULTILIB_CPUS.
(MULTILIB_MATCHES): Use some shell code to calculate it.
(MULTILIB_EXCEPTIONS): Change to ml/m1.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
* config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
(LINK_DEFAULT_CPU_EMUL): Don't redefine.
(NO_PROFILE_COUNTERS): Define to 1.
* config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
(MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES): Don't zap.
(MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
* config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
(MULTILIB_RAW_DIRNAMES): Define.
(MULTILIB_DIRNAMES): Use it.
* config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
(sh*linux configurations): Merge into:
(sh*elf / sh*kaos configurations). Support --with-endian, --with-cpu,
--with-multilib-list options. Support sh-superh-elf configuration.
(sh*-netbsd*): Use SELECT_SH* macros.
(supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
Merge sh*-*-netbsd* configurations into sh-elf configurations.
* config/sh/t-netbsd-sh5, config/sh/t-le, config/sh/t-le: Delete.
* config/sh/t-monolib: Likewise.
From-SVN: r83444
2004-06-21 20:18:40 +02:00
|
|
|
fi
|
2006-03-27 16:11:14 +02:00
|
|
|
target_cpu_default=SELECT_`echo ${sh_cpu_default}|tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`
|
[multiple changes]
2004-06-21 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/t-linux (MULTILIB_OPTIONS): Remove.
2004-06-21 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionanlly define.
(SUPPORT_SH4_SINGLE): Likewise.
(TARGET_SWITCHES): Break out switches for cpu subtargets:
(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
(TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
(TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
(TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
(SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
(SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
(SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
(SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
(SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
(ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
* sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
(TARGET_DEFAULT): Likewise.
* config/sh/t-elf: Amend comment.
* config/sh/t-1e, config/sh/t-mlib-sh1: New files.
* config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
* config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
* config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
* config/sh/t-mlib-sh4-single: Likewise.
* config/sh/t-mlib-sh4-single-only: Likewise.
* config/sh/t-mlib-sh5-32media: Likewise.
* config/sh/t-mlib-sh5-32media-nofpu: Likewise.
* config/sh/t-mlib-sh5-64media: Likewise.
* config/sh/t-mlib-sh5-64media-nofpu: Likewise.
* config/sh/t-mlib-sh5-compact: Likewise.
* config/sh/t-mlib-sh5-compact-nofpu: Likewise.
* config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
(MULTILIB_CPUS): Define.
(MULTILIB_OPTIONS): Use MULTILIB_CPUS.
(MULTILIB_MATCHES): Use some shell code to calculate it.
(MULTILIB_EXCEPTIONS): Change to ml/m1.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
* config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
(LINK_DEFAULT_CPU_EMUL): Don't redefine.
(NO_PROFILE_COUNTERS): Define to 1.
* config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
(MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES): Don't zap.
(MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
* config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
(MULTILIB_RAW_DIRNAMES): Define.
(MULTILIB_DIRNAMES): Use it.
* config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
(sh*linux configurations): Merge into:
(sh*elf / sh*kaos configurations). Support --with-endian, --with-cpu,
--with-multilib-list options. Support sh-superh-elf configuration.
(sh*-netbsd*): Use SELECT_SH* macros.
(supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
Merge sh*-*-netbsd* configurations into sh-elf configurations.
* config/sh/t-netbsd-sh5, config/sh/t-le, config/sh/t-le: Delete.
* config/sh/t-monolib: Likewise.
From-SVN: r83444
2004-06-21 20:18:40 +02:00
|
|
|
tm_defines=${tm_defines}' SH_MULTILIB_CPU_DEFAULT=\"'`echo $sh_cpu_default|sed s/sh/m/`'\"'
|
2006-03-27 16:11:14 +02:00
|
|
|
sh_multilibs=`echo $sh_multilibs,$sh_cpu_default | sed -e 's/[ ,/][ ,]*/ /g' -e 's/ $//' -e 's/^m/sh/' -e 's/ m/ sh/g' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz-`
|
[multiple changes]
2004-06-21 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/t-linux (MULTILIB_OPTIONS): Remove.
2004-06-21 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionanlly define.
(SUPPORT_SH4_SINGLE): Likewise.
(TARGET_SWITCHES): Break out switches for cpu subtargets:
(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
(TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
(TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
(TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
(SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
(SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
(SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
(SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
(SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
(ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
* sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
(TARGET_DEFAULT): Likewise.
* config/sh/t-elf: Amend comment.
* config/sh/t-1e, config/sh/t-mlib-sh1: New files.
* config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
* config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
* config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
* config/sh/t-mlib-sh4-single: Likewise.
* config/sh/t-mlib-sh4-single-only: Likewise.
* config/sh/t-mlib-sh5-32media: Likewise.
* config/sh/t-mlib-sh5-32media-nofpu: Likewise.
* config/sh/t-mlib-sh5-64media: Likewise.
* config/sh/t-mlib-sh5-64media-nofpu: Likewise.
* config/sh/t-mlib-sh5-compact: Likewise.
* config/sh/t-mlib-sh5-compact-nofpu: Likewise.
* config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
(MULTILIB_CPUS): Define.
(MULTILIB_OPTIONS): Use MULTILIB_CPUS.
(MULTILIB_MATCHES): Use some shell code to calculate it.
(MULTILIB_EXCEPTIONS): Change to ml/m1.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
* config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
(LINK_DEFAULT_CPU_EMUL): Don't redefine.
(NO_PROFILE_COUNTERS): Define to 1.
* config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
(MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES): Don't zap.
(MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
* config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
(MULTILIB_RAW_DIRNAMES): Define.
(MULTILIB_DIRNAMES): Use it.
* config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
(sh*linux configurations): Merge into:
(sh*elf / sh*kaos configurations). Support --with-endian, --with-cpu,
--with-multilib-list options. Support sh-superh-elf configuration.
(sh*-netbsd*): Use SELECT_SH* macros.
(supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
Merge sh*-*-netbsd* configurations into sh-elf configurations.
* config/sh/t-netbsd-sh5, config/sh/t-le, config/sh/t-le: Delete.
* config/sh/t-monolib: Likewise.
From-SVN: r83444
2004-06-21 20:18:40 +02:00
|
|
|
for sh_multilib in ${sh_multilibs}; do
|
|
|
|
case ${sh_multilib} in
|
|
|
|
sh1 | sh2 | sh2e | sh3 | sh3e | \
|
|
|
|
sh4 | sh4-single | sh4-single-only | sh4-nofpu | \
|
Introduce sh4a support.
gcc/ChangeLog:
Introduce sh4a support.
* config.gcc: Handle sh4a multilibs and cpu selection.
* config/sh/sh.h: Likewise. Handle sh4a command line flags.
* config/sh/t-mlib-sh4a: New.
* config/sh/t-mlib-sh4al: New.
* config/sh/t-mlib-sh4a-nofpu: New.
* config/sh/t-mlib-sh4a-single: New.
* config/sh/t-mlib-sh4a-single-only: New.
2004-02-20 DJ Delorie <dj@redhat.com>
* config/sh/sh.md ("movua"): Change constraint from "m" to "Sua".
* config/sh/sh.h (EXTRA_CONSTRAINT_S): Add "Sua" support.
2003-08-22 Eric Christopher <echristo@redhat.com>
* config/sh/sh4a.md: Update for chip errata.
2003-08-07 Eric Christopher <echristo@redhat.com>
* config/sh/sh4a.md: New file. sh4a processor description.
2003-07-08 Alexandre Oliva <aoliva@redhat.com>
* config/sh/sh.h (TARGET_SWITCHES): Added 4al. Adjust description
of -m4a-nofpu.
(SH_ASM_SPEC): Pass -dsp for -m4al, not -m4a-nofpu.
* config/sh/t-sh (MULTILIB_MATCHES): Map -m4al to -m4a-nofpu.
* doc/invoke.texi (SH Options): Document -m4al.
2003-07-03 Alexandre Oliva <aoliva@redhat.com>
* config/sh/sh.c (expand_block_move): Remove commented-out code
checked in by mistake.
(sh_cannot_change_mode_class): Enable SUBREGs to be used to select
single elements from SFmode vectors.
* config/sh/sh.md (fsca): Use VEC_CONCAT to initialize the output
register.
(sinsf2, cossf2, sindf2, cosdf2): Don't emit CLOBBER.
2003-07-01 Alexandre Oliva <aoliva@redhat.com>
* config/sh/sh.h (sh_fsca_sf2int, sh_fsca_df2int,
sh_fsca_int2sf): Remove variable declarations.
* config/sh/sh.c (sh_fsca_sf2int, sh_fsca_df2int,
sh_fsca_int2sf): New functions.
(sh_fsca_sf2int_rtx, sh_fsca_df2int_rtx,
sh_fsca_int2sf_rtx): New static variables.
* config/sh/sh-protos.h (sh_fsca_sf2int, sh_fsca_df2int,
sh_fsca_int2sf): Declare.
* config/sh/sh.md: Adjust.
* doc/invoke.texi (SH Options): Document new options.
* config/sh/lib1funcs.asm (ic_invalidate): Remove SH4a forward
compatibility from SH4 code.
2003-06-27 Alexandre Oliva <aoliva@redhat.com>
* config/sh/sh.c (expand_block_move): Don't emit POST_INC too
early.
(memory_movsrc_operand): Renamed to...
(unaligned_load_operand): ... this. Simplified.
* config/sh/sh.h (PREDICATE_CODES): Adjust.
* config/sh/sh.md (movua, extv, extzv): Likewise. Change movua's
input operand to SImode, and adjust the others. Introduce
post-increment by peephole.
* config/sh/sh.c (expand_block_move): Give the target address the
same mode as the temp reg.
* config/sh/sh.c (expand_block_move): Use a temp reg for unaligned
copying.
2003-06-26 Alexandre Oliva <aoliva@redhat.com>
Introduce support for SH4a.
* config/sh/lib1funcs.asm (ic_invalidate): Use icbi if
__SH4A__. Emit 4 4kb blocks and touch all of them otherwise.
* config/sh/sh.c (sh_fsca_sf2int, sh_fsca_df2int,
sh_fsca_int2sf): New.
(sh_init_builtins): Initialize them.
(print_operand): Support `d'.
(expand_block_move): Use movua if src is misaligned.
(memory_movsrc_operand): New.
* config/sh/sh.h (TARGET_CPU_CPP_BUILTINS): Define __SH4A__
and one of the SH4 macros.
(SH4A_BIT, TARGET_SH4A_ARCH, TARGET_SH4A_FP,
SELECT_SH4A_NOFPU, SELECT_SH4A_SINGLE_ONLY, SELECT_SH4A,
SELECT_SH4A_SINGLE): New.
(TARGET_NONE): Add SH4A_BIT.
(TARGET_SWITCHES): Add 4a-single-only, 4a-single, 4a-nofpu and 4a.
(SH_ASM_SPEC): Pass -dsp if -m4a-nofpu.
(sh_fsca_sf2int, sh_fsca_df2int, sh_fsca_int2sf): Declare.
(OVERRIDE_OPTIONS): Set cpu to CPU_SH4A when appropriate.
(enum processor_type): Added PROCESSOR_SH4A.
(PREDICATE_CODES): Add memory_movsrc_operand.
* config/sh/sh.md: Removed unused variables.
(attr cpu): Add sh4a.
(attr type): Add movua, fsrra and fsca.
(prefetch): New, for SH4.
(ic_invalidate_line, ic_invalidate_line_sh4a): Use icbi.
(toggle_sz): Set type to fp.
(toggle_pr, rsqrtsf2, fsca, sinsf2, cossf2, sindf2, cosdf2): New.
(movua, extv, extzv): New.
* config/sh/t-sh: Add multilibs for 4a, 4a-nofpu, 4a-single
and 4a-single-only.
gcc/testsuite/ChangeLog:
2003-07-06 Alexandre Oliva <aoliva@redhat.com>
* gcc.dg/sh4a-memmovua.c: Tweak regular expression.
2003-07-01 Alexandre Oliva <aoliva@redhat.com>
* gcc.dg/sh4a-bitmovua.c: New.
* gcc.dg/sh4a-cos.c: New.
* gcc.dg/sh4a-cosf.c: New.
* gcc.dg/sh4a-fprun.c: New.
* gcc.dg/sh4a-fsrra.c: New.
* gcc.dg/sh4a-memmovua.c: New.
* gcc.dg/sh4a-sin.c: New.
* gcc.dg/sh4a-sincos.c: New.
* gcc.dg/sh4a-sincosf.c: New.
* gcc.dg/sh4a-sinf.c: New.
libstdc++-v3/ChangeLog:
2003-10-01 Eric Christopher <echristo@redhat.com>
* config/cpu/sh/atomicity.h (__exchange_and_add): Remove 'm'
constraint.
2003-07-09 Alexandre Oliva <aoliva@redhat.com>
* config/cpu/sh/atomicity.h: New. Use movli and movco on SH4a.
From-SVN: r85257
2004-07-28 11:13:58 +02:00
|
|
|
sh4a | sh4a-single | sh4a-single-only | sh4a-nofpu | sh4al | \
|
Introduce sh2a support.
2004-07-29 Alexandre Oliva <aoliva@redhat.com>
* config.gcc: Build multilibs for sh2a and sh2a-single by
default.
* config/sh/sh.h (SUPPORT_SH2A, SUPPORT_SH2A_SINGLE): Define by
default. Split their tests out of the corresponding SH4
multilibs.
* config/sh/t-sh (MULTILIB_MATCHES): Don't ever use SH4 or SH4a
multilibs for SH2a.
2004-07-28 Alexandre Oliva <aoliva@redhat.com>
* config.gcc: Handle sh2a multilibs and cpu selection.
* config/sh/sh.h: Likewise. Handle sh2a command line flags.
* config/sh/t-mlib-sh2a: New.
* config/sh/t-mlib-sh2a-nofpu: New.
* config/sh/t-mlib-sh2a-single: New.
* config/sh/t-mlib-sh2a-single-only: New.
2004-07-09 Nick Clifton <nickc@redhat.com>
Issue 43400
* config/sh/sh.h (DRIVER_SELF_SPECS): Issue an error message if
-ml and -m2a are used together.
2004-03-23 DJ Delorie <dj@redhat.com>
* config/sh/sh.c (sh_builtin_saveregs): Use the double code only
when we have a double-sized FPU.
2004-02-24 Corinna Vinschen <vinschen@redhat.com>
* config/sh/lib1funcs.asm (set_fpscr): Don't build if __SH2A_NOFPU__
is set.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Add cases for -msh2a-nofpu,
-msh2a-single and -msh2a-single-only
2004-02-24 Corinna Vinschen <vinschen@redhat.com>
* config/sh/crt1.asm: Don't generate FPU instructions if __SH2A_NOFPU__
is set.
2004-02-20 DJ Delorie <dj@delorie.com>
* config/sh/sh.md (movsf_i, movsf_ie, movsf, ble, bge): Disable for sh2a-nofpu.
2004-02-20 Fred Fish <fnf@redhat.com>,
Corinna Vinschen <vinschen@redhat.com>
* config/sh/t-sh (MULTILIB_OPTIONS): Add 2a-nofpu.
(MULTILIB_EXCEPTIONS): Don't build littel-endian on sh2a.
2004-02-18 DJ Delorie <dj@redhat.com>
* config/sh/sh.c (broken_move): Add support for movi20.
* config/sh/sh.h: Likewise.
(SHIFT_COUNT_TRUNCATED): Set for sh2a.
* config/sh/sh.md (udivsi3_sh2a): New.
(udivsi3): Call it.
(divsi3_sh2a): New.
(divsi3): Call it.
(mul_r): New.
(ashlsi3_sh2a): New.
(ashrsi3_sh2a): New.
(lshrsi3_sh2a): New.
(movsi_i): Disable for sh2a.
(movsi_ie): Add movi20.
(movsf_i, movsf_ie, movsf, ble, untyped_call): Explicitly enable
sh2a, for -m2a-nofpu mode.
2004-02-13 DJ Delorie <dj@redhat.com>
* config/sh/lib1funcs.asm: Handle double vs single better.
* config/sh/sh.h: Likewise.
2004-02-09 DJ Delorie <dj@redhat.com>
* config/sh/crt1.asm: Add support for sh2a.
* config/sh/elf.h: Likewise.
* config/sh/lib1funcs.asm: Likewise.
* config/sh/sh.c: Likewise.
* config/sh/sh.md: Likewise.
* config/sh/sh.h: Likewise.
* config/sh/t-sh: Likewise.
From-SVN: r85286
2004-07-29 08:10:03 +02:00
|
|
|
sh2a | sh2a-single | sh2a-single-only | sh2a-nofpu | \
|
[multiple changes]
2004-06-21 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/t-linux (MULTILIB_OPTIONS): Remove.
2004-06-21 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionanlly define.
(SUPPORT_SH4_SINGLE): Likewise.
(TARGET_SWITCHES): Break out switches for cpu subtargets:
(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
(TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
(TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
(TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
(SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
(SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
(SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
(SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
(SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
(ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
* sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
(TARGET_DEFAULT): Likewise.
* config/sh/t-elf: Amend comment.
* config/sh/t-1e, config/sh/t-mlib-sh1: New files.
* config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
* config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
* config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
* config/sh/t-mlib-sh4-single: Likewise.
* config/sh/t-mlib-sh4-single-only: Likewise.
* config/sh/t-mlib-sh5-32media: Likewise.
* config/sh/t-mlib-sh5-32media-nofpu: Likewise.
* config/sh/t-mlib-sh5-64media: Likewise.
* config/sh/t-mlib-sh5-64media-nofpu: Likewise.
* config/sh/t-mlib-sh5-compact: Likewise.
* config/sh/t-mlib-sh5-compact-nofpu: Likewise.
* config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
(MULTILIB_CPUS): Define.
(MULTILIB_OPTIONS): Use MULTILIB_CPUS.
(MULTILIB_MATCHES): Use some shell code to calculate it.
(MULTILIB_EXCEPTIONS): Change to ml/m1.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
* config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
(LINK_DEFAULT_CPU_EMUL): Don't redefine.
(NO_PROFILE_COUNTERS): Define to 1.
* config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
(MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES): Don't zap.
(MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
* config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
(MULTILIB_RAW_DIRNAMES): Define.
(MULTILIB_DIRNAMES): Use it.
* config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
(sh*linux configurations): Merge into:
(sh*elf / sh*kaos configurations). Support --with-endian, --with-cpu,
--with-multilib-list options. Support sh-superh-elf configuration.
(sh*-netbsd*): Use SELECT_SH* macros.
(supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
Merge sh*-*-netbsd* configurations into sh-elf configurations.
* config/sh/t-netbsd-sh5, config/sh/t-le, config/sh/t-le: Delete.
* config/sh/t-monolib: Likewise.
From-SVN: r83444
2004-06-21 20:18:40 +02:00
|
|
|
sh5-64media | sh5-64media-nofpu | \
|
|
|
|
sh5-32media | sh5-32media-nofpu | \
|
|
|
|
sh5-compact | sh5-compact-nofpu)
|
|
|
|
tmake_file="${tmake_file} sh/t-mlib-${sh_multilib}"
|
2006-03-27 16:11:14 +02:00
|
|
|
tm_defines="$tm_defines SUPPORT_`echo $sh_multilib|tr abcdefghijklmnopqrstuvwxyz- ABCDEFGHIJKLMNOPQRSTUVWXYZ_`=1"
|
[multiple changes]
2004-06-21 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/t-linux (MULTILIB_OPTIONS): Remove.
2004-06-21 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionanlly define.
(SUPPORT_SH4_SINGLE): Likewise.
(TARGET_SWITCHES): Break out switches for cpu subtargets:
(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
(TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
(TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
(TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
(SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
(SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
(SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
(SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
(SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
(ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
* sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
(TARGET_DEFAULT): Likewise.
* config/sh/t-elf: Amend comment.
* config/sh/t-1e, config/sh/t-mlib-sh1: New files.
* config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
* config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
* config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
* config/sh/t-mlib-sh4-single: Likewise.
* config/sh/t-mlib-sh4-single-only: Likewise.
* config/sh/t-mlib-sh5-32media: Likewise.
* config/sh/t-mlib-sh5-32media-nofpu: Likewise.
* config/sh/t-mlib-sh5-64media: Likewise.
* config/sh/t-mlib-sh5-64media-nofpu: Likewise.
* config/sh/t-mlib-sh5-compact: Likewise.
* config/sh/t-mlib-sh5-compact-nofpu: Likewise.
* config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
(MULTILIB_CPUS): Define.
(MULTILIB_OPTIONS): Use MULTILIB_CPUS.
(MULTILIB_MATCHES): Use some shell code to calculate it.
(MULTILIB_EXCEPTIONS): Change to ml/m1.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
* config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
(LINK_DEFAULT_CPU_EMUL): Don't redefine.
(NO_PROFILE_COUNTERS): Define to 1.
* config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
(MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES): Don't zap.
(MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
* config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
(MULTILIB_RAW_DIRNAMES): Define.
(MULTILIB_DIRNAMES): Use it.
* config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
(sh*linux configurations): Merge into:
(sh*elf / sh*kaos configurations). Support --with-endian, --with-cpu,
--with-multilib-list options. Support sh-superh-elf configuration.
(sh*-netbsd*): Use SELECT_SH* macros.
(supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
Merge sh*-*-netbsd* configurations into sh-elf configurations.
* config/sh/t-netbsd-sh5, config/sh/t-le, config/sh/t-le: Delete.
* config/sh/t-monolib: Likewise.
From-SVN: r83444
2004-06-21 20:18:40 +02:00
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "with_multilib_list=${sh_multilib} not supported."
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
done
|
2006-03-27 16:11:14 +02:00
|
|
|
if test x${enable_incomplete_targets} = xyes ; then
|
config.gcc (sh*-*-*): Define SUPPORT_* macros to 1.
* config.gcc (sh*-*-*): Define SUPPORT_* macros to 1.
* config/sh/sh.h: Update mask names throughout.
(target_flags, ISIZE_BIT, DALIGN_BIT, SH1_BIT, SH2_BIT, SH3_BIT)
(SH_E_BIT, HARD_SH4_BIT, FPU_SINGLE_BIT, SH4_BIT, SH4A_BIT, FMOVD_BIT)
(SH5_BIT, SPACE_BIT, BIGTABLE_BIT, RELAX_BIT, USERMODE_BIT)
(HITACHI_BIT, NOMACSAVE_BIT, PREFERGOT_BIT, PADSTRUCT_BIT)
(LITTLE_ENDIAN_BIT, IEEE_BIT, SAVE_ALL_TR_BIT, HARD_SH2A_BIT)
(HARD_SH2A_DOUBLE_BIT, INDEXED_ADDRESS_BIT, PT_FIXED_BIT)
(INVALID_SYMBOLS_BIT, ADJUST_UNROLL_BIT, TARGET_DUMPISIZE)
(TARGET_ALIGN_DOUBLE, TARGET_SH1, TARGET_SH2, TARGET_SH3)
(TARGET_HARD_SH4, TARGET_FPU_SINGLE, TARGET_SH5, TARGET_FMOVD)
(TARGET_IEEE, TARGET_SMALLCODE, TARGET_BIGTABLE, TARGET_RELAX)
(TARGET_HITACHI, TARGET_NOMACSAVE, TARGET_PADSTRUCT)
(TARGET_LITTLE_ENDIAN, TARGET_USERMODE, TARGET_PREFERGOT)
(TARGET_SAVE_ALL_TARGET_REGS, TARGET_ALLOW_INDEXED_ADDRESS)
(TARGET_PT_FIXED, TARGET_INVALID_SYMBOLS, TARGET_ADJUST_UNROLL)
(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E)
(TARGET_SWITCH_SH2A, TARGET_SWITCH_SH2A_SINGLE_ONLY)
(TARGET_SWITCH_SH2A_SINGLE, TARGET_SWITCH_SH2A_NOFPU)
(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E, TARGET_SWITCH_SH4_SINGLE_ONLY)
(TARGET_SWITCH_SH4_SINGLE, TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4)
(TARGET_SWITCH_SH4A, TARGET_SWITCH_SH4A_SINGLE_ONLY)
(TARGET_SWITCH_SH4A_SINGLE, TARGET_SWITCH_SH4A_NOFPU)
(TARGET_SWITCH_SH4AL, TARGET_SWITCH_SH5_64MEDIA)
(TARGET_SWITCH_SH5_64MEDIA_NOFPU, TARGET_SWITCHES_SH5_32MEDIA)
(TARGET_SWITCHES_SH5_32MEDIA_NOFPU, TARGET_SWITCH_SH5_32_ANY_EXTRA)
(TARGET_SWITCH_SH5_MEDIA_ANY_EXTRA, TARGET_SWITCHES)
(SUBTARGET_SWITCHES): Delete.
(TARGET_SH2E, TARGET_SH2A, TARGET_SH2A_SINGLE, TARGET_SH2A_DOUBLE)
(TARGET_SH3E, TARGET_CACHE32, TARGET_SUPERSCALAR, TARGET_HARVARD)
(TARGET_FPU_DOUBLE, TARGET_SH4A_ARCH, TARGET_SHMEDIA32)
(TARGET_SHMEDIA64): Redefine using other TARGET_* macros.
(TARGET_SH4): Undefine options.h definition and check MASK_SH1 as well.
(SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4, SUPPORT_SH4_SINGLE)
(SUPPORT_SH2A, SUPPORT_SH2A_SINGLE): Make numeric.
(SUPPORT_SH2): Define to 1 if SUPPORT_SH1.
(SUPPORT_SH3): Likewise SUPPORT_SH2.
(SUPPORT_SH4_NOFPU): Likewise SUPPORT_SH3.
(SUPPORT_SH4A_NOFPU, SUPPORT_SH4AL, SUPPORT_SH2A_NOFPU): Likewise
SUPPORT_SH4_NOFPU.
(SUPPORT_SH3E): Likewise SUPPORT_SH2E.
(SUPPORT_SH4_SINGLE_ONLY, SUPPORT_SH4A_SINGLE_ONLY)
(SUPPORT_SH2A_SINGLE_ONLY): Likewise SUPPORT_SH3E.
(SUPPORT_SH4A): Likewise SUPPORT_SH4.
(SUPPORT_SH4A_SINGLE): Likewise SUPPORT_SH4_SINGLE.
(SUPPORT_SH5_32MEDIA): Likewise SUPPORT_SH5_COMPACT.
(SUPPORT_SH5_32MEDIA_NOFPU): Likewise SUPPORT_SH5_COMPACT_NOFPU.
(SUPPORT_ANY_SH5_32MEDIA, SUPPORT_ANY_SH5_64MEDIA)
(SUPPORT_ANY_SH5): New macros.
(TARGET_NONE): Replace with...
(MASK_ARCH): ...this new macro.
* config/sh/elf.h: Update mask names
* config/sh/linux.h: Likewise.
* config/sh/little.h: Likewise.
* config/sh/netbsd-elf.h: Likewise.
* config/sh/symbian-pre.h: Likewise.
* config/sh/sh.c (sh_handle_option): New function.
(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
(calc_live_regs): Use MASK_FPU_SINGLE instead of FPU_SINGLE_BIT.
(sh_target_switches, target_switches): Delete.
(sh_pch_valid_p): Check for specific differences in the target_flags
settings.
(sh_init_cumulative_args): Use MASK_HITACHI instead of HITACHI_BIT.
* config/sh/sh.opt: New file.
From-SVN: r99916
2005-05-18 20:43:53 +02:00
|
|
|
tm_defines="$tm_defines SUPPORT_SH1=1 SUPPORT_SH2E=1 SUPPORT_SH4=1 SUPPORT_SH4_SINGLE=1 SUPPORT_SH2A=1 SUPPORT_SH2A_SINGLE=1 SUPPORT_SH5_32MEDIA=1 SUPPORT_SH5_32MEDIA_NOFPU=1 SUPPORT_SH5_64MEDIA=1 SUPPORT_SH5_64MEDIA_NOFPU=1"
|
[multiple changes]
2004-06-21 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/t-linux (MULTILIB_OPTIONS): Remove.
2004-06-21 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionanlly define.
(SUPPORT_SH4_SINGLE): Likewise.
(TARGET_SWITCHES): Break out switches for cpu subtargets:
(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
(TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
(TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
(TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
(SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
(SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
(SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
(SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
(SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
(ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
* sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
(TARGET_DEFAULT): Likewise.
* config/sh/t-elf: Amend comment.
* config/sh/t-1e, config/sh/t-mlib-sh1: New files.
* config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
* config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
* config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
* config/sh/t-mlib-sh4-single: Likewise.
* config/sh/t-mlib-sh4-single-only: Likewise.
* config/sh/t-mlib-sh5-32media: Likewise.
* config/sh/t-mlib-sh5-32media-nofpu: Likewise.
* config/sh/t-mlib-sh5-64media: Likewise.
* config/sh/t-mlib-sh5-64media-nofpu: Likewise.
* config/sh/t-mlib-sh5-compact: Likewise.
* config/sh/t-mlib-sh5-compact-nofpu: Likewise.
* config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
(MULTILIB_CPUS): Define.
(MULTILIB_OPTIONS): Use MULTILIB_CPUS.
(MULTILIB_MATCHES): Use some shell code to calculate it.
(MULTILIB_EXCEPTIONS): Change to ml/m1.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
* config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
(LINK_DEFAULT_CPU_EMUL): Don't redefine.
(NO_PROFILE_COUNTERS): Define to 1.
* config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
(MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES): Don't zap.
(MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
* config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
(MULTILIB_RAW_DIRNAMES): Define.
(MULTILIB_DIRNAMES): Use it.
* config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
(sh*linux configurations): Merge into:
(sh*elf / sh*kaos configurations). Support --with-endian, --with-cpu,
--with-multilib-list options. Support sh-superh-elf configuration.
(sh*-netbsd*): Use SELECT_SH* macros.
(supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
Merge sh*-*-netbsd* configurations into sh-elf configurations.
* config/sh/t-netbsd-sh5, config/sh/t-le, config/sh/t-le: Delete.
* config/sh/t-monolib: Likewise.
From-SVN: r83444
2004-06-21 20:18:40 +02:00
|
|
|
fi
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
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 04:08:08 +01:00
|
|
|
;;
|
2004-03-16 17:43:06 +01:00
|
|
|
sh-*-rtemscoff*)
|
2005-01-19 22:25:35 +01:00
|
|
|
tmake_file="sh/t-sh t-rtems sh/t-rtems"
|
2003-06-26 18:34:32 +02:00
|
|
|
tm_file="${tm_file} dbxcoff.h sh/coff.h sh/rtems.h rtems.h"
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2004-03-16 17:43:06 +01:00
|
|
|
sh-*-rtems*)
|
2005-01-19 22:25:35 +01:00
|
|
|
tmake_file="sh/t-sh sh/t-elf t-rtems sh/t-rtems"
|
2004-03-16 17:43:06 +01:00
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/embed-elf.h sh/rtemself.h rtems.h"
|
|
|
|
;;
|
2003-10-23 07:16:56 +02:00
|
|
|
sh-wrs-vxworks)
|
|
|
|
tmake_file="$tmake_file sh/t-sh sh/t-elf sh/t-vxworks"
|
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/embed-elf.h sh/vxworks.h"
|
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
sh-*-*)
|
2003-06-26 18:34:32 +02:00
|
|
|
tm_file="${tm_file} dbxcoff.h sh/coff.h"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2002-02-03 22:52:34 +01:00
|
|
|
sparc-*-netbsdelf*)
|
2005-01-21 11:15:56 +01:00
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
|
optc-gen.awk: Handle stand-alone Mask records.
* optc-gen.awk: Handle stand-alone Mask records.
* opth-gen.awk: Likewise.
* doc/options.texi (Option file format): Document them.
* config.gcc (sparc-*-netbsdelf*, sparc-*-linux*, sparc64-*-freebsd*,
sparc64-*-linux*, sparc64-*-netbsd*): Add long-double-switch.opt.
(sparc64-*-openbsd*, sparc64-*-elf*): Add little-endian.opt.
* config/sparc/sparc.h (MASK_FPU, MASK_UNALIGNED_DOUBLES,
MASK_V8, MASK_SPARCLITE, MASK_SPARCLET, MASK_V9,
MASK_DEPRECATED_V8_INSNS, MASK_IMPURE_TEXT, MASK_APP_REGS,
MASK_HARD_QUAD, MASK_LITTLE_ENDIAN, MASK_PTR64, MASK_64BIT,
MASK_STACK_BIAS, MASK_FPU_SET, MASK_VIS, MASK_V8PLUS,
MASK_FASTER_STRUCTS, MASK_LONG_DOUBLE_128): Delete.
(TARGET_FPU, TARGET_UNALIGNED_DOUBLES, TARGET_V8, TARGET_SPARCLITE,
TARGET_SPARCLET, TARGET_V9, TARGET_DEPRECATED_V8_INSNS,
TARGET_IMPURE_TEXT, TARGET_APP_REGS, MASK_HARD_QUAD,
TARGET_LITTLE_ENDIAN, TARGET_PTR64, TARGET_64BIT, MASK_STACK_BIAS,
TARGET_FPU_SET, TARGET_VIS, TARGET_V8PLUS, TARGET_FASTER_STRUCTS,
TARGET_LONG_DOUBLE_128): Likewise.
(TARGET_SWITCHES, SUBTARGET_SWITCHES): Likewise.
(TARGET_OPTIONS, SUBTARGET_OPTIONS): Likewise.
* config/sparc/freebsd.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/linux.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/linux64.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/netbsd-elf.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/sp64-elf.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/sparc.c (fpu_option_set): New global.
(sparc_handle_option): New function.
(sparc_override_options): Test fpu_option_set.
(TARGET_DEFAULT_TARGET_FLAGS): Set to TARGET_DEFAULT.
(TARGET_HANDLE_OPTION): Set to sparc_handle_option.
* config/sparc/sparc.opt: New file.
* config/sparc/little-endian.opt: Likewise.
* config/sparc/long-double-switch.opt: Likewise.
From-SVN: r98078
2005-04-13 10:47:23 +02:00
|
|
|
extra_options="${extra_options} sparc/long-double-switch.opt"
|
2002-02-03 22:52:34 +01:00
|
|
|
;;
|
2002-05-30 22:35:58 +02:00
|
|
|
sparc64-*-openbsd*)
|
2005-01-21 11:15:56 +01:00
|
|
|
tm_file="sparc/openbsd1-64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sp64-elf.h openbsd.h sparc/openbsd64.h"
|
optc-gen.awk: Handle stand-alone Mask records.
* optc-gen.awk: Handle stand-alone Mask records.
* opth-gen.awk: Likewise.
* doc/options.texi (Option file format): Document them.
* config.gcc (sparc-*-netbsdelf*, sparc-*-linux*, sparc64-*-freebsd*,
sparc64-*-linux*, sparc64-*-netbsd*): Add long-double-switch.opt.
(sparc64-*-openbsd*, sparc64-*-elf*): Add little-endian.opt.
* config/sparc/sparc.h (MASK_FPU, MASK_UNALIGNED_DOUBLES,
MASK_V8, MASK_SPARCLITE, MASK_SPARCLET, MASK_V9,
MASK_DEPRECATED_V8_INSNS, MASK_IMPURE_TEXT, MASK_APP_REGS,
MASK_HARD_QUAD, MASK_LITTLE_ENDIAN, MASK_PTR64, MASK_64BIT,
MASK_STACK_BIAS, MASK_FPU_SET, MASK_VIS, MASK_V8PLUS,
MASK_FASTER_STRUCTS, MASK_LONG_DOUBLE_128): Delete.
(TARGET_FPU, TARGET_UNALIGNED_DOUBLES, TARGET_V8, TARGET_SPARCLITE,
TARGET_SPARCLET, TARGET_V9, TARGET_DEPRECATED_V8_INSNS,
TARGET_IMPURE_TEXT, TARGET_APP_REGS, MASK_HARD_QUAD,
TARGET_LITTLE_ENDIAN, TARGET_PTR64, TARGET_64BIT, MASK_STACK_BIAS,
TARGET_FPU_SET, TARGET_VIS, TARGET_V8PLUS, TARGET_FASTER_STRUCTS,
TARGET_LONG_DOUBLE_128): Likewise.
(TARGET_SWITCHES, SUBTARGET_SWITCHES): Likewise.
(TARGET_OPTIONS, SUBTARGET_OPTIONS): Likewise.
* config/sparc/freebsd.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/linux.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/linux64.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/netbsd-elf.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/sp64-elf.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/sparc.c (fpu_option_set): New global.
(sparc_handle_option): New function.
(sparc_override_options): Test fpu_option_set.
(TARGET_DEFAULT_TARGET_FLAGS): Set to TARGET_DEFAULT.
(TARGET_HANDLE_OPTION): Set to sparc_handle_option.
* config/sparc/sparc.opt: New file.
* config/sparc/little-endian.opt: Likewise.
* config/sparc/long-double-switch.opt: Likewise.
From-SVN: r98078
2005-04-13 10:47:23 +02:00
|
|
|
extra_options="${extra_options} sparc/little-endian.opt"
|
2002-05-30 22:35:58 +02:00
|
|
|
gas=yes gnu_ld=yes
|
|
|
|
with_cpu=ultrasparc
|
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
sparc-*-elf*)
|
2005-01-24 22:31:52 +01:00
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sp-elf.h"
|
2002-04-03 22:13:50 +02:00
|
|
|
tmake_file="sparc/t-elf sparc/t-crtfm"
|
2000-11-17 11:42:45 +01:00
|
|
|
extra_parts="crti.o crtn.o crtbegin.o crtend.o"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2002-09-16 00:48:06 +02:00
|
|
|
sparc-*-linux*) # SPARC's running GNU/Linux, libc6
|
2001-12-06 18:34:55 +01:00
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/linux.h"
|
optc-gen.awk: Handle stand-alone Mask records.
* optc-gen.awk: Handle stand-alone Mask records.
* opth-gen.awk: Likewise.
* doc/options.texi (Option file format): Document them.
* config.gcc (sparc-*-netbsdelf*, sparc-*-linux*, sparc64-*-freebsd*,
sparc64-*-linux*, sparc64-*-netbsd*): Add long-double-switch.opt.
(sparc64-*-openbsd*, sparc64-*-elf*): Add little-endian.opt.
* config/sparc/sparc.h (MASK_FPU, MASK_UNALIGNED_DOUBLES,
MASK_V8, MASK_SPARCLITE, MASK_SPARCLET, MASK_V9,
MASK_DEPRECATED_V8_INSNS, MASK_IMPURE_TEXT, MASK_APP_REGS,
MASK_HARD_QUAD, MASK_LITTLE_ENDIAN, MASK_PTR64, MASK_64BIT,
MASK_STACK_BIAS, MASK_FPU_SET, MASK_VIS, MASK_V8PLUS,
MASK_FASTER_STRUCTS, MASK_LONG_DOUBLE_128): Delete.
(TARGET_FPU, TARGET_UNALIGNED_DOUBLES, TARGET_V8, TARGET_SPARCLITE,
TARGET_SPARCLET, TARGET_V9, TARGET_DEPRECATED_V8_INSNS,
TARGET_IMPURE_TEXT, TARGET_APP_REGS, MASK_HARD_QUAD,
TARGET_LITTLE_ENDIAN, TARGET_PTR64, TARGET_64BIT, MASK_STACK_BIAS,
TARGET_FPU_SET, TARGET_VIS, TARGET_V8PLUS, TARGET_FASTER_STRUCTS,
TARGET_LONG_DOUBLE_128): Likewise.
(TARGET_SWITCHES, SUBTARGET_SWITCHES): Likewise.
(TARGET_OPTIONS, SUBTARGET_OPTIONS): Likewise.
* config/sparc/freebsd.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/linux.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/linux64.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/netbsd-elf.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/sp64-elf.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/sparc.c (fpu_option_set): New global.
(sparc_handle_option): New function.
(sparc_override_options): Test fpu_option_set.
(TARGET_DEFAULT_TARGET_FLAGS): Set to TARGET_DEFAULT.
(TARGET_HANDLE_OPTION): Set to sparc_handle_option.
* config/sparc/sparc.opt: New file.
* config/sparc/little-endian.opt: Likewise.
* config/sparc/long-double-switch.opt: Likewise.
From-SVN: r98078
2005-04-13 10:47:23 +02:00
|
|
|
extra_options="${extra_options} sparc/long-double-switch.opt"
|
2006-02-08 08:19:43 +01:00
|
|
|
tmake_file="${tmake_file} sparc/t-linux sparc/t-crtfm"
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
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 04:10:46 +02:00
|
|
|
sparc-*-rtems*)
|
2005-01-24 22:31:52 +01:00
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h"
|
2002-04-06 06:55:28 +02:00
|
|
|
tmake_file="sparc/t-elf sparc/t-crtfm t-rtems"
|
2000-11-17 11:42:45 +01:00
|
|
|
extra_parts="crti.o crtn.o crtbegin.o crtend.o"
|
|
|
|
;;
|
2002-04-16 20:05:20 +02:00
|
|
|
sparc64-*-solaris2* | sparcv9-*-solaris2*)
|
2006-03-21 21:59:11 +01:00
|
|
|
tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h"
|
|
|
|
case ${target} in
|
|
|
|
*-*-solaris2.1[0-9]*)
|
|
|
|
tm_file="${tm_file} sol2-10.h"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
tm_file="${tm_file} sparc/sol2.h sparc/sol2-64.h sparc/sol2-bi.h"
|
2002-04-13 01:02:45 +02:00
|
|
|
if test x$gnu_ld = xyes; then
|
|
|
|
tm_file="${tm_file} sparc/sol2-gld.h sparc/sol2-gld-bi.h"
|
2000-11-17 11:42:45 +01:00
|
|
|
fi
|
2002-04-17 03:37:42 +02:00
|
|
|
if test x$gas = xyes; then
|
2004-09-24 08:17:07 +02:00
|
|
|
tm_file="${tm_file} sparc/sol2-gas.h sparc/sol2-gas-bi.h"
|
2002-04-17 03:37:42 +02:00
|
|
|
fi
|
2005-06-08 07:05:45 +02:00
|
|
|
tm_file="${tm_file} tm-dwarf2.h"
|
2004-07-19 16:48:09 +02:00
|
|
|
tmake_file="t-sol2 sparc/t-sol2 sparc/t-sol2-64 sparc/t-crtfm"
|
2000-11-17 11:42:45 +01:00
|
|
|
if test x$gnu_ld = xyes; then
|
2001-05-26 01:08:57 +02:00
|
|
|
tmake_file="$tmake_file t-slibgcc-elf-ver"
|
2000-11-17 11:42:45 +01:00
|
|
|
else
|
2001-05-26 01:08:57 +02:00
|
|
|
tmake_file="$tmake_file t-slibgcc-sld"
|
2000-11-17 11:42:45 +01:00
|
|
|
fi
|
2004-07-19 16:48:09 +02:00
|
|
|
c_target_objs="sol2-c.o"
|
|
|
|
cxx_target_objs="sol2-c.o"
|
* config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*)
(sparc-*-solaris2*): Include sol2.o and sol2-protos.h.
* config/sol2-c.c: Include "tm.h", "tm_p.h", "toplev.h",
"cpplib.h", "c-pragma.h", "c-common.h".
(solaris_pragma_align, solaris_pragma_init, solaris_pragma_fini)
(solaris_register_pragmas): New functions.
* config/sol2-protos.h: New file.
* config/sol2.c: New file.
* config/sol2.h (SOLARIS_ATTRIBUTE_TABLE, ASM_DECLARE_FUNCTION_SIZE)
(REGISTER_TARGET_PRAGMAS): New macros.
(solaris_pending_aligns, solaris_pending_inits)
(solaris_pending_finis): New variables.
* config/t-sol2 (sol2-c.o): Update dependencies.
(sol2.o): New rule.
* config/i386/i386.c (TARGET_INSERT_ATTRIBUTES): Define in terms of
SUBTARGET_INSERT_ATTRIBUTES.
(ix86_attribute_table): Include SUBTARGET_ATTRIBUTE_TABLE.
* config/i386/sol2.h (SUBTARGET_INSERT_ATTRIBUTES)
(SUBTARGET_ATTRIBUTE_TABLE, ASM_OUTPUT_CALL): Define.
* config/sparc/elf.h (ASM_DECLARE_FUNCTION_SIZE): Redefine.
* config/sparc/sp64-elf.h (ASM_DECLARE_FUNCTION_SIZE): Redefine.
* config/sparc/sol2.h (SUBTARGET_INSERT_ATTRIBUTES)
(SUBTARGET_ATTRIBUTE_TABLE, ASM_OUTPUT_CALL): Define.
* config/sparc/sparc.c (sparc_attribute_table): New.
(TARGET_INSERT_ATTRIBUTES): Define in terms of
SUBTARGET_INSERT_ATTRIBUTES.
(TARGET_ATTRIBUTE_TABLE): Define if SUBTARGET_ATTRIBUTE_TABLE
is defined.
* doc/extend.texi (Solaris Pragmas): New section.
From-SVN: r85155
2004-07-25 20:10:05 +02:00
|
|
|
extra_objs="sol2.o"
|
|
|
|
tm_p_file="${tm_p_file} sol2-protos.h"
|
2000-11-17 11:42:45 +01:00
|
|
|
extra_parts="crt1.o crti.o crtn.o gcrt1.o crtbegin.o crtend.o"
|
2004-04-07 03:20:59 +02:00
|
|
|
case ${enable_threads}:${have_pthread_h}:${have_thread_h} in
|
2004-10-03 10:00:39 +02:00
|
|
|
"":yes:* | yes:yes:* ) thread_file=posix ;;
|
|
|
|
"":*:yes | yes:*:yes ) thread_file=solaris ;;
|
2004-04-07 03:20:59 +02:00
|
|
|
esac
|
2002-12-16 19:23:00 +01:00
|
|
|
need_64bit_hwint=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2002-04-16 20:05:20 +02:00
|
|
|
sparc-*-solaris2*)
|
2004-11-22 23:26:11 +01:00
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h"
|
|
|
|
case ${target} in
|
|
|
|
*-*-solaris2.[0-6] | *-*-solaris2.[0-6].*)
|
2006-03-21 21:59:11 +01:00
|
|
|
tm_file="${tm_file} sol2-6.h"
|
|
|
|
;;
|
|
|
|
*-*-solaris2.1[0-9]*)
|
|
|
|
tm_file="${tm_file} sol2-10.h"
|
|
|
|
;;
|
2004-11-22 23:26:11 +01:00
|
|
|
esac
|
|
|
|
tm_file="${tm_file} sparc/sol2.h"
|
2002-04-13 01:02:45 +02:00
|
|
|
if test x$gnu_ld = xyes; then
|
|
|
|
tm_file="${tm_file} sparc/sol2-gld.h"
|
2000-11-17 11:42:45 +01:00
|
|
|
fi
|
2004-09-24 08:17:07 +02:00
|
|
|
if test x$gas = xyes; then
|
|
|
|
tm_file="${tm_file} sparc/sol2-gas.h"
|
|
|
|
fi
|
2004-07-19 16:48:09 +02:00
|
|
|
tmake_file="t-sol2 sparc/t-sol2 sparc/t-crtfm"
|
2000-11-17 11:42:45 +01:00
|
|
|
if test x$gnu_ld = xyes; then
|
2001-05-26 01:08:57 +02:00
|
|
|
tmake_file="$tmake_file t-slibgcc-elf-ver"
|
2000-11-17 11:42:45 +01:00
|
|
|
else
|
2001-05-26 01:08:57 +02:00
|
|
|
tmake_file="$tmake_file t-slibgcc-sld"
|
2000-11-17 11:42:45 +01:00
|
|
|
fi
|
2003-09-23 23:51:44 +02:00
|
|
|
case ${target} in
|
2002-04-16 20:05:20 +02:00
|
|
|
*-*-solaris2.[0-6] | *-*-solaris2.[0-6].*)
|
|
|
|
if test x$gnu_ld = xno; then
|
|
|
|
tm_file="${tm_file} sparc/sol26-sld.h"
|
|
|
|
fi
|
|
|
|
;;
|
2005-03-19 21:19:06 +01:00
|
|
|
*-*-solaris2.[789] | *-*-solaris2.1[0-9]*)
|
2005-06-08 07:05:45 +02:00
|
|
|
tm_file="sparc/biarch64.h ${tm_file} sparc/sol2-bi.h"
|
2002-04-13 01:02:45 +02:00
|
|
|
if test x$gnu_ld = xyes; then
|
|
|
|
tm_file="${tm_file} sparc/sol2-gld-bi.h"
|
2001-06-09 22:37:29 +02:00
|
|
|
fi
|
2002-04-17 03:37:42 +02:00
|
|
|
if test x$gas = xyes; then
|
|
|
|
tm_file="${tm_file} sparc/sol2-gas-bi.h"
|
|
|
|
fi
|
2005-06-08 07:05:45 +02:00
|
|
|
tm_file="${tm_file} tm-dwarf2.h"
|
2001-06-09 22:37:29 +02:00
|
|
|
tmake_file="$tmake_file sparc/t-sol2-64"
|
2002-12-16 19:23:00 +01:00
|
|
|
need_64bit_hwint=yes
|
2006-03-21 12:15:44 +01:00
|
|
|
test x$with_cpu != x || with_cpu=v9
|
2001-06-09 22:37:29 +02:00
|
|
|
;;
|
|
|
|
esac
|
2004-07-19 16:48:09 +02:00
|
|
|
c_target_objs="sol2-c.o"
|
|
|
|
cxx_target_objs="sol2-c.o"
|
* config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*)
(sparc-*-solaris2*): Include sol2.o and sol2-protos.h.
* config/sol2-c.c: Include "tm.h", "tm_p.h", "toplev.h",
"cpplib.h", "c-pragma.h", "c-common.h".
(solaris_pragma_align, solaris_pragma_init, solaris_pragma_fini)
(solaris_register_pragmas): New functions.
* config/sol2-protos.h: New file.
* config/sol2.c: New file.
* config/sol2.h (SOLARIS_ATTRIBUTE_TABLE, ASM_DECLARE_FUNCTION_SIZE)
(REGISTER_TARGET_PRAGMAS): New macros.
(solaris_pending_aligns, solaris_pending_inits)
(solaris_pending_finis): New variables.
* config/t-sol2 (sol2-c.o): Update dependencies.
(sol2.o): New rule.
* config/i386/i386.c (TARGET_INSERT_ATTRIBUTES): Define in terms of
SUBTARGET_INSERT_ATTRIBUTES.
(ix86_attribute_table): Include SUBTARGET_ATTRIBUTE_TABLE.
* config/i386/sol2.h (SUBTARGET_INSERT_ATTRIBUTES)
(SUBTARGET_ATTRIBUTE_TABLE, ASM_OUTPUT_CALL): Define.
* config/sparc/elf.h (ASM_DECLARE_FUNCTION_SIZE): Redefine.
* config/sparc/sp64-elf.h (ASM_DECLARE_FUNCTION_SIZE): Redefine.
* config/sparc/sol2.h (SUBTARGET_INSERT_ATTRIBUTES)
(SUBTARGET_ATTRIBUTE_TABLE, ASM_OUTPUT_CALL): Define.
* config/sparc/sparc.c (sparc_attribute_table): New.
(TARGET_INSERT_ATTRIBUTES): Define in terms of
SUBTARGET_INSERT_ATTRIBUTES.
(TARGET_ATTRIBUTE_TABLE): Define if SUBTARGET_ATTRIBUTE_TABLE
is defined.
* doc/extend.texi (Solaris Pragmas): New section.
From-SVN: r85155
2004-07-25 20:10:05 +02:00
|
|
|
extra_objs="sol2.o"
|
|
|
|
tm_p_file="${tm_p_file} sol2-protos.h"
|
2002-04-13 01:02:45 +02:00
|
|
|
extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
|
2004-04-07 03:20:59 +02:00
|
|
|
case ${enable_threads}:${have_pthread_h}:${have_thread_h} in
|
2004-11-22 23:26:11 +01:00
|
|
|
"":yes:* | yes:yes:* )
|
|
|
|
case ${target} in
|
|
|
|
*-*-solaris2.[0-6] | *-*-solaris2.[0-6].*)
|
|
|
|
thread_file=posix95
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
thread_file=posix
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
;;
|
|
|
|
"":*:yes | yes:*:yes )
|
|
|
|
thread_file=solaris
|
|
|
|
;;
|
2004-04-07 03:20:59 +02:00
|
|
|
esac
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
|
|
|
sparc-*-sysv4*)
|
config.gcc (sparc-*-sysv4*): Add sparc/sysv4-only.h.
* config.gcc (sparc-*-sysv4*): Add sparc/sysv4-only.h.
* sparc/aout.h, sparc/elf.h, sparc/freebsd.h, sparc/linux.h,
sparc/linux64.h, sparc/lite.h, sparc/litecoff.h, sparc/liteelf.h,
sparc/netbsd-elf.h, sparc/openbsd.h, sparc/openbsd64.h,
sparc/pbd.h, sparc/rtemself.h, sparc/sol2-64.h, sparc/sol2-bi.h,
sparc/sol2.h, sparc/sp64-elf.h, sparc/sp86-elf.h, sparc/sparc.h,
sparc/sysv4.h,
* sparc/sysv4-only.h: New.
From-SVN: r66902
2003-05-17 09:19:56 +02:00
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sysv4-only.h"
|
2000-11-17 11:42:45 +01:00
|
|
|
tmake_file=t-svr4
|
|
|
|
extra_parts="crtbegin.o crtend.o"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
|
|
|
sparc64-*-elf*)
|
2005-01-24 22:31:52 +01:00
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sp64-elf.h"
|
optc-gen.awk: Handle stand-alone Mask records.
* optc-gen.awk: Handle stand-alone Mask records.
* opth-gen.awk: Likewise.
* doc/options.texi (Option file format): Document them.
* config.gcc (sparc-*-netbsdelf*, sparc-*-linux*, sparc64-*-freebsd*,
sparc64-*-linux*, sparc64-*-netbsd*): Add long-double-switch.opt.
(sparc64-*-openbsd*, sparc64-*-elf*): Add little-endian.opt.
* config/sparc/sparc.h (MASK_FPU, MASK_UNALIGNED_DOUBLES,
MASK_V8, MASK_SPARCLITE, MASK_SPARCLET, MASK_V9,
MASK_DEPRECATED_V8_INSNS, MASK_IMPURE_TEXT, MASK_APP_REGS,
MASK_HARD_QUAD, MASK_LITTLE_ENDIAN, MASK_PTR64, MASK_64BIT,
MASK_STACK_BIAS, MASK_FPU_SET, MASK_VIS, MASK_V8PLUS,
MASK_FASTER_STRUCTS, MASK_LONG_DOUBLE_128): Delete.
(TARGET_FPU, TARGET_UNALIGNED_DOUBLES, TARGET_V8, TARGET_SPARCLITE,
TARGET_SPARCLET, TARGET_V9, TARGET_DEPRECATED_V8_INSNS,
TARGET_IMPURE_TEXT, TARGET_APP_REGS, MASK_HARD_QUAD,
TARGET_LITTLE_ENDIAN, TARGET_PTR64, TARGET_64BIT, MASK_STACK_BIAS,
TARGET_FPU_SET, TARGET_VIS, TARGET_V8PLUS, TARGET_FASTER_STRUCTS,
TARGET_LONG_DOUBLE_128): Likewise.
(TARGET_SWITCHES, SUBTARGET_SWITCHES): Likewise.
(TARGET_OPTIONS, SUBTARGET_OPTIONS): Likewise.
* config/sparc/freebsd.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/linux.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/linux64.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/netbsd-elf.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/sp64-elf.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/sparc.c (fpu_option_set): New global.
(sparc_handle_option): New function.
(sparc_override_options): Test fpu_option_set.
(TARGET_DEFAULT_TARGET_FLAGS): Set to TARGET_DEFAULT.
(TARGET_HANDLE_OPTION): Set to sparc_handle_option.
* config/sparc/sparc.opt: New file.
* config/sparc/little-endian.opt: Likewise.
* config/sparc/long-double-switch.opt: Likewise.
From-SVN: r98078
2005-04-13 10:47:23 +02:00
|
|
|
extra_options="${extra_options} sparc/little-endian.opt"
|
2002-04-06 06:55:28 +02:00
|
|
|
tmake_file="${tmake_file} sparc/t-crtfm"
|
2000-11-17 11:42:45 +01:00
|
|
|
extra_parts="crtbegin.o crtend.o"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2001-12-17 08:33:07 +01:00
|
|
|
sparc64-*-freebsd*|ultrasparc-*-freebsd*)
|
|
|
|
tm_file="${tm_file} ${fbsd_tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/freebsd.h"
|
optc-gen.awk: Handle stand-alone Mask records.
* optc-gen.awk: Handle stand-alone Mask records.
* opth-gen.awk: Likewise.
* doc/options.texi (Option file format): Document them.
* config.gcc (sparc-*-netbsdelf*, sparc-*-linux*, sparc64-*-freebsd*,
sparc64-*-linux*, sparc64-*-netbsd*): Add long-double-switch.opt.
(sparc64-*-openbsd*, sparc64-*-elf*): Add little-endian.opt.
* config/sparc/sparc.h (MASK_FPU, MASK_UNALIGNED_DOUBLES,
MASK_V8, MASK_SPARCLITE, MASK_SPARCLET, MASK_V9,
MASK_DEPRECATED_V8_INSNS, MASK_IMPURE_TEXT, MASK_APP_REGS,
MASK_HARD_QUAD, MASK_LITTLE_ENDIAN, MASK_PTR64, MASK_64BIT,
MASK_STACK_BIAS, MASK_FPU_SET, MASK_VIS, MASK_V8PLUS,
MASK_FASTER_STRUCTS, MASK_LONG_DOUBLE_128): Delete.
(TARGET_FPU, TARGET_UNALIGNED_DOUBLES, TARGET_V8, TARGET_SPARCLITE,
TARGET_SPARCLET, TARGET_V9, TARGET_DEPRECATED_V8_INSNS,
TARGET_IMPURE_TEXT, TARGET_APP_REGS, MASK_HARD_QUAD,
TARGET_LITTLE_ENDIAN, TARGET_PTR64, TARGET_64BIT, MASK_STACK_BIAS,
TARGET_FPU_SET, TARGET_VIS, TARGET_V8PLUS, TARGET_FASTER_STRUCTS,
TARGET_LONG_DOUBLE_128): Likewise.
(TARGET_SWITCHES, SUBTARGET_SWITCHES): Likewise.
(TARGET_OPTIONS, SUBTARGET_OPTIONS): Likewise.
* config/sparc/freebsd.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/linux.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/linux64.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/netbsd-elf.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/sp64-elf.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/sparc.c (fpu_option_set): New global.
(sparc_handle_option): New function.
(sparc_override_options): Test fpu_option_set.
(TARGET_DEFAULT_TARGET_FLAGS): Set to TARGET_DEFAULT.
(TARGET_HANDLE_OPTION): Set to sparc_handle_option.
* config/sparc/sparc.opt: New file.
* config/sparc/little-endian.opt: Likewise.
* config/sparc/long-double-switch.opt: Likewise.
From-SVN: r98078
2005-04-13 10:47:23 +02:00
|
|
|
extra_options="${extra_options} sparc/long-double-switch.opt"
|
2002-04-06 06:55:28 +02:00
|
|
|
tmake_file="${tmake_file} sparc/t-crtfm"
|
2001-12-17 08:33:07 +01:00
|
|
|
case "x$with_cpu" in
|
2002-03-01 00:06:25 +01:00
|
|
|
xultrasparc) ;;
|
2001-12-17 08:33:07 +01:00
|
|
|
x) with_cpu=ultrasparc ;;
|
|
|
|
*) echo "$with_cpu not supported for freebsd target"; exit 1 ;;
|
|
|
|
esac
|
2002-12-16 19:23:00 +01:00
|
|
|
need_64bit_hwint=yes
|
2001-12-17 08:33:07 +01:00
|
|
|
;;
|
2002-09-16 00:48:06 +02:00
|
|
|
sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux
|
2002-01-30 23:37:10 +01:00
|
|
|
tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/linux64.h"
|
optc-gen.awk: Handle stand-alone Mask records.
* optc-gen.awk: Handle stand-alone Mask records.
* opth-gen.awk: Likewise.
* doc/options.texi (Option file format): Document them.
* config.gcc (sparc-*-netbsdelf*, sparc-*-linux*, sparc64-*-freebsd*,
sparc64-*-linux*, sparc64-*-netbsd*): Add long-double-switch.opt.
(sparc64-*-openbsd*, sparc64-*-elf*): Add little-endian.opt.
* config/sparc/sparc.h (MASK_FPU, MASK_UNALIGNED_DOUBLES,
MASK_V8, MASK_SPARCLITE, MASK_SPARCLET, MASK_V9,
MASK_DEPRECATED_V8_INSNS, MASK_IMPURE_TEXT, MASK_APP_REGS,
MASK_HARD_QUAD, MASK_LITTLE_ENDIAN, MASK_PTR64, MASK_64BIT,
MASK_STACK_BIAS, MASK_FPU_SET, MASK_VIS, MASK_V8PLUS,
MASK_FASTER_STRUCTS, MASK_LONG_DOUBLE_128): Delete.
(TARGET_FPU, TARGET_UNALIGNED_DOUBLES, TARGET_V8, TARGET_SPARCLITE,
TARGET_SPARCLET, TARGET_V9, TARGET_DEPRECATED_V8_INSNS,
TARGET_IMPURE_TEXT, TARGET_APP_REGS, MASK_HARD_QUAD,
TARGET_LITTLE_ENDIAN, TARGET_PTR64, TARGET_64BIT, MASK_STACK_BIAS,
TARGET_FPU_SET, TARGET_VIS, TARGET_V8PLUS, TARGET_FASTER_STRUCTS,
TARGET_LONG_DOUBLE_128): Likewise.
(TARGET_SWITCHES, SUBTARGET_SWITCHES): Likewise.
(TARGET_OPTIONS, SUBTARGET_OPTIONS): Likewise.
* config/sparc/freebsd.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/linux.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/linux64.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/netbsd-elf.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/sp64-elf.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/sparc.c (fpu_option_set): New global.
(sparc_handle_option): New function.
(sparc_override_options): Test fpu_option_set.
(TARGET_DEFAULT_TARGET_FLAGS): Set to TARGET_DEFAULT.
(TARGET_HANDLE_OPTION): Set to sparc_handle_option.
* config/sparc/sparc.opt: New file.
* config/sparc/little-endian.opt: Likewise.
* config/sparc/long-double-switch.opt: Likewise.
From-SVN: r98078
2005-04-13 10:47:23 +02:00
|
|
|
extra_options="${extra_options} sparc/long-double-switch.opt"
|
2006-02-08 08:19:43 +01:00
|
|
|
tmake_file="${tmake_file} sparc/t-linux sparc/t-linux64 sparc/t-crtfm"
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2002-02-19 18:43:25 +01:00
|
|
|
sparc64-*-netbsd*)
|
|
|
|
tm_file="sparc/biarch64.h ${tm_file}"
|
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h"
|
optc-gen.awk: Handle stand-alone Mask records.
* optc-gen.awk: Handle stand-alone Mask records.
* opth-gen.awk: Likewise.
* doc/options.texi (Option file format): Document them.
* config.gcc (sparc-*-netbsdelf*, sparc-*-linux*, sparc64-*-freebsd*,
sparc64-*-linux*, sparc64-*-netbsd*): Add long-double-switch.opt.
(sparc64-*-openbsd*, sparc64-*-elf*): Add little-endian.opt.
* config/sparc/sparc.h (MASK_FPU, MASK_UNALIGNED_DOUBLES,
MASK_V8, MASK_SPARCLITE, MASK_SPARCLET, MASK_V9,
MASK_DEPRECATED_V8_INSNS, MASK_IMPURE_TEXT, MASK_APP_REGS,
MASK_HARD_QUAD, MASK_LITTLE_ENDIAN, MASK_PTR64, MASK_64BIT,
MASK_STACK_BIAS, MASK_FPU_SET, MASK_VIS, MASK_V8PLUS,
MASK_FASTER_STRUCTS, MASK_LONG_DOUBLE_128): Delete.
(TARGET_FPU, TARGET_UNALIGNED_DOUBLES, TARGET_V8, TARGET_SPARCLITE,
TARGET_SPARCLET, TARGET_V9, TARGET_DEPRECATED_V8_INSNS,
TARGET_IMPURE_TEXT, TARGET_APP_REGS, MASK_HARD_QUAD,
TARGET_LITTLE_ENDIAN, TARGET_PTR64, TARGET_64BIT, MASK_STACK_BIAS,
TARGET_FPU_SET, TARGET_VIS, TARGET_V8PLUS, TARGET_FASTER_STRUCTS,
TARGET_LONG_DOUBLE_128): Likewise.
(TARGET_SWITCHES, SUBTARGET_SWITCHES): Likewise.
(TARGET_OPTIONS, SUBTARGET_OPTIONS): Likewise.
* config/sparc/freebsd.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/linux.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/linux64.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/netbsd-elf.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/sp64-elf.h (SUBTARGET_SWITCHES): Likewise.
* config/sparc/sparc.c (fpu_option_set): New global.
(sparc_handle_option): New function.
(sparc_override_options): Test fpu_option_set.
(TARGET_DEFAULT_TARGET_FLAGS): Set to TARGET_DEFAULT.
(TARGET_HANDLE_OPTION): Set to sparc_handle_option.
* config/sparc/sparc.opt: New file.
* config/sparc/little-endian.opt: Likewise.
* config/sparc/long-double-switch.opt: Likewise.
From-SVN: r98078
2005-04-13 10:47:23 +02:00
|
|
|
extra_options="${extra_options} sparc/long-double-switch.opt"
|
|
|
|
tmake_file="${tmake_file} sparc/t-netbsd64"
|
2002-02-19 18:43:25 +01:00
|
|
|
;;
|
2000-12-04 01:23:35 +01:00
|
|
|
strongarm-*-elf*)
|
2001-12-06 18:34:55 +01:00
|
|
|
tm_file="arm/strongarm-elf.h dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h"
|
2004-08-03 17:22:03 +02:00
|
|
|
tmake_file="arm/t-arm arm/t-strongarm-elf"
|
2000-12-04 01:23:35 +01:00
|
|
|
out_file=arm/arm.c
|
|
|
|
md_file=arm/arm.md
|
2002-06-12 03:36:13 +02:00
|
|
|
extra_modes=arm/arm-modes.def
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-12-04 01:23:35 +01:00
|
|
|
;;
|
|
|
|
strongarm-*-pe)
|
Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* config.gcc (*-*-openbsd): Don't set tm_file.
(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
xscale-*-coff): Use explicit and complete lists of target headers
to include. Move definitions to tm_defines where appropriate.
(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
not-yet-contributed configuration.
* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
* config/i386/nto.h, config/iq2000/iq2000.h,
* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
* config/m68k/linux.h, config/m68k/m68k-aout.h
* config/m68k/m68k-none.h, config/m68k/m68kv4.h
* config/m68k/netbsd.h, config/m68k/openbsd.h
* config/m68k/sgs.h, config/mcore/mcore-pe.h,
* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
Remove includes of other target config headers, and
definitions of macros moved to tm_defines lists. Add #undefs
where now necessary to prevent redefinition warnings.
* config/h8300/coff.h: New file split out of...
* config/h8300/elf.h: ...here.
* config/m68k/hp320base.h: New file split out of...
* config/m68k/hp320.h: ...here.
* config/rs6000/lynxbase.h: New file split out of...
* config/rs6000/lynx.h: ...here.
* config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
* config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
* config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
* config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
* config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
Remove unnecessary #ifndef.
* config/s390/s390.h: Prefix #include of s390/fixdfdi.h
[under IN_LIBGCC2] with config/.
From-SVN: r70651
2003-08-21 19:27:29 +02:00
|
|
|
tm_file="arm/semi.h arm/aout.h arm/coff.h dbxcoff.h arm/strongarm-coff.h arm/arm.h arm/pe.h arm/strongarm-pe.h"
|
2004-08-03 17:22:03 +02:00
|
|
|
tmake_file="arm/t-arm arm/t-strongarm-pe"
|
2000-12-04 01:23:35 +01:00
|
|
|
out_file=arm/arm.c
|
|
|
|
md_file=arm/arm.md
|
2002-06-12 03:36:13 +02:00
|
|
|
extra_modes=arm/arm-modes.def
|
config.gcc (arm*-wince-pe*, [...]): Add arm/pe.opt to $extra_options.
* config.gcc (arm*-wince-pe*, arm-*-pe*, strongarm-*-pe): Add
arm/pe.opt to $extra_options.
* config/arm/arm.h (target_flags, target_fpu_name, target_fpe_name)
(target_float_abi_name, target_float_switch, target_abi_name)
(ARM_FLAG_APCS_FRAME, ARM_FLAG_POKE, ARM_FLAG_FPE, ARM_FLAG_APCS_STACK)
(ARM_FLAG_APCS_FLOAT, ARM_FLAG_APCS_REENT, ARM_FLAG_BIG_END)
(ARM_FLAG_INTERWORK, ARM_FLAG_LITTLE_WORDS, ARM_FLAG_NO_SCHED_PRO)
(ARM_FLAG_ABORT_NORETURN, ARM_FLAG_SINGLE_PIC_BASE)
(ARM_FLAG_LONG_CALLS, ARM_FLAG_THUMB, THUMB_FLAG_BACKTRACE)
(THUMB_FLAG_LEAF_BACKTRACE, THUMB_FLAG_CALLEE_SUPER_INTERWORKING)
(THUMB_FLAG_CALLER_SUPER_INTERWORKING, CIRRUS_FIX_INVALID_INSNS)
(TARGET_APCS_FRAME, TARGET_POKE_FUNCTION_NAME, TARGET_FPE)
(TARGET_APCS_STACK, TARGET_APCS_FLOAT, TARGET_APCS_REENT)
(TARGET_BIG_END, TARGET_INTERWORK, TARGET_LITTLE_WORDS)
(TARGET_NO_SCHED_PRO, TARGET_ABORT_NORETURN, TARGET_SINGLE_PIC_BASE)
(TARGET_LONG_CALLS, TARGET_THUMB, TARGET_CALLER_INTERWORKING)
(TARGET_CIRRUS_FIX_INVALID_INSNS, SUBTARGET_SWITCHES, TARGET_SWITCHES)
(TARGET_OPTIONS, arm_cpu_select, arm_select, structure_size_string)
(arm_pic_register_string): Delete.
(TARGET_BACKTRACE): Redefine using TARGET_TPCS_LEAF_FRAME and
TARGET_TPCS_FRAME.
(TARGET_DEFAULT, CONDITIONAL_REGISTER_USAGE): Update mask names.
* config/arm/coff.h (TARGET_DEFAULT): Likewise.
* config/arm/elf.h (TARGET_DEFAULT): Likewise.
* config/arm/netbsd-elf.h (TARGET_DEFAULT): Likewise.
* config/arm/netbsd.h (TARGET_DEFAULT): Likewise.
* config/arm/semi.h (TARGET_DEFAULT): Likewise.
* config/arm/uclinux-elf.h (TARGET_DEFAULT): Likewise.
* config/arm/wince-pe.h (TARGET_DEFAULT): Likewise.
* config/arm/pe.h (TARGET_DEFAULT): Likewise.
(TARGET_FLAG_NOP_FUN, TARGET_NOP_FUN_DLLIMPORT): Delete.
(SUBTARGET_SWITCHES): Delete.
* config/arm/arm.c (target_float_switch): Delete.
(arm_cpu_select): Moved from config/arm/arm.h.
(target_fpu_name, target_fpe_name, target_float_abi_name)
(target_abi_name, structure_size_string, arm_pic_register_string)
(arm_select): Make static.
(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
(arm_handle_option): New function.
(arm_override_options): Update target_flags checks for new mask names.
Remove target_float_switch code.
(arm_expand_prologue, thumb_expand_prologue): Check
!TARGET_SCHED_PROLOG instead of TARGET_NO_SCHED_PRO.
* config/arm/arm.opt, config/arm/pe.opt: New files.
From-SVN: r99265
2005-05-05 14:09:00 +02:00
|
|
|
extra_options="${extra_options} arm/pe.opt"
|
2000-12-04 01:23:35 +01:00
|
|
|
extra_objs=pe.o
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-12-04 01:23:35 +01:00
|
|
|
;;
|
2003-06-12 07:18:12 +02:00
|
|
|
strongarm-*-kaos*)
|
|
|
|
tm_file="arm/strongarm-elf.h dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h kaos.h arm/kaos-strongarm.h"
|
2004-08-03 17:22:03 +02:00
|
|
|
tmake_file="arm/t-arm arm/t-strongarm-elf"
|
2003-06-12 07:18:12 +02:00
|
|
|
out_file=arm/arm.c
|
|
|
|
md_file=arm/arm.md
|
|
|
|
extra_modes=arm/arm-modes.def
|
|
|
|
;;
|
2003-09-05 17:34:46 +02:00
|
|
|
v850e1-*-*)
|
|
|
|
target_cpu_default="TARGET_CPU_v850e1"
|
|
|
|
tm_file="dbxelf.h elfos.h svr4.h v850/v850.h"
|
|
|
|
tm_p_file=v850/v850-protos.h
|
|
|
|
tmake_file=v850/t-v850e
|
|
|
|
md_file=v850/v850.md
|
|
|
|
out_file=v850/v850.c
|
2005-04-18 12:59:35 +02:00
|
|
|
extra_options="${extra_options} v850/v850.opt"
|
2003-09-05 17:34:46 +02:00
|
|
|
if test x$stabs = xyes
|
|
|
|
then
|
|
|
|
tm_file="${tm_file} dbx.h"
|
|
|
|
fi
|
|
|
|
use_collect2=no
|
|
|
|
c_target_objs="v850-c.o"
|
|
|
|
cxx_target_objs="v850-c.o"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2003-09-05 17:34:46 +02:00
|
|
|
;;
|
2002-08-27 22:01:17 +02:00
|
|
|
v850e-*-*)
|
|
|
|
target_cpu_default="TARGET_CPU_v850e"
|
|
|
|
tm_file="dbxelf.h elfos.h svr4.h v850/v850.h"
|
|
|
|
tm_p_file=v850/v850-protos.h
|
2003-09-04 13:50:08 +02:00
|
|
|
tmake_file=v850/t-v850e
|
2002-08-27 22:01:17 +02:00
|
|
|
md_file=v850/v850.md
|
|
|
|
out_file=v850/v850.c
|
2005-04-18 12:59:35 +02:00
|
|
|
extra_options="${extra_options} v850/v850.opt"
|
2002-08-27 22:01:17 +02:00
|
|
|
if test x$stabs = xyes
|
|
|
|
then
|
|
|
|
tm_file="${tm_file} dbx.h"
|
|
|
|
fi
|
|
|
|
use_collect2=no
|
|
|
|
c_target_objs="v850-c.o"
|
|
|
|
cxx_target_objs="v850-c.o"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2002-08-27 22:01:17 +02:00
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
v850-*-*)
|
|
|
|
target_cpu_default="TARGET_CPU_generic"
|
2001-12-06 18:34:55 +01:00
|
|
|
tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
|
2000-11-17 11:42:45 +01:00
|
|
|
tmake_file=v850/t-v850
|
|
|
|
if test x$stabs = xyes
|
|
|
|
then
|
|
|
|
tm_file="${tm_file} dbx.h"
|
|
|
|
fi
|
|
|
|
use_collect2=no
|
2000-11-25 01:43:32 +01:00
|
|
|
c_target_objs="v850-c.o"
|
|
|
|
cxx_target_objs="v850-c.o"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
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 03:19:20 +02:00
|
|
|
vax-*-bsd*) # VAXen running BSD
|
2002-06-12 02:02:07 +02:00
|
|
|
tm_file="${tm_file} vax/bsd.h"
|
c-decl.c, [...]: Don't check TARGET_MEM_FUNCTIONS.
* c-decl.c, config/m32r/m32r.c, expr.c, optabs.c: Don't check
TARGET_MEM_FUNCTIONS.
* system.h: Poison TARGET_MEM_FUNCTIONS.
* libfuncs.h (LTI_bcopy, LTI_bcmp, LTI_bzero, bcopy_libfunc,
bcmp_libfunc, bzero_libfunc): Remove.
* optabs.c (init_obtabs): Don't set bcopy_libfunc, bcmp_libfunc or
bzero_libfunc.
* doc/tm.texi (TARGET_MEM_FUNCTIONS): Remove.
* doc/standards.texi: Don't mention calling BSD string functions.
* doc/invoke.texi: Likewise. Mention that memmove may be called.
* config/vax/t-memfuncs: New.
* config/memcmp.c, config/memcpy.c, config/memmove.c,
config/memset.c: New.
* config/pdp11/t-pdp11 (LIB2FUNCS_EXTRA): Use these files.
* config.gcc (vax-*-bsd*, vax-*-sysv*, vax-*-ultrix*): Use
vax/t-memfuncs.
* config/alpha/alpha.h, config/arc/arc.h, config/arm/arm.h,
config/avr/avr.h, config/c4x/c4x.h, config/cris/aout.h,
config/elfos.h, config/gnu.h, config/h8300/h8300.h,
config/i386/gas.h, config/ia64/ia64.h, config/interix.h,
config/ip2k/ip2k.h, config/lynx-ng.h, config/m32r/m32r.h,
config/mcore/mcore.h, config/mips/mips.h, config/mmix/mmix.h,
config/netbsd.h, config/openbsd.h, config/pa/pa.h,
config/rs6000/rs6000.h, config/rtems.h, config/s390/s390.h,
config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16.h,
config/svr3.h: Don't define TARGET_MEM_FUNCTIONS.
From-SVN: r84130
2004-07-05 21:49:20 +02:00
|
|
|
tmake_file=vax/t-memfuncs
|
2000-11-17 11:42:45 +01:00
|
|
|
use_collect2=yes
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
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 03:19:20 +02:00
|
|
|
vax-*-sysv*) # VAXen running system V
|
2000-11-17 11:42:45 +01:00
|
|
|
tm_file="${tm_file} vax/vaxv.h"
|
c-decl.c, [...]: Don't check TARGET_MEM_FUNCTIONS.
* c-decl.c, config/m32r/m32r.c, expr.c, optabs.c: Don't check
TARGET_MEM_FUNCTIONS.
* system.h: Poison TARGET_MEM_FUNCTIONS.
* libfuncs.h (LTI_bcopy, LTI_bcmp, LTI_bzero, bcopy_libfunc,
bcmp_libfunc, bzero_libfunc): Remove.
* optabs.c (init_obtabs): Don't set bcopy_libfunc, bcmp_libfunc or
bzero_libfunc.
* doc/tm.texi (TARGET_MEM_FUNCTIONS): Remove.
* doc/standards.texi: Don't mention calling BSD string functions.
* doc/invoke.texi: Likewise. Mention that memmove may be called.
* config/vax/t-memfuncs: New.
* config/memcmp.c, config/memcpy.c, config/memmove.c,
config/memset.c: New.
* config/pdp11/t-pdp11 (LIB2FUNCS_EXTRA): Use these files.
* config.gcc (vax-*-bsd*, vax-*-sysv*, vax-*-ultrix*): Use
vax/t-memfuncs.
* config/alpha/alpha.h, config/arc/arc.h, config/arm/arm.h,
config/avr/avr.h, config/c4x/c4x.h, config/cris/aout.h,
config/elfos.h, config/gnu.h, config/h8300/h8300.h,
config/i386/gas.h, config/ia64/ia64.h, config/interix.h,
config/ip2k/ip2k.h, config/lynx-ng.h, config/m32r/m32r.h,
config/mcore/mcore.h, config/mips/mips.h, config/mmix/mmix.h,
config/netbsd.h, config/openbsd.h, config/pa/pa.h,
config/rs6000/rs6000.h, config/rtems.h, config/s390/s390.h,
config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16.h,
config/svr3.h: Don't define TARGET_MEM_FUNCTIONS.
From-SVN: r84130
2004-07-05 21:49:20 +02:00
|
|
|
tmake_file=vax/t-memfuncs
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2002-02-03 22:52:34 +01:00
|
|
|
vax-*-netbsdelf*)
|
[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 22:16:04 +02:00
|
|
|
tm_file="${tm_file} elfos.h netbsd.h netbsd-elf.h vax/elf.h vax/netbsd-elf.h"
|
2002-02-03 22:52:34 +01:00
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
vax-*-netbsd*)
|
2002-01-22 05:23:07 +01:00
|
|
|
tm_file="${tm_file} netbsd.h netbsd-aout.h vax/netbsd.h"
|
2000-11-17 11:42:45 +01:00
|
|
|
tmake_file=t-netbsd
|
2002-11-25 00:36:26 +01:00
|
|
|
extra_parts=""
|
2002-01-28 19:20:58 +01:00
|
|
|
use_collect2=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
|
|
|
vax-*-openbsd*)
|
Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* config.gcc (*-*-openbsd): Don't set tm_file.
(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
xscale-*-coff): Use explicit and complete lists of target headers
to include. Move definitions to tm_defines where appropriate.
(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
not-yet-contributed configuration.
* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
* config/i386/nto.h, config/iq2000/iq2000.h,
* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
* config/m68k/linux.h, config/m68k/m68k-aout.h
* config/m68k/m68k-none.h, config/m68k/m68kv4.h
* config/m68k/netbsd.h, config/m68k/openbsd.h
* config/m68k/sgs.h, config/mcore/mcore-pe.h,
* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
Remove includes of other target config headers, and
definitions of macros moved to tm_defines lists. Add #undefs
where now necessary to prevent redefinition warnings.
* config/h8300/coff.h: New file split out of...
* config/h8300/elf.h: ...here.
* config/m68k/hp320base.h: New file split out of...
* config/m68k/hp320.h: ...here.
* config/rs6000/lynxbase.h: New file split out of...
* config/rs6000/lynx.h: ...here.
* config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
* config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
* config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
* config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
* config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
Remove unnecessary #ifndef.
* config/s390/s390.h: Prefix #include of s390/fixdfdi.h
[under IN_LIBGCC2] with config/.
From-SVN: r70651
2003-08-21 19:27:29 +02:00
|
|
|
tm_file="vax/vax.h vax/openbsd1.h openbsd.h vax/openbsd.h"
|
2000-11-17 11:42:45 +01:00
|
|
|
use_collect2=yes
|
|
|
|
;;
|
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 03:19:20 +02:00
|
|
|
vax-*-ultrix*) # VAXen running ultrix
|
2000-11-17 11:42:45 +01:00
|
|
|
tm_file="${tm_file} vax/ultrix.h"
|
c-decl.c, [...]: Don't check TARGET_MEM_FUNCTIONS.
* c-decl.c, config/m32r/m32r.c, expr.c, optabs.c: Don't check
TARGET_MEM_FUNCTIONS.
* system.h: Poison TARGET_MEM_FUNCTIONS.
* libfuncs.h (LTI_bcopy, LTI_bcmp, LTI_bzero, bcopy_libfunc,
bcmp_libfunc, bzero_libfunc): Remove.
* optabs.c (init_obtabs): Don't set bcopy_libfunc, bcmp_libfunc or
bzero_libfunc.
* doc/tm.texi (TARGET_MEM_FUNCTIONS): Remove.
* doc/standards.texi: Don't mention calling BSD string functions.
* doc/invoke.texi: Likewise. Mention that memmove may be called.
* config/vax/t-memfuncs: New.
* config/memcmp.c, config/memcpy.c, config/memmove.c,
config/memset.c: New.
* config/pdp11/t-pdp11 (LIB2FUNCS_EXTRA): Use these files.
* config.gcc (vax-*-bsd*, vax-*-sysv*, vax-*-ultrix*): Use
vax/t-memfuncs.
* config/alpha/alpha.h, config/arc/arc.h, config/arm/arm.h,
config/avr/avr.h, config/c4x/c4x.h, config/cris/aout.h,
config/elfos.h, config/gnu.h, config/h8300/h8300.h,
config/i386/gas.h, config/ia64/ia64.h, config/interix.h,
config/ip2k/ip2k.h, config/lynx-ng.h, config/m32r/m32r.h,
config/mcore/mcore.h, config/mips/mips.h, config/mmix/mmix.h,
config/netbsd.h, config/openbsd.h, config/pa/pa.h,
config/rs6000/rs6000.h, config/rtems.h, config/s390/s390.h,
config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16.h,
config/svr3.h: Don't define TARGET_MEM_FUNCTIONS.
From-SVN: r84130
2004-07-05 21:49:20 +02:00
|
|
|
tmake_file=vax/t-memfuncs
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-11-17 11:42:45 +01:00
|
|
|
;;
|
2000-12-04 01:23:35 +01:00
|
|
|
xscale-*-elf)
|
2001-12-06 18:34:55 +01:00
|
|
|
tm_file="arm/xscale-elf.h dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h"
|
2004-08-03 17:22:03 +02:00
|
|
|
tmake_file="arm/t-arm arm/t-xscale-elf"
|
2000-12-04 01:23:35 +01:00
|
|
|
out_file=arm/arm.c
|
|
|
|
md_file=arm/arm.md
|
2002-06-12 03:36:13 +02:00
|
|
|
extra_modes=arm/arm-modes.def
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-12-04 01:23:35 +01:00
|
|
|
;;
|
|
|
|
xscale-*-coff)
|
Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* config.gcc (*-*-openbsd): Don't set tm_file.
(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
xscale-*-coff): Use explicit and complete lists of target headers
to include. Move definitions to tm_defines where appropriate.
(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
not-yet-contributed configuration.
* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
* config/i386/nto.h, config/iq2000/iq2000.h,
* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
* config/m68k/linux.h, config/m68k/m68k-aout.h
* config/m68k/m68k-none.h, config/m68k/m68kv4.h
* config/m68k/netbsd.h, config/m68k/openbsd.h
* config/m68k/sgs.h, config/mcore/mcore-pe.h,
* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
Remove includes of other target config headers, and
definitions of macros moved to tm_defines lists. Add #undefs
where now necessary to prevent redefinition warnings.
* config/h8300/coff.h: New file split out of...
* config/h8300/elf.h: ...here.
* config/m68k/hp320base.h: New file split out of...
* config/m68k/hp320.h: ...here.
* config/rs6000/lynxbase.h: New file split out of...
* config/rs6000/lynx.h: ...here.
* config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
* config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
* config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
* config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
* config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
Remove unnecessary #ifndef.
* config/s390/s390.h: Prefix #include of s390/fixdfdi.h
[under IN_LIBGCC2] with config/.
From-SVN: r70651
2003-08-21 19:27:29 +02:00
|
|
|
tm_file="arm/semi.h arm/aout.h arm/coff.h dbxcoff.h arm/xscale-coff.h arm/arm.h"
|
2004-08-03 17:22:03 +02:00
|
|
|
tmake_file="arm/t-arm arm/t-xscale-coff"
|
2000-12-04 01:23:35 +01:00
|
|
|
out_file=arm/arm.c
|
|
|
|
md_file=arm/arm.md
|
2002-06-12 03:36:13 +02:00
|
|
|
extra_modes=arm/arm-modes.def
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2000-12-04 01:23:35 +01:00
|
|
|
;;
|
2001-11-09 06:32:46 +01:00
|
|
|
xstormy16-*-elf)
|
|
|
|
# For historical reasons, the target files omit the 'x'.
|
2001-12-06 18:34:55 +01:00
|
|
|
tm_file="dbxelf.h elfos.h svr4.h stormy16/stormy16.h"
|
2001-11-09 06:32:46 +01:00
|
|
|
tm_p_file=stormy16/stormy16-protos.h
|
|
|
|
md_file=stormy16/stormy16.md
|
|
|
|
out_file=stormy16/stormy16.c
|
2005-04-04 09:47:01 +02:00
|
|
|
extra_options=stormy16/stormy16.opt
|
2001-11-09 06:32:46 +01:00
|
|
|
tmake_file="stormy16/t-stormy16"
|
|
|
|
extra_parts="crtbegin.o crtend.o"
|
2003-09-30 12:16:39 +02:00
|
|
|
use_fixproto=yes
|
2001-11-09 06:32:46 +01:00
|
|
|
;;
|
2002-01-23 22:03:53 +01:00
|
|
|
xtensa-*-elf*)
|
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h xtensa/elf.h"
|
2003-01-24 22:51:03 +01:00
|
|
|
tmake_file="xtensa/t-xtensa xtensa/t-elf"
|
2002-01-23 22:03:53 +01:00
|
|
|
;;
|
|
|
|
xtensa-*-linux*)
|
|
|
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h xtensa/linux.h"
|
2004-03-01 16:12:57 +01:00
|
|
|
tmake_file="${tmake_file} xtensa/t-xtensa xtensa/t-linux"
|
2002-01-23 22:03:53 +01:00
|
|
|
;;
|
2003-07-10 06:50:15 +02:00
|
|
|
am33_2.0-*-linux*)
|
|
|
|
tm_file="mn10300/mn10300.h dbxelf.h elfos.h linux.h mn10300/linux.h"
|
2004-03-01 16:12:57 +01:00
|
|
|
tmake_file="${tmake_file} mn10300/t-linux"
|
2003-07-10 06:50:15 +02:00
|
|
|
gas=yes gnu_ld=yes
|
|
|
|
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
|
|
|
|
use_collect2=no
|
|
|
|
;;
|
2005-07-21 01:27:02 +02:00
|
|
|
m32c-*-elf*)
|
|
|
|
tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
|
|
|
|
c_target_objs="m32c-pragma.o"
|
|
|
|
cxx_target_objs="m32c-pragma.o"
|
|
|
|
use_fixproto=yes
|
|
|
|
;;
|
2000-11-17 11:42:45 +01:00
|
|
|
*)
|
2003-09-23 23:51:44 +02:00
|
|
|
echo "*** Configuration ${target} not supported" 1>&2
|
2000-11-17 11:42:45 +01:00
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2004-08-03 21:52:52 +02:00
|
|
|
case ${target} in
|
|
|
|
i[34567]86-*-linux*aout* | i[34567]86-*-linux*libc1)
|
|
|
|
tmake_file="${tmake_file} i386/t-gmm_malloc"
|
|
|
|
;;
|
|
|
|
i[34567]86-*-linux* | x86_64-*-linux*)
|
|
|
|
tmake_file="${tmake_file} i386/t-pmm_malloc"
|
|
|
|
;;
|
|
|
|
i[34567]86-*-* | x86_64-*-*)
|
|
|
|
tmake_file="${tmake_file} i386/t-gmm_malloc"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2003-06-04 19:42:53 +02:00
|
|
|
# Support for --with-cpu and related options (and a few unrelated options,
|
2003-09-01 19:30:41 +02:00
|
|
|
# too).
|
2003-09-24 23:34:14 +02:00
|
|
|
case ${with_cpu} in
|
|
|
|
yes | no)
|
|
|
|
echo "--with-cpu must be passed a value" 1>&2
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
2003-06-04 19:44:03 +02:00
|
|
|
|
2003-09-24 23:34:14 +02:00
|
|
|
# If there is no $with_cpu option, try to infer one from ${target}.
|
|
|
|
# This block sets nothing except for with_cpu.
|
|
|
|
if test x$with_cpu = x ; then
|
|
|
|
case ${target} in
|
|
|
|
ep9312-*-*)
|
|
|
|
# A Cirrus ARM variant.
|
|
|
|
with_cpu="ep9312"
|
|
|
|
;;
|
invoke.texi (generic): Document (i686) Update.
* invoke.texi (generic): Document
(i686) Update.
* config.gcc: Make x86_64-* and i686-* default to generic tunning.
* i386.h (TARGET_GENERIC32, TARGET_GENERIC64, TARGET_GENERIC,
TARGET_USE_INCDEC, TARGET_PAD_RETURNS): New macros.
(x86_use_incdec, x86_pad_returns): New variables
(TARGET_CPU_DEFAULT_generic): New constant
(TARGET_CPU_DEFAULT_NAMES): Add generic.
(enum processor_type): Add generic32 and generic64.
* i386.md (cpu attribute): Add generic32/generic64
(movhi splitter): Behave sanely when both partial_reg_dependency and
partial_reg_stall are set.
(K8 splitters): Enable for generic as well.
* predicates.md (incdec_operand): Use TARGET_INCDEC
(aligned_operand): Avoid memory mismatch stalls.
* athlon.md: Enable for generic64, new patterns for 128bit moves.
* ppro.md: Enable for generic32
* i386.c (generic64_cost, generic32_cost): New.
(m_GENERIC32, m_GENERIC64, m_GENERIC): New macros.
(x86_use_leave): Enable for generic64. (x86_use_sahf,
x86_ext_80387_constants): Enable for generic32. (x86_push_memory,
x86_movx, x86_unroll_strlen, x86_deep_branch, x86_use_simode_fiop,
x86_use_cltd, x86_promote_QImode, x86_sub_esp_4, x86_sub_esp_8,
x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves,
x86_partial_reg_dependency, x86_memory_mismatch_stall,
x86_accumulate_outgoing_args, x86_prologue_using_move,
x86_epilogue_using_move, x86_arch_always_fancy_math_387,
x86_sse_partial_reg_dependency, x86_four_jump_limit, x86_schedule):
Enable for generic.
(x86_use_incdec, x86_pad_returns): New.
(override_options): Add generic32 and generic64, translate "generic"
to generic32/generic64 and "i686" to "generic32", refuse
"generic32"/"generic64" as arch target.
(ix86_issue_rate, ix86_adjust_cost): Handle generic as athlon.
(ix86_reorg): Honor PAD_RETURNS.
Co-Authored-By: Evandro Menezes <evandro.menezes@amd.com>
Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>
From-SVN: r109971
2006-01-19 18:10:24 +01:00
|
|
|
i386-*-*)
|
|
|
|
with_cpu=i386
|
|
|
|
;;
|
2003-09-24 23:34:14 +02:00
|
|
|
i486-*-*)
|
|
|
|
with_cpu=i486
|
|
|
|
;;
|
|
|
|
i586-*-*)
|
2003-10-14 21:07:21 +02:00
|
|
|
case ${target_noncanonical} in
|
2003-09-24 23:34:14 +02:00
|
|
|
k6_2-*)
|
|
|
|
with_cpu=k6-2
|
|
|
|
;;
|
|
|
|
k6_3-*)
|
|
|
|
with_cpu=k6-3
|
|
|
|
;;
|
|
|
|
k6-*)
|
|
|
|
with_cpu=k6
|
|
|
|
;;
|
|
|
|
pentium_mmx-*|winchip_c6-*|winchip2-*|c3-*)
|
|
|
|
with_cpu=pentium-mmx
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
with_cpu=pentium
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
;;
|
|
|
|
i686-*-* | i786-*-*)
|
2003-10-14 21:07:21 +02:00
|
|
|
case ${target_noncanonical} in
|
2004-01-06 18:31:10 +01:00
|
|
|
k8-*|opteron-*|athlon_64-*)
|
2003-09-24 23:34:14 +02:00
|
|
|
with_cpu=k8
|
|
|
|
;;
|
|
|
|
athlon_xp-*|athlon_mp-*|athlon_4-*)
|
|
|
|
with_cpu=athlon-4
|
|
|
|
;;
|
|
|
|
athlon_tbird-*|athlon-*)
|
|
|
|
with_cpu=athlon
|
|
|
|
;;
|
|
|
|
pentium2-*)
|
|
|
|
with_cpu=pentium2
|
|
|
|
;;
|
2004-02-26 22:43:37 +01:00
|
|
|
pentium3-*|pentium3m-*)
|
2003-09-24 23:34:14 +02:00
|
|
|
with_cpu=pentium3
|
|
|
|
;;
|
2004-02-26 22:43:37 +01:00
|
|
|
pentium4-*|pentium4m-*)
|
2003-09-24 23:34:14 +02:00
|
|
|
with_cpu=pentium4
|
|
|
|
;;
|
2004-02-26 22:43:37 +01:00
|
|
|
prescott-*)
|
|
|
|
with_cpu=prescott
|
|
|
|
;;
|
|
|
|
nocona-*)
|
|
|
|
with_cpu=nocona
|
|
|
|
;;
|
|
|
|
pentium_m-*)
|
|
|
|
with_cpu=pentium-m
|
|
|
|
;;
|
invoke.texi (generic): Document (i686) Update.
* invoke.texi (generic): Document
(i686) Update.
* config.gcc: Make x86_64-* and i686-* default to generic tunning.
* i386.h (TARGET_GENERIC32, TARGET_GENERIC64, TARGET_GENERIC,
TARGET_USE_INCDEC, TARGET_PAD_RETURNS): New macros.
(x86_use_incdec, x86_pad_returns): New variables
(TARGET_CPU_DEFAULT_generic): New constant
(TARGET_CPU_DEFAULT_NAMES): Add generic.
(enum processor_type): Add generic32 and generic64.
* i386.md (cpu attribute): Add generic32/generic64
(movhi splitter): Behave sanely when both partial_reg_dependency and
partial_reg_stall are set.
(K8 splitters): Enable for generic as well.
* predicates.md (incdec_operand): Use TARGET_INCDEC
(aligned_operand): Avoid memory mismatch stalls.
* athlon.md: Enable for generic64, new patterns for 128bit moves.
* ppro.md: Enable for generic32
* i386.c (generic64_cost, generic32_cost): New.
(m_GENERIC32, m_GENERIC64, m_GENERIC): New macros.
(x86_use_leave): Enable for generic64. (x86_use_sahf,
x86_ext_80387_constants): Enable for generic32. (x86_push_memory,
x86_movx, x86_unroll_strlen, x86_deep_branch, x86_use_simode_fiop,
x86_use_cltd, x86_promote_QImode, x86_sub_esp_4, x86_sub_esp_8,
x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves,
x86_partial_reg_dependency, x86_memory_mismatch_stall,
x86_accumulate_outgoing_args, x86_prologue_using_move,
x86_epilogue_using_move, x86_arch_always_fancy_math_387,
x86_sse_partial_reg_dependency, x86_four_jump_limit, x86_schedule):
Enable for generic.
(x86_use_incdec, x86_pad_returns): New.
(override_options): Add generic32 and generic64, translate "generic"
to generic32/generic64 and "i686" to "generic32", refuse
"generic32"/"generic64" as arch target.
(ix86_issue_rate, ix86_adjust_cost): Handle generic as athlon.
(ix86_reorg): Honor PAD_RETURNS.
Co-Authored-By: Evandro Menezes <evandro.menezes@amd.com>
Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>
From-SVN: r109971
2006-01-19 18:10:24 +01:00
|
|
|
pentiumpro-*)
|
2003-09-24 23:34:14 +02:00
|
|
|
with_cpu=pentiumpro
|
|
|
|
;;
|
invoke.texi (generic): Document (i686) Update.
* invoke.texi (generic): Document
(i686) Update.
* config.gcc: Make x86_64-* and i686-* default to generic tunning.
* i386.h (TARGET_GENERIC32, TARGET_GENERIC64, TARGET_GENERIC,
TARGET_USE_INCDEC, TARGET_PAD_RETURNS): New macros.
(x86_use_incdec, x86_pad_returns): New variables
(TARGET_CPU_DEFAULT_generic): New constant
(TARGET_CPU_DEFAULT_NAMES): Add generic.
(enum processor_type): Add generic32 and generic64.
* i386.md (cpu attribute): Add generic32/generic64
(movhi splitter): Behave sanely when both partial_reg_dependency and
partial_reg_stall are set.
(K8 splitters): Enable for generic as well.
* predicates.md (incdec_operand): Use TARGET_INCDEC
(aligned_operand): Avoid memory mismatch stalls.
* athlon.md: Enable for generic64, new patterns for 128bit moves.
* ppro.md: Enable for generic32
* i386.c (generic64_cost, generic32_cost): New.
(m_GENERIC32, m_GENERIC64, m_GENERIC): New macros.
(x86_use_leave): Enable for generic64. (x86_use_sahf,
x86_ext_80387_constants): Enable for generic32. (x86_push_memory,
x86_movx, x86_unroll_strlen, x86_deep_branch, x86_use_simode_fiop,
x86_use_cltd, x86_promote_QImode, x86_sub_esp_4, x86_sub_esp_8,
x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves,
x86_partial_reg_dependency, x86_memory_mismatch_stall,
x86_accumulate_outgoing_args, x86_prologue_using_move,
x86_epilogue_using_move, x86_arch_always_fancy_math_387,
x86_sse_partial_reg_dependency, x86_four_jump_limit, x86_schedule):
Enable for generic.
(x86_use_incdec, x86_pad_returns): New.
(override_options): Add generic32 and generic64, translate "generic"
to generic32/generic64 and "i686" to "generic32", refuse
"generic32"/"generic64" as arch target.
(ix86_issue_rate, ix86_adjust_cost): Handle generic as athlon.
(ix86_reorg): Honor PAD_RETURNS.
Co-Authored-By: Evandro Menezes <evandro.menezes@amd.com>
Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>
From-SVN: r109971
2006-01-19 18:10:24 +01:00
|
|
|
*)
|
|
|
|
with_cpu=generic
|
|
|
|
;;
|
2003-09-24 23:34:14 +02:00
|
|
|
esac
|
|
|
|
;;
|
|
|
|
x86_64-*-*)
|
invoke.texi (generic): Document (i686) Update.
* invoke.texi (generic): Document
(i686) Update.
* config.gcc: Make x86_64-* and i686-* default to generic tunning.
* i386.h (TARGET_GENERIC32, TARGET_GENERIC64, TARGET_GENERIC,
TARGET_USE_INCDEC, TARGET_PAD_RETURNS): New macros.
(x86_use_incdec, x86_pad_returns): New variables
(TARGET_CPU_DEFAULT_generic): New constant
(TARGET_CPU_DEFAULT_NAMES): Add generic.
(enum processor_type): Add generic32 and generic64.
* i386.md (cpu attribute): Add generic32/generic64
(movhi splitter): Behave sanely when both partial_reg_dependency and
partial_reg_stall are set.
(K8 splitters): Enable for generic as well.
* predicates.md (incdec_operand): Use TARGET_INCDEC
(aligned_operand): Avoid memory mismatch stalls.
* athlon.md: Enable for generic64, new patterns for 128bit moves.
* ppro.md: Enable for generic32
* i386.c (generic64_cost, generic32_cost): New.
(m_GENERIC32, m_GENERIC64, m_GENERIC): New macros.
(x86_use_leave): Enable for generic64. (x86_use_sahf,
x86_ext_80387_constants): Enable for generic32. (x86_push_memory,
x86_movx, x86_unroll_strlen, x86_deep_branch, x86_use_simode_fiop,
x86_use_cltd, x86_promote_QImode, x86_sub_esp_4, x86_sub_esp_8,
x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves,
x86_partial_reg_dependency, x86_memory_mismatch_stall,
x86_accumulate_outgoing_args, x86_prologue_using_move,
x86_epilogue_using_move, x86_arch_always_fancy_math_387,
x86_sse_partial_reg_dependency, x86_four_jump_limit, x86_schedule):
Enable for generic.
(x86_use_incdec, x86_pad_returns): New.
(override_options): Add generic32 and generic64, translate "generic"
to generic32/generic64 and "i686" to "generic32", refuse
"generic32"/"generic64" as arch target.
(ix86_issue_rate, ix86_adjust_cost): Handle generic as athlon.
(ix86_reorg): Honor PAD_RETURNS.
Co-Authored-By: Evandro Menezes <evandro.menezes@amd.com>
Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>
From-SVN: r109971
2006-01-19 18:10:24 +01:00
|
|
|
case ${target_noncanonical} in
|
|
|
|
k8-*|opteron-*|athlon_64-*)
|
|
|
|
with_cpu=k8
|
|
|
|
;;
|
|
|
|
nocona-*)
|
|
|
|
with_cpu=nocona
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
with_cpu=generic
|
|
|
|
;;
|
|
|
|
esac
|
2003-09-24 23:34:14 +02:00
|
|
|
;;
|
|
|
|
alphaev6[78]*-*-*)
|
|
|
|
with_cpu=ev67
|
|
|
|
;;
|
|
|
|
alphaev6*-*-*)
|
|
|
|
with_cpu=ev6
|
|
|
|
;;
|
|
|
|
alphapca56*-*-*)
|
|
|
|
with_cpu=pca56
|
|
|
|
;;
|
|
|
|
alphaev56*-*-*)
|
|
|
|
with_cpu=ev56
|
|
|
|
;;
|
|
|
|
alphaev5*-*-*)
|
|
|
|
with_cpu=ev5
|
|
|
|
;;
|
2005-07-26 23:22:44 +02:00
|
|
|
frv-*-*linux* | frv400-*-*linux*)
|
Implement FR-V FDPIC ABI support for frv-uclinux and frv-linux.
2004-02-05 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_emit_movsi): Use GOT relocations for
symbols in sections named by the user.
2004-01-30 Alexandre Oliva <aoliva@redhat.com>
* config/frv/linux.h (TARGET_OS_CPP_BUILTINS): New.
2004-01-27 Alexandre Oliva <aoliva@redhat.com>
* config.gcc (frv-*-*linux*): Handle like *-*-linux*.
* config/frv/t-linux (EXTRA_MULTILIB_PARTS): Remove, obviated by
the above.
2004-01-20 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.md (symGOT2reg_hilo, symGOTOFF2reg_hilo): Add
one more pseudo to further improve code generation.
2004-01-19 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.md (movdi_ldd): Introduce explicit indirection
inside UNSPEC.
2004-01-16 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_legitimate_address_p): Added
allow_double_reg_p argument. Adjust all callers. Use it to
decide whether to enable double-register indirect addressing.
(frv_funcdesc_alias_set): Remove.
(frv_expand_fdpic_call): Force non-SYMBOL_REF operand into
register. Emit movdi_ldd.
(ldd_address_operand): New.
* config/frv/frv-protos.h (frv_legitimate_address_p): Adjust.
* config/frv/frv.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
(PREDICATE_CODES): Add ldd_address_operand.
* config/frv/frv.md (movdi_ldd): New.
(symGOT2reg_hilo, symGOTOFF2reg_hilo): Use separate pseudo for
intermediate computations if possible.
(symGOTOFF2reg_i): Fix harmless typo.
2003-12-18 Alexandre Oliva <aoliva@redhat.com>
* unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Cast
relocated p_vaddr to vaddr type.
* config/frv/frv-protos.h (frv_expand_fdpic_call): Return void.
* config/frv/frv.c (frv_get_funcdesc_alias_set): New.
(frv_expand_fdpic_call): Propagate incoming MEM's expr to funcdesc
MEM, or use a funcdesc alias set. Use regular move instead of
ldd.
(dbl_memory_one_insn_operand): Recognize function descriptors by
type or by alias set, and don't split them.
* config/frv/frv.md (call, call_value): Never use call_internal
for fdpic.
(call_internal, call_value_internal): Never match for FDPIC.
(call_fdpicdi, call_fdpicsi, call_value_fdpicdi,
call_value_fdpicsi): Require FDPIC.
(ldd): Removed.
2003-12-17 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.h (CRT_GET_RFIB_DATA): Define for __FRV_FDPIC__.
* unwind-dw2-fde-glibc.c: Don't include elf-fdpic.h any more.
(_Unwind_IteratePhdrCallback): Adjust type of load_base for FRV
FDPIC. Compute data base address.
* config/frv/linux.h (SUBTARGET_DRIVER_SELF_SPECS): Enable -mfdpic
before the other self-specs are processed.
* config/frv/t-linux (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS):
Build with -fPIC.
2003-12-15 Alexandre Oliva <aoliva@redhat.com>
* unwind-dw2-fde-glibc.c: Don't include bits/elf-fdpic.h if
inhibit_libc is defined.
2003-12-12 Alexandre Oliva <aoliva@redhat.com>
* unwind-dw2-fde-glibc.c: Include bits/elf-fdpic.h for
__FRV_FDPIC__.
(__RELOC_POINTER): Define.
(_Unwind_IteratePhdrCallback): Use it.
* config/frv/frv.h (Twrite): Define.
(TRANSFER_FROM_TRAMPOLINE): Use it.
* config/frv/linux.h (INVOKE__main): Undefine.
(Twrite): Override.
2003-12-05 Richard Sandiford <rsandifo@redhat.com>
* doc/invoke.texi (-mlong-calls, -mlinked-fp): Document FRV options.
(-mlibrary-pic): Emphasize that this option generates EABI code.
(-mcpu): Add fr550.
(-mpack): Remove.
2003-11-30 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (int_2word_operand): Reject LABELs, SYMBOL_REFs
and CONSTs in FDPIC mode.
* gcc/config.gcc (with_cpu): Default to fr400 on frv-*-*linux*.
2003-11-29 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv.c (move_source_operand): Don't accept symbolic
constants.
* config/frv/frv.md (*movhi_internal, *movsi_internal): Use an 'n'
rather than 'i' constraint for the 2-instruction alternative.
(*movsi_2word): New, incorporating existing int_2word_operand splitter.
2003-11-29 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Q): Renamed from
EXTRA_CONSTRAINT_FOR_Y.
(EXTRA_CONSTRAINT): Remove handling of 'Y'.
* config/frv/frv.md (*movsi_internal): Remove 'Q' constraint.
(addsi3): Change 'Y' constraint to 'Q'.
2003-11-27 Richard Sandiford <rsandifo@redhat.com>
* reload.c (CONST_POOL_OK_P): New macro.
(find_reloads): Use it to decide whether a constant can be forced
into memory.
* config/frv/frv.h (LEGITIMATE_PIC_OPERAND_P): Return true if the
constant satisfies got12_operand.
(frv_cannot_force_const_mem): Always return true for TARGET_FDPIC.
(frv_legitimate_address_p): Check for valid unspec offsets using
got12_operand rather than frv_legitimate_fdpic_operand_p.
(frv_legitimate_fdpic_operand_p): Delete.
(frv_emit_movsi): Abort if we try to use the FDPIC register during
or after reload.
(frv_legitimate_constant_p): Return LEGITIMATE_PIC_OPERAND_P if
TARGET_FDPIC.
* config/frv/frv.md (*movdf_double): Add alternatives for CONST_DOUBLE.
2003-11-19 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv-protos.h (fdpic_operand, fdpic_got12_operand)
(frv_fdpic_fptr_operand): Don't declare here.
* config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Y): Call got12_operand
rather than fdpic_got12_operand.
(PREDICATE_CODES): Remove symbolic_operand entry. Add entries for
got12_operand and const_unspec_operand.
* config/frv/frv.c (got12_operand): Renamed from fdpic_got12_operand.
(gpr_or_int12_operand, dbl_memory_one_insn_operand): Update calls.
(symbolic_operand): Remove.
(const_unspec_operand): New predicate.
* config/frv/frv.md (*movsi_got): Use got12_operand.
(*movsi_high_got, *movsi_lo_sum_got): Use const_unspec_operand.
2003-11-18 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv-protos.h (frv_output_addr_const_extra): Remove.
* config/frv/frv.h (OUTPUT_ADDR_CONST_EXTRA): Remove definition.
* config/frv/frv.c (frv_unspec): New structure.
(frv_small_data_reloc_p, frv_const_unspec_p): New functions.
(frv_print_operand_memory_reference): Use frv_const_unspec_p to
validate CONST indices. Use frv_output_const_unspec to print them.
(frv_print_operand): Update call to unspec_got_name. Use
frv_output_const_unspec to print constant unspecs.
(frv_legitimate_fdpic_operand_p): Return true if frv_const_unspec_p.
Reject UNSPECs otherwise.
(unspec_got_name): Take the relocation number as argument, not an
rtx containing it.
(frv_output_addr_const_extra): Remove, replacing with...
(frv_output_const_unspec): ...this new function.
(frv_find_base_term): Use frv_const_unspec_p & frv_small_data_reloc_p.
(gpr_or_int12_operand): Use fdpic_got12_operand.
(dbl_memory_one_insn_operand): Likewise.
(fdpic_got12_operand): Use frv_const_unspec_p.
(frv_emit_movsi): Use frv_const_unspec_p to check for CONSTs that
are already legitimate. Use frv_small_data_reloc_p when deciding
whether to use HIGH/LO_SUM for R_FRV_GOTOFF12 and R_FRV_GPREL12.
2003-11-18 Alexandre Oliva <aoliva@redhat.com>
* config/frv/t-linux (SHLIB_MAPFILES): Override so as to export...
* config/frv/libgcc-frv.ver: ... frv-specific symbols. New file.
* config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
label, for real this time.
* config/frv/frv.c (frv_local_funcdesc_p): Update to new
representation of visibility.
(fdpic_got12_operand, symbolic_operand): Mark unused arguments as
such.
2003-11-17 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv.h (MASK_LINKED_FP, TARGET_LINKED_FP): New macros.
(TARGET_SWITCHES): Add -mlinked-fp and -mno-linked-fp.
* config/frv/frv.c (frv_override_options): Set MASK_LINKED_FP unless
it was explicitly disabled.
(frv_stack_info): There is no need to save the link register in every
frame unless TARGET_LINKED_FP is true.
(frv_frame_pointer_required): If !TARGET_LINKED_FP, only require a
frame pointer if the stack pointer might change value.
(frv_return_addr_rtx): Check and process "count" argument.
2003-11-14 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv-protos.h (frv_legitimize_address): Remove.
(frv_find_base_term): Declare.
* config/frv/frv.h (LEGITIMIZE_ADDRESS): Do nothing.
(FIND_BASE_TERM): Define.
(PREDICATE_CODES): Remove pic_register_operand, pic_symbolic_operand,
small_data_register_operand, small_data_symbolic_operand. Add
symbolic_operand.
* config/frv/frv.c (const_small_data_p, plus_small_data_p): Delete.
(frv_print_operand_memory_reference, output_move_single): Remove
special handling for unlegitimized sdata addresses.
(frv_legitimate_address_p): Don't allow sums of SDA_BASE_REG
and symbolic addresses.
(frv_legitimize_address, frv_legitimize_fdpic_address): Delete.
(frv_find_base_term): New function.
(int_2word_operand): Check specifically for symbolic address constants.
(pic_register_operand, pic_symbolic_operand): Delete.
(small_data_register_operand, small_data_symbolic_operand): Delete.
(dbl_memory_one_insn_operand): Don't call plus_small_data_p.
Allow UNSPEC_GOT constants if !TARGET_FDPIC.
(move_source_operand): Only accept CONSTs if they're a two-insn
symbolic constant.
(fdpic_got12_operand): Don't require TARGET_FDPIC.
(frv_emit_movsi): Legitimize sdata and -mlibrary-pic addresses
using gen_symGOTOFF2reg*.
(frv_ifcvt_rewrite_mem): Remove (plus gr16 ...) special cases.
(frv_rtx_costs): Give all MEM addresses a cost of 0. Give MEMs
themselves a cost of 3 insns.
* config/mips/mips.md (*movsi_got): Allow for !TARGET_FDPIC too.
Change predicate to symbolic_operand.
(*movsi_high_got, *movsi_lo_sum_got): Likewise.
(*movsi_lda_sdata): Delete.
(*movsi_pic, movsi_high_pic, movsi_lo_sum_pic): Delete.
2003-11-05 Alexandre Oliva <aoliva@redhat.com>
* config.gcc: Add t-slibgcc-elf-ver and support --with-cpu for
frv-*-*linux*.
* config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
label.
* config/frv/frv.h (DRIVER_SELF_SPECS): Add blank before
-multilib-library-pic.
(LINK_SPEC): Add -z text for -mfdpic.
* config/frv/frvbegin.c (__ROFIXUP_LIST__): Don't define on FDPIC.
* config/frv/frvend.c (__ROFIXUP_END__): Likewise.
* config/frv/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC):
Override.
(OPTION_DEFAULT_SPECS, HAS_INIT_SECTION, INIT_SECTION_ASM_OP,
FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION): Define.
* config/frv/t-linux (EXTRA_MULTILIB_PARTS): Use
crtstuff-generated files.
2003-10-31 Alexandre Oliva <aoliva@redhat.com>
* config.gcc: Add frv-*-*linux*.
* config/frv/linux.h, config/frv/t-linux: New.
2003-10-06 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.h (LINK_SPEC): Pass -melf32frvfd to the linker
when -mfdpic even if a linker script is explicitly listed.
2003-10-02 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_override_options): Clear asm_out
unaligned_op for SImode on FDPIC.
(frv_emit_movsi): Use compute_reloc_for_constant to compute the
argument passed to decl_readonly_section.
(frv_assemble_integer): Revert 2003-09-30's change, but make the
whole block run with FDPIC even with -fno-PIC.
2003-10-02 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_cannot_force_const_mem): Don't force
symbol or label plus offset to memory.
(frv_emit_movsi): Emit GPREL only if -mgprel-ro. Emit 32-bit
GOTOFF and GPREL for LABEL_REF.
* config/frv/frv.h (DRIVER_SELF_SPECS): Add -mgprel-ro with
-mfdpic unless -mno-gprel-ro, -fpic or -fpie.
(MASK_GPREL_RO, TARGET_GPREL_RO): New.
(TARGET_SWITCHES): Added gprel-ro and no-gprel-ro.
* doc/invoke.texi: Document them.
2003-09-30 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv-protos.h (frv_gen_GPsym2reg): Declare.
(frv_splittable_got_operand): Removed.
* config/frv/frv.c (frv_cannot_force_const_mem): Reject HIGH and
LO_SUM. Add comments.
(frv_override_options): Moved enabling of FDPIC to
DRIVER_SELF_SPECS. Don't enable MASK_DWORD.
(frv_local_funcdesc_p): Remove unnecessary heck for flag_pie.
(frv_legitimize_fdpic_address): Don't duplicate logic in
frv_emit_movsi.
(frv_gen_GPsym2reg): New.
(unspec_got_name): Added gprel.
(frv_expand_fdpic_call): Add support for inlining PLTs.
(fdpic_fptr_operand): Renamed from frv_fdpic_fptr_operand.
(gpr_or_int12_operand): Added GPREL12.
(pic_symbolic_operand): Match even if !flag_pic for FDPIC.
(small_data_symbolic_operand): Fail if FDPIC.
(fdpic_splittable_got_operand): Removed.
(fdpic_got12_operand): Added GPREL12.
(frv_emit_movsi): Reorganize to avoid duplication. Emit GPREL
when appropriate. Fix sdata GOTOFF.
(frv_legitimate_constant_p): Require legitimate PIC operand for
FDPIC with pic, but only a legitimate fdpic operand for non-pic.
(frv_assemble_integer): Move FDPIC funcdesc handling out of
flag_pic case.
(frv_asm_out_constructor, frv_asm_out_destructor): Abort if
frv_assemble_integer fails.
* config/frv/frv.h (DRIVER_SELF_SPECS): New.
(SUBTARGET_DRIVER_SELF_SPECS): New.
(ASM_SPEC): Don't pass -mno-fdpic.
(LINK_SPEC): Pass -melf32frvfd for FDPIC.
(MASK_INLINE_PLT, TARGET_INLINE_PLT): New.
(TARGET_SWITCHES): Add -minline-plt, -mno-inline-plt and
-multilib-library-pic.
(PREDICATE_CODES): Added fdpic_operand, fdpic_fptr_operand,
condexec_si_media_operator, condexec_sf_add_operator and
condexec_sf_conv_operator. Removed condexec_sf_binary_operator
and condexec_sf_unary_operator.
* config/frv/frv.md (R_FRV_GPREL12, R_FRV_GPRELHI, R_FRV_GPRELLO):
New.
(movsi_got, movsi_high_got, movsi_lo_sum_got): Move before
movsi_internal. Give them internal names. movsi_got has type
int.
(fdpic got splitters): Remove.
(symGPREL2reg, symGPREL2reg_hilo): New.
* config/frv/t-frv (MULTILIB_MATCHES): Don't map -fpic and -fPIC
to -mlibrary-pic. Map -multilib-library-pic to it.
* doc/invoke.texi: -mfdpic, -minline-plt, -multilib-library-pic:
Document.
2003-09-28 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_function_symbol_referenced_p): Declare.
(TARGET_CANNOT_FORCE_CONST_MEM): Define to...
(frv_cannot_force_const_mem): New function.
(const_small_data_p, plus_small_data_p): Update comments on sdata
on FDPIC.
(frv_override_options): Set flag_pie for FDPIC too.
(frv_conditional_register_usage): Mark gr16 and gr17 as non-fixed,
call-saved registers on FDPIC.
(frv_stack_info): Don't preserve the PIC register on FDPIC, and
don't force LR to be preserved.
(frv_expand_prologue): Likewise.
(frv_asm_output_mi_thunk): Use 12-bit funcdesc gotoff for -fpic.
(frv_frame_pointer_required): Don't force it just because the
FDPIC register is used.
(frv_legitimate_address_p) <CONST>: Accept a legitimate FDPIC
operand only if !condexec_p.
(frv_legitimize_address): Return the FDPIC-legitimized address.
Don't match small data here on FDPIC.
(frv_legitimate_fdpic_operand_p): Don't accept unadorned function
symbols. Use TRUE/FALSE instead of 1/0.
(frv_local_funcdesc_p): New.
(frv_legitimize_fdpic_address): Rewrite to use GOTOFF and 12-bit
immediates when possible.
(pic_symbolic_operand): Accept SYMBOL_REFs and CONSTs in FDPIC.
(dbl_memory_one_insn_operand): Accept addresses that add a REG and
an UNSPEC_GOT.
(frv_emit_movsi): Handle FDPIC before small data. Use GOTOFF and
12-bit immediates when possible.
(frv_legitimate_constant_p): In FDPIC, reject SImode operands that
are not legitimate pic operands.
(frv_in_small_data_p): Re-enable for FDPIC.
* config/frv/frv.h (SDA_BASE_REG): Remove comment about FDPIC.
(FRV_GLOBAL_P): Removed.
* config/frv/frv.md: Add modes to CONSTs.
(movsi_got): New.
(movsi_lo_sum_got): Use separate matches instead of match_dup.
(movsi_high_pic, movsi_lo_sum_pic): Match on non-FDPIC only.
(fdpic splittable operations): Match on flag_pic != 1.
2003-09-22 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_asm_out_constructor,
frv_asm_out_destructor): Pass to frv_assemble_integer the size in
bytes, not bits.
2003-09-19 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_assemble_integer): Reject complex
expressions referencing function SYMBOL_REFs.
* config/frv/frv.c (frv_function_symbol_referenced_p): New.
(move_source_operand): Reject CONSTs that reference function
SYMBOL_REFs on FDPIC.
(frv_emit_movsi): If we get such a CONST, break it up.
* config/frv/frv.h (CPP_SPEC): Define __FRV_FDPIC__ for -mfdpic.
(TRANSFER_FROM_TRAMPOLINE): Use different definitions for FDPIC.
* config/frv/frv.c (frv_print_operand) <I>: Recognize PLUS without
MEM.
(frv_assemble_integer): Don't use funcdesc for LABEL_REFs.
(frv_trampoline_size): Increase for FDPIC.
* config/frv/frv.h (TRAMPOLINE_ALIGNMENT): Bump to 64 for FDPIC.
(TRANSFER_FROM_TRAMPOLINE): Handle FDPIC trampolines.
* config/frv/frv.c (frv_legitimize_fdpic_address, frv_emit_movsi):
Disable use of GOTOFF for now.
(const_small_data_p, plus_small_data_p, frv_in_small_data_p):
Disable use of small data in FDPIC for now.
(frv_asm_output_mi_thunk): Implement for FDPIC.
* config/frv/frv.h (SDA_BASE_REG): Set to -1 with FDPIC.
* config/frv/frv.c (frv_asm_out_constructor): Use
frv_assemble_integer for FDPIC pointers.
(frv_asm_out_destructor): Likewise.
* config/frv/frv.md (ldd): Fix order of operands. Use
address_operand for input.
2003-09-18 DJ Delorie <dj@redhat.com>
* config/frv/frv.c (frv_legitimate_fdpic_operand_p): Remove UNSPEC_PIC.
(unspec_got_name): Correct typo.
(frv_emit_movsi): Pre-expand splittable GOTs.
(frv_expand_fdpic_call): Rename gen_lddi to gen_ldd.
* config/frv/frv.md (lddi): Fix syntax error, rename to ldd.
(symGOT2reg_hilo, symGOTOFF2reg_hilo): New.
* config/frv/t-frv: Add -mfdpic multilibs.
* config/frv/frv.h (ASM_SPEC): Pass -mfdpic/-mno-fdpic.
(TARGET_SWITCHES): Add -mno-fdpic, fix documentation.
* config/frv/frv.c (frv_override_options): -mfdpic assumes
flag_pic, default to 32-bit pics, require DWORD ops.
(frv_override_options): Add W and Z constraints.
(frv_expand_prologue): No pic prologue for -mfdpic.
(frv_asm_output_mi_thunk): Support -mfdpic (soon).
(frv_print_operand_memory_reference): Handle GOT constants.
(frv_legitimate_address_p): Allow GOT constants.
(frv_legitimize_address): Handle GOT addresses too.
(frv_legitimate_fdpic_operand_p): New.
(frv_legitimize_fdpic_address): New.
(unspec_got_name): New.
(frv_output_addr_const_extra): New.
(frv_expand_fdpic_call): New.
(frv_fdpic_fptr_operand): New.
(gpr_or_int12_operand): Handle GOT operands.
(int_2word_operand): Handle GOT operands.
(fdpic_operand): New.
(fdpic_splittable_got_operand): New.
(fdpic_got12_operand): New.
(frv_emit_movsi): Handle GOT operands.
(frv_assemble_integer): -mfdpic doesn't use rofixups.
(frv_print_operand): Support 'g' code for GOT operands.
* config/frv/frv-protos.h: Add prototypes as needed.
* config/frv/frv.md (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO,
R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI,
R_FRV_FUNCDESC_GOTLO, R_FRV_FUNCDESC_VALUE,
R_FRV_FUNCDESC_GOTOFF12, R_FRV_FUNCDESC_GOTOFFHI,
R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12, R_FRV_GOTOFFHI,
R_FRV_GOTOFFLO): New.
(movsi_high_got, movsi_lo_sum_got): New.
(*movsi_pic): Don't use this splitter for -mfdpic.
(addsi3): Allow GOT references also.
(call, call_value): Handle -mfdpic separately.
(call_fdpicdi, call_fdpicsi, lddi, call_value_fdpicdi,
call_value_fdpicsi): New.
(symGOT2reg, symGOT2reg_i, got splitters, symGOTOFF2reg,
symGOTOFF2reg_i): New.
* config/frv/frv.h (MASK_FDPIC): New.
(TARGET_FDPIC): New.
(TARGET_SWITCHES): Add -mfdpic.
(FDPIC_FPTR_REGNO): New.
(FDPIC_REGNO): New.
(OUR_FDPIC_REG): New.
(enum reg_class): Add FDPIC_REGS, FDPIC_FPTR_REGS, and
FDPIC_CALL_REGS.
(REG_CLASS_NAMES): Likewise.
(REG_CLASS_CONTENTS): Likewise.
(EXTRA_CONSTRAINT_FOR_Y): New, for 12-bit GOTs.
(EXTRA_CONSTRAINT): Add it here.
(FRV_GLOBAL_P): New.
(OUTPUT_ADDR_CONST_EXTRA): New.
From-SVN: r78373
2004-02-24 17:58:39 +01:00
|
|
|
with_cpu=fr400
|
|
|
|
;;
|
2005-07-26 23:22:44 +02:00
|
|
|
frv550-*-*linux*)
|
|
|
|
with_cpu=fr550
|
|
|
|
;;
|
2003-09-24 23:34:14 +02:00
|
|
|
sparc*-*-*)
|
|
|
|
with_cpu="`echo ${target} | sed 's/-.*$//'`"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
fi
|
2003-06-04 19:44:03 +02:00
|
|
|
|
2004-04-30 14:13:49 +02:00
|
|
|
# Similarly for --with-float
|
2004-04-30 15:14:02 +02:00
|
|
|
if test x$with_float = x; then
|
2004-04-30 14:13:49 +02:00
|
|
|
case ${target} in
|
|
|
|
ep9312-*-*)
|
|
|
|
with_float=hard
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
fi
|
|
|
|
|
2005-03-14 03:23:49 +01:00
|
|
|
# Similarly for --with-schedule.
|
|
|
|
if test x$with_schedule = x; then
|
|
|
|
case ${target} in
|
|
|
|
hppa1* | parisc1*)
|
|
|
|
# Override default PA8000 scheduling model.
|
|
|
|
with_schedule=7100LC
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
fi
|
2003-06-04 19:44:03 +02:00
|
|
|
|
2005-03-14 03:23:49 +01:00
|
|
|
# Validate and mark as valid any --with options supported
|
|
|
|
# by this target. In order to use a particular --with option
|
|
|
|
# you must list it in supported_defaults; validating the value
|
|
|
|
# is optional. This case statement should set nothing besides
|
|
|
|
# supported_defaults.
|
config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic. Set
configure_default_options according to the default CPU, --with-cpu,
--with-arch, --with-tune, --with-schedule, --with-abi, and
--with-float. Check for legal values of various options.
* configure.in: Define configure_default_options in configargs.h.
* configure: Regenerated.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (do_option_spec): New function.
(struct default_spec, option_default_specs): New.
(main): Call do_option_spec.
* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
* doc/install.texi: Update --with-cpu documentation. Mention
--with-arch, --with-schedule, --with-tune, --with-abi, and
--with-float.
* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
From-SVN: r67457
2003-06-04 19:50:44 +02:00
|
|
|
|
2005-03-14 03:23:49 +01:00
|
|
|
supported_defaults=
|
|
|
|
case "${target}" in
|
2003-06-04 19:44:03 +02:00
|
|
|
alpha*-*-*)
|
config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic. Set
configure_default_options according to the default CPU, --with-cpu,
--with-arch, --with-tune, --with-schedule, --with-abi, and
--with-float. Check for legal values of various options.
* configure.in: Define configure_default_options in configargs.h.
* configure: Regenerated.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (do_option_spec): New function.
(struct default_spec, option_default_specs): New.
(main): Call do_option_spec.
* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
* doc/install.texi: Update --with-cpu documentation. Mention
--with-arch, --with-schedule, --with-tune, --with-abi, and
--with-float.
* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
From-SVN: r67457
2003-06-04 19:50:44 +02:00
|
|
|
supported_defaults="cpu tune"
|
|
|
|
for which in cpu tune; do
|
|
|
|
eval "val=\$with_$which"
|
2003-09-25 07:52:28 +02:00
|
|
|
case "$val" in
|
|
|
|
"" \
|
|
|
|
| ev4 | ev45 | 21064 | ev5 | 21164 | ev56 | 21164a \
|
|
|
|
| pca56 | 21164PC | 21164pc | ev6 | 21264 | ev67 \
|
|
|
|
| 21264a)
|
config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic. Set
configure_default_options according to the default CPU, --with-cpu,
--with-arch, --with-tune, --with-schedule, --with-abi, and
--with-float. Check for legal values of various options.
* configure.in: Define configure_default_options in configargs.h.
* configure: Regenerated.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (do_option_spec): New function.
(struct default_spec, option_default_specs): New.
(main): Call do_option_spec.
* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
* doc/install.texi: Update --with-cpu documentation. Mention
--with-arch, --with-schedule, --with-tune, --with-abi, and
--with-float.
* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
From-SVN: r67457
2003-06-04 19:50:44 +02:00
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "Unknown CPU used in --with-$which=$val" 1>&2
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
done
|
|
|
|
;;
|
|
|
|
|
|
|
|
arm*-*-*)
|
2006-03-17 15:48:58 +01:00
|
|
|
supported_defaults="arch cpu float tune fpu abi mode"
|
config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic. Set
configure_default_options according to the default CPU, --with-cpu,
--with-arch, --with-tune, --with-schedule, --with-abi, and
--with-float. Check for legal values of various options.
* configure.in: Define configure_default_options in configargs.h.
* configure: Regenerated.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (do_option_spec): New function.
(struct default_spec, option_default_specs): New.
(main): Call do_option_spec.
* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
* doc/install.texi: Update --with-cpu documentation. Mention
--with-arch, --with-schedule, --with-tune, --with-abi, and
--with-float.
* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
From-SVN: r67457
2003-06-04 19:50:44 +02:00
|
|
|
for which in cpu tune; do
|
2004-04-29 12:28:05 +02:00
|
|
|
# See if it matches any of the entries in arm-cores.def
|
config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic. Set
configure_default_options according to the default CPU, --with-cpu,
--with-arch, --with-tune, --with-schedule, --with-abi, and
--with-float. Check for legal values of various options.
* configure.in: Define configure_default_options in configargs.h.
* configure: Regenerated.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (do_option_spec): New function.
(struct default_spec, option_default_specs): New.
(main): Call do_option_spec.
* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
* doc/install.texi: Update --with-cpu documentation. Mention
--with-arch, --with-schedule, --with-tune, --with-abi, and
--with-float.
* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
From-SVN: r67457
2003-06-04 19:50:44 +02:00
|
|
|
eval "val=\$with_$which"
|
2004-04-30 22:29:23 +02:00
|
|
|
if [ x"$val" = x ] \
|
2004-09-01 14:49:30 +02:00
|
|
|
|| grep "^ARM_CORE(\"$val\"," \
|
2004-04-30 22:29:23 +02:00
|
|
|
${srcdir}/config/arm/arm-cores.def \
|
|
|
|
> /dev/null; then
|
|
|
|
# Ok
|
2004-09-01 14:49:30 +02:00
|
|
|
new_val=`grep "^ARM_CORE(\"$val\"," \
|
|
|
|
${srcdir}/config/arm/arm-cores.def | \
|
|
|
|
sed -e 's/^[^,]*,[ ]*//' | \
|
|
|
|
sed -e 's/,.*$//'`
|
2004-09-01 18:27:05 +02:00
|
|
|
eval "target_${which}_cname=$new_val"
|
2004-09-01 14:49:30 +02:00
|
|
|
echo "For $val real value is $new_val"
|
2004-04-30 22:29:23 +02:00
|
|
|
true
|
|
|
|
else
|
|
|
|
echo "Unknown CPU used in --with-$which=$val" 1>&2
|
|
|
|
exit 1
|
2004-04-29 12:28:05 +02:00
|
|
|
fi
|
config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic. Set
configure_default_options according to the default CPU, --with-cpu,
--with-arch, --with-tune, --with-schedule, --with-abi, and
--with-float. Check for legal values of various options.
* configure.in: Define configure_default_options in configargs.h.
* configure: Regenerated.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (do_option_spec): New function.
(struct default_spec, option_default_specs): New.
(main): Call do_option_spec.
* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
* doc/install.texi: Update --with-cpu documentation. Mention
--with-arch, --with-schedule, --with-tune, --with-abi, and
--with-float.
* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
From-SVN: r67457
2003-06-04 19:50:44 +02:00
|
|
|
done
|
|
|
|
|
2003-09-25 07:52:28 +02:00
|
|
|
case "$with_arch" in
|
|
|
|
"" \
|
backport: re PR target/12476 (ARM/THUMB thunk calls broken)
Merge from csl-arm-branch.
2004-01-30 Paul Brook <paul@codesourcery.com>
* aof.h (REGISTER_NAMES): Add vfp reg names
(ADDITIONAL_REGISTER_NAMES): Ditto.
* aout.h (REGISTER_NAMES): Ditto.
(ADDITIONAL_REGISTER_NAMES): Ditto.
* arm-protos.h: Update/Add Prototypes.
* arm.c (init_fp_table): Rename from init_fpa_table. Update users.
Only allow 0.0 for VFP.
(fp_consts_inited): Rename from fpa_consts_inited. Update users.
(values_fp): Rename from values_fpa. Update Users.
(arm_const_double_rtx): Rename from const_double_rtx_ok_for_fpa.
Update users. Only check valid constants for this hardware.
(arm_float_rhs_operand): Rename from fpa_rhs_operand. Update Users.
Only allow consts for FPA.
(arm_float_add_operand): Rename from fpa_add_operand. Update users.
Only allow consts for FPA.
(use_return_insn): Check for saved VFP regs.
(arm_legitimate_address_p): Handle VFP DFmode addressing.
(arm_legitimize_address): Ditto.
(arm_general_register_operand): New function.
(vfp_mem_operand): New function.
(vfp_compare_operand): New function.
(vfp_secondary_reload_class): New function.
(arm_float_compare_operand): New function.
(vfp_print_multi): New function.
(vfp_output_fstmx): New function.
(vfp_emit_fstm): New function.
(arm_output_epilogue): Output VPF reg restore code.
(arm_expand_prologue): Output VFP reg save code.
(arm_print_operand): Add 'P'.
(arm_hard_regno_mode_ok): Return modes for VFP regs.
(arm_regno_class): Return classes for VFP regs.
(arm_compute_initial_elimination_offset): Include space for VFP regs.
(arm_get_frame_size): Ditto.
* arm.h (FIXED_REGISTERS): Add VFP regs.
(CALL_USED_REGISTERS): Ditto.
(CONDITIONAL_REGISTER_USAGE): Enable VFP regs.
(FIRST_VFP_REGNUM): Define.
(LAST_VFP_REGNUM): Define.
(IS_VFP_REGNUM): Define.
(FIRST_PSEUDO_REGISTER): Include VFP regs.
(HARD_REGNO_NREGS): Handle VFP regs.
(REG_ALLOC_ORDER): Add VFP regs.
(enum reg_class): Add VFP_REGS.
(REG_CLASS_NAMES): Ditto.
(REG_CLASS_CONTENTS): Ditto.
(CANNOT_CHANGE_MODE_CLASS) Handle VFP Regs.
(REG_CLASS_FROM_LETTER): Add 'w'.
(EXTRA_CONSTRAINT_ARM): Add 'U'.
(EXTRA_MEMORY_CONSTRAINT): Define.
(SECONDARY_OUTPUT_RELOAD_CLASS): Handle VFP regs.
(SECONDARY_INPUT_RELOAD_CLASS): Ditto.
(REGISTER_MOVE_COST): Ditto.
(PREDICATE_CODES): Add arm_general_register_operand,
arm_float_compare_operand and vfp_compare_operand.
* arm.md (various): Rename as above.
(divsf3): Enable when TARGET_VFP.
(divdf3): Ditto.
(movdfcc): Ditto.
(sqrtsf2): Ditto.
(sqrtdf2): Ditto.
(arm_movdi): Disable when TARGET_VFP.
(arm_movsi_insn): Ditto.
(movsi): Only split with general regs.
(cmpsf): Use arm_float_compare_operand.
(push_fp_multi): Restrict to TARGET_FPA.
(vfp.md): Include.
* vfp.md: New file.
* fpa.md (various): Rename as above.
* doc/md.texi: Document ARM w and U constraints.
2004-01-15 Paul Brook <paul@codesourcery.com>
* config.gcc: Add with_fpu. Allow with-float=softfp.
* config/arm/arm.c (arm_override_options): Rename *-s to *s.
Break out of loop when we find a float-abi. Fix typo.
* config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "fpu".
Set -mfloat-abi=.
* doc/install.texi: Document --with-fpu.
2003-01-14 Paul Brook <paul@codesourcery.com>
* config.gcc (with_arch): Add armv6.
* config/arm/arm.h: Rename TARGET_CPU_*_s to TARGET_CPU_*s.
* config/arm/arm.c (arm_overrride_options): Ditto.
2004-01-08 Richard Earnshaw <rearnsha@arm.com>
* arm.c (FL_ARCH3M): Renamed from FL_FAST_MULT.
(FL_ARCH6): Renamed from FL_ARCH6J.
(arm_arch3m): Renamed from arm_fast_multiply.
(arm_arch6): Renamed from arm_arch6j.
* arm.h: Update all uses of above.
* arm-cores.def: Likewise.
* arm.md: Likewise.
* arm.h (CPP_CPU_ARCH_SPEC): Emit __ARM_ARCH_6J__ define for armV6j,
not arm6j. Add entry for arch armv6.
2004-01-07 Richard Earnshaw <rearnsha@arm.com>
* arm.c (arm_emit_extendsi): Delete.
* arm-protos.h (arm_emit_extendsi): Delete.
* arm.md (zero_extendhisi2): Also handle zero-extension of
non-subregs.
(zero_extendqisi2, extendhisi2, extendqisi2): Likewise.
(thumb_zero_extendhisi2): Only match if not v6.
(arm_zero_extendhisi2, thumb_zero_extendqisi2, arm_zero_extendqisi2)
(thumb_extendhisi2, arm_extendhisi2, arm_extendqisi)
(thumb_extendqisi2): Likewise.
(thumb_zero_extendhisi2_v6, arm_zero_extendhisi2_v6): New patterns.
(thumb_zero_extendqisi2_v6, arm_zero_extendqisi2_v6): New patterns.
(thumb_extendhisi2_insn_v6, arm_extendhisi2_v6): New patterns.
(thumb_extendqisi2_v6, arm_extendqisi_v6): New patterns.
(arm_zero_extendhisi2_reg, arm_zero_extendqisi2_reg): Delete.
(arm_extendhisi2_reg, arm_extendqisi2_reg): Delete.
(arm_zero_extendhisi2addsi): Remove subreg. Add attributes.
(arm_zero_extendqisi2addsi, arm_extendhisi2addsi): Likewise.
(arm_extendqisi2addsi): Likewise.
2003-12-31 Mark Mitchell <mark@codesourcery.com>
Revert this change:
* config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG
+ REG addressing modes.
* config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG
+ REG addressing modes.
2003-12-30 Mark Mitchell <mark@codesourcery.com>
* config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept
CONSTANT_P_RTX.
2003-30-12 Paul Brook <paul@codesourcery.com>
* longlong.h: protect arm inlines with !defined (__thumb__)
2003-30-12 Paul Brook <paul@codesourcery.com>
* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Always define __arm__.
2003-12-30 Nathan Sidwell <nathan@codesourcery.com>
* builtins.c (expand_builtin_apply_args_1): Fix typo in previous
change.
2003-12-29 Nathan Sidwell <nathan@codesourcery.com>
* builtins.c (expand_builtin_apply_args_1): Add pretend args size
to the virtual incoming args pointer for downward stacks.
2003-12-29 Paul Brook <paul@codesourcery.com>
* config/arm/arm-cores.def: Add cost function.
* config/arm/arm.c (arm_*_rtx_costs): New functions.
(arm_rtx_costs): Remove
(struct processors): Add rtx_costs field.
(all_cores, all_architectures): Ditto.
(arm_override_options): Set targetm.rtx_costs.
(thumb_rtx_costs): New function.
(arm_rtx_costs_1): Remove cases handled elsewhere.
* config/arm/arm.h (processor_type): Add COSTS parameter.
2003-12-29 Nathan Sidwell <nathan@codesourcery.com>
* config/arm/arm.md (generic_sched): arm926 has its own scheduler.
(arm926ejs.md): Include it.
* config/arm/arm926ejs.md: New pipeline description.
2003-12-24 Paul Brook <paul@codesourcery.com>
* config/arm/arm.c (arm_arch6j): New variable.
(arm_override_options): Set it.
(arm_emit_extendsi): New function.
* config/arm/arm-protos.h (arm_emit_extendsi): Add prototype.
* config/arm/arm.h (arm_arch6j): Declare.
* config/arm/arm.md: Add sign/zero extend insns.
2003-12-23 Paul Brook <paul@codesourcery.com>
* config/arm/arm.c (all_architectures): Add armv6.
* doc/invoke.texi: Document it.
2003-12-19 Paul Brook <paul@codesourcery.com>
* config/arm/arm.md: Add load1 and load_byte "type" attrs. Modify
insn patterns to match.
* config/arm/arm-generic.md: Ditto.
* config/arm/cirrus.md: Ditto.
* config/arm/fpa.md: Ditto.
* config/amm/iwmmxt.md: Ditto.
* config/arm/arm1026ejs.md: Ditto.
* config/arm/arm1135jfs.md: Ditto. Add insn_reservation and bypasses
for 11_loadb.
2003-12-18 Nathan Sidwell <nathan@codesourcery.com>
* config/arm/arm-protos.h (arm_no_early_alu_shift_value_dep): Declare.
* config/arm/arm.c (arm_adjust_cost): Check shift cost for
TYPE_ALU_SHIFT and TYPE_ALU_SHIFT_REG.
(arm_no_early_store_addr_dep, arm_no_early_alu_shift_dep,
arm_no_early_mul_dep): Correctly deal with conditional execution,
parallels and single shift operations.
(arm_no_early_alu_shift_value_dep): Define.
* arm.md (attr type): Replace 'normal' with 'alu',
'alu_shift' and 'alu_shift_reg'.
(attr core_cycles): Adjust.
(*addsi3_carryin_shift, andsi_not_shiftsi_si, *arm_shiftsi3,
*shiftsi3_compare0, *notsi_shiftsi, *notsi_shiftsi_compare0,
*not_shiftsi_compare0_scratch, *cmpsi_shiftsi, *cmpsi_shiftsi_swp,
*cmpsi_neg_shiftsi, *arith_shiftsi, *arith_shiftsi_compare0,
*arith_shiftsi_compare0_scratch, *sub_shiftsi,
*sub_shiftsi_compare0, *sub_shiftsi_compare0_scratch,
*if_shift_move, *if_move_shift, *if_shift_shift): Set type
attribute appropriately.
* config/arm/arm1026ejs.md (alu_op): Adjust.
(alu_shift_op, alu_shift_reg_op): New.
* config/arm/arm1136.md: Add better bypasses for early
registers. Remove load[234] and store[234] bypasses.
(11_alu_op): Adjust.
(11_alu_shift_op, 11_alu_shift_reg_op): New.
2003-12-15 Nathan Sidwell <nathan@codesourcery.com>
* config/arm/arm-protos.h (arm_no_early_store_addr_dep,
arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Declare.
* config/arm/arm.c (arm_no_early_store_addr_dep,
arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Define.
* config/arm/arm1026ejs.md: Add load-store bypass.
* config/arm/arm1136jfs.md (11_alu_op): Take 2 cycles.
Add bypasses between instructions.
2003-12-10 Paul Brook <paul@codesourcery.com>
* config/arm/arm.c (arm_fpu_model): New variable.
(arm_fload_abi): New variable.
(target_fpe_name): Rename from target_fp_name.
(target_fpu_name): New variable.
(arm_is_cirrus): Remove.
(fpu_desc): New struct.
(all_fpus): Define.
(pf_model_for_fpu): Define.
(all_loat_abis): Define.
(arm_override_options): Set fp arch flags based on -mfpu=
and -float-abi=.
(FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM.
(LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM.
(*): Use new TARGET_* flags.
* config/arm/arm.h (TARGET_ANY_HARD_FLOAT): Remove.
(TARGET_HARD_FLOAT): No longer implies TARGET_FPA.
(TARGET_SOFT_FLOAT): Ditto.
(TARGET_SOFT_FLOAT_ABI): New.
(TARGET_MAVERICK): Rename from TARGET_CIRRUS. No longer implies
TARGET_HARD_FLOAT.
(TARGET_VFP): No longer implies TARGET_HARD_FLOAT.
(TARGET_OPTIONS): Add -mfpu=.
(FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM.
(LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM.
(arm_pf_model): Define.
(arm_float_abi_type): Define.
(fputype): Add FPUTYPE_VFP. Change SOFT_FPA->NONE
* config/arm/arm.md: Use new TARGET_* flags.
* config/arm/cirrus.md: Ditto.
* config/arm/fpa.md: Ditto.
* config/arm/elf.h (ASM_SPEC): Pass -mfloat-abi= and -mfpu=.
* config/arm/semi.h (ASM_SPEC): Ditto.
* config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Specify vfp.
(FPUTYPE_DEFAULT): Set to VFP.
* doc/invoke.texi: Document -mfpu= and -mfloat-abi=.
2003-11-22 Phil Edwards <phil@codesourcery.com>
PR target/12476
* config/arm/arm.c (arm_output_mi_thunk): In Thumb mode, use
'bx' instead of 'b' to avoid branch range restrictions. Output
the thunk immediately before the thunked-to function.
* config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Do not emit
.thumb_func if a thunk is being generated. Emit .code 16 along
with .thumb_func if a thunk is not being generated.
2003-11-15 Nicolas Pitre <nico@cam.org>
* config/arm/arm.md (ashldi3, arm_ashldi3_1bit, ashrdi3,
arm_ashrdi3_1bit, lshrdi3, arm_lshrdi3_1bit): New patterns.
* config/arm/iwmmxt.md (ashrdi3_iwmmxt): Renamed from ashrdi3.
(lshrdi3_iwmmxt): Renamed from lshrdi3.
* config/arm/arm.c (IWMMXT_BUILTIN2): Renamed argument accordingly.
2003-11-12 Steve Woodford <scw@wasabisystems.com>
Ian Lance Taylor <ian@wasabisystems.com>
* config/arm/lib1funcs.asm (ARM_DIV_BODY, ARM_MOD_BODY): Add new
code for __ARM_ARCH__ >= 5 && ! defined (__OPTIMIZE_SIZE__).
2003-11-05 Phil Edwards <phil@codesourcery.com>
* config/arm/arm.md (insn): Add new V6 instruction names.
(generic_sched): New attr.
* config/arm/arm-generic.md: Use generic_sched here.
* config/arm/arm1026ejs.md: Do not model fetch/issue/decode
stages of pipeline. Adjust latency counts accordingly.
* config/arm/arm1136jfs.md: New file.
2003-10-28 Mark Mitchell <mark@codesourcery.com>
* config/arm/arm.h (processor_type): New enumeration type.
(CPP_ARCH_DEFAULT_SPEC): Set appropriately for ARM 926EJ-S,
ARM1026EJ-S, ARM1136J-S, and ARM1136JF-S processor cores.
(CPP_CPU_ARCH_SPEC): Likewise.
* config/arm/arm.c (arm_tune): New variable.
(all_cores): Use cores.def.
(all_architectures): Add representative processor.
(arm_override_options): Restructure way in which tuning
information is deduced.
* arm.md: Update "insn" and "type" attributes throughout.
(insn): New attribute.
(type): Compute "mult" from "insn" attribute. Add load2,
load3, load4 alternatives.
(arm automaton): Move to arm-generic.md.
* config/arm/arm-cores.def: New file.
* config/arm/arm-generic.md: Likewise.
* config/arm/arm1026ejs.md: Likewise.
From-SVN: r77171
2004-02-03 15:45:44 +01:00
|
|
|
| armv[23456] | armv2a | armv3m | armv4t | armv5t \
|
2004-10-12 17:38:30 +02:00
|
|
|
| armv5te | armv6j |armv6k | armv6z | armv6zk \
|
|
|
|
| iwmmxt | ep9312)
|
2003-06-04 19:44:03 +02:00
|
|
|
# OK
|
2001-06-08 01:21:29 +02:00
|
|
|
;;
|
|
|
|
*)
|
config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic. Set
configure_default_options according to the default CPU, --with-cpu,
--with-arch, --with-tune, --with-schedule, --with-abi, and
--with-float. Check for legal values of various options.
* configure.in: Define configure_default_options in configargs.h.
* configure: Regenerated.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (do_option_spec): New function.
(struct default_spec, option_default_specs): New.
(main): Call do_option_spec.
* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
* doc/install.texi: Update --with-cpu documentation. Mention
--with-arch, --with-schedule, --with-tune, --with-abi, and
--with-float.
* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
From-SVN: r67457
2003-06-04 19:50:44 +02:00
|
|
|
echo "Unknown arch used in --with-arch=$with_arch" 1>&2
|
2003-06-04 19:44:03 +02:00
|
|
|
exit 1
|
2003-06-04 19:42:53 +02:00
|
|
|
;;
|
|
|
|
esac
|
2003-06-04 19:44:03 +02:00
|
|
|
|
2003-09-25 07:52:28 +02:00
|
|
|
case "$with_float" in
|
|
|
|
"" \
|
backport: re PR target/12476 (ARM/THUMB thunk calls broken)
Merge from csl-arm-branch.
2004-01-30 Paul Brook <paul@codesourcery.com>
* aof.h (REGISTER_NAMES): Add vfp reg names
(ADDITIONAL_REGISTER_NAMES): Ditto.
* aout.h (REGISTER_NAMES): Ditto.
(ADDITIONAL_REGISTER_NAMES): Ditto.
* arm-protos.h: Update/Add Prototypes.
* arm.c (init_fp_table): Rename from init_fpa_table. Update users.
Only allow 0.0 for VFP.
(fp_consts_inited): Rename from fpa_consts_inited. Update users.
(values_fp): Rename from values_fpa. Update Users.
(arm_const_double_rtx): Rename from const_double_rtx_ok_for_fpa.
Update users. Only check valid constants for this hardware.
(arm_float_rhs_operand): Rename from fpa_rhs_operand. Update Users.
Only allow consts for FPA.
(arm_float_add_operand): Rename from fpa_add_operand. Update users.
Only allow consts for FPA.
(use_return_insn): Check for saved VFP regs.
(arm_legitimate_address_p): Handle VFP DFmode addressing.
(arm_legitimize_address): Ditto.
(arm_general_register_operand): New function.
(vfp_mem_operand): New function.
(vfp_compare_operand): New function.
(vfp_secondary_reload_class): New function.
(arm_float_compare_operand): New function.
(vfp_print_multi): New function.
(vfp_output_fstmx): New function.
(vfp_emit_fstm): New function.
(arm_output_epilogue): Output VPF reg restore code.
(arm_expand_prologue): Output VFP reg save code.
(arm_print_operand): Add 'P'.
(arm_hard_regno_mode_ok): Return modes for VFP regs.
(arm_regno_class): Return classes for VFP regs.
(arm_compute_initial_elimination_offset): Include space for VFP regs.
(arm_get_frame_size): Ditto.
* arm.h (FIXED_REGISTERS): Add VFP regs.
(CALL_USED_REGISTERS): Ditto.
(CONDITIONAL_REGISTER_USAGE): Enable VFP regs.
(FIRST_VFP_REGNUM): Define.
(LAST_VFP_REGNUM): Define.
(IS_VFP_REGNUM): Define.
(FIRST_PSEUDO_REGISTER): Include VFP regs.
(HARD_REGNO_NREGS): Handle VFP regs.
(REG_ALLOC_ORDER): Add VFP regs.
(enum reg_class): Add VFP_REGS.
(REG_CLASS_NAMES): Ditto.
(REG_CLASS_CONTENTS): Ditto.
(CANNOT_CHANGE_MODE_CLASS) Handle VFP Regs.
(REG_CLASS_FROM_LETTER): Add 'w'.
(EXTRA_CONSTRAINT_ARM): Add 'U'.
(EXTRA_MEMORY_CONSTRAINT): Define.
(SECONDARY_OUTPUT_RELOAD_CLASS): Handle VFP regs.
(SECONDARY_INPUT_RELOAD_CLASS): Ditto.
(REGISTER_MOVE_COST): Ditto.
(PREDICATE_CODES): Add arm_general_register_operand,
arm_float_compare_operand and vfp_compare_operand.
* arm.md (various): Rename as above.
(divsf3): Enable when TARGET_VFP.
(divdf3): Ditto.
(movdfcc): Ditto.
(sqrtsf2): Ditto.
(sqrtdf2): Ditto.
(arm_movdi): Disable when TARGET_VFP.
(arm_movsi_insn): Ditto.
(movsi): Only split with general regs.
(cmpsf): Use arm_float_compare_operand.
(push_fp_multi): Restrict to TARGET_FPA.
(vfp.md): Include.
* vfp.md: New file.
* fpa.md (various): Rename as above.
* doc/md.texi: Document ARM w and U constraints.
2004-01-15 Paul Brook <paul@codesourcery.com>
* config.gcc: Add with_fpu. Allow with-float=softfp.
* config/arm/arm.c (arm_override_options): Rename *-s to *s.
Break out of loop when we find a float-abi. Fix typo.
* config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "fpu".
Set -mfloat-abi=.
* doc/install.texi: Document --with-fpu.
2003-01-14 Paul Brook <paul@codesourcery.com>
* config.gcc (with_arch): Add armv6.
* config/arm/arm.h: Rename TARGET_CPU_*_s to TARGET_CPU_*s.
* config/arm/arm.c (arm_overrride_options): Ditto.
2004-01-08 Richard Earnshaw <rearnsha@arm.com>
* arm.c (FL_ARCH3M): Renamed from FL_FAST_MULT.
(FL_ARCH6): Renamed from FL_ARCH6J.
(arm_arch3m): Renamed from arm_fast_multiply.
(arm_arch6): Renamed from arm_arch6j.
* arm.h: Update all uses of above.
* arm-cores.def: Likewise.
* arm.md: Likewise.
* arm.h (CPP_CPU_ARCH_SPEC): Emit __ARM_ARCH_6J__ define for armV6j,
not arm6j. Add entry for arch armv6.
2004-01-07 Richard Earnshaw <rearnsha@arm.com>
* arm.c (arm_emit_extendsi): Delete.
* arm-protos.h (arm_emit_extendsi): Delete.
* arm.md (zero_extendhisi2): Also handle zero-extension of
non-subregs.
(zero_extendqisi2, extendhisi2, extendqisi2): Likewise.
(thumb_zero_extendhisi2): Only match if not v6.
(arm_zero_extendhisi2, thumb_zero_extendqisi2, arm_zero_extendqisi2)
(thumb_extendhisi2, arm_extendhisi2, arm_extendqisi)
(thumb_extendqisi2): Likewise.
(thumb_zero_extendhisi2_v6, arm_zero_extendhisi2_v6): New patterns.
(thumb_zero_extendqisi2_v6, arm_zero_extendqisi2_v6): New patterns.
(thumb_extendhisi2_insn_v6, arm_extendhisi2_v6): New patterns.
(thumb_extendqisi2_v6, arm_extendqisi_v6): New patterns.
(arm_zero_extendhisi2_reg, arm_zero_extendqisi2_reg): Delete.
(arm_extendhisi2_reg, arm_extendqisi2_reg): Delete.
(arm_zero_extendhisi2addsi): Remove subreg. Add attributes.
(arm_zero_extendqisi2addsi, arm_extendhisi2addsi): Likewise.
(arm_extendqisi2addsi): Likewise.
2003-12-31 Mark Mitchell <mark@codesourcery.com>
Revert this change:
* config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG
+ REG addressing modes.
* config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG
+ REG addressing modes.
2003-12-30 Mark Mitchell <mark@codesourcery.com>
* config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept
CONSTANT_P_RTX.
2003-30-12 Paul Brook <paul@codesourcery.com>
* longlong.h: protect arm inlines with !defined (__thumb__)
2003-30-12 Paul Brook <paul@codesourcery.com>
* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Always define __arm__.
2003-12-30 Nathan Sidwell <nathan@codesourcery.com>
* builtins.c (expand_builtin_apply_args_1): Fix typo in previous
change.
2003-12-29 Nathan Sidwell <nathan@codesourcery.com>
* builtins.c (expand_builtin_apply_args_1): Add pretend args size
to the virtual incoming args pointer for downward stacks.
2003-12-29 Paul Brook <paul@codesourcery.com>
* config/arm/arm-cores.def: Add cost function.
* config/arm/arm.c (arm_*_rtx_costs): New functions.
(arm_rtx_costs): Remove
(struct processors): Add rtx_costs field.
(all_cores, all_architectures): Ditto.
(arm_override_options): Set targetm.rtx_costs.
(thumb_rtx_costs): New function.
(arm_rtx_costs_1): Remove cases handled elsewhere.
* config/arm/arm.h (processor_type): Add COSTS parameter.
2003-12-29 Nathan Sidwell <nathan@codesourcery.com>
* config/arm/arm.md (generic_sched): arm926 has its own scheduler.
(arm926ejs.md): Include it.
* config/arm/arm926ejs.md: New pipeline description.
2003-12-24 Paul Brook <paul@codesourcery.com>
* config/arm/arm.c (arm_arch6j): New variable.
(arm_override_options): Set it.
(arm_emit_extendsi): New function.
* config/arm/arm-protos.h (arm_emit_extendsi): Add prototype.
* config/arm/arm.h (arm_arch6j): Declare.
* config/arm/arm.md: Add sign/zero extend insns.
2003-12-23 Paul Brook <paul@codesourcery.com>
* config/arm/arm.c (all_architectures): Add armv6.
* doc/invoke.texi: Document it.
2003-12-19 Paul Brook <paul@codesourcery.com>
* config/arm/arm.md: Add load1 and load_byte "type" attrs. Modify
insn patterns to match.
* config/arm/arm-generic.md: Ditto.
* config/arm/cirrus.md: Ditto.
* config/arm/fpa.md: Ditto.
* config/amm/iwmmxt.md: Ditto.
* config/arm/arm1026ejs.md: Ditto.
* config/arm/arm1135jfs.md: Ditto. Add insn_reservation and bypasses
for 11_loadb.
2003-12-18 Nathan Sidwell <nathan@codesourcery.com>
* config/arm/arm-protos.h (arm_no_early_alu_shift_value_dep): Declare.
* config/arm/arm.c (arm_adjust_cost): Check shift cost for
TYPE_ALU_SHIFT and TYPE_ALU_SHIFT_REG.
(arm_no_early_store_addr_dep, arm_no_early_alu_shift_dep,
arm_no_early_mul_dep): Correctly deal with conditional execution,
parallels and single shift operations.
(arm_no_early_alu_shift_value_dep): Define.
* arm.md (attr type): Replace 'normal' with 'alu',
'alu_shift' and 'alu_shift_reg'.
(attr core_cycles): Adjust.
(*addsi3_carryin_shift, andsi_not_shiftsi_si, *arm_shiftsi3,
*shiftsi3_compare0, *notsi_shiftsi, *notsi_shiftsi_compare0,
*not_shiftsi_compare0_scratch, *cmpsi_shiftsi, *cmpsi_shiftsi_swp,
*cmpsi_neg_shiftsi, *arith_shiftsi, *arith_shiftsi_compare0,
*arith_shiftsi_compare0_scratch, *sub_shiftsi,
*sub_shiftsi_compare0, *sub_shiftsi_compare0_scratch,
*if_shift_move, *if_move_shift, *if_shift_shift): Set type
attribute appropriately.
* config/arm/arm1026ejs.md (alu_op): Adjust.
(alu_shift_op, alu_shift_reg_op): New.
* config/arm/arm1136.md: Add better bypasses for early
registers. Remove load[234] and store[234] bypasses.
(11_alu_op): Adjust.
(11_alu_shift_op, 11_alu_shift_reg_op): New.
2003-12-15 Nathan Sidwell <nathan@codesourcery.com>
* config/arm/arm-protos.h (arm_no_early_store_addr_dep,
arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Declare.
* config/arm/arm.c (arm_no_early_store_addr_dep,
arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Define.
* config/arm/arm1026ejs.md: Add load-store bypass.
* config/arm/arm1136jfs.md (11_alu_op): Take 2 cycles.
Add bypasses between instructions.
2003-12-10 Paul Brook <paul@codesourcery.com>
* config/arm/arm.c (arm_fpu_model): New variable.
(arm_fload_abi): New variable.
(target_fpe_name): Rename from target_fp_name.
(target_fpu_name): New variable.
(arm_is_cirrus): Remove.
(fpu_desc): New struct.
(all_fpus): Define.
(pf_model_for_fpu): Define.
(all_loat_abis): Define.
(arm_override_options): Set fp arch flags based on -mfpu=
and -float-abi=.
(FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM.
(LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM.
(*): Use new TARGET_* flags.
* config/arm/arm.h (TARGET_ANY_HARD_FLOAT): Remove.
(TARGET_HARD_FLOAT): No longer implies TARGET_FPA.
(TARGET_SOFT_FLOAT): Ditto.
(TARGET_SOFT_FLOAT_ABI): New.
(TARGET_MAVERICK): Rename from TARGET_CIRRUS. No longer implies
TARGET_HARD_FLOAT.
(TARGET_VFP): No longer implies TARGET_HARD_FLOAT.
(TARGET_OPTIONS): Add -mfpu=.
(FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM.
(LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM.
(arm_pf_model): Define.
(arm_float_abi_type): Define.
(fputype): Add FPUTYPE_VFP. Change SOFT_FPA->NONE
* config/arm/arm.md: Use new TARGET_* flags.
* config/arm/cirrus.md: Ditto.
* config/arm/fpa.md: Ditto.
* config/arm/elf.h (ASM_SPEC): Pass -mfloat-abi= and -mfpu=.
* config/arm/semi.h (ASM_SPEC): Ditto.
* config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Specify vfp.
(FPUTYPE_DEFAULT): Set to VFP.
* doc/invoke.texi: Document -mfpu= and -mfloat-abi=.
2003-11-22 Phil Edwards <phil@codesourcery.com>
PR target/12476
* config/arm/arm.c (arm_output_mi_thunk): In Thumb mode, use
'bx' instead of 'b' to avoid branch range restrictions. Output
the thunk immediately before the thunked-to function.
* config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Do not emit
.thumb_func if a thunk is being generated. Emit .code 16 along
with .thumb_func if a thunk is not being generated.
2003-11-15 Nicolas Pitre <nico@cam.org>
* config/arm/arm.md (ashldi3, arm_ashldi3_1bit, ashrdi3,
arm_ashrdi3_1bit, lshrdi3, arm_lshrdi3_1bit): New patterns.
* config/arm/iwmmxt.md (ashrdi3_iwmmxt): Renamed from ashrdi3.
(lshrdi3_iwmmxt): Renamed from lshrdi3.
* config/arm/arm.c (IWMMXT_BUILTIN2): Renamed argument accordingly.
2003-11-12 Steve Woodford <scw@wasabisystems.com>
Ian Lance Taylor <ian@wasabisystems.com>
* config/arm/lib1funcs.asm (ARM_DIV_BODY, ARM_MOD_BODY): Add new
code for __ARM_ARCH__ >= 5 && ! defined (__OPTIMIZE_SIZE__).
2003-11-05 Phil Edwards <phil@codesourcery.com>
* config/arm/arm.md (insn): Add new V6 instruction names.
(generic_sched): New attr.
* config/arm/arm-generic.md: Use generic_sched here.
* config/arm/arm1026ejs.md: Do not model fetch/issue/decode
stages of pipeline. Adjust latency counts accordingly.
* config/arm/arm1136jfs.md: New file.
2003-10-28 Mark Mitchell <mark@codesourcery.com>
* config/arm/arm.h (processor_type): New enumeration type.
(CPP_ARCH_DEFAULT_SPEC): Set appropriately for ARM 926EJ-S,
ARM1026EJ-S, ARM1136J-S, and ARM1136JF-S processor cores.
(CPP_CPU_ARCH_SPEC): Likewise.
* config/arm/arm.c (arm_tune): New variable.
(all_cores): Use cores.def.
(all_architectures): Add representative processor.
(arm_override_options): Restructure way in which tuning
information is deduced.
* arm.md: Update "insn" and "type" attributes throughout.
(insn): New attribute.
(type): Compute "mult" from "insn" attribute. Add load2,
load3, load4 alternatives.
(arm automaton): Move to arm-generic.md.
* config/arm/arm-cores.def: New file.
* config/arm/arm-generic.md: Likewise.
* config/arm/arm1026ejs.md: Likewise.
From-SVN: r77171
2004-02-03 15:45:44 +01:00
|
|
|
| soft | hard | softfp)
|
2003-06-04 19:44:03 +02:00
|
|
|
# OK
|
2003-06-04 19:42:53 +02:00
|
|
|
;;
|
2003-06-04 19:44:03 +02:00
|
|
|
*)
|
config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic. Set
configure_default_options according to the default CPU, --with-cpu,
--with-arch, --with-tune, --with-schedule, --with-abi, and
--with-float. Check for legal values of various options.
* configure.in: Define configure_default_options in configargs.h.
* configure: Regenerated.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (do_option_spec): New function.
(struct default_spec, option_default_specs): New.
(main): Call do_option_spec.
* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
* doc/install.texi: Update --with-cpu documentation. Mention
--with-arch, --with-schedule, --with-tune, --with-abi, and
--with-float.
* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
From-SVN: r67457
2003-06-04 19:50:44 +02:00
|
|
|
echo "Unknown floating point type used in --with-float=$with_float" 1>&2
|
2003-06-04 19:44:03 +02:00
|
|
|
exit 1
|
2003-06-04 19:42:53 +02:00
|
|
|
;;
|
|
|
|
esac
|
config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic. Set
configure_default_options according to the default CPU, --with-cpu,
--with-arch, --with-tune, --with-schedule, --with-abi, and
--with-float. Check for legal values of various options.
* configure.in: Define configure_default_options in configargs.h.
* configure: Regenerated.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (do_option_spec): New function.
(struct default_spec, option_default_specs): New.
(main): Call do_option_spec.
* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
* doc/install.texi: Update --with-cpu documentation. Mention
--with-arch, --with-schedule, --with-tune, --with-abi, and
--with-float.
* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
From-SVN: r67457
2003-06-04 19:50:44 +02:00
|
|
|
|
backport: re PR target/12476 (ARM/THUMB thunk calls broken)
Merge from csl-arm-branch.
2004-01-30 Paul Brook <paul@codesourcery.com>
* aof.h (REGISTER_NAMES): Add vfp reg names
(ADDITIONAL_REGISTER_NAMES): Ditto.
* aout.h (REGISTER_NAMES): Ditto.
(ADDITIONAL_REGISTER_NAMES): Ditto.
* arm-protos.h: Update/Add Prototypes.
* arm.c (init_fp_table): Rename from init_fpa_table. Update users.
Only allow 0.0 for VFP.
(fp_consts_inited): Rename from fpa_consts_inited. Update users.
(values_fp): Rename from values_fpa. Update Users.
(arm_const_double_rtx): Rename from const_double_rtx_ok_for_fpa.
Update users. Only check valid constants for this hardware.
(arm_float_rhs_operand): Rename from fpa_rhs_operand. Update Users.
Only allow consts for FPA.
(arm_float_add_operand): Rename from fpa_add_operand. Update users.
Only allow consts for FPA.
(use_return_insn): Check for saved VFP regs.
(arm_legitimate_address_p): Handle VFP DFmode addressing.
(arm_legitimize_address): Ditto.
(arm_general_register_operand): New function.
(vfp_mem_operand): New function.
(vfp_compare_operand): New function.
(vfp_secondary_reload_class): New function.
(arm_float_compare_operand): New function.
(vfp_print_multi): New function.
(vfp_output_fstmx): New function.
(vfp_emit_fstm): New function.
(arm_output_epilogue): Output VPF reg restore code.
(arm_expand_prologue): Output VFP reg save code.
(arm_print_operand): Add 'P'.
(arm_hard_regno_mode_ok): Return modes for VFP regs.
(arm_regno_class): Return classes for VFP regs.
(arm_compute_initial_elimination_offset): Include space for VFP regs.
(arm_get_frame_size): Ditto.
* arm.h (FIXED_REGISTERS): Add VFP regs.
(CALL_USED_REGISTERS): Ditto.
(CONDITIONAL_REGISTER_USAGE): Enable VFP regs.
(FIRST_VFP_REGNUM): Define.
(LAST_VFP_REGNUM): Define.
(IS_VFP_REGNUM): Define.
(FIRST_PSEUDO_REGISTER): Include VFP regs.
(HARD_REGNO_NREGS): Handle VFP regs.
(REG_ALLOC_ORDER): Add VFP regs.
(enum reg_class): Add VFP_REGS.
(REG_CLASS_NAMES): Ditto.
(REG_CLASS_CONTENTS): Ditto.
(CANNOT_CHANGE_MODE_CLASS) Handle VFP Regs.
(REG_CLASS_FROM_LETTER): Add 'w'.
(EXTRA_CONSTRAINT_ARM): Add 'U'.
(EXTRA_MEMORY_CONSTRAINT): Define.
(SECONDARY_OUTPUT_RELOAD_CLASS): Handle VFP regs.
(SECONDARY_INPUT_RELOAD_CLASS): Ditto.
(REGISTER_MOVE_COST): Ditto.
(PREDICATE_CODES): Add arm_general_register_operand,
arm_float_compare_operand and vfp_compare_operand.
* arm.md (various): Rename as above.
(divsf3): Enable when TARGET_VFP.
(divdf3): Ditto.
(movdfcc): Ditto.
(sqrtsf2): Ditto.
(sqrtdf2): Ditto.
(arm_movdi): Disable when TARGET_VFP.
(arm_movsi_insn): Ditto.
(movsi): Only split with general regs.
(cmpsf): Use arm_float_compare_operand.
(push_fp_multi): Restrict to TARGET_FPA.
(vfp.md): Include.
* vfp.md: New file.
* fpa.md (various): Rename as above.
* doc/md.texi: Document ARM w and U constraints.
2004-01-15 Paul Brook <paul@codesourcery.com>
* config.gcc: Add with_fpu. Allow with-float=softfp.
* config/arm/arm.c (arm_override_options): Rename *-s to *s.
Break out of loop when we find a float-abi. Fix typo.
* config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "fpu".
Set -mfloat-abi=.
* doc/install.texi: Document --with-fpu.
2003-01-14 Paul Brook <paul@codesourcery.com>
* config.gcc (with_arch): Add armv6.
* config/arm/arm.h: Rename TARGET_CPU_*_s to TARGET_CPU_*s.
* config/arm/arm.c (arm_overrride_options): Ditto.
2004-01-08 Richard Earnshaw <rearnsha@arm.com>
* arm.c (FL_ARCH3M): Renamed from FL_FAST_MULT.
(FL_ARCH6): Renamed from FL_ARCH6J.
(arm_arch3m): Renamed from arm_fast_multiply.
(arm_arch6): Renamed from arm_arch6j.
* arm.h: Update all uses of above.
* arm-cores.def: Likewise.
* arm.md: Likewise.
* arm.h (CPP_CPU_ARCH_SPEC): Emit __ARM_ARCH_6J__ define for armV6j,
not arm6j. Add entry for arch armv6.
2004-01-07 Richard Earnshaw <rearnsha@arm.com>
* arm.c (arm_emit_extendsi): Delete.
* arm-protos.h (arm_emit_extendsi): Delete.
* arm.md (zero_extendhisi2): Also handle zero-extension of
non-subregs.
(zero_extendqisi2, extendhisi2, extendqisi2): Likewise.
(thumb_zero_extendhisi2): Only match if not v6.
(arm_zero_extendhisi2, thumb_zero_extendqisi2, arm_zero_extendqisi2)
(thumb_extendhisi2, arm_extendhisi2, arm_extendqisi)
(thumb_extendqisi2): Likewise.
(thumb_zero_extendhisi2_v6, arm_zero_extendhisi2_v6): New patterns.
(thumb_zero_extendqisi2_v6, arm_zero_extendqisi2_v6): New patterns.
(thumb_extendhisi2_insn_v6, arm_extendhisi2_v6): New patterns.
(thumb_extendqisi2_v6, arm_extendqisi_v6): New patterns.
(arm_zero_extendhisi2_reg, arm_zero_extendqisi2_reg): Delete.
(arm_extendhisi2_reg, arm_extendqisi2_reg): Delete.
(arm_zero_extendhisi2addsi): Remove subreg. Add attributes.
(arm_zero_extendqisi2addsi, arm_extendhisi2addsi): Likewise.
(arm_extendqisi2addsi): Likewise.
2003-12-31 Mark Mitchell <mark@codesourcery.com>
Revert this change:
* config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG
+ REG addressing modes.
* config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG
+ REG addressing modes.
2003-12-30 Mark Mitchell <mark@codesourcery.com>
* config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept
CONSTANT_P_RTX.
2003-30-12 Paul Brook <paul@codesourcery.com>
* longlong.h: protect arm inlines with !defined (__thumb__)
2003-30-12 Paul Brook <paul@codesourcery.com>
* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Always define __arm__.
2003-12-30 Nathan Sidwell <nathan@codesourcery.com>
* builtins.c (expand_builtin_apply_args_1): Fix typo in previous
change.
2003-12-29 Nathan Sidwell <nathan@codesourcery.com>
* builtins.c (expand_builtin_apply_args_1): Add pretend args size
to the virtual incoming args pointer for downward stacks.
2003-12-29 Paul Brook <paul@codesourcery.com>
* config/arm/arm-cores.def: Add cost function.
* config/arm/arm.c (arm_*_rtx_costs): New functions.
(arm_rtx_costs): Remove
(struct processors): Add rtx_costs field.
(all_cores, all_architectures): Ditto.
(arm_override_options): Set targetm.rtx_costs.
(thumb_rtx_costs): New function.
(arm_rtx_costs_1): Remove cases handled elsewhere.
* config/arm/arm.h (processor_type): Add COSTS parameter.
2003-12-29 Nathan Sidwell <nathan@codesourcery.com>
* config/arm/arm.md (generic_sched): arm926 has its own scheduler.
(arm926ejs.md): Include it.
* config/arm/arm926ejs.md: New pipeline description.
2003-12-24 Paul Brook <paul@codesourcery.com>
* config/arm/arm.c (arm_arch6j): New variable.
(arm_override_options): Set it.
(arm_emit_extendsi): New function.
* config/arm/arm-protos.h (arm_emit_extendsi): Add prototype.
* config/arm/arm.h (arm_arch6j): Declare.
* config/arm/arm.md: Add sign/zero extend insns.
2003-12-23 Paul Brook <paul@codesourcery.com>
* config/arm/arm.c (all_architectures): Add armv6.
* doc/invoke.texi: Document it.
2003-12-19 Paul Brook <paul@codesourcery.com>
* config/arm/arm.md: Add load1 and load_byte "type" attrs. Modify
insn patterns to match.
* config/arm/arm-generic.md: Ditto.
* config/arm/cirrus.md: Ditto.
* config/arm/fpa.md: Ditto.
* config/amm/iwmmxt.md: Ditto.
* config/arm/arm1026ejs.md: Ditto.
* config/arm/arm1135jfs.md: Ditto. Add insn_reservation and bypasses
for 11_loadb.
2003-12-18 Nathan Sidwell <nathan@codesourcery.com>
* config/arm/arm-protos.h (arm_no_early_alu_shift_value_dep): Declare.
* config/arm/arm.c (arm_adjust_cost): Check shift cost for
TYPE_ALU_SHIFT and TYPE_ALU_SHIFT_REG.
(arm_no_early_store_addr_dep, arm_no_early_alu_shift_dep,
arm_no_early_mul_dep): Correctly deal with conditional execution,
parallels and single shift operations.
(arm_no_early_alu_shift_value_dep): Define.
* arm.md (attr type): Replace 'normal' with 'alu',
'alu_shift' and 'alu_shift_reg'.
(attr core_cycles): Adjust.
(*addsi3_carryin_shift, andsi_not_shiftsi_si, *arm_shiftsi3,
*shiftsi3_compare0, *notsi_shiftsi, *notsi_shiftsi_compare0,
*not_shiftsi_compare0_scratch, *cmpsi_shiftsi, *cmpsi_shiftsi_swp,
*cmpsi_neg_shiftsi, *arith_shiftsi, *arith_shiftsi_compare0,
*arith_shiftsi_compare0_scratch, *sub_shiftsi,
*sub_shiftsi_compare0, *sub_shiftsi_compare0_scratch,
*if_shift_move, *if_move_shift, *if_shift_shift): Set type
attribute appropriately.
* config/arm/arm1026ejs.md (alu_op): Adjust.
(alu_shift_op, alu_shift_reg_op): New.
* config/arm/arm1136.md: Add better bypasses for early
registers. Remove load[234] and store[234] bypasses.
(11_alu_op): Adjust.
(11_alu_shift_op, 11_alu_shift_reg_op): New.
2003-12-15 Nathan Sidwell <nathan@codesourcery.com>
* config/arm/arm-protos.h (arm_no_early_store_addr_dep,
arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Declare.
* config/arm/arm.c (arm_no_early_store_addr_dep,
arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Define.
* config/arm/arm1026ejs.md: Add load-store bypass.
* config/arm/arm1136jfs.md (11_alu_op): Take 2 cycles.
Add bypasses between instructions.
2003-12-10 Paul Brook <paul@codesourcery.com>
* config/arm/arm.c (arm_fpu_model): New variable.
(arm_fload_abi): New variable.
(target_fpe_name): Rename from target_fp_name.
(target_fpu_name): New variable.
(arm_is_cirrus): Remove.
(fpu_desc): New struct.
(all_fpus): Define.
(pf_model_for_fpu): Define.
(all_loat_abis): Define.
(arm_override_options): Set fp arch flags based on -mfpu=
and -float-abi=.
(FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM.
(LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM.
(*): Use new TARGET_* flags.
* config/arm/arm.h (TARGET_ANY_HARD_FLOAT): Remove.
(TARGET_HARD_FLOAT): No longer implies TARGET_FPA.
(TARGET_SOFT_FLOAT): Ditto.
(TARGET_SOFT_FLOAT_ABI): New.
(TARGET_MAVERICK): Rename from TARGET_CIRRUS. No longer implies
TARGET_HARD_FLOAT.
(TARGET_VFP): No longer implies TARGET_HARD_FLOAT.
(TARGET_OPTIONS): Add -mfpu=.
(FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM.
(LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM.
(arm_pf_model): Define.
(arm_float_abi_type): Define.
(fputype): Add FPUTYPE_VFP. Change SOFT_FPA->NONE
* config/arm/arm.md: Use new TARGET_* flags.
* config/arm/cirrus.md: Ditto.
* config/arm/fpa.md: Ditto.
* config/arm/elf.h (ASM_SPEC): Pass -mfloat-abi= and -mfpu=.
* config/arm/semi.h (ASM_SPEC): Ditto.
* config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Specify vfp.
(FPUTYPE_DEFAULT): Set to VFP.
* doc/invoke.texi: Document -mfpu= and -mfloat-abi=.
2003-11-22 Phil Edwards <phil@codesourcery.com>
PR target/12476
* config/arm/arm.c (arm_output_mi_thunk): In Thumb mode, use
'bx' instead of 'b' to avoid branch range restrictions. Output
the thunk immediately before the thunked-to function.
* config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Do not emit
.thumb_func if a thunk is being generated. Emit .code 16 along
with .thumb_func if a thunk is not being generated.
2003-11-15 Nicolas Pitre <nico@cam.org>
* config/arm/arm.md (ashldi3, arm_ashldi3_1bit, ashrdi3,
arm_ashrdi3_1bit, lshrdi3, arm_lshrdi3_1bit): New patterns.
* config/arm/iwmmxt.md (ashrdi3_iwmmxt): Renamed from ashrdi3.
(lshrdi3_iwmmxt): Renamed from lshrdi3.
* config/arm/arm.c (IWMMXT_BUILTIN2): Renamed argument accordingly.
2003-11-12 Steve Woodford <scw@wasabisystems.com>
Ian Lance Taylor <ian@wasabisystems.com>
* config/arm/lib1funcs.asm (ARM_DIV_BODY, ARM_MOD_BODY): Add new
code for __ARM_ARCH__ >= 5 && ! defined (__OPTIMIZE_SIZE__).
2003-11-05 Phil Edwards <phil@codesourcery.com>
* config/arm/arm.md (insn): Add new V6 instruction names.
(generic_sched): New attr.
* config/arm/arm-generic.md: Use generic_sched here.
* config/arm/arm1026ejs.md: Do not model fetch/issue/decode
stages of pipeline. Adjust latency counts accordingly.
* config/arm/arm1136jfs.md: New file.
2003-10-28 Mark Mitchell <mark@codesourcery.com>
* config/arm/arm.h (processor_type): New enumeration type.
(CPP_ARCH_DEFAULT_SPEC): Set appropriately for ARM 926EJ-S,
ARM1026EJ-S, ARM1136J-S, and ARM1136JF-S processor cores.
(CPP_CPU_ARCH_SPEC): Likewise.
* config/arm/arm.c (arm_tune): New variable.
(all_cores): Use cores.def.
(all_architectures): Add representative processor.
(arm_override_options): Restructure way in which tuning
information is deduced.
* arm.md: Update "insn" and "type" attributes throughout.
(insn): New attribute.
(type): Compute "mult" from "insn" attribute. Add load2,
load3, load4 alternatives.
(arm automaton): Move to arm-generic.md.
* config/arm/arm-cores.def: New file.
* config/arm/arm-generic.md: Likewise.
* config/arm/arm1026ejs.md: Likewise.
From-SVN: r77171
2004-02-03 15:45:44 +01:00
|
|
|
case "$with_fpu" in
|
|
|
|
"" \
|
|
|
|
| fpa | fpe2 | fpe3 | maverick | vfp )
|
|
|
|
# OK
|
|
|
|
;;
|
|
|
|
*)
|
config.gcc: Add --with-abi=
* config.gcc <arm>: Add --with-abi=
* config/arm/arm-protos.h (arm_get_frame_size, thumb_get_frame_size,
thumb_far_jump_used): Remove prototypes.
(arm_needs_doubleword_align): Add prototype.
(thumb_compute_initial_elimination_offset): Ditto.
* config/arm/arm.c (arm_get_frame_offsets): New function.
(use_return_insn, output_return_instruction, arm_output_epilogue,
arm_output_function_epilogue, arm_compute_initial_elimination_offset,
arm_expand_prologue, thumb_expand_epilogue): Use it.
(arm_abi, target_abi_name, all_arm_abis): New variables.
(arm_override_options): Set them. Set structure padding for AAPCS.
(arm_return_in_memory): Update ABI check.
(arm_init_cumulative_args): Initialize can_split.
(arm_needs_doubleword_align): New function.
(arm_function_arg): Don't split args after pushing to stack. Handle
doubleword/even reg alignment.
(arm_va_arg): Handle all doubleword aligned args.
(add_minpoolforward ref, dump_minpool, push_minpool_fix): Align based
on ABI, not CPU.
(arm_compute_save_reg0_reg12_mask): Fix comment.
(thumb_get_frame_size, thumb_get_frame_size): Remove.
(thumb_jump_far_used_p): Remove superfluous argument. Return save
value for alignment.
(thumb_unexpanded_epilogue, thumb_output_function_prologue): Change
to match.
(thumb_compute_initial_elimination_offset): New function.
(thumb_expand_prologue): Use arm_get_frame_offsets. Remove
unneccessary rounding.
* config/arm/arm.h (target_abi_name): Declare.
(ARM_DOUBLEWORD_ALIGN, DOUBLEWORD_ALIGNMENT, TARGET_IWMMXT_ABI,
arm_abi_type, ARM_DEFAULT_ABI): Define.
(ARM_FLAG_ATPCS): Remove.
(TARGET_OPTIONS, OPTION_DEFAULT_SPECS): Add -mabi=.
(BIGGEST_ALIGNMENT, PREFERRED_STACK_BOUNDARY, STACK_BOUNDARY): Use it.
(ADJUST_FIELD_ALIGN, DATA_ALIGNMENT, LOCAL_ALIGNMENT,
TYPE_NEEDS_IWMMXT_ALIGNMENT): Remove.
(LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P, FUNCTION_ARG_REGNO_P):
Contitionalize on ABI, not CPU.
(struct arm_stack_offsets): Define.
(struct machine_function): Add stack_offsets. Remove frame_size.
(FUNCTION_ARG_PARTIAL_NREGS): Don't split if previous args have been
pushed.
(FUNCTION_ARG_ADVANCE, FUNCTION_ARG_BOUNDARY): Handle general
doubleword alignment.
(THUMB_INITIAL_ELIMINATION_OFFSET,
ARM_INITIAL_ELIMINATION_OFFSET): Remove.
(INITIAL_ELIMINATION_OFFSET): Call functions directly.
* config/arm/arm.md (align_8): Enable for all targets.
* config/arm/netbsd-elf.h (TARGET_DEFAULT): Remove TARGET_ATPCS.
(ARM_DEFAULT_ABI): Define.
* doc/invoke.texi <ARM>: Document -mabi=. Update documentation for
-mstructure-size-boundary.
From-SVN: r79921
2004-03-24 18:20:16 +01:00
|
|
|
echo "Unknown fpu used in --with-fpu=$with_fpu" 2>&1
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
case "$with_abi" in
|
|
|
|
"" \
|
|
|
|
| apcs-gnu | atpcs | aapcs | iwmmxt )
|
|
|
|
#OK
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "Unknown ABI used in --with-abi=$with_abi"
|
backport: re PR target/12476 (ARM/THUMB thunk calls broken)
Merge from csl-arm-branch.
2004-01-30 Paul Brook <paul@codesourcery.com>
* aof.h (REGISTER_NAMES): Add vfp reg names
(ADDITIONAL_REGISTER_NAMES): Ditto.
* aout.h (REGISTER_NAMES): Ditto.
(ADDITIONAL_REGISTER_NAMES): Ditto.
* arm-protos.h: Update/Add Prototypes.
* arm.c (init_fp_table): Rename from init_fpa_table. Update users.
Only allow 0.0 for VFP.
(fp_consts_inited): Rename from fpa_consts_inited. Update users.
(values_fp): Rename from values_fpa. Update Users.
(arm_const_double_rtx): Rename from const_double_rtx_ok_for_fpa.
Update users. Only check valid constants for this hardware.
(arm_float_rhs_operand): Rename from fpa_rhs_operand. Update Users.
Only allow consts for FPA.
(arm_float_add_operand): Rename from fpa_add_operand. Update users.
Only allow consts for FPA.
(use_return_insn): Check for saved VFP regs.
(arm_legitimate_address_p): Handle VFP DFmode addressing.
(arm_legitimize_address): Ditto.
(arm_general_register_operand): New function.
(vfp_mem_operand): New function.
(vfp_compare_operand): New function.
(vfp_secondary_reload_class): New function.
(arm_float_compare_operand): New function.
(vfp_print_multi): New function.
(vfp_output_fstmx): New function.
(vfp_emit_fstm): New function.
(arm_output_epilogue): Output VPF reg restore code.
(arm_expand_prologue): Output VFP reg save code.
(arm_print_operand): Add 'P'.
(arm_hard_regno_mode_ok): Return modes for VFP regs.
(arm_regno_class): Return classes for VFP regs.
(arm_compute_initial_elimination_offset): Include space for VFP regs.
(arm_get_frame_size): Ditto.
* arm.h (FIXED_REGISTERS): Add VFP regs.
(CALL_USED_REGISTERS): Ditto.
(CONDITIONAL_REGISTER_USAGE): Enable VFP regs.
(FIRST_VFP_REGNUM): Define.
(LAST_VFP_REGNUM): Define.
(IS_VFP_REGNUM): Define.
(FIRST_PSEUDO_REGISTER): Include VFP regs.
(HARD_REGNO_NREGS): Handle VFP regs.
(REG_ALLOC_ORDER): Add VFP regs.
(enum reg_class): Add VFP_REGS.
(REG_CLASS_NAMES): Ditto.
(REG_CLASS_CONTENTS): Ditto.
(CANNOT_CHANGE_MODE_CLASS) Handle VFP Regs.
(REG_CLASS_FROM_LETTER): Add 'w'.
(EXTRA_CONSTRAINT_ARM): Add 'U'.
(EXTRA_MEMORY_CONSTRAINT): Define.
(SECONDARY_OUTPUT_RELOAD_CLASS): Handle VFP regs.
(SECONDARY_INPUT_RELOAD_CLASS): Ditto.
(REGISTER_MOVE_COST): Ditto.
(PREDICATE_CODES): Add arm_general_register_operand,
arm_float_compare_operand and vfp_compare_operand.
* arm.md (various): Rename as above.
(divsf3): Enable when TARGET_VFP.
(divdf3): Ditto.
(movdfcc): Ditto.
(sqrtsf2): Ditto.
(sqrtdf2): Ditto.
(arm_movdi): Disable when TARGET_VFP.
(arm_movsi_insn): Ditto.
(movsi): Only split with general regs.
(cmpsf): Use arm_float_compare_operand.
(push_fp_multi): Restrict to TARGET_FPA.
(vfp.md): Include.
* vfp.md: New file.
* fpa.md (various): Rename as above.
* doc/md.texi: Document ARM w and U constraints.
2004-01-15 Paul Brook <paul@codesourcery.com>
* config.gcc: Add with_fpu. Allow with-float=softfp.
* config/arm/arm.c (arm_override_options): Rename *-s to *s.
Break out of loop when we find a float-abi. Fix typo.
* config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "fpu".
Set -mfloat-abi=.
* doc/install.texi: Document --with-fpu.
2003-01-14 Paul Brook <paul@codesourcery.com>
* config.gcc (with_arch): Add armv6.
* config/arm/arm.h: Rename TARGET_CPU_*_s to TARGET_CPU_*s.
* config/arm/arm.c (arm_overrride_options): Ditto.
2004-01-08 Richard Earnshaw <rearnsha@arm.com>
* arm.c (FL_ARCH3M): Renamed from FL_FAST_MULT.
(FL_ARCH6): Renamed from FL_ARCH6J.
(arm_arch3m): Renamed from arm_fast_multiply.
(arm_arch6): Renamed from arm_arch6j.
* arm.h: Update all uses of above.
* arm-cores.def: Likewise.
* arm.md: Likewise.
* arm.h (CPP_CPU_ARCH_SPEC): Emit __ARM_ARCH_6J__ define for armV6j,
not arm6j. Add entry for arch armv6.
2004-01-07 Richard Earnshaw <rearnsha@arm.com>
* arm.c (arm_emit_extendsi): Delete.
* arm-protos.h (arm_emit_extendsi): Delete.
* arm.md (zero_extendhisi2): Also handle zero-extension of
non-subregs.
(zero_extendqisi2, extendhisi2, extendqisi2): Likewise.
(thumb_zero_extendhisi2): Only match if not v6.
(arm_zero_extendhisi2, thumb_zero_extendqisi2, arm_zero_extendqisi2)
(thumb_extendhisi2, arm_extendhisi2, arm_extendqisi)
(thumb_extendqisi2): Likewise.
(thumb_zero_extendhisi2_v6, arm_zero_extendhisi2_v6): New patterns.
(thumb_zero_extendqisi2_v6, arm_zero_extendqisi2_v6): New patterns.
(thumb_extendhisi2_insn_v6, arm_extendhisi2_v6): New patterns.
(thumb_extendqisi2_v6, arm_extendqisi_v6): New patterns.
(arm_zero_extendhisi2_reg, arm_zero_extendqisi2_reg): Delete.
(arm_extendhisi2_reg, arm_extendqisi2_reg): Delete.
(arm_zero_extendhisi2addsi): Remove subreg. Add attributes.
(arm_zero_extendqisi2addsi, arm_extendhisi2addsi): Likewise.
(arm_extendqisi2addsi): Likewise.
2003-12-31 Mark Mitchell <mark@codesourcery.com>
Revert this change:
* config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG
+ REG addressing modes.
* config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG
+ REG addressing modes.
2003-12-30 Mark Mitchell <mark@codesourcery.com>
* config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept
CONSTANT_P_RTX.
2003-30-12 Paul Brook <paul@codesourcery.com>
* longlong.h: protect arm inlines with !defined (__thumb__)
2003-30-12 Paul Brook <paul@codesourcery.com>
* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Always define __arm__.
2003-12-30 Nathan Sidwell <nathan@codesourcery.com>
* builtins.c (expand_builtin_apply_args_1): Fix typo in previous
change.
2003-12-29 Nathan Sidwell <nathan@codesourcery.com>
* builtins.c (expand_builtin_apply_args_1): Add pretend args size
to the virtual incoming args pointer for downward stacks.
2003-12-29 Paul Brook <paul@codesourcery.com>
* config/arm/arm-cores.def: Add cost function.
* config/arm/arm.c (arm_*_rtx_costs): New functions.
(arm_rtx_costs): Remove
(struct processors): Add rtx_costs field.
(all_cores, all_architectures): Ditto.
(arm_override_options): Set targetm.rtx_costs.
(thumb_rtx_costs): New function.
(arm_rtx_costs_1): Remove cases handled elsewhere.
* config/arm/arm.h (processor_type): Add COSTS parameter.
2003-12-29 Nathan Sidwell <nathan@codesourcery.com>
* config/arm/arm.md (generic_sched): arm926 has its own scheduler.
(arm926ejs.md): Include it.
* config/arm/arm926ejs.md: New pipeline description.
2003-12-24 Paul Brook <paul@codesourcery.com>
* config/arm/arm.c (arm_arch6j): New variable.
(arm_override_options): Set it.
(arm_emit_extendsi): New function.
* config/arm/arm-protos.h (arm_emit_extendsi): Add prototype.
* config/arm/arm.h (arm_arch6j): Declare.
* config/arm/arm.md: Add sign/zero extend insns.
2003-12-23 Paul Brook <paul@codesourcery.com>
* config/arm/arm.c (all_architectures): Add armv6.
* doc/invoke.texi: Document it.
2003-12-19 Paul Brook <paul@codesourcery.com>
* config/arm/arm.md: Add load1 and load_byte "type" attrs. Modify
insn patterns to match.
* config/arm/arm-generic.md: Ditto.
* config/arm/cirrus.md: Ditto.
* config/arm/fpa.md: Ditto.
* config/amm/iwmmxt.md: Ditto.
* config/arm/arm1026ejs.md: Ditto.
* config/arm/arm1135jfs.md: Ditto. Add insn_reservation and bypasses
for 11_loadb.
2003-12-18 Nathan Sidwell <nathan@codesourcery.com>
* config/arm/arm-protos.h (arm_no_early_alu_shift_value_dep): Declare.
* config/arm/arm.c (arm_adjust_cost): Check shift cost for
TYPE_ALU_SHIFT and TYPE_ALU_SHIFT_REG.
(arm_no_early_store_addr_dep, arm_no_early_alu_shift_dep,
arm_no_early_mul_dep): Correctly deal with conditional execution,
parallels and single shift operations.
(arm_no_early_alu_shift_value_dep): Define.
* arm.md (attr type): Replace 'normal' with 'alu',
'alu_shift' and 'alu_shift_reg'.
(attr core_cycles): Adjust.
(*addsi3_carryin_shift, andsi_not_shiftsi_si, *arm_shiftsi3,
*shiftsi3_compare0, *notsi_shiftsi, *notsi_shiftsi_compare0,
*not_shiftsi_compare0_scratch, *cmpsi_shiftsi, *cmpsi_shiftsi_swp,
*cmpsi_neg_shiftsi, *arith_shiftsi, *arith_shiftsi_compare0,
*arith_shiftsi_compare0_scratch, *sub_shiftsi,
*sub_shiftsi_compare0, *sub_shiftsi_compare0_scratch,
*if_shift_move, *if_move_shift, *if_shift_shift): Set type
attribute appropriately.
* config/arm/arm1026ejs.md (alu_op): Adjust.
(alu_shift_op, alu_shift_reg_op): New.
* config/arm/arm1136.md: Add better bypasses for early
registers. Remove load[234] and store[234] bypasses.
(11_alu_op): Adjust.
(11_alu_shift_op, 11_alu_shift_reg_op): New.
2003-12-15 Nathan Sidwell <nathan@codesourcery.com>
* config/arm/arm-protos.h (arm_no_early_store_addr_dep,
arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Declare.
* config/arm/arm.c (arm_no_early_store_addr_dep,
arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Define.
* config/arm/arm1026ejs.md: Add load-store bypass.
* config/arm/arm1136jfs.md (11_alu_op): Take 2 cycles.
Add bypasses between instructions.
2003-12-10 Paul Brook <paul@codesourcery.com>
* config/arm/arm.c (arm_fpu_model): New variable.
(arm_fload_abi): New variable.
(target_fpe_name): Rename from target_fp_name.
(target_fpu_name): New variable.
(arm_is_cirrus): Remove.
(fpu_desc): New struct.
(all_fpus): Define.
(pf_model_for_fpu): Define.
(all_loat_abis): Define.
(arm_override_options): Set fp arch flags based on -mfpu=
and -float-abi=.
(FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM.
(LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM.
(*): Use new TARGET_* flags.
* config/arm/arm.h (TARGET_ANY_HARD_FLOAT): Remove.
(TARGET_HARD_FLOAT): No longer implies TARGET_FPA.
(TARGET_SOFT_FLOAT): Ditto.
(TARGET_SOFT_FLOAT_ABI): New.
(TARGET_MAVERICK): Rename from TARGET_CIRRUS. No longer implies
TARGET_HARD_FLOAT.
(TARGET_VFP): No longer implies TARGET_HARD_FLOAT.
(TARGET_OPTIONS): Add -mfpu=.
(FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM.
(LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM.
(arm_pf_model): Define.
(arm_float_abi_type): Define.
(fputype): Add FPUTYPE_VFP. Change SOFT_FPA->NONE
* config/arm/arm.md: Use new TARGET_* flags.
* config/arm/cirrus.md: Ditto.
* config/arm/fpa.md: Ditto.
* config/arm/elf.h (ASM_SPEC): Pass -mfloat-abi= and -mfpu=.
* config/arm/semi.h (ASM_SPEC): Ditto.
* config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Specify vfp.
(FPUTYPE_DEFAULT): Set to VFP.
* doc/invoke.texi: Document -mfpu= and -mfloat-abi=.
2003-11-22 Phil Edwards <phil@codesourcery.com>
PR target/12476
* config/arm/arm.c (arm_output_mi_thunk): In Thumb mode, use
'bx' instead of 'b' to avoid branch range restrictions. Output
the thunk immediately before the thunked-to function.
* config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Do not emit
.thumb_func if a thunk is being generated. Emit .code 16 along
with .thumb_func if a thunk is not being generated.
2003-11-15 Nicolas Pitre <nico@cam.org>
* config/arm/arm.md (ashldi3, arm_ashldi3_1bit, ashrdi3,
arm_ashrdi3_1bit, lshrdi3, arm_lshrdi3_1bit): New patterns.
* config/arm/iwmmxt.md (ashrdi3_iwmmxt): Renamed from ashrdi3.
(lshrdi3_iwmmxt): Renamed from lshrdi3.
* config/arm/arm.c (IWMMXT_BUILTIN2): Renamed argument accordingly.
2003-11-12 Steve Woodford <scw@wasabisystems.com>
Ian Lance Taylor <ian@wasabisystems.com>
* config/arm/lib1funcs.asm (ARM_DIV_BODY, ARM_MOD_BODY): Add new
code for __ARM_ARCH__ >= 5 && ! defined (__OPTIMIZE_SIZE__).
2003-11-05 Phil Edwards <phil@codesourcery.com>
* config/arm/arm.md (insn): Add new V6 instruction names.
(generic_sched): New attr.
* config/arm/arm-generic.md: Use generic_sched here.
* config/arm/arm1026ejs.md: Do not model fetch/issue/decode
stages of pipeline. Adjust latency counts accordingly.
* config/arm/arm1136jfs.md: New file.
2003-10-28 Mark Mitchell <mark@codesourcery.com>
* config/arm/arm.h (processor_type): New enumeration type.
(CPP_ARCH_DEFAULT_SPEC): Set appropriately for ARM 926EJ-S,
ARM1026EJ-S, ARM1136J-S, and ARM1136JF-S processor cores.
(CPP_CPU_ARCH_SPEC): Likewise.
* config/arm/arm.c (arm_tune): New variable.
(all_cores): Use cores.def.
(all_architectures): Add representative processor.
(arm_override_options): Restructure way in which tuning
information is deduced.
* arm.md: Update "insn" and "type" attributes throughout.
(insn): New attribute.
(type): Compute "mult" from "insn" attribute. Add load2,
load3, load4 alternatives.
(arm automaton): Move to arm-generic.md.
* config/arm/arm-cores.def: New file.
* config/arm/arm-generic.md: Likewise.
* config/arm/arm1026ejs.md: Likewise.
From-SVN: r77171
2004-02-03 15:45:44 +01:00
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2006-03-17 15:48:58 +01:00
|
|
|
case "$with_mode" in
|
|
|
|
"" \
|
|
|
|
| arm | thumb )
|
|
|
|
#OK
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "Unknown mode used in --with-mode=$with_mode"
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic. Set
configure_default_options according to the default CPU, --with-cpu,
--with-arch, --with-tune, --with-schedule, --with-abi, and
--with-float. Check for legal values of various options.
* configure.in: Define configure_default_options in configargs.h.
* configure: Regenerated.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (do_option_spec): New function.
(struct default_spec, option_default_specs): New.
(main): Call do_option_spec.
* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
* doc/install.texi: Update --with-cpu documentation. Mention
--with-arch, --with-schedule, --with-tune, --with-abi, and
--with-float.
* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
From-SVN: r67457
2003-06-04 19:50:44 +02:00
|
|
|
if test "x$with_arch" != x && test "x$with_cpu" != x; then
|
config.gcc: Add --with-abi=
* config.gcc <arm>: Add --with-abi=
* config/arm/arm-protos.h (arm_get_frame_size, thumb_get_frame_size,
thumb_far_jump_used): Remove prototypes.
(arm_needs_doubleword_align): Add prototype.
(thumb_compute_initial_elimination_offset): Ditto.
* config/arm/arm.c (arm_get_frame_offsets): New function.
(use_return_insn, output_return_instruction, arm_output_epilogue,
arm_output_function_epilogue, arm_compute_initial_elimination_offset,
arm_expand_prologue, thumb_expand_epilogue): Use it.
(arm_abi, target_abi_name, all_arm_abis): New variables.
(arm_override_options): Set them. Set structure padding for AAPCS.
(arm_return_in_memory): Update ABI check.
(arm_init_cumulative_args): Initialize can_split.
(arm_needs_doubleword_align): New function.
(arm_function_arg): Don't split args after pushing to stack. Handle
doubleword/even reg alignment.
(arm_va_arg): Handle all doubleword aligned args.
(add_minpoolforward ref, dump_minpool, push_minpool_fix): Align based
on ABI, not CPU.
(arm_compute_save_reg0_reg12_mask): Fix comment.
(thumb_get_frame_size, thumb_get_frame_size): Remove.
(thumb_jump_far_used_p): Remove superfluous argument. Return save
value for alignment.
(thumb_unexpanded_epilogue, thumb_output_function_prologue): Change
to match.
(thumb_compute_initial_elimination_offset): New function.
(thumb_expand_prologue): Use arm_get_frame_offsets. Remove
unneccessary rounding.
* config/arm/arm.h (target_abi_name): Declare.
(ARM_DOUBLEWORD_ALIGN, DOUBLEWORD_ALIGNMENT, TARGET_IWMMXT_ABI,
arm_abi_type, ARM_DEFAULT_ABI): Define.
(ARM_FLAG_ATPCS): Remove.
(TARGET_OPTIONS, OPTION_DEFAULT_SPECS): Add -mabi=.
(BIGGEST_ALIGNMENT, PREFERRED_STACK_BOUNDARY, STACK_BOUNDARY): Use it.
(ADJUST_FIELD_ALIGN, DATA_ALIGNMENT, LOCAL_ALIGNMENT,
TYPE_NEEDS_IWMMXT_ALIGNMENT): Remove.
(LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P, FUNCTION_ARG_REGNO_P):
Contitionalize on ABI, not CPU.
(struct arm_stack_offsets): Define.
(struct machine_function): Add stack_offsets. Remove frame_size.
(FUNCTION_ARG_PARTIAL_NREGS): Don't split if previous args have been
pushed.
(FUNCTION_ARG_ADVANCE, FUNCTION_ARG_BOUNDARY): Handle general
doubleword alignment.
(THUMB_INITIAL_ELIMINATION_OFFSET,
ARM_INITIAL_ELIMINATION_OFFSET): Remove.
(INITIAL_ELIMINATION_OFFSET): Call functions directly.
* config/arm/arm.md (align_8): Enable for all targets.
* config/arm/netbsd-elf.h (TARGET_DEFAULT): Remove TARGET_ATPCS.
(ARM_DEFAULT_ABI): Define.
* doc/invoke.texi <ARM>: Document -mabi=. Update documentation for
-mstructure-size-boundary.
From-SVN: r79921
2004-03-24 18:20:16 +01:00
|
|
|
echo "Warning: --with-arch overrides --with-cpu=$with_cpu" 1>&2
|
config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic. Set
configure_default_options according to the default CPU, --with-cpu,
--with-arch, --with-tune, --with-schedule, --with-abi, and
--with-float. Check for legal values of various options.
* configure.in: Define configure_default_options in configargs.h.
* configure: Regenerated.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (do_option_spec): New function.
(struct default_spec, option_default_specs): New.
(main): Call do_option_spec.
* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
* doc/install.texi: Update --with-cpu documentation. Mention
--with-arch, --with-schedule, --with-tune, --with-abi, and
--with-float.
* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
From-SVN: r67457
2003-06-04 19:50:44 +02:00
|
|
|
fi
|
2003-06-04 19:42:53 +02:00
|
|
|
;;
|
|
|
|
|
Implement FR-V FDPIC ABI support for frv-uclinux and frv-linux.
2004-02-05 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_emit_movsi): Use GOT relocations for
symbols in sections named by the user.
2004-01-30 Alexandre Oliva <aoliva@redhat.com>
* config/frv/linux.h (TARGET_OS_CPP_BUILTINS): New.
2004-01-27 Alexandre Oliva <aoliva@redhat.com>
* config.gcc (frv-*-*linux*): Handle like *-*-linux*.
* config/frv/t-linux (EXTRA_MULTILIB_PARTS): Remove, obviated by
the above.
2004-01-20 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.md (symGOT2reg_hilo, symGOTOFF2reg_hilo): Add
one more pseudo to further improve code generation.
2004-01-19 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.md (movdi_ldd): Introduce explicit indirection
inside UNSPEC.
2004-01-16 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_legitimate_address_p): Added
allow_double_reg_p argument. Adjust all callers. Use it to
decide whether to enable double-register indirect addressing.
(frv_funcdesc_alias_set): Remove.
(frv_expand_fdpic_call): Force non-SYMBOL_REF operand into
register. Emit movdi_ldd.
(ldd_address_operand): New.
* config/frv/frv-protos.h (frv_legitimate_address_p): Adjust.
* config/frv/frv.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
(PREDICATE_CODES): Add ldd_address_operand.
* config/frv/frv.md (movdi_ldd): New.
(symGOT2reg_hilo, symGOTOFF2reg_hilo): Use separate pseudo for
intermediate computations if possible.
(symGOTOFF2reg_i): Fix harmless typo.
2003-12-18 Alexandre Oliva <aoliva@redhat.com>
* unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Cast
relocated p_vaddr to vaddr type.
* config/frv/frv-protos.h (frv_expand_fdpic_call): Return void.
* config/frv/frv.c (frv_get_funcdesc_alias_set): New.
(frv_expand_fdpic_call): Propagate incoming MEM's expr to funcdesc
MEM, or use a funcdesc alias set. Use regular move instead of
ldd.
(dbl_memory_one_insn_operand): Recognize function descriptors by
type or by alias set, and don't split them.
* config/frv/frv.md (call, call_value): Never use call_internal
for fdpic.
(call_internal, call_value_internal): Never match for FDPIC.
(call_fdpicdi, call_fdpicsi, call_value_fdpicdi,
call_value_fdpicsi): Require FDPIC.
(ldd): Removed.
2003-12-17 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.h (CRT_GET_RFIB_DATA): Define for __FRV_FDPIC__.
* unwind-dw2-fde-glibc.c: Don't include elf-fdpic.h any more.
(_Unwind_IteratePhdrCallback): Adjust type of load_base for FRV
FDPIC. Compute data base address.
* config/frv/linux.h (SUBTARGET_DRIVER_SELF_SPECS): Enable -mfdpic
before the other self-specs are processed.
* config/frv/t-linux (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS):
Build with -fPIC.
2003-12-15 Alexandre Oliva <aoliva@redhat.com>
* unwind-dw2-fde-glibc.c: Don't include bits/elf-fdpic.h if
inhibit_libc is defined.
2003-12-12 Alexandre Oliva <aoliva@redhat.com>
* unwind-dw2-fde-glibc.c: Include bits/elf-fdpic.h for
__FRV_FDPIC__.
(__RELOC_POINTER): Define.
(_Unwind_IteratePhdrCallback): Use it.
* config/frv/frv.h (Twrite): Define.
(TRANSFER_FROM_TRAMPOLINE): Use it.
* config/frv/linux.h (INVOKE__main): Undefine.
(Twrite): Override.
2003-12-05 Richard Sandiford <rsandifo@redhat.com>
* doc/invoke.texi (-mlong-calls, -mlinked-fp): Document FRV options.
(-mlibrary-pic): Emphasize that this option generates EABI code.
(-mcpu): Add fr550.
(-mpack): Remove.
2003-11-30 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (int_2word_operand): Reject LABELs, SYMBOL_REFs
and CONSTs in FDPIC mode.
* gcc/config.gcc (with_cpu): Default to fr400 on frv-*-*linux*.
2003-11-29 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv.c (move_source_operand): Don't accept symbolic
constants.
* config/frv/frv.md (*movhi_internal, *movsi_internal): Use an 'n'
rather than 'i' constraint for the 2-instruction alternative.
(*movsi_2word): New, incorporating existing int_2word_operand splitter.
2003-11-29 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Q): Renamed from
EXTRA_CONSTRAINT_FOR_Y.
(EXTRA_CONSTRAINT): Remove handling of 'Y'.
* config/frv/frv.md (*movsi_internal): Remove 'Q' constraint.
(addsi3): Change 'Y' constraint to 'Q'.
2003-11-27 Richard Sandiford <rsandifo@redhat.com>
* reload.c (CONST_POOL_OK_P): New macro.
(find_reloads): Use it to decide whether a constant can be forced
into memory.
* config/frv/frv.h (LEGITIMATE_PIC_OPERAND_P): Return true if the
constant satisfies got12_operand.
(frv_cannot_force_const_mem): Always return true for TARGET_FDPIC.
(frv_legitimate_address_p): Check for valid unspec offsets using
got12_operand rather than frv_legitimate_fdpic_operand_p.
(frv_legitimate_fdpic_operand_p): Delete.
(frv_emit_movsi): Abort if we try to use the FDPIC register during
or after reload.
(frv_legitimate_constant_p): Return LEGITIMATE_PIC_OPERAND_P if
TARGET_FDPIC.
* config/frv/frv.md (*movdf_double): Add alternatives for CONST_DOUBLE.
2003-11-19 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv-protos.h (fdpic_operand, fdpic_got12_operand)
(frv_fdpic_fptr_operand): Don't declare here.
* config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Y): Call got12_operand
rather than fdpic_got12_operand.
(PREDICATE_CODES): Remove symbolic_operand entry. Add entries for
got12_operand and const_unspec_operand.
* config/frv/frv.c (got12_operand): Renamed from fdpic_got12_operand.
(gpr_or_int12_operand, dbl_memory_one_insn_operand): Update calls.
(symbolic_operand): Remove.
(const_unspec_operand): New predicate.
* config/frv/frv.md (*movsi_got): Use got12_operand.
(*movsi_high_got, *movsi_lo_sum_got): Use const_unspec_operand.
2003-11-18 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv-protos.h (frv_output_addr_const_extra): Remove.
* config/frv/frv.h (OUTPUT_ADDR_CONST_EXTRA): Remove definition.
* config/frv/frv.c (frv_unspec): New structure.
(frv_small_data_reloc_p, frv_const_unspec_p): New functions.
(frv_print_operand_memory_reference): Use frv_const_unspec_p to
validate CONST indices. Use frv_output_const_unspec to print them.
(frv_print_operand): Update call to unspec_got_name. Use
frv_output_const_unspec to print constant unspecs.
(frv_legitimate_fdpic_operand_p): Return true if frv_const_unspec_p.
Reject UNSPECs otherwise.
(unspec_got_name): Take the relocation number as argument, not an
rtx containing it.
(frv_output_addr_const_extra): Remove, replacing with...
(frv_output_const_unspec): ...this new function.
(frv_find_base_term): Use frv_const_unspec_p & frv_small_data_reloc_p.
(gpr_or_int12_operand): Use fdpic_got12_operand.
(dbl_memory_one_insn_operand): Likewise.
(fdpic_got12_operand): Use frv_const_unspec_p.
(frv_emit_movsi): Use frv_const_unspec_p to check for CONSTs that
are already legitimate. Use frv_small_data_reloc_p when deciding
whether to use HIGH/LO_SUM for R_FRV_GOTOFF12 and R_FRV_GPREL12.
2003-11-18 Alexandre Oliva <aoliva@redhat.com>
* config/frv/t-linux (SHLIB_MAPFILES): Override so as to export...
* config/frv/libgcc-frv.ver: ... frv-specific symbols. New file.
* config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
label, for real this time.
* config/frv/frv.c (frv_local_funcdesc_p): Update to new
representation of visibility.
(fdpic_got12_operand, symbolic_operand): Mark unused arguments as
such.
2003-11-17 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv.h (MASK_LINKED_FP, TARGET_LINKED_FP): New macros.
(TARGET_SWITCHES): Add -mlinked-fp and -mno-linked-fp.
* config/frv/frv.c (frv_override_options): Set MASK_LINKED_FP unless
it was explicitly disabled.
(frv_stack_info): There is no need to save the link register in every
frame unless TARGET_LINKED_FP is true.
(frv_frame_pointer_required): If !TARGET_LINKED_FP, only require a
frame pointer if the stack pointer might change value.
(frv_return_addr_rtx): Check and process "count" argument.
2003-11-14 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv-protos.h (frv_legitimize_address): Remove.
(frv_find_base_term): Declare.
* config/frv/frv.h (LEGITIMIZE_ADDRESS): Do nothing.
(FIND_BASE_TERM): Define.
(PREDICATE_CODES): Remove pic_register_operand, pic_symbolic_operand,
small_data_register_operand, small_data_symbolic_operand. Add
symbolic_operand.
* config/frv/frv.c (const_small_data_p, plus_small_data_p): Delete.
(frv_print_operand_memory_reference, output_move_single): Remove
special handling for unlegitimized sdata addresses.
(frv_legitimate_address_p): Don't allow sums of SDA_BASE_REG
and symbolic addresses.
(frv_legitimize_address, frv_legitimize_fdpic_address): Delete.
(frv_find_base_term): New function.
(int_2word_operand): Check specifically for symbolic address constants.
(pic_register_operand, pic_symbolic_operand): Delete.
(small_data_register_operand, small_data_symbolic_operand): Delete.
(dbl_memory_one_insn_operand): Don't call plus_small_data_p.
Allow UNSPEC_GOT constants if !TARGET_FDPIC.
(move_source_operand): Only accept CONSTs if they're a two-insn
symbolic constant.
(fdpic_got12_operand): Don't require TARGET_FDPIC.
(frv_emit_movsi): Legitimize sdata and -mlibrary-pic addresses
using gen_symGOTOFF2reg*.
(frv_ifcvt_rewrite_mem): Remove (plus gr16 ...) special cases.
(frv_rtx_costs): Give all MEM addresses a cost of 0. Give MEMs
themselves a cost of 3 insns.
* config/mips/mips.md (*movsi_got): Allow for !TARGET_FDPIC too.
Change predicate to symbolic_operand.
(*movsi_high_got, *movsi_lo_sum_got): Likewise.
(*movsi_lda_sdata): Delete.
(*movsi_pic, movsi_high_pic, movsi_lo_sum_pic): Delete.
2003-11-05 Alexandre Oliva <aoliva@redhat.com>
* config.gcc: Add t-slibgcc-elf-ver and support --with-cpu for
frv-*-*linux*.
* config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
label.
* config/frv/frv.h (DRIVER_SELF_SPECS): Add blank before
-multilib-library-pic.
(LINK_SPEC): Add -z text for -mfdpic.
* config/frv/frvbegin.c (__ROFIXUP_LIST__): Don't define on FDPIC.
* config/frv/frvend.c (__ROFIXUP_END__): Likewise.
* config/frv/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC):
Override.
(OPTION_DEFAULT_SPECS, HAS_INIT_SECTION, INIT_SECTION_ASM_OP,
FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION): Define.
* config/frv/t-linux (EXTRA_MULTILIB_PARTS): Use
crtstuff-generated files.
2003-10-31 Alexandre Oliva <aoliva@redhat.com>
* config.gcc: Add frv-*-*linux*.
* config/frv/linux.h, config/frv/t-linux: New.
2003-10-06 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.h (LINK_SPEC): Pass -melf32frvfd to the linker
when -mfdpic even if a linker script is explicitly listed.
2003-10-02 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_override_options): Clear asm_out
unaligned_op for SImode on FDPIC.
(frv_emit_movsi): Use compute_reloc_for_constant to compute the
argument passed to decl_readonly_section.
(frv_assemble_integer): Revert 2003-09-30's change, but make the
whole block run with FDPIC even with -fno-PIC.
2003-10-02 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_cannot_force_const_mem): Don't force
symbol or label plus offset to memory.
(frv_emit_movsi): Emit GPREL only if -mgprel-ro. Emit 32-bit
GOTOFF and GPREL for LABEL_REF.
* config/frv/frv.h (DRIVER_SELF_SPECS): Add -mgprel-ro with
-mfdpic unless -mno-gprel-ro, -fpic or -fpie.
(MASK_GPREL_RO, TARGET_GPREL_RO): New.
(TARGET_SWITCHES): Added gprel-ro and no-gprel-ro.
* doc/invoke.texi: Document them.
2003-09-30 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv-protos.h (frv_gen_GPsym2reg): Declare.
(frv_splittable_got_operand): Removed.
* config/frv/frv.c (frv_cannot_force_const_mem): Reject HIGH and
LO_SUM. Add comments.
(frv_override_options): Moved enabling of FDPIC to
DRIVER_SELF_SPECS. Don't enable MASK_DWORD.
(frv_local_funcdesc_p): Remove unnecessary heck for flag_pie.
(frv_legitimize_fdpic_address): Don't duplicate logic in
frv_emit_movsi.
(frv_gen_GPsym2reg): New.
(unspec_got_name): Added gprel.
(frv_expand_fdpic_call): Add support for inlining PLTs.
(fdpic_fptr_operand): Renamed from frv_fdpic_fptr_operand.
(gpr_or_int12_operand): Added GPREL12.
(pic_symbolic_operand): Match even if !flag_pic for FDPIC.
(small_data_symbolic_operand): Fail if FDPIC.
(fdpic_splittable_got_operand): Removed.
(fdpic_got12_operand): Added GPREL12.
(frv_emit_movsi): Reorganize to avoid duplication. Emit GPREL
when appropriate. Fix sdata GOTOFF.
(frv_legitimate_constant_p): Require legitimate PIC operand for
FDPIC with pic, but only a legitimate fdpic operand for non-pic.
(frv_assemble_integer): Move FDPIC funcdesc handling out of
flag_pic case.
(frv_asm_out_constructor, frv_asm_out_destructor): Abort if
frv_assemble_integer fails.
* config/frv/frv.h (DRIVER_SELF_SPECS): New.
(SUBTARGET_DRIVER_SELF_SPECS): New.
(ASM_SPEC): Don't pass -mno-fdpic.
(LINK_SPEC): Pass -melf32frvfd for FDPIC.
(MASK_INLINE_PLT, TARGET_INLINE_PLT): New.
(TARGET_SWITCHES): Add -minline-plt, -mno-inline-plt and
-multilib-library-pic.
(PREDICATE_CODES): Added fdpic_operand, fdpic_fptr_operand,
condexec_si_media_operator, condexec_sf_add_operator and
condexec_sf_conv_operator. Removed condexec_sf_binary_operator
and condexec_sf_unary_operator.
* config/frv/frv.md (R_FRV_GPREL12, R_FRV_GPRELHI, R_FRV_GPRELLO):
New.
(movsi_got, movsi_high_got, movsi_lo_sum_got): Move before
movsi_internal. Give them internal names. movsi_got has type
int.
(fdpic got splitters): Remove.
(symGPREL2reg, symGPREL2reg_hilo): New.
* config/frv/t-frv (MULTILIB_MATCHES): Don't map -fpic and -fPIC
to -mlibrary-pic. Map -multilib-library-pic to it.
* doc/invoke.texi: -mfdpic, -minline-plt, -multilib-library-pic:
Document.
2003-09-28 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_function_symbol_referenced_p): Declare.
(TARGET_CANNOT_FORCE_CONST_MEM): Define to...
(frv_cannot_force_const_mem): New function.
(const_small_data_p, plus_small_data_p): Update comments on sdata
on FDPIC.
(frv_override_options): Set flag_pie for FDPIC too.
(frv_conditional_register_usage): Mark gr16 and gr17 as non-fixed,
call-saved registers on FDPIC.
(frv_stack_info): Don't preserve the PIC register on FDPIC, and
don't force LR to be preserved.
(frv_expand_prologue): Likewise.
(frv_asm_output_mi_thunk): Use 12-bit funcdesc gotoff for -fpic.
(frv_frame_pointer_required): Don't force it just because the
FDPIC register is used.
(frv_legitimate_address_p) <CONST>: Accept a legitimate FDPIC
operand only if !condexec_p.
(frv_legitimize_address): Return the FDPIC-legitimized address.
Don't match small data here on FDPIC.
(frv_legitimate_fdpic_operand_p): Don't accept unadorned function
symbols. Use TRUE/FALSE instead of 1/0.
(frv_local_funcdesc_p): New.
(frv_legitimize_fdpic_address): Rewrite to use GOTOFF and 12-bit
immediates when possible.
(pic_symbolic_operand): Accept SYMBOL_REFs and CONSTs in FDPIC.
(dbl_memory_one_insn_operand): Accept addresses that add a REG and
an UNSPEC_GOT.
(frv_emit_movsi): Handle FDPIC before small data. Use GOTOFF and
12-bit immediates when possible.
(frv_legitimate_constant_p): In FDPIC, reject SImode operands that
are not legitimate pic operands.
(frv_in_small_data_p): Re-enable for FDPIC.
* config/frv/frv.h (SDA_BASE_REG): Remove comment about FDPIC.
(FRV_GLOBAL_P): Removed.
* config/frv/frv.md: Add modes to CONSTs.
(movsi_got): New.
(movsi_lo_sum_got): Use separate matches instead of match_dup.
(movsi_high_pic, movsi_lo_sum_pic): Match on non-FDPIC only.
(fdpic splittable operations): Match on flag_pic != 1.
2003-09-22 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_asm_out_constructor,
frv_asm_out_destructor): Pass to frv_assemble_integer the size in
bytes, not bits.
2003-09-19 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_assemble_integer): Reject complex
expressions referencing function SYMBOL_REFs.
* config/frv/frv.c (frv_function_symbol_referenced_p): New.
(move_source_operand): Reject CONSTs that reference function
SYMBOL_REFs on FDPIC.
(frv_emit_movsi): If we get such a CONST, break it up.
* config/frv/frv.h (CPP_SPEC): Define __FRV_FDPIC__ for -mfdpic.
(TRANSFER_FROM_TRAMPOLINE): Use different definitions for FDPIC.
* config/frv/frv.c (frv_print_operand) <I>: Recognize PLUS without
MEM.
(frv_assemble_integer): Don't use funcdesc for LABEL_REFs.
(frv_trampoline_size): Increase for FDPIC.
* config/frv/frv.h (TRAMPOLINE_ALIGNMENT): Bump to 64 for FDPIC.
(TRANSFER_FROM_TRAMPOLINE): Handle FDPIC trampolines.
* config/frv/frv.c (frv_legitimize_fdpic_address, frv_emit_movsi):
Disable use of GOTOFF for now.
(const_small_data_p, plus_small_data_p, frv_in_small_data_p):
Disable use of small data in FDPIC for now.
(frv_asm_output_mi_thunk): Implement for FDPIC.
* config/frv/frv.h (SDA_BASE_REG): Set to -1 with FDPIC.
* config/frv/frv.c (frv_asm_out_constructor): Use
frv_assemble_integer for FDPIC pointers.
(frv_asm_out_destructor): Likewise.
* config/frv/frv.md (ldd): Fix order of operands. Use
address_operand for input.
2003-09-18 DJ Delorie <dj@redhat.com>
* config/frv/frv.c (frv_legitimate_fdpic_operand_p): Remove UNSPEC_PIC.
(unspec_got_name): Correct typo.
(frv_emit_movsi): Pre-expand splittable GOTs.
(frv_expand_fdpic_call): Rename gen_lddi to gen_ldd.
* config/frv/frv.md (lddi): Fix syntax error, rename to ldd.
(symGOT2reg_hilo, symGOTOFF2reg_hilo): New.
* config/frv/t-frv: Add -mfdpic multilibs.
* config/frv/frv.h (ASM_SPEC): Pass -mfdpic/-mno-fdpic.
(TARGET_SWITCHES): Add -mno-fdpic, fix documentation.
* config/frv/frv.c (frv_override_options): -mfdpic assumes
flag_pic, default to 32-bit pics, require DWORD ops.
(frv_override_options): Add W and Z constraints.
(frv_expand_prologue): No pic prologue for -mfdpic.
(frv_asm_output_mi_thunk): Support -mfdpic (soon).
(frv_print_operand_memory_reference): Handle GOT constants.
(frv_legitimate_address_p): Allow GOT constants.
(frv_legitimize_address): Handle GOT addresses too.
(frv_legitimate_fdpic_operand_p): New.
(frv_legitimize_fdpic_address): New.
(unspec_got_name): New.
(frv_output_addr_const_extra): New.
(frv_expand_fdpic_call): New.
(frv_fdpic_fptr_operand): New.
(gpr_or_int12_operand): Handle GOT operands.
(int_2word_operand): Handle GOT operands.
(fdpic_operand): New.
(fdpic_splittable_got_operand): New.
(fdpic_got12_operand): New.
(frv_emit_movsi): Handle GOT operands.
(frv_assemble_integer): -mfdpic doesn't use rofixups.
(frv_print_operand): Support 'g' code for GOT operands.
* config/frv/frv-protos.h: Add prototypes as needed.
* config/frv/frv.md (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO,
R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI,
R_FRV_FUNCDESC_GOTLO, R_FRV_FUNCDESC_VALUE,
R_FRV_FUNCDESC_GOTOFF12, R_FRV_FUNCDESC_GOTOFFHI,
R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12, R_FRV_GOTOFFHI,
R_FRV_GOTOFFLO): New.
(movsi_high_got, movsi_lo_sum_got): New.
(*movsi_pic): Don't use this splitter for -mfdpic.
(addsi3): Allow GOT references also.
(call, call_value): Handle -mfdpic separately.
(call_fdpicdi, call_fdpicsi, lddi, call_value_fdpicdi,
call_value_fdpicsi): New.
(symGOT2reg, symGOT2reg_i, got splitters, symGOTOFF2reg,
symGOTOFF2reg_i): New.
* config/frv/frv.h (MASK_FDPIC): New.
(TARGET_FDPIC): New.
(TARGET_SWITCHES): Add -mfdpic.
(FDPIC_FPTR_REGNO): New.
(FDPIC_REGNO): New.
(OUR_FDPIC_REG): New.
(enum reg_class): Add FDPIC_REGS, FDPIC_FPTR_REGS, and
FDPIC_CALL_REGS.
(REG_CLASS_NAMES): Likewise.
(REG_CLASS_CONTENTS): Likewise.
(EXTRA_CONSTRAINT_FOR_Y): New, for 12-bit GOTs.
(EXTRA_CONSTRAINT): Add it here.
(FRV_GLOBAL_P): New.
(OUTPUT_ADDR_CONST_EXTRA): New.
From-SVN: r78373
2004-02-24 17:58:39 +01:00
|
|
|
fr*-*-*linux*)
|
|
|
|
supported_defaults=cpu
|
|
|
|
case "$with_cpu" in
|
|
|
|
fr400) ;;
|
2005-07-26 23:22:44 +02:00
|
|
|
fr550) ;;
|
Implement FR-V FDPIC ABI support for frv-uclinux and frv-linux.
2004-02-05 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_emit_movsi): Use GOT relocations for
symbols in sections named by the user.
2004-01-30 Alexandre Oliva <aoliva@redhat.com>
* config/frv/linux.h (TARGET_OS_CPP_BUILTINS): New.
2004-01-27 Alexandre Oliva <aoliva@redhat.com>
* config.gcc (frv-*-*linux*): Handle like *-*-linux*.
* config/frv/t-linux (EXTRA_MULTILIB_PARTS): Remove, obviated by
the above.
2004-01-20 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.md (symGOT2reg_hilo, symGOTOFF2reg_hilo): Add
one more pseudo to further improve code generation.
2004-01-19 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.md (movdi_ldd): Introduce explicit indirection
inside UNSPEC.
2004-01-16 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_legitimate_address_p): Added
allow_double_reg_p argument. Adjust all callers. Use it to
decide whether to enable double-register indirect addressing.
(frv_funcdesc_alias_set): Remove.
(frv_expand_fdpic_call): Force non-SYMBOL_REF operand into
register. Emit movdi_ldd.
(ldd_address_operand): New.
* config/frv/frv-protos.h (frv_legitimate_address_p): Adjust.
* config/frv/frv.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
(PREDICATE_CODES): Add ldd_address_operand.
* config/frv/frv.md (movdi_ldd): New.
(symGOT2reg_hilo, symGOTOFF2reg_hilo): Use separate pseudo for
intermediate computations if possible.
(symGOTOFF2reg_i): Fix harmless typo.
2003-12-18 Alexandre Oliva <aoliva@redhat.com>
* unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Cast
relocated p_vaddr to vaddr type.
* config/frv/frv-protos.h (frv_expand_fdpic_call): Return void.
* config/frv/frv.c (frv_get_funcdesc_alias_set): New.
(frv_expand_fdpic_call): Propagate incoming MEM's expr to funcdesc
MEM, or use a funcdesc alias set. Use regular move instead of
ldd.
(dbl_memory_one_insn_operand): Recognize function descriptors by
type or by alias set, and don't split them.
* config/frv/frv.md (call, call_value): Never use call_internal
for fdpic.
(call_internal, call_value_internal): Never match for FDPIC.
(call_fdpicdi, call_fdpicsi, call_value_fdpicdi,
call_value_fdpicsi): Require FDPIC.
(ldd): Removed.
2003-12-17 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.h (CRT_GET_RFIB_DATA): Define for __FRV_FDPIC__.
* unwind-dw2-fde-glibc.c: Don't include elf-fdpic.h any more.
(_Unwind_IteratePhdrCallback): Adjust type of load_base for FRV
FDPIC. Compute data base address.
* config/frv/linux.h (SUBTARGET_DRIVER_SELF_SPECS): Enable -mfdpic
before the other self-specs are processed.
* config/frv/t-linux (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS):
Build with -fPIC.
2003-12-15 Alexandre Oliva <aoliva@redhat.com>
* unwind-dw2-fde-glibc.c: Don't include bits/elf-fdpic.h if
inhibit_libc is defined.
2003-12-12 Alexandre Oliva <aoliva@redhat.com>
* unwind-dw2-fde-glibc.c: Include bits/elf-fdpic.h for
__FRV_FDPIC__.
(__RELOC_POINTER): Define.
(_Unwind_IteratePhdrCallback): Use it.
* config/frv/frv.h (Twrite): Define.
(TRANSFER_FROM_TRAMPOLINE): Use it.
* config/frv/linux.h (INVOKE__main): Undefine.
(Twrite): Override.
2003-12-05 Richard Sandiford <rsandifo@redhat.com>
* doc/invoke.texi (-mlong-calls, -mlinked-fp): Document FRV options.
(-mlibrary-pic): Emphasize that this option generates EABI code.
(-mcpu): Add fr550.
(-mpack): Remove.
2003-11-30 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (int_2word_operand): Reject LABELs, SYMBOL_REFs
and CONSTs in FDPIC mode.
* gcc/config.gcc (with_cpu): Default to fr400 on frv-*-*linux*.
2003-11-29 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv.c (move_source_operand): Don't accept symbolic
constants.
* config/frv/frv.md (*movhi_internal, *movsi_internal): Use an 'n'
rather than 'i' constraint for the 2-instruction alternative.
(*movsi_2word): New, incorporating existing int_2word_operand splitter.
2003-11-29 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Q): Renamed from
EXTRA_CONSTRAINT_FOR_Y.
(EXTRA_CONSTRAINT): Remove handling of 'Y'.
* config/frv/frv.md (*movsi_internal): Remove 'Q' constraint.
(addsi3): Change 'Y' constraint to 'Q'.
2003-11-27 Richard Sandiford <rsandifo@redhat.com>
* reload.c (CONST_POOL_OK_P): New macro.
(find_reloads): Use it to decide whether a constant can be forced
into memory.
* config/frv/frv.h (LEGITIMATE_PIC_OPERAND_P): Return true if the
constant satisfies got12_operand.
(frv_cannot_force_const_mem): Always return true for TARGET_FDPIC.
(frv_legitimate_address_p): Check for valid unspec offsets using
got12_operand rather than frv_legitimate_fdpic_operand_p.
(frv_legitimate_fdpic_operand_p): Delete.
(frv_emit_movsi): Abort if we try to use the FDPIC register during
or after reload.
(frv_legitimate_constant_p): Return LEGITIMATE_PIC_OPERAND_P if
TARGET_FDPIC.
* config/frv/frv.md (*movdf_double): Add alternatives for CONST_DOUBLE.
2003-11-19 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv-protos.h (fdpic_operand, fdpic_got12_operand)
(frv_fdpic_fptr_operand): Don't declare here.
* config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Y): Call got12_operand
rather than fdpic_got12_operand.
(PREDICATE_CODES): Remove symbolic_operand entry. Add entries for
got12_operand and const_unspec_operand.
* config/frv/frv.c (got12_operand): Renamed from fdpic_got12_operand.
(gpr_or_int12_operand, dbl_memory_one_insn_operand): Update calls.
(symbolic_operand): Remove.
(const_unspec_operand): New predicate.
* config/frv/frv.md (*movsi_got): Use got12_operand.
(*movsi_high_got, *movsi_lo_sum_got): Use const_unspec_operand.
2003-11-18 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv-protos.h (frv_output_addr_const_extra): Remove.
* config/frv/frv.h (OUTPUT_ADDR_CONST_EXTRA): Remove definition.
* config/frv/frv.c (frv_unspec): New structure.
(frv_small_data_reloc_p, frv_const_unspec_p): New functions.
(frv_print_operand_memory_reference): Use frv_const_unspec_p to
validate CONST indices. Use frv_output_const_unspec to print them.
(frv_print_operand): Update call to unspec_got_name. Use
frv_output_const_unspec to print constant unspecs.
(frv_legitimate_fdpic_operand_p): Return true if frv_const_unspec_p.
Reject UNSPECs otherwise.
(unspec_got_name): Take the relocation number as argument, not an
rtx containing it.
(frv_output_addr_const_extra): Remove, replacing with...
(frv_output_const_unspec): ...this new function.
(frv_find_base_term): Use frv_const_unspec_p & frv_small_data_reloc_p.
(gpr_or_int12_operand): Use fdpic_got12_operand.
(dbl_memory_one_insn_operand): Likewise.
(fdpic_got12_operand): Use frv_const_unspec_p.
(frv_emit_movsi): Use frv_const_unspec_p to check for CONSTs that
are already legitimate. Use frv_small_data_reloc_p when deciding
whether to use HIGH/LO_SUM for R_FRV_GOTOFF12 and R_FRV_GPREL12.
2003-11-18 Alexandre Oliva <aoliva@redhat.com>
* config/frv/t-linux (SHLIB_MAPFILES): Override so as to export...
* config/frv/libgcc-frv.ver: ... frv-specific symbols. New file.
* config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
label, for real this time.
* config/frv/frv.c (frv_local_funcdesc_p): Update to new
representation of visibility.
(fdpic_got12_operand, symbolic_operand): Mark unused arguments as
such.
2003-11-17 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv.h (MASK_LINKED_FP, TARGET_LINKED_FP): New macros.
(TARGET_SWITCHES): Add -mlinked-fp and -mno-linked-fp.
* config/frv/frv.c (frv_override_options): Set MASK_LINKED_FP unless
it was explicitly disabled.
(frv_stack_info): There is no need to save the link register in every
frame unless TARGET_LINKED_FP is true.
(frv_frame_pointer_required): If !TARGET_LINKED_FP, only require a
frame pointer if the stack pointer might change value.
(frv_return_addr_rtx): Check and process "count" argument.
2003-11-14 Richard Sandiford <rsandifo@redhat.com>
* config/frv/frv-protos.h (frv_legitimize_address): Remove.
(frv_find_base_term): Declare.
* config/frv/frv.h (LEGITIMIZE_ADDRESS): Do nothing.
(FIND_BASE_TERM): Define.
(PREDICATE_CODES): Remove pic_register_operand, pic_symbolic_operand,
small_data_register_operand, small_data_symbolic_operand. Add
symbolic_operand.
* config/frv/frv.c (const_small_data_p, plus_small_data_p): Delete.
(frv_print_operand_memory_reference, output_move_single): Remove
special handling for unlegitimized sdata addresses.
(frv_legitimate_address_p): Don't allow sums of SDA_BASE_REG
and symbolic addresses.
(frv_legitimize_address, frv_legitimize_fdpic_address): Delete.
(frv_find_base_term): New function.
(int_2word_operand): Check specifically for symbolic address constants.
(pic_register_operand, pic_symbolic_operand): Delete.
(small_data_register_operand, small_data_symbolic_operand): Delete.
(dbl_memory_one_insn_operand): Don't call plus_small_data_p.
Allow UNSPEC_GOT constants if !TARGET_FDPIC.
(move_source_operand): Only accept CONSTs if they're a two-insn
symbolic constant.
(fdpic_got12_operand): Don't require TARGET_FDPIC.
(frv_emit_movsi): Legitimize sdata and -mlibrary-pic addresses
using gen_symGOTOFF2reg*.
(frv_ifcvt_rewrite_mem): Remove (plus gr16 ...) special cases.
(frv_rtx_costs): Give all MEM addresses a cost of 0. Give MEMs
themselves a cost of 3 insns.
* config/mips/mips.md (*movsi_got): Allow for !TARGET_FDPIC too.
Change predicate to symbolic_operand.
(*movsi_high_got, *movsi_lo_sum_got): Likewise.
(*movsi_lda_sdata): Delete.
(*movsi_pic, movsi_high_pic, movsi_lo_sum_pic): Delete.
2003-11-05 Alexandre Oliva <aoliva@redhat.com>
* config.gcc: Add t-slibgcc-elf-ver and support --with-cpu for
frv-*-*linux*.
* config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
label.
* config/frv/frv.h (DRIVER_SELF_SPECS): Add blank before
-multilib-library-pic.
(LINK_SPEC): Add -z text for -mfdpic.
* config/frv/frvbegin.c (__ROFIXUP_LIST__): Don't define on FDPIC.
* config/frv/frvend.c (__ROFIXUP_END__): Likewise.
* config/frv/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC):
Override.
(OPTION_DEFAULT_SPECS, HAS_INIT_SECTION, INIT_SECTION_ASM_OP,
FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION): Define.
* config/frv/t-linux (EXTRA_MULTILIB_PARTS): Use
crtstuff-generated files.
2003-10-31 Alexandre Oliva <aoliva@redhat.com>
* config.gcc: Add frv-*-*linux*.
* config/frv/linux.h, config/frv/t-linux: New.
2003-10-06 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.h (LINK_SPEC): Pass -melf32frvfd to the linker
when -mfdpic even if a linker script is explicitly listed.
2003-10-02 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_override_options): Clear asm_out
unaligned_op for SImode on FDPIC.
(frv_emit_movsi): Use compute_reloc_for_constant to compute the
argument passed to decl_readonly_section.
(frv_assemble_integer): Revert 2003-09-30's change, but make the
whole block run with FDPIC even with -fno-PIC.
2003-10-02 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_cannot_force_const_mem): Don't force
symbol or label plus offset to memory.
(frv_emit_movsi): Emit GPREL only if -mgprel-ro. Emit 32-bit
GOTOFF and GPREL for LABEL_REF.
* config/frv/frv.h (DRIVER_SELF_SPECS): Add -mgprel-ro with
-mfdpic unless -mno-gprel-ro, -fpic or -fpie.
(MASK_GPREL_RO, TARGET_GPREL_RO): New.
(TARGET_SWITCHES): Added gprel-ro and no-gprel-ro.
* doc/invoke.texi: Document them.
2003-09-30 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv-protos.h (frv_gen_GPsym2reg): Declare.
(frv_splittable_got_operand): Removed.
* config/frv/frv.c (frv_cannot_force_const_mem): Reject HIGH and
LO_SUM. Add comments.
(frv_override_options): Moved enabling of FDPIC to
DRIVER_SELF_SPECS. Don't enable MASK_DWORD.
(frv_local_funcdesc_p): Remove unnecessary heck for flag_pie.
(frv_legitimize_fdpic_address): Don't duplicate logic in
frv_emit_movsi.
(frv_gen_GPsym2reg): New.
(unspec_got_name): Added gprel.
(frv_expand_fdpic_call): Add support for inlining PLTs.
(fdpic_fptr_operand): Renamed from frv_fdpic_fptr_operand.
(gpr_or_int12_operand): Added GPREL12.
(pic_symbolic_operand): Match even if !flag_pic for FDPIC.
(small_data_symbolic_operand): Fail if FDPIC.
(fdpic_splittable_got_operand): Removed.
(fdpic_got12_operand): Added GPREL12.
(frv_emit_movsi): Reorganize to avoid duplication. Emit GPREL
when appropriate. Fix sdata GOTOFF.
(frv_legitimate_constant_p): Require legitimate PIC operand for
FDPIC with pic, but only a legitimate fdpic operand for non-pic.
(frv_assemble_integer): Move FDPIC funcdesc handling out of
flag_pic case.
(frv_asm_out_constructor, frv_asm_out_destructor): Abort if
frv_assemble_integer fails.
* config/frv/frv.h (DRIVER_SELF_SPECS): New.
(SUBTARGET_DRIVER_SELF_SPECS): New.
(ASM_SPEC): Don't pass -mno-fdpic.
(LINK_SPEC): Pass -melf32frvfd for FDPIC.
(MASK_INLINE_PLT, TARGET_INLINE_PLT): New.
(TARGET_SWITCHES): Add -minline-plt, -mno-inline-plt and
-multilib-library-pic.
(PREDICATE_CODES): Added fdpic_operand, fdpic_fptr_operand,
condexec_si_media_operator, condexec_sf_add_operator and
condexec_sf_conv_operator. Removed condexec_sf_binary_operator
and condexec_sf_unary_operator.
* config/frv/frv.md (R_FRV_GPREL12, R_FRV_GPRELHI, R_FRV_GPRELLO):
New.
(movsi_got, movsi_high_got, movsi_lo_sum_got): Move before
movsi_internal. Give them internal names. movsi_got has type
int.
(fdpic got splitters): Remove.
(symGPREL2reg, symGPREL2reg_hilo): New.
* config/frv/t-frv (MULTILIB_MATCHES): Don't map -fpic and -fPIC
to -mlibrary-pic. Map -multilib-library-pic to it.
* doc/invoke.texi: -mfdpic, -minline-plt, -multilib-library-pic:
Document.
2003-09-28 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_function_symbol_referenced_p): Declare.
(TARGET_CANNOT_FORCE_CONST_MEM): Define to...
(frv_cannot_force_const_mem): New function.
(const_small_data_p, plus_small_data_p): Update comments on sdata
on FDPIC.
(frv_override_options): Set flag_pie for FDPIC too.
(frv_conditional_register_usage): Mark gr16 and gr17 as non-fixed,
call-saved registers on FDPIC.
(frv_stack_info): Don't preserve the PIC register on FDPIC, and
don't force LR to be preserved.
(frv_expand_prologue): Likewise.
(frv_asm_output_mi_thunk): Use 12-bit funcdesc gotoff for -fpic.
(frv_frame_pointer_required): Don't force it just because the
FDPIC register is used.
(frv_legitimate_address_p) <CONST>: Accept a legitimate FDPIC
operand only if !condexec_p.
(frv_legitimize_address): Return the FDPIC-legitimized address.
Don't match small data here on FDPIC.
(frv_legitimate_fdpic_operand_p): Don't accept unadorned function
symbols. Use TRUE/FALSE instead of 1/0.
(frv_local_funcdesc_p): New.
(frv_legitimize_fdpic_address): Rewrite to use GOTOFF and 12-bit
immediates when possible.
(pic_symbolic_operand): Accept SYMBOL_REFs and CONSTs in FDPIC.
(dbl_memory_one_insn_operand): Accept addresses that add a REG and
an UNSPEC_GOT.
(frv_emit_movsi): Handle FDPIC before small data. Use GOTOFF and
12-bit immediates when possible.
(frv_legitimate_constant_p): In FDPIC, reject SImode operands that
are not legitimate pic operands.
(frv_in_small_data_p): Re-enable for FDPIC.
* config/frv/frv.h (SDA_BASE_REG): Remove comment about FDPIC.
(FRV_GLOBAL_P): Removed.
* config/frv/frv.md: Add modes to CONSTs.
(movsi_got): New.
(movsi_lo_sum_got): Use separate matches instead of match_dup.
(movsi_high_pic, movsi_lo_sum_pic): Match on non-FDPIC only.
(fdpic splittable operations): Match on flag_pic != 1.
2003-09-22 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_asm_out_constructor,
frv_asm_out_destructor): Pass to frv_assemble_integer the size in
bytes, not bits.
2003-09-19 Alexandre Oliva <aoliva@redhat.com>
* config/frv/frv.c (frv_assemble_integer): Reject complex
expressions referencing function SYMBOL_REFs.
* config/frv/frv.c (frv_function_symbol_referenced_p): New.
(move_source_operand): Reject CONSTs that reference function
SYMBOL_REFs on FDPIC.
(frv_emit_movsi): If we get such a CONST, break it up.
* config/frv/frv.h (CPP_SPEC): Define __FRV_FDPIC__ for -mfdpic.
(TRANSFER_FROM_TRAMPOLINE): Use different definitions for FDPIC.
* config/frv/frv.c (frv_print_operand) <I>: Recognize PLUS without
MEM.
(frv_assemble_integer): Don't use funcdesc for LABEL_REFs.
(frv_trampoline_size): Increase for FDPIC.
* config/frv/frv.h (TRAMPOLINE_ALIGNMENT): Bump to 64 for FDPIC.
(TRANSFER_FROM_TRAMPOLINE): Handle FDPIC trampolines.
* config/frv/frv.c (frv_legitimize_fdpic_address, frv_emit_movsi):
Disable use of GOTOFF for now.
(const_small_data_p, plus_small_data_p, frv_in_small_data_p):
Disable use of small data in FDPIC for now.
(frv_asm_output_mi_thunk): Implement for FDPIC.
* config/frv/frv.h (SDA_BASE_REG): Set to -1 with FDPIC.
* config/frv/frv.c (frv_asm_out_constructor): Use
frv_assemble_integer for FDPIC pointers.
(frv_asm_out_destructor): Likewise.
* config/frv/frv.md (ldd): Fix order of operands. Use
address_operand for input.
2003-09-18 DJ Delorie <dj@redhat.com>
* config/frv/frv.c (frv_legitimate_fdpic_operand_p): Remove UNSPEC_PIC.
(unspec_got_name): Correct typo.
(frv_emit_movsi): Pre-expand splittable GOTs.
(frv_expand_fdpic_call): Rename gen_lddi to gen_ldd.
* config/frv/frv.md (lddi): Fix syntax error, rename to ldd.
(symGOT2reg_hilo, symGOTOFF2reg_hilo): New.
* config/frv/t-frv: Add -mfdpic multilibs.
* config/frv/frv.h (ASM_SPEC): Pass -mfdpic/-mno-fdpic.
(TARGET_SWITCHES): Add -mno-fdpic, fix documentation.
* config/frv/frv.c (frv_override_options): -mfdpic assumes
flag_pic, default to 32-bit pics, require DWORD ops.
(frv_override_options): Add W and Z constraints.
(frv_expand_prologue): No pic prologue for -mfdpic.
(frv_asm_output_mi_thunk): Support -mfdpic (soon).
(frv_print_operand_memory_reference): Handle GOT constants.
(frv_legitimate_address_p): Allow GOT constants.
(frv_legitimize_address): Handle GOT addresses too.
(frv_legitimate_fdpic_operand_p): New.
(frv_legitimize_fdpic_address): New.
(unspec_got_name): New.
(frv_output_addr_const_extra): New.
(frv_expand_fdpic_call): New.
(frv_fdpic_fptr_operand): New.
(gpr_or_int12_operand): Handle GOT operands.
(int_2word_operand): Handle GOT operands.
(fdpic_operand): New.
(fdpic_splittable_got_operand): New.
(fdpic_got12_operand): New.
(frv_emit_movsi): Handle GOT operands.
(frv_assemble_integer): -mfdpic doesn't use rofixups.
(frv_print_operand): Support 'g' code for GOT operands.
* config/frv/frv-protos.h: Add prototypes as needed.
* config/frv/frv.md (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO,
R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI,
R_FRV_FUNCDESC_GOTLO, R_FRV_FUNCDESC_VALUE,
R_FRV_FUNCDESC_GOTOFF12, R_FRV_FUNCDESC_GOTOFFHI,
R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12, R_FRV_GOTOFFHI,
R_FRV_GOTOFFLO): New.
(movsi_high_got, movsi_lo_sum_got): New.
(*movsi_pic): Don't use this splitter for -mfdpic.
(addsi3): Allow GOT references also.
(call, call_value): Handle -mfdpic separately.
(call_fdpicdi, call_fdpicsi, lddi, call_value_fdpicdi,
call_value_fdpicsi): New.
(symGOT2reg, symGOT2reg_i, got splitters, symGOTOFF2reg,
symGOTOFF2reg_i): New.
* config/frv/frv.h (MASK_FDPIC): New.
(TARGET_FDPIC): New.
(TARGET_SWITCHES): Add -mfdpic.
(FDPIC_FPTR_REGNO): New.
(FDPIC_REGNO): New.
(OUR_FDPIC_REG): New.
(enum reg_class): Add FDPIC_REGS, FDPIC_FPTR_REGS, and
FDPIC_CALL_REGS.
(REG_CLASS_NAMES): Likewise.
(REG_CLASS_CONTENTS): Likewise.
(EXTRA_CONSTRAINT_FOR_Y): New, for 12-bit GOTs.
(EXTRA_CONSTRAINT): Add it here.
(FRV_GLOBAL_P): New.
(OUTPUT_ADDR_CONST_EXTRA): New.
From-SVN: r78373
2004-02-24 17:58:39 +01:00
|
|
|
*)
|
|
|
|
echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
;;
|
|
|
|
|
2004-03-16 05:12:25 +01:00
|
|
|
m68k*-linux*)
|
|
|
|
supported_defaults="cpu"
|
|
|
|
case "$with_cpu" in
|
|
|
|
"" | "m68020" | "m68030" | "m68040" | "m68060" | "m68020-40" | "m68020-60")
|
|
|
|
# OK
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "Unknown CPU used in --with-cpu=$with_cpu, known values:" 1>&2
|
|
|
|
echo "m68020 m68030 m68040 m68060 m68020-40 m68020-60" 1>&2
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
;;
|
|
|
|
|
2003-06-04 19:44:03 +02:00
|
|
|
hppa*-*-* | parisc*-*-*)
|
config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic. Set
configure_default_options according to the default CPU, --with-cpu,
--with-arch, --with-tune, --with-schedule, --with-abi, and
--with-float. Check for legal values of various options.
* configure.in: Define configure_default_options in configargs.h.
* configure: Regenerated.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (do_option_spec): New function.
(struct default_spec, option_default_specs): New.
(main): Call do_option_spec.
* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
* doc/install.texi: Update --with-cpu documentation. Mention
--with-arch, --with-schedule, --with-tune, --with-abi, and
--with-float.
* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
From-SVN: r67457
2003-06-04 19:50:44 +02:00
|
|
|
supported_defaults="arch schedule"
|
|
|
|
|
2003-09-25 07:52:28 +02:00
|
|
|
case "$with_arch" in
|
|
|
|
"" | 1.0 | 1.1 | 2.0)
|
config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic. Set
configure_default_options according to the default CPU, --with-cpu,
--with-arch, --with-tune, --with-schedule, --with-abi, and
--with-float. Check for legal values of various options.
* configure.in: Define configure_default_options in configargs.h.
* configure: Regenerated.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (do_option_spec): New function.
(struct default_spec, option_default_specs): New.
(main): Call do_option_spec.
* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
* doc/install.texi: Update --with-cpu documentation. Mention
--with-arch, --with-schedule, --with-tune, --with-abi, and
--with-float.
* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
From-SVN: r67457
2003-06-04 19:50:44 +02:00
|
|
|
# OK
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "Unknown architecture used in --with-arch=$with_arch" 1>&2
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2003-09-25 07:52:28 +02:00
|
|
|
case "$with_schedule" in
|
|
|
|
"" | 700 | 7100 | 7100LC | 7200 | 7300 | 8000)
|
2003-06-04 19:44:03 +02:00
|
|
|
# OK
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "Unknown processor used in --with-schedule=$with_schedule." 1>&2
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
2003-06-04 19:42:53 +02:00
|
|
|
;;
|
|
|
|
|
2003-06-04 19:44:03 +02:00
|
|
|
i[34567]86-*-* | x86_64-*-*)
|
config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic. Set
configure_default_options according to the default CPU, --with-cpu,
--with-arch, --with-tune, --with-schedule, --with-abi, and
--with-float. Check for legal values of various options.
* configure.in: Define configure_default_options in configargs.h.
* configure: Regenerated.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (do_option_spec): New function.
(struct default_spec, option_default_specs): New.
(main): Call do_option_spec.
* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
* doc/install.texi: Update --with-cpu documentation. Mention
--with-arch, --with-schedule, --with-tune, --with-abi, and
--with-float.
* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
From-SVN: r67457
2003-06-04 19:50:44 +02:00
|
|
|
supported_defaults="arch cpu tune"
|
|
|
|
for which in arch cpu tune; do
|
|
|
|
eval "val=\$with_$which"
|
2003-09-25 09:30:57 +02:00
|
|
|
case ${val} in
|
invoke.texi (generic): Document (i686) Update.
* invoke.texi (generic): Document
(i686) Update.
* config.gcc: Make x86_64-* and i686-* default to generic tunning.
* i386.h (TARGET_GENERIC32, TARGET_GENERIC64, TARGET_GENERIC,
TARGET_USE_INCDEC, TARGET_PAD_RETURNS): New macros.
(x86_use_incdec, x86_pad_returns): New variables
(TARGET_CPU_DEFAULT_generic): New constant
(TARGET_CPU_DEFAULT_NAMES): Add generic.
(enum processor_type): Add generic32 and generic64.
* i386.md (cpu attribute): Add generic32/generic64
(movhi splitter): Behave sanely when both partial_reg_dependency and
partial_reg_stall are set.
(K8 splitters): Enable for generic as well.
* predicates.md (incdec_operand): Use TARGET_INCDEC
(aligned_operand): Avoid memory mismatch stalls.
* athlon.md: Enable for generic64, new patterns for 128bit moves.
* ppro.md: Enable for generic32
* i386.c (generic64_cost, generic32_cost): New.
(m_GENERIC32, m_GENERIC64, m_GENERIC): New macros.
(x86_use_leave): Enable for generic64. (x86_use_sahf,
x86_ext_80387_constants): Enable for generic32. (x86_push_memory,
x86_movx, x86_unroll_strlen, x86_deep_branch, x86_use_simode_fiop,
x86_use_cltd, x86_promote_QImode, x86_sub_esp_4, x86_sub_esp_8,
x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves,
x86_partial_reg_dependency, x86_memory_mismatch_stall,
x86_accumulate_outgoing_args, x86_prologue_using_move,
x86_epilogue_using_move, x86_arch_always_fancy_math_387,
x86_sse_partial_reg_dependency, x86_four_jump_limit, x86_schedule):
Enable for generic.
(x86_use_incdec, x86_pad_returns): New.
(override_options): Add generic32 and generic64, translate "generic"
to generic32/generic64 and "i686" to "generic32", refuse
"generic32"/"generic64" as arch target.
(ix86_issue_rate, ix86_adjust_cost): Handle generic as athlon.
(ix86_reorg): Honor PAD_RETURNS.
Co-Authored-By: Evandro Menezes <evandro.menezes@amd.com>
Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>
From-SVN: r109971
2006-01-19 18:10:24 +01:00
|
|
|
i386 | i486 \
|
2003-09-25 09:30:57 +02:00
|
|
|
| i586 | pentium | pentium-mmx | winchip-c6 | winchip2 \
|
|
|
|
| c3 | c3-2 | i686 | pentiumpro | pentium2 | pentium3 \
|
|
|
|
| pentium4 | k6 | k6-2 | k6-3 | athlon | athlon-tbird \
|
invoke.texi (generic): Document (i686) Update.
* invoke.texi (generic): Document
(i686) Update.
* config.gcc: Make x86_64-* and i686-* default to generic tunning.
* i386.h (TARGET_GENERIC32, TARGET_GENERIC64, TARGET_GENERIC,
TARGET_USE_INCDEC, TARGET_PAD_RETURNS): New macros.
(x86_use_incdec, x86_pad_returns): New variables
(TARGET_CPU_DEFAULT_generic): New constant
(TARGET_CPU_DEFAULT_NAMES): Add generic.
(enum processor_type): Add generic32 and generic64.
* i386.md (cpu attribute): Add generic32/generic64
(movhi splitter): Behave sanely when both partial_reg_dependency and
partial_reg_stall are set.
(K8 splitters): Enable for generic as well.
* predicates.md (incdec_operand): Use TARGET_INCDEC
(aligned_operand): Avoid memory mismatch stalls.
* athlon.md: Enable for generic64, new patterns for 128bit moves.
* ppro.md: Enable for generic32
* i386.c (generic64_cost, generic32_cost): New.
(m_GENERIC32, m_GENERIC64, m_GENERIC): New macros.
(x86_use_leave): Enable for generic64. (x86_use_sahf,
x86_ext_80387_constants): Enable for generic32. (x86_push_memory,
x86_movx, x86_unroll_strlen, x86_deep_branch, x86_use_simode_fiop,
x86_use_cltd, x86_promote_QImode, x86_sub_esp_4, x86_sub_esp_8,
x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves,
x86_partial_reg_dependency, x86_memory_mismatch_stall,
x86_accumulate_outgoing_args, x86_prologue_using_move,
x86_epilogue_using_move, x86_arch_always_fancy_math_387,
x86_sse_partial_reg_dependency, x86_four_jump_limit, x86_schedule):
Enable for generic.
(x86_use_incdec, x86_pad_returns): New.
(override_options): Add generic32 and generic64, translate "generic"
to generic32/generic64 and "i686" to "generic32", refuse
"generic32"/"generic64" as arch target.
(ix86_issue_rate, ix86_adjust_cost): Handle generic as athlon.
(ix86_reorg): Honor PAD_RETURNS.
Co-Authored-By: Evandro Menezes <evandro.menezes@amd.com>
Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>
From-SVN: r109971
2006-01-19 18:10:24 +01:00
|
|
|
| athlon-4 | athlon-xp | athlon-mp \
|
|
|
|
| prescott | pentium-m | pentium4m | pentium3m)
|
|
|
|
case "${target}" in
|
|
|
|
x86_64-*-*)
|
|
|
|
echo "CPU given in --with-$which=$val doesn't support 64bit mode." 1>&2
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
# OK
|
|
|
|
;;
|
|
|
|
"" | k8 | opteron | athlon64 | athlon-fx | nocona | generic)
|
config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic. Set
configure_default_options according to the default CPU, --with-cpu,
--with-arch, --with-tune, --with-schedule, --with-abi, and
--with-float. Check for legal values of various options.
* configure.in: Define configure_default_options in configargs.h.
* configure: Regenerated.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (do_option_spec): New function.
(struct default_spec, option_default_specs): New.
(main): Call do_option_spec.
* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
* doc/install.texi: Update --with-cpu documentation. Mention
--with-arch, --with-schedule, --with-tune, --with-abi, and
--with-float.
* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
From-SVN: r67457
2003-06-04 19:50:44 +02:00
|
|
|
# OK
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "Unknown CPU given in --with-$which=$val." 1>&2
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
done
|
|
|
|
;;
|
|
|
|
|
|
|
|
mips*-*-*)
|
2004-09-07 21:39:06 +02:00
|
|
|
supported_defaults="abi arch float tune divide"
|
config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic. Set
configure_default_options according to the default CPU, --with-cpu,
--with-arch, --with-tune, --with-schedule, --with-abi, and
--with-float. Check for legal values of various options.
* configure.in: Define configure_default_options in configargs.h.
* configure: Regenerated.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (do_option_spec): New function.
(struct default_spec, option_default_specs): New.
(main): Call do_option_spec.
* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
* doc/install.texi: Update --with-cpu documentation. Mention
--with-arch, --with-schedule, --with-tune, --with-abi, and
--with-float.
* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
From-SVN: r67457
2003-06-04 19:50:44 +02:00
|
|
|
|
2003-09-25 09:30:57 +02:00
|
|
|
case ${with_float} in
|
|
|
|
"" | soft | hard)
|
2003-06-04 19:44:03 +02:00
|
|
|
# OK
|
|
|
|
;;
|
|
|
|
*)
|
config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic. Set
configure_default_options according to the default CPU, --with-cpu,
--with-arch, --with-tune, --with-schedule, --with-abi, and
--with-float. Check for legal values of various options.
* configure.in: Define configure_default_options in configargs.h.
* configure: Regenerated.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (do_option_spec): New function.
(struct default_spec, option_default_specs): New.
(main): Call do_option_spec.
* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
* doc/install.texi: Update --with-cpu documentation. Mention
--with-arch, --with-schedule, --with-tune, --with-abi, and
--with-float.
* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
From-SVN: r67457
2003-06-04 19:50:44 +02:00
|
|
|
echo "Unknown floating point type used in --with-float=$with_float" 1>&2
|
2003-06-04 19:44:03 +02:00
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
2003-06-04 19:42:53 +02:00
|
|
|
|
2003-09-25 09:30:57 +02:00
|
|
|
case ${with_abi} in
|
|
|
|
"" | 32 | o64 | n32 | 64 | eabi)
|
2003-06-04 19:44:03 +02:00
|
|
|
# OK
|
|
|
|
;;
|
|
|
|
*)
|
config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic. Set
configure_default_options according to the default CPU, --with-cpu,
--with-arch, --with-tune, --with-schedule, --with-abi, and
--with-float. Check for legal values of various options.
* configure.in: Define configure_default_options in configargs.h.
* configure: Regenerated.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (do_option_spec): New function.
(struct default_spec, option_default_specs): New.
(main): Call do_option_spec.
* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
* doc/install.texi: Update --with-cpu documentation. Mention
--with-arch, --with-schedule, --with-tune, --with-abi, and
--with-float.
* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
From-SVN: r67457
2003-06-04 19:50:44 +02:00
|
|
|
echo "Unknown ABI used in --with-abi=$with_abi" 1>&2
|
2003-06-04 19:44:03 +02:00
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
2004-09-07 21:39:06 +02:00
|
|
|
|
|
|
|
case ${with_divide} in
|
|
|
|
"" | breaks | traps)
|
|
|
|
# OK
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "Unknown division check type use in --with-divide=$with_divide" 1>&2
|
|
|
|
exit 1
|
|
|
|
esac
|
2003-06-04 19:42:53 +02:00
|
|
|
;;
|
|
|
|
|
2005-12-28 23:37:42 +01:00
|
|
|
mt-*-*)
|
|
|
|
supported_defaults="arch"
|
|
|
|
|
|
|
|
case "$with_arch" in
|
|
|
|
"" \
|
|
|
|
| ms1-64-001 \
|
|
|
|
| ms1-16-002 \
|
|
|
|
| ms1-16-003 \
|
|
|
|
| ms2 \
|
|
|
|
| "")
|
|
|
|
# OK
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "Unknown arch used in --with-arch=$with_arch" 1>&2
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
;;
|
|
|
|
|
config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic. Set
configure_default_options according to the default CPU, --with-cpu,
--with-arch, --with-tune, --with-schedule, --with-abi, and
--with-float. Check for legal values of various options.
* configure.in: Define configure_default_options in configargs.h.
* configure: Regenerated.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (do_option_spec): New function.
(struct default_spec, option_default_specs): New.
(main): Call do_option_spec.
* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
* doc/install.texi: Update --with-cpu documentation. Mention
--with-arch, --with-schedule, --with-tune, --with-abi, and
--with-float.
* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
From-SVN: r67457
2003-06-04 19:50:44 +02:00
|
|
|
powerpc*-*-* | rs6000-*-*)
|
|
|
|
supported_defaults="cpu float tune"
|
|
|
|
|
|
|
|
for which in cpu tune; do
|
|
|
|
eval "val=\$with_$which"
|
2003-09-25 09:30:57 +02:00
|
|
|
case ${val} in
|
2004-01-23 18:42:58 +01:00
|
|
|
default32 | default64)
|
|
|
|
with_which="with_$which"
|
|
|
|
eval $with_which=
|
|
|
|
;;
|
2005-06-27 19:17:16 +02:00
|
|
|
405cr)
|
|
|
|
tm_defines="${tm_defines} CONFIG_PPC405CR"
|
|
|
|
eval "with_$which=405"
|
|
|
|
;;
|
2004-01-23 18:42:58 +01:00
|
|
|
"" | common \
|
2006-06-01 17:44:13 +02:00
|
|
|
| power | power[23456] | powerpc | powerpc64 \
|
2003-09-25 09:30:57 +02:00
|
|
|
| rios | rios1 | rios2 | rsc | rsc1 | rs64a \
|
|
|
|
| 401 | 403 | 405 | 405fp | 440 | 440fp | 505 \
|
|
|
|
| 601 | 602 | 603 | 603e | ec603e | 604 \
|
|
|
|
| 604e | 620 | 630 | 740 | 750 | 7400 | 7450 \
|
2005-03-14 03:23:49 +01:00
|
|
|
| 854[08] | 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5)
|
config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic. Set
configure_default_options according to the default CPU, --with-cpu,
--with-arch, --with-tune, --with-schedule, --with-abi, and
--with-float. Check for legal values of various options.
* configure.in: Define configure_default_options in configargs.h.
* configure: Regenerated.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (do_option_spec): New function.
(struct default_spec, option_default_specs): New.
(main): Call do_option_spec.
* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
* doc/install.texi: Update --with-cpu documentation. Mention
--with-arch, --with-schedule, --with-tune, --with-abi, and
--with-float.
* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
From-SVN: r67457
2003-06-04 19:50:44 +02:00
|
|
|
# OK
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "Unknown cpu used in --with-$which=$val." 1>&2
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
done
|
|
|
|
;;
|
|
|
|
|
config.gcc [...]: Support --with-arch, --with-tune, and --with-mode configure options.
* config.gcc [s390*-*-*]: Support --with-arch, --with-tune, and
--with-mode configure options.
* config/s390/s390.h (OPTION_DEFAULT_SPECS): Define.
(DRIVER_SELF_SPECS): Define.
* config/s390/linux.h (ASM_SPEC): Pass architecture mode and cpu
architecture to assembler.
(LINK_SPEC): Merge 31-bit and 64-bit variants.
(LINK_ARCH31_SPEC, LINK_ARCH64_SPEC, EXTRA_SPECS): Remove.
* config/s390/s390.c (override_options): New default rules for
architecture mode and cpu architecture selection.
* doc/invoke.texi (-mesa, -mzarch, -march, -mtune): Document
new default rules.
* config/s390/s390.h (enum processor_type): Add PROCESSOR_2084_Z990.
* config/s390/s390.md (attr "cpu"): Add "z990" processor type.
* config/s390/s390.c (override_options): Add "z990" to
processor_alias_table.
* doc/invoke.texi (-march): Document "z990" processor type.
* config/s390/s390.c (s390_tune_flags, s390_arch_flags): New variables.
* config/s390/s390.h (s390_tune_flags, s390_arch_flags): Declare.
(enum processor_flags, TARGET_CPU_IEEE_FLOAT, TARGET_CPU_ZARCH,
TARGET_CPU_LONG_DISPLACEMENT, TARGET_LONG_DISPLACEMENT): New.
* config/s390/s390.c (override_options): Replace enum pta_flags by
enum processor_flags. Fill in s390_tune_flags and s390_arch_flags.
* config/s390/s390.c (s390_cpu): Rename to ...
(s390_tune): ... this.
* config/s390/s390.h (s390_cpu, s390_tune): Likewise.
* config/s390/s390.c (s390_issue_rate, override_options): Likewise.
* config/s390/s390.md (attr "cpu"): Likewise.
From-SVN: r68736
2003-06-30 21:47:22 +02:00
|
|
|
s390*-*-*)
|
|
|
|
supported_defaults="arch mode tune"
|
|
|
|
|
|
|
|
for which in arch tune; do
|
|
|
|
eval "val=\$with_$which"
|
2003-09-25 09:30:57 +02:00
|
|
|
case ${val} in
|
config.gcc: Added z9-109 switch.
2005-08-16 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
Andreas Krebbel <krebbel1@de.ibm.com>
* config.gcc: Added z9-109 switch.
* config/s390/2084.md ("x_int", "x_agen", "x_lr", "x_la", "x_larl",
"x_load", "x_store", "x_branch", "x_call", "x_mul_hi", "x_mul_sidi",
"x_div", "x_sem", "x_cs", "x_vs", "x_stm", "x_lm", "x_other",
"x_fsimpdf", "x_fsimpsf", "x_fdivdf", "x_fdivsf", "x_floaddf",
"x_floadsf", "x_fstore_df", "x_fstoresf", "x_ftoi", "x_itof"): Enable
for "z9_109" cpu attribute.
* config/s390/s390.c (z9_109_cost): New processor cost structure.
(CONST_OK_FOR_Os, CONST_OK_FOR_Op, CONST_OK_FOR_On): New macros.
(s390_handle_arch_option): Added z9-109 switch.
(override_options): Set respective cost function for z9-109.
(s390_const_ok_for_constraint_p): New constraints Os, Op, On.
(legitimate_reload_constant_p): Accept extended immediates.
(print_operand): Three new output modifiers added: k, m and o.
(s390_adjust_priority, s390_issue_rate): Handle Z9_109 like Z990.
(s390_output_mi_thunk): Use extended immediate when possible.
* config/s390/s390.h (processor_flags): Added PF_EXTIMM.
(TARGET_CPU_EXTIMM, TARGET_EXTIMM): New macros.
(CONSTRAINT_LEN): Added length of O constraint.
(CLZ_DEFINED_VALUE_AT_ZERO): Definition added.
* config/s390/s390.md ("cpu"): New value z9_109 added.
("*tstdi_extimm", "*tstdi_ccconly_extimm", "*tstsi_extimm",
"*tstsi_cconly_extimm", "*movdi_64extimm", "*extendhidi2_extimm",
"*extendqidi2_extimm", "*extendhisi2_extimm", "*extendqisi2_extimm",
"*zero_extend<mode>si2_extimm", "*anddi3_extimm", "*iordi3_extimm",
"*xordi3_extimm", "clzdi2", "clztidi2"): New patterns.
("*tstdi", "*tstsi", "*movdi_64", "*extendhisi2", "*extendqisi2",
"*zero_extend<mode>si2_64", "zero_extendqihi2", "*zero_extendqihi2_64",
"*anddi3", "*iordi3", "*xordi3"): Disable for TARGET_EXTIMM.
("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccs", "*cmpsi_ccs", "*cmpdi_ccu",
"*cmpsi_ccu", "*movsi_zarch", "*adddi3_imm_cc", "*adddi3_carry1_cc",
"*adddi3_carry2_cc", "*adddi3_cc", "*adddi3_64", "*addsi3_imm_cc",
"*addsi3_carry1_cc", "*addsi3_carry2_cc", "*addsi3_cc", "addsi3",
"*andsi3_cc", "*andsi3_cconly", "*andsi3_zarch", "*iorsi3_cc",
"*iorsi3_cconly", "*iorsi3_zarch", "*xorsi3_cc", "*xorsi3_cconly",
"*xorsi3", "*xorhi3", "*xorqi3"): Added instruction using extended
immediates.
("extend<mode>di2", "extend<mode>si2", "zero_extend<mode>di2",
"zero_extend<mode>si2"): Allow memory operands and don't manually emit
insns for TARGET_EXTIMM.
From-SVN: r103211
2005-08-17 13:11:05 +02:00
|
|
|
"" | g5 | g6 | z900 | z990 | z9-109)
|
config.gcc [...]: Support --with-arch, --with-tune, and --with-mode configure options.
* config.gcc [s390*-*-*]: Support --with-arch, --with-tune, and
--with-mode configure options.
* config/s390/s390.h (OPTION_DEFAULT_SPECS): Define.
(DRIVER_SELF_SPECS): Define.
* config/s390/linux.h (ASM_SPEC): Pass architecture mode and cpu
architecture to assembler.
(LINK_SPEC): Merge 31-bit and 64-bit variants.
(LINK_ARCH31_SPEC, LINK_ARCH64_SPEC, EXTRA_SPECS): Remove.
* config/s390/s390.c (override_options): New default rules for
architecture mode and cpu architecture selection.
* doc/invoke.texi (-mesa, -mzarch, -march, -mtune): Document
new default rules.
* config/s390/s390.h (enum processor_type): Add PROCESSOR_2084_Z990.
* config/s390/s390.md (attr "cpu"): Add "z990" processor type.
* config/s390/s390.c (override_options): Add "z990" to
processor_alias_table.
* doc/invoke.texi (-march): Document "z990" processor type.
* config/s390/s390.c (s390_tune_flags, s390_arch_flags): New variables.
* config/s390/s390.h (s390_tune_flags, s390_arch_flags): Declare.
(enum processor_flags, TARGET_CPU_IEEE_FLOAT, TARGET_CPU_ZARCH,
TARGET_CPU_LONG_DISPLACEMENT, TARGET_LONG_DISPLACEMENT): New.
* config/s390/s390.c (override_options): Replace enum pta_flags by
enum processor_flags. Fill in s390_tune_flags and s390_arch_flags.
* config/s390/s390.c (s390_cpu): Rename to ...
(s390_tune): ... this.
* config/s390/s390.h (s390_cpu, s390_tune): Likewise.
* config/s390/s390.c (s390_issue_rate, override_options): Likewise.
* config/s390/s390.md (attr "cpu"): Likewise.
From-SVN: r68736
2003-06-30 21:47:22 +02:00
|
|
|
# OK
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "Unknown cpu used in --with-$which=$val." 1>&2
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
done
|
|
|
|
|
2003-09-25 09:30:57 +02:00
|
|
|
case ${with_mode} in
|
|
|
|
"" | esa | zarch)
|
config.gcc [...]: Support --with-arch, --with-tune, and --with-mode configure options.
* config.gcc [s390*-*-*]: Support --with-arch, --with-tune, and
--with-mode configure options.
* config/s390/s390.h (OPTION_DEFAULT_SPECS): Define.
(DRIVER_SELF_SPECS): Define.
* config/s390/linux.h (ASM_SPEC): Pass architecture mode and cpu
architecture to assembler.
(LINK_SPEC): Merge 31-bit and 64-bit variants.
(LINK_ARCH31_SPEC, LINK_ARCH64_SPEC, EXTRA_SPECS): Remove.
* config/s390/s390.c (override_options): New default rules for
architecture mode and cpu architecture selection.
* doc/invoke.texi (-mesa, -mzarch, -march, -mtune): Document
new default rules.
* config/s390/s390.h (enum processor_type): Add PROCESSOR_2084_Z990.
* config/s390/s390.md (attr "cpu"): Add "z990" processor type.
* config/s390/s390.c (override_options): Add "z990" to
processor_alias_table.
* doc/invoke.texi (-march): Document "z990" processor type.
* config/s390/s390.c (s390_tune_flags, s390_arch_flags): New variables.
* config/s390/s390.h (s390_tune_flags, s390_arch_flags): Declare.
(enum processor_flags, TARGET_CPU_IEEE_FLOAT, TARGET_CPU_ZARCH,
TARGET_CPU_LONG_DISPLACEMENT, TARGET_LONG_DISPLACEMENT): New.
* config/s390/s390.c (override_options): Replace enum pta_flags by
enum processor_flags. Fill in s390_tune_flags and s390_arch_flags.
* config/s390/s390.c (s390_cpu): Rename to ...
(s390_tune): ... this.
* config/s390/s390.h (s390_cpu, s390_tune): Likewise.
* config/s390/s390.c (s390_issue_rate, override_options): Likewise.
* config/s390/s390.md (attr "cpu"): Likewise.
From-SVN: r68736
2003-06-30 21:47:22 +02:00
|
|
|
# OK
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "Unknown architecture mode used in --with-mode=$with_mode." 1>&2
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
;;
|
|
|
|
|
[multiple changes]
2004-06-21 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/t-linux (MULTILIB_OPTIONS): Remove.
2004-06-21 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionanlly define.
(SUPPORT_SH4_SINGLE): Likewise.
(TARGET_SWITCHES): Break out switches for cpu subtargets:
(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
(TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
(TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
(TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
(SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
(SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
(SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
(SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
(SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
(ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
* sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
(TARGET_DEFAULT): Likewise.
* config/sh/t-elf: Amend comment.
* config/sh/t-1e, config/sh/t-mlib-sh1: New files.
* config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
* config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
* config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
* config/sh/t-mlib-sh4-single: Likewise.
* config/sh/t-mlib-sh4-single-only: Likewise.
* config/sh/t-mlib-sh5-32media: Likewise.
* config/sh/t-mlib-sh5-32media-nofpu: Likewise.
* config/sh/t-mlib-sh5-64media: Likewise.
* config/sh/t-mlib-sh5-64media-nofpu: Likewise.
* config/sh/t-mlib-sh5-compact: Likewise.
* config/sh/t-mlib-sh5-compact-nofpu: Likewise.
* config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
(MULTILIB_CPUS): Define.
(MULTILIB_OPTIONS): Use MULTILIB_CPUS.
(MULTILIB_MATCHES): Use some shell code to calculate it.
(MULTILIB_EXCEPTIONS): Change to ml/m1.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
* config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
(LINK_DEFAULT_CPU_EMUL): Don't redefine.
(NO_PROFILE_COUNTERS): Define to 1.
* config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
(MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES): Don't zap.
(MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
* config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
(MULTILIB_RAW_DIRNAMES): Define.
(MULTILIB_DIRNAMES): Use it.
* config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
(sh*linux configurations): Merge into:
(sh*elf / sh*kaos configurations). Support --with-endian, --with-cpu,
--with-multilib-list options. Support sh-superh-elf configuration.
(sh*-netbsd*): Use SELECT_SH* macros.
(supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
Merge sh*-*-netbsd* configurations into sh-elf configurations.
* config/sh/t-netbsd-sh5, config/sh/t-le, config/sh/t-le: Delete.
* config/sh/t-monolib: Likewise.
From-SVN: r83444
2004-06-21 20:18:40 +02:00
|
|
|
sh[123456ble]-*-* | sh-*-*)
|
|
|
|
supported_defaults="cpu"
|
2006-03-27 16:11:14 +02:00
|
|
|
case "`echo $with_cpu | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz- | sed s/sh/m/`" in
|
[multiple changes]
2004-06-21 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/t-linux (MULTILIB_OPTIONS): Remove.
2004-06-21 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionanlly define.
(SUPPORT_SH4_SINGLE): Likewise.
(TARGET_SWITCHES): Break out switches for cpu subtargets:
(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
(TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
(TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
(TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
(SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
(SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
(SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
(SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
(SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
(ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
* sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
(TARGET_DEFAULT): Likewise.
* config/sh/t-elf: Amend comment.
* config/sh/t-1e, config/sh/t-mlib-sh1: New files.
* config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
* config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
* config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
* config/sh/t-mlib-sh4-single: Likewise.
* config/sh/t-mlib-sh4-single-only: Likewise.
* config/sh/t-mlib-sh5-32media: Likewise.
* config/sh/t-mlib-sh5-32media-nofpu: Likewise.
* config/sh/t-mlib-sh5-64media: Likewise.
* config/sh/t-mlib-sh5-64media-nofpu: Likewise.
* config/sh/t-mlib-sh5-compact: Likewise.
* config/sh/t-mlib-sh5-compact-nofpu: Likewise.
* config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
(MULTILIB_CPUS): Define.
(MULTILIB_OPTIONS): Use MULTILIB_CPUS.
(MULTILIB_MATCHES): Use some shell code to calculate it.
(MULTILIB_EXCEPTIONS): Change to ml/m1.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
* config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
(LINK_DEFAULT_CPU_EMUL): Don't redefine.
(NO_PROFILE_COUNTERS): Define to 1.
* config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
(MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES): Don't zap.
(MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
* config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
(MULTILIB_RAW_DIRNAMES): Define.
(MULTILIB_DIRNAMES): Use it.
* config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
(sh*linux configurations): Merge into:
(sh*elf / sh*kaos configurations). Support --with-endian, --with-cpu,
--with-multilib-list options. Support sh-superh-elf configuration.
(sh*-netbsd*): Use SELECT_SH* macros.
(supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
Merge sh*-*-netbsd* configurations into sh-elf configurations.
* config/sh/t-netbsd-sh5, config/sh/t-le, config/sh/t-le: Delete.
* config/sh/t-monolib: Likewise.
From-SVN: r83444
2004-06-21 20:18:40 +02:00
|
|
|
"" | m1 | m2 | m2e | m3 | m3e | m4 | m4-single | m4-single-only | m4-nofpu )
|
|
|
|
# OK
|
|
|
|
;;
|
Introduce sh2a support.
2004-07-29 Alexandre Oliva <aoliva@redhat.com>
* config.gcc: Build multilibs for sh2a and sh2a-single by
default.
* config/sh/sh.h (SUPPORT_SH2A, SUPPORT_SH2A_SINGLE): Define by
default. Split their tests out of the corresponding SH4
multilibs.
* config/sh/t-sh (MULTILIB_MATCHES): Don't ever use SH4 or SH4a
multilibs for SH2a.
2004-07-28 Alexandre Oliva <aoliva@redhat.com>
* config.gcc: Handle sh2a multilibs and cpu selection.
* config/sh/sh.h: Likewise. Handle sh2a command line flags.
* config/sh/t-mlib-sh2a: New.
* config/sh/t-mlib-sh2a-nofpu: New.
* config/sh/t-mlib-sh2a-single: New.
* config/sh/t-mlib-sh2a-single-only: New.
2004-07-09 Nick Clifton <nickc@redhat.com>
Issue 43400
* config/sh/sh.h (DRIVER_SELF_SPECS): Issue an error message if
-ml and -m2a are used together.
2004-03-23 DJ Delorie <dj@redhat.com>
* config/sh/sh.c (sh_builtin_saveregs): Use the double code only
when we have a double-sized FPU.
2004-02-24 Corinna Vinschen <vinschen@redhat.com>
* config/sh/lib1funcs.asm (set_fpscr): Don't build if __SH2A_NOFPU__
is set.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Add cases for -msh2a-nofpu,
-msh2a-single and -msh2a-single-only
2004-02-24 Corinna Vinschen <vinschen@redhat.com>
* config/sh/crt1.asm: Don't generate FPU instructions if __SH2A_NOFPU__
is set.
2004-02-20 DJ Delorie <dj@delorie.com>
* config/sh/sh.md (movsf_i, movsf_ie, movsf, ble, bge): Disable for sh2a-nofpu.
2004-02-20 Fred Fish <fnf@redhat.com>,
Corinna Vinschen <vinschen@redhat.com>
* config/sh/t-sh (MULTILIB_OPTIONS): Add 2a-nofpu.
(MULTILIB_EXCEPTIONS): Don't build littel-endian on sh2a.
2004-02-18 DJ Delorie <dj@redhat.com>
* config/sh/sh.c (broken_move): Add support for movi20.
* config/sh/sh.h: Likewise.
(SHIFT_COUNT_TRUNCATED): Set for sh2a.
* config/sh/sh.md (udivsi3_sh2a): New.
(udivsi3): Call it.
(divsi3_sh2a): New.
(divsi3): Call it.
(mul_r): New.
(ashlsi3_sh2a): New.
(ashrsi3_sh2a): New.
(lshrsi3_sh2a): New.
(movsi_i): Disable for sh2a.
(movsi_ie): Add movi20.
(movsf_i, movsf_ie, movsf, ble, untyped_call): Explicitly enable
sh2a, for -m2a-nofpu mode.
2004-02-13 DJ Delorie <dj@redhat.com>
* config/sh/lib1funcs.asm: Handle double vs single better.
* config/sh/sh.h: Likewise.
2004-02-09 DJ Delorie <dj@redhat.com>
* config/sh/crt1.asm: Add support for sh2a.
* config/sh/elf.h: Likewise.
* config/sh/lib1funcs.asm: Likewise.
* config/sh/sh.c: Likewise.
* config/sh/sh.md: Likewise.
* config/sh/sh.h: Likewise.
* config/sh/t-sh: Likewise.
From-SVN: r85286
2004-07-29 08:10:03 +02:00
|
|
|
m2a | m2a-single | m2a-single-only | m2a-nofpu)
|
|
|
|
;;
|
Introduce sh4a support.
gcc/ChangeLog:
Introduce sh4a support.
* config.gcc: Handle sh4a multilibs and cpu selection.
* config/sh/sh.h: Likewise. Handle sh4a command line flags.
* config/sh/t-mlib-sh4a: New.
* config/sh/t-mlib-sh4al: New.
* config/sh/t-mlib-sh4a-nofpu: New.
* config/sh/t-mlib-sh4a-single: New.
* config/sh/t-mlib-sh4a-single-only: New.
2004-02-20 DJ Delorie <dj@redhat.com>
* config/sh/sh.md ("movua"): Change constraint from "m" to "Sua".
* config/sh/sh.h (EXTRA_CONSTRAINT_S): Add "Sua" support.
2003-08-22 Eric Christopher <echristo@redhat.com>
* config/sh/sh4a.md: Update for chip errata.
2003-08-07 Eric Christopher <echristo@redhat.com>
* config/sh/sh4a.md: New file. sh4a processor description.
2003-07-08 Alexandre Oliva <aoliva@redhat.com>
* config/sh/sh.h (TARGET_SWITCHES): Added 4al. Adjust description
of -m4a-nofpu.
(SH_ASM_SPEC): Pass -dsp for -m4al, not -m4a-nofpu.
* config/sh/t-sh (MULTILIB_MATCHES): Map -m4al to -m4a-nofpu.
* doc/invoke.texi (SH Options): Document -m4al.
2003-07-03 Alexandre Oliva <aoliva@redhat.com>
* config/sh/sh.c (expand_block_move): Remove commented-out code
checked in by mistake.
(sh_cannot_change_mode_class): Enable SUBREGs to be used to select
single elements from SFmode vectors.
* config/sh/sh.md (fsca): Use VEC_CONCAT to initialize the output
register.
(sinsf2, cossf2, sindf2, cosdf2): Don't emit CLOBBER.
2003-07-01 Alexandre Oliva <aoliva@redhat.com>
* config/sh/sh.h (sh_fsca_sf2int, sh_fsca_df2int,
sh_fsca_int2sf): Remove variable declarations.
* config/sh/sh.c (sh_fsca_sf2int, sh_fsca_df2int,
sh_fsca_int2sf): New functions.
(sh_fsca_sf2int_rtx, sh_fsca_df2int_rtx,
sh_fsca_int2sf_rtx): New static variables.
* config/sh/sh-protos.h (sh_fsca_sf2int, sh_fsca_df2int,
sh_fsca_int2sf): Declare.
* config/sh/sh.md: Adjust.
* doc/invoke.texi (SH Options): Document new options.
* config/sh/lib1funcs.asm (ic_invalidate): Remove SH4a forward
compatibility from SH4 code.
2003-06-27 Alexandre Oliva <aoliva@redhat.com>
* config/sh/sh.c (expand_block_move): Don't emit POST_INC too
early.
(memory_movsrc_operand): Renamed to...
(unaligned_load_operand): ... this. Simplified.
* config/sh/sh.h (PREDICATE_CODES): Adjust.
* config/sh/sh.md (movua, extv, extzv): Likewise. Change movua's
input operand to SImode, and adjust the others. Introduce
post-increment by peephole.
* config/sh/sh.c (expand_block_move): Give the target address the
same mode as the temp reg.
* config/sh/sh.c (expand_block_move): Use a temp reg for unaligned
copying.
2003-06-26 Alexandre Oliva <aoliva@redhat.com>
Introduce support for SH4a.
* config/sh/lib1funcs.asm (ic_invalidate): Use icbi if
__SH4A__. Emit 4 4kb blocks and touch all of them otherwise.
* config/sh/sh.c (sh_fsca_sf2int, sh_fsca_df2int,
sh_fsca_int2sf): New.
(sh_init_builtins): Initialize them.
(print_operand): Support `d'.
(expand_block_move): Use movua if src is misaligned.
(memory_movsrc_operand): New.
* config/sh/sh.h (TARGET_CPU_CPP_BUILTINS): Define __SH4A__
and one of the SH4 macros.
(SH4A_BIT, TARGET_SH4A_ARCH, TARGET_SH4A_FP,
SELECT_SH4A_NOFPU, SELECT_SH4A_SINGLE_ONLY, SELECT_SH4A,
SELECT_SH4A_SINGLE): New.
(TARGET_NONE): Add SH4A_BIT.
(TARGET_SWITCHES): Add 4a-single-only, 4a-single, 4a-nofpu and 4a.
(SH_ASM_SPEC): Pass -dsp if -m4a-nofpu.
(sh_fsca_sf2int, sh_fsca_df2int, sh_fsca_int2sf): Declare.
(OVERRIDE_OPTIONS): Set cpu to CPU_SH4A when appropriate.
(enum processor_type): Added PROCESSOR_SH4A.
(PREDICATE_CODES): Add memory_movsrc_operand.
* config/sh/sh.md: Removed unused variables.
(attr cpu): Add sh4a.
(attr type): Add movua, fsrra and fsca.
(prefetch): New, for SH4.
(ic_invalidate_line, ic_invalidate_line_sh4a): Use icbi.
(toggle_sz): Set type to fp.
(toggle_pr, rsqrtsf2, fsca, sinsf2, cossf2, sindf2, cosdf2): New.
(movua, extv, extzv): New.
* config/sh/t-sh: Add multilibs for 4a, 4a-nofpu, 4a-single
and 4a-single-only.
gcc/testsuite/ChangeLog:
2003-07-06 Alexandre Oliva <aoliva@redhat.com>
* gcc.dg/sh4a-memmovua.c: Tweak regular expression.
2003-07-01 Alexandre Oliva <aoliva@redhat.com>
* gcc.dg/sh4a-bitmovua.c: New.
* gcc.dg/sh4a-cos.c: New.
* gcc.dg/sh4a-cosf.c: New.
* gcc.dg/sh4a-fprun.c: New.
* gcc.dg/sh4a-fsrra.c: New.
* gcc.dg/sh4a-memmovua.c: New.
* gcc.dg/sh4a-sin.c: New.
* gcc.dg/sh4a-sincos.c: New.
* gcc.dg/sh4a-sincosf.c: New.
* gcc.dg/sh4a-sinf.c: New.
libstdc++-v3/ChangeLog:
2003-10-01 Eric Christopher <echristo@redhat.com>
* config/cpu/sh/atomicity.h (__exchange_and_add): Remove 'm'
constraint.
2003-07-09 Alexandre Oliva <aoliva@redhat.com>
* config/cpu/sh/atomicity.h: New. Use movli and movco on SH4a.
From-SVN: r85257
2004-07-28 11:13:58 +02:00
|
|
|
m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al)
|
|
|
|
;;
|
[multiple changes]
2004-06-21 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/t-linux (MULTILIB_OPTIONS): Remove.
2004-06-21 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionanlly define.
(SUPPORT_SH4_SINGLE): Likewise.
(TARGET_SWITCHES): Break out switches for cpu subtargets:
(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
(TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
(TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
(TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
(SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
(SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
(SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
(SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
(SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
(ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
* sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
(TARGET_DEFAULT): Likewise.
* config/sh/t-elf: Amend comment.
* config/sh/t-1e, config/sh/t-mlib-sh1: New files.
* config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
* config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
* config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
* config/sh/t-mlib-sh4-single: Likewise.
* config/sh/t-mlib-sh4-single-only: Likewise.
* config/sh/t-mlib-sh5-32media: Likewise.
* config/sh/t-mlib-sh5-32media-nofpu: Likewise.
* config/sh/t-mlib-sh5-64media: Likewise.
* config/sh/t-mlib-sh5-64media-nofpu: Likewise.
* config/sh/t-mlib-sh5-compact: Likewise.
* config/sh/t-mlib-sh5-compact-nofpu: Likewise.
* config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
(MULTILIB_CPUS): Define.
(MULTILIB_OPTIONS): Use MULTILIB_CPUS.
(MULTILIB_MATCHES): Use some shell code to calculate it.
(MULTILIB_EXCEPTIONS): Change to ml/m1.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
* config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
(LINK_DEFAULT_CPU_EMUL): Don't redefine.
(NO_PROFILE_COUNTERS): Define to 1.
* config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
(MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES): Don't zap.
(MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
* config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
(MULTILIB_RAW_DIRNAMES): Define.
(MULTILIB_DIRNAMES): Use it.
* config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
(sh*linux configurations): Merge into:
(sh*elf / sh*kaos configurations). Support --with-endian, --with-cpu,
--with-multilib-list options. Support sh-superh-elf configuration.
(sh*-netbsd*): Use SELECT_SH* macros.
(supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
Merge sh*-*-netbsd* configurations into sh-elf configurations.
* config/sh/t-netbsd-sh5, config/sh/t-le, config/sh/t-le: Delete.
* config/sh/t-monolib: Likewise.
From-SVN: r83444
2004-06-21 20:18:40 +02:00
|
|
|
*)
|
|
|
|
echo "Unknown CPU used in --with-cpu=$with_cpu, known values:" 1>&2
|
|
|
|
echo "m1 m2 m2e m3 m3e m4 m4-single m4-single-only m4-nofpu" 1>&2
|
Introduce sh4a support.
gcc/ChangeLog:
Introduce sh4a support.
* config.gcc: Handle sh4a multilibs and cpu selection.
* config/sh/sh.h: Likewise. Handle sh4a command line flags.
* config/sh/t-mlib-sh4a: New.
* config/sh/t-mlib-sh4al: New.
* config/sh/t-mlib-sh4a-nofpu: New.
* config/sh/t-mlib-sh4a-single: New.
* config/sh/t-mlib-sh4a-single-only: New.
2004-02-20 DJ Delorie <dj@redhat.com>
* config/sh/sh.md ("movua"): Change constraint from "m" to "Sua".
* config/sh/sh.h (EXTRA_CONSTRAINT_S): Add "Sua" support.
2003-08-22 Eric Christopher <echristo@redhat.com>
* config/sh/sh4a.md: Update for chip errata.
2003-08-07 Eric Christopher <echristo@redhat.com>
* config/sh/sh4a.md: New file. sh4a processor description.
2003-07-08 Alexandre Oliva <aoliva@redhat.com>
* config/sh/sh.h (TARGET_SWITCHES): Added 4al. Adjust description
of -m4a-nofpu.
(SH_ASM_SPEC): Pass -dsp for -m4al, not -m4a-nofpu.
* config/sh/t-sh (MULTILIB_MATCHES): Map -m4al to -m4a-nofpu.
* doc/invoke.texi (SH Options): Document -m4al.
2003-07-03 Alexandre Oliva <aoliva@redhat.com>
* config/sh/sh.c (expand_block_move): Remove commented-out code
checked in by mistake.
(sh_cannot_change_mode_class): Enable SUBREGs to be used to select
single elements from SFmode vectors.
* config/sh/sh.md (fsca): Use VEC_CONCAT to initialize the output
register.
(sinsf2, cossf2, sindf2, cosdf2): Don't emit CLOBBER.
2003-07-01 Alexandre Oliva <aoliva@redhat.com>
* config/sh/sh.h (sh_fsca_sf2int, sh_fsca_df2int,
sh_fsca_int2sf): Remove variable declarations.
* config/sh/sh.c (sh_fsca_sf2int, sh_fsca_df2int,
sh_fsca_int2sf): New functions.
(sh_fsca_sf2int_rtx, sh_fsca_df2int_rtx,
sh_fsca_int2sf_rtx): New static variables.
* config/sh/sh-protos.h (sh_fsca_sf2int, sh_fsca_df2int,
sh_fsca_int2sf): Declare.
* config/sh/sh.md: Adjust.
* doc/invoke.texi (SH Options): Document new options.
* config/sh/lib1funcs.asm (ic_invalidate): Remove SH4a forward
compatibility from SH4 code.
2003-06-27 Alexandre Oliva <aoliva@redhat.com>
* config/sh/sh.c (expand_block_move): Don't emit POST_INC too
early.
(memory_movsrc_operand): Renamed to...
(unaligned_load_operand): ... this. Simplified.
* config/sh/sh.h (PREDICATE_CODES): Adjust.
* config/sh/sh.md (movua, extv, extzv): Likewise. Change movua's
input operand to SImode, and adjust the others. Introduce
post-increment by peephole.
* config/sh/sh.c (expand_block_move): Give the target address the
same mode as the temp reg.
* config/sh/sh.c (expand_block_move): Use a temp reg for unaligned
copying.
2003-06-26 Alexandre Oliva <aoliva@redhat.com>
Introduce support for SH4a.
* config/sh/lib1funcs.asm (ic_invalidate): Use icbi if
__SH4A__. Emit 4 4kb blocks and touch all of them otherwise.
* config/sh/sh.c (sh_fsca_sf2int, sh_fsca_df2int,
sh_fsca_int2sf): New.
(sh_init_builtins): Initialize them.
(print_operand): Support `d'.
(expand_block_move): Use movua if src is misaligned.
(memory_movsrc_operand): New.
* config/sh/sh.h (TARGET_CPU_CPP_BUILTINS): Define __SH4A__
and one of the SH4 macros.
(SH4A_BIT, TARGET_SH4A_ARCH, TARGET_SH4A_FP,
SELECT_SH4A_NOFPU, SELECT_SH4A_SINGLE_ONLY, SELECT_SH4A,
SELECT_SH4A_SINGLE): New.
(TARGET_NONE): Add SH4A_BIT.
(TARGET_SWITCHES): Add 4a-single-only, 4a-single, 4a-nofpu and 4a.
(SH_ASM_SPEC): Pass -dsp if -m4a-nofpu.
(sh_fsca_sf2int, sh_fsca_df2int, sh_fsca_int2sf): Declare.
(OVERRIDE_OPTIONS): Set cpu to CPU_SH4A when appropriate.
(enum processor_type): Added PROCESSOR_SH4A.
(PREDICATE_CODES): Add memory_movsrc_operand.
* config/sh/sh.md: Removed unused variables.
(attr cpu): Add sh4a.
(attr type): Add movua, fsrra and fsca.
(prefetch): New, for SH4.
(ic_invalidate_line, ic_invalidate_line_sh4a): Use icbi.
(toggle_sz): Set type to fp.
(toggle_pr, rsqrtsf2, fsca, sinsf2, cossf2, sindf2, cosdf2): New.
(movua, extv, extzv): New.
* config/sh/t-sh: Add multilibs for 4a, 4a-nofpu, 4a-single
and 4a-single-only.
gcc/testsuite/ChangeLog:
2003-07-06 Alexandre Oliva <aoliva@redhat.com>
* gcc.dg/sh4a-memmovua.c: Tweak regular expression.
2003-07-01 Alexandre Oliva <aoliva@redhat.com>
* gcc.dg/sh4a-bitmovua.c: New.
* gcc.dg/sh4a-cos.c: New.
* gcc.dg/sh4a-cosf.c: New.
* gcc.dg/sh4a-fprun.c: New.
* gcc.dg/sh4a-fsrra.c: New.
* gcc.dg/sh4a-memmovua.c: New.
* gcc.dg/sh4a-sin.c: New.
* gcc.dg/sh4a-sincos.c: New.
* gcc.dg/sh4a-sincosf.c: New.
* gcc.dg/sh4a-sinf.c: New.
libstdc++-v3/ChangeLog:
2003-10-01 Eric Christopher <echristo@redhat.com>
* config/cpu/sh/atomicity.h (__exchange_and_add): Remove 'm'
constraint.
2003-07-09 Alexandre Oliva <aoliva@redhat.com>
* config/cpu/sh/atomicity.h: New. Use movli and movco on SH4a.
From-SVN: r85257
2004-07-28 11:13:58 +02:00
|
|
|
echo "m4a m4a-single m4a-single-only m4a-nofpu m4al" 1>&2
|
Introduce sh2a support.
2004-07-29 Alexandre Oliva <aoliva@redhat.com>
* config.gcc: Build multilibs for sh2a and sh2a-single by
default.
* config/sh/sh.h (SUPPORT_SH2A, SUPPORT_SH2A_SINGLE): Define by
default. Split their tests out of the corresponding SH4
multilibs.
* config/sh/t-sh (MULTILIB_MATCHES): Don't ever use SH4 or SH4a
multilibs for SH2a.
2004-07-28 Alexandre Oliva <aoliva@redhat.com>
* config.gcc: Handle sh2a multilibs and cpu selection.
* config/sh/sh.h: Likewise. Handle sh2a command line flags.
* config/sh/t-mlib-sh2a: New.
* config/sh/t-mlib-sh2a-nofpu: New.
* config/sh/t-mlib-sh2a-single: New.
* config/sh/t-mlib-sh2a-single-only: New.
2004-07-09 Nick Clifton <nickc@redhat.com>
Issue 43400
* config/sh/sh.h (DRIVER_SELF_SPECS): Issue an error message if
-ml and -m2a are used together.
2004-03-23 DJ Delorie <dj@redhat.com>
* config/sh/sh.c (sh_builtin_saveregs): Use the double code only
when we have a double-sized FPU.
2004-02-24 Corinna Vinschen <vinschen@redhat.com>
* config/sh/lib1funcs.asm (set_fpscr): Don't build if __SH2A_NOFPU__
is set.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Add cases for -msh2a-nofpu,
-msh2a-single and -msh2a-single-only
2004-02-24 Corinna Vinschen <vinschen@redhat.com>
* config/sh/crt1.asm: Don't generate FPU instructions if __SH2A_NOFPU__
is set.
2004-02-20 DJ Delorie <dj@delorie.com>
* config/sh/sh.md (movsf_i, movsf_ie, movsf, ble, bge): Disable for sh2a-nofpu.
2004-02-20 Fred Fish <fnf@redhat.com>,
Corinna Vinschen <vinschen@redhat.com>
* config/sh/t-sh (MULTILIB_OPTIONS): Add 2a-nofpu.
(MULTILIB_EXCEPTIONS): Don't build littel-endian on sh2a.
2004-02-18 DJ Delorie <dj@redhat.com>
* config/sh/sh.c (broken_move): Add support for movi20.
* config/sh/sh.h: Likewise.
(SHIFT_COUNT_TRUNCATED): Set for sh2a.
* config/sh/sh.md (udivsi3_sh2a): New.
(udivsi3): Call it.
(divsi3_sh2a): New.
(divsi3): Call it.
(mul_r): New.
(ashlsi3_sh2a): New.
(ashrsi3_sh2a): New.
(lshrsi3_sh2a): New.
(movsi_i): Disable for sh2a.
(movsi_ie): Add movi20.
(movsf_i, movsf_ie, movsf, ble, untyped_call): Explicitly enable
sh2a, for -m2a-nofpu mode.
2004-02-13 DJ Delorie <dj@redhat.com>
* config/sh/lib1funcs.asm: Handle double vs single better.
* config/sh/sh.h: Likewise.
2004-02-09 DJ Delorie <dj@redhat.com>
* config/sh/crt1.asm: Add support for sh2a.
* config/sh/elf.h: Likewise.
* config/sh/lib1funcs.asm: Likewise.
* config/sh/sh.c: Likewise.
* config/sh/sh.md: Likewise.
* config/sh/sh.h: Likewise.
* config/sh/t-sh: Likewise.
From-SVN: r85286
2004-07-29 08:10:03 +02:00
|
|
|
echo "m2a m2a-single m2a-single-only m2a-nofpu" 1>&2
|
[multiple changes]
2004-06-21 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/t-linux (MULTILIB_OPTIONS): Remove.
2004-06-21 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionanlly define.
(SUPPORT_SH4_SINGLE): Likewise.
(TARGET_SWITCHES): Break out switches for cpu subtargets:
(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
(TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
(TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
(TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA): Likewise.
(TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
(SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
(SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
(SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
(SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
(SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
(ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
* sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
(TARGET_DEFAULT): Likewise.
* config/sh/t-elf: Amend comment.
* config/sh/t-1e, config/sh/t-mlib-sh1: New files.
* config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
* config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
* config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
* config/sh/t-mlib-sh4-single: Likewise.
* config/sh/t-mlib-sh4-single-only: Likewise.
* config/sh/t-mlib-sh5-32media: Likewise.
* config/sh/t-mlib-sh5-32media-nofpu: Likewise.
* config/sh/t-mlib-sh5-64media: Likewise.
* config/sh/t-mlib-sh5-64media-nofpu: Likewise.
* config/sh/t-mlib-sh5-compact: Likewise.
* config/sh/t-mlib-sh5-compact-nofpu: Likewise.
* config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
(MULTILIB_CPUS): Define.
(MULTILIB_OPTIONS): Use MULTILIB_CPUS.
(MULTILIB_MATCHES): Use some shell code to calculate it.
(MULTILIB_EXCEPTIONS): Change to ml/m1.
* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
* config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
(LINK_DEFAULT_CPU_EMUL): Don't redefine.
(NO_PROFILE_COUNTERS): Define to 1.
* config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
(MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES): Don't zap.
(MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
* config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
(MULTILIB_RAW_DIRNAMES): Define.
(MULTILIB_DIRNAMES): Use it.
* config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
(sh*linux configurations): Merge into:
(sh*elf / sh*kaos configurations). Support --with-endian, --with-cpu,
--with-multilib-list options. Support sh-superh-elf configuration.
(sh*-netbsd*): Use SELECT_SH* macros.
(supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
Merge sh*-*-netbsd* configurations into sh-elf configurations.
* config/sh/t-netbsd-sh5, config/sh/t-le, config/sh/t-le: Delete.
* config/sh/t-monolib: Likewise.
From-SVN: r83444
2004-06-21 20:18:40 +02:00
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
;;
|
2003-06-04 19:44:03 +02:00
|
|
|
sparc*-*-*)
|
config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic. Set
configure_default_options according to the default CPU, --with-cpu,
--with-arch, --with-tune, --with-schedule, --with-abi, and
--with-float. Check for legal values of various options.
* configure.in: Define configure_default_options in configargs.h.
* configure: Regenerated.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (do_option_spec): New function.
(struct default_spec, option_default_specs): New.
(main): Call do_option_spec.
* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
* doc/install.texi: Update --with-cpu documentation. Mention
--with-arch, --with-schedule, --with-tune, --with-abi, and
--with-float.
* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
From-SVN: r67457
2003-06-04 19:50:44 +02:00
|
|
|
supported_defaults="cpu float tune"
|
|
|
|
|
|
|
|
for which in cpu tune; do
|
|
|
|
eval "val=\$with_$which"
|
2003-09-25 09:30:57 +02:00
|
|
|
case ${val} in
|
|
|
|
"" | sparc | sparcv9 | sparc64 | sparc86x \
|
|
|
|
| v7 | cypress | v8 | supersparc | sparclite | f930 \
|
|
|
|
| f934 | hypersparc | sparclite86x | sparclet | tsc701 \
|
2006-03-02 23:47:02 +01:00
|
|
|
| v9 | ultrasparc | ultrasparc3 | niagara)
|
config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic. Set
configure_default_options according to the default CPU, --with-cpu,
--with-arch, --with-tune, --with-schedule, --with-abi, and
--with-float. Check for legal values of various options.
* configure.in: Define configure_default_options in configargs.h.
* configure: Regenerated.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (do_option_spec): New function.
(struct default_spec, option_default_specs): New.
(main): Call do_option_spec.
* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
* doc/install.texi: Update --with-cpu documentation. Mention
--with-arch, --with-schedule, --with-tune, --with-abi, and
--with-float.
* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
From-SVN: r67457
2003-06-04 19:50:44 +02:00
|
|
|
# OK
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "Unknown cpu used in --with-$which=$val" 1>&2
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
done
|
2003-06-04 19:42:53 +02:00
|
|
|
|
2003-09-25 09:30:57 +02:00
|
|
|
case ${with_float} in
|
|
|
|
"" | soft | hard)
|
2003-06-04 19:44:03 +02:00
|
|
|
# OK
|
|
|
|
;;
|
|
|
|
*)
|
config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic. Set
configure_default_options according to the default CPU, --with-cpu,
--with-arch, --with-tune, --with-schedule, --with-abi, and
--with-float. Check for legal values of various options.
* configure.in: Define configure_default_options in configargs.h.
* configure: Regenerated.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (do_option_spec): New function.
(struct default_spec, option_default_specs): New.
(main): Call do_option_spec.
* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
* doc/install.texi: Update --with-cpu documentation. Mention
--with-arch, --with-schedule, --with-tune, --with-abi, and
--with-float.
* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
From-SVN: r67457
2003-06-04 19:50:44 +02:00
|
|
|
echo "Unknown floating point type used in --with-float=$with_float" 1>&2
|
2003-06-04 19:44:03 +02:00
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
2003-06-04 19:42:53 +02:00
|
|
|
;;
|
|
|
|
|
2003-06-04 19:44:03 +02:00
|
|
|
v850*-*-*)
|
config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic. Set
configure_default_options according to the default CPU, --with-cpu,
--with-arch, --with-tune, --with-schedule, --with-abi, and
--with-float. Check for legal values of various options.
* configure.in: Define configure_default_options in configargs.h.
* configure: Regenerated.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (do_option_spec): New function.
(struct default_spec, option_default_specs): New.
(main): Call do_option_spec.
* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
* doc/install.texi: Update --with-cpu documentation. Mention
--with-arch, --with-schedule, --with-tune, --with-abi, and
--with-float.
* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
From-SVN: r67457
2003-06-04 19:50:44 +02:00
|
|
|
supported_defaults=cpu
|
2003-09-25 09:30:57 +02:00
|
|
|
case ${with_cpu} in
|
|
|
|
"" | v850e | v850e1)
|
2003-06-04 19:44:03 +02:00
|
|
|
# OK
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "Unknown cpu used in --with-cpu=$with_cpu" 1>&2
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
2003-06-04 19:42:53 +02:00
|
|
|
;;
|
2005-03-14 03:23:49 +01:00
|
|
|
esac
|
2003-06-04 19:42:53 +02:00
|
|
|
|
2005-03-14 03:23:49 +01:00
|
|
|
# Set some miscellaneous flags for particular targets.
|
|
|
|
target_cpu_default2=
|
|
|
|
case ${target} in
|
2003-06-04 19:44:03 +02:00
|
|
|
alpha*-*-*)
|
|
|
|
if test x$gas = xyes
|
|
|
|
then
|
config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic. Set
configure_default_options according to the default CPU, --with-cpu,
--with-arch, --with-tune, --with-schedule, --with-abi, and
--with-float. Check for legal values of various options.
* configure.in: Define configure_default_options in configargs.h.
* configure: Regenerated.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (do_option_spec): New function.
(struct default_spec, option_default_specs): New.
(main): Call do_option_spec.
* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
* doc/install.texi: Update --with-cpu documentation. Mention
--with-arch, --with-schedule, --with-tune, --with-abi, and
--with-float.
* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
From-SVN: r67457
2003-06-04 19:50:44 +02:00
|
|
|
target_cpu_default2="MASK_GAS"
|
2003-06-04 19:44:03 +02:00
|
|
|
fi
|
2003-06-04 19:42:53 +02:00
|
|
|
;;
|
|
|
|
|
2003-06-04 19:44:03 +02:00
|
|
|
arm*-*-*)
|
2004-09-01 18:27:05 +02:00
|
|
|
if test x$target_cpu_cname = x
|
|
|
|
then
|
|
|
|
target_cpu_default2=TARGET_CPU_generic
|
|
|
|
else
|
|
|
|
target_cpu_default2=TARGET_CPU_$target_cpu_cname
|
|
|
|
fi
|
2003-06-04 19:44:03 +02:00
|
|
|
;;
|
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 04:03:14 +02:00
|
|
|
|
2004-03-16 05:12:25 +01:00
|
|
|
m68k*-linux*)
|
|
|
|
case "x$with_cpu" in
|
|
|
|
x)
|
|
|
|
# The most generic
|
|
|
|
target_cpu_default2="(MASK_68020|MASK_68881|MASK_BITFIELD)"
|
|
|
|
;;
|
|
|
|
xm68020)
|
|
|
|
target_cpu_default2="(MASK_68020|MASK_68881|MASK_BITFIELD)"
|
|
|
|
;;
|
|
|
|
xm68030)
|
|
|
|
target_cpu_default2="(MASK_68030|MASK_68020|MASK_68881|MASK_BITFIELD)"
|
|
|
|
;;
|
|
|
|
xm68040)
|
|
|
|
target_cpu_default2="(MASK_68040|MASK_68040_ONLY|MASK_68020|MASK_68881|MASK_BITFIELD)"
|
|
|
|
;;
|
|
|
|
xm68060)
|
|
|
|
target_cpu_default2="(MASK_68060|MASK_68040_ONLY|MASK_68020|MASK_68881|MASK_BITFIELD)"
|
|
|
|
;;
|
|
|
|
xm68020-40)
|
|
|
|
target_cpu_default2="(MASK_BITFIELD|MASK_68881|MASK_68020|MASK_68040)"
|
|
|
|
;;
|
|
|
|
xm68020-60)
|
|
|
|
target_cpu_default2="(MASK_BITFIELD|MASK_68881|MASK_68020|MASK_68040|MASK_68060)"
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "Unknown CPU used in --with-cpu=$with_cpu" 1>&2
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
;;
|
|
|
|
|
2003-06-04 19:44:03 +02:00
|
|
|
hppa*-*-* | parisc*-*-*)
|
2004-08-25 19:49:58 +02:00
|
|
|
target_cpu_default2="MASK_BIG_SWITCH"
|
2003-06-04 19:44:03 +02:00
|
|
|
if test x$gas = xyes
|
2000-11-17 11:42:45 +01:00
|
|
|
then
|
2004-08-25 19:49:58 +02:00
|
|
|
target_cpu_default2="${target_cpu_default2}|MASK_GAS|MASK_JUMP_IN_DELAY"
|
2003-06-04 19:44:03 +02:00
|
|
|
fi
|
2003-06-04 19:42:53 +02:00
|
|
|
;;
|
|
|
|
|
2003-06-04 19:44:03 +02:00
|
|
|
mips*-*-*)
|
config.gcc (mips-*-*): Remove definitions of MASK_GAS and OBJECT_FORMAT_ELF.
* config.gcc (mips-*-*): Remove definitions of MASK_GAS and
OBJECT_FORMAT_ELF. Set MASK_SPLIT_ADDR by default if using GNU ld.
* config/mips/mips.h (MASK_GAS): Delete. Shuffle later masks down.
(TARGET_GAS, TARGET_MIPS_AS): Delete.
(TARGET_GPWORD): Define to true for n32 on IRIX.
(TARGET_SWITCHES): Remove -mmips-as. Turn -mgas into a no-op.
(MIPS_AS_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC): Delete.
(GAS_ASM_SPEC): Delete, folding into ASM_SPEC.
(ASM_ABI_DEFAULT_SPEC, TARGET_ASM_SPEC): Delete.
(MDEBUG_ASM_SPEC): Delete, folding into...
(SUBTARGET_ASM_DEBUGGING_SPEC): ...here.
(ASM_SPEC): Inline old GAS_ASM_SPEC. Use GNU names for ABI switches.
(EXTRA_SPECS): Remove mips_as_asm_spec, gas_asm_spec, target_asm_spec,
subtarget_mips_as_asm_spec, mdebug_asm_spec. Use MULTILIB_ABI_DEFAULT
to define asm_abi_default_spec.
(ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): Delete.
(TARGET_ASM_SELECT_SECTION): Delete.
* config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): Define to 0x7ff0
for non-mips16 code, removing previous workaround for SGI assemblers.
(TARGET_ASM_INTEGER, mips_assemble_integer): Delete.
(TARGET_ASM_ALIGNED_DI_OP): Define this instead.
(override_options): Remove !TARGET_GAS and !have_named_sections code.
(print_operand): Fold TARGET_GAS conditionals into asm strings.
(mips_output_filename): Remove !TARGET_GAS code. Replace use of
ASM_STABS_OP and ASM_STABN_OP.
(mips_file_start): Remove TARGET_MIPS_AS/TARGET_GAS checks.
(mips_output_aligned_decl_common): Remove mention of SGI o32 assembler.
(mips_output_function_prologue): Remove !TARGET_GAS code.
(mips_select_rtx_section): Remove !have_named_sections code.
(mips_select_section): Delete.
* config/mips/mips.md (trap): Remove !TARGET_GAS check.
* config/mips/linux.h (TARGET_DEFAULT): Remove use of MASK_GAS.
* config/mips/sdb.h (PUT_SDB_DEF, PUT_SDB_PLAIN_DEF): Delete.
(PUT_SDB_BLOCK_START, PUT_SDB_BLOCK_END): Fold TARGET_GAS conditional.
* config/mips/vxworks.h (ASM_SPEC): As for mips.h.
* config/mips/windiss.h (ASM_SPEC): Likewise.
testsuite/
* gcc.dg/special/mips-abi.exp: Expect gcc to pass the GNU ABI flags
to the assembler. Simplify test accordingly.
(asm_abi_flags): Use GNU names.
(check_mips_abi, default_abi): Use string matches against "-mabi=*"
to check for ABI flags.
From-SVN: r86405
2004-08-23 08:53:46 +02:00
|
|
|
if test x$gnu_ld = xyes
|
|
|
|
then
|
config.gcc (mips*-*-*): Rename MASK_SPLIT_ADDRS to MASK_SPLIT_ADDRESSES.
* config.gcc (mips*-*-*): Rename MASK_SPLIT_ADDRS to
MASK_SPLIT_ADDRESSES.
* config/mips/mips.h (target_flags, mips_fix_vr4130_string): Delete.
(MASK_INT64, MASK_LONG64, MASK_SPLIT_ADDR, MASK_NO_FUSED_MADD)
(MASK_EXPLICIT_RELOCS, MASK_MEMCPY, MASK_SOFT_FLOAT)
(MASK_FLOAT64, MASK_ABICALLS, MASK_XGOT, MASK_LONG_CALLS)
(MASK_64BIT, MASK_EMBEDDED_DATA, MASK_BIG_ENDIAN)
(MASK_SINGLE_FLOAT, MASK_MAD, MASK_4300_MUL_FIX, MASK_MIPS16)
(MASK_NO_CHECK_ZERO_DIV, MASK_BRANCHLIKELY)
(MASK_UNINIT_CONST_IN_RODATA, MASK_FIX_R4000, MASK_FIX_R4400)
(MASK_FIX_SB1, MASK_FIX_VR4120, MASK_VR4130_ALIGN)
(MASK_FP_EXCEPTIONS, MASK_DIVIDE_BREAKS, MASK_PAIRED_SINGLE)
(MASK_MIPS3D, MASK_SYM32, MASK_DEBUG, MASK_DEBUG_D)
(MASK_MIPS_TFILE, TARGET_INT64, TARGET_LONG64, TARGET_FLOAT64)
(TARGET_64BIT, TARGET_SPLIT_ADDRESSES, TARGET_DEBUG_MODE)
(TARGET_DEBUG_D_MODE, TARGET_MEMCPY, TARGET_ABICALLS)
(TARGET_XGOT, TARGET_SOFT_FLOAT, TARGET_HARD_FLOAT)
(TARGET_LONG_CALLS, TARGET_EMBEDDED_DATA)
(TARGET_UNINIT_CONST_IN_RODATA, TARGET_BIG_ENDIAN)
(TARGET_SINGLE_FLOAT, TARGET_DOUBLE_FLOAT, TARGET_MAD)
(TARGET_FUSED_MADD, TARGET_4300_MUL_FIX, TARGET_CHECK_ZERO_DIV)
(TARGET_DIVIDE_TRAPS, TARGET_BRANCHLIKELY, TARGET_FIX_SB1)
(TARGET_FIX_R4000, TARGET_FIX_R4400, TARGET_FIX_VR4120)
(TARGET_FIX_VR4130, TARGET_VR4130_ALIGN, TARGET_FP_EXCEPTIONS)
(TARGET_PAIRED_SINGLE_FLOAT, TARGET_MIPS3D, TARGET_SYM32)
(TARGET_EXPLICIT_RELOCS): Delete.
(TARGET_SWITCHES, SUBTARGET_TARGET_SWITCHES): Delete.
(TARGET_OPTIONS): Remove entry for -mfix-vr4130.
* config/mips/mips.c (TARGET_DEFAULT_TARGET_FLAGS): Define.
(override_options): Set MASK_LONG64 if -mint64 is given and no
-mlongXX option is. Complain about -mint64 -mlong32.
(override_options, CMP_BUILTINS, mips_bdesc, sb1_desc): Rename
MASK_PAIRED_SINGLE to MASK_PAIRED_SINGLE_FLOAT.
* config/mips/mips.opt: New file.
From-SVN: r96452
2005-03-14 21:40:57 +01:00
|
|
|
target_cpu_default2="MASK_SPLIT_ADDRESSES"
|
config.gcc (mips-*-*): Remove definitions of MASK_GAS and OBJECT_FORMAT_ELF.
* config.gcc (mips-*-*): Remove definitions of MASK_GAS and
OBJECT_FORMAT_ELF. Set MASK_SPLIT_ADDR by default if using GNU ld.
* config/mips/mips.h (MASK_GAS): Delete. Shuffle later masks down.
(TARGET_GAS, TARGET_MIPS_AS): Delete.
(TARGET_GPWORD): Define to true for n32 on IRIX.
(TARGET_SWITCHES): Remove -mmips-as. Turn -mgas into a no-op.
(MIPS_AS_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC): Delete.
(GAS_ASM_SPEC): Delete, folding into ASM_SPEC.
(ASM_ABI_DEFAULT_SPEC, TARGET_ASM_SPEC): Delete.
(MDEBUG_ASM_SPEC): Delete, folding into...
(SUBTARGET_ASM_DEBUGGING_SPEC): ...here.
(ASM_SPEC): Inline old GAS_ASM_SPEC. Use GNU names for ABI switches.
(EXTRA_SPECS): Remove mips_as_asm_spec, gas_asm_spec, target_asm_spec,
subtarget_mips_as_asm_spec, mdebug_asm_spec. Use MULTILIB_ABI_DEFAULT
to define asm_abi_default_spec.
(ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): Delete.
(TARGET_ASM_SELECT_SECTION): Delete.
* config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): Define to 0x7ff0
for non-mips16 code, removing previous workaround for SGI assemblers.
(TARGET_ASM_INTEGER, mips_assemble_integer): Delete.
(TARGET_ASM_ALIGNED_DI_OP): Define this instead.
(override_options): Remove !TARGET_GAS and !have_named_sections code.
(print_operand): Fold TARGET_GAS conditionals into asm strings.
(mips_output_filename): Remove !TARGET_GAS code. Replace use of
ASM_STABS_OP and ASM_STABN_OP.
(mips_file_start): Remove TARGET_MIPS_AS/TARGET_GAS checks.
(mips_output_aligned_decl_common): Remove mention of SGI o32 assembler.
(mips_output_function_prologue): Remove !TARGET_GAS code.
(mips_select_rtx_section): Remove !have_named_sections code.
(mips_select_section): Delete.
* config/mips/mips.md (trap): Remove !TARGET_GAS check.
* config/mips/linux.h (TARGET_DEFAULT): Remove use of MASK_GAS.
* config/mips/sdb.h (PUT_SDB_DEF, PUT_SDB_PLAIN_DEF): Delete.
(PUT_SDB_BLOCK_START, PUT_SDB_BLOCK_END): Fold TARGET_GAS conditional.
* config/mips/vxworks.h (ASM_SPEC): As for mips.h.
* config/mips/windiss.h (ASM_SPEC): Likewise.
testsuite/
* gcc.dg/special/mips-abi.exp: Expect gcc to pass the GNU ABI flags
to the assembler. Simplify test accordingly.
(asm_abi_flags): Use GNU names.
(check_mips_abi, default_abi): Use string matches against "-mabi=*"
to check for ABI flags.
From-SVN: r86405
2004-08-23 08:53:46 +02:00
|
|
|
fi
|
2003-09-23 23:51:44 +02:00
|
|
|
case ${target} in
|
2003-06-04 19:44:03 +02:00
|
|
|
mips*el-*-*)
|
|
|
|
tm_defines="TARGET_ENDIAN_DEFAULT=0 $tm_defines"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
if test "x$enable_gofast" = xyes
|
|
|
|
then
|
target.h (init_libfuncs): New hook.
* target.h (init_libfuncs): New hook.
* target-def.h: Default TARGET_INIT_BUILTINS and
TARGET_INIT_LIBFUNCS to hook_void_void. Add
TARGET_INIT_LIBFUNCS to TARGET_INITIALIZER.
* builtins.c (default_init_builtins): Delete.
* expr.h (default_init_builtins): Delete prototype.
* doc/tm.texi: Document TARGET_INIT_LIBFUNCS and US_SOFTWARE_GOFAST.
Tweak documentation of TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL.
Remove documentation of INIT_TARGET_OPTABS, MULSI3_LIBCALL,
DIVSI3_LIBCALL, UDIVSI3_LIBCALL, MODSI3_LIBCALL, UMODSI3_LIBCALL,
MULDI3_LIBCALL, DIVDI3_LIBCALL, UDIVDI3_LIBCALL, MODDI3_LIBCALL,
and UMODDI3_LIBCALL,
* Makefile.in (optabs.o): Depends on target.h.
* defaults.h: Provide default for FLOAT_LIB_COMPARE_RETURNS_BOOL.
* optabs.c: Include target.h.
(prepare_float_lib_cmp): No need for #ifdef around use of
FLOAT_LIB_COMPARE_RETURNS_BOOL.
(set_optab_libfunc): New function.
(init_optabs): Delete use of all *_LIBCALL defines.
Call targetm.init_libfuncs not INIT_TARGET_OPTABS.
* optabs.h: Prototype set_optab_libfunc.
* config.gcc: Remove all references to pa/long_double.h,
ia64/hpux_longdouble.h, and gofast.h.
(mips-*-*): When --enable-gofast, just add US_SOFTWARE_GOFAST
to tm_defines; don't set INIT_SUBTARGET_OPTABS or change tm_file.
* config/alpha/alpha.c, config/c4x/c4x.c, config/cris/cris.c
* config/frv/frv.c, config/h8300/h8300.c, config/i860/i860.c
* config/ia64/ia64.c, config/ip2k/ip2k.c, config/m68hc11/m68hc11.c
* config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
* config/sparc/sparc.c, config/vax/vax.c:
Provide a definition for TARGET_INIT_LIBFUNCS. Where
necessary, include optabs.h, libfuncs.h, and/or config/gofast.h.
* config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.h
* config/avr/avr.h, config/cris/cris.h, config/frv/frv.h
* config/h8300/h8300.h, config/i860/i860.h, config/ip2k/ip2k.h
* config/iq2000/iq2000.h, config/m68hc11/m68hc11.h, config/mips/mips.h
* config/rs6000/aix.h, config/rs6000/sysv4.h, config/sparc/elf.h
* config/sparc/lite.h, config/sparc/netbsd-elf.h, config/sparc/sol2.h
* config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h
* config/vax/elf.h: Don't define or use INIT_TARGET_OPTABS,
INIT_SUBTARGET_OPTABS, or any *_LIBCALL macros.
* config/ia64/hpux.h: Redefine INTEL_EXTENDED_IEEE_FORMAT to 0.
Set TARGET_INIT_LIBFUNCS and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
* config/pa/pa-hpux.h: Define LONG_DOUBLE_TYPE_SIZE,
HPUX_LONG_DOUBLE_LIBRARY, and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
* config/ia64/hpux_longdouble.h, config/pa/long_double.h: Delete.
* config/rs6000/xcoff.h: Don't define RS6000_ITRUNC nor RS6000_UITRUNC.
* config/sparc/sparc.h: Default SUN_CONVERSION_LIBFUNCS and
SUN_INTEGER_MULTIPLY_64 to 0.
* config/sparc/sol2.h: Redefine SUN_CONVERSION_LIBFUNCS and
SUN_INTEGER_MULTIPLY_64 to 1.
* config/sparc/elf.h: Redefine SUN_CONVERSION_LIBFUNCS and
SUN_INTEGER_MULTIPLY_64 to 0.
* config/sparc/lite.h, config/sparc/liteelf.h, config/sparc/sp86x-elf.h:
Define US_SOFTWARE_GOFAST.
* config/vax/vax.h: Default TARGET_ELF to 0.
* config/vax/elf.h: Redefine TARGET_ELF to 1.
* config/gofast.h: Don't define any macros here. Provide one
static function, gofast_maybe_init_libfuncs, which does what
INIT_GOFAST_LIBFUNCS used to do but only if US_SOFTWARE_GOFAST
is already defined. Do not clear negation libfuncs. Do
not mess with HFmode, XFmode, or TFmode libfuncs.
* config/avr/avr.c (avr_init_once): #if 0 out; mark FIXME.
From-SVN: r72009
2003-10-02 02:44:29 +02:00
|
|
|
tm_defines="US_SOFTWARE_GOFAST $tm_defines"
|
2003-06-04 19:44:03 +02:00
|
|
|
tmake_file="mips/t-gofast $tmake_file"
|
|
|
|
else
|
|
|
|
tmake_file="mips/t-mips $tmake_file"
|
2002-06-13 01:24:04 +02:00
|
|
|
fi
|
|
|
|
;;
|
2003-06-04 19:44:03 +02:00
|
|
|
|
|
|
|
powerpc*-*-* | rs6000-*-*)
|
config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic. Set
configure_default_options according to the default CPU, --with-cpu,
--with-arch, --with-tune, --with-schedule, --with-abi, and
--with-float. Check for legal values of various options.
* configure.in: Define configure_default_options in configargs.h.
* configure: Regenerated.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (do_option_spec): New function.
(struct default_spec, option_default_specs): New.
(main): Call do_option_spec.
* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
* doc/install.texi: Update --with-cpu documentation. Mention
--with-arch, --with-schedule, --with-tune, --with-abi, and
--with-float.
* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
From-SVN: r67457
2003-06-04 19:50:44 +02:00
|
|
|
# FIXME: The PowerPC port uses the value set at compile time,
|
|
|
|
# although it's only cosmetic.
|
2003-06-04 19:44:03 +02:00
|
|
|
if test "x$with_cpu" != x
|
2000-11-17 11:42:45 +01:00
|
|
|
then
|
2003-06-04 19:44:03 +02:00
|
|
|
target_cpu_default2="\\\"$with_cpu\\\""
|
2000-11-17 11:42:45 +01:00
|
|
|
fi
|
2003-06-04 19:44:03 +02:00
|
|
|
out_file=rs6000/rs6000.c
|
|
|
|
c_target_objs="${c_target_objs} rs6000-c.o"
|
|
|
|
cxx_target_objs="${cxx_target_objs} rs6000-c.o"
|
|
|
|
tmake_file="rs6000/t-rs6000 ${tmake_file}"
|
2004-10-22 00:28:29 +02:00
|
|
|
|
|
|
|
if test x$enable_e500_double = xyes
|
|
|
|
then
|
|
|
|
tm_file="$tm_file rs6000/e500-double.h"
|
|
|
|
fi
|
2002-06-13 01:24:04 +02:00
|
|
|
;;
|
2003-06-04 19:42:53 +02:00
|
|
|
|
re PR target/14798 (In case of SH target with -O2 option #pragma interrupt doesn't get resetted.)
PR target/14798:
gcc:
* sh.c (pragma_interrupt, trap_exit, sp_switch): Remove variable.
(pragma_trap, pragma_nosave_low_regs): Likewise.
(current_function_anonymous_args): Likewise.
(sh_deferred_function_attributes): New variable.
(sh_deferred_function_attributes_tail): Likewise.
(print_operand): For '@', look up trap_exit attribute.
(calc_live_regs): Look up trapa_handler attribute. For trapa
handlers, save/restore fpscr, but don't do any other
interrupt-specific saves.
Don't save r0..r7 if the nosave_low_regs attribute is in effect.
Fix check for partially saved registers to check for SHmedia.
(sh_expand_prologue, sh_expand_epilogue): Look up sp_switch attribute.
(sh_output_function_epilogue): Don't clear any of the removed
variables.
(sh_insert_attributes): Don't check pragma_interrupt.
Insert deferred attributes. Check that interrupt attribute is
present for other attributes that require its presence.
(sh_attribute_table): Add new attributes trapa_handler and
nosave_low_regs.
(sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
Don't check for pragma_interrupt. Don't store argument.
* sh.h (pragma_interrupt, sp_switch): Don't declare.
(sh_deferred_function_attributes): Declare.
(sh_deferred_function_attributes_tail): Likewise.
* sh.md (sp_switch_1): Add operand. Change generator caller.
(sh_pr_interrupt, sh_pr_trapa, sh_pr_nosave_low_regs): Remove.
(*return_i): Don't use when trap_exit attribute is in effect.
(*return_trapa): New insn pattern.
* sh-c.c: New file.
* config.gcc (sh[123456ble]*-* | sh-*-*): New trailer stanza,
setting c_target_objs and cxx_target_objs.
* t-sh: Add rule for sh-c.o.
gcc/testsuite:
* gcc.dg/pragma-isr.c: Added target sh[1234ble]*-*-*.
* gcc.dg/pragma-isr2.c, gcc.dg/pragma-isr-trapa.c: New tests.
* gcc.dg/pragma-isr-trapa2.c: Likewise.
* gcc.dg/pragma-isr-nosave_low_regs.c: Likewise.
* gcc.dg/pragma-isr-trap_exit.c: Likewise.
* gcc.dg/attr-isr.c, gcc.dg/attr-isr-trapa.c: Likewise.
* gcc.dg/attr-isr-trap_exit.c: Likewise.
* gcc.dg/attr-isr-nosave_low_regs.c: Likewise.
From-SVN: r110398
2006-01-30 16:07:43 +01:00
|
|
|
sh[123456ble]*-*-* | sh-*-*)
|
|
|
|
c_target_objs="${c_target_objs} sh-c.o"
|
|
|
|
cxx_target_objs="${cxx_target_objs} sh-c.o"
|
|
|
|
;;
|
|
|
|
|
2003-06-04 19:44:03 +02:00
|
|
|
sparc*-*-*)
|
config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic. Set
configure_default_options according to the default CPU, --with-cpu,
--with-arch, --with-tune, --with-schedule, --with-abi, and
--with-float. Check for legal values of various options.
* configure.in: Define configure_default_options in configargs.h.
* configure: Regenerated.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (do_option_spec): New function.
(struct default_spec, option_default_specs): New.
(main): Call do_option_spec.
* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
* doc/install.texi: Update --with-cpu documentation. Mention
--with-arch, --with-schedule, --with-tune, --with-abi, and
--with-float.
* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
From-SVN: r67457
2003-06-04 19:50:44 +02:00
|
|
|
# Some standard aliases.
|
|
|
|
case x$with_cpu in
|
|
|
|
xsparc)
|
|
|
|
with_cpu=v7
|
|
|
|
;;
|
|
|
|
xsparcv9 | xsparc64)
|
|
|
|
with_cpu=v9
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
Makefile.in, [...]: Fix comment/doc typos.
* Makefile.in, cfgexpand.c, cfgloop.h, cfgloopmanip.c,
config.gcc, ipa-cp.c, ipa-prop.c, ipa-prop.h, reg-stack.c,
tree-ssa-structalias.c, tree-vrp.c, value-prof.c, vec.h,
config/linux.h, config/alpha/alpha.h, config/alpha/linux.h,
config/alpha/predicates.md, config/arc/arc.h,
config/arm/arm.h, config/arm/ieee754-df.S,
config/arm/ieee754-sf.S, config/bfin/bfin.c,
config/bfin/bfin.h, config/c4x/c4x.h, config/crx/crx.c,
config/fr30/fr30.h, config/frv/frv.h, config/h8300/h8300.h,
config/i386/i386.h, config/ia64/ia64.c, config/ia64/ia64.h,
config/m68hc11/m68hc11.h, config/mips/mips.c,
config/mips/mips.h, config/mips/openbsd.h,
config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.h,
config/pdp11/pdp11.h, config/rs6000/linux-unwind.h,
config/rs6000/rs6000.c, config/rs6000/rs6000.h,
config/s390/s390.c, config/sh/sh.c, config/sh/sh.h,
config/sparc/linux.h, config/sparc/linux64.h,
config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h,
doc/extend.texi, doc/gcov.texi, doc/install.texi,
doc/invoke.texi, doc/rtl.texi, doc/tm.texi: Fix comment/doc
typos. Follow spelling conventions.
From-SVN: r102809
2005-08-06 15:26:35 +02:00
|
|
|
# The SPARC port checks this value at compile-time.
|
2003-06-04 19:42:53 +02:00
|
|
|
target_cpu_default2="TARGET_CPU_$with_cpu"
|
|
|
|
;;
|
2003-06-04 19:44:03 +02:00
|
|
|
v850*-*-*)
|
config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic. Set
configure_default_options according to the default CPU, --with-cpu,
--with-arch, --with-tune, --with-schedule, --with-abi, and
--with-float. Check for legal values of various options.
* configure.in: Define configure_default_options in configargs.h.
* configure: Regenerated.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (do_option_spec): New function.
(struct default_spec, option_default_specs): New.
(main): Call do_option_spec.
* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
* doc/install.texi: Update --with-cpu documentation. Mention
--with-arch, --with-schedule, --with-tune, --with-abi, and
--with-float.
* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
From-SVN: r67457
2003-06-04 19:50:44 +02:00
|
|
|
# FIXME: The v850 is "special" in that it does not support
|
|
|
|
# runtime CPU selection, only --with-cpu.
|
2003-06-04 19:44:03 +02:00
|
|
|
case "x$with_cpu" in
|
|
|
|
x)
|
|
|
|
;;
|
|
|
|
xv850e)
|
|
|
|
target_cpu_default2="TARGET_CPU_$with_cpu"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
;;
|
2005-03-14 03:23:49 +01:00
|
|
|
esac
|
2000-11-17 11:42:45 +01:00
|
|
|
|
2005-03-14 03:23:49 +01:00
|
|
|
t=
|
|
|
|
all_defaults="abi cpu arch tune schedule float mode fpu divide"
|
|
|
|
for option in $all_defaults
|
|
|
|
do
|
|
|
|
eval "val=\$with_$option"
|
|
|
|
if test -n "$val"; then
|
|
|
|
case " $supported_defaults " in
|
|
|
|
*" $option "*)
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "This target does not support --with-$option." 2>&1
|
2005-12-28 23:37:42 +01:00
|
|
|
echo "Valid --with options are: $supported_defaults" 2>&1
|
2005-03-14 03:23:49 +01:00
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic. Set
configure_default_options according to the default CPU, --with-cpu,
--with-arch, --with-tune, --with-schedule, --with-abi, and
--with-float. Check for legal values of various options.
* configure.in: Define configure_default_options in configargs.h.
* configure: Regenerated.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (do_option_spec): New function.
(struct default_spec, option_default_specs): New.
(main): Call do_option_spec.
* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
* doc/install.texi: Update --with-cpu documentation. Mention
--with-arch, --with-schedule, --with-tune, --with-abi, and
--with-float.
* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
From-SVN: r67457
2003-06-04 19:50:44 +02:00
|
|
|
|
2005-03-14 03:23:49 +01:00
|
|
|
if test "x$t" = x
|
|
|
|
then
|
|
|
|
t="{ \"$option\", \"$val\" }"
|
|
|
|
else
|
|
|
|
t="${t}, { \"$option\", \"$val\" }"
|
config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic. Set
configure_default_options according to the default CPU, --with-cpu,
--with-arch, --with-tune, --with-schedule, --with-abi, and
--with-float. Check for legal values of various options.
* configure.in: Define configure_default_options in configargs.h.
* configure: Regenerated.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (do_option_spec): New function.
(struct default_spec, option_default_specs): New.
(main): Call do_option_spec.
* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
* doc/install.texi: Update --with-cpu documentation. Mention
--with-arch, --with-schedule, --with-tune, --with-abi, and
--with-float.
* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
From-SVN: r67457
2003-06-04 19:50:44 +02:00
|
|
|
fi
|
|
|
|
fi
|
2005-03-14 03:23:49 +01:00
|
|
|
done
|
config.gcc: Reorganize --with-cpu logic.
* config.gcc: Reorganize --with-cpu logic. Set
configure_default_options according to the default CPU, --with-cpu,
--with-arch, --with-tune, --with-schedule, --with-abi, and
--with-float. Check for legal values of various options.
* configure.in: Define configure_default_options in configargs.h.
* configure: Regenerated.
* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
(TARGET_DEFAULT_FLOAT_P): New macros.
* gcc.c (do_option_spec): New function.
(struct default_spec, option_default_specs): New.
(main): Call do_option_spec.
* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
* doc/install.texi: Update --with-cpu documentation. Mention
--with-arch, --with-schedule, --with-tune, --with-abi, and
--with-float.
* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
From-SVN: r67457
2003-06-04 19:50:44 +02:00
|
|
|
|
2005-03-14 03:23:49 +01:00
|
|
|
if test "x$t" = x
|
|
|
|
then
|
|
|
|
configure_default_options="{ { NULL, NULL} }"
|
|
|
|
else
|
|
|
|
configure_default_options="{ ${t} }"
|
|
|
|
fi
|
|
|
|
|
|
|
|
if test "$target_cpu_default2" != ""
|
|
|
|
then
|
|
|
|
if test "$target_cpu_default" != ""
|
2000-11-17 11:42:45 +01:00
|
|
|
then
|
2005-03-14 03:23:49 +01:00
|
|
|
target_cpu_default="(${target_cpu_default}|${target_cpu_default2})"
|
|
|
|
else
|
|
|
|
target_cpu_default=$target_cpu_default2
|
2000-11-17 11:42:45 +01:00
|
|
|
fi
|
2005-03-14 03:23:49 +01:00
|
|
|
fi
|