X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fbfd-target.c;h=519d5e725f9efc0e8a1b39d20bef47c6dacc93da;hb=2117c711ae07700adb57ea5b5ca61e4c32d7e3d2;hp=455d3e694ccac524423a19dde9a5a4b5f516eda0;hpb=520b0001c16bc59223bec1369d056787c1883f10;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/bfd-target.c b/gdb/bfd-target.c index 455d3e694c..519d5e725f 100644 --- a/gdb/bfd-target.c +++ b/gdb/bfd-target.c @@ -1,6 +1,6 @@ /* Very simple "bfd" target, for GDB, the GNU debugger. - Copyright (C) 2003, 2005, 2007-2012 Free Software Foundation, Inc. + Copyright (C) 2003-2014 Free Software Foundation, Inc. This file is part of GDB. @@ -36,12 +36,13 @@ struct target_bfd_data struct target_section_table table; }; -static LONGEST +static enum target_xfer_status target_bfd_xfer_partial (struct target_ops *ops, enum target_object object, const char *annex, gdb_byte *readbuf, const gdb_byte *writebuf, - ULONGEST offset, LONGEST len) + ULONGEST offset, ULONGEST len, + ULONGEST *xfered_len) { switch (object) { @@ -49,13 +50,13 @@ target_bfd_xfer_partial (struct target_ops *ops, { struct target_bfd_data *data = ops->to_data; return section_table_xfer_memory_partial (readbuf, writebuf, - offset, len, + offset, len, xfered_len, data->table.sections, data->table.sections_end, NULL); } default: - return -1; + return TARGET_XFER_E_IO; } } @@ -67,7 +68,7 @@ target_bfd_get_section_table (struct target_ops *ops) } static void -target_bfd_xclose (struct target_ops *t, int quitting) +target_bfd_xclose (struct target_ops *t) { struct target_bfd_data *data = t->to_data; @@ -83,12 +84,12 @@ target_bfd_reopen (struct bfd *abfd) struct target_ops *t; struct target_bfd_data *data; - data = XZALLOC (struct target_bfd_data); + data = XCNEW (struct target_bfd_data); data->bfd = abfd; gdb_bfd_ref (abfd); build_section_table (abfd, &data->table.sections, &data->table.sections_end); - t = XZALLOC (struct target_ops); + t = XCNEW (struct target_ops); t->to_shortname = "bfd"; t->to_longname = _("BFD backed target"); t->to_doc = _("You should never see this"); @@ -96,6 +97,7 @@ target_bfd_reopen (struct bfd *abfd) t->to_xfer_partial = target_bfd_xfer_partial; t->to_xclose = target_bfd_xclose; t->to_data = data; + t->to_magic = OPS_MAGIC; return t; }