This is what I also thought about. It has not appeared until the last few years, but I'm not sure if it is responsible for changing GNU binutils or the dynamic linker glibc ( ld-linux.so.2 ).
At first I thought it was a kind of security area created by the dynamic linker to protect against access outside the access to the library data segment, but it makes no sense to be so big. It is possible that this is a complete map of the while library file so that the dynamic linker can make it readable again in the future (possibly during dlopen or dlsym calls) to access ELF metadata that is not normally needed for display.
In any case, this is an unpleasant bloat, especially on 32-bit machines, where virtual address space is a valuable resource. It also inflates the kernel page tables, increasing the kernel resources used by the process.
PS Sorry, this is not really the answer. I know that these are just random snippets that can help lead to an answer, but too late for comment.
R ..
source share