about summary refs log tree commit diff
path: root/nptl/tst-cleanupx0.c
diff options
context:
space:
mode:
authorIgor Zamyatin <igor.zamyatin@intel.com>2015-07-09 06:50:12 -0700
committerH.J. Lu <hjl.tools@gmail.com>2015-08-02 06:54:17 -0700
commit9e4fc7f67f6695f294ae759a6b540f5d08a56f0c (patch)
treedfe6eebc992c2e7d69c7611aa05c3ed43b157a95 /nptl/tst-cleanupx0.c
parentb15f277bac14482c8b2dda4931ebf919644932fa (diff)
downloadglibc-9e4fc7f67f6695f294ae759a6b540f5d08a56f0c.tar.gz
glibc-9e4fc7f67f6695f294ae759a6b540f5d08a56f0c.tar.xz
glibc-9e4fc7f67f6695f294ae759a6b540f5d08a56f0c.zip
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 'nptl/tst-cleanupx0.c')
0 files changed, 0 insertions, 0 deletions