aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
authorJohn David Anglin <dave.anglin@nrc-cnrc.gc.ca>2006-01-20 14:30:33 +0000
committerJohn David Anglin <danglin@gcc.gnu.org>2006-01-20 14:30:33 +0000
commit4bf2d473691e148cd35187b7d12a01d6cd738a2d (patch)
tree85a27758c7e0e1c8ee958ed1246e62ea5d6a96f0 /gcc/ada
parent670cbfcfc5abfff4ae0af7a7c7c5e4145c3c7248 (diff)
downloadgcc-4bf2d473691e148cd35187b7d12a01d6cd738a2d.zip
gcc-4bf2d473691e148cd35187b7d12a01d6cd738a2d.tar.gz
gcc-4bf2d473691e148cd35187b7d12a01d6cd738a2d.tar.bz2
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
Diffstat (limited to 'gcc/ada')
-rw-r--r--gcc/ada/ChangeLog5
-rw-r--r--gcc/ada/s-osinte-linux-hppa.ads5
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 8257e42..bc2e38c 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 ec7efd2..40f0d07 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;