[DirectX] Rewrite DIGlobalVariableExpression to DXDIGlobalVariable (#199791)
DIGlobalVariable used to have an `expr` operand. Starting from
bceaaa964360 `expr` is now an operand of DIGlobalVariableExpression,
which references both the variable and the expression.
Before:
!0 = !DIGlobalVariable(expr: !1)
!1 = !DIExpression(DW_OP_plus, 4)
Now:
!2 = !DIGlobalVariableExpression(var: !3, expr: !4)
!3 = distinct !DIGlobalVariable(name: "a", scope: null, isLocal: false,
isDefinition: true, type: !6)
!4 = !DIExpression(DW_OP_plus, 4)
DXIL does not support DIGlobalVariableExpression, so we have to fold
`expr` back to DIGlobalVariable.
[2 lines not shown]
Fix uninitialized variable warning in zil_parse()
This resolves the following possible uninitialized variable warning
when building with --enable-code-coverage and gcc 8.5.0.
module/zfs/zil.c: In function ‘zil_parse’:
module/zfs/zil.c:549:47: warning: ‘end’ may be used uninitialized
in this function [-Wmaybe-uninitialized]
Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>
Signed-off-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Closes #18633
NAS-141279 / 26.0.0-RC.1 / Fix various broken unit tests (by anodos325) (#19084)
These bitrotted while unit tests pipeline was borkne.
* Remove afp resource optimization for SMB AFP shares
* Fix middleware pytest unit test that's failing
* Fix authenticator test assertion
* Fix API key length assertion
* Fix pool stats assertion
* Fix offset for directory services secrets
Original PR: https://github.com/truenas/middleware/pull/19081
Co-authored-by: Andrew Walker <andrew.walker at truenas.com>
NAS-141279 / 27.0.0-BETA.1 / Fix various broken unit tests (#19081)
These bitrotted while unit tests pipeline was borkne.
* Remove afp resource optimization for SMB AFP shares
* Fix middleware pytest unit test that's failing
* Fix authenticator test assertion
* Fix API key length assertion
* Fix pool stats assertion
* Fix offset for directory services secrets
(cherry picked from commit 761fb9628c14c5daf1d215ab8509b813c31ea9a8)
[lld-macho][LTO] Emit `__llvm_addrsig` for `--icf=safe_thunks` (#188486)
LTO was emitting `__llvm_addrsig` metadata when `--icf=safe` was
specified, but not for `--icf=safe_thunks`. After the recent PR
https://github.com/llvm/llvm-project/pull/188400 that makes safe ICF
conservative without `__llvm_addrsig` (marking all symbols as
address-significant when the section is absent), this omission caused
safe_thunks to silently degrade for all LTO-compiled objects: every
symbol became `keepUnique`, preventing body folding entirely.
Fix this by also enabling `EmitAddrsig` when `icfLevel` is
`safe_thunks`. This allows the LTO backend to emit precise
address-significance metadata, so that only truly address-significant
functions get thunk treatment while non-address-significant identical
functions can still be body-folded.
Add a regression test that verifies LTO + `--icf=safe_thunks` correctly
body-folds non-address-significant identical functions, which would fail
without this fix due to missing addrsig metadata.
NAS-141279 / 27.0.0-BETA.1 / Fix various broken unit tests (#19081)
These bitrotted while unit tests pipeline was borkne.
* Remove afp resource optimization for SMB AFP shares
* Fix middleware pytest unit test that's failing
* Fix authenticator test assertion
* Fix API key length assertion
* Fix pool stats assertion
* Fix offset for directory services secrets
Restore unnamed_addr on vtables in -fno-rtti builds (#201846)
This is a follow-up to #200108 which dropped unnamed_addr from vtables
since it can break dynamic_cast under some circumstances. However, that
caused significant binary size regressions due to preventing ICF of
vtables.
This patch restores unnamed_addr on vtables in -fno-rtti builds, since
those do not support dynamic_cast, recovering the binary size savings at
least for those using that configuration.
Improve system dataset moves
* Use fd-based mount API
* Add progress reporting
* Use internal replication rather than rsync to move data
* Add documentation
[flang][OpenMP] Implicit declarations of procedures in DECLARE_TARGET
This replaces commit 8f5df8891840b, since it was rejecting the following
case:
```
function baz(a)
!$omp declare target to(baz)
real, intent(in) :: a
baz = a
end
program main
real :: a
!$omp declare target(baz)
integer, save :: baz ! error: 'baz' is already declared
end
```
Instead of flagging an error, the 'baz' in the directive should be
resolved to the explicitly declared variable.
[24 lines not shown]
[SelectionDAG] Fix -Wunused-variable (#201932)
NumDstElts is only used in assertions so mark it [[maybe_unused]] to
prevent any issues with non-asserts builds and -Wunused-variable.
arch.7: Restore (non-SPE) 32-bit powerpc to MD tables
powerpc is still relevant for lib32. powerpcspe cannot use lib32 so
remains removed.
Reported by: Minsoo Choo <minsoo at minsoo.io>
Reviewed by: Minsoo Choo <minsoo at minsoo.io>
Sponsored by: The FreeBSD Foundation
Fixes: 2ea49bb595df ("arch.7: Remove 32-bit powerpc from tables")
Differential Revision: https://reviews.freebsd.org/D57473
AMDGPU: fix assert when calling LiveRegUnits::stepBackward (#201887)
`stepBackward` assert added in
https://github.com/llvm/llvm-project/pull/193104.
Found while building `aqlprofile` as part of TheRock.
fts: add fts regression tests
Add ATF regression tests for previously-fixed fts(3) bugs:
- PR 45723: directory with read but no execute is traversed via
FTS_DONTCHDIR fallback, not silently skipped
(commit 1e03bff7f2b7)
- PR 196724: FTS_SLNONE must not be returned for a non-symlink;
time-bounded race test runs for 1 second with concurrent
file creation/deletion
(commit bf4374c54589)
- PR 262038: readdir(2) errors produce FTS_DNR with fts_errno
set, not silently treated as end-of-directory
(commit 0cff70ca6654)
- SVN r246641: normal traversal works correctly with O_DIRECTORY
fix in fts_safe_changedir()
(commit f9928f1705ee)
- SVN r261589: no crash when tree modified during traversal;
time-bounded race test runs for 1 second with concurrent
[7 lines not shown]
[clang] Disable crash-diagnostic-tar.c if backtraces are disabled (#201921)
PR #201643 adds a test that fails if backtraces are disabled, e.g. in
tests for a stripped build. This was failing the Fuchsia CI, so this
change disables this test in such cases. It is likely possible to make
this test finer-grained to allow it to succeed with backtraces disabled.