This and perhaps other libraries may be an exception, but couldn't this
splitted like linux does ? If I remember right, they uses a standard
lib like glibc, which may be a shared lib and some kind of startupcode
in an objectfile (static), which may be different for executable or
dll's or other kinds of output. Why does cygwin uses a specific way ?
It doesn't matter what cygwin uses. Cygwin is an example. Changing
cygwin doesn't solve the issue for some other DLL. Telling anyone that
they have to reorganize their projects to accommodate 'ld' is pretty
obviously the wrong thing to do.
Chris, please remeber, that this is an additional feature, not a hard rule. You
can, but you aren't bound to it.
Second ld on platforms with only shared libraries and static libs does give you
another choice, so on them the programmers have to live with this and I assume
that there are more platforms where ld uses this case as otherwise.
Anyway, that isn't what I have tried so say. The main meaning is "You can skip
import libraries for mostly cases by a symbolic link to the respective dll" and
second "Where are the reasons that this splitting should not be possible for the
cygwin dll"