Re: On-line linking?

"Marc-F. Lucca-Daniau" <[email protected]> Tue, 11 Feb 2020 20:31:50 +0100
Newsgroups org.kernel.vger.linux-8086
Message-ID <[email protected]>
Hello Marcin,

It looks like you are hitting the 64K limit that Jody experienced in his 
previous attempt to make 'busyelks', so the splitting in 3 executables...

ELKS does not support dynamic linking.

Even with that linking, the IA16 architecture could not break the 64K 
limit without 'magic' tricks like 'far' pointers, segmentation in 286 
protected mode, external MMU, etc, that are definitively not in today 
scope of ELKS.

On-line linking could appear as a good idea on the paper or in modern 4 
GHz emulators, but on real & antic HW with slow disk I/O, it merely does 
not work (or maybe with a very big coffee mug ?). I am not even talking 
of embedded systems...

LD86 was part of the DEV86 set that we dropped some months ago, for some 
very very good reasons.

Welcome to the "small is beautiful" world, where ELKS contributors have 
to write compact & efficient C code :-) !

Thanks,

MFLD



Le 11/02/2020 à 14:37, Marcin Laszewski a écrit :
> Hello Marc,
>
> The current size of 'busyelks' is approaching to 64kB.
>
> As I know ELKS does not support 'dynamic libraries', but what about
> on-line static linking?
> We can keep 'main.o' file, link it on-line with the appropriate
> 'plugins' (eg. dirname.o, basename.o, du.o, ...) statically and run.
> Look at the attached piece of code - there is an exmple of this idea
> for Debian/Linux.
>
> The only problem: there is no linker working in ELKS system.
> ia16-elf-ld is too large. Can we adopt ld86?
>
> ml.