tests/fibs_test: unskip udp_dontroute6 testcase
This test now consistently passes (300+ consecutive runs).
Approved by: lwhsu (mentor)
Signed-off-by: Siva Mahadevan <me at svmhdvn.name>
PR: 244172
Sponsored by: The FreeBSD Foundation
(cherry picked from commit e93e57d3da2ea54598b5db01cc12a3acd656faba)
[Clang] Emit LLVM flatten attribute instead of per-callsite alwaysinline (#188615)
Follow-up to #174899 which added the flatten function attribute to LLVM
IR and implemented recursive inlining in the `AlwaysInliner` pass.
This patch updates Clang to emit the LLVM flatten attribute on functions
with `__attribute__((flatten))`, instead of the previous approach of
marking each call site with `alwaysinline`. This completes the
transition to matching GCC's flatten semantics.
Changes:
- Remove the callsite `alwaysinline` annotation logic from CGCall.cpp
- Emit the flatten function attribute in CodeGenModule.cpp
- Update clang/test/CodeGen/flatten.c to reflect the new IR output
- Update clang/test/CodeGen/AArch64/sme-inline-callees-streaming-attrs.c
to reflect the new behavior
- Add release notes documenting the behavior change
RFC:
https://discourse.llvm.org/t/rfc-function-level-flatten-depth-attribute-for-depth-limited-inlining
Allow DIBasicType (and others) to have a scope and location (#190217)
DIBasicType derives from DIType and so it already has slots to store the
scope and location of the type. However, the DIBasicType constructor
(and corresponding DIBuilder method) does not expose this, presumably
because it is not needed by C or C++.
In Ada it is more common to create one's own basic type. So, for Ada
exposing this functionality would be handy.
This patch adds a new overload of DIBuilder::createBasicType to allow
this. Because only Ada uses fixed point types, the patch simply updates
these DIBuilder methods unconditionally.
Note that DwarfUnit already handles this scenario and so no changes were
needed there.
pkg-stage: Improve symlink creation
Invoke ln with -n and -f. In normal use it doesn't matter, but during
development this might be run in a partially populated leftover tree.
Reviewed by: ivy
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D52883
NAS-140780 / 26.0.0-BETA.2 / Use truenas-discovery service (by anodos325) (#18805)
This commit replaces avahi, wsdd, and netbios services with a unified
truenas-discovery service. This simplifies the middleware implementation
of these services. Tests are adjusted so that we have more direct
testing that middleware configuration changes are reflected in the
in-memory running configuration of the truenas-discoveryd daemon. During
testing / validation I discovered that there were some escape avenues
whereby the configuration may not be properly reloaded after netbios
name or workgroup changes.
Original PR: https://github.com/truenas/middleware/pull/18801
---------
Co-authored-by: Andrew Walker <andrew.walker at truenas.com>
[PowerPC] Further refactor atomic loads
Depending on the availability of the word-part feature, different code
is generated for 1 and 2 byte atomic loads. This change moves the decision
to use the word-part feature from C++ into TableGen patterns. This is done
via:
- move code from `EmitPartwordAtomicBinary()` into new function
'signExtendOperandIfUnknown()'
- decouple functions `EmitPartwordAtomicBinary()` and `EmitAtomicBinary()`
- remove the size from the name of the pseudo instructions; instead,
introduce a pseudo instruction which is used in case the word-part
feature is missing
- update the handling of the pseudo instruction insertion accordingly
A side effect of this change is the implementation requires 11 pseudo
instructions less.
[AMDGPU] Validate user SGPR count against HW range, not field width
The previous validation checked only the field width,
allowing values that exceeded the actual hardware limits
(e.g. 0–16 on gfx6-gfx120 and 0–32 on gfx125x) as long
as they fit in the bit width.
Tighten validation to reject out-of-range user SGPR counts.
fusefs: better handling for low-memory conditions
Under conditions of low memory, getblk can fail. fusefs was not
handling those failures very systematically. It was always using
PCATCH, which appears to have been originally copy/pasted from the NFS
client code, but isn't always appropriate:
* During fuse_vnode_setsize_immediate, which can be called from many
different VOPs and from the vn_delayed_setsize mechanism, remove
PCATCH. Some of these callers cannot tolerate allocate failure.
* In fuse_inval_buf_range, don't assume that getblk will always succeed.
* When calling fuse_inval_buf_range from VOP_ALLOCATE,
VOP_COPY_FILE_RANGE, or VOP_WRITE (with IO_DIRECT), return EINTR if
the allocation fails.
* When calling fuse_inval_buf_range from VOP_DEALLOCATE, remove PCATCH.
This VOP must not fail with EINTR.
[8 lines not shown]
makeman.lua: Downgrade `make showconfig` error to warning
The sh-based makeman silently ignored errors from `make showconfig`.
Ignore errors also from makeman.lua (but emit a warning).
We may want to revisit this in the future, but want makeman.lua to
behave identically for now.
PR: 294822
Reviewed by: kevans
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D56663
tests/netgraph: Add a test for races between if_detach() and vnet_if_return()
A ng_eiface(4) or physical interface does not involve the cloner hence
the detaching is a bit different with epair(4). Add more tests to cover
that.
PR: 292993
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D56609
tests: Temporarily skip two testcases
The changes [1] and [2] made to CURRENT introduce races between ifnet
detach and vmove operations. That requires extra effort to fix. They
are not MFCed to stable branches so the latter are not affected.
Temporarily skip two affected tests on CURRENT right now.
[1] 0bf42a0a05b9 bpf: virtualize bpf_iflist
[2] a4d766caf711 bpf: add a crutch to support if_vmove
PR: 292993
Discussed with: kp
tests/net/if_clone_test: Add a test for races between if_detach() and if_vmove_reclaim()
Ideally we shall have tests for all possible races. It is races between
if_detach(), if_vmove_loan(), if_vmove_reclaim() and vnet_if_return().
Well that requires too many tests and it appears to be less valuable to
have them all. So focus on potential in future regressions related to
recent fixes [1] and [2] only.
[1] ee9456ce3753 ifnet: Fix races in if_vmove_reclaim()
[2] ba7f47d47dc1 ifnet: if_detach(): Fix races with vmove operations
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D56606
Fix instructions for writing the ZFS bootcode on EFI systems
The previous instructions used "gpart bootcode" which do not work
anymore and result in broken boot on EFI systems. Change the
instructions to mount the EFI partition first and then copy the boot
loader file into the target directory on it. Add a note that the target
file is architecture specific, pointing users to uefi(8) where the file
names are listed per architecture.
PR: 293912
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D56643