summaryrefslogtreecommitdiffstats
path: root/common-user/safe-syscall-error.c
blob: cf74b504f870223c6cdebc34366333e64f88d3f6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/*
 * safe-syscall-error.c: errno setting fragment
 * This is intended to be invoked by safe-syscall.S
 *
 * Written by Richard Henderson <rth@twiddle.net>
 * Copyright (C) 2021 Red Hat, Inc.
 *
 * This work is licensed under the terms of the GNU GPL, version 2 or later.
 * See the COPYING file in the top-level directory.
 */

#include "qemu/osdep.h"
#include "user/safe-syscall.h"

/*
 * This is intended to be invoked via tail-call on the error path
 * from the assembly in host/arch/safe-syscall.inc.S.  This takes
 * care of the host specific addressing of errno.
 * Return -1 to finalize the return value for safe_syscall_base.
 */
long safe_syscall_set_errno_tail(int value)
{
    errno = value;
    return -1;
}