Skip to content

Commit

Permalink
[SPARC64]: Move signal compat bits to new header file.
Browse files Browse the repository at this point in the history
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: David S. Miller <davem@davemloft.net>
  • Loading branch information
David S. Miller committed Oct 2, 2006
1 parent 0235497 commit 14cc6ab
Show file tree
Hide file tree
Showing 5 changed files with 37 additions and 37 deletions.
1 change: 1 addition & 0 deletions arch/sparc64/kernel/signal32.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
#include <asm/psrcompat.h>
#include <asm/fpumacro.h>
#include <asm/visasm.h>
#include <asm/compat_signal.h>

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

Expand Down
1 change: 1 addition & 0 deletions arch/sparc64/kernel/sys_sparc32.c
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@
#include <asm/semaphore.h>
#include <asm/mmu_context.h>
#include <asm/a.out.h>
#include <asm/compat_signal.h>

asmlinkage long sys32_chown16(const char __user * filename, u16 user, u16 group)
{
Expand Down
1 change: 1 addition & 0 deletions arch/sparc64/kernel/sys_sunos32.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@
#include <asm/idprom.h> /* for gethostid() */
#include <asm/unistd.h>
#include <asm/system.h>
#include <asm/compat_signal.h>

/* For the nfs mount emulation */
#include <linux/socket.h>
Expand Down
30 changes: 30 additions & 0 deletions include/asm-sparc64/compat_signal.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#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) */
41 changes: 4 additions & 37 deletions include/asm-sparc64/signal.h
Original file line number Diff line number Diff line change
Expand Up @@ -167,43 +167,13 @@ struct __new_sigaction {
__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 {
__sighandler_t sa_handler;
__old_sigset_t sa_mask;
unsigned long sa_flags;
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 {
void __user *ss_sp;
int ss_flags;
Expand All @@ -212,13 +182,10 @@ typedef struct sigaltstack {

#ifdef __KERNEL__

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

struct signal_deliver_cookie {
int restart_syscall;
Expand Down

0 comments on commit 14cc6ab

Please sign in to comment.