glibc/sysdeps/unix/sysv/linux/x86_64
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
..
64 Add Prefer_MAP_32BIT_EXEC to map executable pages with MAP_32BIT 2015-12-15 13:16:02 -08:00
x32 Rename localedir to complocaledir (bug 14259). 2015-11-27 10:22:38 -05:00
Implies NPTL is no longer an add-on! 2014-07-07 09:29:06 -07:00
Makefile Add x86 32 bit vDSO time function support 2015-01-12 16:03:58 -02:00
Versions x86: Clean up __vdso_clock_gettime variable. 2015-02-06 10:44:11 -08:00
____longjmp_chk.S Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
__start_context.S Align stack to 16 bytes when calling __setcontext 2015-08-05 08:36:12 -07:00
arch-fork.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
brk.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
cancellation.S Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
clone.S Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
compat-timer.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
configure Move architecture cases out of sysdeps/unix/sysv/linux/configure.ac. 2014-06-24 20:53:03 +00:00
configure.ac Move architecture cases out of sysdeps/unix/sysv/linux/configure.ac. 2014-06-24 20:53:03 +00:00
dl-cache.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-procinfo.c Add _dl_x86_cpu_features to rtld_global 2015-08-13 03:41:22 -07:00
dl-procinfo.h Remove IS_IN_ldconfig 2014-11-24 11:41:43 +05:30
get_clockfreq.c Update. 2003-05-09 07:53:33 +00:00
getcontext.S Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
init-first.c Consolidate sched_getcpu 2015-06-09 14:56:21 -03:00
kernel-features.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
kernel_stat.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
ldconfig.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
ldd-rewrite.sed Add x32 support to ldd-rewrite.sed 2012-03-19 15:18:44 -07:00
libc-cancellation.S Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
libc-lowlevellock.S Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
libmvec.abilist Simplify the abilist format 2015-11-06 13:58:53 +01:00
librt-cancellation.S Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
lll_timedlock_wait.c Split timed-wait functions out of nptl/lowlevellock.c. 2015-05-26 14:49:13 -07:00
lll_timedwait_tid.c Split timed-wait functions out of nptl/lowlevellock.c. 2015-05-26 14:49:13 -07:00
lowlevellock.S Align stack to 16 bytes when calling __gettimeofday 2015-08-05 08:36:18 -07:00
lowlevellock.h nptl: Add adapt_count parameter to lll_unlock_elision 2015-10-15 18:55:48 -03:00
lowlevelrobustlock.S Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
makecontext.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
profil-counter.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
pthread_barrier_wait.S Fix mq_notify pthread_barrier_* namespace (bug 18544). 2015-06-17 20:16:56 +00:00
pthread_cond_broadcast.S Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
pthread_cond_signal.S Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
pthread_cond_timedwait.S x86: Clean up __vdso_clock_gettime variable. 2015-02-06 10:44:11 -08:00
pthread_cond_wait.S Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
pthread_setaffinity.c Move remaining nptl/sysdeps/unix/sysv/linux/x86_64/ files. 2014-05-14 12:33:43 -07:00
readelflib.c Add x32 support to ldconfig 2012-03-16 15:20:45 -07:00
recv.c Fix mq_notify socket, recv namespace (bug 18546). 2015-06-17 20:20:08 +00:00
register-dump.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
sched_setaffinity.c * sysdeps/unix/sysv/linux/sched_setaffinity.c 2007-05-10 23:38:55 +00:00
send.c nptl: Rewrite cancellation macros 2015-06-04 18:58:36 -03:00
setcontext.S Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
sigaction.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
sigaltstack-offsets.sym Use R*_LP, sizeSS, oSS_FLAGS, oSS_SP and oSS_SIZE 2012-05-15 16:43:11 -07:00
sigcontextinfo.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
sigpending.c Convert 231 sysdeps function definitions to prototype style. 2015-10-19 12:04:33 +00:00
sigprocmask.c Convert 231 sysdeps function definitions to prototype style. 2015-10-19 12:04:33 +00:00
swapcontext.S Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
syscall.S Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
syscalls.list Remove use of INTDEF/INTUSE in socket 2012-05-31 00:34:41 +02:00
sysdep-cancel.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
sysdep.S Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
sysdep.h Add INLINE_SYSCALL_ERROR_RETURN_VALUE 2015-10-13 11:59:15 -07:00
timer_create.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
timer_delete.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
timer_getoverr.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
timer_gettime.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
timer_settime.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
ucontext_i.sym . 2007-07-31 13:33:18 +00:00
umount.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
vfork.S Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00