(root)/
strace-6.5/
tests/
stack-fcall-3.c
       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  }