I was trying to gdb a function, with it's callstack, the calling one falls into address a4734000-a4e93000, so I check the /proc//maps file and found there are:
a4734000-a4e93000 r-xp 00000000 00:00 0
a4ee0000-a527c000 r-xp 00000000 00:00 0
This doesn't make sense to me, because normally it would show the target binary file that is mapped for the executable addresses. Does anyone know is this some sort of trick? Thanks a lot.
Permission field
r-xp
containsp
, so these mappings are private. Path field is empty, so these mappings are anonymous.Thus, these are private anonymous mappings, created with
MAP_ANON
andMAP_PRIVATE
flags. They probably were created by malloc(3):See also this question and documentation.