* Portable assmbler code - newline (was Re: [PATCH] kernel/modsign_certificate.S: use real contents instead of macro GLOBAL())
[not found] ` <CAFLxGvzERDqwZhb_5d=bXKmqz6-Yrema_TLMTM7rjyeFeDJG_w@mail.gmail.com>
@ 2013-10-24 17:28 ` Vineet Gupta
2013-10-24 19:41 ` Geert Uytterhoeven
0 siblings, 1 reply; 7+ messages in thread
From: Vineet Gupta @ 2013-10-24 17:28 UTC (permalink / raw)
To: Richard Weinberger, Chen Gang
Cc: Joern Rennecke, James Hogan, Rusty Russell, Takashi Iwai,
Vineet Gupta, jeremy.bennett@embecosm.com,
linux-kernel@vger.kernel.org, Claudiu Zissulescu, Francois Bedard,
Sam Ravnborg, Joe Perches, linux-arch@vger.kernel.org
+CC linux-arch
On 10/24/2013 11:33 AM, Richard Weinberger wrote:
> On Thu, Oct 24, 2013 at 7:31 AM, Chen Gang <gang.chen@asianux.com> wrote:
>> > For some architectures, tool chain is not smart enough to recognize the
>> > macro with multiple lines (e.g. arc tool chain), and for common ".S"
>> > file, this kind of macro is also rarely used.
> Does not "not smart enough" mean than the said toolchain is broken/buggy
> or is the kernel using an unsupported notation?
>
IMHO this is not broken - rather the code is not fully portable - given that gas
ports of arches have differnet notions of what to treat as comment and what newline.
Looking as binutils/gas/config, I can see that avr, cris,...are likely broken in
the same way as ARC is.
Historically ARC has had ';' as comment char, which Joern relatively recently
augmented to have '#' as well. However there's legacy codebase which relies on ';'
being a comment and we can't change that fact.
So can we introduce an ARCH over-ridable newline annotation in linkage.h and other
places after auditing. Since asm/linkage.h preempts linux/linkage.h by way of
#include it shd be pretty strightforward.
Something like below. I can send the formal patch if people think the approach is OK.
----------------->
diff --git a/include/linux/linkage.h b/include/linux/linkage.h
index d3e8ad23a8e0..4188c632f2b8 100644
--- a/include/linux/linkage.h
+++ b/include/linux/linkage.h
@@ -6,6 +6,10 @@
#include <linux/export.h>
#include <asm/linkage.h>
+#ifndef __ARCH_NL
+#define __ARCH_NL
+#endif
+
#ifdef __cplusplus
#define CPP_ASMLINKAGE extern "C"
#else
@@ -75,7 +79,7 @@
#ifndef ENTRY
#define ENTRY(name) \
- .globl name; \
+ .globl name; __ARCH_NL \
ALIGN; \
name:
#endif
@@ -83,7 +87,7 @@
#ifndef WEAK
#define WEAK(name) \
- .weak name; \
+ .weak name; __ARCH_NL \
name:
#endif
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: Portable assmbler code - newline (was Re: [PATCH] kernel/modsign_certificate.S: use real contents instead of macro GLOBAL())
2013-10-24 17:28 ` Portable assmbler code - newline (was Re: [PATCH] kernel/modsign_certificate.S: use real contents instead of macro GLOBAL()) Vineet Gupta
@ 2013-10-24 19:41 ` Geert Uytterhoeven
2013-10-25 5:10 ` Vineet Gupta
0 siblings, 1 reply; 7+ messages in thread
From: Geert Uytterhoeven @ 2013-10-24 19:41 UTC (permalink / raw)
To: Vineet Gupta
Cc: Richard Weinberger, Chen Gang, Joern Rennecke, James Hogan,
Rusty Russell, Takashi Iwai, Vineet Gupta,
jeremy.bennett@embecosm.com, linux-kernel@vger.kernel.org,
Claudiu Zissulescu, Francois Bedard, Sam Ravnborg, Joe Perches,
linux-arch@vger.kernel.org
On Thu, Oct 24, 2013 at 7:28 PM, Vineet Gupta <vineetg76@gmail.com> wrote:
> +CC linux-arch
>
> On 10/24/2013 11:33 AM, Richard Weinberger wrote:
>> On Thu, Oct 24, 2013 at 7:31 AM, Chen Gang <gang.chen@asianux.com> wrote:
>>> > For some architectures, tool chain is not smart enough to recognize the
>>> > macro with multiple lines (e.g. arc tool chain), and for common ".S"
>>> > file, this kind of macro is also rarely used.
>> Does not "not smart enough" mean than the said toolchain is broken/buggy
>> or is the kernel using an unsupported notation?
>>
>
> IMHO this is not broken - rather the code is not fully portable - given that gas
> ports of arches have differnet notions of what to treat as comment and what newline.
>
> Looking as binutils/gas/config, I can see that avr, cris,...are likely broken in
> the same way as ARC is.
>
> Historically ARC has had ';' as comment char, which Joern relatively recently
> augmented to have '#' as well. However there's legacy codebase which relies on ';'
> being a comment and we can't change that fact.
>
> So can we introduce an ARCH over-ridable newline annotation in linkage.h and other
> places after auditing. Since asm/linkage.h preempts linux/linkage.h by way of
> #include it shd be pretty strightforward.
>
> Something like below. I can send the formal patch if people think the approach is OK.
By what are you gonna override __ARCH_NL on ARC?
I'm afraid cpp will still turn it into a single line.
> ----------------->
> diff --git a/include/linux/linkage.h b/include/linux/linkage.h
> index d3e8ad23a8e0..4188c632f2b8 100644
> --- a/include/linux/linkage.h
> +++ b/include/linux/linkage.h
> @@ -6,6 +6,10 @@
> #include <linux/export.h>
> #include <asm/linkage.h>
>
> +#ifndef __ARCH_NL
> +#define __ARCH_NL
> +#endif
> +
> #ifdef __cplusplus
> #define CPP_ASMLINKAGE extern "C"
> #else
> @@ -75,7 +79,7 @@
>
> #ifndef ENTRY
> #define ENTRY(name) \
> - .globl name; \
> + .globl name; __ARCH_NL \
> ALIGN; \
> name:
> #endif
> @@ -83,7 +87,7 @@
>
> #ifndef WEAK
> #define WEAK(name) \
> - .weak name; \
> + .weak name; __ARCH_NL \
> name:
> #endif
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Portable assmbler code - newline (was Re: [PATCH] kernel/modsign_certificate.S: use real contents instead of macro GLOBAL())
2013-10-24 19:41 ` Geert Uytterhoeven
@ 2013-10-25 5:10 ` Vineet Gupta
2013-10-26 13:38 ` Chen Gang
0 siblings, 1 reply; 7+ messages in thread
From: Vineet Gupta @ 2013-10-25 5:10 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: Richard Weinberger, Chen Gang, Joern Rennecke, James Hogan,
Rusty Russell, Takashi Iwai, Vineet Gupta,
jeremy.bennett@embecosm.com, linux-kernel@vger.kernel.org,
Claudiu Zissulescu, Francois Bedard, Sam Ravnborg, Joe Perches,
linux-arch@vger.kernel.org
On 10/25/2013 01:11 AM, Geert Uytterhoeven wrote:
> On Thu, Oct 24, 2013 at 7:28 PM, Vineet Gupta <vineetg76@gmail.com> wrote:
>> > +CC linux-arch
>> >
>> > On 10/24/2013 11:33 AM, Richard Weinberger wrote:
>>> >> On Thu, Oct 24, 2013 at 7:31 AM, Chen Gang <gang.chen@asianux.com> wrote:
>>>>> >>> > For some architectures, tool chain is not smart enough to recognize the
>>>>> >>> > macro with multiple lines (e.g. arc tool chain), and for common ".S"
>>>>> >>> > file, this kind of macro is also rarely used.
>>> >> Does not "not smart enough" mean than the said toolchain is broken/buggy
>>> >> or is the kernel using an unsupported notation?
>>> >>
>> >
>> > IMHO this is not broken - rather the code is not fully portable - given that gas
>> > ports of arches have differnet notions of what to treat as comment and what newline.
>> >
>> > Looking as binutils/gas/config, I can see that avr, cris,...are likely broken in
>> > the same way as ARC is.
>> >
>> > Historically ARC has had ';' as comment char, which Joern relatively recently
>> > augmented to have '#' as well. However there's legacy codebase which relies on ';'
>> > being a comment and we can't change that fact.
>> >
>> > So can we introduce an ARCH over-ridable newline annotation in linkage.h and other
>> > places after auditing. Since asm/linkage.h preempts linux/linkage.h by way of
>> > #include it shd be pretty strightforward.
>> >
>> > Something like below. I can send the formal patch if people think the approach is OK.
> By what are you gonna override __ARCH_NL on ARC?
> I'm afraid cpp will still turn it into a single line.
>
Eh ! My untested patch was broken but not because of what you mentioned.
For ARC, the ; negating the newline annotation. So the following works (backquote
is new line for ARC)
diff --git a/arch/arc/include/asm/linkage.h b/arch/arc/include/asm/linkage.h
index 0283e9e44e0d..b3eea2999322 100644
--- a/arch/arc/include/asm/linkage.h
+++ b/arch/arc/include/asm/linkage.h
@@ -9,6 +9,8 @@
#ifndef __ASM_LINKAGE_H
#define __ASM_LINKAGE_H
+#define __ARCH_NL `
+
#ifdef __ASSEMBLY__
diff --git a/include/linux/linkage.h b/include/linux/linkage.h
index d3e8ad23a8e0..969e70ad231a 100644
--- a/include/linux/linkage.h
+++ b/include/linux/linkage.h
@@ -6,6 +6,10 @@
#include <linux/export.h>
#include <asm/linkage.h>
+#ifndef __ARCH_NL
+#define __ARCH_NL ;
+#endif
+
#ifdef __cplusplus
#define CPP_ASMLINKAGE extern "C"
#else
@@ -75,7 +79,7 @@
#ifndef ENTRY
#define ENTRY(name) \
- .globl name; \
+ .globl name __ARCH_NL \
ALIGN; \
name:
#endif
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: Portable assmbler code - newline (was Re: [PATCH] kernel/modsign_certificate.S: use real contents instead of macro GLOBAL())
2013-10-25 5:10 ` Vineet Gupta
@ 2013-10-26 13:38 ` Chen Gang
2013-10-27 7:28 ` Portable assmbler code - newline Vineet Gupta
0 siblings, 1 reply; 7+ messages in thread
From: Chen Gang @ 2013-10-26 13:38 UTC (permalink / raw)
To: Vineet Gupta
Cc: Geert Uytterhoeven, Richard Weinberger, Joern Rennecke,
James Hogan, Rusty Russell, Takashi Iwai, Vineet Gupta,
jeremy.bennett@embecosm.com, linux-kernel@vger.kernel.org,
Claudiu Zissulescu, Francois Bedard, Sam Ravnborg, Joe Perches,
linux-arch@vger.kernel.org
On 10/25/2013 01:10 PM, Vineet Gupta wrote:
> On 10/25/2013 01:11 AM, Geert Uytterhoeven wrote:
>> On Thu, Oct 24, 2013 at 7:28 PM, Vineet Gupta <vineetg76@gmail.com> wrote:
>>>> +CC linux-arch
>>>>
>>>> On 10/24/2013 11:33 AM, Richard Weinberger wrote:
>>>>>> On Thu, Oct 24, 2013 at 7:31 AM, Chen Gang <gang.chen@asianux.com> wrote:
>>>>>>>>>> For some architectures, tool chain is not smart enough to recognize the
>>>>>>>>>> macro with multiple lines (e.g. arc tool chain), and for common ".S"
>>>>>>>>>> file, this kind of macro is also rarely used.
>>>>>> Does not "not smart enough" mean than the said toolchain is broken/buggy
>>>>>> or is the kernel using an unsupported notation?
>>>>>>
>>>>
>>>> IMHO this is not broken - rather the code is not fully portable - given that gas
>>>> ports of arches have differnet notions of what to treat as comment and what newline.
>>>>
>>>> Looking as binutils/gas/config, I can see that avr, cris,...are likely broken in
>>>> the same way as ARC is.
>>>>
>>>> Historically ARC has had ';' as comment char, which Joern relatively recently
>>>> augmented to have '#' as well. However there's legacy codebase which relies on ';'
>>>> being a comment and we can't change that fact.
>>>>
>>>> So can we introduce an ARCH over-ridable newline annotation in linkage.h and other
>>>> places after auditing. Since asm/linkage.h preempts linux/linkage.h by way of
>>>> #include it shd be pretty strightforward.
>>>>
>>>> Something like below. I can send the formal patch if people think the approach is OK.
>> By what are you gonna override __ARCH_NL on ARC?
>> I'm afraid cpp will still turn it into a single line.
>>
>
> Eh ! My untested patch was broken but not because of what you mentioned.
>
> For ARC, the ; negating the newline annotation. So the following works (backquote
> is new line for ARC)
>
> diff --git a/arch/arc/include/asm/linkage.h b/arch/arc/include/asm/linkage.h
> index 0283e9e44e0d..b3eea2999322 100644
> --- a/arch/arc/include/asm/linkage.h
> +++ b/arch/arc/include/asm/linkage.h
> @@ -9,6 +9,8 @@
> #ifndef __ASM_LINKAGE_H
> #define __ASM_LINKAGE_H
>
> +#define __ARCH_NL `
> +
> #ifdef __ASSEMBLY__
>
>
> diff --git a/include/linux/linkage.h b/include/linux/linkage.h
> index d3e8ad23a8e0..969e70ad231a 100644
> --- a/include/linux/linkage.h
> +++ b/include/linux/linkage.h
> @@ -6,6 +6,10 @@
> #include <linux/export.h>
> #include <asm/linkage.h>
>
> +#ifndef __ARCH_NL
> +#define __ARCH_NL ;
> +#endif
> +
> #ifdef __cplusplus
> #define CPP_ASMLINKAGE extern "C"
> #else
> @@ -75,7 +79,7 @@
>
> #ifndef ENTRY
> #define ENTRY(name) \
> - .globl name; \
> + .globl name __ARCH_NL \
> ALIGN; \
Do we also need consider about "ALIGN;"?
> name:
> #endif
>
For next-20130927 tree, do we also need consider about WEAK, ENDPROC?
I am not quite sure about it, but I will try. Now, I am just analyzing
another issue -- maybe the last issue for allmodconfig under arc, which
may be related with this patch, the errors are:
1 Building modules, stage 2.
2 MODPOST 2994 modules
3 ERROR: "__st_r13_to_r20" [sound/usb/snd-usbmidi-lib.ko] undefined!
4 ERROR: "__ld_r13_to_r15" [sound/usb/snd-usbmidi-lib.ko] undefined!
5 ERROR: "__st_r13_to_r18" [sound/usb/snd-usbmidi-lib.ko] undefined!
6 ERROR: "__ld_r13_to_r14_ret" [sound/usb/snd-usbmidi-lib.ko] undefined!
7 ERROR: "__ld_r13_to_r22" [sound/usb/snd-usbmidi-lib.ko] undefined!
8 ERROR: "__ld_r13_to_r15_ret" [sound/usb/snd-usbmidi-lib.ko] undefined!
9 ERROR: "__ld_r13_to_r16" [sound/usb/snd-usbmidi-lib.ko] undefined!
10 ERROR: "__ld_r13_to_r18_ret" [sound/usb/snd-usbmidi-lib.ko] undefined!
11 ERROR: "__ld_r13_to_r24_ret" [sound/usb/snd-usbmidi-lib.ko] undefined!
...
...
28095 ERROR: "__st_r13_to_r17" [arch/arc/oprofile/oprofile.ko] undefined!
28096 ERROR: "__st_r13_to_r22" [arch/arc/oprofile/oprofile.ko] undefined!
28097 ERROR: "__ld_r13_to_r19_ret" [Documentation/filesystems/configfs/configfs_example_macros.ko] undefined!
28098 ERROR: "__st_r13_to_r19" [Documentation/filesystems/configfs/configfs_example_macros.ko] undefined!
28099 ERROR: "__ld_r13_to_r14_ret" [Documentation/filesystems/configfs/configfs_example_macros.ko] undefined!
28100 ERROR: "__ld_r13_to_r19_ret" [Documentation/filesystems/configfs/configfs_example_explicit.ko] undefined!
28101 ERROR: "__st_r13_to_r19" [Documentation/filesystems/configfs/configfs_example_explicit.ko] undefined!
28102 ERROR: "__ld_r13_to_r14_ret" [Documentation/filesystems/configfs/configfs_example_explicit.ko] undefined!
28103 ERROR: "__ld_r13_to_r14_ret" [Documentation/connector/cn_test.ko] undefined!
28104 make[1]: *** [__modpost] Error 1
28105 make: *** [modules] Error 2
Thanks.
--
Chen Gang
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Portable assmbler code - newline
2013-10-26 13:38 ` Chen Gang
@ 2013-10-27 7:28 ` Vineet Gupta
2013-10-27 12:34 ` Chen Gang
0 siblings, 1 reply; 7+ messages in thread
From: Vineet Gupta @ 2013-10-27 7:28 UTC (permalink / raw)
To: Chen Gang
Cc: Geert Uytterhoeven, Richard Weinberger, Joern Rennecke,
James Hogan, Rusty Russell, Takashi Iwai, Vineet Gupta,
jeremy.bennett@embecosm.com, linux-kernel@vger.kernel.org,
Claudiu Zissulescu, Francois Bedard, Sam Ravnborg, Joe Perches,
linux-arch@vger.kernel.org
On 10/26/2013 07:08 PM, Chen Gang wrote:
> On 10/25/2013 01:10 PM, Vineet Gupta wrote:
>> On 10/25/2013 01:11 AM, Geert Uytterhoeven wrote:
>>> On Thu, Oct 24, 2013 at 7:28 PM, Vineet Gupta <vineetg76@gmail.com> wrote:
>>>>> +CC linux-arch
>>>>>
>>>>> On 10/24/2013 11:33 AM, Richard Weinberger wrote:
>>>>>>> On Thu, Oct 24, 2013 at 7:31 AM, Chen Gang <gang.chen@asianux.com> wrote:
>>>>>>>>>>> For some architectures, tool chain is not smart enough to recognize the
>>>>>>>>>>> macro with multiple lines (e.g. arc tool chain), and for common ".S"
>>>>>>>>>>> file, this kind of macro is also rarely used.
>>>>>>> Does not "not smart enough" mean than the said toolchain is broken/buggy
>>>>>>> or is the kernel using an unsupported notation?
>>>>>>>
>>>>>
>>>>> IMHO this is not broken - rather the code is not fully portable - given that gas
>>>>> ports of arches have differnet notions of what to treat as comment and what newline.
>>>>>
>>>>> Looking as binutils/gas/config, I can see that avr, cris,...are likely broken in
>>>>> the same way as ARC is.
>>>>>
>>>>> Historically ARC has had ';' as comment char, which Joern relatively recently
>>>>> augmented to have '#' as well. However there's legacy codebase which relies on ';'
>>>>> being a comment and we can't change that fact.
>>>>>
>>>>> So can we introduce an ARCH over-ridable newline annotation in linkage.h and other
>>>>> places after auditing. Since asm/linkage.h preempts linux/linkage.h by way of
>>>>> #include it shd be pretty strightforward.
>>>>>
>>>>> Something like below. I can send the formal patch if people think the approach is OK.
>>> By what are you gonna override __ARCH_NL on ARC?
>>> I'm afraid cpp will still turn it into a single line.
>>>
>>
>> Eh ! My untested patch was broken but not because of what you mentioned.
>>
>> For ARC, the ; negating the newline annotation. So the following works (backquote
>> is new line for ARC)
>>
>> diff --git a/arch/arc/include/asm/linkage.h b/arch/arc/include/asm/linkage.h
>> index 0283e9e44e0d..b3eea2999322 100644
>> --- a/arch/arc/include/asm/linkage.h
>> +++ b/arch/arc/include/asm/linkage.h
>> @@ -9,6 +9,8 @@
>> #ifndef __ASM_LINKAGE_H
>> #define __ASM_LINKAGE_H
>>
>> +#define __ARCH_NL `
>> +
>> #ifdef __ASSEMBLY__
>>
>>
>> diff --git a/include/linux/linkage.h b/include/linux/linkage.h
>> index d3e8ad23a8e0..969e70ad231a 100644
>> --- a/include/linux/linkage.h
>> +++ b/include/linux/linkage.h
>> @@ -6,6 +6,10 @@
>> #include <linux/export.h>
>> #include <asm/linkage.h>
>>
>> +#ifndef __ARCH_NL
>> +#define __ARCH_NL ;
>> +#endif
>> +
>> #ifdef __cplusplus
>> #define CPP_ASMLINKAGE extern "C"
>> #else
>> @@ -75,7 +79,7 @@
>>
>> #ifndef ENTRY
>> #define ENTRY(name) \
>> - .globl name; \
>> + .globl name __ARCH_NL \
>> ALIGN; \
>
> Do we also need consider about "ALIGN;"?
Right - as I said already, above was not a formal patch but a RFC whether we are
on right track. The proper fix will have to audit all such places.
>> name:
>> #endif
>>
>
> For next-20130927 tree, do we also need consider about WEAK, ENDPROC?
Indeed.
> I am not quite sure about it, but I will try.
So you volunteer to send out a patch base don __ARCH_NL I proposed above ?
> Now, I am just analyzing
> another issue -- maybe the last issue for allmodconfig under arc, which
> may be related with this patch, the errors are:
>
> 1 Building modules, stage 2.
> 2 MODPOST 2994 modules
> 3 ERROR: "__st_r13_to_r20" [sound/usb/snd-usbmidi-lib.ko] undefined!
Yes we know about this already. This is to do with libgcc linkage. The fix is non
trivial - I'll get back to you on this. For now disable CONFIG_CC_OPTIMIZE_FOR_SIZE.
-Vineet
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Portable assmbler code - newline
2013-10-27 7:28 ` Portable assmbler code - newline Vineet Gupta
@ 2013-10-27 12:34 ` Chen Gang
2013-10-27 13:57 ` Chen Gang
0 siblings, 1 reply; 7+ messages in thread
From: Chen Gang @ 2013-10-27 12:34 UTC (permalink / raw)
To: Vineet Gupta
Cc: Geert Uytterhoeven, Richard Weinberger, Joern Rennecke,
James Hogan, Rusty Russell, Takashi Iwai, Vineet Gupta,
jeremy.bennett@embecosm.com, linux-kernel@vger.kernel.org,
Claudiu Zissulescu, Francois Bedard, Sam Ravnborg, Joe Perches,
linux-arch@vger.kernel.org
On 10/27/2013 03:28 PM, Vineet Gupta wrote:
> On 10/26/2013 07:08 PM, Chen Gang wrote:
>> On 10/25/2013 01:10 PM, Vineet Gupta wrote:
>>> Eh ! My untested patch was broken but not because of what you mentioned.
>>>
>>> For ARC, the ; negating the newline annotation. So the following works (backquote
>>> is new line for ARC)
>>>
>>> diff --git a/arch/arc/include/asm/linkage.h b/arch/arc/include/asm/linkage.h
>>> index 0283e9e44e0d..b3eea2999322 100644
>>> --- a/arch/arc/include/asm/linkage.h
>>> +++ b/arch/arc/include/asm/linkage.h
>>> @@ -9,6 +9,8 @@
>>> #ifndef __ASM_LINKAGE_H
>>> #define __ASM_LINKAGE_H
>>>
>>> +#define __ARCH_NL `
>>> +
>>> #ifdef __ASSEMBLY__
>>>
>>>
>>> diff --git a/include/linux/linkage.h b/include/linux/linkage.h
>>> index d3e8ad23a8e0..969e70ad231a 100644
>>> --- a/include/linux/linkage.h
>>> +++ b/include/linux/linkage.h
>>> @@ -6,6 +6,10 @@
>>> #include <linux/export.h>
>>> #include <asm/linkage.h>
>>>
>>> +#ifndef __ARCH_NL
>>> +#define __ARCH_NL ;
>>> +#endif
>>> +
>>> #ifdef __cplusplus
>>> #define CPP_ASMLINKAGE extern "C"
>>> #else
>>> @@ -75,7 +79,7 @@
>>>
>>> #ifndef ENTRY
>>> #define ENTRY(name) \
>>> - .globl name; \
>>> + .globl name __ARCH_NL \
>>> ALIGN; \
>>
>> Do we also need consider about "ALIGN;"?
>
> Right - as I said already, above was not a formal patch but a RFC whether we are
> on right track. The proper fix will have to audit all such places.
>
>
>>> name:
>>> #endif
>>>
>>
>> For next-20130927 tree, do we also need consider about WEAK, ENDPROC?
>
> Indeed.
>
>
>> I am not quite sure about it, but I will try.
>
> So you volunteer to send out a patch base don __ARCH_NL I proposed above ?
>
>
OK, I will/should try.
Hmm... I am 'almost' a volunteer: my company support what I have done
for Public Open Source, they treat it as important thing.
Now you are mainly focusing on arc, and I want/try to focus on kernel
wide. This patch belongs to kernel wide, and at least now, nobody
rejects me for it, so I will/should try.
>> Now, I am just analyzing
>> another issue -- maybe the last issue for allmodconfig under arc, which
>> may be related with this patch, the errors are:
>>
>> 1 Building modules, stage 2.
>> 2 MODPOST 2994 modules
>> 3 ERROR: "__st_r13_to_r20" [sound/usb/snd-usbmidi-lib.ko] undefined!
>
> Yes we know about this already. This is to do with libgcc linkage. The fix is non
> trivial - I'll get back to you on this. For now disable CONFIG_CC_OPTIMIZE_FOR_SIZE.
>
OK, thank you for your valuable information in time, at least, it saves
my time resources, after pass this issue, hope our arc can pass
allmodconfig.
:-)
> -Vineet
> --
> To unsubscribe from this list: send the line "unsubscribe linux-arch" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
Thanks.
--
Chen Gang
--
Chen Gang
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Portable assmbler code - newline
2013-10-27 12:34 ` Chen Gang
@ 2013-10-27 13:57 ` Chen Gang
0 siblings, 0 replies; 7+ messages in thread
From: Chen Gang @ 2013-10-27 13:57 UTC (permalink / raw)
To: Chen Gang
Cc: Vineet Gupta, Geert Uytterhoeven, Richard Weinberger,
Joern Rennecke, James Hogan, Rusty Russell, Takashi Iwai,
Vineet Gupta, jeremy.bennett@embecosm.com,
linux-kernel@vger.kernel.org, Claudiu Zissulescu, Francois Bedard,
Sam Ravnborg, Joe Perches, linux-arch@vger.kernel.org
On 10/27/2013 08:34 PM, Chen Gang wrote:
> On 10/27/2013 03:28 PM, Vineet Gupta wrote:
>> On 10/26/2013 07:08 PM, Chen Gang wrote:
>>> On 10/25/2013 01:10 PM, Vineet Gupta wrote:
>>>> Eh ! My untested patch was broken but not because of what you mentioned.
>>>>
>>>> For ARC, the ; negating the newline annotation. So the following works (backquote
>>>> is new line for ARC)
>>>>
>>>> diff --git a/arch/arc/include/asm/linkage.h b/arch/arc/include/asm/linkage.h
>>>> index 0283e9e44e0d..b3eea2999322 100644
>>>> --- a/arch/arc/include/asm/linkage.h
>>>> +++ b/arch/arc/include/asm/linkage.h
>>>> @@ -9,6 +9,8 @@
>>>> #ifndef __ASM_LINKAGE_H
>>>> #define __ASM_LINKAGE_H
>>>>
>>>> +#define __ARCH_NL `
>>>> +
>>>> #ifdef __ASSEMBLY__
>>>>
>>>>
>>>> diff --git a/include/linux/linkage.h b/include/linux/linkage.h
>>>> index d3e8ad23a8e0..969e70ad231a 100644
>>>> --- a/include/linux/linkage.h
>>>> +++ b/include/linux/linkage.h
>>>> @@ -6,6 +6,10 @@
>>>> #include <linux/export.h>
>>>> #include <asm/linkage.h>
>>>>
>>>> +#ifndef __ARCH_NL
>>>> +#define __ARCH_NL ;
>>>> +#endif
>>>> +
>>>> #ifdef __cplusplus
>>>> #define CPP_ASMLINKAGE extern "C"
>>>> #else
>>>> @@ -75,7 +79,7 @@
>>>>
>>>> #ifndef ENTRY
>>>> #define ENTRY(name) \
>>>> - .globl name; \
>>>> + .globl name __ARCH_NL \
>>>> ALIGN; \
>>>
>>> Do we also need consider about "ALIGN;"?
>>
>> Right - as I said already, above was not a formal patch but a RFC whether we are
>> on right track. The proper fix will have to audit all such places.
>>
>>
>>>> name:
>>>> #endif
>>>>
>>>
>>> For next-20130927 tree, do we also need consider about WEAK, ENDPROC?
>>
>> Indeed.
>>
>>
>>> I am not quite sure about it, but I will try.
>>
>> So you volunteer to send out a patch base don __ARCH_NL I proposed above ?
>>
>>
>
> OK, I will/should try.
>
> Hmm... I am 'almost' a volunteer: my company support what I have done
> for Public Open Source, they treat it as important thing.
>
> Now you are mainly focusing on arc, and I want/try to focus on kernel
> wide. This patch belongs to kernel wide, and at least now, nobody
> rejects me for it, so I will/should try.
>
>
>>> Now, I am just analyzing
>>> another issue -- maybe the last issue for allmodconfig under arc, which
>>> may be related with this patch, the errors are:
>>>
>>> 1 Building modules, stage 2.
>>> 2 MODPOST 2994 modules
>>> 3 ERROR: "__st_r13_to_r20" [sound/usb/snd-usbmidi-lib.ko] undefined!
>>
>> Yes we know about this already. This is to do with libgcc linkage. The fix is non
>> trivial - I'll get back to you on this. For now disable CONFIG_CC_OPTIMIZE_FOR_SIZE.
>>
>
> OK, thank you for your valuable information in time, at least, it saves
> my time resources, after pass this issue, hope our arc can pass
> allmodconfig.
>
> :-)
>
In "include/asm-generic/vmlinux.lds.h", I guess "*(...)" also can
express an individual line, is it generic enough to arc, too?
Thanks.
>> -Vineet
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-arch" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
>
> Thanks.
>
--
Chen Gang
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2013-10-27 13:58 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <523FD9E7.3050303@asianux.com>
[not found] ` <523FDBD7.4040602@asianux.com>
[not found] ` <C2D7FE5348E1B147BCA15975FBA2307514DED9@IN01WEMBXA.internal.synopsys.com>
[not found] ` <523FE578.5060801@asianux.com>
[not found] ` <52672DAC.1030307@asianux.com>
[not found] ` <CAMqJFCou4SObPni5Lb_tX=0hQ__kF_9MLDC-6a1opptc9dxT-A@mail.gmail.com>
[not found] ` <52673E41.6040606@asianux.com>
[not found] ` <5267AF98.1010800@asianux.com>
[not found] ` <5268B0B1.9050009@asianux.com>
[not found] ` <CAFLxGvzERDqwZhb_5d=bXKmqz6-Yrema_TLMTM7rjyeFeDJG_w@mail.gmail.com>
2013-10-24 17:28 ` Portable assmbler code - newline (was Re: [PATCH] kernel/modsign_certificate.S: use real contents instead of macro GLOBAL()) Vineet Gupta
2013-10-24 19:41 ` Geert Uytterhoeven
2013-10-25 5:10 ` Vineet Gupta
2013-10-26 13:38 ` Chen Gang
2013-10-27 7:28 ` Portable assmbler code - newline Vineet Gupta
2013-10-27 12:34 ` Chen Gang
2013-10-27 13:57 ` Chen Gang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).