mirror of git://sourceware.org/git/glibc.git
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. |
||
|---|---|---|
| .. | ||
| fpu | ||
| multiarch | ||
| nptl | ||
| Makefile | ||
| add_n.S | ||
| bcopy.S | ||
| bzero.S | ||
| dl-hash.h | ||
| ffs.c | ||
| hp-timing.h | ||
| init-arch.h | ||
| memcmp.S | ||
| memcpy.S | ||
| memmove.S | ||
| mempcpy.S | ||
| memset.S | ||
| memusage.h | ||
| pthread_spin_trylock.S | ||
| stack-aliasing.h | ||
| strcmp.S | ||
| tst-stack-align.h | ||