comparison gcc/config/ft32/ft32.h @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children 1830386684a0
comparison
equal deleted inserted replaced
111:04ced10e8804 131:84e7813d76e9
1 /* Target Definitions for ft32. 1 /* Target Definitions for ft32.
2 Copyright (C) 2015-2017 Free Software Foundation, Inc. 2 Copyright (C) 2015-2018 Free Software Foundation, Inc.
3 Contributed by FTDI <support@ftdi.com> 3 Contributed by FTDI <support@ftdi.com>
4 4
5 This file is part of GCC. 5 This file is part of GCC.
6 6
7 GCC is free software; you can redistribute it and/or modify it 7 GCC is free software; you can redistribute it and/or modify it
37 standard C library (unless we are building a shared library) and 37 standard C library (unless we are building a shared library) and
38 the simulator BSP code. */ 38 the simulator BSP code. */
39 39
40 #undef LIB_SPEC 40 #undef LIB_SPEC
41 #define LIB_SPEC "%{!shared:%{!symbolic:-lc}} \ 41 #define LIB_SPEC "%{!shared:%{!symbolic:-lc}} \
42 %{mcompress:--relax} \
42 %{msim:-Tsim.ld}" 43 %{msim:-Tsim.ld}"
43 44
44 #undef LINK_SPEC 45 #undef LINK_SPEC
45 #define LINK_SPEC "%{h*} %{v:-V} \ 46 #define LINK_SPEC "%{h*} %{v:-V} \
46 %{static:-Bstatic} %{shared:-shared} %{symbolic:-Bsymbolic}" 47 %{static:-Bstatic} %{shared:-shared} %{symbolic:-Bsymbolic}"
197 198
198 /* Output and Generation of Labels */ 199 /* Output and Generation of Labels */
199 200
200 #define GLOBAL_ASM_OP "\t.global\t" 201 #define GLOBAL_ASM_OP "\t.global\t"
201 202
202 #define JUMP_TABLES_IN_TEXT_SECTION 1 203 #define JUMP_TABLES_IN_TEXT_SECTION (TARGET_NOPM ? 0 : 1)
203 204
204 /* This is how to output an element of a case-vector that is absolute. */ 205 /* This is how to output an element of a case-vector that is absolute. */
205 206
206 #define ASM_OUTPUT_ADDR_VEC_ELT(FILE, VALUE) \ 207 #define ASM_OUTPUT_ADDR_VEC_ELT(FILE, VALUE) \
207 fprintf (FILE, "\tjmp\t.L%d\n", VALUE); \ 208 fprintf (FILE, "\t.long\t.L%d\n", VALUE) \
208 209
209 /* Passing Arguments in Registers */ 210 /* Passing Arguments in Registers */
210 211
211 /* A C type for declaring a variable that is used as the first 212 /* A C type for declaring a variable that is used as the first
212 argument of `FUNCTION_ARG' and other related values. */ 213 argument of `FUNCTION_ARG' and other related values. */
467 #define NO_FUNCTION_CSE 1 468 #define NO_FUNCTION_CSE 1
468 469
469 #define ADDR_SPACE_PM 1 470 #define ADDR_SPACE_PM 1
470 471
471 #define REGISTER_TARGET_PRAGMAS() do { \ 472 #define REGISTER_TARGET_PRAGMAS() do { \
472 c_register_addr_space ("__flash__", ADDR_SPACE_PM); \ 473 c_register_addr_space ("__flash__", TARGET_NOPM ? 0 : ADDR_SPACE_PM); \
473 } while (0); 474 } while (0)
474 475
475 extern int ft32_is_mem_pm(rtx o); 476 extern int ft32_is_mem_pm(rtx o);
476 477
477 #define ASM_OUTPUT_SYMBOL_REF(stream, sym) \ 478 #define ASM_OUTPUT_SYMBOL_REF(stream, sym) \
478 do { \ 479 do { \