-
Notifications
You must be signed in to change notification settings - Fork 478
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
Rebase of PR 1/11: @Clementguidi: dynamic: Refactor logic to perform multiple updates (dynamic runtime init) #1851
base: master
Are you sure you want to change the base?
Commits on Nov 28, 2023
-
dynamic: Load dynamic info only once
This is in preparation of runtime dynamic patching. This commit guarantees that dynamic info is read only once for the target binary and for each module. Co-authored-by: Gabriel-Andrew Pollo-Guilbert <gabrielpolloguilbert@gmail.com> Signed-off-by: Seyed-Vahid Azhari <vazhari@ciena.com>
Configuration menu - View commit details
-
Copy full SHA for d13e467 - Browse repository at this point
Copy the full SHA d13e467View commit details -
dynamic: Initialize size filter only once
If 'mcount_dynamic_update' is called multiple times (e.g. at runtime), it initializes the size filter only once. Signed-off-by: Clément Guidi <cguidi@ciena.com>
Configuration menu - View commit details
-
Copy full SHA for 873fbf2 - Browse repository at this point
Copy the full SHA 873fbf2View commit details -
dynamic: arch: Initialize disassembly engine once
Skip the initialization of the disassembly engine with it has already been performed. Signed-off-by: Clément Guidi <cguidi@ciena.com>
Configuration menu - View commit details
-
Copy full SHA for 6ef85df - Browse repository at this point
Copy the full SHA 6ef85dfView commit details -
dynamic: Discard the pattern list after update
The dynamic pattern list is not reused from a dynamic update to another, keeping libmcount stateless in that regard. Co-authored-by: Gabriel-Andrew Pollo-Guilbert <gabrielpolloguilbert@gmail.com> Signed-off-by: Clément Guidi <cguidi@ciena.com>
Configuration menu - View commit details
-
Copy full SHA for 971f89a - Browse repository at this point
Copy the full SHA 971f89aView commit details -
dynamic: Refactor 'mcount_dynamic_update'
The 'mcount_dynamic_update' is now safe to call multiple times, including at runtime. On each call, it will perform patching and unpatching of the target (not implemented yet). Signed-off-by: Clément Guidi <cguidi@ciena.com>
Configuration menu - View commit details
-
Copy full SHA for f5a598d - Browse repository at this point
Copy the full SHA f5a598dView commit details -
dynamic: Streamline trampoline life cycle
Install a trampoline for each loaded module map, on initialization. Keep the trampolines in memory to allow for dynamic patching at runtime. Clear the trampolines on libmcount exit. Co-authored-by: Gabriel-Andrew Pollo-Guilbert <gabrielpolloguilbert@gmail.com> Signed-off-by: Clément Guidi <cguidi@ciena.com>
Configuration menu - View commit details
-
Copy full SHA for d884b23 - Browse repository at this point
Copy the full SHA d884b23View commit details -
dynamic: Init arch-specific structures
Trigger architecture specific dynamic initialization when initializing the dynamic instrumentation mechanics. Co-authored-by: Gabriel-Andrew Pollo-Guilbert <gabrielpolloguilbert@gmail.com> Signed-off-by: Clément Guidi <cguidi@ciena.com>
Configuration menu - View commit details
-
Copy full SHA for c98e5fa - Browse repository at this point
Copy the full SHA c98e5faView commit details -
dynamic: Save original instructions only once
Don't save instructions if they are already present in the code hmap. Signed-off-by: Clément Guidi <cguidi@ciena.com>
Configuration menu - View commit details
-
Copy full SHA for 0646d28 - Browse repository at this point
Copy the full SHA 0646d28View commit details -
Rebased Clément Guidi's PR#1702 to master (without changes)
Commands used: gh pr checkout 1702 git switch -c new-branch git rebase master # (no warnings, no conflicts) git push Signed-off-by: Bernhard Kaindl <43588962+bernhardkaindl@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for e4ad5a3 - Browse repository at this point
Copy the full SHA e4ad5a3View commit details