[lldb] Add accelerator plugin connection support (#201449)
Summary
This builds on the accelerator plugin protocol
(https://github.com/llvm/llvm-project/pull/201489) by letting a plugin
ask the client to create and connect a second
target — the mechanism a real backend (e.g. a GPU debug stub) uses to
surface
the accelerator alongside the CPU process being debugged.
### What this adds
**Protocol** — a new `AcceleratorConnectionInfo` describing how the
client
should bring up the accelerator target.
**Client** — when an `AcceleratorActions` carries `connect_info`,
`ProcessGDBRemote` creates a new (empty) target, reverse-connects it to
[143 lines not shown]
pam_keyring: resolve UI cert via certificate.query on stable/26
services.certificate exists only on master's typed ServiceContainer,
so _resolve_ui_cert_pem raised AttributeError (swallowed by the
best-effort except) and the SCRAM-PLUS server binding was never
published to the keyring. Switch to call_sync('certificate.query')
with dict access, mirroring nginx.conf.mako.
Fixes test__scram_plus_server_binding_published and
test__login_with_api_key_over_tls_channel_binding.
[SandboxVec][PassBuilder] Add support for RegionPass aux args (#205643)
Pass auxiliary string arguments are used as a way to pass additional
information to a pass upon construction, which can be particularly
helpful with passes that support more than one mode/functionality.
You can specify an aux argument in the pass pipeline using the syntax:
`<pass>(<aux arg>)`.
FunctionPass already supports aux arguments (and are used in the
SeedCollection pass). This patch adds support for RegionPass too.
To help with testing this I modified the NullPass to add the ability to
echo the aux arg.
devel/libverto: New port
Add libverto 0.3.2, a loop-neutral asynchronous event loop abstraction
library.
Required for development of the net/freeipa-server port.
Sponsored by: Netzkommune GmbH
*/*: Use C.UTF-8 locale
Ports 02f27a83b44d fixed the ports tree to the C locale so it would work
correctly in environments where users use a locale that isn't compatible
with the C locale, e.g. xx_YY.UTF-8 where [A-Z] includes more than just
upper case letters. USE_LOCALE was introduced to let ports use another
locale if they needed it. The C.UTF-8 locale was created later on to be
mostly compatible with the C locale.
Switch the ports tree locale to C.UTF-8 and remove USE_LOCALE. The
world has moved to Unicode so all ports either require it or know how to
build correctly in a Unicode environment.
PR: 295945
Exp-run by: antoine
games/aisleriot: Install file with non-ASCII name
The file is extracted correctly now that the ports tree uses UTF-8 to
extract files.
PR: 295945
Exp-run by: antoine
japanese/today: Simplify line break conversion
nkf can do line break conversion, no need for tr. The data is eucJP
encoded and tr treats it as UTF-8 when the ports tree locale becomes
C.UTF-8.
Submitted by: mce
PR: 295945
Exp-run by: antoine
japanese/skk-*: Run awk with LC_ALL=C
This is what the upstream Makefile does as well. It makes awk pass
through 8-bit characters instead of trying to interpret them as UTF-8
when the ports tree locale becomes C.UTF-8.
PR: 295945
Exp-run by: antoine
textproc/linuxdoc-tools: Fix expand(1) locale
Add a patch so linuxdoc runs expand(1) with the right locale to
interpret multibyte characters.
PR: 295945
Exp-run by: antoine
shells/fd: Pass LANG via MAKE_ARGS
The upstream build system uses LANG to determine the location of
Japanese manpages. Pass this through MAKE_ARGS instead of USE_LOCALE
because "ja" is not a valid locale.
While here use the upstream make variable BUILD for DESTDIR.
PR: 295945
Exp-run by: antoine
Revert "[lldb] Move common functionality out of Itanium ABI runtime (#191275)" (#206816)
This reverts commit 0f51760a342cd8fed1c657e6ca134097c9e8f88c.
A test fails with the commit
(https://github.com/llvm/llvm-project/pull/191275#issuecomment-4846936554):
```
Traceback (most recent call last):
File "/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/llvm-project/lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py", line 596, in test_python_source_frames
self.assertNotIn("0xffffffffffffffff", output.lower())
AssertionError: '0xffffffffffffffff' unexpectedly found in "* thread #2, name = 'a.out', stop reason = breakpoint 1.1\n * frame #0: compute_fibonacci at python_helper.py:7 [synthetic]\n frame #1: process_data at python_helper.py:16 [synthetic]\n frame #2: main at python_helper.py:27 [synthetic]\n frame #3: 0x0000badc2de81358 a.out`thread_func(thread_num=0) at main.cpp:44:13\n frame #4: 0x0000badc2de81f9c a.out`void std::__invoke_impl<void, void (*)(int), int>((null)=__invoke_other @ 0x0000f1555ebae74f, __f=0x0000badc66845ec0, __args=0x0000badc66845eb8) at invoke.h:61:14\n frame #5: 0x0000badc2de81f18 a.out`std::__invoke_result<void (*)(int), int>::type std::__invoke<void (*)(int), int>(__fn=0x0000badc66845ec0, __args=0x0000badc66845eb8) at invoke.h:96:14\n frame #6: 0x0000badc2de81ee4 a.out`void std::thread::_invoker<std::tuple<void (*)(int), int>>::_m_invoke<0ul, 1ul>(this=0x0000badc66845eb8, (null)=_index_tuple<0ul, 1ul> @ 0x0000f1555ebae7af) at std_thread.h:259:13\n frame #7: 0x0000badc2de81e98 a.out`std::thread::_invoker<std::tuple<void (*)(int), int>>::operator()(this=0x0000badc66845eb8) at std_thread.h:266:11\n frame #8: 0x0000badc2de81d70 a.out`std::thread::_state_impl<std::thread::_invoker<std::tuple<void (*)(int), int>>>::_m_run(this=0xffffffffffffffff) at std_thread.h:211:13\n frame #9: 0x0000f1555ef029cc libstdc++.so.6`___lldb_unnamed_symbol_d29b0 + 28\n frame #10: 0x0000f1555ec30398 libc.so.6`___lldb_unnamed_symbol_800c0 + 728\n frame #11: 0x0000f1555ec99e9c libc.so.6`___lldb_unnamed_symbol_e9e90 + 12\n"
```
I don't know why this test fails with the PR, but I don't have time to
fix it now, so revert it to unblock CI.
The backtrace was
```
[14 lines not shown]
[Dexter] Switch to using script-mode by default
This patch changes the default mode of Dexter from heuristic-mode to
script-mode. The --use-script argument is replaced with --use-heuristic,
some comments/docs/error messages are updated accordingly, and tests have
their flags switched accordingly.