Commit Graph

2093 Commits

Author SHA1 Message Date
gson
1beb02a6c3 Don't pass an uninitialized variable as the times[] argument of
rump_sys_utimes().  Instead, pass combinations of values representing
edge cases: the farthest possible past, the epoch, and the farthest
possible future.  Now the excessive runtime reported in PR bin/49144
occurs reliably, on multiple architectures, and not only with udf, but
also with msdosfs.
2014-08-29 17:39:18 +00:00
gson
3583bc35d3 The 4 second timeout of the invafd test case is not always enough when
running under qemu; increase it to 10 seconds.
2014-08-27 13:32:16 +00:00
joerg
6c18385369 Really revert to the original version. 2014-08-26 17:13:42 +00:00
joerg
497e202f2a Revert. There is no such thing as __HAVE_IFUNC and there should not be
one in first place.
2014-08-26 16:25:35 +00:00
christos
5a3404e066 effectively disable the test to fix the build and explain why. 2014-08-26 11:10:02 +00:00
joerg
7a1a6f1cf3 Add basic support for indirect functions. It allows providing a public
function symbol with an implementation choosen at run time.
Refactor calls to functions by address in ld.elf_so to create temporary
function descriptors on the stack, if the address is not leaked outside.

Limitations:
- no support for initialising static storage with function pointers
- no support for unnamed resolver functions

Inspired by FreeBSD's r228435 by kib@freebsd.org.
2014-08-25 20:40:52 +00:00
bouyer
18d9435662 Go back to the initial context (as tests/lib/libc/sys/t_swapcontext.c does)
after checking pthread_self() didn't change. Otherwise the process exits
outside of atf context.
Should fix "Test case exited normally but failed to create the results file: Results file is empty" reports from atf-run.
2014-08-25 16:31:15 +00:00
apb
8a8b2bfa2a Remove commented-out debug code that was accidentally committed yesterday. 2014-08-23 16:26:13 +00:00
christos
39d8f8959e not needed anymore. 2014-08-23 16:02:54 +00:00
christos
be0d87e66b undo previous bogus merge of PR49085 2014-08-23 15:10:18 +00:00
christos
defa6c58f6 PR/46096: Jarmo Jaakkola: fix many problems with dependencies (PR 49086)
Quite extensive rewrite of the Suff module.  Some ripple effects into
Parse and Targ modules too.

Dependency searches in general were made to honor explicit rules so
implicit and explicit sources are no longer applied on targets that
do not invoke a transformation rule.

Archive member dependency search was rewritten.  Explicit rules now
work properly and $(.TARGET) is set correctly.  POSIX semantics for
lib(member.o) and .s1.a rules are supported.

.SUFFIXES list maintenance was rewritten so that scanning of existing
rules works when suffixes are added and that clearing the suffix list
removes single suffix rules too.  Transformation rule nodes are now
mixed with regular nodes so they are available as regular targets too
if needed (especially after the known suffixes are cleared).

The .NULL target was documented in the manual page, especially to
warn against using it when a single suffix rule would work.
A deprecation warning was also added to the manual and make also
warns the user if it encounters .NULL.

Search for suffix rules no longer allows the explicit dependencies
to override the selected transformation rule.  A check is made in
the search that the transformation that would be tried does not
already exist in the chain.  This prevents getting stuck in an infinite
loop under specific circumstances.  Local variables are now set
before node's children are expanded so dynamic sources work in
multi-stage transformations.  Make_HandleUse() no longer expands
the added children for transformation nodes, preventing triple
expansion and allowing the Suff module to properly postpone their
expansion until proper values are set for the local variables.

Directory prefix is no longer removed from $(.PREFIX) if the target
is found via directory search.

The last rule defined is now used instead of the first one (POSIX
requirement) in case a rule is defined multiple times.  Everything
defined in the first instance is undone, but things added "globally"
are honored.  To implement this, each node tracks attribute bits
which have been set by special targets (global) instead of special
sources (local).  They also track dependencies that were added by
a rule with commands (local) instead of rule with no commands (global).

New attribute, OP_FROM_SYS_MK is introduced.  It is set on all targets
found in system makefiles so that they are not eligible to become
the main target.  We cannot just set OP_NOTMAIN because it is one of
the attributes inherited from transformation and .USE rules and would
make any eligible target that uses a built-in inference rule ineligible.

The $(.IMPSRC) local variable now works like in gmake: it is set to
the first prerequisite for explicit rules.  For implicit rules it
is still the implied source.

The manual page is improved regarding the fixed features.  Test cases
for the fixed problems are added.

Other improvements in the Suff module include:
  - better debug messages for transformation rule search (length of
    the chain is now visualized by indentation)
  - Suff structures are created, destroyed and moved around by a set
    of maintenance functions so their reference counts are easier
    to track (this also gets rid of a lot of code duplication)
  - some unreasonably long functions were split into smaller ones
  - many local variables had their names changed to describe their
    purpose instead of their type
2014-08-23 15:05:40 +00:00
christos
4da7383dde PR/49085: Jarmo Jaakkola: fix several parsing errors
Don't exit from var.c:Var_Parse() before possible modifiers are handled
on D and F modified versions of local variables.  Properly expand $(?D)
and $(?F) too.

Make line continuations in rule's commands POSIX compliant.

Fix the syntax error caused by lib(member) as the last target before
a dependency operator.

Document the line continuation change in the manual page.  Also talk
more about the POSIX style local variables and their modifiers.

Add tests covering the fixed problems into d_posix.mk.  The test is
a known failure at the moment because of PR 49086 and PR 49092.

[XXX: unconverted tests]
2014-08-23 14:50:24 +00:00
apb
6b933a652f Test make(1) by running the maintained tests, not unmaintained
copies of them.

* Remove all old tests from src/tests/usr.bin/make/d_*.  These tests
  were unmaintained old copies of the actual tests which are maintained
  under src/usr.bin/make/unit-tests.  One exception is the test in
  d_unmatchedvarparen.mk, which was new, but has nw been added to
  src/usr.bin/make/unit-tests/varmisc.mk.
* In src/tests/usr.bin/make/Makefile, copy all
  the tests from src/usr.bin/make/unit-tests to
  ${DESTDIR}/usr/tests/usr.bin/make/unit-tests.
* In src/tests/usr.bin/make/t_make.sh, run the tests installed above,
  instead of the old tests.
* In etc/mtree/NetBSD.dist.tests, create the
  usr/tests/usr.bin/make/unit-tests diectory.
* Update the set lists for all the above.
2014-08-22 16:45:32 +00:00
pooka
48fac693b7 Update hardcoded fd expectations now that rump kernels open 0/1/2.
(since we exec, it's convenient to just assume the values of first 4 fds)
2014-08-13 00:03:00 +00:00
gson
9f88f3f33c Mark udf_lookup_complex as an expected failure, referencing PR kern/49033.
Since it does not fail reliably, force it to fail to avoid spurious failure
reports due to unexpected success.
2014-08-12 12:13:09 +00:00
tls
ea6af427bd Merge tls-earlyentropy branch into HEAD. 2014-08-10 16:44:32 +00:00
martin
e204327425 Do not set HAVE_FENV for arm as long as it misses feenableexcept(). 2014-08-10 12:01:57 +00:00
martin
41f262a02f Use the same condition for HAVE_FENV 2014-08-10 11:30:51 +00:00
matt
547b3a3b01 Changes to existing files to enable building AARCH64 userland.
evbarm64-el
This is clang only.  While gcc4.8 supports aarch64, no netbsd support has
been written for aarch64 with gcc4.8.
2014-08-10 05:56:36 +00:00
matt
beb9c6d1b5 Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
2014-08-10 05:47:35 +00:00
gson
643acb6d0e Test that reading a CTLTYPE_INT sysctl variable into a buffer that is
too small returns ENOMEM, and that reading it into a buffer that is
large enough returns the expected sizeof(int) bytes of data.
2014-08-09 07:04:03 +00:00
gson
b6f40f55e0 Mark the udf_renamerace test case (but not udf_renamerace_dirs) as an
expected failure again, now with a reference to PR kern/49046.
Since the test only fails part of the time, force failure to
avoid failure reports reports due to unexpected success.
2014-07-29 09:15:48 +00:00
apb
91bc8fa990 Run scripts at build time via ${HOST_SH} 2014-07-27 14:24:17 +00:00
pgoyette
fa995b7822 Remove atf_tc_expect_fail() calls for udf file-system. These tests are
currently passing.  As discussed on current-users.  Any new failures
should be reported via send-pr.
2014-07-25 13:44:59 +00:00
martin
dbd2e87e49 PR kern/49033: try to provide better diagnostics if the udf_lookup_complex
test randomly fails.
2014-07-25 12:16:22 +00:00
christos
6030f04a15 amend the new destroy function to take function pointers. 2014-07-20 20:17:21 +00:00
christos
0579ed8b30 Add new minherit test. 2014-07-18 12:34:52 +00:00
martin
349f6dd23e Darren fixed n8 and n9 recently 2014-07-15 20:00:23 +00:00
martin
6877679165 NetBSD has an entry for protocol #255 in /etc/protocols labeled "reserved"
so expect that in the parsing output instead of 255.
2014-07-15 19:51:36 +00:00
gson
858def4e9a space after comma 2014-07-15 14:56:34 +00:00
alnsn
5977f956e5 Add a link to ../../net/bpfjit/t_extmem.c. 2014-07-14 19:11:15 +00:00
alnsn
2b2f4a0ebe Add bpfjit_cop_copx and bpfjit_copx_cop tests. 2014-07-13 21:35:33 +00:00
darrenr
cccb715a0e Test n17_6 does not yet exist so remove unrequired files and test case 2014-07-12 14:37:12 +00:00
alnsn
674ca560ce Fix copy/paste error: s/rump_unschedule/rump_schedule/. 2014-07-09 15:56:12 +00:00
alnsn
467461f7c4 Add t_cop and t_extmem kernel bpfjit tests to the build. 2014-07-09 13:50:48 +00:00
alnsn
f80c8c7700 Add t_cop and t_extmem kernel bpfjit tests. 2014-07-09 13:49:49 +00:00
alnsn
0240ba3c8b Add t_mbuf tests to the build. 2014-07-08 21:47:21 +00:00
alnsn
f2b7757e98 Move bpfjit mbuf tests to t_mbuf.c. 2014-07-08 21:45:55 +00:00
alnsn
e1f7888b18 Clone libbpfjit tests to check kernel implementation of bpfjit.
Old content of t_bpfjit.c will be moved to t_mbuf.c shortly.
Change packet buffers to unsigned char[] type.
2014-07-08 21:44:26 +00:00
alnsn
f58748437d Rename bpfjit tests to libbpfjit. 2014-07-08 21:13:01 +00:00
alnsn
658efa8662 Rename bpfjit tests to libbpfjit, don't test zero buflen and a couple of
cosmetic changes.
2014-07-08 21:07:52 +00:00
pgoyette
b9e0c7c1f5 Update disk-space-available requirement to match reality, and leave a
little extra just in case.  The test file is much larger than previously
indicated.

Thanks martin@ for detailed investigation.
2014-07-07 22:06:02 +00:00
alnsn
6cabebfe85 Add bpf/t_mbuf test to the build. 2014-07-07 19:41:22 +00:00
alnsn
c129c2d504 Add rump tests for checking how bpf_validate() works with mbuf chains. 2014-07-07 19:40:28 +00:00
alnsn
a8013faa06 Add some helper functions for bpf/bpfjit rump tests. 2014-07-07 19:34:32 +00:00
alnsn
66c2729de9 Fix test directory. 2014-06-30 21:34:22 +00:00
alnsn
d32d6008b1 Add bpfjit kernel tests for loading from mbuf chain. 2014-06-30 21:30:51 +00:00
darrenr
347b12f138 New IPv6 tests for ipnat parsing need to be built by make so that they can
be executed.
2014-06-30 17:02:55 +00:00
darrenr
6dd125be9b NetBSD has an entry for protocol #255 in /etc/protocols labeled "reserved"
so expect that in the parsing output instead of 255.
2014-06-30 16:14:35 +00:00
darrenr
55ab6190c4 PR kern/47462 2014-06-29 09:27:58 +00:00