diff options
author | Igor Zamyatin <igor.zamyatin@intel.com> | 2015-07-09 06:50:12 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2015-07-09 06:50:12 -0700 |
commit | 14c5cbabc2d11004ab223ae5eae761ddf83ef99e (patch) | |
tree | ee8516f9bb7f2e9435d05641dfa415e795f7b65e /ChangeLog | |
parent | 632b3db8e2ba1f454872f7ebe1335966f8161c43 (diff) | |
download | glibc-14c5cbabc2d11004ab223ae5eae761ddf83ef99e.zip glibc-14c5cbabc2d11004ab223ae5eae761ddf83ef99e.tar.gz glibc-14c5cbabc2d11004ab223ae5eae761ddf83ef99e.tar.bz2 |
Preserve bound registers for pointer pass/return
We need to save/restore bound registers and add a BND prefix before
branches in _dl_runtime_profile so that bound registers for pointer
pass and return are preserved when LD_AUDIT is used.
[BZ #18134]
* sysdeps/i386/configure.ac: Set HAVE_MPX_SUPPORT.
* sysdeps/i386/configure: Regenerated.
* sysdeps/i386/dl-trampoline.S (PRESERVE_BND_REGS_PREFIX): New.
(_dl_runtime_profile): Save and restore Intel MPX return bound
registers when calling _dl_call_pltexit. Add
PRESERVE_BND_REGS_PREFIX before return.
* sysdeps/i386/link-defines.sym (LRV_BND0_OFFSET): New.
(LRV_BND1_OFFSET): Likewise.
* sysdeps/x86/bits/link.h (La_i86_retval): Add lrv_bnd0 and
lrv_bnd1.
* sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Fix
typo in bndmov encoding.
* sysdeps/x86_64/dl-trampoline.h: Properly save and restore
Intel MPX bound registers. Add PRESERVE_BND_REGS_PREFIX before
branch instructions to preserve bounds.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -1,3 +1,23 @@ +2015-07-09 Igor Zamyatin <igor.zamyatin@intel.com> + H.J. Lu <hongjiu.lu@intel.com> + + [BZ #18134] + * sysdeps/i386/configure.ac: Set HAVE_MPX_SUPPORT. + * sysdeps/i386/configure: Regenerated. + * sysdeps/i386/dl-trampoline.S (PRESERVE_BND_REGS_PREFIX): New. + (_dl_runtime_profile): Save and restore Intel MPX return bound + registers when calling _dl_call_pltexit. Add + PRESERVE_BND_REGS_PREFIX before return. + * sysdeps/i386/link-defines.sym (LRV_BND0_OFFSET): New. + (LRV_BND1_OFFSET): Likewise. + * sysdeps/x86/bits/link.h (La_i86_retval): Add lrv_bnd0 and + lrv_bnd1. + * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Fix + typo in bndmov encoding. + * sysdeps/x86_64/dl-trampoline.h: Properly save and restore + Intel MPX bound registers. Add PRESERVE_BND_REGS_PREFIX before + branch instructions to preserve bounds. + 2015-07-09 Adhemerval Zanella <adhemerval.zanella@linaro.org> * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist |