glibc/elf
H.J. Lu 2bc983b78c Reduce number of mmap calls from __libc_memalign in ld.so
__libc_memalign in ld.so allocates one page at a time and tries to
optimize consecutive __libc_memalign calls by hoping that the next
mmap is after the current memory allocation.

However, the kernel hands out mmap addresses in top-down order, so
this optimization in practice never happens, with the result that we
have more mmap calls and waste a bunch of space for each __libc_memalign.

This change makes __libc_memalign to mmap one page extra.  Worst case,
the kernel never puts a backing page behind it, but best case it allows
__libc_memalign to operate much much better.  For elf/tst-align --direct,
it reduces number of mmap calls from 12 to 9.

	* elf/dl-minimal.c (__libc_memalign): Mmap one extra page.
2016-04-23 06:05:15 -07:00
..
Makefile Register extra test objects 2016-04-13 17:07:13 +02:00
Versions Add empty GLIBC_2.2.5 version to elf/Versions. 2014-03-25 21:54:09 +00:00
cache.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
chroot_canon.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
circleload1.c
circlemod1.c
circlemod1a.c
circlemod2.c
circlemod2a.c
circlemod3.c
circlemod3a.c
constload1.c
constload2.c
constload3.c
dblload.c
dblloadmod1.c
dblloadmod2.c
dblloadmod3.c
dblunload.c
dep1.c
dep2.c
dep3.c
dep4.c
dl-addr.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-brk.c
dl-cache.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-caller.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-close.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-conflict.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-debug.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-deps.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-dst.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-environ.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-error.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-execstack.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-fini.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-fptr.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-hwcaps.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-init.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-iteratephdr.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-libc.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-load.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-load.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-lookup.c Report dlsym, dlvsym lookup errors using dlerror [BZ #19509] 2016-03-31 11:26:55 +02:00
dl-machine-reject-phdr.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-map-segments.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-minimal.c Reduce number of mmap calls from __libc_memalign in ld.so 2016-04-23 06:05:15 -07:00
dl-misc.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-object.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-open.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-origin.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-profile.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-profstub.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-reloc.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-runtime.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-sbrk.c
dl-scope.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-support.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-sym.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-symaddr.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-sysdep-open.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-sysdep.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-tls.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-trampoline.c
dl-tsd.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-unmap-segments.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-version.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dl-writev.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
do-rel.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
dynamic-link.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
elf.h elf.h: Add NT_ARM_SYSTEM_CALL constant. 2016-02-19 20:48:22 +01:00
enbl-secure.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
failobj.c
filter.c
filtmod1.c
filtmod2.c
firstobj.c
gen-trusted-dirs.awk
genrtldtbl.awk Make shebang interpreter directives consistent 2016-01-07 04:03:21 -05:00
get-dynamic-info.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
global.c
globalmod1.c
ifuncdep1.c
ifuncdep1pic.c
ifuncdep2.c Replace __attribute__((visibility("protected"))) 2015-03-06 17:05:42 -08:00
ifuncdep2pic.c
ifuncdep5.c
ifuncdep5pic.c
ifuncmain1.c
ifuncmain1pic.c
ifuncmain1picstatic.c
ifuncmain1pie.c
ifuncmain1static.c
ifuncmain1staticpic.c
ifuncmain1staticpie.c
ifuncmain1vis.c
ifuncmain1vispic.c
ifuncmain1vispie.c
ifuncmain2.c
ifuncmain2pic.c
ifuncmain2picstatic.c
ifuncmain2static.c
ifuncmain3.c
ifuncmain4.c
ifuncmain4picstatic.c
ifuncmain4static.c
ifuncmain5.c
ifuncmain5pic.c
ifuncmain5picstatic.c
ifuncmain5pie.c
ifuncmain5static.c
ifuncmain5staticpic.c
ifuncmain6pie.c
ifuncmain7.c
ifuncmain7pic.c
ifuncmain7picstatic.c
ifuncmain7pie.c
ifuncmain7static.c
ifuncmod1.c Replace __attribute__((visibility("protected"))) 2015-03-06 17:05:42 -08:00
ifuncmod3.c
ifuncmod5.c Replace __attribute__((visibility("protected"))) 2015-03-06 17:05:42 -08:00
ifuncmod6.c
initfirst.c
interp.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
lateglobal.c
ldconfig.c ldconfig: Do not remove stale symbolic links with -X [BZ #19610] 2016-03-07 22:06:18 +01:00
ldd.bash.in Update copyright dates not handled by scripts/update-copyrights. 2016-01-04 16:26:30 +00:00
link.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
loadfail.c
loadtest.c
ltglobmod1.c
ltglobmod2.c
multiload.c
neededobj1.c
neededobj2.c
neededobj3.c
neededobj4.c
neededobj5.c
neededobj6.c
neededtest.c
neededtest2.c
neededtest3.c
neededtest4.c
next.c
nextmod1.c
nextmod2.c
nodel2mod1.c
nodel2mod2.c
nodel2mod3.c
nodelete.c
nodelete2.c
nodelmod1.c
nodelmod2.c
nodelmod3.c
nodelmod4.c
nodlopen.c
nodlopen2.c
nodlopenmod.c
nodlopenmod2.c
noload.c
order.c
order2.c
order2mod1.c
order2mod2.c
order2mod3.c
order2mod4.c
origtest.c
pathoptobj.c
pldd-xx.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
pldd.c Update copyright dates not handled by scripts/update-copyrights. 2016-01-04 16:26:30 +00:00
preloadtest.c
readelflib.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
readlib.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
reldep.c
reldep2.c
reldep3.c
reldep4.c
reldep4mod1.c
reldep4mod2.c
reldep4mod3.c
reldep4mod4.c
reldep5.c
reldep6.c
reldep6mod0.c
reldep6mod1.c
reldep6mod2.c
reldep6mod3.c
reldep6mod4.c
reldep7.c
reldep7mod1.c
reldep7mod2.c
reldep8.c
reldep8mod1.c
reldep8mod2.c
reldep8mod3.c
reldep9.c
reldep9mod1.c
reldep9mod2.c
reldep9mod3.c
reldepmod1.c
reldepmod2.c
reldepmod3.c
reldepmod4.c
reldepmod5.c
reldepmod6.c
resolvfail.c
restest1.c
restest2.c
rtld-Rules Allow overriding of CFLAGS as well as CPPFLAGS for rtld. 2016-04-09 23:48:32 -04:00
rtld-debugger-interface.txt
rtld.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
setup-vdso.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sln.c sln: use stat64 2016-03-07 11:37:12 -05:00
sofini.c
soinit.c
sotruss-lib.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
sotruss.sh Update copyright dates not handled by scripts/update-copyrights. 2016-01-04 16:26:30 +00:00
sprof.c Update copyright dates not handled by scripts/update-copyrights. 2016-01-04 16:26:30 +00:00
static-stubs.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
testobj.h
testobj1.c
testobj1_1.c
testobj2.c
testobj3.c
testobj4.c
testobj5.c
testobj6.c
tls-macros.h
tlsdeschtab.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-addr1.c
tst-align.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-align2.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-alignmod.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-alignmod2.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-array1-static.c
tst-array1.c
tst-array1.exp
tst-array2.c
tst-array2.exp
tst-array2dep.c
tst-array3.c
tst-array4.c
tst-array4.exp
tst-array5-static.c
tst-array5-static.exp
tst-array5.c
tst-array5.exp
tst-array5dep.c
tst-audit1.c
tst-audit2.c Make sure that calloc is called at least once 2015-05-28 05:06:53 -07:00
tst-audit8.c
tst-audit9.c Modify elf/tst-audit9.c to use test-skeleton.c 2015-07-15 15:10:23 +05:30
tst-audit11.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-audit11mod1.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-audit11mod2.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-audit11mod2.map Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-audit12.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-audit12mod1.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-audit12mod2.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-audit12mod2.map Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-audit12mod3.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-auditmod1.c
tst-auditmod9a.c
tst-auditmod9b.c
tst-auditmod11.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-auditmod12.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-auxv.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-deep1.c
tst-deep1mod1.c
tst-deep1mod2.c
tst-deep1mod3.c
tst-dl-iter-static.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-dlmodcount.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-dlmopen1.c Fix error messages in elf/tst-dlmopen1.c. 2015-09-18 10:27:55 -04:00
tst-dlmopen1mod.c
tst-dlmopen2.c
tst-dlmopen3.c
tst-dlopen-aout.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-dlopenrpath.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-dlopenrpathmod.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-dlsym-error.c Fix tst-dlsym-error build 2016-03-31 10:51:51 -03:00
tst-execstack-mod.c
tst-execstack-needed.c
tst-execstack-prog.c
tst-execstack.c
tst-global1.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-initorder.c
tst-initorder.exp
tst-initorder2.c
tst-initorder2.exp
tst-initordera1.c
tst-initordera2.c
tst-initordera3.c
tst-initordera4.c
tst-initorderb1.c
tst-initorderb2.c
tst-ldconfig-X.sh ldconfig: Do not remove stale symbolic links with -X [BZ #19610] 2016-03-07 22:06:18 +01:00
tst-leaks1-static.c
tst-leaks1.c Modify several tests to use test-skeleton.c 2015-07-15 15:10:23 +05:30
tst-nodelete-opened-lib.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-nodelete-opened.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-nodelete-rtldmod.cc Add forced deletion support to _dl_close_worker 2015-07-07 11:06:56 -07:00
tst-nodelete-uniquemod.cc Add forced deletion support to _dl_close_worker 2015-07-07 11:06:56 -07:00
tst-nodelete-zmod.cc Add forced deletion support to _dl_close_worker 2015-07-07 11:06:56 -07:00
tst-nodelete.cc Add forced deletion support to _dl_close_worker 2015-07-07 11:06:56 -07:00
tst-nodelete2.c Clear DF_1_NODELETE flag only for failed to load library. 2015-08-11 10:13:22 +02:00
tst-nodelete2mod.c Clear DF_1_NODELETE flag only for failed to load library. 2015-08-11 10:13:22 +02:00
tst-null-argv-lib.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-null-argv.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-order-a1.c
tst-order-a2.c
tst-order-a3.c
tst-order-a4.c
tst-order-b1.c
tst-order-b2.c
tst-order-main.c Modify several tests to use test-skeleton.c 2015-08-06 02:59:04 -04:00
tst-pathopt.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-pathopt.sh Make shebang interpreter directives consistent 2016-01-07 04:03:21 -05:00
tst-pie1.c
tst-pie2.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-piemod1.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-prelink.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-prelink.exp Run tst-prelink test for GLOB_DAT reloc 2015-11-14 12:00:38 -08:00
tst-protected1a.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-protected1b.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-protected1mod.h Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-protected1moda.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-protected1modb.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-ptrguard1-static.c
tst-ptrguard1.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-relsort1.c
tst-relsort1mod1.c
tst-relsort1mod2.c
tst-rtld-load-self.sh Make shebang interpreter directives consistent 2016-01-07 04:03:21 -05:00
tst-stackguard1-static.c
tst-stackguard1.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-thrlock.c
tst-tls-dlinfo.c
tst-tls1-static.c
tst-tls1.c
tst-tls2-static.c
tst-tls2.c
tst-tls3.c
tst-tls4.c
tst-tls5.c
tst-tls6.c
tst-tls7.c
tst-tls8.c
tst-tls9-static.c
tst-tls9.c
tst-tls10.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-tls10.h
tst-tls11.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-tls12.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-tls13.c
tst-tls14.c
tst-tls15.c
tst-tls16.c
tst-tls17.c
tst-tls18.c
tst-tls19.c
tst-tls19mod1.c
tst-tls19mod2.c
tst-tls19mod3.c
tst-tlsalign-extern-static.c BZ#18383: Another test case, with TLS refs and defs in separate TUs. 2015-06-02 16:55:36 -07:00
tst-tlsalign-extern.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-tlsalign-lib.c BZ#18383: Add test case for large alignment in TLS blocks. 2015-05-06 13:32:18 -07:00
tst-tlsalign-static.c BZ#18383: Add test case for large alignment in TLS blocks. 2015-05-06 13:32:18 -07:00
tst-tlsalign-vars.c BZ#18383: Another test case, with TLS refs and defs in separate TUs. 2015-06-02 16:55:36 -07:00
tst-tlsalign.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
tst-tlsmod1.c
tst-tlsmod2.c
tst-tlsmod3.c
tst-tlsmod4.c
tst-tlsmod5.c
tst-tlsmod6.c
tst-tlsmod7.c
tst-tlsmod8.c
tst-tlsmod9.c
tst-tlsmod10.c
tst-tlsmod11.c
tst-tlsmod12.c
tst-tlsmod13.c
tst-tlsmod13a.c
tst-tlsmod14a.c
tst-tlsmod14b.c
tst-tlsmod15a.c
tst-tlsmod15b.c
tst-tlsmod16a.c
tst-tlsmod16b.c
tst-tlsmod17a.c
tst-tlsmod17b.c
tst-tlsmod18a.c
tst-unique1.c Remove gnu_unique_object configure test. 2015-10-19 22:34:20 +00:00
tst-unique1mod1.c Remove gnu_unique_object configure test. 2015-10-19 22:34:20 +00:00
tst-unique1mod2.c Remove gnu_unique_object configure test. 2015-10-19 22:34:20 +00:00
tst-unique2.c Remove gnu_unique_object configure test. 2015-10-19 22:34:20 +00:00
tst-unique2mod1.c Remove gnu_unique_object configure test. 2015-10-19 22:34:20 +00:00
tst-unique2mod2.c Remove gnu_unique_object configure test. 2015-10-19 22:34:20 +00:00
tst-unique3.cc
tst-unique3.h
tst-unique3lib.cc
tst-unique3lib2.cc
tst-unique4.cc
tst-unique4.h
tst-unique4lib.cc Fix warning in elf/tst-unique4lib.cc. 2014-12-16 10:26:48 +01:00
unload.c
unload2.c
unload2dep.c
unload2mod.c
unload3.c
unload3mod1.c
unload3mod2.c
unload3mod3.c
unload3mod4.c
unload4.c
unload4mod1.c
unload4mod2.c
unload4mod3.c
unload4mod4.c
unload5.c
unload6.c
unload6mod1.c
unload6mod2.c
unload6mod3.c
unload7.c
unload7mod1.c
unload7mod2.c
unload8.c
unload8mod1.c
unload8mod1x.c
unload8mod2.c
unload8mod3.c
unloadmod.c
vismain.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
vismod.h
vismod1.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
vismod2.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
vismod3.c Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00