http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53008
Patrick Marlier <patrick.marlier at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |patrick.marlier at gmail | |dot com --- Comment #2 from Patrick Marlier <patrick.marlier at gmail dot com> 2012-04-27 15:00:16 UTC --- Hello Dave, This is because your mycompare function is not transaction_safe, so no clone can be found at runtime. So if you add transaction_safe to your comparison function, it should work. In your example it should be: __attribute__((transaction_safe)) static long mycompare(int a, int b) If it works, please closed the bug report. Thanks. -- Patrick Marlier