[Bug ada/24533] FAIL: a85013b: *** glibc detected *** free(): invalid pointer: 0x00062a00 ***

charlet at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Tue Jan 3 13:28:00 GMT 2006



------- Comment #4 from charlet at gcc dot gnu dot org  2006-01-03 13:28 -------
The bug is that the following line in s-osinte-linux-hppa.ads is wrong:

   for atomic_lock_t'Alignment use 8 * 16;

The alignment clause takes *bytes*, not *bits*, so you need to use instead:

   for atomic_lock_t'Alignment use 16;

The inconsistency between new and free for objects aligned more than
Standard'Maximum_Alignment is indeed a known latent issue that
is being worked on and is not trivial to fix, but should not affect the Ada
run-time itself (except when a wrong clause is defined as was the case here).

Change suggested above pre-approved.

Arno


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24533




More information about the Gcc-bugs mailing list