1 | /* Definitions for Intel 386 running Linux-based GNU systems with ELF format. |
2 | Copyright (C) 2012-2023 Free Software Foundation, Inc. |
3 | Contributed by Ilya Enkovich. |
4 | |
5 | This file is part of GCC. |
6 | |
7 | GCC is free software; you can redistribute it and/or modify |
8 | it under the terms of the GNU General Public License as published by |
9 | the Free Software Foundation; either version 3, or (at your option) |
10 | any later version. |
11 | |
12 | GCC is distributed in the hope that it will be useful, |
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
15 | GNU General Public License for more details. |
16 | |
17 | You should have received a copy of the GNU General Public License |
18 | along with GCC; see the file COPYING3. If not see |
19 | <http://www.gnu.org/licenses/>. */ |
20 | |
21 | #undef TARGET_OS_CPP_BUILTINS |
22 | #define TARGET_OS_CPP_BUILTINS() \ |
23 | do \ |
24 | { \ |
25 | GNU_USER_TARGET_OS_CPP_BUILTINS(); \ |
26 | ANDROID_TARGET_OS_CPP_BUILTINS(); \ |
27 | } \ |
28 | while (0) |
29 | |
30 | #undef CC1_SPEC |
31 | #define CC1_SPEC \ |
32 | LINUX_OR_ANDROID_CC (GNU_USER_TARGET_CC1_SPEC, \ |
33 | GNU_USER_TARGET_CC1_SPEC " " ANDROID_CC1_SPEC) |
34 | |
35 | #undef LINK_SPEC |
36 | #define LINK_SPEC \ |
37 | LINUX_OR_ANDROID_LD (GNU_USER_TARGET_LINK_SPEC, \ |
38 | GNU_USER_TARGET_LINK_SPEC " " ANDROID_LINK_SPEC) |
39 | |
40 | #undef LIB_SPEC |
41 | #define LIB_SPEC \ |
42 | LINUX_OR_ANDROID_LD (GNU_USER_TARGET_LIB_SPEC, \ |
43 | GNU_USER_TARGET_NO_PTHREADS_LIB_SPEC " " ANDROID_LIB_SPEC) |
44 | |
45 | #undef STARTFILE_SPEC |
46 | #define STARTFILE_SPEC \ |
47 | LINUX_OR_ANDROID_LD (GNU_USER_TARGET_STARTFILE_SPEC, \ |
48 | ANDROID_STARTFILE_SPEC) |
49 | |
50 | #undef ENDFILE_SPEC |
51 | #define ENDFILE_SPEC \ |
52 | LINUX_OR_ANDROID_LD (GNU_USER_TARGET_MATHFILE_SPEC " " \ |
53 | GNU_USER_TARGET_ENDFILE_SPEC, \ |
54 | GNU_USER_TARGET_MATHFILE_SPEC " " \ |
55 | ANDROID_ENDFILE_SPEC) |
56 | |
57 | #ifdef HAVE_LD_PUSHPOPSTATE_SUPPORT |
58 | #define MPX_LD_AS_NEEDED_GUARD_PUSH "--push-state --no-as-needed" |
59 | #define MPX_LD_AS_NEEDED_GUARD_POP "--pop-state" |
60 | #else |
61 | #define MPX_LD_AS_NEEDED_GUARD_PUSH "" |
62 | #define MPX_LD_AS_NEEDED_GUARD_POP "" |
63 | #endif |
64 | |
65 | extern void file_end_indicate_exec_stack_and_gnu_property (void); |
66 | |
67 | #undef TARGET_ASM_FILE_END |
68 | #define TARGET_ASM_FILE_END file_end_indicate_exec_stack_and_gnu_property |
69 | |