summaryrefslogtreecommitdiffstats
path: root/lldb
Commit message (Collapse)AuthorAgeFilesLines
* Added an option to turn OFF the "detach on error" behavior that was addedJim Ingham2014-06-2520-17/+176
| | | | | | | | to debugserver when launching processes. <rdar://problem/16216199> llvm-svn: 211658
* Remove extra newline from log PrintfEd Maste2014-06-251-1/+1
| | | | | | | | | | | Clean up this one specifically, as it has the effect of double-spacing the list of thread stop reasons, and substantially bloats the log file when opening a core with hundreds of threads. There are other cases of extra newlines. Some of them do increase readability, so avoid a general sweep for now. llvm-svn: 211655
* Patch from Keno Fischer to enable JITLoaderGDB with mach-o file support.Greg Clayton2014-06-249-11/+107
| | | | | | The patch is as is with the functionality left disabled for apple vendors because of performance regressions. If this is enabled it ends up searching for symbols in all shared libraries that are loadeded. llvm-svn: 211638
* Rework fix in r201744. You really DO need to waitpid twice to get theJim Ingham2014-06-245-11/+13
| | | | | | | | | | | process fully reaped. The race & bad behavior was because we were letting the reaping thread in LLDB to also set the Process exit status, so debugserver would sometimes be shut down before it got a chance to report the exit status, and then we got confused. <rdar://problem/16555850> llvm-svn: 211636
* Fix up Windows build for the SBUnixSignals addition.Todd Fiala2014-06-242-0/+7
| | | | | | Change by Zachary Turner. llvm-svn: 211635
* Restore r211547: Add newline on last line of a few files.Ed Maste2014-06-243-3/+3
| | | | llvm-svn: 211621
* Restore fixes reverted by r211607:Ed Maste2014-06-245-5/+6
| | | | | | | | | | | | | | | | | | | r209631: Use MIUtilSystemLinux on FreeBSD as well We should later rename this file (probably MIUtilSystemPOSIX), but more clean-up is still needed here, and we can wait until we better understand how this code may be shared between FreeBSD, Linux, and OS X. r209632: Add stdlib.h for malloc and friends r209633: Remove include of obsolete stropts.h header The header is for POSIX streams functionality, and does not exist on FreeBSD, OS X, or contemporary Linux distributions. Issue reported by John Wolfe. llvm-svn: 211620
* Remove unused files, causing CMake build error.Deepak Panickal2014-06-242-181/+0
| | | | llvm-svn: 211618
* Added support for new MI commands and bug fixes. More details in MIReadme.txt.Deepak Panickal2014-06-24113-1485/+7722
| | | | llvm-svn: 211607
* Fix error handling for the AppleGetQueues and AppleGetPendingItemsJason Molenda2014-06-232-0/+2
| | | | | | | ClangFunctions if the clang function compilation fails for any reason. <rdar://problem/16793965> llvm-svn: 211549
* Add newline on last line of a few files.Jason Molenda2014-06-234-4/+4
| | | | llvm-svn: 211547
* Temporarily roll back the parts of r211241 where I fixed aJason Molenda2014-06-232-2/+2
| | | | | | | | | | mistake in the lock acquistion in HistoryUnwind and HistoryThread. We've got a deadlock with one use case of HistoryUnwind; I need to figure out what lock ordering is causing this and fix it for real. <rdar://problem/17411904> llvm-svn: 211541
* Don't set the ABI to apcs-gnu for non-ARM iOS targets (i.e., theSean Callanan2014-06-231-2/+3
| | | | | | | | simulator). <rdar://problem/17399406> llvm-svn: 211536
* Part 2 of SBUnitSignals check-in.Todd Fiala2014-06-233-0/+74
| | | | | | | | | I missed adding a few new files to the change list. The build is broken from r211526 without this fix. (And Ed Maste caught it before I did, so this is the remainder - the test methods). llvm-svn: 211535
* Add SBUnixSignals.iEd Maste2014-06-231-0/+74
| | | | | | From the patch posted by Russell Harmon. llvm-svn: 211534
* Add API control of the signal disposition.Todd Fiala2014-06-2312-2/+327
| | | | | | | | | | | | See http://reviews.llvm.org/D4221 for details. This commit allows you to control the signals that lldb will suppress, stop or forward using the Python and C++ APIs. Change by Russell Harmon. Xcode build system changes (and any mistakes) by Todd Fiala. Tested on MacOSX 10.9.3 and Xcode 6 beta. (Xcode 5 is hitting the dependency checker crasher on all my systems). llvm-svn: 211526
* lldb: deal with non-portable PTRACE-related constantsTodd Fiala2014-06-231-0/+20
| | | | | | | | See http://reviews.llvm.org/D4091 for details. Change by Paul Osmialowski. llvm-svn: 211503
* Remove useless declarationSylvestre Ledru2014-06-221-1/+0
| | | | llvm-svn: 211468
* Remove useless callSylvestre Ledru2014-06-211-1/+0
| | | | llvm-svn: 211454
* Simplify the code (variable bValid is not really interesting)Sylvestre Ledru2014-06-211-7/+4
| | | | llvm-svn: 211452
* Remove useless declarationSylvestre Ledru2014-06-211-3/+0
| | | | llvm-svn: 211451
* Fix a gdbremote bug in _M/_m stub support detection.Todd Fiala2014-06-211-2/+6
| | | | | | | | | | | | When a stub reported $#00 (unsupported) for _M and _m packets, the unsupported response was not handled and the client then marked the _M/_m commands as definitely supported. However, they would always fail, preventing lldb's fallback InferiorCallMmap-based allocation strategy from being used to attempt to allocate memory in the inferior process space. llvm-svn: 211425
* Fixed the "log enable gdb-remote packets" to support dumping the binary ↵Greg Clayton2014-06-201-3/+42
| | | | | | memory read packet ('x') by printing out the binary data correctly using only printable characters and removing the 0x7d escapes so the memory is readable in the packet output. llvm-svn: 211400
* Added gdb-remote tests for Q{Save,Restore}RegisterState.Todd Fiala2014-06-203-95/+309
| | | | | | | | | Tests for both thread suffix and no thread suffix execution. Moved some bit-flipping helper methods from TestLldbGdbServer into the base GdbRemoteTestCaseBase class. llvm-svn: 211381
* Command files that switch input handlers didn't work, now they do.Greg Clayton2014-06-201-3/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The issue was when we called Debugger::RunIOHandler(), it would run the current IOHandler by activating it, and running it and then try to pop it and exit regardless of wether it was on top or not. The new code will push the IOHandler that was passed in, and run the IOHandlers until the one passed in is successfully popped. This allows files for the "command source" to switch input handlers: % cat /tmp/commands br s -S alignLeftEdges: br command add bt frame var po self DONE b s -n main br command add bt frame var DONE Note above we set a breakpoint, then add commands do it. The "br command add" will push the breakpoint comment gatherer until it sees "DONE" and then pop itself off the stack. The a new breakpoint will be set and it does the same thing again. Now this file can be sourced from the command line: % lldb -s /tmp/commands /path/to/a.out And your breakpoints will be correctly setup! <rdar://problem/17081650> llvm-svn: 211329
* Test commit: Correct type in two comments.John Wolfe2014-06-191-2/+2
| | | | llvm-svn: 211296
* Switch over to using object_getClass to get the class of an object. ↵Jim Ingham2014-06-191-27/+39
| | | | | | | | | | | | Previously we were directly accessing the isa pointer of a class object to get its meta-class, but the isa pointers are not simple pointers on arm64, so this would cause the stepping to fail. object_getClass does whatever magic needs doing in this case. <rdar://problem/17239690> llvm-svn: 211289
* Fixed up gdb-remote auxv regex issues with binary data.Todd Fiala2014-06-193-11/+39
| | | | | | | | | | | | | | | | | | | | Fixes two causes for https://github.com/tfiala/lldb/issues/7. 1. Ensures the inferior program has started executing, by printing a message on output first thing (per the "message:" command line arg) and waiting for that text to arrive before doing any checks related to auxv support. 2. Fixes up auxv-related regex patterns to be compiled with the Python re.MULTILINE and re.DOTALL options. The multiline is needed because the binary data can include what look like newlines when interpreted as text, and the DOTALL is needed to have the (.*) content portion match newlines. Added interrupt packet helper methods to add interrupt test sequence packets and parse the results from them. llvm-svn: 211283
* Actually make a real scoped locker rather than constructing one that gets ↵Jim Ingham2014-06-181-9/+8
| | | | | | immediately thrown away... llvm-svn: 211242
* Add a lock in the UnwindTable class so two Targets won't tryJason Molenda2014-06-184-2/+13
| | | | | | | | | | to modify the same UnwindTable object simultaneously. Fix HistoryThread and HistoryUnwind's mutex lock acqusition to retain the lock for the duration of the operation instead of releasing the temporary immediately. <rdar://problem/17055023> llvm-svn: 211241
* Don't allow multiple line entries with the same address to exist sequentially.Greg Clayton2014-06-181-1/+11
| | | | | | The compiler, when JIT'ing code, can emit illegal DWARF line tables (address is line table sequences must increase). This changes fixes that issue by replacing previous line entries whose start address is the same with the new line entry to avoid having multiple line entries with the same address. Since the address range of lines entries is determined by the delta between the current and next line entry, this shouldn't cause any issues. llvm-svn: 211212
* Add an option for debugserver to propagate its environment to programs it ↵Greg Clayton2014-06-181-0/+18
| | | | | | | | | | | | | | | | launches using the --forward-env or -F: % ./debugserver --forward-env localhost:1234 -- /bin/ls % ./debugserver -F localhost:1234 -- /bin/ls Also allow new environment variables to be set using the "--env" or "-e": % ./debugserver --env FOO=1 --env BAR=2 localhost:1234 -- /bin/ls % ./debugserver -e FOO=1 -e BAR=2 localhost:1234 -- /bin/ls <rdar://problem/17350654> llvm-svn: 211200
* Add locking around the m_owners collection in the breakpoint site. If we ↵Jim Ingham2014-06-182-1/+13
| | | | | | | | | | are in the middle of "BreakpointLocation::ShouldStop" we don't want other commands (like "break disable") to mutate the owners of this breakpoint out from under us. <rdar://problem/17255589> llvm-svn: 211136
* Added gdb-remote auxv test for chunked reads.Todd Fiala2014-06-172-0/+82
| | | | | | | | Verifies that a sum of offset,length auxv reads matches a single large read, and that the auxv data extracted from them match. llvm-svn: 211127
* Those were not the right defines for memory errors, and the right defines aren'tJim Ingham2014-06-171-8/+1
| | | | | | | | available. So going back to a generic error instead. <rdar://problem/17058708> llvm-svn: 211124
* Fix up lldb cmake linker flags for MacOSX.Todd Fiala2014-06-171-1/+2
| | | | | | | | | | | | | | | Change r210035 broke the Darwin cmake build. The initial change was intended to stop the --start-group/--end-group linker flags from being passed to non-gcc/clang-looking compilers, stopping MSVC from warning on linking. That change, however, caused MacOSX cmake-based builds to start using the --start-group/ --end-group flags, even though the MacOSX linker doesn't support them. That broke the MacOSX clang build. The fix keeps the newer check for a gcc-compatible compiler, but specifically excludes MacOSX. llvm-svn: 211123
* Added gdb-remote auxv tests.Todd Fiala2014-06-173-8/+233
| | | | | | | | | | | | | | | | | First batch of auxv-related tests from llgs branch. Includes helpers for unescaping gdb-remote binary-escaped data, converting binary data from inferior endian-ness to integral values, etc. Tests on debugserver are expected to be skipped since it doesn't support auxv and the tests are geared to be skipped on platforms that don't broadcast support for the feature in qSupported. (llgs is listed as XFAIL since qSupported support in llgs upstream is not there, so the support check cannot work in upstream llgs.) llvm-svn: 211105
* Avoid crashing on invalid or unreadable ELF coreEd Maste2014-06-171-1/+2
| | | | | | | | | | Issue discovered during the GSoC 2014 project implementing FreeBSD kernel support. The existing elf-core Process plugin crashed trying to read from /dev/mem (the kernel memory device). Patch by Mike Ma. llvm-svn: 211102
* Don't hardcode path to codesign_allocate.Kuba Brecka2014-06-161-1/+5
| | | | | | | | Building OS X debugserver assumes you have an Xcode installation at /Application/Xcode.app. Let's instead detect where Xcode is using xcrun. See http://reviews.llvm.org/D4152 llvm-svn: 211074
* Correctly classify code sections as code sections by using the ↵Greg Clayton2014-06-161-113/+149
| | | | | | | | | | S_ATTR_PURE_INSTRUCTIONS and S_ATTR_SOME_INSTRUCTIONS section flags. Also correctly set the symbol type of symbols for S_REGULAR and other section types. <rdar://problem/16896734> llvm-svn: 211073
* Don't allow two threads to create/use the section list before it has been ↵Greg Clayton2014-06-161-0/+3
| | | | | | | | fully populated. <rdar://problem/16937203> llvm-svn: 211043
* [cmake] Switch python install to use an 'install(DIRECTORY...)' cmakeChandler Carruth2014-06-162-15/+2
| | | | | | | | | | | | | command instead of a script. In addition to cleaning things up, this allows more easy access to the variables. In the old version, it tried to pass variables as -D flags to cmake, but this didn't actually work. CMake drops all of those arguments on the floor (try passing garbage through them) and just picks up the limited subset of pre-defined macros. So, for example, this fixes the build with LLVM_LIBDIR_SUFFIX=64 which is how I ended up here. =] llvm-svn: 211028
* Move x86-specific struct user code for Linux ProcessMonitor behind #define ↵Todd Fiala2014-06-161-0/+4
| | | | | | | | | | guards. See http://reviews.llvm.org/D4092 for details. Change by Paul Osmialowski. (Minor tweaks to the comment by Todd.) llvm-svn: 211026
* Minor gdb-remote test QListThreadsInStopReply changes from llgs branch.Todd Fiala2014-06-152-5/+7
| | | | llvm-svn: 211006
* Added several gdb-remote tests around QListThreadsInStopReply.Todd Fiala2014-06-142-1/+176
| | | | llvm-svn: 210982
* Properly terminated POSIX register sets with LLDB_INVALID_REGNUM.Todd Fiala2014-06-141-11/+17
| | | | | | | | | | RegisterSets are assumed to be terminated by this value. Loops over register set values would fail without LLDB_INVALID_REGNUM terminating the list. This change adjusts the static check to account for the size of the register set regnum list being one larger than the expected valid register set count. llvm-svn: 210964
* Added gdb-remote expedited register dupe check.Todd Fiala2014-06-142-2/+41
| | | | | | | | | | | | | The llgs branch had a bug where register sets were not terminated with LLDB_INVALID_REGNUM so the expedite register loop was issuing duplicate registers. This test was added to catch the problem. Enhanced the key-val collection method to optionally (and by default) support capturing duplicate values for a given key. When that happens and if permitted, it promotes a single key to a list and appends values to it. llvm-svn: 210963
* Sync accumulated minor diffs in llgs branch gdb-remote tests.Todd Fiala2014-06-132-58/+202
| | | | | | | | I've been making some subtle changes to the gdb-remote tests as I implement them in the llgs branch. This check-in rectifies the set of diffs that have accumulated in the llgs branch that were not present upstream. llvm-svn: 210957
* Add documentation about the jThreadExtendedInfo packet.Jason Molenda2014-06-131-0/+59
| | | | llvm-svn: 210949
* Add a check that we found an ABI plugin before calling a method on it.Jason Molenda2014-06-131-1/+1
| | | | llvm-svn: 210942
OpenPOWER on IntegriCloud