re PR ada/24533 (FAIL: a85013b: *** glibc detected *** free(): invalid pointer...
authorArnaud Charlet <charlet@gcc.gnu.org>
Tue, 20 May 2008 12:43:59 +0000 (14:43 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Tue, 20 May 2008 12:43:59 +0000 (14:43 +0200)
2008-05-20  Arnaud Charlet  <charlet@adacore.com>

* s-linux-hppa.ads (atomic_lock_t): Put back proper alignment now that
the underlying issue with malloc/free has been fixed. Remove associated
comments.
Minor reformatting.
Related to PR ada/24533

From-SVN: r135614

gcc/ada/s-linux-hppa.ads

index 3c746de3a92076c5cb61b69bc02e48d973d489de..72d1673d832ea16ee132049baebe2633b02b2075 100644 (file)
@@ -97,21 +97,18 @@ package System.Linux is
 
    --  struct_sigaction offsets
 
-   sa_flags_pos  : constant := Standard'Address_Size / 8;
-   sa_mask_pos   : constant := sa_flags_pos * 2;
+   sa_flags_pos : constant := Standard'Address_Size / 8;
+   sa_mask_pos  : constant := sa_flags_pos * 2;
 
-   SA_SIGINFO  : constant := 16#10#;
-   SA_ONSTACK  : constant := 16#01#;
+   SA_SIGINFO : constant := 16#10#;
+   SA_ONSTACK : constant := 16#01#;
 
    type lock_array is array (1 .. 4) of Integer;
    type atomic_lock_t is record
       lock : lock_array;
    end record;
    pragma Convention (C, atomic_lock_t);
-   --  ??? Alignment should be 16 but this is larger than BIGGEST_ALIGNMENT.
-   --  This causes an erroneous pointer value to sometimes be passed to free
-   --  during deallocation.  See PR ada/24533 for more details.
-   for atomic_lock_t'Alignment use 8;
+   for atomic_lock_t'Alignment use 16;
 
    type struct_pthread_fast_lock is record
       spinlock : atomic_lock_t;