sys/atomic.h: Nix const qualifiers on temporaries added in previous.
The temporaries aren't modified, so in principle const is correct,
but on some ports (notably, sparc) we pass pointers to them through
__UNVOLATILE which objects to the const qualifier:
> In file included from /home/source/ab/HEAD/src/lib/librump/../../sys/rump/librump/rumpkern/sleepq.c:28:
> /home/source/ab/HEAD/src/lib/librump/../../sys/rump/librump/rumpkern/sleepq.c: In function 'lwp_unlock_to':
> /home/source/ab/HEAD/src/lib/librump/../../sys/rump/../sys/cdefs.h:202:49: error: cast discards 'const' qualifier from pointer target type [-Werror=cast-qual]
> 202 | #define __UNVOLATILE(a) ((void *)(unsigned long)(volatile void *)(a))
> | ^
> /home/source/ab/HEAD/src/lib/librump/../../sys/rump/../sys/atomic.h:448:30: note: in expansion of macro '__UNVOLATILE'
> 448 | __do_atomic_store(p, __UNVOLATILE(&v), sizeof(v))
> | ^~~~~~~~~~~~
> /home/source/ab/HEAD/src/lib/librump/../../sys/rump/../sys/atomic.h:495:9: note: in expansion of macro '__DO_ATOMIC_STORE'
> 495 | __DO_ATOMIC_STORE(__as_ptr, __as_val); \
> | ^~~~~~~~~~~~~~~~~
> /home/source/ab/HEAD/src/lib/librump/../../sys/rump/librump/rumpkern/sleepq.c:187:9: note: in expansion of macro 'atomic_store_release'
> 187 | atomic_store_release(&l->l_mutex, new);
[4 lines not shown]
Improve metadata fetching to work more reliably across
IPv4-only, IPv6-only, and dual-stack instances.
AWS does not by default enable the metadata service on
IPv6; you have to specify '--metadata-options "HttpProtocolIpv6=enabled"'.
Without this, even a dual-stack instance can't fetch
metadata from the IPv6 endpoint.
In addition, reaching the metadata service takes some
time, so we can't trivially check for network
readiness and instead need to actually try to fetch a
file. Ok.
While here, don't overwrite a hostname that is set
from /etc/rc.conf and only set the hostname if
otherwise unset.
Import elftoolchain revision [r4324] (previous was [r4037]).
Changes since the previous vendor import.
common/
- Add/update the sets of symbols defined by recent psABI revisions
for: Aarch64, Alpha, AMD64, SPARC, ARM, IA64, M68K, MIPS, MIPS64,
OpenRisc, PARISC, PPC, PPC64, RISC-V, S390, and SuperH.
- Add support for the LoongArch architecture.
- Add symbols in v4.3-DRAFT of the ELF Generic ABI definition.
- Improve compatibility with NetBSD's set of ELF definitions.
libelf/
- Address Coverity Scan reports.
- Bug fix ar(1) header parsing.
- Manual page fixes.
libdwarf/
- Address Coverity Scan reports.
- Support for the DWARF5 ".debug_str_offsets" section (ticket #620).
- Support LoongArch.
- Manual page fixes.
sys/atomic.h: Avoid needless stack spillage with typeof_unqual.
Using typeof_unqual strips the volatile qualifier on the local
temporaries, so the compiler doesn't issue store/load cycles for
access to them.
PR kern/60272: sys/atomic.h: unnecessary stack spillage
psci: ensure cores are in a known state before SYSTEM_OFF
The PSCI spec says that the caller must place all cores in a known state
prior to calling SYSTEM_OFF.
It doesn't really specify what a "known state" is, but it does suggest
that one way to do this is to call CPU_OFF on all other cores. So let's
do that.
This has the nice side effect of workaround around a heartbeat timeout
when attempting to power down a system with firmware that doesn't return
from a SYSTEM_OFF call but does not actually know how to power off the
system (like Rockchip's secure firmware on RK356x based boards).
lib/libc/README: Note that jemalloc definition has moved.
Should maybe find a better example than malloc/free for this but
let's at least fix this one point of confusion.
Pull up following revision(s) (requested by hgutch in ticket #287):
tools/xz-include/Makefile: revision 1.5
tools/xz-include/Makefile: revision 1.6
Avoid "sandbox" features in tools xz; fixes tools build failure on Linux
tools/xz: fix tools build errors on NetBSD/i386 hosts
Pull up following revision(s) (requested by roy in ticket #286):
sys/net/if.c: revision 1.538
if: abort early if no queue and the link state is the same
Restores a minor optimisation the prior commit accidently removed.
gcc/vax: adjust the constraints on the output operands of the
'*extzv_aligned' instruction patterns, removing the 'earlyclobber'
modifier, to be consistent with the constraints on the output operands
of the related 'extv_aligned' instruction patterns.
elftoolchain/netbsd-base-system-import.sh: Update to upstream [r4372].
This change implements a '-rREV' option for importing a specific
upstream revision.
Restore line whose content vanished in previous
Somehow in the previous version, the content of one line was
removed, leaving just the indentation tabs... restore that line.
While here, and inspired by that line remnant, check for trailing
whitespace, and obliterate all of it that is unintentional (there
is one space in an EDIT_ME in a here-doc which is intended).
Also, in the rarely used "zones added"/"zones removed" commit message,
for the set lists, add some vertical white space before the listings
of any zones added or removed (happens so rarely, I'm not sure that
code has ever been used).