[Bug fortran/31073] symbol names are not created with stdcall syntax
burnus at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Wed Mar 7 17:13:00 GMT 2007
------- Comment #1 from burnus at gcc dot gnu dot org 2007-03-07 17:13 -------
> I am trying to compile f90 code into objects that generate the symbol names
> in stdcall syntax, i.e. _symname@NN
I think you are not looking for -mrtd but for versioned symbols.
-mrtd does:
"Use a different function-calling convention, in which functions that take a
fixed number of arguments return with the "ret" num instruction, which pops
their arguments while returning."
According to the assembler that seems to work. I have frankly no idea how to do
symbol versioning and I have to admit I failed to find any usable information
on the net, the closed comes the glibc implementation notes at:
http://people.redhat.com/drepper/symbol-versioning
By far not sure whether the following works, but it produces the right symbol:
asm(".symver simple_sub, simple_sub@N42");
void simple_sub(int *a,int *b)
{
*a = *b;
}
$nm foo.o
0000000000000000 T simple_sub
0000000000000000 T simple_sub@N42
I have no idea how to do it properly and I don't know how to do it in Fortran.
You are probably better off in asking this question in a mailing list.
--
burnus at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |burnus at gcc dot gnu dot
| |org
Severity|blocker |normal
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31073
More information about the Gcc-bugs
mailing list