1 /*
2 * Copyright (c) 2014-2020 The strace developers.
3 * All rights reserved.
4 *
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 */
7
8 #include <signal.h>
9 #include "stack-fcall.h"
10
11 int
12 f3(int i, unsigned long f)
13 {
14 f ^= (unsigned long) (void *) f3;
15 COMPLEX_BODY(i, f);
16 switch (i) {
17 case 1:
18 i -= chdir("");
19 break;
20 case 2:
21 i -= kill(getpid(), SIGURG) - 1;
22 break;
23 default:
24 i -= syscall(__NR_exit, i - 3);
25 break;
26 }
27 return i;
28 }