[compiler-rt][asan] Allow optional leading dot in function names in complete_stack_trace.c (#227969)
On AIX/XCOFF, the symbolizer reports function names with a leading dot
('.') because each function's executable code is stored in a separate
`.<funcname>` csect (the text-section entry point symbol). For example,
`read_2` is reported as `.read_2`.
The existing CHECK patterns required an exact match on the bare name,
causing the test to fail on AIX:
```
expected: {{ *#1 0x.* in read_2 .*complete_stack_trace.c}}
actual: #1 0x... in .read_2 complete_stack_trace.c:23
```
Use `\.?` inside the FileCheck regex blocks to make the leading dot
optional, matching both ELF (bare name) and XCOFF (dot-prefixed name)
symbolizer output.
Co-authored-by: Riyaz Ahmad <riyaz.ahmad at ibm.com>
[SelectionDAG] Implement SDTCisPtrTy in SDNodeInfo::verifyNode. (#229270)
If the node is a MemSDNode, use it to get the pointer address space.
Disable checking for one NVPTX opcode that has pointer operands, but is
not a MemSDNode.
Assisted-by: Claude
[RISCV] Lower (select c, (1 << ShAmount), 0) to (c << ShAmt). (#229205)
Generic DAG combine can already do this conversion, but sometimes
it can make it to lowering.
Assisted-by: Claude
[TSan] Lock ScopedErrorReportLock before slot and thread_registry locks (#228614)
Since #151495 and #228554, OutputReport runs while
ScopedErrorReportLock is held after slot_mtx and thread_registry have
been unlocked. Because code executed during OutputReport (symbolizer,
callbacks, or signal handlers) can acquire slot_mtx or thread_registry,
ScopedErrorReportLock must precede slot and thread_registry locks in the
lock hierarchy to avoid AB-BA deadlocks between concurrent reports or
fork().
- Move ScopedErrorReportLock::Lock() before slot.mtx, thread_registry,
and slot_mtx in ForkBefore (and unlock in reverse order in ForkAfter).
- Replace ctx->thread_registry.CheckLocked() in ScopedReport's
constructor with CheckedMutex::CheckNoLocks(), and add CheckLocked()
to AddThread(const ThreadContext *) and CheckNoLocks() to
OutputReport.
- Construct ScopedReport before acquiring ThreadRegistryLock across all
reporting functions, and close the RestoreStack lock scope before
constructing ScopedReport in ReportRace.
Assisted-by: Gemini
Revert "linux: implement fchmodat2 syscall"
This got accidentally committed when I was reverting another commit.
This reverts commit c070ec923e2f49b6ecb5a60b584ba8f4376a6e80.
linux: implement fchmodat2 syscall
The fchmodat2 syscall on Linux is effectively the same as the fchmodat
on FreeBSD, whereas fchmodat on Linux is fchmodat on FreeBSD, minus
the `flags` argument.
This change provides the necessary glue in order to call kern_fchmodat
properly via the Linuxulator.
NB: glibc transparently passes through the `flags` argument, so this is
[largely] a no-op for end-users, but it affects those who compiled
binaries specifically using the fchmodat2 syscall.
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D60394
Revert "linux: implement sched_getattr()"
The changes need to be reviewed further; revert until the issues have
been worked out.
Requested by: markj
This reverts commit bb5f10e51bd53771f1a438f36f554256fcbd7d08.
uiomove_object_page: a failed copy can still dirty the page
For writes, if we fail in the middle of reading from the source, the
destination may have already been dirtied. For example, the source may
cross a page boundary, and the second page is inaccessible.
Conservatively mark the destination as dirty, even on errors.
Reported by: Claude (Opus 5.5)
Reviewed by: kib, markj
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D60280
sys: Disable -ftrivial-auto-var-init if -Os is in play.
This should help avoid the code expansion that broke the zaurus and
ews4800mips builds.
PR kern/60839: use -ftrivial-auto-var-init
editors/openoffice-devel: update to a new snapshot
Update openoffice-devel to a newer snapshot on the upstream trunk
branch.
MFH: 2026Q4
(cherry picked from commit 7da4764a696780bd240dbe8d255430cee7fcf32f)
editors/openoffice-devel: update to a new snapshot
Update openoffice-devel to a newer snapshot of the upstream trunk.
(cherry picked from commit 1fcb3dad2934088d52af24e8f6586bf3aa66deca)
[SLP][NFC] Add precommit test for dot-product reduction costing (#224590)
Adds a test for reduce.add(mul(ext, ext)) with and without +dotprod at a
threshold between the plain and fused costs. Baseline: both stay scalar;
a later change makes the +dotprod case vectorize..
Needed for #224066
[flang][cuda] Keep descriptors of pinned allocatables in host memory (#229161)
Pinned variables are host only variables. There is no need for the
descriptor of a pinned variable to be allocated in managed memory like
for device or managed variable. Keep pinned descriptor on in host
memory.
[libcxx] Also ignore -Wshift-count-overflow in clang (#229087)
Clang now also diagnoses this. Also suppress the warning in clang so
that the build still passes (given it is -Werror by default). This
started happening with the release version of clang 23.
www/fcgiwrap: Fix various issues with multiple children and rc.d.
- With `-c <n>', don't start spinning the CPU at 100% from the time
the first child exits to the time the operator gives up and kills
fcgiwrap altogether.
- Fix races with SIGCHLD handler.
- Allow rc.d script to spawn multiple children with new
`fcgiwrap_nchildren' option (default 1).
- Redirect stdin from /dev/null, at least, in rc.d script, in lieu of
either
(a) proper daemonization and syslogging or
(b) running under a process supervisor.
PR pkg/60853: www/fcgiwrap rc.d woes
graphics/fotocx: update the port to the latest version 26.8.1
- libchamplain had been replaced with webkit2gtk-4.1 which is better
maintained upstream and has better functionality than libchamplain
- Because webkit2gtk-4.1 is rather heavy dependency, make the world
map feature optional, but enabled by default so package users can
enjoy the program's full functionality (discussed with the author)
- Whack one more case of linuxish `/proc/self/exe' usage and provide
better uninstall instructions while here
Reported by: portscout
[NFC][TSan] Move ObtainCurrentStack out of ThreadRegistryLock scope (#228794)
ObtainCurrentStack only reads the current thread's shadow stack and
allocates a VarSizeStackTrace buffer, which does not require
ThreadRegistryLock (and already runs outside ThreadRegistryLock in
ReportRace, SignalUnsafeCall, and ReportErrnoSpoiling).
Move ObtainCurrentStack (and dummy_pc in ReportDeadlock) before
ScopedReport in ReportMutexHeldWrongContext, ReportMutexMisuse,
ReportDeadlock, and ReportDestroyLocked so the stack trace buffers also
outlive ScopedReport and OutputReport (needed by #228795).
Assisted-by: Gemini
Merge tag 'keys-v7.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd
Pull keys fixes from Jarkko Sakkinen:
- key_get_persistent() created a new persistent keyring if one did not
exist, but failed to set a timeout on it in an error path, preventing
GC.
Call key_set_timeout() regardless of key_link() result if a
persistent keyring was created.
- __key_create_or_update() made a copy of keyring->restrict_link before
holding keyring->sem, which could cause add_key() to be executed
against stale keyring restrictions. Fix it by copying the value only
after taking keyring->sem
* tag 'keys-v7.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd:
KEYS: Fix add_key() race with keyring restriction
keys: finalize persistent keyring timeout after link attempt
[GVN] Preserve !prof metadata when materializing select for load PRE
Pass the originating SelectInst through PHITransAddr, MemoryDependenceAnalysis,
and GVN so AvailableValue::MaterializeAdjustedValue can copy its profile
metadata when creating the replacement value select.
[flang][PPC] Implement ieee_set_flag for Linux (#224039)
This patch implements the Linux PPC specific lowering for
`ieee_set_flag`.
Calling `feraiseexcept()` may deliver `SIGFPE` when the corresponding
floating-point exception trap is enabled. To avoid this, the lowering
updates the FPSCR exception status bits directly using
`llvm.ppc.readflm` and `llvm.ppc.setflm`.
Assisted-By: IBM Bob