2) Also, the function call is through a
pointer-to-function-taking-stdargs, but the function itself is not a
stdargs function. Given the wrong calling conventions, this is liable
to lead to both caller *and* callee cleaning the args off the stack.....
Calling conventions should be determined at run-time who will pop the
stack.
Sorry Reini, this sentence doesn't make sense to me. AFAIUI, who will pop
the stack is determined at compiletime, according to whether the compiler
outputs a plain "ret" or a ret with a size-to-pop at the end of the
callee-function, and according to whether it emits code at the call site to
adjust %esp or not.
Both DLL types should be able to be loaded.
Now you've really lost me. Are you saying that this particular dll gets
built in two versions using different calling conventions? I don't
understand here.