aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
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;