- TAGS support
- Generating "configure" files
- tconfig.in
+- C Language Assumptions
+- "dump" commands under gdb
\f
The "common" directory
======================
Generating "configure" files
============================
-For target's using the common framework, "configure" can be generated
-by running autoconf. This works because configure.in contains
-"sinclude(../common/aclocal.m4)".
+For targets using the common framework, "configure" can be generated
+by running `autoconf'.
To regenerate the configure files for all targets using the common framework:
$ cd devo/sim
- $ make -f Makefile.in autoconf-common
+ $ make -f Makefile.in SHELL=/bin/sh autoconf-common
To add a change-log entry to the ChangeLog file for each updated
directory (WARNING - check the modified new-ChangeLog files before
renaming):
- $ make -f Makefile.in autoconf-changelog
+ $ make -f Makefile.in SHELL=/bin/sh autoconf-changelog
$ more */new-ChangeLog
- $ make -f Makefile.in autoconf-install
+ $ make -f Makefile.in SHELL=/bin/sh autoconf-install
In a similar vein, both the configure and config.in files can be
updated using the sequence:
$ cd devo/sim
- $ make -f Makefile.in autoheader-common
- $ make -f Makefile.in autoheader-changelog
+ $ make -f Makefile.in SHELL=/bin/sh autoheader-common
+ $ make -f Makefile.in SHELL=/bin/sh autoheader-changelog
$ more */new-ChangeLog
- $ make -f Makefile.in autoheader-install
+ $ make -f Makefile.in SHELL=/bin/sh autoheader-install
+
+To add the entries to an alternative ChangeLog file, use:
+
+ $ make ChangeLog=MyChangeLog ....
+
\f
tconfig.in
==========
o The type `unsigned' is valid.
-However, the user should not assume:
+However, the user should be aware of the following:
+
+ o GCC's `<number>LL' is NOT acceptable.
+ Microsoft-C doesn't reconize it.
+
+ o MSC's `<number>i64' is NOT acceptable.
+ GCC doesn't reconize it.
+
+ o GCC's `long long' MSC's `_int64' can
+ NOT be used to define 64 bit integer data
+ types.
+
+ o An empty array (eg int a[0]) is not valid.
+
+When building with GCC it is effectivly a requirement that
+--enable-build-warnings=,-Werror be specified during configuration.
+\f
+"dump" commands under gdb
+=========================
+
+gdbinit.in contains the following
+
+define dump
+set sim_debug_dump ()
+end
+
+Simulators that define the sim_debug_dump function can then have their
+internal state pretty printed from gdb.
+
+FIXME: This can obviously be made more elaborate. As needed it will be.
+\f
+Rebuilding nltvals.def
+======================
+
+Checkout a copy of the SIM and LIBGLOSS modules (Unless you've already
+got one to hand):
+
+ $ mkdir /tmp/$$
+ $ cd /tmp/$$
+ $ cvs checkout sim-no-testsuite libgloss-no-testsuite newlib-no-testsuite
+
+Configure things for an arbitrary simulator target (I've d10v for
+convenience):
+
+ $ 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
+
+To add a new target:
+
+ devo/sim/common/gennltvals.sh
+
+ Add your new processor target (you'll need to grub
+ around to find where your syscall.h lives).
+
+ devo/sim/<processor>/Makefile.in
+
+ Add the definition:
+
+ ``NL_TARGET = -DNL_TARGET_d10v''
+
+ just before the line COMMON_POST_CONFIG_FRAG.
+
+ devo/sim/<processor>/*.[ch]
- o `<number>LL' is acceptable. Microsoft-C
- doesn't reconize it.
+ Include targ-vals.h instead of syscall.h.
- o `long long' or `_int64' provides a 64 bit
- integer data type.