X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Faarch64-ravenscar-thread.c;h=ca22494a5ce270fd617ec4f607235726c1c74090;hb=ae6400219c19f165692254740531b2a7ad74945e;hp=88629e4b5107daf52b5f2a0f728c84532d92284e;hpb=e8bf1ce461df242811e49de807f85c2e7ae17b77;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/aarch64-ravenscar-thread.c b/gdb/aarch64-ravenscar-thread.c index 88629e4b51..ca22494a5c 100644 --- a/gdb/aarch64-ravenscar-thread.c +++ b/gdb/aarch64-ravenscar-thread.c @@ -1,6 +1,6 @@ /* Ravenscar Aarch64 target support. - Copyright (C) 2017-2018 Free Software Foundation, Inc. + Copyright (C) 2017-2019 Free Software Foundation, Inc. This file is part of GDB. @@ -24,6 +24,7 @@ #include "inferior.h" #include "ravenscar-thread.h" #include "aarch64-ravenscar-thread.h" +#include "gdbarch.h" #define NO_OFFSET -1 @@ -133,15 +134,6 @@ aarch64_ravenscar_generic_fetch_registers } } -/* to_prepare_to_store when inferior_ptid is different from the running - thread. */ - -static void -aarch64_ravenscar_generic_prepare_to_store (struct regcache *regcache) -{ - /* Nothing to do. */ -} - /* to_store_registers when inferior_ptid is different from the running thread. */ @@ -175,34 +167,24 @@ static const struct ravenscar_reg_info aarch64_reg_info = ARRAY_SIZE (aarch64_context_offsets), }; -/* Implement the to_fetch_registers ravenscar_arch_ops method - for most Aarch64 targets. */ - -static void -aarch64_ravenscar_fetch_registers (struct regcache *regcache, int regnum) +struct aarch64_ravenscar_ops : public ravenscar_arch_ops { - aarch64_ravenscar_generic_fetch_registers - (&aarch64_reg_info, regcache, regnum); -} - -/* Implement the to_store_registers ravenscar_arch_ops method - for most Aarch64 targets. */ - -static void -aarch64_ravenscar_store_registers (struct regcache *regcache, int regnum) -{ - aarch64_ravenscar_generic_store_registers - (&aarch64_reg_info, regcache, regnum); -} + void fetch_registers (struct regcache *regcache, int regnum) override + { + aarch64_ravenscar_generic_fetch_registers + (&aarch64_reg_info, regcache, regnum); + } + + void store_registers (struct regcache *regcache, int regnum) override + { + aarch64_ravenscar_generic_store_registers + (&aarch64_reg_info, regcache, regnum); + } +}; /* The ravenscar_arch_ops vector for most Aarch64 targets. */ -static struct ravenscar_arch_ops aarch64_ravenscar_ops = -{ - aarch64_ravenscar_fetch_registers, - aarch64_ravenscar_store_registers, - aarch64_ravenscar_generic_prepare_to_store -}; +static struct aarch64_ravenscar_ops aarch64_ravenscar_ops; /* Register aarch64_ravenscar_ops in GDBARCH. */