summaryrefslogtreecommitdiffstats
path: root/lldb/source
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix build for clang r291753Pavel Labath2017-01-121-2/+1
| | | | llvm-svn: 291756
* Update to match clang r291737.Richard Smith2017-01-121-3/+2
| | | | llvm-svn: 291738
* Improve Type::GetTypeScopeAndBasenameHelper and add unit testsTamas Berghammer2017-01-104-57/+62
| | | | | | | | | | Previously it failed to handle nested types inside templated classes making it impossible to look up these types using the fully qualified name. Differential revision: https://reviews.llvm.org/D28466 llvm-svn: 291559
* Stop limiting the number of TSan backtrace size to 8Kuba Mracek2017-01-101-1/+2
| | | | | | | | We currently limit the length of TSan returned backtraces to 8, which is not necessary (and a bug, most likely). Let's remove this. Differential Revision: https://reviews.llvm.org/D28035 llvm-svn: 291522
* Fix dereferencing of pointers to empty classesTamas Berghammer2017-01-071-30/+29
| | | | llvm-svn: 291350
* Remove an incorrect byte size calculation in DWARFASTParserClangTamas Berghammer2017-01-071-1/+1
| | | | llvm-svn: 291349
* Reapply "Fixes for Clang API changes to use std::shared_ptr"David Blaikie2017-01-061-16/+17
| | | | | | | | | Aleksey Shlyapnikov found the memory leak I introduced, recommitted the Clang change with a fix for this. This reapplies r291200 reverted in r291250 llvm-svn: 291271
* Revert "Fixes for Clang API changes to use std::shared_ptr"David Blaikie2017-01-061-17/+16
| | | | | | | | | The original Clang change caused a memory leak detected by asan. Reverting while I investigate. This reverts commit r291200. llvm-svn: 291250
* Attempt to fix windows build for r291198Pavel Labath2017-01-061-0/+1
| | | | llvm-svn: 291233
* Fix clang build for r291198Pavel Labath2017-01-061-1/+1
| | | | | | | | | Older clangs (<=3.6) complain about a redefinition when we try to specialize a templace function declared with = delete. Instead, I just don't define the function body, which will trigger a linker error if someone tries to use an unknown function. llvm-svn: 291226
* Consolidate file handle usage in Editline.cppPavel Labath2017-01-061-10/+37
| | | | | | | | | | | | | | | | | | | | Summary: To implement wide character reading, editline was mixing FILE*-based access with a Connection-based one (plus it did some selects on the raw FD), which is very fragile. Here, I replace it with one which uses only a Connection-based reads. The code is somewhat longer as I had to read characters one by one to detect the end of the multibyte sequence. I've verified that international characters still work in lldb command line on OSX. Reviewers: clayborg, zturner Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D28356 llvm-svn: 291220
* Fixes for Clang API changes to use std::shared_ptrDavid Blaikie2017-01-061-16/+17
| | | | llvm-svn: 291200
* Fix -Wunused-function warning by preprocessor conditionalizing the function ↵David Blaikie2017-01-061-0/+2
| | | | | | the same way as the caller llvm-svn: 291199
* Make lldb -Werror clean for -Wstring-conversionDavid Blaikie2017-01-0622-91/+59
| | | | | | | | | Also found/fixed one bug identified by this warning in RenderScriptx86ABIFixups.cpp where a string literal was being used in an effort to provide a name for an instruction/register, but was instead being passed as the bool 'isVolatile' parameter. llvm-svn: 291198
* Fix jModulesInfo handling for cross-path syntax debuggingPavel Labath2017-01-051-1/+1
| | | | | | | We were sending paths with the host path separator, which meant the remote target did not understand our packets correctly. llvm-svn: 291103
* Silence some -Wstring-conversion warningsPavel Labath2017-01-053-3/+3
| | | | | | | | lldbassert(!"foo") -> lldbassert(0 && "foo") In one case, this actually detected a logic error in the assertion (missing !). llvm-svn: 291102
* 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
* 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
* Simplify reading of Linux notes to correctly handle endianess.Howard Hellyer2017-01-031-100/+57
| | | | | | | | | | | | | | | 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
* Fix the variable view in the "gui" curses mode so that variables whose ↵Greg Clayton2016-12-282-22/+137
| | | | | | 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
* 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
* Rollback my commit r290168 to fix linux tests failure. I'll be back!Boris Ulasevich2016-12-204-82/+16
| | | | llvm-svn: 290197
* Bug 30863 - Step doesn't stop with coditional breakpoint on the next lineBoris Ulasevich2016-12-204-16/+82
| | | | | | | | | 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
* Expression evaluation for overloaded C functions (redux)Luke Drummond2016-12-195-28/+152
| | | | | | | | | | | | | | | | | | | 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 compiler warning.Zachary Turner2016-12-161-1/+0
| | | | llvm-svn: 289994
* Add methods to enable using formatv syntax in LLDB.Zachary Turner2016-12-166-73/+61
| | | | | | | | | | | | | 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] Only support LLDB_BUILD_FRAMEWORK on CMake 3.7 and laterChris Bieneman2016-12-151-17/+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-159-20/+10
| | | | | | | | | | | | 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-151-1/+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-147-78/+18
| | | | | | | | | | 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
* Replace APFloatBase static fltSemantics data members with getter functionsStephan Bergmann2016-12-141-33/+33
| | | | | | | | | | | | | 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
* Fix i386 being able to show member variables correctly by not returning ↵Greg Clayton2016-12-092-7/+3
| | | | | | | | | | 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
* [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
* 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-091-9/+8
| | | | | | | | | | | | | | | | 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
* Modernize the Args access pattern in a few more commands.Zachary Turner2016-12-094-104/+65
| | | | llvm-svn: 289164
* Fixed a crasher that has been borking out heap for a long time. Greg Clayton2016-12-081-1/+2
| | | | | | | | | | ThreadList had an assignment operator that didn't lock the "rhs" thread list object. This means a thread list can be mutated while it is being copied. The copy constructor calls the assignment operator as well. So this fixes the unsafe threaded access to ThreadList which we believe is responsible for a lot of crashes. <rdar://problem/28075793> llvm-svn: 289100
* When we interrupt a process, it was possible or the thread namesJason Molenda2016-12-081-5/+7
| | | | | | | | | | | | | | | | | | to not be set by Process::WillPublicStop() so the driver won't get access to them. The fix is straightforward, moving the call to WillPublicStop above the early return for the interrupt case. (the interrupt case does an early return because the rest of the function is concerned with running stop hooks etc and those are not applicable when we've interrupted the process). Also added a test case for it. The test case is a little complicated because I needed to drive lldb asynchronously to give the program a chance to get up and running before I interrupt it. Running to a breakpoint was not sufficient to catch this bug. <rdar://problem/22693778> llvm-svn: 289026
* Set the address size based on the target's arch insteadJason Molenda2016-12-081-3/+2
| | | | | | | of using the address of the all_image_infos struct. <rdar://problem/29547847> llvm-svn: 289016
* Convert CommandObjectFrame to entry-based Args access.Zachary Turner2016-12-081-37/+22
| | | | | | | | In the process, discovered a bug related to the use of an uninitialized-pointer, and fixed as suggested by Enrico in an lldb-dev mailing list thread. llvm-svn: 289015
* Convert CommandObjectCommands to entry-based Args access.Zachary Turner2016-12-081-168/+154
| | | | llvm-svn: 289012
* Fix an unannotated fallthrough that was causing a warning.Greg Clayton2016-12-071-1/+2
| | | | llvm-svn: 289000
* Fixed DoConnectRemote issues where ProcessKDP wasn't switched over to use ↵Greg Clayton2016-12-072-53/+54
| | | | | | the version that needed a StringRef as the URL, and also updated all virtual functions to say "override" to make sure this doesn't happen again. llvm-svn: 288999
* Use Timeout<> in EvaluateExpressionOptions classPavel Labath2016-12-0618-53/+46
| | | | llvm-svn: 288797
* [lldb] Update the check for Linux or FreeBSD in SymbolFileDWARF::FindFunctionsAlexander Shaposhnikov2016-12-052-4/+9
| | | | | | | | | | | | | | | | | | | This diff 1. Adds a comment to ObjectFileELF.cpp about the current approach to determining the OS. 2. Replaces the check in SymbolFileDWARF.cpp with a more robust one. Test plan: Built (on Linux) a test binary linked to a c++ shared library which contains just an implementation of a function TestFunction, the library (the binary itself) doesn't contain ELF notes and EI_OSABI is set to System V. Checked in lldb that now "p TestFunction()" works fine (and doesn't work without this patch). Differential revision: https://reviews.llvm.org/D27380 llvm-svn: 288687
* Remove superfluous android includePavel Labath2016-12-051-1/+0
| | | | | | | This file is not in the include path when building with a non-standalone toolchain. In does not seem to be necessary anyway. llvm-svn: 288674
* Support more report types in AddressSanitizerRuntime.cpp, re-word existing ones.Kuba Mracek2016-12-021-26/+41
| | | | | | | | In r288065, we added more report types into ASan that will be reported via the debugging API. This patch in LLDB provides human-friendly bug descriptions. This also improves wording on existing bug descriptions. Differential Revision: https://reviews.llvm.org/D27017 llvm-svn: 288535
OpenPOWER on IntegriCloud