aboutsummaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authoritsimbal <itsimbal@138bc75d-0d04-0410-961f-82ee72b054a4>2018-02-16 10:19:14 +0000
committeritsimbal <itsimbal@138bc75d-0d04-0410-961f-82ee72b054a4>2018-02-16 10:19:14 +0000
commitd4f2cbd867b3c746736865926f4d82d9ea16cf95 (patch)
treedb467c1440a092e1a6b700aee37aa525d9778d29 /libgcc
parent088e6dfc54dbafb1fe39acbdf36e55748a47bd97 (diff)
Additional fix for PR 84239.
PR target/84239 * libgcc/config/i386/shadow-stack-unwind.h (_Unwind_Frames_Extra): Include cetintrin.h not x86intrin.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@257730 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgcc')
-rw-r--r--libgcc/ChangeLog8
-rw-r--r--libgcc/config/i386/shadow-stack-unwind.h9
2 files changed, 15 insertions, 2 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 692773d7d2d..012c866f1c9 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,7 +1,13 @@
+2018-02-16 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
+
+ PR target/84239
+ * config/i386/shadow-stack-unwind.h (_Unwind_Frames_Extra):
+ Include cetintrin.h not x86intrin.h.
+
2018-02-08 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
PR target/84239
- * config/i386/shadow-stack-unwind.hi (_Unwind_Frames_Extra):
+ * config/i386/shadow-stack-unwind.h (_Unwind_Frames_Extra):
Use new _get_ssp and _inc_ssp intrinsics.
2018-02-02 Julia Koval <julia.koval@intel.com>
diff --git a/libgcc/config/i386/shadow-stack-unwind.h b/libgcc/config/i386/shadow-stack-unwind.h
index 416e061dd46..b7c3d98a9dc 100644
--- a/libgcc/config/i386/shadow-stack-unwind.h
+++ b/libgcc/config/i386/shadow-stack-unwind.h
@@ -22,7 +22,14 @@ a copy of the GCC Runtime Library Exception along with this program;
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
<http://www.gnu.org/licenses/>. */
-#include <x86intrin.h>
+/* NB: We need _get_ssp and _inc_ssp from <cetintrin.h>. But we can't
+ include <x86intrin.h> which ends up including <mm_malloc.h>, which
+ includes <stdlib.h> and <errno.h> unconditionally. But we can't
+ include any libc system headers unconditionally from libgcc. Avoid
+ including <mm_malloc.h> here by defining _IMMINTRIN_H_INCLUDED. */
+#define _IMMINTRIN_H_INCLUDED
+#include <cetintrin.h>
+#undef _IMMINTRIN_H_INCLUDED
/* Unwind the shadow stack for EH. */
#undef _Unwind_Frames_Extra