Bonjour Xi (hello the list), On Thu, 2021-02-11 at 10:51 +0800, Xi Ruoyao wrote: > 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. do you confirm it is binutil-2.36.1 related or is it a kernel only problem?
> -- > Xi Ruoyao <xry...@mengyan1223.wang> > School of Aerospace Science and Technology, Xidian University > -- You have seen "Linux from scratch" and looking for ISO files www.osukiss.org -- 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