Hi WineHQ,
I have an older library that i have create using winelib (and an application that uses it). It use to work fine. In later wine builds this does not work any more.
I have tried allot of different combinations, and i cannot seem to get was has broken.
1) Every time a call is made into the library the program crashes immediately.
2) If i compile all the files into one program from the beginning the program works fine.
3) Using "winemaker" to create a library and app shows the exact same problem.
4) It seems to be related to importing the library or maybe the calling convention?
I have a feeling this is just broken somewhere, or have i done something wrong all along, and first now do i get punished for it because something changed? Again, winemaker shows the exact same problem.
I created a simple library setup to test it (a tiny lib and tine app):
commands:
winegcc -Wall -Werror -mwindows -mno-cygwin -fPIC -g -O0 -c lib.c -o lib.o
winegcc -Wall -Werror -mwindows -mno-cygwin -fPIC -g -O0 -c test.c -o test.o
winegcc -shared -olibtest.so lib.o -mwindows -mno-cygwin
winegcc -Wl,-rpath,"\$ORIGIN" -mwindows -mno-cygwin -ltest -L. test.o -otest.exe
---
lib.c (library):
#include <stdio.h>
#include <stdlib.h>
void lib_call(void)
{
printf("oh\n");
exit(0);
}
---
test.c (app):
#include <windows.h>
extern void lib_call(void);
INT WINAPI WinMain(HINSTANCE inst, HINSTANCE prev_inst, PSTR cmd_line, INT cmd_show)
{
lib_call();
return 0;
}
---
Can anyone figure this out. I would be very thankful.
Thanks,
/pedro