Introducing ELF2.0
The Cuthour
cuthour@gmail.com
Thu Jan 30 15:45:46 GMT 2025
Hi
>>> The goal here is Relinkability. Even in object-oriented languages,
>>> binary Relinkability should be a given. [...]
>>
>> You have identified a Solution but not a Problem.
>
> I note that ld actually allowed you to relink already-linked binaries
> until quite recently (libctf had to go through some contortions to
> permit it -- in fact it still does because a lot of the same stuff is
> needed to handle ld -r).
>
> It was removed because of the lack of a use case, because it complicated
> things noticeably, and because, well, it was kinda nuts.
>
> Incremental linking, maybe. Relinking things that are already fully
> linked... why? What would it even *mean*, given that linking is meant to
> resolve everything that needs resolution, so after that there should be
> nothing left for further linking passes to do?
What I'm saying is whether the object files of derived classes
compiled before changes were made to the base class are still
relinkable after the base class has been modified and recompiled.
In C and Pascal languages, it was guaranteed that "only the files
with changes need to be recompiled, and all other object files are
relinkable."
More information about the Binutils
mailing list