diff mbox

arm/rpc: avoid static keyword removal via define

Message ID 1418633287-5019-2-git-send-email-borntraeger@de.ibm.com (mailing list archive)
State New, archived
Headers show

Commit Message

Christian Borntraeger Dec. 15, 2014, 8:48 a.m. UTC
commit 4486b86368d7 ("[ARM] riscpc: fix decompressor font file handling")
introduced Makefile magic to avoid building a file two times. Using
-Dstatic= does break some assumptions on compiler.h that were introduced
for READ_ONCE.

Lets just use sed on the copy instead of using a define.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: Russell King <linux@arm.linux.org.uk>
---
 arch/arm/boot/compressed/Makefile | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Christian Borntraeger Dec. 16, 2014, 11:15 a.m. UTC | #1
Am 15.12.2014 um 09:48 schrieb Christian Borntraeger:
> commit 4486b86368d7 ("[ARM] riscpc: fix decompressor font file handling")
> introduced Makefile magic to avoid building a file two times. Using
> -Dstatic= does break some assumptions on compiler.h that were introduced
> for READ_ONCE.
> 
> Lets just use sed on the copy instead of using a define.
> 
> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> Cc: Russell King <linux@arm.linux.org.uk>

This fixed the linux-next build http://kisskb.ellerman.id.au/kisskb/target/1508/
Unless anybody complains, I will send the pull request for the access_once tree tomorrow and I have this patch applied on top.

Christian


> ---
>  arch/arm/boot/compressed/Makefile | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile
> index 3ea230a..198f12a 100644
> --- a/arch/arm/boot/compressed/Makefile
> +++ b/arch/arm/boot/compressed/Makefile
> @@ -196,10 +196,11 @@ $(obj)/piggy.$(suffix_y): $(obj)/../Image FORCE
> 
>  $(obj)/piggy.$(suffix_y).o:  $(obj)/piggy.$(suffix_y) FORCE
> 
> -CFLAGS_font.o := -Dstatic=
> -
> +# use the font from lib/fonts/. We have to make the font global,
> +# for the decompressor so lets remove the static declaration
>  $(obj)/font.c: $(FONTC)
>  	$(call cmd,shipped)
> +	sed -i s/static//g $@
> 
>  $(obj)/hyp-stub.S: $(srctree)/arch/$(SRCARCH)/kernel/hyp-stub.S
>  	$(call cmd,shipped)
>
Russell King - ARM Linux Dec. 16, 2014, 11:40 a.m. UTC | #2
On Tue, Dec 16, 2014 at 12:15:54PM +0100, Christian Borntraeger wrote:
> Am 15.12.2014 um 09:48 schrieb Christian Borntraeger:
> > commit 4486b86368d7 ("[ARM] riscpc: fix decompressor font file handling")
> > introduced Makefile magic to avoid building a file two times. Using
> > -Dstatic= does break some assumptions on compiler.h that were introduced
> > for READ_ONCE.
> > 
> > Lets just use sed on the copy instead of using a define.
> > 
> > Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> > Cc: Russell King <linux@arm.linux.org.uk>
> 
> This fixed the linux-next build http://kisskb.ellerman.id.au/kisskb/target/1508/
> Unless anybody complains, I will send the pull request for the access_once tree tomorrow and I have this patch applied on top.

Please give me some time to look at this.
Christian Borntraeger Dec. 17, 2014, 2:20 p.m. UTC | #3
Am 16.12.2014 um 12:40 schrieb Russell King - ARM Linux:
> On Tue, Dec 16, 2014 at 12:15:54PM +0100, Christian Borntraeger wrote:
>> Am 15.12.2014 um 09:48 schrieb Christian Borntraeger:
>>> commit 4486b86368d7 ("[ARM] riscpc: fix decompressor font file handling")
>>> introduced Makefile magic to avoid building a file two times. Using
>>> -Dstatic= does break some assumptions on compiler.h that were introduced
>>> for READ_ONCE.
>>>
>>> Lets just use sed on the copy instead of using a define.
>>>
>>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>>> Cc: Russell King <linux@arm.linux.org.uk>
>>
>> This fixed the linux-next build http://kisskb.ellerman.id.au/kisskb/target/1508/
>> Unless anybody complains, I will send the pull request for the access_once tree tomorrow and I have this patch applied on top.
> 
> Please give me some time to look at this.

From all builds, the only problematic case was the rpc_defconfig.
As I said, I want to send this series this merge window, so if you dont find the time to look into this before rc1, I can remove this patch from my queue and we solve this later?

Christian
Christian Borntraeger Dec. 17, 2014, 3:29 p.m. UTC | #4
Am 16.12.2014 um 12:40 schrieb Russell King - ARM Linux:
> On Tue, Dec 16, 2014 at 12:15:54PM +0100, Christian Borntraeger wrote:
>> Am 15.12.2014 um 09:48 schrieb Christian Borntraeger:
>>> commit 4486b86368d7 ("[ARM] riscpc: fix decompressor font file handling")
>>> introduced Makefile magic to avoid building a file two times. Using
>>> -Dstatic= does break some assumptions on compiler.h that were introduced
>>> for READ_ONCE.
>>>
>>> Lets just use sed on the copy instead of using a define.
>>>
>>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>>> Cc: Russell King <linux@arm.linux.org.uk>
>>
>> This fixed the linux-next build http://kisskb.ellerman.id.au/kisskb/target/1508/
>> Unless anybody complains, I will send the pull request for the access_once tree tomorrow and I have this patch applied on top.
> 
> Please give me some time to look at this.

From all builds, the only problematic case was the rpc_defconfig.
So only CONFIG_ARCH_ACORN is affected.

As I said, I want to send this series this merge window, so if you
do not find the time to look into this before rc1, what about removing
this patch from my queue and we solve this later? 
Acorn Risc CPU is probably not the hottest platform right now, so if we 
fix this in rc2 or rc3 this might be ok - I guess.

Christian
Russell King - ARM Linux Dec. 17, 2014, 4:54 p.m. UTC | #5
On Wed, Dec 17, 2014 at 04:29:46PM +0100, Christian Borntraeger wrote:
> Am 16.12.2014 um 12:40 schrieb Russell King - ARM Linux:
> > On Tue, Dec 16, 2014 at 12:15:54PM +0100, Christian Borntraeger wrote:
> >> Am 15.12.2014 um 09:48 schrieb Christian Borntraeger:
> >>> commit 4486b86368d7 ("[ARM] riscpc: fix decompressor font file handling")
> >>> introduced Makefile magic to avoid building a file two times. Using
> >>> -Dstatic= does break some assumptions on compiler.h that were introduced
> >>> for READ_ONCE.
> >>>
> >>> Lets just use sed on the copy instead of using a define.
> >>>
> >>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> >>> Cc: Russell King <linux@arm.linux.org.uk>
> >>
> >> This fixed the linux-next build http://kisskb.ellerman.id.au/kisskb/target/1508/
> >> Unless anybody complains, I will send the pull request for the access_once tree tomorrow and I have this patch applied on top.
> > 
> > Please give me some time to look at this.
> 
> >From all builds, the only problematic case was the rpc_defconfig.
> So only CONFIG_ARCH_ACORN is affected.
> 
> As I said, I want to send this series this merge window, so if you
> do not find the time to look into this before rc1, what about removing
> this patch from my queue and we solve this later? 
> Acorn Risc CPU is probably not the hottest platform right now, so if we 
> fix this in rc2 or rc3 this might be ok - I guess.

How does compiler.h get included when building font.o?

Since I haven't seen your patch series, I guess it gets included somehow
via linux/types.h ?
Christian Borntraeger Dec. 17, 2014, 7:45 p.m. UTC | #6
Am 17.12.2014 um 17:54 schrieb Russell King - ARM Linux:
> On Wed, Dec 17, 2014 at 04:29:46PM +0100, Christian Borntraeger wrote:
>> Am 16.12.2014 um 12:40 schrieb Russell King - ARM Linux:
>>> On Tue, Dec 16, 2014 at 12:15:54PM +0100, Christian Borntraeger wrote:
>>>> Am 15.12.2014 um 09:48 schrieb Christian Borntraeger:
>>>>> commit 4486b86368d7 ("[ARM] riscpc: fix decompressor font file handling")
>>>>> introduced Makefile magic to avoid building a file two times. Using
>>>>> -Dstatic= does break some assumptions on compiler.h that were introduced
>>>>> for READ_ONCE.
>>>>>
>>>>> Lets just use sed on the copy instead of using a define.
>>>>>
>>>>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>>>>> Cc: Russell King <linux@arm.linux.org.uk>
>>>>
>>>> This fixed the linux-next build http://kisskb.ellerman.id.au/kisskb/target/1508/
>>>> Unless anybody complains, I will send the pull request for the access_once tree tomorrow and I have this patch applied on top.
>>>
>>> Please give me some time to look at this.
>>
>> >From all builds, the only problematic case was the rpc_defconfig.
>> So only CONFIG_ARCH_ACORN is affected.
>>
>> As I said, I want to send this series this merge window, so if you
>> do not find the time to look into this before rc1, what about removing
>> this patch from my queue and we solve this later? 
>> Acorn Risc CPU is probably not the hottest platform right now, so if we 
>> fix this in rc2 or rc3 this might be ok - I guess.
> 
> How does compiler.h get included when building font.o?
> 
> Since I haven't seen your patch series, I guess it gets included somehow
> via linux/types.h ?
> 

The patch series can be found here
https://lkml.org/lkml/2014/12/11/209
or
https://git.kernel.org/cgit/linux/kernel/git/borntraeger/linux.git/commit/?h=linux-next


font.i has

[..]
# 5 "./arch/arm/include/asm/types.h" 2
# 5 "include/uapi/linux/types.h" 2
# 13 "include/uapi/linux/types.h"
# 1 "./include/uapi/linux/posix_types.h" 1

# 1 "include/linux/stddef.h" 1

# 1 "include/uapi/linux/stddef.h" 1
# 1 "include/linux/compiler.h" 1
# 54 "include/linux/compiler.h"
# 1 "include/linux/compiler-gcc.h" 1
# 106 "include/linux/compiler-gcc.h"
# 1 "include/linux/compiler-gcc4.h" 1
# 107 "include/linux/compiler-gcc.h" 2
# 55 "include/linux/compiler.h" 2
# 79 "include/linux/compiler.h"
[..]

But I fail to follow that chain when I walk manually. Maybe its too late in the evening.

Christian
Christian Borntraeger Dec. 18, 2014, 9:34 a.m. UTC | #7
Am 17.12.2014 um 17:54 schrieb Russell King - ARM Linux:
> On Wed, Dec 17, 2014 at 04:29:46PM +0100, Christian Borntraeger wrote:
>> Am 16.12.2014 um 12:40 schrieb Russell King - ARM Linux:
>>> On Tue, Dec 16, 2014 at 12:15:54PM +0100, Christian Borntraeger wrote:
>>>> Am 15.12.2014 um 09:48 schrieb Christian Borntraeger:
>>>>> commit 4486b86368d7 ("[ARM] riscpc: fix decompressor font file handling")
>>>>> introduced Makefile magic to avoid building a file two times. Using
>>>>> -Dstatic= does break some assumptions on compiler.h that were introduced
>>>>> for READ_ONCE.
>>>>>
>>>>> Lets just use sed on the copy instead of using a define.
>>>>>
>>>>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>>>>> Cc: Russell King <linux@arm.linux.org.uk>
>>>>
>>>> This fixed the linux-next build http://kisskb.ellerman.id.au/kisskb/target/1508/
>>>> Unless anybody complains, I will send the pull request for the access_once tree tomorrow and I have this patch applied on top.
>>>
>>> Please give me some time to look at this.
>>
>> >From all builds, the only problematic case was the rpc_defconfig.
>> So only CONFIG_ARCH_ACORN is affected.
>>
>> As I said, I want to send this series this merge window, so if you
>> do not find the time to look into this before rc1, what about removing
>> this patch from my queue and we solve this later? 
>> Acorn Risc CPU is probably not the hottest platform right now, so if we 
>> fix this in rc2 or rc3 this might be ok - I guess.
> 
> How does compiler.h get included when building font.o?
> 
> Since I haven't seen your patch series, I guess it gets included somehow
> via linux/types.h ?

Good news.
I found a way to fix this in my code by moving the empty debug function as a static inline function into compiler.h itself. No need to change arm code.

Christian
diff mbox

Patch

diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile
index 3ea230a..198f12a 100644
--- a/arch/arm/boot/compressed/Makefile
+++ b/arch/arm/boot/compressed/Makefile
@@ -196,10 +196,11 @@  $(obj)/piggy.$(suffix_y): $(obj)/../Image FORCE
 
 $(obj)/piggy.$(suffix_y).o:  $(obj)/piggy.$(suffix_y) FORCE
 
-CFLAGS_font.o := -Dstatic=
-
+# use the font from lib/fonts/. We have to make the font global,
+# for the decompressor so lets remove the static declaration
 $(obj)/font.c: $(FONTC)
 	$(call cmd,shipped)
+	sed -i s/static//g $@
 
 $(obj)/hyp-stub.S: $(srctree)/arch/$(SRCARCH)/kernel/hyp-stub.S
 	$(call cmd,shipped)