projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git]
/
gdb
/
bsd-kvm.c
diff --git
a/gdb/bsd-kvm.c
b/gdb/bsd-kvm.c
index af8305f3867b58f269c4e9c59b6a6fd77780f3ef..b1b1fee5f4f4e8203ff88102e2f6dc37d33e1845 100644
(file)
--- a/
gdb/bsd-kvm.c
+++ b/
gdb/bsd-kvm.c
@@
-1,6
+1,6
@@
/* BSD Kernel Data Access Library (libkvm) interface.
/* BSD Kernel Data Access Library (libkvm) interface.
- Copyright (C) 2004-20
18
Free Software Foundation, Inc.
+ Copyright (C) 2004-20
20
Free Software Foundation, Inc.
This file is part of GDB.
This file is part of GDB.
@@
-24,10
+24,12
@@
#include "frame.h"
#include "regcache.h"
#include "target.h"
#include "frame.h"
#include "regcache.h"
#include "target.h"
+#include "process-stratum-target.h"
#include "value.h"
#include "gdbcore.h"
#include "inferior.h" /* for get_exec_file */
#include "gdbthread.h"
#include "value.h"
#include "gdbcore.h"
#include "inferior.h" /* for get_exec_file */
#include "gdbthread.h"
+#include "gdbsupport/pathstuff.h"
#include <fcntl.h>
#include <kvm.h>
#include <fcntl.h>
#include <kvm.h>
@@
-71,11
+73,10
@@
static const target_info bsd_kvm_target_info = {
Optionally specify the filename of a core dump.")
};
Optionally specify the filename of a core dump.")
};
-class bsd_kvm_target final : public
target_ops
+class bsd_kvm_target final : public
process_stratum_target
{
public:
{
public:
- bsd_kvm_target ()
- { this->to_stratum = process_stratum; }
+ bsd_kvm_target () = default;
const target_info &info () const override
{ return bsd_kvm_target_info; }
const target_info &info () const override
{ return bsd_kvm_target_info; }
@@
-92,7
+93,7
@@
public:
void files_info () override;
bool thread_alive (ptid_t ptid) override;
void files_info () override;
bool thread_alive (ptid_t ptid) override;
-
const char *
pid_to_str (ptid_t) override;
+
std::string
pid_to_str (ptid_t) override;
bool has_memory () override { return true; }
bool has_stack () override { return true; }
bool has_memory () override { return true; }
bool has_stack () override { return true; }
@@
-106,7
+107,7
@@
static void
bsd_kvm_target_open (const char *arg, int from_tty)
{
char errbuf[_POSIX2_LINE_MAX];
bsd_kvm_target_open (const char *arg, int from_tty)
{
char errbuf[_POSIX2_LINE_MAX];
- char *execfile = NULL;
+ c
onst c
har *execfile = NULL;
kvm_t *temp_kd;
char *filename = NULL;
kvm_t *temp_kd;
char *filename = NULL;
@@
-114,14
+115,13
@@
bsd_kvm_target_open (const char *arg, int from_tty)
if (arg)
{
if (arg)
{
- char *temp;
-
filename = tilde_expand (arg);
if (filename[0] != '/')
{
filename = tilde_expand (arg);
if (filename[0] != '/')
{
- temp = concat (current_directory, "/", filename, (char *)NULL);
+ gdb::unique_xmalloc_ptr<char> temp (gdb_abspath (filename));
+
xfree (filename);
xfree (filename);
- filename = temp;
+ filename = temp
.release ()
;
}
}
}
}
@@
-136,7
+136,7
@@
bsd_kvm_target_open (const char *arg, int from_tty)
core_kd = temp_kd;
push_target (&bsd_kvm_ops);
core_kd = temp_kd;
push_target (&bsd_kvm_ops);
- add_thread_silent (bsd_kvm_ptid);
+ add_thread_silent (
&bsd_kvm_ops,
bsd_kvm_ptid);
inferior_ptid = bsd_kvm_ptid;
target_fetch_registers (get_current_regcache (), -1);
inferior_ptid = bsd_kvm_ptid;
target_fetch_registers (get_current_regcache (), -1);
@@
-156,7
+156,7
@@
bsd_kvm_target::close ()
}
inferior_ptid = null_ptid;
}
inferior_ptid = null_ptid;
-
discard_all_inferiors (
);
+
exit_inferior_silent (current_inferior ()
);
}
static LONGEST
}
static LONGEST
@@
-368,12
+368,10
@@
bsd_kvm_target::thread_alive (ptid_t ptid)
return true;
}
return true;
}
-const char *
+std::string
bsd_kvm_target::pid_to_str (ptid_t ptid)
{
bsd_kvm_target::pid_to_str (ptid_t ptid)
{
- static char buf[64];
- xsnprintf (buf, sizeof buf, "<kvm>");
- return buf;
+ return "<kvm>";
}
/* Add the libkvm interface to the list of all possible targets and
}
/* Add the libkvm interface to the list of all possible targets and
This page took
0.024476 seconds
and
4
git commands to generate.