[Lldb-commits] [PATCH] D13578: Allow generic arm ArchSpec to merge with specific arm ArchSpec; allow Cortex M0-7's to always force thumb mode

Jason Molenda via lldb-commits lldb-commits at lists.llvm.org
Fri Oct 9 17:32:13 PDT 2015


jasonmolenda added a comment.

Hi Renato & Tamas, thanks for the feedback.

I'm trying to rewrite IsAlwaysThumbInstructions() to use the information that llvm already has, as per Renato's suggestion.  The MCSubtargetInfo has a getFeatureBits() method which can indicate ARM::FeatureNoARM.  I'm still having a little bit of trouble getting it to build, the ARMFeatures.h is in an unusual location and it indirectly pulls in ARMGenRegisterInfo.inc, ARMGenInstrInfo.inc, and ARMGenSubtargetInfo.inc from the build dir - I'll need to update xcode and cmake to add the $(llvm-build-dir)/lib/Target/ARM/ to the include path for these to be found.  I might not have time to finish this tonight, we'll see.

I'm not sure how expensive it is to make an llvm::Target and get the MCSubtargetInfo out of that every call; I may need to save something in an ArchSpec ivar.  Maybe just the results of the FeatureBits check.

Tamas, in this case the people developing this are using an apple internal JTAG interface.  But I was working with a group a while ago doing some work with a Cortex-M0 generic board using the Segger J-Link jtag device.  In both cases, the JTAG speaks generic gdb-remote protocol.  lldb doesn't have anything JTAG specific - it's using ProcessGDBRemote and the generic "host" platform.  There's no DynamicLoad plugin activated - developers in these environments need to specify where their binaries are loaded to lldb.


Repository:
  rL LLVM

http://reviews.llvm.org/D13578





More information about the lldb-commits mailing list