-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Arm-64: Add initial support for PAC-RET #110472
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Changes from 7 commits
Commits
Show all changes
79 commits
Select commit
Hold shift + click to select a range
33c53fa
Add auth-strip in prolog and epilog of jitted methods
SwapnilGaikwad c45b4a8
Merge main
SwapnilGaikwad 19b977a
Use unwind info to indicate use of PAC
SwapnilGaikwad c2c03f9
Merge main
SwapnilGaikwad c64cc1f
Switch to auth with zero and fix tail call optimisations
SwapnilGaikwad cfddf71
fix nativeaot CFI unwind code
kunalspathak 3bf9346
fix build
kunalspathak 042210f
Add STRIP_PAC
kunalspathak 435a901
wip
kunalspathak e9f101c
Uncomment the implementation of RtlStripPacOnline()
kunalspathak 1dae16f
Add some missing declaration of CFI_NEGATE_RA_STATE
kunalspathak a1265fb
build fix
kunalspathak 8a05d92
Comment StripOnline
kunalspathak 98246b7
Add JitPacEnabled() switch
kunalspathak cb3879b
Make PacEnabled a Release flag
kunalspathak 5a24d2a
Just strip from bit 48 onwards because thats what works for linux
kunalspathak ba343d2
Fix return address hijacking
SwapnilGaikwad e414fc7
Unwinder: Strip the Lr before storing in PC
kunalspathak f3b9e61
Emit pac unwind info in epilog
SwapnilGaikwad bb67312
Add inline assembly variants for MSVC
SwapnilGaikwad abfe3d4
Merge main
SwapnilGaikwad 0d0fc7f
Remove MSVC assembly
SwapnilGaikwad 8394024
Merge main
SwapnilGaikwad ddf6c3d
Restore previous fix to check its impact on nativeaot failures
SwapnilGaikwad 2b6bf2b
Fix basic AOT tests
SwapnilGaikwad b408ec5
Fix reaturn address hijacking for AOT
SwapnilGaikwad a5a94a7
Merge main
SwapnilGaikwad 240b551
Disable emitting authenticate to see behaviour on windows
SwapnilGaikwad 09a6c40
Fix return address comparison for tail calls in native aot
SwapnilGaikwad 1dcf083
Sign return address while restoring it in unhijacking a thread
SwapnilGaikwad 618b79c
Merge main
SwapnilGaikwad 25c7f72
Fix build errors
SwapnilGaikwad 1e6b5b6
Fix build errors
SwapnilGaikwad 6aebd8b
Fix build errors for casting
SwapnilGaikwad b230513
Fix build errors
SwapnilGaikwad b9802ed
Merge main
SwapnilGaikwad 9c216f5
Put dwarf cfi code for pac
SwapnilGaikwad f5b6ffa
Add a placeholder for OSX ObjectWriter
SwapnilGaikwad 57112e3
Merge main
SwapnilGaikwad 7d92dae
Add DEF_CFA opcode for ilc
SwapnilGaikwad 6ef4025
Fix formatting
SwapnilGaikwad 03cde20
Merge main
SwapnilGaikwad beb7829
Merge main
SwapnilGaikwad 8e1a725
Enable PAC for non-jitted code
SwapnilGaikwad fb3ab0e
Merge main
SwapnilGaikwad 457dd89
Intial clean-up: use xpacia instead of a mask
SwapnilGaikwad a17e8ba
Merge main
SwapnilGaikwad 268a895
Clean-up inline assembly
SwapnilGaikwad 526b7c2
Remove PAC for non-jitted code, added using compile time flags
SwapnilGaikwad 711d1fc
Fix windows build errors
SwapnilGaikwad a99f639
Fix build errors
SwapnilGaikwad eefb18b
Update strip/sign mechanism to use nop variants of PAC instructions
SwapnilGaikwad 8e087f5
Merge main
SwapnilGaikwad a1298d7
Merge main
SwapnilGaikwad 36f166e
Incorporate review comments
SwapnilGaikwad 989ff17
Merge main
SwapnilGaikwad 05f8731
Incorporate review comments
SwapnilGaikwad 260a807
Merge main
SwapnilGaikwad 526717a
Disable JitPacEnabled flag by default
SwapnilGaikwad 2c81d43
Merge main
SwapnilGaikwad 7b552e5
Use unwind info to detect if PAC is present for jitted code
SwapnilGaikwad f36e335
Fix assert failure for return address
SwapnilGaikwad a862791
Make IsPacPresent() Arm64 only
SwapnilGaikwad 8f5b485
Fix build errors
SwapnilGaikwad e7bc0fa
Fix build errors
SwapnilGaikwad f53b929
Add a prototype of using unwind info to detect PAC
SwapnilGaikwad 82b0709
Merge main
SwapnilGaikwad 7e207a4
Merge main
SwapnilGaikwad 52f63d8
Extract IsPacPresent() outside the undwinder.cpp
SwapnilGaikwad 79a3fbc
Remove clrnt.h changes
SwapnilGaikwad e1ba37b
Address review comments
SwapnilGaikwad 75316bc
Fix starting offset while unwinding dwarf info
SwapnilGaikwad c9f8bd1
Fix build failures of MacOS
SwapnilGaikwad b8574ab
Merge main
SwapnilGaikwad 333b5b2
Fix SIGILL in NativeAOT during unwinding
SwapnilGaikwad cecc9f4
Fix segfaults in libraries tests
SwapnilGaikwad 34401fb
Restore JIT's stack unwinding that was lost while restoring unwinder.cpp
SwapnilGaikwad 0bc660e
Merge main
SwapnilGaikwad 3c00fb6
Merge main
SwapnilGaikwad File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.