[Bug c/95671] New: Fails to build kernel 5.7 with -march=bdver{2,3,4} workaround -mno-tbm
ungift-ed at ya dot ru
gcc-bugzilla@gcc.gnu.org
Sun Jun 14 11:17:32 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95671
Bug ID: 95671
Summary: Fails to build kernel 5.7 with -march=bdver{2,3,4}
workaround -mno-tbm
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: ungift-ed at ya dot ru
Target Milestone: ---
There is patch for build kernel with different march:
https://github.com/graysky2/kernel_gcc_patch/blob/master/enable_additional_cpu_optimizations_for_gcc_v9.1%2B_kernel_v5.7%2B.patch
Gentoo use this patch with USE='experimental'
Since 5.7 kernel builds fails on bdver{2,3,4}.
I can build kernel when add -mno-tbm
cflags-$(CONFIG_MBULLDOZER) += $(call cc-option,-march=bdver1)
cflags-$(CONFIG_MPILEDRIVER) += $(call cc-option,-march=bdver2)
+ cflags-$(CONFIG_MPILEDRIVER) += $(call cc-option,-mno-tbm)
cflags-$(CONFIG_MSTEAMROLLER) += $(call cc-option,-march=bdver3)
+ cflags-$(CONFIG_MSTEAMROLLER) += $(call cc-option,-mno-tbm)
cflags-$(CONFIG_MEXCAVATOR) += $(call cc-option,-march=bdver4)
+ cflags-$(CONFIG_MEXCAVATOR) += $(call cc-option,-mno-tbm)
Please look if it gcc issue. Thanks.
My build log:
HOSTCC scripts/kconfig/conf.o
HOSTLD scripts/kconfig/conf
scripts/kconfig/conf --syncconfig Kconfig
HOSTCC arch/x86/tools/relocs_32.o
HOSTCC arch/x86/tools/relocs_64.o
HOSTCC arch/x86/tools/relocs_common.o
HOSTLD arch/x86/tools/relocs
HOSTCXX -fPIC scripts/gcc-plugins/structleak_plugin.o
HOSTLLD -shared scripts/gcc-plugins/structleak_plugin.so
GENSEED scripts/gcc-plugins/randomize_layout_seed.h
HOSTCXX -fPIC scripts/gcc-plugins/randomize_layout_plugin.o
HOSTLLD -shared scripts/gcc-plugins/randomize_layout_plugin.so
HOSTCXX -fPIC scripts/gcc-plugins/stackleak_plugin.o
HOSTLLD -shared scripts/gcc-plugins/stackleak_plugin.so
HOSTCC scripts/genksyms/genksyms.o
YACC scripts/genksyms/parse.tab.[ch]
HOSTCC scripts/genksyms/parse.tab.o
LEX scripts/genksyms/lex.lex.c
HOSTCC scripts/genksyms/lex.lex.o
HOSTLD scripts/genksyms/genksyms
HOSTCC scripts/bin2c
HOSTCC scripts/kallsyms
HOSTCC scripts/sorttable
HOSTCC scripts/asn1_compiler
HOSTCC scripts/extract-cert
HOSTCC scripts/mod/mk_elfconfig
CC scripts/mod/empty.o
MKELF scripts/mod/elfconfig.h
HOSTCC scripts/mod/modpost.o
CC scripts/mod/devicetable-offsets.s
HOSTCC scripts/mod/file2alias.o
HOSTCC scripts/mod/sumversion.o
HOSTLD scripts/mod/modpost
CC kernel/bounds.s
CC arch/x86/kernel/asm-offsets.s
CALL scripts/checksyscalls.sh
CALL scripts/atomic/check-atomics.sh
DESCEND objtool
HOSTCC /usr/src/linux-5.7.1-gentoo-2/tools/objtool/fixdep.o
HOSTLD /usr/src/linux-5.7.1-gentoo-2/tools/objtool/fixdep-in.o
LINK /usr/src/linux-5.7.1-gentoo-2/tools/objtool/fixdep
CC /usr/src/linux-5.7.1-gentoo-2/tools/objtool/exec-cmd.o
CC /usr/src/linux-5.7.1-gentoo-2/tools/objtool/help.o
CC /usr/src/linux-5.7.1-gentoo-2/tools/objtool/pager.o
CC /usr/src/linux-5.7.1-gentoo-2/tools/objtool/parse-options.o
CC /usr/src/linux-5.7.1-gentoo-2/tools/objtool/run-command.o
CC /usr/src/linux-5.7.1-gentoo-2/tools/objtool/sigchain.o
CC /usr/src/linux-5.7.1-gentoo-2/tools/objtool/subcmd-config.o
LD /usr/src/linux-5.7.1-gentoo-2/tools/objtool/libsubcmd-in.o
AR /usr/src/linux-5.7.1-gentoo-2/tools/objtool/libsubcmd.a
GEN
/usr/src/linux-5.7.1-gentoo-2/tools/objtool/arch/x86/lib/inat-tables.c
CC /usr/src/linux-5.7.1-gentoo-2/tools/objtool/arch/x86/decode.o
LD /usr/src/linux-5.7.1-gentoo-2/tools/objtool/arch/x86/objtool-in.o
CC /usr/src/linux-5.7.1-gentoo-2/tools/objtool/builtin-check.o
CC /usr/src/linux-5.7.1-gentoo-2/tools/objtool/builtin-orc.o
CC /usr/src/linux-5.7.1-gentoo-2/tools/objtool/check.o
CC /usr/src/linux-5.7.1-gentoo-2/tools/objtool/orc_gen.o
CC /usr/src/linux-5.7.1-gentoo-2/tools/objtool/orc_dump.o
CC /usr/src/linux-5.7.1-gentoo-2/tools/objtool/elf.o
CC /usr/src/linux-5.7.1-gentoo-2/tools/objtool/special.o
CC /usr/src/linux-5.7.1-gentoo-2/tools/objtool/objtool.o
CC /usr/src/linux-5.7.1-gentoo-2/tools/objtool/libstring.o
CC /usr/src/linux-5.7.1-gentoo-2/tools/objtool/libctype.o
CC /usr/src/linux-5.7.1-gentoo-2/tools/objtool/str_error_r.o
CC /usr/src/linux-5.7.1-gentoo-2/tools/objtool/librbtree.o
LD /usr/src/linux-5.7.1-gentoo-2/tools/objtool/objtool-in.o
LINK /usr/src/linux-5.7.1-gentoo-2/tools/objtool/objtool
CHK include/generated/compile.h
UPD include/generated/compile.h
CC init/main.o
init/main.o: warning: objtool: initcall_blacklisted()+0xd9: return with
modified stack frame
CC init/version.o
CC init/do_mounts.o
CC init/noinitramfs.o
CC init/calibrate.o
CC init/init_task.o
AR init/built-in.a
AR usr/built-in.a
CC arch/x86/entry/vdso/vma.o
LDS arch/x86/entry/vdso/vdso.lds
AS arch/x86/entry/vdso/vdso-note.o
CC arch/x86/entry/vdso/vclock_gettime.o
CC arch/x86/entry/vdso/vgetcpu.o
VDSO arch/x86/entry/vdso/vdso64.so.dbg
OBJCOPY arch/x86/entry/vdso/vdso64.so
HOSTCC arch/x86/entry/vdso/vdso2c
VDSO2C arch/x86/entry/vdso/vdso-image-64.c
CC arch/x86/entry/vdso/vdso-image-64.o
AR arch/x86/entry/vdso/built-in.a
CC arch/x86/entry/vsyscall/vsyscall_64.o
arch/x86/entry/vsyscall/vsyscall_64.o: warning: objtool:
emulate_vsyscall()+0x287: stack state mismatch: cfa1=7+64 cfa2=7+56
AS arch/x86/entry/vsyscall/vsyscall_emu_64.o
AR arch/x86/entry/vsyscall/built-in.a
AS arch/x86/entry/entry_64.o
AS arch/x86/entry/thunk_64.o
CC arch/x86/entry/syscall_64.o
CC arch/x86/entry/common.o
AR arch/x86/entry/built-in.a
CC arch/x86/events/amd/core.o
arch/x86/events/amd/core.o: warning: objtool: amd_pmu_handle_irq()+0x30: stack
state mismatch: cfa1=7+16 cfa2=7+0
CC arch/x86/events/amd/uncore.o
CC arch/x86/events/amd/power.o
CC arch/x86/events/amd/ibs.o
arch/x86/events/amd/ibs.o: warning: objtool: perf_ibs_init()+0x23: can't find
jump dest instruction at .text+0xe5
make[3]: *** [scripts/Makefile.build:267: arch/x86/events/amd/ibs.o] Error 255
make[3]: *** Deleting file 'arch/x86/events/amd/ibs.o'
make[2]: *** [scripts/Makefile.build:488: arch/x86/events/amd] Error 2
make[1]: *** [scripts/Makefile.build:488: arch/x86/events] Error 2
make: *** [Makefile:1729: arch/x86] Error 2
More information about the Gcc-bugs
mailing list