config.gcc (i*86-wrs-vxworks): Update.

2005-08-30  Phil Edwards  <phil@codesourcery.com>

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

From-SVN: r103741
This commit is contained in:
Phil Edwards 2005-09-01 17:44:40 +00:00 committed by Phil Edwards
parent d8852c4fd9
commit d442d7d9dd
6 changed files with 114 additions and 54 deletions

View file

@ -1,3 +1,11 @@
2005-09-01 Phil Edwards <phil@codesourcery.com>
* 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 <pop@cri.ensmp.fr>
PR tree-optimization/23410

View file

@ -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"

View file

@ -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

View file

@ -0,0 +1,5 @@
# Multilibs for VxWorks AE.
MULTILIB_OPTIONS = mvthreads
MULTILIB_MATCHES =
MULTILIB_EXCEPTIONS =

View file

@ -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 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 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)

View file

@ -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)