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

Reply via email to