-
Notifications
You must be signed in to change notification settings - Fork 84
Refactor setjmp/longjmp analysis
#1015
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
Merged
Merged
Changes from 66 commits
Commits
Show all changes
70 commits
Select commit
Hold shift + click to select a range
9681d36
Add C argument to GVarF
sim642 e3dc81b
Add longjmpto and longjmpret to GVarF
sim642 7c6a154
Add D argument to GVarG
sim642 d02a85a
Add local domain to GVarG
sim642 dd47104
Replace LongjmpTo node with longjmpto global
sim642 3125e06
Replace LongjmpFromFunction node with longjmpret global
sim642 f4ec418
Remove now unnecessary LongjmpTo and LongjmpFromFunction nodes
sim642 6d0e55d
Extract ControlSpecC to file module to allow dependency cycle breaking
sim642 1f7424f
Don't use hash for longjmp
sim642 5511e85
Make longjmpthrough argument non-optional
sim642 3a1a173
Do return before longjmpret
sim642 4b249c1
Add separate longjmp_return variable
sim642 76edb0e
Remove now unnecessary longjmpthrough
sim642 d1c7796
Merge branch 'longjmp' into longjmp-refactor
sim642 3964ccb
Move longjmp modified locals warning to setjmp
sim642 de36d50
Fix longjmp modified vars warning locations in test
sim642 a1f3db3
Move longjmp poisoning to setjmp
sim642 3f76a99
Remove longjmp target node statement matching
sim642 47f4287
Clean up longjmp handling in tf_normal_call
sim642 16f5619
Clean up longjmp handling in tf_special_call
sim642 b5d0548
Clean up setjmp handling in tf_special_call
sim642 c0ec4e4
Fixes in tf_normal_call longjmp handling
sim642 7e70553
Unify normal and longjmp combine
sim642 e7ca236
Unskip incremental tests
sim642 7aa0202
Merge branch 'master' into longjmp-refactor
sim642 fa87bb9
Shorten longjmp helper analyses' code
sim642 910560c
Upload suite_result as artifact in locked workflow
sim642 d0934fd
Extract LongjmpLifter from FromSpec
sim642 ef07840
Revert "Add local domain to GVarG"
sim642 b7a04e5
Revert "Add D argument to GVarG"
sim642 72e7e95
Revert "Add longjmpto and longjmpret to GVarF"
sim642 11189cf
Revert "Add C argument to GVarF"
sim642 e92700f
Check tracing before longjmp trace
sim642 d39cd31
Fix LongjmpLifter domain naming
sim642 9bb73ee
Extract conv_ctx in LongjmpLifter
sim642 ca26a83
Fix expsplit setjmp warnings
sim642 6c6e45a
Remove unused savesigs and sigrestore fields
sim642 1f6f195
Fix LongjmpLifter lazy indentation
sim642 2120845
Move longjmp-ed variable warning to poisonVariables analysis
sim642 ccbd06b
Remove now-unused Poison event
sim642 2be1c73
Use Longjmped event for base assign
sim642 aaaba6e
Use IdentitySpec for vla analysis
sim642 e9b884a
Move setjmp VLA warning to vla analysis
sim642 cfdcd1a
Remove now-unused MayBeInVLAScope query
sim642 4b90f4a
Move Goblintutil.longjmp_return to base analysis
sim642 dfe6f5c
Remove LONGJMP_RETURN from base state
sim642 ba3437a
Use Access events for modifiedSinceLongjmp
sim642 d7708d3
Use Access events for poisonVariables checks
sim642 6eafd22
Remove now-unnecessary check_exp in poisonVariables analysis
sim642 f2eb6e0
Use Access events for poisonVariables writes
sim642 5c121a4
Remove unused relevants_from_lval_opt in modifiedSinceLongjmp analysis
sim642 e10a091
Refactor poisonVariables return
sim642 3713ef9
Clean up EvalJumpBuf
sim642 0e43d1e
Clean up base Setjmp & Longjmp
sim642 4937abf
Merge branch 'longjmp' into longjmp-refactor
sim642 0c5d390
Fix base longjmp indefinite value change
sim642 a1e13ba
Categorize longjmp warnings
sim642 0bc2f1e
Add Cilfacade.isVLAType for vla analysis
sim642 e81f3b3
Add is_top checks back to poisonVariables analysis
sim642 0f8f7b0
Enable OCaml backtraces in locked workflow
sim642 04c56e5
Use pretty instead of show in longjmp messages and tracing
sim642 37c3ce1
Refactor taintPartialContexts return
sim642 0e9af2c
Remove hardcoded analysis names in access analysis
sim642 e4d855e
Check global_initialization for threadreturn main thread workaround
sim642 7940e98
Merge branch 'longjmp' into longjmp-refactor
sim642 b25b900
Add must/may back to longjmp value messages
sim642 655a7ae
Fix activeLongjmp analysis threadenter TODO
sim642 63fdd47
Add problematic example
michael-schwarz 2937c0a
Fix longjmp combine to not assign to lval
sim642 167a13b
Remove passing TODO from longjmp/multifun test
sim642 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
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
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.