[Clang][Modules] Fix ODR handling of types found through using-declarations (#221839)
Fixes #78850.
Clang can diagnose an ODR violation for identical definitions when a
type is
found directly in one module's global module fragment and through a
using-declaration in another. The lookup routes produce different AST
type
wrappers even though they refer to the same declaration.
Normalize `UsingType` to the target declaration's type before hashing
it. Keep
the keyword and qualifier from the use site, rather than from the
using-declaration. This also lets the hash distinguish differently
qualified
uses without canonicalizing away meaningful spelling differences.
The normalization exposes an existing assertion in the enum ODR
[74 lines not shown]
[BOLT][RISCV] Mark newly created tail calls (#221672)
Tail calls created during CFG normalization lack the tail-call
annotation, so FixRISCVCallsPass rewrites them as regular calls that
clobber ra.
Set the annotation in createTailCall(). Clear builder annotations before
moving the originals when rebuilding calls to avoid duplicate annotation
markers.
Add a relocation-mode regression test for a conditional tail call.
[lld][MachO] Ignore relocated bytes when folding LSDAs (#220155)
AArch64 exception tables reference type info through PC-relative
pointer-to-GOT relocations. The assembler leaves the negated field
offset in each relocated field, which the linker ignores, so identical
tables differ in their raw bytes and are never folded. Treat
__gcc_except_tab like __eh_frame and zero the relocated fields before
ICF hashes and compares it.
Folding these LSDAs exposes a latent issue: the LSDA pointer of a DWARF
FDE is resolved to an InputSection when the FDE is parsed and is never
canonicalized after ICF. A function that is unwound via its FDE and
whose LSDA was folded away therefore gets an __unwind_info LSDA entry
computed from the dead input section. Fixed it in the same commit.
This patch is LLM-driven, but the issue was observed in production and
the test is reduced from the production object.
net/coturn: Update to 4.18.0
Upstream NEWS content, less bugfixes and minor improvements:
Release 4.18.0
Changelist:
- Deprecate option drop-invalid-packets (#2078) (Pavel Punsky <eakraly at users.noreply.github.com>)
avoid an uninitialised stack read
it is possible for bios_sysctl() to be called with namelen=0:
sys_sysctl() name={ CTL_MACHDEP, CPU_BIOS }, namelen=2
cpu_sysctl() name={ CPU_BIOS }, namelen=1
bios_sysctl() name={}, namelen=0
if name[0] was 2 (BIOS_DISKINFO) the function would not return ENOTDIR
as intended
found by and diff from Johann Hoepfner, ok deraadt@
Add openmp test to xfail list (#221854)
Introduced in PR #219323. Looking at the PR, and given we haven't yet
addressed openmp profcheck failures, the change is highly unlikely to
have introduced a new regression (it's exposing existing ones)
graphics/py-nokap: New port: Capture screenshots and PDFs from web pages with headless Chrome
PR: 298268
Approved by: Baptiste Daroussin <bapt at FreeBSD.org> (on behalf of portmgr@)
textproc/py-multimark: New port: Python bindings to cmark: CommonMark parsing and rendering
PR: 298266
Approved by: Baptiste Daroussin <bapt at FreeBSD.org> (on behalf of portmgr@)