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