emaste added inline comments.

================
Comment at: source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp:551-557
+    } else {
+      static const uint8_t g_arm_breakpoint_opcode[] = {0xFE,0xDE,0xFF,0xE7};
+      size_t trap_opcode_size = sizeof(g_arm_breakpoint_opcode);
+      assert(bp_site);
+      if (bp_site->SetTrapOpcode(g_arm_breakpoint_opcode, trap_opcode_size))
+        return trap_opcode_size;
     }
----------------
according to LLVM style this should be promoted out of an `else` block because 
of the `return` above (use early exits / don't use else after a return).

As an aside it appears 0xe7fddefe is ARM-recommended breakpoint opcode and 
Linux is the outlier. So the generic Platform::GetSoftwareBreakpointTrapOpcode 
ought to use 0xFE,0xDE,0xFF,0xE7, with 
PlatformLinux::GetSoftwareBreakpointTrapOpcode having the override?



================
Comment at: source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp:957
+
+  // The emulator only fill in the dwarf regsiter numbers (and in some case
+  // the generic register numbers). Get the full register info from the
----------------
Few typo / nits:

only fill**s** in
s/regsiter/register/
in some case**s**


================
Comment at: source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp:1063
+  if (emulator_ap == nullptr) {
+    printf("Error: Instruction emulator not found!\n");
+    return;
----------------
We should really be returning an `Error` from this fn instead, no?


================
Comment at: source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp:1101-1104
+    // Emulate instruction failed and it haven't changed PC. Advance PC
+    // with the size of the current opcode because the emulation of all
+    // PC modifying instruction should be successful. The failure most
+    // likely caused by a not supported instruction which don't modify PC.
----------------
Hope you don't mind a minor rewording of the comment:

The emulated instruction failed and it did not change the PC. Advance the PC by 
the size of the current opcode, as all PC-modifying instructions should be 
successfully emulated. The failure was most likely caused by an unsupported 
instruction.


Repository:
  rL LLVM

https://reviews.llvm.org/D25756



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to