Re: [PATCH] Use gcc alias instead of assembler aliases for syscalls

2013-08-07 Thread Andi Kleen
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

2013-08-07 Thread Andrew Morton
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

2013-08-07 Thread Andrew Morton
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

2013-08-07 Thread Andi Kleen
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

2013-08-06 Thread Al Viro
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

2013-08-06 Thread Andi Kleen
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

2013-08-06 Thread Andrew Morton
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

2013-08-06 Thread Andrew Morton
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

2013-08-06 Thread Andi Kleen
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

2013-08-06 Thread Al Viro
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/