aboutsummaryrefslogtreecommitdiff
path: root/sim
diff options
context:
space:
mode:
Diffstat (limited to 'sim')
-rw-r--r--sim/README-HACKING29
-rw-r--r--sim/common/gennltvals.sh13
-rw-r--r--sim/common/nltvals.def60
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