11.1.6 Building the Output File
Finally, the linker builds the output file. Relocation entries in each
section are patched using absolute addresses. If the address computed for a symbol does not
fit in the relocation entry, a link error results. This can occur, for example, if a
function pointer on a dsPIC33C/E/F device is referenced without the handle()
operator and its address is too large to fit in 16
bits. When compiled for dsPIC33A devices, function pointers contain a 32-bit address, so
this particular error would never occur.
A link map is also generated if requested with the appropriate option. The link map includes a memory usage report, which shows the starting address and length of all sections in data memory and program memory. For more information about the link map, see Input/Output Section Map.