@dascandy No, there is nothing COM related. I think our layout exists because it just happened to be convenient for the compiler to emit it that way.

As for Itanium, I believe (1) they heavily rely on the traditional ".so" model to avoid strcmps which does not work on Windows where each DLL is its own island, and (2) I believe but am not certain that our layout is just older.