NAS-142006 / 27.0.0-BETA.1 / Refresh the recorded NVIDIA GPU UUID when a card is replaced (#19499)
## Problem
An app's GPU selection is keyed by PCI slot but carries the card's NVML
UUID alongside it. Normalization only ever dropped a selection when its
slot disappeared or stopped being NVIDIA, so swapping a card into the
same slot left the app configured with a UUID which no longer exists,
and the container runtime then refused to start it.
## Solution
For a slot that is retained, refresh the stored UUID from the live GPU
choices so the recorded value tracks whichever card currently occupies
that slot. This means the app has to be updated or redeployed to pick up
the corrected value - starting it on its own reuses the compose files
rendered before the swap.
[obj2yaml] Add Obj2Yaml ability to dump GOFF header records (#204194)
Add obj2yaml support for the GOFF file format, beginning with dumping
header records.
The GOFF file format consists of 80 btye records with data that can be
continued in the next records. A new data structure is added to
preprocess the GOFF object file to flatten the data.
---------
Co-authored-by: Yusra Syeda <yusra.syeda at ibm.com>
[NewPM] Register AsmPrinter passes like normal (#215965)
This avoids needing to do anything custom in
registerPassBuilderCallbacks. Also does some cleanup around inconsistent
naming.
I'm not really sure why I didn't do this before. Eventually I think we
want to delete AsmPrinterBegin and AsmPrinterEnd, but that requires a
lot of work that we probably can't do until we delete the LegacyPM
version of AsmPrinter.
unix: Fix mchain handling in uipc_sosend_stream_or_seqpacket()
Empty mchains cannot be copied with simple assignment.
I think this bug is mostly harmless: if mcnext is empty, then it won't
be accessed again before it is reinitialized in the next loop iteration.
So the bug only trips an assertion in INVARIANTS kernels and won't be
visible otherwise.
Add a regression test which triggers this corner case.
Reported by: Jan Bramkamp
Fixes: d15792780760 ("unix: new implementation of unix/stream & unix/seqpacket")
Reviewed by: glebius
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D58791
[WebAssembly] Fix issues combining coop threads and PIC (#208332)
This commit fixes a few issues that have surfaced in `wasm-ld`'s
handling of `--cooperative-threading` with `-shared`. Two primary issues
fixed are:
* The `__wasm_init_memory` function was not valid as it referenced
nonexistent locals. This was fixed by adjusting how locals are declared
to make this a bit more flexible.
* Combining data segments for PIC without extended-const is generalized
to only operate on active data segments and is now orthogonal to
threading. With coop threads there's a mixture of passive/active
segments (TLS is passive, other data is active) and the active segments
still need combining while TLS stays passive.
The latter fix ended up touching a few more areas. The first is that
`.tdata` sections are now sorted just before `.bss`, the end section,
rather than first. This is done to ensure that active segments when
combined can indeed start at a relative address of 0 (as required
[3 lines not shown]
www/wordpress: upgrade to 7.0.4 (security)
Upstream does not offer localized tarballs for 7.0.4, so download the
7.0.3 tarballs and apply files/patch-7.0.3-to-7.0.4 instead.
[X86] combineOr - undemand and freeze elements if the other operand's element is allones (#215538)
We can't safely discard the other operand's element for the OR(X,-1)
pattern - it can result in X becoming poison and contaminating the whole
element result - especially as we're now moving towards emitting poison
a lot more in DAG - instead the SimplifyDemandedBits result must be
frozen.
Fixes #215223
RuntimeLibcalls: Fix AArch64 wrongly typed long-double libcalls
Respect the triple's LongDoubleFormat.
AArch64SystemLibrary added the fp128-typed frexpl/ldexpl and exp10l without a
long-double-format guard, so triples where long double is IEEE double
(Darwin, Windows, Android) were emitting l suffixed calls with the wrong
type.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
build.html: update "Failed Ports" title bar to match others
a63486e introduced a new title bar style, but failed_div seems to have have been missed. This brings failed_div into line with the others.
[obj2yaml] Add Obj2Yaml ability to dump GOFF header records (#204194)
Add obj2yaml support for the GOFF file format, beginning with dumping
header records.
The GOFF file format consists of 80 btye records with data that can be
continued in the next records. A new data structure is added to
preprocess the GOFF object file to flatten the data.
---------
Co-authored-by: Yusra Syeda <yusra.syeda at ibm.com>
Merge main into the record member kind branch
Main has moved 593 commits, past the x86_64 call-convention default-on flip, and
four files needed hand resolution. The two AVX512 vp2intersect tests take
main's `!cir.int<s, 1>` mask element type together with this branch's `data`
marks. The two abi-lowering NYI tests take main's side outright, since the
float and long double shapes they used to reject now lower and have moved to
`x86_64-vector.cir`, `x86_64-wide-floats.cir` and `x86_64-complex.cir`.
`take_atomic_wrapper` is re-applied on top of main's version.
Seven test files that arrived with main spell records without a member kind,
which the mandatory kind list no longer allows, so they gain `data`.
Assisted-by: Cursor / claude-opus-5
[libcxx] Fix ODR violation in FreeBSD path
When building stdcxx clang module, it include cwchar and trigger
inclusion of wchar.h in libcxx, which expand inline function of
__libcpp_wcschr. However, wchar.h includes __mbstate_t, which include
wchar.h again. This causes __libcpp_wcschr exposes to
std_private_mbstate_t and create ODR violation.
It doesn't happen on other platforms as we don't instantiate
__libcpp_wcschr as _LIBCPP_WCHAR_H_HAS_CONST_OVERLOADS is defined.
To fix it, we creates a stub macro _LIBCPP_WCHAR_H_SYSTEM_HEADER_ONLY to
make wchar.h instantiation is not happens when building
std_private_mbstate_t module.
mail/notmuch-emacs: Do not gzip elisp files
There are some shortcomings in the elisp ports framework related to
gzipped elisp files that need to be fixed. Moreover, gzipping these
files is a tradeoff, and the overall benefit is questionable.
Sponsored by: The FreeBSD Foundation
mail/notmuch-emacs: Reorganize installation layout
Install elisp to a port-specific subdirectory of ${EMACS_SITE_LISPDIR}
rather than directly into it, avoiding filename collisions with other
elisp ports.
Sponsored by: The FreeBSD Foundation
[AArch64] Improve lowering of pure fixed-length partial add reductions. (#214691)
These can lower to [SU]ADALP, rather than a [SU]ADDW{2} pair or
variations thereof (https://godbolt.org/z/dqYs8r84K).