patch provided by tshiozak@ -san.
2. don't eat 0xfeff/0xfffe if they don't appear at the first of bytestream.
noticed y tshiozak@ -san, patch provied by me.
thanks a lot.
most of them are most harmless, but the libgcc parts are quite essential.
before this change, all the special rules for .pico files were not applied,
and exception handling wasn't enabled. this caused c++ exceptions not to
work on sparc64.
this fixes the build of boost-headers (it was correctly calling exception
support broken!), which in turn makes all the things that depend upon it
to actually work again on sparc64.
While kernel source code is supposed to use <machine/macros.h> via
<sys/param.h> and pick an inline asm version from there, gcc itself
can generate direct calls to memset() for structure initialization, so
the symbol must be provided.
Fixes INSTALL kernel, for which -Os caused gcc to use memset() call to
initialize a struct in uvm_fault_internal().
We need to remove the old region before mremap() since if it relesae the
old region, other thread may map it for the same huge category allocation
and insert it to the tree before we acquire a lock after mremap().
Fixes PR/42876.
if the timezone file fails to load, due to late initialization of sp->goahead
to false in tzload, causing localsub to return NULL in the "cannot happen"
case. The fix is belt and suspenders:
- initialize sp->goback and sp->goahead very early in tzload
- replace all malloc calls with callocs, and remove the bogus
casts (it is not the 70's anymore!)
the standard atomic compare-and-swap operations. Tell some caveats.
Manual page links, *_ni.3 -> atomic_cas.3 are coming up after a
successful 'build.sh distribution'.
- asctime{,_r}, ctime{,_r} may return NULL; document that, and avoid coredumps.
- gmtime{,_r}, localtime{,_r} may return NULL and set EOVERFLOW, document and
set errno.
- when mktime returns (time_t)-1, make it set EOVERFLOW and document it.
XXX: Should be pulled up to 5.x
- now understands 64bit time_t and 64bit data in timezone files.
- localtime(), gmtime(), asctime() and ctime() may now fail with
a NULL result if time_t cannot be represented by struct tm.
to EAFNOSUPPORT on NetBSD(!). Additionally, at least slowaris and
linux talk only about PF_LOCAL. Finally, since I'm reading a NetBSD
man page, I foremost care about the code working on NetBSD.