Oh wow... This is exactly what I needed! Thank you soooooooooooooooooo much! :) 2010년 2월 16일 오전 1:37, Elden Crom <EldenC@xxxxxxxxxxxxxxxxxx>님의 말: > > I think you want to change the linker map... > > If you are invoking the linker (ld) directly then you can use " -Ttext=org" or "-Wl,Ttext=org" from gcc's command line.... > PS to see how the linker is getting invoked from gcc use "gcc -v ...." and look at the invocation of 'collect2'. > gcc hello.c -v -Wl,-Ttext=0x8090000 > > ________________________________________ > From: gcc-help-owner@xxxxxxxxxxx [gcc-help-owner@xxxxxxxxxxx] on behalf of 안기찬 [externalist2@xxxxxxxxx] > Sent: Monday, February 15, 2010 9:14 AM > To: gcc-help@xxxxxxxxxxx > Subject: Is there a way to change the section start addresses when compiling? > > 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. ;) >