LLVM/project 97e0e67 — clang/lib/Sema DeclSpec.cpp, clang/test/Sema constexpr.c

[clang][C23] Delay thread storage recovery for constexpr diagnostics (#236758)

When a thread storage specifier conflicts with another storage class,
DeclSpec clears it before diagnosing a C23 constexpr conflict. The
second diagnostic then reports "unspecified" and loses the specifier's
source range.

For a block-scope declaration:

Before:
```
a:2:22: error: cannot combine with previous 'register' declaration specifier
    2 |   constexpr register _Thread_local int x = 1;
      |             ~~~~~~~~ ^
a:2:3: error: cannot combine with previous 'unspecified' declaration specifier
    2 |   constexpr register _Thread_local int x = 1;
      |   ^
2 errors generated.
```

    [13 lines not shown]
DeltaFile
+7-6clang/lib/Sema/DeclSpec.cpp
+5-0clang/test/Sema/constexpr.c
+12-62 files

LLVM/project f215131 — offload/plugins-nextgen/amdgpu/src rtl.cpp, offload/unittests/OffloadAPI/queue olGetQueueInfo.cpp

[Offload][AMDGPU] Return the real user count from getUserCount

This patch fixes the return type of AMDGPUQueueTy::getUserCount, which
currently returns bool: that collapses the count to 0 or 1, which upsets
the occupancy measurement in assignNextQueue.

A new test checks that work is queued appropriately across hardware
queues.

Assisted-By: Claude
DeltaFile
+37-0offload/unittests/OffloadAPI/queue/olGetQueueInfo.cpp
+1-1offload/plugins-nextgen/amdgpu/src/rtl.cpp
+38-12 files

LLVM/project f72bef2 — clang/lib/Sema SemaChecking.cpp

[clang][Sema][NFC] Consolidate checking for vector reduction builtins (#238663)

Share argument conversion, element type extraction, and result type
assignment across the single-argument reduction builtins. Preserve each
builtin's element type restrictions and diagnostics, and reuse
getVectorElementType for fixed-size and sizeless vectors.
DeltaFile
+28-50clang/lib/Sema/SemaChecking.cpp
+28-501 files

LLVM/project 7ff6739 — clang/docs OpenMPSupport.md, flang/docs OpenMPSupport.md

[NFC][OpenMP] Track Fortran OpenMP support status only in the Flang docs (#240917)

The Clang OpenMP support page had a "Fortran Status" column in its 5.2,
6.0 and 6.1 tables that was not kept up to date with the Flang page. For
OpenMP 5.2 alone it disagreed with flang/docs/OpenMPSupport.md on 13
rows (e.g. "if clause on teams", "otherwise clause" and "pure procedure
support" were listed as unclaimed for Fortran but are done in Flang).

Make the Flang page the only place Fortran status is recorded. The Clang
page now covers Clang (C/C++) and the LLVM OpenMP runtimes, whose status
applies to both languages.
DeltaFile
+159-148clang/docs/OpenMPSupport.md
+27-16flang/docs/OpenMPSupport.md
+186-1642 files

FreeBSD/ports 5a1481c — net/rclone Makefile distinfo

net/rclone: Security update 1.75.2 => 1.76.0, fix multiple CVEs

Changelog:
https://rclone.org/changelog/#v1-76-0-2026-11-06

PR:             300685
Approved by:    Ralf van der Enden <tremere at cainites.net (maintainer)
MFH:            2026Q4
DeltaFile
+5-5net/rclone/distinfo
+1-2net/rclone/Makefile
+6-72 files

FreeBSD/ports a39c9ed — emulators/pcsx2 pkg-plist distinfo

emulators/pcsx2: Add built-in game patches

PR:             300126
Reported by:    Benoit Felix <benoit.felix at outlook.com>
DeltaFile
+8-2emulators/pcsx2/Makefile
+3-1emulators/pcsx2/distinfo
+1-0emulators/pcsx2/pkg-plist
+12-33 files

LLVM/project ce17508 — offload/plugins-nextgen/amdgpu/src rtl.cpp

[Offload][AMDGPU] Return the HSA queue as a queue's native handle (#241300)

Implement getNativeQueueHandle (introduced by #234186) for AMDGPU, so
that olGetQueueInfo can report OL_QUEUE_INFO_NATIVE_HANDLE for an AMDGPU
queue instead of UNSUPPORTED. The handle is the hsa_queue_t the queue's
stream is bound to; a stream is bound on first use, so querying binds
one if necessary. Several streams may share an HSA queue, in which case
their queues report the same handle.

Assisted-By: Claude
DeltaFile
+16-0offload/plugins-nextgen/amdgpu/src/rtl.cpp
+16-01 files

LLVM/project 822e874 — llvm/cmake/modules HandleLLVMOptions.cmake

Revert "[CMake] message type: FATAL_ERROR instead of ERROR (#174947)"

This reverts commit be10c9a691efcff0539770c3015948caacccba4a.
DeltaFile
+1-1llvm/cmake/modules/HandleLLVMOptions.cmake
+1-11 files

LLVM/project e19e779 — clang/docs ConcurrencySanitizer.md, clang/lib/Driver/ToolChains Linux.cpp

[csan] Add support for Hexagon (#241091)
DeltaFile
+18-0llvm/test/Instrumentation/ConcurrencySanitizer/32-bit.ll
+17-0clang/test/Driver/fsanitize.c
+9-4compiler-rt/lib/csan/offload/CMakeLists.txt
+2-1clang/docs/ConcurrencySanitizer.md
+1-1compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
+1-1clang/lib/Driver/ToolChains/Linux.cpp
+48-76 files

FreeBSD/ports e23d989 — devel/apr1 Makefile distinfo, devel/apr1/files patch-apr-util-1.6.3_my__init patch-apr-util-1.6.3_dbd_apr__dbd__mysql.c

devel/apr1: Update APR-utils to 1.6.6
DeltaFile
+3-3devel/apr1/distinfo
+2-2devel/apr1/files/patch-apr-util-1.6.3_my__init
+2-2devel/apr1/files/patch-apr-util-1.6.3_dbd_apr__dbd__mysql.c
+2-2devel/apr1/files/patch-apr-util-1.6.3_build_dbm.m4
+1-1devel/apr1/Makefile
+10-105 files

FreeNAS/freenas 8f9e0ba — src/freenas/etc/logrotate.d truesearchd, src/middlewared/middlewared/etc_files/syslog-ng syslog-ng.conf.mako

Log TrueSearch to its own file and keep SMB running in its tests

syslog-ng writes the messages of truesearchd and truesearch-indexer to
/var/log/truesearchd.log. The default log files no longer get them.
logrotate rotates the new file. test_475_syslog checks both programs.

The TrueSearch api2 tests created a second share with smb_share. That
asset stops the SMB service when it exits. Middleware then stopped
TrueSearch. The later tests found no daemon. A helper in the test
module now creates and deletes the second share. It does not stop SMB.

truesearch.query requires a path. test_legacy_api no longer calls it
without arguments.
DeltaFile
+13-2tests/api2/test_truesearch.py
+12-0src/freenas/etc/logrotate.d/truesearchd
+10-0tests/api2/test_475_syslog.py
+6-1src/middlewared/middlewared/etc_files/syslog-ng/conf.d/tnfilters.conf.mako
+7-0src/middlewared/middlewared/etc_files/syslog-ng/syslog-ng.conf.mako
+4-0tests/api2/test_legacy_api.py
+52-36 files

FreeNAS/freenas c5c24b2 — src/middlewared/debian control, src/middlewared/middlewared main.py

Add truenas-truesearch to Build-Depends and rename the service

The package build runs alembic. Alembic imports every plugin. The
truesearch plugin imports truesearch_client, and truenas-truesearch
installs that module.

The service base checks the model names of the public methods. Each
name must start with the name of the service class. The models are
named Truesearch, so the class is named TruesearchService.
DeltaFile
+18-18tests/unit/test_truesearch.py
+2-2src/middlewared/middlewared/main.py
+1-1src/middlewared/middlewared/plugins/truesearch.py
+1-0src/middlewared/debian/control
+22-214 files

FreeNAS/freenas 816eba7 — src/middlewared/middlewared/api/v27_0_0 truesearch.py, src/middlewared/middlewared/api/v28_0_0 truesearch.py

Trim the TrueSearch query-filters documentation

The description of query-filters now names only the filter fields
that are not in the results: macos_kind, tags and comment. The
validation errors give the fields, the operators and the choices.

The docstring of truesearch.query no longer refers to a list of
fields, operators and examples.
DeltaFile
+5-98src/middlewared/middlewared/api/v28_0_0/truesearch.py
+5-98src/middlewared/middlewared/api/v27_0_0/truesearch.py
+3-5tests/unit/test_truesearch_filters.py
+1-2src/middlewared/middlewared/plugins/truesearch.py
+14-2034 files

FreeNAS/freenas ec7616e — src/middlewared/middlewared/plugins truesearch.py, src/middlewared/middlewared/utils truesearch.py truesearch_filters.py

Replace the TrueSearch program with truesearchd

- The `truesearch` service runs two units, `truesearchd` and
  `truesearch-indexer`. Samba uses `spotlight backend = truesearch`.
- Middleware writes `/etc/truesearchd/truesearch.conf` while the index
  dataset is mounted. A dataset gets one `[target]` row if it holds an
  SMB share with Spotlight search on or a WebShare share with search on,
  or if it is mounted beneath such a share. Time Machine shares, home
  shares and private datasets shares are not indexed.
- Encrypted datasets are indexed. A dataset keeps its index in a
  disabled row while its shares are disabled, its share service does
  not run, its pool is not imported, or it is locked. The index of a row
  that leaves the file is dropped.
- A reload waits until both daemons release the datasets of the rows
  that it disabled or removed. A dataset destroy, a dataset lock and a
  pool export release the rows first. A pool import configures
  TrueSearch.
- `.system/truesearchd` replaces `.system/truesearch`. On a data pool,
  it is encrypted with the pwenc secret as a raw key. Middleware does

    [17 lines not shown]
DeltaFile
+925-0tests/unit/test_truesearch.py
+677-102src/middlewared/middlewared/plugins/truesearch.py
+347-0src/middlewared/middlewared/utils/truesearch_filters.py
+344-2src/middlewared/middlewared/utils/truesearch.py
+230-9tests/api2/test_truesearch.py
+236-0tests/unit/test_truesearch_config.py
+2,759-11324 files not shown
+3,703-37130 files

FreeNAS/freenas 9d92f16 — src/middlewared/middlewared/plugins/system_dataset hierarchy.py, src/middlewared/middlewared/utils truesearch_filters.py

Keep the TrueSearch index on a data pool and replace mock tests

The boot pool cannot hold an encrypted dataset. The installer makes it
with compatibility=grub2, which leaves the encryption feature disabled.
So the system dataset spec has the TrueSearch index dataset only on a
data pool. TrueSearch does not run while the system dataset is on the
boot pool. There, unavailable_reasons gives only that reason.

The tables of the query filters are read-only mappings.

The unit tests used stand-ins for middleware. Now tests/unit keeps only
the tests of pure functions. The api2 tests use the system:
- The pwenc-encrypted dataset: its setup, the rekey of a configuration
  upload, the pool unlock and the system dataset setup.
- The query refuses bad paths and paths that no index holds.
- The status while both daemons are stopped.
- A daemon that runs alone restarts with the other.
- Time Machine and home shares are not indexed.
DeltaFile
+29-990tests/unit/test_truesearch.py
+10-274tests/unit/test_system_dataset_pwenc.py
+140-0tests/api2/test_system_dataset_pwenc.py
+74-62src/middlewared/middlewared/utils/truesearch_filters.py
+93-3tests/api2/test_truesearch.py
+8-1src/middlewared/middlewared/plugins/system_dataset/hierarchy.py
+354-1,3302 files not shown
+359-1,3388 files

FreeNAS/freenas 4062b7c — src/middlewared/middlewared/api/v27_0_0 smb.py, src/middlewared/middlewared/api/v28_0_0 smb.py

Remove the TrueSearch warning from the SMB search_protocols docs

The description of search_protocols in v27 and v28 is again the text
that it had before TrueSearch. The WebShare search field keeps its
warning.
DeltaFile
+1-4src/middlewared/middlewared/api/v28_0_0/smb.py
+1-4src/middlewared/middlewared/api/v27_0_0/smb.py
+2-82 files

FreeNAS/freenas 7444f43 — src/middlewared/middlewared/api/v27_0_0 truesearch.py, src/middlewared/middlewared/api/v28_0_0 truesearch.py

Move the query-filters documentation into the API modules

The import contract of the API schemas does not allow an import of
truesearch_filters. The truesearch API modules took the limit and the
query-filters documentation from it. Each API version now holds them
as text. truesearch_filters keeps the Spotlight attribute and the
choices of each field. A unit test checks that the current API
documents each field and each choice.
DeltaFile
+32-137src/middlewared/middlewared/utils/truesearch_filters.py
+100-3src/middlewared/middlewared/api/v28_0_0/truesearch.py
+100-3src/middlewared/middlewared/api/v27_0_0/truesearch.py
+10-8tests/unit/test_truesearch_filters.py
+242-1514 files

FreeNAS/freenas 881e9ed — src/middlewared/middlewared/api/v27_0_0 truesearch.py, src/middlewared/middlewared/api/v28_0_0 truesearch.py

Return the file handle from truesearch.query

- Each entry has `handle`, the ZFS file handle of the file encoded in
  base64, as `open_by_handle_at` takes it. `generation` is removed,
  because the handle holds it.
- `truesearch_client` builds the handle from the inode number and the
  generation that truesearchd returns.
DeltaFile
+4-9src/middlewared/middlewared/api/v28_0_0/truesearch.py
+4-9src/middlewared/middlewared/api/v27_0_0/truesearch.py
+3-7tests/api2/test_truesearch.py
+6-2tests/unit/test_truesearch.py
+3-2src/middlewared/middlewared/plugins/truesearch.py
+20-295 files

FreeNAS/freenas 4920e07 — src/middlewared/middlewared/api/v27_0_0 truesearch.py, src/middlewared/middlewared/api/v28_0_0 truesearch.py

Use truesearch_client for the TrueSearch file and sockets

- The plugin writes and reads `truesearch.conf` through
  `truesearch_client.config`. It asks both control sockets and waits
  for a release through `truesearch_client.control`.
  `middlewared/utils/truesearch.py` is removed, and its tests move to
  the client.
- truesearchd and truesearch-indexer answer `status` with `ok` and a
  JSON object. `truesearch.status` reads the object through the client.
  Before, it read lines of `key=value` fields.
- The free space is `null` when the indexer cannot read it.
- The plugin imports `truesearch_client` when it loads. The
  `middlewared` package depends on `truenas-truesearch`, which installs
  it.
- The docstring of `truesearch.query` marks its literals with double
  backticks. Each line of the `TruesearchQueryOptions` docstring ends
  with a period.
- This change needs the TrueSearch change that adds these client modules
  and answers in JSON. Both changes land together.
DeltaFile
+0-344src/middlewared/middlewared/utils/truesearch.py
+0-236tests/unit/test_truesearch_config.py
+107-67tests/unit/test_truesearch.py
+62-56src/middlewared/middlewared/plugins/truesearch.py
+3-2src/middlewared/middlewared/api/v28_0_0/truesearch.py
+3-2src/middlewared/middlewared/api/v27_0_0/truesearch.py
+175-7073 files not shown
+180-7109 files

FreeNAS/freenas 9ec7dcc — src/middlewared/middlewared/plugins/system_dataset encryption.py, src/middlewared/middlewared/plugins/zfs encryption_info.py

Leave the TrueSearch index dataset out of pool unlocks

The pwenc secret encrypts .system/truesearchd. Its key is not in the
database. The system dataset setup loads it. A recursive pool unlock
at boot or at failover also tried the dataset. It had no key, so the
unlock logged a failure.

encryption_roots now skips an encryption root whose keylocation is
the pwenc secret. So the pool unlock, its summary and the pool import
leave the dataset alone. PWENC_KEY_LOCATION moves to
middlewared.utils.pwenc, where the ZFS code can import it.
DeltaFile
+24-0tests/unit/test_system_dataset_pwenc.py
+4-2src/middlewared/middlewared/utils/pwenc.py
+5-0src/middlewared/middlewared/plugins/zfs/encryption_info.py
+1-2src/middlewared/middlewared/plugins/system_dataset/encryption.py
+34-44 files

FreeNAS/freenas ea03a7a — src/middlewared/middlewared/api/v27_0_0 truesearch.py, src/middlewared/middlewared/api/v28_0_0 truesearch.py

Name the index dataset in the TrueSearch status

The descriptions of index_bytes, free_bytes, space_low and index_size
now name the index dataset and not the system dataset. The index
dataset is .system/truesearchd on the pool of the system dataset.

The dataset status no longer has queue_position. The API does not
expose the queue of the indexer.
DeltaFile
+8-7src/middlewared/middlewared/api/v28_0_0/truesearch.py
+8-7src/middlewared/middlewared/api/v27_0_0/truesearch.py
+1-1tests/unit/test_truesearch.py
+0-1src/middlewared/middlewared/plugins/truesearch.py
+17-164 files

FreeNAS/freenas 7d91824 — src/middlewared/middlewared/api/v27_0_0 webshare.py truesearch.py, src/middlewared/middlewared/api/v28_0_0 truesearch.py

Rewrap the index key on a config upload and trim TrueSearch docs

The pwenc secret encrypts .system/truesearchd. A configuration from
another system brings another secret. That secret replaces the
secret of this system at the next boot, and the index dataset then
did not unlock. When the uploaded secret differs, a config.on_upload
hook now wraps the key of the index dataset with the uploaded secret.
ZFS reads the new key from the uploaded file. The key location is
then set back to the pwenc secret file. So the dataset unlocks after
the boot and keeps its indexes. Only the node that has imported the
pool does this. A dataset on the boot pool is not encrypted.

The API docs of TrueSearch no longer name the query options that
truesearch.query does not have. The description of handle says what
the handle is for. The WebShare search description is again the text
that it has on master. The comment on the default socket of the
Samba backend is gone.
DeltaFile
+65-1tests/unit/test_system_dataset_pwenc.py
+29-1src/middlewared/middlewared/plugins/sysdataset.py
+14-3src/middlewared/middlewared/plugins/system_dataset/encryption.py
+4-6src/middlewared/middlewared/api/v28_0_0/truesearch.py
+4-6src/middlewared/middlewared/api/v27_0_0/truesearch.py
+1-7src/middlewared/middlewared/api/v27_0_0/webshare.py
+117-242 files not shown
+118-328 files

FreeNAS/freenas c45eb6b — tests/sharing_protocols/smb test_smb_spotlight.py

Expect the Reports folder in the Spotlight access test

test_the_user_does_not_find_what_the_user_cannot_open searches for
names that start with "report". The search ignores case. Thus the
folder Reports is a hit too. The test now expects the folder and the
file in it. The private file is still not a hit.
DeltaFile
+2-1tests/sharing_protocols/smb/test_smb_spotlight.py
+2-11 files

FreeNAS/freenas 06b56c6 — src/middlewared/middlewared/plugins sysdataset.py truesearch.py, tests/api2 test_truesearch.py

Fix TrueSearch times, service gates and system dataset handling

truesearch.query:
- A stat time that datetime cannot hold, such as a year after 9999,
  is null. One such file no longer fails the query. A time is not
  rounded into the next second.
- A list of the indexed datasets that was read across a configure or
  a mount serves one query and is not kept.
- "/mnt/" is refused, as "/mnt" is.
- A recursive query as a user skips a directory that is gone. A user
  who cannot reach the path gets a CallError with EACCES.
- A date filter gives a year of four digits. A date outside the years
  1 to 9999 in UTC is a validation error.
- The method docstring no longer describes parameters. The username
  field says that the user must be able to access path.

The service:
- configure() logs a start, restart, reload or stop that systemd
  reports failed. It then does not wait for released datasets. It

    [19 lines not shown]
DeltaFile
+159-12tests/unit/test_truesearch.py
+78-43src/middlewared/middlewared/plugins/truesearch.py
+35-27tests/api2/test_truesearch.py
+42-6tests/unit/test_system_dataset_pwenc.py
+37-5tests/unit/test_truesearch_filters.py
+17-10src/middlewared/middlewared/plugins/sysdataset.py
+368-1036 files not shown
+401-11512 files

FreeNAS/freenas 49a6c06 — tests/api2 test_truesearch.py

Expect a ValidationError for a regular expression filter

truesearch.query raises one ValidationError when its query-filters
do not convert into a Spotlight query. test_query_filters expected
ValidationErrors for the "~" filter, so the test failed. Query
options that the model does not have still raise ValidationErrors.
DeltaFile
+2-2tests/api2/test_truesearch.py
+2-21 files

LLVM/project 9c7e7c7 — libc/src/__support/OSUtil/linux/syscall_wrappers CMakeLists.txt symlinkat.h, libc/src/unistd/linux CMakeLists.txt symlinkat.cpp

[libc] Use a syscall wrapper for symlinkat (#241205)

This PR move symlinkat behind the centralized syscall wrappers,
following libc/docs/dev/syscall_wrapper_refactor.md.
DeltaFile
+34-0libc/src/__support/OSUtil/linux/syscall_wrappers/symlinkat.h
+11-9libc/src/unistd/linux/symlinkat.cpp
+16-2utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+12-0libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
+5-4libc/src/unistd/linux/CMakeLists.txt
+78-155 files

LLVM/project 42fce66 — libc/src/__support/OSUtil/linux/syscall_wrappers CMakeLists.txt symlink.h, libc/src/unistd/linux CMakeLists.txt symlink.cpp

[libc] Use a syscall wrapper for symlink (#241204)

This PR move symlink behind the centralized syscall wrappers, following
libc/docs/dev/syscall_wrapper_refactor.md.
DeltaFile
+40-0libc/src/__support/OSUtil/linux/syscall_wrappers/symlink.h
+11-16libc/src/unistd/linux/symlink.cpp
+17-2utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+13-0libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
+5-4libc/src/unistd/linux/CMakeLists.txt
+86-225 files

LLVM/project 0159fe6 — libc/src/__support/OSUtil/linux/syscall_wrappers CMakeLists.txt linkat.h, libc/src/unistd/linux CMakeLists.txt linkat.cpp

[libc] Use a syscall wrapper for linkat (#241203)

This PR move linkat behind the centralized syscall wrappers, following
libc/docs/dev/syscall_wrapper_refactor.md.
DeltaFile
+34-0libc/src/__support/OSUtil/linux/syscall_wrappers/linkat.h
+11-10libc/src/unistd/linux/linkat.cpp
+16-3utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+12-0libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
+4-4libc/src/unistd/linux/CMakeLists.txt
+77-175 files

LLVM/project fab3a7d — libc/src/__support/OSUtil/linux/syscall_wrappers CMakeLists.txt getsid.h, libc/src/unistd/linux CMakeLists.txt getsid.cpp

[libc] Use a syscall wrapper for getsid (#241202)

This PR move getsid behind the centralized syscall wrappers, following
libc/docs/dev/syscall_wrapper_refactor.md.
DeltaFile
+34-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+34-0libc/src/__support/OSUtil/linux/syscall_wrappers/getsid.h
+11-7libc/src/unistd/linux/getsid.cpp
+13-0libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
+4-2libc/src/unistd/linux/CMakeLists.txt
+96-95 files

FreeBSD/ports 56dd40e — www/apache24 Makefile distinfo

www/apache24: Security update to 2.4.71

Security:       f2904526-ddd3-11f1-8135-8447094a420f
MFH:            2026Q4
DeltaFile
+3-3www/apache24/distinfo
+1-1www/apache24/Makefile
+4-42 files