From: John David Anglin Date: Fri, 20 Jan 2006 14:30:33 +0000 (+0000) Subject: re PR ada/24533 (FAIL: a85013b: *** glibc detected *** free(): invalid pointer... X-Git-Tag: releases/gcc-4.2.0~4712 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4bf2d473691e148cd35187b7d12a01d6cd738a2d;p=thirdparty%2Fgcc.git 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 --- 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 + + PR ada/24533 + * s-osinte-linux-hppa.ads: Reduce alignment of atomic_lock_t to 8. + 2005-12-28 John David Anglin * 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;