We tested for signal(3) to return 0 for success, which is incorrect:
signal(3) returns the previous handler. Success should be tested as
!= SIG_ERR, otherwise we fail when a signal handler was previously
installed by perfused(8) parrent process, which happens to be the
FUSE filesystem.
* do not build _errno.c (different thread/tls handling)
* do not build either phk- or jemalloc (different backing page allocation)
Somehow I missed these in the previous commit, but now libc built with
RUMPRUN=yes works also with rumprun-posix, so there's reasonably high
confidence that I didn't miss anything anymore.
It's used by the libc build to determine the citrus module version,
so including it will give us consistent results both with a full
NetBSD checkout and a rumprun things only checkout.
If "yes", does the following (default "no"):
* prevents ASM syscalls from being built (librump provides syscalls)
* does not include compat (useless when application is linked with libc)
* does not build tags (no /var/db to install them to)
* does not include tls
==> libc for rumprun can now be built against unmodified NetBSD sources
_BSD_WCHAR_T_ value.
This mimics some other ports, and more importantly fixes compilation with
i386 compilers which define __WCHAR_TYPE__ as "long int" instead of the
"int" we had in there. That superficial mismatch resulted in errors
such as:
lib/libc/gen/vis.c:109:1: error: array of inappropriate type initialized from string constant
static const wchar_t char_shell[] = L"'`\";&<>()|{}]\\$!^~";
No change to NetBSD (our gcc does define __WCHAR_TYPE__, but it is
"int" ... as expected ... since the NetBSD build worked ;)
- program aperture endianness to match host, now xf86-video-wsfb works as
expected
- properly restore the colour map when er-entering terminal emulation