mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-19 12:21:15 +08:00
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
This commit is contained in:
parent
342c987b28
commit
0e5b1d0b49
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user