Amand Tihon [Sun, 9 Aug 2009 18:19:02 +0000 (20:19 +0200)]
Add support for SHN_COMMON.
The SHN_COMMON pseudo-section is used in the symbol tables to reference
undefined global variables. If all instances of the symbol are in the
pseudo-section SHN_COMMON, space is reserved in .bss. If the variable
is actualy defined, and ends up as GLOBAL in one object, no space is
reserved in .bss, and the defined instance is used.
Amand Tihon [Fri, 22 May 2009 00:46:53 +0000 (02:46 +0200)]
Cleaning and refactoring.
Moved the link work to a Linker class.
Added exception handling in main.
Make the Dynamic section use SStrtab and Elf64_Dyn types instead of its own types.
Move all errors in a dedicated file.
Check for undefined symbols.
Check that input files are relocatable objects and of a supported type.
Bits of source cleaning.