NAS-141716 / 27.0.0-BETA.1 / enforce vdev topology limits and add force_topology (by anodos325) (#19285)
Enforce equal data-vdev width and cap RAIDZ/mirror width at 15/4 in
pool.create and pool.update, mirroring truenas_pylibzfs. Add
force_topology (26 API) to bypass these topology policy checks and the
special/dedup redundancy rule; structural checks still apply. Reject
force_topology on Enterprise-licensed systems.
Original PR: https://github.com/truenas/middleware/pull/19282
---------
Co-authored-by: Andrew Walker <andrew.walker at truenas.com>
[flang][OpenMP] Fix metadirective loop semantic checks
This is a follow-up to #207088.
Post-merge review feedback:
* Rename mayVariantBeSelected to MayVariantBeSelected and move it to
the shared OpenMP semantic utilities so declare-variant checking can
reuse it.
* Explain why a WHEN selector is recorded only when its modifier list
contains exactly one element.
* Diagnose loop-associated variants that end a declaration-only
program unit, such as a module with no execution part.
Additional correctness fixes:
* Handle consecutive metadirectives and modules or submodules with
contained procedures without silently dropping an earlier
loop-associated variant.
[7 lines not shown]
AMDGPU: Validate processor and features in TargetID parsing
TargetID::parseTargetIDString previously only checked that the string was
structurally a 4-component triple followed by a processor field. It
accepted unrecognized processors and silently ignored malformed or
unsupported feature modifiers. Work towards improving validation so in
the future clang's copy of TargetID can be replaced.
Co-authored-by: Claude (Opus 4.8)
[libcxx][test] Fingerprint the compiler when memoizing results (#208311)
This fixes a cache invalidation problem with flag support checks when
rebasing & re-building the just-built clang.
clang/AMDGPU: Stop passing redundant -target-cpu to cc1
Now that the exact target is encoded in the triple's subarch field,
-target-cpu is redundant. This avoids polluting the resultant IR with
unwanted "target-cpu" attributes. The net result is the desired codegen
when compiling libraries for a major subarch and linking it into a
program compiled for a specific arch. e.g., compiling for "gfx9-generic"
would pollute the IR with "target-cpu"="gfx9-generic", so codegen
would ultimately be performed for the generic target even after
linking into the concrete gfx9 cpu. The specialization will now be
achieved by merging the triples without the linker or optimization
passes needing to fixup function attributes.
dpbox: update to 6.1.2
Fixes two stack buffer overflows caught on Linux/glibc with FORTIFY:
- dp_vnr_sub was declared char[4] but holds a 6-character version
suffix, overflowing at startup in init_box().
- gen_sftest() declared STR7[100] but passed 255 as the snprintf bound.
A MYBBS command carrying a hierarchical address overran the buffer.
On platforms whose libc does not fortify, this presented as an
intermittent, optimization-dependent crash.
Also adds unconditional <time.h> includes (they were reachable only
inside an #ifdef __macos__ branch) and bounds two strcpy calls into
calltype.
java/apache-commons-httpclient: deprecate
Superseded by www/httpclient.
No expiration date as editors/openoffice-4 and editors/openoffice-devel
depend on it.
PR: 296671
Approved-by: Alex Dupre <ale@>
bsdinstall/netconfig: use a better heuristic for wlan dev desc
For devices like the rtw88, they will show up in `ifconfig -l` as
rtw880, rtw881, etc. We want to query the rtw88.0 and rtw88.1 sysctl
respectively, not rtw.880.
Chances are that there aren't more than 9 wlan devices using the same
driver. Use a better heuristic to get the device description.
Reviewed by: bz
MFC after: 3 days
Sponsored by: The FreeBSD Foundation
clang: Start using new amdgpu subarch triples
Fixup invocations using --target=amdgcn + -mcpu to introduce
the subarch in the triple.
For offload toolchains, a single toolchain is constructed for the
top level amdgpu architecture, and the effective triple is used for
target specific tool invocations.
The specifics of the resource directory layout are tbd. This does
try to find resources in the subarch named directory. The paths
are searched at toolchain creation time, so that does not work
when there are multiple subarches.
Fixes #154925
clang/AMDGPU: Validate -target-cpu in cc1 is valid for the subarch
Restrict the reported list of valid target-cpus based on the triple's
subarch. This is more consistent with how other targets validate the
target CPU name. Currently we have split handling validating the target
name for the triple in both the driver and here. The driver based diagnostic
seems to be an amdgpu-ism in 2 different places (though there is one arm
validation emitting the same diagnostic). In the future we could probably
drop those.