Makefile | 2 ++ 1 file changed, 2 insertions(+)
From: Rong Tao <rongtao@cestc.cn>
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 <rongtao@cestc.cn>
---
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 <rtoax@foxmail.com> wrote: > > From: Rong Tao <rongtao@cestc.cn> > > 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 <rongtao@cestc.cn> > --- > 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 <rtoax@foxmail.com> 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
© 2016 - 2025 Red Hat, Inc.