- Mar 26, 2011
-
-
Stephen Wilson authored
llvm-svn: 128313
-
Stephen Wilson authored
llvm-svn: 128312
-
- Mar 25, 2011
-
-
Stephen Wilson authored
llvm-svn: 128291
-
Greg Clayton authored
plugin by name on the command line for when there is more than one disassembler plugin. Taught the Opcode class to dump itself so that "disassembler -b" will dump the bytes correctly for each opcode type. Modified all places that were passing the opcode bytes buffer in so that the bytes could be displayed to just pass in a bool that indicates if we should dump the opcode bytes since the opcode now lives inside llvm_private::Instruction. llvm-svn: 128290
-
Greg Clayton authored
Modified the Disassembler::Instruction base class to contain an Opcode instance so that we can know the bytes for an instruction without needing to keep the data around. Modified the DisassemblerLLVM's instruction class to correctly extract the opcode bytes if all goes well. llvm-svn: 128248
-
- Mar 24, 2011
-
-
Greg Clayton authored
public types and public enums. This was done to keep the SWIG stuff from parsing all sorts of enums and types that weren't needed, and allows us to abstract our API better. llvm-svn: 128239
-
Caroline Tice authored
Fix small bug in ThumbExpandImm_C; arguments to a call to 'bits' were in the wrong order. llvm-svn: 128237
-
Caroline Tice authored
Add missing encodings for EmulateLDRRtRnImm (ARM insn emulation funciton). llvm-svn: 128229
-
Jim Ingham authored
llvm-svn: 128224
-
Greg Clayton authored
On Mac OS X we now have 3 platforms: PlatformDarwin - must be subclassed to fill in the missing pure virtual funcs but this implements all the common functionality between remote-macosx and remote-ios. It also allows for another platform to be used (remote-gdb-server for now) when doing remote connections. Keeping this pluggable will allow for flexibility. PlatformMacOSX - Now implements both local and remote macosx desktop platforms. PlatformRemoteiOS - Remote only iOS that knows how to locate SDK files in the cached SDK locations on the host. A new agnostic platform has been created: PlatformRemoteGDBServer - this implements the platform using the GDB remote protocol and uses the built in lldb_private::Host static functions to implement many queries. llvm-svn: 128193
-
- Mar 23, 2011
-
-
Caroline Tice authored
llvm-svn: 128177
-
Johnny Chen authored
llvm-svn: 128167
-
Stephen Wilson authored
llvm-svn: 128137
-
Stephen Wilson authored
llvm-svn: 128136
-
Stephen Wilson authored
llvm-svn: 128134
-
Stephen Wilson authored
Start putting linux specific host code in its own directory. For now, just implement Host::GetOSVersion. llvm-svn: 128133
-
Stephen Wilson authored
Add a few missing virtual methods to PlatformLinux and have it register itself with PluginManager. llvm-svn: 128128
-
Greg Clayton authored
platform connect <args> platform disconnect Each platform can decide the args they want to use for "platform connect". I will need to add a function that gets the connect options for the current platform as each one can have different options and argument counts. Hooked up more functionality in the PlatformMacOSX and PlatformRemoteiOS. Also started an platform agnostic PlatformRemoteGDBServer.cpp which can end up being used by one or more actual platforms. It can also be specialized and allow for platform specific commands. llvm-svn: 128123
-
- Mar 22, 2011
-
-
Caroline Tice authored
More fixes for ARM instruction emulation code: - Remove duplicate write from EmulateLDRRtPCRelative. - Add a missing encoding to EmulateADDSPImm. - Fix minor problems in Thumb instruction tables. llvm-svn: 128115
-
Greg Clayton authored
GDBRemoteCommunication - The base GDB remote communication class GDBRemoteCommunicationClient - designed to be used for clients the connect to a remote GDB server GDBRemoteCommunicationServer - designed to be used on the server side of a GDB server implementation. llvm-svn: 128070
-
Jim Ingham authored
llvm-svn: 128066
-
Jim Ingham authored
Clean up a few places where SetOptionValue was using the global optarg, rather than the option_arg value that was passed in. llvm-svn: 128064
-
Jim Ingham authored
Add the ability to disassemble "n" instructions from the current PC, or the first "n" instructions in a function. Also added a "-p" flag that disassembles from the current pc. llvm-svn: 128063
-
Jim Ingham authored
llvm-svn: 128062
-
Greg Clayton authored
overlap in the SWIG integration which has now been fixed by introducing callbacks for initializing SWIG for each language (python only right now). There was also a breakpoint command callback that called into SWIG which has been abtracted into a callback to avoid cross over as well. Added a new binary: lldb-platform This will be the start of the remote platform that will use as much of the Host functionality to do its job so it should just work on all platforms. It is pretty hollowed out for now, but soon it will implement a platform using the GDB remote packets as the transport. llvm-svn: 128053
-
- Mar 21, 2011
-
-
Greg Clayton authored
process ID to the ProcessInfo. llvm-svn: 128023
-
- Mar 20, 2011
-
-
Greg Clayton authored
static archive that can be linked against. LLDB.framework/lldb.so exports a very controlled API. Splitting the API into a static library allows other tools (debugserver for now) to use the power of the LLDB debugger core, yet not export it as its API is not portable or maintainable. The Host layer and many of the other internal only APIs can now be statically linked against. Now LLDB.framework/lldb.so links against "liblldb-core.a" instead of compiling the .o files only for the shared library. This fix is only for compiling with Xcode as the Makefile based build already does this. The Xcode projecdt compiler has been changed to LLVM. Anyone using Xcode 3 will need to manually change the compiler back to GCC 4.2, or update to Xcode 4. llvm-svn: 127963
-
- Mar 19, 2011
-
-
Greg Clayton authored
platform status -- gets status information for the selected platform platform create <platform-name> -- creates a new instance of a remote platform platform list -- list all available platforms platform select -- select a platform instance as the current platform (not working yet) When using "platform create" it will create a remote platform and make it the selected platform. For instances for iPhone OS debugging on Mac OS X one can do: (lldb) platform create remote-ios --sdk-version=4.0 Remote platform: iOS platform SDK version: 4.0 SDK path: "/Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.0" Not connected to a remote device. (lldb) file ~/Documents/a.out Current executable set to '~/Documents/a.out' (armv6). (lldb) image list [ 0] /Volumes/work/gclayton/Documents/devb/attach/a.out [ 1] /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.0/Symbols/usr/lib/dyld [ 2] /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.0/Symbols/usr/lib/libSystem.B.dylib Note that this is all happening prior to running _or_ connecting to a remote platform. Once connected to a remote platform the OS version might change which means we will need to update our dependecies. Also once we run, we will need to match up the actualy binaries with the actualy UUID's to files in the SDK, or download and cache them locally. This is just the start of the remote platforms, but this modification is the first iteration in getting the platforms really doing something. llvm-svn: 127934
-
- Mar 18, 2011
-
-
Caroline Tice authored
Fix various small problems with EmulateInstructionARM::EmulateSTRRtSP. llvm-svn: 127898
-
Jim Ingham authored
ObjC runtime for print object to Pointer AND Integer (from just pointer.) llvm-svn: 127841
-
Caroline Tice authored
Make all the codee that attempts to read the PC consistently use ReadCoreReg (which 'does the right thing', adding to pc when needed); fixed places in code where extra addition was being passed along. Fix bug in insn tables. llvm-svn: 127838
-
- Mar 17, 2011
-
-
Jim Ingham authored
Fix a problem where we were looking up the class pointer in the {class/sel -> implementation} cache for a objc_msgSendSuper call - where we should have looked up the class's super-class. llvm-svn: 127830
-
Jim Ingham authored
llvm-svn: 127825
-
- Mar 16, 2011
-
-
Caroline Tice authored
Add code to emulate STRH (Register) Arm instruction. Remove inaccurate comments from EmulateInstruction::Context definition. Fix contexts in a few arm instruction emulation routines. llvm-svn: 127770
-
Caroline Tice authored
Fix various small bugs found in the instruction emulation functions. llvm-svn: 127712
-
- Mar 15, 2011
-
-
Greg Clayton authored
for templatized types that could cause parts of a std::vector (and I am sure other STL types) to be incorrectly uniqued to each other wreaking havoc on variable display for types within the same executable module. llvm-svn: 127662
-
Greg Clayton authored
llvm-svn: 127659
-
Sean Callanan authored
llvm-svn: 127634
-
- Mar 13, 2011
-
-
Stephen Wilson authored
This change is needed to fix the build on Linux. llvm-svn: 127557
-
- Mar 11, 2011
-
-
Jim Ingham authored
Add a first pass at a "stop hook" mechanism. This allows you to add commands that get run every time the debugger stops, whether due to a breakpoint, the end of a step, interrupt, etc. You can also specify in which context you want the stop hook to run, for instance only on a particular thread, or only in a particular shared library, function, file, line range within a file. Still need to add "in methods of a class" to the specifiers, and the ability to write the stop hooks in the Scripting language as well as in the Command Language. llvm-svn: 127457
-