summaryrefslogtreecommitdiffstats
path: root/lldb
Commit message (Collapse)AuthorAgeFilesLines
* Added llgs --named-pipe support and program_name-version_number printout ↵Todd Fiala2014-07-113-51/+251
| | | | | | | | | | | support. Added a unit test to test debugserver and llgs compliance on --named-pipe support. Modified llgs to implement --named-pipe support. (Note: need to revisit with new generic pipe support). llvm-svn: 212854
* Don't crash when a SBType is handed out through the API and later used after ↵Greg Clayton2014-07-112-89/+234
| | | | | | | | | | the module that owns the type is deleted. The fix adds a std::weak_ptr<Module> into the TypeImpl and fills in the weak pointer when possible. It also checks to make sure the module is still alive prior to using it which should make our API safer to use. <rdar://problem/15455145> llvm-svn: 212853
* Don't use "lldb." global variables in LLDB commands.Greg Clayton2014-07-111-1/+4
| | | | llvm-svn: 212852
* Modify ObjectFileELF::GetArchitecture() to avoid calling ↵Todd Fiala2014-07-111-2/+5
| | | | | | | | ParseSectionHeaders() when we have headers. Change by Matthew Gardiner. llvm-svn: 212825
* Prevent ObjectFileELF::GetSectionHeaderInfo() from reparsing section headers.Todd Fiala2014-07-111-4/+4
| | | | | | | | | | | | | If we have any section headers in the collection, we already parsed them. Therefore, don't reparse the section headers when the section_headers collection is not empty. See this thread for more details: http://lists.cs.uiuc.edu/pipermail/lldb-commits/Week-of-Mon-20140707/011721.html Change by Matthew Gardiner llvm-svn: 212822
* Enable the ability to enable debug info generation when evaluating expressions.Greg Clayton2014-07-113-1/+26
| | | | llvm-svn: 212792
* Remove code that was merged incorrectly.Greg Clayton2014-07-111-2/+0
| | | | llvm-svn: 212791
* Get the python scripting interface working on Windows.Zachary Turner2014-07-105-49/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes a number of issues with embedded Python on Windows. In particular: 1) The script that builds the python modules was normalizing the case of python filenames during copies. The module name is the filename, and is case-sensitive, so this was breaking code. 2) Changes the build to not attempt to link against python27.lib (e.g. the release library) when linking against msvcrt debug library. Doing a debug build of LLDB with embedded python support now requires you to provide your own self-compiled debug version of python. 3) Don't import termios when initializing the interpreter. This is part of a larger effort to remove the dependency on termios since it is not available on Windows. This particular instance was unnecessary and unused. Reviewed by: Todd Fiala Differential Revision: http://reviews.llvm.org/D4441 llvm-svn: 212785
* Cleanup the iOS simulator code.Greg Clayton2014-07-106-58/+60
| | | | | | | | | | | Fixes include: - Don't say that "<arch>-apple-ios" is compatible with "<arch>-apple-macosx" - Fixed DynamicLoaderMacOSXDYLD so specify an architecture that was converted solely from a cputype and subtype, just specify the file + UUID. - Fixed PlatformiOSSimulator::GetSupportedArchitectureAtIndex() so it returns the correct archs - Fixed SymbolFileDWARFDebugMap to load .o files correctly by just specifying the architecture without the vendor and OS now that "<arch>-apple-ios" is not compatible with "<arch>-apple-macosx" so we can load .o files correctly for DWARF with debug map - Fixed the coded in TargetList::CreateTarget() so it does the right thing with an underspecified triple where just the arch is specified. llvm-svn: 212783
* Flipped intermittent test failures from skip to XFAIL.Todd Fiala2014-07-105-6/+8
| | | | | | | | | | | | | | | | | | The following intermittently-failing tests have been flipped from skip to XFAIL on some combo of Linux and MacOSX: TestCallStopAndContinue.py (Linux, MacOSX) TestCallWithTimeout.py (Linux) TestConvenienceVariables.py (Linux) TestStopHookMultipleThreads.py (Linux) The following new tests have been marked XFAIL but are just intermittently failing: TestMultipleDebug.py (definitely intermittent on MacOSX, not sure I've seen it pass yet on Linux) llvm-svn: 212762
* Move the post-build step that creates lldb.py.Zachary Turner2014-07-102-10/+8
| | | | | | | | | Being in lldb\source, ${CMAKE_CURRENT_BINARY_DIR} would resolve to the build\tools\lldb\source directory. For correct operation, and parity with the shell script, it needs to resolve to the build\tools\lldb\scripts directory. llvm-svn: 212760
* Add better logging to the new Python-based SWIG generation scripts.Zachary Turner2014-07-102-10/+31
| | | | llvm-svn: 212759
* Reapply typo fix.Bruce Mitchener2014-07-101-1/+1
| | | | | | This was lost in the re-merging of command validation changes. llvm-svn: 212721
* Get the inferior binary's name via the command line argument insteadJason Molenda2014-07-101-2/+24
| | | | | | of hardcoding it. llvm-svn: 212698
* Fix test name.Jason Molenda2014-07-101-1/+1
| | | | llvm-svn: 212694
* Fix a type mismatch in NativeProcessLinux that shows up in 32-bit builds.Todd Fiala2014-07-101-1/+1
| | | | | | http://llvm.org/bugs/show_bug.cgi?id=20255 llvm-svn: 212685
* Fixes for broken Debian build - g++ 4.7 support.Todd Fiala2014-07-103-9/+21
| | | | | | | | | | | | | | | | | | | | | | | | These fix the broken debian lldb build, which is using g++ 4.7.2. TypeFormat changes: 1. stopped using the C++11 "dtor = default;" construct. The generated default destructor in the two derived classes wanted them to have a different throws() semantic that was causing 4.7 to fail to generate it. I switched these to empty destructors defined in the .cpp file. 2. Switched the m_types map from an ordered map to an unordered_map. g++ 4.7's c++ library supports the C++11 emplace() used by TypeFormat but the same c++ library's map impl does not. Since TypeFormat didn't look like it depended on ordering in the map, I just switched it to a std::unordered_map. NativeProcessLinux - g++ 4.7 chokes on lexing the "<::" in static_cast<::pid_t>(wpid). g++ 4.8+ and clang are fine with it. I just put a space in between the "<" and the "::" and that cleared it up. llvm-svn: 212681
* Add a new 'stresstest' category, set the api/multiple-debuggers test case as ↵Jason Molenda2014-07-102-1/+3
| | | | | | a stresstest. llvm-svn: 212673
* Add a new test in api/multiple-debuggers which tries to create 50Jason Molenda2014-07-104-0/+330
| | | | | | | | | | | | | | | | | | | | | | | debug sessions simultaneously to expose race conditoin/locking issues. This directory has an inferior program, testprog.cpp that has a couple of functions we can put breakpoints on. It has a driver program, multi-process-driver.cpp, which links against the LLDB solib and uses the SB APIs. It creates 50 pthreads, creates a debugger on all of them, launches a debug session of the inferior testprog, hits a couple breakpoints, walks the stack, continues, etc., and then kills the inferior and ends the debug session. A pass is if all fifty debug sessions complete successfully in the alloted time (~60 seconds). We may need to tweak this one to work correctly on different platforms/targets but I wanted to get it checked in to start. llvm-svn: 212671
* Skip tests that are intermittent on Linux, fix gdb-remote port-grabbing code.Todd Fiala2014-07-095-34/+47
| | | | | | | | | | | | | Marked skipped for Linux: TestCallStopAndContinue TestConvenienceVariables TestStopHookMultipleThreads Fixed up gdb-remote port-grabbing code to use a random port in a wide range, and to allow that to fail more gracefully. This appears to have solved some gdb-remote intermittent failing behavior. llvm-svn: 212662
* Skip TestCallStopAndContinue and TestCallThatRestarts on Darwin.Todd Fiala2014-07-092-0/+4
| | | | | | | | | These are failing intermittently. See http://llvm.org/bugs/show_bug.cgi?id=19246 for TestCallThatRestarts. Also applies to Linux. See http://llvm.org/bugs/show_bug.cgi?id=20274 for TestCallStopAndContinue. llvm-svn: 212660
* Marked TestTargetAPI.test_launch_new_process_and_redirect_stdout_with_* as ↵Todd Fiala2014-07-091-0/+2
| | | | | | | | XFAIL on Darwin. See http://llvm.org/bugs/show_bug.cgi?id=20273 llvm-svn: 212659
* TestRealDefinition tests marked XFAIL on Darwin.Todd Fiala2014-07-091-0/+4
| | | | | | http://llvm.org/bugs/show_bug.cgi?id=20272 llvm-svn: 212657
* Marked failing TestObjCDynamicValue tests as XFAIL on Darwin.Todd Fiala2014-07-091-0/+2
| | | | | | See http://llvm.org/bugs/show_bug.cgi?id=20271 llvm-svn: 212656
* Marked failing TestObjCDynamicSBType tests XFAIL on Darwin.Todd Fiala2014-07-091-0/+2
| | | | | | See http://llvm.org/bugs/show_bug.cgi?id=20270 llvm-svn: 212655
* Marked failing TestHiddenIvars tests as XFAIL on Darwin.Todd Fiala2014-07-091-0/+2
| | | | | | See http://llvm.org/bugs/show_bug.cgi?id=20269 llvm-svn: 212654
* Marked TestObjCMethods failing tests XFAIL, fixed cleanup code, removed ↵Todd Fiala2014-07-092-3/+4
| | | | | | | | | | | | now-passing expected failure markers. All tests matching '-p TestObjCMethods' now are marked correctly for MacOSX, and some error classes have been removed in cleanup code looking for files that might not exist due to previous failure. See http://llvm.org/bugs/show_bug.cgi?id=20267 llvm-svn: 212650
* Marked failing test XFAIL for ↵Todd Fiala2014-07-091-0/+1
| | | | | | | | TestRegisterVariables.test_with_dsym_and_run_command on Darwin See http://llvm.org/bugs/show_bug.cgi?id=20266 llvm-svn: 212648
* Marked failing Darwin TestProcessLaunch tests as XFAILTodd Fiala2014-07-091-0/+2
| | | | | | See http://llvm.org/bugs/show_bug.cgi?id=20265 llvm-svn: 212647
* TestDataFormatterStdVector.test_with_dsym_and_run_command marked XFAIL on DarwinTodd Fiala2014-07-091-0/+1
| | | | | | See http://llvm.org/bugs/show_bug.cgi?id=20264 llvm-svn: 212646
* Disable TestDataFormatterStdMap.test_with_dsym_and_run_command on DarwinTodd Fiala2014-07-091-0/+1
| | | | | | See http://llvm.org/bugs/show_bug.cgi?id=20263 llvm-svn: 212645
* Make sure the "command regex add" has a unique name for editline history ↵Greg Clayton2014-07-091-1/+1
| | | | | | purposes. llvm-svn: 212644
* Mark failing tests in TestDataFormatterObjC on Darwin as XFAILTodd Fiala2014-07-091-0/+2
| | | | | | See http://llvm.org/bugs/show_bug.cgi?id=20260 for more details. llvm-svn: 212639
* Dont' use a random probe & alloc strategy for the IRMemoryMap.Zachary Turner2014-07-091-30/+8
| | | | | | | | | | | | | | | | | | | | | | | The current strategy for host allocation is to choose a random address and attempt to allocate there, eventually failing if the allocation cannot be satisfied. The C standard only guarantees that RAND_MAX >= 32767, so for platforms that use a very small RAND_MAX allocations will fail with very high probability. On such platforms (Windows is one), you can reproduce this trivially by running lldb, typing "expr (3)" and then hitting enter you see a failure. Failures generally happen with a frequency of about 1 failure every 5 evaluations. There is no good reason that allocations need to look like "real" pointers, so this patch changes the allocation scheme to simply jump straight to the end and grab a free chunk of memory. Reviewed By: Sean Callanan Differential Revision: http://reviews.llvm.org/D4300 llvm-svn: 212630
* Fix tests broken by the OptionValidator changes.Zachary Turner2014-07-095-1/+21
| | | | | | | | | | | | | | | | | | | | | | | The getopt library has a structure called option (lowercase). We have a structure called Option (uppercase). previously the two structures had exactly the same definitions, and we were doing a C-style cast of an Option* to an option*. C-style casts don't bother to warn you when you cast to unrelated types, but in the original OptionValidator patch I modified the definition of Option. This patch fixes the errors by building an array of option structures and filling it out the correct way before passing it to the getopt library. This also fixes one other source of test failures: an uninitialized read that occurs due to not initializing a field of the OptionDefinition. Reviewed By: Todd Fiala Differential Revision: http://reviews.llvm.org/D4425 llvm-svn: 212628
* Revert "Fix broken tests due to new error output."Zachary Turner2014-07-0939-439/+559
| | | | | | | This reverts commit ec7c94f8e6860968d384b578e5564a9c55c80b4a and re-enables OptionValidators. llvm-svn: 212627
* __arm64__ and __aarch64__ #ifdef adjustmentsTodd Fiala2014-07-0922-58/+58
| | | | | | | | Change by Paul Osmialowski See http://reviews.llvm.org/D4379 for details. llvm-svn: 212583
* Correct indentation level for one line.Jason Molenda2014-07-091-1/+1
| | | | llvm-svn: 212582
* Tweak for lldb coding style consistency.Jason Molenda2014-07-081-1/+2
| | | | llvm-svn: 212575
* Make sure that qProcessInfo packet returns correct cpu type/subtype for ↵Greg Clayton2014-07-081-12/+17
| | | | | | | | processes on Haswell machines with a Haswell enabled kernel. <rdar://problem/17332107> llvm-svn: 212567
* Add the ability to provide a "count" option to the various "thread step-*" ↵Jim Ingham2014-07-084-11/+113
| | | | | | | | | operations. Only step-inst and step-inst are currently supported, the rest just warn that they are not supported if you try to provide a count. llvm-svn: 212559
* Document the "thread.completed-expression" feature in the "expression" ↵Jim Ingham2014-07-081-0/+9
| | | | | | command help. llvm-svn: 212558
* Revert accidental change to Xcode project.Bruce Mitchener2014-07-081-1/+1
| | | | llvm-svn: 212554
* Fix typos.Bruce Mitchener2014-07-0838-55/+55
| | | | llvm-svn: 212553
* Simplify Host::GetOSVersion() on macosx.Jean-Daniel Dupas2014-07-081-46/+7
| | | | | | It removes usage of the deprecated function CFURLCreateDataAndPropertiesFromResource(). llvm-svn: 212552
* Remove hack from dotest.py to fix extra output on -P command, and fix MacOSX ↵Todd Fiala2014-07-081-4/+6
| | | | | | | | | | | | | multi-threaded test run collisions on crashlog.dylib. On MacOSX, we need to adjust the way we clean up the crashlog dylib in deleteCrashInfoDylib(). Right now it is only geared to run one test at a time. For now I'm just skipping the delete. I'll work with Apple on a fix that handles this. It seems to only cause one dylib total to hang around that might otherwise have been deleted. Fixes MacOSX multiple tests running at the same time. (I didn't hit this on Yosemite, might be an issue that only shows up on Mavericks?) llvm-svn: 212548
* Fix broken tests due to new error output.Todd Fiala2014-07-0839-558/+438
| | | | | | | | | | | This reverses out the options validators changes. We'll get these back in once the changes to the output can be resolved. Restores broken tests on FreeBSD, Linux, MacOSX. Changes reverted: r212500, r212317, r212290. llvm-svn: 212543
* Fix broken MacOSX Xcode build for CommandOptionValidators.cpp.Todd Fiala2014-07-081-0/+4
| | | | llvm-svn: 212536
* Enable multi-process testing for MacOSX.Todd Fiala2014-07-082-35/+31
| | | | | | | | | | | | | | | | | | | | | | | | This change modifies the way the multi-threaded test runner works. It uses the Python multiprocessing library rather than the threading library. Investigation showed that all MacOSX threads were waiting on the global python lock when using the threading approach. Not sure why that differed from the Linux/FreeBSD implementations. The new approach uses the multiprocessing library's Pool class. It's mildly cleaner than the other version, runs multithreaded on MacOSX, and seems to have caused no performance regression on Linux. The worker thread logic is simpler with the Pool managing the worker processes. This also includes a minor change to the test runner's python lldb dir logic using the -P option. It now looks at the last line of output rather than the first line. This covers part of the issue of extra options validation logic getting spit out. The test runner will now pick up the right python library directory. It does not fix all the issues, though, as a ton of tests (50+ on Linux) are failing due to unexpected output when running lldb. llvm-svn: 212513
* Implment "platform process list" for Windows.Zachary Turner2014-07-083-2/+165
| | | | | | | | | | | | | | | | | | This patch implements basic functionality of the "platform process list" command for Windows. Currently this has the following limitations. * Certain types of filtering are not enabled (e.g. filtering by architecture with -a), although most filters work. * The username of the process is not yet obtained. * Using -v to list verbose information generates an error. * The architecture column displays the entire triple, leading to misaligned formatting of the printed table. Reviewed by: Greg Clayton Differential Revision: http://reviews.llvm.org/D4413 llvm-svn: 212510
OpenPOWER on IntegriCloud