summaryrefslogtreecommitdiffstats
path: root/lldb
Commit message (Collapse)AuthorAgeFilesLines
* Add a debuginfo version check for RenderScript modulesLuke Drummond2017-01-042-1/+53
| | | | | | | | | | Added an extra field parser to the `RSModuleDescriptor` class enabling us to check whether the versions of LLVM used to generated the debug symbols match across the RenderScript compiler frontend (llvm-rs-cc) and backend (bcc); if they do not, we warn the user that the debugging experience may be suboptimal as LLVM IR debug information has no compatibility guarantees. llvm-svn: 290957
* [CMake] Fix install rules for tools included in the frameworkChris Bieneman2017-01-041-1/+1
| | | | | | The logic for install rules was wrong for tools included in the framework if the framework build is disabled. llvm-svn: 290934
* Remove SymbolFilePDBTests.cpp from the list of tests to include in the Jason Molenda2017-01-041-2/+0
| | | | | | | | | | lldb-gtest binary that xcode builds for -scheme lldb-gtest; these tests won't run on macosx systems. Fixes testsuite failures we started seeing after 290819. <rdar://problem/29853778> llvm-svn: 290917
* Improve the performance of jModulesInfo in lldb-serverTamas Berghammer2017-01-032-105/+92
| | | | | | | | | | | | Previously it parsed /proc/<pid>/maps for every module separately resulting in a very slow response time. This CL add some caching and optimizes the implementation to improve the code from O(n*m) to O(n+m) where n is the number of modules requested and m is the number of files mapped into memory. Differential revision: https://reviews.llvm.org/D28233 llvm-svn: 290895
* Fix-up TestLinuxCore for r290874Pavel Labath2017-01-031-0/+8
| | | | | | | | | | | | r290874 enabled the s390x test, which caused the rest of the tests to start misbehaving. This is because this test switches the selected platform and the change persists. This fixes it by explicitly resetting the platform in a similar way to the gcore tests do. Potentially we should consider re-setting the platform globally between each test run to better protect tests from each other. llvm-svn: 290890
* Simplify reading of Linux notes to correctly handle endianess.Howard Hellyer2017-01-032-103/+58
| | | | | | | | | | | | | | | Summary: This patch changes and simplifies the way notes are read from Linux Elf cores. The current implementation copies the bytes from the notes directly over the lldb structure for 64 bit cores and reads field by field for 32 bit cores. Reading the bytes directly only works if the endianess of the core dump and the platform that lldb are running on matches. The case statements for s390x and x86_64 would would only work on big endian systems and little endian systems respectively. That meant that x86_64 generally worked but s390x didn't unless you were on s390x or another big endian platform. This patch just reads field by field on all platform and updates the field by field version to allow for those fields which are word size instead of fixed size. It should also slightly simplify adding support for a new Linux platform. This patch also re-enables the s390x test case in TestLinuxCore.py on all non-s390x platforms as it now passes. Reviewers: uweigand, clayborg Differential Revision: https://reviews.llvm.org/D27571 llvm-svn: 290874
* XFail TestNoreturnUnwind for arm targetsOmair Javaid2017-01-021-0/+1
| | | | | | | | TestNoreturnUnwind fails on arm/aarch32 linux targets. Bug is already described for x86_64 android targets in llvm.org/pr31192. llvm-svn: 290821
* [unittests] Split DWARF tests out of PDB, fix standalone buildMichal Gorny2017-01-027-47/+113
| | | | | | | | | | | | Split the PDB tests into DWARF test and actual PDB tests, the latter requiring DIA SDK. Use the new LLVMConfig.cmake LLVM_ENABLE_DIA_SDK symbol to enable the PDB tests rather than relying on llvm/Config/config.h private include file that is not available when building standalone. Differential Revision: https://reviews.llvm.org/D26249 llvm-svn: 290819
* Fix the variable view in the "gui" curses mode so that variables whose ↵Greg Clayton2016-12-284-22/+182
| | | | | | children change will update correctly. Previously the variable view would update the children once and not change. If you were stepping through code where the dynamic type of a variable would change the value and its children, or a synthetic type (like say for a std::vector<int>), the variable view wouldn't update. Now it caches the children and uses the process stop ID to tell when the children need to be updated. llvm-svn: 290688
* Quiet a warning where we weren't checking if this was the same and rhs.Greg Clayton2016-12-281-1/+2
| | | | llvm-svn: 290687
* Fix a couple of incorrect format string warningsLuke Drummond2016-12-222-5/+4
| | | | | | | | | | | This patch fixes use of incorrect `%zi` to format a plain `int`, and using `%llu` to format a `uint64_t`. The fix is to use the new typesafe `llvm::Formatv` based API. Differential Revision: https://reviews.llvm.org/D28028 Subscribers: lldb-commits llvm-svn: 290359
* specify -DNDEBUG for BNI builds of all targets in the Xcode buildSean Callanan2016-12-211-0/+1
| | | | llvm-svn: 290282
* [CMake] Support distribution install for LLDB.frameworkChris Bieneman2016-12-211-1/+11
| | | | | | | | This patch adds the last bit of support to get LLVM_DISTRIBUTION_COMPONENTS working with libLLDB when built as a framework. This patch adds dummy install targets for binaries built into the framework's Resources directory, and makes the framework's install target depend on all the binaries that get installed with the framework. llvm-svn: 290273
* Ignore SIGPIPE in the mini-driver used by these tests.Jim Ingham2016-12-211-0/+10
| | | | | | | | | | | We're seeing some very occasional failures in these tests where the mini-driver dies with a SIGPIPE. We don't use SIGPIPE for anything, and the main lldb driver program already ignores SIGPIPE, so ignoring it in the mini-driver is a good way to remove these spurious failures. <rdar://problem/29740488> llvm-svn: 290216
* Rollback my commit r290168 to fix linux tests failure. I'll be back!Boris Ulasevich2016-12-209-235/+18
| | | | llvm-svn: 290197
* [CMake] [PR31433] Fix LLDB tool installationChris Bieneman2016-12-201-13/+13
| | | | | | This resolves PR 31433. llvm-svn: 290180
* Bug 30863 - Step doesn't stop with coditional breakpoint on the next lineBoris Ulasevich2016-12-209-18/+235
| | | | | | | | | Fixed by additional completed plans detection, and applying them on breakpoint condition fail. Thread::GetStopInfo reworked. New test added. Review https://reviews.llvm.org/D26497 Many thanks to Jim llvm-svn: 290168
* Change the timeout in CallBoardSystemServiceOpenApplication to Jason Molenda2016-12-201-1/+1
| | | | | | | | 30 seconds to match the old springboard timeout; the launcher should time out before that and we will hopefully get back an informative error message instead of timing out ourselves. llvm-svn: 290163
* Expression evaluation for overloaded C functions (redux)Luke Drummond2016-12-196-29/+159
| | | | | | | | | | | | | | | | | | | This is a redux of [Ewan's patch](https://reviews.llvm.org/D17957) , refactored to properly substitute primitive types using a hook in the itanium demangler, and updated after the previous patch went stale The new `SubsPrimitiveParmItanium` function takes a symbol name and replacement primitive type parameter as before but parses it using the FastDemangler, which has been modified to be able to notify clients of parse events (primitive types at this point). Additionally, we now use a `set` of `ConstStrings` instead of a `vector` so that we don't try and resolve the same invalid candidate multiple times. Differential Revision: https://reviews.llvm.org/D27223 Subscribers: lldb-commits llvm-svn: 290117
* Fix the cmake declaration syntaxSylvestre Ledru2016-12-171-1/+1
| | | | llvm-svn: 290045
* Support of lldb on Kfreebsd Sylvestre Ledru2016-12-174-6/+9
| | | | | | | | | | | | | | Summary: Patch by Pino Toscano. Reported in http://bugs.debian.org/835665 Reviewers: tfiala, emaste Subscribers: beanz, mgorny, emaste, krytarowski, brucem, tberghammer, danalbert, srhines, #lldb Tags: #lldb Differential Revision: https://reviews.llvm.org/D23977 llvm-svn: 290044
* Fix compiler warning.Zachary Turner2016-12-161-1/+0
| | | | llvm-svn: 289994
* Fix broken escaping of commands in the buildLuke Drummond2016-12-163-43/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | A combination of broken escaping in CMake and in the python swig generation scripts meant that the swig generation step would fail whenever there were spaces or special characters in parameters passed to swig. The fix for this in CMakeLists is to use the VERBATIM option on all COMMAND-based custom builders relying on CMake to properly escape each argument in the generated file. Within the python swig scripts, the fix is to call subprocess.Popen with a list of raw argument strings rather than ones that are incorrectly manually escaped, then passed to a shell subprocess via subprocess.Popen(' '.join(params)). This also prevents nasty things happening such as accidental command-injection. This allows us to have the swig / python executables in paths containing special chars and spaces, (or on shared storage on Win32, e.g \\some\path or C:\Program Files\swig\swig.exe). Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D26757 llvm-svn: 289956
* Remove an unused type declaration.Hafiz Abid Qadeer2016-12-161-6/+0
| | | | llvm-svn: 289947
* Add methods to enable using formatv syntax in LLDB.Zachary Turner2016-12-1613-100/+161
| | | | | | | | | | | | | This adds formatv-backed formatting functions in various places in LLDB such as StreamString, logging, constructing error messages, etc. A couple of callsites are changed from Printf style syntax to formatv style syntax to illustrate its usage. Additionally, a FileSpec formatter is introduced so that FileSpecs can be formatted natively. Differential Revision: https://reviews.llvm.org/D27632 llvm-svn: 289922
* Fix a bug when using a StructuredData darwin-log pluginJason Molenda2016-12-163-1/+21
| | | | | | | | | | | where we would insert a breakpoint into a system library but never remove it, so the second time we ran the binary there would be two breakpoints and the debugger would stop there. <rdar://problem/29654974> llvm-svn: 289913
* [CMake] Refactor LLDB libraries and tools to be componentsChris Bieneman2016-12-158-32/+43
| | | | | | In LLVM's CMake we have a convention that components have both a build and an install target. Making LLDB follow this convention will allow LLDB to take advantage of the LLVM_DISTRIBUTION_COMPONENTS build option from LLVM. llvm-svn: 289879
* [CMake] Ensure Python files are inside the LLDB framework bundleChris Bieneman2016-12-151-0/+6
| | | | | | | | When building the LLDB Framework we need to ensure that the Python files get put into the Framework before the Framework's install target can be invoked. All files inside the Framework's Resources bundle will get copied over during the install action. llvm-svn: 289842
* [CMake] Only support LLDB_BUILD_FRAMEWORK on CMake 3.7 and laterChris Bieneman2016-12-152-22/+8
| | | | | | | | | | CMake's framework target generation was unable to generate POST_BUILD steps (see: https://gitlab.kitware.com/cmake/cmake/issues/16363). It turns out working around this is really not reasonable. The more reasonable solution to me is just to not support LLDB.framework unless you are on CMake 3.7 or newer. Since CMake 3.7.1 is released that's how I'm going to handle this. llvm-svn: 289841
* Fix build for mingw.Hafiz Abid Qadeer2016-12-1516-28/+20
| | | | | | | | | | | | Summary: I was building lldb using cross mingw-w64 toolchain on Linux and observed some issues. This is first patch in the series to fix that build. It mostly corrects the case of include files and adjusts some #ifdefs from _MSC_VER to _WIN32 and vice versa. I built lldb on windows with VS after applying this patch to make sure it does not break the build there. Reviewers: zturner, labath, abidh Subscribers: ki.stfu, mgorny, lldb-commits Differential Revision: https://reviews.llvm.org/D27759 llvm-svn: 289821
* Remove linux/personality.h wrapperPavel Labath2016-12-152-26/+0
| | | | | | | | | This code is currently unused. Removing it should make porting of the linux plugin to NetBSD easier, and we can always add it later if needed. llvm-svn: 289801
* Fix incorrectly named variables.Jim Ingham2016-12-154-5/+5
| | | | llvm-svn: 289746
* Adopt PrettyStackTrace in LLDBSean Callanan2016-12-149-96/+20
| | | | | | | | | | LLDB needs some minor changes to adopt PrettyStackTrace after https://reviews.llvm.org/D27683. We remove our own SetCrashDescription() function and use LLVM-provided RAII objects instead. We also make sure LLDB doesn't define __crashtracer_info__ which would collide with LLVM's definition. Differential Revision: https://reviews.llvm.org/D27735 llvm-svn: 289711
* Test num locations >= 1 not == 1.Jim Ingham2016-12-141-1/+1
| | | | llvm-svn: 289695
* Replace APFloatBase static fltSemantics data members with getter functionsStephan Bergmann2016-12-142-35/+35
| | | | | | | | | | | | | At least the plugin used by the LibreOffice build (<https://wiki.documentfoundation.org/Development/Clang_plugins>) indirectly uses those members (through inline functions in LLVM/Clang include files in turn using them), but they are not exported by utils/extract_symbols.py on Windows, and accessing data across DLL/EXE boundaries on Windows is generally problematic. Differential Revision: https://reviews.llvm.org/D26671 llvm-svn: 289647
* Remove code needed for supporting old VS versions.Hafiz Abid Qadeer2016-12-141-25/+0
| | | | | | | | | | | | Summary: This code was probably needed to support VS2013 and is not needed now. I have built it with VS and mingw. Ok to remove it? Reviewers: zturner, abidh Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D27707 llvm-svn: 289644
* Small tweaks to the markup in StructuredDataPlugins.Jason Molenda2016-12-131-6/+6
| | | | llvm-svn: 289520
* Touch-up the markup of the DarwinLog.md documentation.Jason Molenda2016-12-131-29/+29
| | | | llvm-svn: 289518
* Removing myself from code ownership fileTodd Fiala2016-12-121-5/+0
| | | | | | | | | | I'm transitioning away from my current employer, and I do not foresee myself spending much time on LLDB in the near future. Ideally somebody on the Google Android team takes over the gdb-remote protocol tests, and somebody with decent familiarity with the test suite infrastructure takes over the parallel test runner and test event stream portions of the Python test suite. llvm-svn: 289479
* Remove some annotations from TestMultipleTargetsPavel Labath2016-12-121-8/+2
| | | | | | | The test passes on linux. The i386 case is already handled by skipIfHostIncompatibleWithRemote. llvm-svn: 289427
* Fix i386 being able to show member variables correctly by not returning ↵Greg Clayton2016-12-094-11/+8
| | | | | | | | | | empty objective C types from the runtime. We don't parse ObjC v1 types from the runtime metadata like we do for ObjC v2, but doing so by creating empty types was ruining the i386 v1 debugging experience. <rdar://problem/24093343> llvm-svn: 289233
* Fix buildbots that are failing due to this test by adding all expected fails ↵Greg Clayton2016-12-091-0/+9
| | | | | | that TestMultipleDebuggers.py has. llvm-svn: 289223
* Rename multiple target test so it is unique.Greg Clayton2016-12-091-1/+1
| | | | llvm-svn: 289222
* [LLDB][MIPS] Fix TestWatchpointIter failureNitesh Jain2016-12-091-2/+9
| | | | | | | | | | Reviewers: jingham Subscribers: jaydeep, bhushan, slthakur, lldb-commits Differential Revision: https://reviews.llvm.org/D27124 llvm-svn: 289211
* [LLDB][MIPS] Fix TestMultipleHits for MIPSNitesh Jain2016-12-091-2/+2
| | | | | | | | | | Reviewers: clayborg, labath, zturner Subscribers: jaydeep, bhushan, slthakur, lldb-commits Differential Revision: https://reviews.llvm.org/D27085 llvm-svn: 289210
* [LLDB][MIPS] Fix some test case failures due to elf_abi field of ↵Nitesh Jain2016-12-091-0/+1
| | | | | | | | | | | | qprocessInfo packet. Reviewers: jaydeep, bhushan, clayborg Subscribers: slthakur, lldb-commits Differential Revision: https://reviews.llvm.org/D26542 llvm-svn: 289209
* Fix TestMultipleTargets for on x86_64 architecturesPavel Labath2016-12-091-0/+2
| | | | | | | | | This test links against liblldb, so it can only run when the target arch is the same arch as liblldb. We already have a decorator for that, so apply it. While I'm in there, also mark the test as debug-info independent. llvm-svn: 289199
* Remove some more uses of Args::GetArgumentAtIndex.Zachary Turner2016-12-096-157/+142
| | | | llvm-svn: 289188
* Calling SBDebugger::CeeateTarget being called on multiple threads was ↵Greg Clayton2016-12-095-9/+88
| | | | | | | | | | | | | | | | crashing LLDB. I found the race condition in: ScriptInterpreter *CommandInterpreter::GetScriptInterpreter(bool can_create); More than one "ScriptInterpreter *" was being returned due to the race which caused any clients with the first one to now be pointing to freed memory and we would quickly crash. Added a test to catch this so we don't regress. <rdar://problem/28356584> llvm-svn: 289169
* Fix some occurrences of passing StringRef to Printf.Zachary Turner2016-12-093-15/+15
| | | | | | | Hopefully these will all disappear in the future once we move to formatv. llvm-svn: 289168
OpenPOWER on IntegriCloud