MAINTAINERS (mt port): Remove.
* MAINTAINERS (mt port): Remove. (sco5, unixware, sco udk): Remove. (Kean Johnston): Add to Write After Approval. fixincludes: * inclhack.def (AAB_svr4_replace_byteorder, AAB_ultrix_ansi_compat, AAB_ultrix_limits, AAB_ultrix_memory, libc1_G_va_list, libc1_ifdefd_memx, nested_motorola, ptx_sys_mc_param_h, sco_regset, sco_static_func, sco_utime, solaris_mutex_init_1, solaris_socket, solaris_unistd, solaris_widec, svr4_krnl, ultrix_atexit_param, ultrix_atof_param, ultrix_const3, ultrix_fix_fixproto, ultrix_ifdef, ultrix_locale, ultrix_math_ifdef, ultrix_nested_ioctl, ultrix_nested_svc, ultrix_stat, ultrix_static, ultrix_stdlib, ultrix_strings, ultrix_strings2, ultrix_sys_time, ultrix_unistd, unicosmk_restrict, uw7_byteorder_fix, windiss_math1, windiss_math2, windiss_valist): Remove. * fixincl.x: Regenerate. * mkfixinc.sh: (arm-semi-aof, hppa1.1-*-osf*, hppa1.1-*-bsd*, i370-*-openedition, i?86-*-moss*, i?86-*-uwin*, powerpc-*-eabiaix*): Remove. * tests/base/math.h: Update. * tests/base/pthread.h: Update. * tests/base/stdio.h: Update. * tests/base/stdlib.h: Update. * tests/base/string.h: Update. * tests/base/strings.h: Update. * tests/base/sys/file.h: Update. * tests/base/sys/limits.h: Update. * tests/base/sys/socket.h: Update. * tests/base/sys/stat.h: Update. * tests/base/sys/time.h: Update. * tests/base/testing.h: Update. * tests/base/unistd.h: Update. * tests/base/_G_config.h: Remove. * tests/base/arpa: Remove directory. * tests/base/fs: Remove directory. * tests/base/locale.h: Remove. * tests/base/machine: Remove directory. * tests/base/rpc/svc.h: Remove. * tests/base/sys/ioctl.h: Remove. * tests/base/sys/regset.h: Remove. * tests/base/sys/times.h: Remove. * tests/base/sys/utsname.h: Remove. * tests/base/widec.h: Remove. gcc: * config.gcc (Obsolete configurations): Remove list of configurations. (Unsupported targets list): Add *-*-linux*aout*, *-*-linux*libc1*, *-*-solaris2.[0-6], *-*-solaris2.[0-6].*, *-*-sysv*. Remove other targets matched by those patterns. (strongarm*-*-*, ep9312*-*-*, xscale-*-*, parisc*-*-*, m680[012]0-*-*, *-*-linux*libc1*, *-*-linux*aout*, alpha*-*-unicosmk*, strongarm*-*-freebsd*, ep9312-*-elf, arm*-*-kaos*, cris-*-aout, parisc*64*-*-linux*, parisc*-*-linux*, hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-bsd*, i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*, i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-sco3.2v5*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*, i[34567]86-*-uwin*, i[34567]86-*-kaos*, m68020-*-elf*, m68010-*-netbsdelf*, mips-wrs-windiss, mt-*-elf, powerpc-*-beos*, powerpc-*-chorusos*, powerpc-wrs-windiss*, powerpcle-*-sysv*, powerpc-*-kaos*, powerpcle-*-kaos*, sh*-*-kaos*, sparc-*-sysv4*, strongarm-*-elf*, strongarm-*-pe, strongarm-*-kaos*, vax-*-bsd*, vax-*-sysv*, vax-*-ultrix*, xscale-*-elf, xscale-*-coff, i[34567]86-*-linux*aout*, i[34567]86-*-linux*libc1): Remove. Make code for Solaris 7 and greater unconditional for Solaris. (ep9312-*-*, parisc1*, m680[012]0-*-*, parisc*-*-*, mt-*-*): Remove --with-* handling. * config/rs6000/sysv4.h (-mwindiss): Remove from all specs. (LIB_WINDISS_SPEC, CPP_OS_WINDISS_SPEC, STARTFILE_WINDISS_SPEC, ENDFILE_WINDISS_SPEC, LINK_START_WINDISS_SPEC, LINK_OS_WINDISS_SPEC): Remove. * config/rs6000/sysv4.opt (mwindiss): Remove. * configure.ac (strongarm*-*-*, xscale*-*-*): Remove. * configure: Regenerate. * doc/cpp.texi: Don't mention BeOS. * doc/extend.texi (interrupt): Don't mention MS1. * doc/install.texi: (i386-@var{any}-sysv, m68k-bull-sysv, m68k-hp-hpux, m68000-hp-hpux, m68000-att-sysv, alphaev5-cray-unicosmk*, xscale-*-*, i?86-*-linux*aout, i?86-*-sco3.2v5*, i?86-*-udk, m68k-hp-hpux, powerpc-*-sysv4, powerpc-*-sysv4, powerpcle-*-sysv4, *-*-sysv*, vax-dec-ultrix): Remove. * doc/invoke.texi (MT Options): Remove. (-mwindiss): Remove. (CRIS Options): Remove cris-axis-aout references. (HPPA Options): Don't mention hppa1.1-*-pro. * doc/md.texi: (MorphoTech family): Remove. * libgcc2.c: Don't handle UWIN. * config/alpha/t-unicosmk: Remove. * config/alpha/unicosmk.h: Remove. * config/arm/kaos-arm.h: Remove. * config/arm/kaos-strongarm.h: Remove. * config/arm/strongarm-coff.h: Remove. * config/arm/strongarm-elf.h: Remove. * config/arm/strongarm-pe.h: Remove. * config/arm/t-strongarm-pe: Remove. * config/arm/t-xscale-coff: Remove. * config/arm/t-xscale-elf: Remove. * config/arm/xscale-coff.h: Remove. * config/arm/xscale-elf.h: Remove. * config/chorus.h: Remove. * config/cris/aout.h: Remove. * config/cris/aout.opt: Remove. * config/cris/t-aout: Remove. * config/i386/beos-elf.h: Remove. * config/i386/kaos-i386.h: Remove. * config/i386/ptx4-i.h: Remove. * config/i386/sco5.h: Remove. * config/i386/sco5.opt: Remove. * config/i386/sysv4-cpp.h: Remove. * config/i386/sysv5.h: Remove. * config/i386/t-beos: Remove. * config/i386/t-sco5: Remove. * config/i386/t-uwin: Remove. * config/i386/uwin.asm: Remove. * config/i386/uwin.h: Remove. * config/kaos.h: Remove. * config/mips/windiss.h: Remove. * config/mt: Remove directory. * config/pa/pa-osf.h: Remove. * config/pa/pa-pro-end.h: Remove. * config/pa/t-pro: Remove. * config/ptx4.h: Remove. * config/rs6000/beos.h: Remove. * config/rs6000/kaos-ppc.h: Remove. * config/rs6000/t-beos: Remove. * config/rs6000/windiss.h: Remove. * config/sh/kaos-sh.h: Remove. * config/sol2-6.h: Remove. * config/sparc/sol26-sld.h: Remove. * config/sparc/sysv4-only.h: Remove. * config/vax/bsd.h: Remove. * config/vax/t-memfuncs: Remove. * config/vax/ultrix.h: Remove. * config/vax/vaxv.h: Remove. * config/windiss.h: Remove. gcc/testsuite: * g++.dg/abi/arm_cxa_vec1.C: Don't handle xscale*-*-*. * g++.dg/eh/spbp.C: Don't handle *-*-solaris2.[56]*. * g++.dg/warn/miss-format-1.C: Don't handle Solaris before Solaris 7. * gcc.c-torture/compile/981006-1.c: Don't handle xscale*-*-*, strongarm*-*-* and cris-*-aout*. * gcc.c-torture/execute/941014-1.x: Don't handle xscale*-*-* and strongarm*-*-*. * gcc.dg/20030909-1.c: Don't handle xscale*-*-* and strongarm*-*-*. * gcc.dg/20031108-1.c: Don't handle xscale*-*-* and strongarm*-*-*. * gcc.dg/20040813-1.c: Don't handle *-*-sysv5*. * gcc.dg/arm-asm.c: Don't handle strongarm*-*-* and xscale*-*-*. * gcc.dg/arm-scd42-1.c: Use target arm*-*-*. * gcc.dg/arm-scd42-3.c: Use target arm*-*-*. * gcc.dg/cpp/assert4.c: Don't handle BeOS. * gcc.dg/debug/pr35154.c: Don't handle *-*-sysv5*. * gcc.dg/intmax_t-1.c: Don't handle *-*-solaris2.5.1 and xscale*-*-elf*. * gcc.dg/pragma-align.c: Don't handle i?86-*-sco3.2v5*. * gcc.dg/pthread-init-2.c: Don't handle *-*-solaris2.5.1. * gcc.misc-tests/arm-isr.exp: Use target arm*-*-*. * gcc.target/powerpc/ppc-sdata-1.c: Don't handle powerpc-*-sysv*. * gcc.target/powerpc/ppc-sdata-2.c: Don't handle powerpc-*-sysv*. * gcc.target/powerpc/ppc-stackalign-1.c: Don't handle powerpc-*-sysv*. * gfortran.dg/debug/pr35154-stabs.f: Don't handle *-*-sysv5*. * lib/target-supports.exp: Don't handle strongarm*-*-elf, xscale*-*-elf and *-*-windiss. * obj-c++.dg/dwarf-2.mm: Don't handle *-*-solaris2.[56]*. * objc.dg/dwarf-1.m: Don't handle *-*-solaris2.[56]*. * objc.dg/dwarf-2.m: Don't handle *-*-solaris2.[56]*. * gcc.dg/mt-loopi1.c: Remove. gnattools: * configure.ac (xscale*-wrs-vx*, xscale*-wrs-coff): Remove. * configure: Regenerate. libcpp: * configure.ac (parisc*64*-*-*): Remove. * configure: Regenerate. libffi: * configure.ac (parisc*-*-linux*, powerpc-*-sysv*, powerpc-*-beos*): Remove. * configure: Regenerate. libgcc: * config.host (strongarm*-*-*, ep9312*-*-*, xscale-*-*, parisc*-*-*, m680[012]0-*-*, *-*-linux*libc1*, *-*-linux*aout*, alpha*-*-unicosmk*, strongarm*-*-freebsd*, ep9312-*-elf, arm*-*-kaos*, cris-*-aout, parisc*64*-*-linux*, parisc*-*-linux*, hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-bsd*, i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*, i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-sco3.2v5*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*, i[34567]86-*-uwin*, i[34567]86-*-kaos*, m68020-*-elf*, m68010-*-netbsdelf*, mips-wrs-windiss, mt-*-elf, powerpc-*-beos*, powerpc-*-chorusos*, powerpc-wrs-windiss*, powerpcle-*-sysv*, powerpc-*-kaos*, powerpcle-*-kaos*, sh*-*-kaos*, sparc-*-sysv4*, strongarm-*-elf*, strongarm-*-pe, strongarm-*-kaos*, vax-*-bsd*, vax-*-sysv*, vax-*-ultrix*, xscale-*-elf, xscale-*-coff): Remove. libjava: * configure.host (strongarm*-elf, xscale*-elf): Remove. libstdc++-v3: * configure.host (xscale, ep9312, m680[246]0, solaris2.5, solaris2.5.[0-9], solaris2.6, windiss*): Remove. * crossconfig.m4 (*-solaris2.5, *-solaris2.6, *-windiss*): Remove. * configure: Regenerate. * config/os/solaris/solaris2.5: Remove directory. * config/os/solaris/solaris2.6: Remove directory. * config/os/windiss: Remove directory. From-SVN: r136534
This commit is contained in:
parent
4b92fd3cc9
commit
cd985f6672
@ -1,3 +1,9 @@
|
|||||||
|
2008-06-07 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
* MAINTAINERS (mt port): Remove.
|
||||||
|
(sco5, unixware, sco udk): Remove.
|
||||||
|
(Kean Johnston): Add to Write After Approval.
|
||||||
|
|
||||||
2008-05-30 Julian Brown <julian@codesourcery.com>
|
2008-05-30 Julian Brown <julian@codesourcery.com>
|
||||||
|
|
||||||
* configure.ac (arm*-*-linux-gnueabi): Don't disable building
|
* configure.ac (arm*-*-linux-gnueabi): Don't disable building
|
||||||
|
@ -68,8 +68,6 @@ mips port Richard Sandiford rdsandiford@googlemail.com
|
|||||||
mmix port Hans-Peter Nilsson hp@bitrange.com
|
mmix port Hans-Peter Nilsson hp@bitrange.com
|
||||||
mn10300 port Jeff Law law@redhat.com
|
mn10300 port Jeff Law law@redhat.com
|
||||||
mn10300 port Alexandre Oliva aoliva@redhat.com
|
mn10300 port Alexandre Oliva aoliva@redhat.com
|
||||||
mt port Aldy Hernandez aldyh@redhat.com
|
|
||||||
mt port Nathan Sidwell nathan@codesourcery.com
|
|
||||||
pdp11 port Paul Koning ni1d@arrl.net
|
pdp11 port Paul Koning ni1d@arrl.net
|
||||||
rs6000 port Geoff Keating geoffk@geoffk.org
|
rs6000 port Geoff Keating geoffk@geoffk.org
|
||||||
rs6000 port David Edelsohn dje@watson.ibm.com
|
rs6000 port David Edelsohn dje@watson.ibm.com
|
||||||
@ -106,7 +104,6 @@ hpux Steve Ellcey sje@cup.hp.com
|
|||||||
irix, osf Rainer Orth ro@TechFak.Uni-Bielefeld.DE
|
irix, osf Rainer Orth ro@TechFak.Uni-Bielefeld.DE
|
||||||
netbsd Jason Thorpe thorpej@netbsd.org
|
netbsd Jason Thorpe thorpej@netbsd.org
|
||||||
netbsd Krister Walfridsson cato@df.lth.se
|
netbsd Krister Walfridsson cato@df.lth.se
|
||||||
sco5, unixware, sco udk Kean Johnston jkj@sco.com
|
|
||||||
sh-linux-gnu Kaz Kojima kkojima@gcc.gnu.org
|
sh-linux-gnu Kaz Kojima kkojima@gcc.gnu.org
|
||||||
RTEMS Ports Joel Sherrill joel@oarcorp.com
|
RTEMS Ports Joel Sherrill joel@oarcorp.com
|
||||||
RTEMS Ports Ralf Corsepius ralf.corsepius@rtems.org
|
RTEMS Ports Ralf Corsepius ralf.corsepius@rtems.org
|
||||||
@ -337,6 +334,7 @@ Andreas Jaeger aj@suse.de
|
|||||||
Harsha Jagasia harsha.jagasia@amd.com
|
Harsha Jagasia harsha.jagasia@amd.com
|
||||||
Fariborz Jahanian fjahanian@apple.com
|
Fariborz Jahanian fjahanian@apple.com
|
||||||
Martin Jambor mjambor@suse.cz
|
Martin Jambor mjambor@suse.cz
|
||||||
|
Kean Johnston jkj@sco.com
|
||||||
Phillip Jordan phillip.m.jordan@gmail.com
|
Phillip Jordan phillip.m.jordan@gmail.com
|
||||||
Tim Josling tej@melbpc.org.au
|
Tim Josling tej@melbpc.org.au
|
||||||
Klaus Kaempf kkaempf@progis.de
|
Klaus Kaempf kkaempf@progis.de
|
||||||
|
@ -1,3 +1,46 @@
|
|||||||
|
2008-06-07 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
* inclhack.def (AAB_svr4_replace_byteorder,
|
||||||
|
AAB_ultrix_ansi_compat, AAB_ultrix_limits, AAB_ultrix_memory,
|
||||||
|
libc1_G_va_list, libc1_ifdefd_memx, nested_motorola,
|
||||||
|
ptx_sys_mc_param_h, sco_regset, sco_static_func, sco_utime,
|
||||||
|
solaris_mutex_init_1, solaris_socket, solaris_unistd,
|
||||||
|
solaris_widec, svr4_krnl, ultrix_atexit_param, ultrix_atof_param,
|
||||||
|
ultrix_const3, ultrix_fix_fixproto, ultrix_ifdef, ultrix_locale,
|
||||||
|
ultrix_math_ifdef, ultrix_nested_ioctl, ultrix_nested_svc,
|
||||||
|
ultrix_stat, ultrix_static, ultrix_stdlib, ultrix_strings,
|
||||||
|
ultrix_strings2, ultrix_sys_time, ultrix_unistd,
|
||||||
|
unicosmk_restrict, uw7_byteorder_fix, windiss_math1,
|
||||||
|
windiss_math2, windiss_valist): Remove.
|
||||||
|
* fixincl.x: Regenerate.
|
||||||
|
* mkfixinc.sh: (arm-semi-aof, hppa1.1-*-osf*, hppa1.1-*-bsd*,
|
||||||
|
i370-*-openedition, i?86-*-moss*, i?86-*-uwin*,
|
||||||
|
powerpc-*-eabiaix*): Remove.
|
||||||
|
* tests/base/math.h: Update.
|
||||||
|
* tests/base/pthread.h: Update.
|
||||||
|
* tests/base/stdio.h: Update.
|
||||||
|
* tests/base/stdlib.h: Update.
|
||||||
|
* tests/base/string.h: Update.
|
||||||
|
* tests/base/strings.h: Update.
|
||||||
|
* tests/base/sys/file.h: Update.
|
||||||
|
* tests/base/sys/limits.h: Update.
|
||||||
|
* tests/base/sys/socket.h: Update.
|
||||||
|
* tests/base/sys/stat.h: Update.
|
||||||
|
* tests/base/sys/time.h: Update.
|
||||||
|
* tests/base/testing.h: Update.
|
||||||
|
* tests/base/unistd.h: Update.
|
||||||
|
* tests/base/_G_config.h: Remove.
|
||||||
|
* tests/base/arpa: Remove directory.
|
||||||
|
* tests/base/fs: Remove directory.
|
||||||
|
* tests/base/locale.h: Remove.
|
||||||
|
* tests/base/machine: Remove directory.
|
||||||
|
* tests/base/rpc/svc.h: Remove.
|
||||||
|
* tests/base/sys/ioctl.h: Remove.
|
||||||
|
* tests/base/sys/regset.h: Remove.
|
||||||
|
* tests/base/sys/times.h: Remove.
|
||||||
|
* tests/base/sys/utsname.h: Remove.
|
||||||
|
* tests/base/widec.h: Remove.
|
||||||
|
|
||||||
2008-05-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
2008-05-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
|
||||||
|
|
||||||
* inclhack.def (solaris_math_4): Use GCC's __builtin_fpclassify.
|
* inclhack.def (solaris_math_4): Use GCC's __builtin_fpclassify.
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -375,214 +375,6 @@ fix = {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Completely replace <sys/byteorder.h> with a file that implements gcc's
|
|
||||||
* optimized byteswapping. (The original probably implemented some
|
|
||||||
* incompatible optimized byteswapping.)
|
|
||||||
*/
|
|
||||||
fix = {
|
|
||||||
hackname = AAB_svr4_replace_byteorder;
|
|
||||||
mach = "*-*-sysv4*";
|
|
||||||
mach = "i[34567]86-*-sysv5*";
|
|
||||||
mach = "i[34567]86-*-sco3.2v5*";
|
|
||||||
mach = "i[34567]86-*-udk*";
|
|
||||||
mach = "i[34567]86-*-solaris2.[0-4]";
|
|
||||||
mach = "powerpcle-*-solaris2.[0-4]";
|
|
||||||
mach = "sparc-*-solaris2.[0-4]";
|
|
||||||
mach = "i[34567]86-sequent-ptx*";
|
|
||||||
files = sys/byteorder.h;
|
|
||||||
replace = <<- _EndOfHeader_
|
|
||||||
#ifndef _SYS_BYTEORDER_H
|
|
||||||
#define _SYS_BYTEORDER_H
|
|
||||||
|
|
||||||
/* Functions to convert `short' and `long' quantities from host byte order
|
|
||||||
to (internet) network byte order (i.e. big-endian).
|
|
||||||
|
|
||||||
Written by Ron Guilmette (rfg@ncd.com).
|
|
||||||
|
|
||||||
This isn't actually used by GCC. It is installed by fixinc.svr4.
|
|
||||||
|
|
||||||
For big-endian machines these functions are essentially no-ops.
|
|
||||||
|
|
||||||
For little-endian machines, we define the functions using specialized
|
|
||||||
asm sequences in cases where doing so yields better code (e.g. i386). */
|
|
||||||
|
|
||||||
#if !defined (__GNUC__) && !defined (__GNUG__)
|
|
||||||
#error You lose! This file is only useful with GNU compilers.
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __BYTE_ORDER__
|
|
||||||
/* Byte order defines. These are as defined on UnixWare 1.1, but with
|
|
||||||
double underscores added at the front and back. */
|
|
||||||
#define __LITTLE_ENDIAN__ 1234
|
|
||||||
#define __BIG_ENDIAN__ 4321
|
|
||||||
#define __PDP_ENDIAN__ 3412
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __STDC__
|
|
||||||
static __inline__ unsigned long htonl (unsigned long);
|
|
||||||
static __inline__ unsigned short htons (unsigned int);
|
|
||||||
static __inline__ unsigned long ntohl (unsigned long);
|
|
||||||
static __inline__ unsigned short ntohs (unsigned int);
|
|
||||||
#endif /* defined (__STDC__) */
|
|
||||||
|
|
||||||
#if defined (__i386__)
|
|
||||||
|
|
||||||
#ifndef __BYTE_ORDER__
|
|
||||||
#define __BYTE_ORDER__ __LITTLE_ENDIAN__
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Convert a host long to a network long. */
|
|
||||||
|
|
||||||
/* We must use a new-style function definition, so that this will also
|
|
||||||
be valid for C++. */
|
|
||||||
static __inline__ unsigned long
|
|
||||||
htonl (unsigned long __arg)
|
|
||||||
{
|
|
||||||
register unsigned long __result;
|
|
||||||
|
|
||||||
__asm__ ("xchg%B0 %b0,%h0
|
|
||||||
ror%L0 $16,%0
|
|
||||||
xchg%B0 %b0,%h0" : "=q" (__result) : "0" (__arg));
|
|
||||||
return __result;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Convert a host short to a network short. */
|
|
||||||
|
|
||||||
static __inline__ unsigned short
|
|
||||||
htons (unsigned int __arg)
|
|
||||||
{
|
|
||||||
register unsigned short __result;
|
|
||||||
|
|
||||||
__asm__ ("xchg%B0 %b0,%h0" : "=q" (__result) : "0" (__arg));
|
|
||||||
return __result;
|
|
||||||
}
|
|
||||||
|
|
||||||
#elif (defined (__ns32k__) || defined (__vax__) || defined (__arm__))
|
|
||||||
|
|
||||||
#ifndef __BYTE_ORDER__
|
|
||||||
#define __BYTE_ORDER__ __LITTLE_ENDIAN__
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* For other little-endian machines, using C code is just as efficient as
|
|
||||||
using assembly code. */
|
|
||||||
|
|
||||||
/* Convert a host long to a network long. */
|
|
||||||
|
|
||||||
static __inline__ unsigned long
|
|
||||||
htonl (unsigned long __arg)
|
|
||||||
{
|
|
||||||
register unsigned long __result;
|
|
||||||
|
|
||||||
__result = (__arg >> 24) & 0x000000ff;
|
|
||||||
__result |= (__arg >> 8) & 0x0000ff00;
|
|
||||||
__result |= (__arg << 8) & 0x00ff0000;
|
|
||||||
__result |= (__arg << 24) & 0xff000000;
|
|
||||||
return __result;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Convert a host short to a network short. */
|
|
||||||
|
|
||||||
static __inline__ unsigned short
|
|
||||||
htons (unsigned int __arg)
|
|
||||||
{
|
|
||||||
register unsigned short __result;
|
|
||||||
|
|
||||||
__result = (__arg << 8) & 0xff00;
|
|
||||||
__result |= (__arg >> 8) & 0x00ff;
|
|
||||||
return __result;
|
|
||||||
}
|
|
||||||
|
|
||||||
#else /* must be a big-endian machine */
|
|
||||||
|
|
||||||
#ifndef __BYTE_ORDER__
|
|
||||||
#define __BYTE_ORDER__ __BIG_ENDIAN__
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Convert a host long to a network long. */
|
|
||||||
|
|
||||||
static __inline__ unsigned long
|
|
||||||
htonl (unsigned long __arg)
|
|
||||||
{
|
|
||||||
return __arg;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Convert a host short to a network short. */
|
|
||||||
|
|
||||||
static __inline__ unsigned short
|
|
||||||
htons (unsigned int __arg)
|
|
||||||
{
|
|
||||||
return __arg;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* big-endian */
|
|
||||||
|
|
||||||
/* Convert a network long to a host long. */
|
|
||||||
|
|
||||||
static __inline__ unsigned long
|
|
||||||
ntohl (unsigned long __arg)
|
|
||||||
{
|
|
||||||
return htonl (__arg);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Convert a network short to a host short. */
|
|
||||||
|
|
||||||
static __inline__ unsigned short
|
|
||||||
ntohs (unsigned int __arg)
|
|
||||||
{
|
|
||||||
return htons (__arg);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
_EndOfHeader_;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Cancel out ansi_compat.h on Ultrix. Replace it with an empty file.
|
|
||||||
*/
|
|
||||||
fix = {
|
|
||||||
hackname = AAB_ultrix_ansi_compat;
|
|
||||||
files = ansi_compat.h;
|
|
||||||
select = ULTRIX;
|
|
||||||
replace = "/* This file intentionally left blank. */\n";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The Ultrix 4.3 file limits.h is a symbolic link to sys/limits.h.
|
|
||||||
* Replace limits.h with a file that includes sys/limits.h.
|
|
||||||
*/
|
|
||||||
fix = {
|
|
||||||
hackname = AAB_ultrix_limits;
|
|
||||||
files = limits.h;
|
|
||||||
mach = "*-*-ultrix4.3";
|
|
||||||
replace = <<- _EndOfHeader_
|
|
||||||
#ifndef _LIMITS_INCLUDED
|
|
||||||
#define _LIMITS_INCLUDED
|
|
||||||
#include <sys/limits.h>
|
|
||||||
#endif /* _LIMITS_INCLUDED */
|
|
||||||
_EndOfHeader_;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The ULTRIX 4.3 version of memory.h duplicates definitions
|
|
||||||
* present in strings.h. Replace memory.h with a file that includes
|
|
||||||
* strings.h to prevent problems from multiple inclusion.
|
|
||||||
*/
|
|
||||||
fix = {
|
|
||||||
hackname = AAB_ultrix_memory;
|
|
||||||
files = memory.h;
|
|
||||||
mach = "*-*-ultrix4.3";
|
|
||||||
replace = <<- _EndOfHeader_
|
|
||||||
#ifndef _MEMORY_INCLUDED
|
|
||||||
#define _MEMORY_INCLUDED
|
|
||||||
#include <strings.h>
|
|
||||||
#endif /* _MEMORY_INCLUDED */
|
|
||||||
_EndOfHeader_;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The Ultrix 4.3 file string.h is a symbolic link to strings.h.
|
* The Ultrix 4.3 file string.h is a symbolic link to strings.h.
|
||||||
* Replace string.h link with a file that includes strings.h to prevent
|
* Replace string.h link with a file that includes strings.h to prevent
|
||||||
@ -2423,56 +2215,6 @@ fix = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Fix libc1 _G_va_list definition, used in declarations of several
|
|
||||||
* more-or-less standard functions, for example vasprintf.
|
|
||||||
*/
|
|
||||||
fix = {
|
|
||||||
hackname = libc1_G_va_list;
|
|
||||||
files = _G_config.h;
|
|
||||||
mach = '*-*-linux*libc1';
|
|
||||||
select = 'typedef void \* _G_va_list;';
|
|
||||||
c_fix = format;
|
|
||||||
c_fix_arg = "typedef __builtin_va_list _G_va_list;";
|
|
||||||
test_text = 'typedef void * _G_va_list;';
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* GNU libc1 string.h does not prototype memcpy and memcmp for gcc
|
|
||||||
* versions > 1. This fix will open up the declaration for all
|
|
||||||
* versions of GCC and for g++.
|
|
||||||
*/
|
|
||||||
fix = {
|
|
||||||
hackname = libc1_ifdefd_memx;
|
|
||||||
|
|
||||||
/* The string.h result is overwritten by AAB_ultrix_string when doing
|
|
||||||
"make check" and will fail. Therefore, we add the following kludgery
|
|
||||||
to insert the test_text into the special testing header. :-} */
|
|
||||||
files = testing.h;
|
|
||||||
files = string.h;
|
|
||||||
|
|
||||||
c_fix = format;
|
|
||||||
select = "' is a built-in function for gcc 2\\.x\\. \\*/";
|
|
||||||
bypass = __cplusplus;
|
|
||||||
c_fix_arg = "%1";
|
|
||||||
c_fix_arg =
|
|
||||||
'/\* `mem...\' is a built-in function for gcc 2\.x\. \*/' "\n"
|
|
||||||
'#if defined\(__STDC__\) && __GNUC__ < 2' "\n"
|
|
||||||
"(/\\* .* \\*/\n"
|
|
||||||
"extern [a-z_]+ mem.*(\n[^#].*)*;)\n"
|
|
||||||
"#endif";
|
|
||||||
|
|
||||||
test_text =
|
|
||||||
"/* \\`memcpy' is a built-in function for gcc 2.x. */\n"
|
|
||||||
"#if defined(__STDC__) && __GNUC__ < 2\n"
|
|
||||||
"/* Copy N bytes of SRC to DEST. */\n"
|
|
||||||
"extern __ptr_t memcpy __P ((__ptr_t __dest, __const __ptr_t __src,\n"
|
|
||||||
" size_t __n));\n"
|
|
||||||
"#endif";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/* The /usr/include/sys/ucontext.h on ia64-*linux-gnu systems defines
|
/* The /usr/include/sys/ucontext.h on ia64-*linux-gnu systems defines
|
||||||
* an _SC_GR0_OFFSET macro using an idiom that isn't a compile time
|
* an _SC_GR0_OFFSET macro using an idiom that isn't a compile time
|
||||||
* constant on recent versions of g++.
|
* constant on recent versions of g++.
|
||||||
@ -2654,28 +2396,6 @@ fix = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Fix nested comments in Motorola's <limits.h> and <sys/limits.h>
|
|
||||||
*/
|
|
||||||
fix = {
|
|
||||||
hackname = nested_motorola;
|
|
||||||
mach = "m68k-motorola-sysv*";
|
|
||||||
files = sys/limits.h;
|
|
||||||
files = limits.h;
|
|
||||||
select = "max # bytes atomic in write|error value returned by Math lib";
|
|
||||||
|
|
||||||
sed = "s@^\\(#undef[ \t][ \t]*PIPE_BUF[ \t]*"
|
|
||||||
"/\\* max # bytes atomic in write to a\\)$@\\1 */@";
|
|
||||||
sed = "s@\\(/\\*#define\tHUGE_VAL\t3.[0-9e+]* \\)"
|
|
||||||
"\\(/\\*error value returned by Math lib\\*/\\)$@\\1*/ \\2@";
|
|
||||||
|
|
||||||
test_text =
|
|
||||||
"#undef PIPE_BUF /* max # bytes atomic in write to a\n"
|
|
||||||
"\t\t/* PIPE */\n"
|
|
||||||
"/*#define\tHUGE_VAL\t3.9e+9 /*error value returned by Math lib*/";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Fixing nested comments in ISC <sys/limits.h>
|
* Fixing nested comments in ISC <sys/limits.h>
|
||||||
*/
|
*/
|
||||||
@ -2919,30 +2639,6 @@ fix = {
|
|||||||
test_text = "extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask);";
|
test_text = "extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask);";
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
* On DYNIX/ptx, sys/mc_param.h has an embedded asm for the cpuid instruction
|
|
||||||
* on the P5. This is not used by anything else so we ifdef it out.
|
|
||||||
* Current GCC doesn't seem to complain about the asm, though.
|
|
||||||
*/
|
|
||||||
#ifdef PTX
|
|
||||||
fix = {
|
|
||||||
hackname = ptx_sys_mc_param_h;
|
|
||||||
files = sys/mc_param.h;
|
|
||||||
sed = "/__asm/,/}/{"
|
|
||||||
"/__asm/i\\\n"
|
|
||||||
"#if !defined (__GNUC__) && !defined (__GNUG__)\n"
|
|
||||||
"/}/a\\\n"
|
|
||||||
"#endif\n"
|
|
||||||
"}";
|
|
||||||
test_text = "__asm\n"
|
|
||||||
"int _CPUID()\n"
|
|
||||||
"{\n"
|
|
||||||
" non-GNU assembly here\n"
|
|
||||||
"}";
|
|
||||||
};
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Fix return type of fread and fwrite on sysV68
|
* Fix return type of fread and fwrite on sysV68
|
||||||
*/
|
*/
|
||||||
@ -3064,89 +2760,6 @@ fix = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* On SCO OpenServer prior to 5.0.7UP1, <sys/regset.h> and <ieeefp.h>
|
|
||||||
* have a clash on struct _fpstate and struct fpstate.
|
|
||||||
*/
|
|
||||||
fix = {
|
|
||||||
hackname = sco_regset;
|
|
||||||
files = sys/regset.h;
|
|
||||||
mach = "*-*-sco3.2v5*";
|
|
||||||
select = "(struct[ \t]+.*)fpstate";
|
|
||||||
c_fix = format;
|
|
||||||
c_fix_arg = "%1rsfpstate";
|
|
||||||
|
|
||||||
test_text =
|
|
||||||
"union u_fps {\n"
|
|
||||||
" struct\tfpstate\n"
|
|
||||||
" {\n"
|
|
||||||
" int whatever;\n"
|
|
||||||
" }\n"
|
|
||||||
"};\n"
|
|
||||||
"union _u_fps {\n"
|
|
||||||
" struct _fpstate\n"
|
|
||||||
" {\n"
|
|
||||||
" int whatever;\n"
|
|
||||||
" }\n"
|
|
||||||
"};\n";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The static functions lstat() and fchmod() in <sys/stat.h>
|
|
||||||
* cause G++ grief since they're not wrapped in "if __cplusplus".
|
|
||||||
*
|
|
||||||
* On SCO OpenServer 5.0.0 through (at least) 5.0.5 <sys/stat.h> contains
|
|
||||||
* tiny static wrappers that aren't C++ safe.
|
|
||||||
*/
|
|
||||||
fix = {
|
|
||||||
hackname = sco_static_func;
|
|
||||||
files = sys/stat.h;
|
|
||||||
mach = "i?86-*-sco3.2*";
|
|
||||||
select = "^static int";
|
|
||||||
|
|
||||||
sed = "/^static int/i\\\n"
|
|
||||||
"#if __cplusplus\\\n"
|
|
||||||
"extern \"C\" {\\\n"
|
|
||||||
"#endif /* __cplusplus */";
|
|
||||||
|
|
||||||
sed = "/^}$/a\\\n"
|
|
||||||
"#if __cplusplus\\\n"
|
|
||||||
" }\\\n"
|
|
||||||
"#endif /* __cplusplus */";
|
|
||||||
|
|
||||||
test_text =
|
|
||||||
"#ifdef __STDC__\n"
|
|
||||||
"static int\tstat(const char *__f, struct stat *__p) {\n"
|
|
||||||
"\treturn __stat32(__f, __p);\n"
|
|
||||||
"}\n\n# else /* !__STDC__ THIS FAILS ON BSD SYSTEMS */\n"
|
|
||||||
|
|
||||||
"static int\tstat(__f, __p)\n"
|
|
||||||
"\tchar *__f;\n"
|
|
||||||
"\tstruct stat *__p;\n"
|
|
||||||
"{\n"
|
|
||||||
"\treturn __stat32(__f, __p);\n"
|
|
||||||
"}\n"
|
|
||||||
"#endif";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Fix prototype declaration of utime in sys/times.h.
|
|
||||||
* In 3.2v4.0 the const is missing.
|
|
||||||
*/
|
|
||||||
fix = {
|
|
||||||
hackname = sco_utime;
|
|
||||||
files = sys/times.h;
|
|
||||||
mach = "i?86-*-sco3.2v4*";
|
|
||||||
|
|
||||||
select = '\(const char \*, struct utimbuf \*\);';
|
|
||||||
c_fix = format;
|
|
||||||
c_fix_arg = '(const char *, const struct utimbuf *);';
|
|
||||||
|
|
||||||
test_text = "extern int utime(const char *, struct utimbuf *);";
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Sun Solaris 10 defines several C99 math macros in terms of
|
* Sun Solaris 10 defines several C99 math macros in terms of
|
||||||
* builtins specific to the Studio compiler, in particular not
|
* builtins specific to the Studio compiler, in particular not
|
||||||
@ -3279,26 +2892,6 @@ fix = {
|
|||||||
" __x_i == (__typeof(__x_i)) (-INFINITY); })";
|
" __x_i == (__typeof(__x_i)) (-INFINITY); })";
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
|
||||||
* Sun Solaris 2.5.1, 2.6 defines PTHREAD_{MUTEX|COND}_INITIALIZER
|
|
||||||
* incorrectly, so we replace them with versions that correspond to
|
|
||||||
* the definition. We also explicitly name this fix "1" and the next
|
|
||||||
* fix "2" because this one does not deal with the last field. This
|
|
||||||
* fix needs to run before the next.
|
|
||||||
*/
|
|
||||||
fix = {
|
|
||||||
hackname = solaris_mutex_init_1;
|
|
||||||
select = '@\(#\)pthread.h' "[ \t]+1.1[0-9][ \t]+9[567]/[0-9/]+ SMI";
|
|
||||||
files = pthread.h;
|
|
||||||
sed = "/define[ \t]*PTHREAD_MUTEX_INI/s/{0, 0,/{{{0}, 0}, {{{0}}},/\n"
|
|
||||||
"/define[ \t]*PTHREAD_COND_INI/s/{0,/{{{0},0},/";
|
|
||||||
test_text =
|
|
||||||
'#ident "@(#)pthread.h 1.16 97/05/05 SMI"'"\n"
|
|
||||||
"#define PTHREAD_MUTEX_INITIALIZER\t{0, 0, 0}\n"
|
|
||||||
"#define PTHREAD_COND_INITIALIZER\t{0, 0} /* */\n";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Sun Solaris defines PTHREAD_MUTEX_INITIALIZER with a trailing
|
* Sun Solaris defines PTHREAD_MUTEX_INITIALIZER with a trailing
|
||||||
* "0" for the last field of the pthread_mutex_t structure, which is
|
* "0" for the last field of the pthread_mutex_t structure, which is
|
||||||
@ -3417,26 +3010,6 @@ fix = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Solaris 2.5.1 and 2.6 use an outdated prototype for send & recv
|
|
||||||
* in sys/socket.h. This is corrected in Solaris 7 and up.
|
|
||||||
*/
|
|
||||||
fix = {
|
|
||||||
hackname = solaris_socket;
|
|
||||||
files = sys/socket.h;
|
|
||||||
select = '@\(#\)socket.h' "[ \t]+1.[123][0-9][ \t]+9[567]/[0-9/]+ SMI";
|
|
||||||
c_fix = format;
|
|
||||||
c_fix_arg = "extern int %1(int, %2void *, int, int);";
|
|
||||||
c_fix_arg = '^extern int (recv|send)\(int,'
|
|
||||||
' (const )*char '
|
|
||||||
'\*, int, int\);';
|
|
||||||
|
|
||||||
test_text = '#ident "@(#)socket.h 1.30 97/01/20 SMI"'"\n"
|
|
||||||
"extern int recv(int, char *, int, int);\n"
|
|
||||||
"extern int send(int, const char *, int, int);";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Solaris 2.8 has what appears to be some gross workaround for
|
* Solaris 2.8 has what appears to be some gross workaround for
|
||||||
* some old version of their c++ compiler. G++ doesn't want it
|
* some old version of their c++ compiler. G++ doesn't want it
|
||||||
@ -3456,43 +3029,6 @@ fix = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Sun Solaris 2.5.1 doesn't define 'getpagesize' in <unistd.h>, as is done
|
|
||||||
* on Solaris 2.6 and up.
|
|
||||||
*/
|
|
||||||
fix = {
|
|
||||||
hackname = solaris_unistd;
|
|
||||||
files = unistd.h;
|
|
||||||
select = '@\(#\)unistd.h' "[ \t]+1.3[0-9][ \t]+9[567]/[0-9/]+ SMI";
|
|
||||||
bypass = "getpagesize";
|
|
||||||
c_fix = format;
|
|
||||||
c_fix_arg = "extern int getpagesize();\n%0";
|
|
||||||
c_fix_arg = '^extern (pid_t|int) getpgid\(.*\);';
|
|
||||||
test_text = '#ident "@(#)unistd.h 1.33 95/08/28 SMI"'"\n"
|
|
||||||
"extern pid_t getpgid(pid_t);\n"
|
|
||||||
"extern int getpgid();";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* <widec.h> until Solaris 2.5.1 defines macros for a couple of <wchar.h>
|
|
||||||
* functions, breaking their prototypes if that file is included afterwards.
|
|
||||||
* Include <wchar.h> early to avoid this issue, as is done on Solaris 2.6
|
|
||||||
* and up.
|
|
||||||
*/
|
|
||||||
fix = {
|
|
||||||
hackname = solaris_widec;
|
|
||||||
files = widec.h;
|
|
||||||
mach = '*-*-solaris2.[0-5]';
|
|
||||||
mach = '*-*-solaris2.[0-5].*';
|
|
||||||
bypass = "include.*wchar\\.h";
|
|
||||||
select = "#include <euc.h>";
|
|
||||||
c_fix = format;
|
|
||||||
c_fix_arg = "%0\n#include <wchar.h>";
|
|
||||||
test_text = "#include <euc.h>";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* a missing semi-colon at the end of the statsswtch structure definition.
|
* a missing semi-colon at the end of the statsswtch structure definition.
|
||||||
*/
|
*/
|
||||||
@ -4002,46 +3538,6 @@ fix = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Wrap some files on System V r4 and DYNIX/ptx systems with
|
|
||||||
* #ifdef _KERNEL, presumably to prevent kernel headers from
|
|
||||||
* leaking into userspace. This may not be necessary at all,
|
|
||||||
* but it was in the old scripts, so it seems safest to keep it for now.
|
|
||||||
*/
|
|
||||||
fix = {
|
|
||||||
/* Can't name this with _kernel, or the test case will hit the bypass! */
|
|
||||||
hackname = svr4_krnl;
|
|
||||||
/* Since I'm rather unsure about the validity of this, limit it
|
|
||||||
* to the specific systems it was operating on before. It should
|
|
||||||
* also be bypassed for i?86-*-sysv4.3uw2, by that rule, but I didn't
|
|
||||||
* see an easy way to do that. Hopefully it will be harmless
|
|
||||||
* in any case. -- Nathanael */
|
|
||||||
mach = '*-*-sysv4*';
|
|
||||||
mach = 'i?86-sequent-ptx*';
|
|
||||||
files = fs/rfs/rf_cache.h;
|
|
||||||
files = sys/erec.h;
|
|
||||||
files = sys/err.h;
|
|
||||||
files = sys/char.h;
|
|
||||||
files = sys/getpages.h;
|
|
||||||
files = sys/map.h;
|
|
||||||
files = sys/cmn_err.h;
|
|
||||||
files = sys/kdebugger.h;
|
|
||||||
|
|
||||||
/* This bypass will match _KERNEL, __KERNEL, __KERNEL__, etc.
|
|
||||||
* It will also match SVR4_KERNEL_CHECK, which means that the
|
|
||||||
* testsuite case will always be bypassed. Which is fine with me. */
|
|
||||||
bypass = '_KERNEL';
|
|
||||||
|
|
||||||
c_fix = wrap;
|
|
||||||
c_fix_arg = "#ifdef _KERNEL\n";
|
|
||||||
c_fix_arg = "#endif /* _KERNEL */\n";
|
|
||||||
|
|
||||||
/* There's no reasonable test for this given that we don't know exactly
|
|
||||||
* what problem inspired it in the first place. */
|
|
||||||
test_text = "";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Delete any #defines of `__i386' which may be present in <ieeefp.h>. They
|
* Delete any #defines of `__i386' which may be present in <ieeefp.h>. They
|
||||||
* tend to conflict with the compiler's own definition of this symbol. (We
|
* tend to conflict with the compiler's own definition of this symbol. (We
|
||||||
@ -4392,36 +3888,6 @@ fix = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* function parameter to atexit is missing "void" on VAX Ultrix 4.3.
|
|
||||||
*/
|
|
||||||
fix = {
|
|
||||||
hackname = ultrix_atexit_param;
|
|
||||||
files = stdlib.h;
|
|
||||||
select = 'atexit\(.*\(\)';
|
|
||||||
|
|
||||||
c_fix = format;
|
|
||||||
c_fix_arg = "atexit( void (*__func)( void )";
|
|
||||||
|
|
||||||
test_text = "int atexit( void (*__func)() );\n";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* parameter to atof not const on DECstation Ultrix V4.0 and NEWS-OS 4.2R.
|
|
||||||
*/
|
|
||||||
fix = {
|
|
||||||
hackname = ultrix_atof_param;
|
|
||||||
files = math.h;
|
|
||||||
select = "atof\\([ \t]*char";
|
|
||||||
|
|
||||||
c_fix = format;
|
|
||||||
c_fix_arg = "atof(const char";
|
|
||||||
|
|
||||||
test_text = "extern double atof( char *__nptr);\n";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* parameters not const on DECstation Ultrix V4.0 and OSF/1.
|
* parameters not const on DECstation Ultrix V4.0 and OSF/1.
|
||||||
*/
|
*/
|
||||||
@ -4466,322 +3932,6 @@ fix = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* parameters not const on Ultrix V4.3.
|
|
||||||
*/
|
|
||||||
fix = {
|
|
||||||
hackname = ultrix_const3;
|
|
||||||
files = stdio.h;
|
|
||||||
select = 'fdopen\( .*, char \*';
|
|
||||||
|
|
||||||
c_fix = format;
|
|
||||||
c_fix_arg = "%1 const %3 *__";
|
|
||||||
c_fix_arg = "([ \t*](fdopen)\\(.*)"
|
|
||||||
"[ \t]+(char|void) \\*__";
|
|
||||||
|
|
||||||
test_text =
|
|
||||||
"extern FILE * fdopen( int __filedes, char *__type );\n";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Ultrix V4.[35] puts the declaration of uname before the definition
|
|
||||||
* of struct utsname, so the prototype (added by fixproto) causes havoc.
|
|
||||||
*/
|
|
||||||
fix = {
|
|
||||||
hackname = ultrix_fix_fixproto;
|
|
||||||
files = sys/utsname.h;
|
|
||||||
select = ULTRIX;
|
|
||||||
|
|
||||||
c_fix = format;
|
|
||||||
c_fix_arg = "struct utsname;\n%0";
|
|
||||||
c_fix_arg = "^[ \t]*extern[ \t]*int[ \t]*uname\\(\\);";
|
|
||||||
|
|
||||||
test_text =
|
|
||||||
"/* ULTRIX's uname */\nextern\tint\tuname();";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Check for bad #ifdef line (in Ultrix 4.1)
|
|
||||||
*/
|
|
||||||
fix = {
|
|
||||||
hackname = ultrix_ifdef;
|
|
||||||
select = "^#ifdef KERNEL[ \t]+&&";
|
|
||||||
files = sys/file.h;
|
|
||||||
|
|
||||||
c_fix = format;
|
|
||||||
c_fix_arg = "#if defined(KERNEL) &&";
|
|
||||||
|
|
||||||
test_text =
|
|
||||||
"#ifdef KERNEL\t&& defined( mumbojumbo )\nint oops;\n#endif";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Add once-only latch to Ultrix V4.3 locale.h.
|
|
||||||
*/
|
|
||||||
fix = {
|
|
||||||
hackname = ultrix_locale;
|
|
||||||
files = locale.h;
|
|
||||||
select = "@\\(#\\)locale\\.h.*6\\.1.*\\(ULTRIX\\)";
|
|
||||||
c_fix = wrap;
|
|
||||||
test_text =
|
|
||||||
"@(#)locale.h 6.1 (ULTRIX)\n";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Strip "|| CC$gfloat" from Ultrix math headers.
|
|
||||||
*/
|
|
||||||
fix = {
|
|
||||||
hackname = ultrix_math_ifdef;
|
|
||||||
files = sys/limits.h;
|
|
||||||
files = float.h;
|
|
||||||
files = math.h;
|
|
||||||
select = "^(#if.*)\\|\\|[ \t]+CC\\$[a-z]+";
|
|
||||||
c_fix = format;
|
|
||||||
c_fix_arg = "%1";
|
|
||||||
|
|
||||||
test_text = '#if defined(__GFLOAT) || CC\$gfloat';
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Avoid nested comments on Ultrix 4.3.
|
|
||||||
*/
|
|
||||||
fix = {
|
|
||||||
hackname = ultrix_nested_ioctl;
|
|
||||||
files = sys/ioctl.h;
|
|
||||||
select = "^/\\* #define SIOCSCREEN";
|
|
||||||
sed = "/^\\/\\* #define SIOCSCREEN/s@/\\* screend@*//* screend@";
|
|
||||||
test_text =
|
|
||||||
"/* #define SIOCSCREENON _IOWR('i', 49, int)"
|
|
||||||
"/* screend, net/gw_screen.h */\n";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
fix = {
|
|
||||||
hackname = ultrix_nested_svc;
|
|
||||||
files = rpc/svc.h;
|
|
||||||
select = "^ \\*[ \t]*int protocol; */\\*";
|
|
||||||
sed = "s@^\\( \\*\tint protocol; \\)/\\*@\\1*/ /*@";
|
|
||||||
test_text =
|
|
||||||
" *\tint protocol; /* like TCP or UDP\n";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Add missing prototype for lstat and define for S_ISLNK
|
|
||||||
* in Ultrix V4.3 sys/stat.h.
|
|
||||||
*/
|
|
||||||
fix = {
|
|
||||||
hackname = ultrix_stat;
|
|
||||||
files = sys/stat.h;
|
|
||||||
select = "@\\(#\\)stat\\.h.*6\\.1.*\\(ULTRIX\\)";
|
|
||||||
sed = "/^#define[ \t]S_IFPORT[ \t]*S_IFIFO$/a\\\n"
|
|
||||||
"\\\n"
|
|
||||||
"/* macro to test for symbolic link */\\\n"
|
|
||||||
"#define S_ISLNK(mode) (((mode) & S_IFMT) == S_IFLNK)\\\n"
|
|
||||||
"\n";
|
|
||||||
sed = "/^[ \t]*fstat(),$/a\\\n"
|
|
||||||
"\tlstat(),\n";
|
|
||||||
test_text =
|
|
||||||
"@(#)stat.h 6.1 (ULTRIX)\n"
|
|
||||||
"#define S_IFPORT S_IFIFO\n"
|
|
||||||
"\tfstat(),\n/* THE INSERTION LINE FAILS ON BSD SYSTEMS */";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Check for superfluous `static' (in Ultrix 4.2)
|
|
||||||
* On Ultrix 4.3, includes of other files (r3_cpu.h,r4_cpu.h) is broken.
|
|
||||||
*/
|
|
||||||
fix = {
|
|
||||||
hackname = ultrix_static;
|
|
||||||
files = machine/cpu.h;
|
|
||||||
select = '#include "r[34]_cpu';
|
|
||||||
sed = "s/^static struct tlb_pid_state/struct tlb_pid_state/";
|
|
||||||
sed = 's/^#include "r3_cpu\.h"$/#include <machine\/r3_cpu\.h>/';
|
|
||||||
sed = 's/^#include "r4_cpu\.h"$/#include <machine\/r4_cpu\.h>/';
|
|
||||||
test_text =
|
|
||||||
"static struct tlb_pid_state {\n"
|
|
||||||
"#include \"r3_cpu.h\"\n";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Add missing declarations to Ultrix V4.3 stdlib.h.
|
|
||||||
*/
|
|
||||||
fix = {
|
|
||||||
hackname = ultrix_stdlib;
|
|
||||||
files = stdlib.h;
|
|
||||||
select = "@\\(#\\)stdlib\\.h.*6\\.1.*\\(ULTRIX\\)";
|
|
||||||
|
|
||||||
sed = "/^char.*getenv( const char .* );.*$/a\\\n"
|
|
||||||
"int\t\tsetenv( const char *__name, const char *__val, int __ovrwrt );\\\n"
|
|
||||||
"void\t\tunsetenv( const char *__name );\\\n"
|
|
||||||
"int\t\tputenv( char *__s );\n";
|
|
||||||
|
|
||||||
sed = "/^char.*getenv();.*$/a\\\n"
|
|
||||||
"int\tsetenv();\\\n"
|
|
||||||
"void\tunsetenv();\\\n"
|
|
||||||
"int\tputenv();\n";
|
|
||||||
|
|
||||||
test_text =
|
|
||||||
"@(#)stdlib.h 6.1 (ULTRIX)\n"
|
|
||||||
"char * getenv( const char *__name );\n"
|
|
||||||
"char *getenv();\n";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Add once-only latch to Ultrix V4.3 strings.h.
|
|
||||||
*/
|
|
||||||
fix = {
|
|
||||||
hackname = ultrix_strings;
|
|
||||||
files = strings.h;
|
|
||||||
select = "@\\(#\\)strings\\.h.*6\\.1.*\\(ULTRIX\\)";
|
|
||||||
c_fix = wrap;
|
|
||||||
test_text =
|
|
||||||
"@(#)strings.h 6.1 (ULTRIX)\n";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Add missing declarations to Ultrix V4.3 strings.h.
|
|
||||||
*/
|
|
||||||
fix = {
|
|
||||||
hackname = ultrix_strings2;
|
|
||||||
files = strings.h;
|
|
||||||
select = "@\\(#\\)strings\\.h.*6\\.1.*\\(ULTRIX\\)";
|
|
||||||
|
|
||||||
sed = "/^.*strncmp( const .* );.*/a\\\n"
|
|
||||||
"\\\n"
|
|
||||||
"extern int\\\n"
|
|
||||||
"\tstrcasecmp( const char *__s1, const char *__s2),\\\n"
|
|
||||||
"\tstrncasecmp( const char *__s1, const char *__s2, size_t __n );\n";
|
|
||||||
|
|
||||||
sed = "/^.*strncmp();.*/a\\\n"
|
|
||||||
"extern int\\\n"
|
|
||||||
"\tstrcasecmp(),\\\n"
|
|
||||||
"\tstrncasecmp();\n";
|
|
||||||
|
|
||||||
test_text =
|
|
||||||
"@(#)strings.h 6.1 (ULTRIX)\n"
|
|
||||||
"\tstrncmp( const char *__s1, const char *__s2, size_t __n );\n"
|
|
||||||
"\tstrncmp();\n";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Add missing declarations to Ultrix V4.3 sys/time.h.
|
|
||||||
*/
|
|
||||||
fix = {
|
|
||||||
hackname = ultrix_sys_time;
|
|
||||||
files = sys/time.h;
|
|
||||||
select = "@\\(#\\)time\\.h.*6\\.1.*\\(ULTRIX\\)";
|
|
||||||
|
|
||||||
sed = "/^extern.*time_t.*time( time_t .* );.*$/a\\\n"
|
|
||||||
"\\\n"
|
|
||||||
"extern int adjtime(struct timeval *, struct timeval *);\\\n"
|
|
||||||
"extern int getitimer(int, struct itimerval *);\\\n"
|
|
||||||
"extern int setitimer(int, struct itimerval *, struct itimerval *);\\\n"
|
|
||||||
"extern int gettimeofday(struct timeval *, struct timezone *);\\\n"
|
|
||||||
"extern int settimeofday(struct timeval *, struct timezone *);\\\n"
|
|
||||||
"extern void profil(const void *, size_t, size_t, unsigned int);\\\n"
|
|
||||||
"extern int stime(const time_t *);\\\n"
|
|
||||||
"extern int utimes(const char *, const struct timeval[2]);\\\n"
|
|
||||||
"extern int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);\n";
|
|
||||||
|
|
||||||
sed = "/^extern.*double.*difftime();.*$/a\\\n"
|
|
||||||
"extern\tint adjtime();\\\n"
|
|
||||||
"extern\tint getitimer();\\\n"
|
|
||||||
"extern\tint setitimer();\\\n"
|
|
||||||
"extern\tint gettimeofday();\\\n"
|
|
||||||
"extern\tint settimeofday();\\\n"
|
|
||||||
"extern\tvoid profil();\\\n"
|
|
||||||
"extern\tint stime();\\\n"
|
|
||||||
"extern\tint utimes();\\\n"
|
|
||||||
"extern\tint select();\n";
|
|
||||||
|
|
||||||
test_text =
|
|
||||||
"@(#)time.h 6.1 (ULTRIX)\n"
|
|
||||||
"extern time_t time( time_t *__tloc );\n"
|
|
||||||
"extern double difftime();\n";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Add missing declarations to Ultrix V4.3 unistd.h.
|
|
||||||
*/
|
|
||||||
fix = {
|
|
||||||
hackname = ultrix_unistd;
|
|
||||||
files = unistd.h;
|
|
||||||
select = "@\\(#\\)unistd\\.h.*6\\.1.*\\(ULTRIX\\)";
|
|
||||||
|
|
||||||
sed = "/^[ \t]*getgroups(),.*$/a\\\n"
|
|
||||||
"\tgetpagesize(),\n";
|
|
||||||
|
|
||||||
sed = "/^[ \t]*fork(),.*$/a\\\n"
|
|
||||||
"\tvfork(),\n";
|
|
||||||
|
|
||||||
test_text =
|
|
||||||
"@(#)unistd.h 6.1 (ULTRIX)\n"
|
|
||||||
"\tgetgroups(),\n"
|
|
||||||
"\tfork(),\n";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* On Cray Unicos/Mk some standard headers use the C99 keyword "restrict"
|
|
||||||
* which must be replaced by __restrict__ for GCC.
|
|
||||||
*/
|
|
||||||
fix = {
|
|
||||||
hackname = unicosmk_restrict;
|
|
||||||
files = stdio.h;
|
|
||||||
files = stdlib.h;
|
|
||||||
files = wchar.h;
|
|
||||||
mach = "*-*-unicosmk*";
|
|
||||||
select = "(\\*[ \t]*)restrict([ \t]+)";
|
|
||||||
|
|
||||||
c_fix = format;
|
|
||||||
c_fix_arg = "%1__restrict__%2";
|
|
||||||
|
|
||||||
test_text = "void f (char * restrict x);";
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
* If arpa/inet.h prototypes are incompatible with the ones we just
|
|
||||||
* installed in <sys/byteorder.h>, just remove the protos.
|
|
||||||
* Because of this close association, this patch must be applied only
|
|
||||||
* on those systems where the replacement byteorder header is installed.
|
|
||||||
*/
|
|
||||||
fix = {
|
|
||||||
hackname = uw7_byteorder_fix;
|
|
||||||
files = arpa/inet.h;
|
|
||||||
select = "in_port_t";
|
|
||||||
test = "-f sys/byteorder.h";
|
|
||||||
#ifndef SVR5
|
|
||||||
mach = "*-*-sysv4*";
|
|
||||||
mach = "i?86-*-sysv5*";
|
|
||||||
mach = "i?86-*-udk*";
|
|
||||||
mach = "i?86-*-solaris2.[0-4]";
|
|
||||||
mach = "powerpcle-*-solaris2.[0-4]";
|
|
||||||
mach = "sparc-*-solaris2.[0-4]";
|
|
||||||
#endif /* SVR5 */
|
|
||||||
|
|
||||||
c_fix = format;
|
|
||||||
c_fix_arg = "";
|
|
||||||
c_fix_arg = "^extern.*[ \t](htons|ntohs).*\\(in_port_t\\).*;";
|
|
||||||
|
|
||||||
test_text = "extern in_port_t\thtons __P((in_port_t));\n"
|
|
||||||
"extern in_port_t\tntohs __P((in_port_t));"
|
|
||||||
"`[ ! -d $DESTDIR/sys ] && mkdir $DESTDIR/sys\n"
|
|
||||||
"echo '/* DUMMY */' >> sys/byteorder.h`";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Fix definitions of macros used by va-i960.h in VxWorks header file.
|
* Fix definitions of macros used by va-i960.h in VxWorks header file.
|
||||||
*/
|
*/
|
||||||
@ -4928,41 +4078,6 @@ fix = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* WindISS math.h headers include bogus extern declarations of
|
|
||||||
* numerous math functions that conflict with libstdc++-v3.
|
|
||||||
*/
|
|
||||||
fix = {
|
|
||||||
hackname = windiss_math1;
|
|
||||||
files = math.h;
|
|
||||||
mach = "*-*-windiss";
|
|
||||||
sed = "s|inline long double cosl.*|#ifndef __GNUC__|";
|
|
||||||
|
|
||||||
test_text = "inline long double cosl(long double);";
|
|
||||||
};
|
|
||||||
|
|
||||||
fix = {
|
|
||||||
hackname = windiss_math2;
|
|
||||||
files = math.h;
|
|
||||||
mach = "*-*-windiss";
|
|
||||||
sed = "s|/\\* long double declarations \\*/|"
|
|
||||||
"#endif /* __GNUC__ */|";
|
|
||||||
|
|
||||||
test_text = "/* long double declarations */";
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
* WindISS headers include "diab/va_list.h" instead of "stdarg.h"
|
|
||||||
*/
|
|
||||||
fix = {
|
|
||||||
select = '(#include.*)diab/va_list.h';
|
|
||||||
hackname = windiss_valist;
|
|
||||||
sed = "s|diab/va_list.h|stdarg.h|";
|
|
||||||
mach = "*-*-windiss";
|
|
||||||
|
|
||||||
test_text = "#include <diab/va_list.h>";
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* There are several name conflicts with C++ reserved words in X11 header
|
* There are several name conflicts with C++ reserved words in X11 header
|
||||||
* files. These are fixed in some versions, so don't do the fixes if
|
* files. These are fixed in some versions, so don't do the fixes if
|
||||||
|
@ -12,20 +12,13 @@ target=fixinc.sh
|
|||||||
# Check for special fix rules for particular targets
|
# Check for special fix rules for particular targets
|
||||||
case $machine in
|
case $machine in
|
||||||
alpha*-dec-*vms* | \
|
alpha*-dec-*vms* | \
|
||||||
arm-semi-aof | \
|
|
||||||
hppa1.1-*-osf* | \
|
|
||||||
hppa1.1-*-bsd* | \
|
|
||||||
i370-*-openedition | \
|
|
||||||
i?86-moss-msdos* | \
|
i?86-moss-msdos* | \
|
||||||
i?86-*-moss* | \
|
|
||||||
i?86-*-pe | \
|
i?86-*-pe | \
|
||||||
i?86-*-cygwin* | \
|
i?86-*-cygwin* | \
|
||||||
i?86-*-mingw32* | \
|
i?86-*-mingw32* | \
|
||||||
x86_64-*-mingw32* | \
|
x86_64-*-mingw32* | \
|
||||||
i?86-*-uwin* | \
|
|
||||||
i?86-*-interix* | \
|
i?86-*-interix* | \
|
||||||
*-*-vxworks* | \
|
*-*-vxworks* | \
|
||||||
powerpc-*-eabiaix* | \
|
|
||||||
powerpc-*-eabisim* | \
|
powerpc-*-eabisim* | \
|
||||||
powerpc-*-eabi* | \
|
powerpc-*-eabi* | \
|
||||||
powerpc-*-rtems* | \
|
powerpc-*-rtems* | \
|
||||||
|
@ -1,14 +0,0 @@
|
|||||||
/* DO NOT EDIT THIS FILE.
|
|
||||||
|
|
||||||
It has been auto-edited by fixincludes from:
|
|
||||||
|
|
||||||
"fixinc/tests/inc/_G_config.h"
|
|
||||||
|
|
||||||
This had to be done to correct non-standard usages in the
|
|
||||||
original, manufacturer supplied header file. */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#if defined( LIBC1_G_VA_LIST_CHECK )
|
|
||||||
typedef __builtin_va_list _G_va_list;
|
|
||||||
#endif /* LIBC1_G_VA_LIST_CHECK */
|
|
@ -1,15 +0,0 @@
|
|||||||
/* DO NOT EDIT THIS FILE.
|
|
||||||
|
|
||||||
It has been auto-edited by fixincludes from:
|
|
||||||
|
|
||||||
"fixinc/tests/inc/arpa/inet.h"
|
|
||||||
|
|
||||||
This had to be done to correct non-standard usages in the
|
|
||||||
original, manufacturer supplied header file. */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#if defined( UW7_BYTEORDER_FIX_CHECK )
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* UW7_BYTEORDER_FIX_CHECK */
|
|
@ -1,21 +0,0 @@
|
|||||||
/* DO NOT EDIT THIS FILE.
|
|
||||||
|
|
||||||
It has been auto-edited by fixincludes from:
|
|
||||||
|
|
||||||
"fixinc/tests/inc/fs/rfs/rf_cache.h"
|
|
||||||
|
|
||||||
This had to be done to correct non-standard usages in the
|
|
||||||
original, manufacturer supplied header file. */
|
|
||||||
|
|
||||||
#ifndef FIXINC_WRAP_FS_RFS_RF_CACHE_H_SVR4_KRNL
|
|
||||||
#define FIXINC_WRAP_FS_RFS_RF_CACHE_H_SVR4_KRNL 1
|
|
||||||
|
|
||||||
#ifdef _KERNEL
|
|
||||||
|
|
||||||
|
|
||||||
#if defined( SVR4_KRNL_CHECK )
|
|
||||||
|
|
||||||
#endif /* SVR4_KRNL_CHECK */
|
|
||||||
#endif /* _KERNEL */
|
|
||||||
|
|
||||||
#endif /* FIXINC_WRAP_FS_RFS_RF_CACHE_H_SVR4_KRNL */
|
|
@ -1,20 +0,0 @@
|
|||||||
/* DO NOT EDIT THIS FILE.
|
|
||||||
|
|
||||||
It has been auto-edited by fixincludes from:
|
|
||||||
|
|
||||||
"fixinc/tests/inc/locale.h"
|
|
||||||
|
|
||||||
This had to be done to correct non-standard usages in the
|
|
||||||
original, manufacturer supplied header file. */
|
|
||||||
|
|
||||||
#ifndef FIXINC_WRAP_LOCALE_H_ULTRIX_LOCALE
|
|
||||||
#define FIXINC_WRAP_LOCALE_H_ULTRIX_LOCALE 1
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#if defined( ULTRIX_LOCALE_CHECK )
|
|
||||||
@(#)locale.h 6.1 (ULTRIX)
|
|
||||||
|
|
||||||
#endif /* ULTRIX_LOCALE_CHECK */
|
|
||||||
|
|
||||||
#endif /* FIXINC_WRAP_LOCALE_H_ULTRIX_LOCALE */
|
|
@ -1,16 +0,0 @@
|
|||||||
/* DO NOT EDIT THIS FILE.
|
|
||||||
|
|
||||||
It has been auto-edited by fixincludes from:
|
|
||||||
|
|
||||||
"fixinc/tests/inc/machine/cpu.h"
|
|
||||||
|
|
||||||
This had to be done to correct non-standard usages in the
|
|
||||||
original, manufacturer supplied header file. */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#if defined( ULTRIX_STATIC_CHECK )
|
|
||||||
struct tlb_pid_state {
|
|
||||||
#include <machine/r3_cpu.h>
|
|
||||||
|
|
||||||
#endif /* ULTRIX_STATIC_CHECK */
|
|
@ -118,22 +118,6 @@ int foo;
|
|||||||
#endif
|
#endif
|
||||||
#endif /* STRICT_ANSI_NOT_CTD_CHECK */
|
#endif /* STRICT_ANSI_NOT_CTD_CHECK */
|
||||||
|
|
||||||
|
|
||||||
#if defined( ULTRIX_ATOF_PARAM_CHECK )
|
|
||||||
extern double atof(const char *__nptr);
|
|
||||||
|
|
||||||
#endif /* ULTRIX_ATOF_PARAM_CHECK */
|
|
||||||
|
|
||||||
|
|
||||||
#if defined( WINDISS_MATH1_CHECK )
|
|
||||||
#ifndef __GNUC__
|
|
||||||
#endif /* WINDISS_MATH1_CHECK */
|
|
||||||
|
|
||||||
|
|
||||||
#if defined( WINDISS_MATH2_CHECK )
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
#endif /* WINDISS_MATH2_CHECK */
|
|
||||||
|
|
||||||
#endif /* FIXINC_WRAP_MATH_H_EXCEPTION_STRUCTURE */
|
#endif /* FIXINC_WRAP_MATH_H_EXCEPTION_STRUCTURE */
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
#undef exception
|
#undef exception
|
||||||
|
@ -47,7 +47,7 @@
|
|||||||
#else
|
#else
|
||||||
# define PTHREAD_MUTEX_INITIALIZER {0, _PTHREAD_MVALID | _PTHREAD_MVF_STA, 0, 0, 0, 0, 0, 0 }
|
# define PTHREAD_MUTEX_INITIALIZER {0, _PTHREAD_MVALID | _PTHREAD_MVF_STA, 0, 0, 0, 0, 0, 0 }
|
||||||
# define PTHREAD_MUTEX_INITWITHNAME_NP(_n_,_a_) {0, _PTHREAD_MVALID | _PTHREAD_MVF_STA, _n_, _a_, 0, 0, 0, 0 }
|
# define PTHREAD_MUTEX_INITWITHNAME_NP(_n_,_a_) {0, _PTHREAD_MVALID | _PTHREAD_MVF_STA, _n_, _a_, 0, 0, 0, 0 }
|
||||||
# define PTHREAD_COND_INITWITHNAME_NP(_n_,_a_) {{{0},0}, _PTHREAD_CVALID | _PTHREAD_CVF_STA, _n_, _a_, 0, 0 }
|
# define PTHREAD_COND_INITWITHNAME_NP(_n_,_a_) {0, _PTHREAD_CVALID | _PTHREAD_CVF_STA, _n_, _a_, 0, 0 }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define PTHREAD_RWLOCK_INITIALIZER {_PTHREAD_RWVALID | _PTHREAD_RWVF_STA, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
|
#define PTHREAD_RWLOCK_INITIALIZER {_PTHREAD_RWVALID | _PTHREAD_RWVF_STA, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
|
||||||
@ -107,22 +107,6 @@ extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask);
|
|||||||
#endif /* PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_CHECK */
|
#endif /* PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_CHECK */
|
||||||
|
|
||||||
|
|
||||||
#if defined( SOLARIS_MUTEX_INIT_1_CHECK )
|
|
||||||
#ident "@(#)pthread.h 1.16 97/05/05 SMI"
|
|
||||||
#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)
|
|
||||||
#define PTHREAD_MUTEX_INITIALIZER {{{0}, 0}, {{{0}}}, 0}
|
|
||||||
#else
|
|
||||||
#define PTHREAD_MUTEX_INITIALIZER {{{0}, 0}, {{{0}}}, {0}}
|
|
||||||
#endif
|
|
||||||
#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)
|
|
||||||
#define PTHREAD_COND_INITIALIZER {{{0},0}, 0} /* */
|
|
||||||
#else
|
|
||||||
#define PTHREAD_COND_INITIALIZER {{{0},0}, {0}} /* */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* SOLARIS_MUTEX_INIT_1_CHECK */
|
|
||||||
|
|
||||||
|
|
||||||
#if defined( SOLARIS_MUTEX_INIT_2_CHECK )
|
#if defined( SOLARIS_MUTEX_INIT_2_CHECK )
|
||||||
#ident "@(#)pthread.h 1.26 98/04/12 SMI"
|
#ident "@(#)pthread.h 1.26 98/04/12 SMI"
|
||||||
#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)
|
#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
/* DO NOT EDIT THIS FILE.
|
|
||||||
|
|
||||||
It has been auto-edited by fixincludes from:
|
|
||||||
|
|
||||||
"fixinc/tests/inc/rpc/svc.h"
|
|
||||||
|
|
||||||
This had to be done to correct non-standard usages in the
|
|
||||||
original, manufacturer supplied header file. */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#if defined( ULTRIX_NESTED_SVC_CHECK )
|
|
||||||
* int protocol; */ /* like TCP or UDP
|
|
||||||
|
|
||||||
#endif /* ULTRIX_NESTED_SVC_CHECK */
|
|
@ -100,15 +100,4 @@ extern char *tempnam( const char *, const char *);
|
|||||||
|
|
||||||
#endif /* ULTRIX_CONST2_CHECK */
|
#endif /* ULTRIX_CONST2_CHECK */
|
||||||
|
|
||||||
|
|
||||||
#if defined( ULTRIX_CONST3_CHECK )
|
|
||||||
extern FILE * fdopen( int __filedes, const char *__type );
|
|
||||||
|
|
||||||
#endif /* ULTRIX_CONST3_CHECK */
|
|
||||||
|
|
||||||
|
|
||||||
#if defined( UNICOSMK_RESTRICT_CHECK )
|
|
||||||
void f (char * __restrict__ x);
|
|
||||||
#endif /* UNICOSMK_RESTRICT_CHECK */
|
|
||||||
|
|
||||||
#endif /* FIXINC_WRAP_STDIO_H_STDIO_STDARG_H */
|
#endif /* FIXINC_WRAP_STDIO_H_STDIO_STDARG_H */
|
||||||
|
@ -50,23 +50,3 @@ extern void * realloc(void*,size_t);
|
|||||||
extern void * bsearch(void*,size_t,size_t);
|
extern void * bsearch(void*,size_t,size_t);
|
||||||
|
|
||||||
#endif /* SYSZ_STDLIB_FOR_SUN_CHECK */
|
#endif /* SYSZ_STDLIB_FOR_SUN_CHECK */
|
||||||
|
|
||||||
|
|
||||||
#if defined( ULTRIX_ATEXIT_PARAM_CHECK )
|
|
||||||
int atexit( void (*__func)( void ) );
|
|
||||||
|
|
||||||
#endif /* ULTRIX_ATEXIT_PARAM_CHECK */
|
|
||||||
|
|
||||||
|
|
||||||
#if defined( ULTRIX_STDLIB_CHECK )
|
|
||||||
@(#)stdlib.h 6.1 (ULTRIX)
|
|
||||||
char * getenv( const char *__name );
|
|
||||||
int setenv( const char *__name, const char *__val, int __ovrwrt );
|
|
||||||
void unsetenv( const char *__name );
|
|
||||||
int putenv( char *__s );
|
|
||||||
char *getenv();
|
|
||||||
int setenv();
|
|
||||||
void unsetenv();
|
|
||||||
int putenv();
|
|
||||||
|
|
||||||
#endif /* ULTRIX_STDLIB_CHECK */
|
|
||||||
|
@ -7,7 +7,8 @@
|
|||||||
This had to be done to correct non-standard usages in the
|
This had to be done to correct non-standard usages in the
|
||||||
original, manufacturer supplied header file. */
|
original, manufacturer supplied header file. */
|
||||||
|
|
||||||
#ifndef _STRING_INCLUDED
|
|
||||||
#define _STRING_INCLUDED
|
|
||||||
#include <strings.h>
|
#if defined( SVR4_DISABLE_OPT_CHECK )
|
||||||
#endif /* _STRING_INCLUDED */
|
|
||||||
|
#endif /* SVR4_DISABLE_OPT_CHECK */
|
||||||
|
@ -7,34 +7,8 @@
|
|||||||
This had to be done to correct non-standard usages in the
|
This had to be done to correct non-standard usages in the
|
||||||
original, manufacturer supplied header file. */
|
original, manufacturer supplied header file. */
|
||||||
|
|
||||||
#ifndef FIXINC_WRAP_STRINGS_H_ULTRIX_STRINGS
|
|
||||||
#define FIXINC_WRAP_STRINGS_H_ULTRIX_STRINGS 1
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#if defined( SUNOS_STRLEN_CHECK )
|
#if defined( SUNOS_STRLEN_CHECK )
|
||||||
__SIZE_TYPE__ strlen(); /* string length */
|
__SIZE_TYPE__ strlen(); /* string length */
|
||||||
#endif /* SUNOS_STRLEN_CHECK */
|
#endif /* SUNOS_STRLEN_CHECK */
|
||||||
|
|
||||||
|
|
||||||
#if defined( ULTRIX_STRINGS_CHECK )
|
|
||||||
@(#)strings.h 6.1 (ULTRIX)
|
|
||||||
|
|
||||||
#endif /* ULTRIX_STRINGS_CHECK */
|
|
||||||
|
|
||||||
|
|
||||||
#if defined( ULTRIX_STRINGS2_CHECK )
|
|
||||||
@(#)strings.h 6.1 (ULTRIX)
|
|
||||||
strncmp( const char *__s1, const char *__s2, size_t __n );
|
|
||||||
|
|
||||||
extern int
|
|
||||||
strcasecmp( const char *__s1, const char *__s2),
|
|
||||||
strncasecmp( const char *__s1, const char *__s2, size_t __n );
|
|
||||||
strncmp();
|
|
||||||
extern int
|
|
||||||
strcasecmp(),
|
|
||||||
strncasecmp();
|
|
||||||
|
|
||||||
#endif /* ULTRIX_STRINGS2_CHECK */
|
|
||||||
|
|
||||||
#endif /* FIXINC_WRAP_STRINGS_H_ULTRIX_STRINGS */
|
|
||||||
|
@ -12,10 +12,3 @@
|
|||||||
#if defined( HP_SYSFILE_CHECK )
|
#if defined( HP_SYSFILE_CHECK )
|
||||||
extern void foo(struct file *, ...); /* HPUX_SOURCE - bad varargs */
|
extern void foo(struct file *, ...); /* HPUX_SOURCE - bad varargs */
|
||||||
#endif /* HP_SYSFILE_CHECK */
|
#endif /* HP_SYSFILE_CHECK */
|
||||||
|
|
||||||
|
|
||||||
#if defined( ULTRIX_IFDEF_CHECK )
|
|
||||||
#if defined(KERNEL) && defined( mumbojumbo )
|
|
||||||
int oops;
|
|
||||||
#endif
|
|
||||||
#endif /* ULTRIX_IFDEF_CHECK */
|
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
/* DO NOT EDIT THIS FILE.
|
|
||||||
|
|
||||||
It has been auto-edited by fixincludes from:
|
|
||||||
|
|
||||||
"fixinc/tests/inc/sys/ioctl.h"
|
|
||||||
|
|
||||||
This had to be done to correct non-standard usages in the
|
|
||||||
original, manufacturer supplied header file. */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#if defined( ULTRIX_NESTED_IOCTL_CHECK )
|
|
||||||
/* #define SIOCSCREENON _IOWR('i', 49, int)*//* screend, net/gw_screen.h */
|
|
||||||
|
|
||||||
#endif /* ULTRIX_NESTED_IOCTL_CHECK */
|
|
@ -9,21 +9,9 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
#if defined( NESTED_MOTOROLA_CHECK )
|
|
||||||
#undef PIPE_BUF /* max # bytes atomic in write to a */
|
|
||||||
/* PIPE */
|
|
||||||
/*#define HUGE_VAL 3.9e+9 */ /*error value returned by Math lib*/
|
|
||||||
#endif /* NESTED_MOTOROLA_CHECK */
|
|
||||||
|
|
||||||
|
|
||||||
#if defined( NESTED_SYS_LIMITS_CHECK )
|
#if defined( NESTED_SYS_LIMITS_CHECK )
|
||||||
/*
|
/*
|
||||||
#define CHILD_MAX 20 Max, Max, ... */ /*
|
#define CHILD_MAX 20 Max, Max, ... */ /*
|
||||||
#define OPEN_MAX 20 Max, Max, ... */
|
#define OPEN_MAX 20 Max, Max, ... */
|
||||||
|
|
||||||
#endif /* NESTED_SYS_LIMITS_CHECK */
|
#endif /* NESTED_SYS_LIMITS_CHECK */
|
||||||
|
|
||||||
|
|
||||||
#if defined( ULTRIX_MATH_IFDEF_CHECK )
|
|
||||||
#if defined(__GFLOAT)
|
|
||||||
#endif /* ULTRIX_MATH_IFDEF_CHECK */
|
|
||||||
|
@ -1,26 +0,0 @@
|
|||||||
/* DO NOT EDIT THIS FILE.
|
|
||||||
|
|
||||||
It has been auto-edited by fixincludes from:
|
|
||||||
|
|
||||||
"fixinc/tests/inc/sys/regset.h"
|
|
||||||
|
|
||||||
This had to be done to correct non-standard usages in the
|
|
||||||
original, manufacturer supplied header file. */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#if defined( SCO_REGSET_CHECK )
|
|
||||||
union u_fps {
|
|
||||||
struct rsfpstate
|
|
||||||
{
|
|
||||||
int whatever;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
union _u_fps {
|
|
||||||
struct _rsfpstate
|
|
||||||
{
|
|
||||||
int whatever;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif /* SCO_REGSET_CHECK */
|
|
@ -35,10 +35,3 @@ typedef int socklen_t;
|
|||||||
typedef u_int32_t socklen_t;
|
typedef u_int32_t socklen_t;
|
||||||
#endif /* _NO_XOPEN4 && _NO_XOPEN5 */
|
#endif /* _NO_XOPEN4 && _NO_XOPEN5 */
|
||||||
#endif /* IRIX_SOCKLEN_T_CHECK */
|
#endif /* IRIX_SOCKLEN_T_CHECK */
|
||||||
|
|
||||||
|
|
||||||
#if defined( SOLARIS_SOCKET_CHECK )
|
|
||||||
#ident "@(#)socket.h 1.30 97/01/20 SMI"
|
|
||||||
extern int recv(int, void *, int, int);
|
|
||||||
extern int send(int, const void *, int, int);
|
|
||||||
#endif /* SOLARIS_SOCKET_CHECK */
|
|
||||||
|
@ -33,48 +33,6 @@ extern int fchmod(int, mode_t);
|
|||||||
#endif /* RS6000_FCHMOD_CHECK */
|
#endif /* RS6000_FCHMOD_CHECK */
|
||||||
|
|
||||||
|
|
||||||
#if defined( SCO_STATIC_FUNC_CHECK )
|
|
||||||
#ifdef __STDC__
|
|
||||||
#if __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
static int stat(const char *__f, struct stat *__p) {
|
|
||||||
return __stat32(__f, __p);
|
|
||||||
}
|
|
||||||
#if __cplusplus
|
|
||||||
}
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
|
|
||||||
# else /* !__STDC__ THIS FAILS ON BSD SYSTEMS */
|
|
||||||
#if __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
static int stat(__f, __p)
|
|
||||||
char *__f;
|
|
||||||
struct stat *__p;
|
|
||||||
{
|
|
||||||
return __stat32(__f, __p);
|
|
||||||
}
|
|
||||||
#if __cplusplus
|
|
||||||
}
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
#endif
|
|
||||||
#endif /* SCO_STATIC_FUNC_CHECK */
|
|
||||||
|
|
||||||
|
|
||||||
#if defined( ULTRIX_STAT_CHECK )
|
|
||||||
@(#)stat.h 6.1 (ULTRIX)
|
|
||||||
#define S_IFPORT S_IFIFO
|
|
||||||
|
|
||||||
/* macro to test for symbolic link */
|
|
||||||
#define S_ISLNK(mode) (((mode) & S_IFMT) == S_IFLNK)
|
|
||||||
|
|
||||||
fstat(),
|
|
||||||
lstat(),
|
|
||||||
/* THE INSERTION LINE FAILS ON BSD SYSTEMS */
|
|
||||||
#endif /* ULTRIX_STAT_CHECK */
|
|
||||||
|
|
||||||
|
|
||||||
#if defined( VXWORKS_NEEDS_VXWORKS_CHECK )
|
#if defined( VXWORKS_NEEDS_VXWORKS_CHECK )
|
||||||
#include </dev/null> /* ULONG */
|
#include </dev/null> /* ULONG */
|
||||||
# define __INCstath <sys/stat.h>
|
# define __INCstath <sys/stat.h>
|
||||||
|
@ -17,30 +17,3 @@ struct sigevent;
|
|||||||
#if defined( LYNXOS_NO_WARNING_IN_SYS_TIME_H_CHECK )
|
#if defined( LYNXOS_NO_WARNING_IN_SYS_TIME_H_CHECK )
|
||||||
|
|
||||||
#endif /* LYNXOS_NO_WARNING_IN_SYS_TIME_H_CHECK */
|
#endif /* LYNXOS_NO_WARNING_IN_SYS_TIME_H_CHECK */
|
||||||
|
|
||||||
|
|
||||||
#if defined( ULTRIX_SYS_TIME_CHECK )
|
|
||||||
@(#)time.h 6.1 (ULTRIX)
|
|
||||||
extern time_t time( time_t *__tloc );
|
|
||||||
|
|
||||||
extern int adjtime(struct timeval *, struct timeval *);
|
|
||||||
extern int getitimer(int, struct itimerval *);
|
|
||||||
extern int setitimer(int, struct itimerval *, struct itimerval *);
|
|
||||||
extern int gettimeofday(struct timeval *, struct timezone *);
|
|
||||||
extern int settimeofday(struct timeval *, struct timezone *);
|
|
||||||
extern void profil(const void *, size_t, size_t, unsigned int);
|
|
||||||
extern int stime(const time_t *);
|
|
||||||
extern int utimes(const char *, const struct timeval[2]);
|
|
||||||
extern int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);
|
|
||||||
extern double difftime();
|
|
||||||
extern int adjtime();
|
|
||||||
extern int getitimer();
|
|
||||||
extern int setitimer();
|
|
||||||
extern int gettimeofday();
|
|
||||||
extern int settimeofday();
|
|
||||||
extern void profil();
|
|
||||||
extern int stime();
|
|
||||||
extern int utimes();
|
|
||||||
extern int select();
|
|
||||||
|
|
||||||
#endif /* ULTRIX_SYS_TIME_CHECK */
|
|
||||||
|
@ -1,14 +0,0 @@
|
|||||||
/* DO NOT EDIT THIS FILE.
|
|
||||||
|
|
||||||
It has been auto-edited by fixincludes from:
|
|
||||||
|
|
||||||
"fixinc/tests/inc/sys/times.h"
|
|
||||||
|
|
||||||
This had to be done to correct non-standard usages in the
|
|
||||||
original, manufacturer supplied header file. */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#if defined( SCO_UTIME_CHECK )
|
|
||||||
extern int utime(const char *, const struct utimbuf *);
|
|
||||||
#endif /* SCO_UTIME_CHECK */
|
|
@ -1,16 +0,0 @@
|
|||||||
/* DO NOT EDIT THIS FILE.
|
|
||||||
|
|
||||||
It has been auto-edited by fixincludes from:
|
|
||||||
|
|
||||||
"fixinc/tests/inc/sys/utsname.h"
|
|
||||||
|
|
||||||
This had to be done to correct non-standard usages in the
|
|
||||||
original, manufacturer supplied header file. */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#if defined( ULTRIX_FIX_FIXPROTO_CHECK )
|
|
||||||
/* ULTRIX's uname */
|
|
||||||
struct utsname;
|
|
||||||
extern int uname();
|
|
||||||
#endif /* ULTRIX_FIX_FIXPROTO_CHECK */
|
|
@ -74,13 +74,6 @@ BSD43__IOWR('T', 1) /* Some are multi-line */
|
|||||||
#endif /* IO_QUOTES_USE_CHECK */
|
#endif /* IO_QUOTES_USE_CHECK */
|
||||||
|
|
||||||
|
|
||||||
#if defined( LIBC1_IFDEFD_MEMX_CHECK )
|
|
||||||
/* Copy N bytes of SRC to DEST. */
|
|
||||||
extern __ptr_t memcpy __P ((__ptr_t __dest, __const __ptr_t __src,
|
|
||||||
size_t __n));
|
|
||||||
#endif /* LIBC1_IFDEFD_MEMX_CHECK */
|
|
||||||
|
|
||||||
|
|
||||||
#if defined( MACHINE_ANSI_H_VA_LIST_CHECK )
|
#if defined( MACHINE_ANSI_H_VA_LIST_CHECK )
|
||||||
# define _BSD_VA_LIST_ __builtin_va_list
|
# define _BSD_VA_LIST_ __builtin_va_list
|
||||||
#endif /* MACHINE_ANSI_H_VA_LIST_CHECK */
|
#endif /* MACHINE_ANSI_H_VA_LIST_CHECK */
|
||||||
@ -127,8 +120,3 @@ extern unsigned int
|
|||||||
extern size_t
|
extern size_t
|
||||||
strlen(), strspn();
|
strlen(), strspn();
|
||||||
#endif /* SYSV68_STRING_CHECK */
|
#endif /* SYSV68_STRING_CHECK */
|
||||||
|
|
||||||
|
|
||||||
#if defined( WINDISS_VALIST_CHECK )
|
|
||||||
#include <stdarg.h>
|
|
||||||
#endif /* WINDISS_VALIST_CHECK */
|
|
||||||
|
@ -12,22 +12,3 @@
|
|||||||
#if defined( ALPHA_SBRK_CHECK )
|
#if defined( ALPHA_SBRK_CHECK )
|
||||||
extern void *sbrk(ptrdiff_t increment);
|
extern void *sbrk(ptrdiff_t increment);
|
||||||
#endif /* ALPHA_SBRK_CHECK */
|
#endif /* ALPHA_SBRK_CHECK */
|
||||||
|
|
||||||
|
|
||||||
#if defined( SOLARIS_UNISTD_CHECK )
|
|
||||||
#ident "@(#)unistd.h 1.33 95/08/28 SMI"
|
|
||||||
extern int getpagesize();
|
|
||||||
extern pid_t getpgid(pid_t);
|
|
||||||
extern int getpagesize();
|
|
||||||
extern int getpgid();
|
|
||||||
#endif /* SOLARIS_UNISTD_CHECK */
|
|
||||||
|
|
||||||
|
|
||||||
#if defined( ULTRIX_UNISTD_CHECK )
|
|
||||||
@(#)unistd.h 6.1 (ULTRIX)
|
|
||||||
getgroups(),
|
|
||||||
getpagesize(),
|
|
||||||
fork(),
|
|
||||||
vfork(),
|
|
||||||
|
|
||||||
#endif /* ULTRIX_UNISTD_CHECK */
|
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
/* DO NOT EDIT THIS FILE.
|
|
||||||
|
|
||||||
It has been auto-edited by fixincludes from:
|
|
||||||
|
|
||||||
"fixinc/tests/inc/widec.h"
|
|
||||||
|
|
||||||
This had to be done to correct non-standard usages in the
|
|
||||||
original, manufacturer supplied header file. */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#if defined( SOLARIS_WIDEC_CHECK )
|
|
||||||
#include <euc.h>
|
|
||||||
#include <wchar.h>
|
|
||||||
#endif /* SOLARIS_WIDEC_CHECK */
|
|
@ -1,3 +1,98 @@
|
|||||||
|
2008-06-07 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
* config.gcc (Obsolete configurations): Remove list of
|
||||||
|
configurations.
|
||||||
|
(Unsupported targets list): Add *-*-linux*aout*, *-*-linux*libc1*,
|
||||||
|
*-*-solaris2.[0-6], *-*-solaris2.[0-6].*, *-*-sysv*. Remove other
|
||||||
|
targets matched by those patterns.
|
||||||
|
(strongarm*-*-*, ep9312*-*-*, xscale-*-*, parisc*-*-*,
|
||||||
|
m680[012]0-*-*, *-*-linux*libc1*, *-*-linux*aout*,
|
||||||
|
alpha*-*-unicosmk*, strongarm*-*-freebsd*, ep9312-*-elf,
|
||||||
|
arm*-*-kaos*, cris-*-aout, parisc*64*-*-linux*, parisc*-*-linux*,
|
||||||
|
hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-bsd*,
|
||||||
|
i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
|
||||||
|
i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-sco3.2v5*,
|
||||||
|
i[34567]86-*-sysv5*, i[34567]86-*-sysv4*, i[34567]86-*-uwin*,
|
||||||
|
i[34567]86-*-kaos*, m68020-*-elf*, m68010-*-netbsdelf*,
|
||||||
|
mips-wrs-windiss, mt-*-elf, powerpc-*-beos*, powerpc-*-chorusos*,
|
||||||
|
powerpc-wrs-windiss*, powerpcle-*-sysv*, powerpc-*-kaos*,
|
||||||
|
powerpcle-*-kaos*, sh*-*-kaos*, sparc-*-sysv4*, strongarm-*-elf*,
|
||||||
|
strongarm-*-pe, strongarm-*-kaos*, vax-*-bsd*, vax-*-sysv*,
|
||||||
|
vax-*-ultrix*, xscale-*-elf, xscale-*-coff,
|
||||||
|
i[34567]86-*-linux*aout*, i[34567]86-*-linux*libc1): Remove.
|
||||||
|
Make code for Solaris 7 and greater unconditional for Solaris.
|
||||||
|
(ep9312-*-*, parisc1*, m680[012]0-*-*, parisc*-*-*, mt-*-*):
|
||||||
|
Remove --with-* handling.
|
||||||
|
* config/rs6000/sysv4.h (-mwindiss): Remove from all specs.
|
||||||
|
(LIB_WINDISS_SPEC, CPP_OS_WINDISS_SPEC, STARTFILE_WINDISS_SPEC,
|
||||||
|
ENDFILE_WINDISS_SPEC, LINK_START_WINDISS_SPEC,
|
||||||
|
LINK_OS_WINDISS_SPEC): Remove.
|
||||||
|
* config/rs6000/sysv4.opt (mwindiss): Remove.
|
||||||
|
* configure.ac (strongarm*-*-*, xscale*-*-*): Remove.
|
||||||
|
* configure: Regenerate.
|
||||||
|
* doc/cpp.texi: Don't mention BeOS.
|
||||||
|
* doc/extend.texi (interrupt): Don't mention MS1.
|
||||||
|
* doc/install.texi: (i386-@var{any}-sysv, m68k-bull-sysv,
|
||||||
|
m68k-hp-hpux, m68000-hp-hpux, m68000-att-sysv,
|
||||||
|
alphaev5-cray-unicosmk*, xscale-*-*, i?86-*-linux*aout,
|
||||||
|
i?86-*-sco3.2v5*, i?86-*-udk, m68k-hp-hpux, powerpc-*-sysv4,
|
||||||
|
powerpc-*-sysv4, powerpcle-*-sysv4, *-*-sysv*, vax-dec-ultrix):
|
||||||
|
Remove.
|
||||||
|
* doc/invoke.texi (MT Options): Remove.
|
||||||
|
(-mwindiss): Remove.
|
||||||
|
(CRIS Options): Remove cris-axis-aout references.
|
||||||
|
(HPPA Options): Don't mention hppa1.1-*-pro.
|
||||||
|
* doc/md.texi: (MorphoTech family): Remove.
|
||||||
|
* libgcc2.c: Don't handle UWIN.
|
||||||
|
* config/alpha/t-unicosmk: Remove.
|
||||||
|
* config/alpha/unicosmk.h: Remove.
|
||||||
|
* config/arm/kaos-arm.h: Remove.
|
||||||
|
* config/arm/kaos-strongarm.h: Remove.
|
||||||
|
* config/arm/strongarm-coff.h: Remove.
|
||||||
|
* config/arm/strongarm-elf.h: Remove.
|
||||||
|
* config/arm/strongarm-pe.h: Remove.
|
||||||
|
* config/arm/t-strongarm-pe: Remove.
|
||||||
|
* config/arm/t-xscale-coff: Remove.
|
||||||
|
* config/arm/t-xscale-elf: Remove.
|
||||||
|
* config/arm/xscale-coff.h: Remove.
|
||||||
|
* config/arm/xscale-elf.h: Remove.
|
||||||
|
* config/chorus.h: Remove.
|
||||||
|
* config/cris/aout.h: Remove.
|
||||||
|
* config/cris/aout.opt: Remove.
|
||||||
|
* config/cris/t-aout: Remove.
|
||||||
|
* config/i386/beos-elf.h: Remove.
|
||||||
|
* config/i386/kaos-i386.h: Remove.
|
||||||
|
* config/i386/ptx4-i.h: Remove.
|
||||||
|
* config/i386/sco5.h: Remove.
|
||||||
|
* config/i386/sco5.opt: Remove.
|
||||||
|
* config/i386/sysv4-cpp.h: Remove.
|
||||||
|
* config/i386/sysv5.h: Remove.
|
||||||
|
* config/i386/t-beos: Remove.
|
||||||
|
* config/i386/t-sco5: Remove.
|
||||||
|
* config/i386/t-uwin: Remove.
|
||||||
|
* config/i386/uwin.asm: Remove.
|
||||||
|
* config/i386/uwin.h: Remove.
|
||||||
|
* config/kaos.h: Remove.
|
||||||
|
* config/mips/windiss.h: Remove.
|
||||||
|
* config/mt: Remove directory.
|
||||||
|
* config/pa/pa-osf.h: Remove.
|
||||||
|
* config/pa/pa-pro-end.h: Remove.
|
||||||
|
* config/pa/t-pro: Remove.
|
||||||
|
* config/ptx4.h: Remove.
|
||||||
|
* config/rs6000/beos.h: Remove.
|
||||||
|
* config/rs6000/kaos-ppc.h: Remove.
|
||||||
|
* config/rs6000/t-beos: Remove.
|
||||||
|
* config/rs6000/windiss.h: Remove.
|
||||||
|
* config/sh/kaos-sh.h: Remove.
|
||||||
|
* config/sol2-6.h: Remove.
|
||||||
|
* config/sparc/sol26-sld.h: Remove.
|
||||||
|
* config/sparc/sysv4-only.h: Remove.
|
||||||
|
* config/vax/bsd.h: Remove.
|
||||||
|
* config/vax/t-memfuncs: Remove.
|
||||||
|
* config/vax/ultrix.h: Remove.
|
||||||
|
* config/vax/vaxv.h: Remove.
|
||||||
|
* config/windiss.h: Remove.
|
||||||
|
|
||||||
2008-06-06 Uros Bizjak <ubizjak@gmail.com>
|
2008-06-06 Uros Bizjak <ubizjak@gmail.com>
|
||||||
|
|
||||||
PR rtl-optimization/36438
|
PR rtl-optimization/36438
|
||||||
|
417
gcc/config.gcc
417
gcc/config.gcc
@ -204,63 +204,35 @@ xm_file=
|
|||||||
md_file=
|
md_file=
|
||||||
|
|
||||||
# Obsolete configurations.
|
# Obsolete configurations.
|
||||||
case ${target} in
|
#case ${target} in
|
||||||
mt-* \
|
# )
|
||||||
| strongarm*-* \
|
# if test "x$enable_obsolete" != xyes; then
|
||||||
| ep9312*-* \
|
# echo "*** Configuration ${target} is obsolete." >&2
|
||||||
| xscale*-* \
|
# echo "*** Specify --enable-obsolete to build it anyway." >&2
|
||||||
| parisc*-* \
|
# echo "*** Support will be REMOVED in the next major release of GCC," >&2
|
||||||
| m680[012]0-* \
|
# echo "*** unless a maintainer comes forward." >&2
|
||||||
| *-*-beos* \
|
# exit 1
|
||||||
| *-*-kaos* \
|
# fi;;
|
||||||
| *-*-linux*aout* \
|
#esac
|
||||||
| *-*-linux*libc1* \
|
|
||||||
| *-*-solaris2.[0-6] \
|
|
||||||
| *-*-solaris2.[0-6].* \
|
|
||||||
| *-*-sysv* \
|
|
||||||
| *-*-windiss* \
|
|
||||||
| alpha*-*-unicosmk* \
|
|
||||||
| cris-*-aout \
|
|
||||||
| hppa1.1-*-pro* \
|
|
||||||
| hppa1.1-*-osf* \
|
|
||||||
| hppa1.1-*-bsd* \
|
|
||||||
| i[34567]86-sequent-ptx4* \
|
|
||||||
| i[34567]86-*-sco3.2v5* \
|
|
||||||
| i[34567]86-*-uwin* \
|
|
||||||
| powerpc-*-chorusos* \
|
|
||||||
| vax-*-bsd* \
|
|
||||||
| vax-*-ultrix* \
|
|
||||||
)
|
|
||||||
if test "x$enable_obsolete" != xyes; then
|
|
||||||
echo "*** Configuration ${target} is obsolete." >&2
|
|
||||||
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
|
|
||||||
|
|
||||||
# Unsupported targets list. Do not put an entry in this list unless
|
# Unsupported targets list. Do not put an entry in this list unless
|
||||||
# it would otherwise be caught by a more permissive pattern. The list
|
# it would otherwise be caught by a more permissive pattern. The list
|
||||||
# should be in alphabetical order.
|
# should be in alphabetical order.
|
||||||
case ${target} in
|
case ${target} in
|
||||||
alpha*-*-linux*libc1* \
|
i[34567]86-go32-* \
|
||||||
| i[34567]86-sequent-sysv \
|
|
||||||
| i[34567]86-sequent-sysv[123]* \
|
|
||||||
| i[34567]86-go32-* \
|
|
||||||
| i[34567]86-*-go32* \
|
| i[34567]86-*-go32* \
|
||||||
| m68k-*-linux*aout* \
|
|
||||||
| m68k-*-linux*libc1* \
|
|
||||||
| mips64orion*-*-rtems* \
|
| mips64orion*-*-rtems* \
|
||||||
| powerpc-*-linux*libc1* \
|
|
||||||
| sparc-*-linux*aout* \
|
|
||||||
| sparc-*-linux*libc1* \
|
|
||||||
| sparc-hal-solaris2* \
|
| sparc-hal-solaris2* \
|
||||||
| thumb-*-* \
|
| thumb-*-* \
|
||||||
|
| *-*-linux*aout* \
|
||||||
| *-*-linux*coff* \
|
| *-*-linux*coff* \
|
||||||
|
| *-*-linux*libc1* \
|
||||||
| *-*-linux*oldld* \
|
| *-*-linux*oldld* \
|
||||||
| *-*-rtemsaout* \
|
| *-*-rtemsaout* \
|
||||||
| *-*-rtemscoff* \
|
| *-*-rtemscoff* \
|
||||||
|
| *-*-solaris2.[0-6] \
|
||||||
|
| *-*-solaris2.[0-6].* \
|
||||||
|
| *-*-sysv* \
|
||||||
| vax-*-vms* \
|
| vax-*-vms* \
|
||||||
)
|
)
|
||||||
echo "*** Configuration ${target} not supported" 1>&2
|
echo "*** Configuration ${target} not supported" 1>&2
|
||||||
@ -286,9 +258,6 @@ alpha*-*-*)
|
|||||||
am33_2.0-*-linux*)
|
am33_2.0-*-linux*)
|
||||||
cpu_type=mn10300
|
cpu_type=mn10300
|
||||||
;;
|
;;
|
||||||
strongarm*-*-*)
|
|
||||||
cpu_type=arm
|
|
||||||
;;
|
|
||||||
arm*-*-*)
|
arm*-*-*)
|
||||||
cpu_type=arm
|
cpu_type=arm
|
||||||
extra_headers="mmintrin.h arm_neon.h"
|
extra_headers="mmintrin.h arm_neon.h"
|
||||||
@ -301,19 +270,12 @@ bfin*-*)
|
|||||||
crisv32-*)
|
crisv32-*)
|
||||||
cpu_type=cris
|
cpu_type=cris
|
||||||
;;
|
;;
|
||||||
ep9312*-*-*)
|
|
||||||
cpu_type=arm
|
|
||||||
;;
|
|
||||||
frv*) cpu_type=frv
|
frv*) cpu_type=frv
|
||||||
;;
|
;;
|
||||||
fido-*-*)
|
fido-*-*)
|
||||||
cpu_type=m68k
|
cpu_type=m68k
|
||||||
extra_headers=math-68881.h
|
extra_headers=math-68881.h
|
||||||
;;
|
;;
|
||||||
xscale-*-*)
|
|
||||||
cpu_type=arm
|
|
||||||
extra_headers="mmintrin.h"
|
|
||||||
;;
|
|
||||||
i[34567]86-*-*)
|
i[34567]86-*-*)
|
||||||
cpu_type=i386
|
cpu_type=i386
|
||||||
extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
|
extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h
|
||||||
@ -333,16 +295,12 @@ ia64-*-*)
|
|||||||
extra_headers=ia64intrin.h
|
extra_headers=ia64intrin.h
|
||||||
need_64bit_hwint=yes
|
need_64bit_hwint=yes
|
||||||
;;
|
;;
|
||||||
hppa*-*-* | parisc*-*-*)
|
hppa*-*-*)
|
||||||
cpu_type=pa
|
cpu_type=pa
|
||||||
;;
|
;;
|
||||||
m32r*-*-*)
|
m32r*-*-*)
|
||||||
cpu_type=m32r
|
cpu_type=m32r
|
||||||
;;
|
;;
|
||||||
m680[012]0-*-*)
|
|
||||||
cpu_type=m68k
|
|
||||||
extra_headers=math-68881.h
|
|
||||||
;;
|
|
||||||
m68k-*-*)
|
m68k-*-*)
|
||||||
extra_headers=math-68881.h
|
extra_headers=math-68881.h
|
||||||
;;
|
;;
|
||||||
@ -498,9 +456,6 @@ case ${target} in
|
|||||||
esac
|
esac
|
||||||
fbsd_tm_file="${fbsd_tm_file} freebsd-spec.h freebsd.h"
|
fbsd_tm_file="${fbsd_tm_file} freebsd-spec.h freebsd.h"
|
||||||
;;
|
;;
|
||||||
*-*-linux*libc1* | *-*-linux*aout*)
|
|
||||||
# Avoid the generic linux case.
|
|
||||||
;;
|
|
||||||
*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu)
|
*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu)
|
||||||
# Must come before *-*-gnu* (because of *-*-linux-gnu* systems).
|
# Must come before *-*-gnu* (because of *-*-linux-gnu* systems).
|
||||||
extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
|
extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
|
||||||
@ -633,15 +588,6 @@ case ${target} in
|
|||||||
then tmake_file=${cpu_type}/t-$rest
|
then tmake_file=${cpu_type}/t-$rest
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
alpha*-*-unicosmk*)
|
|
||||||
use_collect2=yes
|
|
||||||
tm_file="${tm_file} alpha/unicosmk.h"
|
|
||||||
|
|
||||||
# Don't include t-ieee for now because we don't support that yet
|
|
||||||
# tmake_file="alpha/t-ieee"
|
|
||||||
tmake_file="alpha/t-unicosmk"
|
|
||||||
use_fixproto=yes
|
|
||||||
;;
|
|
||||||
alpha*-*-linux*)
|
alpha*-*-linux*)
|
||||||
tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
|
tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
|
||||||
target_cpu_default="MASK_GAS"
|
target_cpu_default="MASK_GAS"
|
||||||
@ -729,7 +675,7 @@ arm-wrs-vxworks)
|
|||||||
tm_file="elfos.h arm/elf.h arm/aout.h ${tm_file} vx-common.h vxworks.h arm/vxworks.h"
|
tm_file="elfos.h arm/elf.h arm/aout.h ${tm_file} vx-common.h vxworks.h arm/vxworks.h"
|
||||||
tmake_file="${tmake_file} arm/t-arm arm/t-vxworks"
|
tmake_file="${tmake_file} arm/t-arm arm/t-vxworks"
|
||||||
;;
|
;;
|
||||||
arm*-*-freebsd*|strongarm*-*-freebsd*)
|
arm*-*-freebsd*)
|
||||||
tm_file="dbxelf.h elfos.h ${fbsd_tm_file} arm/elf.h arm/aout.h arm/freebsd.h arm/arm.h"
|
tm_file="dbxelf.h elfos.h ${fbsd_tm_file} arm/elf.h arm/aout.h arm/freebsd.h arm/arm.h"
|
||||||
tmake_file="${tmake_file} arm/t-arm arm/t-strongarm-elf"
|
tmake_file="${tmake_file} arm/t-arm arm/t-strongarm-elf"
|
||||||
;;
|
;;
|
||||||
@ -818,7 +764,7 @@ arm*-*-rtems*)
|
|||||||
tmake_file="arm/t-arm arm/t-arm-elf t-rtems arm/t-rtems"
|
tmake_file="arm/t-arm arm/t-arm-elf t-rtems arm/t-rtems"
|
||||||
tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp"
|
tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp"
|
||||||
;;
|
;;
|
||||||
arm*-*-elf | ep9312-*-elf)
|
arm*-*-elf)
|
||||||
tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h"
|
tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h"
|
||||||
tmake_file="arm/t-arm arm/t-arm-elf"
|
tmake_file="arm/t-arm arm/t-arm-elf"
|
||||||
tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp"
|
tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp"
|
||||||
@ -835,11 +781,6 @@ arm-*-pe*)
|
|||||||
extra_options="${extra_options} arm/pe.opt"
|
extra_options="${extra_options} arm/pe.opt"
|
||||||
extra_objs="pe.o"
|
extra_objs="pe.o"
|
||||||
;;
|
;;
|
||||||
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"
|
|
||||||
tmake_file="arm/t-arm arm/t-arm-elf"
|
|
||||||
tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp"
|
|
||||||
;;
|
|
||||||
avr-*-rtems*)
|
avr-*-rtems*)
|
||||||
tm_file="avr/avr.h dbxelf.h avr/rtems.h rtems.h"
|
tm_file="avr/avr.h dbxelf.h avr/rtems.h rtems.h"
|
||||||
tmake_file="avr/t-avr t-rtems avr/t-rtems"
|
tmake_file="avr/t-avr t-rtems avr/t-rtems"
|
||||||
@ -875,12 +816,6 @@ bfin*-*)
|
|||||||
tmake_file=bfin/t-bfin
|
tmake_file=bfin/t-bfin
|
||||||
use_collect2=no
|
use_collect2=no
|
||||||
;;
|
;;
|
||||||
cris-*-aout)
|
|
||||||
tm_file="dbxelf.h ${tm_file} cris/aout.h"
|
|
||||||
gas=yes
|
|
||||||
tmake_file="cris/t-cris cris/t-aout"
|
|
||||||
extra_options="${extra_options} cris/aout.opt"
|
|
||||||
;;
|
|
||||||
crisv32-*-elf | crisv32-*-none)
|
crisv32-*-elf | crisv32-*-none)
|
||||||
tm_file="dbxelf.h elfos.h ${tm_file}"
|
tm_file="dbxelf.h elfos.h ${tm_file}"
|
||||||
tmake_file="cris/t-cris"
|
tmake_file="cris/t-cris"
|
||||||
@ -942,7 +877,7 @@ h8300-*-*)
|
|||||||
tm_file="h8300/h8300.h dbxcoff.h h8300/coff.h"
|
tm_file="h8300/h8300.h dbxcoff.h h8300/coff.h"
|
||||||
use_fixproto=yes
|
use_fixproto=yes
|
||||||
;;
|
;;
|
||||||
hppa*64*-*-linux* | parisc*64*-*-linux*)
|
hppa*64*-*-linux*)
|
||||||
target_cpu_default="MASK_PA_11|MASK_PA_20"
|
target_cpu_default="MASK_PA_11|MASK_PA_20"
|
||||||
tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h svr4.h linux.h \
|
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"
|
pa/pa-linux.h pa/pa64-regs.h pa/pa-64.h pa/pa64-linux.h"
|
||||||
@ -950,7 +885,7 @@ hppa*64*-*-linux* | parisc*64*-*-linux*)
|
|||||||
gas=yes gnu_ld=yes
|
gas=yes gnu_ld=yes
|
||||||
need_64bit_hwint=yes
|
need_64bit_hwint=yes
|
||||||
;;
|
;;
|
||||||
hppa*-*-linux* | parisc*-*-linux*)
|
hppa*-*-linux*)
|
||||||
target_cpu_default="MASK_PA_11|MASK_NO_SPACE_REGS"
|
target_cpu_default="MASK_PA_11|MASK_NO_SPACE_REGS"
|
||||||
tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h pa/pa-linux.h \
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h pa/pa-linux.h \
|
||||||
pa/pa32-regs.h pa/pa32-linux.h"
|
pa/pa32-regs.h pa/pa32-linux.h"
|
||||||
@ -966,24 +901,6 @@ hppa*-*-linux* | parisc*-*-linux*)
|
|||||||
#hppa*-*-openbsd*)
|
#hppa*-*-openbsd*)
|
||||||
# target_cpu_default="MASK_PA_11"
|
# target_cpu_default="MASK_PA_11"
|
||||||
# ;;
|
# ;;
|
||||||
hppa1.1-*-pro*)
|
|
||||||
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"
|
|
||||||
tmake_file="pa/t-pro"
|
|
||||||
;;
|
|
||||||
hppa1.1-*-osf*)
|
|
||||||
target_cpu_default="MASK_PA_11"
|
|
||||||
tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h pa/pa-osf.h"
|
|
||||||
tmake_file="pa/t-pa"
|
|
||||||
use_collect2=yes
|
|
||||||
;;
|
|
||||||
hppa1.1-*-bsd*)
|
|
||||||
target_cpu_default="MASK_PA_11"
|
|
||||||
tm_file="${tm_file} pa/pa32-regs.h dbxelf.h pa/som.h"
|
|
||||||
tmake_file="pa/t-pa"
|
|
||||||
use_collect2=yes
|
|
||||||
;;
|
|
||||||
hppa[12]*-*-hpux10*)
|
hppa[12]*-*-hpux10*)
|
||||||
case ${target} in
|
case ${target} in
|
||||||
hppa1.1-*-* | hppa2*-*-*)
|
hppa1.1-*-* | hppa2*-*-*)
|
||||||
@ -1112,25 +1029,10 @@ x86_64-*-elf*)
|
|||||||
tmake_file="i386/t-i386elf t-svr4"
|
tmake_file="i386/t-i386elf t-svr4"
|
||||||
use_fixproto=yes
|
use_fixproto=yes
|
||||||
;;
|
;;
|
||||||
i[34567]86-sequent-ptx4* | i[34567]86-sequent-sysv4*)
|
|
||||||
if test x$gas = xyes
|
|
||||||
then
|
|
||||||
tm_file="${tm_file} usegas.h"
|
|
||||||
fi
|
|
||||||
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ptx4.h i386/ptx4-i.h"
|
|
||||||
tmake_file=t-svr4
|
|
||||||
extra_parts="crtbegin.o crtend.o"
|
|
||||||
use_fixproto=yes
|
|
||||||
;;
|
|
||||||
i[34567]86-*-aout*)
|
i[34567]86-*-aout*)
|
||||||
tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/i386-aout.h"
|
tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/i386-aout.h"
|
||||||
use_fixproto=yes
|
use_fixproto=yes
|
||||||
;;
|
;;
|
||||||
i[34567]86-*-beoself* | i[34567]86-*-beos*)
|
|
||||||
tmake_file='i386/t-beos i386/t-crtpic'
|
|
||||||
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/beos-elf.h"
|
|
||||||
extra_parts='crtbegin.o crtend.o'
|
|
||||||
;;
|
|
||||||
i[34567]86-*-freebsd*)
|
i[34567]86-*-freebsd*)
|
||||||
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
|
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
|
||||||
;;
|
;;
|
||||||
@ -1261,23 +1163,9 @@ i[34567]86-*-rtems*)
|
|||||||
extra_parts="crtbegin.o crtend.o crti.o crtn.o"
|
extra_parts="crtbegin.o crtend.o crti.o crtn.o"
|
||||||
tmake_file="i386/t-rtems-i386 i386/t-crtstuff t-rtems"
|
tmake_file="i386/t-rtems-i386 i386/t-crtstuff t-rtems"
|
||||||
;;
|
;;
|
||||||
i[34567]86-*-sco3.2v5*) # 80386 running SCO Open Server 5
|
|
||||||
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/sco5.h"
|
|
||||||
if test x$gas = xyes
|
|
||||||
then
|
|
||||||
tm_file="usegas.h ${tm_file}"
|
|
||||||
fi
|
|
||||||
tmake_file=i386/t-sco5
|
|
||||||
extra_parts="crtbegin.o crtend.o"
|
|
||||||
extra_options="${extra_options} i386/sco5.opt"
|
|
||||||
use_fixproto=yes
|
|
||||||
;;
|
|
||||||
i[34567]86-*-solaris2*)
|
i[34567]86-*-solaris2*)
|
||||||
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h sol2.h"
|
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h sol2.h"
|
||||||
case ${target} in
|
case ${target} in
|
||||||
*-*-solaris2.[0-6] | *-*-solaris2.[0-6].*)
|
|
||||||
tm_file="${tm_file} sol2-6.h"
|
|
||||||
;;
|
|
||||||
*-*-solaris2.1[0-9]*)
|
*-*-solaris2.1[0-9]*)
|
||||||
tm_file="${tm_file} sol2-10.h"
|
tm_file="${tm_file} sol2-10.h"
|
||||||
;;
|
;;
|
||||||
@ -1297,11 +1185,7 @@ i[34567]86-*-solaris2*)
|
|||||||
if test x$gas = xyes; then
|
if test x$gas = xyes; then
|
||||||
tm_file="usegas.h ${tm_file}"
|
tm_file="usegas.h ${tm_file}"
|
||||||
fi
|
fi
|
||||||
case ${target} in
|
tm_file="$tm_file tm-dwarf2.h"
|
||||||
*-*-solaris2.[789] | *-*-solaris2.1[0-9]*)
|
|
||||||
tm_file="$tm_file tm-dwarf2.h"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
case ${target} in
|
case ${target} in
|
||||||
*-*-solaris2.1[0-9]*)
|
*-*-solaris2.1[0-9]*)
|
||||||
tm_file="${tm_file} i386/x86-64.h i386/sol2-10.h"
|
tm_file="${tm_file} i386/x86-64.h i386/sol2-10.h"
|
||||||
@ -1332,43 +1216,13 @@ i[34567]86-*-solaris2*)
|
|||||||
esac
|
esac
|
||||||
case ${enable_threads}:${have_pthread_h}:${have_thread_h} in
|
case ${enable_threads}:${have_pthread_h}:${have_thread_h} in
|
||||||
"":yes:* | yes:yes:* )
|
"":yes:* | yes:yes:* )
|
||||||
case ${target} in
|
thread_file=posix
|
||||||
*-*-solaris2.[0-6] | *-*-solaris2.[0-6].*)
|
|
||||||
thread_file=posix95
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
thread_file=posix
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
;;
|
;;
|
||||||
"":*:yes | yes:*:yes )
|
"":*:yes | yes:*:yes )
|
||||||
thread_file=solaris
|
thread_file=solaris
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
i[34567]86-*-sysv5*) # Intel x86 on System V Release 5
|
|
||||||
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h i386/sysv5.h"
|
|
||||||
if test x$stabs = xyes
|
|
||||||
then
|
|
||||||
tm_file="${tm_file} dbx.h"
|
|
||||||
fi
|
|
||||||
tmake_file="i386/t-crtpic t-svr4"
|
|
||||||
extra_parts="crtbegin.o crtend.o"
|
|
||||||
if test x$enable_threads = xyes; then
|
|
||||||
thread_file='posix'
|
|
||||||
fi
|
|
||||||
use_fixproto=yes
|
|
||||||
;;
|
|
||||||
i[34567]86-*-sysv4*) # Intel 80386's running system V.4
|
|
||||||
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h i386/sysv4-cpp.h"
|
|
||||||
if test x$stabs = xyes
|
|
||||||
then
|
|
||||||
tm_file="${tm_file} dbx.h"
|
|
||||||
fi
|
|
||||||
tmake_file="i386/t-crtpic t-svr4"
|
|
||||||
extra_parts="crtbegin.o crtend.o"
|
|
||||||
use_fixproto=yes
|
|
||||||
;;
|
|
||||||
i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
|
i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
|
||||||
tm_file="${tm_file} i386/unix.h i386/att.h elfos.h svr4.h vx-common.h"
|
tm_file="${tm_file} i386/unix.h i386/att.h elfos.h svr4.h vx-common.h"
|
||||||
case ${target} in
|
case ${target} in
|
||||||
@ -1427,17 +1281,6 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
i[34567]86-*-uwin*)
|
|
||||||
tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygwin.h i386/uwin.h"
|
|
||||||
tmake_file="i386/t-cygwin i386/t-uwin"
|
|
||||||
extra_objs=winnt.o
|
|
||||||
extra_options="${extra_options} i386/cygming.opt"
|
|
||||||
target_gtfiles="\$(srcdir)/config/i386/winnt.c"
|
|
||||||
if test x$enable_threads = xyes; then
|
|
||||||
thread_file='win32'
|
|
||||||
fi
|
|
||||||
use_fixproto=yes
|
|
||||||
;;
|
|
||||||
i[34567]86-*-interix3*)
|
i[34567]86-*-interix3*)
|
||||||
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"
|
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"
|
||||||
tmake_file="i386/t-interix"
|
tmake_file="i386/t-interix"
|
||||||
@ -1450,10 +1293,6 @@ i[34567]86-*-interix3*)
|
|||||||
tm_file="${tm_file} dbxcoff.h"
|
tm_file="${tm_file} dbxcoff.h"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
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"
|
|
||||||
;;
|
|
||||||
ia64*-*-elf*)
|
ia64*-*-elf*)
|
||||||
tm_file="${tm_file} dbxelf.h elfos.h ia64/sysv4.h ia64/elf.h"
|
tm_file="${tm_file} dbxelf.h elfos.h ia64/sysv4.h ia64/elf.h"
|
||||||
tmake_file="ia64/t-ia64"
|
tmake_file="ia64/t-ia64"
|
||||||
@ -1570,7 +1409,7 @@ m68k-*-coff*)
|
|||||||
tm_file="${tm_file} m68k/m68k-none.h m68k/m68kemb.h dbxcoff.h m68k/coff.h dbx.h"
|
tm_file="${tm_file} m68k/m68k-none.h m68k/m68kemb.h dbxcoff.h m68k/coff.h dbx.h"
|
||||||
use_fixproto=yes
|
use_fixproto=yes
|
||||||
;;
|
;;
|
||||||
m68020-*-elf* | m68k-*-elf* | fido-*-elf*)
|
m68k-*-elf* | fido-*-elf*)
|
||||||
case ${target} in
|
case ${target} in
|
||||||
fido-*-elf*)
|
fido-*-elf*)
|
||||||
# Check that $with_cpu makes sense.
|
# Check that $with_cpu makes sense.
|
||||||
@ -1602,7 +1441,7 @@ m68020-*-elf* | m68k-*-elf* | fido-*-elf*)
|
|||||||
esac
|
esac
|
||||||
extra_parts="crtbegin.o crtend.o"
|
extra_parts="crtbegin.o crtend.o"
|
||||||
;;
|
;;
|
||||||
m68010-*-netbsdelf* | m68k*-*-netbsdelf*)
|
m68k*-*-netbsdelf*)
|
||||||
default_m68k_cpu=68020
|
default_m68k_cpu=68020
|
||||||
default_cf_cpu=5475
|
default_cf_cpu=5475
|
||||||
tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h m68k/netbsd-elf.h"
|
tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h m68k/netbsd-elf.h"
|
||||||
@ -1841,12 +1680,6 @@ mips-wrs-vxworks)
|
|||||||
tm_file="elfos.h ${tm_file} svr4.h mips/elf.h vx-common.h vxworks.h mips/vxworks.h"
|
tm_file="elfos.h ${tm_file} svr4.h mips/elf.h vx-common.h vxworks.h mips/vxworks.h"
|
||||||
tmake_file="${tmake_file} mips/t-vxworks"
|
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 mips/t-libgcc-mips16"
|
|
||||||
thread_file=
|
|
||||||
;;
|
|
||||||
mipstx39-*-elf* | mipstx39el-*-elf*)
|
mipstx39-*-elf* | mipstx39el-*-elf*)
|
||||||
tm_file="elfos.h ${tm_file} mips/r3900.h mips/elf.h"
|
tm_file="elfos.h ${tm_file} mips/r3900.h mips/elf.h"
|
||||||
tmake_file="mips/t-r3900 mips/t-libgcc-mips16"
|
tmake_file="mips/t-r3900 mips/t-libgcc-mips16"
|
||||||
@ -1864,10 +1697,6 @@ mn10300-*-*)
|
|||||||
use_collect2=no
|
use_collect2=no
|
||||||
use_fixproto=yes
|
use_fixproto=yes
|
||||||
;;
|
;;
|
||||||
mt-*-elf)
|
|
||||||
tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
|
|
||||||
tmake_file="${tmake_file} mt/t-mt"
|
|
||||||
;;
|
|
||||||
pdp11-*-bsd)
|
pdp11-*-bsd)
|
||||||
tm_file="${tm_file} pdp11/2bsd.h"
|
tm_file="${tm_file} pdp11/2bsd.h"
|
||||||
use_fixproto=yes
|
use_fixproto=yes
|
||||||
@ -1896,12 +1725,6 @@ powerpc64-*-gnu*)
|
|||||||
extra_options="${extra_options} rs6000/sysv4.opt rs6000/linux64.opt"
|
extra_options="${extra_options} rs6000/sysv4.opt rs6000/linux64.opt"
|
||||||
tmake_file="rs6000/t-fprules t-slibgcc-elf-ver t-gnu rs6000/t-linux64 rs6000/t-fprules-softfp soft-fp/t-softfp"
|
tmake_file="rs6000/t-fprules t-slibgcc-elf-ver t-gnu rs6000/t-linux64 rs6000/t-fprules-softfp soft-fp/t-softfp"
|
||||||
;;
|
;;
|
||||||
powerpc-*-beos*)
|
|
||||||
tm_file="${tm_file} rs6000/aix.h rs6000/beos.h rs6000/xcoff.h"
|
|
||||||
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-beos"
|
|
||||||
extra_headers=
|
|
||||||
use_fixproto=yes
|
|
||||||
;;
|
|
||||||
powerpc-*-darwin*)
|
powerpc-*-darwin*)
|
||||||
extra_options="${extra_options} rs6000/darwin.opt"
|
extra_options="${extra_options} rs6000/darwin.opt"
|
||||||
extra_parts="crt2.o"
|
extra_parts="crt2.o"
|
||||||
@ -1934,17 +1757,6 @@ powerpc-*-netbsd*)
|
|||||||
tmake_file="${tmake_file} rs6000/t-netbsd"
|
tmake_file="${tmake_file} rs6000/t-netbsd"
|
||||||
extra_options="${extra_options} rs6000/sysv4.opt"
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
||||||
;;
|
;;
|
||||||
powerpc-*-chorusos*)
|
|
||||||
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h chorus.h"
|
|
||||||
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcos rs6000/t-ppccomm"
|
|
||||||
extra_options="${extra_options} rs6000/sysv4.opt"
|
|
||||||
case ${enable_threads} in
|
|
||||||
yes | posix)
|
|
||||||
thread_file='posix'
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
use_fixproto=yes
|
|
||||||
;;
|
|
||||||
powerpc-*-eabispe*)
|
powerpc-*-eabispe*)
|
||||||
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabispe.h"
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabispe.h"
|
||||||
extra_options="${extra_options} rs6000/sysv4.opt"
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
||||||
@ -2048,13 +1860,6 @@ powerpc-wrs-vxworks|powerpc-wrs-vxworksae)
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
powerpc-wrs-windiss*) # Instruction-level simulator for VxWorks.
|
|
||||||
tm_file="${tm_file} elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/windiss.h"
|
|
||||||
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
|
|
||||||
extra_options="${extra_options} rs6000/sysv4.opt"
|
|
||||||
thread_file=""
|
|
||||||
use_fixproto=yes
|
|
||||||
;;
|
|
||||||
powerpc-*-lynxos*)
|
powerpc-*-lynxos*)
|
||||||
xm_defines=POSIX
|
xm_defines=POSIX
|
||||||
tm_file="${tm_file} dbxelf.h elfos.h rs6000/sysv4.h rs6000/lynx.h lynx.h"
|
tm_file="${tm_file} dbxelf.h elfos.h rs6000/sysv4.h rs6000/lynx.h lynx.h"
|
||||||
@ -2066,12 +1871,6 @@ powerpc-*-lynxos*)
|
|||||||
gnu_ld=yes
|
gnu_ld=yes
|
||||||
gas=yes
|
gas=yes
|
||||||
;;
|
;;
|
||||||
powerpcle-*-sysv*)
|
|
||||||
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h"
|
|
||||||
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcos rs6000/t-ppccomm"
|
|
||||||
extra_options="${extra_options} rs6000/sysv4.opt"
|
|
||||||
use_fixproto=yes
|
|
||||||
;;
|
|
||||||
powerpcle-*-elf*)
|
powerpcle-*-elf*)
|
||||||
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h"
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h"
|
||||||
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
|
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
|
||||||
@ -2088,16 +1887,6 @@ powerpcle-*-eabi*)
|
|||||||
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
|
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
|
||||||
extra_options="${extra_options} rs6000/sysv4.opt"
|
extra_options="${extra_options} rs6000/sysv4.opt"
|
||||||
;;
|
;;
|
||||||
powerpc-*-kaos*)
|
|
||||||
tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h kaos.h rs6000/kaos-ppc.h"
|
|
||||||
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
|
|
||||||
extra_options="${extra_options} rs6000/sysv4.opt"
|
|
||||||
;;
|
|
||||||
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"
|
|
||||||
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcgas rs6000/t-ppccomm"
|
|
||||||
extra_options="${extra_options} rs6000/sysv4.opt"
|
|
||||||
;;
|
|
||||||
rs6000-ibm-aix4.[12]* | powerpc-ibm-aix4.[12]*)
|
rs6000-ibm-aix4.[12]* | powerpc-ibm-aix4.[12]*)
|
||||||
tm_file="${tm_file} rs6000/aix.h rs6000/aix41.h rs6000/xcoff.h"
|
tm_file="${tm_file} rs6000/aix.h rs6000/aix41.h rs6000/xcoff.h"
|
||||||
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-newas"
|
tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-newas"
|
||||||
@ -2174,7 +1963,7 @@ score-*-elf)
|
|||||||
tmake_file=score/t-score-elf
|
tmake_file=score/t-score-elf
|
||||||
extra_objs="score7.o score3.o"
|
extra_objs="score7.o score3.o"
|
||||||
;;
|
;;
|
||||||
sh-*-elf* | sh[12346l]*-*-elf* | sh*-*-kaos* | \
|
sh-*-elf* | sh[12346l]*-*-elf* | \
|
||||||
sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
|
sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
|
||||||
sh-*-linux* | sh[2346lbe]*-*-linux* | \
|
sh-*-linux* | sh[2346lbe]*-*-linux* | \
|
||||||
sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
|
sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
|
||||||
@ -2208,8 +1997,6 @@ sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
|
|||||||
case ${target} in
|
case ${target} in
|
||||||
sh*-*-linux*) tmake_file="${tmake_file} sh/t-linux"
|
sh*-*-linux*) tmake_file="${tmake_file} sh/t-linux"
|
||||||
tm_file="${tm_file} linux.h sh/linux.h" ;;
|
tm_file="${tm_file} linux.h sh/linux.h" ;;
|
||||||
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" ;;
|
sh*-*-netbsd*) tm_file="${tm_file} netbsd.h netbsd-elf.h sh/netbsd-elf.h" ;;
|
||||||
sh*-superh-elf) if test x$with_libgloss != xno; then
|
sh*-superh-elf) if test x$with_libgloss != xno; then
|
||||||
with_libgloss=yes
|
with_libgloss=yes
|
||||||
@ -2421,9 +2208,6 @@ sparc64-*-solaris2* | sparcv9-*-solaris2*)
|
|||||||
sparc-*-solaris2*)
|
sparc-*-solaris2*)
|
||||||
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h"
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h"
|
||||||
case ${target} in
|
case ${target} in
|
||||||
*-*-solaris2.[0-6] | *-*-solaris2.[0-6].*)
|
|
||||||
tm_file="${tm_file} sol2-6.h"
|
|
||||||
;;
|
|
||||||
*-*-solaris2.1[0-9]*)
|
*-*-solaris2.1[0-9]*)
|
||||||
tm_file="${tm_file} sol2-10.h"
|
tm_file="${tm_file} sol2-10.h"
|
||||||
;;
|
;;
|
||||||
@ -2441,25 +2225,16 @@ sparc-*-solaris2*)
|
|||||||
else
|
else
|
||||||
tmake_file="$tmake_file t-slibgcc-sld"
|
tmake_file="$tmake_file t-slibgcc-sld"
|
||||||
fi
|
fi
|
||||||
case ${target} in
|
tm_file="sparc/biarch64.h ${tm_file} sparc/sol2-bi.h"
|
||||||
*-*-solaris2.[0-6] | *-*-solaris2.[0-6].*)
|
if test x$gnu_ld = xyes; then
|
||||||
if test x$gnu_ld = xno; then
|
tm_file="${tm_file} sparc/sol2-gld-bi.h"
|
||||||
tm_file="${tm_file} sparc/sol26-sld.h"
|
fi
|
||||||
fi
|
if test x$gas = xyes; then
|
||||||
;;
|
tm_file="${tm_file} sparc/sol2-gas-bi.h"
|
||||||
*-*-solaris2.[789] | *-*-solaris2.1[0-9]*)
|
fi
|
||||||
tm_file="sparc/biarch64.h ${tm_file} sparc/sol2-bi.h"
|
tm_file="${tm_file} tm-dwarf2.h"
|
||||||
if test x$gnu_ld = xyes; then
|
tmake_file="$tmake_file sparc/t-sol2-64"
|
||||||
tm_file="${tm_file} sparc/sol2-gld-bi.h"
|
test x$with_cpu != x || with_cpu=v9
|
||||||
fi
|
|
||||||
if test x$gas = xyes; then
|
|
||||||
tm_file="${tm_file} sparc/sol2-gas-bi.h"
|
|
||||||
fi
|
|
||||||
tm_file="${tm_file} tm-dwarf2.h"
|
|
||||||
tmake_file="$tmake_file sparc/t-sol2-64"
|
|
||||||
test x$with_cpu != x || with_cpu=v9
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
c_target_objs="sol2-c.o"
|
c_target_objs="sol2-c.o"
|
||||||
cxx_target_objs="sol2-c.o"
|
cxx_target_objs="sol2-c.o"
|
||||||
extra_objs="sol2.o"
|
extra_objs="sol2.o"
|
||||||
@ -2467,26 +2242,13 @@ sparc-*-solaris2*)
|
|||||||
extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
|
extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
|
||||||
case ${enable_threads}:${have_pthread_h}:${have_thread_h} in
|
case ${enable_threads}:${have_pthread_h}:${have_thread_h} in
|
||||||
"":yes:* | yes:yes:* )
|
"":yes:* | yes:yes:* )
|
||||||
case ${target} in
|
thread_file=posix
|
||||||
*-*-solaris2.[0-6] | *-*-solaris2.[0-6].*)
|
|
||||||
thread_file=posix95
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
thread_file=posix
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
;;
|
;;
|
||||||
"":*:yes | yes:*:yes )
|
"":*:yes | yes:*:yes )
|
||||||
thread_file=solaris
|
thread_file=solaris
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
sparc-*-sysv4*)
|
|
||||||
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sysv4-only.h"
|
|
||||||
tmake_file=t-svr4
|
|
||||||
extra_parts="crtbegin.o crtend.o"
|
|
||||||
use_fixproto=yes
|
|
||||||
;;
|
|
||||||
sparc-wrs-vxworks)
|
sparc-wrs-vxworks)
|
||||||
tm_file="${tm_file} elfos.h svr4.h sparc/sysv4.h vx-common.h vxworks.h sparc/vxworks.h"
|
tm_file="${tm_file} elfos.h svr4.h sparc/sysv4.h vx-common.h vxworks.h sparc/vxworks.h"
|
||||||
tmake_file="${tmake_file} sparc/t-vxworks"
|
tmake_file="${tmake_file} sparc/t-vxworks"
|
||||||
@ -2527,31 +2289,6 @@ spu-*-elf*)
|
|||||||
c_target_objs="${c_target_objs} spu-c.o"
|
c_target_objs="${c_target_objs} spu-c.o"
|
||||||
cxx_target_objs="${cxx_target_objs} spu-c.o"
|
cxx_target_objs="${cxx_target_objs} spu-c.o"
|
||||||
;;
|
;;
|
||||||
strongarm-*-elf*)
|
|
||||||
tm_file="arm/strongarm-elf.h dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h"
|
|
||||||
tmake_file="arm/t-arm arm/t-strongarm-elf"
|
|
||||||
out_file=arm/arm.c
|
|
||||||
md_file=arm/arm.md
|
|
||||||
extra_modes=arm/arm-modes.def
|
|
||||||
use_fixproto=yes
|
|
||||||
;;
|
|
||||||
strongarm-*-pe)
|
|
||||||
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"
|
|
||||||
tmake_file="arm/t-arm arm/t-strongarm-pe"
|
|
||||||
out_file=arm/arm.c
|
|
||||||
md_file=arm/arm.md
|
|
||||||
extra_modes=arm/arm-modes.def
|
|
||||||
extra_options="${extra_options} arm/pe.opt"
|
|
||||||
extra_objs=pe.o
|
|
||||||
use_fixproto=yes
|
|
||||||
;;
|
|
||||||
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"
|
|
||||||
tmake_file="arm/t-arm arm/t-strongarm-elf"
|
|
||||||
out_file=arm/arm.c
|
|
||||||
md_file=arm/arm.md
|
|
||||||
extra_modes=arm/arm-modes.def
|
|
||||||
;;
|
|
||||||
v850e1-*-*)
|
v850e1-*-*)
|
||||||
target_cpu_default="TARGET_CPU_v850e1"
|
target_cpu_default="TARGET_CPU_v850e1"
|
||||||
tm_file="dbxelf.h elfos.h svr4.h v850/v850.h"
|
tm_file="dbxelf.h elfos.h svr4.h v850/v850.h"
|
||||||
@ -2599,17 +2336,6 @@ v850-*-*)
|
|||||||
cxx_target_objs="v850-c.o"
|
cxx_target_objs="v850-c.o"
|
||||||
use_fixproto=yes
|
use_fixproto=yes
|
||||||
;;
|
;;
|
||||||
vax-*-bsd*) # VAXen running BSD
|
|
||||||
tm_file="${tm_file} vax/bsd.h"
|
|
||||||
tmake_file=vax/t-memfuncs
|
|
||||||
use_collect2=yes
|
|
||||||
use_fixproto=yes
|
|
||||||
;;
|
|
||||||
vax-*-sysv*) # VAXen running system V
|
|
||||||
tm_file="${tm_file} vax/vaxv.h"
|
|
||||||
tmake_file=vax/t-memfuncs
|
|
||||||
use_fixproto=yes
|
|
||||||
;;
|
|
||||||
vax-*-netbsdelf*)
|
vax-*-netbsdelf*)
|
||||||
tm_file="${tm_file} elfos.h netbsd.h netbsd-elf.h vax/elf.h vax/netbsd-elf.h"
|
tm_file="${tm_file} elfos.h netbsd.h netbsd-elf.h vax/elf.h vax/netbsd-elf.h"
|
||||||
;;
|
;;
|
||||||
@ -2623,27 +2349,6 @@ vax-*-openbsd*)
|
|||||||
tm_file="vax/vax.h vax/openbsd1.h openbsd.h vax/openbsd.h"
|
tm_file="vax/vax.h vax/openbsd1.h openbsd.h vax/openbsd.h"
|
||||||
use_collect2=yes
|
use_collect2=yes
|
||||||
;;
|
;;
|
||||||
vax-*-ultrix*) # VAXen running ultrix
|
|
||||||
tm_file="${tm_file} vax/ultrix.h"
|
|
||||||
tmake_file=vax/t-memfuncs
|
|
||||||
use_fixproto=yes
|
|
||||||
;;
|
|
||||||
xscale-*-elf)
|
|
||||||
tm_file="arm/xscale-elf.h dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h"
|
|
||||||
tmake_file="arm/t-arm arm/t-xscale-elf"
|
|
||||||
out_file=arm/arm.c
|
|
||||||
md_file=arm/arm.md
|
|
||||||
extra_modes=arm/arm-modes.def
|
|
||||||
use_fixproto=yes
|
|
||||||
;;
|
|
||||||
xscale-*-coff)
|
|
||||||
tm_file="arm/semi.h arm/aout.h arm/coff.h dbxcoff.h arm/xscale-coff.h arm/arm.h"
|
|
||||||
tmake_file="arm/t-arm arm/t-xscale-coff"
|
|
||||||
out_file=arm/arm.c
|
|
||||||
md_file=arm/arm.md
|
|
||||||
extra_modes=arm/arm-modes.def
|
|
||||||
use_fixproto=yes
|
|
||||||
;;
|
|
||||||
xstormy16-*-elf)
|
xstormy16-*-elf)
|
||||||
# For historical reasons, the target files omit the 'x'.
|
# For historical reasons, the target files omit the 'x'.
|
||||||
tm_file="dbxelf.h elfos.h svr4.h stormy16/stormy16.h"
|
tm_file="dbxelf.h elfos.h svr4.h stormy16/stormy16.h"
|
||||||
@ -2683,9 +2388,6 @@ m32c-*-elf*)
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
case ${target} in
|
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*)
|
i[34567]86-*-linux* | x86_64-*-linux*)
|
||||||
tmake_file="${tmake_file} i386/t-pmm_malloc"
|
tmake_file="${tmake_file} i386/t-pmm_malloc"
|
||||||
;;
|
;;
|
||||||
@ -2707,10 +2409,6 @@ esac
|
|||||||
# This block sets nothing except for with_cpu.
|
# This block sets nothing except for with_cpu.
|
||||||
if test x$with_cpu = x ; then
|
if test x$with_cpu = x ; then
|
||||||
case ${target} in
|
case ${target} in
|
||||||
ep9312-*-*)
|
|
||||||
# A Cirrus ARM variant.
|
|
||||||
with_cpu="ep9312"
|
|
||||||
;;
|
|
||||||
i386-*-*)
|
i386-*-*)
|
||||||
with_cpu=i386
|
with_cpu=i386
|
||||||
;;
|
;;
|
||||||
@ -2822,9 +2520,6 @@ if test x$with_cpu = x ; then
|
|||||||
frv550-*-*linux*)
|
frv550-*-*linux*)
|
||||||
with_cpu=fr550
|
with_cpu=fr550
|
||||||
;;
|
;;
|
||||||
m680[012]0-*-*)
|
|
||||||
with_cpu=`echo ${target} | sed 's/-.*$//'`
|
|
||||||
;;
|
|
||||||
m68k*-*-*)
|
m68k*-*-*)
|
||||||
case "$with_arch" in
|
case "$with_arch" in
|
||||||
"cf")
|
"cf")
|
||||||
@ -2844,19 +2539,10 @@ if test x$with_cpu = x ; then
|
|||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Similarly for --with-float
|
|
||||||
if test x$with_float = x; then
|
|
||||||
case ${target} in
|
|
||||||
ep9312-*-*)
|
|
||||||
with_float=hard
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Similarly for --with-schedule.
|
# Similarly for --with-schedule.
|
||||||
if test x$with_schedule = x; then
|
if test x$with_schedule = x; then
|
||||||
case ${target} in
|
case ${target} in
|
||||||
hppa1* | parisc1*)
|
hppa1*)
|
||||||
# Override default PA8000 scheduling model.
|
# Override default PA8000 scheduling model.
|
||||||
with_schedule=7100LC
|
with_schedule=7100LC
|
||||||
;;
|
;;
|
||||||
@ -2987,7 +2673,7 @@ case "${target}" in
|
|||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
|
|
||||||
fido-*-* | m680[012]0-*-* | m68k*-*-*)
|
fido-*-* | m68k*-*-*)
|
||||||
supported_defaults="arch cpu"
|
supported_defaults="arch cpu"
|
||||||
case "$with_arch" in
|
case "$with_arch" in
|
||||||
"" | "m68k"| "cf")
|
"" | "m68k"| "cf")
|
||||||
@ -3027,7 +2713,7 @@ case "${target}" in
|
|||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
|
|
||||||
hppa*-*-* | parisc*-*-*)
|
hppa*-*-*)
|
||||||
supported_defaults="arch schedule"
|
supported_defaults="arch schedule"
|
||||||
|
|
||||||
case "$with_arch" in
|
case "$with_arch" in
|
||||||
@ -3131,25 +2817,6 @@ case "${target}" in
|
|||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
|
|
||||||
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
|
|
||||||
;;
|
|
||||||
|
|
||||||
powerpc*-*-* | rs6000-*-*)
|
powerpc*-*-* | rs6000-*-*)
|
||||||
supported_defaults="cpu float tune"
|
supported_defaults="cpu float tune"
|
||||||
|
|
||||||
@ -3307,7 +2974,7 @@ case ${target} in
|
|||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
hppa*-*-* | parisc*-*-*)
|
hppa*-*-*)
|
||||||
target_cpu_default2="MASK_BIG_SWITCH"
|
target_cpu_default2="MASK_BIG_SWITCH"
|
||||||
if test x$gas = xyes
|
if test x$gas = xyes
|
||||||
then
|
then
|
||||||
@ -3315,7 +2982,7 @@ case ${target} in
|
|||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
fido*-*-* | m680[012]0-*-* | m68k*-*-*)
|
fido*-*-* | m68k*-*-*)
|
||||||
target_cpu_default2=$m68k_cpu_ident
|
target_cpu_default2=$m68k_cpu_ident
|
||||||
if [ x"$m68k_arch_family" != x ]; then
|
if [ x"$m68k_arch_family" != x ]; then
|
||||||
tmake_file="m68k/t-$m68k_arch_family $tmake_file"
|
tmake_file="m68k/t-$m68k_arch_family $tmake_file"
|
||||||
|
@ -1,2 +0,0 @@
|
|||||||
# This file is empty for now.
|
|
||||||
|
|
@ -1,438 +0,0 @@
|
|||||||
/* Definitions of target machine for GNU compiler, for DEC Alpha on Cray
|
|
||||||
T3E running Unicos/Mk.
|
|
||||||
Copyright (C) 2001, 2002, 2004, 2005, 2007
|
|
||||||
Free Software Foundation, Inc.
|
|
||||||
Contributed by Roman Lechtchinsky (rl@cs.tu-berlin.de)
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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 3, or (at your option)
|
|
||||||
any later version.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
#undef TARGET_ABI_UNICOSMK
|
|
||||||
#define TARGET_ABI_UNICOSMK 1
|
|
||||||
|
|
||||||
/* CAM requires a slash before floating-pointing instruction suffixes. */
|
|
||||||
|
|
||||||
#undef TARGET_AS_SLASH_BEFORE_SUFFIX
|
|
||||||
#define TARGET_AS_SLASH_BEFORE_SUFFIX 1
|
|
||||||
|
|
||||||
/* The following defines are necessary for the standard headers to work
|
|
||||||
correctly. */
|
|
||||||
|
|
||||||
#define TARGET_OS_CPP_BUILTINS() \
|
|
||||||
do { \
|
|
||||||
builtin_define ("__unix"); \
|
|
||||||
builtin_define ("_UNICOS=205"); \
|
|
||||||
builtin_define ("_CRAY"); \
|
|
||||||
builtin_define ("_CRAYT3E"); \
|
|
||||||
builtin_define ("_CRAYMPP"); \
|
|
||||||
builtin_define ("_CRAYIEEE"); \
|
|
||||||
builtin_define ("_ADDR64"); \
|
|
||||||
builtin_define ("_LD64"); \
|
|
||||||
builtin_define ("__UNICOSMK__"); \
|
|
||||||
} while (0)
|
|
||||||
|
|
||||||
#define SHORT_TYPE_SIZE 32
|
|
||||||
|
|
||||||
#undef INT_TYPE_SIZE
|
|
||||||
#define INT_TYPE_SIZE 64
|
|
||||||
|
|
||||||
/* This is consistent with the definition Cray CC uses. */
|
|
||||||
#undef WCHAR_TYPE
|
|
||||||
#define WCHAR_TYPE "int"
|
|
||||||
#undef WCHAR_TYPE_SIZE
|
|
||||||
#define WCHAR_TYPE_SIZE 64
|
|
||||||
|
|
||||||
/*
|
|
||||||
#define SIZE_TYPE "unsigned int"
|
|
||||||
#define PTRDIFF_TYPE "int"
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Alphas are operated in big endian mode on the Cray T3E. */
|
|
||||||
|
|
||||||
#undef BITS_BIG_ENDIAN
|
|
||||||
#undef BYTES_BIG_ENDIAN
|
|
||||||
#undef WORDS_BIG_ENDIAN
|
|
||||||
#define BITS_BIG_ENDIAN 0
|
|
||||||
#define BYTES_BIG_ENDIAN 1
|
|
||||||
#define WORDS_BIG_ENDIAN 1
|
|
||||||
|
|
||||||
|
|
||||||
/* Every structure's size must be a multiple of this. */
|
|
||||||
|
|
||||||
#undef STRUCTURE_SIZE_BOUNDARY
|
|
||||||
#define STRUCTURE_SIZE_BOUNDARY 64
|
|
||||||
|
|
||||||
/* No data type wants to be aligned rounder than this. */
|
|
||||||
|
|
||||||
#undef BIGGEST_ALIGNMENT
|
|
||||||
#define BIGGEST_ALIGNMENT 256
|
|
||||||
|
|
||||||
/* Include the frame pointer in fixed_regs and call_used_regs as it can't be
|
|
||||||
used as a general-purpose register even in frameless functions.
|
|
||||||
??? The global_regs hack is needed for now because -O2 sometimes tries to
|
|
||||||
eliminate $15 increments/decrements in frameless functions. */
|
|
||||||
|
|
||||||
#undef CONDITIONAL_REGISTER_USAGE
|
|
||||||
#define CONDITIONAL_REGISTER_USAGE \
|
|
||||||
do { \
|
|
||||||
fixed_regs[15] = 1; \
|
|
||||||
call_used_regs[15] = 1; \
|
|
||||||
global_regs[15] = 1; \
|
|
||||||
} while(0)
|
|
||||||
|
|
||||||
/* The stack frame grows downward. */
|
|
||||||
|
|
||||||
#define FRAME_GROWS_DOWNWARD 1
|
|
||||||
|
|
||||||
/* Define the offset between two registers, one to be eliminated, and the
|
|
||||||
other its replacement, at the start of a routine. This is somewhat
|
|
||||||
complicated on the T3E which is why we use a function. */
|
|
||||||
|
|
||||||
#undef INITIAL_ELIMINATION_OFFSET
|
|
||||||
#define INITIAL_ELIMINATION_OFFSET(FROM, TO, OFFSET) \
|
|
||||||
do { \
|
|
||||||
(OFFSET) = unicosmk_initial_elimination_offset ((FROM), (TO)); \
|
|
||||||
} while (0)
|
|
||||||
|
|
||||||
|
|
||||||
/* Define this if stack space is still allocated for a parameter passed
|
|
||||||
in a register. On the T3E, stack space is preallocated for all outgoing
|
|
||||||
arguments, including those passed in registers. To avoid problems, we
|
|
||||||
assume that at least 48 bytes (i.e. enough space for all arguments passed
|
|
||||||
in registers) are allocated. */
|
|
||||||
|
|
||||||
#define REG_PARM_STACK_SPACE(DECL) 48
|
|
||||||
#define OUTGOING_REG_PARM_STACK_SPACE(FNTYPE) 1
|
|
||||||
|
|
||||||
/* If an argument can't be passed in registers even though not all argument
|
|
||||||
registers have been used yet, it is passed on the stack in the space
|
|
||||||
preallocated for these registers. */
|
|
||||||
|
|
||||||
#define STACK_PARMS_IN_REG_PARM_AREA
|
|
||||||
|
|
||||||
/* Define a data type for recording info about an argument list
|
|
||||||
during the scan of that argument list. This data type should
|
|
||||||
hold all necessary information about the function itself
|
|
||||||
and about the args processed so far, enough to enable macros
|
|
||||||
such as FUNCTION_ARG to determine where the next arg should go.
|
|
||||||
|
|
||||||
On Unicos/Mk, this is a structure that contains various information for
|
|
||||||
the static subroutine information block (SSIB) and the call information
|
|
||||||
word (CIW). */
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
|
|
||||||
/* The overall number of arguments. */
|
|
||||||
int num_args;
|
|
||||||
|
|
||||||
/* The overall size of the arguments in words. */
|
|
||||||
int num_arg_words;
|
|
||||||
|
|
||||||
/* The number of words passed in registers. */
|
|
||||||
int num_reg_words;
|
|
||||||
|
|
||||||
/* If an argument must be passed in the stack, all subsequent arguments
|
|
||||||
must be passed there, too. This flag indicates whether this is the
|
|
||||||
case. */
|
|
||||||
int force_stack;
|
|
||||||
|
|
||||||
/* This array indicates whether a word is passed in an integer register or
|
|
||||||
a floating point one. */
|
|
||||||
|
|
||||||
/* For each of the 6 register arguments, the corresponding flag in this
|
|
||||||
array indicates whether the argument is passed in an integer or a
|
|
||||||
floating point register. */
|
|
||||||
int reg_args_type[6];
|
|
||||||
|
|
||||||
} unicosmk_arg_info;
|
|
||||||
|
|
||||||
#undef CUMULATIVE_ARGS
|
|
||||||
#define CUMULATIVE_ARGS unicosmk_arg_info
|
|
||||||
|
|
||||||
/* Initialize a variable CUM of type CUMULATIVE_ARGS for a call to a
|
|
||||||
function whose data type is FNTYPE. For a library call, FNTYPE is 0. */
|
|
||||||
|
|
||||||
#undef INIT_CUMULATIVE_ARGS
|
|
||||||
#define INIT_CUMULATIVE_ARGS(CUM, FNTYPE, LIBNAME, INDIRECT, N_NAMED_ARGS) \
|
|
||||||
do { (CUM).num_args = 0; \
|
|
||||||
(CUM).num_arg_words = 0; \
|
|
||||||
(CUM).num_reg_words = 0; \
|
|
||||||
(CUM).force_stack = 0; \
|
|
||||||
} while(0)
|
|
||||||
|
|
||||||
/* Update the data in CUM to advance over an argument of mode MODE and data
|
|
||||||
type TYPE. (TYPE is null for libcalls where that information may not be
|
|
||||||
available.)
|
|
||||||
|
|
||||||
On Unicos/Mk, at most 6 words can be passed in registers. Structures
|
|
||||||
which fit in two words are passed in registers, larger structures are
|
|
||||||
passed on stack. */
|
|
||||||
|
|
||||||
#undef FUNCTION_ARG_ADVANCE
|
|
||||||
#define FUNCTION_ARG_ADVANCE(CUM, MODE, TYPE, NAMED) \
|
|
||||||
do { \
|
|
||||||
int size; \
|
|
||||||
\
|
|
||||||
size = ALPHA_ARG_SIZE (MODE, TYPE, NAMED); \
|
|
||||||
\
|
|
||||||
if (size > 2 \
|
|
||||||
|| (CUM).num_reg_words + size > 6 \
|
|
||||||
|| targetm.calls.must_pass_in_stack (MODE, TYPE)) \
|
|
||||||
(CUM).force_stack = 1; \
|
|
||||||
\
|
|
||||||
if (! (CUM).force_stack) \
|
|
||||||
{ \
|
|
||||||
int i; \
|
|
||||||
int isfloat; \
|
|
||||||
isfloat = (GET_MODE_CLASS (MODE) == MODE_COMPLEX_FLOAT \
|
|
||||||
|| GET_MODE_CLASS (MODE) == MODE_FLOAT); \
|
|
||||||
for (i = 0; i < size; i++) \
|
|
||||||
{ \
|
|
||||||
(CUM).reg_args_type[(CUM).num_reg_words] = isfloat; \
|
|
||||||
++(CUM).num_reg_words; \
|
|
||||||
} \
|
|
||||||
} \
|
|
||||||
(CUM).num_arg_words += size; \
|
|
||||||
++(CUM).num_args; \
|
|
||||||
} while(0)
|
|
||||||
|
|
||||||
/* This ensures that $15 increments/decrements in leaf functions won't get
|
|
||||||
eliminated. */
|
|
||||||
|
|
||||||
#undef EPILOGUE_USES
|
|
||||||
#define EPILOGUE_USES(REGNO) ((REGNO) == 26 || (REGNO) == 15)
|
|
||||||
|
|
||||||
/* Would have worked, only the stack doesn't seem to be executable
|
|
||||||
#undef TRAMPOLINE_TEMPLATE
|
|
||||||
#define TRAMPOLINE_TEMPLATE(FILE) \
|
|
||||||
do { fprintf (FILE, "\tbr $1,0\n"); \
|
|
||||||
fprintf (FILE, "\tldq $0,12($1)\n"); \
|
|
||||||
fprintf (FILE, "\tldq $1,20($1)\n"); \
|
|
||||||
fprintf (FILE, "\tjmp $31,(r0)\n"); \
|
|
||||||
fprintf (FILE, "\tbis $31,$31,$31\n"); \
|
|
||||||
fprintf (FILE, "\tbis $31,$31,$31\n"); \
|
|
||||||
} while (0) */
|
|
||||||
|
|
||||||
/* We don't support nested functions (yet). */
|
|
||||||
|
|
||||||
#undef TRAMPOLINE_TEMPLATE
|
|
||||||
#define TRAMPOLINE_TEMPLATE(FILE) gcc_unreachable ()
|
|
||||||
|
|
||||||
/* Specify the machine mode that this machine uses for the index in the
|
|
||||||
tablejump instruction. On Unicos/Mk, we don't support relative case
|
|
||||||
vectors yet, thus the entries should be absolute addresses. */
|
|
||||||
|
|
||||||
#undef CASE_VECTOR_MODE
|
|
||||||
#define CASE_VECTOR_MODE DImode
|
|
||||||
|
|
||||||
#undef CASE_VECTOR_PC_RELATIVE
|
|
||||||
|
|
||||||
/* Define this as 1 if `char' should by default be signed; else as 0. */
|
|
||||||
/* #define DEFAULT_SIGNED_CHAR 1 */
|
|
||||||
|
|
||||||
/* There are no read-only sections on Unicos/Mk. */
|
|
||||||
|
|
||||||
#undef READONLY_DATA_SECTION_ASM_OP
|
|
||||||
|
|
||||||
/* We take care of this in unicosmk_file_start. */
|
|
||||||
|
|
||||||
#undef ASM_OUTPUT_SOURCE_FILENAME
|
|
||||||
|
|
||||||
/* This is how to output a label for a jump table. Arguments are the same as
|
|
||||||
for (*targetm.asm_out.internal_label), except the insn for the jump table is
|
|
||||||
passed. */
|
|
||||||
|
|
||||||
#undef ASM_OUTPUT_CASE_LABEL
|
|
||||||
#define ASM_OUTPUT_CASE_LABEL(FILE,PREFIX,NUM,TABLEINSN) \
|
|
||||||
(*targetm.asm_out.internal_label) (FILE, PREFIX, NUM)
|
|
||||||
|
|
||||||
/* CAM has some restrictions with respect to string literals. It won't
|
|
||||||
accept lines with more that 256 characters which means that we have
|
|
||||||
to split long strings. Moreover, it only accepts escape sequences of
|
|
||||||
the form \nnn in the range 0 to 127. We generate .byte directives for
|
|
||||||
escapes characters greater than 127. And finally, ` must be escaped. */
|
|
||||||
|
|
||||||
#undef ASM_OUTPUT_ASCII
|
|
||||||
#define ASM_OUTPUT_ASCII(MYFILE, MYSTRING, MYLENGTH) \
|
|
||||||
do { \
|
|
||||||
FILE *_hide_asm_out_file = (MYFILE); \
|
|
||||||
const unsigned char *_hide_p = (const unsigned char *) (MYSTRING); \
|
|
||||||
int _hide_thissize = (MYLENGTH); \
|
|
||||||
int _size_so_far = 0; \
|
|
||||||
{ \
|
|
||||||
FILE *asm_out_file = _hide_asm_out_file; \
|
|
||||||
const unsigned char *p = _hide_p; \
|
|
||||||
int thissize = _hide_thissize; \
|
|
||||||
int in_ascii = 0; \
|
|
||||||
int i; \
|
|
||||||
\
|
|
||||||
for (i = 0; i < thissize; i++) \
|
|
||||||
{ \
|
|
||||||
register int c = p[i]; \
|
|
||||||
\
|
|
||||||
if (c > 127) \
|
|
||||||
{ \
|
|
||||||
if (in_ascii) \
|
|
||||||
{ \
|
|
||||||
fprintf (asm_out_file, "\"\n"); \
|
|
||||||
in_ascii = 0; \
|
|
||||||
} \
|
|
||||||
\
|
|
||||||
fprintf (asm_out_file, "\t.byte\t%d\n", c); \
|
|
||||||
} \
|
|
||||||
else \
|
|
||||||
{ \
|
|
||||||
if (! in_ascii) \
|
|
||||||
{ \
|
|
||||||
fprintf (asm_out_file, "\t.ascii\t\""); \
|
|
||||||
in_ascii = 1; \
|
|
||||||
_size_so_far = 0; \
|
|
||||||
} \
|
|
||||||
else if (_size_so_far >= 64) \
|
|
||||||
{ \
|
|
||||||
fprintf (asm_out_file, "\"\n\t.ascii\t\""); \
|
|
||||||
_size_so_far = 0; \
|
|
||||||
} \
|
|
||||||
\
|
|
||||||
if (c == '\"' || c == '\\' || c == '`') \
|
|
||||||
putc ('\\', asm_out_file); \
|
|
||||||
if (c >= ' ') \
|
|
||||||
putc (c, asm_out_file); \
|
|
||||||
else \
|
|
||||||
fprintf (asm_out_file, "\\%.3o", c); \
|
|
||||||
++ _size_so_far; \
|
|
||||||
} \
|
|
||||||
} \
|
|
||||||
if (in_ascii) \
|
|
||||||
fprintf (asm_out_file, "\"\n"); \
|
|
||||||
} \
|
|
||||||
} while(0)
|
|
||||||
|
|
||||||
/* This is how to output an element of a case-vector that is absolute. */
|
|
||||||
|
|
||||||
#undef ASM_OUTPUT_ADDR_VEC_ELT
|
|
||||||
#define ASM_OUTPUT_ADDR_VEC_ELT(FILE, VALUE) \
|
|
||||||
fprintf (FILE, "\t.quad $L%d\n", (VALUE))
|
|
||||||
|
|
||||||
/* This is how to output an element of a case-vector that is relative.
|
|
||||||
(Unicos/Mk does not use such vectors yet). */
|
|
||||||
|
|
||||||
#undef ASM_OUTPUT_ADDR_DIFF_ELT
|
|
||||||
#define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, BODY, VALUE, REL) gcc_unreachable ()
|
|
||||||
|
|
||||||
/* We can't output case vectors in the same section as the function code
|
|
||||||
because CAM doesn't allow data definitions in code sections. Thus, we
|
|
||||||
simply record the case vectors and put them in a separate section after
|
|
||||||
the function. */
|
|
||||||
|
|
||||||
#define ASM_OUTPUT_ADDR_VEC(LAB,VEC) \
|
|
||||||
unicosmk_defer_case_vector ((LAB),(VEC))
|
|
||||||
|
|
||||||
#define ASM_OUTPUT_ADDR_DIFF_VEC(LAB,VEC) gcc_unreachable ()
|
|
||||||
|
|
||||||
/* This is how to output an assembler line that says to advance the location
|
|
||||||
counter to a multiple of 2**LOG bytes. Annoyingly, CAM always uses zeroes
|
|
||||||
to fill the unused space which does not work in code sections. We have to
|
|
||||||
be careful not to use the .align directive in code sections. */
|
|
||||||
|
|
||||||
#undef ASM_OUTPUT_ALIGN
|
|
||||||
#define ASM_OUTPUT_ALIGN(STREAM,LOG) unicosmk_output_align (STREAM, LOG)
|
|
||||||
|
|
||||||
/* This is how to advance the location counter by SIZE bytes. */
|
|
||||||
|
|
||||||
#undef ASM_OUTPUT_SKIP
|
|
||||||
#define ASM_OUTPUT_SKIP(STREAM,SIZE) \
|
|
||||||
fprintf ((STREAM), "\t.byte\t0:"HOST_WIDE_INT_PRINT_UNSIGNED"\n",\
|
|
||||||
(SIZE));
|
|
||||||
|
|
||||||
/* This says how to output an assembler line to define a global common
|
|
||||||
symbol. We need the alignment information because it has to be supplied
|
|
||||||
in the section header. */
|
|
||||||
|
|
||||||
#undef ASM_OUTPUT_COMMON
|
|
||||||
#define ASM_OUTPUT_ALIGNED_COMMON(FILE, NAME, SIZE, ALIGN) \
|
|
||||||
unicosmk_output_common ((FILE), (NAME), (SIZE), (ALIGN))
|
|
||||||
|
|
||||||
/* This says how to output an assembler line to define a local symbol. */
|
|
||||||
|
|
||||||
#undef ASM_OUTPUT_LOCAL
|
|
||||||
#define ASM_OUTPUT_ALIGNED_LOCAL(FILE, NAME, SIZE, ALIGN) \
|
|
||||||
do { switch_to_section (data_section); \
|
|
||||||
fprintf (FILE, "\t.align\t%d\n", floor_log2 ((ALIGN) / BITS_PER_UNIT));\
|
|
||||||
ASM_OUTPUT_LABEL ((FILE), (NAME)); \
|
|
||||||
fprintf (FILE, "\t.byte 0:"HOST_WIDE_INT_PRINT_UNSIGNED"\n",(SIZE));\
|
|
||||||
} while (0)
|
|
||||||
|
|
||||||
/* CAM does not allow us to declare a symbol as external first and then
|
|
||||||
define it in the same file later. Thus, we keep a list of all external
|
|
||||||
references, remove all symbols defined locally from it and output it at
|
|
||||||
the end of the asm file. */
|
|
||||||
|
|
||||||
#define ASM_OUTPUT_EXTERNAL(FILE,DECL,NAME) \
|
|
||||||
unicosmk_add_extern ((NAME))
|
|
||||||
|
|
||||||
#define ASM_OUTPUT_EXTERNAL_LIBCALL(STREAM,SYMREF) \
|
|
||||||
unicosmk_add_extern (XSTR ((SYMREF), 0))
|
|
||||||
|
|
||||||
/* This is how to declare an object. We don't have to output anything if
|
|
||||||
it is a global variable because those go into unique `common' sections
|
|
||||||
and the section name is globally visible. For local variables, we simply
|
|
||||||
output the label. In any case, we have to record that no extern
|
|
||||||
declaration should be generated for the symbol. */
|
|
||||||
|
|
||||||
#define ASM_DECLARE_OBJECT_NAME(STREAM,NAME,DECL) \
|
|
||||||
do { tree name_tree; \
|
|
||||||
name_tree = get_identifier ((NAME)); \
|
|
||||||
TREE_ASM_WRITTEN (name_tree) = 1; \
|
|
||||||
if (!TREE_PUBLIC (DECL)) \
|
|
||||||
{ \
|
|
||||||
assemble_name (STREAM, NAME); \
|
|
||||||
fputs (":\n", STREAM); \
|
|
||||||
} \
|
|
||||||
} while(0)
|
|
||||||
|
|
||||||
/* Switch into a generic section. */
|
|
||||||
#define TARGET_ASM_NAMED_SECTION unicosmk_asm_named_section
|
|
||||||
#define TARGET_ASM_INIT_SECTIONS unicosmk_init_sections
|
|
||||||
|
|
||||||
#undef ASM_OUTPUT_MAX_SKIP_ALIGN
|
|
||||||
#define ASM_OUTPUT_MAX_SKIP_ALIGN(STREAM,POWER,MAXSKIP)
|
|
||||||
|
|
||||||
#undef NM_FLAGS
|
|
||||||
|
|
||||||
#undef OBJECT_FORMAT_COFF
|
|
||||||
|
|
||||||
/* We cannot generate debugging information on Unicos/Mk. */
|
|
||||||
|
|
||||||
#undef SDB_DEBUGGING_INFO
|
|
||||||
#undef MIPS_DEBUGGING_INFO
|
|
||||||
#undef DBX_DEBUGGING_INFO
|
|
||||||
#undef DWARF2_DEBUGGING_INFO
|
|
||||||
#undef DWARF2_UNWIND_INFO
|
|
||||||
#undef INCOMING_RETURN_ADDR_RTX
|
|
||||||
#undef PREFERRED_DEBUGGING_TYPE
|
|
||||||
|
|
||||||
/* We don't need a start file. */
|
|
||||||
|
|
||||||
#undef STARTFILE_SPEC
|
|
||||||
#define STARTFILE_SPEC ""
|
|
||||||
|
|
||||||
/* These are the libraries we have to link with.
|
|
||||||
??? The Craylibs directory should be autoconfed. */
|
|
||||||
#undef LIB_SPEC
|
|
||||||
#define LIB_SPEC "-L/opt/ctl/craylibs/craylibs -lu -lm -lc -lsma"
|
|
||||||
|
|
||||||
#define EH_FRAME_IN_DATA_SECTION 1
|
|
@ -1,23 +0,0 @@
|
|||||||
/* Definitions of target machine for GNU compiler.
|
|
||||||
kaOS on arm architecture version.
|
|
||||||
Copyright (C) 2003, 2007 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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 3, or (at your option)
|
|
||||||
any later version.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
#undef TARGET_VERSION
|
|
||||||
#define TARGET_VERSION fputs (" (ARM/kaOS[ELF])", stderr);
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
|||||||
/* Definitions of target machine for GNU compiler.
|
|
||||||
kaOS on strongarm architecture version.
|
|
||||||
Copyright (C) 2003, 2007 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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 3, or (at your option)
|
|
||||||
any later version.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
#undef TARGET_VERSION
|
|
||||||
#define TARGET_VERSION fputs (" (StrongARM/kaOS[ELF])", stderr);
|
|
||||||
|
|
@ -1,27 +0,0 @@
|
|||||||
/* Definitions for StrongARM systems using COFF
|
|
||||||
Copyright (C) 1999, 2007 Free Software Foundation, Inc.
|
|
||||||
Contributed by Catherine Moore <clm@cygnus.com>
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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 3, or (at your
|
|
||||||
option) any later version.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
/* Run-time Target Specification. */
|
|
||||||
#ifndef SUBTARGET_CPU_DEFAULT
|
|
||||||
#define SUBTARGET_CPU_DEFAULT TARGET_CPU_strongarm
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#undef TARGET_VERSION
|
|
||||||
#define TARGET_VERSION fputs (" (StrongARM/COFF)", stderr);
|
|
@ -1,29 +0,0 @@
|
|||||||
/* Definitions for non-Linux based StrongARM systems using ELF
|
|
||||||
Copyright (C) 1999, 2001, 2007 Free Software Foundation, Inc.
|
|
||||||
Contributed by Catherine Moore <clm@cygnus.com>
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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 3, or (at your
|
|
||||||
option) any later version.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
/* Run-time Target Specification. */
|
|
||||||
#ifndef TARGET_VERSION
|
|
||||||
#define TARGET_VERSION fputs (" (StrongARM/ELF non-Linux)", stderr);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef SUBTARGET_CPU_DEFAULT
|
|
||||||
#define SUBTARGET_CPU_DEFAULT TARGET_CPU_strongarm
|
|
||||||
#endif
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
|||||||
/* Definitions of target machine for GNU compiler, for ARM with PE obj format.
|
|
||||||
Copyright (C) 1999, 2007 Free Software Foundation, Inc.
|
|
||||||
Contributed by Doug Evans (dje@cygnus.com).
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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 3, or (at your
|
|
||||||
option) any later version.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
#undef TARGET_VERSION
|
|
||||||
#define TARGET_VERSION fputs (" (StrongARM/PE)", stderr);
|
|
@ -1,38 +0,0 @@
|
|||||||
LIB1ASMSRC = arm/lib1funcs.asm
|
|
||||||
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func
|
|
||||||
|
|
||||||
# We want fine grained libraries, so use the new code to build the
|
|
||||||
# floating point emulation libraries.
|
|
||||||
FPBIT = fp-bit.c
|
|
||||||
DPBIT = dp-bit.c
|
|
||||||
|
|
||||||
fp-bit.c: $(srcdir)/config/fp-bit.c
|
|
||||||
echo '#define FLOAT' > fp-bit.c
|
|
||||||
echo '#ifndef __ARMEB__' >> fp-bit.c
|
|
||||||
echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c
|
|
||||||
echo '#endif' >> fp-bit.c
|
|
||||||
cat $(srcdir)/config/fp-bit.c >> fp-bit.c
|
|
||||||
|
|
||||||
dp-bit.c: $(srcdir)/config/fp-bit.c
|
|
||||||
echo '#ifndef __ARMEB__' > dp-bit.c
|
|
||||||
echo '#define FLOAT_BIT_ORDER_MISMATCH' >> dp-bit.c
|
|
||||||
echo '#define FLOAT_WORD_ORDER_MISMATCH' >> dp-bit.c
|
|
||||||
echo '#endif' >> dp-bit.c
|
|
||||||
cat $(srcdir)/config/fp-bit.c >> dp-bit.c
|
|
||||||
|
|
||||||
pe.o: $(srcdir)/config/arm/pe.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
|
|
||||||
$(RTL_H) output.h flags.h $(TREE_H) expr.h toplev.h $(TM_P_H)
|
|
||||||
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(srcdir)/config/arm/pe.c
|
|
||||||
|
|
||||||
MULTILIB_OPTIONS = mhard-float/msoft-float
|
|
||||||
MULTILIB_DIRNAMES = fpu soft
|
|
||||||
MULTILIB_MATCHES =
|
|
||||||
EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o
|
|
||||||
|
|
||||||
LIBGCC = stmp-multilib
|
|
||||||
INSTALL_LIBGCC = install-multilib
|
|
||||||
|
|
||||||
# Currently there is a bug somewhere in GCC's alias analysis
|
|
||||||
# or scheduling code that is breaking _fpmul_parts in fp-bit.c.
|
|
||||||
# Disabling function inlining is a workaround for this problem.
|
|
||||||
TARGET_LIBGCC2_CFLAGS = -fno-inline
|
|
@ -1,45 +0,0 @@
|
|||||||
LIB1ASMSRC = arm/lib1funcs.asm
|
|
||||||
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX
|
|
||||||
|
|
||||||
# We want fine grained libraries, so use the new code to build the
|
|
||||||
# floating point emulation libraries.
|
|
||||||
FPBIT = fp-bit.c
|
|
||||||
DPBIT = dp-bit.c
|
|
||||||
|
|
||||||
fp-bit.c: $(srcdir)/config/fp-bit.c
|
|
||||||
echo '#define FLOAT' > fp-bit.c
|
|
||||||
echo '#ifndef __ARMEB__' >> fp-bit.c
|
|
||||||
echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c
|
|
||||||
echo '#endif' >> fp-bit.c
|
|
||||||
cat $(srcdir)/config/fp-bit.c >> fp-bit.c
|
|
||||||
|
|
||||||
dp-bit.c: $(srcdir)/config/fp-bit.c
|
|
||||||
echo '#ifndef __ARMEB__' > dp-bit.c
|
|
||||||
echo '#define FLOAT_BIT_ORDER_MISMATCH' >> dp-bit.c
|
|
||||||
echo '#define FLOAT_WORD_ORDER_MISMATCH' >> dp-bit.c
|
|
||||||
echo '#endif' >> dp-bit.c
|
|
||||||
cat $(srcdir)/config/fp-bit.c >> dp-bit.c
|
|
||||||
|
|
||||||
MULTILIB_OPTIONS = mbig-endian
|
|
||||||
MULTILIB_DIRNAMES = be
|
|
||||||
MULTILIB_EXCEPTIONS =
|
|
||||||
MULTILIB_MATCHES = mbig-endian=mbe mlittle-endian=mle
|
|
||||||
|
|
||||||
# Note XScale does not support hard FP
|
|
||||||
|
|
||||||
MULTILIB_OPTIONS += mthumb-interwork
|
|
||||||
MULTILIB_DIRNAMES += interwork
|
|
||||||
|
|
||||||
MULTILIB_OPTIONS += mthumb
|
|
||||||
MULTILIB_DIRNAMES += thumb
|
|
||||||
MULTILIB_EXCEPTIONS += *mhard-float/*mthumb*
|
|
||||||
|
|
||||||
MULTILIB_REDUNDANT_DIRS = interwork/thumb=thumb
|
|
||||||
|
|
||||||
LIBGCC = stmp-multilib
|
|
||||||
INSTALL_LIBGCC = install-multilib
|
|
||||||
|
|
||||||
# Currently there is a bug somewhere in GCC's alias analysis
|
|
||||||
# or scheduling code that is breaking _fpmul_parts in fp-bit.c.
|
|
||||||
# Disabling function inlining is a workaround for this problem.
|
|
||||||
TARGET_LIBGCC2_CFLAGS = -fno-inline
|
|
@ -1,66 +0,0 @@
|
|||||||
LIB1ASMSRC = arm/lib1funcs.asm
|
|
||||||
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX
|
|
||||||
|
|
||||||
# We want fine grained libraries, so use the new code to build the
|
|
||||||
# floating point emulation libraries.
|
|
||||||
FPBIT = fp-bit.c
|
|
||||||
DPBIT = dp-bit.c
|
|
||||||
|
|
||||||
fp-bit.c: $(srcdir)/config/fp-bit.c
|
|
||||||
echo '#define FLOAT' > fp-bit.c
|
|
||||||
echo '#ifndef __ARMEB__' >> fp-bit.c
|
|
||||||
echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c
|
|
||||||
echo '#endif' >> fp-bit.c
|
|
||||||
cat $(srcdir)/config/fp-bit.c >> fp-bit.c
|
|
||||||
|
|
||||||
dp-bit.c: $(srcdir)/config/fp-bit.c
|
|
||||||
echo '#ifndef __ARMEB__' > dp-bit.c
|
|
||||||
echo '#define FLOAT_BIT_ORDER_MISMATCH' >> dp-bit.c
|
|
||||||
echo '#define FLOAT_WORD_ORDER_MISMATCH' >> dp-bit.c
|
|
||||||
echo '#endif' >> dp-bit.c
|
|
||||||
cat $(srcdir)/config/fp-bit.c >> dp-bit.c
|
|
||||||
|
|
||||||
MULTILIB_OPTIONS = mbig-endian
|
|
||||||
MULTILIB_DIRNAMES = be
|
|
||||||
MULTILIB_EXCEPTIONS =
|
|
||||||
MULTILIB_MATCHES = mbig-endian=mbe mlittle-endian=mle
|
|
||||||
|
|
||||||
# Note XScale does not support hard FP
|
|
||||||
|
|
||||||
MULTILIB_OPTIONS += mthumb-interwork
|
|
||||||
MULTILIB_DIRNAMES += interwork
|
|
||||||
|
|
||||||
MULTILIB_OPTIONS += mthumb
|
|
||||||
MULTILIB_DIRNAMES += thumb
|
|
||||||
MULTILIB_EXCEPTIONS += *mhard-float/*mthumb*
|
|
||||||
|
|
||||||
MULTILIB_REDUNDANT_DIRS = interwork/thumb=thumb
|
|
||||||
|
|
||||||
# The iWMMXt multilibs are suppressed for now because gcc only
|
|
||||||
# supports generating them with the IWMMXT or AAPCS ABIs, neither of
|
|
||||||
# which is the default. Until GCC can generate code for an iWMMXt
|
|
||||||
# which will work with the default ABI it is not possible to safely
|
|
||||||
# generate these multilibs.
|
|
||||||
#
|
|
||||||
# MULTILIB_OPTIONS += mcpu=iwmmxt
|
|
||||||
# MULTILIB_DIRNAMES += iwmmxt
|
|
||||||
# MULTILIB_REDUNDANT_DIRS += interwork/thumb/iwmmxt=thumb
|
|
||||||
|
|
||||||
EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o crti.o crtn.o
|
|
||||||
|
|
||||||
LIBGCC = stmp-multilib
|
|
||||||
INSTALL_LIBGCC = install-multilib
|
|
||||||
|
|
||||||
# Currently there is a bug somewhere in GCC's alias analysis
|
|
||||||
# or scheduling code that is breaking _fpmul_parts in fp-bit.c.
|
|
||||||
# Disabling function inlining is a workaround for this problem.
|
|
||||||
TARGET_LIBGCC2_CFLAGS = -fno-inline
|
|
||||||
|
|
||||||
# Assemble startup files.
|
|
||||||
$(T)crti.o: $(srcdir)/config/arm/crti.asm $(GCC_PASSES)
|
|
||||||
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \
|
|
||||||
-c -o $(T)crti.o -x assembler-with-cpp $(srcdir)/config/arm/crti.asm
|
|
||||||
|
|
||||||
$(T)crtn.o: $(srcdir)/config/arm/crtn.asm $(GCC_PASSES)
|
|
||||||
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \
|
|
||||||
-c -o $(T)crtn.o -x assembler-with-cpp $(srcdir)/config/arm/crtn.asm
|
|
@ -1,33 +0,0 @@
|
|||||||
/* Definitions for XScale systems using COFF
|
|
||||||
Copyright (C) 1999, 2000, 2001, 2007 Free Software Foundation, Inc.
|
|
||||||
Contributed by Catherine Moore <clm@cygnus.com>
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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 3, or (at your
|
|
||||||
option) any later version.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
/* Run-time Target Specification. */
|
|
||||||
#undef SUBTARGET_CPU_DEFAULT
|
|
||||||
#define SUBTARGET_CPU_DEFAULT TARGET_CPU_xscale
|
|
||||||
|
|
||||||
#undef SUBTARGET_EXTRA_ASM_SPEC
|
|
||||||
#define SUBTARGET_EXTRA_ASM_SPEC "%{!mcpu=*:-mcpu=xscale}"
|
|
||||||
|
|
||||||
#undef MULTILIB_DEFAULTS
|
|
||||||
#define MULTILIB_DEFAULTS \
|
|
||||||
{ "mlittle-endian", "mno-thumb-interwork", "marm" }
|
|
||||||
|
|
||||||
#undef TARGET_VERSION
|
|
||||||
#define TARGET_VERSION fputs (" (XScale/COFF)", stderr);
|
|
@ -1,58 +0,0 @@
|
|||||||
/* Definitions for XScale architectures using ELF
|
|
||||||
Copyright (C) 1999, 2000, 2001, 2007 Free Software Foundation, Inc.
|
|
||||||
Contributed by Catherine Moore <clm@cygnus.com>
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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 3, or (at your
|
|
||||||
option) any later version.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
/* Run-time Target Specification. */
|
|
||||||
#ifndef TARGET_VERSION
|
|
||||||
#define TARGET_VERSION fputs (" (XScale/ELF non-Linux)", stderr);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef SUBTARGET_CPU_DEFAULT
|
|
||||||
#define SUBTARGET_CPU_DEFAULT TARGET_CPU_xscale
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Note - there are three possible -mfpu= arguments that can be passed to
|
|
||||||
the assembler:
|
|
||||||
|
|
||||||
-mfpu=softvfp This is the default. It indicates thats doubles are
|
|
||||||
stored in a format compatible with the VFP
|
|
||||||
specification. This is the newer double format, whereby
|
|
||||||
the endian-ness of the doubles matches the endian-ness
|
|
||||||
of the memory architecture.
|
|
||||||
|
|
||||||
-mfpu=fpa This is when -mhard-float is specified.
|
|
||||||
[It is not known if any XScale's have been made with
|
|
||||||
hardware floating point support, but nevertheless this
|
|
||||||
is what happens].
|
|
||||||
|
|
||||||
-mfpu=softfpa This is when -msoft-float is specified.
|
|
||||||
This is the normal behavior of other arm configurations,
|
|
||||||
which for backwards compatibility purposes default to
|
|
||||||
supporting the old FPA format which was always big
|
|
||||||
endian, regardless of the endian-ness of the memory
|
|
||||||
system. */
|
|
||||||
|
|
||||||
#define SUBTARGET_EXTRA_ASM_SPEC "%{!mcpu=*:-mcpu=xscale} \
|
|
||||||
%{mhard-float:-mfpu=fpa} \
|
|
||||||
%{!mhard-float: %{msoft-float:-mfpu=softfpa;:-mfpu=softvfp}}"
|
|
||||||
|
|
||||||
#ifndef MULTILIB_DEFAULTS
|
|
||||||
#define MULTILIB_DEFAULTS \
|
|
||||||
{ "mlittle-endian", "mno-thumb-interwork", "marm", "msoft-float" }
|
|
||||||
#endif
|
|
@ -1,40 +0,0 @@
|
|||||||
/* Definitions of target machine for GNU compiler.
|
|
||||||
Sun Chorus OS big-endian
|
|
||||||
Copyright (c) 2001, 2007 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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 3, or (at your option)
|
|
||||||
any later version.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
#define DWARF2_DEBUGGING_INFO 1
|
|
||||||
|
|
||||||
#undef PREFERRED_DEBUGGING_TYPE
|
|
||||||
#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
|
|
||||||
|
|
||||||
#undef TARGET_VERSION
|
|
||||||
#define TARGET_VERSION fprintf (stderr, " (Sun Chorus OS Embedded)");
|
|
||||||
|
|
||||||
#undef SIZE_TYPE
|
|
||||||
#define SIZE_TYPE "unsigned int"
|
|
||||||
|
|
||||||
#undef PTRDIFF_TYPE
|
|
||||||
#define PTRDIFF_TYPE "int"
|
|
||||||
|
|
||||||
/* Type used for wchar_t, as a string used in a declaration. */
|
|
||||||
#undef WCHAR_TYPE
|
|
||||||
#define WCHAR_TYPE "int"
|
|
||||||
|
|
||||||
#undef LINK_SPEC
|
|
||||||
#define LINK_SPEC ""
|
|
@ -1,391 +0,0 @@
|
|||||||
/* Definitions for GCC. Part of the machine description for CRIS.
|
|
||||||
Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
|
|
||||||
Contributed by Axis Communications. Written by Hans-Peter Nilsson.
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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 3, or (at your option)
|
|
||||||
any later version.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
/* After the first "Node:" comment comes all preprocessor directives and
|
|
||||||
attached declarations described in the info files, the "Using and
|
|
||||||
Porting GCC" manual (uapgcc), in the same order as found in the "Target
|
|
||||||
macros" section in the gcc-2.9x CVS edition of 2000-03-17. FIXME: Not
|
|
||||||
really, but needs an update anyway.
|
|
||||||
|
|
||||||
There is no generic copy-of-uapgcc comment, you'll have to see uapgcc
|
|
||||||
for that. If applicable, there is a CRIS-specific comment. The order
|
|
||||||
of macro definitions follow the order in the manual. Every section in
|
|
||||||
the manual (node in the info pages) has an introductory `Node:
|
|
||||||
<subchapter>' comment. If no macros are defined for a section, only
|
|
||||||
the section-comment is present. */
|
|
||||||
|
|
||||||
/* This file defines the macros for a.out that are not covered by cris.h.
|
|
||||||
Many macros are copied from elfos.h and should be in some generic
|
|
||||||
config/gas-aout.h. */
|
|
||||||
|
|
||||||
/* Node: Driver */
|
|
||||||
|
|
||||||
#undef STARTFILE_SPEC
|
|
||||||
#define STARTFILE_SPEC \
|
|
||||||
"%{melinux:crt0.o%s}\
|
|
||||||
%{!melinux:%{sim*:crt1.o%s}%{!sim*:crt0.o%s}}"
|
|
||||||
|
|
||||||
/* Override cris.h define. */
|
|
||||||
#undef ENDFILE_SPEC
|
|
||||||
|
|
||||||
#undef CRIS_CPP_SUBTARGET_SPEC
|
|
||||||
#define CRIS_CPP_SUBTARGET_SPEC \
|
|
||||||
"%{melinux:-D__gnu_linux__ -D__linux__ -D__unix__ -D__elinux__ -D__uclinux__\
|
|
||||||
%{!ansi:%{!std=*:%{!undef:-Dlinux -Dunix -Delinux -Duclinux}}}}\
|
|
||||||
%{mbest-lib-options:\
|
|
||||||
%{!moverride-best-lib-options:\
|
|
||||||
%{!march=*:%{!metrax*:%{!mcpu=*:-D__tune_v8 -D__CRIS_arch_tune=8}}}}}"
|
|
||||||
|
|
||||||
#undef CRIS_CC1_SUBTARGET_SPEC
|
|
||||||
#define CRIS_CC1_SUBTARGET_SPEC \
|
|
||||||
"%{mbest-lib-options:\
|
|
||||||
%{!moverride-best-lib-options:\
|
|
||||||
%{!march=*:%{!mcpu=*:-mtune=v8}}}}"
|
|
||||||
|
|
||||||
#undef CRIS_ASM_SUBTARGET_SPEC
|
|
||||||
#define CRIS_ASM_SUBTARGET_SPEC "--em=crisaout"
|
|
||||||
|
|
||||||
#undef CRIS_LINK_SUBTARGET_SPEC
|
|
||||||
#define CRIS_LINK_SUBTARGET_SPEC \
|
|
||||||
"-mcrisaout\
|
|
||||||
%{sim2:%{!T*:-Tdata 0x4000000 -Tbss 0x8000000}}\
|
|
||||||
%{melinux:-Ur -d\
|
|
||||||
%{!shlib:%{!symbolic:-Bstatic}}\
|
|
||||||
%{shlib:-Bdynamic}\
|
|
||||||
%{symbolic:-Bdynamic}\
|
|
||||||
%{static:-Bstatic}}\
|
|
||||||
%{melinux-stacksize=*:-defsym __Stacksize=%*}"
|
|
||||||
|
|
||||||
/* Previously controlled by target_flags. */
|
|
||||||
#undef TARGET_ELF
|
|
||||||
#define TARGET_ELF 0
|
|
||||||
|
|
||||||
#undef CRIS_SUBTARGET_HANDLE_OPTION
|
|
||||||
#define CRIS_SUBTARGET_HANDLE_OPTION(CODE, ARG, VALUE) \
|
|
||||||
do \
|
|
||||||
{ \
|
|
||||||
switch (CODE) \
|
|
||||||
{ \
|
|
||||||
case OPT_melinux: \
|
|
||||||
target_flags \
|
|
||||||
|= (MASK_SVINTO \
|
|
||||||
+ MASK_STACK_ALIGN \
|
|
||||||
+ MASK_CONST_ALIGN \
|
|
||||||
+ MASK_DATA_ALIGN \
|
|
||||||
+ MASK_ETRAX4_ADD \
|
|
||||||
+ MASK_ALIGN_BY_32); \
|
|
||||||
break; \
|
|
||||||
\
|
|
||||||
default: \
|
|
||||||
break; \
|
|
||||||
} \
|
|
||||||
} \
|
|
||||||
while (0)
|
|
||||||
|
|
||||||
#undef CRIS_SUBTARGET_DEFAULT
|
|
||||||
#define CRIS_SUBTARGET_DEFAULT 0
|
|
||||||
|
|
||||||
|
|
||||||
/* Node: Run-time Target */
|
|
||||||
|
|
||||||
/* For the cris-*-aout subtarget. */
|
|
||||||
#undef TARGET_OS_CPP_BUILTINS
|
|
||||||
#define TARGET_OS_CPP_BUILTINS() \
|
|
||||||
do \
|
|
||||||
{ \
|
|
||||||
builtin_define ("__AOUT__"); \
|
|
||||||
} \
|
|
||||||
while (0)
|
|
||||||
|
|
||||||
|
|
||||||
/* Node: Storage Layout */
|
|
||||||
|
|
||||||
/* All sections but the .bss is rounded up to a 4-byte multiple size. */
|
|
||||||
#define MAX_OFILE_ALIGNMENT 32
|
|
||||||
|
|
||||||
|
|
||||||
/* Node: Data Output */
|
|
||||||
|
|
||||||
#define ESCAPES \
|
|
||||||
"\1\1\1\1\1\1\1\1btn\1fr\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\
|
|
||||||
\0\0\"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
|
|
||||||
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\\\0\0\0\
|
|
||||||
\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\
|
|
||||||
\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\
|
|
||||||
\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\
|
|
||||||
\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\
|
|
||||||
\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1"
|
|
||||||
|
|
||||||
/* Some svr4 assemblers have a limit on the number of characters which
|
|
||||||
can appear in the operand of a .string directive. If your assembler
|
|
||||||
has such a limitation, you should define STRING_LIMIT to reflect that
|
|
||||||
limit. Note that at least some svr4 assemblers have a limit on the
|
|
||||||
actual number of bytes in the double-quoted string, and that they
|
|
||||||
count each character in an escape sequence as one byte. Thus, an
|
|
||||||
escape sequence like \377 would count as four bytes.
|
|
||||||
|
|
||||||
If your target assembler doesn't support the .string directive, you
|
|
||||||
should define this to zero. */
|
|
||||||
|
|
||||||
#define STRING_LIMIT ((unsigned) 256)
|
|
||||||
|
|
||||||
#define STRING_ASM_OP "\t.string\t"
|
|
||||||
#define ASCII_DATA_ASM_OP "\t.ascii\t"
|
|
||||||
#define TYPE_ASM_OP "\t.type\t"
|
|
||||||
#define SIZE_ASM_OP "\t.size\t"
|
|
||||||
#define TYPE_OPERAND_FMT "@%s"
|
|
||||||
|
|
||||||
/* The routine used to output NUL terminated strings. We use a special
|
|
||||||
version of this for most svr4 targets because doing so makes the
|
|
||||||
generated assembly code more compact (and thus faster to assemble)
|
|
||||||
as well as more readable, especially for targets like the i386
|
|
||||||
(where the only alternative is to output character sequences as
|
|
||||||
comma separated lists of numbers). */
|
|
||||||
|
|
||||||
#define ASM_OUTPUT_LIMITED_STRING(FILE, STR) \
|
|
||||||
do \
|
|
||||||
{ \
|
|
||||||
register const unsigned char *_limited_str = \
|
|
||||||
(const unsigned char *) (STR); \
|
|
||||||
register unsigned ch; \
|
|
||||||
\
|
|
||||||
fprintf ((FILE), "%s\"", STRING_ASM_OP); \
|
|
||||||
\
|
|
||||||
for (; (ch = *_limited_str); _limited_str++) \
|
|
||||||
{ \
|
|
||||||
register int escape; \
|
|
||||||
\
|
|
||||||
switch (escape = ESCAPES[ch]) \
|
|
||||||
{ \
|
|
||||||
case 0: \
|
|
||||||
putc (ch, (FILE)); \
|
|
||||||
break; \
|
|
||||||
case 1: \
|
|
||||||
fprintf ((FILE), "\\%03o", ch); \
|
|
||||||
break; \
|
|
||||||
default: \
|
|
||||||
putc ('\\', (FILE)); \
|
|
||||||
putc (escape, (FILE)); \
|
|
||||||
break; \
|
|
||||||
} \
|
|
||||||
} \
|
|
||||||
\
|
|
||||||
fprintf ((FILE), "\"\n"); \
|
|
||||||
} \
|
|
||||||
while (0)
|
|
||||||
|
|
||||||
/* The routine used to output sequences of byte values. We use a special
|
|
||||||
version of this for most svr4 targets because doing so makes the
|
|
||||||
generated assembly code more compact (and thus faster to assemble)
|
|
||||||
as well as more readable. Note that if we find subparts of the
|
|
||||||
character sequence which end with NUL (and which are shorter than
|
|
||||||
STRING_LIMIT) we output those using ASM_OUTPUT_LIMITED_STRING. */
|
|
||||||
|
|
||||||
#undef ASM_OUTPUT_ASCII
|
|
||||||
#define ASM_OUTPUT_ASCII(FILE, STR, LENGTH) \
|
|
||||||
do \
|
|
||||||
{ \
|
|
||||||
register const unsigned char *_ascii_bytes = \
|
|
||||||
(const unsigned char *) (STR); \
|
|
||||||
register const unsigned char *limit = _ascii_bytes + (LENGTH); \
|
|
||||||
register unsigned bytes_in_chunk = 0; \
|
|
||||||
\
|
|
||||||
for (; _ascii_bytes < limit; _ascii_bytes++) \
|
|
||||||
{ \
|
|
||||||
register const unsigned char *p; \
|
|
||||||
\
|
|
||||||
if (bytes_in_chunk >= 60) \
|
|
||||||
{ \
|
|
||||||
fprintf ((FILE), "\"\n"); \
|
|
||||||
bytes_in_chunk = 0; \
|
|
||||||
} \
|
|
||||||
\
|
|
||||||
for (p = _ascii_bytes; p < limit && *p != '\0'; p++) \
|
|
||||||
continue; \
|
|
||||||
\
|
|
||||||
if (p < limit && (p - _ascii_bytes) <= (long)STRING_LIMIT) \
|
|
||||||
{ \
|
|
||||||
if (bytes_in_chunk > 0) \
|
|
||||||
{ \
|
|
||||||
fprintf ((FILE), "\"\n"); \
|
|
||||||
bytes_in_chunk = 0; \
|
|
||||||
} \
|
|
||||||
\
|
|
||||||
ASM_OUTPUT_LIMITED_STRING ((FILE), _ascii_bytes); \
|
|
||||||
_ascii_bytes = p; \
|
|
||||||
} \
|
|
||||||
else \
|
|
||||||
{ \
|
|
||||||
register int escape; \
|
|
||||||
register unsigned ch; \
|
|
||||||
\
|
|
||||||
if (bytes_in_chunk == 0) \
|
|
||||||
fprintf ((FILE), "%s\"", ASCII_DATA_ASM_OP); \
|
|
||||||
\
|
|
||||||
switch (escape = ESCAPES[ch = *_ascii_bytes]) \
|
|
||||||
{ \
|
|
||||||
case 0: \
|
|
||||||
putc (ch, (FILE)); \
|
|
||||||
bytes_in_chunk++; \
|
|
||||||
break; \
|
|
||||||
case 1: \
|
|
||||||
fprintf ((FILE), "\\%03o", ch); \
|
|
||||||
bytes_in_chunk += 4; \
|
|
||||||
break; \
|
|
||||||
default: \
|
|
||||||
putc ('\\', (FILE)); \
|
|
||||||
putc (escape, (FILE)); \
|
|
||||||
bytes_in_chunk += 2; \
|
|
||||||
break; \
|
|
||||||
} \
|
|
||||||
} \
|
|
||||||
} \
|
|
||||||
\
|
|
||||||
if (bytes_in_chunk > 0) \
|
|
||||||
fprintf ((FILE), "\"\n"); \
|
|
||||||
} \
|
|
||||||
while (0)
|
|
||||||
|
|
||||||
|
|
||||||
/* Node: Label Output */
|
|
||||||
|
|
||||||
#define SET_ASM_OP "\t.set\t"
|
|
||||||
|
|
||||||
#define ASM_OUTPUT_EXTERNAL_LIBCALL(FILE, FUN) \
|
|
||||||
(*targetm.asm_out.globalize_label) (FILE, XSTR (FUN, 0))
|
|
||||||
|
|
||||||
#define ASM_WEAKEN_LABEL(FILE, NAME) \
|
|
||||||
do \
|
|
||||||
{ \
|
|
||||||
fputs ("\t.weak\t", (FILE)); \
|
|
||||||
assemble_name ((FILE), (NAME)); \
|
|
||||||
fputc ('\n', (FILE)); \
|
|
||||||
} \
|
|
||||||
while (0)
|
|
||||||
|
|
||||||
#define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL) \
|
|
||||||
do \
|
|
||||||
{ \
|
|
||||||
ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "function"); \
|
|
||||||
ASM_OUTPUT_LABEL(FILE, NAME); \
|
|
||||||
} \
|
|
||||||
while (0)
|
|
||||||
|
|
||||||
#define ASM_DECLARE_OBJECT_NAME(FILE, NAME, DECL) \
|
|
||||||
do \
|
|
||||||
{ \
|
|
||||||
HOST_WIDE_INT size; \
|
|
||||||
\
|
|
||||||
ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "object"); \
|
|
||||||
\
|
|
||||||
size_directive_output = 0; \
|
|
||||||
if (!flag_inhibit_size_directive \
|
|
||||||
&& (DECL) && DECL_SIZE (DECL)) \
|
|
||||||
{ \
|
|
||||||
size_directive_output = 1; \
|
|
||||||
size = int_size_in_bytes (TREE_TYPE (DECL)); \
|
|
||||||
ASM_OUTPUT_SIZE_DIRECTIVE (FILE, NAME, size); \
|
|
||||||
} \
|
|
||||||
\
|
|
||||||
ASM_OUTPUT_LABEL (FILE, NAME); \
|
|
||||||
} \
|
|
||||||
while (0)
|
|
||||||
|
|
||||||
#undef ASM_FINISH_DECLARE_OBJECT
|
|
||||||
#define ASM_FINISH_DECLARE_OBJECT(FILE, DECL, TOP_LEVEL, AT_END)\
|
|
||||||
do \
|
|
||||||
{ \
|
|
||||||
const char *name = XSTR (XEXP (DECL_RTL (DECL), 0), 0); \
|
|
||||||
HOST_WIDE_INT size; \
|
|
||||||
\
|
|
||||||
if (!flag_inhibit_size_directive \
|
|
||||||
&& DECL_SIZE (DECL) \
|
|
||||||
&& ! AT_END && TOP_LEVEL \
|
|
||||||
&& DECL_INITIAL (DECL) == error_mark_node \
|
|
||||||
&& !size_directive_output) \
|
|
||||||
{ \
|
|
||||||
size_directive_output = 1; \
|
|
||||||
size = int_size_in_bytes (TREE_TYPE (DECL)); \
|
|
||||||
ASM_OUTPUT_SIZE_DIRECTIVE (FILE, name, size); \
|
|
||||||
} \
|
|
||||||
} \
|
|
||||||
while (0)
|
|
||||||
|
|
||||||
#define ASM_DECLARE_FUNCTION_SIZE(FILE, FNAME, DECL) \
|
|
||||||
do \
|
|
||||||
{ \
|
|
||||||
if (!flag_inhibit_size_directive) \
|
|
||||||
ASM_OUTPUT_MEASURED_SIZE (FILE, FNAME); \
|
|
||||||
} \
|
|
||||||
while (0)
|
|
||||||
|
|
||||||
/* The configure machinery invokes the assembler without options, which is
|
|
||||||
not how gcc invokes it. Without options, the multi-target assembler
|
|
||||||
will probably be found, which is ELF by default. To counter that, we
|
|
||||||
need to override ELF auto-host.h config stuff which we know collides
|
|
||||||
with a.out. */
|
|
||||||
#undef HAVE_GAS_HIDDEN
|
|
||||||
|
|
||||||
|
|
||||||
/* Node: Alignment Output */
|
|
||||||
|
|
||||||
#define SKIP_ASM_OP "\t.zero\t"
|
|
||||||
|
|
||||||
#undef ASM_OUTPUT_SKIP
|
|
||||||
#define ASM_OUTPUT_SKIP(FILE, SIZE) \
|
|
||||||
fprintf (FILE, "%s%u\n", SKIP_ASM_OP, (int)(SIZE))
|
|
||||||
|
|
||||||
/* Node: All Debuggers */
|
|
||||||
|
|
||||||
#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
|
|
||||||
|
|
||||||
|
|
||||||
/* Node: Misc */
|
|
||||||
|
|
||||||
#define HANDLE_SYSV_PRAGMA 1
|
|
||||||
|
|
||||||
/* In theory, this one isn't necessary, but over time, external tools have
|
|
||||||
been primed on names with "." rather than "$". */
|
|
||||||
#define NO_DOLLAR_IN_LABEL
|
|
||||||
|
|
||||||
/* These are undocumented, but to keep a single
|
|
||||||
CRIS_ASM_OUTPUT_ALIGNED_DECL_COMMON, we set this to an asm that will
|
|
||||||
emit an error if ever output. It will not be emitted for a.out modulo
|
|
||||||
careless hacking. */
|
|
||||||
#define COMMON_ASM_OP "\t.err\t"
|
|
||||||
#define LOCAL_ASM_OP "\t.err\t"
|
|
||||||
|
|
||||||
#if defined(__CRIS__) && defined (__AOUT__) && defined (IN_GCC)
|
|
||||||
|
|
||||||
#define CRIS_ABI_VERSION_SYMBOL_STRING ".$CRIS_ABI_V2"
|
|
||||||
|
|
||||||
/* Make all a.out library functions have undefined references to the
|
|
||||||
.$CRIS_ABI_V2 symbol, so it will be picked up. Used by GDB. GDB has
|
|
||||||
a bug with reading a.out symbols; it does not see the GNU weak
|
|
||||||
extensions, so we can't have .$CRIS_ABI_V2 weak. Weak. */
|
|
||||||
__asm__ (".set .$abi_referer," CRIS_ABI_VERSION_SYMBOL_STRING);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Local variables:
|
|
||||||
* eval: (c-set-style "gnu")
|
|
||||||
* indent-tabs-mode: t
|
|
||||||
* End:
|
|
||||||
*/
|
|
@ -1,33 +0,0 @@
|
|||||||
; a.out-specific options for the CRIS port of the compiler.
|
|
||||||
|
|
||||||
; Copyright (C) 2005, 2007 Free Software Foundation, Inc.
|
|
||||||
;
|
|
||||||
; This file is part of GCC.
|
|
||||||
;
|
|
||||||
; 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 3, or (at your option) any later
|
|
||||||
; version.
|
|
||||||
;
|
|
||||||
; 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.
|
|
||||||
;
|
|
||||||
; You should have received a copy of the GNU General Public License
|
|
||||||
; along with GCC; see the file COPYING3. If not see
|
|
||||||
; <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
; Legacy option.
|
|
||||||
maout
|
|
||||||
Target Report RejectNegative Undocumented
|
|
||||||
|
|
||||||
melinux
|
|
||||||
Target Report RejectNegative
|
|
||||||
Compile for the MMU-less Etrax 100-based elinux system
|
|
||||||
|
|
||||||
;; We don't parse it currently; it's just passed on to the linker.
|
|
||||||
;; We might want to do something here someday.
|
|
||||||
melinux-stacksize=
|
|
||||||
Target Report RejectNegative Joined Var(cris_elinux_stacksize_str)
|
|
||||||
-melinux-stacksize=SIZE For elinux, request a specified stack-size for this program
|
|
@ -1,12 +0,0 @@
|
|||||||
LIB2FUNCS_STATIC_EXTRA = \
|
|
||||||
tmpabi_symbol.c $(srcdir)/config/cris/mulsi3.asm
|
|
||||||
|
|
||||||
MULTILIB_OPTIONS = melinux
|
|
||||||
MULTILIB_DIRNAMES = elinux
|
|
||||||
MULTILIB_EXTRA_OPTS = mbest-lib-options
|
|
||||||
|
|
||||||
INSTALL_LIBGCC = install-multilib
|
|
||||||
LIBGCC = stmp-multilib
|
|
||||||
|
|
||||||
tmpabi_symbol.c: $(srcdir)/config/cris/cris_abi_symbol.c
|
|
||||||
cp $(srcdir)/config/cris/cris_abi_symbol.c $@
|
|
@ -1,234 +0,0 @@
|
|||||||
/* Definitions for Intel x86 running BeOS
|
|
||||||
Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2007
|
|
||||||
Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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 3, or (at your option)
|
|
||||||
any later version.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
|
|
||||||
#define TARGET_VERSION fprintf (stderr, " (i386 BeOS/ELF)");
|
|
||||||
|
|
||||||
/* Change debugging to Dwarf2. */
|
|
||||||
#undef PREFERRED_DEBUGGING_TYPE
|
|
||||||
#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
|
|
||||||
|
|
||||||
/* The SVR4 ABI for the i386 says that records and unions are returned
|
|
||||||
in memory. */
|
|
||||||
#undef DEFAULT_PCC_STRUCT_RETURN
|
|
||||||
#define DEFAULT_PCC_STRUCT_RETURN 1
|
|
||||||
|
|
||||||
#undef ASM_COMMENT_START
|
|
||||||
#define ASM_COMMENT_START " #"
|
|
||||||
|
|
||||||
#undef DBX_REGISTER_NUMBER
|
|
||||||
#define DBX_REGISTER_NUMBER(n) \
|
|
||||||
(TARGET_64BIT ? dbx64_register_map[n] : svr4_dbx_register_map[n])
|
|
||||||
|
|
||||||
/* Output assembler code to FILE to increment profiler label # LABELNO
|
|
||||||
for profiling a function entry. */
|
|
||||||
|
|
||||||
#undef MCOUNT_NAME
|
|
||||||
#define MCOUNT_NAME "mcount"
|
|
||||||
|
|
||||||
#undef SIZE_TYPE
|
|
||||||
#define SIZE_TYPE "long unsigned int"
|
|
||||||
|
|
||||||
#undef PTRDIFF_TYPE
|
|
||||||
#define PTRDIFF_TYPE "long int"
|
|
||||||
|
|
||||||
#undef WCHAR_TYPE
|
|
||||||
#define WCHAR_TYPE "short unsigned int"
|
|
||||||
|
|
||||||
#undef WCHAR_TYPE_SIZE
|
|
||||||
#define WCHAR_TYPE_SIZE 16
|
|
||||||
|
|
||||||
#define TARGET_DECLSPEC 1
|
|
||||||
|
|
||||||
#define TARGET_OS_CPP_BUILTINS() \
|
|
||||||
do \
|
|
||||||
{ \
|
|
||||||
builtin_define ("__BEOS__"); \
|
|
||||||
builtin_define ("__INTEL__"); \
|
|
||||||
builtin_define ("_X86_"); \
|
|
||||||
builtin_define ("__stdcall=__attribute__((__stdcall__))"); \
|
|
||||||
builtin_define ("__cdecl=__attribute__((__cdecl__))"); \
|
|
||||||
builtin_assert ("system=beos"); \
|
|
||||||
} \
|
|
||||||
while (0)
|
|
||||||
|
|
||||||
/* BeOS uses lots of multichars, so don't warn about them unless the
|
|
||||||
user explicitly asks for the warnings with -Wmultichar. Note that
|
|
||||||
CC1_SPEC is used for both cc1 and cc1plus. */
|
|
||||||
|
|
||||||
#undef CC1_SPEC
|
|
||||||
#define CC1_SPEC "%{!no-fpic:%{!fno-pic:%{!fno-pie:%{!fpie:%{!fPIC:%{!fPIE:-fpic}}}}}} %{!Wmultichar: -Wno-multichar} %(cc1_cpu) %{profile:-p}"
|
|
||||||
|
|
||||||
#undef CC1PLUS_SPEC
|
|
||||||
#define CC1PLUS_SPEC "%{!Wctor-dtor-privacy:-Wno-ctor-dtor-privacy}"
|
|
||||||
|
|
||||||
/* Provide a LINK_SPEC appropriate for BeOS. Here we provide support
|
|
||||||
for the special GCC options -static and -shared, which allow us to
|
|
||||||
link things in one of these three modes by applying the appropriate
|
|
||||||
combinations of options at link-time. */
|
|
||||||
|
|
||||||
/* If ELF is the default format, we should not use /lib/elf. */
|
|
||||||
|
|
||||||
#undef LINK_SPEC
|
|
||||||
#define LINK_SPEC "%{!o*:-o %b} -m elf_i386_be -shared -Bsymbolic %{nostart:-e 0}"
|
|
||||||
|
|
||||||
/* Provide start and end file specs appropriate to glibc. */
|
|
||||||
|
|
||||||
/* LIB_SPEC for BeOS */
|
|
||||||
#undef LIB_SPEC
|
|
||||||
#define LIB_SPEC "-lnet -lroot"
|
|
||||||
|
|
||||||
/* gcc runtime lib is built into libroot.so on BeOS */
|
|
||||||
/* ??? This is gonna be lovely when the next release of gcc has
|
|
||||||
some new symbol in, so that links start failing. */
|
|
||||||
#undef LIBGCC_SPEC
|
|
||||||
#define LIBGCC_SPEC ""
|
|
||||||
|
|
||||||
#undef STARTFILE_SPEC
|
|
||||||
#define STARTFILE_SPEC "crti.o%s crtbegin.o%s %{!nostart:start_dyn.o%s} init_term_dyn.o%s %{p:i386-mcount.o%s}"
|
|
||||||
|
|
||||||
#undef ENDFILE_SPEC
|
|
||||||
#define ENDFILE_SPEC "crtend.o%s crtn.o%s"
|
|
||||||
|
|
||||||
/* A C statement (sans semicolon) to output to the stdio stream
|
|
||||||
FILE the assembler definition of uninitialized global DECL named
|
|
||||||
NAME whose size is SIZE bytes and alignment is ALIGN bytes.
|
|
||||||
Try to use asm_output_aligned_bss to implement this macro. */
|
|
||||||
|
|
||||||
#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \
|
|
||||||
asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN)
|
|
||||||
|
|
||||||
/* A C statement to output to the stdio stream FILE an assembler
|
|
||||||
command to advance the location counter to a multiple of 1<<LOG
|
|
||||||
bytes if it is within MAX_SKIP bytes.
|
|
||||||
|
|
||||||
This is used to align code labels according to Intel recommendations. */
|
|
||||||
|
|
||||||
#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN
|
|
||||||
#define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE,LOG,MAX_SKIP) \
|
|
||||||
if ((LOG)!=0) \
|
|
||||||
if ((MAX_SKIP)==0) fprintf ((FILE), "\t.p2align %d\n", (LOG)); \
|
|
||||||
else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP))
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* For native compiler, use standard BeOS include file search paths
|
|
||||||
rooted in /boot/develop/headers. For a cross compiler, don't
|
|
||||||
expect the host to use the BeOS directory scheme, and instead look
|
|
||||||
for the BeOS include files relative to TOOL_INCLUDE_DIR. Yes, we
|
|
||||||
use ANSI string concatenation here (FIXME) */
|
|
||||||
|
|
||||||
#ifndef CROSS_DIRECTORY_STRUCTURE
|
|
||||||
#undef INCLUDE_DEFAULTS
|
|
||||||
#define INCLUDE_DEFAULTS \
|
|
||||||
{ \
|
|
||||||
{ GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1 },\
|
|
||||||
{ GCC_INCLUDE_DIR, "GCC", 0, 0 },\
|
|
||||||
{ TOOL_INCLUDE_DIR, "BINUTILS", 0, 1}, \
|
|
||||||
{ "/boot/develop/headers/be/add-ons/graphics", 0, 0, 0 },\
|
|
||||||
{ "/boot/develop/headers/be/devel", 0, 0, 0 },\
|
|
||||||
{ "/boot/develop/headers/be/translation", 0, 0, 0 },\
|
|
||||||
{ "/boot/develop/headers/be/mail", 0, 0, 0 },\
|
|
||||||
{ "/boot/develop/headers/gnu", 0, 0, 0 },\
|
|
||||||
{ "/boot/develop/headers/be/drivers", 0, 0, 0 },\
|
|
||||||
{ "/boot/develop/headers/be/opengl", 0, 0, 0 },\
|
|
||||||
{ "/boot/develop/headers/be/game", 0, 0, 0 },\
|
|
||||||
{ "/boot/develop/headers/be/support", 0, 0, 0 },\
|
|
||||||
{ "/boot/develop/headers/be/storage", 0, 0, 0 },\
|
|
||||||
{ "/boot/develop/headers/be/kernel", 0, 0, 0 },\
|
|
||||||
{ "/boot/develop/headers/be/net", 0, 0, 0 },\
|
|
||||||
{ "/boot/develop/headers/be/midi", 0, 0, 0 },\
|
|
||||||
{ "/boot/develop/headers/be/midi2", 0, 0, 0 },\
|
|
||||||
{ "/boot/develop/headers/be/media", 0, 0, 0 },\
|
|
||||||
{ "/boot/develop/headers/be/interface", 0, 0, 0 },\
|
|
||||||
{ "/boot/develop/headers/be/device", 0, 0, 0 },\
|
|
||||||
{ "/boot/develop/headers/be/app", 0, 0, 0 },\
|
|
||||||
{ "/boot/develop/headers/be/precompiled", 0, 0, 0 },\
|
|
||||||
{ "/boot/develop/headers/be/add-ons/input_server", 0, 0, 0 },\
|
|
||||||
{ "/boot/develop/headers/be/add-ons/net_server", 0, 0, 0 },\
|
|
||||||
{ "/boot/develop/headers/be/add-ons/screen_saver", 0, 0, 0 },\
|
|
||||||
{ "/boot/develop/headers/be/add-ons/tracker", 0, 0, 0 },\
|
|
||||||
{ "/boot/develop/headers/be/be_apps/Deskbar", 0, 0, 0 },\
|
|
||||||
{ "/boot/develop/headers/be/be_apps/NetPositive", 0, 0, 0 },\
|
|
||||||
{ "/boot/develop/headers/be/be_apps/Tracker", 0, 0, 0 },\
|
|
||||||
{ "/boot/develop/headers/be/drivers/tty", 0, 0, 0 },\
|
|
||||||
{ "/boot/develop/headers/be/net/netinet", 0, 0, 0 },\
|
|
||||||
{ "/boot/develop/headers/be/storage", 0, 0, 0 },\
|
|
||||||
{ "/boot/develop/headers/be", 0, 0, 0 },\
|
|
||||||
{ "/boot/develop/headers/cpp", 0, 0, 0 },\
|
|
||||||
{ "/boot/develop/headers/posix", 0, 0, 0 },\
|
|
||||||
{ "/boot/develop/headers", 0, 0, 0 }, \
|
|
||||||
{ 0, 0, 0, 0 } \
|
|
||||||
}
|
|
||||||
#else /* CROSS_DIRECTORY_STRUCTURE */
|
|
||||||
#undef INCLUDE_DEFAULTS
|
|
||||||
#define INCLUDE_DEFAULTS \
|
|
||||||
{ \
|
|
||||||
{ GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1 },\
|
|
||||||
{ GCC_INCLUDE_DIR, "GCC", 0, 0 },\
|
|
||||||
{ TOOL_INCLUDE_DIR, "BINUTILS", 0, 1}, \
|
|
||||||
{ CROSS_INCLUDE_DIR "/be/add-ons/graphics", 0, 0, 0 },\
|
|
||||||
{ CROSS_INCLUDE_DIR "/be/devel", 0, 0, 0 },\
|
|
||||||
{ CROSS_INCLUDE_DIR "/be/translation", 0, 0, 0 },\
|
|
||||||
{ CROSS_INCLUDE_DIR "/be/mail", 0, 0, 0 },\
|
|
||||||
{ CROSS_INCLUDE_DIR "/gnu", 0, 0, 0 },\
|
|
||||||
{ CROSS_INCLUDE_DIR "/be/drivers", 0, 0, 0 },\
|
|
||||||
{ CROSS_INCLUDE_DIR "/be/opengl", 0, 0, 0 },\
|
|
||||||
{ CROSS_INCLUDE_DIR "/be/game", 0, 0, 0 },\
|
|
||||||
{ CROSS_INCLUDE_DIR "/be/support", 0, 0, 0 },\
|
|
||||||
{ CROSS_INCLUDE_DIR "/be/storage", 0, 0, 0 },\
|
|
||||||
{ CROSS_INCLUDE_DIR "/be/kernel", 0, 0, 0 },\
|
|
||||||
{ CROSS_INCLUDE_DIR "/be/net", 0, 0, 0 },\
|
|
||||||
{ CROSS_INCLUDE_DIR "/be/midi", 0, 0, 0 },\
|
|
||||||
{ CROSS_INCLUDE_DIR "/be/midi2", 0, 0, 0 },\
|
|
||||||
{ CROSS_INCLUDE_DIR "/be/media", 0, 0, 0 },\
|
|
||||||
{ CROSS_INCLUDE_DIR "/be/interface", 0, 0, 0 },\
|
|
||||||
{ CROSS_INCLUDE_DIR "/be/device", 0, 0, 0 },\
|
|
||||||
{ CROSS_INCLUDE_DIR "/be/app", 0, 0, 0 },\
|
|
||||||
{ CROSS_INCLUDE_DIR "/be/precompiled", 0, 0, 0 },\
|
|
||||||
{ CROSS_INCLUDE_DIR "/be/add-ons/input_server", 0, 0, 0 },\
|
|
||||||
{ CROSS_INCLUDE_DIR "/be/add-ons/net_server", 0, 0, 0 },\
|
|
||||||
{ CROSS_INCLUDE_DIR "/be/add-ons/screen_saver", 0, 0, 0 },\
|
|
||||||
{ CROSS_INCLUDE_DIR "/be/add-ons/tracker", 0, 0, 0 },\
|
|
||||||
{ CROSS_INCLUDE_DIR "/be/be_apps/Deskbar", 0, 0, 0 },\
|
|
||||||
{ CROSS_INCLUDE_DIR "/be/be_apps/NetPositive", 0, 0, 0 },\
|
|
||||||
{ CROSS_INCLUDE_DIR "/be/be_apps/Tracker", 0, 0, 0 },\
|
|
||||||
{ CROSS_INCLUDE_DIR "/be/drivers/tty", 0, 0, 0 },\
|
|
||||||
{ CROSS_INCLUDE_DIR "/be/net/netinet", 0, 0, 0 },\
|
|
||||||
{ CROSS_INCLUDE_DIR "/be/storage", 0, 0, 0 },\
|
|
||||||
{ CROSS_INCLUDE_DIR "/be", 0, 0, 0 },\
|
|
||||||
{ CROSS_INCLUDE_DIR "/cpp", 0, 0, 0 },\
|
|
||||||
{ CROSS_INCLUDE_DIR "/posix", 0, 0, 0 },\
|
|
||||||
{ CROSS_INCLUDE_DIR , 0, 0, 0 }, \
|
|
||||||
{ 0, 0, 0, 0 } \
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Whee. LIBRARY_PATH is Be's LD_LIBRARY_PATH, which of course will
|
|
||||||
cause nasty problems if we override it. */
|
|
||||||
#define LIBRARY_PATH_ENV "BELIBRARIES"
|
|
||||||
|
|
||||||
/* BeOS doesn't have a separate math library. */
|
|
||||||
#define MATH_LIBRARY ""
|
|
||||||
|
|
||||||
/* BeOS headers are C++-aware (and often use C++). */
|
|
||||||
#define NO_IMPLICIT_EXTERN_C
|
|
||||||
|
|
||||||
/* BeOS uses explicit import from shared libraries. */
|
|
||||||
#define MULTIPLE_SYMBOL_SPACES 1
|
|
@ -1,23 +0,0 @@
|
|||||||
/* Definitions of target machine for GCC.
|
|
||||||
kaOS on ia32 architecture version.
|
|
||||||
Copyright (C) 2003, 2007 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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 3, or (at your option)
|
|
||||||
any later version.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
#undef TARGET_VERSION
|
|
||||||
#define TARGET_VERSION fputs (" (i386/kaOS[ELF])", stderr);
|
|
||||||
|
|
@ -1,95 +0,0 @@
|
|||||||
/* Target definitions for GCC for Intel 80386 running Dynix/ptx v4
|
|
||||||
Copyright (C) 1996, 2002, 2007 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
Modified from sysv4.h
|
|
||||||
Originally written by Ron Guilmette (rfg@netcom.com).
|
|
||||||
Modified by Tim Wright (timw@sequent.com).
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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 3, or (at your option)
|
|
||||||
any later version.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
|
|
||||||
#define TARGET_VERSION fprintf (stderr, " (i386 Sequent Dynix/ptx Version 4)");
|
|
||||||
|
|
||||||
/* The svr4 ABI for the i386 says that records and unions are returned
|
|
||||||
in memory. */
|
|
||||||
|
|
||||||
#define SUBTARGET_RETURN_IN_MEMORY(TYPE, FNTYPE) \
|
|
||||||
(TYPE_MODE (TYPE) == BLKmode \
|
|
||||||
|| (VECTOR_MODE_P (TYPE_MODE (TYPE)) && int_size_in_bytes (TYPE) == 8));
|
|
||||||
|
|
||||||
#define TARGET_OS_CPP_BUILTINS() \
|
|
||||||
do \
|
|
||||||
{ \
|
|
||||||
builtin_define_std ("unix"); \
|
|
||||||
builtin_define ("_SEQUENT_"); \
|
|
||||||
builtin_assert ("system=unix"); \
|
|
||||||
builtin_assert ("system=ptx4"); \
|
|
||||||
} \
|
|
||||||
while (0)
|
|
||||||
|
|
||||||
#undef DBX_REGISTER_NUMBER
|
|
||||||
#define DBX_REGISTER_NUMBER(n) svr4_dbx_register_map[n]
|
|
||||||
|
|
||||||
/* The routine used to output sequences of byte values. We use a special
|
|
||||||
version of this for most svr4 targets because doing so makes the
|
|
||||||
generated assembly code more compact (and thus faster to assemble)
|
|
||||||
as well as more readable. Note that if we find subparts of the
|
|
||||||
character sequence which end with NUL (and which are shorter than
|
|
||||||
STRING_LIMIT) we output those using ASM_OUTPUT_LIMITED_STRING. */
|
|
||||||
|
|
||||||
#undef ASM_OUTPUT_ASCII
|
|
||||||
#define ASM_OUTPUT_ASCII(FILE, STR, LENGTH) \
|
|
||||||
do \
|
|
||||||
{ \
|
|
||||||
const unsigned char *_ascii_bytes = \
|
|
||||||
(const unsigned char *) (STR); \
|
|
||||||
const unsigned char *limit = _ascii_bytes + (LENGTH); \
|
|
||||||
unsigned bytes_in_chunk = 0; \
|
|
||||||
for (; _ascii_bytes < limit; _ascii_bytes++) \
|
|
||||||
{ \
|
|
||||||
const unsigned char *p; \
|
|
||||||
if (bytes_in_chunk >= 64) \
|
|
||||||
{ \
|
|
||||||
fputc ('\n', (FILE)); \
|
|
||||||
bytes_in_chunk = 0; \
|
|
||||||
} \
|
|
||||||
for (p = _ascii_bytes; p < limit && *p != '\0'; p++) \
|
|
||||||
continue; \
|
|
||||||
if (p < limit && (p - _ascii_bytes) <= (long) STRING_LIMIT) \
|
|
||||||
{ \
|
|
||||||
if (bytes_in_chunk > 0) \
|
|
||||||
{ \
|
|
||||||
fputc ('\n', (FILE)); \
|
|
||||||
bytes_in_chunk = 0; \
|
|
||||||
} \
|
|
||||||
ASM_OUTPUT_LIMITED_STRING ((FILE), _ascii_bytes); \
|
|
||||||
_ascii_bytes = p; \
|
|
||||||
} \
|
|
||||||
else \
|
|
||||||
{ \
|
|
||||||
if (bytes_in_chunk == 0) \
|
|
||||||
fprintf ((FILE), "\t.byte\t"); \
|
|
||||||
else \
|
|
||||||
fputc (',', (FILE)); \
|
|
||||||
fprintf ((FILE), "0x%02x", *_ascii_bytes); \
|
|
||||||
bytes_in_chunk += 5; \
|
|
||||||
} \
|
|
||||||
} \
|
|
||||||
if (bytes_in_chunk > 0) \
|
|
||||||
fprintf ((FILE), "\n"); \
|
|
||||||
} \
|
|
||||||
while (0)
|
|
@ -1,311 +0,0 @@
|
|||||||
/* Definitions for Intel 386 running SCO Unix System V 3.2 Version 5.
|
|
||||||
Copyright (C) 1992, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004,
|
|
||||||
2007 Free Software Foundation, Inc.
|
|
||||||
Contributed by Kean Johnston (jkj@sco.com)
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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 3, or (at your option)
|
|
||||||
any later version.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
#undef TARGET_VERSION
|
|
||||||
#define TARGET_VERSION fprintf (stderr, " (i386, SCO OpenServer 5 Syntax)");
|
|
||||||
|
|
||||||
#undef ASM_QUAD
|
|
||||||
|
|
||||||
#undef GLOBAL_ASM_OP
|
|
||||||
#define GLOBAL_ASM_OP "\t.globl\t"
|
|
||||||
|
|
||||||
#undef BSS_SECTION_ASM_OP
|
|
||||||
#define BSS_SECTION_ASM_OP "\t.section\t.bss, \"aw\", @nobits"
|
|
||||||
|
|
||||||
/*
|
|
||||||
* NOTE: We really do want CTORS_SECTION_ASM_OP and DTORS_SECTION_ASM_OP.
|
|
||||||
* Here's the reason why. If we dont define them, and we dont define them
|
|
||||||
* to always emit to the same section, the default is to emit to "named"
|
|
||||||
* ctors and dtors sections. This would be great if we could use GNU ld,
|
|
||||||
* but we can't. The native linker could possibly be trained to coalesce
|
|
||||||
* named ctors sections, but that hasn't been done either. So if we don't
|
|
||||||
* define these, many C++ ctors and dtors dont get run, because they never
|
|
||||||
* wind up in the ctors/dtors arrays.
|
|
||||||
*/
|
|
||||||
#define CTORS_SECTION_ASM_OP "\t.section\t.ctors, \"aw\""
|
|
||||||
#define DTORS_SECTION_ASM_OP "\t.section\t.dtors, \"aw\""
|
|
||||||
|
|
||||||
#define TARGET_ASM_FILE_START_FILE_DIRECTIVE true
|
|
||||||
#undef X86_FILE_START_VERSION_DIRECTIVE
|
|
||||||
#define X86_FILE_START_VERSION_DIRECTIVE true
|
|
||||||
|
|
||||||
/* A C statement (sans semicolon) to output to the stdio stream
|
|
||||||
FILE the assembler definition of uninitialized global DECL named
|
|
||||||
NAME whose size is SIZE bytes and alignment is ALIGN bytes.
|
|
||||||
Try to use asm_output_aligned_bss to implement this macro. */
|
|
||||||
|
|
||||||
#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \
|
|
||||||
asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN)
|
|
||||||
|
|
||||||
#undef DBX_REGISTER_NUMBER
|
|
||||||
#define DBX_REGISTER_NUMBER(n) svr4_dbx_register_map[n]
|
|
||||||
|
|
||||||
#define DWARF2_DEBUGGING_INFO 1
|
|
||||||
#define DBX_DEBUGGING_INFO 1
|
|
||||||
|
|
||||||
#undef PREFERRED_DEBUGGING_TYPE
|
|
||||||
#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
|
|
||||||
|
|
||||||
#undef DWARF2_UNWIND_INFO
|
|
||||||
#define DWARF2_UNWIND_INFO 1
|
|
||||||
|
|
||||||
#undef NO_IMPLICIT_EXTERN_C
|
|
||||||
#define NO_IMPLICIT_EXTERN_C 1
|
|
||||||
|
|
||||||
#undef SWITCH_TAKES_ARG
|
|
||||||
#define SWITCH_TAKES_ARG(CHAR) \
|
|
||||||
(DEFAULT_SWITCH_TAKES_ARG(CHAR) \
|
|
||||||
|| (CHAR) == 'h' \
|
|
||||||
|| (CHAR) == 'R' \
|
|
||||||
|| (CHAR) == 'Y' \
|
|
||||||
|| (CHAR) == 'z')
|
|
||||||
|
|
||||||
#undef WORD_SWITCH_TAKES_ARG
|
|
||||||
#define WORD_SWITCH_TAKES_ARG(STR) \
|
|
||||||
(DEFAULT_WORD_SWITCH_TAKES_ARG (STR) \
|
|
||||||
&& strcmp (STR, "Tdata") && strcmp (STR, "Ttext") \
|
|
||||||
&& strcmp (STR, "Tbss"))
|
|
||||||
|
|
||||||
#undef TARGET_SUBTARGET_DEFAULT
|
|
||||||
#define TARGET_SUBTARGET_DEFAULT (MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Define sizes and types
|
|
||||||
*/
|
|
||||||
#undef SIZE_TYPE
|
|
||||||
#undef PTRDIFF_TYPE
|
|
||||||
#undef WCHAR_TYPE
|
|
||||||
#undef WCHAR_TYPE_SIZE
|
|
||||||
#undef WINT_TYPE
|
|
||||||
#define SIZE_TYPE "unsigned int"
|
|
||||||
#define PTRDIFF_TYPE "int"
|
|
||||||
#define WCHAR_TYPE "long int"
|
|
||||||
#define WCHAR_TYPE_SIZE BITS_PER_WORD
|
|
||||||
#define WINT_TYPE "long int"
|
|
||||||
|
|
||||||
/*
|
|
||||||
* New for multilib support. Set the default switches for multilib,
|
|
||||||
* which is -melf.
|
|
||||||
*/
|
|
||||||
#define MULTILIB_DEFAULTS { "melf" }
|
|
||||||
|
|
||||||
|
|
||||||
/* Please note that these specs may look messy but they are required in
|
|
||||||
order to emulate the SCO Development system as closely as possible.
|
|
||||||
With SCO Open Server 5.0, you now get the linker and assembler free,
|
|
||||||
so that is what these specs are targeted for. These utilities are
|
|
||||||
very argument sensitive: a space in the wrong place breaks everything.
|
|
||||||
So please forgive this mess. It works.
|
|
||||||
|
|
||||||
Parameters which can be passed to gcc, and their SCO equivalents:
|
|
||||||
GCC Parameter SCO Equivalent
|
|
||||||
-ansi -a ansi
|
|
||||||
-posix -a posix
|
|
||||||
-Xpg4 -a xpg4
|
|
||||||
-Xpg4plus -a xpg4plus
|
|
||||||
-Xods30 -a ods30
|
|
||||||
|
|
||||||
As with SCO, the default is XPG4 plus mode. SCO also allows you to
|
|
||||||
specify a C dialect with -Xt, -Xa, -Xc, -Xk and -Xm. These are passed
|
|
||||||
on to the assembler and linker in the same way that the SCO compiler
|
|
||||||
does.
|
|
||||||
|
|
||||||
SCO also allows you to compile, link and generate either ELF or COFF
|
|
||||||
binaries. With gcc, we now only support ELF mode.
|
|
||||||
|
|
||||||
GCC also requires that the user has installed OSS646, the Execution
|
|
||||||
Environment Update, or is running release 5.0.7 or later. This has
|
|
||||||
many fixes to the ELF link editor and assembler, and a considerably
|
|
||||||
improved libc and RTLD.
|
|
||||||
|
|
||||||
In terms of tool usage, we want to use the standard link editor always,
|
|
||||||
and either the GNU assembler or the native assembler. With OSS646 the
|
|
||||||
native assembler has grown up quite a bit. Some of the specs below
|
|
||||||
assume that /usr/gnu is the prefix for the GNU tools, because thats
|
|
||||||
where the SCO provided ones go. This is especially important for
|
|
||||||
include and library search path ordering. We want to look in /usr/gnu
|
|
||||||
first because frequently people are linking against -lintl, and they
|
|
||||||
MEAN to link with gettext. What they get is the SCO intl library. Its
|
|
||||||
a REAL pity that GNU gettext chose that name; perhaps in a future
|
|
||||||
version they can be persuaded to change it to -lgnuintl and have a
|
|
||||||
link so that -lintl will work for other systems. The same goes for
|
|
||||||
header files. We want /usr/gnu/include searched for before the system
|
|
||||||
header files. Hence the -isystem /usr/gnu/include in the CPP_SPEC.
|
|
||||||
We get /usr/gnu/lib first by virtue of the MD_STARTFILE_PREFIX below.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define MD_STARTFILE_PREFIX "/usr/gnu/lib/"
|
|
||||||
#define MD_STARTFILE_PREFIX_1 "/usr/ccs/lib/"
|
|
||||||
|
|
||||||
#if USE_GAS
|
|
||||||
# define MD_EXEC_PREFIX "/usr/gnu/bin/"
|
|
||||||
#else
|
|
||||||
# define MD_EXEC_PREFIX "/usr/ccs/bin/elf/"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Always use the system linker, please. */
|
|
||||||
#ifndef DEFAULT_LINKER
|
|
||||||
# define DEFAULT_LINKER "/usr/ccs/bin/elf/ld"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Set up assembler flags for PIC and ELF compilations */
|
|
||||||
#undef ASM_SPEC
|
|
||||||
|
|
||||||
#if USE_GAS
|
|
||||||
/* Leave ASM_SPEC undefined so we pick up the master copy from gcc.c */
|
|
||||||
#else
|
|
||||||
#define ASM_SPEC \
|
|
||||||
"%{Ym,*} %{Yd,*} %{Wa,*:%*} \
|
|
||||||
-E%{Xa:a}%{!Xa:%{Xc:c}%{!Xc:%{Xk:k}%{!Xk:%{Xt:t}%{!Xt:a}}}},%{ansi:ansi}%{!ansi:%{posix:posix}%{!posix:%{Xpg4:xpg4}%{!Xpg4:%{Xpg4plus:XPG4PLUS}%{!Xpg4plus:%{Xods30:ods30}%{!Xods30:XPG4PLUS}}}}},ELF %{Qn:} %{!Qy:-Qn}"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Use crti.o for shared objects, crt1.o for normal executables. Make sure
|
|
||||||
* to recognize both -G and -shared as a valid way of introducing shared
|
|
||||||
* library generation. This is important for backwards compatibility.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#undef STARTFILE_SPEC
|
|
||||||
#define STARTFILE_SPEC \
|
|
||||||
"%{pg:%e-pg not supported on this platform} \
|
|
||||||
%{p:%{pp:%e-p and -pp specified - pick one}} \
|
|
||||||
%{!shared:\
|
|
||||||
%{!symbolic: \
|
|
||||||
%{!G: \
|
|
||||||
%{pp:pcrt1elf.o%s}%{p:mcrt1.o%s}%{!p:%{!pp:crt1.o%s}}}}} \
|
|
||||||
crti.o%s \
|
|
||||||
%{ansi:values-Xc.o%s} \
|
|
||||||
%{!ansi: \
|
|
||||||
%{traditional:values-Xt.o%s} \
|
|
||||||
%{!traditional: \
|
|
||||||
%{Xa:values-Xa.o%s} \
|
|
||||||
%{!Xa:%{Xc:values-Xc.o%s} \
|
|
||||||
%{!Xc:%{Xk:values-Xk.o%s} \
|
|
||||||
%{!Xk:%{Xt:values-Xt.o%s} \
|
|
||||||
%{!Xt:values-Xa.o%s}}}}}} \
|
|
||||||
crtbegin.o%s"
|
|
||||||
|
|
||||||
#undef ENDFILE_SPEC
|
|
||||||
#define ENDFILE_SPEC \
|
|
||||||
"crtend.o%s crtn.o%s"
|
|
||||||
|
|
||||||
#define TARGET_OS_CPP_BUILTINS() \
|
|
||||||
do \
|
|
||||||
{ \
|
|
||||||
builtin_define ("__unix"); \
|
|
||||||
builtin_define ("_SCO_DS"); \
|
|
||||||
builtin_define ("_SCO_DS_LL"); \
|
|
||||||
builtin_define ("_SCO_ELF"); \
|
|
||||||
builtin_define ("_M_I386"); \
|
|
||||||
builtin_define ("_M_XENIX"); \
|
|
||||||
builtin_define ("_M_UNIX"); \
|
|
||||||
builtin_assert ("system=svr3"); \
|
|
||||||
if (flag_iso) \
|
|
||||||
cpp_define (pfile, "_STRICT_ANSI"); \
|
|
||||||
} \
|
|
||||||
while (0)
|
|
||||||
|
|
||||||
#undef CPP_SPEC
|
|
||||||
#define CPP_SPEC "\
|
|
||||||
-isystem /usr/gnu/include \
|
|
||||||
%{!Xods30:-D_STRICT_NAMES} \
|
|
||||||
%{!ansi:%{!posix:%{!Xods30:-D_SCO_XPG_VERS=4}}} \
|
|
||||||
%{ansi:-isystem include/ansi%s -isystem /usr/include/ansi} \
|
|
||||||
%{!ansi: \
|
|
||||||
%{posix:-isystem include/posix%s -isystem /usr/include/posix \
|
|
||||||
-D_POSIX_C_SOURCE=2 -D_POSIX_SOURCE=1} \
|
|
||||||
%{!posix:%{Xpg4:-isystem include/xpg4%s -isystem /usr/include/xpg4 \
|
|
||||||
-D_XOPEN_SOURCE=1} \
|
|
||||||
%{!Xpg4:-D_M_I86 -D_M_I86SM -D_M_INTERNAT -D_M_SDATA -D_M_STEXT \
|
|
||||||
-D_M_BITFIELDS -D_M_SYS5 -D_M_SYSV -D_M_SYSIII \
|
|
||||||
-D_M_WORDSWAP -Dunix -DM_I386 -DM_UNIX -DM_XENIX \
|
|
||||||
%{Xods30:-isystem include/ods_30_compat%s \
|
|
||||||
-isystem /usr/include/ods_30_compat \
|
|
||||||
-D_SCO_ODS_30 -DM_I86 -DM_I86SM -DM_SDATA -DM_STEXT \
|
|
||||||
-DM_BITFIELDS -DM_SYS5 -DM_SYSV -DM_INTERNAT -DM_SYSIII \
|
|
||||||
-DM_WORDSWAP}}}} \
|
|
||||||
%{scointl:-DM_INTERNAT -D_M_INTERNAT} \
|
|
||||||
%{Xa:-D_SCO_C_DIALECT=1} \
|
|
||||||
%{!Xa:%{Xc:-D_SCO_C_DIALECT=3} \
|
|
||||||
%{!Xc:%{Xk:-D_SCO_C_DIALECT=4} \
|
|
||||||
%{!Xk:%{Xt:-D_SCO_C_DIALECT=2} \
|
|
||||||
%{!Xt:-D_SCO_C_DIALECT=1}}}}"
|
|
||||||
|
|
||||||
#undef LINK_SPEC
|
|
||||||
#define LINK_SPEC \
|
|
||||||
"%{!shared:%{!symbolic:%{!G:-E%{Xa:a}%{!Xa:%{Xc:c}%{!Xc:%{Xk:k}%{!Xk:%{Xt:t}%{!Xt:a}}}},%{ansi:ansi}%{!ansi:%{posix:posix}%{!posix:%{Xpg4:xpg4}%{!Xpg4:%{Xpg4plus:XPG4PLUS}%{!Xpg4plus:%{Xods30:ods30}%{!Xods30:XPG4PLUS}}}}},ELF}}} \
|
|
||||||
%{YP,*} %{YL,*} %{YU,*} \
|
|
||||||
%{!YP,*:%{p:-YP,/usr/ccs/libp:/lib/libp:/usr/lib/libp:/usr/ccs/lib:/lib:/usr/lib} \
|
|
||||||
%{!p:-YP,/usr/ccs/lib:/lib:/usr/lib}} \
|
|
||||||
%{h*} %{static:-dn -Bstatic %{G:%e-G and -static are mutually exclusive}} \
|
|
||||||
%{shared:%{!G:-G}} %{G:%{!shared:-G}} %{shared:%{G:-G}} \
|
|
||||||
%{shared:-dy %{symbolic:-Bsymbolic -G} %{z*}} %{R*} %{Y*} \
|
|
||||||
%{Qn:} %{!Qy:-Qn} -z alt_resolve"
|
|
||||||
|
|
||||||
/* Library spec. If we are not building a shared library, provide the
|
|
||||||
standard libraries, as per the SCO compiler. */
|
|
||||||
|
|
||||||
#undef LIB_SPEC
|
|
||||||
#define LIB_SPEC \
|
|
||||||
"%{shared:%{!G:pic/libgcc.a%s}} \
|
|
||||||
%{G:%{!shared:pic/libgcc.a%s}} \
|
|
||||||
%{shared:%{G:pic/libgcc.a%s}} \
|
|
||||||
%{p:%{!pp:-lelfprof -lelf}} %{pp:%{!p:-lelfprof -lelf}} \
|
|
||||||
%{!shared:%{!symbolic:%{!G:-lcrypt -lgen -lc}}}"
|
|
||||||
|
|
||||||
#undef LIBGCC_SPEC
|
|
||||||
#define LIBGCC_SPEC \
|
|
||||||
"%{!shared:%{!G:-lgcc}}"
|
|
||||||
|
|
||||||
/* Handle special EH pointer encodings. Absolute, pc-relative, and
|
|
||||||
indirect are handled automatically. */
|
|
||||||
#define ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX(FILE, ENCODING, SIZE, ADDR, DONE) \
|
|
||||||
do { \
|
|
||||||
if ((SIZE) == 4 && ((ENCODING) & 0x70) == DW_EH_PE_datarel) \
|
|
||||||
{ \
|
|
||||||
fputs (ASM_LONG, FILE); \
|
|
||||||
assemble_name (FILE, XSTR (ADDR, 0)); \
|
|
||||||
fputs (((ENCODING) & DW_EH_PE_indirect ? "@GOT" : "@GOTOFF"), FILE); \
|
|
||||||
goto DONE; \
|
|
||||||
} \
|
|
||||||
} while (0)
|
|
||||||
|
|
||||||
/* Used by crtstuff.c to initialize the base of data-relative relocations.
|
|
||||||
These are GOT relative on x86, so return the pic register. */
|
|
||||||
#ifdef __PIC__
|
|
||||||
#define CRT_GET_RFIB_DATA(BASE) \
|
|
||||||
{ \
|
|
||||||
register void *ebx_ __asm__("ebx"); \
|
|
||||||
BASE = ebx_; \
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
#define CRT_GET_RFIB_DATA(BASE) \
|
|
||||||
__asm__ ("call\t.LPR%=\n" \
|
|
||||||
".LPR%=:\n\t" \
|
|
||||||
"pop{l}\t%0\n\t" \
|
|
||||||
/* Due to a GAS bug, this cannot use EAX. That encodes \
|
|
||||||
smaller than the traditional EBX, which results in the \
|
|
||||||
offset being off by one. */ \
|
|
||||||
"add{l}\t{$_GLOBAL_OFFSET_TABLE_+[.-.LPR%=],%0" \
|
|
||||||
"|%0,_GLOBAL_OFFSET_TABLE_+(.-.LPR%=)}" \
|
|
||||||
: "=d"(BASE))
|
|
||||||
#endif
|
|
||||||
|
|
@ -1,24 +0,0 @@
|
|||||||
; SCO Unix-specific options.
|
|
||||||
|
|
||||||
; Copyright (C) 2005, 2007 Free Software Foundation, Inc.
|
|
||||||
;
|
|
||||||
; This file is part of GCC.
|
|
||||||
;
|
|
||||||
; 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 3, or (at your option) any later
|
|
||||||
; version.
|
|
||||||
;
|
|
||||||
; 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.
|
|
||||||
;
|
|
||||||
; You should have received a copy of the GNU General Public License
|
|
||||||
; along with GCC; see the file COPYING3. If not see
|
|
||||||
; <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
;; Legacy option
|
|
||||||
melf
|
|
||||||
Target RejectNegative
|
|
||||||
Generate ELF output
|
|
@ -1,31 +0,0 @@
|
|||||||
/* Target definitions for GCC for Intel 80386 running System V.4
|
|
||||||
Copyright (C) 1991, 2001, 2002, 2007 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
Written by Ron Guilmette (rfg@netcom.com).
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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 3, or (at your option)
|
|
||||||
any later version.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
#define TARGET_OS_CPP_BUILTINS() \
|
|
||||||
do \
|
|
||||||
{ \
|
|
||||||
builtin_define_std ("unix"); \
|
|
||||||
builtin_define ("__svr4__"); \
|
|
||||||
builtin_assert ("system=unix"); \
|
|
||||||
builtin_assert ("system=svr4"); \
|
|
||||||
} \
|
|
||||||
while (0)
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
|||||||
/* Definitions for Intel 386 running System V Release 5 (i.e. UnixWare 7)
|
|
||||||
Copyright (C) 1999, 2007 Free Software Foundation, Inc.
|
|
||||||
Contributed by Robert Lipe (robertlipe@usa.net)
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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 3, or (at your option)
|
|
||||||
any later version.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
|
|
||||||
/* Dwarf2 is supported by native debuggers */
|
|
||||||
|
|
||||||
#undef PREFERRED_DEBUGGING_TYPE
|
|
||||||
#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
|
|
||||||
|
|
||||||
/* Add -lcrt for Dwarf2 abbreviation table */
|
|
||||||
#undef LIB_SPEC
|
|
||||||
#define LIB_SPEC "%{pthread:-lthread} %{pthreadT:-lthreadT} \
|
|
||||||
%{!shared:%{!symbolic:-lc -lcrt}}"
|
|
||||||
|
|
||||||
#undef CPP_SPEC
|
|
||||||
#define CPP_SPEC "%{pthread:-D_REENTRANT} %{pthreadT:-D_REENTRANT}"
|
|
@ -1,4 +0,0 @@
|
|||||||
# There are system headers elsewhere, but these are the ones that
|
|
||||||
# we are most likely to want to apply any fixes to.
|
|
||||||
SYSTEM_HEADER_DIR = /boot/develop/headers/posix
|
|
||||||
CROSS_SYSTEM_HEADER_DIR = $(tooldir)/sys-include/posix
|
|
@ -1,15 +0,0 @@
|
|||||||
# We multilib libgcc for -fPIC, to get real PIC code in it.
|
|
||||||
# NOTE: We must use -fPIC on crt{begi,end}.o else we get an RTLD error
|
|
||||||
# "cant set protections on segment of length blah at 0x8048000".
|
|
||||||
CRTSTUFF_T_CFLAGS = -fPIC -fno-omit-frame-pointer
|
|
||||||
|
|
||||||
MULTILIB_OPTIONS = fPIC
|
|
||||||
MULTILIB_DIRNAMES = pic
|
|
||||||
MULTILIB_MATCHES = fPIC=fpic
|
|
||||||
MULTILIB_EXTRA_OPTS =
|
|
||||||
|
|
||||||
LIBGCC=stmp-multilib
|
|
||||||
INSTALL_LIBGCC=install-multilib
|
|
||||||
|
|
||||||
# See all the declarations.
|
|
||||||
FIXPROTO_DEFINES = -D_XOPEN_SOURCE -D_POSIX_C_SOURCE=2
|
|
@ -1,5 +0,0 @@
|
|||||||
#
|
|
||||||
# This is included *after* t-cygwin to override LIB1ASMSRC.
|
|
||||||
#
|
|
||||||
LIB1ASMSRC = i386/uwin.asm
|
|
||||||
|
|
@ -1,32 +0,0 @@
|
|||||||
/* stuff needed for libgcc on win32. */
|
|
||||||
|
|
||||||
#ifdef L_chkstk
|
|
||||||
|
|
||||||
.global __chkstk
|
|
||||||
.global __alloca
|
|
||||||
__chkstk:
|
|
||||||
__alloca:
|
|
||||||
pushl %ecx /* save temp */
|
|
||||||
movl %esp,%ecx /* get sp */
|
|
||||||
addl $0x8,%ecx /* and point to return addr */
|
|
||||||
|
|
||||||
probe: cmpl $0x1000,%eax /* > 4k ?*/
|
|
||||||
jb done
|
|
||||||
|
|
||||||
subl $0x1000,%ecx /* yes, move pointer down 4k*/
|
|
||||||
orl $0x0,(%ecx) /* probe there */
|
|
||||||
subl $0x1000,%eax /* decrement count */
|
|
||||||
jmp probe /* and do it again */
|
|
||||||
|
|
||||||
done: subl %eax,%ecx
|
|
||||||
orl $0x0,(%ecx) /* less that 4k, just peek here */
|
|
||||||
|
|
||||||
movl %esp,%eax
|
|
||||||
movl %ecx,%esp /* decrement stack */
|
|
||||||
|
|
||||||
movl (%eax),%ecx /* recover saved temp */
|
|
||||||
movl 4(%eax),%eax /* get return address */
|
|
||||||
jmp *%eax
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
|
@ -1,85 +0,0 @@
|
|||||||
/* Operating system specific defines to be used when targeting GCC for
|
|
||||||
hosting on U/WIN (Windows32), using GNU tools and the Windows32 API
|
|
||||||
Library, as distinct from winnt.h, which is used to build GCC for use
|
|
||||||
with a windows style library and tool set and uses the Microsoft tools.
|
|
||||||
Copyright (C) 1999, 2002, 2003, 2004, 2007 Free Software Foundation, Inc.
|
|
||||||
Contributed by Mumit Khan <khan@xraylith.wisc.edu>.
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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 3, or (at your option)
|
|
||||||
any later version.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
/* Most of this is the same as for Cygwin32, except for changing some
|
|
||||||
specs. */
|
|
||||||
|
|
||||||
#define STANDARD_INCLUDE_COMPONENT "UWIN"
|
|
||||||
#define SYSTEM_INCLUDE_DIR "/usr/gnu/include"
|
|
||||||
#undef MD_STARTFILE_PREFIX
|
|
||||||
#define MD_STARTFILE_PREFIX "/usr/gnu/lib/"
|
|
||||||
|
|
||||||
#undef MAYBE_UWIN_CPP_BUILTINS
|
|
||||||
#define MAYBE_UWIN_CPP_BUILTINS() \
|
|
||||||
do \
|
|
||||||
{ \
|
|
||||||
builtin_define_std ("WINNT"); \
|
|
||||||
builtin_define ("_WIN32"); \
|
|
||||||
builtin_define ("__WIN32__"); \
|
|
||||||
builtin_define ("_UWIN"); \
|
|
||||||
builtin_define ("__UWIN__"); \
|
|
||||||
builtin_define ("__MSVCRT__"); \
|
|
||||||
builtin_define ("_STD_INCLUDE_DIR=mingw32"); \
|
|
||||||
} \
|
|
||||||
while (0)
|
|
||||||
|
|
||||||
#undef CPP_SPEC
|
|
||||||
#define CPP_SPEC "-remap %{posix:-D_POSIX_SOURCE} \
|
|
||||||
-include /usr/include/astwin32.h \
|
|
||||||
-idirafter /usr/gnu/include/mingw32"
|
|
||||||
|
|
||||||
/* For Windows applications, include more libraries, but always include
|
|
||||||
kernel32. */
|
|
||||||
#undef LIB_SPEC
|
|
||||||
#define LIB_SPEC \
|
|
||||||
"%{pg:-lgmon} %{mwindows:-luser32 -lgdi32 -lcomdlg32} -lkernel32 -ladvapi32"
|
|
||||||
|
|
||||||
/* Include in the mingw32 libraries with libgcc */
|
|
||||||
#undef LIBGCC_SPEC
|
|
||||||
#define LIBGCC_SPEC "-lgnuwin -lposix -lgcc -last -lmoldname -lmsvcrt"
|
|
||||||
|
|
||||||
/* Specify a different entry point when linking a DLL */
|
|
||||||
#undef LINK_SPEC
|
|
||||||
#define LINK_SPEC \
|
|
||||||
"%{mwindows:--subsystem windows} %{mdll:--dll -e _DllMainCRTStartup@12} \
|
|
||||||
%{!mdll:-u _main}"
|
|
||||||
|
|
||||||
#undef STARTFILE_SPEC
|
|
||||||
#define STARTFILE_SPEC "%{mdll:dllcrt2%O%s} %{!mdll:crt2%O%s} %{pg:gcrt2%O%s}"
|
|
||||||
|
|
||||||
/* These are PE BFD bug workarounds. Should go away eventually. */
|
|
||||||
|
|
||||||
/* Write the extra assembler code needed to declare a function
|
|
||||||
properly. If we are generating SDB debugging information, this
|
|
||||||
will happen automatically, so we only need to handle other cases. */
|
|
||||||
#undef ASM_DECLARE_FUNCTION_NAME
|
|
||||||
#define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL) \
|
|
||||||
do \
|
|
||||||
{ \
|
|
||||||
i386_pe_maybe_record_exported_symbol (DECL, NAME, 0); \
|
|
||||||
} \
|
|
||||||
while (0)
|
|
||||||
|
|
||||||
#undef ASM_OUTPUT_EXTERNAL
|
|
||||||
#undef ASM_OUTPUT_EXTERNAL_LIBCALL
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
|||||||
/* Definitions of target machine for GCC.
|
|
||||||
common kaOS definitions for all architectures.
|
|
||||||
Copyright (C) 2003, 2007 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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 3, or (at your option)
|
|
||||||
any later version.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
/* Specify predefined symbols in preprocessor. */
|
|
||||||
#define TARGET_OS_CPP_BUILTINS() \
|
|
||||||
do { \
|
|
||||||
builtin_define ("__kaOS__"); \
|
|
||||||
} while (0)
|
|
||||||
|
|
||||||
|
|
||||||
/* do not link any library implicitly for kaOS target. */
|
|
||||||
#undef LIB_SPEC
|
|
||||||
#define LIB_SPEC ""
|
|
@ -1,100 +0,0 @@
|
|||||||
/* Support for GCC on MIPS using WindISS simulator.
|
|
||||||
Copyright (C) 2002, 2003, 2004, 2007 Free Software Foundation, Inc.
|
|
||||||
Contributed by CodeSourcery, LLC.
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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 3, or (at your option)
|
|
||||||
any later version.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
#undef TARGET_VERSION
|
|
||||||
#define TARGET_VERSION fprintf (stderr, " (MIPS WindISS)");
|
|
||||||
|
|
||||||
/* Combination of mips.h and svr4.h. */
|
|
||||||
#undef SWITCH_TAKES_ARG
|
|
||||||
#define SWITCH_TAKES_ARG(CHAR) \
|
|
||||||
(DEFAULT_SWITCH_TAKES_ARG (CHAR) \
|
|
||||||
|| (CHAR) == 'G' \
|
|
||||||
|| (CHAR) == 'h' \
|
|
||||||
|| (CHAR) == 'x' \
|
|
||||||
|| (CHAR) == 'z')
|
|
||||||
|
|
||||||
#undef SUBTARGET_CPP_SPEC
|
|
||||||
#define SUBTARGET_CPP_SPEC \
|
|
||||||
"%{!DCPU=*: %{mips3|mips4|mips64:-DCPU=MIPS64;:-DCPU=MIPS32}} \
|
|
||||||
%{EL|mel:-DMIPSEL;:-DMIPSEB} \
|
|
||||||
%{msoft-float:-DSOFT_FLOAT} \
|
|
||||||
%{mips1:-D_WRS_R3K_EXC_SUPPORT}"
|
|
||||||
|
|
||||||
#undef ASM_SPEC
|
|
||||||
#define ASM_SPEC "\
|
|
||||||
%{!G:-G 0} %{G*} %(endian_spec) %{mips1} %{mips2} %{mips3} %{mips4} \
|
|
||||||
%{mips32} %{mips32r2} %{mips64} \
|
|
||||||
%{mips16:%{!mno-mips16:-mips16}} %{mno-mips16:-no-mips16} \
|
|
||||||
%(subtarget_asm_optimizing_spec) \
|
|
||||||
%(subtarget_asm_debugging_spec) \
|
|
||||||
%{mabi=*} %{!mabi*: %(asm_abi_default_spec)} \
|
|
||||||
%{mgp32} %{mgp64} %{march=*} %{mxgot:-xgot} \
|
|
||||||
%{mtune=*} %{v} \
|
|
||||||
%(subtarget_asm_spec)"
|
|
||||||
|
|
||||||
#undef LINK_SPEC
|
|
||||||
/* LINK_SPEC is clobbered in svr4.h. ugh! */
|
|
||||||
#define LINK_SPEC "\
|
|
||||||
-m elf32mipswindiss \
|
|
||||||
%{!G:-G 0} %{G*} %{mips1} %{mips2} %{mips3} %{mips4} %{mips32} %{mips64} \
|
|
||||||
%{bestGnum}"
|
|
||||||
|
|
||||||
/* Diab libs MIPS{,E,F,L,M,W,X,Y,Z}{,H,N,S}
|
|
||||||
|
|
||||||
.
|
|
||||||
E - Elf (small-data/const=8
|
|
||||||
F - Elf Far (small-data/const=0)
|
|
||||||
L - Little Elf
|
|
||||||
M - Little Elf Far
|
|
||||||
W - elf32 bigmips
|
|
||||||
X - elf32 bigmips (far?)
|
|
||||||
Y - elf32 littlemips
|
|
||||||
Z - elf32 littlemips (far?)
|
|
||||||
|
|
||||||
. - Integer routines
|
|
||||||
H - Hard float
|
|
||||||
N - No float
|
|
||||||
S - Soft float
|
|
||||||
|
|
||||||
Want {F,M}{,H,S}
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
#undef LIB_SPEC
|
|
||||||
#define LIB_SPEC "--start-group -li -lcfp -lwindiss -lram -limpl -limpfp --end-group"
|
|
||||||
|
|
||||||
#undef STARTFILE_SPEC
|
|
||||||
#define STARTFILE_SPEC "crt0.o%s crtbegin.o%s"
|
|
||||||
|
|
||||||
#undef ENDFILE_SPEC
|
|
||||||
#define ENDFILE_SPEC "crtend.o%s"
|
|
||||||
|
|
||||||
/* We have no shared libraries. These two shouldn't be necessary. */
|
|
||||||
#undef LINK_SHLIB_SPEC
|
|
||||||
#define LINK_SHLIB_SPEC ""
|
|
||||||
#undef LINK_EH_SPEC
|
|
||||||
#define LINK_EH_SPEC ""
|
|
||||||
|
|
||||||
#undef CRTSAVRES_DEFAULT_SPEC
|
|
||||||
#define CRTSAVRES_DEFAULT_SPEC ""
|
|
||||||
|
|
||||||
/* No sdata. */
|
|
||||||
#undef MIPS_DEFAULT_GVALUE
|
|
||||||
#define MIPS_DEFAULT_GVALUE 0
|
|
@ -1,219 +0,0 @@
|
|||||||
Copyright (C) 2005 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
Copying and distribution of this file, with or without modification,
|
|
||||||
are permitted in any medium without royalty provided the copyright
|
|
||||||
notice and this notice are preserved.
|
|
||||||
|
|
||||||
--------------------------------------------------------------------------
|
|
||||||
|
|
||||||
MS1 ABI
|
|
||||||
=========
|
|
||||||
|
|
||||||
Sizes and alignments
|
|
||||||
--------------------
|
|
||||||
|
|
||||||
Type Size (bytes) Alignment (bytes)
|
|
||||||
|
|
||||||
char 1 1
|
|
||||||
short 2 2
|
|
||||||
int 4 4
|
|
||||||
unsigned 4 4
|
|
||||||
long 4 4
|
|
||||||
long long 8 8
|
|
||||||
float 4 4
|
|
||||||
double 8 8
|
|
||||||
pointers 4 4
|
|
||||||
|
|
||||||
* alignment within aggregates (structs and unions) is as above, with
|
|
||||||
padding added if needed
|
|
||||||
* aggregates have alignment equal to that of their most aligned
|
|
||||||
member
|
|
||||||
* aggregates have sizes which are a multiple of their alignment
|
|
||||||
|
|
||||||
|
|
||||||
Floating point
|
|
||||||
--------------
|
|
||||||
|
|
||||||
All emulated using IEEE floating point conventions.
|
|
||||||
|
|
||||||
Registers
|
|
||||||
----------------
|
|
||||||
|
|
||||||
r0 always zero
|
|
||||||
r1 argument register 1
|
|
||||||
r2 argument register 2
|
|
||||||
r3 argument register 3
|
|
||||||
r4 argument register 4
|
|
||||||
r5 callee must save
|
|
||||||
r6 callee must save
|
|
||||||
r7 call clobbers
|
|
||||||
r8 call clobbers
|
|
||||||
r9 call clobbers
|
|
||||||
r10 call clobbers
|
|
||||||
r11 function return value
|
|
||||||
r12 frame pointer
|
|
||||||
r13 stack pointer
|
|
||||||
r14 linkage pointer
|
|
||||||
r15 interrupt pointer
|
|
||||||
|
|
||||||
Stack alignment 8 bytes
|
|
||||||
|
|
||||||
Structures passed <= 32 bits as values, else as pointers
|
|
||||||
|
|
||||||
The MS1 Stack
|
|
||||||
---------------
|
|
||||||
|
|
||||||
Space is allocated as needed in the stack frame for the following at compile
|
|
||||||
time:
|
|
||||||
|
|
||||||
* Outgoing parameters beyond the fourth
|
|
||||||
|
|
||||||
* All automatic arrays, automatic data aggregates, automatic
|
|
||||||
scalars which must be addressable, and automatic scalars for
|
|
||||||
which there is no room in registers
|
|
||||||
|
|
||||||
* Compiler-generated temporary values (typically when there are
|
|
||||||
too many for the compiler to keep them all in registers)
|
|
||||||
|
|
||||||
Space can be allocated dynamically (at runtime) in the stack frame for the
|
|
||||||
following:
|
|
||||||
|
|
||||||
* Memory allocated using the alloca() function of the C library
|
|
||||||
|
|
||||||
Addressable automatic variables on the stack are addressed with positive
|
|
||||||
offsets relative to r12; dynamically allocated space is addressed with positive
|
|
||||||
offsets from the pointer returned by alloca().
|
|
||||||
|
|
||||||
Stack Frame
|
|
||||||
-----------
|
|
||||||
|
|
||||||
+-----------------------+
|
|
||||||
| Parameter Word 1 |
|
|
||||||
+-----------------------+ <-sp
|
|
||||||
| Previous FP |
|
|
||||||
+-----------------------+
|
|
||||||
| Return address |
|
|
||||||
+-----------------------+
|
|
||||||
| Saved Registers |
|
|
||||||
+-----------------------+
|
|
||||||
| ... |
|
|
||||||
+-----------------------+
|
|
||||||
| Local Variables |
|
|
||||||
+-----------------------+ <-fp
|
|
||||||
| Alloca |
|
|
||||||
+-----------------------+
|
|
||||||
| ... |
|
|
||||||
+-----------------------+
|
|
||||||
| Parameter Word 2 |
|
|
||||||
+-----------------------+
|
|
||||||
| Parameter Word 1 |
|
|
||||||
+-----------------------+ <-sp
|
|
||||||
|
|
||||||
|
|
||||||
Parameter Assignment to Registers
|
|
||||||
---------------------------------
|
|
||||||
|
|
||||||
Consider the parameters in a function call as ordered from left (first
|
|
||||||
parameter) to right. GR contains the number of the next available
|
|
||||||
general-purpose register. STARG is the address of the next available stack
|
|
||||||
parameter word.
|
|
||||||
|
|
||||||
INITIALIZE:
|
|
||||||
Set GR=r1 and STARG to point to parameter word 1.
|
|
||||||
|
|
||||||
SCAN:
|
|
||||||
If there are no more parameters, terminate.
|
|
||||||
Otherwise, select one of the following depending on the type
|
|
||||||
of the next parameter:
|
|
||||||
|
|
||||||
SIMPLE ARG:
|
|
||||||
|
|
||||||
A SIMPLE ARG is one of the following:
|
|
||||||
|
|
||||||
* One of the simple integer types which will fit into a
|
|
||||||
general-purpose register,
|
|
||||||
* A pointer to an object of any type,
|
|
||||||
* A struct or union small enough to fit in a register (<= 32 bits)
|
|
||||||
* A larger struct or union, which shall be treated as a
|
|
||||||
pointer to the object or to a copy of the object.
|
|
||||||
(See below for when copies are made.)
|
|
||||||
|
|
||||||
If GR > r4, go to STACK. Otherwise, load the parameter value into
|
|
||||||
general-purpose register GR and advance GR to the next general-purpose
|
|
||||||
register. Values shorter than the register size are sign-extended or
|
|
||||||
zero-extended depending on whether they are signed or unsigned. Then
|
|
||||||
go to SCAN.
|
|
||||||
|
|
||||||
DOUBLE or LONG LONG
|
|
||||||
|
|
||||||
If GR > r3, go to STACK. Otherwise, if GR is odd, advance GR to the
|
|
||||||
next register. Load the 64-bit long long or double value into register
|
|
||||||
pair GR and GR+1. Advance GR to GR+2 and go to SCAN.
|
|
||||||
|
|
||||||
STACK:
|
|
||||||
|
|
||||||
Parameters not otherwise handled above are passed in the parameter
|
|
||||||
words of the caller's stack frame. SIMPLE ARGs, as defined above, are
|
|
||||||
considered to have size and alignment equal to the size of a
|
|
||||||
general-purpose register, with simple argument types shorter than this
|
|
||||||
sign- or zero-extended to this width. Round STARG up to a multiple of
|
|
||||||
the alignment requirement of the parameter and copy the argument
|
|
||||||
byte-for-byte into STARG, STARG+1, ... STARG+size-1. Set STARG to
|
|
||||||
STARG+size and go to SCAN.
|
|
||||||
|
|
||||||
|
|
||||||
Structure passing
|
|
||||||
-----------------
|
|
||||||
|
|
||||||
As noted above, code which passes structures and unions by value is implemented
|
|
||||||
specially. (In this section, "struct" will refer to structs and unions
|
|
||||||
inclusively.) Structs small enough to fit in a register are passed by value in
|
|
||||||
a single register or in a stack frame slot the size of a register. Structs
|
|
||||||
containing a single double or long long component are passed by value in two
|
|
||||||
registers or in a stack frame slot the size of two registers. Other structs
|
|
||||||
are handled by passing the address of the structure. In this case, a copy of
|
|
||||||
the structure will be made if necessary in order to preserve the pass-by-value
|
|
||||||
semantics.
|
|
||||||
|
|
||||||
Copies of large structs are made under the following rules:
|
|
||||||
|
|
||||||
ANSI mode K&R Mode
|
|
||||||
--------- --------
|
|
||||||
Normal param Callee copies if needed Caller copies
|
|
||||||
Varargs (...) param Caller copies Caller copies
|
|
||||||
|
|
||||||
In the case of normal (non-varargs) large-struct parameters in ANSI mode, the
|
|
||||||
callee is responsible for producing the same effect as if a copy of the
|
|
||||||
structure were passed, preserving the pass-by-value semantics. This may be
|
|
||||||
accomplished by having the callee make a copy, but in some cases the callee may
|
|
||||||
be able to determine that a copy is not necessary in order to produce the same
|
|
||||||
results. In such cases, the callee may choose to avoid making a copy of the
|
|
||||||
parameter.
|
|
||||||
|
|
||||||
|
|
||||||
Varargs handling
|
|
||||||
----------------
|
|
||||||
|
|
||||||
No special changes are needed for handling varargs parameters other than the
|
|
||||||
caller knowing that a copy is needed on struct parameters larger than a
|
|
||||||
register (see above).
|
|
||||||
|
|
||||||
The varargs macros set up a register save area for the general-purpose
|
|
||||||
registers to be saved. Because the save area lies between the caller and
|
|
||||||
callee stack frames, the saved register parameters are contiguous with
|
|
||||||
parameters passed on the stack. A pointer advances from the register save area
|
|
||||||
into the caller's stack frame.
|
|
||||||
|
|
||||||
|
|
||||||
Function return values
|
|
||||||
----------------------
|
|
||||||
|
|
||||||
Type Register
|
|
||||||
---- --------
|
|
||||||
int r11
|
|
||||||
short r11
|
|
||||||
long r11
|
|
||||||
long long stack
|
|
||||||
float r11
|
|
||||||
double stack
|
|
||||||
|
|
@ -1,71 +0,0 @@
|
|||||||
# crti.asm for mt
|
|
||||||
#
|
|
||||||
# Copyright (C) 2005 Free Software Foundation, Inc.
|
|
||||||
#
|
|
||||||
# This file 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.
|
|
||||||
#
|
|
||||||
# In addition to the permissions in the GNU General Public License, the
|
|
||||||
# Free Software Foundation gives you unlimited permission to link the
|
|
||||||
# compiled version of this file with other programs, and to distribute
|
|
||||||
# those programs without any restriction coming from the use of this
|
|
||||||
# file. (The General Public License restrictions do apply in other
|
|
||||||
# respects; for example, they cover modification of the file, and
|
|
||||||
# distribution when not linked into another program.)
|
|
||||||
#
|
|
||||||
# This file 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.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with GCC; see the file COPYING. If not, write to the Free
|
|
||||||
# Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
|
|
||||||
# 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# As a special exception, if you link this library with files
|
|
||||||
# compiled with GCC to produce an executable, this does not cause
|
|
||||||
# the resulting executable to be covered by the GNU General Public License.
|
|
||||||
# This exception does not however invalidate any other reasons why
|
|
||||||
# the executable file might be covered by the GNU General Public License.
|
|
||||||
#
|
|
||||||
|
|
||||||
# This file just make a stack frame for the contents of the .fini and
|
|
||||||
# .init sections. Users may put any desired instructions in those
|
|
||||||
# sections.
|
|
||||||
|
|
||||||
.file "crti.asm"
|
|
||||||
|
|
||||||
.section ".init"
|
|
||||||
.global _init
|
|
||||||
.type _init,#function
|
|
||||||
.align 4
|
|
||||||
_init:
|
|
||||||
subi sp, sp, #4
|
|
||||||
stw r14, sp, #0
|
|
||||||
or r0, r0, r0
|
|
||||||
or r0, r0, r0
|
|
||||||
or r0, r0, r0
|
|
||||||
or r0, r0, r0
|
|
||||||
or r0, r0, r0
|
|
||||||
or r0, r0, r0
|
|
||||||
or r0, r0, r0
|
|
||||||
or r0, r0, r0
|
|
||||||
|
|
||||||
.section ".fini"
|
|
||||||
.global _fini
|
|
||||||
.type _fini,#function
|
|
||||||
.align 4
|
|
||||||
_fini:
|
|
||||||
subi sp, sp, #4
|
|
||||||
stw r14, sp, #0
|
|
||||||
or r0, r0, r0
|
|
||||||
or r0, r0, r0
|
|
||||||
or r0, r0, r0
|
|
||||||
or r0, r0, r0
|
|
||||||
or r0, r0, r0
|
|
||||||
or r0, r0, r0
|
|
||||||
or r0, r0, r0
|
|
||||||
or r0, r0, r0
|
|
@ -1,56 +0,0 @@
|
|||||||
# crtn.asm for mt
|
|
||||||
|
|
||||||
# Copyright (C) 2005 Free Software Foundation, Inc.
|
|
||||||
#
|
|
||||||
# This file 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.
|
|
||||||
#
|
|
||||||
# In addition to the permissions in the GNU General Public License, the
|
|
||||||
# Free Software Foundation gives you unlimited permission to link the
|
|
||||||
# compiled version of this file with other programs, and to distribute
|
|
||||||
# those programs without any restriction coming from the use of this
|
|
||||||
# file. (The General Public License restrictions do apply in other
|
|
||||||
# respects; for example, they cover modification of the file, and
|
|
||||||
# distribution when not linked into another program.)
|
|
||||||
#
|
|
||||||
# This file 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.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with GCC; see the file COPYING. If not, write to the Free
|
|
||||||
# Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
|
|
||||||
# 02110-1301, USA.
|
|
||||||
#
|
|
||||||
# As a special exception, if you link this library with files
|
|
||||||
# compiled with GCC to produce an executable, this does not cause
|
|
||||||
# the resulting executable to be covered by the GNU General Public License.
|
|
||||||
# This exception does not however invalidate any other reasons why
|
|
||||||
# the executable file might be covered by the GNU General Public License.
|
|
||||||
#
|
|
||||||
|
|
||||||
# This file just makes sure that the .fini and .init sections do in
|
|
||||||
# fact return. Users may put any desired instructions in those sections.
|
|
||||||
# This file is the last thing linked into any executable.
|
|
||||||
|
|
||||||
.file "crtn.asm"
|
|
||||||
|
|
||||||
.section ".init"
|
|
||||||
.align 4
|
|
||||||
ldw r14, sp, #0
|
|
||||||
addi sp, sp, #4
|
|
||||||
nop
|
|
||||||
jal r0, r14
|
|
||||||
or r0, r0, r0
|
|
||||||
|
|
||||||
.section ".fini"
|
|
||||||
.align 4
|
|
||||||
|
|
||||||
ldw r14, sp, #0
|
|
||||||
addi sp, sp, #4
|
|
||||||
nop
|
|
||||||
jal r0, r14
|
|
||||||
or r0, r0, r0
|
|
@ -1,232 +0,0 @@
|
|||||||
/* Copyright (C) 2005 Free Software Foundation,
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
In addition to the permissions in the GNU General Public License, the
|
|
||||||
Free Software Foundation gives you unlimited permission to link the
|
|
||||||
compiled version of this file into combinations with other programs,
|
|
||||||
and to distribute those combinations without any restriction coming
|
|
||||||
from the use of this file. (The General Public License restrictions
|
|
||||||
do apply in other respects; for example, they cover modification of
|
|
||||||
the file, and distribution when not linked into a combine
|
|
||||||
executable.)
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING. If not, write to the Free
|
|
||||||
Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
|
|
||||||
02110-1301, USA. */
|
|
||||||
|
|
||||||
#define BITS_PER_UNIT 8
|
|
||||||
|
|
||||||
typedef int HItype __attribute__ ((mode (HI)));
|
|
||||||
typedef unsigned int UHItype __attribute__ ((mode (HI)));
|
|
||||||
|
|
||||||
typedef int SItype __attribute__ ((mode (SI)));
|
|
||||||
typedef unsigned int USItype __attribute__ ((mode (SI)));
|
|
||||||
|
|
||||||
typedef int word_type __attribute__ ((mode (__word__)));
|
|
||||||
|
|
||||||
struct SIstruct {HItype low, high;};
|
|
||||||
|
|
||||||
typedef union
|
|
||||||
{
|
|
||||||
struct SIstruct s;
|
|
||||||
SItype ll;
|
|
||||||
} SIunion;
|
|
||||||
|
|
||||||
SItype
|
|
||||||
__lshrsi3 (SItype u, word_type b)
|
|
||||||
{
|
|
||||||
SIunion w;
|
|
||||||
word_type bm;
|
|
||||||
SIunion uu;
|
|
||||||
|
|
||||||
if (b == 0)
|
|
||||||
return u;
|
|
||||||
|
|
||||||
uu.ll = u;
|
|
||||||
|
|
||||||
bm = (sizeof (HItype) * BITS_PER_UNIT) - b;
|
|
||||||
if (bm <= 0)
|
|
||||||
{
|
|
||||||
w.s.high = 0;
|
|
||||||
w.s.low = (UHItype)uu.s.high >> -bm;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
UHItype carries = (UHItype)uu.s.high << bm;
|
|
||||||
w.s.high = (UHItype)uu.s.high >> b;
|
|
||||||
w.s.low = ((UHItype)uu.s.low >> b) | carries;
|
|
||||||
}
|
|
||||||
|
|
||||||
return w.ll;
|
|
||||||
}
|
|
||||||
|
|
||||||
SItype
|
|
||||||
__ashlsi3 (SItype u, word_type b)
|
|
||||||
{
|
|
||||||
SIunion w;
|
|
||||||
word_type bm;
|
|
||||||
SIunion uu;
|
|
||||||
|
|
||||||
if (b == 0)
|
|
||||||
return u;
|
|
||||||
|
|
||||||
uu.ll = u;
|
|
||||||
|
|
||||||
bm = (sizeof (HItype) * BITS_PER_UNIT) - b;
|
|
||||||
if (bm <= 0)
|
|
||||||
{
|
|
||||||
w.s.low = 0;
|
|
||||||
w.s.high = (UHItype)uu.s.low << -bm;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
UHItype carries = (UHItype)uu.s.low >> bm;
|
|
||||||
w.s.low = (UHItype)uu.s.low << b;
|
|
||||||
w.s.high = ((UHItype)uu.s.high << b) | carries;
|
|
||||||
}
|
|
||||||
|
|
||||||
return w.ll;
|
|
||||||
}
|
|
||||||
|
|
||||||
SItype
|
|
||||||
__ashrsi3 (SItype u, word_type b)
|
|
||||||
{
|
|
||||||
SIunion w;
|
|
||||||
word_type bm;
|
|
||||||
SIunion uu;
|
|
||||||
|
|
||||||
if (b == 0)
|
|
||||||
return u;
|
|
||||||
|
|
||||||
uu.ll = u;
|
|
||||||
|
|
||||||
bm = (sizeof (HItype) * BITS_PER_UNIT) - b;
|
|
||||||
if (bm <= 0)
|
|
||||||
{
|
|
||||||
/* w.s.high = 1..1 or 0..0 */
|
|
||||||
w.s.high = uu.s.high >> (sizeof (HItype) * BITS_PER_UNIT - 1);
|
|
||||||
w.s.low = uu.s.high >> -bm;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
UHItype carries = (UHItype)uu.s.high << bm;
|
|
||||||
w.s.high = uu.s.high >> b;
|
|
||||||
w.s.low = ((UHItype)uu.s.low >> b) | carries;
|
|
||||||
}
|
|
||||||
|
|
||||||
return w.ll;
|
|
||||||
}
|
|
||||||
|
|
||||||
USItype
|
|
||||||
__mulsi3 (USItype a, USItype b)
|
|
||||||
{
|
|
||||||
USItype c = 0;
|
|
||||||
|
|
||||||
while (a != 0)
|
|
||||||
{
|
|
||||||
if (a & 1)
|
|
||||||
c += b;
|
|
||||||
a >>= 1;
|
|
||||||
b <<= 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
return c;
|
|
||||||
}
|
|
||||||
|
|
||||||
USItype
|
|
||||||
udivmodsi4(USItype num, USItype den, word_type modwanted)
|
|
||||||
{
|
|
||||||
USItype bit = 1;
|
|
||||||
USItype res = 0;
|
|
||||||
|
|
||||||
while (den < num && bit && !(den & (1L<<31)))
|
|
||||||
{
|
|
||||||
den <<=1;
|
|
||||||
bit <<=1;
|
|
||||||
}
|
|
||||||
while (bit)
|
|
||||||
{
|
|
||||||
if (num >= den)
|
|
||||||
{
|
|
||||||
num -= den;
|
|
||||||
res |= bit;
|
|
||||||
}
|
|
||||||
bit >>=1;
|
|
||||||
den >>=1;
|
|
||||||
}
|
|
||||||
if (modwanted) return num;
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
|
|
||||||
SItype
|
|
||||||
__divsi3 (SItype a, SItype b)
|
|
||||||
{
|
|
||||||
word_type neg = 0;
|
|
||||||
SItype res;
|
|
||||||
|
|
||||||
if (a < 0)
|
|
||||||
{
|
|
||||||
a = -a;
|
|
||||||
neg = !neg;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (b < 0)
|
|
||||||
{
|
|
||||||
b = -b;
|
|
||||||
neg = !neg;
|
|
||||||
}
|
|
||||||
|
|
||||||
res = udivmodsi4 (a, b, 0);
|
|
||||||
|
|
||||||
if (neg)
|
|
||||||
res = -res;
|
|
||||||
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
|
|
||||||
SItype
|
|
||||||
__modsi3 (SItype a, SItype b)
|
|
||||||
{
|
|
||||||
word_type neg = 0;
|
|
||||||
SItype res;
|
|
||||||
|
|
||||||
if (a < 0)
|
|
||||||
{
|
|
||||||
a = -a;
|
|
||||||
neg = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (b < 0)
|
|
||||||
b = -b;
|
|
||||||
|
|
||||||
res = udivmodsi4 (a, b, 1);
|
|
||||||
|
|
||||||
if (neg)
|
|
||||||
res = -res;
|
|
||||||
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
|
|
||||||
SItype
|
|
||||||
__udivsi3 (SItype a, SItype b)
|
|
||||||
{
|
|
||||||
return udivmodsi4 (a, b, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
SItype
|
|
||||||
__umodsi3 (SItype a, SItype b)
|
|
||||||
{
|
|
||||||
return udivmodsi4 (a, b, 1);
|
|
||||||
}
|
|
@ -1,65 +0,0 @@
|
|||||||
/* Prototypes for exported functions defined in ms1.c
|
|
||||||
Copyright (C) 2005, 2007 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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 3, or (at your
|
|
||||||
option) any later version.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
extern void mt_init_expanders (void);
|
|
||||||
extern void mt_expand_prologue (void);
|
|
||||||
extern void mt_expand_epilogue (enum epilogue_type);
|
|
||||||
extern unsigned mt_compute_frame_size (int);
|
|
||||||
extern void mt_override_options (void);
|
|
||||||
extern int mt_initial_elimination_offset (int, int);
|
|
||||||
extern const char * mt_asm_output_opcode (FILE *, const char *);
|
|
||||||
extern int mt_epilogue_uses (int);
|
|
||||||
extern void mt_add_loop (void);
|
|
||||||
|
|
||||||
#ifdef TREE_CODE
|
|
||||||
extern const char * mt_cannot_inline_p (tree);
|
|
||||||
extern int mt_function_arg_boundary (enum machine_mode, tree);
|
|
||||||
extern void mt_function_arg_advance (CUMULATIVE_ARGS *, enum machine_mode, tree, int);
|
|
||||||
extern int mt_return_in_memory (const_tree,const_tree);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef RTX_CODE
|
|
||||||
extern void mt_expand_eh_return (rtx *);
|
|
||||||
extern void mt_emit_eh_epilogue (rtx *);
|
|
||||||
extern void mt_print_operand (FILE *, rtx, int);
|
|
||||||
extern void mt_print_operand_address (FILE *, rtx);
|
|
||||||
extern int mt_check_split (rtx, enum machine_mode);
|
|
||||||
extern int mt_reg_ok_for_base_p (rtx, int);
|
|
||||||
extern int mt_legitimate_address_p (enum machine_mode, rtx, int);
|
|
||||||
/* Predicates for machine description. */
|
|
||||||
extern int uns_arith_operand (rtx, enum machine_mode);
|
|
||||||
extern int arith_operand (rtx, enum machine_mode);
|
|
||||||
extern int reg_or_0_operand (rtx, enum machine_mode);
|
|
||||||
extern int big_const_operand (rtx, enum machine_mode);
|
|
||||||
extern int single_const_operand (rtx, enum machine_mode);
|
|
||||||
extern void mt_emit_cbranch (enum rtx_code, rtx, rtx, rtx);
|
|
||||||
extern void mt_set_memflags (rtx);
|
|
||||||
extern rtx mt_return_addr_rtx (int);
|
|
||||||
extern void mt_split_words (enum machine_mode, enum machine_mode, rtx *);
|
|
||||||
extern void mt_final_prescan_insn (rtx, rtx *, int);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef TREE_CODE
|
|
||||||
#ifdef RTX_CODE
|
|
||||||
extern void mt_init_cumulative_args (CUMULATIVE_ARGS *, tree, rtx, tree, int);
|
|
||||||
extern rtx mt_function_arg (const CUMULATIVE_ARGS *, enum machine_mode, tree, int, int);
|
|
||||||
extern enum reg_class mt_secondary_reload_class (enum reg_class, enum machine_mode, rtx);
|
|
||||||
extern rtx mt_function_value (const_tree, enum machine_mode, const_tree);
|
|
||||||
#endif
|
|
||||||
#endif
|
|
2493
gcc/config/mt/mt.c
2493
gcc/config/mt/mt.c
File diff suppressed because it is too large
Load Diff
@ -1,868 +0,0 @@
|
|||||||
/* Target Definitions for MorphoRISC1
|
|
||||||
Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
|
|
||||||
Contributed by Red Hat, Inc.
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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 3, or (at your
|
|
||||||
option) any later version.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
extern struct rtx_def * mt_ucmpsi3_libcall;
|
|
||||||
|
|
||||||
enum processor_type
|
|
||||||
{
|
|
||||||
PROCESSOR_MS1_64_001,
|
|
||||||
PROCESSOR_MS1_16_002,
|
|
||||||
PROCESSOR_MS1_16_003,
|
|
||||||
PROCESSOR_MS2
|
|
||||||
};
|
|
||||||
|
|
||||||
enum epilogue_type
|
|
||||||
{
|
|
||||||
EH_EPILOGUE,
|
|
||||||
NORMAL_EPILOGUE
|
|
||||||
};
|
|
||||||
|
|
||||||
extern enum processor_type mt_cpu;
|
|
||||||
|
|
||||||
|
|
||||||
/* Support for a compile-time default CPU, et cetera. The rules are:
|
|
||||||
--with-arch is ignored if -march is specified. */
|
|
||||||
#define OPTION_DEFAULT_SPECS \
|
|
||||||
{"arch", "%{!march=*:-march=%(VALUE)}" }
|
|
||||||
|
|
||||||
/* A C string constant that tells the GCC driver program options to pass to
|
|
||||||
the assembler. */
|
|
||||||
#undef ASM_SPEC
|
|
||||||
#define ASM_SPEC "%{march=*} %{!march=*: -march=ms1-16-002}"
|
|
||||||
|
|
||||||
/* A string to pass to at the end of the command given to the linker. */
|
|
||||||
#undef LIB_SPEC
|
|
||||||
#define LIB_SPEC "--start-group -lc -lsim --end-group \
|
|
||||||
%{msim: ; \
|
|
||||||
march=ms1-64-001:-T 64-001.ld%s; \
|
|
||||||
march=ms1-16-002:-T 16-002.ld%s; \
|
|
||||||
march=ms1-16-003:-T 16-003.ld%s; \
|
|
||||||
march=ms2:-T ms2.ld%s; \
|
|
||||||
:-T 16-002.ld}"
|
|
||||||
|
|
||||||
/* A string to pass at the very beginning of the command given to the
|
|
||||||
linker. */
|
|
||||||
#undef STARTFILE_SPEC
|
|
||||||
#define STARTFILE_SPEC "%{msim:crt0.o%s;\
|
|
||||||
march=ms1-64-001:%{!mno-crt0:crt0-64-001.o%s} startup-64-001.o%s; \
|
|
||||||
march=ms1-16-002:%{!mno-crt0:crt0-16-002.o%s} startup-16-002.o%s; \
|
|
||||||
march=ms1-16-003:%{!mno-crt0:crt0-16-003.o%s} startup-16-003.o%s; \
|
|
||||||
march=ms2:%{!mno-crt0:crt0-ms2.o%s} startup-ms2.o%s; \
|
|
||||||
:%{!mno-crt0:crt0-16-002.o%s} startup-16-002.o%s} \
|
|
||||||
crti.o%s crtbegin.o%s"
|
|
||||||
|
|
||||||
/* A string to pass at the end of the command given to the linker. */
|
|
||||||
#undef ENDFILE_SPEC
|
|
||||||
#define ENDFILE_SPEC "%{msim:exit.o%s; \
|
|
||||||
march=ms1-64-001:exit-64-001.o%s; \
|
|
||||||
march=ms1-16-002:exit-16-002.o%s; \
|
|
||||||
march=ms1-16-003:exit-16-003.o%s; \
|
|
||||||
march=ms2:exit-ms2.o%s; \
|
|
||||||
:exit-16-002.o%s} \
|
|
||||||
crtend.o%s crtn.o%s"
|
|
||||||
|
|
||||||
/* Run-time target specifications. */
|
|
||||||
|
|
||||||
#define TARGET_CPU_CPP_BUILTINS() \
|
|
||||||
do \
|
|
||||||
{ \
|
|
||||||
builtin_define_with_int_value ("__mt__", mt_cpu); \
|
|
||||||
builtin_assert ("machine=mt"); \
|
|
||||||
} \
|
|
||||||
while (0)
|
|
||||||
|
|
||||||
#define TARGET_MS1_64_001 (mt_cpu == PROCESSOR_MS1_64_001)
|
|
||||||
#define TARGET_MS1_16_002 (mt_cpu == PROCESSOR_MS1_16_002)
|
|
||||||
#define TARGET_MS1_16_003 (mt_cpu == PROCESSOR_MS1_16_003)
|
|
||||||
#define TARGET_MS2 (mt_cpu == PROCESSOR_MS2)
|
|
||||||
|
|
||||||
#define TARGET_VERSION fprintf (stderr, " (mt)");
|
|
||||||
|
|
||||||
#define OVERRIDE_OPTIONS mt_override_options ()
|
|
||||||
|
|
||||||
#define CAN_DEBUG_WITHOUT_FP 1
|
|
||||||
|
|
||||||
|
|
||||||
/* Storage Layout. */
|
|
||||||
|
|
||||||
#define BITS_BIG_ENDIAN 0
|
|
||||||
|
|
||||||
#define BYTES_BIG_ENDIAN 1
|
|
||||||
|
|
||||||
#define WORDS_BIG_ENDIAN 1
|
|
||||||
|
|
||||||
#define UNITS_PER_WORD 4
|
|
||||||
|
|
||||||
/* A macro to update MODE and UNSIGNEDP when an object whose type is TYPE and
|
|
||||||
which has the specified mode and signedness is to be stored in a register.
|
|
||||||
This macro is only called when TYPE is a scalar type.
|
|
||||||
|
|
||||||
On most RISC machines, which only have operations that operate on a full
|
|
||||||
register, define this macro to set M to `word_mode' if M is an integer mode
|
|
||||||
narrower than `BITS_PER_WORD'. In most cases, only integer modes should be
|
|
||||||
widened because wider-precision floating-point operations are usually more
|
|
||||||
expensive than their narrower counterparts.
|
|
||||||
|
|
||||||
For most machines, the macro definition does not change UNSIGNEDP. However,
|
|
||||||
some machines, have instructions that preferentially handle either signed or
|
|
||||||
unsigned quantities of certain modes. For example, on the DEC Alpha, 32-bit
|
|
||||||
loads from memory and 32-bit add instructions sign-extend the result to 64
|
|
||||||
bits. On such machines, set UNSIGNEDP according to which kind of extension
|
|
||||||
is more efficient.
|
|
||||||
|
|
||||||
Do not define this macro if it would never modify MODE. */
|
|
||||||
#define PROMOTE_MODE(MODE,UNSIGNEDP,TYPE) \
|
|
||||||
do \
|
|
||||||
{ \
|
|
||||||
if (GET_MODE_CLASS (MODE) == MODE_INT \
|
|
||||||
&& GET_MODE_SIZE (MODE) < 4) \
|
|
||||||
(MODE) = SImode; \
|
|
||||||
} \
|
|
||||||
while (0)
|
|
||||||
|
|
||||||
/* Normal alignment required for function parameters on the stack, in bits.
|
|
||||||
All stack parameters receive at least this much alignment regardless of data
|
|
||||||
type. On most machines, this is the same as the size of an integer. */
|
|
||||||
#define PARM_BOUNDARY 32
|
|
||||||
|
|
||||||
/* Define this macro to the minimum alignment enforced by hardware for
|
|
||||||
the stack pointer on this machine. The definition is a C
|
|
||||||
expression for the desired alignment (measured in bits). This
|
|
||||||
value is used as a default if PREFERRED_STACK_BOUNDARY is not
|
|
||||||
defined. On most machines, this should be the same as
|
|
||||||
PARM_BOUNDARY. */
|
|
||||||
#define STACK_BOUNDARY 32
|
|
||||||
|
|
||||||
/* Alignment required for a function entry point, in bits. */
|
|
||||||
#define FUNCTION_BOUNDARY 32
|
|
||||||
|
|
||||||
/* Biggest alignment that any data type can require on this machine,
|
|
||||||
in bits. */
|
|
||||||
#define BIGGEST_ALIGNMENT 32
|
|
||||||
|
|
||||||
/* If defined, a C expression to compute the alignment for a variable
|
|
||||||
in the static store. TYPE is the data type, and ALIGN is the
|
|
||||||
alignment that the object would ordinarily have. The value of this
|
|
||||||
macro is used instead of that alignment to align the object.
|
|
||||||
|
|
||||||
If this macro is not defined, then ALIGN is used. */
|
|
||||||
#define DATA_ALIGNMENT(TYPE, ALIGN) \
|
|
||||||
(TREE_CODE (TYPE) == ARRAY_TYPE \
|
|
||||||
&& TYPE_MODE (TREE_TYPE (TYPE)) == QImode \
|
|
||||||
&& (ALIGN) < BITS_PER_WORD ? BITS_PER_WORD : (ALIGN))
|
|
||||||
|
|
||||||
/* If defined, a C expression to compute the alignment given to a constant that
|
|
||||||
is being placed in memory. CONSTANT is the constant and ALIGN is the
|
|
||||||
alignment that the object would ordinarily have. The value of this macro is
|
|
||||||
used instead of that alignment to align the object.
|
|
||||||
|
|
||||||
If this macro is not defined, then ALIGN is used.
|
|
||||||
|
|
||||||
The typical use of this macro is to increase alignment for string constants
|
|
||||||
to be word aligned so that `strcpy' calls that copy constants can be done
|
|
||||||
inline. */
|
|
||||||
#define CONSTANT_ALIGNMENT(EXP, ALIGN) \
|
|
||||||
(TREE_CODE (EXP) == STRING_CST \
|
|
||||||
&& (ALIGN) < BITS_PER_WORD ? BITS_PER_WORD : (ALIGN))
|
|
||||||
|
|
||||||
/* Number of bits which any structure or union's size must be a multiple of.
|
|
||||||
Each structure or union's size is rounded up to a multiple of this.
|
|
||||||
|
|
||||||
If you do not define this macro, the default is the same as `BITS_PER_UNIT'. */
|
|
||||||
#define STRUCTURE_SIZE_BOUNDARY 32
|
|
||||||
|
|
||||||
/* Define this macro to be the value 1 if instructions will fail to work if
|
|
||||||
given data not on the nominal alignment. If instructions will merely go
|
|
||||||
slower in that case, define this macro as 0. */
|
|
||||||
#define STRICT_ALIGNMENT 1
|
|
||||||
|
|
||||||
/* Define this if you wish to imitate the way many other C compilers handle
|
|
||||||
alignment of bitfields and the structures that contain them. */
|
|
||||||
#define PCC_BITFIELD_TYPE_MATTERS 1
|
|
||||||
|
|
||||||
/* Layout of Source Language Data Types. */
|
|
||||||
|
|
||||||
#define INT_TYPE_SIZE 32
|
|
||||||
|
|
||||||
#define SHORT_TYPE_SIZE 16
|
|
||||||
|
|
||||||
#define LONG_TYPE_SIZE 32
|
|
||||||
|
|
||||||
#define LONG_LONG_TYPE_SIZE 64
|
|
||||||
|
|
||||||
#define CHAR_TYPE_SIZE 8
|
|
||||||
|
|
||||||
#define FLOAT_TYPE_SIZE 32
|
|
||||||
|
|
||||||
#define DOUBLE_TYPE_SIZE 64
|
|
||||||
|
|
||||||
#define LONG_DOUBLE_TYPE_SIZE 64
|
|
||||||
|
|
||||||
#define DEFAULT_SIGNED_CHAR 1
|
|
||||||
|
|
||||||
/* Register Basics. */
|
|
||||||
|
|
||||||
/* General purpose registers. */
|
|
||||||
#define GPR_FIRST 0 /* First gpr */
|
|
||||||
#define GPR_LAST 15 /* Last possible gpr */
|
|
||||||
|
|
||||||
#define GPR_R0 0 /* Always 0 */
|
|
||||||
#define GPR_R7 7 /* Used as a scratch register */
|
|
||||||
#define GPR_R8 8 /* Used as a scratch register */
|
|
||||||
#define GPR_R9 9 /* Used as a scratch register */
|
|
||||||
#define GPR_R10 10 /* Used as a scratch register */
|
|
||||||
#define GPR_R11 11 /* Used as a scratch register */
|
|
||||||
#define GPR_FP 12 /* Frame pointer */
|
|
||||||
#define GPR_SP 13 /* Stack pointer */
|
|
||||||
#define GPR_LINK 14 /* Saved return address as
|
|
||||||
seen by the caller */
|
|
||||||
#define GPR_INTERRUPT_LINK 15 /* hold return addres for interrupts */
|
|
||||||
|
|
||||||
#define LOOP_FIRST (GPR_LAST + 1)
|
|
||||||
#define LOOP_LAST (LOOP_FIRST + 3)
|
|
||||||
|
|
||||||
/* Argument register that is eliminated in favor of the frame and/or stack
|
|
||||||
pointer. Also add register to point to where the return address is
|
|
||||||
stored. */
|
|
||||||
#define SPECIAL_REG_FIRST (LOOP_LAST + 1)
|
|
||||||
#define SPECIAL_REG_LAST (SPECIAL_REG_FIRST)
|
|
||||||
#define ARG_POINTER_REGNUM (SPECIAL_REG_FIRST + 0)
|
|
||||||
#define SPECIAL_REG_P(R) ((R) == SPECIAL_REG_FIRST)
|
|
||||||
|
|
||||||
/* The first/last register that can contain the arguments to a function. */
|
|
||||||
#define FIRST_ARG_REGNUM 1
|
|
||||||
#define LAST_ARG_REGNUM 4
|
|
||||||
|
|
||||||
/* The register used to hold functions return value */
|
|
||||||
#define RETVAL_REGNUM 11
|
|
||||||
|
|
||||||
#define FIRST_PSEUDO_REGISTER (SPECIAL_REG_LAST + 1)
|
|
||||||
|
|
||||||
#define IS_PSEUDO_P(R) (REGNO (R) >= FIRST_PSEUDO_REGISTER)
|
|
||||||
|
|
||||||
/* R0 always has the value 0
|
|
||||||
R10 static link
|
|
||||||
R12 FP pointer to active frame
|
|
||||||
R13 SP pointer to top of stack
|
|
||||||
R14 RA return address
|
|
||||||
R15 IRA interrupt return address. */
|
|
||||||
#define FIXED_REGISTERS { 1, 0, 0, 0, 0, 0, 0, 0, \
|
|
||||||
0, 0, 0, 0, 1, 1, 1, 1, \
|
|
||||||
1, 1, 1, 1, 1 \
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Like `FIXED_REGISTERS' but has 1 for each register that is clobbered (in
|
|
||||||
general) by function calls as well as for fixed registers. This macro
|
|
||||||
therefore identifies the registers that are not available for general
|
|
||||||
allocation of values that must live across function calls. */
|
|
||||||
#define CALL_USED_REGISTERS { 1, 1, 1, 1, 1, 0, 0, 1, \
|
|
||||||
1, 1, 1, 1, 1, 1, 1, 1, \
|
|
||||||
1, 1, 1, 1, 1 \
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* How Values Fit in Registers. */
|
|
||||||
|
|
||||||
#define HARD_REGNO_NREGS(REGNO, MODE) \
|
|
||||||
((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD)
|
|
||||||
|
|
||||||
#define HARD_REGNO_MODE_OK(REGNO, MODE) 1
|
|
||||||
|
|
||||||
/* A C expression that is nonzero if a value of mode MODE1 is
|
|
||||||
accessible in mode MODE2 without copying. */
|
|
||||||
#define MODES_TIEABLE_P(MODE1, MODE2) 1
|
|
||||||
|
|
||||||
/* Register Classes. */
|
|
||||||
|
|
||||||
enum reg_class
|
|
||||||
{
|
|
||||||
NO_REGS,
|
|
||||||
ALL_REGS,
|
|
||||||
LIM_REG_CLASSES
|
|
||||||
};
|
|
||||||
|
|
||||||
#define GENERAL_REGS ALL_REGS
|
|
||||||
|
|
||||||
#define N_REG_CLASSES ((int) LIM_REG_CLASSES)
|
|
||||||
|
|
||||||
#define REG_CLASS_NAMES {"NO_REGS", "ALL_REGS" }
|
|
||||||
|
|
||||||
#define REG_CLASS_CONTENTS \
|
|
||||||
{ \
|
|
||||||
{ 0x0 }, \
|
|
||||||
{ 0x000fffff }, \
|
|
||||||
}
|
|
||||||
|
|
||||||
/* A C expression whose value is a register class containing hard register
|
|
||||||
REGNO. In general there is more than one such class; choose a class which
|
|
||||||
is "minimal", meaning that no smaller class also contains the register. */
|
|
||||||
#define REGNO_REG_CLASS(REGNO) GENERAL_REGS
|
|
||||||
|
|
||||||
#define BASE_REG_CLASS GENERAL_REGS
|
|
||||||
|
|
||||||
#define INDEX_REG_CLASS NO_REGS
|
|
||||||
|
|
||||||
#define REG_CLASS_FROM_LETTER(CHAR) NO_REGS
|
|
||||||
|
|
||||||
#define REGNO_OK_FOR_BASE_P(NUM) 1
|
|
||||||
|
|
||||||
#define REGNO_OK_FOR_INDEX_P(NUM) 1
|
|
||||||
|
|
||||||
/* A C expression that places additional restrictions on the register class to
|
|
||||||
use when it is necessary to copy value X into a register in class CLASS.
|
|
||||||
The value is a register class; perhaps CLASS, or perhaps another, smaller
|
|
||||||
class. On many machines, the following definition is safe:
|
|
||||||
|
|
||||||
#define PREFERRED_RELOAD_CLASS(X,CLASS) CLASS
|
|
||||||
*/
|
|
||||||
#define PREFERRED_RELOAD_CLASS(X, CLASS) (CLASS)
|
|
||||||
|
|
||||||
#define SECONDARY_RELOAD_CLASS(CLASS,MODE,X) \
|
|
||||||
mt_secondary_reload_class((CLASS), (MODE), (X))
|
|
||||||
|
|
||||||
/* A C expression for the maximum number of consecutive registers of
|
|
||||||
class CLASS needed to hold a value of mode MODE. */
|
|
||||||
#define CLASS_MAX_NREGS(CLASS, MODE) \
|
|
||||||
((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD)
|
|
||||||
|
|
||||||
/* For MorphoRISC1:
|
|
||||||
|
|
||||||
`I' is used for the range of constants an arithmetic insn can
|
|
||||||
actually contain (16-bit signed integers).
|
|
||||||
|
|
||||||
`J' is used for the range which is just zero (ie, $r0).
|
|
||||||
|
|
||||||
`K' is used for the range of constants a logical insn can actually
|
|
||||||
contain (16-bit zero-extended integers).
|
|
||||||
|
|
||||||
`L' is used for the range of constants that be loaded with lui
|
|
||||||
(ie, the bottom 16 bits are zero).
|
|
||||||
|
|
||||||
`M' is used for the range of constants that take two words to load
|
|
||||||
(ie, not matched by `I', `K', and `L').
|
|
||||||
|
|
||||||
`N' is used for negative 16-bit constants other than -65536.
|
|
||||||
|
|
||||||
`O' is a 15-bit signed integer.
|
|
||||||
|
|
||||||
`P' is used for positive 16-bit constants. */
|
|
||||||
|
|
||||||
#define SMALL_INT(X) ((unsigned HOST_WIDE_INT) (INTVAL (X) + 0x8000) < 0x10000)
|
|
||||||
#define SMALL_INT_UNSIGNED(X) ((unsigned HOST_WIDE_INT) (INTVAL (X)) < 0x10000)
|
|
||||||
|
|
||||||
/* A C expression that defines the machine-dependent operand
|
|
||||||
constraint letters that specify particular ranges of integer
|
|
||||||
values. If C is one of those letters, the expression should check
|
|
||||||
that VALUE, an integer, is in the appropriate range and return 1 if
|
|
||||||
so, 0 otherwise. If C is not one of those letters, the value
|
|
||||||
should be 0 regardless of VALUE. */
|
|
||||||
#define CONST_OK_FOR_LETTER_P(VALUE, C) \
|
|
||||||
((C) == 'I' ? ((unsigned HOST_WIDE_INT) ((VALUE) + 0x8000) < 0x10000) \
|
|
||||||
: (C) == 'J' ? ((VALUE) == 0) \
|
|
||||||
: (C) == 'K' ? ((unsigned HOST_WIDE_INT) (VALUE) < 0x10000) \
|
|
||||||
: (C) == 'L' ? (((VALUE) & 0x0000ffff) == 0 \
|
|
||||||
&& (((VALUE) & ~2147483647) == 0 \
|
|
||||||
|| ((VALUE) & ~2147483647) == ~2147483647)) \
|
|
||||||
: (C) == 'M' ? ((((VALUE) & ~0x0000ffff) != 0) \
|
|
||||||
&& (((VALUE) & ~0x0000ffff) != ~0x0000ffff) \
|
|
||||||
&& (((VALUE) & 0x0000ffff) != 0 \
|
|
||||||
|| (((VALUE) & ~2147483647) != 0 \
|
|
||||||
&& ((VALUE) & ~2147483647) != ~2147483647))) \
|
|
||||||
: (C) == 'N' ? ((unsigned HOST_WIDE_INT) ((VALUE) + 0xffff) < 0xffff) \
|
|
||||||
: (C) == 'O' ? ((unsigned HOST_WIDE_INT) ((VALUE) + 0x4000) < 0x8000) \
|
|
||||||
: (C) == 'P' ? ((VALUE) != 0 && (((VALUE) & ~0x0000ffff) == 0)) \
|
|
||||||
: 0)
|
|
||||||
|
|
||||||
/* A C expression that defines the machine-dependent operand constraint letters
|
|
||||||
(`G', `H') that specify particular ranges of `const_double' values. */
|
|
||||||
#define CONST_DOUBLE_OK_FOR_LETTER_P(VALUE, C) 0
|
|
||||||
|
|
||||||
/* Most negative value represent on mt */
|
|
||||||
#define MT_MIN_INT 0x80000000
|
|
||||||
|
|
||||||
/* Basic Stack Layout. */
|
|
||||||
|
|
||||||
enum save_direction
|
|
||||||
{
|
|
||||||
FROM_PROCESSOR_TO_MEM,
|
|
||||||
FROM_MEM_TO_PROCESSOR
|
|
||||||
};
|
|
||||||
|
|
||||||
/* Tell prologue and epilogue if register REGNO should be saved / restored.
|
|
||||||
The return address and frame pointer are treated separately.
|
|
||||||
Don't consider them here. */
|
|
||||||
#define MUST_SAVE_REGISTER(regno) \
|
|
||||||
( (regno) != GPR_LINK \
|
|
||||||
&& (regno) != GPR_FP \
|
|
||||||
&& (regno) != GPR_SP \
|
|
||||||
&& (regno) != GPR_R0 \
|
|
||||||
&& (( df_regs_ever_live_p (regno) && ! call_used_regs[regno] ) \
|
|
||||||
/* Save ira register in an interrupt handler. */ \
|
|
||||||
|| (interrupt_handler && (regno) == GPR_INTERRUPT_LINK) \
|
|
||||||
/* Save any register used in an interrupt handler. */ \
|
|
||||||
|| (interrupt_handler && df_regs_ever_live_p (regno)) \
|
|
||||||
/* Save call clobbered registers in non-leaf interrupt \
|
|
||||||
handlers. */ \
|
|
||||||
|| (interrupt_handler && call_used_regs[regno] \
|
|
||||||
&& !current_function_is_leaf) \
|
|
||||||
||(crtl->calls_eh_return \
|
|
||||||
&& (regno == GPR_R7 || regno == GPR_R8)) \
|
|
||||||
) \
|
|
||||||
)
|
|
||||||
|
|
||||||
#define STACK_GROWS_DOWNWARD 1
|
|
||||||
|
|
||||||
/* Offset from the frame pointer to the first local variable slot to be
|
|
||||||
allocated.
|
|
||||||
|
|
||||||
If `FRAME_GROWS_DOWNWARD', find the next slot's offset by
|
|
||||||
subtracting the first slot's length from `STARTING_FRAME_OFFSET'.
|
|
||||||
Otherwise, it is found by adding the length of the first slot to
|
|
||||||
the value `STARTING_FRAME_OFFSET'. */
|
|
||||||
#define STARTING_FRAME_OFFSET crtl->outgoing_args_size
|
|
||||||
|
|
||||||
/* Offset from the argument pointer register to the first argument's address.
|
|
||||||
On some machines it may depend on the data type of the function.
|
|
||||||
|
|
||||||
If `ARGS_GROW_DOWNWARD', this is the offset to the location above the first
|
|
||||||
argument's address. */
|
|
||||||
#define FIRST_PARM_OFFSET(FUNDECL) 0
|
|
||||||
|
|
||||||
#define RETURN_ADDR_RTX(COUNT, FRAMEADDR) \
|
|
||||||
mt_return_addr_rtx (COUNT)
|
|
||||||
|
|
||||||
/* A C expression whose value is RTL representing the location of the incoming
|
|
||||||
return address at the beginning of any function, before the prologue. This
|
|
||||||
RTL is either a `REG', indicating that the return value is saved in `REG',
|
|
||||||
or a `MEM' representing a location in the stack.
|
|
||||||
|
|
||||||
You only need to define this macro if you want to support call frame
|
|
||||||
debugging information like that provided by DWARF 2. */
|
|
||||||
#define INCOMING_RETURN_ADDR_RTX gen_rtx_REG (SImode, GPR_LINK)
|
|
||||||
|
|
||||||
/* A C expression whose value is an integer giving the offset, in bytes, from
|
|
||||||
the value of the stack pointer register to the top of the stack frame at the
|
|
||||||
beginning of any function, before the prologue. The top of the frame is
|
|
||||||
defined to be the value of the stack pointer in the previous frame, just
|
|
||||||
before the call instruction.
|
|
||||||
|
|
||||||
You only need to define this macro if you want to support call frame
|
|
||||||
debugging information like that provided by DWARF 2. */
|
|
||||||
#define INCOMING_FRAME_SP_OFFSET 0
|
|
||||||
|
|
||||||
#define STACK_POINTER_REGNUM GPR_SP
|
|
||||||
|
|
||||||
#define FRAME_POINTER_REGNUM GPR_FP
|
|
||||||
|
|
||||||
/* The register number of the arg pointer register, which is used to
|
|
||||||
access the function's argument list. */
|
|
||||||
#define ARG_POINTER_REGNUM (SPECIAL_REG_FIRST + 0)
|
|
||||||
|
|
||||||
/* Register numbers used for passing a function's static chain pointer. */
|
|
||||||
#define STATIC_CHAIN_REGNUM 10
|
|
||||||
|
|
||||||
/* A C expression which is nonzero if a function must have and use a frame
|
|
||||||
pointer. */
|
|
||||||
#define FRAME_POINTER_REQUIRED 0
|
|
||||||
|
|
||||||
/* Structure to be filled in by compute_frame_size with register
|
|
||||||
save masks, and offsets for the current function. */
|
|
||||||
|
|
||||||
struct mt_frame_info
|
|
||||||
{
|
|
||||||
unsigned int total_size; /* # Bytes that the entire frame takes up. */
|
|
||||||
unsigned int pretend_size; /* # Bytes we push and pretend caller did. */
|
|
||||||
unsigned int args_size; /* # Bytes that outgoing arguments take up. */
|
|
||||||
unsigned int extra_size;
|
|
||||||
unsigned int reg_size; /* # Bytes needed to store regs. */
|
|
||||||
unsigned int var_size; /* # Bytes that variables take up. */
|
|
||||||
unsigned int frame_size; /* # Bytes in current frame. */
|
|
||||||
unsigned int reg_mask; /* Mask of saved registers. */
|
|
||||||
unsigned int save_fp; /* Nonzero if frame pointer must be saved. */
|
|
||||||
unsigned int save_lr; /* Nonzero if return pointer must be saved. */
|
|
||||||
int initialized; /* Nonzero if frame size already calculated. */
|
|
||||||
};
|
|
||||||
|
|
||||||
extern struct mt_frame_info current_frame_info;
|
|
||||||
|
|
||||||
/* If defined, this macro specifies a table of register pairs used to eliminate
|
|
||||||
unneeded registers that point into the stack frame. */
|
|
||||||
#define ELIMINABLE_REGS \
|
|
||||||
{ \
|
|
||||||
{ARG_POINTER_REGNUM, STACK_POINTER_REGNUM}, \
|
|
||||||
{ARG_POINTER_REGNUM, FRAME_POINTER_REGNUM}, \
|
|
||||||
{FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM} \
|
|
||||||
}
|
|
||||||
|
|
||||||
/* A C expression that returns nonzero if the compiler is allowed to try to
|
|
||||||
replace register number FROM with register number TO. */
|
|
||||||
#define CAN_ELIMINATE(FROM, TO) \
|
|
||||||
((FROM) == ARG_POINTER_REGNUM && (TO) == STACK_POINTER_REGNUM \
|
|
||||||
? ! frame_pointer_needed \
|
|
||||||
: 1)
|
|
||||||
|
|
||||||
/* This macro is similar to `INITIAL_FRAME_POINTER_OFFSET'. It
|
|
||||||
specifies the initial difference between the specified pair of
|
|
||||||
registers. This macro must be defined if `ELIMINABLE_REGS' is
|
|
||||||
defined. */
|
|
||||||
#define INITIAL_ELIMINATION_OFFSET(FROM, TO, OFFSET) \
|
|
||||||
(OFFSET) = mt_initial_elimination_offset (FROM, TO)
|
|
||||||
|
|
||||||
/* If defined, the maximum amount of space required for outgoing
|
|
||||||
arguments will be computed and placed into the variable
|
|
||||||
`crtl->outgoing_args_size'. */
|
|
||||||
#define ACCUMULATE_OUTGOING_ARGS 1
|
|
||||||
|
|
||||||
/* Define this if it is the responsibility of the caller to
|
|
||||||
allocate the area reserved for arguments passed in registers. */
|
|
||||||
#define OUTGOING_REG_PARM_STACK_SPACE(FNTYPE) 1
|
|
||||||
|
|
||||||
/* The number of register assigned to holding function arguments. */
|
|
||||||
#define MT_NUM_ARG_REGS 4
|
|
||||||
|
|
||||||
/* Define this if it is the responsibility of the caller to allocate
|
|
||||||
the area reserved for arguments passed in registers. */
|
|
||||||
#define REG_PARM_STACK_SPACE(FNDECL) (MT_NUM_ARG_REGS * UNITS_PER_WORD)
|
|
||||||
|
|
||||||
/* Define this macro if `REG_PARM_STACK_SPACE' is defined, but the stack
|
|
||||||
parameters don't skip the area specified by it. */
|
|
||||||
#define STACK_PARMS_IN_REG_PARM_AREA
|
|
||||||
|
|
||||||
/* A C expression that should indicate the number of bytes of its own
|
|
||||||
arguments that a function pops on returning, or 0 if the function
|
|
||||||
pops no arguments and the caller must therefore pop them all after
|
|
||||||
the function returns. */
|
|
||||||
#define RETURN_POPS_ARGS(FUNDECL, FUNTYPE, STACK_SIZE) 0
|
|
||||||
|
|
||||||
#define FUNCTION_ARG(CUM, MODE, TYPE, NAMED) \
|
|
||||||
mt_function_arg (& (CUM), (MODE), (TYPE), (NAMED), FALSE)
|
|
||||||
|
|
||||||
#define CUMULATIVE_ARGS int
|
|
||||||
|
|
||||||
#define INIT_CUMULATIVE_ARGS(CUM, FNTYPE, LIBNAME, FNDECL, N_NAMED_ARGS) \
|
|
||||||
mt_init_cumulative_args (& (CUM), FNTYPE, LIBNAME, FNDECL, FALSE)
|
|
||||||
|
|
||||||
#define FUNCTION_ARG_ADVANCE(CUM, MODE, TYPE, NAMED) \
|
|
||||||
mt_function_arg_advance (&CUM, MODE, TYPE, NAMED)
|
|
||||||
|
|
||||||
#define FUNCTION_ARG_BOUNDARY(MODE, TYPE) \
|
|
||||||
mt_function_arg_boundary (MODE, TYPE)
|
|
||||||
|
|
||||||
#define FUNCTION_ARG_REGNO_P(REGNO) \
|
|
||||||
((REGNO) >= FIRST_ARG_REGNUM && ((REGNO) <= LAST_ARG_REGNUM))
|
|
||||||
|
|
||||||
#define RETURN_VALUE_REGNUM RETVAL_REGNUM
|
|
||||||
|
|
||||||
#define FUNCTION_VALUE(VALTYPE, FUNC) \
|
|
||||||
mt_function_value (VALTYPE, TYPE_MODE(VALTYPE), FUNC)
|
|
||||||
|
|
||||||
#define LIBCALL_VALUE(MODE) \
|
|
||||||
mt_function_value (NULL_TREE, MODE, NULL_TREE)
|
|
||||||
|
|
||||||
#define FUNCTION_VALUE_REGNO_P(REGNO) ((REGNO) == RETURN_VALUE_REGNUM)
|
|
||||||
|
|
||||||
/* A C expression which can inhibit the returning of certain function
|
|
||||||
values in registers, based on the type of value. */
|
|
||||||
#define TARGET_RETURN_IN_MEMORY mt_return_in_memory
|
|
||||||
|
|
||||||
/* Define this macro to be 1 if all structure and union return values must be
|
|
||||||
in memory. */
|
|
||||||
#define DEFAULT_PCC_STRUCT_RETURN 0
|
|
||||||
|
|
||||||
/* Define this macro as a C expression that is nonzero if the return
|
|
||||||
instruction or the function epilogue ignores the value of the stack
|
|
||||||
pointer; in other words, if it is safe to delete an instruction to
|
|
||||||
adjust the stack pointer before a return from the function. */
|
|
||||||
#define EXIT_IGNORE_STACK 1
|
|
||||||
|
|
||||||
#define EPILOGUE_USES(REGNO) mt_epilogue_uses(REGNO)
|
|
||||||
|
|
||||||
/* Define this macro if the function epilogue contains delay slots to which
|
|
||||||
instructions from the rest of the function can be "moved". */
|
|
||||||
#define DELAY_SLOTS_FOR_EPILOGUE 1
|
|
||||||
|
|
||||||
/* A C expression that returns 1 if INSN can be placed in delay slot number N
|
|
||||||
of the epilogue. */
|
|
||||||
#define ELIGIBLE_FOR_EPILOGUE_DELAY(INSN, N) 0
|
|
||||||
|
|
||||||
#define FUNCTION_PROFILER(FILE, LABELNO) gcc_unreachable ()
|
|
||||||
|
|
||||||
/* Trampolines are not implemented. */
|
|
||||||
#define TRAMPOLINE_SIZE 0
|
|
||||||
|
|
||||||
#define INITIALIZE_TRAMPOLINE(ADDR, FNADDR, STATIC_CHAIN)
|
|
||||||
|
|
||||||
/* ?? What is this -- aldyh ?? */
|
|
||||||
#define UCMPSI3_LIBCALL "__ucmpsi3"
|
|
||||||
|
|
||||||
/* Addressing Modes. */
|
|
||||||
|
|
||||||
/* A C expression that is 1 if the RTX X is a constant which is a valid
|
|
||||||
address. */
|
|
||||||
#define CONSTANT_ADDRESS_P(X) CONSTANT_P (X)
|
|
||||||
|
|
||||||
/* A number, the maximum number of registers that can appear in a valid memory
|
|
||||||
address. Note that it is up to you to specify a value equal to the maximum
|
|
||||||
number that `GO_IF_LEGITIMATE_ADDRESS' would ever accept. */
|
|
||||||
#define MAX_REGS_PER_ADDRESS 1
|
|
||||||
|
|
||||||
#ifdef REG_OK_STRICT
|
|
||||||
#define GO_IF_LEGITIMATE_ADDRESS(MODE, X, ADDR) \
|
|
||||||
{ \
|
|
||||||
if (mt_legitimate_address_p (MODE, X, 1)) \
|
|
||||||
goto ADDR; \
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
#define GO_IF_LEGITIMATE_ADDRESS(MODE, X, ADDR) \
|
|
||||||
{ \
|
|
||||||
if (mt_legitimate_address_p (MODE, X, 0)) \
|
|
||||||
goto ADDR; \
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef REG_OK_STRICT
|
|
||||||
#define REG_OK_FOR_BASE_P(X) mt_reg_ok_for_base_p (X, 1)
|
|
||||||
#else
|
|
||||||
#define REG_OK_FOR_BASE_P(X) mt_reg_ok_for_base_p (X, 0)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define REG_OK_FOR_INDEX_P(X) REG_OK_FOR_BASE_P (X)
|
|
||||||
|
|
||||||
#define LEGITIMIZE_ADDRESS(X, OLDX, MODE, WIN) {}
|
|
||||||
|
|
||||||
#define GO_IF_MODE_DEPENDENT_ADDRESS(ADDR, LABEL)
|
|
||||||
|
|
||||||
#define LEGITIMATE_CONSTANT_P(X) 1
|
|
||||||
|
|
||||||
/* A C expression for the cost of moving data of mode M between a register and
|
|
||||||
memory. A value of 2 is the default; this cost is relative to those in
|
|
||||||
`REGISTER_MOVE_COST'.
|
|
||||||
|
|
||||||
If moving between registers and memory is more expensive than between two
|
|
||||||
registers, you should define this macro to express the relative cost. */
|
|
||||||
#define MEMORY_MOVE_COST(M,C,I) 10
|
|
||||||
|
|
||||||
/* Define this macro as a C expression which is nonzero if accessing less than
|
|
||||||
a word of memory (i.e. a `char' or a `short') is no faster than accessing a
|
|
||||||
word of memory. */
|
|
||||||
#define SLOW_BYTE_ACCESS 1
|
|
||||||
|
|
||||||
#define SLOW_UNALIGNED_ACCESS(MODE, ALIGN) 1
|
|
||||||
|
|
||||||
#define TEXT_SECTION_ASM_OP ".text"
|
|
||||||
|
|
||||||
#define DATA_SECTION_ASM_OP ".data"
|
|
||||||
|
|
||||||
#define BSS_SECTION_ASM_OP "\t.section\t.bss"
|
|
||||||
|
|
||||||
/* A C string constant for text to be output before each `asm' statement or
|
|
||||||
group of consecutive ones. Normally this is `"#APP"', which is a comment
|
|
||||||
that has no effect on most assemblers but tells the GNU assembler that it
|
|
||||||
must check the lines that follow for all valid assembler constructs. */
|
|
||||||
#define ASM_APP_ON "#APP\n"
|
|
||||||
|
|
||||||
/* A C string constant for text to be output after each `asm' statement or
|
|
||||||
group of consecutive ones. Normally this is `"#NO_APP"', which tells the
|
|
||||||
GNU assembler to resume making the time-saving assumptions that are valid
|
|
||||||
for ordinary compiler output. */
|
|
||||||
#define ASM_APP_OFF "#NO_APP\n"
|
|
||||||
|
|
||||||
/* This is how to output an assembler line defining a `char' constant. */
|
|
||||||
#define ASM_OUTPUT_CHAR(FILE, VALUE) \
|
|
||||||
do \
|
|
||||||
{ \
|
|
||||||
fprintf (FILE, "\t.byte\t"); \
|
|
||||||
output_addr_const (FILE, (VALUE)); \
|
|
||||||
fprintf (FILE, "\n"); \
|
|
||||||
} \
|
|
||||||
while (0)
|
|
||||||
|
|
||||||
/* This is how to output an assembler line defining a `short' constant. */
|
|
||||||
#define ASM_OUTPUT_SHORT(FILE, VALUE) \
|
|
||||||
do \
|
|
||||||
{ \
|
|
||||||
fprintf (FILE, "\t.hword\t"); \
|
|
||||||
output_addr_const (FILE, (VALUE)); \
|
|
||||||
fprintf (FILE, "\n"); \
|
|
||||||
} \
|
|
||||||
while (0)
|
|
||||||
|
|
||||||
/* This is how to output an assembler line defining an `int' constant.
|
|
||||||
We also handle symbol output here. */
|
|
||||||
#define ASM_OUTPUT_INT(FILE, VALUE) \
|
|
||||||
do \
|
|
||||||
{ \
|
|
||||||
fprintf (FILE, "\t.word\t"); \
|
|
||||||
output_addr_const (FILE, (VALUE)); \
|
|
||||||
fprintf (FILE, "\n"); \
|
|
||||||
} \
|
|
||||||
while (0)
|
|
||||||
|
|
||||||
/* A C statement to output to the stdio stream STREAM an assembler instruction
|
|
||||||
to assemble a single byte containing the number VALUE.
|
|
||||||
|
|
||||||
This declaration must be present. */
|
|
||||||
#define ASM_OUTPUT_BYTE(STREAM, VALUE) \
|
|
||||||
fprintf (STREAM, "\t%s\t0x%x\n", ASM_BYTE_OP, (VALUE))
|
|
||||||
|
|
||||||
/* Globalizing directive for a label. */
|
|
||||||
#define GLOBAL_ASM_OP "\t.globl "
|
|
||||||
|
|
||||||
#define REGISTER_NAMES \
|
|
||||||
{ "R0", "R1", "R2", "R3", "R4", "R5", "R6", "R7", \
|
|
||||||
"R8", "R9", "R10", "R11", "R12", "R13", "R14", "R15", \
|
|
||||||
"LOOP1", "LOOP2", "LOOP3", "LOOP4", "ap" }
|
|
||||||
|
|
||||||
/* If defined, a C initializer for an array of structures containing a name and
|
|
||||||
a register number. This macro defines additional names for hard registers,
|
|
||||||
thus allowing the `asm' option in declarations to refer to registers using
|
|
||||||
alternate names. */
|
|
||||||
#define ADDITIONAL_REGISTER_NAMES \
|
|
||||||
{ { "FP", 12}, {"SP", 13}, {"RA", 14}, {"IRA", 15} }
|
|
||||||
|
|
||||||
/* Define this macro if you are using an unusual assembler that requires
|
|
||||||
different names for the machine instructions.
|
|
||||||
|
|
||||||
The definition is a C statement or statements which output an assembler
|
|
||||||
instruction opcode to the stdio stream STREAM. The macro-operand PTR is a
|
|
||||||
variable of type `char *' which points to the opcode name in its "internal"
|
|
||||||
form--the form that is written in the machine description. The definition
|
|
||||||
should output the opcode name to STREAM, performing any translation you
|
|
||||||
desire, and increment the variable PTR to point at the end of the opcode so
|
|
||||||
that it will not be output twice. */
|
|
||||||
#define ASM_OUTPUT_OPCODE(STREAM, PTR) \
|
|
||||||
(PTR) = mt_asm_output_opcode (STREAM, PTR)
|
|
||||||
|
|
||||||
#define FINAL_PRESCAN_INSN(INSN, OPVEC, NOPERANDS) \
|
|
||||||
mt_final_prescan_insn (INSN, OPVEC, NOPERANDS)
|
|
||||||
|
|
||||||
#define PRINT_OPERAND(STREAM, X, CODE) mt_print_operand (STREAM, X, CODE)
|
|
||||||
|
|
||||||
/* A C expression which evaluates to true if CODE is a valid punctuation
|
|
||||||
character for use in the `PRINT_OPERAND' macro. */
|
|
||||||
/* #: Print nop for delay slot. */
|
|
||||||
#define PRINT_OPERAND_PUNCT_VALID_P(CODE) ((CODE) == '#')
|
|
||||||
|
|
||||||
#define PRINT_OPERAND_ADDRESS(STREAM, X) mt_print_operand_address (STREAM, X)
|
|
||||||
|
|
||||||
/* If defined, C string expressions to be used for the `%R', `%L', `%U', and
|
|
||||||
`%I' options of `asm_fprintf' (see `final.c'). These are useful when a
|
|
||||||
single `md' file must support multiple assembler formats. In that case, the
|
|
||||||
various `tm.h' files can define these macros differently.
|
|
||||||
|
|
||||||
USER_LABEL_PREFIX is defined in svr4.h. */
|
|
||||||
#define REGISTER_PREFIX "%"
|
|
||||||
#define LOCAL_LABEL_PREFIX "."
|
|
||||||
#define USER_LABEL_PREFIX ""
|
|
||||||
#define IMMEDIATE_PREFIX ""
|
|
||||||
|
|
||||||
/* This macro should be provided on machines where the addresses in a dispatch
|
|
||||||
table are relative to the table's own address.
|
|
||||||
|
|
||||||
The definition should be a C statement to output to the stdio stream STREAM
|
|
||||||
an assembler pseudo-instruction to generate a difference between two labels.
|
|
||||||
VALUE and REL are the numbers of two internal labels. The definitions of
|
|
||||||
these labels are output using `targetm.asm_out.internal_label', and they
|
|
||||||
must be printed in the same way here. */
|
|
||||||
#define ASM_OUTPUT_ADDR_DIFF_ELT(STREAM, BODY, VALUE, REL) \
|
|
||||||
fprintf (STREAM, "\t.word .L%d-.L%d\n", VALUE, REL)
|
|
||||||
|
|
||||||
/* This macro should be provided on machines where the addresses in a dispatch
|
|
||||||
table are absolute.
|
|
||||||
|
|
||||||
The definition should be a C statement to output to the stdio stream STREAM
|
|
||||||
an assembler pseudo-instruction to generate a reference to a label. VALUE
|
|
||||||
is the number of an internal label whose definition is output using
|
|
||||||
`targetm.asm_out.internal_label'. */
|
|
||||||
#define ASM_OUTPUT_ADDR_VEC_ELT(STREAM, VALUE) \
|
|
||||||
fprintf (STREAM, "\t.word .L%d\n", VALUE)
|
|
||||||
|
|
||||||
#define DWARF_FRAME_RETURN_COLUMN DWARF_FRAME_REGNUM (GPR_LINK)
|
|
||||||
|
|
||||||
#define EH_RETURN_DATA_REGNO(N) \
|
|
||||||
((N) == 0 ? GPR_R7 : (N) == 1 ? GPR_R8 : INVALID_REGNUM)
|
|
||||||
|
|
||||||
#define EH_RETURN_STACKADJ_REGNO GPR_R11
|
|
||||||
#define EH_RETURN_STACKADJ_RTX \
|
|
||||||
gen_rtx_REG (SImode, EH_RETURN_STACKADJ_REGNO)
|
|
||||||
#define EH_RETURN_HANDLER_REGNO GPR_R10
|
|
||||||
#define EH_RETURN_HANDLER_RTX \
|
|
||||||
gen_rtx_REG (SImode, EH_RETURN_HANDLER_REGNO)
|
|
||||||
|
|
||||||
#define ASM_OUTPUT_ALIGN(STREAM, POWER) \
|
|
||||||
fprintf ((STREAM), "\t.p2align %d\n", (POWER))
|
|
||||||
|
|
||||||
#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
|
|
||||||
|
|
||||||
#ifndef DWARF2_DEBUGGING_INFO
|
|
||||||
#define DWARF2_DEBUGGING_INFO
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Define this macro if GCC should produce dwarf version 2-style
|
|
||||||
line numbers. This usually requires extending the assembler to
|
|
||||||
support them, and #defining DWARF2_LINE_MIN_INSN_LENGTH in the
|
|
||||||
assembler configuration header files. */
|
|
||||||
#define DWARF2_ASM_LINE_DEBUG_INFO 1
|
|
||||||
|
|
||||||
/* An alias for a machine mode name. This is the machine mode that
|
|
||||||
elements of a jump-table should have. */
|
|
||||||
#define CASE_VECTOR_MODE SImode
|
|
||||||
|
|
||||||
/* Define this macro if operations between registers with integral
|
|
||||||
mode smaller than a word are always performed on the entire
|
|
||||||
register. Most RISC machines have this property and most CISC
|
|
||||||
machines do not. */
|
|
||||||
#define WORD_REGISTER_OPERATIONS
|
|
||||||
|
|
||||||
/* The maximum number of bytes that a single instruction can move quickly from
|
|
||||||
memory to memory. */
|
|
||||||
#define MOVE_MAX 4
|
|
||||||
|
|
||||||
/* A C expression which is nonzero if on this machine it is safe to "convert"
|
|
||||||
an integer of INPREC bits to one of OUTPREC bits (where OUTPREC is smaller
|
|
||||||
than INPREC) by merely operating on it as if it had only OUTPREC bits.
|
|
||||||
|
|
||||||
On many machines, this expression can be 1.
|
|
||||||
|
|
||||||
When `TRULY_NOOP_TRUNCATION' returns 1 for a pair of sizes for modes for
|
|
||||||
which `MODES_TIEABLE_P' is 0, suboptimal code can result. If this is the
|
|
||||||
case, making `TRULY_NOOP_TRUNCATION' return 0 in such cases may improve
|
|
||||||
things. */
|
|
||||||
#define TRULY_NOOP_TRUNCATION(OUTPREC, INPREC) 1
|
|
||||||
|
|
||||||
#define Pmode SImode
|
|
||||||
|
|
||||||
/* An alias for the machine mode used for memory references to functions being
|
|
||||||
called, in `call' RTL expressions. On most machines this should be
|
|
||||||
`QImode'. */
|
|
||||||
#define FUNCTION_MODE QImode
|
|
||||||
|
|
||||||
#define HANDLE_SYSV_PRAGMA 1
|
|
||||||
|
|
||||||
/* Indicate how many instructions can be issued at the same time. */
|
|
||||||
#define ISSUE_RATE 1
|
|
||||||
|
|
||||||
/* Define the information needed to generate branch and scc insns. This is
|
|
||||||
stored from the compare operation. Note that we can't use "rtx" here
|
|
||||||
since it hasn't been defined! */
|
|
||||||
|
|
||||||
extern struct rtx_def * mt_compare_op0;
|
|
||||||
extern struct rtx_def * mt_compare_op1;
|
|
||||||
|
|
1500
gcc/config/mt/mt.md
1500
gcc/config/mt/mt.md
File diff suppressed because it is too large
Load Diff
@ -1,55 +0,0 @@
|
|||||||
; Options for the mt port of the compiler
|
|
||||||
;
|
|
||||||
; Copyright (C) 2005, 2007 Free Software Foundation, Inc.
|
|
||||||
;
|
|
||||||
; This file is part of GCC.
|
|
||||||
;
|
|
||||||
; 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 3, or (at your option) any later
|
|
||||||
; version.
|
|
||||||
;
|
|
||||||
; 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.
|
|
||||||
;
|
|
||||||
; You should have received a copy of the GNU General Public License
|
|
||||||
; along with GCC; see the file COPYING3. If not see
|
|
||||||
; <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
mbacc
|
|
||||||
Target Report Mask(BYTE_ACCESS)
|
|
||||||
Use byte loads and stores when generating code.
|
|
||||||
|
|
||||||
msim
|
|
||||||
Target RejectNegative
|
|
||||||
Use simulator runtime
|
|
||||||
|
|
||||||
mno-crt0
|
|
||||||
Target RejectNegative
|
|
||||||
Do not include crt0.o in the startup files
|
|
||||||
|
|
||||||
mdebug-arg
|
|
||||||
Target RejectNegative Mask(DEBUG_ARG)
|
|
||||||
Internal debug switch
|
|
||||||
|
|
||||||
mdebug-addr
|
|
||||||
Target RejectNegative Mask(DEBUG_ADDR)
|
|
||||||
Internal debug switch
|
|
||||||
|
|
||||||
mdebug-stack
|
|
||||||
Target RejectNegative Mask(DEBUG_STACK)
|
|
||||||
Internal debug switch
|
|
||||||
|
|
||||||
mdebug-loc
|
|
||||||
Target RejectNegative Mask(DEBUG_LOC)
|
|
||||||
Internal debug switch
|
|
||||||
|
|
||||||
mdebug
|
|
||||||
Target RejectNegative Mask(DEBUG)
|
|
||||||
Internal debug switch
|
|
||||||
|
|
||||||
march=
|
|
||||||
Target RejectNegative Joined Var(mt_cpu_string)
|
|
||||||
Specify CPU for code generation purposes
|
|
@ -1,73 +0,0 @@
|
|||||||
# Copyright (C) 2005, 2007 Free Software Foundation, Inc.
|
|
||||||
#
|
|
||||||
# This file is part of GCC.
|
|
||||||
#
|
|
||||||
# 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 3, or (at your
|
|
||||||
# option) any later version.
|
|
||||||
#
|
|
||||||
# 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.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with GCC; see the file COPYING3. If not see
|
|
||||||
# <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
|
|
||||||
# Name of assembly file containing libgcc1 functions.
|
|
||||||
# This entry must be present, but it can be empty if the target does
|
|
||||||
# not need any assembler functions to support its code generation.
|
|
||||||
CROSS_LIBGCC1 =
|
|
||||||
#
|
|
||||||
# Alternatively if assembler functions *are* needed then define the
|
|
||||||
# entries below:
|
|
||||||
# CROSS_LIBGCC1 = libgcc1-asm.a
|
|
||||||
# LIB1ASMSRC = mt/lib1funcs.asm
|
|
||||||
# LIB1ASMFUNCS = _udivsi3 etc...
|
|
||||||
|
|
||||||
LIB2FUNCS_EXTRA = $(srcdir)/config/mt/lib2extra-funcs.c
|
|
||||||
|
|
||||||
# If any special flags are necessary when building libgcc2 put them here.
|
|
||||||
#
|
|
||||||
# TARGET_LIBGCC2_CFLAGS =
|
|
||||||
|
|
||||||
EXTRA_PARTS = crtbegin.o crtend.o crti.o crtn.o
|
|
||||||
|
|
||||||
# We want fine grained libraries, so use the new code to build the
|
|
||||||
# floating point emulation libraries.
|
|
||||||
FPBIT = fp-bit.c
|
|
||||||
DPBIT = dp-bit.c
|
|
||||||
|
|
||||||
fp-bit.c: $(srcdir)/config/fp-bit.c
|
|
||||||
echo '#define FLOAT' > fp-bit.c
|
|
||||||
cat $(srcdir)/config/fp-bit.c >> fp-bit.c
|
|
||||||
|
|
||||||
dp-bit.c: $(srcdir)/config/fp-bit.c
|
|
||||||
cat $(srcdir)/config/fp-bit.c > dp-bit.c
|
|
||||||
|
|
||||||
# Assemble startup files.
|
|
||||||
$(T)crti.o: $(srcdir)/config/mt/crti.asm $(GCC_PASSES)
|
|
||||||
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \
|
|
||||||
-c -o $(T)crti.o -x assembler $(srcdir)/config/mt/crti.asm
|
|
||||||
|
|
||||||
$(T)crtn.o: $(srcdir)/config/mt/crtn.asm $(GCC_PASSES)
|
|
||||||
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \
|
|
||||||
-c -o $(T)crtn.o -x assembler $(srcdir)/config/mt/crtn.asm
|
|
||||||
|
|
||||||
# Enable the following if multilibs are needed.
|
|
||||||
# See gcc/genmultilib, gcc/gcc.texi and gcc/tm.texi for a
|
|
||||||
# description of the options and their values.
|
|
||||||
#
|
|
||||||
MULTILIB_OPTIONS = march=ms1-64-001/march=ms1-16-002/march=ms1-16-003/march=ms2
|
|
||||||
MULTILIB_DIRNAMES = ms1-64-001 ms1-16-002 ms1-16-003 ms2
|
|
||||||
# MULTILIB_MATCHES =
|
|
||||||
# MULTILIB_EXCEPTIONS =
|
|
||||||
# MULTILIB_EXTRA_OPTS =
|
|
||||||
EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o crti.o crtn.o
|
|
||||||
#
|
|
||||||
# LIBGCC = stmp-multilib
|
|
||||||
# INSTALL_LIBGCC = install-multilib
|
|
||||||
|
|
@ -1,63 +0,0 @@
|
|||||||
/* Definitions of target machine for GNU compiler, for HP PA-RISC 1.1
|
|
||||||
Copyright (C) 1991, 1995, 1996, 2002, 2003, 2007 Free Software Foundation, Inc.
|
|
||||||
Contributed by Tim Moore (moore@defmacro.cs.utah.edu)
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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 3, or (at your option)
|
|
||||||
any later version.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
#undef TARGET_OS_CPP_BUILTINS
|
|
||||||
#define TARGET_OS_CPP_BUILTINS() \
|
|
||||||
do \
|
|
||||||
{ \
|
|
||||||
if (TARGET_PA_11) \
|
|
||||||
{ \
|
|
||||||
builtin_define_std ("hp700"); \
|
|
||||||
builtin_define_std ("HP700"); \
|
|
||||||
} \
|
|
||||||
else \
|
|
||||||
{ \
|
|
||||||
builtin_define_std ("hp800"); \
|
|
||||||
builtin_define_std ("hp9k8"); \
|
|
||||||
builtin_define_std ("hp9000s800"); \
|
|
||||||
} \
|
|
||||||
builtin_define_std ("BIT_MSF"); \
|
|
||||||
builtin_define_std ("BYTE_MSF"); \
|
|
||||||
builtin_define_std ("PARISC"); \
|
|
||||||
builtin_define_std ("REVARGV"); \
|
|
||||||
builtin_define_std ("hp9000"); \
|
|
||||||
builtin_define ("__pa_risc"); \
|
|
||||||
builtin_define_std ("parisc"); \
|
|
||||||
builtin_define_std ("spectrum"); \
|
|
||||||
builtin_define_std ("unix"); \
|
|
||||||
builtin_assert ("system=mach"); \
|
|
||||||
builtin_assert ("system=unix"); \
|
|
||||||
} \
|
|
||||||
while (0)
|
|
||||||
|
|
||||||
/* Don't default to pcc-struct-return, because gcc is the only compiler, and
|
|
||||||
we want to retain compatibility with older gcc versions. */
|
|
||||||
#define DEFAULT_PCC_STRUCT_RETURN 0
|
|
||||||
|
|
||||||
/* OSF1 on the PA still uses 16bit wchar_t. */
|
|
||||||
#undef WCHAR_TYPE
|
|
||||||
#undef WCHAR_TYPE_SIZE
|
|
||||||
|
|
||||||
#define WCHAR_TYPE "short unsigned int"
|
|
||||||
#define WCHAR_TYPE_SIZE 16
|
|
||||||
|
|
||||||
/* OSF1 wants to be different and use unsigned long as size_t. */
|
|
||||||
#undef SIZE_TYPE
|
|
||||||
#define SIZE_TYPE "long unsigned int"
|
|
@ -1,63 +0,0 @@
|
|||||||
/* Definitions of target machine for GNU compiler, for PRO.
|
|
||||||
Copyright (C) 1996, 1997, 2002, 2003, 2004, 2007 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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 3, or (at your option)
|
|
||||||
any later version.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
/* Make GCC agree with types.h. */
|
|
||||||
#undef SIZE_TYPE
|
|
||||||
#undef PTRDIFF_TYPE
|
|
||||||
|
|
||||||
#define SIZE_TYPE "unsigned int"
|
|
||||||
#define PTRDIFF_TYPE "int"
|
|
||||||
|
|
||||||
#undef TARGET_OS_CPP_BUILTINS
|
|
||||||
#define TARGET_OS_CPP_BUILTINS() \
|
|
||||||
do \
|
|
||||||
{ \
|
|
||||||
if (!c_dialect_cxx () && !flag_iso) \
|
|
||||||
{ \
|
|
||||||
builtin_define ("hppa"); \
|
|
||||||
builtin_define_std ("PWB"); \
|
|
||||||
} \
|
|
||||||
builtin_define ("__pro__"); \
|
|
||||||
builtin_assert ("system=pro"); \
|
|
||||||
} \
|
|
||||||
while (0)
|
|
||||||
|
|
||||||
/* Like the default, except no -lg. */
|
|
||||||
#undef LIB_SPEC
|
|
||||||
#define LIB_SPEC "%{!p:%{!pg:-lc}}%{p: -L/lib/libp/ -lc}%{pg: -L/lib/libp/ -lc}"
|
|
||||||
|
|
||||||
/* hpux8 and later have C++ compatible include files, so do not
|
|
||||||
pretend they are `extern "C"'. */
|
|
||||||
#define NO_IMPLICIT_EXTERN_C
|
|
||||||
|
|
||||||
/* We don't want a crt0.o to get linked in automatically, we want the
|
|
||||||
linker script to pull it in. */
|
|
||||||
#undef STARTFILE_SPEC
|
|
||||||
#define STARTFILE_SPEC ""
|
|
||||||
|
|
||||||
/* We need to override the following two macros defined in elfos.h since
|
|
||||||
the .comm directive has a different syntax and it can't be used for
|
|
||||||
local common symbols. */
|
|
||||||
#undef ASM_OUTPUT_ALIGNED_COMMON
|
|
||||||
#define ASM_OUTPUT_ALIGNED_COMMON(FILE, NAME, SIZE, ALIGN) \
|
|
||||||
pa_asm_output_aligned_common (FILE, NAME, SIZE, ALIGN)
|
|
||||||
|
|
||||||
#undef ASM_OUTPUT_ALIGNED_LOCAL
|
|
||||||
#define ASM_OUTPUT_ALIGNED_LOCAL(FILE, NAME, SIZE, ALIGN) \
|
|
||||||
pa_asm_output_aligned_local (FILE, NAME, SIZE, ALIGN)
|
|
@ -1,17 +0,0 @@
|
|||||||
LIB2FUNCS_EXTRA=lib2funcs.asm
|
|
||||||
|
|
||||||
# We want fine grained libraries, so use the new code to build the
|
|
||||||
# floating point emulation libraries.
|
|
||||||
FPBIT = fp-bit.c
|
|
||||||
DPBIT = dp-bit.c
|
|
||||||
|
|
||||||
dp-bit.c: $(srcdir)/config/fp-bit.c
|
|
||||||
cat $(srcdir)/config/fp-bit.c > dp-bit.c
|
|
||||||
|
|
||||||
fp-bit.c: $(srcdir)/config/fp-bit.c
|
|
||||||
echo '#define FLOAT' > fp-bit.c
|
|
||||||
cat $(srcdir)/config/fp-bit.c >> fp-bit.c
|
|
||||||
|
|
||||||
lib2funcs.asm: $(srcdir)/config/pa/lib2funcs.asm
|
|
||||||
rm -f lib2funcs.asm
|
|
||||||
cp $(srcdir)/config/pa/lib2funcs.asm .
|
|
@ -1,222 +0,0 @@
|
|||||||
/* Operating system specific defines to be used when targeting GCC for
|
|
||||||
Sequent's Dynix/ptx v4 and later.
|
|
||||||
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2007
|
|
||||||
Free Software Foundation, Inc.
|
|
||||||
Generic SysV4 file Contributed by Ron Guilmette (rfg@monkeys.com).
|
|
||||||
Renamed and changed to suit Dynix/ptx v4 and later.
|
|
||||||
Modified by Tim Wright (timw@sequent.com).
|
|
||||||
Modified by Janis Johnson (janis@us.ibm.com).
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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 3, or (at your option)
|
|
||||||
any later version.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Define a symbol indicating that we are using svr4.h. */
|
|
||||||
#define USING_SVR4_H
|
|
||||||
|
|
||||||
/* Use DWARF 2 debugging info by default. */
|
|
||||||
|
|
||||||
#undef PREFERRED_DEBUGGING_TYPE
|
|
||||||
#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
|
|
||||||
|
|
||||||
#define DWARF2_DEBUGGING_INFO 1
|
|
||||||
|
|
||||||
/* Cpp, assembler, linker, library, and startfile spec's. */
|
|
||||||
|
|
||||||
/* This defines which switch letters take arguments. On svr4, most of
|
|
||||||
the normal cases (defined in gcc.c) apply, and we also have -h* and
|
|
||||||
-z* options (for the linker). Note however that there is no such
|
|
||||||
thing as a -T option for svr4. */
|
|
||||||
|
|
||||||
#define SWITCH_TAKES_ARG(CHAR) \
|
|
||||||
( (CHAR) == 'D' \
|
|
||||||
|| (CHAR) == 'U' \
|
|
||||||
|| (CHAR) == 'o' \
|
|
||||||
|| (CHAR) == 'e' \
|
|
||||||
|| (CHAR) == 'u' \
|
|
||||||
|| (CHAR) == 'I' \
|
|
||||||
|| (CHAR) == 'm' \
|
|
||||||
|| (CHAR) == 'L' \
|
|
||||||
|| (CHAR) == 'A' \
|
|
||||||
|| (CHAR) == 'h' \
|
|
||||||
|| (CHAR) == 'z')
|
|
||||||
|
|
||||||
/* This defines which multi-letter switches take arguments. On svr4,
|
|
||||||
there are no such switches except those implemented by GCC itself. */
|
|
||||||
|
|
||||||
#define WORD_SWITCH_TAKES_ARG(STR) \
|
|
||||||
(DEFAULT_WORD_SWITCH_TAKES_ARG (STR) \
|
|
||||||
&& strcmp (STR, "Tdata") && strcmp (STR, "Ttext") \
|
|
||||||
&& strcmp (STR, "Tbss"))
|
|
||||||
|
|
||||||
/* Provide an ASM_SPEC appropriate for svr4. Here we try to support as
|
|
||||||
many of the specialized svr4 assembler options as seems reasonable,
|
|
||||||
given that there are certain options which we can't (or shouldn't)
|
|
||||||
support directly due to the fact that they conflict with other options
|
|
||||||
for other svr4 tools (e.g. ld) or with other options for GCC itself.
|
|
||||||
For example, we don't support the -o (output file) or -R (remove
|
|
||||||
input file) options because GCC already handles these things. We
|
|
||||||
also don't support the -m (run m4) option for the assembler because
|
|
||||||
that conflicts with the -m (produce load map) option of the svr4
|
|
||||||
linker. We do however allow passing arbitrary options to the svr4
|
|
||||||
assembler via the -Wa, option.
|
|
||||||
|
|
||||||
Note that gcc doesn't allow a space to follow -Y in a -Ym,* or -Yd,*
|
|
||||||
option.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#undef ASM_SPEC
|
|
||||||
#ifdef USE_GAS
|
|
||||||
#define ASM_SPEC \
|
|
||||||
"%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*}"
|
|
||||||
#else
|
|
||||||
#define ASM_SPEC \
|
|
||||||
"-no_0f_fix -no_eflags_chk %{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*}"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define AS_NEEDS_DASH_FOR_PIPED_INPUT
|
|
||||||
|
|
||||||
/* Provide a LIB_SPEC appropriate for svr4. Here we tack on the default
|
|
||||||
standard C library (unless we are building a shared library). */
|
|
||||||
|
|
||||||
#undef LIB_SPEC
|
|
||||||
#define LIB_SPEC "%{!shared:%{!symbolic:-lc}}"
|
|
||||||
|
|
||||||
/* Provide a LIBGCC_SPEC appropriate for svr4. We also want to exclude
|
|
||||||
libgcc when -symbolic. */
|
|
||||||
|
|
||||||
#undef LIBGCC_SPEC
|
|
||||||
#define LIBGCC_SPEC "%{!shared:%{!symbolic:-lgcc}}"
|
|
||||||
|
|
||||||
/* Provide an ENDFILE_SPEC appropriate for svr4. Here we tack on our own
|
|
||||||
magical crtend.o file (see crtstuff.c) which provides part of the
|
|
||||||
support for getting C++ file-scope static object constructed before
|
|
||||||
entering `main', followed by the normal svr3/svr4 "finalizer" file,
|
|
||||||
which is either `gcrtn.o' or `crtn.o'. */
|
|
||||||
|
|
||||||
#undef ENDFILE_SPEC
|
|
||||||
#define ENDFILE_SPEC "crtend.o%s %{pg:gcrtn.o}%{!pg:crtn.o%s}"
|
|
||||||
|
|
||||||
/* Provide a LINK_SPEC appropriate for svr4. Here we provide support
|
|
||||||
for the special GCC options -static, -shared, and -symbolic which
|
|
||||||
allow us to link things in one of these three modes by applying the
|
|
||||||
appropriate combinations of options at link-time. We also provide
|
|
||||||
support here for as many of the other svr4 linker options as seems
|
|
||||||
reasonable, given that some of them conflict with options for other
|
|
||||||
svr4 tools (e.g. the assembler). In particular, we do support the
|
|
||||||
-z*, -V, -b, -t, -Qy, -Qn, and -YP* options here, and the -e*,
|
|
||||||
-l*, -o*, -r, -s, -u*, and -L* options are directly supported
|
|
||||||
by gcc.c itself. We don't directly support the -m (generate load
|
|
||||||
map) option because that conflicts with the -m (run m4) option of
|
|
||||||
the svr4 assembler. We also don't directly support the svr4 linker's
|
|
||||||
-I* or -M* options because these conflict with existing GCC options.
|
|
||||||
We do however allow passing arbitrary options to the svr4 linker
|
|
||||||
via the -Wl, option. We don't support the svr4 linker's -a option
|
|
||||||
at all because it is totally useless and because it conflicts with
|
|
||||||
GCC's own -a option.
|
|
||||||
|
|
||||||
Note that gcc doesn't allow a space to follow -Y in a -YP,* option.
|
|
||||||
|
|
||||||
When the -G link option is used (-shared and -symbolic) a final link is
|
|
||||||
not being done. */
|
|
||||||
|
|
||||||
#undef LINK_SPEC
|
|
||||||
#define LINK_SPEC "%{h*} %{v:-V} \
|
|
||||||
%{b} \
|
|
||||||
%{static:-dn -Bstatic} \
|
|
||||||
%{shared:-G -dy -z text} \
|
|
||||||
%{symbolic:-Bsymbolic -G -dy -z text} \
|
|
||||||
%{G:-G} \
|
|
||||||
%{YP,*} \
|
|
||||||
%{!YP,*:%{p:-Y P,/lib/libp:/usr/lib/libp:/lib:/usr/lib} \
|
|
||||||
%{!p:-Y P,/lib:/usr/lib}} \
|
|
||||||
%{Qy:} %{!Qn:-Qy}"
|
|
||||||
|
|
||||||
/* Gcc automatically adds in one of the files /lib/values-Xc.o
|
|
||||||
or /lib/values-Xa.o, for each final link step (depending upon the other
|
|
||||||
gcc options selected, such as -ansi). These files each contain one
|
|
||||||
(initialized) copy of a special variable called `_lib_version'. Each
|
|
||||||
one of these files has `_lib_version' initialized to a different (enum)
|
|
||||||
value. The SVR4 library routines query the value of `_lib_version'
|
|
||||||
at run to decide how they should behave. Specifically, they decide
|
|
||||||
(based upon the value of `_lib_version') if they will act in a strictly
|
|
||||||
ANSI conforming manner or not.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#undef STARTFILE_SPEC
|
|
||||||
#define STARTFILE_SPEC "%{!shared: \
|
|
||||||
%{!symbolic: \
|
|
||||||
%{pg:gcrt1.o%s}%{!pg:%{p:mcrt1.o%s}%{!p:crt1.o%s}}}}\
|
|
||||||
%{pg:gcrti.o%s}%{!pg:crti.o%s} \
|
|
||||||
%{ansi:values-Xc.o%s} \
|
|
||||||
%{!ansi:values-Xa.o%s} \
|
|
||||||
crtbegin.o%s"
|
|
||||||
|
|
||||||
/* Don't use bcopy, which doesn't handle overlaps before DYNIX/ptx 4.6. */
|
|
||||||
|
|
||||||
#undef HAVE_BCOPY
|
|
||||||
|
|
||||||
/* The numbers used to denote specific machine registers in the System V
|
|
||||||
Release 4 DWARF debugging information are quite likely to be totally
|
|
||||||
different from the numbers used in BSD stabs debugging information
|
|
||||||
for the same kind of target machine. Thus, we undefine the macro
|
|
||||||
DBX_REGISTER_NUMBER here as an extra inducement to get people to
|
|
||||||
provide proper machine-specific definitions of DBX_REGISTER_NUMBER
|
|
||||||
(which is also used to provide DWARF registers numbers in dwarfout.c)
|
|
||||||
in their tm.h files which include this file. */
|
|
||||||
|
|
||||||
#undef DBX_REGISTER_NUMBER
|
|
||||||
|
|
||||||
/* Like block addresses, stabs line numbers are relative to the
|
|
||||||
current function. */
|
|
||||||
|
|
||||||
#define DBX_LINES_FUNCTION_RELATIVE 1
|
|
||||||
|
|
||||||
/* Generate a blank trailing N_SO to mark the end of the .o file, since
|
|
||||||
we can't depend upon the linker to mark .o file boundaries with
|
|
||||||
embedded stabs. */
|
|
||||||
|
|
||||||
#define DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END
|
|
||||||
|
|
||||||
/* Define the actual types of some ANSI-mandated types. (These
|
|
||||||
definitions should work for most SVR4 systems). */
|
|
||||||
|
|
||||||
#undef SIZE_TYPE
|
|
||||||
#define SIZE_TYPE "unsigned int"
|
|
||||||
|
|
||||||
#undef PTRDIFF_TYPE
|
|
||||||
#define PTRDIFF_TYPE "int"
|
|
||||||
|
|
||||||
#undef WCHAR_TYPE
|
|
||||||
#define WCHAR_TYPE "long int"
|
|
||||||
|
|
||||||
#undef WCHAR_TYPE_SIZE
|
|
||||||
#define WCHAR_TYPE_SIZE BITS_PER_WORD
|
|
||||||
|
|
||||||
/* This says how to output assembler code to declare an uninitialized
|
|
||||||
external linkage data item. There's a bug in the DYNIX/ptx linker
|
|
||||||
(PR 254649) when the alignment for such an object is specified, so
|
|
||||||
ignore the ALIGN parameter. */
|
|
||||||
|
|
||||||
#undef ASM_OUTPUT_ALIGNED_COMMON
|
|
||||||
#define ASM_OUTPUT_ALIGNED_COMMON(FILE, NAME, SIZE, ALIGN) \
|
|
||||||
do { \
|
|
||||||
fprintf ((FILE), "%s", COMMON_ASM_OP); \
|
|
||||||
assemble_name ((FILE), (NAME)); \
|
|
||||||
fprintf ((FILE), ",%lu\n", (unsigned long)(SIZE)); \
|
|
||||||
} while (0)
|
|
||||||
|
|
@ -1,108 +0,0 @@
|
|||||||
/* Definitions of target machine for GNU compiler, for BeOS.
|
|
||||||
Copyright (C) 1997, 2000, 2001, 2002, 2003, 2005, 2007
|
|
||||||
Free Software Foundation, Inc.
|
|
||||||
Contributed by Fred Fish (fnf@cygnus.com), based on aix41.h
|
|
||||||
from David Edelsohn (edelsohn@npac.syr.edu).
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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 3, or (at your
|
|
||||||
option) any later version.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
#undef TARGET_VERSION
|
|
||||||
#define TARGET_VERSION fprintf (stderr, " (BeOS/PowerPC)");
|
|
||||||
|
|
||||||
#undef ASM_SPEC
|
|
||||||
#define ASM_SPEC "-u %(asm_cpu)"
|
|
||||||
|
|
||||||
#undef TARGET_OS_CPP_BUILTINS
|
|
||||||
/* __POWERPC__ must be defined for some header files. */
|
|
||||||
#define TARGET_OS_CPP_BUILTINS() \
|
|
||||||
do \
|
|
||||||
{ \
|
|
||||||
builtin_define ("__BEOS__"); \
|
|
||||||
builtin_define ("__POWERPC__"); \
|
|
||||||
builtin_assert ("system=beos"); \
|
|
||||||
builtin_assert ("cpu=powerpc"); \
|
|
||||||
builtin_assert ("machine=powerpc"); \
|
|
||||||
} \
|
|
||||||
while (0)
|
|
||||||
|
|
||||||
#undef CPP_SPEC
|
|
||||||
#define CPP_SPEC "%{posix: -D_POSIX_SOURCE}"
|
|
||||||
|
|
||||||
/* This is the easiest way to disable use of gcc's builtin alloca,
|
|
||||||
which in the current BeOS release (DR9) is a problem because of the
|
|
||||||
relatively low default stack size of 256K with no way to expand it.
|
|
||||||
So anything we compile for the BeOS target should not use the
|
|
||||||
builtin alloca. This also has the unwanted side effect of
|
|
||||||
disabling all builtin functions though. */
|
|
||||||
|
|
||||||
#undef CC1_SPEC
|
|
||||||
#define CC1_SPEC "%{!fbuiltin: -fno-builtin}"
|
|
||||||
#undef CC1PLUS_SPEC
|
|
||||||
#define CC1PLUS_SPEC "%{!fbuiltin: -fno-builtin}"
|
|
||||||
|
|
||||||
#undef ASM_DEFAULT_SPEC
|
|
||||||
#define ASM_DEFAULT_SPEC "-mppc"
|
|
||||||
|
|
||||||
#undef TARGET_DEFAULT
|
|
||||||
#define TARGET_DEFAULT (MASK_POWERPC | MASK_NEW_MNEMONICS)
|
|
||||||
|
|
||||||
#undef PROCESSOR_DEFAULT
|
|
||||||
#define PROCESSOR_DEFAULT PROCESSOR_PPC603
|
|
||||||
|
|
||||||
/* Define this macro as a C expression for the initializer of an
|
|
||||||
array of string to tell the driver program which options are
|
|
||||||
defaults for this target and thus do not need to be handled
|
|
||||||
specially when using `MULTILIB_OPTIONS'.
|
|
||||||
|
|
||||||
Do not define this macro if `MULTILIB_OPTIONS' is not defined in
|
|
||||||
the target makefile fragment or if none of the options listed in
|
|
||||||
`MULTILIB_OPTIONS' are set by default. *Note Target Fragment::. */
|
|
||||||
|
|
||||||
#undef MULTILIB_DEFAULTS
|
|
||||||
#define MULTILIB_DEFAULTS { "mcpu=powerpc" }
|
|
||||||
|
|
||||||
/* These empty definitions get rid of the attempt to link in crt0.o
|
|
||||||
and any libraries like libc.a.
|
|
||||||
On BeOS the ld executable is actually a linker front end that first runs
|
|
||||||
the GNU linker with the -r option to generate a relocatable XCOFF output
|
|
||||||
file, and then runs Metrowork's linker (mwld) to generate a fully linked
|
|
||||||
executable. */
|
|
||||||
|
|
||||||
#undef LIB_SPEC
|
|
||||||
#define LIB_SPEC ""
|
|
||||||
|
|
||||||
#undef LINK_SPEC
|
|
||||||
#define LINK_SPEC ""
|
|
||||||
|
|
||||||
#undef STARTFILE_SPEC
|
|
||||||
#define STARTFILE_SPEC ""
|
|
||||||
|
|
||||||
/* Text to write out after a CALL that may be replaced by glue code by
|
|
||||||
the loader. */
|
|
||||||
|
|
||||||
#undef RS6000_CALL_GLUE
|
|
||||||
#define RS6000_CALL_GLUE "cror 15,15,15"
|
|
||||||
|
|
||||||
/* Struct alignments are done on 4 byte boundaries for all types. */
|
|
||||||
#undef BIGGEST_FIELD_ALIGNMENT
|
|
||||||
#define BIGGEST_FIELD_ALIGNMENT 32
|
|
||||||
|
|
||||||
/* STANDARD_INCLUDE_DIR is the equivalent of "/usr/include" on UNIX. */
|
|
||||||
#define STANDARD_INCLUDE_DIR "/boot/develop/headers/posix"
|
|
||||||
|
|
||||||
/* SYSTEM_INCLUDE_DIR is the location for system specific, non-POSIX headers. */
|
|
||||||
#define SYSTEM_INCLUDE_DIR "/boot/develop/headers/be"
|
|
@ -1,23 +0,0 @@
|
|||||||
/* Definitions of target machine for GNU compiler.
|
|
||||||
kaOS on PowerPC architecture version.
|
|
||||||
Copyright (C) 2003, 2007 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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 3, or (at your option)
|
|
||||||
any later version.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
#undef TARGET_VERSION
|
|
||||||
#define TARGET_VERSION fputs (" (PowerPC/kaOS[ELF])", stderr);
|
|
||||||
|
|
@ -655,7 +655,6 @@ extern int fixuplabelno;
|
|||||||
myellowknife : %(link_start_yellowknife) ; \
|
myellowknife : %(link_start_yellowknife) ; \
|
||||||
mmvme : %(link_start_mvme) ; \
|
mmvme : %(link_start_mvme) ; \
|
||||||
msim : %(link_start_sim) ; \
|
msim : %(link_start_sim) ; \
|
||||||
mwindiss : %(link_start_windiss) ; \
|
|
||||||
mcall-freebsd: %(link_start_freebsd) ; \
|
mcall-freebsd: %(link_start_freebsd) ; \
|
||||||
mcall-linux : %(link_start_linux) ; \
|
mcall-linux : %(link_start_linux) ; \
|
||||||
mcall-gnu : %(link_start_gnu) ; \
|
mcall-gnu : %(link_start_gnu) ; \
|
||||||
@ -713,7 +712,6 @@ extern int fixuplabelno;
|
|||||||
myellowknife : %(link_os_yellowknife) ; \
|
myellowknife : %(link_os_yellowknife) ; \
|
||||||
mmvme : %(link_os_mvme) ; \
|
mmvme : %(link_os_mvme) ; \
|
||||||
msim : %(link_os_sim) ; \
|
msim : %(link_os_sim) ; \
|
||||||
mwindiss : %(link_os_windiss) ; \
|
|
||||||
mcall-freebsd: %(link_os_freebsd) ; \
|
mcall-freebsd: %(link_os_freebsd) ; \
|
||||||
mcall-linux : %(link_os_linux) ; \
|
mcall-linux : %(link_os_linux) ; \
|
||||||
mcall-gnu : %(link_os_gnu) ; \
|
mcall-gnu : %(link_os_gnu) ; \
|
||||||
@ -730,7 +728,6 @@ extern int fixuplabelno;
|
|||||||
myellowknife : %(cpp_os_yellowknife) ; \
|
myellowknife : %(cpp_os_yellowknife) ; \
|
||||||
mmvme : %(cpp_os_mvme) ; \
|
mmvme : %(cpp_os_mvme) ; \
|
||||||
msim : %(cpp_os_sim) ; \
|
msim : %(cpp_os_sim) ; \
|
||||||
mwindiss : %(cpp_os_windiss) ; \
|
|
||||||
mcall-freebsd: %(cpp_os_freebsd) ; \
|
mcall-freebsd: %(cpp_os_freebsd) ; \
|
||||||
mcall-linux : %(cpp_os_linux) ; \
|
mcall-linux : %(cpp_os_linux) ; \
|
||||||
mcall-gnu : %(cpp_os_gnu) ; \
|
mcall-gnu : %(cpp_os_gnu) ; \
|
||||||
@ -747,7 +744,6 @@ extern int fixuplabelno;
|
|||||||
myellowknife : %(startfile_yellowknife) ; \
|
myellowknife : %(startfile_yellowknife) ; \
|
||||||
mmvme : %(startfile_mvme) ; \
|
mmvme : %(startfile_mvme) ; \
|
||||||
msim : %(startfile_sim) ; \
|
msim : %(startfile_sim) ; \
|
||||||
mwindiss : %(startfile_windiss) ; \
|
|
||||||
mcall-freebsd: %(startfile_freebsd) ; \
|
mcall-freebsd: %(startfile_freebsd) ; \
|
||||||
mcall-linux : %(startfile_linux) ; \
|
mcall-linux : %(startfile_linux) ; \
|
||||||
mcall-gnu : %(startfile_gnu) ; \
|
mcall-gnu : %(startfile_gnu) ; \
|
||||||
@ -764,7 +760,6 @@ extern int fixuplabelno;
|
|||||||
myellowknife : %(lib_yellowknife) ; \
|
myellowknife : %(lib_yellowknife) ; \
|
||||||
mmvme : %(lib_mvme) ; \
|
mmvme : %(lib_mvme) ; \
|
||||||
msim : %(lib_sim) ; \
|
msim : %(lib_sim) ; \
|
||||||
mwindiss : %(lib_windiss) ; \
|
|
||||||
mcall-freebsd: %(lib_freebsd) ; \
|
mcall-freebsd: %(lib_freebsd) ; \
|
||||||
mcall-linux : %(lib_linux) ; \
|
mcall-linux : %(lib_linux) ; \
|
||||||
mcall-gnu : %(lib_gnu) ; \
|
mcall-gnu : %(lib_gnu) ; \
|
||||||
@ -781,7 +776,6 @@ extern int fixuplabelno;
|
|||||||
myellowknife : %(endfile_yellowknife) ; \
|
myellowknife : %(endfile_yellowknife) ; \
|
||||||
mmvme : %(endfile_mvme) ; \
|
mmvme : %(endfile_mvme) ; \
|
||||||
msim : %(endfile_sim) ; \
|
msim : %(endfile_sim) ; \
|
||||||
mwindiss : %(endfile_windiss) ; \
|
|
||||||
mcall-freebsd: %(endfile_freebsd) ; \
|
mcall-freebsd: %(endfile_freebsd) ; \
|
||||||
mcall-linux : %(endfile_linux) ; \
|
mcall-linux : %(endfile_linux) ; \
|
||||||
mcall-gnu : %(endfile_gnu) ; \
|
mcall-gnu : %(endfile_gnu) ; \
|
||||||
@ -992,25 +986,6 @@ ncrtn.o%s"
|
|||||||
#define CPP_OS_OPENBSD_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_POSIX_THREADS}"
|
#define CPP_OS_OPENBSD_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_POSIX_THREADS}"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* WindISS support. */
|
|
||||||
|
|
||||||
#define LIB_WINDISS_SPEC "--start-group -li -lcfp -lwindiss -lram -limpl -limpfp --end-group"
|
|
||||||
|
|
||||||
#define CPP_OS_WINDISS_SPEC "\
|
|
||||||
-D__rtasim \
|
|
||||||
-D__EABI__ \
|
|
||||||
-D__ppc \
|
|
||||||
%{!msoft-float: -D__hardfp} \
|
|
||||||
"
|
|
||||||
|
|
||||||
#define STARTFILE_WINDISS_SPEC "crt0.o%s crtbegin.o%s"
|
|
||||||
|
|
||||||
#define ENDFILE_WINDISS_SPEC "crtend.o%s"
|
|
||||||
|
|
||||||
#define LINK_START_WINDISS_SPEC ""
|
|
||||||
|
|
||||||
#define LINK_OS_WINDISS_SPEC ""
|
|
||||||
|
|
||||||
/* Define any extra SPECS that the compiler needs to generate. */
|
/* Define any extra SPECS that the compiler needs to generate. */
|
||||||
/* Override rs6000.h definition. */
|
/* Override rs6000.h definition. */
|
||||||
#undef SUBTARGET_EXTRA_SPECS
|
#undef SUBTARGET_EXTRA_SPECS
|
||||||
@ -1025,7 +1000,6 @@ ncrtn.o%s"
|
|||||||
{ "lib_linux", LIB_LINUX_SPEC }, \
|
{ "lib_linux", LIB_LINUX_SPEC }, \
|
||||||
{ "lib_netbsd", LIB_NETBSD_SPEC }, \
|
{ "lib_netbsd", LIB_NETBSD_SPEC }, \
|
||||||
{ "lib_openbsd", LIB_OPENBSD_SPEC }, \
|
{ "lib_openbsd", LIB_OPENBSD_SPEC }, \
|
||||||
{ "lib_windiss", LIB_WINDISS_SPEC }, \
|
|
||||||
{ "lib_default", LIB_DEFAULT_SPEC }, \
|
{ "lib_default", LIB_DEFAULT_SPEC }, \
|
||||||
{ "startfile_ads", STARTFILE_ADS_SPEC }, \
|
{ "startfile_ads", STARTFILE_ADS_SPEC }, \
|
||||||
{ "startfile_yellowknife", STARTFILE_YELLOWKNIFE_SPEC }, \
|
{ "startfile_yellowknife", STARTFILE_YELLOWKNIFE_SPEC }, \
|
||||||
@ -1036,7 +1010,6 @@ ncrtn.o%s"
|
|||||||
{ "startfile_linux", STARTFILE_LINUX_SPEC }, \
|
{ "startfile_linux", STARTFILE_LINUX_SPEC }, \
|
||||||
{ "startfile_netbsd", STARTFILE_NETBSD_SPEC }, \
|
{ "startfile_netbsd", STARTFILE_NETBSD_SPEC }, \
|
||||||
{ "startfile_openbsd", STARTFILE_OPENBSD_SPEC }, \
|
{ "startfile_openbsd", STARTFILE_OPENBSD_SPEC }, \
|
||||||
{ "startfile_windiss", STARTFILE_WINDISS_SPEC }, \
|
|
||||||
{ "startfile_default", STARTFILE_DEFAULT_SPEC }, \
|
{ "startfile_default", STARTFILE_DEFAULT_SPEC }, \
|
||||||
{ "endfile_ads", ENDFILE_ADS_SPEC }, \
|
{ "endfile_ads", ENDFILE_ADS_SPEC }, \
|
||||||
{ "endfile_yellowknife", ENDFILE_YELLOWKNIFE_SPEC }, \
|
{ "endfile_yellowknife", ENDFILE_YELLOWKNIFE_SPEC }, \
|
||||||
@ -1047,7 +1020,6 @@ ncrtn.o%s"
|
|||||||
{ "endfile_linux", ENDFILE_LINUX_SPEC }, \
|
{ "endfile_linux", ENDFILE_LINUX_SPEC }, \
|
||||||
{ "endfile_netbsd", ENDFILE_NETBSD_SPEC }, \
|
{ "endfile_netbsd", ENDFILE_NETBSD_SPEC }, \
|
||||||
{ "endfile_openbsd", ENDFILE_OPENBSD_SPEC }, \
|
{ "endfile_openbsd", ENDFILE_OPENBSD_SPEC }, \
|
||||||
{ "endfile_windiss", ENDFILE_WINDISS_SPEC }, \
|
|
||||||
{ "endfile_default", ENDFILE_DEFAULT_SPEC }, \
|
{ "endfile_default", ENDFILE_DEFAULT_SPEC }, \
|
||||||
{ "link_path", LINK_PATH_SPEC }, \
|
{ "link_path", LINK_PATH_SPEC }, \
|
||||||
{ "link_shlib", LINK_SHLIB_SPEC }, \
|
{ "link_shlib", LINK_SHLIB_SPEC }, \
|
||||||
@ -1062,7 +1034,6 @@ ncrtn.o%s"
|
|||||||
{ "link_start_linux", LINK_START_LINUX_SPEC }, \
|
{ "link_start_linux", LINK_START_LINUX_SPEC }, \
|
||||||
{ "link_start_netbsd", LINK_START_NETBSD_SPEC }, \
|
{ "link_start_netbsd", LINK_START_NETBSD_SPEC }, \
|
||||||
{ "link_start_openbsd", LINK_START_OPENBSD_SPEC }, \
|
{ "link_start_openbsd", LINK_START_OPENBSD_SPEC }, \
|
||||||
{ "link_start_windiss", LINK_START_WINDISS_SPEC }, \
|
|
||||||
{ "link_start_default", LINK_START_DEFAULT_SPEC }, \
|
{ "link_start_default", LINK_START_DEFAULT_SPEC }, \
|
||||||
{ "link_os", LINK_OS_SPEC }, \
|
{ "link_os", LINK_OS_SPEC }, \
|
||||||
{ "link_os_ads", LINK_OS_ADS_SPEC }, \
|
{ "link_os_ads", LINK_OS_ADS_SPEC }, \
|
||||||
@ -1074,7 +1045,6 @@ ncrtn.o%s"
|
|||||||
{ "link_os_gnu", LINK_OS_GNU_SPEC }, \
|
{ "link_os_gnu", LINK_OS_GNU_SPEC }, \
|
||||||
{ "link_os_netbsd", LINK_OS_NETBSD_SPEC }, \
|
{ "link_os_netbsd", LINK_OS_NETBSD_SPEC }, \
|
||||||
{ "link_os_openbsd", LINK_OS_OPENBSD_SPEC }, \
|
{ "link_os_openbsd", LINK_OS_OPENBSD_SPEC }, \
|
||||||
{ "link_os_windiss", LINK_OS_WINDISS_SPEC }, \
|
|
||||||
{ "link_os_default", LINK_OS_DEFAULT_SPEC }, \
|
{ "link_os_default", LINK_OS_DEFAULT_SPEC }, \
|
||||||
{ "cc1_endian_big", CC1_ENDIAN_BIG_SPEC }, \
|
{ "cc1_endian_big", CC1_ENDIAN_BIG_SPEC }, \
|
||||||
{ "cc1_endian_little", CC1_ENDIAN_LITTLE_SPEC }, \
|
{ "cc1_endian_little", CC1_ENDIAN_LITTLE_SPEC }, \
|
||||||
@ -1089,7 +1059,6 @@ ncrtn.o%s"
|
|||||||
{ "cpp_os_linux", CPP_OS_LINUX_SPEC }, \
|
{ "cpp_os_linux", CPP_OS_LINUX_SPEC }, \
|
||||||
{ "cpp_os_netbsd", CPP_OS_NETBSD_SPEC }, \
|
{ "cpp_os_netbsd", CPP_OS_NETBSD_SPEC }, \
|
||||||
{ "cpp_os_openbsd", CPP_OS_OPENBSD_SPEC }, \
|
{ "cpp_os_openbsd", CPP_OS_OPENBSD_SPEC }, \
|
||||||
{ "cpp_os_windiss", CPP_OS_WINDISS_SPEC }, \
|
|
||||||
{ "cpp_os_default", CPP_OS_DEFAULT_SPEC }, \
|
{ "cpp_os_default", CPP_OS_DEFAULT_SPEC }, \
|
||||||
{ "fbsd_dynamic_linker", FBSD_DYNAMIC_LINKER }, \
|
{ "fbsd_dynamic_linker", FBSD_DYNAMIC_LINKER }, \
|
||||||
SUBSUBTARGET_EXTRA_SPECS
|
SUBSUBTARGET_EXTRA_SPECS
|
||||||
|
@ -119,10 +119,6 @@ memb
|
|||||||
Target RejectNegative
|
Target RejectNegative
|
||||||
Set the PPC_EMB bit in the ELF flags header
|
Set the PPC_EMB bit in the ELF flags header
|
||||||
|
|
||||||
mwindiss
|
|
||||||
Target RejectNegative
|
|
||||||
Use the WindISS simulator
|
|
||||||
|
|
||||||
mshlib
|
mshlib
|
||||||
Target RejectNegative
|
Target RejectNegative
|
||||||
no description yet
|
no description yet
|
||||||
|
@ -1,30 +0,0 @@
|
|||||||
# Build the libraries for both hard & soft floating point and ppc/common.
|
|
||||||
|
|
||||||
MULTILIB_OPTIONS = msoft-float mcpu=common
|
|
||||||
MULTILIB_DIRNAMES = soft-float common
|
|
||||||
|
|
||||||
# This is probably the correct define, to override the Makefile
|
|
||||||
# default, but using it causes more problems than it solves.
|
|
||||||
#
|
|
||||||
# Using it will cause fixincludes to try and fix some of the
|
|
||||||
# mwcc header files, which it seems to do a poor job of. On
|
|
||||||
# the other hand, not using it will only cause the gcc version
|
|
||||||
# of limits.h to lack the header and trailer parts that are
|
|
||||||
# tacked on to it when there is a limits.h in the system header
|
|
||||||
# dir.
|
|
||||||
#
|
|
||||||
# For now it is probably better to change the rule for
|
|
||||||
# LIMITS_H_TEST to explicitly look for the BeOS limits.h.
|
|
||||||
# If the gcc limits.h is not set up to #include_next the
|
|
||||||
# BeOS limits.h, then some things will go undefined, like
|
|
||||||
# PATH_MAX.
|
|
||||||
|
|
||||||
#SYSTEM_HEADER_DIR=/boot/develop/headers/posix
|
|
||||||
# Test to see whether <limits.h> exists in the system header files.
|
|
||||||
LIMITS_H_TEST = [ -f /boot/develop/headers/posix/limits.h ]
|
|
||||||
|
|
||||||
# Aix 3.2.x needs milli.exp for -mcpu=common
|
|
||||||
EXTRA_PARTS = milli.exp
|
|
||||||
$(T)milli.exp: $(srcdir)/config/rs6000/milli.exp
|
|
||||||
rm -f $(T)milli.exp
|
|
||||||
cp $(srcdir)/config/rs6000/milli.exp $(T)milli.exp
|
|
@ -1,46 +0,0 @@
|
|||||||
/* Support for GCC on PowerPC using WindISS simulator.
|
|
||||||
Copyright (C) 2002, 2003, 2007 Free Software Foundation, Inc.
|
|
||||||
Contributed by CodeSourcery, LLC.
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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 3, or (at your
|
|
||||||
option) any later version.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
#undef TARGET_VERSION
|
|
||||||
#define TARGET_VERSION fprintf (stderr, " (PowerPC WindISS)");
|
|
||||||
|
|
||||||
#undef LIB_DEFAULT_SPEC
|
|
||||||
#define LIB_DEFAULT_SPEC "%(lib_windiss)"
|
|
||||||
|
|
||||||
#undef STARTFILE_DEFAULT_SPEC
|
|
||||||
#define STARTFILE_DEFAULT_SPEC "%(startfile_windiss)"
|
|
||||||
|
|
||||||
#undef ENDFILE_DEFAULT_SPEC
|
|
||||||
#define ENDFILE_DEFAULT_SPEC "%(endfile_windiss)"
|
|
||||||
|
|
||||||
#undef LINK_START_DEFAULT_SPEC
|
|
||||||
#define LINK_START_DEFAULT_SPEC "%(link_start_windiss)"
|
|
||||||
|
|
||||||
#undef LINK_OS_DEFAULT_SPEC
|
|
||||||
#define LINK_OS_DEFAULT_SPEC "%(link_os_windiss)"
|
|
||||||
|
|
||||||
#undef CRTSAVRES_DEFAULT_SPEC
|
|
||||||
#define CRTSAVRES_DEFAULT_SPEC ""
|
|
||||||
|
|
||||||
#undef WCHAR_TYPE
|
|
||||||
#define WCHAR_TYPE "short unsigned int"
|
|
||||||
|
|
||||||
#undef WCHAR_TYPE_SIZE
|
|
||||||
#define WCHAR_TYPE_SIZE 16
|
|
@ -1,23 +0,0 @@
|
|||||||
/* Definitions of target machine for GNU compiler.
|
|
||||||
kaOS on sh architecture version.
|
|
||||||
Copyright (C) 2003, 2007 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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 3, or (at your option)
|
|
||||||
any later version.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
#undef TARGET_VERSION
|
|
||||||
#define TARGET_VERSION fputs (" (sh/kaOS[ELF])", stderr);
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
|||||||
/* Operating system specific defines to be used when targeting GCC for any
|
|
||||||
Solaris 2 system up to Solaris 2.6.
|
|
||||||
Copyright 2004, 2007 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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 3, or (at your option)
|
|
||||||
any later version.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
#undef CPP_SUBTARGET_SPEC
|
|
||||||
#define CPP_SUBTARGET_SPEC "\
|
|
||||||
%{pthreads|pthread:-D_REENTRANT -D_PTHREADS95} \
|
|
||||||
%{!pthreads:%{!pthread:%{threads:-D_REENTRANT -D_SOLARIS_THREADS}}} \
|
|
||||||
%{compat-bsd:-iwithprefixbefore ucbinclude -I/usr/ucbinclude} \
|
|
||||||
"
|
|
@ -1,5 +0,0 @@
|
|||||||
/* Up through Solaris 2.6, the system linker does not work with DWARF2
|
|
||||||
since it does not have working support for relocations to unaligned
|
|
||||||
data. */
|
|
||||||
|
|
||||||
#undef DWARF2_DEBUGGING_INFO
|
|
@ -1,33 +0,0 @@
|
|||||||
/* Target macros for GCC for SPARC running System V.4
|
|
||||||
Copyright (C) 2003, 2005, 2007
|
|
||||||
Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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 3, or (at your option)
|
|
||||||
any later version.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
/* Provide a set of pre-definitions and pre-assertions appropriate for
|
|
||||||
the SPARC running svr4. __svr4__ is our extension. */
|
|
||||||
|
|
||||||
/* Target OS builtins. */ \
|
|
||||||
#define TARGET_OS_CPP_BUILTINS() \
|
|
||||||
do \
|
|
||||||
{ \
|
|
||||||
builtin_define_std ("unix"); \
|
|
||||||
builtin_define ("__svr4__"); \
|
|
||||||
builtin_assert ("system=unix"); \
|
|
||||||
builtin_assert ("system=svr4"); \
|
|
||||||
} \
|
|
||||||
while (0)
|
|
@ -1,31 +0,0 @@
|
|||||||
/* Definitions of target machine for GNU compiler. BSD version.
|
|
||||||
Copyright (C) 2002, 2007 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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 3, or (at your option)
|
|
||||||
any later version.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
|
|
||||||
#define TARGET_OS_CPP_BUILTINS() \
|
|
||||||
do \
|
|
||||||
{ \
|
|
||||||
builtin_define_std ("unix"); \
|
|
||||||
builtin_assert ("system=bsd"); \
|
|
||||||
\
|
|
||||||
builtin_define_std ("vax"); \
|
|
||||||
if (TARGET_G_FLOAT) \
|
|
||||||
builtin_define_std ("GFLOAT"); \
|
|
||||||
} \
|
|
||||||
while (0)
|
|
@ -1,3 +0,0 @@
|
|||||||
LIB2FUNCS_EXTRA = \
|
|
||||||
$(srcdir)/config/memcmp.c $(srcdir)/config/memcpy.c \
|
|
||||||
$(srcdir)/config/memmove.c $(srcdir)/config/memset.c
|
|
@ -1,41 +0,0 @@
|
|||||||
/* Output variables, constants and external declarations, for GNU compiler.
|
|
||||||
Copyright (C) 1999, 2002, 2007 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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 3, or (at your option)
|
|
||||||
any later version.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
|
|
||||||
#define TARGET_OS_CPP_BUILTINS() \
|
|
||||||
do \
|
|
||||||
{ \
|
|
||||||
builtin_define_std ("unix"); \
|
|
||||||
builtin_define_std ("ultrix"); \
|
|
||||||
builtin_define_std ("bsd4_2"); \
|
|
||||||
builtin_assert ("system=unix"); \
|
|
||||||
builtin_assert ("system=bsd"); \
|
|
||||||
\
|
|
||||||
builtin_define_std ("vax"); \
|
|
||||||
if (TARGET_G_FLOAT) \
|
|
||||||
builtin_define_std ("GFLOAT"); \
|
|
||||||
} \
|
|
||||||
while (0)
|
|
||||||
|
|
||||||
/* These are as defined in /usr/include/sys/stdtypes.h.
|
|
||||||
These values are for ultrix 4.2 on the VAX. */
|
|
||||||
#define SIZE_TYPE "unsigned int"
|
|
||||||
#define PTRDIFF_TYPE "int"
|
|
||||||
#define WCHAR_TYPE "unsigned int"
|
|
||||||
#define WCHAR_TYPE_SIZE 32
|
|
@ -1,65 +0,0 @@
|
|||||||
/* Definitions of target machine for GNU compiler. VAX sysV version.
|
|
||||||
Copyright (C) 1988, 1993, 1996, 2000, 2002, 2007 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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 3, or (at your option)
|
|
||||||
any later version.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
#define TARGET_OS_CPP_BUILTINS() \
|
|
||||||
do \
|
|
||||||
{ \
|
|
||||||
builtin_define_std ("unix"); \
|
|
||||||
builtin_assert ("system=svr3"); \
|
|
||||||
\
|
|
||||||
builtin_define_std ("vax"); \
|
|
||||||
if (TARGET_G_FLOAT) \
|
|
||||||
builtin_define_std ("GFLOAT"); \
|
|
||||||
} \
|
|
||||||
while (0)
|
|
||||||
|
|
||||||
/* Output #ident as a .ident. */
|
|
||||||
|
|
||||||
#define ASM_OUTPUT_IDENT(FILE, NAME) fprintf (FILE, "\t.ident \"%s\"\n", NAME);
|
|
||||||
|
|
||||||
#undef DBX_DEBUGGING_INFO
|
|
||||||
#define SDB_DEBUGGING_INFO 1
|
|
||||||
|
|
||||||
#undef LIB_SPEC
|
|
||||||
|
|
||||||
/* The .file command should always begin the output. */
|
|
||||||
#define TARGET_ASM_FILE_START_FILE_DIRECTIVE true
|
|
||||||
|
|
||||||
#undef ASM_OUTPUT_ALIGN
|
|
||||||
#define ASM_OUTPUT_ALIGN(FILE,LOG) \
|
|
||||||
fprintf(FILE, "\t.align %d\n", 1 << (LOG))
|
|
||||||
|
|
||||||
#undef ASM_OUTPUT_LOCAL
|
|
||||||
#define ASM_OUTPUT_LOCAL(FILE,NAME,SIZE,ROUNDED) \
|
|
||||||
( switch_to_section (data_section), \
|
|
||||||
assemble_name ((FILE), (NAME)), \
|
|
||||||
fprintf ((FILE), ":\n\t.space %u\n", (int)(ROUNDED)))
|
|
||||||
|
|
||||||
#define ASM_OUTPUT_ASCII(FILE,PTR,LEN) \
|
|
||||||
do { \
|
|
||||||
const unsigned char *s = (const unsigned char *)(PTR);\
|
|
||||||
size_t i, limit = (LEN); \
|
|
||||||
for (i = 0; i < limit; s++, i++) \
|
|
||||||
{ \
|
|
||||||
if ((i % 8) == 0) \
|
|
||||||
fputs ("\n\t.byte\t", (FILE)); \
|
|
||||||
fprintf ((FILE), "%s0x%x", (i%8?",":""), (unsigned)*s); \
|
|
||||||
} \
|
|
||||||
fputs ("\n", (FILE)); \
|
|
||||||
} while (0)
|
|
@ -1,37 +0,0 @@
|
|||||||
/* Support for GCC using WindISS simulator.
|
|
||||||
Copyright (C) 2003, 2007 Free Software Foundation, Inc.
|
|
||||||
Contributed by CodeSourcery, LLC.
|
|
||||||
|
|
||||||
This file is part of GCC.
|
|
||||||
|
|
||||||
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 3, or (at your option)
|
|
||||||
any later version.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
|
|
||||||
/* windiss uses wchar_t == unsigned short (UCS2) on all architectures. */
|
|
||||||
#undef WCHAR_TYPE
|
|
||||||
#define WCHAR_TYPE "short unsigned int"
|
|
||||||
#undef WCHAR_TYPE_SIZE
|
|
||||||
#define WCHAR_TYPE_SIZE 16
|
|
||||||
|
|
||||||
/* windiss has wint_t == int */
|
|
||||||
#undef WINT_TYPE
|
|
||||||
#define WINT_TYPE "int"
|
|
||||||
|
|
||||||
/* No profiling. */
|
|
||||||
#undef FUNCTION_PROFILER
|
|
||||||
#define FUNCTION_PROFILER(FILE, LABELNO) \
|
|
||||||
{ \
|
|
||||||
sorry ("profiler support for WindISS"); \
|
|
||||||
}
|
|
2
gcc/configure
vendored
2
gcc/configure
vendored
@ -22696,7 +22696,7 @@ esac
|
|||||||
# version to the per-target configury.
|
# version to the per-target configury.
|
||||||
case "$target" in
|
case "$target" in
|
||||||
i?86*-*-* | mips*-*-* | alpha*-*-* | powerpc*-*-* | sparc*-*-* | m68*-*-* \
|
i?86*-*-* | mips*-*-* | alpha*-*-* | powerpc*-*-* | sparc*-*-* | m68*-*-* \
|
||||||
| x86_64*-*-* | hppa*-*-* | arm*-*-* | strongarm*-*-* | xscale*-*-* \
|
| x86_64*-*-* | hppa*-*-* | arm*-*-* \
|
||||||
| xstormy16*-*-* | cris-*-* | xtensa-*-* | bfin-*-* | score*-*-* | spu-*-*)
|
| xstormy16*-*-* | cris-*-* | xtensa-*-* | bfin-*-* | score*-*-* | spu-*-*)
|
||||||
insn="nop"
|
insn="nop"
|
||||||
;;
|
;;
|
||||||
|
@ -3056,7 +3056,7 @@ esac
|
|||||||
# version to the per-target configury.
|
# version to the per-target configury.
|
||||||
case "$target" in
|
case "$target" in
|
||||||
i?86*-*-* | mips*-*-* | alpha*-*-* | powerpc*-*-* | sparc*-*-* | m68*-*-* \
|
i?86*-*-* | mips*-*-* | alpha*-*-* | powerpc*-*-* | sparc*-*-* | m68*-*-* \
|
||||||
| x86_64*-*-* | hppa*-*-* | arm*-*-* | strongarm*-*-* | xscale*-*-* \
|
| x86_64*-*-* | hppa*-*-* | arm*-*-* \
|
||||||
| xstormy16*-*-* | cris-*-* | xtensa-*-* | bfin-*-* | score*-*-* | spu-*-*)
|
| xstormy16*-*-* | cris-*-* | xtensa-*-* | bfin-*-* | score*-*-* | spu-*-*)
|
||||||
insn="nop"
|
insn="nop"
|
||||||
;;
|
;;
|
||||||
|
@ -3918,8 +3918,8 @@ programs. When preprocessing assembler, however, dollars are not
|
|||||||
identifier characters by default.
|
identifier characters by default.
|
||||||
|
|
||||||
Currently the targets that by default do not permit @samp{$} are AVR,
|
Currently the targets that by default do not permit @samp{$} are AVR,
|
||||||
IP2K, MMIX, MIPS Irix 3, ARM aout, and PowerPC targets for the AIX and
|
IP2K, MMIX, MIPS Irix 3, ARM aout, and PowerPC targets for the AIX
|
||||||
BeOS operating systems.
|
operating system.
|
||||||
|
|
||||||
You can override the default with @option{-fdollars-in-identifiers} or
|
You can override the default with @option{-fdollars-in-identifiers} or
|
||||||
@option{fno-dollars-in-identifiers}. @xref{fdollars-in-identifiers}.
|
@option{fno-dollars-in-identifiers}. @xref{fdollars-in-identifiers}.
|
||||||
|
@ -2362,7 +2362,7 @@ This attribute is ignored for R8C target.
|
|||||||
|
|
||||||
@item interrupt
|
@item interrupt
|
||||||
@cindex interrupt handler functions
|
@cindex interrupt handler functions
|
||||||
Use this attribute on the ARM, AVR, CRX, M32C, M32R/D, m68k, MS1,
|
Use this attribute on the ARM, AVR, CRX, M32C, M32R/D, m68k,
|
||||||
and Xstormy16 ports to indicate that the specified function is an
|
and Xstormy16 ports to indicate that the specified function is an
|
||||||
interrupt handler. The compiler will generate function entry and exit
|
interrupt handler. The compiler will generate function entry and exit
|
||||||
sequences suitable for use in an interrupt handler when this attribute
|
sequences suitable for use in an interrupt handler when this attribute
|
||||||
|
@ -835,11 +835,6 @@ whether you use the GNU assembler. On any other system,
|
|||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
@item @samp{hppa1.0-@var{any}-@var{any}}
|
@item @samp{hppa1.0-@var{any}-@var{any}}
|
||||||
@item @samp{hppa1.1-@var{any}-@var{any}}
|
@item @samp{hppa1.1-@var{any}-@var{any}}
|
||||||
@item @samp{i386-@var{any}-sysv}
|
|
||||||
@item @samp{m68k-bull-sysv}
|
|
||||||
@item @samp{m68k-hp-hpux}
|
|
||||||
@item @samp{m68000-hp-hpux}
|
|
||||||
@item @samp{m68000-att-sysv}
|
|
||||||
@item @samp{sparc-sun-solaris2.@var{any}}
|
@item @samp{sparc-sun-solaris2.@var{any}}
|
||||||
@item @samp{sparc64-@var{any}-solaris2.@var{any}}
|
@item @samp{sparc64-@var{any}-solaris2.@var{any}}
|
||||||
@end itemize
|
@end itemize
|
||||||
@ -2480,16 +2475,12 @@ information are.
|
|||||||
@item
|
@item
|
||||||
@uref{#alpha-dec-osf,,alpha*-dec-osf*}
|
@uref{#alpha-dec-osf,,alpha*-dec-osf*}
|
||||||
@item
|
@item
|
||||||
@uref{#alphaev5-cray-unicosmk,,alphaev5-cray-unicosmk*}
|
|
||||||
@item
|
|
||||||
@uref{#arc-x-elf,,arc-*-elf}
|
@uref{#arc-x-elf,,arc-*-elf}
|
||||||
@item
|
@item
|
||||||
@uref{#arm-x-elf,,arm-*-elf}
|
@uref{#arm-x-elf,,arm-*-elf}
|
||||||
@uref{#arm-x-coff,,arm-*-coff}
|
@uref{#arm-x-coff,,arm-*-coff}
|
||||||
@uref{#arm-x-aout,,arm-*-aout}
|
@uref{#arm-x-aout,,arm-*-aout}
|
||||||
@item
|
@item
|
||||||
@uref{#xscale-x-x,,xscale-*-*}
|
|
||||||
@item
|
|
||||||
@uref{#avr,,avr}
|
@uref{#avr,,avr}
|
||||||
@item
|
@item
|
||||||
@uref{#bfin,,Blackfin}
|
@uref{#bfin,,Blackfin}
|
||||||
@ -2508,16 +2499,10 @@ information are.
|
|||||||
@item
|
@item
|
||||||
@uref{#x-x-linux-gnu,,*-*-linux-gnu}
|
@uref{#x-x-linux-gnu,,*-*-linux-gnu}
|
||||||
@item
|
@item
|
||||||
@uref{#ix86-x-linuxaout,,i?86-*-linux*aout}
|
|
||||||
@item
|
|
||||||
@uref{#ix86-x-linux,,i?86-*-linux*}
|
@uref{#ix86-x-linux,,i?86-*-linux*}
|
||||||
@item
|
@item
|
||||||
@uref{#ix86-x-sco32v5,,i?86-*-sco3.2v5*}
|
|
||||||
@item
|
|
||||||
@uref{#ix86-x-solaris210,,i?86-*-solaris2.10}
|
@uref{#ix86-x-solaris210,,i?86-*-solaris2.10}
|
||||||
@item
|
@item
|
||||||
@uref{#ix86-x-udk,,i?86-*-udk}
|
|
||||||
@item
|
|
||||||
@uref{#ia64-x-linux,,ia64-*-linux}
|
@uref{#ia64-x-linux,,ia64-*-linux}
|
||||||
@item
|
@item
|
||||||
@uref{#ia64-x-hpux,,ia64-*-hpux*}
|
@uref{#ia64-x-hpux,,ia64-*-hpux*}
|
||||||
@ -2536,8 +2521,6 @@ information are.
|
|||||||
@item
|
@item
|
||||||
@uref{#m68k-x-x,,m68k-*-*}
|
@uref{#m68k-x-x,,m68k-*-*}
|
||||||
@item
|
@item
|
||||||
@uref{#m68k-hp-hpux,,m68k-hp-hpux}
|
|
||||||
@item
|
|
||||||
@uref{#m68k-uclinux,,m68k-uclinux}
|
@uref{#m68k-uclinux,,m68k-uclinux}
|
||||||
@item
|
@item
|
||||||
@uref{#mips-x-x,,mips-*-*}
|
@uref{#mips-x-x,,mips-*-*}
|
||||||
@ -2546,11 +2529,11 @@ information are.
|
|||||||
@item
|
@item
|
||||||
@uref{#mips-sgi-irix6,,mips-sgi-irix6}
|
@uref{#mips-sgi-irix6,,mips-sgi-irix6}
|
||||||
@item
|
@item
|
||||||
@uref{#powerpc-x-x,,powerpc*-*-*, powerpc-*-sysv4}
|
@uref{#powerpc-x-x,,powerpc*-*-*}
|
||||||
@item
|
@item
|
||||||
@uref{#powerpc-x-darwin,,powerpc-*-darwin*}
|
@uref{#powerpc-x-darwin,,powerpc-*-darwin*}
|
||||||
@item
|
@item
|
||||||
@uref{#powerpc-x-elf,,powerpc-*-elf, powerpc-*-sysv4}
|
@uref{#powerpc-x-elf,,powerpc-*-elf}
|
||||||
@item
|
@item
|
||||||
@uref{#powerpc-x-linux-gnu,,powerpc*-*-linux-gnu*}
|
@uref{#powerpc-x-linux-gnu,,powerpc*-*-linux-gnu*}
|
||||||
@item
|
@item
|
||||||
@ -2560,7 +2543,7 @@ information are.
|
|||||||
@item
|
@item
|
||||||
@uref{#powerpc-x-eabi,,powerpc-*-eabi}
|
@uref{#powerpc-x-eabi,,powerpc-*-eabi}
|
||||||
@item
|
@item
|
||||||
@uref{#powerpcle-x-elf,,powerpcle-*-elf, powerpcle-*-sysv4}
|
@uref{#powerpcle-x-elf,,powerpcle-*-elf}
|
||||||
@item
|
@item
|
||||||
@uref{#powerpcle-x-eabisim,,powerpcle-*-eabisim}
|
@uref{#powerpcle-x-eabisim,,powerpcle-*-eabisim}
|
||||||
@item
|
@item
|
||||||
@ -2584,10 +2567,6 @@ information are.
|
|||||||
@item
|
@item
|
||||||
@uref{#sparcv9-x-solaris2,,sparcv9-*-solaris2*}
|
@uref{#sparcv9-x-solaris2,,sparcv9-*-solaris2*}
|
||||||
@item
|
@item
|
||||||
@uref{#x-x-sysv,,*-*-sysv*}
|
|
||||||
@item
|
|
||||||
@uref{#vax-dec-ultrix,,vax-dec-ultrix}
|
|
||||||
@item
|
|
||||||
@uref{#x-x-vxworks,,*-*-vxworks*}
|
@uref{#x-x-vxworks,,*-*-vxworks*}
|
||||||
@item
|
@item
|
||||||
@uref{#x86-64-x-x,,x86_64-*-*, amd64-*-*}
|
@uref{#x86-64-x-x,,x86_64-*-*, amd64-*-*}
|
||||||
@ -2707,32 +2686,6 @@ To avoid this behavior, specify @option{-gstabs+} and use GDB instead of
|
|||||||
DBX@. DEC is now aware of this problem with the assembler and hopes to
|
DBX@. DEC is now aware of this problem with the assembler and hopes to
|
||||||
provide a fix shortly.
|
provide a fix shortly.
|
||||||
|
|
||||||
@html
|
|
||||||
<hr />
|
|
||||||
@end html
|
|
||||||
@heading @anchor{alphaev5-cray-unicosmk}alphaev5-cray-unicosmk*
|
|
||||||
Cray T3E systems running Unicos/Mk.
|
|
||||||
|
|
||||||
This port is incomplete and has many known bugs. We hope to improve the
|
|
||||||
support for this target soon. Currently, only the C front end is supported,
|
|
||||||
and it is not possible to build parallel applications. Cray modules are not
|
|
||||||
supported; in particular, Craylibs are assumed to be in
|
|
||||||
@file{/opt/ctl/craylibs/craylibs}.
|
|
||||||
|
|
||||||
On this platform, you need to tell GCC where to find the assembler and
|
|
||||||
the linker. The simplest way to do so is by providing @option{--with-as}
|
|
||||||
and @option{--with-ld} to @file{configure}, e.g.@:
|
|
||||||
|
|
||||||
@smallexample
|
|
||||||
configure --with-as=/opt/ctl/bin/cam --with-ld=/opt/ctl/bin/cld \
|
|
||||||
--enable-languages=c
|
|
||||||
@end smallexample
|
|
||||||
|
|
||||||
The comparison test at the end of the bootstrapping process fails on Unicos/Mk
|
|
||||||
because the assembler inserts timestamps into object files. You should
|
|
||||||
be able to work around this by doing @samp{make all} after getting this
|
|
||||||
failure.
|
|
||||||
|
|
||||||
@html
|
@html
|
||||||
<hr />
|
<hr />
|
||||||
@end html
|
@end html
|
||||||
@ -2744,11 +2697,10 @@ This configuration is intended for embedded systems.
|
|||||||
<hr />
|
<hr />
|
||||||
@end html
|
@end html
|
||||||
@heading @anchor{arm-x-elf}arm-*-elf
|
@heading @anchor{arm-x-elf}arm-*-elf
|
||||||
@heading @anchor{xscale-x-x}xscale-*-*
|
|
||||||
ARM-family processors. Subtargets that use the ELF object format
|
ARM-family processors. Subtargets that use the ELF object format
|
||||||
require GNU binutils 2.13 or newer. Such subtargets include:
|
require GNU binutils 2.13 or newer. Such subtargets include:
|
||||||
@code{arm-*-freebsd}, @code{arm-*-netbsdelf}, @code{arm-*-*linux},
|
@code{arm-*-freebsd}, @code{arm-*-netbsdelf}, @code{arm-*-*linux}
|
||||||
@code{arm-*-rtems} and @code{arm-*-kaos}.
|
and @code{arm-*-rtems}.
|
||||||
|
|
||||||
@html
|
@html
|
||||||
<hr />
|
<hr />
|
||||||
@ -2840,9 +2792,6 @@ for a list of CRIS-specific options.
|
|||||||
|
|
||||||
There are a few different CRIS targets:
|
There are a few different CRIS targets:
|
||||||
@table @code
|
@table @code
|
||||||
@item cris-axis-aout
|
|
||||||
Old target. Includes a multilib for the @samp{elinux} a.out-based
|
|
||||||
target. No multilibs for newer architecture variants.
|
|
||||||
@item cris-axis-elf
|
@item cris-axis-elf
|
||||||
Mainly for monolithic embedded systems. Includes a multilib for the
|
Mainly for monolithic embedded systems. Includes a multilib for the
|
||||||
@samp{v10} core used in @samp{ETRAX 100 LX}.
|
@samp{v10} core used in @samp{ETRAX 100 LX}.
|
||||||
@ -2851,7 +2800,7 @@ A GNU/Linux port for the CRIS architecture, currently targeting
|
|||||||
@samp{ETRAX 100 LX} by default.
|
@samp{ETRAX 100 LX} by default.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
For @code{cris-axis-aout} and @code{cris-axis-elf} you need binutils 2.11
|
For @code{cris-axis-elf} you need binutils 2.11
|
||||||
or newer. For @code{cris-axis-linux-gnu} you need binutils 2.12 or newer.
|
or newer. For @code{cris-axis-linux-gnu} you need binutils 2.12 or newer.
|
||||||
|
|
||||||
Pre-packaged tools can be obtained from
|
Pre-packaged tools can be obtained from
|
||||||
@ -3189,13 +3138,6 @@ Versions of libstdc++-v3 starting with 3.2.1 require bug fixes present
|
|||||||
in glibc 2.2.5 and later. More information is available in the
|
in glibc 2.2.5 and later. More information is available in the
|
||||||
libstdc++-v3 documentation.
|
libstdc++-v3 documentation.
|
||||||
|
|
||||||
@html
|
|
||||||
<hr />
|
|
||||||
@end html
|
|
||||||
@heading @anchor{ix86-x-linuxaout}i?86-*-linux*aout
|
|
||||||
Use this configuration to generate @file{a.out} binaries on Linux-based
|
|
||||||
GNU systems. This configuration is being superseded.
|
|
||||||
|
|
||||||
@html
|
@html
|
||||||
<hr />
|
<hr />
|
||||||
@end html
|
@end html
|
||||||
@ -3208,50 +3150,6 @@ If you receive Signal 11 errors when building on GNU/Linux, then it is
|
|||||||
possible you have a hardware problem. Further information on this can be
|
possible you have a hardware problem. Further information on this can be
|
||||||
found on @uref{http://www.bitwizard.nl/sig11/,,www.bitwizard.nl}.
|
found on @uref{http://www.bitwizard.nl/sig11/,,www.bitwizard.nl}.
|
||||||
|
|
||||||
@html
|
|
||||||
<hr />
|
|
||||||
@end html
|
|
||||||
@heading @anchor{ix86-x-sco32v5}i?86-*-sco3.2v5*
|
|
||||||
Use this for the SCO OpenServer Release 5 family of operating systems.
|
|
||||||
|
|
||||||
Unlike earlier versions of GCC, the ability to generate COFF with this
|
|
||||||
target is no longer provided.
|
|
||||||
|
|
||||||
Earlier versions of GCC emitted DWARF 1 when generating ELF to allow
|
|
||||||
the system debugger to be used. That support was too burdensome to
|
|
||||||
maintain. GCC now emits only DWARF 2 for this target. This means you
|
|
||||||
may use either the UDK debugger or GDB to debug programs built by this
|
|
||||||
version of GCC@.
|
|
||||||
|
|
||||||
GCC is now only supported on releases 5.0.4 and later, and requires that
|
|
||||||
you install Support Level Supplement OSS646B or later, and Support Level
|
|
||||||
Supplement OSS631C or later. If you are using release 5.0.7 of
|
|
||||||
OpenServer, you must have at least the first maintenance pack installed
|
|
||||||
(this includes the relevant portions of OSS646). OSS646, also known as
|
|
||||||
the ``Execution Environment Update'', provides updated link editors and
|
|
||||||
assemblers, as well as updated standard C and math libraries. The C
|
|
||||||
startup modules are also updated to support the System V gABI draft, and
|
|
||||||
GCC relies on that behavior. OSS631 provides a collection of commonly
|
|
||||||
used open source libraries, some of which GCC depends on (such as GNU
|
|
||||||
gettext and zlib). SCO OpenServer Release 5.0.7 has all of this built
|
|
||||||
in by default, but OSS631C and later also apply to that release. Please
|
|
||||||
visit
|
|
||||||
@uref{ftp://ftp.sco.com/pub/openserver5,,ftp://ftp.sco.com/pub/openserver5}
|
|
||||||
for the latest versions of these (and other potentially useful)
|
|
||||||
supplements.
|
|
||||||
|
|
||||||
Although there is support for using the native assembler, it is
|
|
||||||
recommended that you configure GCC to use the GNU assembler. You do
|
|
||||||
this by using the flags
|
|
||||||
@uref{./configure.html#with-gnu-as,,@option{--with-gnu-as}}. You should
|
|
||||||
use a modern version of GNU binutils. Version 2.13.2.1 was used for all
|
|
||||||
testing. In general, only the @option{--with-gnu-as} option is tested.
|
|
||||||
A modern bintuils (as well as a plethora of other development related
|
|
||||||
GNU utilities) can be found in Support Level Supplement OSS658A, the
|
|
||||||
``GNU Development Tools'' package. See the SCO web and ftp sites for details.
|
|
||||||
That package also contains the currently ``officially supported'' version of
|
|
||||||
GCC, version 2.95.3. It is useful for bootstrapping this version.
|
|
||||||
|
|
||||||
@html
|
@html
|
||||||
<hr />
|
<hr />
|
||||||
@end html
|
@end html
|
||||||
@ -3264,42 +3162,6 @@ It is recommended that you configure GCC to use the GNU assembler in
|
|||||||
@option{--with-gnu-as --with-as=/usr/sfw/bin/gas --without-gnu-ld
|
@option{--with-gnu-as --with-as=/usr/sfw/bin/gas --without-gnu-ld
|
||||||
--with-ld=/usr/ccs/bin/ld}.
|
--with-ld=/usr/ccs/bin/ld}.
|
||||||
|
|
||||||
@html
|
|
||||||
<hr />
|
|
||||||
@end html
|
|
||||||
@heading @anchor{ix86-x-udk}i?86-*-udk
|
|
||||||
|
|
||||||
This target emulates the SCO Universal Development Kit and requires that
|
|
||||||
package be installed. (If it is installed, you will have a
|
|
||||||
@file{/udk/usr/ccs/bin/cc} file present.) It's very much like the
|
|
||||||
@samp{i?86-*-unixware7*} target
|
|
||||||
but is meant to be used when hosting on a system where UDK isn't the
|
|
||||||
default compiler such as OpenServer 5 or Unixware 2. This target will
|
|
||||||
generate binaries that will run on OpenServer, Unixware 2, or Unixware 7,
|
|
||||||
with the same warnings and caveats as the SCO UDK@.
|
|
||||||
|
|
||||||
This target is a little tricky to build because we have to distinguish
|
|
||||||
it from the native tools (so it gets headers, startups, and libraries
|
|
||||||
from the right place) while making the tools not think we're actually
|
|
||||||
building a cross compiler. The easiest way to do this is with a configure
|
|
||||||
command like this:
|
|
||||||
|
|
||||||
@smallexample
|
|
||||||
CC=/udk/usr/ccs/bin/cc @var{/your/path/to}/gcc/configure \
|
|
||||||
--host=i686-pc-udk --target=i686-pc-udk --program-prefix=udk-
|
|
||||||
@end smallexample
|
|
||||||
|
|
||||||
@emph{You should substitute @samp{i686} in the above command with the appropriate
|
|
||||||
processor for your host.}
|
|
||||||
|
|
||||||
After the usual @samp{make} and
|
|
||||||
@samp{make install}, you can then access the UDK-targeted GCC
|
|
||||||
tools by adding @command{udk-} before the commonly known name. For
|
|
||||||
example, to invoke the C compiler, you would use @command{udk-gcc}.
|
|
||||||
They will coexist peacefully with any native-target GCC tools you may
|
|
||||||
have installed.
|
|
||||||
|
|
||||||
|
|
||||||
@html
|
@html
|
||||||
<hr />
|
<hr />
|
||||||
@end html
|
@end html
|
||||||
@ -3525,59 +3387,6 @@ be a @option{-mcpu} argument or one of the following values:
|
|||||||
@samp{m68000}, @samp{m68010}, @samp{m68020}, @samp{m68030},
|
@samp{m68000}, @samp{m68010}, @samp{m68020}, @samp{m68030},
|
||||||
@samp{m68040}, @samp{m68060}, @samp{m68020-40} and @samp{m68020-60}.
|
@samp{m68040}, @samp{m68060}, @samp{m68020-40} and @samp{m68020-60}.
|
||||||
|
|
||||||
@html
|
|
||||||
<hr />
|
|
||||||
@end html
|
|
||||||
@heading @anchor{m68k-hp-hpux}m68k-hp-hpux
|
|
||||||
HP 9000 series 300 or 400 running HP-UX@. HP-UX version 8.0 has a bug in
|
|
||||||
the assembler that prevents compilation of GCC@. This
|
|
||||||
bug manifests itself during the first stage of compilation, while
|
|
||||||
building @file{libgcc2.a}:
|
|
||||||
|
|
||||||
@smallexample
|
|
||||||
_floatdisf
|
|
||||||
cc1: warning: `-g' option not supported on this version of GCC
|
|
||||||
cc1: warning: `-g1' option not supported on this version of GCC
|
|
||||||
./xgcc: Internal compiler error: program as got fatal signal 11
|
|
||||||
@end smallexample
|
|
||||||
|
|
||||||
A patched version of the assembler is available as the file
|
|
||||||
@uref{ftp://altdorf.ai.mit.edu/archive/cph/hpux-8.0-assembler}. If you
|
|
||||||
have HP software support, the patch can also be obtained directly from
|
|
||||||
HP, as described in the following note:
|
|
||||||
|
|
||||||
@quotation
|
|
||||||
This is the patched assembler, to patch SR#1653-010439, where the
|
|
||||||
assembler aborts on floating point constants.
|
|
||||||
|
|
||||||
The bug is not really in the assembler, but in the shared library
|
|
||||||
version of the function ``cvtnum(3c)''. The bug on ``cvtnum(3c)'' is
|
|
||||||
SR#4701-078451. Anyway, the attached assembler uses the archive
|
|
||||||
library version of ``cvtnum(3c)'' and thus does not exhibit the bug.
|
|
||||||
@end quotation
|
|
||||||
|
|
||||||
This patch is also known as PHCO_4484.
|
|
||||||
|
|
||||||
In addition gdb does not understand that native HP-UX format, so
|
|
||||||
you must use gas if you wish to use gdb.
|
|
||||||
|
|
||||||
On HP-UX version 8.05, but not on 8.07 or more recent versions, the
|
|
||||||
@command{fixproto} shell script triggers a bug in the system shell. If you
|
|
||||||
encounter this problem, upgrade your operating system or use BASH (the
|
|
||||||
GNU shell) to run @command{fixproto}. This bug will cause the fixproto
|
|
||||||
program to report an error of the form:
|
|
||||||
|
|
||||||
@smallexample
|
|
||||||
./fixproto: sh internal 1K buffer overflow
|
|
||||||
@end smallexample
|
|
||||||
|
|
||||||
To fix this, you can also change the first line of the fixproto script
|
|
||||||
to look like:
|
|
||||||
|
|
||||||
@smallexample
|
|
||||||
#!/bin/ksh
|
|
||||||
@end smallexample
|
|
||||||
|
|
||||||
@html
|
@html
|
||||||
<hr />
|
<hr />
|
||||||
@end html
|
@end html
|
||||||
@ -3789,7 +3598,7 @@ on systems older than 10.3.9 (aka darwin7.9.0).
|
|||||||
@html
|
@html
|
||||||
<hr />
|
<hr />
|
||||||
@end html
|
@end html
|
||||||
@heading @anchor{powerpc-x-elf}powerpc-*-elf, powerpc-*-sysv4
|
@heading @anchor{powerpc-x-elf}powerpc-*-elf
|
||||||
PowerPC system in big endian mode, running System V.4.
|
PowerPC system in big endian mode, running System V.4.
|
||||||
|
|
||||||
@html
|
@html
|
||||||
@ -3825,7 +3634,7 @@ Embedded PowerPC system in big endian mode.
|
|||||||
@html
|
@html
|
||||||
<hr />
|
<hr />
|
||||||
@end html
|
@end html
|
||||||
@heading @anchor{powerpcle-x-elf}powerpcle-*-elf, powerpcle-*-sysv4
|
@heading @anchor{powerpcle-x-elf}powerpcle-*-elf
|
||||||
PowerPC system in little endian mode, running System V.4.
|
PowerPC system in little endian mode, running System V.4.
|
||||||
|
|
||||||
@html
|
@html
|
||||||
@ -4133,47 +3942,6 @@ and @option{-xildoff} turns off the incremental linker.
|
|||||||
|
|
||||||
This is a synonym for sparc64-*-solaris2*.
|
This is a synonym for sparc64-*-solaris2*.
|
||||||
|
|
||||||
@html
|
|
||||||
<hr />
|
|
||||||
@end html
|
|
||||||
@heading @anchor{x-x-sysv}*-*-sysv*
|
|
||||||
On System V release 3, you may get this error message
|
|
||||||
while linking:
|
|
||||||
|
|
||||||
@smallexample
|
|
||||||
ld fatal: failed to write symbol name @var{something}
|
|
||||||
in strings table for file @var{whatever}
|
|
||||||
@end smallexample
|
|
||||||
|
|
||||||
This probably indicates that the disk is full or your ulimit won't allow
|
|
||||||
the file to be as large as it needs to be.
|
|
||||||
|
|
||||||
This problem can also result because the kernel parameter @code{MAXUMEM}
|
|
||||||
is too small. If so, you must regenerate the kernel and make the value
|
|
||||||
much larger. The default value is reported to be 1024; a value of 32768
|
|
||||||
is said to work. Smaller values may also work.
|
|
||||||
|
|
||||||
On System V, if you get an error like this,
|
|
||||||
|
|
||||||
@smallexample
|
|
||||||
/usr/local/lib/bison.simple: In function `yyparse':
|
|
||||||
/usr/local/lib/bison.simple:625: virtual memory exhausted
|
|
||||||
@end smallexample
|
|
||||||
|
|
||||||
@noindent
|
|
||||||
that too indicates a problem with disk space, ulimit, or @code{MAXUMEM}.
|
|
||||||
|
|
||||||
On a System V release 4 system, make sure @file{/usr/bin} precedes
|
|
||||||
@file{/usr/ucb} in @code{PATH}. The @command{cc} command in
|
|
||||||
@file{/usr/ucb} uses libraries which have bugs.
|
|
||||||
|
|
||||||
@html
|
|
||||||
<hr />
|
|
||||||
@end html
|
|
||||||
@heading @anchor{vax-dec-ultrix}vax-dec-ultrix
|
|
||||||
Don't try compiling with VAX C (@command{vcc}). It produces incorrect code
|
|
||||||
in some cases (for example, when @code{alloca} is used).
|
|
||||||
|
|
||||||
@html
|
@html
|
||||||
<hr />
|
<hr />
|
||||||
@end html
|
@end html
|
||||||
|
@ -668,10 +668,6 @@ Objective-C and Objective-C++ Dialects}.
|
|||||||
-mreturn-pointer-on-d0 @gol
|
-mreturn-pointer-on-d0 @gol
|
||||||
-mno-crt0 -mrelax}
|
-mno-crt0 -mrelax}
|
||||||
|
|
||||||
@emph{MT Options}
|
|
||||||
@gccoptlist{-mno-crt0 -mbacc -msim @gol
|
|
||||||
-march=@var{cpu-type} }
|
|
||||||
|
|
||||||
@emph{PDP-11 Options}
|
@emph{PDP-11 Options}
|
||||||
@gccoptlist{-mfpu -msoft-float -mac0 -mno-ac0 -m40 -m45 -m10 @gol
|
@gccoptlist{-mfpu -msoft-float -mac0 -mno-ac0 -m40 -m45 -m10 @gol
|
||||||
-mbcopy -mbcopy-builtin -mint32 -mno-int16 @gol
|
-mbcopy -mbcopy-builtin -mint32 -mno-int16 @gol
|
||||||
@ -721,7 +717,7 @@ See RS/6000 and PowerPC Options.
|
|||||||
-mfloat-gprs=yes -mfloat-gprs=no -mfloat-gprs=single -mfloat-gprs=double @gol
|
-mfloat-gprs=yes -mfloat-gprs=no -mfloat-gprs=single -mfloat-gprs=double @gol
|
||||||
-mprototype -mno-prototype @gol
|
-mprototype -mno-prototype @gol
|
||||||
-msim -mmvme -mads -myellowknife -memb -msdata @gol
|
-msim -mmvme -mads -myellowknife -memb -msdata @gol
|
||||||
-msdata=@var{opt} -mvxworks -mwindiss -G @var{num} -pthread}
|
-msdata=@var{opt} -mvxworks -G @var{num} -pthread}
|
||||||
|
|
||||||
@emph{S/390 and zSeries Options}
|
@emph{S/390 and zSeries Options}
|
||||||
@gccoptlist{-mtune=@var{cpu-type} -march=@var{cpu-type} @gol
|
@gccoptlist{-mtune=@var{cpu-type} -march=@var{cpu-type} @gol
|
||||||
@ -8390,7 +8386,6 @@ platform.
|
|||||||
* MIPS Options::
|
* MIPS Options::
|
||||||
* MMIX Options::
|
* MMIX Options::
|
||||||
* MN10300 Options::
|
* MN10300 Options::
|
||||||
* MT Options::
|
|
||||||
* PDP-11 Options::
|
* PDP-11 Options::
|
||||||
* PowerPC Options::
|
* PowerPC Options::
|
||||||
* RS/6000 and PowerPC Options::
|
* RS/6000 and PowerPC Options::
|
||||||
@ -9061,12 +9056,6 @@ choices for @var{architecture-type} are the same as for
|
|||||||
@opindex mmax-stack-frame
|
@opindex mmax-stack-frame
|
||||||
Warn when the stack frame of a function exceeds @var{n} bytes.
|
Warn when the stack frame of a function exceeds @var{n} bytes.
|
||||||
|
|
||||||
@item -melinux-stacksize=@var{n}
|
|
||||||
@opindex melinux-stacksize
|
|
||||||
Only available with the @samp{cris-axis-aout} target. Arranges for
|
|
||||||
indications in the program to the kernel loader that the stack of the
|
|
||||||
program should be set to @var{n} bytes.
|
|
||||||
|
|
||||||
@item -metrax4
|
@item -metrax4
|
||||||
@itemx -metrax100
|
@itemx -metrax100
|
||||||
@opindex metrax4
|
@opindex metrax4
|
||||||
@ -9146,28 +9135,18 @@ instruction sequences that load addresses for functions from the PLT part
|
|||||||
of the GOT rather than (traditional on other architectures) calls to the
|
of the GOT rather than (traditional on other architectures) calls to the
|
||||||
PLT@. The default is @option{-mgotplt}.
|
PLT@. The default is @option{-mgotplt}.
|
||||||
|
|
||||||
@item -maout
|
|
||||||
@opindex maout
|
|
||||||
Legacy no-op option only recognized with the cris-axis-aout target.
|
|
||||||
|
|
||||||
@item -melf
|
@item -melf
|
||||||
@opindex melf
|
@opindex melf
|
||||||
Legacy no-op option only recognized with the cris-axis-elf and
|
Legacy no-op option only recognized with the cris-axis-elf and
|
||||||
cris-axis-linux-gnu targets.
|
cris-axis-linux-gnu targets.
|
||||||
|
|
||||||
@item -melinux
|
|
||||||
@opindex melinux
|
|
||||||
Only recognized with the cris-axis-aout target, where it selects a
|
|
||||||
GNU/linux-like multilib, include files and instruction set for
|
|
||||||
@option{-march=v8}.
|
|
||||||
|
|
||||||
@item -mlinux
|
@item -mlinux
|
||||||
@opindex mlinux
|
@opindex mlinux
|
||||||
Legacy no-op option only recognized with the cris-axis-linux-gnu target.
|
Legacy no-op option only recognized with the cris-axis-linux-gnu target.
|
||||||
|
|
||||||
@item -sim
|
@item -sim
|
||||||
@opindex sim
|
@opindex sim
|
||||||
This option, recognized for the cris-axis-aout and cris-axis-elf arranges
|
This option, recognized for the cris-axis-elf arranges
|
||||||
to link with input-output functions from a simulator library. Code,
|
to link with input-output functions from a simulator library. Code,
|
||||||
initialized data and zero-initialized data are allocated consecutively.
|
initialized data and zero-initialized data are allocated consecutively.
|
||||||
|
|
||||||
@ -10276,8 +10255,7 @@ Generate output containing library calls for floating point.
|
|||||||
targets. Normally the facilities of the machine's usual C compiler are
|
targets. Normally the facilities of the machine's usual C compiler are
|
||||||
used, but this cannot be done directly in cross-compilation. You must make
|
used, but this cannot be done directly in cross-compilation. You must make
|
||||||
your own arrangements to provide suitable library functions for
|
your own arrangements to provide suitable library functions for
|
||||||
cross-compilation. The embedded target @samp{hppa1.1-*-pro}
|
cross-compilation.
|
||||||
does provide software floating point support.
|
|
||||||
|
|
||||||
@option{-msoft-float} changes the calling convention in the output file;
|
@option{-msoft-float} changes the calling convention in the output file;
|
||||||
therefore, it is only useful if you compile @emph{all} of a program with
|
therefore, it is only useful if you compile @emph{all} of a program with
|
||||||
@ -12756,44 +12734,6 @@ has an effect when used on the command line for the final link step.
|
|||||||
This option makes symbolic debugging impossible.
|
This option makes symbolic debugging impossible.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@node MT Options
|
|
||||||
@subsection MT Options
|
|
||||||
@cindex MT options
|
|
||||||
|
|
||||||
These @option{-m} options are defined for Morpho MT architectures:
|
|
||||||
|
|
||||||
@table @gcctabopt
|
|
||||||
|
|
||||||
@item -march=@var{cpu-type}
|
|
||||||
@opindex march
|
|
||||||
Generate code that will run on @var{cpu-type}, which is the name of a system
|
|
||||||
representing a certain processor type. Possible values for
|
|
||||||
@var{cpu-type} are @samp{ms1-64-001}, @samp{ms1-16-002},
|
|
||||||
@samp{ms1-16-003} and @samp{ms2}.
|
|
||||||
|
|
||||||
When this option is not used, the default is @option{-march=ms1-16-002}.
|
|
||||||
|
|
||||||
@item -mbacc
|
|
||||||
@opindex mbacc
|
|
||||||
Use byte loads and stores when generating code.
|
|
||||||
|
|
||||||
@item -mno-bacc
|
|
||||||
@opindex mno-bacc
|
|
||||||
Do not use byte loads and stores when generating code.
|
|
||||||
|
|
||||||
@item -msim
|
|
||||||
@opindex msim
|
|
||||||
Use simulator runtime
|
|
||||||
|
|
||||||
@item -mno-crt0
|
|
||||||
@opindex mno-crt0
|
|
||||||
Do not link in the C run-time initialization object file
|
|
||||||
@file{crti.o}. Other run-time initialization and termination files
|
|
||||||
such as @file{startup.o} and @file{exit.o} are still included on the
|
|
||||||
linker command line.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@node PDP-11 Options
|
@node PDP-11 Options
|
||||||
@subsection PDP-11 Options
|
@subsection PDP-11 Options
|
||||||
@cindex PDP-11 Options
|
@cindex PDP-11 Options
|
||||||
@ -13576,10 +13516,6 @@ On embedded PowerPC systems, assume that the startup module is called
|
|||||||
On System V.4 and embedded PowerPC systems, specify that you are
|
On System V.4 and embedded PowerPC systems, specify that you are
|
||||||
compiling for a VxWorks system.
|
compiling for a VxWorks system.
|
||||||
|
|
||||||
@item -mwindiss
|
|
||||||
@opindex mwindiss
|
|
||||||
Specify that you are compiling for the WindISS simulation environment.
|
|
||||||
|
|
||||||
@item -memb
|
@item -memb
|
||||||
@opindex memb
|
@opindex memb
|
||||||
On embedded PowerPC systems, set the @var{PPC_EMB} bit in the ELF flags
|
On embedded PowerPC systems, set the @var{PPC_EMB} bit in the ELF flags
|
||||||
|
@ -1952,35 +1952,6 @@ Vector constant that does not require memory
|
|||||||
|
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@item MorphoTech family---@file{config/mt/mt.h}
|
|
||||||
@table @code
|
|
||||||
@item I
|
|
||||||
Constant for an arithmetic insn (16-bit signed integer).
|
|
||||||
|
|
||||||
@item J
|
|
||||||
The constant 0.
|
|
||||||
|
|
||||||
@item K
|
|
||||||
Constant for a logical insn (16-bit zero-extended integer).
|
|
||||||
|
|
||||||
@item L
|
|
||||||
A constant that can be loaded with @code{lui} (i.e.@: the bottom 16
|
|
||||||
bits are zero).
|
|
||||||
|
|
||||||
@item M
|
|
||||||
A constant that takes two words to load (i.e.@: not matched by
|
|
||||||
@code{I}, @code{K}, or @code{L}).
|
|
||||||
|
|
||||||
@item N
|
|
||||||
Negative 16-bit constants other than -65536.
|
|
||||||
|
|
||||||
@item O
|
|
||||||
A 15-bit signed integer constant.
|
|
||||||
|
|
||||||
@item P
|
|
||||||
A positive 16-bit constant.
|
|
||||||
@end table
|
|
||||||
|
|
||||||
@item Intel 386---@file{config/i386/constraints.md}
|
@item Intel 386---@file{config/i386/constraints.md}
|
||||||
@table @code
|
@table @code
|
||||||
@item R
|
@item R
|
||||||
|
@ -2046,7 +2046,7 @@ __enable_execute_stack (void *addr __attribute__((__unused__)))
|
|||||||
|
|
||||||
/* Jump to a trampoline, loading the static chain address. */
|
/* Jump to a trampoline, loading the static chain address. */
|
||||||
|
|
||||||
#if defined(WINNT) && ! defined(__CYGWIN__) && ! defined (_UWIN)
|
#if defined(WINNT) && ! defined(__CYGWIN__)
|
||||||
|
|
||||||
int
|
int
|
||||||
getpagesize (void)
|
getpagesize (void)
|
||||||
@ -2082,7 +2082,7 @@ mprotect (char *addr, int len, int prot)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* WINNT && ! __CYGWIN__ && ! _UWIN */
|
#endif /* WINNT && ! __CYGWIN__ */
|
||||||
|
|
||||||
#ifdef TRANSFER_FROM_TRAMPOLINE
|
#ifdef TRANSFER_FROM_TRAMPOLINE
|
||||||
TRANSFER_FROM_TRAMPOLINE
|
TRANSFER_FROM_TRAMPOLINE
|
||||||
|
@ -1,3 +1,40 @@
|
|||||||
|
2008-06-07 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
* g++.dg/abi/arm_cxa_vec1.C: Don't handle xscale*-*-*.
|
||||||
|
* g++.dg/eh/spbp.C: Don't handle *-*-solaris2.[56]*.
|
||||||
|
* g++.dg/warn/miss-format-1.C: Don't handle Solaris before Solaris
|
||||||
|
7.
|
||||||
|
* gcc.c-torture/compile/981006-1.c: Don't handle xscale*-*-*,
|
||||||
|
strongarm*-*-* and cris-*-aout*.
|
||||||
|
* gcc.c-torture/execute/941014-1.x: Don't handle xscale*-*-* and
|
||||||
|
strongarm*-*-*.
|
||||||
|
* gcc.dg/20030909-1.c: Don't handle xscale*-*-* and
|
||||||
|
strongarm*-*-*.
|
||||||
|
* gcc.dg/20031108-1.c: Don't handle xscale*-*-* and
|
||||||
|
strongarm*-*-*.
|
||||||
|
* gcc.dg/20040813-1.c: Don't handle *-*-sysv5*.
|
||||||
|
* gcc.dg/arm-asm.c: Don't handle strongarm*-*-* and xscale*-*-*.
|
||||||
|
* gcc.dg/arm-scd42-1.c: Use target arm*-*-*.
|
||||||
|
* gcc.dg/arm-scd42-3.c: Use target arm*-*-*.
|
||||||
|
* gcc.dg/cpp/assert4.c: Don't handle BeOS.
|
||||||
|
* gcc.dg/debug/pr35154.c: Don't handle *-*-sysv5*.
|
||||||
|
* gcc.dg/intmax_t-1.c: Don't handle *-*-solaris2.5.1 and
|
||||||
|
xscale*-*-elf*.
|
||||||
|
* gcc.dg/pragma-align.c: Don't handle i?86-*-sco3.2v5*.
|
||||||
|
* gcc.dg/pthread-init-2.c: Don't handle *-*-solaris2.5.1.
|
||||||
|
* gcc.misc-tests/arm-isr.exp: Use target arm*-*-*.
|
||||||
|
* gcc.target/powerpc/ppc-sdata-1.c: Don't handle powerpc-*-sysv*.
|
||||||
|
* gcc.target/powerpc/ppc-sdata-2.c: Don't handle powerpc-*-sysv*.
|
||||||
|
* gcc.target/powerpc/ppc-stackalign-1.c: Don't handle
|
||||||
|
powerpc-*-sysv*.
|
||||||
|
* gfortran.dg/debug/pr35154-stabs.f: Don't handle *-*-sysv5*.
|
||||||
|
* lib/target-supports.exp: Don't handle strongarm*-*-elf,
|
||||||
|
xscale*-*-elf and *-*-windiss.
|
||||||
|
* obj-c++.dg/dwarf-2.mm: Don't handle *-*-solaris2.[56]*.
|
||||||
|
* objc.dg/dwarf-1.m: Don't handle *-*-solaris2.[56]*.
|
||||||
|
* objc.dg/dwarf-2.m: Don't handle *-*-solaris2.[56]*.
|
||||||
|
* gcc.dg/mt-loopi1.c: Remove.
|
||||||
|
|
||||||
2008-06-07 Samuel Tardieu <sam@rfc1149.net>
|
2008-06-07 Samuel Tardieu <sam@rfc1149.net>
|
||||||
|
|
||||||
* gnat.dg/specs/oversize.ads: New.
|
* gnat.dg/specs/oversize.ads: New.
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user