1 /* Definitions of taret machine for GNU compiler. 2 Matsushita AM33/2.0 3 Copyright 2001, 2002, 2005, 2006 Free Software Foundation, Inc. 4 Contributed by Alexandre Oliva <aoliva@redhat.com> 5 6 This file is part of GCC. 7 8 GCC is free software; you can redistribute it and/or modify 9 it under the terms of the GNU General Public License as published by 10 the Free Software Foundation; either version 2, or (at your option) 11 any later version. 12 13 GCC is distributed in the hope that it will be useful, 14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 GNU General Public License for more details. 17 18 You should have received a copy of the GNU General Public License 19 along with GCC; see the file COPYING. If not, write to 20 the Free Software Foundation, 51 Franklin Street, Fifth Floor, 21 Boston, MA 02110-1301, USA. */ 22 23 #undef PREFERRED_DEBUGGING_TYPE 24 #define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG 25 26 #define TARGET_OS_CPP_BUILTINS() LINUX_TARGET_OS_CPP_BUILTINS() 27 28 #undef CPP_SPEC 29 #define CPP_SPEC "%{mam33:-D__AM33__} %{!mam33:-D__AM33__=2 -D__AM33_2__} \ 30 %{posix:-D_POSIX_SOURCE} \ 31 %{pthread:-D_REENTRANT -D_PTHREADS}" 32 33 #undef ASM_SPEC 34 #define ASM_SPEC "%{Wa,*:%*}" 35 36 #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" 37 38 #undef LINK_SPEC 39 #define LINK_SPEC "%{mrelax:--relax} %{shared:-shared} \ 40 %{!static: \ 41 %{rdynamic:-export-dynamic} \ 42 %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}} \ 43 %{static:-static}" 44 45 #undef PROCESSOR_DEFAULT 46 #define PROCESSOR_DEFAULT PROCESSOR_AM33_2 47 48 #undef TARGET_VERSION 49 #define TARGET_VERSION fprintf (stderr, " (AM33/2.0 GNU/Linux)"); 50 51 #define DBX_REGISTER_NUMBER(REGNO) (REGNO) 52 53 extern int mn10300_protect_label; 54 55 #undef PRINT_OPERAND 56 #define PRINT_OPERAND(FILE, X, CODE) \ 57 do \ 58 { \ 59 mn10300_protect_label = 1; \ 60 print_operand ((FILE), (X), (CODE)); \ 61 mn10300_protect_label = 0; \ 62 } \ 63 while (0) 64 65 #undef PRINT_OPERAND_ADDRESS 66 #define PRINT_OPERAND_ADDRESS(FILE, X) \ 67 do \ 68 { \ 69 mn10300_protect_label = 1; \ 70 print_operand_address ((FILE), (X)); \ 71 mn10300_protect_label = 0; \ 72 } \ 73 while (0) 74 75 #undef ASM_OUTPUT_LABELREF 76 #define ASM_OUTPUT_LABELREF(FILE, NAME) \ 77 do \ 78 { \ 79 const char * real_name; \ 80 \ 81 real_name = (*targetm.strip_name_encoding) (NAME); \ 82 if (mn10300_protect_label) \ 83 asm_fprintf (FILE, "+"); \ 84 asm_fprintf (FILE, "%U%s", real_name); \ 85 } \ 86 while (0) 87 88