diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2008-05-20 14:43:59 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2008-05-20 14:43:59 +0200 |
commit | 0e5b1d0b4926ea5adeb1cb9dba0e8c5f2b232640 (patch) | |
tree | 45fb3eaf8b4aa8894e4570e078599e2115f87ca8 | |
parent | 342c987b287f32374df05fe846460881aa128e51 (diff) | |
download | gcc-0e5b1d0b4926ea5adeb1cb9dba0e8c5f2b232640.zip gcc-0e5b1d0b4926ea5adeb1cb9dba0e8c5f2b232640.tar.gz gcc-0e5b1d0b4926ea5adeb1cb9dba0e8c5f2b232640.tar.bz2 |
re PR ada/24533 (FAIL: a85013b: *** glibc detected *** free(): invalid pointer: 0x00062a00 ***)
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
-rw-r--r-- | gcc/ada/s-linux-hppa.ads | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/gcc/ada/s-linux-hppa.ads b/gcc/ada/s-linux-hppa.ads index 3c746de..72d1673 100644 --- a/gcc/ada/s-linux-hppa.ads +++ b/gcc/ada/s-linux-hppa.ads @@ -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; |