aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2018-04-19 15:22:27 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2018-04-19 08:22:27 -0700
commit5f9ca0b8bfdce679dea03b6ac402c28d5ecfd5c2 (patch)
treed0b0528c36d647ea4f10ae2fca4310f41d0464f1
parent73d1e5721d54089c77c8975830638aeea449d49e (diff)
downloadgcc-5f9ca0b8bfdce679dea03b6ac402c28d5ecfd5c2.zip
gcc-5f9ca0b8bfdce679dea03b6ac402c28d5ecfd5c2.tar.gz
gcc-5f9ca0b8bfdce679dea03b6ac402c28d5ecfd5c2.tar.bz2
libgcc/CET: Add _CET_ENDBR to __stack_split_initialize
Program received signal SIGSEGV, Segmentation fault. __stack_split_initialize () at /export/gnu/import/git/sources/gcc/libgcc/config/i386/morestack.S:751 751 leaq -16000(%rsp),%rax # We should have at least 16K. Missing separate debuginfos, use: dnf debuginfo-install libgcc-8.0.1-0.21.0.fc28.x86_64 (gdb) disass Dump of assembler code for function __stack_split_initialize: => 0x0000000000402858 <+0>: lea -0x3e80(%rsp),%rax 0x0000000000402860 <+8>: mov %rax,%fs:0x70 0x0000000000402869 <+17>: sub $0x8,%rsp 0x000000000040286d <+21>: mov %rsp,%rdi 0x0000000000402870 <+24>: mov $0x3e80,%esi 0x0000000000402875 <+29>: callq 0x401810 <__generic_morestack_set_initial_sp> 0x000000000040287a <+34>: add $0x8,%rsp 0x000000000040287e <+38>: retq End of assembler dump. (gdb) This patch adds the missing ENDBR to __stack_split_initialize. PR libgcc/85379 * config/i386/morestack.S (__stack_split_initialize): Add _CET_ENDBR. From-SVN: r259497
-rw-r--r--libgcc/ChangeLog6
-rw-r--r--libgcc/config/i386/morestack.S1
2 files changed, 7 insertions, 0 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 7de2ff6..674d204 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,9 @@
+2018-04-19 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR libgcc/85379
+ * config/i386/morestack.S (__stack_split_initialize): Add
+ _CET_ENDBR.
+
2018-04-19 Jakub Jelinek <jakub@redhat.com>
* configure: Regenerated.
diff --git a/libgcc/config/i386/morestack.S b/libgcc/config/i386/morestack.S
index eca441a..99e65ea 100644
--- a/libgcc/config/i386/morestack.S
+++ b/libgcc/config/i386/morestack.S
@@ -730,6 +730,7 @@ __morestack_large_model:
#endif
__stack_split_initialize:
+ _CET_ENDBR
#ifndef __x86_64__