glibc/sysdeps
H.J. Lu 317f1c0a8a x86-64: Add glibc.cpu.prefer_map_32bit_exec [BZ #28656]
Crossing 2GB boundaries with indirect calls and jumps can use more
branch prediction resources on Intel Golden Cove CPU (see the
"Misprediction for Branches >2GB" section in Intel 64 and IA-32
Architectures Optimization Reference Manual.)  There is visible
performance improvement on workloads with many PLT calls when executable
and shared libraries are mmapped below 2GB.  Add the Prefer_MAP_32BIT_EXEC
bit so that mmap will try to map executable or denywrite pages in shared
libraries with MAP_32BIT first.

NB: 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 the tunable, glibc.cpu.prefer_map_32bit_exec,
or the environment variable, LD_PREFER_MAP_32BIT_EXEC.  This works only
between shared libraries or between shared libraries and executables with
addresses below 2GB.  PIEs are usually loaded at a random address above
4GB by the kernel.
2023-02-22 18:28:37 -08:00
..
aarch64 AArch64: Fix HP_TIMING_DIFF computation [BZ# 29329] 2023-02-22 16:45:59 +00:00
alpha alpha: Add string-fza, string-fzb.h, string-fzi.h, and string-shift.h 2023-02-06 16:19:35 -03:00
arc ARC:fpu: add extra capability check before use of sqrt and fma builtins 2023-02-17 16:17:58 -03:00
arm arm: Support gcc older than 10 for find_zero_all 2023-02-20 16:43:42 -03:00
csky C-SKY: Strip hard float abi from hard float feature. 2023-02-07 16:34:24 +08:00
generic elf: Restore ldconfig libc6 implicit soname logic [BZ #30125] 2023-02-20 09:32:46 -03:00
gnu Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
hppa hppa: Add string-fza.h, string-fzc.h, and string-fzi.h 2023-02-06 16:19:35 -03:00
htl htl: Remove ./sysdeps/htl/bits/types/struct___pthread_mutex.h 2023-02-12 17:28:32 +01:00
hurd Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
i386 htl: Generalize i386 pt-machdep.h to x86 2023-02-12 16:33:39 +01:00
ia64 ia64: Regenerate ulps 2023-01-24 11:21:38 -05:00
ieee754 math: Suppress -O0 warnings for soft-fp fsqrt [BZ #19444] 2023-01-11 17:50:51 -03:00
loongarch Regenerate configure. 2023-01-31 17:51:40 -05:00
m68k string: Remove string_private.h 2023-02-17 15:56:54 -03:00
mach Define PC, SP and SYSRETURN for hurd x86_64 2023-02-20 01:33:15 +01:00
microblaze Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
mips Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
nios2 Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
nptl Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
or1k Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
posix Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
powerpc string: Add libc_hidden_proto for memrchr 2023-02-08 17:13:58 -03:00
pthread Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
riscv riscv: Add string-fza.h and string-fzi.h 2023-02-06 16:19:35 -03:00
s390 s390: Fix build for -march=z13 2023-02-20 17:16:29 -03:00
sh sh: Add string-fzb.h 2023-02-06 16:19:35 -03:00
sparc sparc (64bit): Regenerate ulps 2023-01-24 11:21:50 -05:00
unix x86-64: Add glibc.cpu.prefer_map_32bit_exec [BZ #28656] 2023-02-22 18:28:37 -08:00
wordsize-32 Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
wordsize-64 C2x strtol binary constant handling 2023-02-16 23:02:40 +00:00
x86 x86-64: Add glibc.cpu.prefer_map_32bit_exec [BZ #28656] 2023-02-22 18:28:37 -08:00
x86_64 hurd, htl: Add some x86_64-specific code 2023-02-12 16:35:03 +01:00