Recent changes made to the runtime library broke again its build on Solaris 
because it uses Solaris threads instead of POSIX threads on this platform.

Tested by Rainer, applied on the mainline.


2024-05-21  Eric Botcazou  <ebotca...@adacore.com>

        PR ada/115168
        * libgnarl/s-taprop__solaris.adb (Initialize): Fix pasto.
        * libgnat/s-oslock__solaris.ads (Owner_Int): Delete.
        (Owner_ID): Change the designated type to Integer.

-- 
Eric Botcazou
diff --git a/gcc/ada/libgnarl/s-taprop__solaris.adb b/gcc/ada/libgnarl/s-taprop__solaris.adb
index 09f90e6e204..6d05e8db004 100644
--- a/gcc/ada/libgnarl/s-taprop__solaris.adb
+++ b/gcc/ada/libgnarl/s-taprop__solaris.adb
@@ -424,7 +424,7 @@ package body System.Task_Primitives.Operations is
 
    begin
       Environment_Task_Id := Environment_Task;
-      Self_ID.Common.LL.Thread := thr_self;
+      Environment_Task.Common.LL.Thread := thr_self;
 
       Interrupt_Management.Initialize;
 
diff --git a/gcc/ada/libgnat/s-oslock__solaris.ads b/gcc/ada/libgnat/s-oslock__solaris.ads
index cc5a83df02e..56a242c8070 100644
--- a/gcc/ada/libgnat/s-oslock__solaris.ads
+++ b/gcc/ada/libgnat/s-oslock__solaris.ads
@@ -42,10 +42,7 @@ package System.OS_Locks is
    type Private_Task_Serial_Number is mod 2 ** Long_Long_Integer'Size;
    --  Used to give each task a unique serial number
 
-   type Owner_Int is new Integer;
-   for Owner_Int'Alignment use Standard'Maximum_Alignment;
-
-   type Owner_ID is access all Owner_Int;
+   type Owner_ID is access all Integer;
 
    function To_Owner_ID is
      new Ada.Unchecked_Conversion (System.Address, Owner_ID);

Reply via email to