X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gdb%2Fdcache.c;h=1716def4c4a08188ecfce039658aa52af385e1e3;hb=fa4dc567aec7664b3508dd9401b1fbb6d304f281;hp=3c8319f929f510fd48e2430b47ea78cffe8301e4;hpb=32d0add0a654c1204ab71dc8a55d9374538c4b33;p=external%2Fbinutils.git diff --git a/gdb/dcache.c b/gdb/dcache.c index 3c8319f..1716def 100644 --- a/gdb/dcache.c +++ b/gdb/dcache.c @@ -1,6 +1,6 @@ /* Caching code for GDB, the GNU debugger. - Copyright (C) 1992-2015 Free Software Foundation, Inc. + Copyright (C) 1992-2019 Free Software Foundation, Inc. This file is part of GDB. @@ -24,6 +24,7 @@ #include "target-dcache.h" #include "inferior.h" #include "splay-tree.h" +#include "gdbarch.h" /* Commands with a prefix of `{set,show} dcache'. */ static struct cmd_list_element *dcache_set_list = NULL; @@ -125,10 +126,6 @@ static int dcache_read_line (DCACHE *dcache, struct dcache_block *db); static struct dcache_block *dcache_alloc (DCACHE *dcache, CORE_ADDR addr); -static void dcache_info (char *exp, int tty); - -void _initialize_dcache (void); - static int dcache_enabled_p = 0; /* OBSOLETE */ static void @@ -370,8 +367,9 @@ dcache_alloc (DCACHE *dcache, CORE_ADDR addr) if (db) remove_block (&dcache->freelist, db); else - db = xmalloc (offsetof (struct dcache_block, data) + - dcache->line_size); + db = ((struct dcache_block *) + xmalloc (offsetof (struct dcache_block, data) + + dcache->line_size)); dcache->size++; } @@ -444,9 +442,7 @@ dcache_splay_tree_compare (splay_tree_key a, splay_tree_key b) DCACHE * dcache_init (void) { - DCACHE *dcache; - - dcache = (DCACHE *) xmalloc (sizeof (*dcache)); + DCACHE *dcache = XNEW (DCACHE); dcache->tree = splay_tree_new (dcache_splay_tree_compare, NULL, @@ -477,7 +473,7 @@ dcache_read_memory_partial (struct target_ops *ops, DCACHE *dcache, /* If this is a different inferior from what we've recorded, flush the cache. */ - if (! ptid_equal (inferior_ptid, dcache->ptid)) + if (inferior_ptid != dcache->ptid) { dcache_invalidate (dcache); dcache->ptid = inferior_ptid; @@ -498,9 +494,8 @@ dcache_read_memory_partial (struct target_ops *ops, DCACHE *dcache, { /* Even though reading the whole line failed, we may be able to read a piece starting where the caller wanted. */ - return ops->to_xfer_partial (ops, TARGET_OBJECT_MEMORY, NULL, - myaddr, NULL, memaddr, len, - xfered_len); + return raw_memory_xfer_partial (ops, myaddr, NULL, memaddr, len, + xfered_len); } else { @@ -589,7 +584,7 @@ dcache_print_line (DCACHE *dcache, int index) /* Parse EXP and show the info about DCACHE. */ static void -dcache_info_1 (DCACHE *dcache, char *exp) +dcache_info_1 (DCACHE *dcache, const char *exp) { splay_tree_node n; int i, refcount; @@ -601,7 +596,7 @@ dcache_info_1 (DCACHE *dcache, char *exp) i = strtol (exp, &linestart, 10); if (linestart == exp || i < 0) { - printf_filtered (_("Usage: info dcache [linenumber]\n")); + printf_filtered (_("Usage: info dcache [LINENUMBER]\n")); return; } @@ -614,14 +609,14 @@ dcache_info_1 (DCACHE *dcache, char *exp) dcache ? (unsigned) dcache->line_size : dcache_line_size); - if (dcache == NULL || ptid_equal (dcache->ptid, null_ptid)) + if (dcache == NULL || dcache->ptid == null_ptid) { printf_filtered (_("No data cache available.\n")); return; } printf_filtered (_("Contains data for %s\n"), - target_pid_to_str (dcache->ptid)); + target_pid_to_str (dcache->ptid).c_str ()); refcount = 0; @@ -644,13 +639,13 @@ dcache_info_1 (DCACHE *dcache, char *exp) } static void -dcache_info (char *exp, int tty) +info_dcache_command (const char *exp, int tty) { dcache_info_1 (target_dcache_get (), exp); } static void -set_dcache_size (char *args, int from_tty, +set_dcache_size (const char *args, int from_tty, struct cmd_list_element *c) { if (dcache_size == 0) @@ -662,7 +657,7 @@ set_dcache_size (char *args, int from_tty, } static void -set_dcache_line_size (char *args, int from_tty, +set_dcache_line_size (const char *args, int from_tty, struct cmd_list_element *c) { if (dcache_line_size < 2 @@ -676,7 +671,7 @@ set_dcache_line_size (char *args, int from_tty, } static void -set_dcache_command (char *arg, int from_tty) +set_dcache_command (const char *arg, int from_tty) { printf_unfiltered ( "\"set dcache\" must be followed by the name of a subcommand.\n"); @@ -684,7 +679,7 @@ set_dcache_command (char *arg, int from_tty) } static void -show_dcache_command (char *args, int from_tty) +show_dcache_command (const char *args, int from_tty) { cmd_show_list (dcache_show_list, from_tty, ""); } @@ -704,12 +699,13 @@ exists only for compatibility reasons."), show_dcache_enabled_p, &setlist, &showlist); - add_info ("dcache", dcache_info, + add_info ("dcache", info_dcache_command, _("\ Print information on the dcache performance.\n\ +Usage: info dcache [LINENUMBER]\n\ With no arguments, this command prints the cache configuration and a\n\ -summary of each line in the cache. Use \"info dcache to dump\"\n\ -the contents of a given line.")); +summary of each line in the cache. With an argument, dump\"\n\ +the contents of the given line.")); add_prefix_cmd ("dcache", class_obscure, set_dcache_command, _("\ Use this command to set number of lines in dcache and line-size."),