libgcc/CET: Add _CET_ENDBR to __stack_split_initialize
authorH.J. Lu <hongjiu.lu@intel.com>
Thu, 19 Apr 2018 15:22:27 +0000 (15:22 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Thu, 19 Apr 2018 15:22:27 +0000 (08:22 -0700)
commit5f9ca0b8bfdce679dea03b6ac402c28d5ecfd5c2
treed0b0528c36d647ea4f10ae2fca4310f41d0464f1
parent73d1e5721d54089c77c8975830638aeea449d49e
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
libgcc/ChangeLog
libgcc/config/i386/morestack.S