All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: On-line linking?
       [not found] <CABdhv6+J+gr57SpAxtqZF3Lj9MGu9QkB04HoaqEJkgjYvcP8zQ@mail.gmail.com>
@ 2020-02-11 19:31 ` Marc-F. Lucca-Daniau
       [not found]   ` <CABdhv6JZ9F7eZdOhM2wkdoyvd4FtnjtT4a1-1b_2+xbnryzBvA@mail.gmail.com>
  0 siblings, 1 reply; 3+ messages in thread
From: Marc-F. Lucca-Daniau @ 2020-02-11 19:31 UTC (permalink / raw)
  To: Marcin Laszewski, ELKS

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.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: On-line linking?
       [not found]   ` <CABdhv6JZ9F7eZdOhM2wkdoyvd4FtnjtT4a1-1b_2+xbnryzBvA@mail.gmail.com>
@ 2020-02-15 13:59     ` Marc-F. Lucca-Daniau
       [not found]       ` <CABdhv6JDmQfwLZUWdvZwTJPZVFU7pgqT7jnH10t9VCZeyZ-52Q@mail.gmail.com>
  0 siblings, 1 reply; 3+ messages in thread
From: Marc-F. Lucca-Daniau @ 2020-02-15 13:59 UTC (permalink / raw)
  To: Marcin Laszewski; +Cc: ELKS

Hello Marcin,

The executable file format is still the old 'a.out' one:

Documentation/html/exe_format.html

Please tell me if anything is not clear so that we would address it in 
the documentation.

Stripping ? 'ia16-elf-strip' knows how to strip the ELF format (as it 
name tells it :-), but even if intermediate object files (*.o *.a) are 
in ELF, ELKS has custom 'ld' scripts (see '*.ld' in the repository) that 
convert ELF format to 'a.out' format, and drop out all that is not 
'code', 'data', 'bbs' and 'rodata'. So they already strip...

Thanks,

MFLD



Le 13/02/2020 à 13:42, Marcin Laszewski a écrit :
> Thank you for your explanation.
>
> Could you tell me...
>
> - ...where I can find description of ELKS executable file? 'file'
> oprogram recognize it as 'Linux-8086', but there is no info about this
> format. Ihave found description of process' memory only in
> 'Documentation' directory.
>
> - ...how to perform 'strip'. There is ia16-elf-strip program but it
> says it doesn't recognize output format.
>
> Thanks in advance, Marcin.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: On-line linking?
       [not found]           ` <CABdhv6LTUQwi2vXi8+n9pGD1WdTF-_YFtSpXRGsJu139F1KaiA@mail.gmail.com>
@ 2020-02-19 20:36             ` Marc-F. Lucca-Daniau
  0 siblings, 0 replies; 3+ messages in thread
From: Marc-F. Lucca-Daniau @ 2020-02-19 20:36 UTC (permalink / raw)
  To: Marcin Laszewski; +Cc: ELKS

Thank you Marcin !

Committed to 
https://github.com/elks-org/elks/commit/63378c86ea0ddf717a8429fa5728e52f4fcbe1b5

MFLD


Le 17/02/2020 à 08:56, Marcin Laszewski a écrit :
> Thank you very much,
>
> I see it in our git repository now. I've atteched two small patches
> (HTML formatting).
>
> Sincerely. marcin.
>
> 2020-02-16 17:59 GMT+01:00, Marc-F. Lucca-Daniau <mfld.fr@gmail.com>:
>> (...)
>> Here is the right link:
>> (...)

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-02-19 20:36 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <CABdhv6+J+gr57SpAxtqZF3Lj9MGu9QkB04HoaqEJkgjYvcP8zQ@mail.gmail.com>
2020-02-11 19:31 ` On-line linking? Marc-F. Lucca-Daniau
     [not found]   ` <CABdhv6JZ9F7eZdOhM2wkdoyvd4FtnjtT4a1-1b_2+xbnryzBvA@mail.gmail.com>
2020-02-15 13:59     ` Marc-F. Lucca-Daniau
     [not found]       ` <CABdhv6JDmQfwLZUWdvZwTJPZVFU7pgqT7jnH10t9VCZeyZ-52Q@mail.gmail.com>
     [not found]         ` <a1cb725a-1076-cab5-e48e-53c269b268f1@gmail.com>
     [not found]           ` <CABdhv6LTUQwi2vXi8+n9pGD1WdTF-_YFtSpXRGsJu139F1KaiA@mail.gmail.com>
2020-02-19 20:36             ` Marc-F. Lucca-Daniau

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.