What you're seeing is a virtual offset. The kernel picks a base address to load the program at (even without ASLR) and the segments of your ELF file will be loaded relative to that address. Without ASLR, 0x555555554000
is used as the base address, and since your symbol is at a virtual offset of 0000000000004010
, that comes out to 0x555555558010
.
That is, assuming your program is compiled as a PIE, which it looks like it is.