Skip to content
  1. Jan 11, 2012
  2. Jan 10, 2012
  3. Jan 09, 2012
  4. Jan 08, 2012
    • Greg Clayton's avatar
      <rdar://problem/10645694> · 4abd6eaa
      Greg Clayton authored
      Fixed an ARM backtracing issue where if the previous frame was a thumb
      function and it was a tail call so that the current frame returned to
      an address that would fall into the next function, we would use the
      next function as the basis for how we unwound the previous frame's
      registers and of course get things wrong. We now fix the PC code
      address using the current ABI plug-in, and the ARM ABI plug-in has
      been modified to correctly fix the code address. So when we do the
      symbol context lookup, instead of taking an address like 0x1001 and
      decrementing 1, and looking up the symbol context for a frame, we
      now correctly fix 0x1001 to 0x1000, then decrement that by 1 to
      get the correct symbol context.
      
      I added a bunch more logging to "log enable lldb uwnind" to help
      us in the future. We now log the PC, FP and SP (if they are available),
      and we also dump the "active_row" that we find for unwinding a frame.
      
      llvm-svn: 147747
      4abd6eaa
    • Greg Clayton's avatar
      <rdar://problem/10660369> · 6e527321
      Greg Clayton authored
      Fixed the default ARM regiter set to be able to refer to "r7" as "fp" for the apple debugserver.
      
      llvm-svn: 147746
      6e527321
  5. Jan 07, 2012
  6. Jan 06, 2012
  7. Jan 05, 2012
  8. Jan 04, 2012
    • Greg Clayton's avatar
      <rdar://problem/10507811> · 96c09687
      Greg Clayton authored
      Be better at detecting when DWARF changes and handle this more
      gracefully than asserting and exiting.
      
      Also fixed up a bunch of system calls that weren't properly checking
      for EINTR.
      
      llvm-svn: 147559
      96c09687
    • Sean Callanan's avatar
      Added logging to track when the IR interpreter · 3441d5ae
      Sean Callanan authored
      resolves values in registers.
      
      llvm-svn: 147551
      3441d5ae
    • Sean Callanan's avatar
      Fixed the help text for raw commands like "expr" · a4c6ad19
      Sean Callanan authored
      to include -- in sample command lines.  Now LLDB
      prints
      
        expression [-f <format>] -- <expr>
      
      instead of
      
        expression [-f <format>] <expr>
      
      and also adds a new example line:
      
        expression <expr>
      
      to show that in the absense of arguments the --
      can be ommitted.
      
      llvm-svn: 147540
      a4c6ad19
    • Sean Callanan's avatar
      Instead of blindly printing a string when · 06d3d012
      Sean Callanan authored
      eFormatCString is specified, I have made
      DataExtractor::Dump properly escape the string.
      This prevents LLDB from printing characters
      that confuse terminals.
      
      llvm-svn: 147536
      06d3d012
  9. Dec 30, 2011
    • Greg Clayton's avatar
      <rdar://problem/10368163> · 77ccca71
      Greg Clayton authored
      Watch for empty symbol tables by doing a lot more error checking on
      all mach-o symbol table load command values and data that is obtained.
      This avoids a crash that was happening when there was no string table.
      
      llvm-svn: 147358
      77ccca71
  10. Dec 29, 2011
    • Greg Clayton's avatar
      <rdar://problem/10551280> · 360f9a76
      Greg Clayton authored
      Fixed a crasher that can occur when parsing invalid DWARF.
      
      llvm-svn: 147350
      360f9a76
    • Greg Clayton's avatar
      <rdar://problem/10568905> · d3444848
      Greg Clayton authored
      Fixed an issue where our new accelerator tables could cause a crash
      when we got a full 32 bit hash match, yet a C string mismatch.
      
      We had a member variable in DWARFMappedHash::Prologue named 
      "min_hash_data_byte_size" the would compute the byte size of HashData
      so we could skip hash data efficiently. It started out with a byte size
      value of 4. When we read the table in from disk, we would clear the
      atom array and read it from disk, and the byte size would still be set
      to 4. We would then, as we read each atom from disk, increment this count. 
      So the byte size of the HashData was off, which means when we get a lookup
      whose 32 bit hash does matches, but the C string does NOT match (which is
      very very rare), then we try and skip the data for that hash and we would
      add an incorrect offset and get off in our parsing of the hash data and 
      cause this crash. 
      
      To fix this I added a few safeguards:
      1 - I now correctly clear the hash data size when we reset the atom array using the new DWARFMappedHash::Prologue::ClearAtoms() function. 
      2 - I now correctly always let the AppendAtom() calculate the byte size of the hash (before we were doing things manually some times, which was correct, but not good)
      3 - I also track if the size of each HashData is a fixed byte size or not, and "do the right thing" when we need to skip the data.
      4 - If we do get off in the weeds, then I make sure to return an error and stop any further parsing from happening. 
      
      llvm-svn: 147334
      d3444848
    • Greg Clayton's avatar
      <rdar://problem/10546739> · dcad5021
      Greg Clayton authored
      Fixed SBValue::GetValueAsUnsigned() and SBValue::GetValueAsSigned() calls to
      work for bitfields.
      
      llvm-svn: 147332
      dcad5021
    • Greg Clayton's avatar
      Centralize the code the reads the CFI so that we always log. · f97c5213
      Greg Clayton authored
      llvm-svn: 147330
      f97c5213
  11. Dec 28, 2011
  12. Dec 23, 2011
Loading