diff options
| author | Po Lu | 2024-01-27 10:36:30 +0800 |
|---|---|---|
| committer | Po Lu | 2024-01-27 10:36:30 +0800 |
| commit | c37b50ad417c6cb340f54ffe218f5d889345451a (patch) | |
| tree | fc6b825b4e3489621d0d7738eb739fa74e56d059 /exec/exec.h | |
| parent | 55f0b3e561034a1ad4235770d1c0685439a64fe5 (diff) | |
| download | emacs-c37b50ad417c6cb340f54ffe218f5d889345451a.tar.gz emacs-c37b50ad417c6cb340f54ffe218f5d889345451a.zip | |
Intercept calls to `openat' under Android
* exec/configure.ac (OPEN_SYSCALL, OPENAT_SYSCALL): Define new
macros.
* exec/exec.h (struct exec_tracee): New field `sp'.
* exec/trace.c (handle_openat): New function.
(process_system_call): If handle_openat executes successfully,
save the unmodified stack pointer within the tracee structure to
be restored once the system call completes.
Diffstat (limited to 'exec/exec.h')
| -rw-r--r-- | exec/exec.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/exec/exec.h b/exec/exec.h index bed5edc9bab..ad1b50276c8 100644 --- a/exec/exec.h +++ b/exec/exec.h | |||
| @@ -148,6 +148,10 @@ struct exec_tracee | |||
| 148 | /* The next process being traced. */ | 148 | /* The next process being traced. */ |
| 149 | struct exec_tracee *next; | 149 | struct exec_tracee *next; |
| 150 | 150 | ||
| 151 | /* Address of any stack pointer to restore after system call | ||
| 152 | completion. */ | ||
| 153 | USER_WORD sp; | ||
| 154 | |||
| 151 | /* The thread ID of this process. */ | 155 | /* The thread ID of this process. */ |
| 152 | pid_t pid; | 156 | pid_t pid; |
| 153 | 157 | ||