Bug 197035
Summary: | objtool segfault with ORC unwinder enabled | ||
---|---|---|---|
Product: | Tools | Reporter: | Rafael Ristovski (rafael.ristovski) |
Component: | Other | Assignee: | Tools.Other (tools_other) |
Status: | RESOLVED CODE_FIX | ||
Severity: | high | CC: | jbuchert+kbugs, m4rkusxxl, rafael.ristovski |
Priority: | P1 | ||
Hardware: | x86-64 | ||
OS: | Linux | ||
Kernel Version: | 4.14-next | Subsystem: | |
Regression: | No | Bisected commit-id: |
Description
Rafael Ristovski
2017-09-25 18:53:19 UTC
More gdb: (from different file, disabled -O2 from objtool to get normally optimized-out values) (gdb) p relas $1 = (GElf_Rela *) 0x4504a0 (gdb) p idx $2 = 0 (gdb) p rela $3 = (struct rela *) 0x44f240 (gdb) p rela->sym $4 = (struct symbol *) 0x0 Seems like rela->sym is NULL but I'm not sure if that is the culprit Something I noticed: ``` ./tools/objtool/objtool orc generate --no-fp "arch/x86/kernel/quirks.o"; arch/x86/kernel/quirks.o: warning: objtool: vt8237_force_enable_hpet()+0x3a: sibling call from callable instruction with modified stack frame arch/x86/kernel/quirks.o: warning: objtool: nvidia_force_enable_hpet()+0x35: sibling call from callable instruction with modified stack frame arch/x86/kernel/quirks.o: warning: objtool: ati_force_enable_hpet()+0x40: sibling call from callable instruction with modified stack frame arch/x86/kernel/quirks.o: warning: objtool: force_hpet_resume()+0xd7: sibling call from callable instruction with modified stack frame /bin/sh: line 1: 22955 Segmentation fault ./tools/objtool/objtool orc generate --no-fp "arch/x86/kernel/quirks.o" ``` Commit id 4855022a52262411ce38c93dec4cb1470705c0a0 in -next seems to be related to this - https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?h=next-20170926&id=4855022a52262411ce38c93dec4cb1470705c0a0 Hit the same segfault in 4.14.9 as ORC seems to be enabled by default now. Using gcc 6.4.0 here. @Rafael Ristovski: Do you use the gold linker? (In reply to Markus from comment #4) > @Rafael Ristovski: Do you use the gold linker? Sorry for the slow reply, just got back from vacation. Yes, I do use the gold linker. Then we had the same issue: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=2a0098d70640dda192a79966c14d449e7a34d675 (Not yet in 4.15-rc8, but should be in the next version.) (In reply to Markus from comment #6) > Then we had the same issue: > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/ > ?id=2a0098d70640dda192a79966c14d449e7a34d675 > > (Not yet in 4.15-rc8, but should be in the next version.) I can confirm this indeed fixes the issue as I just finished compiling linux-next. Cheers! |