GDB does not stop at assembly code address

deffo
2016-10-14T15:21:41Z

Hi there,

I'm currently debugging the 32 bit Linux Kernel 4.8.1 remotely with GDB and Qemu i386 2.7. My GDB script looks like this:

target remote localhost:10000
source .
symbol-file vmlinux
set width 0
set height 0
set verbose off

b rest_init
commands
continue
end

b console_init
commands
continue
end

b start_kernel
commands
continue
end

b startup_32
commands
continue
end

continue

Now apparently I'm missing something, since the breakpoints in C land, that is start_kernel, console_init, rest_init are recognized as breakpoints and thus jumped at by GDB just fine.

What does not work is the breakpoint on startup_32, which is still in Assembly land. GDB just jumps over it as if it wasn't called, but it is definitely called since it's the 32-bit kernel entrypoint.

Is this due to some real-mode/protected-mode fiddlings?

Best regards,
J.