diff options
Diffstat (limited to 'arch/sh')
| -rw-r--r-- | arch/sh/bits/posix.h | 2 | ||||
| -rw-r--r-- | arch/sh/bits/signal.h | 13 | ||||
| -rw-r--r-- | arch/sh/bits/stdint.h | 20 | ||||
| -rw-r--r-- | arch/sh/bits/syscall.h.in | 16 | ||||
| -rw-r--r-- | arch/sh/bits/user.h | 3 | ||||
| -rw-r--r-- | arch/sh/pthread_arch.h | 13 | 
6 files changed, 33 insertions, 34 deletions
| diff --git a/arch/sh/bits/posix.h b/arch/sh/bits/posix.h deleted file mode 100644 index 30a38714..00000000 --- a/arch/sh/bits/posix.h +++ /dev/null @@ -1,2 +0,0 @@ -#define _POSIX_V6_ILP32_OFFBIG  1 -#define _POSIX_V7_ILP32_OFFBIG  1 diff --git a/arch/sh/bits/signal.h b/arch/sh/bits/signal.h index 160311fa..d0b14828 100644 --- a/arch/sh/bits/signal.h +++ b/arch/sh/bits/signal.h @@ -9,7 +9,16 @@  #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)  typedef int greg_t, gregset_t[16];  typedef int freg_t, fpregset_t[16]; -typedef struct sigcontext { +typedef struct { +	unsigned long oldmask; +	unsigned long gregs[16]; +	unsigned long pc, pr, sr; +	unsigned long gbr, mach, macl; +	unsigned long fpregs[16]; +	unsigned long xfpregs[16]; +	unsigned int fpscr, fpul, ownedfp; +} mcontext_t; +struct sigcontext {  	unsigned long oldmask;  	unsigned long sc_regs[16];  	unsigned long sc_pc, sc_pr, sc_sr; @@ -17,7 +26,7 @@ typedef struct sigcontext {  	unsigned long sc_fpregs[16];  	unsigned long sc_xfpregs[16];  	unsigned int sc_fpscr, sc_fpul, sc_ownedfp; -} mcontext_t; +};  #else  typedef struct {  	unsigned long __regs[58]; diff --git a/arch/sh/bits/stdint.h b/arch/sh/bits/stdint.h deleted file mode 100644 index d1b27121..00000000 --- a/arch/sh/bits/stdint.h +++ /dev/null @@ -1,20 +0,0 @@ -typedef int32_t int_fast16_t; -typedef int32_t int_fast32_t; -typedef uint32_t uint_fast16_t; -typedef uint32_t uint_fast32_t; - -#define INT_FAST16_MIN  INT32_MIN -#define INT_FAST32_MIN  INT32_MIN - -#define INT_FAST16_MAX  INT32_MAX -#define INT_FAST32_MAX  INT32_MAX - -#define UINT_FAST16_MAX UINT32_MAX -#define UINT_FAST32_MAX UINT32_MAX - -#define INTPTR_MIN      INT32_MIN -#define INTPTR_MAX      INT32_MAX -#define UINTPTR_MAX     UINT32_MAX -#define PTRDIFF_MIN     INT32_MIN -#define PTRDIFF_MAX     INT32_MAX -#define SIZE_MAX        UINT32_MAX diff --git a/arch/sh/bits/syscall.h.in b/arch/sh/bits/syscall.h.in index 0102ddaf..915a79cd 100644 --- a/arch/sh/bits/syscall.h.in +++ b/arch/sh/bits/syscall.h.in @@ -398,4 +398,20 @@  #define __NR_fsmount		432  #define __NR_fspick		433  #define __NR_pidfd_open		434 +#define __NR_clone3		435 +#define __NR_close_range	436 +#define __NR_openat2		437 +#define __NR_pidfd_getfd	438 +#define __NR_faccessat2		439 +#define __NR_process_madvise	440 +#define __NR_epoll_pwait2	441 +#define __NR_mount_setattr	442 +#define __NR_landlock_create_ruleset	444 +#define __NR_landlock_add_rule	445 +#define __NR_landlock_restrict_self	446 +#define __NR_process_mrelease	448 +#define __NR_futex_waitv	449 +#define __NR_set_mempolicy_home_node	450 +#define __NR_cachestat		451 +#define __NR_fchmodat2		452 diff --git a/arch/sh/bits/user.h b/arch/sh/bits/user.h index 07fe843b..b6ba16ed 100644 --- a/arch/sh/bits/user.h +++ b/arch/sh/bits/user.h @@ -1,6 +1,3 @@ -#undef __WORDSIZE -#define __WORDSIZE 32 -  #define REG_REG0	 0  #define REG_REG15	15  #define REG_PC		16 diff --git a/arch/sh/pthread_arch.h b/arch/sh/pthread_arch.h index 3ee9c1a9..199c2d55 100644 --- a/arch/sh/pthread_arch.h +++ b/arch/sh/pthread_arch.h @@ -1,17 +1,16 @@ -static inline struct pthread *__pthread_self() +static inline uintptr_t __get_tp()  { -	char *self; -	__asm__ ("stc gbr,%0" : "=r" (self) ); -	return (struct pthread *) (self - sizeof(struct pthread)); +	uintptr_t tp; +	__asm__ ("stc gbr,%0" : "=r" (tp) ); +	return tp;  }  #define TLS_ABOVE_TP  #define GAP_ABOVE_TP 8 -#define TP_ADJ(p) ((char *)(p) + sizeof(struct pthread)) -#define MC_PC sc_pc +#define MC_PC pc  #ifdef __FDPIC__ -#define MC_GOT sc_regs[12] +#define MC_GOT gregs[12]  #define CANCEL_GOT (*(uintptr_t *)((char *)__syscall_cp_asm+sizeof(uintptr_t)))  #endif | 
