1 /* Definitions of taret machine for GNU compiler. 2 Matsushita AM33/2.0 3 Copyright (C) 2001-2021 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 3, 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 COPYING3. If not see 20 <http://www.gnu.org/licenses/>. */ 21 22 #undef PREFERRED_DEBUGGING_TYPE 23 #define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG 24 25 #define TARGET_OS_CPP_BUILTINS() GNU_USER_TARGET_OS_CPP_BUILTINS() 26 27 #undef CPP_SPEC 28 #define CPP_SPEC "%{mam33:-D__AM33__} %{!mam33:-D__AM33__=2 -D__AM33_2__} \ 29 %{posix:-D_POSIX_SOURCE} \ 30 %{pthread:-D_REENTRANT -D_PTHREADS}" 31 32 #undef ASM_SPEC 33 #define ASM_SPEC "" 34 35 #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" 36 37 #undef LINK_SPEC 38 #define LINK_SPEC "%{mrelax:--relax} %{shared:-shared} \ 39 %{!static: \ 40 %{rdynamic:-export-dynamic} \ 41 -dynamic-linker " GNU_USER_DYNAMIC_LINKER "} \ 42 %{static:-static}" 43 44 #undef PROCESSOR_DEFAULT 45 #define PROCESSOR_DEFAULT PROCESSOR_AM33_2 46 47 #define DBX_REGISTER_NUMBER(REGNO) (REGNO) 48 49 extern int mn10300_protect_label; 50 51 #undef PRINT_OPERAND 52 #define PRINT_OPERAND(FILE, X, CODE) \ 53 do \ 54 { \ 55 mn10300_protect_label = 1; \ 56 mn10300_print_operand ((FILE), (X), (CODE)); \ 57 mn10300_protect_label = 0; \ 58 } \ 59 while (0) 60 61 #undef PRINT_OPERAND_ADDRESS 62 #define PRINT_OPERAND_ADDRESS(FILE, X) \ 63 do \ 64 { \ 65 mn10300_protect_label = 1; \ 66 mn10300_print_operand_address ((FILE), (X)); \ 67 mn10300_protect_label = 0; \ 68 } \ 69 while (0) 70 71 #undef ASM_OUTPUT_LABELREF 72 #define ASM_OUTPUT_LABELREF(FILE, NAME) \ 73 do \ 74 { \ 75 const char * real_name; \ 76 \ 77 real_name = (*targetm.strip_name_encoding) (NAME); \ 78 if (mn10300_protect_label) \ 79 asm_fprintf (FILE, "+"); \ 80 asm_fprintf (FILE, "%U%s", real_name); \ 81 } \ 82 while (0) 83 84 #undef SIZE_TYPE 85 #undef PTRDIFF_TYPE 86 #undef WCHAR_TYPE 87 #undef WCHAR_TYPE_SIZE 88