Test Failures on erc32 (sis)
Jiri Gaisler
jiri at gaisler.se
Fri Dec 2 10:10:15 UTC 2016
On 01/12/16 17:43, Joel Sherrill wrote:
> Hi
>
> erc32 has a couple of test failures on master:
>
>
> *** BEGIN OF TEST PSXSPIN 1 ***
> pthread_spin_init( &spinlock, PTHREAD_PROCESS_PRIVATE ) -- OK
> pthread_spin_destroy( &spinlock ) -- OK
> pthread_spin_init( &spinlock, PTHREAD_PROCESS_SHARED ) -- OK
> pthread_spin_destroy( &spinlock ) -- OK
> pthread_spin_init( &spinlock, 0x1234 ) -- OK
> pthread_spin_init( &spinlock2, 0 ) -- OK
> pthread_spin_lock( &spinlock ) -- OK
> Unexpected trap ( 9) at address 0x02008758
> data access exception at 0x00000008
>
>
> *** BEGIN OF TEST SPCONTEXT 1 ***
> Test configuration N N N... done
> Test configuration N N F...
> ../../../../../../../rtems/c/src/../../testsuites/sptests/spcontext01/init.c:
> 44 0
>
> I have not had a chance to check other BSPs yet.
>
> Thanks.
>
> --joel
>
Could it be a gcc/binutils problem? Software trap 5 is called to set/get
the interrupt level of a spinlock, but RTEMS's sparc.h does not mention
this trap at all. In old SunOS, software trap 5 (0x85) was 'range
check', whatever that meant ...
2008750: 81 c3 e0 08 retl
2008754: 90 10 20 00 clr %o0
the_spinlock->interrupt_state = level;
2008758: c0 20 20 08 clr [ 8 ]
200875c: 91 d0 20 05 ta 5
02008760 <pthread_spin_unlock>:
{
POSIX_Spinlock_Control *the_spinlock;
ISR_Level level;
the_spinlock = _POSIX_Spinlock_Get( lock );
level = the_spinlock->interrupt_state;
2008760: c2 00 20 08 ld [ 8 ], %g1
2008764: 91 d0 20 05 ta 5
Jiri.
More information about the devel
mailing list