This occurs on many ada tasking tests:

splitting
/home/dave/gnu/gcc-4.0/objdir/gcc/testsuite/ada/acats/tests/a/a85013b.
ada into:
   a85013b.adb
BUILD a85013b.adb
gnatmake --GCC="/home/dave/gnu/gcc-4.0/objdir/gcc/xgcc
-B/home/dave/gnu/gcc-4.0/
objdir/gcc/" -gnatws -g -O2
-I/home/dave/gnu/gcc-4.0/objdir/gcc/testsuite/ada/ac
ats/support a85013b.adb -largs --GCC="/home/dave/gnu/gcc-4.0/objdir/gcc/xgcc
-B/
home/dave/gnu/gcc-4.0/objdir/gcc/"
/home/dave/gnu/gcc-4.0/objdir/gcc/xgcc -c -B/home/dave/gnu/gcc-4.0/objdir/gcc/
-
gnatws -g -O2 -I/home/dave/gnu/gcc-4.0/objdir/gcc/testsuite/ada/acats/support
a8
5013b.adb
gnatbind -aO./ -I/home/dave/gnu/gcc-4.0/objdir/gcc/testsuite/ada/acats/support
-
I- -x a85013b.ali
gnatlink a85013b.ali -g --GCC=/home/dave/gnu/gcc-4.0/objdir/gcc/xgcc
-B/home/dav
e/gnu/gcc-4.0/objdir/gcc/
RUN a85013b

,.,. A85013B ACATS 2.5 05-10-25 16:01:51
---- A85013B CHECK THAT A SUBPROGRAM CAN BE RENAMED WITHIN ITS OWN BODY
                AND THAT THE NEW NAME CAN BE USED IN A RENAMING
                DECLARATION.
*** glibc detected *** free(): invalid pointer: 0x00062a00 ***
/home/dave/gnu/gcc-4.0/gcc/gcc/testsuite/ada/acats/run_all.sh: line 15:  7892
Ab
orted                 (core dumped) $*
FAIL:   a85013b

Looking at this with gdb, it looks as if the pointer passed to free might
be off by 8 bytes.

Breakpoint 1, <__gnat_free> (ptr=403968) at s-memory.adb:107
107        procedure Free (Ptr : System.Address) is
Current language:  auto; currently ada
(gdb) bt
#0  <__gnat_free> (ptr=403968) at s-memory.adb:107
#1  0x0001f5d8 in system.task_primitives.operations.finalize_tcb (t=0x62a00)
    at s-taprop.adb:827
#2  0x00030824 in system.tasking.stages.vulnerable_complete_master (
    self_id=0x61880) at s-tassta.adb:1560
#3  0x00033be0 in a87b59a__B_4___clean___1150 () at a87b59a.adb:33
#4  0x00033f18 in a87b59a () at a87b59a.adb:144
#5  0x0001523c in main (argc=1, argv=3227612440, envp=3227612448)
    at b~a87b59a.adb:168
(gdb) p/x ptr
$1 = 0x62a00


-- 
           Summary: FAIL:   a85013b: *** glibc detected *** free(): invalid
                    pointer: 0x00062a00 ***
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: ada
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: danglin at gcc dot gnu dot org
 GCC build triplet: hppa-unknown-linux-gnu
  GCC host triplet: hppa-unknown-linux-gnu
GCC target triplet: hppa-unknown-linux-gnu


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

Reply via email to