[lld][MachO] Handle compact unwind entries with no matching symbol (#180009)
Context: This change is to support [MachO basic block hot-cold
splitting](https://discourse.llvm.org/t/rfc-support-fsplit-machine-functions-on-macho-arm64/89739)
- though it's presented below outside of this context.
Compact unwind entries can reference function addresses that have no
corresponding symbol in the object's symbol table (e.g. functions with
temporary local labels). Previously, this would trigger an assertion
failure in assert-enabled builds, or silently drop the unwind entry in
release builds, resulting in missing unwind info at runtime.
Fix this by synthesizing a local `Defined` symbol when no symbol exists
at the target address of a compact unwind entry, so that unwind info is
correctly emitted.
[Assisted-by](https://t.ly/Dkjjk): Cursor IDE + claude-opus-4.6-high +
gpt-5.2-xhigh
[clang-offload-bundler] Convert `std::vector` to `llvm::SmallVector` in `OffloadBundlerConfig` (#192259)
Replace `std::vector<std::string>` with `llvm::SmallVector<std::string,
4>`
for TargetNames, InputFileNames, and OutputFileNames to avoid heap
allocation for small number of elements.
[HLSL] Add InterlockedAdd HLSL functions (#195742)
This PR adds the `InterlockedAdd` function to HLSL.
For now, only integer references are accepted: resources passed as a
parameter, and this function as a member method to certain resources,
will be addressed in a separate PR.
Addresses https://github.com/llvm/llvm-project/issues/99122
Assisted by: Github Copilot
[test][Support] Disable CFI-icall for DynamicLibrary Overload test (#202446) (#202684) (#202794)
The test performs manual symbol lookup and calls, which triggers
Control Flow Integrity indirect call checks.
Reland of #202446 and #202684 reverted with #202550 #202446.
Here we are going to use LLVM_NO_SANITIZE and check `__clang__`.
unit/namecheck: test name validation
Add a test_namecheck unit suite covering zfs_namecheck name check
functions, including: pool, dataset, snapshot, bookmark, component,
permset and mountpoint, plus get_dataset_depth and dataset_nestcheck.
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Rob Norris <rob.norris at truenas.com>
Signed-off-by: Christos Longros <chris.longros at gmail.com>
Closes #18643
* unit/namecheck: simplify name generation and helpers
1) introduce check_longname_invalid() and simplify the long-name helper
2) document that zfs_max_dataset_nesting is a tunable and drop the
unnecessary restore
3) drop snprintf and use fixed intervals for the delimiters in a
random string
[4 lines not shown]
Fix self-deadlock when setting the "allocating"/"path" vdev property
zfs_ioc_vdev_set_props() acquires the SCL_CONFIG lock as a reader and
holds it across the call to vdev_prop_set(). For the "allocating"
property, vdev_prop_set() calls spa_vdev_noalloc()/spa_vdev_alloc(),
which descend through spa_vdev_enter() into spa_config_enter(spa,
SCL_ALL, RW_WRITER); the "path" property does the same via
spa_vdev_setpath().
Acquiring SCL_CONFIG as a writer while the same thread already holds it
as a reader is a self-deadlock: the writer waits for scl_count to drain
to zero, but scl_count is the thread's own reader, which is not released
until vdev_prop_set() returns. As a result "zpool set allocating=off|on
<vdev>" hangs the calling thread, and txg_sync, which also needs
SCL_CONFIG as a reader, stalls behind it and freezes the pool.
The SCL_CONFIG reader was added by commit d65015938e19 ("Vdev allocation
bias/class change", #18493) to keep the vdev tree stable across the guid
lookup and the property handling.
[28 lines not shown]
loader.efi: Search boot device before foreign ZFS pools
When `boot_policy` is `RELAXED`, `find_currdev()` tried ZFS pools on every
disk before searching the boot ESP and sibling partitions. Booting install
media from USB could therefore select an installed ZFS root on internal
storage instead of the intended memstick UFS image.
Extract the boot-device partition walk into `try_boot_device_partitions()`
and run it before relaxed foreign-pool probing. The ZFS search order is
preserved; pools on the boot device are tried first, followed by pools on
other devices when `boot_policy` is `RELAXED` and the boot device yields
no bootable root.
Signed-off-by: Faraz Vahedi <kfv at kfv.io>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/2239
[lldb] Drop prefix & offset arguments in ParseTrieEntries (#202805)
I addressed Dave's review feedback locally but forgot to push the fix to
the PR branch. This removes the prefix and offset arguments from the
public API.
[lldb][docs] Drop stale Python 2 note from caveats page (NFC) (#202754)
Remove the Python 2 section from the caveats page. Python 2 has been
end-of-life since 2020 and is no longer shipped with current macOS, so
the xcrun guidance for it and the deprecation note are no longer useful.
As promised in #201256.
[flang][OpenMP] Remove CheckSymbolName{,s}, NFC
These functions checked if each OmpObject had a symbol, and emitted
a diagnostic if not. Name not having a symbol is an internal compiler
error (at least now), and will be detected separately.
Remove these functions since they don't serve any purpose anymore.
(math/R-reshape2) Updated 1.4.4 to 1.4.5
(pkgsrc)
- Fix build against R 4.6.0 by adding files/Makevar
(upstream)
# reshape2 1.4.5
* No longer uses non-API entry points (@kevinushey, #106).
* Other various fixes for `R CMD check` issues.
Fix several migration artifacts
- Lines starting with `%` are markdown line comments. This comes up
often when LLVM IR value names end up starting a new line in prose.
- Fix indentation in a few cases
- Use > prefix for intended block quote sections.
- Fix the VP section heading, the two-line "" heading underline wasn't
caught in the initial migration.
[DirectX] Move getNonDXILAttributeMask to DirectXIRPasses (#202781)
DXILDebugInfo.cpp uses it and is part of DirectXIRPasses, but
DXILPrepare.cpp defined it and is part of DirectXCodeGen. DirectXCodeGen
has a dependency on DirectXIRPasses, so we cannot also add a dependency
from DirectXIRPasses back on DirectXCodeGen, and we need to move the
definition of getNonDXILAttributeMask() instead.
Fixes: #201336