1 #include "ktrace.h"
2
3 void
runtime_ktrace1(runtime_ktrace_code_t code)4 runtime_ktrace1(runtime_ktrace_code_t code)
5 {
6 void *ra = __builtin_extract_return_addr(__builtin_return_address(1));
7
8 /* This syscall returns EINVAL when the trace isn't enabled. */
9 if (launchd_apple_internal) {
10 syscall(180, code, 0, 0, 0, (long)ra);
11 }
12 }
13
14 void
runtime_ktrace0(runtime_ktrace_code_t code)15 runtime_ktrace0(runtime_ktrace_code_t code)
16 {
17 void *ra = __builtin_extract_return_addr(__builtin_return_address(0));
18
19 /* This syscall returns EINVAL when the trace isn't enabled. */
20 if (launchd_apple_internal) {
21 syscall(180, code, 0, 0, 0, (long)ra);
22 }
23 }
24
25 void
runtime_ktrace(runtime_ktrace_code_t code,long a,long b,long c)26 runtime_ktrace(runtime_ktrace_code_t code, long a, long b, long c)
27 {
28 void *ra = __builtin_extract_return_addr(__builtin_return_address(0));
29
30 /* This syscall returns EINVAL when the trace isn't enabled. */
31 if (launchd_apple_internal) {
32 syscall(180, code, a, b, c, (long)ra);
33 }
34 }
35