On Tue, 2015-04-21 at 08:22 +0200, Jakub Jelinek wrote: > > -#if defined(__powerpc__) || defined(__powerpc64__) > > - // PCs are always 4 byte aligned. > > - return pc - 4; > > -#elif defined(__sparc__) || defined(__mips__) > > - return pc - 8; > > The SPARC/MIPS case is of course needed, because on these architectures > the call is followed by a delay slot. But I wonder why you need anything > special on any other architecture, why pc - 1 isn't good enough for those. > The point isn't to find a PC of the call instruction, on some targets that > is very hard and you need to disassemble, but to just find some byte in the > call instruction.
I wrote the "pc - 4" code for powerpc* and I guess I was just being pedantic on returning the first address of the instruction. If using "pc - 1" works, then I'm fine with that. Peter