Re: [PATCH] Use gcc alias instead of assembler aliases for syscalls
On Wed, Aug 07, 2013 at 04:54:21PM -0700, Andrew Morton wrote: > On Mon, 5 Aug 2013 15:09:35 -0700 Andi Kleen wrote: > > > From: Andi Kleen > > > > Use standard gcc __attribute__((alias(foo))) to define > > the syscall aliases instead of custom assembler macros. > > > > This is far cleaner, and also fixes my LTO kernel build. > > > > This makes my x86_64 allmodconfig build emit screenfuls of Ok I can reproduce with MODVERSIONS. Very mysterious, as I didn't change EXPORT_SYMBOL. Will look into it. Thanks. -Andi -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] Use gcc alias instead of assembler aliases for syscalls
On Mon, 5 Aug 2013 15:09:35 -0700 Andi Kleen wrote: > From: Andi Kleen > > Use standard gcc __attribute__((alias(foo))) to define > the syscall aliases instead of custom assembler macros. > > This is far cleaner, and also fixes my LTO kernel build. > This makes my x86_64 allmodconfig build emit screenfuls of ... WARNING: "alloc_pages_current" [drivers/block/brd.ko] has no CRC! WARNING: "alloc_pages_current" [drivers/base/firmware_class.ko] has no CRC! WARNING: "schedule_timeout" [drivers/atm/solos-pci.ko] has no CRC! WARNING: "schedule_timeout" [drivers/atm/iphase.ko] has no CRC! WARNING: "schedule_timeout" [drivers/atm/he.ko] has no CRC! WARNING: "schedule_timeout" [drivers/acpi/sbshc.ko] has no CRC! WARNING: "schedule_timeout" [drivers/acpi/acpi_ipmi.ko] has no CRC! WARNING: "alloc_pages_current" [crypto/async_tx/raid6test.ko] has no CRC! WARNING: "alloc_pages_current" [crypto/async_tx/async_pq.ko] has no CRC! WARNING: "alloc_pages_current" [crypto/algif_skcipher.ko] has no CRC! WARNING: "schedule_timeout" [crypto/algif_skcipher.ko] has no CRC! WARNING: "sock_register" [crypto/af_alg.ko] has no CRC! WARNING: "task_nice" [block/cfq-iosched.ko] has no CRC! WARNING: "perf_event_create_kernel_counter" [arch/x86/oprofile/oprofile.ko] has no CRC! WARNING: "alloc_pages_current" [arch/x86/kvm/kvm.ko] has no CRC! WARNING: "perf_event_create_kernel_counter" [arch/x86/kvm/kvm.ko] has no CRC! WARNING: "alloc_pages_current" [arch/x86/kvm/kvm-amd.ko] has no CRC! WARNING: "schedule_timeout" [arch/x86/kernel/cpu/mcheck/mce-inject.ko] has no CRC! WARNING: "schedule_timeout" [arch/x86/kernel/apm.ko] has no CRC! make[1]: *** [__modpost] Error 1 make: *** [modules] Error 2 Unexpected, but I checked it a couple of times. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] Use gcc alias instead of assembler aliases for syscalls
On Mon, 5 Aug 2013 15:09:35 -0700 Andi Kleen a...@firstfloor.org wrote: From: Andi Kleen a...@linux.intel.com Use standard gcc __attribute__((alias(foo))) to define the syscall aliases instead of custom assembler macros. This is far cleaner, and also fixes my LTO kernel build. This makes my x86_64 allmodconfig build emit screenfuls of ... WARNING: alloc_pages_current [drivers/block/brd.ko] has no CRC! WARNING: alloc_pages_current [drivers/base/firmware_class.ko] has no CRC! WARNING: schedule_timeout [drivers/atm/solos-pci.ko] has no CRC! WARNING: schedule_timeout [drivers/atm/iphase.ko] has no CRC! WARNING: schedule_timeout [drivers/atm/he.ko] has no CRC! WARNING: schedule_timeout [drivers/acpi/sbshc.ko] has no CRC! WARNING: schedule_timeout [drivers/acpi/acpi_ipmi.ko] has no CRC! WARNING: alloc_pages_current [crypto/async_tx/raid6test.ko] has no CRC! WARNING: alloc_pages_current [crypto/async_tx/async_pq.ko] has no CRC! WARNING: alloc_pages_current [crypto/algif_skcipher.ko] has no CRC! WARNING: schedule_timeout [crypto/algif_skcipher.ko] has no CRC! WARNING: sock_register [crypto/af_alg.ko] has no CRC! WARNING: task_nice [block/cfq-iosched.ko] has no CRC! WARNING: perf_event_create_kernel_counter [arch/x86/oprofile/oprofile.ko] has no CRC! WARNING: alloc_pages_current [arch/x86/kvm/kvm.ko] has no CRC! WARNING: perf_event_create_kernel_counter [arch/x86/kvm/kvm.ko] has no CRC! WARNING: alloc_pages_current [arch/x86/kvm/kvm-amd.ko] has no CRC! WARNING: schedule_timeout [arch/x86/kernel/cpu/mcheck/mce-inject.ko] has no CRC! WARNING: schedule_timeout [arch/x86/kernel/apm.ko] has no CRC! make[1]: *** [__modpost] Error 1 make: *** [modules] Error 2 Unexpected, but I checked it a couple of times. -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] Use gcc alias instead of assembler aliases for syscalls
On Wed, Aug 07, 2013 at 04:54:21PM -0700, Andrew Morton wrote: On Mon, 5 Aug 2013 15:09:35 -0700 Andi Kleen a...@firstfloor.org wrote: From: Andi Kleen a...@linux.intel.com Use standard gcc __attribute__((alias(foo))) to define the syscall aliases instead of custom assembler macros. This is far cleaner, and also fixes my LTO kernel build. This makes my x86_64 allmodconfig build emit screenfuls of Ok I can reproduce with MODVERSIONS. Very mysterious, as I didn't change EXPORT_SYMBOL. Will look into it. Thanks. -Andi -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] Use gcc alias instead of assembler aliases for syscalls
On Tue, Aug 06, 2013 at 08:42:01AM +0200, Andi Kleen wrote: > On Mon, Aug 05, 2013 at 10:59:49PM -0700, Andrew Morton wrote: > > On Mon, 5 Aug 2013 15:09:35 -0700 Andi Kleen wrote: > > > > > From: Andi Kleen > > > > > > Use standard gcc __attribute__((alias(foo))) to define > > > the syscall aliases instead of custom assembler macros. > > > > > > This is far cleaner, and also fixes my LTO kernel build. > > > > I wonder what gcc version this was added in. Seems fairly longstanding. > > Seems to be already in 2.95, so every kernel compiler IIRC, there had been some architectures where it didn't work correctly. I don't remember details, though... Geert? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] Use gcc alias instead of assembler aliases for syscalls
On Mon, Aug 05, 2013 at 10:59:49PM -0700, Andrew Morton wrote: > On Mon, 5 Aug 2013 15:09:35 -0700 Andi Kleen wrote: > > > From: Andi Kleen > > > > Use standard gcc __attribute__((alias(foo))) to define > > the syscall aliases instead of custom assembler macros. > > > > This is far cleaner, and also fixes my LTO kernel build. > > I wonder what gcc version this was added in. Seems fairly longstanding. Seems to be already in 2.95, so every kernel compiler http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_4.html#SEC90 > > > { \ > > return C_SYSC##name(__MAP(x,__SC_DELOUSE,__VA_ARGS__)); \ > > } \ > > - SYSCALL_ALIAS(compat_sys##name, compat_SyS##name); \ > > I think we can remove the SYSCALL_ALIAS definitions? Yes will send a followon patch. -Andi -- a...@linux.intel.com -- Speaking for myself only. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] Use gcc alias instead of assembler aliases for syscalls
On Mon, 5 Aug 2013 15:09:35 -0700 Andi Kleen wrote: > From: Andi Kleen > > Use standard gcc __attribute__((alias(foo))) to define > the syscall aliases instead of custom assembler macros. > > This is far cleaner, and also fixes my LTO kernel build. I wonder what gcc version this was added in. Seems fairly longstanding. > { \ > return C_SYSC##name(__MAP(x,__SC_DELOUSE,__VA_ARGS__)); \ > } \ > - SYSCALL_ALIAS(compat_sys##name, compat_SyS##name); \ I think we can remove the SYSCALL_ALIAS definitions? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] Use gcc alias instead of assembler aliases for syscalls
On Mon, 5 Aug 2013 15:09:35 -0700 Andi Kleen a...@firstfloor.org wrote: From: Andi Kleen a...@linux.intel.com Use standard gcc __attribute__((alias(foo))) to define the syscall aliases instead of custom assembler macros. This is far cleaner, and also fixes my LTO kernel build. I wonder what gcc version this was added in. Seems fairly longstanding. { \ return C_SYSC##name(__MAP(x,__SC_DELOUSE,__VA_ARGS__)); \ } \ - SYSCALL_ALIAS(compat_sys##name, compat_SyS##name); \ I think we can remove the SYSCALL_ALIAS definitions? -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] Use gcc alias instead of assembler aliases for syscalls
On Mon, Aug 05, 2013 at 10:59:49PM -0700, Andrew Morton wrote: On Mon, 5 Aug 2013 15:09:35 -0700 Andi Kleen a...@firstfloor.org wrote: From: Andi Kleen a...@linux.intel.com Use standard gcc __attribute__((alias(foo))) to define the syscall aliases instead of custom assembler macros. This is far cleaner, and also fixes my LTO kernel build. I wonder what gcc version this was added in. Seems fairly longstanding. Seems to be already in 2.95, so every kernel compiler http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_4.html#SEC90 { \ return C_SYSC##name(__MAP(x,__SC_DELOUSE,__VA_ARGS__)); \ } \ - SYSCALL_ALIAS(compat_sys##name, compat_SyS##name); \ I think we can remove the SYSCALL_ALIAS definitions? Yes will send a followon patch. -Andi -- a...@linux.intel.com -- Speaking for myself only. -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] Use gcc alias instead of assembler aliases for syscalls
On Tue, Aug 06, 2013 at 08:42:01AM +0200, Andi Kleen wrote: On Mon, Aug 05, 2013 at 10:59:49PM -0700, Andrew Morton wrote: On Mon, 5 Aug 2013 15:09:35 -0700 Andi Kleen a...@firstfloor.org wrote: From: Andi Kleen a...@linux.intel.com Use standard gcc __attribute__((alias(foo))) to define the syscall aliases instead of custom assembler macros. This is far cleaner, and also fixes my LTO kernel build. I wonder what gcc version this was added in. Seems fairly longstanding. Seems to be already in 2.95, so every kernel compiler IIRC, there had been some architectures where it didn't work correctly. I don't remember details, though... Geert? -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/