------- Comment #13 from tege-gcc at swox dot com 2008-02-23 17:09 ------- Created an attachment (id=15214) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15214&action=view) This is a minimized version of the original faling code.
I understand the reasoning about local calls. The problem here is with what *looks* like a local call, the calls to __gmp_mt_recalc_buffer from __gmp_randget_mt. But in a shared library, the Darwin linker will replace these calls with calls to dyld_stub___gmp_mt_recalc_buffer, and that's where the crash happens. One may argue that it is utterly silly to use runtime linker calls when the function is at a known offset in the same object, and that this is an Apple tools bug. I have not read any ABI document for Darwin, so I will rest my case. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35271