FreeNAS/freenas b6b40f9src/middlewared/middlewared/plugins etc.py, src/middlewared/middlewared/utils io.py

NAS-139904 / 26.0.0-BETA.1 / More etc-related code cleanups (#18259)

* Remove support for unused dirfd in write_if_changed().

* Ensure that etc.py usage of write_if_changed is using the `/etc/` as
the path for temporary files to avoid writing accidentally to paths like
`/etc/pam.d` where the application in question may inadvertently read /
use the temporary file.

* Remove f-strings from logger messages.

* Make the renderers dict immutable through a mapping proxy
DeltaFile
+3-42tests/unit/test_write_if_changed.py
+10-31src/middlewared/middlewared/utils/io.py
+11-21src/middlewared/middlewared/plugins/etc.py
+24-943 files

LLVM/project 8f5e5a2clang/docs APINotes.rst

[APINotes] Document `SwiftReturnOwnership` annotation

The API Notes attribute was added in `48f7f63a`, but wasn't documented.
DeltaFile
+25-0clang/docs/APINotes.rst
+25-01 files

LLVM/project b8fbf9ellvm/cmake/modules HandleLLVMOptions.cmake

Re-enable MSVC C5105 diagnostic; NFC (#182524)

From MSDN:

https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/c5105?view=msvc-170

> macro expansion producing 'defined' has undefined behavior

This diagnostic was disabled in 9a708855daeb6f70bbde7c2bc63e061ebaf072df
due to it triggering in system headers like WinBase.h. From my local
testing, the issue seems to have either been resolved in the system
headers or in MSVC, because enabling the warning does not trigger any
diagnostics for me.
DeltaFile
+0-4llvm/cmake/modules/HandleLLVMOptions.cmake
+0-41 files

LLVM/project c9c1b15llvm/cmake/modules HandleLLVMOptions.cmake

Re-enable MSVC C4709 diagnostic; NFC (#182514)

From MSDN:

https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-4-c4709?view=msvc-170

> comma operator within array index expression

This is a useful diagnostic to have enabled in general. It was disabled
in 02e1f1915f94413a64efd295fa3dc63d40046fcf because of false positives,
but those appear to have been resolved. Enabling the diagnostic locally
does not emit any diagnostics.
DeltaFile
+0-4llvm/cmake/modules/HandleLLVMOptions.cmake
+0-41 files

LLVM/project 103cef9flang/lib/Lower/OpenMP Clauses.cpp, flang/test/Lower/OpenMP/Todo depth-clause.f90

[flang][OpenMP] Initial support for DEPTH clause (#182288)

The semantic checks do not check any conditions on the associated loop
nest (such as actual depth or whether it is a perfect nest). Lowering
will emit a not-implemented-yet message.
DeltaFile
+38-0flang/test/Parser/OpenMP/depth-clause.f90
+18-0flang/test/Lower/OpenMP/Todo/depth-clause.f90
+17-0flang/test/Semantics/OpenMP/depth-clause.f90
+9-1llvm/include/llvm/Frontend/OpenMP/ClauseT.h
+7-1llvm/include/llvm/Frontend/OpenMP/OMP.td
+6-0flang/lib/Lower/OpenMP/Clauses.cpp
+95-24 files not shown
+105-210 files

LLVM/project bdc151eclang/test/CIR/CodeGenBuiltins/AArch64 acle_sve_dup.c

[CIR][AArch64] Add CIR tests for predicated SVE svdup_m builtins (#182307)

This PR adds CIR lowering tests for the predicated SVE `svdup` builtins
on AArch64. The corresponding ACLE intrinsics are documented at:
https://developer.arm.com/architectures/instruction-sets/intrinsics

The tests cover the merging-predicated variants (suffix `_m`, e.g.
`svdup_n_f32_m`). These forms take an explicit inactive-lane value,
which is merged into the result for lanes where the predicate is false.

No functional changes are introduced. The existing lowering
infrastructure already handles these builtins; this change adds
test coverage only.
DeltaFile
+162-0clang/test/CIR/CodeGenBuiltins/AArch64/acle_sve_dup.c
+162-01 files

LLVM/project 5c56e7dllvm/lib/Target/AMDGPU AMDGPULegalizerInfo.cpp AMDGPUISelLowering.cpp, llvm/test/Analysis/CostModel/AMDGPU exp.ll

AMDGPU: Implement expansion for f64 exp

I asked AI to port the device libs reference implementation.
It mostly worked, though it got the compares wrong and also
missed a fold that happened in compiler. With that fixed I get
identical DAG output, and almost the same globalisel output (differing
by an inverted compare and select). Also adjusted some stylistic choices.
DeltaFile
+11,178-0llvm/test/CodeGen/AMDGPU/llvm.exp10.f64.ll
+10,242-0llvm/test/CodeGen/AMDGPU/llvm.exp.f64.ll
+9,987-0llvm/test/CodeGen/AMDGPU/llvm.exp2.f64.ll
+117-9llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
+116-1llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
+16-16llvm/test/Analysis/CostModel/AMDGPU/exp.ll
+31,656-266 files not shown
+31,717-6112 files

LLVM/project fa1cda8llvm/include/llvm/IR IntrinsicsDirectX.td, llvm/lib/Target/DirectX DXILResourceAccess.cpp

[DirectX] Mark `dx.resource.getpointer` as convergent (#182099)

By marking `dx.resource.getpointer` as convergent, we are able to
prevent unwanted code transforms that make resource access look illegal.
Namely, this prevents the creation of a ptr into a resource handle to be
moved throughout control flow (eg in `SimplifyCFG`), further preventing
sink/hoist optimizations on the returned ptr during `InstCombine`.

Previously, these transforms were undone by the `phiNodeReplacement`
function in `dxil-resource-access`. However, in general, we would like
to follow a policy of preventing these transforms from occurring rather
than having to undo the work. This change is aligned with this.

This is a pre-requisite to resolving
https://github.com/llvm/llvm-project/issues/165288.
DeltaFile
+0-158llvm/test/CodeGen/DirectX/issue-152348.ll
+131-0llvm/test/Transforms/SimplifyCFG/DirectX/no-sink-dxgetpointer.ll
+1-121llvm/lib/Target/DirectX/DXILResourceAccess.cpp
+100-0llvm/test/Transforms/GVN/no-sink-dxgetpointer.ll
+0-42llvm/test/CodeGen/DirectX/phi-node-replacement.ll
+1-1llvm/include/llvm/IR/IntrinsicsDirectX.td
+233-3226 files

LLVM/project 4d05fb0llvm/lib/Transforms/Utils MemoryTaggingSupport.cpp

fmt

Created using spr 1.3.7
DeltaFile
+1-2llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
+1-21 files

LLVM/project 1b1ed4fclang/include/clang/Analysis CFG.h, clang/lib/Analysis CFG.cpp

[LifetimeSafety] Overhaul CFG and analysis to also work with trivially destructed temporary objects (#177985)

Change summary:

Modification to CFG:
1. Added `CFGFullExprCleanup` which has a pointer to `BumpVector<const
MaterializeTemporaryExpr *>` to track all MTE that **might** (in the
sense that we take union on branches) be spawned by an
`ExprWithCleanups`
2. Modified logic in `CFGBuilder` to appropriately insert this marker.
It inserts the marker primarily via `CFGBuilder::VisitExprWithCleanups`,
and also `CFGBuilder::addInitializer` and `CFGBuilder::VisitDeclSubExpr`
as these bypass visiting the `ExprWithCleanups`. The bump vector is
allocated appropriately using the bump allocator of the CFG to respect
its lifetime rules.
3. Visiting to track the temporaries is done in
`CFGBuilder::VisitForTemporaries`. Behaviour is modulated via the
`BuildOpts` so as to enable tracking only when necessary. The
encountered non-lifetime extended MTE are stored in a small vector

    [12 lines not shown]
DeltaFile
+129-65clang/lib/Analysis/CFG.cpp
+13-25clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+32-0clang/include/clang/Analysis/CFG.h
+26-0clang/test/Analysis/exprwithcleanups-lifetime-marker-cfg.cpp
+13-12clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
+6-5clang/test/Sema/warn-lifetime-safety.cpp
+219-1076 files not shown
+232-11012 files

HardenedBSD/src 1cb3f59sys/kern kern_shutdown.c

Merge branch 'hardened/current/master___issue72' into 'hardened/current/master'

Harden kernel crashdump interface

See merge request hardenedbsd/HardenedBSD!117
DeltaFile
+1-1sys/kern/kern_shutdown.c
+1-11 files

FreeNAS/freenas 368194bsrc/middlewared/middlewared/plugins etc.py, src/middlewared/middlewared/utils io.py

More etc-related code cleanups

* Remove support for unused dirfd in write_if_changed().

* Ensure that etc.py usage of write_if_changed is using the `/etc/` as
  the path for temporary files to avoid writing accidentally to paths
  like `/etc/pam.d` where the application in question may inadvertently
  read / use the temporary file.

* Remove f-strings from logger messages.

* Make the renderers dict immutable through a mapping proxy
DeltaFile
+3-42tests/unit/test_write_if_changed.py
+10-31src/middlewared/middlewared/utils/io.py
+11-21src/middlewared/middlewared/plugins/etc.py
+24-943 files

LLVM/project c6cb8f3llvm/include/llvm/Support GenericDomTreeConstruction.h

[NFC] `clang-format` GenericDomTreeConstruction.h (#182509)

DeltaFile
+88-65llvm/include/llvm/Support/GenericDomTreeConstruction.h
+88-651 files

LLVM/project f343cc0flang-rt/cmake/modules AddFlangRT.cmake

[flang-rt] Add missing libc dependency to object library
DeltaFile
+1-0flang-rt/cmake/modules/AddFlangRT.cmake
+1-01 files

FreeBSD/src 49fa007tests/sys/netlink test_rtnl_gre.c

gre tests: Fix gcc warnings on gre netlink tests

Avoid using `snl_add_msg_attr_ip` for now and directly use
`snl_add_msg_attr_ip4` to silence gcc warnings.

Fixes: e1e18cc12e68
Differential Revision: https://reviews.freebsd.org/D54443
DeltaFile
+5-7tests/sys/netlink/test_rtnl_gre.c
+5-71 files

FreeBSD/src f16349flib/libsys/arm Makefile.sys

libsys/arm: include ARM EABI unwind bits into libsys

libsys required ARM EABI unwind symbols like __aeabi_unwind_cpp_pr0.
These symbols are normally provided by libc, but if a binary does
not link libc, the symbol ends up not being resolved.

Among other problems, this prevented gcc14 and newer from building
on arm.

Add the relevant symbols as hidden symbols into libsys to avoid this
problem.

(this patch was posted by jrtc27 who has asked me to move it along)

PR:             292539
Tested by:      fuz, Mark Millard <marklmi26-fbsd at yahoo.com>
Reviewed by:    mmel
Approved by:    markj (mentor)
MFC after:      1 week

    [3 lines not shown]
DeltaFile
+5-0lib/libsys/arm/Makefile.sys
+5-01 files

FreeBSD/src eac62e1lib/libc/arm/aeabi aeabi_unwind_cpp.c

libc/arm: use __builtin_trap() instead of abort() in aeabi_unwind stubs

This avoids a dependency on the abort symbol in libsys.

PR:             292539
Reviewed by:    mmel
Approved by:    markj (mentor)
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D55255

(cherry picked from commit 1782bc9a0a8da2d6aca31b7790981e1980c9e4b9)
DeltaFile
+6-6lib/libc/arm/aeabi/aeabi_unwind_cpp.c
+6-61 files

LLVM/project 49de344clang-tools-extra/test/clang-tidy/infrastructure custom-query-check.cpp, clang-tools-extra/test/clang-tidy/infrastructure/Inputs/custom-query-check vfsoverlay.yaml

[clang-tidy][NFC] Work around vfs bug in tests (#182529)

Work around #182526 after #176420 by renaming virtual file from main.cpp
(which sometimes collides with a file in our build tree) to cqc-main.cpp
(which is hopefully unique).
DeltaFile
+9-7clang-tools-extra/test/clang-tidy/infrastructure/custom-query-check.cpp
+5-5clang-tools-extra/test/clang-tidy/infrastructure/Inputs/custom-query-check/vfsoverlay.yaml
+14-122 files

LLVM/project 7e189a4llvm/lib/Analysis DependenceAnalysis.cpp, llvm/test/Analysis/DependenceAnalysis rdiv-minor-algebra.ll ExactRDIV.ll

[DA] Remove "minor algebra" in the RDIV test
DeltaFile
+1-33llvm/lib/Analysis/DependenceAnalysis.cpp
+4-5llvm/test/Analysis/DependenceAnalysis/rdiv-minor-algebra.ll
+2-2llvm/test/Analysis/DependenceAnalysis/ExactRDIV.ll
+7-403 files

LLVM/project c6096a1llvm/test/Analysis/DependenceAnalysis rdiv-minor-algebra.ll

[DA] Add test for RDIV misses dependency due to "minor algebra" (NFC) (#179653)

The function `testRDIV` contains the following comments:

```
// With minor algebra, this test can also be used for things like
// [c1 + a1*i + a2*j][c2].
```

```
// we have 3 possible situations here:
//   1) [a*i + b] and [c*j + d]
//   2) [a*i + c*j + b] and [d]
//   3) [b] and [a*i + c*j + d]
// We need to find what we've got and get organized
```

In case `2)`, it moves `c*j` from `Src` to `Dst` and performs dependence
testing between `[a*i + b]` and `[-c*j + d]`. Similar algebraic

    [2 lines not shown]
DeltaFile
+89-0llvm/test/Analysis/DependenceAnalysis/rdiv-minor-algebra.ll
+89-01 files

pfSense/pfsense 68be3d8src/usr/local/www head.inc

Strip HTML tags from page titles

Prevents the browser from showing tags (e.g. <sup>) in the tab title.
DeltaFile
+1-1src/usr/local/www/head.inc
+1-11 files

FreeBSD/doc 358288fwebsite/data/ru/events events2026.toml

website: update ru/events

Reviewed by: andy, marck
Differential Revision: https://reviews.freebsd.org/D55358
DeltaFile
+25-1website/data/ru/events/events2026.toml
+25-11 files

LLVM/project 1d505f6llvm/lib/Transforms/Scalar LoopUnrollPass.cpp

[LoopUnrollPass] Use `PragmaCount` instead of reparsing the metadata (NFC) (#182080)

DeltaFile
+1-1llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
+1-11 files

FreeNAS/freenas 2fd85e5src/middlewared/middlewared/plugins etc.py

Improve handling of file writes
DeltaFile
+0-3src/middlewared/middlewared/plugins/etc.py
+0-31 files

LLVM/project f3f0b62flang-rt/test/Driver exec.f90

[flang-rt] Add sysroot to test (#182508)

This fixes the test on MacOS. Without this change the SDK sysroot is not
set and so the library path is incorrect and the 'System' library cannot
be found.

Test with https://github.com/llvm/llvm-project/pull/182501 so that the
sysroot variable is correctly set.

Assisted-by: Codex
DeltaFile
+1-1flang-rt/test/Driver/exec.f90
+1-11 files

LLVM/project 0364a25flang/include/flang/Optimizer/Dialect FIROps.td

[flang][nfc] fix typo in fir.declare_value description (#182505)

Fix typo from
https://github.com/llvm/llvm-project/pull/181848#discussion_r2832803471
DeltaFile
+1-1flang/include/flang/Optimizer/Dialect/FIROps.td
+1-11 files

FreeNAS/freenas 05f38bedocs/source/middleware etc_files.rst, src/middlewared/middlewared/etc_files README.md

NAS-139900 / 26.0.0-BETA.1 / Convert etc plugin to using dataclasses (#18256)

This commit robustizes how we manage config file generation through the
middleware plugin by ensuring that directives for how to render
different configuration file groups are using properly typed python data
classes. This reduces risk of developer having a typo in the
configuration.
DeltaFile
+469-403src/middlewared/middlewared/plugins/etc.py
+22-18src/middlewared/middlewared/etc_files/README.md
+22-18docs/source/middleware/etc_files.rst
+513-4393 files

LLVM/project 44e5cc3clang/test/CIR/IR global-var-linkage.cir, clang/test/CIR/Lowering global-var-linkage.cir

Add test for appending linkage
DeltaFile
+20-0clang/test/CIR/Lowering/global-var-linkage.cir
+2-0clang/test/CIR/IR/global-var-linkage.cir
+22-02 files

LLVM/project c0d3914clang/include/clang/CIR/Dialect/IR CIROpsEnums.h CIROps.td, clang/lib/CIR/Lowering/DirectToLLVM LowerToLLVM.cpp

[CIR] Enable AppendingLinkage in GlobalLinkage enum
DeltaFile
+8-0clang/test/CIR/IR/invalid-linkage.cir
+4-0clang/include/clang/CIR/Dialect/IR/CIROpsEnums.h
+1-2clang/include/clang/CIR/Dialect/IR/CIROps.td
+2-0clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
+15-24 files

FreeNAS/freenas 3fc37desrc/middlewared/middlewared/plugins etc.py

Flake8 fix
DeltaFile
+1-0src/middlewared/middlewared/plugins/etc.py
+1-01 files