X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fgdbserver%2Flinux-crisv32-low.c;h=16c1f72015136371e38017b7467fafcda5c5282a;hb=476350ba4800f1144b125f6511a5e25b223cc90b;hp=4f9afa6d9f0edcf89070b55c155e8d21ffc4eb4b;hpb=7d00775ece9e2364da5cfd65ebbfce515859667f;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/gdbserver/linux-crisv32-low.c b/gdb/gdbserver/linux-crisv32-low.c index 4f9afa6d9f..16c1f72015 100644 --- a/gdb/gdbserver/linux-crisv32-low.c +++ b/gdb/gdbserver/linux-crisv32-low.c @@ -1,5 +1,5 @@ /* GNU/Linux/CRIS specific low level interface, for the remote server for GDB. - Copyright (C) 1995-2015 Free Software Foundation, Inc. + Copyright (C) 1995-2016 Free Software Foundation, Inc. This file is part of GDB. @@ -55,25 +55,6 @@ static int cris_regmap[] = { }; -extern int debug_threads; - -static CORE_ADDR -cris_get_pc (struct regcache *regcache) -{ - unsigned long pc; - collect_register_by_name (regcache, "pc", &pc); - if (debug_threads) - debug_printf ("stop pc is %08lx\n", pc); - return pc; -} - -static void -cris_set_pc (struct regcache *regcache, CORE_ADDR pc) -{ - unsigned long newpc = pc; - supply_register_by_name (regcache, "pc", &newpc); -} - static const unsigned short cris_breakpoint = 0xe938; #define cris_breakpoint_len 2 @@ -101,23 +82,6 @@ cris_breakpoint_at (CORE_ADDR where) return 0; } -/* We only place breakpoints in empty marker functions, and thread locking - is outside of the function. So rather than importing software single-step, - we can just run until exit. */ - -/* FIXME: This function should not be needed, since we have PTRACE_SINGLESTEP - for CRISv32. Without it, td_ta_event_getmsg in thread_db_create_event - will fail when debugging multi-threaded applications. */ - -static CORE_ADDR -cris_reinsert_addr (void) -{ - struct regcache *regcache = get_thread_regcache (current_thread, 1); - unsigned long pc; - collect_register_by_name (regcache, "srp", &pc); - return pc; -} - static void cris_write_data_breakpoint (struct regcache *regcache, int bp, unsigned long start, unsigned long end) @@ -435,11 +399,11 @@ struct linux_target_ops the_low_target = { NULL, NULL, NULL, /* fetch_register */ - cris_get_pc, - cris_set_pc, + linux_get_pc_32bit, + linux_set_pc_32bit, NULL, /* breakpoint_kind_from_pc */ cris_sw_breakpoint_from_kind, - cris_reinsert_addr, + NULL, /* get_next_pcs */ 0, cris_breakpoint_at, cris_supports_z_point_type,