Skip to contentSkip to conversation

Unwinding stop on irq handler or across it?

DISCUSSION Yao Qi 2 participants 2 messages May 17, 2017 – May 23, 2017

lore
Share & tools
lore

Yao Qi

author
#0 lore raw

Hi,
When use GDB debug Linux kernel, GDB can't stop on unwinding from an irq handler,

#0  gic_handle_irq (regs=0xffffffc07d9c7e30) at drivers/irqchip/irq-gic.c:263
#1  0xffffffc000083ce4 in el1_irq () at arch/arm64/kernel/entry.S:346
#2  0xffffffc000083ce4 in el1_irq () at arch/arm64/kernel/entry.S:346
#3  0xffffffc000083ce4 in el1_irq () at arch/arm64/kernel/entry.S:346

....

This problem can be fixed by either adding .cfi directives in entry.S or adding some Linux awareness into GDB. I want to know what is the expected behavior? Is it reasonable that stack unwinding stops on irq handler, like el1_irq in this case? or something else?

Signature · 1 line
Yao (??)
#1 lore raw

Hi all,

Quoted 11 lines

Hi,
When use GDB debug Linux kernel, GDB can't stop on unwinding from an irq handler,

#0  gic_handle_irq (regs=0xffffffc07d9c7e30) at drivers/irqchip/irq-gic.c:263
#1  0xffffffc000083ce4 in el1_irq () at arch/arm64/kernel/entry.S:346
#2  0xffffffc000083ce4 in el1_irq () at arch/arm64/kernel/entry.S:346
#3  0xffffffc000083ce4 in el1_irq () at arch/arm64/kernel/entry.S:346 ....

This problem can be fixed by either adding .cfi directives in entry.S or adding some Linux awareness into GDB. I want to know what is the expected behavior? Is it reasonable that stack unwinding stops on irq handler, like el1_irq in this case? or something else?

Yao (??)

I'm really interested in finding a solution to this issue, do you have any comments on Yao's mail?

Best,
Johannes