summaryrefslogtreecommitdiffstats
path: root/lldb/source
Commit message (Collapse)AuthorAgeFilesLines
* Removing the new Minidump pluginDimitar Vlahovski2016-10-0510-607/+18
| | | | | | | | | | | | | | | | | | | | | | | Tests are failing and build is failing on windows and darwin. Will fix and commit it later ------------------------------------------------------------- Revert "xfailing minidump tests again ... :(" This reverts commit 97eade002c9e43c1e0d11475a4888083a8965044. Revert "Fixing new Minidump plugin tests" This reverts commit 0dd93b3ab39c8288696001dd50b9a093b813b09c. Revert "Add the new minidump files to the Xcode project." This reverts commit 2f638a1d046b8a88e61e212220edc40aecd2ce44. Revert "xfailing tests for Minidump plugin" This reverts commit 99311c0b22338a83e6a00c4fbddfd3577914c003. Revert "Adding a new Minidump post-mortem debugging plugin" This reverts commit b09a7e4dae231663095a84dac4be3da00b03a021. llvm-svn: 283352
* Try to fix Android build.Zachary Turner2016-10-051-1/+1
| | | | | | | Seems it doesn't like the implicit conversion from StringRef[] to ArrayRef<StringRef>. llvm-svn: 283351
* Convert some breakpoint code to use StringRef.Zachary Turner2016-10-052-237/+178
| | | | | | Differential revision: https://reviews.llvm.org/D25158 llvm-svn: 283345
* Make lldb -Werror clean on Windows.Zachary Turner2016-10-0534-213/+252
| | | | | | Differential Revision: https://reviews.llvm.org/D25247 llvm-svn: 283344
* Disable warnings in LLDBWrapPython.cpp with -Werror.Zachary Turner2016-10-051-0/+8
| | | | | | | | | | | When -Werror is used, we don't have control over the generated code from SWIG, and it often has warnings. Just disable them for this file when -Werror is used, they are usually not important anyway. Differential revision: https://reviews.llvm.org/D25246 llvm-svn: 283343
* [RenderScript] reflow/reword some comments and normalize namesLuke Drummond2016-10-054-567/+508
| | | | | | | | | | | | Pay more attention to comment alignement (Since _The Great Reformat_ (a015ff50) comments are no longer properly aligned) and variable naming conventions. - Manually reflow and cleanup comments and array literals - Be more economical with our naming conventions - Be internally consistent with regard to local variable/member function naming llvm-svn: 283335
* cleanup RSCoordinate handling and factor out coordinate parserLuke Drummond2016-10-052-128/+141
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - This change updates the signature of `RenderScriptRuntime::PlaceBreakpointOnKernel` to take a default RSCoordinate pointer of nullptr. We use this as the predicate value for the breakpoint coordinate rather than trying to fit a sentinel `-1` into a signed version. ``` - void - PlaceBreakpointOnKernel(Stream &strm, const char *name, const std::array<int, 3> coords, Error &error, - lldb::TargetSP target); ``` ``` + bool + PlaceBreakpointOnKernel(lldb::TargetSP target, Stream &messages, const char *name, + const lldb_renderscript::RSCoordinate *coords = nullptr); ``` The above change makes the API for setting breakpoints on kernels cleaner as it returns a failure value rather than modify a sentinel in the caller. The optional arguments are now last and have a default (falsey) value. - RSCoordinate objects are now comparable with operator== and have zero initializers which should make them easier to work on. - Added a `FMT_COORD` macro for use in logging format strings which should make format strings a little less verbose. llvm-svn: 283320
* Delete unused global in ClangExpressionVariable.cppLuke Drummond2016-10-051-2/+0
| | | | | | Differential Revision: https://reviews.llvm.org/D24793 llvm-svn: 283313
* Re-commit "Use StringRef in Support/Darf APIs (NFC)"Mehdi Amini2016-10-051-57/+57
| | | | | | | This reverts commit r283285 and re-commit r283275 with a fix for format("%s", Str); where Str is a StringRef. llvm-svn: 283298
* Change Platform::GetRemoteSharedModule so if it's given a ModuleSpecJason Molenda2016-10-051-0/+19
| | | | | | | | | | | | | which specifies a file path and UUID but not an architecture, open the file at that path and try every one of the architectures in the file to see if there is a UUID match. Currently we'll pick the first slice of a multi-architecture file and return that as the match, and when the UUID doesn't match because it's the wrong architecture, we'll end up ignoring the file. <rdar://problem/28487804> llvm-svn: 283295
* Revert "Re-commit "Use StringRef in Support/Darf APIs (NFC)""Mehdi Amini2016-10-051-57/+57
| | | | | | One test seems randomly broken: DebugInfo/X86/gnu-public-names.ll llvm-svn: 283285
* Re-commit "Use StringRef in Support/Darf APIs (NFC)"Mehdi Amini2016-10-051-57/+57
| | | | | | | This reverts commit r283278 and re-commit r283275 with the update to fix the build on the LLDB side. llvm-svn: 283281
* Adding a new Minidump post-mortem debugging pluginDimitar Vlahovski2016-10-0410-18/+607
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This plugin resembles the already existing Windows-only Minidump plugin. The WinMinidumpPlugin uses the Windows API for parsing Minidumps while this plugin is cross-platform because it includes a Minidump parser (which is already commited) It is able to produce a backtrace, to read the general puprose regiters, inspect local variables, show image list, do memory reads, etc. For now the only arch that this supports is x86 64 bit This is because I have only written a register context for that arch. Others will come in next CLs. I copied the WinMinidump tests and adapted them a little bit for them to work with the new plugin (and they pass) I will add more tests, aiming for better code coverage. There is still functionality to be added, see TODOs in code. Reviewers: labath, zturner Subscribers: beanz, mgorny, amccarth, lldb-commits, modocache Differential Revision: https://reviews.llvm.org/D25196 llvm-svn: 283259
* Fix FixupEnvironment on Android after the Args refactorTamas Berghammer2016-10-041-5/+6
| | | | llvm-svn: 283237
* Finish adding the individual instruction tests to the x86 unwinderJason Molenda2016-10-043-2/+55
| | | | | | | | | | | | | unittests. If I have time, I'd like to see if I can write some tests of the eh_frame augmentation which is a wholly separate code path (it seems like maybe it should be rolled into the main instruction scanning codepath, to be honest, and operate on the generated UnwindPlan instead of bothering with raw instructions at all). Outside the eh_frame augmentation, I'm comfortable that this unwind generator is being tested well now. llvm-svn: 283186
* Fix TestNestedAliases.pyZachary Turner2016-10-041-5/+6
| | | | | | I missed an if/else branch when doing the conversion. llvm-svn: 283176
* Try to fix failing tests when running remote test suite.Zachary Turner2016-10-041-1/+1
| | | | llvm-svn: 283168
* Fix the data formatter for std::multiset in libc++ - this is a trivial ↵Enrico Granata2016-10-041-25/+45
| | | | | | | | amount of extra change on top of multimap Also, proper formatting.. llvm-svn: 283167
* Changes to the std::multimap formatter to make it work against trunk libc++ Enrico Granata2016-10-031-10/+50
| | | | | | Fixes rdar://28237486 llvm-svn: 283160
* Modernize some code related to Args usage / implementation.Zachary Turner2016-10-033-222/+205
| | | | | | | Mostly this involves simplifying some logical constructs and using some ranges instead of index-based iteration. NFC llvm-svn: 283159
* Refactor the Args class.Zachary Turner2016-10-033-316/+222
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | There were a number of issues with the Args class preventing efficient use of strings and incoporating LLVM's StringRef class. The two biggest were: 1. Backing memory stored in a std::string, so we would frequently have to use const_cast to get a mutable buffer for passing to various low level APIs. 2. backing std::strings stored in a std::list, which doesn't provide random access. I wanted to solve these two issues so that we could provide StringRef access to the underlying arguments, and also a way to provide range-based access to the underlying argument array while still providing convenient c-style access via an argv style const char**. The solution here is to store arguments in a single "entry" class which contains the backing memory, a StringRef with precomputed length, and the quote char. The backing memory is a manually allocated const char* so that it is not invalidated when the container is resized, and there is a separate argv array provided for c-style access. Differential revision: https://reviews.llvm.org/D25099 llvm-svn: 283157
* [CMake] Fixing a few missing dependencies on intrinsics_genChris Bieneman2016-10-032-0/+8
| | | | | | These are missing dependencies that have been exposed in builds as a result of my change to make lldb libraries depend on CLANG_TABLEGEN_TARGETS instead of libclang. llvm-svn: 283081
* [lldb-mi] Fix prompt which can get inserted in the middle of program output ↵Dawn Perchik2016-10-011-1/+3
| | | | | | | | | | | | | | in lldb-mi Summary: The code added in svn r264332 causes "(lldb) " to be printed in the middle of program console output. This fix restores the behavior for non-Windows platforms to before the patch. Reviewers: ted, zturner, clayborg Subscribers: amccarth, lldb-commits Differential Revision: http://reviews.llvm.org/D25137 llvm-svn: 283031
* Use StringRef instead of raw pointers in MCAsmInfo/MCInstrInfo APIs (NFC)Mehdi Amini2016-10-012-23/+23
| | | | llvm-svn: 283018
* Add support for some extended push instructions in i386/x86_64 likeJason Molenda2016-10-012-30/+75
| | | | | | | | | | | | | | | | | | | | | | 'push 0x20(%esp)' which clang can generate when emitting -fomit-frame-pointer code for 32-bit. Add a unit test program which includes this instruction. Also fix a bug in the refactoring/rewrite of the x86 assembly instruction profiler where I'd hard coded it as a 64-bit disassembler instead of using the ArchSpec to pick a 32-bit or 64-bit disassembler from llvm. When the disassembler would hit an instruction that is invalid in 64-bit mode, it would stop disassembling the function. This likely led to the TestSBData testsuite failure on linux with 32-bit i386 and gcc-4.9; I'll test that in a bit. The newly added unit test program is 32-bit i386 code and it includes an instruction which is invalid in 64-bit mode so it will catch this. <rdar://problem/28557876> llvm-svn: 282991
* Fix comment - Module::PrepareForFunctionNameLookup should be ↵Dawn Perchik2016-09-302-2/+2
| | | | | | Module::LookupInfo::LookupInfo. llvm-svn: 282941
* Fixed several i386 Objective-C tests by completing objects, not their pointers.Sean Callanan2016-09-301-50/+61
| | | | llvm-svn: 282898
* Add namespace qualifiers for UTF functions that just moved.Adrian McCarthy2016-09-302-6/+6
| | | | llvm-svn: 282871
* Again fixing windows build breakage like in rL282862Dimitar Vlahovski2016-09-301-2/+2
| | | | llvm-svn: 282866
* Fixing windows build breakage caused by rL282822Dimitar Vlahovski2016-09-301-10/+10
| | | | | | | The breakage was because of the moving of the UTF functions to the llvm namespace llvm-svn: 282862
* Move UTF functions into namespace llvm.Justin Lebar2016-09-302-30/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This lets people link against LLVM and their own version of the UTF library. I determined this only affects llvm, clang, lld, and lldb by running $ git grep -wl 'UTF[0-9]\+\|\bConvertUTF\bisLegalUTF\|getNumBytesFor' | cut -f 1 -d '/' | sort | uniq clang lld lldb llvm Tested with ninja lldb ninja check-clang check-llvm check-lld (ninja check-lldb doesn't complete for me with or without this patch.) Reviewers: rnk Subscribers: klimek, beanz, mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D24996 llvm-svn: 282822
* [CMake] LLDB/Expression needs to depend on intrinsics_genChris Bieneman2016-09-291-0/+4
| | | | | | | | IRExecutionUnit.h includes Module.h, which through a long chain of includes eventually includes Attributes.gen. This fixes a build issue reported to lldb-dev by Hal. Thanks Hal! llvm-svn: 282803
* Fix an issue where, in i386 mode, the wrong values were being copied into ↵Enrico Granata2016-09-291-2/+2
| | | | | | | | the pair object for a single-entry NSDictionary Fixes rdar://28502335 llvm-svn: 282754
* To fix TestObjCMethods2/i386, allowed messaging nil ObjC objects as in x86_64.Sean Callanan2016-09-291-0/+3
| | | | llvm-svn: 282741
* Re-commit the changes from r282565 that I had to back out because of Jason Molenda2016-09-295-1197/+1364
| | | | | | | | | | | | | | a linux bot test failure. That one is fixed; hopefully there won't be any others turned up this time. The eh_frame augmentation code wasn't working right after the reorg/rewrite of the classes. It works correctly now for the one test that was failing - but we'll see what the test bots come up with. <rdar://problem/28509178> llvm-svn: 282659
* Fixed TestObjCStructArgument/i386; expressions can now call ObjC class methods.Sean Callanan2016-09-292-1/+209
| | | | | | <rdar://problem/28502241> llvm-svn: 282657
* Introduced a null check to avoid a crash in a test on i386.Sean Callanan2016-09-291-0/+4
| | | | llvm-svn: 282653
* Fix an issue where libc++ changed the type information we get for ↵Enrico Granata2016-09-282-5/+65
| | | | | | | | std::map::iterator, rendering LLDB unable to display elements vended by an iterator Fixes <rdar://problem/28237521> llvm-svn: 282648
* Reverting r282565.Jason Molenda2016-09-285-1369/+1197
| | | | | | | | | | A testbot found a regression introduced in the testsuite with the changes in r282565 on Ubuntu (TestStepNoDebug.ReturnValueTestCase). I'll get this set up on an ubuntu box and figure out what is happening there -- likely a problem with the eh_frame augmentation, which isn't used on macosx. llvm-svn: 282566
* Refactor the x86 UnwindAssembly class into a separate class calledJason Molenda2016-09-285-1197/+1369
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | x86AssemblyInspectionEngine and the current UnwindAssembly_x86 to allow for the core engine to be exercised by unit tests. The UnwindAssembly_x86 class will have access to Targets, Processes, Threads, RegisterContexts -- it will be working in the full lldb environment. x86AssemblyInspectionEngine is layered away from all of that, it is given some register definitions and a bag of bytes to profile. I wrote an initial unittest for a do-nothing simple x86_64/i386 function to start with. I'll be adding more. The x86 assembly unwinder was added to lldb early in its bringup; I made some modernization changes as I was refactoring the code to make it more consistent with how we write lldb today. I also added RegisterContextMinidump_x86_64.cpp to the xcode project file so I can run the unittests from that. The testsuite passes with this change, but there was quite a bit of code change by the refactoring and it's possible there are some issues. I'll be testing this more in the coming days, but it looks like it is behaving correctly as far as I can tell with automated testing. <rdar://problem/28509178> llvm-svn: 282565
* Update FileSpec's interface to use StringRefs.Zachary Turner2016-09-271-120/+100
| | | | | | Differential Revision: https://reviews.llvm.org/D24936 llvm-svn: 282537
* Adding a RegisterContextMinidump_x86_64 converterDimitar Vlahovski2016-09-275-5/+284
| | | | | | | | | | | | | | | | | | Summary: This is a register context converter from Minidump to Linux reg context. This knows the layout of the register context in the Minidump file (which is the same as in Windows FYI) and as a result emits a binary data buffer that matches the Linux register context binary layout. This way we can reuse the existing RegisterContextLinux_x86_64 and RegisterContextCorePOSIX_x86_64 classes. Reviewers: labath, zturner Subscribers: beanz, mgorny, lldb-commits, amccarth Differential Revision: https://reviews.llvm.org/D24919 llvm-svn: 282529
* Fix an issue where LLDB would not accept the --description-verbosity option ↵Enrico Granata2016-09-261-1/+1
| | | | | | | | to 'po' without an argument after the StringRef refactoring Fixes rdar://28480275 llvm-svn: 282445
* Added a setting that enables saving all .o files from a given JIT expression.Sean Callanan2016-09-262-0/+36
| | | | | | | | This allows debugging of the JIT and other analyses of the internals of the expression parser. I've also added a testcase that verifies that the setting works correctly when off and on. llvm-svn: 282434
* Fix serialization of Python breakpoint commands.Jim Ingham2016-09-267-26/+104
| | | | | | | | | | | CommandData breakpoint commands didn't know whether they were Python or Command line commands, so they couldn't serialize & deserialize themselves properly. Fix that. I also changed the "breakpoint list" command to note in the output when the commands are Python commands. Fortunately only one test was relying on this explicit bit of text output. llvm-svn: 282432
* [CMake] Generate LLDB_REVISION at build timeChris Bieneman2016-09-232-26/+39
| | | | | | | | | | | | | | | | | | Summary: This alters the generation of LLDB_REVISION to be heavily based on how clang generates its version header. There are two benefits of this aproach. (1) The LLDB_REVISION is generated at build time, so it will be updated after an SCM pull/update even if CMake doesn't re-run (2) This works on Windows As noted this code is a simplified implementation of the code from clang. Reviewers: tfiala, zturner Subscribers: beanz, mgorny, lldb-commits Differential Revision: https://reviews.llvm.org/D24846 llvm-svn: 282314
* Mutatis mutandis for char * -> StringRef. Jim Ingham2016-09-231-6/+6
| | | | llvm-svn: 282311
* Fix build on Ubuntu.Zachary Turner2016-09-231-5/+5
| | | | | | | This was in some code that was #ifdef'd out on Windows, so I didn't see it. llvm-svn: 282309
* Change FileAction::GetPath() to return a StringRef.Zachary Turner2016-09-233-23/+14
| | | | llvm-svn: 282306
* Change Module::RemapPath to use StringRef.Zachary Turner2016-09-234-12/+14
| | | | llvm-svn: 282277
OpenPOWER on IntegriCloud