tcp_bblog.4: Add a manual page for TCP Blackbox Logging
The tcp_bblog facility provides structured logging of TCP stack activity
for debugging and performance analysis. It is implemented in the kernel
and allows per-connection tracing of TCP events with low overhead.
Reviewed by: tuexen, ziaee
MFC after: 1 week
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D56252
pf: a small touchup on shared forwarding code
The issue I see with pf_route() is that it has become a bit uncontrollable
in outcome since 15 with many edge cases and overlaps such as TTL decrement
before sending, dummynet back and forth and af/naf translations. Ideally,
it should be rewritten and aligned with the network stack instead of still
using the OpenBSD way of firing the packets from here.
Shared forwarding is 10 years old now, never considered upstream, but would
have helped structure this code much better by forcing a natural flow through
the stack.
[Clang][RISCV][P-ext] Support packed widening convert intrinsics (#208394)
This patch implements all packed widening convert intrinsics using
general vector operations. Low widening conversions use
`__builtin_convertvector`, while high-half conversions use general
shuffles.
The generated code for high-half conversions is correct but not yet
optimal.
[PatternMatch] Add capturing m_Phi matcher (NFC) (#208949)
Add a new capturing m_Phi matcher and use it in some patterns instead of
manually casting/checking if operand is a phi.
PR: https://github.com/llvm/llvm-project/pull/208949
Support Re-export Symbol for FunctionCall
A symbol can be a stub that is re-exported to another library. For
example, ELF can specify an auxiliary library and emit a zero-sized
symbol in the symbol table. This can cause expression evaluation to
resolve the stub instead of the actual function. Fix this by resolving
re-exported symbols to their actual addressed.
Add unit tests for ELF filter-library symbol handling.
* ObjectFileELFTest.FilterLibraryPlaceholderSymbols: a yaml2obj ELF
filter library with two DT_AUXILIARY entries checks that
GetReExportedLibraries() returns the filtees in dynamic-section
order, that zero-sized exported functions become re-exported symbols
recording the first filtee and the unversioned name (@VERSION suffix
stripped), and that nonzero-sized and local definitions are left
alone.
* ReExportedSymbolTest.ResolveThroughFilteesInOrder: a target holding
a filter library and two filtee modules checks that
Symbol::ResolveReExportedSymbol finds a definition in the first
filtee via the library recorded on the symbol, continues to the next
filtee in declaration order for symbols the first filtee lacks, and
that without the containing module only the recorded library is
searched.
Co-Authored-By: Claude Fable 5 <noreply at anthropic.com>
[clang][bytecode] Fix comparing `TemplateParamObjectDecl`s (#208734)
1) When creating the global variables for them, always use the first
decl
2) When converting null pointers to `APValue`, don't cast the nullptr
base to `Expr` or `ValueDecl`. Use `LValueBase()` instead, so the
internal `PointerUnion` has an all-zeros value as `getOpaqueValue()`. If
we don't do this, we run into problems with merging of
`TemplateParamObjectDecls` because they don't compare equal via
`::Profile()`.