Add support for serializing to, and de-serializing from, JSON, as
specified in RFC 8259. Format is automatically detected for input,
and can be specified explicitly for output. The default format remains
XML.
As part of this change, generic prop_object_{internalize,externalize}()
functions are provided, and the "_with_format" flavor allows the output
format to be specified. Previous array- and dictionary-specific routines
remain for backwards compatibility.
make: clean up
Replace 'unsigned int' with simply 'unsigned'.
In compat.c, skipping whitespace is not needed, as the loop above
already skips it.
In job.c, remove the unused header <sys/file.h>.
Inline the TMPPAT macro, as it is only needed in a single place.
mips: Fix _longjmp(..., 0) so _setjmp returns 1 as intended.
_setjmp (like setjmp and sigsetjmp) is only permitted to return 0 the
first time around.
PR port-mips/59285: _longjmp(..., 0) makes setjmp return 0, not 1
make: move struct Job from job.h to job.c
The content of this struct is an implementation detail, and other parts
of make only need to access very few parts of it.
vio9p: export tag via sysctl
With this change, we can see tags of virtio-9p devices via sysctl:
# sysctl hw.vio9p
hw.vio9p.vio9p0.tag = test
hw.vio9p.vio9p1.tag = test2
PR kern/59165
sys/atomic.h: Fix hashlocked atomic stores, e.g. on sparc and hppa.
Casting (uint32_t *)p does not actually round p down to a mulitple of
sizeof(uint32_t)! Oops.
Likely fix for:
PR port-sparc/59321: t_npf tests are failing
and probably various other sparc and hppa issues. (I have not been
able to reproduce this failure, but the evidence from the assertion
output is that the atomic_load_* calls are coming from inside the
atomic.h house -- and there are only two of those outside macro
expansions, and they're both in __do_atomic_store.)
Now it would be nice if the stack trace went a little further than
the kern_assert call so I didn't have to puzzle over that one to
figure out where it was coming from...
ifmedia(4): brush up markup
Use .Cm to set ifconfig(8) keywords, add a few missing ones. Don't
use artisanal -width without a good reason - consistent indentation is
easier to follow.
Don't end _every_ sentence in the introductory paragraph with "media
type or option". It's pretty clear it's talking about media types or
options. So it's redundant to remind the reader it's about media
types or options.
t_signal_and_sp: mips: Fix {MISALIGN,FIX}_SP() for !o32
Use `daddiu` instead of `addiu` as done in <mips/asm.h>.
Otherwise, +/-1 is added to lower-32-bits of sp, and then
results are sign-extended to whole-64-bits register (oops!!).
t_signal_and_sp: Fix threadsp test to actually test the thread sp.
Copypasta error had it testing alignment of signalsp instead, and
since it was always null, that always passed. Mark it xfail on mips
now as originally expected.
While here, deal with some other issues:
- Test was failing on riscv for me because I haven't updated this
`current' VM in a while so it didn't have the fix for 57721
(pthread_attr_setstack incorrectly adjusts address as if for guard
page). Don't mark it xfail.
- Fix amd64 threadspfunc.S to adjust rsp like in all the other amd64
stubs so it's congruent to 0 mod 16, not congruent to 8 mod 16.
- Fix hppa contextspfunc.S to use separate registers for separate
purposes at the same time, instead of expecting addil to preserve
%r1 AND yield a result we use later in %r1.
[2 lines not shown]