diff options
Diffstat (limited to 'source/Plugins/ABI/SysV-ppc/ABISysV_ppc.h')
-rw-r--r-- | source/Plugins/ABI/SysV-ppc/ABISysV_ppc.h | 98 |
1 files changed, 44 insertions, 54 deletions
diff --git a/source/Plugins/ABI/SysV-ppc/ABISysV_ppc.h b/source/Plugins/ABI/SysV-ppc/ABISysV_ppc.h index a7aad300e2979..99ee755631c22 100644 --- a/source/Plugins/ABI/SysV-ppc/ABISysV_ppc.h +++ b/source/Plugins/ABI/SysV-ppc/ABISysV_ppc.h @@ -21,52 +21,37 @@ class ABISysV_ppc : public lldb_private::ABI { public: + ~ABISysV_ppc() override = default; - ~ABISysV_ppc() - { - } + size_t + GetRedZoneSize() const override; - virtual size_t - GetRedZoneSize () const; - - virtual bool - PrepareTrivialCall (lldb_private::Thread &thread, - lldb::addr_t sp, - lldb::addr_t functionAddress, - lldb::addr_t returnAddress, - llvm::ArrayRef<lldb::addr_t> args) const; + bool + PrepareTrivialCall(lldb_private::Thread &thread, + lldb::addr_t sp, + lldb::addr_t functionAddress, + lldb::addr_t returnAddress, + llvm::ArrayRef<lldb::addr_t> args) const override; - virtual bool - GetArgumentValues (lldb_private::Thread &thread, - lldb_private::ValueList &values) const; + bool + GetArgumentValues(lldb_private::Thread &thread, + lldb_private::ValueList &values) const override; - virtual lldb_private::Error - SetReturnValueObject(lldb::StackFrameSP &frame_sp, lldb::ValueObjectSP &new_value); + lldb_private::Error + SetReturnValueObject(lldb::StackFrameSP &frame_sp, lldb::ValueObjectSP &new_value) override; -protected: lldb::ValueObjectSP - GetReturnValueObjectSimple (lldb_private::Thread &thread, - lldb_private::ClangASTType &ast_type) const; - -public: - virtual lldb::ValueObjectSP - GetReturnValueObjectImpl (lldb_private::Thread &thread, - lldb_private::ClangASTType &type) const; + GetReturnValueObjectImpl(lldb_private::Thread &thread, + lldb_private::CompilerType &type) const override; - virtual bool - CreateFunctionEntryUnwindPlan (lldb_private::UnwindPlan &unwind_plan); + bool + CreateFunctionEntryUnwindPlan(lldb_private::UnwindPlan &unwind_plan) override; - virtual bool - CreateDefaultUnwindPlan (lldb_private::UnwindPlan &unwind_plan); + bool + CreateDefaultUnwindPlan(lldb_private::UnwindPlan &unwind_plan) override; - virtual bool - RegisterIsVolatile (const lldb_private::RegisterInfo *reg_info); - - virtual bool - StackUsesFrames () - { - return true; - } + bool + RegisterIsVolatile(const lldb_private::RegisterInfo *reg_info) override; // The SysV ppc ABI requires that stack frames be 16 byte aligned. // When there is a trap handler on the stack, e.g. _sigtramp in userland @@ -78,8 +63,8 @@ public: // Whitelisting the trap handlers for user space would be easy (_sigtramp) but // in other environments there can be a large number of different functions // involved in async traps. - virtual bool - CallFrameAddressIsValid (lldb::addr_t cfa) + bool + CallFrameAddressIsValid(lldb::addr_t cfa) override { // Make sure the stack call frame addresses are 8 byte aligned if (cfa & (8ull - 1ull)) @@ -89,25 +74,21 @@ public: return true; } - virtual bool - CodeAddressIsValid (lldb::addr_t pc) + bool + CodeAddressIsValid(lldb::addr_t pc) override { // We have a 64 bit address space, so anything is valid as opcodes // aren't fixed width... return true; } - virtual bool - FunctionCallsChangeCFA () - { - return true; - } + const lldb_private::RegisterInfo * + GetRegisterInfoArray(uint32_t &count) override; - virtual const lldb_private::RegisterInfo * - GetRegisterInfoArray (uint32_t &count); //------------------------------------------------------------------ // Static Functions //------------------------------------------------------------------ + static void Initialize(); @@ -123,21 +104,30 @@ public: //------------------------------------------------------------------ // PluginInterface protocol //------------------------------------------------------------------ - virtual lldb_private::ConstString - GetPluginName(); - virtual uint32_t - GetPluginVersion(); + lldb_private::ConstString + GetPluginName() override; + + uint32_t + GetPluginVersion() override; protected: void CreateRegisterMapIfNeeded (); + lldb::ValueObjectSP + GetReturnValueObjectSimple(lldb_private::Thread &thread, + lldb_private::CompilerType &ast_type) const; + bool RegisterIsCalleeSaved (const lldb_private::RegisterInfo *reg_info); private: - ABISysV_ppc() : lldb_private::ABI() { } // Call CreateInstance instead. + ABISysV_ppc() : + lldb_private::ABI() + { + // Call CreateInstance instead. + } }; -#endif // liblldb_ABI_h_ +#endif // liblldb_ABISysV_ppc_h_ |