[lldb] Remove check for LLDB_ENABLE_PYTHON in SWIGPythonBridge.h (#182326)
The header guard is redundant because
`source/Plugins/ScriptInterpreter/CMakeLists.txt` already gates the
entire `Python/` subdirectory behind `LLDB_ENABLE_PYTHON`.
[emacs] Rework tablegen mode (#182076)
This commit reworks tablegen-mode to be derived from prog-mode and
removes a lot of the manual work that define-derived-mode does for you
these days, along with fixing other lints (such as an over-long
summary).
This is a major version bump because td-decorators-face has been renamed
to tablegen-decorators-face in order to not pollute other namespaces.
[mlir] Fix a crash in SCF loop coalescing when loop step is zero (#181893)
Fixes #181590
The affine-loop-coalescing pass crashes when loop has a statistically
known zero step. This fix does an early bail-out in coalesceLoops that
return failure when a loop has a known zero step.
Merge tag 'net-7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Pull networking fixes from Jakub Kicinski:
"Including fixes from Netfilter.
Current release - new code bugs:
- net: fix backlog_unlock_irq_restore() vs CONFIG_PREEMPT_RT
- eth: mlx5e: XSK, Fix unintended ICOSQ change
- phy_port: correctly recompute the port's linkmodes
- vsock: prevent child netns mode switch from local to global
- couple of kconfig fixes for new symbols
Previous releases - regressions:
[38 lines not shown]
Fix available space accounting for special/dedup (#18222)
Currently, spa_dspace (base to calculate dataset AVAIL) only includes
the normal allocation class capacity, but dd_used_bytes tracks space
allocated across all classes. Since we don't want to report free
space of other classes as available (we can't promise new allocations
will be able to use it), report only allocated space, similar to how
we report space saved by dedup and block cloning.
Since we need deflated space here, make allocation classes track
deflated allocated space also. While here, make mc_deferred also
deflated, matching its use contexts. Also while there, use
atomic_load() to read the allocation class stats.
Reviewed-by: Rob Norris <robn at despairlabs.com>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Alexander Motin <alexander.motin at TrueNAS.com>
Closes #18190
Closes #18222
[DAG] SimplifyDemandedBits - fold FSHR(X,Y,Amt) -> SRL(Y,Amt) (#182294)
If a FSHR node's DemandedBits mask and maximum shift amount doesn't
demand any bits from the X upper register, then simplify to a SRL node.
FSHL is less useful but we could add it as a future patch if there's
interest
Based off a discussion on #182021
Fix option matching and alert message.
The previous condition check resulted in false positives. Use
preg_match() for easier readability. While here also fix the notice.
Followup to fb490d5ff0f9eb5a42a8b20e6f2d9e4001252d57.
[ThinLTO] Distinguish symbols that are promoted (#181946)
Thinlink may decide some symbols with internal linkage should get promoted to external. Such a symbol, when being imported, would have its name changed by appending a suffix (`.llvm.<a hash>`) to avoid collisions - since internal linkage symbols have non-unique names.
Later, still during Thinlink, in `thinLTOResolvePrevailingGUID`, the fact that this symbol was promoted is not considered and we set its linkage to `AvailableExternally`(when reading `thinLTOResolvePrevailingGUID`, note that "prevailing-ness" is not a concept that the original symbol would have participated in)
This should result in a final (native) link error, because the symbol's definition may be elided. But we get lucky: in the post-thinlink backend, during import, in `llvm::thinLTOFinalizeInModule`, after this symbol's name was changed and its linkage also changed to `External` (see `FunctionImportGlobalProcessing::processGlobalForThinLTO`), we try to find it in the `DefinedGlobals`, fail (because its guid is computed from its changed name)) and leave its linkage as-is. Which happens to be correct.
This patch makes this outcome intentional rather than accidental. It becomes critical once we land [this RFC](https://discourse.llvm.org/t/rfc-keep-globalvalue-guids-stable/84801).
As a side-benefit, the extra attribute propagations that weren't happening in `llvm::thinLTOFinalizeInModule` now do.
[NFC][CodeGen] Refactor subregister index verification for MIR (#181921)
Refactor register class/subreg-index verification against the
instruction specified class:
- Avoid inflating the register's class (i.e., no need to call
`getLargestLegalSuperClass`).
- Check validity with `getMatchingSuperRegClass(RC, DRC, SubIdx) == RC`.
- Add some explanatory comments for this check.
- Extended a unit test to exercise this verification failure.
[win] Control Flow Guard: Don't set the GuardCF COFF feature if the checks are missing (#182205)
LLVM allows Windows Control Flow Guard to be enabled in "table only"
mode where it emits the Control Flow Guard tables (indicating addresses
for valid targets) but doesn't emit any checks at call sites. This is
almost the same as MSVC's `/d2guardnochecks` flag, EXCEPT MSVC doesn't
set the COFF feature bit indicating that Control Flow Guard is enabled
(`GuardCF`) whereas LLVM does.
This change aligns LLVM with MSVC: in table only mode, the Control Flow
Guard COFF feature bit (`GuardCF`) will not be set.
[lldb][windows] mitigate a race condition when closing the ConPTY (#182109)
This patch mitigates a race condition when closing the ConPTY of a
process on Windows.
This is a temporary solution, I am working on a better one. This would
however unlock the
[lldb-aarch64-windows](https://lab.llvm.org/buildbot/#/builders/141/builds/15535)
bot while still keeping STDIN and STDOUT support in lldb.
The race condition happens because the ConPTY is closed when a process
exits, however the data was not fully received yet from the process.
I think the correct solution would be to close the ConPTY when we
receive the EOF in `ConnectionGenericFile::Read`.
CI: Test & fix Linux ZFS built-in build
ZFS can be built directly into the Linux kernel. Add a test build
of this to the CI to verify it works. The test build is only enabled
on Fedora runners (since they run the newest kernels) and is done in
parallel with ZTS. The test build is done on vm2, since it typically
finishes ~15min before vm1 and thus has time to spare.
In addition:
- Update 'copy-builtin' to check that $1 is a directory
- Fix some VERIFYs that were causing the built-in build to fail
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Tony Hutter <hutter2 at llnl.gov>
Closes #18234
[lldb][Process/FreeBSDKernel] Remove libfbsdvmcore support (#181283)
Due to libfbsdvmcore, adding new features requires modifying both
`ProcessFreeBSDKernelFVC` and `ProcessFreeBSDKernelKVM` which also
requires testing on both. This is highly inefficient while the user base
of fvc is currently invisible since most package manager don't ship
libfbsdvmcore with LLDB.
There is still demand for cross-platform kernel dump debugging. This
will be implemented in future either by cloning and embedding kvm
interface into LLDB or unifying dump formats to ELF core with
minidump-to-elf conversion tool on FreeBSD side.
---------
Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>
[mlir][tosa] Use 0 values for the dense resource in tosa-narrow-* tests (#182321)
For the test portability between little-endian and big-endian, just use
zeros as the dense resource values. It doesn't test the actual narrowing
but tests that the other conversions went well.
Add validation to prevent multiple instances of flagged app
This commit adds changes to prevent installation of an app which has already been installed and is marked as an app which cannot have multiple instances installed.
NAS-139877 / 26.0.0-BETA.1 / Only issue single-use reconnect tokens (#18247)
This commit modifies the behavior login_ex requests for reauthentication
tokens to ensure that they are only always single-use. This removes a
difference between when we're in STIG mode and not, and corresponds with
current UI design where they basically will do token chaining on
reconnects.
ICP: AES-GCM assembly: remove unused Gmul functions
In the AES-GCM assembly files we are defining Gmul functions we
don't use anywhere.
Just remove the dead code.
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Attila Fülöp <attila at fueloep.org>
Closes #18226