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@