[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-05-12 Thread charlet at gcc dot gnu dot org
--- Comment #39 from charlet at gcc dot gnu dot org 2008-05-12 22:43 --- Fixed on trunk. Patch pre-approved on active branches if deemed necessary. -- charlet at gcc dot gnu dot org changed: What|Removed |Added

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-04-05 Thread laurent at guerby dot net
--- Comment #38 from laurent at guerby dot net 2008-04-05 09:51 --- It's usually best to develop a patch against trunk and then port it if interest for other branches. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35284

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-04-04 Thread joel at gcc dot gnu dot org
--- Comment #37 from joel at gcc dot gnu dot org 2008-04-04 15:11 --- Forgot we are up to 4.4... it applies to 4.2 and 4.3 branches. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35284

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-04-04 Thread joel at gcc dot gnu dot org
--- Comment #36 from joel at gcc dot gnu dot org 2008-04-04 14:30 --- Test results running with osinte.diff have been posted to gcc-testresults for i386, mips, sparc, and powerpc. They look very good. Most failures are cross-target or FPU exceptions now. This needs to be applied to th

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-04-03 Thread joel dot sherrill at oarcorp dot com
--- Comment #35 from joel dot sherrill at oarcorp dot com 2008-04-03 14:30 --- Subject: Re: Branch to 0x0 from Ada run-time laurent at guerby dot net wrote: > --- Comment #34 from laurent at guerby dot net 2008-04-03 03:47 --- > May be other platform aligned the record 8 byte

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-04-02 Thread laurent at guerby dot net
--- Comment #34 from laurent at guerby dot net 2008-04-03 03:47 --- May be other platform aligned the record 8 byte hence hiding the issue, and x86 only 4 bytes hence showing it. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35284

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-04-02 Thread laurent at guerby dot net
--- Comment #33 from laurent at guerby dot net 2008-04-03 03:46 --- Great news! -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35284

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-04-02 Thread joel at gcc dot gnu dot org
--- Comment #32 from joel at gcc dot gnu dot org 2008-04-03 00:14 --- Created an attachment (id=15417) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15417&action=view) Correct structure bindings pthread_condattr_t was missing a field. sched_param had an incorrect type. -- ht

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-04-02 Thread joel at gcc dot gnu dot org
--- Comment #31 from joel at gcc dot gnu dot org 2008-04-03 00:10 --- (In reply to comment #30) > Did you look at what happens in Initialize_TCB to the variable Success ? After waiting and waiting at the hospital today, I had plenty of time to think. My guess was that the saved copy o

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-04-02 Thread laurent at guerby dot net
--- Comment #30 from laurent at guerby dot net 2008-04-02 16:44 --- Did you look at what happens in Initialize_TCB to the variable Success ? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35284

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-04-02 Thread joel at gcc dot gnu dot org
--- Comment #29 from joel at gcc dot gnu dot org 2008-04-02 15:08 --- I have spent the morning debugging at the assembly level and I am nearly 100% positive %ebx is getting corrupted. It is correct before the call to STPO.Initialize_TCB (T, Success); at s-taskin.adb and 0x0 upo

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-04-02 Thread laurent at guerby dot net
--- Comment #28 from laurent at guerby dot net 2008-04-02 11:44 --- I did not notice that s-taprop for rtems was the posix version procedure Initialize_TCB (Self_ID : Task_Id; Succeeded : out Boolean) is Mutex_Attr : aliased pthread_mutexattr_t; Result : Interfaces.C.

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-04-02 Thread laurent at guerby dot net
--- Comment #27 from laurent at guerby dot net 2008-04-02 07:36 --- My guess is that Initialize_TCB you wrote for RTEMS (s-taprop-rtems) does not set success to True for some reason: procedure Initialize_ATCB ... STPO.Initialize_TCB (T, Success); --- here call into RTEMS specif

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-04-01 Thread joel at gcc dot gnu dot org
--- Comment #26 from joel at gcc dot gnu dot org 2008-04-01 22:40 --- (In reply to comment #25) > The binder will generate a call to Set_Globals The code is different for the head but the intent is clear. Thanks for the explanation. A diff of the generated b~ file for powerpc and i386

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-04-01 Thread laurent at guerby dot net
--- Comment #25 from laurent at guerby dot net 2008-04-01 19:40 --- The binder will generate a call to Set_Globals pragma Import (C, Set_Globals, "__gnat_set_globals"); Set_Globals (Main_Priority=> -1, Time_Slice_Value => -1, WC_

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-04-01 Thread joel at gcc dot gnu dot org
--- Comment #24 from joel at gcc dot gnu dot org 2008-04-01 18:02 --- With Laurent's test program, I have traces of good (powerpc/psim) and bad (qemu) runs. The traced include only entry and exit status info for the following calls are: _CPU_Context_switch pthread_cond_broadcast pthre

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-03-31 Thread laurent at guerby dot net
--- Comment #23 from laurent at guerby dot net 2008-03-31 20:21 --- pthread create and context switch should be the first to look at, in comparison with a platform where it works. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35284

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-03-31 Thread joel at gcc dot gnu dot org
--- Comment #22 from joel at gcc dot gnu dot org 2008-03-31 20:16 --- (In reply to comment #21) > Best think would be to trace rtems calls on a platform where it works vs on > the > simulator. On a platform where it works, look at the backtrace of the task > creation call and try to fin

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-03-14 Thread laurent at guerby dot net
--- Comment #21 from laurent at guerby dot net 2008-03-14 22:29 --- Best think would be to trace rtems calls on a platform where it works vs on the simulator. On a platform where it works, look at the backtrace of the task creation call and try to find out why it doesn't get called on i3

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-03-14 Thread joel at gcc dot gnu dot org
--- Comment #20 from joel at gcc dot gnu dot org 2008-03-14 21:46 --- I don't want this bug to die from inattention. Returning to my analysis of Laurent's program, the task does not get to run at all before the system is finalized. I suspect this indicates the initialization of the task

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-02-25 Thread joel at gcc dot gnu dot org
--- Comment #19 from joel at gcc dot gnu dot org 2008-02-25 20:45 --- How early can I look at the task priority? Is it stored in some data structure that I can see with objdump before the program is run? I have yet to see anything in the debugger except 0 getting passed to task creat

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-02-22 Thread joel at gcc dot gnu dot org
--- Comment #18 from joel at gcc dot gnu dot org 2008-02-22 22:35 --- (In reply to comment #17) > If you have it on CFARM let me know where and what command to launch to gdb > your testcase. I have been building and running it on my laptop but there is now enough on CFARM to run it. q

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-02-22 Thread laurent at guerby dot net
--- Comment #17 from laurent at guerby dot net 2008-02-22 22:02 --- If you have it on CFARM let me know where and what command to launch to gdb your testcase. What does RTEMS ada_pthread_minimum_stack_size returns in both case (under gdb)? -- http://gcc.gnu.org/bugzilla/show_bug.cg

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-02-22 Thread joel at gcc dot gnu dot org
--- Comment #16 from joel at gcc dot gnu dot org 2008-02-22 22:01 --- I can add mips/jmr3904 to the list that runs t.adb correctly. So we have this as a summary: sparc/sis, powerpc/psim, mips/jmr3904, arm/edb7312 - t.adb runs OK i386/pc386 fails bfin/exkit533 - GNAT bug bo I doubleche

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-02-22 Thread joel at gcc dot gnu dot org
--- Comment #15 from joel at gcc dot gnu dot org 2008-02-22 21:56 --- (In reply to comment #14) > Default values come from ada/s-parame-rtems.adb, for the stack it ends up in > RTEMS ada_pthread_minimum_stack_size: > > package body System.Parameters is > >function ada_pthread_minim

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-02-22 Thread laurent at guerby dot net
--- Comment #14 from laurent at guerby dot net 2008-02-22 21:12 --- Default values come from ada/s-parame-rtems.adb, for the stack it ends up in RTEMS ada_pthread_minimum_stack_size: package body System.Parameters is function ada_pthread_minimum_stack_size return Interfaces.C.size_t

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-02-22 Thread joel at gcc dot gnu dot org
--- Comment #13 from joel at gcc dot gnu dot org 2008-02-22 20:53 --- Laurent's t.adb works on arm/edb7312. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35284

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-02-22 Thread joel at gcc dot gnu dot org
--- Comment #12 from joel at gcc dot gnu dot org 2008-02-22 16:43 --- I just noticed that the stack size passed to system.task_primitives.operations.create_task is also 0 in the back trace on the i386. It is 32724 on the PowerPC. So two parameters are bad. The 0 just indicates that the

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-02-22 Thread joel at gcc dot gnu dot org
--- Comment #11 from joel at gcc dot gnu dot org 2008-02-22 15:34 --- Good Morning! By setting a breakpoint on _CPU_Context_switch in RTEMS, I can see where things went wrong. On both SPARC and PowerPC, we dispatched out of this backtrace: (gdb) bt #0 pthread_setschedparam (thread=18

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-02-22 Thread charlet at adacore dot com
--- Comment #10 from charlet at adacore dot com 2008-02-22 08:34 --- Subject: Re: Branch to 0x0 from Ada run-time > Arnaud, do you have any idea on what to look at (interesting breakpoint and > data structures)? RTEMS tasking works on other platforms. May be some Ada/C > thread interfa

Re: [Bug ada/35284] Branch to 0x0 from Ada run-time

2008-02-22 Thread Arnaud Charlet
> Arnaud, do you have any idea on what to look at (interesting breakpoint and > data structures)? RTEMS tasking works on other platforms. May be some Ada/C > thread interface data structure has the wrong size in the case of x86 and > things get corrupted (s-oisinte-rtems.ads). I'd suggest putting

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-02-22 Thread laurent at guerby dot net
--- Comment #9 from laurent at guerby dot net 2008-02-22 08:29 --- Arnaud, do you have any idea on what to look at (interesting breakpoint and data structures)? RTEMS tasking works on other platforms. May be some Ada/C thread interface data structure has the wrong size in the case of x86

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-02-22 Thread charlet at gcc dot gnu dot org
--- Comment #8 from charlet at gcc dot gnu dot org 2008-02-22 08:02 --- Sounds like something specific to RTEMS, since I've never seen something like that on any other platform. -- charlet at gcc dot gnu dot org changed: What|Removed |Added ---

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-02-21 Thread joel dot sherrill at oarcorp dot com
--- Comment #7 from joel dot sherrill at oarcorp dot com 2008-02-21 23:55 --- Subject: Re: Branch to 0x0 from Ada run-time laurent at guerby dot net wrote: > --- Comment #6 from laurent at guerby dot net 2008-02-21 22:59 --- > Could you post the exact backtrace on my testcase

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-02-21 Thread laurent at guerby dot net
--- Comment #6 from laurent at guerby dot net 2008-02-21 22:59 --- Could you post the exact backtrace on my testcase? It purposely doesn't use the complex Text_IO so things should be clearer. Also if you could use gdb to get an understanding of what is done during adainit execution befor

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-02-21 Thread joel at gcc dot gnu dot org
--- Comment #5 from joel at gcc dot gnu dot org 2008-02-21 22:53 --- Created an attachment (id=15202) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15202&action=view) generated from Laurent's t.adb -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35284

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-02-21 Thread joel at gcc dot gnu dot org
--- Comment #4 from joel at gcc dot gnu dot org 2008-02-21 22:52 --- Runs OK on powerpc/psim and sparc/sis built from the same source tree for GCC and RTEMS. Fails like a99006a on i386. Are there only ~300 tests which rely on tasking? I posted this URL: http://gcc.gnu.org/ml/gcc-test

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-02-21 Thread laurent at guerby dot net
--- Comment #3 from laurent at guerby dot net 2008-02-21 22:32 --- The great majority of FAIL are tests with an Ada task so my guess is that tasking is broken. I'm not a specialist but GNAT soft links are pointers to function which are set by the elaboration code to point to tasking or

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-02-21 Thread joel at gcc dot gnu dot org
--- Comment #2 from joel at gcc dot gnu dot org 2008-02-21 22:11 --- Created an attachment (id=15201) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15201&action=view) numerically sorted symbol table matching qemu.log This is the numerically sorted symbol table matching the attache

[Bug ada/35284] Branch to 0x0 from Ada run-time

2008-02-21 Thread joel at gcc dot gnu dot org
--- Comment #1 from joel at gcc dot gnu dot org 2008-02-21 22:10 --- Created an attachment (id=15200) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15200&action=view) QEMU trace up to branch to 0x0 Search for "^0x" and then scroll backwards to see the indirect call in ques