On Mon, Jun 15, 2020 at 4:48 PM Brian Gerst <brgerst@xxxxxxxxx> wrote: > On Mon, Jun 15, 2020 at 10:13 AM Christoph Hellwig <hch@xxxxxx> wrote: > > On Mon, Jun 15, 2020 at 03:31:35PM +0200, Arnd Bergmann wrote: > > > > I'd rather keep it in common code as that allows all the low-level > > exec stuff to be marked static, and avoid us growing new pointless > > compat variants through copy and paste. > > smart compiler to d > > > > > I don't really understand > > > the comment, why can't this just use this? > > > > That errors out with: > > > > ld: arch/x86/entry/syscall_x32.o:(.rodata+0x1040): undefined reference to > > `__x32_sys_execve' > > ld: arch/x86/entry/syscall_x32.o:(.rodata+0x1108): undefined reference to > > `__x32_sys_execveat' > > make: *** [Makefile:1139: vmlinux] Error 1 > > I think I have a fix for this, by modifying the syscall wrappers to > add an alias for the __x32 variant to the native __x64_sys_foo(). > I'll get back to you with a patch. Do we actually need the __x32 prefix any more, or could we just change all x32 specific calls to use __x64_compat_sys_foo()? Arnd