Skip to content
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

Multi version exec dummy func stack sandwitch #1543

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
ce910ee
Dynamically calculate the offset of the return address.
Pavel-Durov Nov 10, 2024
9ec97c2
Temp commit.
Pavel-Durov Nov 23, 2024
8022ffa
temp commit
Pavel-Durov Nov 24, 2024
9c6e566
Merge branch 'master' into multi-version-exec-dummy-func
Pavel-Durov Nov 24, 2024
78488bd
Refactor mt.
Pavel-Durov Nov 24, 2024
1f7b3fb
Copy live vars.
Pavel-Durov Nov 24, 2024
0f3dc20
Live vars copy.
Pavel-Durov Nov 24, 2024
4af5875
Refactor.
Pavel-Durov Nov 26, 2024
fb53f0a
Temp commit.
Pavel-Durov Nov 28, 2024
2715887
Temp commit.
Pavel-Durov Nov 30, 2024
e038c8c
Merge branch 'master' into multi-version-exec-dummy-func
Pavel-Durov Nov 30, 2024
e515c24
Adjust rsp before jump.
Pavel-Durov Nov 30, 2024
52d9288
Cargo fmt.
Pavel-Durov Dec 1, 2024
66fb9d3
Updated asm.
Pavel-Durov Dec 1, 2024
ddf86d0
Test with bigger loop.
Pavel-Durov Dec 1, 2024
4563f62
Fix rbp address.
Pavel-Durov Dec 1, 2024
429fd23
Formatting.
Pavel-Durov Dec 3, 2024
4a389f9
Refactoring with Lukas.
Pavel-Durov Dec 7, 2024
769a2f3
Temp commit.
Pavel-Durov Dec 7, 2024
56c2979
Temp comit.
Pavel-Durov Dec 9, 2024
c64d0d6
Using frameaddr as rsp.
Pavel-Durov Dec 9, 2024
27a5248
More trials.
Pavel-Durov Dec 10, 2024
944f896
Fix rsp alignment.
Pavel-Durov Dec 12, 2024
5088a07
Make it public.
Pavel-Durov Dec 13, 2024
8b567b9
Remove unused imports.
Pavel-Durov Dec 14, 2024
969a218
implement todos.
Pavel-Durov Dec 14, 2024
29a1476
Implement todos.
Pavel-Durov Dec 14, 2024
6e365a9
Return correct value from control_point mt.
Pavel-Durov Dec 14, 2024
539e717
Succesful transition before trace execution.
Pavel-Durov Dec 17, 2024
14443b8
Merge branch 'master' into multi-version-exec-dummy-func
Pavel-Durov Dec 20, 2024
6652975
Update enum match.
Pavel-Durov Jan 6, 2025
3f70e78
Merge branch 'master' into multi-version-exec-dummy-func
Pavel-Durov Jan 6, 2025
5f392ec
Update ykllvm submod.
Pavel-Durov Jan 6, 2025
5c52dee
Nothing special.
Pavel-Durov Jan 7, 2025
e96dcba
Uppercase verbose flag.
Pavel-Durov Jan 7, 2025
c7065da
Set flags as uppercase.
Pavel-Durov Jan 7, 2025
c731989
Prep for stack sandwitch.
Pavel-Durov Jan 7, 2025
7c8fd2c
Add breakpoints.
Pavel-Durov Jan 7, 2025
cab85b2
Add offsets.
Pavel-Durov Jan 9, 2025
c9cfdfb
Temp commit.
Pavel-Durov Jan 11, 2025
c98b369
Set Reg2Dir.
Pavel-Durov Jan 12, 2025
b057c00
Rename CP_TRANSITION_DEBUG_MODE.
Pavel-Durov Jan 12, 2025
6439194
Add .cursorignore.
Pavel-Durov Jan 12, 2025
b1bfa89
Stack sandwitch attempt.
Pavel-Durov Jan 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .cursorignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
./target
./bin
./docs
.vscode
.github
.cargo
./ykllvm/build
./ykllvm/llvm/build
./ykllvm/llvm/build/bin
./ykllvm/llvm/build/lib
./ykllvm/llvm/build/lib/libLLVM.a
./ykllvm/llvm/build/lib/libLLVM.dylib
./ykllvm/llvm/build/lib/libLLVM.so
./ykllvm/llvm/build/lib/libLLVM.so.1
./ykllvm/llvm/build/lib/libLLVM.so.1.0

Empty file added .rsync_cmd
Empty file.
85 changes: 85 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
{
"files.associations": {
"algorithm": "cpp",
"cmath": "cpp",
"cstddef": "cpp",
"cstdint": "cpp",
"cstdio": "cpp",
"string": "cpp",
"typeinfo": "cpp",
"cstdlib": "cpp",
"limits": "cpp",
"new": "cpp",
"type_traits": "cpp",
"vector": "cpp",
"__bit_reference": "cpp",
"__config": "cpp",
"__hash_table": "cpp",
"__locale": "cpp",
"__node_handle": "cpp",
"__split_buffer": "cpp",
"__threading_support": "cpp",
"__tree": "cpp",
"__verbose_abort": "cpp",
"array": "cpp",
"bitset": "cpp",
"cctype": "cpp",
"charconv": "cpp",
"clocale": "cpp",
"codecvt": "cpp",
"condition_variable": "cpp",
"cstdarg": "cpp",
"cstring": "cpp",
"ctime": "cpp",
"cwchar": "cpp",
"cwctype": "cpp",
"deque": "cpp",
"propagate_const": "cpp",
"forward_list": "cpp",
"fstream": "cpp",
"initializer_list": "cpp",
"iomanip": "cpp",
"ios": "cpp",
"iosfwd": "cpp",
"istream": "cpp",
"list": "cpp",
"locale": "cpp",
"map": "cpp",
"mutex": "cpp",
"numbers": "cpp",
"optional": "cpp",
"ostream": "cpp",
"queue": "cpp",
"ratio": "cpp",
"semaphore": "cpp",
"set": "cpp",
"shared_mutex": "cpp",
"sstream": "cpp",
"stdexcept": "cpp",
"streambuf": "cpp",
"string_view": "cpp",
"tuple": "cpp",
"unordered_map": "cpp",
"unordered_set": "cpp",
"variant": "cpp",
"atomic": "cpp",
"bit": "cpp",
"*.tcc": "cpp",
"chrono": "cpp",
"compare": "cpp",
"concepts": "cpp",
"coroutine": "cpp",
"exception": "cpp",
"functional": "cpp",
"iterator": "cpp",
"memory": "cpp",
"memory_resource": "cpp",
"numeric": "cpp",
"random": "cpp",
"system_error": "cpp",
"utility": "cpp",
"stop_token": "cpp",
"thread": "cpp",
"cinttypes": "cpp"
}
}
22 changes: 22 additions & 0 deletions comms.gdb
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
set logging enabled on
set breakpoint pending on

# break ykrt::trace::swt::cp::debug_return_into_unopt_cp
# break ykrt::trace::swt::cp::debug_return_into_opt_cp

break ykrt::trace::mt
# break __yk_clone_main
break main

break simple2.c:23.c:17
break simple.c:44.c:17
# break buffered_vfprintf

# break before cp
break *0x0000000000202b9a
# break after cp
break *0x0000000000202b9d

break ykrt/src/mt.rs:428

# break ykcapi::__ykrt_control_point_real
Loading
Loading