Skip to content
  1. Oct 27, 2010
    • Greg Clayton's avatar
      Updated the lldb_private::Flags class to have better method names and made · 73b472d4
      Greg Clayton authored
      all of the calls inlined in the header file for better performance.
      
      Fixed the summary for C string types (array of chars (with any combo if
      modifiers), and pointers to chars) work in all cases.
      
      Fixed an issue where a forward declaration to a clang type could cause itself
      to resolve itself more than once if, during the resolving of the type itself
      it caused something to try and resolve itself again. We now remove the clang
      type from the forward declaration map in the DWARF parser when we start to 
      resolve it and avoid this additional call. This should stop any duplicate
      members from appearing and throwing all the alignment of structs, unions and
      classes.
      
      llvm-svn: 117437
      73b472d4
  2. Oct 08, 2010
    • Greg Clayton's avatar
      Hooked up ability to look up data symbols so they show up in disassembly · 8941142a
      Greg Clayton authored
      if the address comes from a data section. 
      
      Fixed an issue that could occur when looking up a symbol that has a zero
      byte size where no match would be returned even if there was an exact symbol
      match.
      
      Cleaned up the section dump output and added the section type into the output.
      
      llvm-svn: 116017
      8941142a
  3. Sep 15, 2010
  4. Sep 14, 2010
    • Greg Clayton's avatar
      Looking at some of the test suite failures in DWARF in .o files with the · 016a95eb
      Greg Clayton authored
      debug map showed that the location lists in the .o files needed some 
      refactoring in order to work. The case that was failing was where a function
      that was in the "__TEXT.__textcoal_nt" in the .o file, and in the 
      "__TEXT.__text" section in the main executable. This made symbol lookup fail
      due to the way we were finding a real address in the debug map which was
      by finding the section that the function was in in the .o file and trying to
      find this in the main executable. Now the section list supports finding a
      linked address in a section or any child sections. After fixing this, we ran
      into issue that were due to DWARF and how it represents locations lists. 
      DWARF makes a list of address ranges and expressions that go along with those
      address ranges. The location addresses are expressed in terms of a compile
      unit address + offset. This works fine as long as nothing moves around. When
      stuff moves around and offsets change between the remapped compile unit base
      address and the new function address, then we can run into trouble. To deal
      with this, we now store supply a location list slide amount to any location
      list expressions that will allow us to make the location list addresses into
      zero based offsets from the object that owns the location list (always a
      function in our case). 
      
      With these fixes we can now re-link random address ranges inside the debugger
      for use with our DWARF + debug map, incremental linking, and more.
      
      Another issue that arose when doing the DWARF in the .o files was that GCC
      4.2 emits a ".debug_aranges" that only mentions functions that are externally
      visible. This makes .debug_aranges useless to us and we now generate a real
      address range lookup table in the DWARF parser at the same time as we index
      the name tables (that are needed because .debug_pubnames is just as useless).
      llvm-gcc doesn't generate a .debug_aranges section, though this could be 
      fixed, we aren't going to rely upon it.
      
      Renamed a bunch of "UINT_MAX" to "UINT32_MAX".
      
      llvm-svn: 113829
      016a95eb
  5. Jul 22, 2010
    • Greg Clayton's avatar
      Modified both the ObjectFileMachO and ObjectFileELF to correctly set the · 4ceb9980
      Greg Clayton authored
      SectionType for Section objects for DWARF.
      
      Modified the DWARF plug-in to get the DWARF sections by SectionType so we
      can safely abstract the LLDB core from section names for the various object
      file formats.
      
      Modified the SectionType definitions for .debug_pubnames and .debug_pubtypes
      to use the correct case.
      
      llvm-svn: 109054
      4ceb9980
  6. Jul 21, 2010
  7. Jul 01, 2010
    • Greg Clayton's avatar
      Centralized all disassembly into static functions in source/Core/Disassembler.cpp. · dda4f7b5
      Greg Clayton authored
      Added the ability to read memory from the target's object files when we aren't
      running, so disassembling works before you run!
      
      Cleaned up the API to lldb_private::Target::ReadMemory().
      
      Cleaned up the API to the Disassembler to use actual "lldb_private::Address"
      objects instead of just an "addr_t". This is nice because the Address objects
      when resolved carry along their section and module which can get us the 
      object file. This allows Target::ReadMemory to be used when we are not 
      running.
      
      Added a new lldb_private::Address dump style: DumpStyleDetailedSymbolContext
      This will show a full breakdown of what an address points to. To see some
      sample output, execute a "image lookup --address <addr>".
      
      Fixed SymbolContext::DumpStopContext(...) to not require a live process in
      order to be able to print function and symbol offsets.
      
      llvm-svn: 107350
      dda4f7b5
  8. Jun 29, 2010
  9. Jun 08, 2010
Loading