On 2020-09-25, John Calcote <email@example.com> wrote:
> On Fri, Sep 25, 2020 at 10:45 AM Bob Friesenhahn <firstname.lastname@example.org> wrote:
>> Exactly! It might as well be a tar file except that the 'ar' archiver
>> knows how to add/update/remove files from it and that is not possible
>> with a tar file. The ability to do incremental updates of the archive
>> file is important as objects are built/rebuilt. The 'make' program
>> itself already understands archive files.
> I did not know this about libtool and convenience libraries. Do you have
> any historical notion of why this was done? I ask because this sort of
> behaviour total defeats the linker's ability to discard unused objects,
> does it not?
As I mentioned elsethread, at least with current versions, this only
appears to actually happen when convenience libraries are linked into
libraries (which OP is doing). This _has_ to happen for the use case
that convenience libraries are described to be, well, convenient for:
linking a set of common object files into multiple shared libraries.
Thanks Nick - that clears up my confusion and makes perfect sense. Sorry I missed your earlier comments on it.