www/p5-Starlet: update 0.32 -> 0.33
Changelog: https://metacpan.org/dist/Starlet/changes
Security: prevent excessive CPU use when parsing malformed chunk-size lines
Security: bound read allocations for large Content-Length values
Security: suppress response bodies for HEAD requests and 204/304 responses
Security: stream chunk data to the body buffer and limit chunk-size lines to 4096 bytes
[SPIR-V] Fix frexp crash when the exponent result is unused (#236928)
Unused exponent def has no SPIR-V type, so the pointee type of the
exponent variable was missing
Build it as i32 (or a vector of i32 matching the mantissa width) instead
[clang][bytecode][NFC] Avoid re-evaluating APValue base expressions (#237133)
If we already have a global variable created for the apvalue lvalue base
expression, just get the pointer to the existing global instead of
evaluating the expression again.
axgbe: fix receive buffers without split-header mode (#344)
When split-header mode is disabled, an RX descriptor contains two data buffers. The driver previously programmed both buffer addresses with the same physical address, causing the second DMA transfer to overwrite the first.
Split each iflib receive cluster into two contiguous hardware buffers and program the second descriptor address at the cluster midpoint. Keep the hardware buffer size consistent across attach, MTU changes, initialization and descriptor refill. The important bit here is to make pdata->rx_buf_size authoritative.
Update packet-length accounting so a complete non-final descriptor accounts for both buffers and the final descriptor contains only the remaining packet data. Validate the residual length before exposing it to iflib, returning an error when the hardware-reported length cannot fit in the descriptor.
Finally, clear the per-descriptor split-header length unconditionally and only read or use it when split-header mode is enabled.
Co-authored-by: @J-cztery
[lldb] Create data symbols from the Wasm export section (#236504)
When targeting Wasm, the global variables in C or Swift programs are
placed in linear memory, which means they get no entry in the name
section of the binary and therefore no Symbol in LLDB. In other words,
they can't be found by name without debug info.
There is a mechanism to somewhat remedy that: a program can make such a
variable findable with the `__attribute__((export_name))` attribute in C
and C++ or `@_expose(wasm)` in Swift. The Swift concurrency runtime
exports the debug variables that debuggers look up by name this way, for
example _swift_concurrency_debug_internal_layout_version.
These attributes cause the creation on an _extra_ immutable global whose
value is the annotated variable's address. This fake global has an entry
in the "globals" section, as well as entry in the "export" section of
the binary.
With this commit, LLDB now parses the export section, and follows the
[11 lines not shown]
[mlir] Store registered op info only in the by name map (#236949)
Loading a dialect inserted each op into two string maps
Insert it into one and take its entries from a bump allocator instead of
one malloc each
This speeds up context setup, which is noticable for short runs on small
inputs
[clang][test][NFC] Fix missing colons in FileCheck directives in arithmetic-fence-builtin.c (#236646)
In `clang/test/CodeGen/arithmetic-fence-builtin.c`, seven `CHECK-NEXT`
directives were missing colons (`:`), causing `FileCheck` to silently
ignore them.
Enabling these checks exposed two issues:
1. For `v = b + __arithmetic_fence(a*a);`, `fmul` is followed by `call
{{.*}} @llvm.arithmetic.fence.f32` and `fadd`, before the `fptosi`
conversion. Hence, the `CHECK-NEXT: fptosi` immediately after `fmul`
failed. Added `CHECKFAST-NEXT` checks for the fence call and `fadd`.
2. Change `CHECK-NEXT` to `CHECKFAST-NEXT` on the trailing instructions
in `addit()` because the non-fast-math `RUN` lines only run the default
`CHECK` prefix (with `--implicit-check-not="llvm.arithmetic.fence"`) and
do not match the intermediate `CHECKFAST`/`CHECKPP`/`CHECKNP`
instructions in `addit()`.
Assisted-by: Gemini
[libsycl] Give the SPIR-V work-item builtins a host path (#233808)
A kernel body defined in a function with external linkage is emitted for
the
host as well as the device, so the work-item queries it makes must link
without
a device. clang registers the `__builtin_spirv_*` aliases only for
SPIR-V
targets (`clang/lib/Basic/Targets/SPIR.cpp`), so on host the
declarations in `__clang_spirv_builtins.h` were left undefined and any
such
program failed to link with `undefined reference to
__spirv_BuiltInGlobalInvocationId(int)`.
The host values are unreachable at run time — clang replaces the host
body of
the entry point with a `sycl_kernel_launch` call, so the kernel functor
is
never invoked there.
[3 lines not shown]
[libc++][pstl] Introduce a "statpart" backend (#230540)
This PR introduces a simplified PSTL backend based on a static
partitioning scheme and on a single "parallelism" function
`__apply(size_t, void*, void (*)(void*, size_t))`. Currently the
underlying parallelism is only provided via the `libdispatch` library,
other mechanisms are assumed to be added later without changing the
API+ABI surface.
This backend is mostly a re-packaging of the code existing in
`libdispatch` and `cpu_algos`, currently placed in a dedicated
`__pstl/statpart/...` directory. `__pstl/statpart.h` serves as a purely
umbrella header.
The implementations of the algorithms with the STL APIs are identical to
the existing implementations in `__pstl/cpu_algos/...` modulo these
alterations:
- the naming is rebased to use the `__statpart` backend.
- the algorithms are presented directly under the
[32 lines not shown]