[yaml2obj] Apply output size limit to COFF (#209695)
Route the yaml2obj max-size setting through the COFF emitter and
buffer COFF output with ContiguousBlobAccumulator. This rejects
oversized YAML descriptions consistently with ELF.
dns/dnsdist: Update to 2.1.0
Changelog: https://www.dnsdist.org/changelog.html#change-2.1.0
PR: 296456
Reported by: Jordan Ostreff <jordan at ostreff.info> (initial patch),
Ralf van der Enden <tremere at cainites.net> (maintainer, committed patch)
[CycleInfo] Drop GraphTraits and df_iterator. NFC (#209847)
depth_first uses SmallPtrSet visited-set, which is pure overhead on a
tree. Replace them with explicit child-stack walks and delete the unused
GraphTraits specializations to prevent misuse.
[Mips] Did not put fake_use into delay slot (#201537)
When compiling with -fextend-variable-liveness, the compiler generates FAKE_USE instructions that are not handled by the Mips assembly printer. This causes a fatal error: "Unsupported instruction : <MCInst 44 >" when using clang with -target mipsel-gnu-linux -Og.
The issue occurs because MipsDelaySlotFiller attempts to process FAKE_USE instructions (which are meta instructions) when searching for instructions to fill delay slots, eventually leading to the assembly printer trying to emit an unsupported instruction.
This patch fixes the crash by treating meta instructions (including FAKE_USE) the same way as debug instructions in the delay slot filler's searchRange function. Meta instructions should be skipped during delay slot filling.
Specifically, the fix:
1.Moves the terminateSearch check before debug/meta instruction checks to ensure proper search termination.
2.Adds isMetaInstruction() check alongside existing isDebugInstr() and isJumpTableDebugInfo() checks.
Fix #198835.
[lldb-dap] Migrate DAP io tests. (#209538)
the launch_io* tests now allow testing args, input, and environment
together.
Previously, these test configurations were mutually exclusive. They are
now combined, removing the need to create a separate test for each input
source.
Migrated Tests:
- TestDAP_io.py
- TestDAP_launch_io_integratedTerminal.py
- TestDAP_launch_io_internalConsole.py
[clang][bytecode] long double on arm64 darwin is 8 bytes (NFC) (#209930)
This test was failing on arm64 darwin targets. Generalise the #if so
that the win32 branch is also taken by arm64 darwin.
rdar://182340494
Await plugin setup results based on the returned value
__plugins_setup decided whether to await by checking
asyncio.iscoroutinefunction on the setup function after already
calling it. A sync setup function that returns an awaitable would
have its result silently dropped and never run, with no error at
startup.
No current setup function is affected: all 112 async setups behave
identically under both checks, and none of the 8 sync setups returns
anything. This is hardening against a future setup taking that shape,
plus the more correct idiom for "allow setup to be a coroutine".
Make Multiversion Function Resolvers set CurFn (#209918)
Commit #197789 manages to try to reference CurFn while generating a
trap, which some of the multiversion resolvers do. This patch makes sure
we set it to the resolver so we are inserting stuff into the right
places.
This somewhat shockingly causes no tests to fail, but it SHOULD stop the
UBSan failures.
Ensure block_hooks unblocks hooks when the with body raises
The decrement after yield was not in a finally block, so an exception
inside a `with block_hooks(...)` body left the counters incremented
permanently, silently disabling those hooks until the daemon
restarted.
Use lazy logging formatting in send_event and hook error paths
The trace call in send_event repr'd the full event payload via an
f-string on every event regardless of log level, which is wasted CPU
on a hot path. Convert it and the surrounding eager-formatted log
calls (send_event warnings, call_hook/_call_hook_base errors) to lazy
%-style arguments.