]>
Commit | Line | Data |
---|---|---|
2a6f449e | 1 | /* Configuration for an i386 running GNU with ELF as the target machine. */ |
f82b3ad0 | 2 | |
40b2ba11 | 3 | /* |
83ffe9cd | 4 | Copyright (C) 1994-2023 Free Software Foundation, Inc. |
40b2ba11 TS |
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 of the License, or | |
11 | (at your option) 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. If not, see <http://www.gnu.org/licenses/>. | |
20 | */ | |
21 | ||
761c0c6e JM |
22 | #define GNU_USER_LINK_EMULATION "elf_i386" |
23 | ||
e24609cf JM |
24 | #undef GNU_USER_DYNAMIC_LINKER |
25 | #define GNU_USER_DYNAMIC_LINKER "/lib/ld.so" | |
3328a3b7 | 26 | |
a0852bc0 | 27 | #undef STARTFILE_SPEC |
5b6693af | 28 | #if defined HAVE_LD_PIE |
a0852bc0 | 29 | #define STARTFILE_SPEC \ |
0987bf0d | 30 | "%{!shared: %{pg|p|profile:%{static:gcrt0.o%s;:gcrt1.o%s};pie:Scrt1.o%s;static:crt0.o%s;:crt1.o%s}} \ |
5b6693af ST |
31 | crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}" |
32 | #else | |
33 | #define STARTFILE_SPEC \ | |
0987bf0d | 34 | "%{!shared: %{pg|p|profile:%{static:gcrt0.o%s;:gcrt1.o%s};static:crt0.o%s;:crt1.o%s}} \ |
5b6693af ST |
35 | crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}" |
36 | #endif | |
37 | ||
60953a23 | 38 | #ifdef TARGET_LIBC_PROVIDES_SSP |
9e216629 | 39 | |
8d5d3edd SS |
40 | /* i386 glibc provides __stack_chk_guard in %gs:0x14. */ |
41 | #define TARGET_THREAD_SSP_OFFSET 0x14 | |
9e216629 | 42 | |
8d5d3edd | 43 | /* We only build the -fsplit-stack support in libgcc if the |
c86b726c UB |
44 | assembler has full support for the CFI directives. Also |
45 | we only support -fsplit-stack on glibc targets. */ | |
46 | #if (DEFAULT_LIBC == LIBC_GLIBC) && HAVE_GAS_CFI_PERSONALITY_DIRECTIVE | |
8d5d3edd SS |
47 | #define TARGET_CAN_SPLIT_STACK |
48 | #endif | |
49 | /* We steal the last transactional memory word. */ | |
50 | #define TARGET_THREAD_SPLIT_STACK_OFFSET 0x30 | |
3328a3b7 | 51 | #endif |