From 4bf2d473691e148cd35187b7d12a01d6cd738a2d Mon Sep 17 00:00:00 2001 From: John David Anglin <dave.anglin@nrc-cnrc.gc.ca> Date: Fri, 20 Jan 2006 14:30:33 +0000 Subject: [PATCH] re PR ada/24533 (FAIL: a85013b: *** glibc detected *** free(): invalid pointer: 0x00062a00 ***) PR ada/24533 * s-osinte-linux-hppa.ads: Reduce alignment of atomic_lock_t to 8. From-SVN: r110025 --- gcc/ada/ChangeLog | 5 +++++ gcc/ada/s-osinte-linux-hppa.ads | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 8257e4265f21..bc2e38c1ced7 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2006-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + PR ada/24533 + * s-osinte-linux-hppa.ads: Reduce alignment of atomic_lock_t to 8. + 2005-12-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> * s-osinte-linux-hppa.ads: Correct alignment of atomic_lock_t. diff --git a/gcc/ada/s-osinte-linux-hppa.ads b/gcc/ada/s-osinte-linux-hppa.ads index ec7efd2feae1..40f0d073af56 100644 --- a/gcc/ada/s-osinte-linux-hppa.ads +++ b/gcc/ada/s-osinte-linux-hppa.ads @@ -508,7 +508,10 @@ private lock : lock_array; end record; pragma Convention (C, atomic_lock_t); - for atomic_lock_t'Alignment use 16; + -- ??? 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; type struct_pthread_fast_lock is record spinlock : atomic_lock_t; -- GitLab