From: pme Date: Thu, 1 Sep 2005 17:44:40 +0000 (+0000) Subject: 2005-08-30 Phil Edwards X-Git-Url: http://git.sourceforge.jp/view?a=commitdiff_plain;h=2adf99fa506fe66870d0c7b9f877200bafba3264;p=pf3gnuchains%2Fgcc-fork.git 2005-08-30 Phil Edwards * config.gcc (i*86-wrs-vxworks): Update. Split out vxworksae target. * config/i386/t-vxworks: Update multilibs for VxWorks 6 and RTP mode. * config/i386/vxworks.h: Likewise. * config/i386/t-vxworksae: New file, for VxWorks AE. * config/i386/vxworksae.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103741 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4f7c45e3d2d..ef2be933f0f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2005-09-01 Phil Edwards + + * config.gcc (i*86-wrs-vxworks): Update. Split out vxworksae target. + * config/i386/t-vxworks: Update multilibs for VxWorks 6 and RTP mode. + * config/i386/vxworks.h: Likewise. + * config/i386/t-vxworksae: New file, for VxWorks AE. + * config/i386/vxworksae.h: Likewise. + 2005-09-01 Sebastian Pop PR tree-optimization/23410 diff --git a/gcc/config.gcc b/gcc/config.gcc index f7281329343..5b1b2e12c7b 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -1169,9 +1169,18 @@ i[34567]86-*-sysv4*) # Intel 80386's running system V.4 extra_parts="crtbegin.o crtend.o" use_fixproto=yes ;; -i[4567]86-wrs-vxworks) - tm_file="${tm_file} i386/sysv4.h i386/unix.h i386/vxworks.h" - tmake_file="${tmake_file} i386/t-vxworks" +i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae) + tm_file="${tm_file} i386/sysv4.h i386/unix.h i386/att.h vx-common.h" + case ${target} in + *-vxworksae*) + tm_file="${tm_file} vxworksae.h i386/vxworksae.h" + tmake_file="${tmake_file} i386/t-vxworks i386/t-vxworksae" + ;; + *) + tm_file="${tm_file} vxworks.h i386/vxworks.h" + tmake_file="${tmake_file} i386/t-vxworks" + ;; + esac ;; i[34567]86-*-pe | i[34567]86-*-cygwin*) tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h" diff --git a/gcc/config/i386/t-vxworks b/gcc/config/i386/t-vxworks index 609399502e7..c440b1f9031 100644 --- a/gcc/config/i386/t-vxworks +++ b/gcc/config/i386/t-vxworks @@ -1,8 +1,8 @@ # Multilibs for VxWorks. -#GCC does not have an arch=pentium3 setting, so we cannot build PENTIUM3gnu -MULTILIB_OPTIONS = \ - march=i486/march=pentium/march=pentiumpro/march=pentium4 -MULTILIB_DIRNAMES = \ - I80486 PENTIUMgnu PENTIUM2gnu PENTIUM4gnu +# Build multilibs for normal, -mrtp, and -mrtp -fPIC. +MULTILIB_OPTIONS = mrtp fPIC +MULTILIB_DIRNAMES = +MULTILIB_MATCHES = fPIC=fpic +MULTILIB_EXCEPTIONS = fPIC diff --git a/gcc/config/i386/t-vxworksae b/gcc/config/i386/t-vxworksae new file mode 100644 index 00000000000..0cea2bbf331 --- /dev/null +++ b/gcc/config/i386/t-vxworksae @@ -0,0 +1,5 @@ +# Multilibs for VxWorks AE. + +MULTILIB_OPTIONS = mvthreads +MULTILIB_MATCHES = +MULTILIB_EXCEPTIONS = diff --git a/gcc/config/i386/vxworks.h b/gcc/config/i386/vxworks.h index 871fdf9fc1f..dd4164ec96f 100644 --- a/gcc/config/i386/vxworks.h +++ b/gcc/config/i386/vxworks.h @@ -1,5 +1,6 @@ -/* Definitions of target machine for GCC. VxWorks i586 version. - Copyright (C) 2003 Free Software Foundation, Inc. +/* IA32 VxWorks target definitions for GNU compiler. + Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. + Updated by CodeSourcery, LLC. This file is part of GCC. @@ -18,57 +19,67 @@ 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 HANDLE_SYSV_PRAGMA 1 #undef TARGET_VERSION #define TARGET_VERSION fprintf (stderr, " (80586, VxWorks syntax)"); -/* Prefix for internally generated assembler labels. If we aren't using - underscores, we are using prefix `.'s to identify labels that should - be ignored, as in `i386/gas.h' --karl@cs.umb.edu */ - -#define LPREFIX "L" - -/* Assembler pseudos to introduce constants of various size. */ - -#define ASM_SHORT "\t.word\t" -#define ASM_LONG "\t.long\t" -#define ASM_QUAD "\t.quad\t" /* Should not be used for 32bit compilation. */ - - -#define ASM_OUTPUT_ALIGN(FILE,LOG) \ - if ((LOG)!=0) fprintf ((FILE), "\t.balign %d\n", 1<<(LOG)) - #undef ASM_SPEC -#define ASM_SPEC "%{v:-V} %{Qy:} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*}" - -#define TARGET_OS_CPP_BUILTINS() \ - do \ - { \ - builtin_define ("__vxworks"); \ - builtin_assert ("system=unix"); \ - \ - if (TARGET_386) \ - builtin_define ("CPU=I80386"); \ - else if (TARGET_486) \ - builtin_define ("CPU=I80486"); \ - else if (TARGET_PENTIUM) \ - { \ - builtin_define ("CPU=PENTIUM"); \ - builtin_define ("CPU_VARIANT=PENTIUM"); \ - } \ - else if (TARGET_PENTIUMPRO) \ - { \ - builtin_define ("CPU=PENTIUM2"); \ - builtin_define ("CPU_VARIANT=PENTIUMPRO"); \ - } \ - else if (TARGET_PENTIUM4) \ - { \ - builtin_define ("CPU=PENTIUM4"); \ - builtin_define ("CPU_VARIANT=PENTIUM4"); \ - } \ - } \ +#define ASM_SPEC "%{v:-v} %{Qy:} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*}" + +#define VXWORKS_CPU_DEFINE() \ + do \ + { \ + if (TARGET_386) \ + builtin_define ("CPU=I80386"); \ + else if (TARGET_486) \ + builtin_define ("CPU=I80486"); \ + else if (TARGET_PENTIUM) \ + { \ + builtin_define ("CPU=PENTIUM"); \ + builtin_define ("CPU_VARIANT=PENTIUM"); \ + } \ + else if (TARGET_PENTIUMPRO) \ + { \ + builtin_define ("CPU=PENTIUM2"); \ + builtin_define ("CPU_VARIANT=PENTIUMPRO"); \ + } \ + else if (TARGET_PENTIUM4) \ + { \ + builtin_define ("CPU=PENTIUM4"); \ + builtin_define ("CPU_VARIANT=PENTIUM4"); \ + } \ + } \ while (0) +#define TARGET_OS_CPP_BUILTINS() \ + do \ + { \ + builtin_define ("__vxworks"); \ + builtin_define ("__VXWORKS__"); \ + builtin_assert ("system=unix"); \ + \ + VXWORKS_CPU_DEFINE(); \ + } \ + while (0) +#undef CPP_SPEC +#define CPP_SPEC VXWORKS_ADDITIONAL_CPP_SPEC +#undef LIB_SPEC +#define LIB_SPEC VXWORKS_LIB_SPEC +#undef STARTFILE_SPEC +#define STARTFILE_SPEC VXWORKS_STARTFILE_SPEC +#undef ENDFILE_SPEC +#define ENDFILE_SPEC VXWORKS_ENDFILE_SPEC +#undef LINK_SPEC +#define LINK_SPEC VXWORKS_LINK_SPEC + +#undef SUBTARGET_SWITCHES +#define SUBTARGET_SWITCHES EXTRA_SUBTARGET_SWITCHES + +#undef SUBTARGET_OVERRIDE_OPTIONS +#define SUBTARGET_OVERRIDE_OPTIONS VXWORKS_OVERRIDE_OPTIONS + +/* No _mcount profiling on VxWorks. */ +#undef FUNCTION_PROFILER +#define FUNCTION_PROFILER(FILE,LABELNO) VXWORKS_FUNCTION_PROFILER(FILE,LABELNO) diff --git a/gcc/config/i386/vxworksae.h b/gcc/config/i386/vxworksae.h new file mode 100644 index 00000000000..0fd80c4ce90 --- /dev/null +++ b/gcc/config/i386/vxworksae.h @@ -0,0 +1,27 @@ +/* IA32 VxWorks AE target definitions for GNU compiler. + Copyright (C) 2005 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 2, 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 COPYING. If not, write to +the Free Software Foundation, 51 Franklin Street, Fifth Floor, +Boston, MA 02110-1301, USA. */ + +/* On VxWorks AE, we only want SIMNT. */ +#undef VXWORKS_CPU_DEFINE +#define VXWORKS_CPU_DEFINE() \ + do \ + builtin_define ("CPU=SIMNT"); \ + while (0)