[Clang][SPIRV] Add __spirv_event_t builtin type (#207077)
Add a new builtin type __spirv_event_t for SPIR-V targets. It represents
SPIR-V's OpTypeEvent and lowers to the target("spirv.Event") extension
type.
We would like to expose SPIR-V instructions to users via builtins (not
yet
implemented). The builtins return an event type.
Assisted by Claude Opus 4.8 for writing tests.
science/siesta: don't set -march=native
On powerpc64le:
gfortran14: error: unrecognized command-line option '-march=native'; did you mean '-mcpu=native'?
(cherry picked from commit d9a00047e09ecfe481cdc122fcf8e1db5d7b2cac)
[llvm-objcopy] Address reviewer feedback on AMDGPU test cleanups
- Remove unused -DMACHINE yaml2obj template variable in cross-arch-headers.test,
hardcode Machine: EM_NONE directly in the YAML instead
- Remove unused Flags: [[FLAGS=<none>]] template variable in cross-arch-headers.test
- Add comment in binary-output-target.test explaining that Arch: unknown is
intentional when converting from binary (e_flags=0, no EF_AMDGPU_MACH set)
[llvm-objcopy] Add AMDGPU case to binary-output-target.test
Add test coverage for converting binary input to elf64-amdgpu format,
verifying the output has the correct format string, arch (amdgpu),
and machine type (EM_AMDGPU 0xE0). Follows the same pattern as all
other architectures in this test file.
[llvm-objcopy] Add elf64-amdgpu to supported formats in command guide
Update the llvm-objcopy command guide's "Supported formats" section to
include elf64-amdgpu, added in the preceding commit.
[llvm-objcopy] Address review feedback for AMDGPU test in cross-arch-headers
Per reviewer feedback, use the existing non-AMDGPU input (%t.o, EM_NONE)
to test conversion to elf64-amdgpu. This properly demonstrates that
--output-format changes the machine type, consistent with all other cases
in this test file.
The output reports Arch: unknown because converting from a non-AMDGPU ELF
produces e_flags=0 (no EF_AMDGPU_MACH set); added a comment explaining
this. Flag control is a separate concern for a follow-on PR.
[llvm-objcopy] Fix AMDGPU arch string in test: amdgpu not amdgcn
llvm-readobj reports 'Arch: amdgpu' for EM_AMDGPU ELF files
(the generic AMDGPU ELF format used by elf64-amdgpu). The test
was incorrectly expecting 'amdgcn', which is the AMDGCN-specific
arch string used by ROCm HSA code objects.
[llvm-objcopy] Fix AMDGPU arch checks in tests
ELFObjectFile.h getArch() for EM_AMDGPU returns Triple::UnknownArch
when e_flags & EF_AMDGPU_MACH is 0 (no GPU target specified). Only
when a MACH flag in the AMDGCN range is present does it return
Triple::amdgpu.
- cross-arch-headers.test: restore EF_AMDGPU_MACH_AMDGCN_GFX900 flag
on the input ELF so that after format conversion the output correctly
reports Arch: amdgpu.
- binary-output-target.test: expect Arch: unknown since converting
from raw binary input (-I binary) produces an ELF with e_flags=0
(no MACH flags), giving UnknownArch. This is correct behavior.
[lldb] Use the standard GDB remote thread for a non-Wasm process (#214380)
CanDebug returns true whenever the plugin is requested by name, and the
architecture is not known until the stub reports it after connecting.
This means that a non-Wasm process can end up with a ThreadWasm whose
register context and unwinder have nothing to operate on.
Create the plain ThreadGDBRemote once the architecture is known, and add
a helper so that the check covers wasm64 as well as wasm32.
rdar://182229301
Reland "[MergeFunctions] Preserve instruction-level profile metadata during merging" (#208009) (#210138)
This relands #208009, which was reverted in #209987 after an ASan
heap-use-after-free surfaced in MergeFunctionsTest.TrueOutputModuleTest.
The failure was caused by MergeFunctionsTest destroying
FunctionAnalysisManager before ModuleAnalysisManager, while MAM holds a
cached proxy result that calls FAM.clear() on destruction. This PR adds
a commit reordering those members, so they are destroyed in the correct
order, fixing the use-after-free.
Original PR: #208009
Revert PR: #209987
security/dogtag-pki: Enable ACME support and improve rc integration
Enable the ACME responder that was previously disabled in the port:
* Build with WITH_ACME and install the ACME webapp, configuration
templates (database, issuer, realm, engine), the pki-acme-run
script and pki-acme.jar
* Patch hardcoded Linux paths in the ACME components to their
FreeBSD locations (/usr/local/share/pki, /var/db/pki)
* Link jaxb-api.jar and javax.activation-api.jar into the server
common libs, required by the ACME webapp at runtime
Improve the FreeBSD rc.d integration:
* Generate java_opts and PKI_VERSION for the rc service directly
from the instance's tomcat.conf instead of referencing an
environment file
* Add remove_rc_service() to cleanly remove the rc script, the
service configuration and the rc.conf knob when an instance is
[3 lines not shown]
www/mod_lookup_identity: Add new Port
mod_lookup_identity retrieves additional information about users
authenticated by the Apache HTTP Server. It queries the SSSD
InfoPipe service over D-Bus and stores user attributes and group
membership in request notes or environment variables for use by
web applications.
WWW: https://github.com/adelton/mod_lookup_identity
Sponsored by: Netzkommune GmbH
Required for: FreeIPA server port
net/py-lib389: Fix instance creation on FreeBSD
Adjust the FreeBSD patch for lib389's instance setup code.
Guard the container detection against a missing systemd-detect-virt
binary. Upstream initializes container_result to an integer and then
unconditionally executes systemd-detect-virt on non-containerised
systems, which aborts instance creation with a FileNotFoundError on
FreeBSD. The check now only runs when the binary is present and
falls back to the non-container code path otherwise.
Use a plain localhost LDAP connection with the generated temporary
Directory Manager password for the authenticated setup session, as
LDAPI autobind via SASL EXTERNAL did not work reliably during setup
on FreeBSD.
Sponsored by: Netzkommune GmbH
[AMDGPU][GlobalISel] Pre-commit tests for readanylane merge regbank combine (NFC) (#214355)
Add regbank-combiner tests covering a copy to vgpr whose source is a
merge or
build_vector of `G_AMDGPU_READANYLANE` results mixed with uniform
values.
These currently keep the round trip through sgprs. The tests also cover
the two
cases where the transform must not fire:
- the sgpr merge has another user, so it has to be kept;
- all merge sources are uniform, so moving the copy to the sources would
not
remove any readanylane.
Pre-commit only, no functional change. The combine that removes the
round trip
is in the stacked PR.
[6 lines not shown]
[SDAG] Handle vector expansion when expanding FABS (#214341)
Before this, vector FABS that were scheduled for expansion would hit the
getSignAsIntValue() case and either assert there or fail later for lock
of instruction selection for a bitcast that's only looking at the scalar
size.
Now, we unroll to scalars as needed.
Test pre-committed in #214288
[llvm-ar][GOFF] Implement symbol attributes for GOFF archives
z/OS archive symbol table entries contain a 32-bit attribute word
alongside each member offset. The low three bits encode:
bit 2 (0x4): 64-bit addressing (AMODE 64)
bit 1 (0x2): XPLink calling convention
bit 0 (0x1): Writable Static Area (WSA)
Previously in e2c8fa0, llvm-ar wrote zero for
these attributes. This patch reads them from GOFF ESD records and stores them
in a SymbolAttrs vector parallel to the existing Symbols vector in
MemberData to emit the correct word per symbol.
These attributes are tested using `llvm-nm --print-armap` implemented in
#212830 within the LIT test.
[llvm-nm][GOFF] Display archive attributes in GOFF archives through --print-armap
GOFF archive symbol table entries contain an attribute word in addition
to the archive member offset. The low three bits describe whether the symbol is
64-bit, uses XPLink, or belongs to the WSA namespace (which was briefly mentioned
in e2c8fa09872cfacba7f73599dcf8557971ebe865).
This patch extends `llvm-nm --print-armap` to print the attribute value (in hex) and
its decoded description beside a symbol and its corresponding member when processing
a GOFF archive. This will functionality will be used to help validate full support for writing
GOFF archives in a subsequent llvm-ar patch.
The output for non-z/OS archives is unchanged.
vm: Remove a reference to an undefined memattr
This is a direct commit to stable/15.
Reported by: jenkins
Fixes: c4ea6b08e24e ("vm_phys: Add a sysctl to dump registered fictitious memory ranges")
chat/ejabberd: Update to 26.07
## Version 26.07
#### Security fixes
This release contains fixes for those issues:
- It's possible to craft PLAIN auth request and authenticate as one user, but then open
session for different one.
- mod_caps persistent cache can be poisoned by using legacy version requests.
This cache was only used to determine list of nodes that should trigger notifications
in PubSub presence-based delivery.
- SQL injection in mod_pubsub handling of paging requests.
- Possible atom exhaustion that can be triggered by issuing REST requests to mod_http_api
- It was possible to make ejabberd send redirect response for OAuth requests to unvetted url.
This required enabling ejabberd to act as OAuth provider (by adding request handler for
ejabberd_oauth in http listener). As part of this fix we changed `oauth_client_id_check`
default value to `db` - using ejabberd as OAuth provider will be only allowed by clients
[20 lines not shown]
Linux: rewrite snapshot automount facility
This commit has a near-total rewrite of the snapshot mount/expire
facility, to try and modernise it, fix a lot of structural and
implementation issues and improve performance.
Because its a change in architecture, not just implementation, it's not
really been possible to incrementally move the implementation from the
old to the new. So, the source commentary is intended as a standalone
description of how it all works, while this commit message describes
what's changed for readers who know the previous version.
The main conceptual difference is that the previous version assumed that
there would only ever be one mount per snapshot dataset at most, and
that that mount would be on the matching `.zfs/snapshot/<snapname>`
mountpoint, and that this subsystem would be the one responsible for
unmounting. Those limitations just don't exist, as Linux mounts can be
duplicated, moved around, attached to other namespaces, even deleted,
without actually removing access to the filesystem and all without the
[100 lines not shown]