>It should be as it was in past the *ALL* libraries even those required by the libraries on the command line should be expanded.
A program should always fully specify all libraries it itself intends to make
use of, because relying on implicitly-imported transitive libraries or C
headers or whatever else is a terrible idea, as that implicit list can change
at any time.
The --as-needed mechanism which is more or less responsible for what is
observed essentially disables this implicitness for good measure - which is
actually how Unix linkers worked before ld.bfd proliferated with its behavior.