LLVM/project 6e56216llvm/lib/ObjectYAML MachOEmitter.cpp, llvm/test/ObjectYAML/MachO endianness.yaml

[yaml2obj][MachO] Fix byte order of the indirect symbol table (#205044)

This is a follow-up of PR #203680 that added the test case
`linkedit-alignment.test`, which currently fails on big-endian buildbots
(see: https://lab.llvm.org/buildbot/#/builders/98/builds/3084 and
https://lab.llvm.org/buildbot/#/builders/114/builds/906).

The failure seems to be on `yaml2obj`, where `writeDynamicSymbolTable`
emits an indirect symbol table in host byte order rather than the
specified object's byte order (i.e. the `IsLittleEndian` field value).

This PR adds the missing swap and a regression test that round-trips all
endian-sensitive fields with both endianness values.
DeltaFile
+207-0llvm/test/ObjectYAML/MachO/endianness.yaml
+6-3llvm/lib/ObjectYAML/MachOEmitter.cpp
+213-32 files

NetBSD/pkgsrc Hgal8LMdoc CHANGES-2026

   Updated devel/appstream, graphics/openimageio
VersionDeltaFile
1.3907+3-1doc/CHANGES-2026
+3-11 files

NetBSD/pkgsrc QjSpqfJgraphics/openimageio distinfo Makefile

   openimageio: updated to 3.1.14.1

   3.1.14.1
   Note: This patch release only fixes a build break, which is only encountered if relying on the "auto-build" of dependency OpenColorIO if you don't already have it able to be found on your system. If you aren't encountering this problem, you do not need to upgrade from 3.1.14.0.
VersionDeltaFile
1.44+4-4graphics/openimageio/distinfo
1.134+2-3graphics/openimageio/Makefile
+6-72 files

LLVM/project b593c80llvm/test/CodeGen/SPIRV/debug-info debug-function-declaration-two-compile-units.ll

[reviews] Add new test
DeltaFile
+47-0llvm/test/CodeGen/SPIRV/debug-info/debug-function-declaration-two-compile-units.ll
+47-01 files

FreeBSD/ports 2feabcfmail/rspamd distinfo Makefile

mail/rspamd: update to 4.1.0

Approved by:    vsevolod
Pull Request:   https://github.com/freebsd/freebsd-ports/pull/526
DeltaFile
+3-3mail/rspamd/distinfo
+1-1mail/rspamd/Makefile
+4-42 files

NetBSD/pkgsrc 01GCLxldevel/appstream distinfo Makefile, devel/appstream/patches patch-docs_meson.build

   appstream: updated to 1.1.3

   Version 1.1.3

   Features:
    * Officially support & read JXL images for icons, validate permitted filetypes
    * meson: Allow disabling command-line tools
    * news-convert: Recognize "=" as release block header
    * news-convert: Handle extra linebreaks better and add support for issue-blocks
    * compose: Create content hashes with Blake3 instead of MD5
    * Update static data for category and license additions
    * validator: Tags without namespace are an error

   Specification:
    * docs: Convert to Docbook 5

   Bugfixes:
    * yaml: Ensure certain values are always explicitly emitted as strings
    * Never emit usertags that are missing a namespace

    [8 lines not shown]
VersionDeltaFile
1.1+15-0devel/appstream/patches/patch-docs_meson.build
1.12+5-4devel/appstream/distinfo
1.31+3-4devel/appstream/Makefile
1.8+2-1devel/appstream/PLIST
+25-94 files

LLVM/project 91e344butils/bazel/llvm-project-overlay/lldb BUILD.bazel, utils/bazel/llvm-project-overlay/lldb/source/Plugins BUILD.bazel

[lldb][bazel] Add the Windows process plugin to the bazel build (#203146)

Add a cc_library for the native Windows process plugin
(ProcessWindowsCommon),
  gated to @platforms//os:windows, and register it via the dedicated
@LLDB_PROCESS_WINDOWS_PLUGIN@ slot in the generated Plugins.def. This
mirrors the
CMake build, which special-cases ProcessWindowsCommon into that slot so
it is
initialized after all other process plugins but before ProcessGDBRemote.

With the help of claude.

Tested internally at Meta by converting Bazel -> BUCK and confirming
matches working BUCK contents for windows lldb build.
DeltaFile
+33-1utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
+3-0utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
+36-12 files

LLVM/project 9f576dallvm/lib/Target/SPIRV SPIRVNonSemanticDebugHandler.cpp

[reviews] Remove attributes.
DeltaFile
+4-8llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
+4-81 files

LLVM/project 0707112llvm/include/llvm/Analysis InstructionSimplify.h, llvm/include/llvm/IR FPTransformChecker.h

Class for checking floating-point properties

Applicability of a particular transformation to floating-point
expressions may depend on many parameters. Previously these parameters
were mainly represented by fast-math flags, and in some cases they were
supplemented by rounding mode and exception behavior, and all were
passed as separate arguments to the relevant functions. Implementing
more elaborated support of floating-point requires access to other
properties, including function attributes (such as denormal mode or sNaN
support). Passing these parameters as separate arguments is
inconvenient. To address this problem a special class that collects all
the necessary information is introduced in this commit.

The class is a wrapper over an integer value, where various bit fields
represent properties, that transformations may depend on. This allows
instances of the class to be passed by value. It incorporates fast-math
flags and borrows part of the FastMathFlags interface.

This change was intended to be NFC, but in some cases, the behavior

    [2 lines not shown]
DeltaFile
+152-185llvm/lib/Analysis/InstructionSimplify.cpp
+128-0llvm/include/llvm/IR/FPTransformChecker.h
+29-40llvm/include/llvm/Analysis/InstructionSimplify.h
+66-0llvm/lib/IR/FPTransformChecker.cpp
+17-17llvm/test/Transforms/InstCombine/fma.ll
+10-9llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
+402-25118 files not shown
+448-30924 files

FreeBSD/src 9cd0d62sys/fs/cd9660 cd9660_rrip.c iso_rrip.h

cd9660: Add various length checks when parsing RRIP extensions

Pass the length of a RockRidge attribute to the handler functions and
validate that length in each handler.  If a parsing error is detected,
abort the entire parsing pass.

Reviewed by:    des
Differential Revision:  https://reviews.freebsd.org/D57136
DeltaFile
+135-51sys/fs/cd9660/cd9660_rrip.c
+1-0sys/fs/cd9660/iso_rrip.h
+136-512 files

FreeNAS/freenas df1a903src/middlewared/middlewared/plugins/enclosure_ ses_enclosures2.py slot_mappings.py

NAS-141457 / 26.0.0-RC.1 / V-series V2xx front-bay enclosure support

Adds enclosure2.query support for V2xx (V260/V280) front-bay drives,
which are served by a single Broadcom PEX89088 PCIe switch chip
partitioned into two SES VirtualSES enclosures (replacing V1xx's dual
9600w-12i4e SAS HBAs).

Key V2xx differences handled here:

- The two PEX89088 SES partitions advertise the SAME encid (SAS
  address), so the V1xx encid-comparison disambiguation fails.
  ses_enclosures2 now falls back to inspecting Array Device Slot element
  descriptor labels ('slot01'..'slot12' identifies the NVME0 partition;
  'slot13'..'slot24' identifies NVME8).

- V2xx slot indexing differs from V1xx: each partition exposes its 12
  owned slots at libsg3 element keys 1-12 (NVME0) or 13-24 (NVME8),
  with sysfs slot files matching the key 1:1. slot_mappings now branches
  by enc.product so the V2xx table is picked for ECStream 4IXGA-SWp/s.

    [10 lines not shown]
DeltaFile
+82-20src/middlewared/middlewared/plugins/enclosure_/ses_enclosures2.py
+79-5src/middlewared/middlewared/plugins/enclosure_/slot_mappings.py
+24-2src/middlewared/middlewared/plugins/enclosure_/sysfs_disks.py
+19-1src/middlewared/middlewared/plugins/enclosure_/enclosure_class.py
+204-284 files

FreeNAS/freenas 3781405src/middlewared/middlewared/plugins/enclosure_ nvme2.py slot_mappings.py, src/middlewared/middlewared/pytest/unit/plugins/enclosure/test-cases/V260-NOJBODS mocked.json expected.json

NAS-141457 / 26.0.0-RC.1 / V-series rear-bay enclosure support via bifurcated NTG SES partition

Adds enclosure2.query support for V-series rear bays (V140, V160, V260,
V280) served by the bay-serving half of the bifurcated PEX89032 NTG
chip. The other half has no drives and is dropped from enclosure2.query
— discriminated by Array Device Slot descriptor labels ('slot01'..'slot04'
identifies the bay-serving partition; '<empty>' identifies the no-drives
half). Both halves share the same vendor / product / encid, so descriptor
labels are the only discriminator.

Changes:

- ses_enclosures2 adds _VSERIES_REAR_PRODUCTS, the
  _vseries_rear_partition_owns_bays discriminator, and
  _initialize_v_series_rear_enclosures (picks the bay-serving partition,
  tags it slot_designation='REAR', drops the no-drives partition).
  get_ses_enclosures grows a deferred_rear bucket and dispatches via the
  unified _initialize_v_series_enclosures wrapper.


    [19 lines not shown]
DeltaFile
+702-0src/middlewared/middlewared/pytest/unit/plugins/enclosure/test-cases/V260-NOJBODS/mocked.json
+606-0src/middlewared/middlewared/pytest/unit/plugins/enclosure/test-cases/V260-NOJBODS/expected.json
+0-101src/middlewared/middlewared/plugins/enclosure_/nvme2.py
+27-48src/middlewared/middlewared/plugins/enclosure_/slot_mappings.py
+58-10src/middlewared/middlewared/plugins/enclosure_/ses_enclosures2.py
+5-14src/middlewared/middlewared/plugins/enclosure_/enclosure_class.py
+1,398-1736 files

LLVM/project 6a2f754llvm/lib/Target/SPIRV SPIRVNonSemanticDebugHandler.h

[reviews] simplify code.
DeltaFile
+1-1llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
+1-11 files

Linux/linux 1dc1880Documentation/devicetree/bindings/i2c i2c-mux-reg.yaml i2c-mux-reg.txt, drivers/i2c/busses i2c-qcom-cci.c i2c-imx-lpi2c.c

Merge tag 'i2c-7.2-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/andi.shyti/linux

Pull more i2c updates from Andi Shyti:
 "Cleanups:
   - generic cleanups in qcom, qcom-cci and pxa, plus core cleanups in
     algo-bit and atr

  Fixes:
   - davinci: clean up cpufreq notifier on probe failure
   - imx-lpi2c: suspend the adapter while hardware is powered down
   - ls2x-v2: return IRQ_HANDLED after servicing error interrupts
   - stm32f7: fix timing calculation accuracy

  DT bindings:
   - microchip: permit resets
   - i2c-mux-pinctrl: update maintainer entry
   - i2c-mux-reg: convert bindings to DT schema"

* tag 'i2c-7.2-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/andi.shyti/linux:

    [14 lines not shown]
DeltaFile
+92-0Documentation/devicetree/bindings/i2c/i2c-mux-reg.yaml
+0-74Documentation/devicetree/bindings/i2c/i2c-mux-reg.txt
+20-28drivers/i2c/busses/i2c-qcom-cci.c
+14-1drivers/i2c/busses/i2c-imx-lpi2c.c
+5-5drivers/i2c/busses/i2c-pxa.c
+7-2drivers/i2c/busses/i2c-stm32f7.c
+138-1107 files not shown
+151-11713 files

LLVM/project 08c728eclang/cmake/modules ClangConfig.cmake.in, cmake/Modules GetTripleCMakeSystemName.cmake NormalizeTriple.cmake

Revert "runtimes: Pass CMAKE_SYSTEM_NAME based on target triple" (#205133)

Reverts llvm/llvm-project#203504

Breaks build pending #205130
DeltaFile
+0-89cmake/Modules/GetTripleCMakeSystemName.cmake
+46-41llvm/cmake/modules/LLVMConfig.cmake.in
+15-49llvm/cmake/modules/LLVMExternalProjectUtils.cmake
+0-36cmake/Modules/NormalizeTriple.cmake
+16-2runtimes/CMakeLists.txt
+1-4clang/cmake/modules/ClangConfig.cmake.in
+78-2211 files not shown
+82-2217 files

FreeBSD/ports fe0a35esecurity/shibboleth-idp pkg-plist Makefile

security/shibboleth-idp: Update to 5.2.3
DeltaFile
+27-29security/shibboleth-idp/pkg-plist
+13-6security/shibboleth-idp/Makefile
+7-7security/shibboleth-idp/distinfo
+47-423 files

FreeBSD/ports 95a8257emulators/mgba Makefile, games/domino-chain Makefile

graphics/ImageMagick: update to 7.1.2-25

Changes:        https://github.com/ImageMagick/ImageMagick/compare/7.1.2-24...7.1.2-25
Security:       CVE-2026-53460
Security:       CVE-2026-53461
Security:       CVE-2026-53462
Security:       CVE-2026-53463
Security:       CVE-2026-53464
Security:       CVE-2026-53465
PR:             296190

(cherry picked from commit 320e46a6cee979c670baccc76382d9f3f7538bdf)
DeltaFile
+3-3graphics/ImageMagick7/distinfo
+1-1emulators/mgba/Makefile
+1-1games/domino-chain/Makefile
+1-1games/enigma/Makefile
+1-1games/openspades/Makefile
+1-1games/toppler/Makefile
+8-845 files not shown
+53-3451 files

LLVM/project f4927c9llvm/lib/Target/AMDGPU AMDGPUISelDAGToDAG.cpp SIISelLowering.cpp, llvm/test/CodeGen/AMDGPU packed-fp64.ll packed-u64.ll

[AMDGPU] Make v2x64 BUILD_VECTOR legal on gfx1251 (#204470)
DeltaFile
+120-174llvm/test/CodeGen/AMDGPU/packed-fp64.ll
+70-106llvm/test/CodeGen/AMDGPU/packed-u64.ll
+14-36llvm/test/CodeGen/AMDGPU/shl.v2i64.ll
+15-16llvm/test/CodeGen/AMDGPU/pk-lshl-add-u64.ll
+11-6llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
+3-2llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+233-3406 files

LLVM/project eb0d7a2llvm/test/CodeGen/SPIRV/debug-info debug-function-declaration.ll debug-function-declaration-composite-scope.ll

Fix tests for Windows.
DeltaFile
+1-1llvm/test/CodeGen/SPIRV/debug-info/debug-function-declaration.ll
+1-1llvm/test/CodeGen/SPIRV/debug-info/debug-function-declaration-composite-scope.ll
+1-1llvm/test/CodeGen/SPIRV/debug-info/debug-function-declaration-path-null.ll
+1-1llvm/test/CodeGen/SPIRV/debug-info/debug-function-declaration-skip-type-not-in-debug-type-regs.ll
+4-44 files

LLVM/project 1469361llvm/include/llvm/IR IntrinsicsAMDGPU.td, llvm/lib/Target/AMDGPU AMDGPUInstructionSelector.cpp SIISelLowering.cpp

[AMDGPU] Guard more intrinsics with target features
DeltaFile
+1-51llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
+0-42llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+0-24llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
+15-2llvm/include/llvm/IR/IntrinsicsAMDGPU.td
+4-4llvm/test/CodeGen/AMDGPU/unsupported-av-store.ll
+4-4llvm/test/CodeGen/AMDGPU/unsupported-av-load.ll
+24-12713 files not shown
+48-14419 files

LLVM/project 3f06b78clang/lib/CodeGen CodeGenAction.cpp, llvm/lib/CodeGen/SelectionDAG SelectionDAGBuilder.cpp

[RFC][CodeGen] Add generic target feature checks for intrinsics

This PR adds target-independent infrastructure for annotating LLVM intrinsics
with required subtarget feature expressions.

It introduces a TargetFeatures string field to intrinsic TableGen records.
TableGen emits an intrinsic-to-feature mapping table.

Both SelectionDAG and GlobalISel now perform this check before lowering target
intrinsics. This allows targets to opt in by annotating intrinsic definitions
directly, rather than adding custom checks during lowering, legalization, or
instruction selection.

This PR uses one AMDGPU intrinsic as an example.
DeltaFile
+96-3llvm/lib/MC/MCSubtargetInfo.cpp
+37-0clang/lib/CodeGen/CodeGenAction.cpp
+36-0llvm/lib/IR/DiagnosticInfo.cpp
+33-1llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
+28-0llvm/test/TableGen/intrinsic-target-features.td
+25-0llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+255-414 files not shown
+391-920 files

LLVM/project f38770alibcxx CMakeLists.txt, libcxx/src CMakeLists.txt

[runtimes] Don't create shared library targets when unsupported

On platforms that don't support shared libraries (e.g. CMAKE_SYSTEM_NAME of
"Generic", used for GPU and other baremetal targets), CMake's
Platform/Generic.cmake sets the global TARGET_SUPPORTS_SHARED_LIBS property to
FALSE. Under CMP0164's OLD behavior (the default, since the runtimes set
cmake_minimum_required(3.20)), CMake silently demotes SHARED library targets to
STATIC archives. libcxx, libcxxabi and libunwind always create their shared
target, so after demotion both the shared and static targets emit e.g.
"libc++abi.a" and Ninja fails with "multiple rules generate ...".

Rather than papering over the collision with a distinct output name, skip
creating the shared library targets entirely when the platform does not support
them, gating on the TARGET_SUPPORTS_SHARED_LIBS property (left undefined on
platforms that do support shared libraries). The few consumers of the shared
targets are guarded with TARGET checks so they fall back to the static library
or are skipped.

Also set policy CMP0164 to NEW so that any future unguarded

    [10 lines not shown]
DeltaFile
+94-92libcxxabi/src/CMakeLists.txt
+80-78libcxx/src/CMakeLists.txt
+37-35libunwind/src/CMakeLists.txt
+11-12libcxxabi/CMakeLists.txt
+11-12libcxx/CMakeLists.txt
+11-12libunwind/CMakeLists.txt
+244-2411 files not shown
+250-2417 files

LLVM/project d4ae086llvm/lib/Target/AMDGPU SIFoldOperands.cpp, llvm/test/CodeGen/AMDGPU fold-imm-pk64.mir

[AMDGPU] Prevent folding of immediates larger than 64 bit (#204434)
DeltaFile
+37-0llvm/test/CodeGen/AMDGPU/fold-imm-pk64.mir
+3-0llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
+40-02 files

Linux/linux 9f333cbDocumentation/devicetree/bindings/i3c mipi-i3c-hci.yaml, drivers/i3c master.c

Merge tag 'i3c/for-7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux

Pull i3c updates from Alexandre Belloni:
 "This cycle, there was a lot of work around the mipi-i3c-hci driver
  that also led to improvements of the core. We also have support for a
  new SoC, the Microchip SAMA7D65. And of course, there are small fixes
  for the other controller drivers.

  Subsystem:
   - introduce dynamic address reconciliation after DAA
   - add preliminary API for hub support
   - fixes for dev_nack_retry_count handling
   - move hot-join support in the core instead of open coding in
     different drivers

  Drivers:
   - mipi-i3c-hci-pci: DMA abort, recovery and related improvements,
     hot-join support, Microchip SAMA7D65 support, fix possible race in
     IBI handling

    [25 lines not shown]
DeltaFile
+386-118drivers/i3c/master.c
+266-79drivers/i3c/master/mipi-i3c-hci/dma.c
+174-22drivers/i3c/master/mipi-i3c-hci/core.c
+23-17drivers/i3c/master/dw-i3c-master.c
+22-17drivers/i3c/master/svc-i3c-master.c
+23-4Documentation/devicetree/bindings/i3c/mipi-i3c-hci.yaml
+894-25710 files not shown
+970-30716 files

LLVM/project bd89ac7lldb/source/Plugins/Process/gdb-remote ProcessGDBRemote.cpp ProcessGDBRemote.h

[lldb][Windows] Remember server's primary stop thread on gdb-remote stops (#203525)

The client kept the previously-selected thread across stops, ignoring
the primary tid from the server in `T<sig>thread:<tid>`.
On Windows, lldb-server halts the inferior by injecting a thread called
`DbgUiRemoteBreakin` whose only job is to execute an int 3. After an
interrupt, the process has `N+1` threads and the new one is what caused
the stop. The server reports that thread as primary, but the client
ignored it and stayed on whichever thread was selected before. In
`TestExpressionInSyscall` that thread is main, paused just past
`NtDelayExecution`'s syscall with a garbage value in the RSI register.
Evaluating an expression there crashes the JIT trampoline.

This patch makes `ProcessGDBRemote::RefreshStateAfterStop` record the
primary tid from the most recent T-packet's `thread:<tid>` and select it
after applying per thread stop infos.

Fixes `TestBreakpointSetRestart` and `TestExpressionInSyscall` with
LLDB_USE_LLDB_SERVER=1.

rdar://180307914
DeltaFile
+9-0lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+3-0lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
+12-02 files

FreeBSD/ports 320e46acad/alliance Makefile, deskutils/walld Makefile

graphics/ImageMagick: update to 7.1.2-25

Changes:        https://github.com/ImageMagick/ImageMagick/compare/7.1.2-24...7.1.2-25
Security:       CVE-2026-53460
Security:       CVE-2026-53461
Security:       CVE-2026-53462
Security:       CVE-2026-53463
Security:       CVE-2026-53464
Security:       CVE-2026-53465
PR:             296190
DeltaFile
+3-3graphics/ImageMagick7/distinfo
+1-1x11-wm/windowmaker/Makefile
+1-1cad/alliance/Makefile
+1-1deskutils/walld/Makefile
+1-1devel/p5-Project-Gantt/Makefile
+1-1emulators/mgba/Makefile
+8-846 files not shown
+54-3652 files

LLVM/project f63cb33. .gitignore

gitignore: Add emacs lock files (#205055)
DeltaFile
+2-0.gitignore
+2-01 files

FreeNAS/freenas cfb14dcsrc/middlewared/middlewared/plugins/truecommand portal.py update.py

NAS-141445 / 27.0.0-BETA.1 / Convert truecommand plugin to typesafe pattern (#19162)

This commit adds changes to convert the truecommand plugin to the
typesafe pattern, splitting the old compound ConfigService into a lean
GenericConfigService that delegates to a ConfigServicePart with Pydantic
models, while the portal/wireguard/state logic moves into plain
context-first functions and same-process calls use call2. In-process
consumers of truecommand.config (truenas and security) switch from dict
access to typed attribute access.
DeltaFile
+182-149src/middlewared/middlewared/plugins/truecommand/portal.py
+0-229src/middlewared/middlewared/plugins/truecommand/update.py
+98-102src/middlewared/middlewared/plugins/truecommand/wireguard.py
+188-0src/middlewared/middlewared/plugins/truecommand/config.py
+87-7src/middlewared/middlewared/plugins/truecommand/__init__.py
+45-0src/middlewared/middlewared/plugins/truecommand/state.py
+600-4876 files not shown
+614-53612 files

NetBSD/pkgsrc-wip cada373knot-resolver Makefile

knot-resolver: Small clean-up of Makefile
DeltaFile
+0-2knot-resolver/Makefile
+0-21 files

LLVM/project 0ec3a61libcxx CMakeLists.txt, libcxxabi CMakeLists.txt

[runtimes] Avoid duplicate static archive when shared libs are unsupported

After #203504, runtime sub-builds for GPU/baremetal targets are configured
with CMAKE_SYSTEM_NAME=Generic rather than inheriting the host's system
name. CMake's Platform/Generic.cmake sets the global
TARGET_SUPPORTS_SHARED_LIBS property to FALSE, which causes CMake to
silently turn SHARED library targets into STATIC ones.

libcxx, libcxxabi and libunwind always define their shared library target
(gated by EXCLUDE_FROM_ALL) even when *_ENABLE_SHARED is off, and the shared
and static targets share the same OUTPUT_NAME. With the shared target demoted
to a static archive, both targets generate e.g. "libc++abi.a", which Ninja
rejects:

  ninja: error: build.ninja:147837: multiple rules generate
  lib/amdgcn-amd-amdhsa/libc++abi.a [-w dupbuild=err]

Default the shared library output name to a distinct "-shared" name when the
platform does not support shared libraries, mirroring the existing workaround

    [9 lines not shown]
DeltaFile
+15-1libcxx/CMakeLists.txt
+15-1libcxxabi/CMakeLists.txt
+15-1libunwind/CMakeLists.txt
+45-33 files