"
Instead of standardizing how to do that across all Unixen—something that would take just a single flag to the ld(1) command..."
Hmm. Yes. But what if they standardize on something you, or Kamp, don't like?
Here's an anecdote for you:
When I was working for IBM in the mid-90s, the AIX/RS6000/PowerPC C/C++ compiler folks (in Toronto?) were justifiably proud of the code their compiler generated. But it had one peculiarity. It generated machine code directly, without going through an assembler. Oh, it could generate an assembly listing with -S, but the output wasn't syntactically valid. It couldn't compile the generated assembly.
This was a strongly defended position. "Why would you want to?" they said, "It's really hard to write good assembly for a RISC machine. Not many can do it."
These are the people who are needed to standardize things.
Now, at the time, AIX had a ridiculously complicated (but very flexible and featuriferous) dance required to build shared libraries. Using libtool is easier. I can hear the counterargument now. "You want us to hamstring our users? To just guess what they what they want to do, behind a single flag? Are you crazy?"
Fortunately, now, after Linux switched from a.out to ELF, I have been able to use "gcc -shared" to build all of the shared objects I've needed to. So, yay!
But I understand Kamp doesn't like gcc....