need to tell to the linker where to store app code?

Hi all,

I am learning how to program my Xbee over the air and I understand :

The only work I have to do regarding the linker is to tell him where is the userspace interrupt vector table and at which address are the isr. (This is what is written in the user manual). Then, make the project and load the program trough the bootloader. Right?

But I am confused about the rest of the code : why do we don’t need to tell that our full user program has to be stored in the user code space? Do the bootloader takes the addresses of the code and variables and add an offset to make the program to be stored where it has to be stored?

Thanks in advance for your help.