this change
- makes panic() variadic, doing full printf() formatting -
no more NO_NUM, and no more separate printf() statements
needed to print extra info (or something in hex) before panicing
- unifies panic() - same panic() name and usage for everyone -
vm, kernel and rest have different names/syntax currently
in order to implement their own luxuries, but no longer
- throws out the 1st argument, to make source less noisy.
the panic() in syslib retrieves the server name from the kernel
so it should be clear enough who is panicing; e.g.
panic("sigaction failed: %d", errno);
looks like:
at_wini(73130): panic: sigaction failed: 0
syslib:panic.c: stacktrace: 0x74dc 0x2025 0x100a
- throws out report() - printf() is more convenient and powerful
- harmonizes/fixes the use of panic() - there were a few places
that used printf-style formatting (didn't work) and newlines
(messes up the formatting) in panic()
- throws out a few per-server panic() functions
- cleans up a tie-in of tty with panic()
merging printf() and panic() statements to be done incrementally.
- The primary reason is that mkfs and installboot need to run natively during
the cross compilation (host and target versions are compiled). There is a
collision of include files though. E.g. a.out.h is very minix-specific.
Therefore some files we moved and replaced by stubs that include the original
file if compiling on or for Minix :
include/a.out.h -> include/minix/a.out.h
include/sys/dir.h -> include/minix/dir.h
include/dirent.h -> include/minix/dirent.h
include/sys/types.h -> include/minix/types.h
- This does not break any native compilation on Minix. Other headers that were
including the original files are changed according to include directly the
new, minix specific location not to pick up the host system includes while
cross-compiling.
- role of this patch is to make rebasing of the build branch simpler until the
new build system is merged
other, user-includable config files. It only defines names that don't
pollute the users namespace (start with _). <minix/config.h> still works
like always; it includes sys_config.h now and defines the 'messy' names
(such as CHIP) as the 'cleaner' names (such as _MINIX_CHIP).
Changed some of the other include files to use sys_config.h and the
'cleaner' names. This solves some (past and future) compilation problems.