This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
RS6000 Changes to support WindISS
- From: Mark Mitchell <mark at codesourcery dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: geoffk at redhat dot com, dje at watson dot ibm dot com
- Date: Mon, 06 May 2002 11:40:15 -0700
- Subject: RS6000 Changes to support WindISS
I've got patches to support WindISS (Wind River's simulation environment)
in GCC, and I'd like to start getting them checked in. There are bits
required in various places, but we may as well start with the changes
to the rs6000 directory.
In my opinion, the only change likely to be controversial is the
removal of crtsaveres.o from ENDFILE_SPEC, where it was unconditionally
included for all PowerPC targets. The entry points in this file
are already present in the WindISS C library and get pulled in earlier;
trying to include this .o just causes link failures. So, I moved this
to the individual target-specific endfile specs.
If I don't hear otherwise, I'll check this in after a day or so.
--
Mark Mitchell mark@codesourcery.com
CodeSourcery, LLC http://www.codesourcery.com
2002-05-06 Mark Mitchell <mark@codesourcery.com>
* config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -mwindiss.
(LINK_START_SPEC): Handle it.
(LINK_OS_SPEC): Likewise.
(CPP_SPEC): Likewise.
(STARTFILE_SPEC): Likewise.
(LIB_SPEC): Likewise.
(ENDFILE_SPEC): Likewise. Remove crtsaveres.o.
(ENDFILE_DEFAULT_SPEC): Add crtsaveres.o.
(ENDFILE_ADS_SPEC): Likewise.
(ENDFILE_YELLOWKNIFE_SPEC): Likewise.
(ENDFILE_MVME_SPEC): Likewise.
(ENDFILE_SIM_SPEC): Likewise.
(ENDFILE_FREEBSD_SPEC): Likewise.
(ENDFILE_LINUX_SPEC): Likewise.
(ENDFILE_GNU_SPEC): Likewise.
(ENDFILE_NETBSD_SPEC): Likewise.
(ENDFILE_VXWORKS_SPEC): Likewise.
(LIB_WINDISS_SPEC): New macro.
(CPP_OS_WINDISS_SPEC): Likewise.
(STARTFILE_WINDISS_SPEC): Likewise.
(ENDFILE_WINDISS_SPEC): Likewise.
(LINK_START_WINDISS_SPEC): Likewise.
(LINK_OS_WINDISS_SPEC): Likewise.
(SUBTARGET_EXTRA_SPECS): Add WindISS specs.
* windiss.h: New file.
Index: sysv4.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/rs6000/sysv4.h,v
retrieving revision 1.90
diff -c -p -r1.90 sysv4.h
*** sysv4.h 15 Apr 2002 20:35:22 -0000 1.90
--- sysv4.h 6 May 2002 18:35:39 -0000
*************** extern int g_switch_set; /* Whether -G
*** 152,157 ****
--- 152,158 ----
{ "emb", 0, \
N_("Set the PPC_EMB bit in the ELF flags header") }, \
{ "vxworks", 0, N_("no description yet") }, \
+ { "windiss", 0, N_("Use the WindISS simulator") }, \
{ "shlib", 0, N_("no description yet") }, \
EXTRA_SUBTARGET_SWITCHES \
{ "newlib", 0, N_("no description yet") },
*************** do { \
*** 943,954 ****
%{myellowknife: %(link_start_yellowknife) } \
%{mmvme: %(link_start_mvme) } \
%{msim: %(link_start_sim) } \
%{mcall-freebsd: %(link_start_freebsd) } \
%{mcall-linux: %(link_start_linux) } \
%{mcall-gnu: %(link_start_gnu) } \
%{mcall-netbsd: %(link_start_netbsd) } \
! %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-linux:
%{!mcall-gnu: \
! %{!mcall-netbsd: %{!mcall-freebsd: %(link_start_default) }}}}}}}}"
#define LINK_START_DEFAULT_SPEC ""
--- 944,957 ----
%{myellowknife: %(link_start_yellowknife) } \
%{mmvme: %(link_start_mvme) } \
%{msim: %(link_start_sim) } \
+ %{mwindiss: %(link_start_windiss) } \
%{mcall-freebsd: %(link_start_freebsd) } \
%{mcall-linux: %(link_start_linux) } \
%{mcall-gnu: %(link_start_gnu) } \
%{mcall-netbsd: %(link_start_netbsd) } \
! %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mwindiss: \
! %{!mcall-linux: %{!mcall-gnu: %{!mcall-netbsd: \
! %{!mcall-freebsd: %(link_start_default) }}}}}}}}}"
#define LINK_START_DEFAULT_SPEC ""
*************** do { \
*** 1000,1010 ****
%{myellowknife: %(link_os_yellowknife) } \
%{mmvme: %(link_os_mvme) } \
%{msim: %(link_os_sim) } \
%{mcall-freebsd: %(link_os_freebsd) } \
%{mcall-linux: %(link_os_linux) } \
%{mcall-gnu: %(link_os_gnu) } \
%{mcall-netbsd: %(link_os_netbsd) } \
! %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-freebsd:
%{!mcall-linux: %{!mcall-gnu: %{!mcall-netbsd: %(link_os_default) }}}}}}}}"
#define LINK_OS_DEFAULT_SPEC ""
--- 1003,1016 ----
%{myellowknife: %(link_os_yellowknife) } \
%{mmvme: %(link_os_mvme) } \
%{msim: %(link_os_sim) } \
+ %{mwindiss: %(link_os_windiss) } \
%{mcall-freebsd: %(link_os_freebsd) } \
%{mcall-linux: %(link_os_linux) } \
%{mcall-gnu: %(link_os_gnu) } \
%{mcall-netbsd: %(link_os_netbsd) } \
! %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mwindiss: \
! %{!mcall-freebsd: %{!mcall-linux: %{!mcall-gnu: \
! %{!mcall-netbsd: %(link_os_default) }}}}}}}}}"
#define LINK_OS_DEFAULT_SPEC ""
*************** do { \
*** 1064,1074 ****
%{myellowknife: %(cpp_os_yellowknife) } \
%{mmvme: %(cpp_os_mvme) } \
%{msim: %(cpp_os_sim) } \
%{mcall-freebsd: %(cpp_os_freebsd) } \
%{mcall-linux: %(cpp_os_linux) } \
%{mcall-gnu: %(cpp_os_gnu) } \
%{mcall-netbsd: %(cpp_os_netbsd) } \
! %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-freebsd:
%{!mcall-linux: %{!mcall-gnu: %{!mcall-netbsd: %(cpp_os_default) }}}}}}}}"
#define CPP_OS_DEFAULT_SPEC ""
--- 1070,1083 ----
%{myellowknife: %(cpp_os_yellowknife) } \
%{mmvme: %(cpp_os_mvme) } \
%{msim: %(cpp_os_sim) } \
+ %{mwindiss: %(cpp_os_windiss) } \
%{mcall-freebsd: %(cpp_os_freebsd) } \
%{mcall-linux: %(cpp_os_linux) } \
%{mcall-gnu: %(cpp_os_gnu) } \
%{mcall-netbsd: %(cpp_os_netbsd) } \
! %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mwindiss: \
! %{!mcall-freebsd: %{!mcall-linux: %{!mcall-gnu: \
! %{!mcall-netbsd: %(cpp_os_default) }}}}}}}}}"
#define CPP_OS_DEFAULT_SPEC ""
*************** do { \
*** 1079,1089 ****
%{myellowknife: %(startfile_yellowknife) } \
%{mmvme: %(startfile_mvme) } \
%{msim: %(startfile_sim) } \
%{mcall-freebsd: %(startfile_freebsd) } \
%{mcall-linux: %(startfile_linux) } \
%{mcall-gnu: %(startfile_gnu) } \
%{mcall-netbsd: %(startfile_netbsd) } \
! %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-freebsd:
%{!mcall-linux: %{!mcall-gnu: %{!mcall-netbsd: %(startfile_default)
}}}}}}}}"
#define STARTFILE_DEFAULT_SPEC ""
--- 1088,1101 ----
%{myellowknife: %(startfile_yellowknife) } \
%{mmvme: %(startfile_mvme) } \
%{msim: %(startfile_sim) } \
+ %{mwindiss: %(startfile_windiss) } \
%{mcall-freebsd: %(startfile_freebsd) } \
%{mcall-linux: %(startfile_linux) } \
%{mcall-gnu: %(startfile_gnu) } \
%{mcall-netbsd: %(startfile_netbsd) } \
! %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mwindiss: \
! %{!mcall-freebsd: %{!mcall-linux: %{!mcall-gnu: \
! %{!mcall-netbsd: %(startfile_default) }}}}}}}}}"
#define STARTFILE_DEFAULT_SPEC ""
*************** do { \
*** 1094,1129 ****
%{myellowknife: %(lib_yellowknife) } \
%{mmvme: %(lib_mvme) } \
%{msim: %(lib_sim) } \
%{mcall-freebsd: %(lib_freebsd) } \
%{mcall-linux: %(lib_linux) } \
%{mcall-gnu: %(lib_gnu) } \
%{mcall-netbsd: %(lib_netbsd) } \
! %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-freebsd:
%{!mcall-linux: %{!mcall-gnu: %{!mcall-netbsd: %(lib_default) }}}}}}}}"
#define LIB_DEFAULT_SPEC ""
/* Override svr4.h definition. */
#undef ENDFILE_SPEC
! #define ENDFILE_SPEC "crtsavres.o%s \
%{mads: %(endfile_ads)} \
%{myellowknife: %(endfile_yellowknife)} \
%{mmvme: %(endfile_mvme)} \
%{msim: %(endfile_sim)} \
%{mcall-freebsd: %(endfile_freebsd) } \
%{mcall-linux: %(endfile_linux) } \
%{mcall-gnu: %(endfile_gnu) } \
%{mcall-netbsd: %(endfile_netbsd) } \
%{mvxworks: %(endfile_vxworks) } \
! %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-freebsd:
%{!mcall-linux: %{!mcall-gnu: %{!mcall-netbsd: %{!mvxworks:
%(endfile_default) }}}}}}}}}"
! #define ENDFILE_DEFAULT_SPEC ""
/* Motorola ADS support. */
#define LIB_ADS_SPEC "--start-group -lads -lc --end-group"
#define STARTFILE_ADS_SPEC "ecrti.o%s crt0.o%s crtbegin.o%s"
! #define ENDFILE_ADS_SPEC "crtend.o%s ecrtn.o%s"
#define LINK_START_ADS_SPEC "-T ads.ld%s"
--- 1106,1148 ----
%{myellowknife: %(lib_yellowknife) } \
%{mmvme: %(lib_mvme) } \
%{msim: %(lib_sim) } \
+ %{mwindiss: %(lib_windiss) } \
%{mcall-freebsd: %(lib_freebsd) } \
%{mcall-linux: %(lib_linux) } \
%{mcall-gnu: %(lib_gnu) } \
%{mcall-netbsd: %(lib_netbsd) } \
! %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mwindiss: \
! %{!mcall-freebsd: %{!mcall-linux: %{!mcall-gnu: \
! %{!mcall-netbsd: %(lib_default) }}}}}}}}}"
#define LIB_DEFAULT_SPEC ""
/* Override svr4.h definition. */
+
#undef ENDFILE_SPEC
! #define ENDFILE_SPEC "\
%{mads: %(endfile_ads)} \
%{myellowknife: %(endfile_yellowknife)} \
%{mmvme: %(endfile_mvme)} \
%{msim: %(endfile_sim)} \
+ %{mwindiss: %(endfile_windiss)} \
%{mcall-freebsd: %(endfile_freebsd) } \
%{mcall-linux: %(endfile_linux) } \
%{mcall-gnu: %(endfile_gnu) } \
%{mcall-netbsd: %(endfile_netbsd) } \
%{mvxworks: %(endfile_vxworks) } \
! %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mwindiss: \
! %{!mcall-freebsd: %{!mcall-linux: %{!mcall-gnu: \
! %{!mcall-netbsd: %{!mvxworks: %(endfile_default) }}}}}}}}}}"
! #define ENDFILE_DEFAULT_SPEC "crtsaveres.o%s"
/* Motorola ADS support. */
#define LIB_ADS_SPEC "--start-group -lads -lc --end-group"
#define STARTFILE_ADS_SPEC "ecrti.o%s crt0.o%s crtbegin.o%s"
! #define ENDFILE_ADS_SPEC "crtsaveres.o%s crtend.o%s ecrtn.o%s"
#define LINK_START_ADS_SPEC "-T ads.ld%s"
*************** do { \
*** 1136,1142 ****
#define STARTFILE_YELLOWKNIFE_SPEC "ecrti.o%s crt0.o%s crtbegin.o%s"
! #define ENDFILE_YELLOWKNIFE_SPEC "crtend.o%s ecrtn.o%s"
#define LINK_START_YELLOWKNIFE_SPEC "-T yellowknife.ld%s"
--- 1155,1161 ----
#define STARTFILE_YELLOWKNIFE_SPEC "ecrti.o%s crt0.o%s crtbegin.o%s"
! #define ENDFILE_YELLOWKNIFE_SPEC "crtsaveres.o%s crtend.o%s ecrtn.o%s"
#define LINK_START_YELLOWKNIFE_SPEC "-T yellowknife.ld%s"
*************** do { \
*** 1149,1155 ****
#define STARTFILE_MVME_SPEC "ecrti.o%s crt0.o%s crtbegin.o%s"
! #define ENDFILE_MVME_SPEC "crtend.o%s ecrtn.o%s"
#define LINK_START_MVME_SPEC "-Ttext 0x40000"
--- 1168,1174 ----
#define STARTFILE_MVME_SPEC "ecrti.o%s crt0.o%s crtbegin.o%s"
! #define ENDFILE_MVME_SPEC "crtsaveres.o%s crtend.o%s ecrtn.o%s"
#define LINK_START_MVME_SPEC "-Ttext 0x40000"
*************** do { \
*** 1162,1168 ****
#define STARTFILE_SIM_SPEC "ecrti.o%s sim-crt0.o%s crtbegin.o%s"
! #define ENDFILE_SIM_SPEC "crtend.o%s ecrtn.o%s"
#define LINK_START_SIM_SPEC ""
--- 1181,1187 ----
#define STARTFILE_SIM_SPEC "ecrti.o%s sim-crt0.o%s crtbegin.o%s"
! #define ENDFILE_SIM_SPEC "crtsaveres.o%s crtend.o%s ecrtn.o%s"
#define LINK_START_SIM_SPEC ""
*************** do { \
*** 1177,1183 ****
-Acpu=powerpc -Amachine=powerpc"
#define STARTFILE_FREEBSD_SPEC FBSD_STARTFILE_SPEC
! #define ENDFILE_FREEBSD_SPEC FBSD_ENDFILE_SPEC
#define LIB_FREEBSD_SPEC FBSD_LIB_SPEC
#define LINK_START_FREEBSD_SPEC ""
--- 1196,1204 ----
-Acpu=powerpc -Amachine=powerpc"
#define STARTFILE_FREEBSD_SPEC FBSD_STARTFILE_SPEC
! #define ENDFILE_FREEBSD_SPEC "\
! crtsaveres.o%s %{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
!
#define LIB_FREEBSD_SPEC FBSD_LIB_SPEC
#define LINK_START_FREEBSD_SPEC ""
*************** do { \
*** 1207,1214 ****
%{!static:%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}}"
#endif
! #define ENDFILE_LINUX_SPEC "%{!shared:crtend.o%s} %{shared:crtendS.o%s} \
! %{mnewlib: ecrtn.o%s} %{!mnewlib: crtn.o%s}"
#define LINK_START_LINUX_SPEC ""
--- 1228,1235 ----
%{!static:%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}}"
#endif
! #define ENDFILE_LINUX_SPEC "crtsaveres.o%s %{!shared:crtend.o%s} \
! %{shared:crtendS.o%s} %{mnewlib: ecrtn.o%s} %{!mnewlib: crtn.o%s}"
#define LINK_START_LINUX_SPEC ""
*************** do { \
*** 1247,1254 ****
%{mnewlib: ecrti.o%s} %{!mnewlib: crti.o%s} \
%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"
! #define ENDFILE_GNU_SPEC "%{!shared:crtend.o%s} %{shared:crtendS.o%s} \
! %{mnewlib: ecrtn.o%s} %{!mnewlib: crtn.o%s}"
#define LINK_START_GNU_SPEC ""
--- 1268,1275 ----
%{mnewlib: ecrti.o%s} %{!mnewlib: crti.o%s} \
%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"
! #define ENDFILE_GNU_SPEC "crtsaveres.o%s %{!shared:crtend.o%s} \
! %{shared:crtendS.o%s} %{mnewlib: ecrtn.o%s} %{!mnewlib: crtn.o%s}"
#define LINK_START_GNU_SPEC ""
*************** ncrti.o%s crt0.o%s \
*** 1270,1276 ****
%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"
#define ENDFILE_NETBSD_SPEC "\
! %{!shared:crtend.o%s} %{shared:crtendS.o%s} \
ncrtn.o%s"
#define LINK_START_NETBSD_SPEC "\
--- 1291,1297 ----
%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"
#define ENDFILE_NETBSD_SPEC "\
! crtsaveres.o%s %{!shared:crtend.o%s} %{shared:crtendS.o%s} \
ncrtn.o%s"
#define LINK_START_NETBSD_SPEC "\
*************** ncrtn.o%s"
*** 1292,1298 ****
#define STARTFILE_VXWORKS_SPEC ""
! #define ENDFILE_VXWORKS_SPEC ""
/* Because it uses ld -r, vxworks has no start/end files, nor starting
address. */
--- 1313,1319 ----
#define STARTFILE_VXWORKS_SPEC ""
! #define ENDFILE_VXWORKS_SPEC "crtsaveres.o%s"
/* Because it uses ld -r, vxworks has no start/end files, nor starting
address. */
*************** ncrtn.o%s"
*** 1326,1331 ****
--- 1347,1371 ----
%{mcpu=823: -DCPU=PPC603} \
%{mcpu=860: -DCPU=PPC603}"
+ /* 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. */
/* Override rs6000.h definition. */
#undef SUBTARGET_EXTRA_SPECS
*************** ncrtn.o%s"
*** 1343,1348 ****
--- 1383,1389 ----
{ "lib_linux", LIB_LINUX_SPEC }, \
{ "lib_netbsd", LIB_NETBSD_SPEC }, \
{ "lib_vxworks", LIB_VXWORKS_SPEC }, \
+ { "lib_windiss", LIB_WINDISS_SPEC }, \
{ "lib_default", LIB_DEFAULT_SPEC }, \
{ "startfile_ads", STARTFILE_ADS_SPEC }, \
{ "startfile_yellowknife", STARTFILE_YELLOWKNIFE_SPEC }, \
*************** ncrtn.o%s"
*** 1353,1358 ****
--- 1394,1400 ----
{ "startfile_linux", STARTFILE_LINUX_SPEC }, \
{ "startfile_netbsd", STARTFILE_NETBSD_SPEC }, \
{ "startfile_vxworks", STARTFILE_VXWORKS_SPEC }, \
+ { "startfile_windiss", STARTFILE_WINDISS_SPEC }, \
{ "startfile_default", STARTFILE_DEFAULT_SPEC }, \
{ "endfile_ads", ENDFILE_ADS_SPEC }, \
{ "endfile_yellowknife", ENDFILE_YELLOWKNIFE_SPEC }, \
*************** ncrtn.o%s"
*** 1363,1368 ****
--- 1405,1411 ----
{ "endfile_linux", ENDFILE_LINUX_SPEC }, \
{ "endfile_netbsd", ENDFILE_NETBSD_SPEC }, \
{ "endfile_vxworks", ENDFILE_VXWORKS_SPEC }, \
+ { "endfile_windiss", ENDFILE_WINDISS_SPEC }, \
{ "endfile_default", ENDFILE_DEFAULT_SPEC }, \
{ "link_path", LINK_PATH_SPEC }, \
{ "link_shlib", LINK_SHLIB_SPEC }, \
*************** ncrtn.o%s"
*** 1377,1382 ****
--- 1420,1426 ----
{ "link_start_linux", LINK_START_LINUX_SPEC }, \
{ "link_start_netbsd", LINK_START_NETBSD_SPEC }, \
{ "link_start_vxworks", LINK_START_VXWORKS_SPEC }, \
+ { "link_start_windiss", LINK_START_WINDISS_SPEC }, \
{ "link_start_default", LINK_START_DEFAULT_SPEC }, \
{ "link_os", LINK_OS_SPEC }, \
{ "link_os_ads", LINK_OS_ADS_SPEC }, \
*************** ncrtn.o%s"
*** 1388,1393 ****
--- 1432,1438 ----
{ "link_os_gnu", LINK_OS_GNU_SPEC }, \
{ "link_os_netbsd", LINK_OS_NETBSD_SPEC }, \
{ "link_os_vxworks", LINK_OS_VXWORKS_SPEC }, \
+ { "link_os_windiss", LINK_OS_WINDISS_SPEC }, \
{ "link_os_default", LINK_OS_DEFAULT_SPEC }, \
{ "cc1_endian_big", CC1_ENDIAN_BIG_SPEC }, \
{ "cc1_endian_little", CC1_ENDIAN_LITTLE_SPEC }, \
*************** ncrtn.o%s"
*** 1405,1410 ****
--- 1450,1456 ----
{ "cpp_os_linux", CPP_OS_LINUX_SPEC }, \
{ "cpp_os_netbsd", CPP_OS_NETBSD_SPEC }, \
{ "cpp_os_vxworks", CPP_OS_VXWORKS_SPEC }, \
+ { "cpp_os_windiss", CPP_OS_WINDISS_SPEC }, \
{ "cpp_os_default", CPP_OS_DEFAULT_SPEC },
/* Define this macro as a C expression for the initializer of an
Index: windiss.h
===================================================================
RCS file: windiss.h
diff -N windiss.h
*** /dev/null 1 Jan 1970 00:00:00 -0000
--- windiss.h 6 May 2002 18:35:39 -0000
***************
*** 0 ****
--- 1,46 ----
+ /* Support for GCC on PowerPC using WindISS simulator.
+ Copyright (C) 2002 Free Software Foundation, Inc.
+ Contributed by CodeSourcery, LLC.
+
+ This file is part of GNU CC.
+
+ GNU CC 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.
+
+ GNU CC 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 GNU CC; see the file COPYING. If not, write to
+ the Free Software Foundation, 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+ #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 WCHAR_TYPE
+ #define WCHAR_TYPE "short unsigned int"
+
+ #undef WCHAR_TYPE_SIZE
+ #define WCHAR_TYPE_SIZE 16
+
+ #define NO_IMPLICIT_EXTERN_C