Commit Graph

658 Commits

Author SHA1 Message Date
joerg
2b3d1ee8a7 Update LLVM/Clang snapshot to r164464. This adopts the GCC options for
the SSP parameters and a not-yet-default rewrite of SROA.
2012-09-23 17:22:22 +00:00
blymn
a76c5dee4e * Add scanw family function calls as input functions 2012-09-19 11:51:56 +00:00
blymn
d537772cd3 * Fix mvscanw return
* Fix the *vline family of calls, one argument is chtype not int
2012-09-19 11:51:08 +00:00
plunky
baa3f70feb correct spelling of file to clean 2012-09-15 16:22:58 +00:00
manu
bba80928a8 setcontext() used to be incompatible with -lpthread since it affected
the TLS pointer, therefore wrecking the pthread environement.

Some ports had _UC_TLSBASE flag or equivalent (_UC_UNIQUE on alpha)
that controlled whether setcontext() would change the TLS pointer.
This change let libpthread override setcontext() with its own version
that unsets _UC_TLSBASE, enabling safe usage of setcontext() with
-lpthread.

We also have the following required changes here:
- rename alpha's _UC_UNIQUE into _UC_TLSBASE
- add _UC_TLSBASE definition in header file for all ports
  (powerpc, sh3, sparc and sparc64 lack the implementation for now)
- introduce a libc stub that can be overriden for setcontext()
- modify MD libcs swapcontext() implementations so that they use the
  setcontext() libc stub instead of doing a plain system call.

While we are there:
- document various MD _UC_* flags in header file
- add libc and libpthread tests for swapcontext() behavior
  (hopefully helpful to spot MD problems introduced with this change)

Future work:
- Deciding whether kernel support or _UC_TLSBASE should be added for
  powerpc, sh3, sparc and sparc64 is left to portmasters
  sparc64

Approved by core@
2012-09-12 02:00:51 +00:00
martin
2b68f1748c Make this compile on archs where VM_MIN_ADDRESS is not defined (or not
exported to userland)
2012-09-08 12:25:05 +00:00
martin
69c011c56b Deal with architectures defining VM_MIN_ADDRESS > 0.
Add additional error code tests using a pointer one page past current brk.
2012-09-07 20:27:12 +00:00
christos
1375b73fd3 whitespace 2012-09-03 15:32:18 +00:00
jmmv
e7d178251c Sanitize the regex test cases.
- Merge h_regex_att (att.c) and t_regex_att.sh into a single C test program.
  The former was really a test program, and the latter just a very strange
  driver for it.

- Stop using awk to generate the shell test programs.  This is unnecessary
  and confusing.  Instead, change t_regex.sh to generate the test case
  functions on the fly with eval (as done in many other places).
2012-08-24 20:24:39 +00:00
pgoyette
1cf0fdecbd Fix more fallout from the changes to nfsd's command-line options 2012-08-16 12:57:24 +00:00
christos
cb461c6808 Exclude tests that use rump 2012-08-08 13:57:05 +00:00
riastradh
16b71d29d9 Implement link(2) in rumphijack. Add a couple trivial test cases. 2012-08-04 03:56:47 +00:00
christos
291dafda34 tests for recvmmsg 2012-06-22 18:45:23 +00:00
bouyer
c3ff6f17e5 Disable the mmap_block test again, it doesn't panic when mmaping /dev/wd0d
only by accident. PR kern/46592.
2012-06-14 17:47:58 +00:00
njoly
e1828ac1bb Skip sigbus_adraln testcase on alpha unless global
machdep.unaligned_sigbus sysctl is enabled.
2012-06-13 11:45:17 +00:00
christos
c38c69a23f check thread limit 2012-06-12 23:56:19 +00:00
martin
b0ac20cc38 Degrade all intermediate failures due to memory/resource shortage to
"skip" instead of "fail" - only if we get through to the real meat, we
can tell wether mlockall/mincore work or not.
2012-06-08 07:18:58 +00:00
martin
fd9e5c02e3 Revert previous - instead of guessing the amount of needed memory locked
limits (often way too high) and skipping the test case if in doubt,
raise the limits as far as we can, and fix a few places in the test where
we could run into the limits and either skip or fail with a reasonable
message.
2012-06-07 09:59:51 +00:00
martin
7a598c266d Try to estimate the number of locked pages the mincore() test will need and
check it against resource limits, skipping the tests if it probably is too
low.
2012-06-05 08:44:21 +00:00
joerg
fc67b0cd11 Switch terminfo(3) to cdb(5). 2012-06-03 23:19:09 +00:00
joerg
49d8b9bb05 Spell NetBSD correctly. 2012-06-03 02:10:46 +00:00
martin
86b8339d8d adapt to new reality 2012-06-02 16:52:18 +00:00
njoly
f567e6f954 Adjust test for recent atf_machine (amd64) -> atf_arch (x86_64)
change.
2012-06-02 14:52:28 +00:00
martin
9c63b84225 Do not skip the block device mmap test, as it does not crash
the kernel any more. Mark it as expected failure instead.
2012-06-01 15:59:21 +00:00
martin
78b7b66d90 Add a (skipped for now) test case for PR 46463 2012-05-31 20:31:07 +00:00
jruoho
88bb4c68e1 Add patch from Tetsuya Isaki in PR lib/46433. 2012-05-30 15:14:10 +00:00
jruoho
c4e17f798c Use "atf_arch" instead of "atf_machine"; see atf-config(1). 2012-05-30 15:11:58 +00:00
martin
f124f6239d Skip test on non-amd64 machines for now, pointing to PR 46490. 2012-05-30 06:01:22 +00:00
martin
8fa6d6191d Not a good idea to continue testing if basic assertions fail - only will
cause core dumps later.
2012-05-28 09:51:34 +00:00
martin
a0f17796a7 Fix destination directory 2012-05-27 22:57:24 +00:00
christos
a534436e93 one too many e's 2012-05-27 19:21:26 +00:00
christos
d1cc87bd78 hook in libexecinfo 2012-05-27 18:52:16 +00:00
christos
5212b5c3e8 add a test for the backtrace function. 2012-05-27 18:47:18 +00:00
martin
3a550d746a Simplify creation of a temporary file slightly, fix sizeof(buf) confusion
when buf is a pointer.
2012-05-23 16:08:32 +00:00
martin
6a653c6635 Typo in comment 2012-05-22 09:23:39 +00:00
martin
6c3cc552c2 Calling _lwp_create() with a bogus ucontext could trigger a kernel
assertion failure (and thus a crash in DIAGNOSTIC kernels). Independently
discovered by YAMAMOTO Takashi and Joel Sing.

To avoid this, introduce a cpu_mcontext_validate() function and move all
sanity checks from cpu_setmcontext() there. Also untangle the netbsd32
compat mess slightly and add a cpu_mcontext32_validate() cousin there.

Add an exhaustive atf test case, based partly on code from Joel Sing.

Should finally fix the remaining open part of PR kern/43903.
2012-05-21 14:15:16 +00:00
martin
cfbccd804b mmap_block:
do not use a hardcoded block device list, but query the kernel for attached
disks instead, then try to mmap the raw partition.
2012-05-16 19:12:59 +00:00
jruoho
5c4e704752 Remove also redundant comment (the reference to the PR is already in the
metadata).
2012-05-16 13:54:28 +00:00
martin
7c32638bb1 Simplify the test for PR kern/4645 and make it independend of resource
settings.
2012-05-16 13:48:35 +00:00
wiz
d00eda4ad2 Fix typo in comment. 2012-05-16 11:45:08 +00:00
martin
90aaec5d8a Enable the test for PR kern/46457 now that it does not crash the
kernel any more.
2012-05-16 09:51:58 +00:00
jruoho
b1a7d876eb Add a case for PR kern/46457. This is skipped for the time being, as it
reproduces the panic described in the PR.
2012-05-16 09:06:35 +00:00
alnsn
c5290ad075 Test a bug found by Geza Herman. 2012-05-15 18:46:20 +00:00
martin
c06a8560ae Revert previous, si_addr is expected to be the faulting *data* address
(mmm, consistent standards).
Add a few tweaks to prevent the compiler's optimizer outsmarting the test.
2012-04-23 15:07:56 +00:00
martin
51f1919a26 Do not compare si_addr (address of faulting instruction) against the
unaligned data address causing the fault - this will always fail.
If anybody knows a portable way to get the data address involved in the
fault, please fix the test case as originally intended.
2012-04-22 08:52:26 +00:00
jruoho
2ef8e9d811 Avoid harmless compiler (integer) warnings. 2012-04-21 01:15:13 +00:00
jruoho
71224831e0 Add few unit tests for mlock(2), including a case for PR kern/44788. 2012-04-20 12:11:29 +00:00
jruoho
c69613ea1e Close all file descriptors before trying to reason about the number of open
descriptors. Should fix the test failures reported on current users.
2012-04-20 05:15:11 +00:00
jym
c5252d3225 ATF test for SIGBUS => BUS_ADRALN (invalid address alignment).
That one is tedious to test under x86: alignment exceptions are
not reported by this architecture unless you ask for them explicitely (by
setting the PSL_AC bit). The brokenness does not end there: %cr2 should
contain the address where the unaligned access occured, alas, it does not.

I am not aware of other architectures where this could happen. Still, my
knowledge is limited; if there is one, feel free to send me a mail and I
will update the test accordingly.

Adding insult to injury, this test can fail in various funny ways with VMs:
- under x86 QEMU, no trap() happens. As ring 3 code stays almost untouched by
QEMU VMM, I suppose the exception can only be triggered when the host
itself is capable of catching unaligned accesses.
- under Virtual Box with HVM support, i386 works fine, but amd64 fails with a
SIGILL (Illegal instruction) that happens right before entering the
signal handler. No idea why, and trying to debug it with gdb freezes the VM
(including ddb breaks).

Anyway, tested with:
- i386: P4 host, anita, Virtual Box HVM (Mac OS X)
- amd64: anita, Virtual Box HVM (Mac OS X)

XXX I would appreciate if someone could test it under a real amd64 host with
an up-to-date kernel, so I can reasonably assume that the culprit is
Virtual Box and not our amd64 port (my test machine being off line
I cannot do it myself). Results from other arches would be a plus too.

Initial issue reported by Nicolas Joly on port-amd64. Thanks!
2012-04-20 00:40:31 +00:00
jruoho
f95573c233 Return from main() and use EXIT_FAILURE/EXIT_SUCCESS from stdlib(3). 2012-04-17 09:23:21 +00:00