PR bin/60248 Various fixes to shutdown
First, fix (in a slightly different way than suggested)
the incorrect use of (1 minutes) sometimes.
While here, add more error checking to the shutdown time
parsing, and fix -k to be what it was originally intended
to be, which was nothing like "kick the users off" (which
it didn't do, unless all the "shutdown coming" messages
scared them away), all it did was install /etc/nologin so
no-one could log in (from 5 mins before the scheduled time).
That's pointless, if you want to install a /etc/nologin, just
install it (cat >/etc/nologin).
The -k flag was intended to assist with debugging, "k" was for
"kidding" - shutdown goes though all the motions, writing
messages, writing to syslog, etc - but that's all it does,
no manipulation of /etc/nologin at all, and no actual shutting
[6 lines not shown]
PR lib/60249 add some casts, and #include <stdlib.h>
Casts needed for assigning size_t value to int variable.
bit_alloc() uses calloc under the hood, and is a macro, so
anything calling it needs to have <stdlib.h> in scope. The
doc doesn't indicate it is required of the application, so
include it from <bitstring.h>
arm/generic: use generic setstatclockrate
This allows us to get rid of the weak symbol hack in a9tmr since GENERIC is the only configuration with both a9tmr and gtmr active in one configuration. Configurations without __HAVE_GENERIC_SETSTATCLOCKRATE still get a setstatclockrate from the ifdef.
arm/fdt: introduce a generic setstatclockrate function
These changes lay the groundwork for cleaning up setstatclockrate implementations across arm timers.
Pull up the following, requested by christos in ticket #283:
external/ibm-public/postfix//dist/README_FILES/NON_BERKELEYDB_README up to
external/ibm-public/postfix//dist/README_FILES/REQUIRETLS_README up to
external/ibm-public/postfix//dist/conf/postfix-non-bdb-script up to
external/ibm-public/postfix//dist/html/NON_BERKELEYDB_README.html up to
external/ibm-public/postfix//dist/html/REQUIRETLS_README.html up to
external/ibm-public/postfix//dist/html/nbdb_reindexd.8.html up to
external/ibm-public/postfix//dist/html/postfix-non-bdb.1.html up to
external/ibm-public/postfix//dist/man/man1/postfix-non-bdb.1 up to
external/ibm-public/postfix//dist/man/man8/nbdb_reindexd.8 up to
external/ibm-public/postfix//dist/mantools/check-proxy-type-table up to
external/ibm-public/postfix//dist/proto/NON_BERKELEYDB_README.html up to
external/ibm-public/postfix//dist/proto/REQUIRETLS_README.html up to
external/ibm-public/postfix//dist/src/cleanup/cleanup_message_test.c up to
external/ibm-public/postfix//dist/src/global/ehlo_mask_test.c up to
external/ibm-public/postfix//dist/src/global/nbdb_clnt.c up to
external/ibm-public/postfix//dist/src/global/allowed_prefix.c up to
external/ibm-public/postfix//dist/src/global/allowed_prefix.h up to
[575 lines not shown]
Explicitly cast IOCPARM_MAX to size_t - it can never be negative.
Hopefully avoids build breakage by a signed vs. unsigned comparision warning
on mips*64*.
risc-v: bump some parameter values on riscv64
Match all other 64bit platforms for
- PAGER_MAP_DEFAULT_SIZE
- UBC_WINSHIFT
- UBC_NWINS
Spotted by thorpej
Allow (p)redefinitions of symbols in <machine/param.h>
sun3 (via machine/param3.h) defines UBC_NWINS UBC_WINSHIFT & MAXEXEC
before including <m68k/param.h> == and defines UBC_NWINS differently.
Allow for that (hopefully fix broken sun3 build).
[ Why sun3 has __mc680010__ defined is left as an unexplained mystery ]
Fix a longstanding bug on 64 bit ports with ABIs requiring sign-extension when returning 32-bit values in registers. Alpha, MIPS N64, RISCV.
With these ABIs it is necessary for the syscall return code to manually
sign-extend all 32-bit return values. If we don't, everything may look
just fine, until a syscall return value is spilled to the stack and then
reloaded. At that point, the zero-extended form produced by C assignment
into the 64-bit register for return to userspace will be sign-extended
upon reload, producing a different, corrupt value which will fail comparisons.
This was observed with a getuid() != geteuid() deep inside sshd on N64, on an
unusual system that had some very large UIDs with bit 31 set - but is quite
difficult to reproduce with small tests, since register pressure and compiler
behavior determine whether the conditions necessary to trigger the bug will
exist.
The easiest way to see whether a new target needs this treatment is to
look at its GCC configuratrion; if its PROMOTE_MODE has UNSIGNEDP = 0
for SImode, the sign-extension in syscall() is necessary.