strace/linux/sh/arch_regs.c

3 lines
58 B
C
Raw Normal View History

static long sh_r0;
Cleanup print_pc Apparently, there are only two types of instruction pointer printers depending on the architecture: those that print a register that was fetched earlier, and those that fetch a register themselves using upeek. With this change, architectures of the first type have ARCH_PC_REG defined in their arch_regs.c file, architectures of the first type have ARCH_PC_PEEK_ADDR defined there, and the common code in syscall.c uses these macros to print the instruction pointer. * Makefile.am (EXTRA_DIST): Remove linux/*/print_pc.c. * linux/*/print_pc.c: Remove. * linux/aarch64/arch_regs.c(ARCH_PC_REG): Define macro. * linux/arc/arch_regs.c(ARCH_PC_REG): Likewise. * linux/arm/arch_regs.c(ARCH_PC_REG): Likewise. * linux/avr32/arch_regs.c(ARCH_PC_REG): Likewise. * linux/i386/arch_regs.c(ARCH_PC_REG): Likewise. * linux/ia64/arch_regs.c(ARCH_PC_REG): Likewise. * linux/metag/arch_regs.c(ARCH_PC_REG): Likewise. * linux/mips/arch_regs.c(ARCH_PC_REG): Likewise. * linux/nios2/arch_regs.c(ARCH_PC_REG): Likewise. * linux/or1k/arch_regs.c(ARCH_PC_REG): Likewise. * linux/powerpc64/arch_regs.c(ARCH_PC_REG): Likewise. * linux/powerpc/arch_regs.c(ARCH_PC_REG): Likewise. * linux/s390/arch_regs.c(ARCH_PC_REG): Likewise. * linux/s390x/arch_regs.c(ARCH_PC_REG): Likewise. * linux/sparc64/arch_regs.c(ARCH_PC_REG): Likewise. * linux/sparc/arch_regs.c(ARCH_PC_REG): Likewise. * linux/tile/arch_regs.c(ARCH_PC_REG): Likewise. * linux/x32/arch_regs.c(ARCH_PC_REG): Likewise. * linux/x86_64/arch_regs.c(ARCH_PC_REG): Likewise. * linux/alpha/arch_regs.c(ARCH_PC_PEEK_ADDR): Define macro. * linux/bfin/arch_regs.c(ARCH_PC_PEEK_ADDR): Likewise. * linux/crisv10/arch_regs.c(ARCH_PC_PEEK_ADDR): Likewise. * linux/crisv32/arch_regs.c(ARCH_PC_PEEK_ADDR): Likewise. * linux/hppa/arch_regs.c(ARCH_PC_PEEK_ADDR): Likewise. * linux/m68k/arch_regs.c(ARCH_PC_PEEK_ADDR): Likewise. * linux/microblaze/arch_regs.c(ARCH_PC_PEEK_ADDR): Likewise. * linux/sh64/arch_regs.c(ARCH_PC_PEEK_ADDR): Likewise. * linux/sh/arch_regs.c(ARCH_PC_PEEK_ADDR): Likewise. * linux/xtensa/arch_regs.c(ARCH_PC_PEEK_ADDR): Likewise. * syscall.c (print_pc): Stop including "print_pc.c". Use ARCH_PC_REG or ARCH_PC_PEEK_ADDR.
2015-11-30 06:30:51 +03:00
#define ARCH_PC_PEEK_ADDR (4 * REG_PC)