For example, libcoreclr.so base address is reported 7ffff7371000 instead of 7ffff72ff000 for the following maps file:
7ffff72ff000-7ffff7371000 r--p 00000000 fd:00 18097725 /usr/lib64/dotnet/shared/Microsoft.NETCore.App/5.0.0/libcoreclr.so
7ffff7371000-7ffff7657000 r-xp 00072000 fd:00 18097725 /usr/lib64/dotnet/shared/Microsoft.NETCore.App/5.0.0/libcoreclr.so
7ffff7657000-7ffff7659000 rwxp 00358000 fd:00 18097725 /usr/lib64/dotnet/shared/Microsoft.NETCore.App/5.0.0/libcoreclr.so
7ffff7659000-7ffff780b000 r-xp 0035a000 fd:00 18097725 /usr/lib64/dotnet/shared/Microsoft.NETCore.App/5.0.0/libcoreclr.so
7ffff780b000-7ffff7812000 r--p 0050c000 fd:00 18097725 /usr/lib64/dotnet/shared/Microsoft.NETCore.App/5.0.0/libcoreclr.so
7ffff7812000-7ffff7813000 r--p 00513000 fd:00 18097725 /usr/lib64/dotnet/shared/Microsoft.NETCore.App/5.0.0/libcoreclr.so
7ffff7813000-7ffff7958000 r--p 00514000 fd:00 18097725 /usr/lib64/dotnet/shared/Microsoft.NETCore.App/5.0.0/libcoreclr.so
7ffff7958000-7ffff797c000 r--p 00658000 fd:00 18097725 /usr/lib64/dotnet/shared/Microsoft.NETCore.App/5.0.0/libcoreclr.so
7ffff797c000-7ffff7994000 rw-p 0067c000 fd:00 18097725 /usr/lib64/dotnet/shared/Microsoft.NETCore.App/5.0.0/libcoreclr.so
This happens because we skip entries with don't have rx set, before merging entries for the same file.
For example,
libcoreclr.sobase address is reported 7ffff7371000 instead of 7ffff72ff000 for the following maps file:This happens because we skip entries with don't have rx set, before merging entries for the same file.