projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
* archive.c (SECTION Archives): Update documentation.
[deliverable/binutils-gdb.git]
/
gdb
/
cli
/
cli-dump.c
diff --git
a/gdb/cli/cli-dump.c
b/gdb/cli/cli-dump.c
index f164574bcd2c3971c8e9aaf971eb93a97ae3e927..7341f0029ef8dcd896bd98fe7cf3985ac3cc02b7 100644
(file)
--- a/
gdb/cli/cli-dump.c
+++ b/
gdb/cli/cli-dump.c
@@
-1,7
+1,6
@@
/* Dump-to-file commands, for GDB, the GNU debugger.
/* Dump-to-file commands, for GDB, the GNU debugger.
- Copyright (c) 2002, 2005, 2007, 2008, 2009, 2010
- Free Software Foundation, Inc.
+ Copyright (c) 2002, 2005, 2007-2012 Free Software Foundation, Inc.
Contributed by Red Hat.
Contributed by Red Hat.
@@
-32,20
+31,12
@@
#include "target.h"
#include "readline/readline.h"
#include "gdbcore.h"
#include "target.h"
#include "readline/readline.h"
#include "gdbcore.h"
+#include "cli/cli-utils.h"
+#include "gdb_bfd.h"
#define XMALLOC(TYPE) ((TYPE*) xmalloc (sizeof (TYPE)))
#define XMALLOC(TYPE) ((TYPE*) xmalloc (sizeof (TYPE)))
-char *
-skip_spaces (char *chp)
-{
- if (chp == NULL)
- return NULL;
- while (isspace (*chp))
- chp++;
- return chp;
-}
-
char *
scan_expression_with_cleanup (char **cmd, const char *def)
{
char *
scan_expression_with_cleanup (char **cmd, const char *def)
{
@@
-121,12
+112,12
@@
bfd_openr_with_cleanup (const char *filename, const char *target)
{
bfd *ibfd;
{
bfd *ibfd;
- ibfd = bfd_openr (filename, target);
+ ibfd =
gdb_
bfd_openr (filename, target);
if (ibfd == NULL)
error (_("Failed to open %s: %s."), filename,
bfd_errmsg (bfd_get_error ()));
if (ibfd == NULL)
error (_("Failed to open %s: %s."), filename,
bfd_errmsg (bfd_get_error ()));
- make_cleanup_bfd_
close
(ibfd);
+ make_cleanup_bfd_
unref
(ibfd);
if (!bfd_check_format (ibfd, bfd_object))
error (_("'%s' is not a recognized file format."), filename);
if (!bfd_check_format (ibfd, bfd_object))
error (_("'%s' is not a recognized file format."), filename);
@@
-141,11
+132,11
@@
bfd_openw_with_cleanup (const char *filename, const char *target,
if (*mode == 'w') /* Write: create new file */
{
if (*mode == 'w') /* Write: create new file */
{
- obfd = bfd_openw (filename, target);
+ obfd =
gdb_
bfd_openw (filename, target);
if (obfd == NULL)
error (_("Failed to open %s: %s."), filename,
bfd_errmsg (bfd_get_error ()));
if (obfd == NULL)
error (_("Failed to open %s: %s."), filename,
bfd_errmsg (bfd_get_error ()));
- make_cleanup_bfd_
close
(obfd);
+ make_cleanup_bfd_
unref
(obfd);
if (!bfd_set_format (obfd, bfd_object))
error (_("bfd_openw_with_cleanup: %s."), bfd_errmsg (bfd_get_error ()));
}
if (!bfd_set_format (obfd, bfd_object))
error (_("bfd_openw_with_cleanup: %s."), bfd_errmsg (bfd_get_error ()));
}
@@
-183,7
+174,7
@@
append_command (char *cmd, int from_tty)
static void
dump_binary_file (const char *filename, const char *mode,
static void
dump_binary_file (const char *filename, const char *mode,
- const bfd_byte *buf,
int
len)
+ const bfd_byte *buf,
ULONGEST
len)
{
FILE *file;
int status;
{
FILE *file;
int status;
@@
-197,7
+188,7
@@
dump_binary_file (const char *filename, const char *mode,
static void
dump_bfd_file (const char *filename, const char *mode,
const char *target, CORE_ADDR vaddr,
static void
dump_bfd_file (const char *filename, const char *mode,
const char *target, CORE_ADDR vaddr,
- const bfd_byte *buf,
int
len)
+ const bfd_byte *buf,
ULONGEST
len)
{
bfd *obfd;
asection *osection;
{
bfd *obfd;
asection *osection;
@@
-211,7
+202,9
@@
dump_bfd_file (const char *filename, const char *mode,
| SEC_ALLOC
| SEC_LOAD));
osection->entsize = 0;
| SEC_ALLOC
| SEC_LOAD));
osection->entsize = 0;
- bfd_set_section_contents (obfd, osection, buf, 0, len);
+ if (!bfd_set_section_contents (obfd, osection, buf, 0, len))
+ warning (_("writing dump file '%s' (%s)"), filename,
+ bfd_errmsg (bfd_get_error ()));
}
static void
}
static void
@@
-520,7
+513,11
@@
restore_binary_file (char *filename, struct callback_data *data)
/* Get the file size for reading. */
if (fseek (file, 0, SEEK_END) == 0)
/* Get the file size for reading. */
if (fseek (file, 0, SEEK_END) == 0)
- len = ftell (file);
+ {
+ len = ftell (file);
+ if (len < 0)
+ perror_with_name (filename);
+ }
else
perror_with_name (filename);
else
perror_with_name (filename);
@@
-668,13
+665,13
@@
_initialize_cli_dump (void)
{
struct cmd_list_element *c;
{
struct cmd_list_element *c;
- add_prefix_cmd ("dump", class_vars, dump_command,
_("\
-Dump target code/data to a local file."),
+ add_prefix_cmd ("dump", class_vars, dump_command,
+
_("
Dump target code/data to a local file."),
&dump_cmdlist, "dump ",
0/*allow-unknown*/,
&cmdlist);
&dump_cmdlist, "dump ",
0/*allow-unknown*/,
&cmdlist);
- add_prefix_cmd ("append", class_vars, append_command,
_("\
-Append target code/data to a local file."),
+ add_prefix_cmd ("append", class_vars, append_command,
+
_("
Append target code/data to a local file."),
&append_cmdlist, "append ",
0/*allow-unknown*/,
&cmdlist);
&append_cmdlist, "append ",
0/*allow-unknown*/,
&cmdlist);
@@
-682,39
+679,39
@@
Append target code/data to a local file."),
add_dump_command ("memory", dump_memory_command, "\
Write contents of memory to a raw binary file.\n\
Arguments are FILE START STOP. Writes the contents of memory within the\n\
add_dump_command ("memory", dump_memory_command, "\
Write contents of memory to a raw binary file.\n\
Arguments are FILE START STOP. Writes the contents of memory within the\n\
-range [START .. STOP) to the specifed FILE in raw target ordered bytes.");
+range [START .. STOP) to the specif
i
ed FILE in raw target ordered bytes.");
add_dump_command ("value", dump_value_command, "\
Write the value of an expression to a raw binary file.\n\
Arguments are FILE EXPRESSION. Writes the value of EXPRESSION to\n\
the specified FILE in raw target ordered bytes.");
add_dump_command ("value", dump_value_command, "\
Write the value of an expression to a raw binary file.\n\
Arguments are FILE EXPRESSION. Writes the value of EXPRESSION to\n\
the specified FILE in raw target ordered bytes.");
- add_prefix_cmd ("srec", all_commands, srec_dump_command,
_("\
-Write target code/data to an srec file."),
+ add_prefix_cmd ("srec", all_commands, srec_dump_command,
+
_("
Write target code/data to an srec file."),
&srec_cmdlist, "dump srec ",
0 /*allow-unknown*/,
&dump_cmdlist);
&srec_cmdlist, "dump srec ",
0 /*allow-unknown*/,
&dump_cmdlist);
- add_prefix_cmd ("ihex", all_commands, ihex_dump_command,
_("\
-Write target code/data to an intel hex file."),
+ add_prefix_cmd ("ihex", all_commands, ihex_dump_command,
+
_("
Write target code/data to an intel hex file."),
&ihex_cmdlist, "dump ihex ",
0 /*allow-unknown*/,
&dump_cmdlist);
&ihex_cmdlist, "dump ihex ",
0 /*allow-unknown*/,
&dump_cmdlist);
- add_prefix_cmd ("tekhex", all_commands, tekhex_dump_command,
_("\
-Write target code/data to a tekhex file."),
+ add_prefix_cmd ("tekhex", all_commands, tekhex_dump_command,
+
_("
Write target code/data to a tekhex file."),
&tekhex_cmdlist, "dump tekhex ",
0 /*allow-unknown*/,
&dump_cmdlist);
&tekhex_cmdlist, "dump tekhex ",
0 /*allow-unknown*/,
&dump_cmdlist);
- add_prefix_cmd ("binary", all_commands, binary_dump_command,
_("\
-Write target code/data to a raw binary file."),
+ add_prefix_cmd ("binary", all_commands, binary_dump_command,
+
_("
Write target code/data to a raw binary file."),
&binary_dump_cmdlist, "dump binary ",
0 /*allow-unknown*/,
&dump_cmdlist);
&binary_dump_cmdlist, "dump binary ",
0 /*allow-unknown*/,
&dump_cmdlist);
- add_prefix_cmd ("binary", all_commands, binary_append_command,
_("\
-Append target code/data to a raw binary file."),
+ add_prefix_cmd ("binary", all_commands, binary_append_command,
+
_("
Append target code/data to a raw binary file."),
&binary_append_cmdlist, "append binary ",
0 /*allow-unknown*/,
&append_cmdlist);
&binary_append_cmdlist, "append binary ",
0 /*allow-unknown*/,
&append_cmdlist);
@@
-722,7
+719,7
@@
Append target code/data to a raw binary file."),
add_cmd ("memory", all_commands, dump_srec_memory, _("\
Write contents of memory to an srec file.\n\
Arguments are FILE START STOP. Writes the contents of memory\n\
add_cmd ("memory", all_commands, dump_srec_memory, _("\
Write contents of memory to an srec file.\n\
Arguments are FILE START STOP. Writes the contents of memory\n\
-within the range [START .. STOP) to the specifed FILE in srec format."),
+within the range [START .. STOP) to the specif
i
ed FILE in srec format."),
&srec_cmdlist);
add_cmd ("value", all_commands, dump_srec_value, _("\
&srec_cmdlist);
add_cmd ("value", all_commands, dump_srec_value, _("\
@@
-734,7
+731,7
@@
to the specified FILE in srec format."),
add_cmd ("memory", all_commands, dump_ihex_memory, _("\
Write contents of memory to an ihex file.\n\
Arguments are FILE START STOP. Writes the contents of memory within\n\
add_cmd ("memory", all_commands, dump_ihex_memory, _("\
Write contents of memory to an ihex file.\n\
Arguments are FILE START STOP. Writes the contents of memory within\n\
-the range [START .. STOP) to the specifed FILE in intel hex format."),
+the range [START .. STOP) to the specif
i
ed FILE in intel hex format."),
&ihex_cmdlist);
add_cmd ("value", all_commands, dump_ihex_value, _("\
&ihex_cmdlist);
add_cmd ("value", all_commands, dump_ihex_value, _("\
@@
-746,7
+743,7
@@
to the specified FILE in intel hex format."),
add_cmd ("memory", all_commands, dump_tekhex_memory, _("\
Write contents of memory to a tekhex file.\n\
Arguments are FILE START STOP. Writes the contents of memory\n\
add_cmd ("memory", all_commands, dump_tekhex_memory, _("\
Write contents of memory to a tekhex file.\n\
Arguments are FILE START STOP. Writes the contents of memory\n\
-within the range [START .. STOP) to the specifed FILE in tekhex format."),
+within the range [START .. STOP) to the specif
i
ed FILE in tekhex format."),
&tekhex_cmdlist);
add_cmd ("value", all_commands, dump_tekhex_value, _("\
&tekhex_cmdlist);
add_cmd ("value", all_commands, dump_tekhex_value, _("\
@@
-758,7
+755,7
@@
to the specified FILE in tekhex format."),
add_cmd ("memory", all_commands, dump_binary_memory, _("\
Write contents of memory to a raw binary file.\n\
Arguments are FILE START STOP. Writes the contents of memory\n\
add_cmd ("memory", all_commands, dump_binary_memory, _("\
Write contents of memory to a raw binary file.\n\
Arguments are FILE START STOP. Writes the contents of memory\n\
-within the range [START .. STOP) to the specifed FILE in binary format."),
+within the range [START .. STOP) to the specif
i
ed FILE in binary format."),
&binary_dump_cmdlist);
add_cmd ("value", all_commands, dump_binary_value, _("\
&binary_dump_cmdlist);
add_cmd ("value", all_commands, dump_binary_value, _("\
@@
-770,7
+767,7
@@
to the specified FILE in raw target ordered bytes."),
add_cmd ("memory", all_commands, append_binary_memory, _("\
Append contents of memory to a raw binary file.\n\
Arguments are FILE START STOP. Writes the contents of memory within the\n\
add_cmd ("memory", all_commands, append_binary_memory, _("\
Append contents of memory to a raw binary file.\n\
Arguments are FILE START STOP. Writes the contents of memory within the\n\
-range [START .. STOP) to the specifed FILE in raw target ordered bytes."),
+range [START .. STOP) to the specif
i
ed FILE in raw target ordered bytes."),
&binary_append_cmdlist);
add_cmd ("value", all_commands, append_binary_value, _("\
&binary_append_cmdlist);
add_cmd ("value", all_commands, append_binary_value, _("\
This page took
0.027169 seconds
and
4
git commands to generate.