On Fri, Mar 17, 2023 at 10:33:22AM -0600, Tom Tromey wrote: > >>>>> "Segher" == Segher Boessenkool <seg...@kernel.crashing.org> writes: > > Segher> Yes. On most architectures you can get multiple machine instructions > of > Segher> course (for long calls for example), but on rs6000 (with some ABIs, in > Segher> some circumstances) we generate a nop insn after calls, so that the > Segher> linker has a spot to insert fixup code after calls (typically to > restore > Segher> the r2 contents, but it could be anything). > > FWIW I sent a gdb patch to work around this bug. However, in my > examples, I only ever saw a nop following the call instruction -- so I > had gdb check for this.
GCC inserts just a nop in most cases, but the linker or dynamic linker can replace it. > Patch is here: > > https://sourceware.org/pipermail/gdb-patches/2023-March/197951.html > > ... but I suppose I should change it to drop the nop check? > > It would of course be better not to have to have gdb work around this > problem. Yup. Segher