aboutsummaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorIgor Tsimbalist <igor.v.tsimbalist@intel.com>2018-02-16 11:19:14 +0100
committerIgor Tsimbalist <itsimbal@gcc.gnu.org>2018-02-16 11:19:14 +0100
commit95df04335bea92a715501271ad7d854e854706b3 (patch)
treedb467c1440a092e1a6b700aee37aa525d9778d29 /libgcc
parentd80956bb05e5f6e9a9a18cf571ccc71d1623af46 (diff)
downloadgcc-95df04335bea92a715501271ad7d854e854706b3.zip
gcc-95df04335bea92a715501271ad7d854e854706b3.tar.gz
gcc-95df04335bea92a715501271ad7d854e854706b3.tar.bz2
Additional fix for PR 84239.
PR target/84239 * libgcc/config/i386/shadow-stack-unwind.h (_Unwind_Frames_Extra): Include cetintrin.h not x86intrin.h. From-SVN: r257730
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 692773d..012c866 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 416e061..b7c3d98 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