2022-12-17 08:16:53

by Rong Tao

[permalink] [raw]
Subject: [PATCH] kbuild: Fix compilation error

From: Rong Tao <[email protected]>

In the absence of a CONFIG_FUNCTION_ALIGNMENT defined, -falign-functions=
will be given a null value, which results in a compilation error, as
follows:

$ make -C samples/bpf/
...
CC /home/sdb/Git/linux/samples/bpf/syscall_nrs.s
gcc: error: missing argument to ‘-falign-functions=’
make[2]: *** [scripts/Makefile.build:118: /home/sdb/Git/linux/samples
/bpf/syscall_nrs.s] Error 1
make[1]: *** [Makefile:1996: /home/sdb/Git/linux/samples/bpf] Error 2
make[1]: Leaving directory '/home/sdb/Git/linux'
make: *** [Makefile:269: all] Error 2

Signed-off-by: Rong Tao <[email protected]>
---
Makefile | 2 ++
1 file changed, 2 insertions(+)

diff --git a/Makefile b/Makefile
index 6aa709df6bde..57cce4c8f8a2 100644
--- a/Makefile
+++ b/Makefile
@@ -1006,9 +1006,11 @@ KBUILD_CFLAGS += $(CC_FLAGS_CFI)
export CC_FLAGS_CFI
endif

+ifdef CONFIG_FUNCTION_ALIGNMENT
ifneq ($(CONFIG_FUNCTION_ALIGNMENT),0)
KBUILD_CFLAGS += -falign-functions=$(CONFIG_FUNCTION_ALIGNMENT)
endif
+endif

# arch Makefile may override CC so keep this after arch Makefile is included
NOSTDINC_FLAGS += -nostdinc
--
2.38.1


2022-12-17 08:25:53

by Masahiro Yamada

[permalink] [raw]
Subject: Re: [PATCH] kbuild: Fix compilation error

On Sat, Dec 17, 2022 at 4:07 PM Rong Tao <[email protected]> wrote:
>
> From: Rong Tao <[email protected]>
>
> In the absence of a CONFIG_FUNCTION_ALIGNMENT defined,

Does it happen in the mainline kernel?


CONFIG_FUNCTION_ALIGNMENT is always defined
as far as I understood arch/Kconfig.












> -falign-functions=
> will be given a null value, which results in a compilation error, as
> follows:
>
> $ make -C samples/bpf/
> ...
> CC /home/sdb/Git/linux/samples/bpf/syscall_nrs.s
> gcc: error: missing argument to ‘-falign-functions=’
> make[2]: *** [scripts/Makefile.build:118: /home/sdb/Git/linux/samples
> /bpf/syscall_nrs.s] Error 1
> make[1]: *** [Makefile:1996: /home/sdb/Git/linux/samples/bpf] Error 2
> make[1]: Leaving directory '/home/sdb/Git/linux'
> make: *** [Makefile:269: all] Error 2
>
> Signed-off-by: Rong Tao <[email protected]>
> ---
> Makefile | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/Makefile b/Makefile
> index 6aa709df6bde..57cce4c8f8a2 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1006,9 +1006,11 @@ KBUILD_CFLAGS += $(CC_FLAGS_CFI)
> export CC_FLAGS_CFI
> endif
>
> +ifdef CONFIG_FUNCTION_ALIGNMENT
> ifneq ($(CONFIG_FUNCTION_ALIGNMENT),0)
> KBUILD_CFLAGS += -falign-functions=$(CONFIG_FUNCTION_ALIGNMENT)
> endif
> +endif
>
> # arch Makefile may override CC so keep this after arch Makefile is included
> NOSTDINC_FLAGS += -nostdinc
> --
> 2.38.1
>


--
Best Regards
Masahiro Yamada

2022-12-17 08:38:15

by Rong Tao

[permalink] [raw]
Subject: Re: Re: [PATCH] kbuild: Fix compilation error

Yes, It's happen in the mainline kernel.

I pulled the latest code and habitually compiled samples/bpf,

$ git remote get-url origin
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
$ make -C samples/bpf

and the compilation error occurred. I applied this patch and can
fix this compilation error.

2022-12-17 09:52:22

by Masahiro Yamada

[permalink] [raw]
Subject: Re: Re: [PATCH] kbuild: Fix compilation error

On Sat, Dec 17, 2022 at 5:11 PM Rong Tao <[email protected]> wrote:
>
> Yes, It's happen in the mainline kernel.
>
> I pulled the latest code and habitually compiled samples/bpf,
>
> $ git remote get-url origin
> git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> $ make -C samples/bpf
>
> and the compilation error occurred. I applied this patch and can
> fix this compilation error.




I want you to describe the steps to reproduce the issue from the pristine
source tree instead of printing the URL of your origin.



I prepared a template for you.
Please fill the following 3 square brackets.



$ git log --oneline -1
[ Fill the commit hash you are working on ]
$ git clean -dfx

[ Fill steps between "git clean -dfx" and "make -C samples/bpf" ]

$ make -C samples/bpf
[ Fill the error message you get ]





--
Best Regards
Masahiro Yamada

2022-12-17 10:55:58

by Rong Tao

[permalink] [raw]
Subject: Re: Re: [PATCH] kbuild: Fix compilation error

Thanks, Masahiro Yamada, I compile again from scrach. the compilation
error not happen anymore. I think i miss 'make menuconfig' before.

Thanks again!

$ git log --oneline -1
77856d911a8c
$ git clean -dfx
$ make menuconfig <<== Which i miss
$ make -j8
$ make -C samples/bpf