the Matt Thomas rbtree:
- Include rb.c in libnbcompat, and provide a nbcompat sys/rbtree.h
header.
- Make sure libprop's source file include prop_object_impl.h before
anything else, and pull in nbtool_config.h from there.
Tested by simulating such a host system by renaming the host's
<sys/rbtree.h> out of the way (which reproduced the build failure)
and verifying that the host-tool installboot contained the rb_*
functions in its own .text segment.
with all the libpthread symbols in it.
This makes -lpthread behave like to -Wl,--whole-archive -lpthread.
This avoids a situation where threaded static binaries use some libc thread
stubs, which are racy.
Fixes PR lib/54001: call_once2_32, call_once2_static test cases failing on
amd64 since gcc7 import.
Suggested by Jonathan Wakely, thanks!
The code was wrong since rev. 1.1. This panic was found by adding KASSERT
in uvm_map.c rev. 1.351. This bug may be related to PR kern/26204.
- Use aprint_normal() for non-error message.
- Defer spa_config_load() until root is mounted.
- Restore the config path to "/etc/zfs/zpool.cache".
- Module "zfs" is type MODULE_CLASS_VFS and no longer depends on "rootvnode".
- Module "solaris" no longer depends on "mp_online".
- Fix rump component registration to not detach "/dev/zfs" if
it didn't attach it.
Solaris upstream. FreeBSD already replaced it with a glue to their
taskqueue API.
Replace it with a glue component that queues Solaris taskq requests to
threadpool jobs.
boards that use u-boot. A known board database lists boards and their
respective u-boot packages. u-boot packages are discovered at run-time
(in /usr/pkg/share/u-boot, by default). These packages contain board
database overlays that describe u-boot installation procedure that's
specific for that board.
Support this as a native tool and as a host tool. The native tool
will attempt to determine the running board type using OpenFirmware
calls. Host tool and native tool alike may also specify a board type
directly using the "-o board=xxx option" or have installboot(8) determine
the board type from a device tree blob using "-o dtb=/path/to/board.dtb".
A "-o media=xxx" option is provided for boards that have different u-boot
binaries and/or installation procedures for different media types (e.g.
SDMMC, eMMC, or USB).
This is trivial to extend to other evb* platforms that use u-boot, even if
they don't use FDT for autoconfiguration.
Deduplicate the code among ports and poll definitions of types
directly from a compiler.
This fixes miscompilation of certain programs that instruct compilers
to generate code for different types. This bug has been detected with
-fshort-wchar in EFI firmware.
Proposed and discussed on a mailing list (twice).
Itanium uses custom !ELF fallback switch, temporarily leave it as it is.
>fix umodem(4) detach:
>
>- ucom(4) needs kpreempt disabled around softint_schedule()
>- switch a copied printf() to aprint_error_dev()
>- use static normally in umodem_common.c
>- remove unused sc_openings in softc, convert sc_dying to real bool
>- add sc_refcnt, sc_lock and sc_detach_cv to softc. usage is:
> - sc_dying is protected by sc_lock
> - sc_detach_cv is matched with sc_lock for cv operations
> - sc_refcnt is increased in open and decreased in close, any time
> it is decreased, it is checked for less than zero, and a broadcast
> performed on sc_detach_cv. detach waits for sc_refcnt.
>- umodem_param() and umodem_set() check for sc_dying
>
>this fixes pullout out an open ucom@umodem.
>
>@skrll.
>
>XXX: pullup
it only fixes the issue by chance (slightly delays, which
allows task to run, but there is no guarantee. real fix
is incoming for all ucom parents.
>fix uchcom(4) detach, like umodem(4) recently:
>
>- use static normally in umodem_common.c
>- add sc_refcnt, sc_lock and sc_detach_cv to softc. usage is:
> - sc_dying is protected by sc_lock
> - sc_detach_cv is matched with sc_lock for cv operations
> - sc_refcnt is increased in open and decreased in close, any time
> it is decreased, it is checked for less than zero, and a broadcast
> performed on sc_detach_cv. detach waits for sc_refcnt
> - uchcom_param() and uchcom_set() check for sc_dying
>
>this fixes pullout out an open ucom@uchcom.
it only fixes the issue by chance (slightly delays, which
allows task to run, but there is no guarantee. real fix
is incoming for all ucom parents.
Expand siginfo_t (struct size not changed) to new values for
SIGTRAP TRAP_SCE/TRAP_SCX events.
- si_sysnum -- syscall number (int)
- si_retval -- return value (2 x int)
- si_error -- error code (int)
- si_args -- syscall arguments (8 x uint64_t)
TRAP_SCE delivers si_sysnum and si_args.
TRAP_SCX delivers si_sysnum, si_retval, si_error and si_args.
Users: debuggers (like GDB) and syscall tracers (like strace, truss).
This MI interface is similar to the Linux kernel proposal of
PTRACE_GET_SYSCALL_INFO by the strace developer team.