- Nov 28, 2011
-
-
Greg Clayton authored
arguments were quietly masked as the code changed (modified version of a path from Dawn). llvm-svn: 145216
-
- Nov 21, 2011
-
-
Greg Clayton authored
something like "display/4i $pc" (or something like this). With LLDB we already were showing 3 lines of source before and 3 lines of source after the current source line when showing a stop context. We now improve this by allowing the user to control the number of lines with the new "stop-line-count-before" and "stop-line-count-after" settings. Also, there is a new setting for how many disassembly lines to show: "stop-disassembly-count". This will control how many source lines are shown when there is no source or when we have no source line info. settings set stop-line-count-before 3 settings set stop-line-count-after 3 settings set stop-disassembly-count 4 settings set stop-disassembly-display no-source The default values are set as shown above and allow 3 lines of source before and after (what we used to do) the current stop location, and will display 4 lines of disassembly if the source is not available or if we have no debug info. If both "stop-source-context-before" and "stop-source-context-after" are set to zero, this will disable showing any source when stopped. The "stop-disassembly-display" setting is an enumeration that allows you to control when to display disassembly. It has 3 possible values: "never" - never show disassembly no matter what "no-source" - only show disassembly when there is no source line info or the source files are missing "always" - always show disassembly. llvm-svn: 145050
-
- Nov 19, 2011
-
-
Jim Ingham authored
Handle stepping through a trampoline where the jump target is calculated a runtime - and so doesn't match the name of the PLT entry. This solution assumes a naming convention agreed upon by us and the system folks, and isn't general. The general solution requires actually finding & calling the resolver function if it hasn't been called yet. That's more tricky. llvm-svn: 144981
-
- Nov 17, 2011
-
-
Greg Clayton authored
turned out to be unitialized data in the ProcessLaunchInfo default constructor. Turning on MallocScribble in the environment helped track this down. When we launch and attach using the host layer, we now inform the process that it shouldn't detach when by calling an accessor. llvm-svn: 144882
-
Greg Clayton authored
the thread specific data and were destroying the thread specfic data more than once. Also added the ability to ask a lldb::StateType if it is stopped with an additional paramter of "must_exist" which means that the state must be a stopped state for a process that still exists. This means that eStateExited and eStateUnloaded will no longer return true if "must_exist" is set to true. llvm-svn: 144875
-
- Nov 16, 2011
-
-
Greg Clayton authored
After recent changes we weren't reaping child processes resulting in many zombie processes. This was fixed by adding more settings to the ProcessLaunchOptions class that allow clients to specify a callback function and baton to be notified when their process dies. If one is not supplied a default callback will be used that "does the right thing". Cleaned up a race condition in the ProcessGDBRemote class that would attempt to monitor when debugserver died. Added an extra boolean to the process monitor callbacks that indicate if a process exited or not. If your process exited with a zero exit status and no signal, both items could be zero. Modified the process monitor functions to not require a callback function in order to reap the child process. llvm-svn: 144780
-
- Nov 14, 2011
-
-
Greg Clayton authored
llvm-svn: 144581
-
- Nov 10, 2011
-
-
Greg Clayton authored
things out correctly again. llvm-svn: 144261
-
- Nov 08, 2011
-
-
Jason Molenda authored
doesn't handle bitfields in eFormatChar's correctly, only eFormatUnsigned. Fix DataExtractor::Dump to dump the bitfield eFormatChars correctly. llvm-svn: 144069
-
- Nov 04, 2011
-
-
Sean Callanan authored
C++ vtables, fixing a record layout problem in the expression parser. Also fixed various problems with the generation and unpacking of llvm.zip given our new better handling of multiple architectures in the LLVM build. (And added a log message that will hopefully catch record layout problems in the future.) llvm-svn: 143741
-
Greg Clayton authored
- If you download and build the sources in the Xcode project, x86_64 builds by default using the "llvm.zip" checkpointed LLVM. - If you delete the "lldb/llvm.zip" and the "lldb/llvm" folder, and build the Xcode project will download the right LLVM sources and build them from scratch - If you have a "lldb/llvm" folder already that contains a "lldb/llvm/lib" directory, we will use the sources you have placed in the LLDB directory. Python can now be disabled for platforms that don't support it. Changed the way the libllvmclang.a files get used. They now all get built into arch specific directories and never get merged into universal binaries as this was causing issues where you would have to go and delete the file if you wanted to build an extra architecture slice. llvm-svn: 143678
-
- Nov 01, 2011
-
-
Jim Ingham authored
before all the modules, which will then crash when the next modules tries to take itself off it. llvm-svn: 143402
-
Jim Ingham authored
llvm-svn: 143393
-
- Oct 31, 2011
-
-
Daniel Dunbar authored
llvm-svn: 143386
-
Daniel Dunbar authored
llvm-svn: 143385
-
Daniel Dunbar authored
llvm-svn: 143381
-
Daniel Dunbar authored
llvm-svn: 143379
-
- Oct 29, 2011
-
-
Jason Molenda authored
llvm-svn: 143294
-
Jason Molenda authored
from llvm TOT. llvm-svn: 143273
-
Greg Clayton authored
previous address only by the number of bytes consumed by the disassembly: (lldb) x/4i 0x0000000100000ea9 0x100000ea9: 66 c7 45 fa 10 00 movw $16, -6(%rbp) 0x100000eaf: c7 45 f4 20 00 00 00 movl $32, -12(%rbp) 0x100000eb6: e8 47 00 00 00 callq 0x0000000100000f02 ; void f<nullptr_t>(nullptr_t) 0x100000ebb: 8b 45 fc movl -4(%rbp), %eax (lldb) 0x100000ebe: 48 83 c4 10 addq $16, %rsp 0x100000ec2: 5d popq %rbp 0x100000ec3: c3 ret 0x100000ec4: 90 nop (lldb) 0x100000ec5: 90 nop 0x100000ec6: 90 nop 0x100000ec7: 90 nop 0x100000ec8: 90 nop (lldb) 0x100000ec9: 90 nop 0x100000eca: 90 nop 0x100000ecb: 90 nop 0x100000ecc: 90 nop (lldb) 0x100000ecd: 90 nop 0x100000ece: 90 nop 0x100000ecf: 90 nop 0x100000ed0: 55 pushq %rbp llvm-svn: 143254
-
Jim Ingham authored
when setting breakpoints, but only if no module is specified. The Darwin platform uses this to not set breakpoints in dyld. llvm-svn: 143249
-
- Oct 27, 2011
-
-
Greg Clayton authored
in the same hashed format as the ".apple_names", but they map objective C class names to all of the methods and class functions. We need to do this because in the DWARF the methods for Objective C are never contained in the class definition, they are scattered about at the translation unit level and they don't even have attributes that say the are contained within the class itself. Added 3 new formats which can be used to display data: eFormatAddressInfo eFormatHexFloat eFormatInstruction eFormatAddressInfo describes an address such as function+offset and file+line, or symbol + offset, or constant data (c string, 2, 4, 8, or 16 byte constants). The format character for this is "A", the long format is "address". eFormatHexFloat will print out the hex float format that compilers tend to use. The format character for this is "X", the long format is "hex float". eFormatInstruction will print out disassembly with bytes and it will use the current target's architecture. The format character for this is "i" (which used to be being used for the integer format, but the integer format also has "d", so we gave the "i" format to disassembly), the long format is "instruction". Mate the lldb::FormatterChoiceCriterion enumeration private as it should have been from the start. It is very specialized and doesn't belong in the public API. llvm-svn: 143114
-
- Oct 26, 2011
-
-
Greg Clayton authored
llvm-svn: 143056
-
Greg Clayton authored
lldb_private::Error objects the rules are: - short strings that don't start with a capitol letter unless the name is a class or anything else that is always capitolized - no trailing newline character - should be one line if possible Implemented a first pass at adding "--gdb-format" support to anything that accepts format with optional size/count. llvm-svn: 142999
-
- Oct 23, 2011
-
-
Benjamin Kramer authored
Python.h includes a ton of macros that can cause weird behavior down the road. llvm-svn: 142754
-
- Oct 19, 2011
-
-
Greg Clayton authored
process IDs, and thread IDs, but was mainly needed for for the UserID's for Types so that DWARF with debug map can work flawlessly. With DWARF in .o files the type ID was the DIE offset in the DWARF for the .o file which is not unique across all .o files, so now the SymbolFileDWARFDebugMap class will make the .o file index part (the high 32 bits) of the unique type identifier so it can uniquely identify the types. llvm-svn: 142534
-
- Oct 14, 2011
-
-
Greg Clayton authored
inserted in commands by using backticks: (lldb) memory read `$rsp-16` `$rsp+16` (lldb) memory read -c `(int)strlen(argv[0])` `argv[0]` The result of the expression will be inserted into the command as a sort of preprocess stage where this gets done first. We might need to tweak where this preprocess stage goes, but it is very functional already. Added ansi color support to the Debugger::FormatPrompt() so you can use things like "${ansi.fg.blue}" and "${ansi.bold}" many more. This helps in adding colors to your prompts without needing to know the ANSI color code strings. llvm-svn: 141948
-
- Oct 13, 2011
-
-
Sean Callanan authored
llvm-svn: 141866
-
Sean Callanan authored
down through Module and SymbolVendor into SymbolFile. Added checks to SymbolFileDWARF that restrict symbol searches when a namespace is passed in. llvm-svn: 141847
-
- Oct 12, 2011
-
-
Sean Callanan authored
core Module functions that the expression parser will soon be using. llvm-svn: 141766
-
Greg Clayton authored
llvm-svn: 141755
-
- Oct 08, 2011
-
-
Jim Ingham authored
llvm-svn: 141422
-
- Oct 07, 2011
-
-
Greg Clayton authored
Re-organized the contents of RangeMap.h to be more concise and also allow for a Range, RangeArray, RangeData (range + data), or a RangeDataArray. We have many range implementations in LLDB and I will be converting over to using the classes in RangeMap.h so we can have one set of code that does ranges and searching of ranges. Fixed up DWARFDebugAranges to use the new range classes. Fixed the enumeration parsing to take a lldb_private::Error to avoid a lot of duplicated code. Now when an invalid enumeration is supplied, an error will be returned and that error will contain a list of the valid enumeration values. llvm-svn: 141382
-
- Oct 06, 2011
-
-
Greg Clayton authored
"const char *" is NULL. Also cleaned up the display of strings when you have an array of chars that are all NULL. Previously we were showing: ""... We now show: "" llvm-svn: 141223
-
- Oct 01, 2011
-
-
Greg Clayton authored
not saying that its children are load addresses. llvm-svn: 140921
-
Greg Clayton authored
symbol context that represents an inlined function. This function has been renamed internally to: bool SymbolContext::GetParentOfInlinedScope (const Address &curr_frame_pc, SymbolContext &next_frame_sc, Address &next_frame_pc) const; And externally to: SBSymbolContext SBSymbolContext::GetParentOfInlinedScope (const SBAddress &curr_frame_pc, SBAddress &parent_frame_addr) const; The correct blocks are now correctly calculated. Switched the stack backtracing engine (in StackFrameList) and the address context printing over to using the internal SymbolContext::GetParentOfInlinedScope(...) so all inlined callstacks will match exactly. llvm-svn: 140910
-
- Sep 26, 2011
-
-
Greg Clayton authored
symbolication. Also improved the SBInstruction API to allow access to the instruction opcode name, mnemonics, comment and instruction data. Added the ability to edit SBLineEntry objects (change the file, line and column), and also allow SBSymbolContext objects to be modified (set module, comp unit, function, block, line entry or symbol). The SymbolContext and SBSymbolContext can now generate inlined call stack infomration for symbolication much easier using the SymbolContext::GetParentInlinedFrameInfo(...) and SBSymbolContext::GetParentInlinedFrameInfo(...) methods. llvm-svn: 140518
-
- Sep 24, 2011
-
-
Greg Clayton authored
- New SBSection objects that are object file sections which can be accessed through the SBModule classes. You can get the number of sections, get a section at index, and find a section by name. - SBSections can contain subsections (first find "__TEXT" on darwin, then us the resulting SBSection to find "__text" sub section). - Set load addresses for a SBSection in the SBTarget interface - Set the load addresses of all SBSection in a SBModule in the SBTarget interface - Add a new module the an existing target in the SBTarget interface - Get a SBSection from a SBAddress object This should get us a lot closer to being able to symbolicate using LLDB through the public API. llvm-svn: 140437
-
- Sep 23, 2011
-
-
Jim Ingham authored
etc to specific source files. Added SB API's to specify these source files & also more than one module. Added an "exact" option to CompileUnit's FindLineEntry API. llvm-svn: 140362
-
- Sep 22, 2011
-
-
Greg Clayton authored
shared pointers. Changed the ExecutionContext over to use shared pointers for the target, process, thread and frame since these objects can easily go away at any time and any object that was holding onto an ExecutionContext was running the risk of using a bad object. Now that the shared pointers for target, process, thread and frame are just a single pointer (they all use the instrusive shared pointers) the execution context is much safer and still the same size. Made the shared pointers in the the ExecutionContext class protected and made accessors for all of the various ways to get at the pointers, references, and shared pointers. llvm-svn: 140298
-