brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 52277dc Raw
45 lines · c
1//===-- ArchitectureArm.h ---------------------------------------*- C++ -*-===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#ifndef LLDB_SOURCE_PLUGINS_ARCHITECTURE_ARM_ARCHITECTUREARM_H10#define LLDB_SOURCE_PLUGINS_ARCHITECTURE_ARM_ARCHITECTUREARM_H11 12#include "lldb/Core/Architecture.h"13#include "lldb/Target/Thread.h"14 15namespace lldb_private {16 17class ArchitectureArm : public Architecture {18public:19  static llvm::StringRef GetPluginNameStatic() { return "arm"; }20  static void Initialize();21  static void Terminate();22 23  llvm::StringRef GetPluginName() override { return GetPluginNameStatic(); }24 25  void OverrideStopInfo(Thread &thread) const override;26 27  lldb::addr_t GetCallableLoadAddress(lldb::addr_t load_addr,28                                      AddressClass addr_class) const override;29 30  lldb::addr_t GetOpcodeLoadAddress(lldb::addr_t load_addr,31                                    AddressClass addr_class) const override;32 33  lldb::UnwindPlanSP GetArchitectureUnwindPlan(34      lldb_private::Thread &thread, lldb_private::RegisterContextUnwind *regctx,35      std::shared_ptr<const UnwindPlan> current_unwindplan) override;36 37private:38  static std::unique_ptr<Architecture> Create(const ArchSpec &arch);39  ArchitectureArm() = default;40};41 42} // namespace lldb_private43 44#endif // LLDB_SOURCE_PLUGINS_ARCHITECTURE_ARM_ARCHITECTUREARM_H45