glibc/sysdeps/x86/bits
Igor Zamyatin 14c5cbabc2 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.
2015-07-09 06:50:12 -07:00
..
byteswap-16.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
byteswap.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
endian.h Use the same bits/endian.h for i386/x86_64 2012-05-30 14:50:32 -07:00
huge_vall.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
link.h Preserve bound registers for pointer pass/return 2015-07-09 06:50:12 -07:00
linkmap.h Use x86_64 bits/{link.h,linkmap.h} for i386/x86_64 2012-05-30 15:21:55 -07:00
mathdef.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
pthreadtypes.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
select.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
semaphore.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
setjmp.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
string.h Do not create invalid pointers in C code of string functions. 2015-07-07 13:40:12 +02:00
wordsize.h Use x86_64 bits/wordsize.h for both i386/x86_64 2012-05-30 17:25:23 -07:00
xtitypes.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00