summaryrefslogtreecommitdiffstats
path: root/lldb
Commit message (Collapse)AuthorAgeFilesLines
* Get rid of ARM_ELF_SYM_IS_THUMB flag.Stephane Sezer2016-01-121-4/+0
| | | | | | | | | | | | | | Summary: This was used with the old ARM vs. Thumb detection code but is not required anymore. Reviewers: tberghammer, clayborg Subscribers: fjricci, aemerson, lldb-commits, rengolin Differential Revision: http://reviews.llvm.org/D16099 llvm-svn: 257429
* Don't define Bytes and String to be the same number on Py2.Zachary Turner2016-01-111-4/+0
| | | | | | This is causing issues with case labels having the same value. llvm-svn: 257409
* Xfail some Arm-Linux specific failuresOmair Javaid2016-01-114-3/+10
| | | | | | | | | | Updated expectedFailureLinux decorator to reflect architecture Marked some triaged failures as xfails on arm with updated expectedFailureLinux decorator Differential revision: http://reviews.llvm.org/D15893 llvm-svn: 257405
* Fix Python 3 issues related to OS plugins.Zachary Turner2016-01-112-12/+14
| | | | | | | | | | * lldb::tid_t was being converted incorrectly, so this is updated to use PythonInteger instead of manual Python Native API calls. * OSPlugin_RegisterContextData was assuming that the result of get_register_data was a string, when in fact it is a bytes. So this method is updated to use PythonBytes to do the work. llvm-svn: 257398
* Introduce a PythonBytes class into PythonDataObjects.Zachary Turner2016-01-113-0/+166
| | | | | | | This class behaves the same as PythonString on Python2, but differently on Python3. Unittests are added as well. llvm-svn: 257397
* Don't run dwo tests for windows targets.Zachary Turner2016-01-111-1/+2
| | | | | | | | | | -gsplit-dwarf is not implemented by clang on Windows. As such, all the dwo tests are having the -gsplit-dwarf command line option completely ignored, and the result is you get regular dwarf debug information, and it's just running the exact same tests twice, doubling the length of the test suite for no good reason. llvm-svn: 257363
* Replace accidental DOS (and mixed) line endings in a few text filesDimitry Andric2016-01-115-172/+172
| | | | | | | | | | | | | | Summary: Similar to rL256704 and rL256707, fix a few text files which were accidentally checked in with DOS line endings, or mixed line endings. Reviewers: jingham, emaste Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D16027 llvm-svn: 257361
* Fix TestMiniDump.py for Python 2/3 (and for a change to debug info)Adrian McCarthy2016-01-111-3/+3
| | | | | | Differential Revision: http://reviews.llvm.org/D16017 llvm-svn: 257342
* Don't try to parse the line table when it isn't specifiedTamas Berghammer2016-01-111-6/+11
| | | | | | | | | Previously we tried to parse the line table even if a compile unit had no DW_AT_stmt_list atribute. The problem happens when a compiler generates debug info for a compile unit but doesn't generate any line info. llvm-svn: 257335
* Mark TestChangeValueAPI as flaky on linux (pr25652)Pavel Labath2016-01-111-0/+1
| | | | llvm-svn: 257329
* Skip TestEvents on linux completelyPavel Labath2016-01-111-1/+1
| | | | | | | The test hangs/crashes/fails because it does not use the listener API in a way that LLDB expects. I don't really know if this is the fault of LLDB of the test... llvm-svn: 257323
* Make the aarch64 lldb-server capable of debugging arm32 applicationsTamas Berghammer2016-01-114-11/+111
| | | | | | Differential revision: http://reviews.llvm.org/D15533 llvm-svn: 257322
* Remove CRLF line endings from test_common.hPavel Labath2016-01-111-44/+44
| | | | llvm-svn: 257321
* Centralize the handling of attach permissions on linux in testsPavel Labath2016-01-1110-134/+42
| | | | | | | | | | | | | | | Summary: On linux we need the process to give us special permissions before we can attach to it. Previously, the code for this was copied into every file that needed it. This moves the code to a central place to reduce code duplication. Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D15992 llvm-svn: 257319
* Writing a test case for r257234 I found another place that wasJim Ingham2016-01-094-1/+84
| | | | | | | assuming a ValueObject always has a process. So this is that fix and the test case. llvm-svn: 257242
* Fiddling with Pavel's fix for getting the breakpoint right when there's ↵Jim Ingham2016-01-091-2/+1
| | | | | | | | | | | debug info for sleep. I prefer to use "-p" over using line_number and then setting by line because it's makes it possible to see what the breakpoint is at the site where you make the breakpoint. So I switched it back to -p but specified the source file as well, which is an "all within lldb" way of doing what Pavel's fix did. llvm-svn: 257235
* Fix a thinko in the asserts in GetDynamicTypeAndAddress. It was requiring ↵Jim Ingham2016-01-081-2/+11
| | | | | | | | | | | | that the process in the incoming value be non-null, but Value Objects created off the target don't necessarily have a process. In that case, having the targets the same is good enough. <rdar://problem/24097805> llvm-svn: 257234
* In the questionmark packet ("T"), print the "threads:" and "thread-pcs:"Jason Molenda2016-01-081-30/+30
| | | | | | | | keys before we print the libdispatch queues keys (qname, qkind, qserialnum) to make it easier to read the packet by hand. No function difference, just reordering the keys in the output. llvm-svn: 257229
* Fix TestDebugBreak.py failure with gcc, for loop declarations are not ↵Ying Chen2016-01-081-2/+2
| | | | | | | | | allowed by default with gcc - fix buildbot breakage after r257186 - move declaration outside of for loop llvm-svn: 257228
* Remove XFAIL from a few tests that have been fixed on Windows.Zachary Turner2016-01-083-3/+0
| | | | llvm-svn: 257219
* Re-apply r257117 (reverted in r257138 temporarily),Jason Molenda2016-01-088-11/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | with the one change that ThreadPlanStepOut::ThreadPlanStepOut will now only advance the return address breakpoint to the end of a source line, if we have source line debug information. It will not advance to the end of a Symbol if we lack source line information. This, or the recognition of the LEAVE instruction in r257209, would have fixed the regression that Siva was seeing. Both were good changes, so I've made both. Original commit message: Performance improvement: Change lldb so that it puts a breakpoint on the first branch instruction after a function return (or the end of a source line), instead of a breakpoint on the return address, to skip an extra stop & start of the inferior process. I changed Process::AdvanceAddressToNextBranchInstruction to not take an optional InstructionList argument - no callers are providing a cached InstructionList today, and if this function was going to do that, the right thing to do would be to fill out / use a DisassemblerSP which is a disassembler with the InstructionList for this address range. http://reviews.llvm.org/D15708 <rdar://problem/23309838> llvm-svn: 257210
* Add support for the LEAVE x86 instruction to AssemblyParse_x86.Jason Molenda2016-01-081-7/+38
| | | | llvm-svn: 257209
* XFAIL 2 more tests based on SWIG version.Zachary Turner2016-01-082-0/+4
| | | | | | | There's a bug in versions of SWIG prior to 3.0.8 that prevent these tests from succeeding with Python 3.x llvm-svn: 257208
* Remove XFAIL from TestThreadStates on Windows.Zachary Turner2016-01-081-1/+0
| | | | llvm-svn: 257207
* Prevent infinite recursive loop in AppleObjCTrampolineHandler constructorStephane Sezer2016-01-082-2/+7
| | | | | | | | | | | | | | | | | | | | | | | Summary: When we construct AppleObjCTrampolineHandler, if m_impl_fn_addr is invalid, we call CanJIT(). If the gdb remote process does not support allocating and deallocating memory, this call stack will include a call to the AppleObjCRuntime constructor. The AppleObjCRuntime constructor will then call the AppleObjCTrampolineHandler constructor, creating a recursive call loop that eventually overflows the stack and segfaults. Avoid this call loop by not constructing the AppleObjCTrampolineHandler within AppleObjCRuntime until we actually need to use it. Reviewers: clayborg, jingham Subscribers: sas, lldb-commits Differential Revision: http://reviews.llvm.org/D15978 Change by Francis Ricci <fjricci@fb.com> llvm-svn: 257204
* Add note about the "thread until" command to the llvm-gdb cheatsheet.Justin Lebar2016-01-081-0/+9
| | | | | | Differential Revision: http://reviews.llvm.org/D15684 llvm-svn: 257189
* Treat an embedded int3/__debugbreak() as a breakpoint on Windows, includes a ↵Adrian McCarthy2016-01-084-39/+142
| | | | | | cross-platform test. llvm-svn: 257186
* Fix TestBatchMode for gccPavel Labath2016-01-081-1/+2
| | | | | | | gcc by default does not accept for loop declarations in C files (one must choose C99 mode first, which we don't). Place the declaration outside the loop, to make this code more conformant. llvm-svn: 257166
* Another fix for TestBatchMode on linuxPavel Labath2016-01-081-0/+17
| | | | | | | On locked down systems (such as our buildbot) one needs to do a special dance to allow attaching to processes. This commit adds this code to the TestBatchMode inferior. llvm-svn: 257165
* Fix TestBatchMode on linuxPavel Labath2016-01-081-1/+2
| | | | | | | | | | New test introduced in r257120 was failing on linux. The reason for that the regex for setting the breakpoint was being applied to the "default file", which in this case was the asm file containing the definition of the sleep() syscall (because after attach, we are stopped in the sleep function). I have changed this use the more customary way of setting the breakpoint and specifying the source file name explicitly. llvm-svn: 257160
* Revert r257117 "Performance improvement: Change lldb so that itJason Molenda2016-01-088-148/+11
| | | | | | | | puts a breakpoint" it is causing a regression in the TestStepNoDebug test case on ubuntu 14.04 with gcc 4.9.2. Thanks for the email Siva. I'll recommit when I've figured out the regression. llvm-svn: 257138
* Fix dwarf sequence insertionsStephane Sezer2016-01-081-0/+7
| | | | | | | | | | | | | | | | | | | | | | Summary: If two dwarf sequences begin with entries that have identical addresses, it is possible for the comparator to order the first entry of the new sequence between the first and second entries of the existing sequence. This will result in an attempted insertion of the second sequence inside of the first sequence, which is invalid. Ensure that insertions only occur in between existing sequences. Reviewers: andrew.w.kaylor, clayborg Subscribers: sas, lldb-commits Differential Revision: http://reviews.llvm.org/D15979 Change by Francis Ricci <fjricci@fb.com> llvm-svn: 257132
* Change the key name for the libdispatch queue serial number fromJason Molenda2016-01-082-14/+14
| | | | | | | | | "qserial" to "qserialnum" because "qserial" looks a lot like the queue type (either 'serial' or 'concurrent') and can be confusing to read through. debugserver passes these up either in the questionmark ("T") packet, or in the response to the jThreadsInfo packet. llvm-svn: 257121
* Fix a glitch in the Driver's batch mode when used with "attach". Jim Ingham2016-01-086-17/+142
| | | | | | | | | | | | | | Batch mode is supposed to stop execution and return control to the user when an exceptional stop occurs (crash, signal or instrumentation). But attach always stops with a SIGSTOP on OSX (maybe on Linux too?) which would short circuit the rest of the commands given. This change allows a command result object to indicate that it expected to leave the process stopped with an exceptional stop reason, and it is okay for batch mode to keep going. <rdar://problem/22243143> llvm-svn: 257120
* Performance improvement: Change lldb so that it puts a breakpointJason Molenda2016-01-088-11/+148
| | | | | | | | | | | | | | | | | | | on the first branch instruction after a function return (or the end of a source line), instead of a breakpoint on the return address, to skip an extra stop & start of the inferior process. I changed Process::AdvanceAddressToNextBranchInstruction to not take an optional InstructionList argument - no callers are providing a cached InstructionList today, and if this function was going to do that, the right thing to do would be to fill out / use a DisassemblerSP which is a disassembler with the InstructionList for this address range. http://reviews.llvm.org/D15708 <rdar://problem/23309838> llvm-svn: 257117
* Make sure we don't send qModuleInfo packets unnecessarily.Stephane Sezer2016-01-082-1/+13
| | | | | | | | | | | | | | Summary: Some debug servers don't support it so there's no point in spamming this. Reviewers: clayborg Subscribers: fjricci, lldb-commits Differential Revision: http://reviews.llvm.org/D15972 llvm-svn: 257116
* Better scheme to lookup alternate mangled name when looking up function address.Siva Chandra2016-01-0719-96/+205
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This change is relevant for inferiors compiled with GCC. GCC does not emit complete debug info for std::basic_string<...>, and consequently, Clang (the LLDB compiler) does not generate correct mangled names for certain functions. This change removes the hard-coded alternate names in ItaniumABILanguageRuntime.cpp. Before the hard-coded names were put in ItaniumABILanguageRuntime.cpp, one could not evaluate std::string methods (ex. std::string::length). After putting in the hard-coded names, one could evaluate them. However, it did not still enable one to call methods on, say for example, std::vector<string>. This change makes that possible. There is some amount of incompleteness in this change. Consider the following example: std::string hello("hello"), world("world"); std::map<std::string, std::string> m; m[hello] = world; One can still not evaluate the expression "m[hello]" in LLDB. Will address this issue in another pass. Reviewers: jingham, vharron, evgeny777, spyffe, dawn Subscribers: clayborg, dawn, lldb-commits Differential Revision: http://reviews.llvm.org/D12809 llvm-svn: 257113
* XFAIL TestMultithreaded on linuxPavel Labath2016-01-071-1/+1
| | | | | | Test sometimes fails even during the reruns, upgrading to xflaky to xfail. llvm-svn: 257068
* Remove duplicate header added in r256927Ewan Crawford2016-01-071-1/+0
| | | | | | | | | r256927 included a duplicate StreamString header file. This patch simply removes the duplicate. Author: Luke Drummond <luke.drummond@codeplay.com> Differential Revision: http://reviews.llvm.org/D15948 llvm-svn: 257061
* Remove some Windows->Android XTIMEOUTsPavel Labath2016-01-071-5/+0
| | | | llvm-svn: 257052
* XFAIL TestEvents.test_add_listener_to_broadcasterPavel Labath2016-01-071-1/+1
| | | | | | Upgrade flaky to xfail, as the test sometimes fails even during the rerun. llvm-svn: 257050
* [RenderScript] Improve file format for saving RS allocationsEwan Crawford2016-01-072-29/+154
| | | | | | | | | | | Updates the file format for storing RS allocations to a file, so that the format now supports struct element types. The file header will now contain a subheader for every RS element and it's descendants. Where an element subheader contains element type details and offsets to the subheaders of that elements fields. Patch also improves robustness when loading incorrect files. llvm-svn: 257045
* fixup lldbinline-style tests to clean up Makefiles and *.d filesTodd Fiala2016-01-061-4/+4
| | | | | | | | | The lldbinline inline-test mechanism will create a Makefile if one does not exist in the test directory. This Makefile and its *.d files were not getting cleaned up after a test run, leaving trash in the source tree. llvm-svn: 256961
* [Renderscript] Fix stack argument inspection.Aidan Dodds2016-01-061-43/+42
| | | | | | | Function arguments that were spilled and passed on the stack were incorrectly read. The value was written back into the output pointer rather then the memory being pointed to. llvm-svn: 256941
* Remove XTIMEOUT from TestMultithreaded on linuxPavel Labath2016-01-062-5/+2
| | | | | | instead, mark the test as expected flaky, which will trigger a rerun in case the test hangs. llvm-svn: 256935
* Fix build warnings after rL256915Bhushan D. Attarde2016-01-061-8/+8
| | | | llvm-svn: 256929
* Fix a bug in lldbutil.expect_state_changesPavel Labath2016-01-061-10/+18
| | | | | | | | The logic for skipping over the stop-and-restart events was incorrect as it was also skipping the expectations. Implement it properly. No test is affected by this as they were not encountering these events, but I encountered this issue when trying to use this function in a new test. llvm-svn: 256928
* Add LogDump methods to lldb_private::StringList.Ewan Crawford2016-01-062-0/+61
| | | | | | | | | This patch eases the printing of iterable string containers. Author: Luke Drummond <luke.drummond@codeplay.com> Differential Revision: http://reviews.llvm.org/D15773 llvm-svn: 256927
* XFAIL TestMiSymbol on linuxPavel Labath2016-01-061-0/+1
| | | | | | new test introduced in r256863 fails on linux. llvm-svn: 256925
* [LLDB][MIPS32]Merge emulation of similar instructionsBhushan D. Attarde2016-01-062-1917/+521
| | | | | | | | | | | SUMMARY: This patch merges emulation of similar instructions into a single function (wherever possible) to remove code duplication. Reviewers: clayborg Subscribers: mohit.bhakkad, sagar, jaydeep, lldb-commits Differential Revision: http://reviews.llvm.org/D15886 llvm-svn: 256915
OpenPOWER on IntegriCloud