At 30 Dec 2018 18:35:22 +0000 (+00:00) from Paul Winalski
<paul.winalski(a)gmail.com>:
I think this has been pretty much universal behavior for all linkers
on all OSes since the 1960s. It continues to be true today.
Sometimes one runs into a situation where a module loaded from lib1.a
has an undefined symbol that causes a module from lib2.a to be loaded,
and that module in turn has an undefined symbol that is defined in
lib1.a. In that case, you have to cause the linker to scan lib1.a
twice:
ld main.o lib1.a lib2.a lib1.a
thats not true, because the M$ and borland linkers of the 80ths under MSDOS(sic!)
already processed indexed libraries. Therefore the multiple inclusion of libraries
wans'nt needed.