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
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
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.
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
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