Skip to content
  1. Mar 08, 2011
    • Greg Clayton's avatar
      LLDB now has "Platform" plug-ins. Platform plug-ins are plug-ins that provide · e996fd30
      Greg Clayton authored
      an interface to a local or remote debugging platform. By default each host OS
      that supports LLDB should be registering a "default" platform that will be
      used unless a new platform is selected. Platforms are responsible for things
      such as:
      - getting process information by name or by processs ID
      - finding platform files. This is useful for remote debugging where there is 
        an SDK with files that might already or need to be cached for debug access.
      - getting a list of platform supported architectures in the exact order they
        should be selected. This helps the native x86 platform on MacOSX select the
        correct x86_64/i386 slice from universal binaries.
      - Connect to remote platforms for remote debugging
      - Resolving an executable including finding an executable inside platform
        specific bundles (macosx uses .app bundles that contain files) and also
        selecting the appropriate slice of universal files for a given platform.
      
      So by default there is always a local platform, but remote platforms can be
      connected to. I will soon be adding a new "platform" command that will support
      the following commands:
      (lldb) platform connect --name machine1 macosx connect://host:port
      Connected to "machine1" platform.
      (lldb) platform disconnect macosx
      
      This allows LLDB to be well setup to do remote debugging and also once 
      connected process listing and finding for things like:
      (lldb) process attach --name x<TAB>
      
      The currently selected platform plug-in can now auto complete any available
      processes that start with "x". The responsibilities for the platform plug-in
      will soon grow and expand.
      
      llvm-svn: 127286
      e996fd30
    • Stephen Wilson's avatar
      Fix ObjectFileElf::GetEntryPointAddress() · d126c8cc
      Stephen Wilson authored
      ELF object files do not implicitly have a symbol named "start" as an entry
      point.  For example, on Linux it is often named "_start", but can be trivially
      set to any symbol by passing an --entry argument to the linker.
      
      Use the ELF header to determine the entry point and resolve the associated
      section based on that address.
      
      Also, update the linux dynamic loader to call GetEntryPointAddress instead of
      GetEntryPoint.
      
      llvm-svn: 127218
      d126c8cc
    • Stephen Wilson's avatar
      Add Makefile support for the new DynamicLoaderStatic plugin. · 8f0daa28
      Stephen Wilson authored
      llvm-svn: 127215
      8f0daa28
    • Jim Ingham's avatar
      I didn't notice there was already an ObjectFile::GetEntryPoint. Move that... · bd3f2606
      Jim Ingham authored
      I didn't notice there was already an ObjectFile::GetEntryPoint.  Move that over to GetEntryPointAddress 'cause that's more consistent with other functions in ObjectFile, do the mutatis mutandi and also in the ELF case I return a section offset address rather than a bare load address.
      
      llvm-svn: 127205
      bd3f2606
    • Jim Ingham's avatar
      Reverting the part of the debug-in-ofile patch from earlier today that removes... · 5ca40258
      Jim Ingham authored
      Reverting the part of the debug-in-ofile patch from earlier today that removes them from the shared module list.  That was causing a bunch of asserts.  Greg is working on a better fix.
      
      llvm-svn: 127201
      5ca40258
    • Jim Ingham's avatar
      Add a method "GetEntryPoint" to the ObjectFile class, and implement it on... · 672e6f59
      Jim Ingham authored
      Add a method "GetEntryPoint" to the ObjectFile class, and implement it on MachO & ELF - though the ELF implementation is probably a little weak.  Then use this method in place of directly looking for "start" in the ThreadPlanCallFunction constructor to find the stopping point for our function evaluation.
      
      llvm-svn: 127194
      672e6f59
    • Caroline Tice's avatar
      · 6258c53e
      Caroline Tice authored
      Add thread state initialization to the thread where the interactive
      interpreter is run (which is separate from the thread where
      Py_Initialize is called, where this normally gets set up).
      
      llvm-svn: 127191
      6258c53e
  2. Mar 07, 2011
  3. Mar 05, 2011
  4. Mar 04, 2011
  5. Mar 03, 2011
    • Caroline Tice's avatar
      · 94f87e37
      Caroline Tice authored
      Add code to emulate RFE Arm instruction.
      
      Add new instruction context for RFE instruction.
      
      Add several new helper functions to help emulate RFE instruction
      (including CurrentModeIsPrivileged, BadMode, and CPSRWriteByInstr).
      
      llvm-svn: 126965
      94f87e37
    • Caroline Tice's avatar
      · c8d0d3ae
      Caroline Tice authored
      Add code to emulate UXTH Arm instruction.
      
      llvm-svn: 126954
      c8d0d3ae
    • Caroline Tice's avatar
      · 9c35f321
      Caroline Tice authored
      Add code to emulate UXTB Arm instruction.
      
      llvm-svn: 126953
      9c35f321
    • Caroline Tice's avatar
      · 8678f2a1
      Caroline Tice authored
      Add code to emulate SXTH Arm instruction.
      
      llvm-svn: 126951
      8678f2a1
    • Caroline Tice's avatar
      · 67735bf0
      Caroline Tice authored
      Add code to emulate SXTB Arm instruction.
      
      llvm-svn: 126949
      67735bf0
    • Caroline Tice's avatar
      · edc103e2
      Caroline Tice authored
      Fix bug where bitwise-AND was being used and it should have been bitwise-OR.
      
      llvm-svn: 126904
      edc103e2
    • Caroline Tice's avatar
      · 30f40c68
      Caroline Tice authored
      Add code to emulate ADD (immediate, Thumb) Arm instruction.
      
      Add addition context to EmulateInstruction contexts.
      
      llvm-svn: 126903
      30f40c68
    • Greg Clayton's avatar
      Export the ability to get the start and end addresses for functions · 93d00df5
      Greg Clayton authored
      and symbols, and also allow clients to get the prologue size in bytes:
      
          SBAddress
          SBFunction::GetStartAddress ();
          
          SBAddress
          SBFunction::GetEndAddress ();
          
          uint32_t
          SBFunction::GetPrologueByteSize ();
      
          SBAddress
          SBSymbol::GetStartAddress ();
          
          SBAddress
          SBSymbol::GetEndAddress ();
          
          uint32_t
          SBSymbol::GetPrologueByteSize ();
      
      llvm-svn: 126892
      93d00df5
  6. Mar 02, 2011
    • Caroline Tice's avatar
      · 1a234ff4
      Caroline Tice authored
      Add code to emulate MUL Arm instruction.
      
      Add new context type & info structure for  mul instruction.
      
      llvm-svn: 126891
      1a234ff4
    • Greg Clayton's avatar
      Added a missing API call in SBTarget that enables one to get · 5f2a4f99
      Greg Clayton authored
      anything in a SBSymbolContext filled in given an SBAddress:
      
      SBSymbolContext
      SBTarget::ResolveSymbolContextForAddress (const SBAddress& addr, uint32_t resolve_scope);
      
      Also did a little cleanup on the ProcessGDBRemote stdio file handle
      code.
      
      llvm-svn: 126885
      5f2a4f99
    • Caroline Tice's avatar
      · a0d3b675
      Caroline Tice authored
      Add code to emulate LDRSH (register) Arm instruction.
      
      llvm-svn: 126881
      a0d3b675
    • Caroline Tice's avatar
      · 1cd4459b
      Caroline Tice authored
      Add code to emulate LDRSH (literal) Arm instruction.
      
      llvm-svn: 126866
      1cd4459b
    • Caroline Tice's avatar
      · d3e57ee4
      Caroline Tice authored
      Add code to emulate LDRSH (immediate) Arm instruction.
      
      llvm-svn: 126807
      d3e57ee4
    • Caroline Tice's avatar
      · 4776fbbd
      Caroline Tice authored
      Add code to emulate LDRSB (register) Arm instruction.
      
      llvm-svn: 126802
      4776fbbd
  7. Mar 01, 2011
    • Johnny Chen's avatar
      Add an API SBProcess::GetByteOrder() and add test cases which utilizes GetByteOrder(), · cf386e24
      Johnny Chen authored
      among other SBProcess APIs, to write (int)256 into a memory location of a global variable
      (int)my_int and reads/checks the variable afterwards.
      
      llvm-svn: 126792
      cf386e24
    • Caroline Tice's avatar
      · 4947ffc8
      Caroline Tice authored
      Add code to emulate LDRSB (literal) Arm instruction.
      
      llvm-svn: 126789
      4947ffc8
    • Caroline Tice's avatar
      · 28c3fccc
      Caroline Tice authored
      Add code to emulate LDRSB (immediate) Arm instruction.
      
      llvm-svn: 126783
      28c3fccc
    • Caroline Tice's avatar
      · 4f0e5f88
      Caroline Tice authored
      Add code to emulate LDRH (register) Arm instruction.
      
      llvm-svn: 126758
      4f0e5f88
    • Caroline Tice's avatar
      · 6261d240
      Caroline Tice authored
      Add code to emulate LDRH (literal) Arm instruction.
      
      llvm-svn: 126709
      6261d240
  8. Feb 28, 2011
    • Stephen Wilson's avatar
      · bbb7e06a
      Stephen Wilson authored
      Add register context for i386 on Linux.
      
      Patch by Marco Minutoli!
      
      llvm-svn: 126696
      bbb7e06a
    • Caroline Tice's avatar
      · adef8fb0
      Caroline Tice authored
      Add code to emulate LDRH (immediate, Thumb) arm instruction.
      
      llvm-svn: 126692
      adef8fb0
  9. Feb 25, 2011
  10. Feb 24, 2011
    • Greg Clayton's avatar
      Fixed CommandReturnObject::SetImmediateErrorFile() to set the correct stream. · 71337622
      Greg Clayton authored
      Modifed lldb_private::Process to be able to handle connecting to a remote 
      target that isn't running a process. This leaves lldb_private::Process in the
      eStateConnected state from which we can then do an attach or launch.
      
      Modified ProcessGDBRemote to be able to set stdin, stdout, stderr, working
      dir, disable ASLR and a few other settings down by using new GDB remote 
      packets. This allows us to keep all of our current launch flags and settings
      intact and still be able to communicate them over to the remote GDB server.
      Previously these were being sent as arguments to the debugserver binary that
      we were spawning. Also modified ProcessGDBRemote to handle losing connection
      to the remote GDB server and always exit immediately. We do this by watching
      the lldb_private::Communication event bit for the read thread exiting in the
      ProcessGDBRemote async thread.
      
      Added support for many of the new 'Q' packets for setting stdin, stdout,
      stderr, working dir and disable ASLR to the GDBRemoteCommunication class for
      easy accesss.
      
      Modified debugserver for all of the new 'Q' packets and also made it so that
      debugserver always exists if it loses connection with the remote debugger.
      
      llvm-svn: 126444
      71337622
    • Johnny Chen's avatar
      Fix typos in the opcode entries for branch instructions. · a517bae7
      Johnny Chen authored
      llvm-svn: 126442
      a517bae7
    • Jim Ingham's avatar
      When making a DataExtractor from a Value that's got a ClangType, set the... · f6ea93fb
      Jim Ingham authored
      When making a DataExtractor from a Value that's got a ClangType, set the AddressByteSize from the AST Context.
      
      llvm-svn: 126433
      f6ea93fb
    • Johnny Chen's avatar
      Add emulation for BXJ (Branch and Exchange Jazelle), assuming that the attempt to · 3c970dc5
      Johnny Chen authored
      switch to Jazelle state fails, thus treating BXJ as a BX operation.
      
      llvm-svn: 126423
      3c970dc5
    • Stephen Wilson's avatar
      linux: Use ArchSpec::GetCore and the ArchSpec::Core enums. · 17e3d193
      Stephen Wilson authored
      llvm-svn: 126406
      17e3d193
Loading