diff options
| author | Anton Blanchard <anton@samba.org> | 2002-04-09 13:58:44 +1000 |
|---|---|---|
| committer | Anton Blanchard <anton@samba.org> | 2002-04-09 13:58:44 +1000 |
| commit | 5b1e894e6a0bbefc389933366f6adffbf2e096a0 (patch) | |
| tree | 3400dc04278052cfea6f7b3ee0b50c03b3646abd /include | |
| parent | cbba4f5ef5c3298451d51aca1b74ad0040ff9c5a (diff) | |
Make cond_syscall per arch. This is required on some architectures
(eg ppc64) where foo points to a function descriptor and .foo is
the address of the actual function.
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-alpha/unistd.h | 8 | ||||
| -rw-r--r-- | include/asm-arm/unistd.h | 9 | ||||
| -rw-r--r-- | include/asm-cris/unistd.h | 8 | ||||
| -rw-r--r-- | include/asm-i386/unistd.h | 8 | ||||
| -rw-r--r-- | include/asm-ia64/unistd.h | 9 | ||||
| -rw-r--r-- | include/asm-m68k/unistd.h | 8 | ||||
| -rw-r--r-- | include/asm-mips/unistd.h | 8 | ||||
| -rw-r--r-- | include/asm-mips64/unistd.h | 8 | ||||
| -rw-r--r-- | include/asm-parisc/unistd.h | 8 | ||||
| -rw-r--r-- | include/asm-ppc/unistd.h | 8 | ||||
| -rw-r--r-- | include/asm-ppc64/unistd.h | 8 | ||||
| -rw-r--r-- | include/asm-s390/unistd.h | 8 | ||||
| -rw-r--r-- | include/asm-s390x/unistd.h | 8 | ||||
| -rw-r--r-- | include/asm-sh/unistd.h | 8 | ||||
| -rw-r--r-- | include/asm-sparc/unistd.h | 8 | ||||
| -rw-r--r-- | include/asm-sparc64/unistd.h | 8 | ||||
| -rw-r--r-- | include/asm-x86_64/unistd.h | 8 |
17 files changed, 138 insertions, 0 deletions
diff --git a/include/asm-alpha/unistd.h b/include/asm-alpha/unistd.h index 28ced9ae8f48..22dd6de58340 100644 --- a/include/asm-alpha/unistd.h +++ b/include/asm-alpha/unistd.h @@ -597,4 +597,12 @@ static inline long delete_module(const char *name) #endif +/* + * "Conditional" syscalls + * + * What we want is __attribute__((weak,alias("sys_ni_syscall"))), + * but it doesn't work on all toolchains, so we just do it by hand + */ +#define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall"); + #endif /* _ALPHA_UNISTD_H */ diff --git a/include/asm-arm/unistd.h b/include/asm-arm/unistd.h index b5146673bde1..efb95cb9fdf1 100644 --- a/include/asm-arm/unistd.h +++ b/include/asm-arm/unistd.h @@ -466,4 +466,13 @@ static inline pid_t wait(int * wait_stat) static inline _syscall3(int,execve,const char *,file,char **,argv,char **,envp); #endif + +/* + * "Conditional" syscalls + * + * What we want is __attribute__((weak,alias("sys_ni_syscall"))), + * but it doesn't work on all toolchains, so we just do it by hand + */ +#define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall"); + #endif /* __ASM_ARM_UNISTD_H */ diff --git a/include/asm-cris/unistd.h b/include/asm-cris/unistd.h index 80a36c1369ce..b78012d05516 100644 --- a/include/asm-cris/unistd.h +++ b/include/asm-cris/unistd.h @@ -395,4 +395,12 @@ static inline pid_t wait(int * wait_stat) #endif +/* + * "Conditional" syscalls + * + * What we want is __attribute__((weak,alias("sys_ni_syscall"))), + * but it doesn't work on all toolchains, so we just do it by hand + */ +#define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall"); + #endif /* _ASM_CRIS_UNISTD_H_ */ diff --git a/include/asm-i386/unistd.h b/include/asm-i386/unistd.h index 84af0bcfdfe3..2cdad510f2b9 100644 --- a/include/asm-i386/unistd.h +++ b/include/asm-i386/unistd.h @@ -371,4 +371,12 @@ static inline pid_t wait(int * wait_stat) #endif +/* + * "Conditional" syscalls + * + * What we want is __attribute__((weak,alias("sys_ni_syscall"))), + * but it doesn't work on all toolchains, so we just do it by hand + */ +#define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall"); + #endif /* _ASM_I386_UNISTD_H_ */ diff --git a/include/asm-ia64/unistd.h b/include/asm-ia64/unistd.h index f0dd2bfcc58f..261387c49987 100644 --- a/include/asm-ia64/unistd.h +++ b/include/asm-ia64/unistd.h @@ -325,5 +325,14 @@ wait (int * wait_stat) } #endif /* __KERNEL_SYSCALLS__ */ + +/* + * "Conditional" syscalls + * + * What we want is __attribute__((weak,alias("sys_ni_syscall"))), + * but it doesn't work on all toolchains, so we just do it by hand + */ +#define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall"); + #endif /* !__ASSEMBLY__ */ #endif /* _ASM_IA64_UNISTD_H */ diff --git a/include/asm-m68k/unistd.h b/include/asm-m68k/unistd.h index c3cf1133d832..f74e7052092d 100644 --- a/include/asm-m68k/unistd.h +++ b/include/asm-m68k/unistd.h @@ -357,4 +357,12 @@ static inline pid_t wait(int * wait_stat) #endif +/* + * "Conditional" syscalls + * + * What we want is __attribute__((weak,alias("sys_ni_syscall"))), + * but it doesn't work on all toolchains, so we just do it by hand + */ +#define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall"); + #endif /* _ASM_M68K_UNISTD_H_ */ diff --git a/include/asm-mips/unistd.h b/include/asm-mips/unistd.h index 283831f78768..ce5830d9a56c 100644 --- a/include/asm-mips/unistd.h +++ b/include/asm-mips/unistd.h @@ -488,4 +488,12 @@ static inline pid_t wait(int * wait_stat) #endif /* !defined (__KERNEL_SYSCALLS__) */ #endif /* !defined (_LANGUAGE_ASSEMBLY) */ +/* + * "Conditional" syscalls + * + * What we want is __attribute__((weak,alias("sys_ni_syscall"))), + * but it doesn't work on all toolchains, so we just do it by hand + */ +#define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall"); + #endif /* _ASM_UNISTD_H */ diff --git a/include/asm-mips64/unistd.h b/include/asm-mips64/unistd.h index 5d56eadb3450..e20d851697e3 100644 --- a/include/asm-mips64/unistd.h +++ b/include/asm-mips64/unistd.h @@ -814,4 +814,12 @@ static inline pid_t wait(int * wait_stat) #endif /* !defined (__KERNEL_SYSCALLS__) */ #endif /* !defined (_LANGUAGE_ASSEMBLY) */ +/* + * "Conditional" syscalls + * + * What we want is __attribute__((weak,alias("sys_ni_syscall"))), + * but it doesn't work on all toolchains, so we just do it by hand + */ +#define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall"); + #endif /* _ASM_UNISTD_H */ diff --git a/include/asm-parisc/unistd.h b/include/asm-parisc/unistd.h index f84502172fa7..594034cec546 100644 --- a/include/asm-parisc/unistd.h +++ b/include/asm-parisc/unistd.h @@ -900,4 +900,12 @@ static inline int execve(char *filename, char * argv [], #undef STR +/* + * "Conditional" syscalls + * + * What we want is __attribute__((weak,alias("sys_ni_syscall"))), + * but it doesn't work on all toolchains, so we just do it by hand + */ +#define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall"); + #endif /* _ASM_PARISC_UNISTD_H_ */ diff --git a/include/asm-ppc/unistd.h b/include/asm-ppc/unistd.h index d881d0ed64c7..711d70ce3285 100644 --- a/include/asm-ppc/unistd.h +++ b/include/asm-ppc/unistd.h @@ -437,4 +437,12 @@ static inline pid_t wait(int * wait_stat) #endif /* __KERNEL_SYSCALLS__ */ +/* + * "Conditional" syscalls + * + * What we want is __attribute__((weak,alias("sys_ni_syscall"))), + * but it doesn't work on all toolchains, so we just do it by hand + */ +#define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall"); + #endif /* _ASM_PPC_UNISTD_H_ */ diff --git a/include/asm-ppc64/unistd.h b/include/asm-ppc64/unistd.h index 0c206d7f328a..b97619ce0240 100644 --- a/include/asm-ppc64/unistd.h +++ b/include/asm-ppc64/unistd.h @@ -442,4 +442,12 @@ static inline pid_t wait(int * wait_stat) #endif /* __KERNEL_SYSCALLS__ */ +/* + * "Conditional" syscalls + * + * What we want is __attribute__((weak,alias("sys_ni_syscall"))), + * but it doesn't work on all toolchains, so we just do it by hand + */ +#define cond_syscall(x) asm(".weak\t." #x "\n\t.set\t." #x ",sys_ni_syscall"); + #endif /* _ASM_PPC_UNISTD_H_ */ diff --git a/include/asm-s390/unistd.h b/include/asm-s390/unistd.h index 77ff9ccfb2fd..0151c5602849 100644 --- a/include/asm-s390/unistd.h +++ b/include/asm-s390/unistd.h @@ -375,4 +375,12 @@ static inline pid_t wait(int * wait_stat) #endif +/* + * "Conditional" syscalls + * + * What we want is __attribute__((weak,alias("sys_ni_syscall"))), + * but it doesn't work on all toolchains, so we just do it by hand + */ +#define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall"); + #endif /* _ASM_S390_UNISTD_H_ */ diff --git a/include/asm-s390x/unistd.h b/include/asm-s390x/unistd.h index 603864584386..242f61e74d41 100644 --- a/include/asm-s390x/unistd.h +++ b/include/asm-s390x/unistd.h @@ -345,4 +345,12 @@ static inline pid_t wait(int * wait_stat) #endif +/* + * "Conditional" syscalls + * + * What we want is __attribute__((weak,alias("sys_ni_syscall"))), + * but it doesn't work on all toolchains, so we just do it by hand + */ +#define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall"); + #endif /* _ASM_S390_UNISTD_H_ */ diff --git a/include/asm-sh/unistd.h b/include/asm-sh/unistd.h index a22a81fb3e3c..9de944fbc321 100644 --- a/include/asm-sh/unistd.h +++ b/include/asm-sh/unistd.h @@ -367,4 +367,12 @@ static __inline__ pid_t wait(int * wait_stat) } #endif +/* + * "Conditional" syscalls + * + * What we want is __attribute__((weak,alias("sys_ni_syscall"))), + * but it doesn't work on all toolchains, so we just do it by hand + */ +#define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall"); + #endif /* __ASM_SH_UNISTD_H */ diff --git a/include/asm-sparc/unistd.h b/include/asm-sparc/unistd.h index 5ef9d7c3a70d..3f131fd488e9 100644 --- a/include/asm-sparc/unistd.h +++ b/include/asm-sparc/unistd.h @@ -437,4 +437,12 @@ static __inline__ pid_t wait(int * wait_stat) #endif /* __KERNEL_SYSCALLS__ */ +/* + * "Conditional" syscalls + * + * What we want is __attribute__((weak,alias("sys_ni_syscall"))), + * but it doesn't work on all toolchains, so we just do it by hand + */ +#define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall"); + #endif /* _SPARC_UNISTD_H */ diff --git a/include/asm-sparc64/unistd.h b/include/asm-sparc64/unistd.h index fe0ac16c56c8..2b35da699b8a 100644 --- a/include/asm-sparc64/unistd.h +++ b/include/asm-sparc64/unistd.h @@ -439,4 +439,12 @@ static __inline__ pid_t wait(int * wait_stat) #define _SC_VERSION 8 #endif +/* + * "Conditional" syscalls + * + * What we want is __attribute__((weak,alias("sys_ni_syscall"))), + * but it doesn't work on all toolchains, so we just do it by hand + */ +#define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall"); + #endif /* _SPARC64_UNISTD_H */ diff --git a/include/asm-x86_64/unistd.h b/include/asm-x86_64/unistd.h index 21257ec6452c..7239abba3be6 100644 --- a/include/asm-x86_64/unistd.h +++ b/include/asm-x86_64/unistd.h @@ -650,4 +650,12 @@ static inline pid_t wait(int * wait_stat) #endif /* __NO_STUBS */ +/* + * "Conditional" syscalls + * + * What we want is __attribute__((weak,alias("sys_ni_syscall"))), + * but it doesn't work on all toolchains, so we just do it by hand + */ +#define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall"); + #endif |
