summaryrefslogtreecommitdiff
path: root/libgcc/config/i386
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 /libgcc/config/i386
parent73d1e5721d54089c77c8975830638aeea449d49e (diff)
downloadgcc-5f9ca0b8bfdce679dea03b6ac402c28d5ecfd5c2.tar.gz
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
Diffstat (limited to 'libgcc/config/i386')
-rw-r--r--libgcc/config/i386/morestack.S1
1 files changed, 1 insertions, 0 deletions
diff --git a/libgcc/config/i386/morestack.S b/libgcc/config/i386/morestack.S
index eca441a2867..99e65eaaff4 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__