On Wed, 2022-08-24 at 12:05 +1000, Rohan McLure wrote: > The asmlinkage macro has no special meaning in powerpc, and prior to > this patch is used sporadically on some syscall handler definitions. > On > architectures that do not define asmlinkage, it resolves to extern > "C" > for C++ compilers and a nop otherwise. The current invocations of > asmlinkage provide far from complete support for C++ toolchains, and > so > the macro serves no purpose in powerpc. > > Remove all invocations of asmlinkage in arch/powerpc. These > incidentally > only occur in syscall definitions and prototypes. > > Signed-off-by: Rohan McLure <rmcl...@linux.ibm.com>
This does indeed get rid of every reference to asmlinkage in arch/powerpc. Reviewed-by: Andrew Donnellan <a...@linux.ibm.com> > --- > V2 -> V3: new patch > --- > arch/powerpc/include/asm/syscalls.h | 16 ++++++++-------- > arch/powerpc/kernel/sys_ppc32.c | 8 ++++---- > 2 files changed, 12 insertions(+), 12 deletions(-) > > diff --git a/arch/powerpc/include/asm/syscalls.h > b/arch/powerpc/include/asm/syscalls.h > index a2b13e55254f..21c2faaa2957 100644 > --- a/arch/powerpc/include/asm/syscalls.h > +++ b/arch/powerpc/include/asm/syscalls.h > @@ -10,14 +10,14 @@ > > struct rtas_args; > > -asmlinkage long sys_mmap(unsigned long addr, size_t len, > - unsigned long prot, unsigned long flags, > - unsigned long fd, off_t offset); > -asmlinkage long sys_mmap2(unsigned long addr, size_t len, > - unsigned long prot, unsigned long flags, > - unsigned long fd, unsigned long pgoff); > -asmlinkage long ppc64_personality(unsigned long personality); > -asmlinkage long sys_rtas(struct rtas_args __user *uargs); > +long sys_mmap(unsigned long addr, size_t len, > + unsigned long prot, unsigned long flags, > + unsigned long fd, off_t offset); > +long sys_mmap2(unsigned long addr, size_t len, > + unsigned long prot, unsigned long flags, > + unsigned long fd, unsigned long pgoff); > +long ppc64_personality(unsigned long personality); > +long sys_rtas(struct rtas_args __user *uargs); > int ppc_select(int n, fd_set __user *inp, fd_set __user *outp, > fd_set __user *exp, struct __kernel_old_timeval __user > *tvp); > long ppc_fadvise64_64(int fd, int advice, u32 offset_high, u32 > offset_low, > diff --git a/arch/powerpc/kernel/sys_ppc32.c > b/arch/powerpc/kernel/sys_ppc32.c > index 16ff0399a257..f4edcc9489fb 100644 > --- a/arch/powerpc/kernel/sys_ppc32.c > +++ b/arch/powerpc/kernel/sys_ppc32.c > @@ -85,20 +85,20 @@ compat_ssize_t compat_sys_readahead(int fd, u32 > r4, u32 offset1, u32 offset2, u3 > return ksys_readahead(fd, merge_64(offset1, offset2), count); > } > > -asmlinkage int compat_sys_truncate64(const char __user * path, u32 > reg4, > +int compat_sys_truncate64(const char __user * path, u32 reg4, > unsigned long len1, unsigned long > len2) > { > return ksys_truncate(path, merge_64(len1, len2)); > } > > -asmlinkage long compat_sys_fallocate(int fd, int mode, u32 offset1, > u32 offset2, > +long compat_sys_fallocate(int fd, int mode, u32 offset1, u32 > offset2, > u32 len1, u32 len2) > { > return ksys_fallocate(fd, mode, ((loff_t)offset1 << 32) | > offset2, > merge_64(len1, len2)); > } > > -asmlinkage int compat_sys_ftruncate64(unsigned int fd, u32 reg4, > unsigned long len1, > +int compat_sys_ftruncate64(unsigned int fd, u32 reg4, unsigned long > len1, > unsigned long len2) > { > return ksys_ftruncate(fd, merge_64(len1, len2)); > @@ -111,7 +111,7 @@ long ppc32_fadvise64(int fd, u32 unused, u32 > offset1, u32 offset2, > advice); > } > > -asmlinkage long compat_sys_sync_file_range2(int fd, unsigned int > flags, > +long compat_sys_sync_file_range2(int fd, unsigned int flags, > unsigned offset1, unsigned > offset2, > unsigned nbytes1, unsigned > nbytes2) > { -- Andrew Donnellan OzLabs, ADL Canberra a...@linux.ibm.com IBM Australia Limited