------- 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

Reply via email to