[Git][wine/wine][master] 3 commits: ntdll/tests: Add a missing testcase for arm64 packed unwind info.

"Alexandre Julliard (@julliard)" <[email protected]>
Newsgroups gmane.comp.emulators.wine.cvs
Message-ID <[email protected]>

Alexandre Julliard pushed to branch master at wine / wine


Commits:
51262b76 by Martin Storsjö at 2025-12-03T14:43:03+01:00
ntdll/tests: Add a missing testcase for arm64 packed unwind info.

We previously lacked a testcase for RegI > 3, which uses a
save_regp unwind opcode, which none of the existing packed unwind
info tests contain.

- - - - -
569e0629 by Martin Storsjö at 2025-12-03T14:43:08+01:00
ntdll: Rewrite arm64 packed unwind info handling.

Instead of trying to handcraft all the cases for dealing with
partial prologues, just synthesize the full unwind info for the
function and execute that instead. The packed unwind info format
always maps to a combination of regular unwind opcodes.

This is how the arm packed unwind info implementation works
already; this makes it easier to reason about compared with the
handwritten code for dealing with partial prologues.

The previous implementation is certainly faster and more efficient,
but much harder to reason about, and to modify.

- - - - -
5e6baf9c by Martin Storsjö at 2025-12-03T14:43:08+01:00
ntdll: Handle arm64 packed unwind with H=1, RegI=RegF=0, CR!=1.

This case isn't mentioned in documentation, but this behaviour
seems reasonable.

This case was fixed in the same way in llvm-readobj in
https://github.com/llvm/llvm-project/pull/170294.

- - - - -


3 changed files:

- dlls/ntdll/tests/unwind.c
- dlls/ntdll/unwind.c
- tools/winedump/pe.c


View it on GitLab: https://gitlab.winehq.org/wine/wine/-/compare/4c589a9ac20b5251f6263708840e463654e19299...5e6baf9c816fda752f32e4859f661a1ebe8cc8ea

-- 
View it on GitLab: https://gitlab.winehq.org/wine/wine/-/compare/4c589a9ac20b5251f6263708840e463654e19299...5e6baf9c816fda752f32e4859f661a1ebe8cc8ea
You're receiving this email because of your account on gitlab.winehq.org.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.