All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] linkage.h: fix build breakage due to symbol prefix handling
@ 2013-05-01 21:04 James Hogan
  2013-05-01 21:43 ` Al Viro
  2013-05-02  0:28 ` Rusty Russell
  0 siblings, 2 replies; 9+ messages in thread
From: James Hogan @ 2013-05-01 21:04 UTC (permalink / raw)
  To: torvalds
  Cc: linux-kernel, James Hogan, Al Viro, Rusty Russell,
	Mike Frysinger, uclinux-dist-devel

Al's commit e1b5bb6d1236d4ad2084c53aa83dde7cdf6f8eea ("consolidate
cond_syscall and SYSCALL_ALIAS declarations") broke the build on
blackfin and metag due to the following code:

  #ifndef SYMBOL_NAME
  #ifdef CONFIG_SYMBOL_PREFIX
  #define SYMBOL_NAME(x) CONFIG_SYMBOL_PREFIX ## x
  #else
  #define SYMBOL_NAME(x) x
  #endif
  #endif
  #define __SYMBOL_NAME(x) __stringify(SYMBOL_NAME(x))

__stringify literally stringifies CONFIG_SYMBOL_PREFIX ##x, so you get
lines like this in kernel/sys_ni.s:

  .weak CONFIG_SYMBOL_PREFIXsys_quotactl
  .set CONFIG_SYMBOL_PREFIXsys_quotactl,CONFIG_SYMBOL_PREFIXsys_ni_syscall

The patches in Rusty's modules-next tree such as "CONFIG_SYMBOL_PREFIX:
cleanup." clean up the whole mess around symbol prefixes, so this patch
just attempts to fix the build in the mean time. The intermediate
definition of SYMBOL_NAME above isn't used and is incorrect when
CONFIG_SYMBOL_PREFIX is defined as CONFIG_SYMBOL_PREFIX is a quoted
string literal, so define __SYMBOL_NAME directly depending on
CONFIG_SYMBOL_PREFIX.

Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: uclinux-dist-devel@blackfin.uclinux.org
---
 include/linux/linkage.h | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/include/linux/linkage.h b/include/linux/linkage.h
index 829d66c..de09dec 100644
--- a/include/linux/linkage.h
+++ b/include/linux/linkage.h
@@ -15,14 +15,11 @@
 #define asmlinkage CPP_ASMLINKAGE
 #endif
 
-#ifndef SYMBOL_NAME
 #ifdef CONFIG_SYMBOL_PREFIX
-#define SYMBOL_NAME(x) CONFIG_SYMBOL_PREFIX ## x
+#define __SYMBOL_NAME(x) CONFIG_SYMBOL_PREFIX __stringify(x)
 #else
-#define SYMBOL_NAME(x) x
+#define __SYMBOL_NAME(x) __stringify(x)
 #endif
-#endif
-#define __SYMBOL_NAME(x) __stringify(SYMBOL_NAME(x))
 
 #ifndef cond_syscall
 #define cond_syscall(x) asm(".weak\t" __SYMBOL_NAME(x) \
-- 
1.8.1.2



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH] linkage.h: fix build breakage due to symbol prefix handling
  2013-05-01 21:04 [PATCH] linkage.h: fix build breakage due to symbol prefix handling James Hogan
@ 2013-05-01 21:43 ` Al Viro
  2013-05-01 22:12   ` James Hogan
  2013-05-02  3:42   ` Al Viro
  2013-05-02  0:28 ` Rusty Russell
  1 sibling, 2 replies; 9+ messages in thread
From: Al Viro @ 2013-05-01 21:43 UTC (permalink / raw)
  To: James Hogan
  Cc: torvalds, linux-kernel, Rusty Russell, Mike Frysinger,
	uclinux-dist-devel

On Wed, May 01, 2013 at 10:04:17PM +0100, James Hogan wrote:
> Al's commit e1b5bb6d1236d4ad2084c53aa83dde7cdf6f8eea ("consolidate
> cond_syscall and SYSCALL_ALIAS declarations") broke the build on
> blackfin and metag due to the following code:
> 
>   #ifndef SYMBOL_NAME
>   #ifdef CONFIG_SYMBOL_PREFIX
>   #define SYMBOL_NAME(x) CONFIG_SYMBOL_PREFIX ## x
>   #else
>   #define SYMBOL_NAME(x) x
>   #endif
>   #endif
>   #define __SYMBOL_NAME(x) __stringify(SYMBOL_NAME(x))
> 
> __stringify literally stringifies CONFIG_SYMBOL_PREFIX ##x, so you get
> lines like this in kernel/sys_ni.s:
> 
>   .weak CONFIG_SYMBOL_PREFIXsys_quotactl
>   .set CONFIG_SYMBOL_PREFIXsys_quotactl,CONFIG_SYMBOL_PREFIXsys_ni_syscall
> 
> The patches in Rusty's modules-next tree such as "CONFIG_SYMBOL_PREFIX:
> cleanup." clean up the whole mess around symbol prefixes, so this patch
> just attempts to fix the build in the mean time. The intermediate
> definition of SYMBOL_NAME above isn't used and is incorrect when
> CONFIG_SYMBOL_PREFIX is defined as CONFIG_SYMBOL_PREFIX is a quoted
> string literal, so define __SYMBOL_NAME directly depending on
> CONFIG_SYMBOL_PREFIX.

Oh, hell...  Guys, my deep apologies - what happened is that this thing
has been caught in -next, rebase done here (on top of Rusty's commit)
and *not* pushed to linux-next.  Unfortunately, folks had been too polite
and didn't keep kicking me - mistake, since the whole thing got forgotten ;-/
Sigh...

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] linkage.h: fix build breakage due to symbol prefix handling
  2013-05-01 21:43 ` Al Viro
@ 2013-05-01 22:12   ` James Hogan
  2013-05-02  3:42   ` Al Viro
  1 sibling, 0 replies; 9+ messages in thread
From: James Hogan @ 2013-05-01 22:12 UTC (permalink / raw)
  To: Al Viro
  Cc: Linus Torvalds, LKML, Rusty Russell, Mike Frysinger, uclinux-dist-devel

On 1 May 2013 22:43, Al Viro <viro@zeniv.linux.org.uk> wrote:
> On Wed, May 01, 2013 at 10:04:17PM +0100, James Hogan wrote:
>> Al's commit e1b5bb6d1236d4ad2084c53aa83dde7cdf6f8eea ("consolidate
>> cond_syscall and SYSCALL_ALIAS declarations") broke the build on
>> blackfin and metag due to the following code:
>>
>>   #ifndef SYMBOL_NAME
>>   #ifdef CONFIG_SYMBOL_PREFIX
>>   #define SYMBOL_NAME(x) CONFIG_SYMBOL_PREFIX ## x
>>   #else
>>   #define SYMBOL_NAME(x) x
>>   #endif
>>   #endif
>>   #define __SYMBOL_NAME(x) __stringify(SYMBOL_NAME(x))
>>
>> __stringify literally stringifies CONFIG_SYMBOL_PREFIX ##x, so you get
>> lines like this in kernel/sys_ni.s:
>>
>>   .weak CONFIG_SYMBOL_PREFIXsys_quotactl
>>   .set CONFIG_SYMBOL_PREFIXsys_quotactl,CONFIG_SYMBOL_PREFIXsys_ni_syscall
>>
>> The patches in Rusty's modules-next tree such as "CONFIG_SYMBOL_PREFIX:
>> cleanup." clean up the whole mess around symbol prefixes, so this patch
>> just attempts to fix the build in the mean time. The intermediate
>> definition of SYMBOL_NAME above isn't used and is incorrect when
>> CONFIG_SYMBOL_PREFIX is defined as CONFIG_SYMBOL_PREFIX is a quoted
>> string literal, so define __SYMBOL_NAME directly depending on
>> CONFIG_SYMBOL_PREFIX.
>
> Oh, hell...  Guys, my deep apologies - what happened is that this thing
> has been caught in -next, rebase done here (on top of Rusty's commit)
> and *not* pushed to linux-next.  Unfortunately, folks had been too polite
> and didn't keep kicking me - mistake, since the whole thing got forgotten ;-/
> Sigh...

No worries. Unfortunately after the tip of linux-next started working
again with Rusty's commit it sort of fell off my radar.

Cheers
James

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] linkage.h: fix build breakage due to symbol prefix handling
  2013-05-01 21:04 [PATCH] linkage.h: fix build breakage due to symbol prefix handling James Hogan
  2013-05-01 21:43 ` Al Viro
@ 2013-05-02  0:28 ` Rusty Russell
  2013-05-02  3:37   ` Stephen Rothwell
  1 sibling, 1 reply; 9+ messages in thread
From: Rusty Russell @ 2013-05-02  0:28 UTC (permalink / raw)
  To: James Hogan, torvalds
  Cc: linux-kernel, James Hogan, Al Viro, Mike Frysinger, uclinux-dist-devel

James Hogan <james.hogan@imgtec.com> writes:
> Al's commit e1b5bb6d1236d4ad2084c53aa83dde7cdf6f8eea ("consolidate
> cond_syscall and SYSCALL_ALIAS declarations") broke the build on
> blackfin and metag due to the following code:
>
>   #ifndef SYMBOL_NAME
>   #ifdef CONFIG_SYMBOL_PREFIX
>   #define SYMBOL_NAME(x) CONFIG_SYMBOL_PREFIX ## x
>   #else
>   #define SYMBOL_NAME(x) x
>   #endif
>   #endif
>   #define __SYMBOL_NAME(x) __stringify(SYMBOL_NAME(x))
>
> __stringify literally stringifies CONFIG_SYMBOL_PREFIX ##x, so you get
> lines like this in kernel/sys_ni.s:
>
>   .weak CONFIG_SYMBOL_PREFIXsys_quotactl
>   .set CONFIG_SYMBOL_PREFIXsys_quotactl,CONFIG_SYMBOL_PREFIXsys_ni_syscall
>
> The patches in Rusty's modules-next tree such as "CONFIG_SYMBOL_PREFIX:
> cleanup." clean up the whole mess around symbol prefixes, so this patch
> just attempts to fix the build in the mean time. The intermediate
> definition of SYMBOL_NAME above isn't used and is incorrect when
> CONFIG_SYMBOL_PREFIX is defined as CONFIG_SYMBOL_PREFIX is a quoted
> string literal, so define __SYMBOL_NAME directly depending on
> CONFIG_SYMBOL_PREFIX.

I just pushed my modules-next tree to Linus, so hopefully the nightmare
is over soon!

Cheers,
Rusty.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] linkage.h: fix build breakage due to symbol prefix handling
  2013-05-02  0:28 ` Rusty Russell
@ 2013-05-02  3:37   ` Stephen Rothwell
  2013-05-02  5:30     ` Stephen Rothwell
  0 siblings, 1 reply; 9+ messages in thread
From: Stephen Rothwell @ 2013-05-02  3:37 UTC (permalink / raw)
  To: Rusty Russell
  Cc: James Hogan, torvalds, linux-kernel, Al Viro, Mike Frysinger,
	uclinux-dist-devel

[-- Attachment #1: Type: text/plain, Size: 3294 bytes --]

Hi all,

On Thu, 02 May 2013 09:58:08 +0930 Rusty Russell <rusty@rustcorp.com.au> wrote:
>
> James Hogan <james.hogan@imgtec.com> writes:
> > Al's commit e1b5bb6d1236d4ad2084c53aa83dde7cdf6f8eea ("consolidate
> > cond_syscall and SYSCALL_ALIAS declarations") broke the build on
> > blackfin and metag due to the following code:
> >
> >   #ifndef SYMBOL_NAME
> >   #ifdef CONFIG_SYMBOL_PREFIX
> >   #define SYMBOL_NAME(x) CONFIG_SYMBOL_PREFIX ## x
> >   #else
> >   #define SYMBOL_NAME(x) x
> >   #endif
> >   #endif
> >   #define __SYMBOL_NAME(x) __stringify(SYMBOL_NAME(x))
> >
> > __stringify literally stringifies CONFIG_SYMBOL_PREFIX ##x, so you get
> > lines like this in kernel/sys_ni.s:
> >
> >   .weak CONFIG_SYMBOL_PREFIXsys_quotactl
> >   .set CONFIG_SYMBOL_PREFIXsys_quotactl,CONFIG_SYMBOL_PREFIXsys_ni_syscall
> >
> > The patches in Rusty's modules-next tree such as "CONFIG_SYMBOL_PREFIX:
> > cleanup." clean up the whole mess around symbol prefixes, so this patch
> > just attempts to fix the build in the mean time. The intermediate
> > definition of SYMBOL_NAME above isn't used and is incorrect when
> > CONFIG_SYMBOL_PREFIX is defined as CONFIG_SYMBOL_PREFIX is a quoted
> > string literal, so define __SYMBOL_NAME directly depending on
> > CONFIG_SYMBOL_PREFIX.
> 
> I just pushed my modules-next tree to Linus, so hopefully the nightmare
> is over soon!

This is the merge fix patch I have been carrying in linux-next since
March 14: (this probably does not quite apply any more but, hey ...)

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Thu, 14 Mar 2013 17:14:41 +1100
Subject: [PATCH] cond_syscall and SYSCALL_ALIAS merge fixup

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 include/linux/linkage.h | 20 ++++++--------------
 1 file changed, 6 insertions(+), 14 deletions(-)

diff --git a/include/linux/linkage.h b/include/linux/linkage.h
index 829d66c..bedcddf 100644
--- a/include/linux/linkage.h
+++ b/include/linux/linkage.h
@@ -2,7 +2,7 @@
 #define _LINUX_LINKAGE_H
 
 #include <linux/compiler.h>
-#include <linux/stringify.h>
+#include <linux/export.h>
 #include <asm/linkage.h>
 
 #ifdef __cplusplus
@@ -15,24 +15,16 @@
 #define asmlinkage CPP_ASMLINKAGE
 #endif
 
-#ifndef SYMBOL_NAME
-#ifdef CONFIG_SYMBOL_PREFIX
-#define SYMBOL_NAME(x) CONFIG_SYMBOL_PREFIX ## x
-#else
-#define SYMBOL_NAME(x) x
-#endif
-#endif
-#define __SYMBOL_NAME(x) __stringify(SYMBOL_NAME(x))
-
 #ifndef cond_syscall
-#define cond_syscall(x) asm(".weak\t" __SYMBOL_NAME(x) \
-	"\n\t.set\t" __SYMBOL_NAME(x) "," __SYMBOL_NAME(sys_ni_syscall));
+#define cond_syscall(x) asm(".weak\t" VMLINUX_SYMBOL_STR(x) "\n\t"	\
+			    ".set\t" VMLINUX_SYMBOL_STR(x) ","	\
+			    VMLINUX_SYMBOL_STR(sys_ni_syscall))
 #endif
 
 #ifndef SYSCALL_ALIAS
 #define SYSCALL_ALIAS(alias, name)				\
-	asm ("\t.globl " __SYMBOL_NAME(alias)			\
-	"\n\t.set\t" __SYMBOL_NAME(alias) "," __SYMBOL_NAME(name))
+	asm ("\t.globl " VMLINUX_SYMBOL_STR(alias)			\
+	"\n\t.set\t" VMLINUX_SYMBOL_STR(alias) "," VMLINUX_SYMBOL_STR(name))
 #endif
 
 #define __page_aligned_data	__section(.data..page_aligned) __aligned(PAGE_SIZE)
-- 
1.8.1

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH] linkage.h: fix build breakage due to symbol prefix handling
  2013-05-01 21:43 ` Al Viro
  2013-05-01 22:12   ` James Hogan
@ 2013-05-02  3:42   ` Al Viro
  1 sibling, 0 replies; 9+ messages in thread
From: Al Viro @ 2013-05-02  3:42 UTC (permalink / raw)
  To: James Hogan
  Cc: torvalds, linux-kernel, Rusty Russell, Mike Frysinger,
	uclinux-dist-devel

On Wed, May 01, 2013 at 10:43:35PM +0100, Al Viro wrote:

> Oh, hell...  Guys, my deep apologies - what happened is that this thing
> has been caught in -next, rebase done here (on top of Rusty's commit)
> and *not* pushed to linux-next.

Curiouser and curiouser...  FWIW, what I have is
$ cat .git/refs/heads/linkage-fixed
898429c05290b8c05d035199f65a3bb034b34bb7
$ cat .git/refs/heads/remotes/next
898429c05290b8c05d035199f65a3bb034b34bb7
both being the aforementioned rebase;  I really wonder WTF had I been doing
that could've produced that...  How does git deal with that sort of
ambiguities?
$ git log remotes/next | head -3
commit 898429c05290b8c05d035199f65a3bb034b34bb7
Author: Al Viro <viro@zeniv.linux.org.uk>
Date:   Tue Mar 19 14:25:51 2013 -0400
$ git log remotes/next/master | head -3
commit d7c35d45ce991ae01b6008abef120173fc9c3814
Author: Stephen Rothwell <sfr@canb.auug.org.au>
Date:   Tue Apr 30 16:26:41 2013 +1000
(the latter, of course, coming from remote for linux-next mirror)

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] linkage.h: fix build breakage due to symbol prefix handling
  2013-05-02  3:37   ` Stephen Rothwell
@ 2013-05-02  5:30     ` Stephen Rothwell
  2013-05-06  5:29       ` Rusty Russell
  0 siblings, 1 reply; 9+ messages in thread
From: Stephen Rothwell @ 2013-05-02  5:30 UTC (permalink / raw)
  To: Rusty Russell
  Cc: James Hogan, torvalds, linux-kernel, Al Viro, Mike Frysinger,
	uclinux-dist-devel

[-- Attachment #1: Type: text/plain, Size: 3843 bytes --]

Hi Rusty,

On Thu, 2 May 2013 13:37:37 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> This is the merge fix patch I have been carrying in linux-next since
> March 14: (this probably does not quite apply any more but, hey ...)
> 
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Thu, 14 Mar 2013 17:14:41 +1100
> Subject: [PATCH] cond_syscall and SYSCALL_ALIAS merge fixup
> 
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> ---
>  include/linux/linkage.h | 20 ++++++--------------
>  1 file changed, 6 insertions(+), 14 deletions(-)
> 
> diff --git a/include/linux/linkage.h b/include/linux/linkage.h
> index 829d66c..bedcddf 100644
> --- a/include/linux/linkage.h
> +++ b/include/linux/linkage.h
> @@ -2,7 +2,7 @@
>  #define _LINUX_LINKAGE_H
>  
>  #include <linux/compiler.h>
> -#include <linux/stringify.h>
> +#include <linux/export.h>
>  #include <asm/linkage.h>
>  
>  #ifdef __cplusplus
> @@ -15,24 +15,16 @@
>  #define asmlinkage CPP_ASMLINKAGE
>  #endif
>  
> -#ifndef SYMBOL_NAME
> -#ifdef CONFIG_SYMBOL_PREFIX
> -#define SYMBOL_NAME(x) CONFIG_SYMBOL_PREFIX ## x
> -#else
> -#define SYMBOL_NAME(x) x
> -#endif
> -#endif
> -#define __SYMBOL_NAME(x) __stringify(SYMBOL_NAME(x))
> -
>  #ifndef cond_syscall
> -#define cond_syscall(x) asm(".weak\t" __SYMBOL_NAME(x) \
> -	"\n\t.set\t" __SYMBOL_NAME(x) "," __SYMBOL_NAME(sys_ni_syscall));
> +#define cond_syscall(x) asm(".weak\t" VMLINUX_SYMBOL_STR(x) "\n\t"	\
> +			    ".set\t" VMLINUX_SYMBOL_STR(x) ","	\
> +			    VMLINUX_SYMBOL_STR(sys_ni_syscall))
>  #endif
>  
>  #ifndef SYSCALL_ALIAS
>  #define SYSCALL_ALIAS(alias, name)				\
> -	asm ("\t.globl " __SYMBOL_NAME(alias)			\
> -	"\n\t.set\t" __SYMBOL_NAME(alias) "," __SYMBOL_NAME(name))
> +	asm ("\t.globl " VMLINUX_SYMBOL_STR(alias)			\
> +	"\n\t.set\t" VMLINUX_SYMBOL_STR(alias) "," VMLINUX_SYMBOL_STR(name))
>  #endif
>  
>  #define __page_aligned_data	__section(.data..page_aligned) __aligned(PAGE_SIZE)
> -- 
> 1.8.1

Version from today's merge fix.  Rusty, you should show this to Linus
when you ask him to merge your modules tree (assuming it looks right :-)).

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Thu, 14 Mar 2013 17:14:41 +1100
Subject: [PATCH] cond_syscall and SYSCALL_ALIAS merge fixup

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 include/linux/linkage.h |   17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

diff --git a/include/linux/linkage.h b/include/linux/linkage.h
index de09dec..bedcddf 100644
--- a/include/linux/linkage.h
+++ b/include/linux/linkage.h
@@ -2,7 +2,7 @@
 #define _LINUX_LINKAGE_H
 
 #include <linux/compiler.h>
-#include <linux/stringify.h>
+#include <linux/export.h>
 #include <asm/linkage.h>
 
 #ifdef __cplusplus
@@ -15,21 +15,16 @@
 #define asmlinkage CPP_ASMLINKAGE
 #endif
 
-#ifdef CONFIG_SYMBOL_PREFIX
-#define __SYMBOL_NAME(x) CONFIG_SYMBOL_PREFIX __stringify(x)
-#else
-#define __SYMBOL_NAME(x) __stringify(x)
-#endif
-
 #ifndef cond_syscall
-#define cond_syscall(x) asm(".weak\t" __SYMBOL_NAME(x) \
-	"\n\t.set\t" __SYMBOL_NAME(x) "," __SYMBOL_NAME(sys_ni_syscall));
+#define cond_syscall(x) asm(".weak\t" VMLINUX_SYMBOL_STR(x) "\n\t"	\
+			    ".set\t" VMLINUX_SYMBOL_STR(x) ","	\
+			    VMLINUX_SYMBOL_STR(sys_ni_syscall))
 #endif
 
 #ifndef SYSCALL_ALIAS
 #define SYSCALL_ALIAS(alias, name)				\
-	asm ("\t.globl " __SYMBOL_NAME(alias)			\
-	"\n\t.set\t" __SYMBOL_NAME(alias) "," __SYMBOL_NAME(name))
+	asm ("\t.globl " VMLINUX_SYMBOL_STR(alias)			\
+	"\n\t.set\t" VMLINUX_SYMBOL_STR(alias) "," VMLINUX_SYMBOL_STR(name))
 #endif
 
 #define __page_aligned_data	__section(.data..page_aligned) __aligned(PAGE_SIZE)

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH] linkage.h: fix build breakage due to symbol prefix handling
  2013-05-02  5:30     ` Stephen Rothwell
@ 2013-05-06  5:29       ` Rusty Russell
  2013-05-08  1:10         ` Stephen Rothwell
  0 siblings, 1 reply; 9+ messages in thread
From: Rusty Russell @ 2013-05-06  5:29 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: James Hogan, torvalds, linux-kernel, Al Viro, Mike Frysinger,
	uclinux-dist-devel

Stephen Rothwell <sfr@canb.auug.org.au> writes:
> Version from today's merge fix.  Rusty, you should show this to Linus
> when you ask him to merge your modules tree (assuming it looks right :-)).
>
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Thu, 14 Mar 2013 17:14:41 +1100
> Subject: [PATCH] cond_syscall and SYSCALL_ALIAS merge fixup
>
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>

I ended up with something similar, except I didn't remove
linux/stringify.h from the includes.

Thanks!
Rusty.

> ---
>  include/linux/linkage.h |   17 ++++++-----------
>  1 file changed, 6 insertions(+), 11 deletions(-)
>
> diff --git a/include/linux/linkage.h b/include/linux/linkage.h
> index de09dec..bedcddf 100644
> --- a/include/linux/linkage.h
> +++ b/include/linux/linkage.h
> @@ -2,7 +2,7 @@
>  #define _LINUX_LINKAGE_H
>  
>  #include <linux/compiler.h>
> -#include <linux/stringify.h>
> +#include <linux/export.h>
>  #include <asm/linkage.h>
>  
>  #ifdef __cplusplus
> @@ -15,21 +15,16 @@
>  #define asmlinkage CPP_ASMLINKAGE
>  #endif
>  
> -#ifdef CONFIG_SYMBOL_PREFIX
> -#define __SYMBOL_NAME(x) CONFIG_SYMBOL_PREFIX __stringify(x)
> -#else
> -#define __SYMBOL_NAME(x) __stringify(x)
> -#endif
> -
>  #ifndef cond_syscall
> -#define cond_syscall(x) asm(".weak\t" __SYMBOL_NAME(x) \
> -	"\n\t.set\t" __SYMBOL_NAME(x) "," __SYMBOL_NAME(sys_ni_syscall));
> +#define cond_syscall(x) asm(".weak\t" VMLINUX_SYMBOL_STR(x) "\n\t"	\
> +			    ".set\t" VMLINUX_SYMBOL_STR(x) ","	\
> +			    VMLINUX_SYMBOL_STR(sys_ni_syscall))
>  #endif
>  
>  #ifndef SYSCALL_ALIAS
>  #define SYSCALL_ALIAS(alias, name)				\
> -	asm ("\t.globl " __SYMBOL_NAME(alias)			\
> -	"\n\t.set\t" __SYMBOL_NAME(alias) "," __SYMBOL_NAME(name))
> +	asm ("\t.globl " VMLINUX_SYMBOL_STR(alias)			\
> +	"\n\t.set\t" VMLINUX_SYMBOL_STR(alias) "," VMLINUX_SYMBOL_STR(name))
>  #endif
>  
>  #define __page_aligned_data	__section(.data..page_aligned) __aligned(PAGE_SIZE)
>
> -- 
> Cheers,
> Stephen Rothwell                    sfr@canb.auug.org.au

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] linkage.h: fix build breakage due to symbol prefix handling
  2013-05-06  5:29       ` Rusty Russell
@ 2013-05-08  1:10         ` Stephen Rothwell
  0 siblings, 0 replies; 9+ messages in thread
From: Stephen Rothwell @ 2013-05-08  1:10 UTC (permalink / raw)
  To: Rusty Russell
  Cc: James Hogan, torvalds, linux-kernel, Al Viro, Mike Frysinger,
	uclinux-dist-devel

[-- Attachment #1: Type: text/plain, Size: 908 bytes --]

Hi Rusty,

On Mon, 06 May 2013 14:59:05 +0930 Rusty Russell <rusty@rustcorp.com.au> wrote:
>
> Stephen Rothwell <sfr@canb.auug.org.au> writes:
> > Version from today's merge fix.  Rusty, you should show this to Linus
> > when you ask him to merge your modules tree (assuming it looks right :-)).
> >
> > From: Stephen Rothwell <sfr@canb.auug.org.au>
> > Date: Thu, 14 Mar 2013 17:14:41 +1100
> > Subject: [PATCH] cond_syscall and SYSCALL_ALIAS merge fixup
> >
> > Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> 
> I ended up with something similar, except I didn't remove
> linux/stringify.h from the includes.

Well, the stringify include was only added in Al's patch during this
merge window, so it should be perfectly safe to remove again (now that
all the "stringify" calls have been removed again).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2013-05-08  1:10 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-05-01 21:04 [PATCH] linkage.h: fix build breakage due to symbol prefix handling James Hogan
2013-05-01 21:43 ` Al Viro
2013-05-01 22:12   ` James Hogan
2013-05-02  3:42   ` Al Viro
2013-05-02  0:28 ` Rusty Russell
2013-05-02  3:37   ` Stephen Rothwell
2013-05-02  5:30     ` Stephen Rothwell
2013-05-06  5:29       ` Rusty Russell
2013-05-08  1:10         ` Stephen Rothwell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.