[Xen-devel] [PATCH] xen/arm: Allow cleaning the directory even when CONFIG_EARLY_PRINTK is set

Julien Grall posted 1 patch 5 years ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/xen tags/patchew/20190422164106.20331-1-julien.grall@arm.com
xen/arch/arm/Makefile | 5 +++++
xen/arch/arm/Rules.mk | 7 -------
2 files changed, 5 insertions(+), 7 deletions(-)
[Xen-devel] [PATCH] xen/arm: Allow cleaning the directory even when CONFIG_EARLY_PRINTK is set
Posted by Julien Grall 5 years ago
CONFIG_EARLY_PRINTK can only be set when CONFIG_DEBUG is enabled. It can
be quite convenient to only modify the target.

However, the target clean will not include the .config. This means
CONFIG_DEBUG is not enabled and therefore make will throw an error
preventing clean to continue.

The check is not moved at linking time.

Signed-off-by: Julien Grall <julien.grall@arm.com>

---

This code is pretty nasty, but I haven't found a better way for avoiding
to check if CONFIG_DEBUG is enabled when the target clean is called.

Ideally we will want to move CONFIG_EARLY_PRINTK in Kconfig. I haven't
had time yet to look at it properly so far.
---
 xen/arch/arm/Makefile | 5 +++++
 xen/arch/arm/Rules.mk | 7 -------
 2 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index cb902cb6fe..fef508c836 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -101,6 +101,11 @@ prelink.o: $(ALL_OBJS)
 endif
 
 $(TARGET)-syms: prelink.o xen.lds
+ifneq ($(CONFIG_EARLY_PRINTK), )
+ifneq ($(CONFIG_DEBUG), y)
+	$(error CONFIG_EARLY_PRINTK enabled for non-debug build)
+endif
+endif
 	$(LD) $(LDFLAGS) -T xen.lds -N prelink.o \
 	    $(BASEDIR)/common/symbols-dummy.o -o $(@D)/.$(@F).0
 	$(NM) -pa --format=sysv $(@D)/.$(@F).0 \
diff --git a/xen/arch/arm/Rules.mk b/xen/arch/arm/Rules.mk
index f264592aef..12150986c5 100644
--- a/xen/arch/arm/Rules.mk
+++ b/xen/arch/arm/Rules.mk
@@ -80,11 +80,4 @@ CFLAGS-$(EARLY_PRINTK) += -DEARLY_PRINTK_BAUD=$(EARLY_PRINTK_BAUD)
 CFLAGS-$(EARLY_PRINTK) += -DEARLY_UART_BASE_ADDRESS=$(EARLY_UART_BASE_ADDRESS)
 CFLAGS-$(EARLY_PRINTK) += -DEARLY_UART_REG_SHIFT=$(EARLY_UART_REG_SHIFT)
 
-else # !CONFIG_DEBUG
-
-ifneq ($(CONFIG_EARLY_PRINTK),)
-# Early printk is dependant on a debug build.
-$(error CONFIG_EARLY_PRINTK enabled for non-debug build)
-endif
-
 endif
-- 
2.11.0


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
Re: [Xen-devel] [PATCH] xen/arm: Allow cleaning the directory even when CONFIG_EARLY_PRINTK is set
Posted by Stefano Stabellini 5 years ago
On Mon, 22 Apr 2019, Julien Grall wrote:
> CONFIG_EARLY_PRINTK can only be set when CONFIG_DEBUG is enabled. It can
> be quite convenient to only modify the target.
> 
> However, the target clean will not include the .config.
>
> This means CONFIG_DEBUG is not enabled and therefore make will throw
> an error preventing clean to continue.
> 
> The check is not moved at linking time.
               ^ now ?


> Signed-off-by: Julien Grall <julien.grall@arm.com>
> 
> ---
> 
> This code is pretty nasty, but I haven't found a better way for avoiding
> to check if CONFIG_DEBUG is enabled when the target clean is called.
> 
> Ideally we will want to move CONFIG_EARLY_PRINTK in Kconfig. I haven't
> had time yet to look at it properly so far.

Can we include .config in the clean target?


> ---
>  xen/arch/arm/Makefile | 5 +++++
>  xen/arch/arm/Rules.mk | 7 -------
>  2 files changed, 5 insertions(+), 7 deletions(-)
> 
> diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
> index cb902cb6fe..fef508c836 100644
> --- a/xen/arch/arm/Makefile
> +++ b/xen/arch/arm/Makefile
> @@ -101,6 +101,11 @@ prelink.o: $(ALL_OBJS)
>  endif
>  
>  $(TARGET)-syms: prelink.o xen.lds
> +ifneq ($(CONFIG_EARLY_PRINTK), )
> +ifneq ($(CONFIG_DEBUG), y)
> +	$(error CONFIG_EARLY_PRINTK enabled for non-debug build)
> +endif
> +endif
>  	$(LD) $(LDFLAGS) -T xen.lds -N prelink.o \
>  	    $(BASEDIR)/common/symbols-dummy.o -o $(@D)/.$(@F).0
>  	$(NM) -pa --format=sysv $(@D)/.$(@F).0 \
> diff --git a/xen/arch/arm/Rules.mk b/xen/arch/arm/Rules.mk
> index f264592aef..12150986c5 100644
> --- a/xen/arch/arm/Rules.mk
> +++ b/xen/arch/arm/Rules.mk
> @@ -80,11 +80,4 @@ CFLAGS-$(EARLY_PRINTK) += -DEARLY_PRINTK_BAUD=$(EARLY_PRINTK_BAUD)
>  CFLAGS-$(EARLY_PRINTK) += -DEARLY_UART_BASE_ADDRESS=$(EARLY_UART_BASE_ADDRESS)
>  CFLAGS-$(EARLY_PRINTK) += -DEARLY_UART_REG_SHIFT=$(EARLY_UART_REG_SHIFT)
>  
> -else # !CONFIG_DEBUG
> -
> -ifneq ($(CONFIG_EARLY_PRINTK),)
> -# Early printk is dependant on a debug build.
> -$(error CONFIG_EARLY_PRINTK enabled for non-debug build)
> -endif
> -
>  endif

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
Re: [Xen-devel] [PATCH] xen/arm: Allow cleaning the directory even when CONFIG_EARLY_PRINTK is set
Posted by Julien Grall 5 years ago
Hi,

On 24/04/2019 01:20, Stefano Stabellini wrote:
> On Mon, 22 Apr 2019, Julien Grall wrote:
>> CONFIG_EARLY_PRINTK can only be set when CONFIG_DEBUG is enabled. It can
>> be quite convenient to only modify the target.
>>
>> However, the target clean will not include the .config.
>>
>> This means CONFIG_DEBUG is not enabled and therefore make will throw
>> an error preventing clean to continue.
>>
>> The check is not moved at linking time.
>                 ^ now ?
> 
> 
>> Signed-off-by: Julien Grall <julien.grall@arm.com>
>>
>> ---
>>
>> This code is pretty nasty, but I haven't found a better way for avoiding
>> to check if CONFIG_DEBUG is enabled when the target clean is called.
>>
>> Ideally we will want to move CONFIG_EARLY_PRINTK in Kconfig. I haven't
>> had time yet to look at it properly so far.
> 
> Can we include .config in the clean target?
I did only mention the clean target in the commit message but the issue is the 
same for any target not include .config. For instance, a distclean results to 
the same error.

It also feels quite wrong to expect the .config to be in place for any target 
other than build.

Cheers,

-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
Re: [Xen-devel] [PATCH] xen/arm: Allow cleaning the directory even when CONFIG_EARLY_PRINTK is set
Posted by Jan Beulich 4 years, 11 months ago
>>> On 24.04.19 at 12:47, <julien.grall@arm.com> wrote:
> On 24/04/2019 01:20, Stefano Stabellini wrote:
>> On Mon, 22 Apr 2019, Julien Grall wrote:
>>> This code is pretty nasty, but I haven't found a better way for avoiding
>>> to check if CONFIG_DEBUG is enabled when the target clean is called.
>>>
>>> Ideally we will want to move CONFIG_EARLY_PRINTK in Kconfig. I haven't
>>> had time yet to look at it properly so far.

This, to me, would seem to be the much better approach, as it would
avoid replacing one nasty construct by another. Are there any
complications?

>> Can we include .config in the clean target?
> I did only mention the clean target in the commit message but the issue is the 
> same for any target not include .config. For instance, a distclean results to 
> the same error.
> 
> It also feels quite wrong to expect the .config to be in place for any target 
> other than build.

I agree.

Jan



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
Re: [Xen-devel] [PATCH] xen/arm: Allow cleaning the directory even when CONFIG_EARLY_PRINTK is set
Posted by Julien Grall 4 years, 11 months ago
Hi Jan,

Thank you for the feedback.

On 5/23/19 9:27 AM, Jan Beulich wrote:
>>>> On 24.04.19 at 12:47, <julien.grall@arm.com> wrote:
>> On 24/04/2019 01:20, Stefano Stabellini wrote:
>>> On Mon, 22 Apr 2019, Julien Grall wrote:
>>>> This code is pretty nasty, but I haven't found a better way for avoiding
>>>> to check if CONFIG_DEBUG is enabled when the target clean is called.
>>>>
>>>> Ideally we will want to move CONFIG_EARLY_PRINTK in Kconfig. I haven't
>>>> had time yet to look at it properly so far.
> 
> This, to me, would seem to be the much better approach, as it would
> avoid replacing one nasty construct by another. Are there any
> complications?

Last time I looked at moving earlyprintk to Kconfig I was struggling to 
find a good way describing them.

I guess I can have another look if I can manage to do it in a couple of 
hours.

This patch is more a way to paper the problem before causing more 
trouble when building using Yocto.

Cheers,

>>> Can we include .config in the clean target?
>> I did only mention the clean target in the commit message but the issue is the
>> same for any target not include .config. For instance, a distclean results to
>> the same error.
>>
>> It also feels quite wrong to expect the .config to be in place for any target
>> other than build.
> 
> I agree.
> 
> Jan
> 
> 

-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel