On 2021-02-10 22:47 +0100, Pierre Labastie wrote: > On Wed, 2021-02-10 at 21:03 +0000, Ken Moffat wrote: > > On Wed, Feb 10, 2021 at 08:49:56PM +0000, Ken Moffat wrote: > > > > > > > > Looks like I need to change the Frame pointer unwinder to the > > > > ORC unwinder to have the same config as you. > > > > > > > > > > The benefits of the ORC unwinder are mentioned at > > > https://www.kernel.org/doc/html/latest/x86/orc-unwinder.html > > > > > > It has been around for quite some time, but I probably picked it > > > up when it first appeared (test an -rc kernel, pick up new options > > > which might be useful). I guess that old configs from before its > > > introduction still default to the old unwinder. > > > > > In fact it caused trouble about 3 years ago, there are links to the > > -dev archive from around January 2018 when elfutils was still in > > BLFS, and at that time LFS had to use the frame pointer. So when > > libelf arrived in LFS I started to use it (or use it again, not sure > > which). > > > > I managed to compile objtool with -g, to recompile apic.c to apic.o > (because it gets erased when objtool fails), and to run the objtool > command on it under gdb. The segfault is esay to understand: > > Program received signal SIGSEGV, Segmentation fault. > 0x0000000000412f71 in elf_rebuild_rela_reloc_section (sec=0xe22b10, > nr=16) > at elf.c:883 > 883 relocs[idx].r_info = GELF_R_INFO(reloc->sym- > > idx, reloc->type); > > and the reloc struct is: > (gdb) p *reloc > $2 = {list = {next = 0xe23240, prev = 0xe23160}, hash = {next = 0x0, > pprev = 0xe23250}, {rela = {r_offset = 0, r_info = 0, r_addend = > 0}, > rel = {r_offset = 0, r_info = 0}}, sec = 0xe22b10, sym = 0x0, > offset = 48, > type = 2, addend = 467, idx = 0, jump_table_start = false} > > So reloc->sym is zero, and reloc->sym->idx is a null dereference... > > Now to understand why reloc->sym is zero is more complicated...
I can reproduce it too with Ken's config and just "make arch/x86/kernel/apic/apic.o". I seen a strange warning in build: > Warning: Kernel ABI header at 'tools/arch/x86/lib/insn.c' differs from latest > version at 'arch/x86/lib/insn.c' Not sure if it causes the segfault. I'll try 5.10.15 and if it's not fixed I'll report it as a kernel bug. -- Xi Ruoyao <xry...@mengyan1223.wang> School of Aerospace Science and Technology, Xidian University -- http://lists.linuxfromscratch.org/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page Do not top post on this list. A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing in e-mail? http://en.wikipedia.org/wiki/Posting_style