mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-02-17 13:10:12 +08:00
* sim/cris/c/settls1.c: New test.
This commit is contained in:
parent
ddf2c97233
commit
51d95096e0
@ -1,5 +1,6 @@
|
||||
2009-01-03 Hans-Peter Nilsson <hp@axis.com>
|
||||
|
||||
* sim/cris/c/settls1.c: New test.
|
||||
* sim/cris/c/exitg1.c, sim/cris/c/exitg2.c: New tests.
|
||||
* sim/cris/c/uname1.c: New test.
|
||||
* sim/cris/c/mmap1.c (MMAP_FLAGS): Default-define to
|
||||
|
49
sim/testsuite/sim/cris/c/settls1.c
Normal file
49
sim/testsuite/sim/cris/c/settls1.c
Normal file
@ -0,0 +1,49 @@
|
||||
/* Check that the syscall set_thread_area is supported and does the right thing.
|
||||
#notarget: cris*-*-elf
|
||||
*/
|
||||
|
||||
#include <unistd.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#ifndef SYS_set_thread_area
|
||||
#define SYS_set_thread_area 243
|
||||
#endif
|
||||
|
||||
int main (void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
/* Check the error check that the low 8 bits must be 0. */
|
||||
ret = syscall (SYS_set_thread_area, 0xfeeb1ff0);
|
||||
if (ret != -1 || errno != EINVAL)
|
||||
{
|
||||
perror ("tls1");
|
||||
abort ();
|
||||
}
|
||||
|
||||
ret = syscall (SYS_set_thread_area, 0xcafebe00);
|
||||
if (ret != 0)
|
||||
{
|
||||
perror ("tls2");
|
||||
abort ();
|
||||
}
|
||||
|
||||
/* Check that we got the right result. */
|
||||
#ifdef __arch_v32
|
||||
asm ("move $pid,%0\n\tclear.b %0" : "=rm" (ret));
|
||||
#else
|
||||
asm ("move $brp,%0" : "=rm" (ret));
|
||||
#endif
|
||||
|
||||
if (ret != 0xcafebe00)
|
||||
{
|
||||
perror ("tls2");
|
||||
abort ();
|
||||
}
|
||||
|
||||
printf ("pass\n");
|
||||
exit (0);
|
||||
}
|
Loading…
Reference in New Issue
Block a user