Revert "devel/py-lxml: update to 6.1.3"
Requires at least newer minor version of lang/cython 3.2.9.
Reported by: fallout
This reverts commit 3dba3a5bc9a24ad56d9312a8cb2b64eeab56cb40.
[MLIR][LLVM] Avoid narrowing wide constant shift amounts (#220777)
LLVM::ShlOp::fold() used APInt::getZExtValue() to compare a constant
shift
amount against the operand bit width.
For wide integer constants whose active value exceeds 64 bits, such as
an i128
shift amount of 2^100, getZExtValue() asserts before the fold can
determine
that the shift is out of range.
Compare the APInt directly with the operand bit width using uge()
instead. This
preserves the existing behavior for out-of-range shifts, which are
currently
left unfolded, while avoiding the unsafe narrowing.
Add regression coverage for:
[4 lines not shown]
[orc-rt] Sink remaining Compiler.h macros into C API header (#220780)
ORC_RT_LIKELY, ORC_RT_UNLIKELY, ORC_RT_WEAK_IMPORT,
ORC_RT_BUILTIN_UNREACHABLE and ORC_RT_UNREACHABLE are useful from C but
were only reachable through the C++ header, so move them to
orc-rt-c/support/Compiler.h.
Rename ORC_RT_EXPORT to ORC_RT_CXX_EXPORT so that both export macros
name their language explicitly. The C++ header is left holding only that
macro. Keep the header separate anyway so that C APIs don't accidentally
use ORC_RT_CXX_EXPORT.
Extend CAPICompileTest.c to use each moved macro from C, with assertions
in CompilerTest.cpp so the behaviour is checked and not just the syntax.
[ELF] Omit zero-range FDEs from .eh_frame_hdr (#220492)
A zero-sized function (e.g. only `__builtin_unreachable()` in the body
when not using -trap-unreachable) shares its address with the next
function, and its zero-range FDE can win the uniquify step, leaving the
next real function impossible to unwind.
Fix #218124 by dropping FDEs with a zero PC range from the search table.
[AMDGPU] Expose the half-addressable LDS feature to TargetParser
Add FeatureHalfAddressablePhysicalLocalMemory to
AMDGPUFrontendVisibleFeatures so TargetParser carries it in its per-GPU
feature bitset, where getLocalMemorySize can read it.
It is listed in FrontendOnlyFeatures, so clang does not serialize it
into the target-feature string: it is a capability implied by the
subtarget, not something a user selects.
Change-Id: I87edf18bbb527fb90e6a8af1144e985024f063f7
Co-Authored-By: Claude Opus 5 (1M context) <noreply at anthropic.com>
[AArch64][NFC] Make insertion of CMP for fused cond. branches reusable (#220771)
Both if-conversion and CCMP-chain forming need to undo the fusion of
conditional branches such as CBZ or CB.<cc>. With the introduction of
FEAT_CMPBR, this logic got quite involved.
This patch makes the functionality reusable through AArch64InstrInfo.
bhyve: Keep passthrough PCI power state virtual
The passthrough Command register is emulated, but PMCSR writes were
sent directly to the physical function. A guest D3hot-to-D0 transition
can perform an internal reset and clear physical Command while its
emulated copy remains enabled.
Cache the Power Management capability and keep the physical D-state
host-owned. Emulate the guest D-state and advertise No_Soft_Reset so
the guest is not promised a function reset by a virtual power cycle.
Restore the assignment-time virtual state after a managed FLR.
Reviewed by: markj
Sponsored by: BBOX.io
(cherry picked from commit 3b90096cf9bcaec70b717e9ff0a9e23d14b600b6)
bhyve: Manage passthrough devices across guest FLR
bhyve emulates the guest PCI Command register so BAR sizing does not
disable physical decoding. However, PCIe Device Control was passed
through. A guest VFIO reset therefore performed a physical FLR, which
cleared physical Command, while the guest restored only its emulated
copy. The device remained assigned with bus mastering disabled and
could not fetch DMA descriptors.
Intercept guest FLR writes and issue a PPT-managed reset. Stop all
vCPUs, verify ownership, quiesce the function, perform only an FLR, and
restore the host-owned PCI configuration, decode, and bus-master state.
Keep the IOMMU domain in place. bhyve removes guest BAR mappings before
this ioctl; a later guest MEMEN write recreates them. Never escalate a
guest FLR to a power reset.
Reset the guest-owned Command, MSI, MSI-X, MSI-X table, INTx, and MRRS
state. PCIe 6.2 section 6.6.2 explicitly preserves MPS across FLR.
Virtualize MPS, MRRS, and Completion Timeout. Keep physical MPS and
[27 lines not shown]
e1000: Report 82571 packet buffer ECC errors
The 82571 PBA_ECC register contains a 12-bit count of packet buffer ECC
detections. The shared code enables single-bit correction, but neither
FreeBSD nor the DPDK base driver consumes the counter.
Sample it with the ordinary statistics timer, accumulate the value under
dev.em.N.memory_errors.detected_packet_buffer, and clear the hardware
counter while preserving correction and reserved register state. Do not
enable its shared interrupt: the register does not distinguish corrected
from uncorrectable events and does not provide a safe fatal recovery
policy.
Validated on a dual port 82571EB. Both functions reported zero after a
clean boot, and a controlled link down/up cycle left the counter at zero
while the management link recovered at 1 Gb/s without issue.
Sponsored by: BBOX.io
(cherry picked from commit aec0f1b85b54d14819747ed3364f366d21e76d88)
iflib: Plumb per-packet RX hardware timestamps to mbufs
Add iri_rcv_tstmp to if_rxd_info so an isc_rxd_pkt_get() driver can
report a hardware RX timestamp. Copy it into m_pkthdr.rcv_tstmp,
reusing the generic mbuf timestamp path.
Widen iri_flags from uint8_t to uint32_t and define the flags drivers
may supply. Mask the flags before copying them into the mbuf so no
other mbuf state can leak through the driver callback.
Place the timestamp next to iri_frags to avoid an alignment hole, and
document its nanoseconds-since-boot representation and validity flags.
Bump __FreeBSD_version because changing if_rxd_info breaks KBI.
Reviewed by: gallatin
Signed-off-by: Sreekanth Reddy <sreekanth.reddy at broadcom.com>
Differential Revision: https://reviews.freebsd.org/D58638
Initialize PBQP Pass for Clang (#217954)
As mentioned in discussion on
https://github.com/llvm/llvm-project/issues/16391, the PBQP allocator is
not available to clang despite existing in the backend. This updates
code to initialize the pass and make it available to clang.
[SLP] Fix-up profile metadata for runtime alias checks (#220769)
This makes two main changes
* Adds profile information regardless of whether or not the function is
profile. This data is still useful even when little else is profiled.
e.g., it helps ensure that registers are spilt in the cold block rather
than the hot one.
* Switches to using MDBuilder's branch weight designations. The named
values make the meaning of the code clearer and this is the standard way
to denote cold code in the compiler absent additional information about
the specific frequency here.
[flang] Warn when an INTENT(IN) dummy is passed to a dummy with no INTENT (#220667)
F'2023 8.5.10 paragraph 2 requires that a nonpointer INTENT(IN) dummy
argument "shall neither be defined nor become undefined during the
invocation and execution of the procedure". A program can violate that
requirement without any diagnostic today by passing the INTENT(IN) dummy
argument on as an actual argument to a procedure whose corresponding
dummy argument has no INTENT attribute: that callee is free to define
its dummy argument, and since #207732 flang propagates INTENT(IN) to
LLVM as `readonly`, so the optimizer is entitled to assume the
definition never happens. The observable result is a program whose
answers change with the optimization level, with nothing pointing at the
cause.
```fortran
program main
integer :: kk = 1
call s(kk)
print *, kk ! 1 at -O1, 3 at -O2
[28 lines not shown]
Clarify major upgrade dialog wording when declining
The dialog said the upgrade "will be skipped until the next boot",
which read as if declining scheduled the upgrade for the next boot.
Declining only suppresses the prompt, so say that instead.
Resolves ghostbsd/issues#360
Add a regression test for license redaction in the audit log
This commit adds changes to assert that every audit entry for `truenas.license.upload` records the redaction placeholder in place of the license, so that dropping `Secret[...]` from the field cannot quietly reopen the leak while CI stays green.
The test uploads nothing and is read-only. Whatever installed the license -- CI, TrueNAS Connect or an operator -- already went through the audited API and left the entry behind, so the entries themselves are what get inspected, and it skips when nothing has called the method. It asserts the shape of the placeholder rather than its exact text, which keeps it independent of how long the placeholder is and holds for a legacy base64 blob as much as for a v2 PEM: a legacy blob carries no PEM header, so matching on one would let a leaked legacy license through.