------- Comment #1 from laurent at guerby dot net 2008-12-10 11:54 -------
The missing function is called only in one place, visibly to set thread
affinity:
gcc/ada/s-taprop-irix.adb
if Self_ID.Common.Task_Info /= null
and then Self_ID.Common.Task_Info.Scope = PTHREAD_SCOPE_SYSTEM
and then Self_ID.Common.Task_Info.Runon_CPU /= ANY_CPU
then
Result := pthread_setrunon_np
(To_Int (Self_ID.Common.Task_Info.Runon_CPU));
pragma Assert (Result = 0);
end if;
The simplest thing to do would be to add #ifdef to define this function in
gcc/ada/adaint.c as dummy returning zero when IRIX. I don't have access to an
IRIX system so I don't know what #ifdef are available (or may be configure
test):
Could you try to add in gcc/ada/adaint.c the following definition:
int pthread_setrunon_np (int cpu) { return 0; }
Then see if it fixes the ACATS failures, then try to find out #ifdef that
trigger only on IRIX 6.2.
Thanks in advance,
--
laurent at guerby dot net changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |laurent at guerby dot net
Keywords| |link-failure
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38400