CVSROOT:        /cvs
Module name:    src
Changes by:     k...@cvs.openbsd.org    2021/03/16 12:03:07

Modified files:
        libexec/ld.so  : library_mquery.c loader.c resolve.h 

Log message:
On i386 don't attempt to map shared libraries in low memory when
a large executable's .text section crosses the 512MB exec line.

Executables that have MAXTSIZ > 64MB can map above the default
512MB exec line. When this happens, shared libs that attempt to map
into low memory will find their .data section can not be mapped. ld.so
will attempt to remap the share lib at higher addresses until it can be
mapped. For very large executables like chrome this process is very
time consuming. This change detects how much of the executable's
.text section exceeds 512MB and uses that as the initial hint for
shared libs to map into which avoids attempting to map into blocked
memory.

okay deraadt@

Reply via email to