Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 14cc6aba authored by David S. Miller's avatar David S. Miller
Browse files

[SPARC64]: Move signal compat bits to new header file.



Create asm-sparc64/compat_signal.h and stuff things there.

This avoids the "linux/compat.h includes asm/signal.h but
asm/signal.h needs compat_sigset_t which isn't defined yet"
problems introduced recently.

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 0235497f
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -29,6 +29,7 @@
#include <asm/psrcompat.h>
#include <asm/psrcompat.h>
#include <asm/fpumacro.h>
#include <asm/fpumacro.h>
#include <asm/visasm.h>
#include <asm/visasm.h>
#include <asm/compat_signal.h>


#define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP)))
#define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP)))


+1 −0
Original line number Original line Diff line number Diff line
@@ -61,6 +61,7 @@
#include <asm/semaphore.h>
#include <asm/semaphore.h>
#include <asm/mmu_context.h>
#include <asm/mmu_context.h>
#include <asm/a.out.h>
#include <asm/a.out.h>
#include <asm/compat_signal.h>


asmlinkage long sys32_chown16(const char __user * filename, u16 user, u16 group)
asmlinkage long sys32_chown16(const char __user * filename, u16 user, u16 group)
{
{
+1 −0
Original line number Original line Diff line number Diff line
@@ -43,6 +43,7 @@
#include <asm/idprom.h> /* for gethostid() */
#include <asm/idprom.h> /* for gethostid() */
#include <asm/unistd.h>
#include <asm/unistd.h>
#include <asm/system.h>
#include <asm/system.h>
#include <asm/compat_signal.h>


/* For the nfs mount emulation */
/* For the nfs mount emulation */
#include <linux/socket.h>
#include <linux/socket.h>
+30 −0
Original line number Original line Diff line number Diff line
#ifndef _COMPAT_SIGNAL_H
#define _COMPAT_SIGNAL_H

#include <linux/config.h>
#include <linux/compat.h>
#include <asm/signal.h>

#ifdef CONFIG_COMPAT
struct __new_sigaction32 {
	unsigned		sa_handler;
	unsigned int    	sa_flags;
	unsigned		sa_restorer;     /* not used by Linux/SPARC yet */
	compat_sigset_t 	sa_mask;
};

struct __old_sigaction32 {
	unsigned		sa_handler;
	compat_old_sigset_t  	sa_mask;
	unsigned int    	sa_flags;
	unsigned		sa_restorer;     /* not used by Linux/SPARC yet */
};

typedef struct sigaltstack32 {
	u32			ss_sp;
	int			ss_flags;
	compat_size_t		ss_size;
} stack_t32;
#endif

#endif /* !(_COMPAT_SIGNAL_H) */
+4 −37
Original line number Original line Diff line number Diff line
@@ -167,23 +167,6 @@ struct __new_sigaction {
	__new_sigset_t		sa_mask;
	__new_sigset_t		sa_mask;
};
};


#ifdef __KERNEL__

#ifdef CONFIG_COMPAT
struct __new_sigaction32 {
	unsigned		sa_handler;
	unsigned int    	sa_flags;
	unsigned		sa_restorer;     /* not used by Linux/SPARC yet */
	compat_sigset_t 	sa_mask;
};
#endif

struct k_sigaction {
	struct __new_sigaction 	sa;
	void __user		*ka_restorer;
};
#endif

struct __old_sigaction {
struct __old_sigaction {
	__sighandler_t  	sa_handler;
	__sighandler_t  	sa_handler;
	__old_sigset_t  	sa_mask;
	__old_sigset_t  	sa_mask;
@@ -191,19 +174,6 @@ struct __old_sigaction {
	void 			(*sa_restorer)(void);     /* not used by Linux/SPARC yet */
	void 			(*sa_restorer)(void);     /* not used by Linux/SPARC yet */
};
};


#ifdef __KERNEL__

#ifdef CONFIG_COMPAT
struct __old_sigaction32 {
	unsigned		sa_handler;
	compat_old_sigset_t  	sa_mask;
	unsigned int    	sa_flags;
	unsigned		sa_restorer;     /* not used by Linux/SPARC yet */
};
#endif

#endif

typedef struct sigaltstack {
typedef struct sigaltstack {
	void			__user *ss_sp;
	void			__user *ss_sp;
	int			ss_flags;
	int			ss_flags;
@@ -212,13 +182,10 @@ typedef struct sigaltstack {


#ifdef __KERNEL__
#ifdef __KERNEL__


#ifdef CONFIG_COMPAT
struct k_sigaction {
typedef struct sigaltstack32 {
	struct __new_sigaction 	sa;
	u32			ss_sp;
	void __user		*ka_restorer;
	int			ss_flags;
};
	compat_size_t		ss_size;
} stack_t32;
#endif


struct signal_deliver_cookie {
struct signal_deliver_cookie {
	int restart_syscall;
	int restart_syscall;