This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: symbol names are not created with stdcall syntax: MINGW, (GCC) 4.3.0 20061021


Thus we may consider adding a -fstdcall option to gfortran, which
appends the @n. The -mrtd would be needed additionally and it seems to
work. (That I don't get @n in C for __stdcall might because I tested
under Linux.)

On mingw, I get the following:


$ cat a.c
int foo(int x) { return x+1; }
$ gcc.exe -mrtd a.c -shared -o a.dll
$ nm a.dll | grep foo
100011c0 T _foo

$ cat b.c
int __stdcall foo(int x) { return x+1; }
$ gcc.exe b.c -shared -o b.dll
$ nm b.dll | grep foo
100011c0 T _foo@4
$ gcc.exe b.c -shared -o b.dll -mrtd
$ nm b.dll | grep foo
100011c0 T _foo@4

I think -mrtd doesn't change the name. Maybe GCC needs another option
to add the name decoration automatically? CCing the GCC list and Danny
S. for this question.

FX


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]