Message ID | tencent_3D7B0D368482B2602EC7559A5E1546171009@qq.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | kbuild: Fix compilation error | expand |
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 >
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 ]
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
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