6e50216461
All other architectures define get_sp_from_cpustate as an inline function, only unicore32 uses a #define. With this, some usages are impossible, for example, enabling sigaltstack in linux-user/syscall.c results in linux-user/syscall.c: In function ‘do_syscall’: linux-user/syscall.c:8299:39: error: dereferencing ‘void *’ pointer [-Werror] get_sp_from_cpustate(arg1, arg2, get_sp_from_cpustate((CPUArchState *)cpu_env)); ^ linux-user/syscall.c:8299:39: error: request for member ‘regs’ in something not a structure or union Signed-off-by: Michael Tokarev <mjt@tls.msk.ru> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
31 lines
722 B
C
31 lines
722 B
C
/*
|
|
* Copyright (C) 2010-2011 GUAN Xue-tao
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
#ifndef TARGET_SIGNAL_H
|
|
#define TARGET_SIGNAL_H
|
|
|
|
/* this struct defines a stack used during syscall handling */
|
|
typedef struct target_sigaltstack {
|
|
abi_ulong ss_sp;
|
|
abi_ulong ss_flags;
|
|
abi_ulong ss_size;
|
|
} target_stack_t;
|
|
|
|
/*
|
|
* sigaltstack controls
|
|
*/
|
|
#define TARGET_SS_ONSTACK 1
|
|
#define TARGET_SS_DISABLE 2
|
|
|
|
static inline abi_ulong get_sp_from_cpustate(CPUUniCore32State *state)
|
|
{
|
|
return state->regs[29];
|
|
}
|
|
|
|
|
|
#endif /* TARGET_SIGNAL_H */
|