[Lldb-commits] [PATCH] LLDB ARM: Add support for arm-linux-gnu abi
Tamas Berghammer
tberghammer at google.com
Mon Mar 23 07:08:46 PDT 2015
Looks good with a few minor suggestions
================
Comment at: source/Plugins/ABI/SysV-arm/ABISysV_arm.cpp:224
@@ +223,3 @@
+ reg_value.SetUInt32(*ai);
+ if (!reg_ctx->WriteRegister(reg_ctx->GetRegisterInfoByName(reg_names[i]), reg_value))
+ return false;
----------------
Please use GetRegisterInfo if possible (at other places also)
================
Comment at: source/Plugins/ABI/SysV-arm/ABISysV_arm.cpp:610
@@ +609,3 @@
+
+ uint32_t fp_reg_num = dwarf_r7; // apple uses r7 for all frames. Normal arm uses r11
+ uint32_t pc_reg_num = dwarf_pc;
----------------
I think we want to use r11 based on the comment. Please check it.
================
Comment at: source/Plugins/ABI/SysV-arm/ABISysV_arm.cpp:673-674
@@ +672,4 @@
+ case '3': return name[2] == '\0'; // r3
+
+ break;
+ }
----------------
I think a default label is missing here (or something else?)
================
Comment at: source/Plugins/ABI/SysV-arm/ABISysV_arm.h:25-40
@@ +24,18 @@
+
+ virtual size_t
+ GetRedZoneSize () const;
+
+ virtual bool
+ PrepareTrivialCall (lldb_private::Thread &thread,
+ lldb::addr_t sp,
+ lldb::addr_t func_addr,
+ lldb::addr_t returnAddress,
+ llvm::ArrayRef<lldb::addr_t> args) const;
+
+ virtual bool
+ GetArgumentValues (lldb_private::Thread &thread,
+ lldb_private::ValueList &values) const;
+
+ virtual lldb_private::Error
+ SetReturnValueObject(lldb::StackFrameSP &frame_sp, lldb::ValueObjectSP &new_value);
+
----------------
Please add override attributes where applicable (for the entry file)
http://reviews.llvm.org/D8539
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
More information about the lldb-commits
mailing list