For instance, if I compile a source code, the .text section ends up in Virtual Address 0x8069b20. I was wondering if there was a way to force the .text segment address to another address, say, 0x8090000. If possible, I would like to change other section base addresses as well such as .rodata and .bss etc, and so what I'm looking for is a compile option for gcc for that purpose. Does such compile option exist? If it does, then that would be the most ideal solution for my current problem, but if not, it would still be nice if gcc could compile the binary at a completely different ImageBase than 0x8048000(i.e. 0x8090000). Does any know of a way to do those things? Thanks in advance! and sorry for my sloppy english. ;)