Re: Portable assmbler code - newline

From: Chen Gang
Date: Sun Oct 27 2013 - 09:58:51 EST


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@xxxxxxxxxxxxxxx
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
>
> Thanks.
>


--
Chen Gang
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/