I will narrow down my questions:
The entry address in GDB stays the same for the same program (even after reboot, and after rewriting the source code).
Why is th
Your program is (at least partially) statically linked, and main() almost certainly is. Rebooting your computer isn't going to change that statically linked part of the executable.
main()