[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] LDG guide



On Wed, 28 Nov 2012 22:57:59 , Vincent Rivière <vincent.riviere@freesbee.fr> wrote:
> On 28/11/2012 22:18, Eero Tamminen wrote:
> > "Yeah kids, mintlib is huge and bloated in combination with ineffective
> > a.out format."
>
> This is true.
>
> > a.out format makes only few bytes difference for a linked program
> > which is stripped.
>
> You are speaking about the a.out _executable_ format. And you are right.
>
> MiKRO is speaking about the a.out _object file_ format. Unlike ELF, this
> object file format does not allow Function Level Linking. As MiKRO
> explained, with a.out object files, this means that if you need a single
> function from a file, then the linker needs to include the whole file. The
> obvious solution is to put one public function per file in a library. The
> MiNTLib does that for most files, anyway.
>
> Another area where a.out object files behaves poorly is C++. Especially with
> templates, inlines, etc.
>
> > MiNTlib using binaries are larger because MiNTlib
> > has more features than the other libraries.
>
> True. Even if the MiNTLib is bloated, it has unique functionalities.
>
> > MiNTlib supports both TOS and MiNT (including a lot of Unix features)
> > and each piece of functionality isn't fully isolated, they leverage each
> > other.  Therefore, when linked to a binary, they can also bring to it some
> > extra functionality that wouldn't necessarily be needed by the application.
>
> True. But maybe the MiNTLib could be reorganized a bit so a simple Hello
> World would not result into a 100 kB executable.
>

Is filesize so critical anymore for people running Mint ?

I think the key benefit of dynamic linking is that it would help
maintainers, there would be less need to re-build apps.

Peter