The following: #include <stdlib.h> void (*testme)(void *) = free; int main() { return 0; } Fails with "assertion fail" when trying to link after compiling with -mabi=64. Works fine with o32 or n32. Same issue with taking address of malloc etc... Can take address of non-glibc functions just fine. I have not verified with later incarnations of binutils yet.
Subject: Re: New: fail to link if address of libc function taken in n64 On Mon, Jun 06, 2005 at 10:00:41PM -0000, shay_gal-on at pmc-sierra dot com wrote: > Fails with "assertion fail" when trying to link after compiling with -mabi=64. > Works fine with o32 or n32. Same issue with taking address of malloc etc... > Can take address of non-glibc functions just fine. > > I have not verified with later incarnations of binutils yet. Please do - n64 support for MIPS/Linux did not really work until 2.15, and now 2.16 has been released.
Fixed a long time ago.