glibc/sysdeps/unix
H.J. Lu b9eb92ab05 Add Prefer_MAP_32BIT_EXEC to map executable pages with MAP_32BIT
According to Silvermont software optimization guide, for 64-bit
applications, branch prediction performance can be negatively impacted
when the target of a branch is more than 4GB away from the branch.  Add
the Prefer_MAP_32BIT_EXEC bit so that mmap will try to map executable
pages with MAP_32BIT first.  NB: MAP_32BIT will map to lower 2GB, not
lower 4GB, address.  Prefer_MAP_32BIT_EXEC reduces bits available for
address space layout randomization (ASLR), which is always disabled for
SUID programs and can only be enabled by setting environment variable,
LD_PREFER_MAP_32BIT_EXEC.

On Fedora 23, this patch speeds up GCC 5 testsuite by 3% on Silvermont.

	[BZ #19367]
	* sysdeps/unix/sysv/linux/wordsize-64/mmap.c: New file.
	* sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/64/mmap.c: Likewise.
	* sysdeps/x86/cpu-features.h (bit_Prefer_MAP_32BIT_EXEC): New.
	(index_Prefer_MAP_32BIT_EXEC): Likewise.
2015-12-15 13:16:02 -08:00
..
alpha alpha: Unconditionally include dl-sysdep.h in sysdep.h 2015-04-06 10:36:44 -07:00
arm Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
bsd Convert 231 sysdeps function definitions to prototype style. 2015-10-19 12:04:33 +00:00
i386 Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
inet Move nss directory into sysdeps Subdirs. 2013-02-05 14:32:48 -08:00
mips MIPS: Only use .set mips* assembler directives when necessary 2015-09-08 16:52:43 +01:00
powerpc Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
sh Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
sysv/linux Add Prefer_MAP_32BIT_EXEC to map executable pages with MAP_32BIT 2015-12-15 13:16:02 -08:00
x86_64 Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
Implies
Makefile Make obsolete syscall wrappers into compat symbols (bug 18472). 2015-12-14 22:52:15 +00:00
clock_gettime.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
clock_nanosleep.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
clock_settime.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
confstr.h
get_child_max.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
getlogin.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
getlogin_r.c Convert 231 sysdeps function definitions to prototype style. 2015-10-19 12:04:33 +00:00
getpagesize.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
grantpt.c grantpt: trust the kernel about pty group and permission mode 2015-12-10 22:33:10 +01:00
ifreq.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
make-syscalls.sh Make obsolete syscall wrappers into compat symbols (bug 18472). 2015-12-14 22:52:15 +00:00
s-proto-cancel.S * sysdeps/unix/Makefile: Include $(common-objpfx)s-proto-cancel.d. 2002-12-30 00:12:56 +00:00
s-proto.S
setxid.h Update. 2004-11-12 01:27:04 +00:00
sockatmark.c Convert 231 sysdeps function definitions to prototype style. 2015-10-19 12:04:33 +00:00
stime.c Convert 231 sysdeps function definitions to prototype style. 2015-10-19 12:04:33 +00:00
syscall-template.S Create hidden aliases for non-libc syscalls automatically. 2015-06-17 20:17:49 +00:00
syscall.S Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
syscalls.list Fix nice getpriority, setpriority namespace (bug 18553). 2015-06-17 20:22:39 +00:00
sysdep.h Revert "Add INLINE_SYSCALL_RETURN/INLINE_SYSCALL_ERROR_RETURN" 2015-08-21 09:57:15 -07:00