Mercurial > hg > CbC > CbC_gcc
comparison gcc/config/i386/linux-common.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 /* Definitions for Intel 386 running Linux-based GNU systems with ELF format. | 1 /* Definitions for Intel 386 running Linux-based GNU systems with ELF format. |
2 Copyright (C) 2012-2017 Free Software Foundation, Inc. | 2 Copyright (C) 2012-2018 Free Software Foundation, Inc. |
3 Contributed by Ilya Enkovich. | 3 Contributed by Ilya Enkovich. |
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 | 7 GCC is free software; you can redistribute it and/or modify |
52 LINUX_OR_ANDROID_LD (GNU_USER_TARGET_MATHFILE_SPEC " " \ | 52 LINUX_OR_ANDROID_LD (GNU_USER_TARGET_MATHFILE_SPEC " " \ |
53 GNU_USER_TARGET_ENDFILE_SPEC, \ | 53 GNU_USER_TARGET_ENDFILE_SPEC, \ |
54 GNU_USER_TARGET_MATHFILE_SPEC " " \ | 54 GNU_USER_TARGET_MATHFILE_SPEC " " \ |
55 ANDROID_ENDFILE_SPEC) | 55 ANDROID_ENDFILE_SPEC) |
56 | 56 |
57 #ifndef LIBMPX_LIBS | |
58 #define LIBMPX_LIBS "\ | |
59 %:include(libmpx.spec)%(link_libmpx)" | |
60 #endif | |
61 | |
62 #ifndef LINK_MPX | |
63 #if defined (HAVE_LD_BNDPLT_SUPPORT) | |
64 #define LINK_MPX "-z bndplt " | |
65 #else | |
66 #define LINK_MPX \ | |
67 "%nGCC was configured with a linker with no '-z bndplt' support. " \ | |
68 "It significantly reduces MPX coverage for dynamic codes. " \ | |
69 "It is strongly recommended to use GCC properly configured for MPX." | |
70 #endif | |
71 #endif | |
72 | |
73 #ifndef MPX_SPEC | |
74 #ifdef SPEC_64 | |
75 #define MPX_SPEC "\ | |
76 %{mmpx:%{fcheck-pointer-bounds:%{!static:%{" SPEC_64 ":" LINK_MPX "}}}}" | |
77 #else | |
78 #define MPX_SPEC "" | |
79 #endif | |
80 #endif | |
81 | |
82 #ifdef HAVE_LD_PUSHPOPSTATE_SUPPORT | 57 #ifdef HAVE_LD_PUSHPOPSTATE_SUPPORT |
83 #define MPX_LD_AS_NEEDED_GUARD_PUSH "--push-state --no-as-needed" | 58 #define MPX_LD_AS_NEEDED_GUARD_PUSH "--push-state --no-as-needed" |
84 #define MPX_LD_AS_NEEDED_GUARD_POP "--pop-state" | 59 #define MPX_LD_AS_NEEDED_GUARD_POP "--pop-state" |
85 #else | 60 #else |
86 #define MPX_LD_AS_NEEDED_GUARD_PUSH "" | 61 #define MPX_LD_AS_NEEDED_GUARD_PUSH "" |
87 #define MPX_LD_AS_NEEDED_GUARD_POP "" | 62 #define MPX_LD_AS_NEEDED_GUARD_POP "" |
88 #endif | 63 #endif |
89 | 64 |
90 #ifndef LIBMPX_SPEC | |
91 #if defined(HAVE_LD_STATIC_DYNAMIC) | |
92 #define LIBMPX_SPEC "\ | |
93 %{mmpx:%{fcheck-pointer-bounds:\ | |
94 %{static:--whole-archive -lmpx --no-whole-archive" LIBMPX_LIBS "}\ | |
95 %{!static:%{static-libmpx:" LD_STATIC_OPTION " --whole-archive}\ | |
96 %{!static-libmpx:" MPX_LD_AS_NEEDED_GUARD_PUSH "} -lmpx \ | |
97 %{!static-libmpx:" MPX_LD_AS_NEEDED_GUARD_POP "} \ | |
98 %{static-libmpx:--no-whole-archive " LD_DYNAMIC_OPTION \ | |
99 LIBMPX_LIBS "}}}}" | |
100 #else | |
101 #define LIBMPX_SPEC "\ | |
102 %{mmpx:%{fcheck-pointer-bounds:-lmpx" LIBMPX_LIBS "}}" | |
103 #endif | |
104 #endif | |
105 | |
106 #ifndef LIBMPXWRAPPERS_SPEC | |
107 #if defined(HAVE_LD_STATIC_DYNAMIC) | |
108 #define LIBMPXWRAPPERS_SPEC "\ | |
109 %{mmpx:%{fcheck-pointer-bounds:%{!fno-chkp-use-wrappers:\ | |
110 %{static:-lmpxwrappers}\ | |
111 %{!static:%{static-libmpxwrappers:" LD_STATIC_OPTION "}\ | |
112 -lmpxwrappers %{static-libmpxwrappers: "\ | |
113 LD_DYNAMIC_OPTION "}}}}}" | |
114 #else | |
115 #define LIBMPXWRAPPERS_SPEC "\ | |
116 %{mmpx:%{fcheck-pointer-bounds:{!fno-chkp-use-wrappers:-lmpxwrappers}}}" | |
117 #endif | |
118 #endif | |
119 | |
120 #ifndef CHKP_SPEC | |
121 #define CHKP_SPEC "\ | |
122 %{!nostdlib:%{!nodefaultlibs:" LIBMPX_SPEC LIBMPXWRAPPERS_SPEC "}}" MPX_SPEC | |
123 #endif | |
124 | |
125 extern void file_end_indicate_exec_stack_and_cet (void); | 65 extern void file_end_indicate_exec_stack_and_cet (void); |
126 | 66 |
127 #undef TARGET_ASM_FILE_END | 67 #undef TARGET_ASM_FILE_END |
128 #define TARGET_ASM_FILE_END file_end_indicate_exec_stack_and_cet | 68 #define TARGET_ASM_FILE_END file_end_indicate_exec_stack_and_cet |