Commit graph

210 commits

Author SHA1 Message Date
Lionel Sambuc
d19d7d58aa Toolchain upgrade and portability improvements.
upgrade to NetBSD CVS release from 2012/10/17 12:00:00 UTC

Makefiles updates to imporve portability

Made sure to be consistent in the usage of braces/parenthesis at
least on a per file basis. For variables, it is recommended to
continue to use braces.
2012-11-15 16:07:29 +01:00
Ben Gras
b1da7fafd0 vm: fix a null dereference on out-of-memory
. also make other out-of-memory conditions less fatal
	. add a test case for a user program using all the memory
	  it can
	. remove some diagnostic prints for situations that are normal
	  when running out of memory so running the test isn't noisy
2012-11-09 18:36:51 +01:00
Ben Gras
196021cd82 drop safemap code 2012-10-30 13:55:42 +01:00
Thomas Veerman
f1b9e8249b testsh2.sh: change output to new cksum util 2012-10-30 13:08:45 +00:00
David van Moolenbroek
2e26c872c4 blocktest: make fewer assumptions about driver
In particular, allow partial results to be returned in some cases,
and do not require that the driver fail on word-unaligned access.
2012-10-15 11:50:59 +00:00
David van Moolenbroek
52cf951fdc tests: fix IPC test set fix
Partial rollback of git-df39752.
2012-10-11 20:38:41 +02:00
Ben Gras
39393e7046 minor fixes for safecopy & safemap tests 2012-10-10 19:12:42 +02:00
Thomas Veerman
6cb94cc91b tests: don't chmod 777 everything upon cleanup
rm -rf works just fine no matter what mode bits are set (modulo
file ownership and current user id). Test 43 creates a symlink
to / and the chmod operation would change file permissions outside
of the test directory.
2012-09-19 16:20:41 +00:00
David van Moolenbroek
df3975243b tests: fix IPC test set
- use one single library instead of loose library files
- we don't have ftime() anymore
- shmat(non-NULL) is currently broken, fix shmt test set to bypass this
- some other small issues
2012-09-10 19:20:03 +02:00
David van Moolenbroek
c9f644bd68 blocktest: switch from rand() to lrand48()
Apparently, with NetBSD's libc, the exclusive OR of the lower eight
bits of 4096 consecutive rand() values is zero, breaking some tests.
2012-09-10 11:35:04 +02:00
Arne Welzel
4fbdf1946d blocktest: fix segfault on vectored read 2012-09-10 11:32:38 +02:00
David van Moolenbroek
66ef912042 tests: fix DS tests' README too 2012-09-08 16:42:32 +02:00
David van Moolenbroek
2fbc9b274b blocktest: make script more newbie-friendly 2012-09-07 14:25:46 +00:00
David van Moolenbroek
087ace4459 tests: fix DS tests 2012-09-03 12:20:16 +00:00
Arun Thomas
fd43d93ce5 ARM support for system libraries 2012-08-28 13:49:27 -04:00
Arun Thomas
6723dcfab7 Replace MACHINE/CHIP macros with compiler macros 2012-08-06 17:49:22 +02:00
Ben Gras
6a6b7b5769 ld.so: be more mmap()-behaviour-independent
. if the layout of virtual address regions as returned
	  by mmap() without a location hint changes, ld.so could
	  trip itself up (under minix). this change allocates
	  the full size it needs for every object that's loaded
	  so that if that succeeds, it's sure there's virtual address
	  space for the whole thing no matter what other bits happen
	  to be there already.

	. this fix exposed a bug in the test; at atexit() execution
	  time the loaded object is unmapped, so that part of the
	  test is removed.
2012-06-25 14:13:07 +02:00
Ben Gras
2bfeeed885 drop segment from safecopy invocations
. all invocations were S or D, so can safely be dropped
	  to prepare for the segmentless world
	. still assign D to the SCP_SEG field in the message
	  to make previous kernels usable
2012-06-16 16:22:51 +00:00
David van Moolenbroek
f004a0a980 test43: fix dangling-symlink case 2012-05-02 17:39:58 +02:00
David van Moolenbroek
26f817243b VFS: reimplement truncate mtime/ctime fix
POSIX mandates that a file's modification and change time be left
untouched upon truncate/ftruncate iff the file size does not change.
However, an open(O_TRUNC) call must always update the modification and
change time of the file, even if it was already zero-sized. VFS uses
the file systems' truncate call to implement O_TRUNC. This patch
replaces git-255ae85, which did not take into account the open case.
The size check is now moved into VFS, so that individual file systems
need not check for this case anymore.
2012-04-20 11:35:59 +02:00
David van Moolenbroek
1e78879f1e run test fix, take two 2012-04-20 11:34:56 +02:00
Ben Gras
ed21b54203 run test fix 2012-04-18 15:59:37 +02:00
Ben Gras
5086f1b2a1 test scripts fixes 2012-04-16 16:04:44 +02:00
Ben Gras
0c8e5ecc2e tests: link them dynamically by default
. so that functionality is tested
	. add test63 that actually tests dlopen(), dlsym(),
	  etc. functionality; only built if clang supports it
	. also test10 test to copy more of the executable
2012-04-16 05:21:21 +02:00
Ben Gras
b02992f0c1 test: convert to bsdish Makefile
. smaller, simpler, less duplication, exceptions still
	  encodeable
	. fix for test10: too small a buffer to copy executables
2012-04-12 03:03:17 +02:00
Ben Gras
1c7885f932 fix gcc test62 2012-04-12 02:55:04 +02:00
Ben Gras
204ae72525 retire _ANSI and <minix/ansi.h> 2012-03-25 21:58:27 +02:00
Ben Gras
f22864c24e get rid of __LONG_LONG_SUPPORTED
. also drop minix-specific code in libarchive
	  that was needed for not supporting 64 bit ints
2012-03-25 21:58:26 +02:00
Ben Gras
db242ed39d retire _CONST, _VOLATILE, _SIZET, _ARGS, _VOID 2012-03-25 21:58:20 +02:00
Ben Gras
7336a67dfe retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
Ben Gras
6a73e85ad1 retire _PROTOTYPE
. only good for obsolete K&R support
	. also remove a stray ansi.h and the proto cmd
2012-03-25 16:17:10 +02:00
David van Moolenbroek
cf720a028a Test set for sys_vumap()
Located in test/kernel. Invoke "run" to run tests.
2012-03-24 19:51:14 +01:00
David van Moolenbroek
c729ff0050 blocktest: updates for sys_vumap() 2012-03-24 19:51:13 +01:00
Ben Gras
6af9856d4a libcompat_minix-centric cleanup
remove some old minix-userland-specific stuff

	. /etc/ttytab as a file, and minix-compat function (fftyslot()),
	  replaced by /etc/ttys and new libc functions
	. also remove minix-specific nlist(), cuserid(), fttyslot(), v8 regex
	  functions and <compat/regex.h>
	. and remaining minix-only utilities that use them
	. also unused <compat/pwd.h> and <compat/syslog.h> and
	  redundant <sys/sigcontext.h>
2012-03-16 17:06:24 +01:00
Thomas Veerman
0438b62014 Test48: resolve existing hostname with static IP address 2012-03-09 11:44:03 +00:00
David van Moolenbroek
ffaae26145 test48: disable failing resolver test
Temporary, until a better solution comes along.
Also, .xxx is now a valid TLD!
2012-03-09 02:01:03 +01:00
David van Moolenbroek
a615a7d4d2 Kernel: retain FPU state upon save
On the x86, saving FPU state has the side effect of resetting this
state. In some cases (fork, getcontext), this would cause the state
to be lost. This patch restores the FPU state right after saving it,
except when different state is loaded immediately after.
2012-03-05 22:32:14 +01:00
David van Moolenbroek
0a8a2ecfb5 Kernel: pass FPU restore exception to user process
Previously, user processes could cause a kernel panic upon FPU state
restore, by passing bogus FPU state to the kernel (through e.g.
sigreturn). With this patch, the process is now sent a SIGFPE signal
instead.
2012-03-05 22:32:14 +01:00
Thomas Veerman
4c156d8a32 test set: remove GCC specificity 2012-02-17 17:22:37 +00:00
Ben Gras
0bf3f4c52a fix shell tests - no cc or aal 2012-02-16 12:10:39 +00:00
Ben Gras
2fe8fb192f Full switch to clang/ELF. Drop ack. Simplify.
There is important information about booting non-ack images in
docs/UPDATING. ack/aout-format images can't be built any more, and
booting clang/ELF-format ones is a little different. Updating to the
new boot monitor is recommended.

Changes in this commit:

	. drop boot monitor -> allowing dropping ack support
	. facility to copy ELF boot files to /boot so that old boot monitor
	  can still boot fairly easily, see UPDATING
	. no more ack-format libraries -> single-case libraries
	. some cleanup of OBJECT_FMT, COMPILER_TYPE, etc cases
	. drop several ack toolchain commands, but not all support
	  commands (e.g. aal is gone but acksize is not yet).
	. a few libc files moved to netbsd libc dir
	. new /bin/date as minix date used code in libc/
	. test compile fix
	. harmonize includes
	. /usr/lib is no longer special: without ack, /usr/lib plays no
	  kind of special bootstrapping role any more and bootstrapping
	  is done exclusively through packages, so releases depend even
	  less on the state of the machine making them now.
	. rename nbsd_lib* to lib*
	. reduce mtree
2012-02-14 14:52:02 +01:00
Thomas Veerman
0949f5b342 libmthread: don't free() user allocated stack space 2012-02-13 13:50:13 +00:00
Thomas Veerman
23491b7f46 Remove unused variables 2012-02-02 10:47:06 +00:00
Thomas Veerman
1fc399a5c1 Add permission test for bind and socket
Also, apply forbidden patch to VFS from AVFS (fixes hanging test56 if
it has the permission test).
2012-01-30 15:16:20 +00:00
Thomas Veerman
e257c999b8 Replace rm and rmdir with NetBSD version 2012-01-16 10:46:14 +00:00
Ben Gras
34a8901eb8 vfs,avfs: verify an interpreter was found on #! line
. if not, NULL *interp is dereferenced
2011-12-21 23:44:13 +01:00
Thomas Veerman
3fb6c995e0 Make all tests use common.c
This will make sure that all file descriptors are closed through
the use of the start() function.
2011-12-21 12:59:22 +00:00
David van Moolenbroek
e7db2d3588 Add fbd -- Faulty Block Device driver
This driver can be loaded as an overlay on top of a real block
device, and can then be used to generate block-level failures for
certain transfer requests. Specifically, a rule-based system allows
the user to introduce (overt and silent) data corruption and errors.

It exposes itself through /dev/fbd, and a file system can be mounted
on top of it. The new fbdctl(8) tool can be used to control the
driver; see ``man fbdctl'' for details. It also comes with a test
set, located in test/fbdtest.
2011-12-11 22:45:46 +01:00
David van Moolenbroek
f65e531ee4 blocktest: support for stateless driver restarts 2011-12-11 22:41:51 +01:00
David van Moolenbroek
95d1f25b28 blocktest: resolve label/minor in userland
The test script now resolves the device node into a <label,minor>
pair, so that the blocktest driver itself no longer has to. This
removes blocktest's dependency on VFS' internal data structures.

Also allow blocktest to be linked using with gcc/clang.
2011-12-11 22:35:37 +01:00