bfd: Performing the Final Link
2.17.3 Performing the final link
--------------------------------
When all the input files have been processed, the linker calls the
'_bfd_final_link' entry point of the output BFD. This routine is
responsible for producing the final output file, which has several
aspects. It must relocate the contents of the input sections and copy
the data into the output sections. It must build an output symbol table
including any local symbols from the input files and the global symbols
from the hash table. When producing relocatable output, it must modify
the input relocs and write them into the output file. There may also be
object format dependent work to be done.
The linker will also call the 'write_object_contents' entry point
when the BFD is closed. The two entry points must work together in
order to produce the correct output file.
The details of how this works are inevitably dependent upon the
specific object file format. The a.out '_bfd_final_link' routine is
'NAME(aout,final_link)'.
Menu