To get support of shared libraries and LKMs (Linux Kernel Module) in ELF the linker have to overwrite symbols of yet running code within the same decriptor entry, segment.
I found COMMON directive in nasm's documentation but this is only for variables and not for all symbols.
This would also gives the possibility of (real) OOP in nasm.
This is from the thread: NASM Forum > Expert Questions > LKMs (linux modules) with nasm don't work
bastl