lynx.h revision 132718
1214501Srpaulo/* Definitions for Rs6000 running LynxOS. 2214501Srpaulo Copyright (C) 1995, 1996, 2000, 2002, 2003 Free Software Foundation, Inc. 3214501Srpaulo Contributed by David Henkel-Wallace, Cygnus Support (gumby@cygnus.com) 4214501Srpaulo 5214501Srpaulo This file is part of GCC. 6214501Srpaulo 7214501Srpaulo GCC is free software; you can redistribute it and/or modify it 8214501Srpaulo under the terms of the GNU General Public License as published 9214501Srpaulo by the Free Software Foundation; either version 2, or (at your 10214501Srpaulo option) any later version. 11214501Srpaulo 12214501Srpaulo GCC is distributed in the hope that it will be useful, but WITHOUT 13214501Srpaulo ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 14214501Srpaulo or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public 15214501Srpaulo License for more details. 16214501Srpaulo 17214501Srpaulo You should have received a copy of the GNU General Public License 18214501Srpaulo along with GCC; see the file COPYING. If not, write to the 19214501Srpaulo Free Software Foundation, 59 Temple Place - Suite 330, Boston, 20214501Srpaulo MA 02111-1307, USA. */ 21214501Srpaulo 22214501Srpaulo/* Print subsidiary information on the compiler version in use. */ 23214501Srpaulo#define TARGET_VERSION fprintf (stderr, " (LynxOS-RS/6000)"); 24214501Srpaulo 25214501Srpaulo/* LynxOS has signed chars, regardless of what most R/S 6000 systems do */ 26214501Srpaulo#undef DEFAULT_SIGNED_CHAR 27214501Srpaulo#define DEFAULT_SIGNED_CHAR 1 28214501Srpaulo 29214501Srpaulo#undef TARGET_OS_CPP_BUILTINS 30214501Srpaulo#define TARGET_OS_CPP_BUILTINS() \ 31214501Srpaulo do \ 32214501Srpaulo { \ 33214501Srpaulo builtin_assert ("cpu=rs6000"); \ 34214501Srpaulo builtin_assert ("machine=rs6000"); \ 35214501Srpaulo builtin_assert ("system=lynx"); \ 36214501Srpaulo builtin_assert ("system=unix"); \ 37214501Srpaulo builtin_define_std ("Lynx"); \ 38214501Srpaulo builtin_define ("_IBMR2"); \ 39214501Srpaulo builtin_define_std ("unix"); \ 40214501Srpaulo builtin_define_std ("rs6000"); \ 41214501Srpaulo builtin_define_std ("lynx"); \ 42214501Srpaulo builtin_define_std ("LYNX"); \ 43214501Srpaulo } \ 44214501Srpaulo while (0) 45214501Srpaulo 46214501Srpaulo#undef LINK_SPEC 47214501Srpaulo#define LINK_SPEC "-T0x10001000 -H0x1000 -D0x20000000 -btextro -bhalt:4 -bnodelcsect -bnso -bro -bnoglink %{v} %{b*}" 48214501Srpaulo 49214501Srpaulo#undef LIB_SPEC 50214501Srpaulo#define LIB_SPEC "%{mthreads:-L/lib/thread/} \ 51214501Srpaulo %{msystem-v:-lc_v -lm.v} \ 52214501Srpaulo %{!msystem-v:%{mposix:-lc_p} -lc -lm}" 53214501Srpaulo 54214501Srpaulo#undef STARTFILE_SPEC 55214501Srpaulo#define STARTFILE_SPEC "%{p:%{mthreads:thread/pinit.o%s}%{!mthreads:pinit.o%s}}%{!p:%{msystem-v:vinit.o%s -e_start}%{!msystem-v:%{mthreads:thread/init.o%s}%{!mthreads:init.o%s}}}" 56214501Srpaulo 57214501Srpaulo#undef ENDFILE_SPEC 58214501Srpaulo 59214501Srpaulo/* This can become more refined as we have more powerpc options. */ 60214501Srpaulo#undef ASM_SPEC 61214501Srpaulo#define ASM_SPEC "-u %(asm_cpu)" 62214501Srpaulo 63214501Srpaulo#undef SUBTARGET_SWITCHES 64214501Srpaulo#define SUBTARGET_SWITCHES \ 65214501Srpaulo {"threads", MASK_THREADS}, \ 66214501Srpaulo {"posix", MASK_POSIX}, \ 67214501Srpaulo {"system-v", MASK_SYSTEM_V}, 68 69#undef SUBTARGET_OVERRIDE_OPTIONS 70#define SUBTARGET_OVERRIDE_OPTIONS \ 71do { \ 72 if (TARGET_SYSTEM_V && profile_flag) \ 73 warning ("-msystem-v and -p are incompatible"); \ 74 if (TARGET_SYSTEM_V && TARGET_THREADS) \ 75 warning ("-msystem-v and -mthreads are incompatible"); \ 76} while (0) 77 78/* For collect2 */ 79#define OBJECT_FORMAT_NONE 80#undef OBJECT_FORMAT_COFF 81#undef MD_EXEC_PREFIX 82#undef REAL_LD_FILE_NAME 83#undef REAL_STRIP_FILE_NAME 84 85/* LynxOS doesn't have mcount. */ 86#undef FUNCTION_PROFILER 87#define FUNCTION_PROFILER(file, profile_label_no) 88