2018-04-06 13:02:42

by Anders Roxell

[permalink] [raw]
Subject: [PATCH] drivers/memory: can't open emif-asm-offsets.s for writing

Build failes due to that the directory isn't created before we execute
the build rule.
cc1: fatal error: can’t open ‘drivers/memory/emif-asm-offsets.s’ for
writing: No such file or directory compilation terminated.
drivers/memory/Makefile.asm-offsets:2: recipe for target 'drivers/memory/emif-asm-offsets.s' failed
make[2]: *** [drivers/memory/emif-asm-offsets.s] Error 1
Makefile:1060: recipe for target
'arch/arm/mach-omap2' failed
make[1]: *** [arch/arm/mach-omap2] Error 2
make[1]: *** Waiting for unfinished jobs....

Current code adds a file check before checking the dependency, in
filechk it does mkdir -p $(dir $@).

Fixes: 41d9d44d7258 ("ARM: OMAP2+: pm33xx-core: Add platform code needed for PM")
Signed-off-by: Anders Roxell <[email protected]>
---
drivers/memory/Makefile.asm-offsets | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/memory/Makefile.asm-offsets b/drivers/memory/Makefile.asm-offsets
index 843ff60ccb5a..70d44a9ed32a 100644
--- a/drivers/memory/Makefile.asm-offsets
+++ b/drivers/memory/Makefile.asm-offsets
@@ -1,4 +1,5 @@
drivers/memory/emif-asm-offsets.s: drivers/memory/emif-asm-offsets.c
+ $(call filechk,$@)
$(call if_changed_dep,cc_s_c)

include/generated/ti-emif-asm-offsets.h: drivers/memory/emif-asm-offsets.s FORCE
--
2.16.3



2018-04-06 16:33:24

by Santosh Shilimkar

[permalink] [raw]
Subject: Re: [PATCH] drivers/memory: can't open emif-asm-offsets.s for writing

On 4/6/2018 6:00 AM, Anders Roxell wrote:
> Build failes due to that the directory isn't created before we execute
> the build rule.
> cc1: fatal error: can’t open ‘drivers/memory/emif-asm-offsets.s’ for
> writing: No such file or directory compilation terminated.
> drivers/memory/Makefile.asm-offsets:2: recipe for target 'drivers/memory/emif-asm-offsets.s' failed
> make[2]: *** [drivers/memory/emif-asm-offsets.s] Error 1
> Makefile:1060: recipe for target
> 'arch/arm/mach-omap2' failed
> make[1]: *** [arch/arm/mach-omap2] Error 2
> make[1]: *** Waiting for unfinished jobs....
>
> Current code adds a file check before checking the dependency, in
> filechk it does mkdir -p $(dir $@).
>
> Fixes: 41d9d44d7258 ("ARM: OMAP2+: pm33xx-core: Add platform code needed for PM")
> Signed-off-by: Anders Roxell <[email protected]>
> ---
Acked-by: Santosh Shilimkar <[email protected]>

2018-04-07 02:46:09

by Masahiro Yamada

[permalink] [raw]
Subject: Re: [PATCH] drivers/memory: can't open emif-asm-offsets.s for writing

2018-04-06 22:00 GMT+09:00 Anders Roxell <[email protected]>:
> Build failes due to that the directory isn't created before we execute
> the build rule.
> cc1: fatal error: can’t open ‘drivers/memory/emif-asm-offsets.s’ for
> writing: No such file or directory compilation terminated.
> drivers/memory/Makefile.asm-offsets:2: recipe for target 'drivers/memory/emif-asm-offsets.s' failed
> make[2]: *** [drivers/memory/emif-asm-offsets.s] Error 1
> Makefile:1060: recipe for target
> 'arch/arm/mach-omap2' failed
> make[1]: *** [arch/arm/mach-omap2] Error 2
> make[1]: *** Waiting for unfinished jobs....
>
> Current code adds a file check before checking the dependency, in
> filechk it does mkdir -p $(dir $@).
>
> Fixes: 41d9d44d7258 ("ARM: OMAP2+: pm33xx-core: Add platform code needed for PM")
> Signed-off-by: Anders Roxell <[email protected]>
> ---
> drivers/memory/Makefile.asm-offsets | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/memory/Makefile.asm-offsets b/drivers/memory/Makefile.asm-offsets
> index 843ff60ccb5a..70d44a9ed32a 100644
> --- a/drivers/memory/Makefile.asm-offsets
> +++ b/drivers/memory/Makefile.asm-offsets
> @@ -1,4 +1,5 @@
> drivers/memory/emif-asm-offsets.s: drivers/memory/emif-asm-offsets.c
> + $(call filechk,$@)
> $(call if_changed_dep,cc_s_c)
>
> include/generated/ti-emif-asm-offsets.h: drivers/memory/emif-asm-offsets.s FORCE
> --
> 2.16.3


Why filechk just for creating a directory?


$(Q)mkdir $(dir $@)

is enough, but still this is a bad fix.


Generating the same object from different directories
is fragile in parallel building.




--
Best Regards
Masahiro Yamada