You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In this lab, you will write a llvm pass to instrument some codes to `target.c` in `llvm-pass.so.cc`.
6
+
7
+
## Preparation (Important!!!)
8
+
9
+
1. Sync fork your branch (e.g., `SQLab:311XXXXXX`)
10
+
2.`git checkout -b lab6` (**NOT** your student ID !!!)
11
+
12
+
## Requirement
13
+
14
+
Write a llvm pass to instrument some codes to `target.c` in `llvm-pass.so.cc` and satisfy following requirements.
15
+
1. (40%) Invoke debug function with the first argument is 48763 in main function.
16
+
2. (30%) Overwrite argv[1] to "hayaku... motohayaku!" before checking.
17
+
3. (30%) Overwrite argc to 48763 before checking.
18
+
You can run `validate.sh` in your local to test if you satisfy the requirements.
19
+
20
+
Please note that you must not alter files other than `llvm-pass.so.cc`. You will get 0 points if
21
+
22
+
1. you modify other files to achieve requirements.
23
+
2. you can't pass all CI on your PR.
24
+
25
+
## Submission
26
+
27
+
You need to open a pull request to your branch (e.g. 311XXXXXX, your student number) and contain the code that satisfies the abovementioned requirements.
28
+
29
+
Moreover, please submit the URL of your PR to E3. Your submission will only be accepted when you present at both places.
0 commit comments