summaryrefslogtreecommitdiffstats
path: root/lldb
Commit message (Collapse)AuthorAgeFilesLines
...
* Updating convenience register attach testAndrew Kaylor2013-06-071-9/+22
| | | | llvm-svn: 183580
* Don't set stdin to devnull for forked processesAndrew Kaylor2013-06-071-1/+0
| | | | llvm-svn: 183578
* Don't retry the Connect when starting up debugserver if the reason for the ↵Jim Ingham2013-06-073-1/+30
| | | | | | | | | | previous failure was EINTR. That means the user was trying to interrupt us, and we should just stop instead. <rdar://problem/13184758> llvm-svn: 183577
* Revert r183281, adds a comment about how to reproduce the hang.Ashok Thirumurthi2013-06-071-0/+1
| | | | llvm-svn: 183569
* Updated the LLDB status page to reflect the recent addition of ↵Ashok Thirumurthi2013-06-074-55/+101
| | | | | | | | | | | multi-threaded support. Reworked the download information on lldb.llvm.org: - svn copy of download.html to source.html with information on source-code access - new download.html with links to download nightly builds and Debian releases - updated the sidebar to reflect these changes llvm-svn: 183547
* Tweaking Daniel Malea's fixes to Makefile.rules to ensure that we correctly ↵Enrico Granata2013-06-071-0/+1
| | | | | | | | pass -stdlib=libstdc++ to clang when compiling as well as when linking Not doing this was causing link errors as clang was looking for libc++ symbols while linking against libstdc++ llvm-svn: 183482
* Tweaks to the std::list (libstdc++ test case)Enrico Granata2013-06-071-69/+14
| | | | llvm-svn: 183480
* Make the "SearchFilterByModuleListAndCU" work correctly for searches at the ↵Jim Ingham2013-06-072-2/+17
| | | | | | | | | | | | | CompUnit level. Fixes a bug in "break set --source-pattern-regexp" when a shared library is specified. Also cleaned up the help text for --source-pattern-regexp so it is a little clearer. <rdar://problem/14084261> llvm-svn: 183476
* <rdar://problem/14086944>Greg Clayton2013-06-071-10/+26
| | | | | | lldb doesn't autocomplete objective C class methods. The regular expression was looking for strings that started with the completion string that was passed in. For objective C class methods, this string starts with "+" which wasn't being escaped. Added many other escapes that were missing just in case. llvm-svn: 183470
* Document the extended detach packet.Jim Ingham2013-06-071-0/+20
| | | | llvm-svn: 183469
* Remove the debugserver "--open-connection" option and obey the hostname that ↵Greg Clayton2013-06-063-54/+132
| | | | | | | | | | | | | | is passed into debugserver. you can now specify: debugserver host:port debugserver port debugserver /path/to/file When "host" is specified, we will only accept connections from that host. If host is not specified, we default to "localhost". llvm-svn: 183457
* <rdar://problem/14083928>Enrico Granata2013-06-061-0/+6
| | | | | | Making sure that if you invoke LLDB as lldb ./someBinary you can then launch the inferior with process launch —tty llvm-svn: 183453
* Address::GetSection() turns a weak pointer to a shared pointer which is a ↵Jim Ingham2013-06-061-4/+4
| | | | | | | | little slow. So in Address::operator== & != do the cheap GetOffset() comparison first and only compare the sections if that is true. llvm-svn: 183452
* Hardened the IR interpreter to prevent it fromSean Callanan2013-06-061-1/+1
| | | | | | | | reading non-standard value sizes. <rdar://problem/14081292> llvm-svn: 183448
* Fixed a problem where evaluating a breakpointSean Callanan2013-06-062-3/+8
| | | | | | | | | | | condition in two different processes (with the same target) could cause crashes. Now the breakpoint condition is always evaluated (and possibly parsed) by one thread at a time. <rdar://problem/14083737> llvm-svn: 183440
* Adding a test case for pr15415 - partial backtrace with -fomit-frame-pointerAshok Thirumurthi2013-06-063-0/+268
| | | | | | | | | | | | that is patterned after its parent TestInferiorCrashing.py. - The xfail decorator limits the xfail to tool-chains that support this compiler option. - Included a TODO concerning the platform-specific behavior when 'next' is issued after a crash. - Toggling -fomit-frame-pointer results in an xpass as mentioned in pr15415. Thanks to Daniel for the review, and Samuel for the bug report and reproducer. llvm-svn: 183434
* Reworked the routine that qualifies the tool-chain for expected failures to ↵Ashok Thirumurthi2013-06-061-5/+15
| | | | | | | | | handle sub-strings. - For instance, allows 'gcc' to match x86-64-linux-gnu-gcc as required on some Debian builds. - Also adds doc-strings and a more consistent naming convention for related helpers. llvm-svn: 183415
* <rdar://problem/14064994>Enrico Granata2013-06-061-5/+4
| | | | | | Fixing a test case to correctly check that the class name has changed instead of relying on GetValueDidChange() llvm-svn: 183364
* Fixes for the IR interpreter:Sean Callanan2013-06-053-9/+45
| | | | | | | | | | | | | | - Implemented the SExt instruction, and - eliminated redundant codepaths for constant handling. Added test cases. <rdar://problem/13244258> <rdar://problem/13955820> llvm-svn: 183344
* Add test cases for attaching to a process after forkDaniel Malea2013-06-054-0/+219
| | | | | | | | | - one test case is due to llvm.org/pr16229 - other test case uses a Linux workaround for above by using os.fork() instead of subprocess module Patch by Andy Kaylor! llvm-svn: 183340
* Fix Makefiles in the data-formatter-stl testsDaniel Malea2013-06-057-21/+28
| | | | | | - specify compiler flag -stdlib=libstdc++ only if using clang (not supported in gcc) llvm-svn: 183333
* <rdar://problem/13125225>Enrico Granata2013-06-0511-22/+735
| | | | | | | Adding data formatters for std::set, std::multiset and std::multimap for libc++ The underlying data structure is the same as std::map, so this change is very minimal and mostly consists of test cases llvm-svn: 183323
* Skip intermittent watchpoint test failure when testing on Linux/gcc.Matt Kopec2013-06-051-0/+2
| | | | llvm-svn: 183316
* Use std::vector for the array of RegisterInfo structs that describe the ↵Ashok Thirumurthi2013-06-054-45/+32
| | | | | | | | | | | | register context. - Ensures that this container is populated once for the lifetime of lldb --- In particular, static methods can query this data even after the first RegisterContext has been destroyed. - Uses a singleton function to avoid global constructors. Thanks to Greg Clayton for the suggestion! llvm-svn: 183313
* Small changes to diagnose_unwind. Correctly provide help text.Jason Molenda2013-06-051-6/+15
| | | | | | Print the lldb version at the top of the output. llvm-svn: 183289
* Change UnwindLLDB::SearchForSavedLocationForRegister so that it will allow forJason Molenda2013-06-053-10/+9
| | | | | | | | | | the link register save location being in the link register - in which case we should iterate down the stack, not recursively try to find the lr in the current frame over and over. <rdar://problem/13932954> llvm-svn: 183282
* Re-enabling a test that is no longer failingAndrew Kaylor2013-06-041-1/+0
| | | | llvm-svn: 183281
* Remember to tell the breakpoints to update themselves when new symbols are ↵Jim Ingham2013-06-041-8/+11
| | | | | | | | added. <rdar://problem/14054840> llvm-svn: 183277
* <rdar://problem/13239809>Enrico Granata2013-06-043-6/+20
| | | | | | | | Two things: 1) fixing a bug where memory read was not clearing the m_force flag after it was passed, so that subsequent memory reads would not need to be forced even if over boundary 2) adding a setting target.max-memory-read-size that you can set instead of the hardcoded 1024 bytes limit we had before llvm-svn: 183276
* <rdar://problem/12582328>Enrico Granata2013-06-042-11/+62
| | | | | | | | | | If you want to define a formatter for "array of Foo of any size", ordinarily you would say -x "Foo \[[0-9]+\]" this checkin allows you to instead say "Foo[]" (or "Foo []") and LLDB will automatically create the regular expression and add the -x flag on your behalf llvm-svn: 183272
* <rdar://problem/14003462>Enrico Granata2013-06-041-0/+2
| | | | | | Formatters for unsigned char* and const variant llvm-svn: 183254
* Add a more clear explanation of what is missing for core files with no ↵Greg Clayton2013-06-041-1/+1
| | | | | | LC_THREAD load commands. llvm-svn: 183253
* Make sure a core file has thread contexts before we try and load it.Greg Clayton2013-06-041-0/+7
| | | | llvm-svn: 183252
* Fixed printf build warning.Greg Clayton2013-06-041-1/+1
| | | | llvm-svn: 183250
* <rdar://problem/13941992>Greg Clayton2013-06-041-5/+7
| | | | | | Accept mach-o files with bad segments. Many core files are not created correctly and we should still be able to glean any information we can from them. llvm-svn: 183247
* <rdar://problem/13988982>Enrico Granata2013-06-043-0/+1612
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | LLDB API versioning This checkin makes the LLDB API versioned We are starting at version 1.0 and will then revise and update the API from there Further details: API versioning --------------------------------- The LLDB API is versioned independently of the LLDB source base Our API version numbers are composed of a major and a minor number The major number means a complete and stable revision of the API. Major numbers are compatibility breakers (i.e. when we change the API major number, there is no promise of compatibility with the previous major version and we are free to remove and/or change any APIs) Minor numbers are a work-in-progress evolution of the API. APIs will not be removed or changed across minor versions (minors do not break compatibility). However, we can deprecate APIs in minor versions or add new APIs in minor versions A deprecated API is supposedly going to be removed in the next major version and will generate a warning if used APIs we add in minor versions will not be removed (at least until the following major) but they might theoretically be deprecated in a following minor version Users are discouraged from using the LLDB version number to test for API features and should instead use the API version checking as discussed below API version checking --------------------------------- You can (optionally) sign into an API version checking feature To do so you need to define three macros: LLDB_API_CHECK_VERSIONING - define to any value (or no value) LLDB_API_MAJOR_VERSION_WANTED - which major version of the LLDB API you are targeting LLDB_API_MINOR_VERSION_WANTED - which minor version of the LLDB API you are targeting If these macros exist - LLDB will enable version checking of the public API If LLDB_API_MAJOR_VERSION is not equal to LLDB_API_MAJOR_VERSION_WANTED we will immediately halt your compilation with an error This is by design, since we do not make any promise of compatibility across major versions - if you really want to test your luck, disable the versioning altogether If the major version test passes, you have signed up for a specific minor version of the API Whenever we add or deprecate an API in a minor version, we will mark it with either LLDB_API_NEW_IN_DOT_x - this API is new in LLDB .x LLDB_API_DEPRECATED_IN_DOT_x - this API is deprecated as of .x If you are using an API new in DOT_x if LLDB_API_MINOR_VERSION_WANTED >= x then all is well, else you will get a compilation error This is meant to prevent you from using APIs that are newer than whatever LLDB you want to target If you are using an API deprecated in DOT_x if LLDB_API_MINOR_VERSION_WANTED >= x then you will get a compilation warning, else all is well This is meant to let you know that you are using an API that is deprecated and might go away Caveats --------------------------------- Version checking only works on clang on OSX - you will get an error if you try to enable it on any other OS/compiler If you want to enable version checking on other platforms, you will need to define appropriate implementations for LLDB_API_IMPL_DEPRECATED and LLDB_API_IMPL_TOONEW and any other infrastructure your compiler needs for this purpose We have no deprecation-as-error mode There is no support for API versioning in Python We reserve to use macros whose names begin with LLDB_API_ and you should not use them in your source code as they might conflict with present or future macro names we are using to implement versioning For API implementors: If you need to add a new public API call, please remember to add the LLDB_API_NEW_IN_DOT_x marker in the header file and when you are done with adding stuff, to also update LLDB_API_MINOR_VERSION If you want to remove a function, deprecate it first, by using LLDB_API_DEPRECATED_IN_DOT_x and when you are done with deprecating stuff, to also update LLDB_API_MINOR_VERSION A new major version (LLDB_API_MAJOR_VERSION++) is your only chance to remove and/or change API calls but is probably quite a big deal and you might want to consider deprecating the existing calls for a while before doing your changes A couple more caveats: Currently, the lldb-tool does NOT use the version checking feature. It would be a nice future improvement to make it do that, once we have proper version checking on other OSs APIs marked as deprecated by a comment in the source are still deprecated just that way. A good purpose for API 1.1 might be to deprecate them with appropriate markers llvm-svn: 183244
* More minor FreeBSD fixes.Daniel Malea2013-06-043-1/+15
| | | | | | | | | - link libexecinfo (as libc is missing backtrace()) - enable FreeBSD-specific plugins Patch by Ed Maste! llvm-svn: 183233
* If ThreadPlanCallFunction hasn't set its notion of the "real stop info" yet, ↵Jim Ingham2013-06-0411-20/+29
| | | | | | | | | | just return the current PrivateStopInfo. Also renamed a few more places where we were using StopReason in functions that were returning StopInfo's. <rdar://problem/14042692> llvm-svn: 183177
* Un-skipping test that was disabled due to llvm.org/pr16191Daniel Malea2013-06-032-2/+6
| | | | | | | - adding workaround recommended by Greg (-fno-limit-debug-info clang flag) - filed bug llvm.org/pr16214 against Clang llvm-svn: 183156
* Fix crash (in optimized builds) due to invalid metadata operandDaniel Malea2013-06-032-17/+8
| | | | | | | | | - ConstantDataArray is not a valid MDNode operand - encode function-name strings in metadata by wrapping in an MDString instead - should resolve reported by http://llvm-jenkins.debian.net/job/llvm-toolchain-quantal-binaries/architecture=amd64,distribution=quantal/173/ llvm-svn: 183153
* Fix FreeBSD build due to previous changes to ProcessMonitor::Detach.Matt Kopec2013-06-032-2/+2
| | | | llvm-svn: 183150
* Fix a couple of error message typos.Jim Ingham2013-06-031-2/+2
| | | | llvm-svn: 183145
* Fix various build warnings.Matt Kopec2013-06-0319-49/+52
| | | | llvm-svn: 183140
* Fix setting of watchpoints on inferior thread creation for Linux.Matt Kopec2013-06-037-53/+134
| | | | llvm-svn: 183139
* Matched a vector new with vector delete.Ashok Thirumurthi2013-06-031-1/+1
| | | | | | Thanks to Daniel and valgrind. llvm-svn: 183110
* Fix link ordering issue on FreeBSDDaniel Malea2013-06-031-1/+1
| | | | llvm-svn: 183109
* A few cleanups for our documentationEnrico Granata2013-05-313-48/+39
| | | | llvm-svn: 183058
* Add ability to attach/detach to multi-threaded inferiors on Linux.Matt Kopec2013-05-316-45/+158
| | | | | | All running threads will be detected and stopped on attach and all threads get resumed on detach. llvm-svn: 183049
* Skipping test case for clang 3.4 due to llvm.org/pr16191Daniel Malea2013-05-311-0/+3
| | | | | | - should resolve remaining buildbot issues with debian/clang builder llvm-svn: 183044
* Use C-style include to match style in file (instead of C++ style)Daniel Malea2013-05-311-1/+1
| | | | | | - as per review comment from Dimitry Andric! llvm-svn: 183039
OpenPOWER on IntegriCloud