Re: [PATCH v2 13/16] scripts/kallsyms: move ignored symbol types to is_ignored_symbol()
On Mon, 20 Jul 2020, Masahiro Yamada wrote: > > I got a similar report before. > > I'd like to know whether or not > this is the same issue as fixed by > 7883a14339299773b2ce08dcfd97c63c199a9289 > The problem can be observed with 3d77e6a8804ab ("Linux 5.7"). So it appears that 7883a14339299 ("scripts/kallsyms: fix wrong kallsyms_relative_base") is not sufficient to fix it. > > Does your problem happen on the latest kernel? Unfortunately this cross compiler (gcc 4.6.4) is too old to build v5.8-rc1 or later. I will have to upgrade. > Which version of binutils are you using? > This toolchain uses binutils 2.22. In case it helps, $ powerpc-linux-gnu-nm -n vmlinux |head w mach_chrp 0005 a LG_CACHELINE_BYTES 0005 a LG_CACHELINE_BYTES 0005 a LG_CACHELINE_BYTES 000c a Hash_bits 001f a CACHELINE_MASK 001f a CACHELINE_MASK 001f a CACHELINE_MASK 0020 a CACHELINE_BYTES 0020 a CACHELINE_BYTES 0020 a CACHELINE_BYTES 0020 a reg 0003ffc0 a Hash_msk c000 T _start c000 A _stext c000 A _text c00c T __start c054 t __after_mmu_off c090 t turn_on_mmu c0c4 T __secondary_hold c0dc T __secondary_hold_spinloop c0e0 T __secondary_hold_acknowledge c100 t Reset
Re: [PATCH v2 13/16] scripts/kallsyms: move ignored symbol types to is_ignored_symbol()
On Mon, Jul 20, 2020 at 10:46 AM Finn Thain wrote: > > On Sun, 24 Nov 2019, Masahiro Yamada wrote: > > > Collect the ignored patterns to is_ignored_symbol(). > > > > Signed-off-by: Masahiro Yamada > > This commit (887df76de67f5) caused a regression in my powerpc builds as it > causes symbol names to disappear from backtraces: > > [ cut here ] > WARNING: CPU: 0 PID: 0 at kernel/smp.c:433 _einittext+0x3f9e5120/0x3feb71b8 > Modules linked in: > CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.4.0-rc7-pmac-00055-g887df76de67f5 > #18 > NIP: c00aef68 LR: c00af114 CTR: c001272c > REGS: c0705c40 TRAP: 0700 Not tainted (5.4.0-rc7-pmac-00055-g887df76de67f5) > MSR: 00029032 CR: 4244 XER: > > GPR00: 001f0100 c0705cf8 c06dc300 c070af1c c001258c ef7fb5bc > GPR08: 0880 0100 0001 0100 4244 c0709040 0004 > GPR16: 0001 c06022b4 c058297c 0022 8cb9 c06d84a0 c071 > GPR24: c071 c070af1c c070af1c c001258c > NIP [c00aef68] _einittext+0x3f9e5120/0x3feb71b8 > LR [c00af114] _einittext+0x3f9e52cc/0x3feb71b8 > Call Trace: > [c0705cf8] [ef006320] 0xef006320 (unreliable) > [c0705d38] [c00af114] _einittext+0x3f9e52cc/0x3feb71b8 > [c0705d48] [c00af158] _einittext+0x3f9e5310/0x3feb71b8 > [c0705d68] [c0012768] _einittext+0x3f948920/0x3feb71b8 > [c0705d78] [c0092c04] _einittext+0x3f9c8dbc/0x3feb71b8 > [c0705d88] [c0092d18] _einittext+0x3f9c8ed0/0x3feb71b8 > [c0705da8] [c0093a2c] _einittext+0x3f9c9be4/0x3feb71b8 > [c0705de8] [c0580224] _einittext+0x3feb63dc/0x3feb71b8 > [c0705e48] [c00382ec] _einittext+0x3f96e4a4/0x3feb71b8 > [c0705e58] [c000d2a0] _einittext+0x3f943458/0x3feb71b8 > [c0705e88] [c001353c] _einittext+0x3f9496f4/0x3feb71b8 > --- interrupt: 901 at _einittext+0x3f941058/0x3feb71b8 > LR = _einittext+0x3f941058/0x3feb71b8 > [c0705f50] [c06cc214] 0xc06cc214 (unreliable) > [c0705f60] [c057fa20] _einittext+0x3feb5bd8/0x3feb71b8 > [c0705f70] [c005de48] _einittext+0x3f994000/0x3feb71b8 > [c0705f90] [c005e050] _einittext+0x3f994208/0x3feb71b8 > [c0705fa0] [c0004cc8] _einittext+0x3f93ae80/0x3feb71b8 > [c0705fb0] [c069a36c] _einittext+0x3ffd0524/0x4000 > [c0705ff0] [3500] 0x3500 > Instruction dump: > 7c0803a6 7fa5eb78 7d808120 7ea6ab78 baa10014 38210040 4bfffbb0 7f64db78 > 7f85e378 484b31b1 7c601b78 4bfffdf4 <0fe0> 4bfffd60 9421ffe0 7c0802a6 > ---[ end trace a06fef4788747c72 ]--- > > > Prior to that (e.g. 97261e1e2240f), I get backtraces like this: > > [ cut here ] > WARNING: CPU: 0 PID: 0 at kernel/smp.c:433 smp_call_function_many+0x318/0x320 > Modules linked in: > CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.4.0-rc7-pmac-00054-g97261e1e2240f > #20 > NIP: c00aef68 LR: c00af114 CTR: c001272c > REGS: c075dc40 TRAP: 0700 Not tainted (5.4.0-rc7-pmac-00054-g97261e1e2240f) > MSR: 00029032 CR: 4244 XER: > > GPR00: 001f0100 c075dcf8 c0733300 c0762f1c c001258c ef7fb5bc > GPR08: 0480 0100 0001 0100 4244 c0761040 0004 > GPR16: 0001 c0658e58 c058297c 0022 8cb9 c072f4a0 c076 > GPR24: c076 c0762f1c c0762f1c c001258c > NIP [c00aef68] smp_call_function_many+0x318/0x320 > LR [c00af114] smp_call_function+0x34/0x44 > Call Trace: > [c075dcf8] [ef006320] 0xef006320 (unreliable) > [c075dd38] [c00af114] smp_call_function+0x34/0x44 > [c075dd48] [c00af158] on_each_cpu+0x1c/0x4c > [c075dd68] [c0012768] tau_timeout_smp+0x3c/0x4c > [c075dd78] [c0092c04] call_timer_fn.isra.26+0x20/0x84 > [c075dd88] [c0092d18] expire_timers+0xb0/0xc0 > [c075dda8] [c0093a2c] run_timer_softirq+0xa4/0x1a4 > [c075dde8] [c0580224] __do_softirq+0x11c/0x280 > [c075de48] [c00382ec] irq_exit+0xc0/0xd4 > [c075de58] [c000d2a0] timer_interrupt+0x154/0x260 > [c075de88] [c001353c] ret_from_except+0x0/0x14 > --- interrupt: 901 at arch_cpu_idle+0x24/0x78 > LR = arch_cpu_idle+0x24/0x78 > [c075df50] [c0723214] 0xc0723214 (unreliable) > [c075df60] [c057fa20] default_idle_call+0x38/0x58 > [c075df70] [c005de48] do_idle+0xd4/0x17c > [c075df90] [c005e054] cpu_startup_entry+0x24/0x28 > [c075dfa0] [c0004cc8] rest_init+0xa8/0xbc > [c075dfb0] [c06f136c] start_kernel+0x40c/0x420 > [c075dff0] [3500] 0x3500 > Instruction dump: > 7c0803a6 7fa5eb78 7d808120 7ea6ab78 baa10014 38210040 4bfffbb0 7f64db78 > 7f85e378 484b31b1 7c601b78 4bfffdf4 <0fe0> 4bfffd60 9421ffe0 7c0802a6 > ---[ end trace 784c7f15ecd23941 ]--- > > Has anyone else observed these problems (either the WARNING from > smp_call_function_many() or the missing symbol names)? > > What is the best way to fix this? Should I upgrade binutils? I got a similar report before. I'd like to know whether or not this is the same issue as fixed by 7883a14339299773b2ce08dcfd97c63c199a9289 Does your problem happen on the latest kernel? Which version of binutils are you using? -- Best Regards Masahiro Yamada
Re: [PATCH v2 13/16] scripts/kallsyms: move ignored symbol types to is_ignored_symbol()
On Sun, 24 Nov 2019, Masahiro Yamada wrote: > Collect the ignored patterns to is_ignored_symbol(). > > Signed-off-by: Masahiro Yamada This commit (887df76de67f5) caused a regression in my powerpc builds as it causes symbol names to disappear from backtraces: [ cut here ] WARNING: CPU: 0 PID: 0 at kernel/smp.c:433 _einittext+0x3f9e5120/0x3feb71b8 Modules linked in: CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.4.0-rc7-pmac-00055-g887df76de67f5 #18 NIP: c00aef68 LR: c00af114 CTR: c001272c REGS: c0705c40 TRAP: 0700 Not tainted (5.4.0-rc7-pmac-00055-g887df76de67f5) MSR: 00029032 CR: 4244 XER: GPR00: 001f0100 c0705cf8 c06dc300 c070af1c c001258c ef7fb5bc GPR08: 0880 0100 0001 0100 4244 c0709040 0004 GPR16: 0001 c06022b4 c058297c 0022 8cb9 c06d84a0 c071 GPR24: c071 c070af1c c070af1c c001258c NIP [c00aef68] _einittext+0x3f9e5120/0x3feb71b8 LR [c00af114] _einittext+0x3f9e52cc/0x3feb71b8 Call Trace: [c0705cf8] [ef006320] 0xef006320 (unreliable) [c0705d38] [c00af114] _einittext+0x3f9e52cc/0x3feb71b8 [c0705d48] [c00af158] _einittext+0x3f9e5310/0x3feb71b8 [c0705d68] [c0012768] _einittext+0x3f948920/0x3feb71b8 [c0705d78] [c0092c04] _einittext+0x3f9c8dbc/0x3feb71b8 [c0705d88] [c0092d18] _einittext+0x3f9c8ed0/0x3feb71b8 [c0705da8] [c0093a2c] _einittext+0x3f9c9be4/0x3feb71b8 [c0705de8] [c0580224] _einittext+0x3feb63dc/0x3feb71b8 [c0705e48] [c00382ec] _einittext+0x3f96e4a4/0x3feb71b8 [c0705e58] [c000d2a0] _einittext+0x3f943458/0x3feb71b8 [c0705e88] [c001353c] _einittext+0x3f9496f4/0x3feb71b8 --- interrupt: 901 at _einittext+0x3f941058/0x3feb71b8 LR = _einittext+0x3f941058/0x3feb71b8 [c0705f50] [c06cc214] 0xc06cc214 (unreliable) [c0705f60] [c057fa20] _einittext+0x3feb5bd8/0x3feb71b8 [c0705f70] [c005de48] _einittext+0x3f994000/0x3feb71b8 [c0705f90] [c005e050] _einittext+0x3f994208/0x3feb71b8 [c0705fa0] [c0004cc8] _einittext+0x3f93ae80/0x3feb71b8 [c0705fb0] [c069a36c] _einittext+0x3ffd0524/0x4000 [c0705ff0] [3500] 0x3500 Instruction dump: 7c0803a6 7fa5eb78 7d808120 7ea6ab78 baa10014 38210040 4bfffbb0 7f64db78 7f85e378 484b31b1 7c601b78 4bfffdf4 <0fe0> 4bfffd60 9421ffe0 7c0802a6 ---[ end trace a06fef4788747c72 ]--- Prior to that (e.g. 97261e1e2240f), I get backtraces like this: [ cut here ] WARNING: CPU: 0 PID: 0 at kernel/smp.c:433 smp_call_function_many+0x318/0x320 Modules linked in: CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.4.0-rc7-pmac-00054-g97261e1e2240f #20 NIP: c00aef68 LR: c00af114 CTR: c001272c REGS: c075dc40 TRAP: 0700 Not tainted (5.4.0-rc7-pmac-00054-g97261e1e2240f) MSR: 00029032 CR: 4244 XER: GPR00: 001f0100 c075dcf8 c0733300 c0762f1c c001258c ef7fb5bc GPR08: 0480 0100 0001 0100 4244 c0761040 0004 GPR16: 0001 c0658e58 c058297c 0022 8cb9 c072f4a0 c076 GPR24: c076 c0762f1c c0762f1c c001258c NIP [c00aef68] smp_call_function_many+0x318/0x320 LR [c00af114] smp_call_function+0x34/0x44 Call Trace: [c075dcf8] [ef006320] 0xef006320 (unreliable) [c075dd38] [c00af114] smp_call_function+0x34/0x44 [c075dd48] [c00af158] on_each_cpu+0x1c/0x4c [c075dd68] [c0012768] tau_timeout_smp+0x3c/0x4c [c075dd78] [c0092c04] call_timer_fn.isra.26+0x20/0x84 [c075dd88] [c0092d18] expire_timers+0xb0/0xc0 [c075dda8] [c0093a2c] run_timer_softirq+0xa4/0x1a4 [c075dde8] [c0580224] __do_softirq+0x11c/0x280 [c075de48] [c00382ec] irq_exit+0xc0/0xd4 [c075de58] [c000d2a0] timer_interrupt+0x154/0x260 [c075de88] [c001353c] ret_from_except+0x0/0x14 --- interrupt: 901 at arch_cpu_idle+0x24/0x78 LR = arch_cpu_idle+0x24/0x78 [c075df50] [c0723214] 0xc0723214 (unreliable) [c075df60] [c057fa20] default_idle_call+0x38/0x58 [c075df70] [c005de48] do_idle+0xd4/0x17c [c075df90] [c005e054] cpu_startup_entry+0x24/0x28 [c075dfa0] [c0004cc8] rest_init+0xa8/0xbc [c075dfb0] [c06f136c] start_kernel+0x40c/0x420 [c075dff0] [3500] 0x3500 Instruction dump: 7c0803a6 7fa5eb78 7d808120 7ea6ab78 baa10014 38210040 4bfffbb0 7f64db78 7f85e378 484b31b1 7c601b78 4bfffdf4 <0fe0> 4bfffd60 9421ffe0 7c0802a6 ---[ end trace 784c7f15ecd23941 ]--- Has anyone else observed these problems (either the WARNING from smp_call_function_many() or the missing symbol names)? What is the best way to fix this? Should I upgrade binutils?