[PATCH] xen/build: Fix dependency for the MAP rule

Andrew Cooper posted 1 patch 2 years ago
Test gitlab-ci failed
Patches applied successfully (tree, apply log)
git fetch https://gitlab.com/xen-project/patchew/xen tags/patchew/20220414162348.4808-1-andrew.cooper3@citrix.com
There is a newer version of this series
xen/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] xen/build: Fix dependency for the MAP rule
Posted by Andrew Cooper 2 years ago
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
CC: Anthony PERARD <anthony.perard@citrix.com>
---
 xen/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/Makefile b/xen/Makefile
index dd05672ff42d..02a274f56dc0 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -599,7 +599,7 @@ cscope:
 	cscope -k -b -q
 
 .PHONY: _MAP
-_MAP:
+_MAP: $(TARGET)-syms
 	$(NM) -n $(TARGET)-syms | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' > System.map
 
 %.o %.i %.s: %.c tools_fixdep FORCE
-- 
2.11.0


Re: [PATCH] xen/build: Fix dependency for the MAP rule
Posted by Anthony PERARD 2 years ago
On Thu, Apr 14, 2022 at 05:23:48PM +0100, Andrew Cooper wrote:
> diff --git a/xen/Makefile b/xen/Makefile
> index dd05672ff42d..02a274f56dc0 100644
> --- a/xen/Makefile
> +++ b/xen/Makefile
> @@ -599,7 +599,7 @@ cscope:
>  	cscope -k -b -q
>  
>  .PHONY: _MAP
> -_MAP:
> +_MAP: $(TARGET)-syms

That's not going to work well as make isn't going to know how to build
$(TARGET)-syms. I guess you want to have $(TARGET) as prerequisite or
add somewhere "$(TARGET)-syms: $(TARGET)".

>  	$(NM) -n $(TARGET)-syms | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' > System.map
>  
>  %.o %.i %.s: %.c tools_fixdep FORCE

Thanks,

-- 
Anthony PERARD
Re: [PATCH] xen/build: Fix dependency for the MAP rule
Posted by Andrew Cooper 2 years ago
On 14/04/2022 18:49, Anthony PERARD wrote:
> On Thu, Apr 14, 2022 at 05:23:48PM +0100, Andrew Cooper wrote:
>> diff --git a/xen/Makefile b/xen/Makefile
>> index dd05672ff42d..02a274f56dc0 100644
>> --- a/xen/Makefile
>> +++ b/xen/Makefile
>> @@ -599,7 +599,7 @@ cscope:
>>  	cscope -k -b -q
>>  
>>  .PHONY: _MAP
>> -_MAP:
>> +_MAP: $(TARGET)-syms
> That's not going to work well as make isn't going to know how to build
> $(TARGET)-syms.

Huh... It appears to work for me, but it's parallel build so who knows.

>  I guess you want to have $(TARGET) as prerequisite or
> add somewhere "$(TARGET)-syms: $(TARGET)".

That becomes cyclic with arch/*/Makefile which has:

$(TARGET): $(TARGET)-syms

The _install rule does make the implication that a dependency on
$(TARGET) builds $(TARGET)-syms so I guess that's good enough for _MAP too.

~Andrew
[PATCH v2] xen/build: Fix dependency for the MAP rule
Posted by Andrew Cooper 2 years ago
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
CC: Anthony PERARD <anthony.perard@citrix.com>

v2:
 * Use $(TARGET) not $(TARGET)-syms
---
 xen/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/Makefile b/xen/Makefile
index dd05672ff42d..3a4e3bdd0f95 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -599,7 +599,7 @@ cscope:
 	cscope -k -b -q
 
 .PHONY: _MAP
-_MAP:
+_MAP: $(TARGET)
 	$(NM) -n $(TARGET)-syms | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' > System.map
 
 %.o %.i %.s: %.c tools_fixdep FORCE
-- 
2.11.0


Re: [PATCH v2] xen/build: Fix dependency for the MAP rule
Posted by Jan Beulich 2 years ago
On 14.04.2022 20:35, Andrew Cooper wrote:
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>

Needless to say that the generated System.map may not represent reality
if xen.efi is what is in actual use.

Jan