2019-07-12 10:18:16

by Naohiro Aota

[permalink] [raw]
Subject: [PATCH v2 2/2] arm64/vdso: fix flip/flop vdso build bug

Running "make" on an already compiled kernel tree will rebuild the kernel
even without any modifications:

$ make ARCH=arm64 CROSS_COMPILE=/usr/bin/aarch64-unknown-linux-gnu-
arch/arm64/Makefile:58: CROSS_COMPILE_COMPAT not defined or empty, the compat vDSO will not be built
CALL scripts/checksyscalls.sh
CALL scripts/atomic/check-atomics.sh
VDSOCHK arch/arm64/kernel/vdso/vdso.so.dbg
VDSOSYM include/generated/vdso-offsets.h
CHK include/generated/compile.h
CC arch/arm64/kernel/signal.o
CC arch/arm64/kernel/vdso.o
CC arch/arm64/kernel/signal32.o
LD arch/arm64/kernel/vdso/vdso.so.dbg
OBJCOPY arch/arm64/kernel/vdso/vdso.so
AS arch/arm64/kernel/vdso/vdso.o
AR arch/arm64/kernel/vdso/built-in.a
AR arch/arm64/kernel/built-in.a
GEN .version
CHK include/generated/compile.h
UPD include/generated/compile.h
CC init/version.o
AR init/built-in.a
LD vmlinux.o

This is the same bug fixed in commit 92a4728608a8 ("x86/boot: Fix
if_changed build flip/flop bug"). We cannot use two "if_changed" in one
target. Fix this build bug by merging two commands into one function.

Cc: Masahiro Yamada <[email protected]>
Fixes: 28b1a824a4f4 ("arm64: vdso: Substitute gettimeofday() with C implementation")
Signed-off-by: Naohiro Aota <[email protected]>
---
arch/arm64/kernel/vdso/Makefile | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/kernel/vdso/Makefile b/arch/arm64/kernel/vdso/Makefile
index 4ab863045188..068c614b1231 100644
--- a/arch/arm64/kernel/vdso/Makefile
+++ b/arch/arm64/kernel/vdso/Makefile
@@ -57,8 +57,7 @@ $(obj)/vdso.o : $(obj)/vdso.so

# Link rule for the .so file, .lds has to be first
$(obj)/vdso.so.dbg: $(obj)/vdso.lds $(obj-vdso) FORCE
- $(call if_changed,ld)
- $(call if_changed,vdso_check)
+ $(call if_changed,ld_and_vdso_check)

# Strip rule for the .so file
$(obj)/%.so: OBJCOPYFLAGS := -S
@@ -77,6 +76,9 @@ include/generated/vdso-offsets.h: $(obj)/vdso.so.dbg FORCE
quiet_cmd_vdsocc = VDSOCC $@
cmd_vdsocc = $(CC) $(a_flags) $(c_flags) -c -o $@ $<

+quiet_cmd_ld_and_vdso_check = LD $@
+ cmd_ld_and_vdso_check = $(cmd_ld); $(cmd_vdso_check)
+
# Install commands for the unstripped file
quiet_cmd_vdso_install = INSTALL $@
cmd_vdso_install = cp $(obj)/[email protected] $(MODLIB)/vdso/$@
--
2.22.0


2019-07-12 12:07:12

by Vincenzo Frascino

[permalink] [raw]
Subject: [PATCH] arm64: compat: Fix flip/flop vdso building bug

Running "make" on an already compiled kernel tree will rebuild the
vdso32 library even if this has not been modified.

$ make
GEN Makefile
Using linux as source for kernel
CALL linux/scripts/atomic/check-atomics.sh
CALL linux/scripts/checksyscalls.sh
VDSOCHK arch/arm64/kernel/vdso32/vdso.so.raw
VDSOSYM include/generated/vdso32-offsets.h
CHK include/generated/compile.h
CC arch/arm64/kernel/signal.o
CC arch/arm64/kernel/vdso.o
CC arch/arm64/kernel/signal32.o
VDSOL arch/arm64/kernel/vdso32/vdso.so.raw
MUNGE arch/arm64/kernel/vdso32/vdso.so.dbg
OBJCOPY arch/arm64/kernel/vdso32/vdso.so
AS arch/arm64/kernel/vdso32/vdso.o
AR arch/arm64/kernel/vdso32/built-in.a
AR arch/arm64/kernel/built-in.a
GEN .version
CHK include/generated/compile.h
UPD include/generated/compile.h
CC init/version.o
AR init/built-in.a
LD vmlinux.o
MODPOST vmlinux.o

The issue is generated by the fact that "if_changed" is called twice
in a single target.

Fix the build bug merging the two commands into a single function.

Cc: Catalin Marinas <[email protected]>
Cc: Will Deacon <[email protected]>
Fixes: a7f71a2c8903 ("arm64: compat: Add vDSO")
Signed-off-by: Vincenzo Frascino <[email protected]>
---
arch/arm64/kernel/vdso32/Makefile | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/kernel/vdso32/Makefile b/arch/arm64/kernel/vdso32/Makefile
index 288c14d30b45..fb572b6f1bf5 100644
--- a/arch/arm64/kernel/vdso32/Makefile
+++ b/arch/arm64/kernel/vdso32/Makefile
@@ -144,8 +144,7 @@ $(obj)/vdso.so.dbg: $(obj)/vdso.so.raw $(obj)/$(munge) FORCE

# Link rule for the .so file, .lds has to be first
$(obj)/vdso.so.raw: $(src)/vdso.lds $(obj-vdso) FORCE
- $(call if_changed,vdsold)
- $(call if_changed,vdso_check)
+ $(call if_changed,vdsold_and_vdso_check)

# Compilation rules for the vDSO sources
$(c-obj-vdso): %.o: %.c FORCE
@@ -156,6 +155,9 @@ $(asm-obj-vdso): %.o: %.S FORCE
$(call if_changed_dep,vdsoas)

# Actual build commands
+quiet_cmd_vdsold_and_vdso_check = LD $@
+ cmd_vdsold_and_vdso_check = $(cmd_vdsold); $(cmd_vdso_check)
+
quiet_cmd_vdsold = VDSOL $@
cmd_vdsold = $(COMPATCC) -Wp,-MD,$(depfile) $(VDSO_LDFLAGS) \
-Wl,-T $(filter %.lds,$^) $(filter %.o,$^) -o $@
--
2.22.0

2019-07-12 12:11:03

by Vincenzo Frascino

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] arm64/vdso: fix flip/flop vdso build bug

On 12/07/2019 11:15, Naohiro Aota wrote:
> Running "make" on an already compiled kernel tree will rebuild the kernel
> even without any modifications:
>
> $ make ARCH=arm64 CROSS_COMPILE=/usr/bin/aarch64-unknown-linux-gnu-
> arch/arm64/Makefile:58: CROSS_COMPILE_COMPAT not defined or empty, the compat vDSO will not be built
> CALL scripts/checksyscalls.sh
> CALL scripts/atomic/check-atomics.sh
> VDSOCHK arch/arm64/kernel/vdso/vdso.so.dbg
> VDSOSYM include/generated/vdso-offsets.h
> CHK include/generated/compile.h
> CC arch/arm64/kernel/signal.o
> CC arch/arm64/kernel/vdso.o
> CC arch/arm64/kernel/signal32.o
> LD arch/arm64/kernel/vdso/vdso.so.dbg
> OBJCOPY arch/arm64/kernel/vdso/vdso.so
> AS arch/arm64/kernel/vdso/vdso.o
> AR arch/arm64/kernel/vdso/built-in.a
> AR arch/arm64/kernel/built-in.a
> GEN .version
> CHK include/generated/compile.h
> UPD include/generated/compile.h
> CC init/version.o
> AR init/built-in.a
> LD vmlinux.o
>
> This is the same bug fixed in commit 92a4728608a8 ("x86/boot: Fix
> if_changed build flip/flop bug"). We cannot use two "if_changed" in one
> target. Fix this build bug by merging two commands into one function.
>
> Cc: Masahiro Yamada <[email protected]>
> Fixes: 28b1a824a4f4 ("arm64: vdso: Substitute gettimeofday() with C implementation")
> Signed-off-by: Naohiro Aota <[email protected]>

Reviewed-by: Vincenzo Frascino <[email protected]>
Tested-by: Vincenzo Frascino <[email protected]>

> ---
> arch/arm64/kernel/vdso/Makefile | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm64/kernel/vdso/Makefile b/arch/arm64/kernel/vdso/Makefile
> index 4ab863045188..068c614b1231 100644
> --- a/arch/arm64/kernel/vdso/Makefile
> +++ b/arch/arm64/kernel/vdso/Makefile
> @@ -57,8 +57,7 @@ $(obj)/vdso.o : $(obj)/vdso.so
>
> # Link rule for the .so file, .lds has to be first
> $(obj)/vdso.so.dbg: $(obj)/vdso.lds $(obj-vdso) FORCE
> - $(call if_changed,ld)
> - $(call if_changed,vdso_check)
> + $(call if_changed,ld_and_vdso_check)
>
> # Strip rule for the .so file
> $(obj)/%.so: OBJCOPYFLAGS := -S
> @@ -77,6 +76,9 @@ include/generated/vdso-offsets.h: $(obj)/vdso.so.dbg FORCE
> quiet_cmd_vdsocc = VDSOCC $@
> cmd_vdsocc = $(CC) $(a_flags) $(c_flags) -c -o $@ $<
>
> +quiet_cmd_ld_and_vdso_check = LD $@
> + cmd_ld_and_vdso_check = $(cmd_ld); $(cmd_vdso_check)
> +
> # Install commands for the unstripped file
> quiet_cmd_vdso_install = INSTALL $@
> cmd_vdso_install = cp $(obj)/[email protected] $(MODLIB)/vdso/$@
>

--
Regards,
Vincenzo

2019-07-12 14:58:41

by Masahiro Yamada

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] arm64/vdso: fix flip/flop vdso build bug

On Fri, Jul 12, 2019 at 7:16 PM Naohiro Aota <[email protected]> wrote:
>
> Running "make" on an already compiled kernel tree will rebuild the kernel
> even without any modifications:
>
> $ make ARCH=arm64 CROSS_COMPILE=/usr/bin/aarch64-unknown-linux-gnu-
> arch/arm64/Makefile:58: CROSS_COMPILE_COMPAT not defined or empty, the compat vDSO will not be built
> CALL scripts/checksyscalls.sh
> CALL scripts/atomic/check-atomics.sh
> VDSOCHK arch/arm64/kernel/vdso/vdso.so.dbg
> VDSOSYM include/generated/vdso-offsets.h
> CHK include/generated/compile.h
> CC arch/arm64/kernel/signal.o
> CC arch/arm64/kernel/vdso.o
> CC arch/arm64/kernel/signal32.o
> LD arch/arm64/kernel/vdso/vdso.so.dbg
> OBJCOPY arch/arm64/kernel/vdso/vdso.so
> AS arch/arm64/kernel/vdso/vdso.o
> AR arch/arm64/kernel/vdso/built-in.a
> AR arch/arm64/kernel/built-in.a
> GEN .version
> CHK include/generated/compile.h
> UPD include/generated/compile.h
> CC init/version.o
> AR init/built-in.a
> LD vmlinux.o
>
> This is the same bug fixed in commit 92a4728608a8 ("x86/boot: Fix
> if_changed build flip/flop bug"). We cannot use two "if_changed" in one
> target. Fix this build bug by merging two commands into one function.
>
> Cc: Masahiro Yamada <[email protected]>
> Fixes: 28b1a824a4f4 ("arm64: vdso: Substitute gettimeofday() with C implementation")
> Signed-off-by: Naohiro Aota <[email protected]>
> ---

Reviewed-by: Masahiro Yamada <[email protected]>


--
Best Regards
Masahiro Yamada

2019-07-12 15:39:01

by Will Deacon

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] arm64/vdso: fix flip/flop vdso build bug

On Fri, Jul 12, 2019 at 07:15:56PM +0900, Naohiro Aota wrote:
> Running "make" on an already compiled kernel tree will rebuild the kernel
> even without any modifications:
>
> $ make ARCH=arm64 CROSS_COMPILE=/usr/bin/aarch64-unknown-linux-gnu-
> arch/arm64/Makefile:58: CROSS_COMPILE_COMPAT not defined or empty, the compat vDSO will not be built
> CALL scripts/checksyscalls.sh
> CALL scripts/atomic/check-atomics.sh
> VDSOCHK arch/arm64/kernel/vdso/vdso.so.dbg
> VDSOSYM include/generated/vdso-offsets.h
> CHK include/generated/compile.h
> CC arch/arm64/kernel/signal.o
> CC arch/arm64/kernel/vdso.o
> CC arch/arm64/kernel/signal32.o
> LD arch/arm64/kernel/vdso/vdso.so.dbg
> OBJCOPY arch/arm64/kernel/vdso/vdso.so
> AS arch/arm64/kernel/vdso/vdso.o
> AR arch/arm64/kernel/vdso/built-in.a
> AR arch/arm64/kernel/built-in.a
> GEN .version
> CHK include/generated/compile.h
> UPD include/generated/compile.h
> CC init/version.o
> AR init/built-in.a
> LD vmlinux.o
>
> This is the same bug fixed in commit 92a4728608a8 ("x86/boot: Fix
> if_changed build flip/flop bug"). We cannot use two "if_changed" in one
> target. Fix this build bug by merging two commands into one function.
>
> Cc: Masahiro Yamada <[email protected]>
> Fixes: 28b1a824a4f4 ("arm64: vdso: Substitute gettimeofday() with C implementation")
> Signed-off-by: Naohiro Aota <[email protected]>
> ---
> arch/arm64/kernel/vdso/Makefile | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)

Thanks. I've merged in Vincenzo's compat change too, so I'll send this at
-rc1 for arm64.

Will

2019-07-18 11:42:26

by Vincenzo Frascino

[permalink] [raw]
Subject: [PATCH] arm64: vdso: Cleanup Makefiles.

The recent changes to the vdso library for arm64 and the introduction of
the compat vdso library have generated some misalignment in the
Makefiles.

Cleanup the Makefiles for vdso and vdso32 libraries:
* Removing unused rules.
* Unifying the displayed compilation messages.
* Simplifying the generic library inclusion path for
arm64 vdso.

Cc: Catalin Marinas <[email protected]>
Cc: Will Deacon <[email protected]>
Signed-off-by: Vincenzo Frascino <[email protected]>
---
arch/arm64/kernel/vdso/Makefile | 11 ++++-------
arch/arm64/kernel/vdso32/Makefile | 10 +++++-----
2 files changed, 9 insertions(+), 12 deletions(-)

diff --git a/arch/arm64/kernel/vdso/Makefile b/arch/arm64/kernel/vdso/Makefile
index 75d25679d879..aa5a12325a3c 100644
--- a/arch/arm64/kernel/vdso/Makefile
+++ b/arch/arm64/kernel/vdso/Makefile
@@ -32,10 +32,10 @@ UBSAN_SANITIZE := n
OBJECT_FILES_NON_STANDARD := y
KCOV_INSTRUMENT := n

-ifeq ($(c-gettimeofday-y),)
CFLAGS_vgettimeofday.o = -O2 -mcmodel=tiny
-else
-CFLAGS_vgettimeofday.o = -O2 -mcmodel=tiny -include $(c-gettimeofday-y)
+
+ifneq ($(c-gettimeofday-y),)
+ CFLAGS_vgettimeofday.o += -include $(c-gettimeofday-y)
endif

# Clang versions less than 8 do not support -mcmodel=tiny
@@ -73,10 +73,7 @@ include/generated/vdso-offsets.h: $(obj)/vdso.so.dbg FORCE
$(call if_changed,vdsosym)

# Actual build commands
-quiet_cmd_vdsocc = VDSOCC $@
- cmd_vdsocc = $(CC) $(a_flags) $(c_flags) -c -o $@ $<
-
-quiet_cmd_vdsold_and_vdso_check = LD $@
+quiet_cmd_vdsold_and_vdso_check = VDSOLIB $@
cmd_vdsold_and_vdso_check = $(cmd_ld); $(cmd_vdso_check)

# Install commands for the unstripped file
diff --git a/arch/arm64/kernel/vdso32/Makefile b/arch/arm64/kernel/vdso32/Makefile
index 21009ed5a755..6c4e496309c4 100644
--- a/arch/arm64/kernel/vdso32/Makefile
+++ b/arch/arm64/kernel/vdso32/Makefile
@@ -155,17 +155,17 @@ $(asm-obj-vdso): %.o: %.S FORCE
$(call if_changed_dep,vdsoas)

# Actual build commands
-quiet_cmd_vdsold_and_vdso_check = LD $@
+quiet_cmd_vdsold_and_vdso_check = VDSOLIB $@
cmd_vdsold_and_vdso_check = $(cmd_vdsold); $(cmd_vdso_check)

-quiet_cmd_vdsold = VDSOL $@
+quiet_cmd_vdsold = VDSOLD $@
cmd_vdsold = $(COMPATCC) -Wp,-MD,$(depfile) $(VDSO_LDFLAGS) \
-Wl,-T $(filter %.lds,$^) $(filter %.o,$^) -o $@
-quiet_cmd_vdsocc = VDSOC $@
+quiet_cmd_vdsocc = CC $@
cmd_vdsocc = $(COMPATCC) -Wp,-MD,$(depfile) $(VDSO_CFLAGS) -c -o $@ $<
-quiet_cmd_vdsocc_gettimeofday = VDSOC_GTD $@
+quiet_cmd_vdsocc_gettimeofday = CC $@
cmd_vdsocc_gettimeofday = $(COMPATCC) -Wp,-MD,$(depfile) $(VDSO_CFLAGS) $(VDSO_CFLAGS_gettimeofday_o) -c -o $@ $<
-quiet_cmd_vdsoas = VDSOA $@
+quiet_cmd_vdsoas = AS $@
cmd_vdsoas = $(COMPATCC) -Wp,-MD,$(depfile) $(VDSO_AFLAGS) -c -o $@ $<

quiet_cmd_vdsomunge = MUNGE $@
--
2.22.0

2019-07-19 08:06:37

by Will Deacon

[permalink] [raw]
Subject: Re: [PATCH] arm64: vdso: Cleanup Makefiles.

On Thu, Jul 18, 2019 at 12:41:21PM +0100, Vincenzo Frascino wrote:
> diff --git a/arch/arm64/kernel/vdso32/Makefile b/arch/arm64/kernel/vdso32/Makefile
> index 21009ed5a755..6c4e496309c4 100644
> --- a/arch/arm64/kernel/vdso32/Makefile
> +++ b/arch/arm64/kernel/vdso32/Makefile
> @@ -155,17 +155,17 @@ $(asm-obj-vdso): %.o: %.S FORCE
> $(call if_changed_dep,vdsoas)
>
> # Actual build commands
> -quiet_cmd_vdsold_and_vdso_check = LD $@
> +quiet_cmd_vdsold_and_vdso_check = VDSOLIB $@
> cmd_vdsold_and_vdso_check = $(cmd_vdsold); $(cmd_vdso_check)
>
> -quiet_cmd_vdsold = VDSOL $@
> +quiet_cmd_vdsold = VDSOLD $@

I think we should be more consistent about whether or not we prefix things
with VDSO, so either go with "VDSOLD, VDSOCC and VDSOAS" or stick to "LD,
CC and AS" rather than mixing between them.

I think my suggestion would be something along the lines of CC, LD, AS for
the native vdso and CC32, LD32, AS32 for the compat vdso.

Will

2019-07-19 09:50:27

by Vincenzo Frascino

[permalink] [raw]
Subject: Re: [PATCH] arm64: vdso: Cleanup Makefiles.

Hi Will,

On 19/07/2019 09:04, Will Deacon wrote:
> On Thu, Jul 18, 2019 at 12:41:21PM +0100, Vincenzo Frascino wrote:
>> diff --git a/arch/arm64/kernel/vdso32/Makefile b/arch/arm64/kernel/vdso32/Makefile
>> index 21009ed5a755..6c4e496309c4 100644
>> --- a/arch/arm64/kernel/vdso32/Makefile
>> +++ b/arch/arm64/kernel/vdso32/Makefile
>> @@ -155,17 +155,17 @@ $(asm-obj-vdso): %.o: %.S FORCE
>> $(call if_changed_dep,vdsoas)
>>
>> # Actual build commands
>> -quiet_cmd_vdsold_and_vdso_check = LD $@
>> +quiet_cmd_vdsold_and_vdso_check = VDSOLIB $@
>> cmd_vdsold_and_vdso_check = $(cmd_vdsold); $(cmd_vdso_check)
>>
>> -quiet_cmd_vdsold = VDSOL $@
>> +quiet_cmd_vdsold = VDSOLD $@
>
> I think we should be more consistent about whether or not we prefix things
> with VDSO, so either go with "VDSOLD, VDSOCC and VDSOAS" or stick to "LD,
> CC and AS" rather than mixing between them.
>
> I think my suggestion would be something along the lines of CC, LD, AS for
> the native vdso and CC32, LD32, AS32 for the compat vdso.
>

Sounds good. I will send v2 accordingly.

> Will
>

--
Regards,
Vincenzo

2019-07-19 10:11:21

by Vincenzo Frascino

[permalink] [raw]
Subject: [PATCH v2] arm64: vdso: Cleanup Makefiles

The recent changes to the vdso library for arm64 and the introduction of
the compat vdso library have generated some misalignment in the
Makefiles.

Cleanup the Makefiles for vdso and vdso32 libraries:
* Removing unused rules.
* Unifying the displayed compilation messages.
* Simplifying the generic library inclusion path for
arm64 vdso.

Cc: Catalin Marinas <[email protected]>
Cc: Will Deacon <[email protected]>
Signed-off-by: Vincenzo Frascino <[email protected]>
---
arch/arm64/kernel/vdso/Makefile | 9 +++------
arch/arm64/kernel/vdso32/Makefile | 10 +++++-----
2 files changed, 8 insertions(+), 11 deletions(-)

diff --git a/arch/arm64/kernel/vdso/Makefile b/arch/arm64/kernel/vdso/Makefile
index 75d25679d879..dd2514bb1511 100644
--- a/arch/arm64/kernel/vdso/Makefile
+++ b/arch/arm64/kernel/vdso/Makefile
@@ -32,10 +32,10 @@ UBSAN_SANITIZE := n
OBJECT_FILES_NON_STANDARD := y
KCOV_INSTRUMENT := n

-ifeq ($(c-gettimeofday-y),)
CFLAGS_vgettimeofday.o = -O2 -mcmodel=tiny
-else
-CFLAGS_vgettimeofday.o = -O2 -mcmodel=tiny -include $(c-gettimeofday-y)
+
+ifneq ($(c-gettimeofday-y),)
+ CFLAGS_vgettimeofday.o += -include $(c-gettimeofday-y)
endif

# Clang versions less than 8 do not support -mcmodel=tiny
@@ -73,9 +73,6 @@ include/generated/vdso-offsets.h: $(obj)/vdso.so.dbg FORCE
$(call if_changed,vdsosym)

# Actual build commands
-quiet_cmd_vdsocc = VDSOCC $@
- cmd_vdsocc = $(CC) $(a_flags) $(c_flags) -c -o $@ $<
-
quiet_cmd_vdsold_and_vdso_check = LD $@
cmd_vdsold_and_vdso_check = $(cmd_ld); $(cmd_vdso_check)

diff --git a/arch/arm64/kernel/vdso32/Makefile b/arch/arm64/kernel/vdso32/Makefile
index 21009ed5a755..154767d60001 100644
--- a/arch/arm64/kernel/vdso32/Makefile
+++ b/arch/arm64/kernel/vdso32/Makefile
@@ -155,17 +155,17 @@ $(asm-obj-vdso): %.o: %.S FORCE
$(call if_changed_dep,vdsoas)

# Actual build commands
-quiet_cmd_vdsold_and_vdso_check = LD $@
+quiet_cmd_vdsold_and_vdso_check = LD32 $@
cmd_vdsold_and_vdso_check = $(cmd_vdsold); $(cmd_vdso_check)

-quiet_cmd_vdsold = VDSOL $@
+quiet_cmd_vdsold = LD32 $@
cmd_vdsold = $(COMPATCC) -Wp,-MD,$(depfile) $(VDSO_LDFLAGS) \
-Wl,-T $(filter %.lds,$^) $(filter %.o,$^) -o $@
-quiet_cmd_vdsocc = VDSOC $@
+quiet_cmd_vdsocc = CC32 $@
cmd_vdsocc = $(COMPATCC) -Wp,-MD,$(depfile) $(VDSO_CFLAGS) -c -o $@ $<
-quiet_cmd_vdsocc_gettimeofday = VDSOC_GTD $@
+quiet_cmd_vdsocc_gettimeofday = CC32 $@
cmd_vdsocc_gettimeofday = $(COMPATCC) -Wp,-MD,$(depfile) $(VDSO_CFLAGS) $(VDSO_CFLAGS_gettimeofday_o) -c -o $@ $<
-quiet_cmd_vdsoas = VDSOA $@
+quiet_cmd_vdsoas = AS32 $@
cmd_vdsoas = $(COMPATCC) -Wp,-MD,$(depfile) $(VDSO_AFLAGS) -c -o $@ $<

quiet_cmd_vdsomunge = MUNGE $@
--
2.22.0

2019-07-22 11:43:49

by Will Deacon

[permalink] [raw]
Subject: Re: [PATCH v2] arm64: vdso: Cleanup Makefiles

On Fri, Jul 19, 2019 at 11:10:18AM +0100, Vincenzo Frascino wrote:
> The recent changes to the vdso library for arm64 and the introduction of
> the compat vdso library have generated some misalignment in the
> Makefiles.
>
> Cleanup the Makefiles for vdso and vdso32 libraries:
> * Removing unused rules.
> * Unifying the displayed compilation messages.
> * Simplifying the generic library inclusion path for
> arm64 vdso.
>
> Cc: Catalin Marinas <[email protected]>
> Cc: Will Deacon <[email protected]>
> Signed-off-by: Vincenzo Frascino <[email protected]>
> ---
> arch/arm64/kernel/vdso/Makefile | 9 +++------
> arch/arm64/kernel/vdso32/Makefile | 10 +++++-----
> 2 files changed, 8 insertions(+), 11 deletions(-)

Thanks, I'll queue this for -rc2.

Will