gdbarmsim: iostream fails.

Joel Sherrill Joel.Sherrill at OARcorp.com
Mon May 26 15:06:01 UTC 2014


On May 26, 2014 7:27 AM, Chris Johns <chrisj at rtems.org> wrote:
>
> On 26/05/2014 12:44 pm, Chris Johns wrote:
> > Hi,
> >
> > I have pushed changes to the gdbarmsim. These changes plus the no-isr v2
> > patch give the following results:
> >
> > Passed:   448
> > Failed:     0
> > Timeouts:   2
> > Invalid:    1
> > -------------
> > Total:    451
> >
> > Timeouts:
> >   spfatal26.exe
> >   sp54.exe
> > Invalid:
> >   cxx_iostream.exe
> > Testing time: 0:04:20.781195
> >
> > The iostream sample test is failing because it clears the workspace and
> > it is exposing an issue. If I define BSP_GET_WORK_AREA_DEBUG in the
> > bsp.h the iostream test passes. With out BSP_GET_WORK_AREA_DEBUG the
> > executable is 256 bytes less and the workspace is 256 bytes larger. I do
> > not know why this makes a difference.
> >
> > The failure is due to the mknod call to create the console node failing
> > because the node name is all null characters. The call is
> > shared/console-polled.c:78:
> >
> >    status = rtems_io_register_name( "/dev/console", major, 0 );
> >
> > and inside rtems_io_register_name the name is empty.
> >
> > The call to _Workspace_Handler_initialization seems fine and the
> > workspace is cleared without a problem however the next call to
> > RTEMS_Malloc_Initialize results in the string being cleared.
> >
> > Any hints ?
> >
>
> It turns out the problem was the start.S in gdbarmsim was not compatible
> with the linkercmds files so I have replaced the old start.S with the
> common ARM start up code and pushed the change.

Good catch!!

> The results now are:
>
> Passed:   450
> Failed:     0
> Timeouts:   1
> Invalid:    0
> -------------
> Total:    451
>
> Timeouts:
>   spfatal26.exe
> Testing time: 0:04:18.455086

Awesome!! I have forgotten to pass along that the big value of these gdb simulators and their variations is that you get some testing on all multilib variants. This applies to the arm, h8, m32r, m32c. Sh, and v850 gdb simulator bsps off the top of my head. The pc386 is tested on qemu but we should consider the multilib coverage there.

The MIPS has a generic gdb simulator and we could have a bsp for it.

It adds coincidence without having 100s of boards and individual bsps no one cares about. Plus these are simple bsps.

Did the set of bsp variants I created cover all multilibs for arm we have now?

> I think spfatal26 should not be built for this BSP as I suspect the gdb
> simulator is not generating exceptions for misaligned accesses. Yes or no ?

Seems quite likely but I don't know for sure. If this is the case, I would not add spfatal26 to the list but consider unaligned access generate fault and fatal error as a class of tests. At least it documents it.


> Chris
> _______________________________________________
> rtems-devel mailing list
> rtems-devel at rtems.org
> http://www.rtems.org/mailman/listinfo/rtems-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20140526/2d85c7a0/attachment.html>


More information about the devel mailing list