diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2018-07-17 16:11:13 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2018-07-17 16:11:44 -0700 |
commit | be9ccd27c09ee76c5397125bfa0fefae318a2996 (patch) | |
tree | fedd9f2980ad4b1d2afd66a83032dc317d253bd3 /ChangeLog | |
parent | 5efc6777ad57c2055b618e0b8b8dc1e5bc4ab29a (diff) | |
download | glibc-be9ccd27c09ee76c5397125bfa0fefae318a2996.tar.gz glibc-be9ccd27c09ee76c5397125bfa0fefae318a2996.tar.xz glibc-be9ccd27c09ee76c5397125bfa0fefae318a2996.zip |
i386: Add _CET_ENDBR to indirect jump targets in add_n.S/sub_n.S
i386 add_n.S and sub_n.S use a trick to implment jump tables with LEA. We can't use conditional branches nor normal jump tables since jump table entries use EFLAGS set by jump table index. This patch adds _CET_ENDBR to indirect jump targets and adjust destination for _CET_ENDBR. Reviewed-by: Carlos O'Donell <carlos@redhat.com> * sysdeps/i386/add_n.S: Include <sysdep.h>, instead of "sysdep.h". (__mpn_add_n): Save and restore %ebx if IBT is enabed. Add _CET_ENDBR to indirect jump targets and adjust jump destination for _CET_ENDBR. * sysdeps/i386/i686/add_n.S: Include <sysdep.h>, instead of "sysdep.h". (__mpn_add_n): Save and restore %ebx if IBT is enabed. Add _CET_ENDBR to indirect jump targets and adjust jump destination for _CET_ENDBR. * sysdeps/i386/sub_n.S: Include <sysdep.h>, instead of "sysdep.h". (__mpn_sub_n): Save and restore %ebx if IBT is enabed. Add _CET_ENDBR to indirect jump targets and adjust jump destination for _CET_ENDBR.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index e2d560a46d..f8ef428fa6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,23 @@ 2018-07-17 H.J. Lu <hongjiu.lu@intel.com> + * sysdeps/i386/add_n.S: Include <sysdep.h>, instead of + "sysdep.h". + (__mpn_add_n): Save and restore %ebx if IBT is enabed. Add + _CET_ENDBR to indirect jump targets and adjust jump destination + for _CET_ENDBR. + * sysdeps/i386/i686/add_n.S: Include <sysdep.h>, instead of + "sysdep.h". + (__mpn_add_n): Save and restore %ebx if IBT is enabed. Add + _CET_ENDBR to indirect jump targets and adjust jump destination + for _CET_ENDBR. + * sysdeps/i386/sub_n.S: Include <sysdep.h>, instead of + "sysdep.h". + (__mpn_sub_n): Save and restore %ebx if IBT is enabed. Add + _CET_ENDBR to indirect jump targets and adjust jump destination + for _CET_ENDBR. + +2018-07-17 H.J. Lu <hongjiu.lu@intel.com> + * sysdeps/x86_64/multiarch/strcmp-sse42.S (STRCMP_SSE42): Add _CET_ENDBR. |