[PATCH 20/25] arm64:ilp32: add sys_ilp32.c and a separate table (in entry.S) to use it

Arnd Bergmann
2016-04-28T22:43:41Z

On Friday 29 April 2016 01:21:37 Yury Norov wrote:
> index 1458ad7..410d817 100644
> --- a/arch/arm64/kernel/sys_ilp32.c
> +++ b/arch/arm64/kernel/sys_ilp32.c
> @@ -17,6 +17,8 @@
> * along with this program. If not, see
> * <http://www.gnu.org/licenses/>.
> */
>
> +#define __SYSCALL_COMPAT
> +
> #include <linux/compiler.h>
> #include <linux/errno.h>
> #include <linux/fs.h>
> @@ -48,13 +50,12 @@ asmlinkage long
> ilp32_sys_rt_sigreturn_wrapper(void);
>
> #include <asm/syscall.h>
>
> -#undef __SYSCALL
> -#undef __SC_COMP
> -#undef __SC_WRAP
> -#undef __SC_3264
> -#undef __SC_COMP_3264
>
> -#define __SYSCALL_COMPAT
> #define __SYSCALL(nr, sym) [nr] = sym,
> #define __SC_WRAP(nr, sym) [nr] = compat_##sym,
>
> This patch makes gcc warn about redefinition.
>
> arch/arm64/kernel/sys_ilp32.c:59:0: warning: "__SYSCALL" redefined
> #define __SYSCALL(nr, sym) [nr] = sym,
> ^
> In file included from include/asm-generic/unistd.h:1:0,
>

Ok, I think I see it now. Can you #undef the two symbols at the
end of arch/arm64/include/uapi/asm/unistd.h or possibly
include/uapi/asm-generic/unistd.h?

Arnd