summaryrefslogtreecommitdiffstats
path: root/lldb
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Add a unit test for an x86_64 assembly inspection of Jason Molenda2016-09-291-18/+177
| | | | | | | | | | | | | | a large stack frame with lots of spilled registers. While writing the i386 version of this test, it looks like I found a bug in the 32-bit instruction profiler code. I may ned to fix the assembly inspection engine before I can finish writing that test, so I'm only committing the 64-bit one tonight. <rdar://problem/28509178> llvm-svn: 282683
* Re-commit the changes from r282565 that I had to back out because of Jason Molenda2016-09-2910-1197/+1686
| | | | | | | | | | | | | | 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-284-15/+75
| | | | | | | | std::map::iterator, rendering LLDB unable to display elements vended by an iterator Fixes <rdar://problem/28237521> llvm-svn: 282648
* Add the ability for the task port to change when a process execs.Greg Clayton2016-09-284-4/+34
| | | | | | <rdar://problem/28476369> llvm-svn: 282632
* use assertEquals in TestSBTypeClassMembersTodd Fiala2016-09-281-26/+33
| | | | | | | | This change replaces the self.assertTrue() calls with self.assertEquals() so that test failures get more context on failure values. llvm-svn: 282628
* zorg Xcode python test suite target arch updateTodd Fiala2016-09-281-2/+2
| | | | | | | | | | | | | This changes the Xcode target used by the Green Dragon Xcode CI. When calling xcodebuild with LLDB_PYTHON_TESTSUITE_ARCH set, the arch's xUnit XML output is now set to an arch-specific filename: $(BUILD_DIR)/test-results-$(LLDB_PYTHON_TESTSUITE_ARCH).xml. The change also ensures that the Python testsuite sees the Xcode build settings passed in through environment variables. llvm-svn: 282605
* Reverting r282565.Jason Molenda2016-09-2810-1691/+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-2810-1197/+1691
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-272-148/+110
| | | | | | Differential Revision: https://reviews.llvm.org/D24936 llvm-svn: 282537
* Adding a RegisterContextMinidump_x86_64 converterDimitar Vlahovski2016-09-277-6/+357
| | | | | | | | | | | | | | | | | | 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
* convert TestFatArchives.py over to no-debug-info testTodd Fiala2016-09-271-11/+4
| | | | | | | | | | We only use the .o-style debug info here regardless, so having it run all three debuginfo styles was a waste. This also strips out the custom build function and uses the TestBase.build() method. llvm-svn: 282508
* xfail TestExec.py on macOSTodd Fiala2016-09-271-0/+1
| | | | | | | Tracked by: rdar://28476369 llvm-svn: 282496
* 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 Linux support for test timeout samplingTodd Fiala2016-09-265-17/+249
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the Linux counterpart to the sampling support I added on the macOS side. This change also introduces zip-file compression if the size of the sample output is greater than 10 KB. The Linux side can be quite large and the textual content is averaging over a 10x compression factor on tests that I force to time out. When compression takes place, the filename becomes: {session_dir}/{TestFilename.py}-{pid}.sample.zip This support relies on the linux 'perf' tool. If it isn't present, the behavior is to ignore pre-kill processing of the timed out test process. Note calling the perf tool under the timeout command appears to nuke the profiled process. This was causing the timeout kill logic to fail due to the process having disappeared. I modified the kill logic to catch the case of the process not existing, and I have it ignore the kill request in that case. Any other exception is still raised. Reviewers: labath Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D24890 llvm-svn: 282436
* Added a setting that enables saving all .o files from a given JIT expression.Sean Callanan2016-09-267-0/+116
| | | | | | | | 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-2612-38/+137
| | | | | | | | | | | 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
* Remove ancient icc decoratorsPavel Labath2016-09-264-12/+0
| | | | | | | Nobody is running the test suite with icc, so we have no idea if they pass. But the bug they link to has definitely been fixed. llvm-svn: 282408
* Remove an ancient XFAIL from TestBuiltinTrapPavel Labath2016-09-261-6/+0
| | | | | | | in refers to gcc-4.6. Hopefully noone is using that anymore, and I think there is a good chance it was fixed anyway. llvm-svn: 282406
* [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
* Add an accessor to get the value of RC_PLATFORM_NAME at build timeEnrico Granata2016-09-231-0/+3
| | | | llvm-svn: 282310
* 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-235-31/+22
| | | | llvm-svn: 282306
* Allow for tests to be disabled at runtimeFrancis Ricci2016-09-234-1/+93
| | | | | | | | | | | | | | | | Summary: The current implementation of the test suite allows the user to run a certain subset of tests using '-p', but does not allow the inverse, where a user wants to run all but some number of known failing tests. Implement this functionality. Reviewers: labath, zturner, tfiala Subscribers: jingham, sas, lldb-commits Differential Revision: https://reviews.llvm.org/D24629 llvm-svn: 282298
* Install only the manpage and only in the proper locationEnrico Granata2016-09-231-35/+1
| | | | llvm-svn: 282297
* Change Module::RemapPath to use StringRef.Zachary Turner2016-09-236-14/+20
| | | | llvm-svn: 282277
* Try again to match the logic of the code before re-writing.Zachary Turner2016-09-231-1/+1
| | | | llvm-svn: 282271
* Try to fix failing TestDataFormatterSkipSummary test case.Zachary Turner2016-09-231-1/+3
| | | | llvm-svn: 282270
* Update the prompt related functions to use StringRefs.Zachary Turner2016-09-2319-82/+118
| | | | llvm-svn: 282269
* Update OptionGroup::SetValue to take StringRef.Zachary Turner2016-09-2370-252/+320
| | | | | | | | Then deal with all the fallout. Differential Revision: https://reviews.llvm.org/D24847 llvm-svn: 282265
* add hook for calling platform-dependent pre-kill action on a timed out testTodd Fiala2016-09-237-27/+351
| | | | | | | differential review: https://reviews.llvm.org/D24850 reviewers: clayborg, labath llvm-svn: 282258
* [gdb-remote] Remove the const char * version of SendPacketAndWaitForResponsePavel Labath2016-09-234-136/+105
| | | | | | Switch all callers to use the StringRef version. llvm-svn: 282236
* Fix windows build caused by mixing enum and enum class.Zachary Turner2016-09-232-2/+2
| | | | llvm-svn: 282226
* Add the ability to append breakpoints to the save file.Jim Ingham2016-09-227-16/+113
| | | | llvm-svn: 282212
* Add the ability to deserialize only breakpoints matching a given name.Jim Ingham2016-09-229-10/+262
| | | | | | Also tests for this and the ThreadSpec serialization. llvm-svn: 282207
* Serilize the thread options within the breakpoint options.Jim Ingham2016-09-224-7/+108
| | | | llvm-svn: 282205
* [CMake] Fixing a small hack in add_lldb_libraryChris Bieneman2016-09-221-1/+4
| | | | | | | | This code was adding an explicit dependency on libclang because lldb needs clang headers, changing this to instead depend on the clang tablegen targets means we don't have to depend on building the clang bits in libclang that lldb doesn't need. Note this is still a bit of a hack because we're adding the dependency to all lldb libraries, instead of just the ones that need it. llvm-svn: 282196
* Try to fix build errors on Android.Zachary Turner2016-09-2232-87/+85
| | | | | | | It doesn't like the implicit conversion from T[] to ArrayRef<T> so I'm using `llvm::makeArrayRef()`. Hopefully I got everything. llvm-svn: 282195
* Convert option tables to ArrayRefs.Zachary Turner2016-09-2254-1587/+1246
| | | | | | | | | | | | | | | | | | | | | | | | | This change is very mechanical. All it does is change the signature of `Options::GetDefinitions()` and `OptionGroup:: GetDefinitions()` to return an `ArrayRef<OptionDefinition>` instead of a `const OptionDefinition *`. In the case of the former, it deletes the sentinel entry from every table, and in the case of the latter, it removes the `GetNumDefinitions()` method from the interface. These are no longer necessary as `ArrayRef` carries its own length. In the former case, iteration was done by using a sentinel entry, so there was no knowledge of length. Because of this the individual option tables were allowed to be defined below the corresponding class (after all, only a pointer was needed). Now, however, the length must be known at compile time to construct the `ArrayRef`, and as a result it is necessary to move every option table before its corresponding class. This results in this CL looking very big, but in terms of substance there is not much here. Differential revision: https://reviews.llvm.org/D24834 llvm-svn: 282188
* Actually, do it this way because I will want to know if I am in a host build ↵Enrico Granata2016-09-221-3/+9
| | | | | | elsewhere too llvm-svn: 282179
* The host version of lldb always builds for macosxEnrico Granata2016-09-221-0/+3
| | | | llvm-svn: 282178
* fix DarwinLog no-info/no-debug caseTodd Fiala2016-09-221-1/+1
| | | | | | | | | | | | | This started failing recently: TestDarwinLogSourceDebug.py It looks like the behavior of specifying the OS_ACTIVITY_MODE env var with no value used to work for no-info/no-debug content. That doesn't appear to be the case now. Switch to specifying the proper value ('default') when no info-level and no debug-level content is expected. llvm-svn: 282172
* added environment variable-related Args gtestsTodd Fiala2016-09-222-4/+91
| | | | | | | | Also fixed up a couple misbehaving functions. It is perfectly legal to have env vars with no values (i.e. the '=' and following need not be present). llvm-svn: 282171
* Fix TestBreakpointSerialization on windowsPavel Labath2016-09-223-1/+34
| | | | | | | | | The test exposed a bug in the StructuredData Serialization code, which did not escape the backslash properly. This manifested itself as windows breakpoint serialization roundtrip test not succeeding (as windows paths included backslashes). llvm-svn: 282167
* Fix parsing expressions to evaluate with spaces and optional args (MI)Ilia K2016-09-222-15/+16
| | | | | | | | | | | | | | | | | | | | | Summary: When extracting options for long options (starting with `--`), the use of `MIUtilString::SplitConsiderQuotes` to split all the arguments was being conditioned on the option type to be expected. This was wrong as this caused other options to be parsed incorrectly since it was not taking into account the presence of quotes. Patch by Ed Munoz <edmunoz@microsoft.com> Reviewers: edmunoz, ki.stfu Subscribers: ki.stfu, lldb-commits Projects: #lldb Differential Revision: https://reviews.llvm.org/D24202 llvm-svn: 282135
* fix Args function broken in r281942Todd Fiala2016-09-221-1/+1
| | | | | | | | The method was hard-coded to check only the 0th element of the array. This manifested as NSLog messages behaving incorrectly on macOS. (This is independent of the broken DarwinLog feature). llvm-svn: 282128
OpenPOWER on IntegriCloud