Michael Kaply wrote:
> 
> I thought _System wasn't compatibly? Maybe _stdcall?

Right, EMX turns _System into an empty string in os2.h and the default
gcc calling convention is not quite the same thing as _System.

gcc supports stdcall on i86 machines with

int foo(int, int) __attribute__ ((stdcall));

declarations and compilation with -mrtd. Unfortunately, fed the
equivalent

int _stdcall foo(int, int);

icc mangles the name into foo@n where n appears to be the total size of
the args, i.e. in this case it becomes foo@8, with three ints or (int,
double) it becomes foo@12 etc. With gcc foo remains foo so crosslinkage
fails.

h~

Reply via email to