diff options
-rw-r--r-- | sim/README-HACKING | 29 | ||||
-rw-r--r-- | sim/common/gennltvals.sh | 13 | ||||
-rw-r--r-- | sim/common/nltvals.def | 60 |
3 files changed, 84 insertions, 18 deletions
diff --git a/sim/README-HACKING b/sim/README-HACKING index 4ebef92..05b2852 100644 --- a/sim/README-HACKING +++ b/sim/README-HACKING @@ -39,6 +39,7 @@ The configure.in of a simulator using the common framework should look like: --- snip --- dnl Process this file with autoconf to produce a configure script. +sinclude(../common/aclocal.m4) AC_PREREQ(2.5)dnl AC_INIT(Makefile.in) @@ -194,7 +195,7 @@ However, the user should be aware of the following: o An empty array (eg int a[0]) is not valid. When building with GCC it is effectivly a requirement that ---enable-sim-warnings be specified during configuration. +--enable-build-warnings=,-Werror be specified during configuration. "dump" commands under gdb ========================= @@ -210,16 +211,24 @@ internal state pretty printed from gdb. FIXME: This can obviously be made more elaborate. As needed it will be. -"dump" commands under gdb -========================= +Rebuilding nltvals.def +====================== -gdbinit.in contains the following +Checkout a copy of the SIM and LIBGLOSS modules (Unless you've already +got one to hand): -define dump -set sim_debug_dump () -end + $ mkdir /tmp/$$ + $ cd /tmp/$$ + $ cvs checkout sim-no-testsuite libgloss-no-testsuite newlib-no-testsuite -Simulators that define the sim_debug_dump function can then have their -internal state pretty printed from gdb. +Configure things for an arbitrary simulator target (I've d10v for +convenience): -FIXME: This can obviously be made more elaborate. As needed it will be. + $ mkdir /tmp/$$/build + $ cd /tmp/$$/build + $ /tmp/$$/devo/configure --target=d10v-elf + +In the sim/common directory rebuild the headers: + + $ cd sim/common + $ make headers diff --git a/sim/common/gennltvals.sh b/sim/common/gennltvals.sh index 39f7c43..4f538cf 100644 --- a/sim/common/gennltvals.sh +++ b/sim/common/gennltvals.sh @@ -29,6 +29,10 @@ $shell ${srccom}/gentvals.sh "" open ${srcroot}/newlib/libc/include \ # Note that there is a standard syscall.h file (libgloss/syscall.h) now which # hopefully more targets can use. +dir=libgloss target=d10v +$shell ${srccom}/gentvals.sh $target sys ${srcroot}/$dir \ + "syscall.h" 'SYS_[_A-Za-z0-9]*' "${cpp}" + dir=libgloss target=d30v $shell ${srccom}/gentvals.sh $target sys ${srcroot}/$dir \ "syscall.h" 'SYS_[_A-Za-z0-9]*' "${cpp}" @@ -41,7 +45,7 @@ dir=libgloss target=m32r $shell ${srccom}/gentvals.sh $target sys ${srcroot}/$dir \ "syscall.h" 'SYS_[_A-Za-z0-9]*' "${cpp}" -dir=libgloss target=sparc +dir=libgloss target=mn10200 $shell ${srccom}/gentvals.sh $target sys ${srcroot}/$dir \ "syscall.h" 'SYS_[_A-Za-z0-9]*' "${cpp}" @@ -49,6 +53,11 @@ dir=libgloss target=mn10300 $shell ${srccom}/gentvals.sh $target sys ${srcroot}/$dir \ "syscall.h" 'SYS_[_A-Za-z0-9]*' "${cpp}" -dir=libgloss target=mn10200 +dir=libgloss target=sparc $shell ${srccom}/gentvals.sh $target sys ${srcroot}/$dir \ "syscall.h" 'SYS_[_A-Za-z0-9]*' "${cpp}" + +dir=libgloss target=v850 +$shell ${srccom}/gentvals.sh $target sys ${srcroot}/$dir \ + "syscall.h" 'SYS_[_A-Za-z0-9]*' "${cpp}" + diff --git a/sim/common/nltvals.def b/sim/common/nltvals.def index e05d3a7..14e46f7 100644 --- a/sim/common/nltvals.def +++ b/sim/common/nltvals.def @@ -180,6 +180,30 @@ { "O_WRONLY", 1 }, /* end open target macros */ #endif +#ifdef NL_TARGET_d10v +#ifdef sys_defs +/* from syscall.h */ +/* begin d10v sys target macros */ + { "SYS_argv", 13 }, + { "SYS_argvlen", 12 }, + { "SYS_chdir", 14 }, + { "SYS_chmod", 16 }, + { "SYS_close", 3 }, + { "SYS_exit", 1 }, + { "SYS_fstat", 10 }, + { "SYS_getpid", 8 }, + { "SYS_kill", 9 }, + { "SYS_lseek", 6 }, + { "SYS_open", 2 }, + { "SYS_read", 4 }, + { "SYS_stat", 15 }, + { "SYS_time", 18 }, + { "SYS_unlink", 7 }, + { "SYS_utime", 17 }, + { "SYS_write", 5 }, +/* end d10v sys target macros */ +#endif +#endif #ifdef NL_TARGET_d30v #ifdef sys_defs /* from syscall.h */ @@ -252,10 +276,10 @@ /* end m32r sys target macros */ #endif #endif -#ifdef NL_TARGET_sparc +#ifdef NL_TARGET_mn10200 #ifdef sys_defs /* from syscall.h */ -/* begin sparc sys target macros */ +/* begin mn10200 sys target macros */ { "SYS_argv", 13 }, { "SYS_argvlen", 12 }, { "SYS_chdir", 14 }, @@ -273,7 +297,7 @@ { "SYS_unlink", 7 }, { "SYS_utime", 17 }, { "SYS_write", 5 }, -/* end sparc sys target macros */ +/* end mn10200 sys target macros */ #endif #endif #ifdef NL_TARGET_mn10300 @@ -300,10 +324,10 @@ /* end mn10300 sys target macros */ #endif #endif -#ifdef NL_TARGET_mn10200 +#ifdef NL_TARGET_sparc #ifdef sys_defs /* from syscall.h */ -/* begin mn10200 sys target macros */ +/* begin sparc sys target macros */ { "SYS_argv", 13 }, { "SYS_argvlen", 12 }, { "SYS_chdir", 14 }, @@ -321,6 +345,30 @@ { "SYS_unlink", 7 }, { "SYS_utime", 17 }, { "SYS_write", 5 }, -/* end mn10200 sys target macros */ +/* end sparc sys target macros */ +#endif +#endif +#ifdef NL_TARGET_v850 +#ifdef sys_defs +/* from syscall.h */ +/* begin v850 sys target macros */ + { "SYS_argv", 13 }, + { "SYS_argvlen", 12 }, + { "SYS_chdir", 14 }, + { "SYS_chmod", 16 }, + { "SYS_close", 3 }, + { "SYS_exit", 1 }, + { "SYS_fstat", 10 }, + { "SYS_getpid", 8 }, + { "SYS_kill", 9 }, + { "SYS_lseek", 6 }, + { "SYS_open", 2 }, + { "SYS_read", 4 }, + { "SYS_stat", 15 }, + { "SYS_time", 18 }, + { "SYS_unlink", 7 }, + { "SYS_utime", 17 }, + { "SYS_write", 5 }, +/* end v850 sys target macros */ #endif #endif |