[lldb] Add missing calls to SetStatus in CommandObjectPlatform (#197548)
Add missing calls to CommandReturnObject::SetStatus in
CommandObjectPlatform. I replaced some calls to AppendMessageWithFormatv
with AppendErrorWithFormatv because the latter implicitly sets the
status.
[flang] Implement -Wno-<warning> flags for driver diagnostics (#196354)
Utilize clang::ProcessWarningOptions function to process -Wno-...
options.
This has the side effect that without additional changes it would cause
driver warnings to become errors with -Werror. That would be a change
from the existing behavior, so make sure that these warnings remain
unaffected.
Modify the diagnostic emitter to add the disabling option at the end of
the emitted diagnostic.
Fixes https://github.com/llvm/llvm-project/issues/195921
---------
Co-authored-by: Tarun Prabhu <tarun at lanl.gov>
[lldb] Use current breakpoint location in TestBreakpointLocationDot.py (NFC) (#197472)
Replaces `FindLocationByID(1)` with `FindLocationByID(loc_id)`. Instead
of hard-coding an ID of 1, the location ID is determined from
`GetStopReasonDataAtIndex`.
Some of these asserts were failing on a windows CI, because the
breakpoint was resolved to **two** locations.
[lldb] Update calls to VerifyBreakpointIDs to handle dummy targets (#197088)
Follow up to #194272. In that change, `VerifyBreakpointIDs` had its
signature changed to take an `ExecutionContext` instead of a `Target`.
In updating the call-sites, `m_exe_ctx` was used. However, in some of
those places, the `target` argument reflected the use of a dummy target.
The switch broke situations where a proper target does not exist.
This update changes those calls back to using the `target` variable,
which may be the dummy target.
The `const` change to `ExecutionContext &` parameters is to support the
passing of `&target`.
[CIR] Lower bool bit-fields correctly (#197085)
`bool` bit-fields like `bool flag : 1;` trip an assertion in CIR codegen
because `cir.set_bitfield` and `cir.get_bitfield` are constrained to
take and produce `CIR_IntType` values, but CIRGen was passing
`convertType(boolType)` (= `!cir.bool`) as the op's result type. Both
load and store paths fail with:
Assertion `isa<To>(Val) && "cast<Ty>() argument of incompatible type!"'
failed
[To = mlir::detail::TypedValue<cir::IntType>, From = mlir::OpResult]
This is the second-largest libcxx-with-CIR blocker behind #197068 — ~119
of 1,494 fails in our May 11 `std/` baseline, mostly in `<format>`
parsing state where bool bit-fields are common.
The fix mirrors classic CodeGen at the bit-field boundary: widen the
bool source to the storage integer type for the op call, and narrow the
integer result back to bool with `int_to_bool` so callers that consume
[11 lines not shown]
Restore clang-doc arena allocation (#197595)
This patch restores the commits reverted in
49f8ad172446dd54dd14c2333a7a0f638e37d05a.
It effectively reapplies:
Reapply "[clang-doc][nfc] Default initialize all StringRef members
(#191641)"
Reapply "[clang-doc] Initialize StringRef members in Info types
(#191637)"
Reapply "[clang-doc] Initialize member variable (#191570)"
Reapply "[clang-doc] Merge data into persistent memory (#190056)"
Reapply "[clang-doc] Support deep copy between arenas for merging
(#190055)"
This version has been updated to account for the new InfoNode<T>
paradigm and APIs introduced earlier. Its logic is largely unchanged: it
still performs deep copies between the transient and persistent arenas,
[3 lines not shown]
[Instrumentor] Add support for modules and globals (#197535)
We can emit callbacks when a module is loaded/unloaded and before
globals are initialized and "removed". Both happens in newly introduced constructors and destructors.
[AMDGPU] Restore lit() to be accepted as 64-bit FP operand
It is worth to note that immediate value comes already truncated
to this point of validation.
[libc][hdrgen] Extend guard attribute support for types (#191663)
Closes #187404
- Add support for an optional guard attribute on types in hdrgen YAML
input.
- Parse and validate guard from YAML in yaml_to_classes.py, ensuring
guard macros have macro_header in the same YAML file.
- Introduce emit_guard a function that extracts the common logic between
guarded types and guarded functions.
- Add integration tests for both type guarding and function guarding
---------
Co-authored-by: un-pixelated <masterhc321 at gmail.com>
[clang][deps] Consolidate types into new `DependencyConsumer.h` (#197772)
This PR pulls the `DependencyConsumer` type out of
`DependencyScanningWorker.h` into its own header. Just a cleanup, NFC.
[libc][math] Fix UBSan errors from left-shifting negative values (#197747)
Replace left-shift operations on potentially negative exponent values
with mathematically equivalent multiplication to avoid undefined
behavior. When computing exponential functions for inputs that produce
results less than 1, the exponent 'hi' can be negative (e.g., -2 for
exp(-1.0) ≈ 0.368). Left-shifting negative values is undefined behavior
in C++.
Fixed in:
- exp.h: 3 instances
- exp2.h: 3 instances
- exp10.h: 3 instances
- expm1.h: 2 instances
- exp_utils.h: 1 instance (hi + 1022 can be negative)
Exposed by 2b2a63819f9f.
Co-Authored-By: Claude Sonnet 4.5 <noreply at anthropic.com>
[3 lines not shown]
[Clang][AArch64] Add missing lvalue-to-rvalue conversions for MTE built-ins (#197621)
This patch adds missing lvalue-to-rvalue conversions for the second
argument of `__builtin_arm_irg()` and both arguments of
`__builtin_arm_gmi()`.
nuageinit: fix command injection and related issues
- Add shell_escape() helper to safely escape shell arguments
- Apply shell_escape to all user-controlled values in shell commands:
adduser (usershow, useradd, lock, primary_group, groups)
addgroup (groupshow, groupadd, members)
exec_change_password (usermod)
settimezone (tzsetup root and timezone)
install_package (pkg package names)
- Escape double quotes in hostname when writing rc.conf.d/hostname
- Add missing 'local' declaration for resolvconf_command in nameservers()
- Escape interface name in resolvconf -a command
- Change open_resolvconf_conf() from 'w' to 'a' mode to prevent
data loss when nameservers() is called multiple times
- Clean up stale resolvconf.conf at the start of each boot
(skip on postnet to preserve config written by first call)
Approved by: re (cperciva)
MFC After: 1 day
[3 lines not shown]
Make "make update-packages" idempotent
If the user runs "make update-packages" without bumping BRANCH, then it
isn't possible to copy packages from the old location to the new one
(because the two locations are the same). So just skip that step.
Approved by: re (cperciva)
Sponsored by: ConnectWise
PR: 295085
Reviewed by: ivy, emaste
Differential Revision: https://reviews.freebsd.org/D56872
(cherry picked from commit bd1e789b8452a8c2f166a3b4defb95330c71dadd)
(cherry picked from commit 89a0148521aefe0a190d4b62749186c705962d32)
Fix LOCAL_PEERCRED in 32-bit compat mode
Previously the cr_pid field would be incorrectly copied to userland, due
to a size mismatch between the structure as defined in 32-bit vs 64-bit
builds. Fix it by converting the structure before copying it to
userland.
Approved by: re (cperciva)
PR: 294833
Sponsored by: ConnectWise
Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D56675
(cherry picked from commit 1d24638d3e8875e4b99a4b5e39f4241e37221b3d)
(cherry picked from commit 3298d82ea34059354dc1ff1a60d8b7d3e495c2cd)
pkg-stage.sh: Add ext2 and ntfs
Having these packages available on release media may help users who
need to sneakernet other packages (e.g. firmware) from systems running
Linux or Windows.
Approved by: re (cperciva)
Suggested by: vladlen, ziaee
MFC after: 3 days
(cherry picked from commit 6881fd278d80ac63b4d511fc130a79ff16d1bb48)
(cherry picked from commit 01d5910b8766671afdbd9e274fd62b397aca9e1a)
release/tools: use same pkg settings in containers as in /etc/pkg/FreeBSD.conf
Instructions in /etc/pkg/FreeBSD.conf and elsewhere recommend putting
changes in /usr/local/etc/pkg/repos/FreeBSD.conf so bring OCI containers
into line as well.
Reviewed by: dfr, ivy
Differential Revision: https://reviews.freebsd.org/D54090
Approved by: re (cperciva)
MFC after: 5 days
Sponsored by: SkunkWerks, GmbH
(cherry picked from commit c73ae67348998a0056145e88debbea9ff6860c4f)
(cherry picked from commit d889f6c466d4cec73c34bc71093d08b25e321071)
bsdinstall: do pkgbase installations with the "script" command
"bsdinstall script" will now do a pkgbase installation by default. The
system components to install can be specified in the COMPONENTS
variable, and have the same names as those used in the interactive
installer. bsdinstall will still do a legacy distset installation if
DISTRIBUTIONS is defined in the installerconfig file.
Approved by: re (cperciva)
PR: 290375
Sponsored by: ConnectWise
Reviewed by: ziaee, ivy, jduran
Differential Revision: https://reviews.freebsd.org/D56717
(cherry picked from commit dc14ae4217a0babb1240f813b642edc2d7b955a6)
(cherry picked from commit 1f5869130f6ebd299e65a627eff23a8c3d360afb)
krb5: Fix two NegoEx parsing vulnerabilities
Bring in upstream commit 2e75f0d93 fixing two CVEs. Upstream commit
log is:
In parse_nego_message(), check the result of the second call to
vector_base() before dereferencing it. In parse_message(), check for
a short header_len to prevent an integer underflow when calculating
the remaining message length.
Reported by Cem Onat Karagun.
CVE-2026-40355:
In MIT krb5 release 1.18 and later, if an application calls
gss_accept_sec_context() on a system with a NegoEx mechanism
registered in /etc/gss/mech, an unauthenticated remote attacker can
trigger a null pointer dereference, causing the process to terminate.
[13 lines not shown]