summaryrefslogtreecommitdiffstats
path: root/lldb/lit
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix the compile RUN line in x86-64-ymm-write.testPavel Labath2019-05-021-2/+1
| | | | | | | Optimistically assuming this was the result of the darwin failure too, so removing the XFAIL there. llvm-svn: 359794
* [lldb] [lit] Mark x86-64-ymm-write XFAIL on DarwinMichal Gorny2019-05-021-0/+1
| | | | llvm-svn: 359787
* [lldb] [lit] Use LLDB-like output for XMM registers in write testsMichal Gorny2019-05-024-26/+40
| | | | llvm-svn: 359784
* [lldb] [lit] Introduce tests for writing YMM registersMichal Gorny2019-05-023-0/+149
| | | | | | Differential Revision: https://reviews.llvm.org/D61431 llvm-svn: 359783
* [lldb] [lit] Split 'register read' tests between zmm*, xmm16+, ymm16+Michal Gorny2019-05-023-65/+60
| | | | | | | | | | | | Since Darwin target implements support for zmm* registers without matching support for the respectively added xmm* and ymm* registers, split the tests for each register group. To reduce code duplication, the tests are using the same source file (which sets more registers than necessary but that should not cause any harm). Differential Revision: https://reviews.llvm.org/D61376 llvm-svn: 359780
* [test] Convert TestWatchpointSetErrorCases.py to litJonas Devlieghere2019-05-022-0/+41
| | | | | | | | | | This test is flaky on GreenDragon. Since it was a pexpect test and straightforward enough to convert, I went ahead and converted it to a lit test. Differential revision: https://reviews.llvm.org/D61414 llvm-svn: 359751
* [CommandObjectCommands] Honor stop-command-source-on-errorJonas Devlieghere2019-05-021-0/+12
| | | | | | | | | | | | This patch ensures that we honor the stop-command-source-on-error setting from `command source`. The problem is that we didn't differentiate between the boolean value being true or false, or not being set. For the latter scenario, we should calculate the value in the command interpreter based on the global options. Differential revision: https://reviews.llvm.org/D61406 llvm-svn: 359750
* [lldb] [lit] Add write tests for r8-r15 & xmm8-xmm15 registersMichal Gorny2019-05-012-0/+114
| | | | | | Differential Revision: https://reviews.llvm.org/D61303 llvm-svn: 359682
* [lldb] [lit] Add write tests for MM/XMM registersMichal Gorny2019-05-012-0/+114
| | | | | | Differential Revision: https://reviews.llvm.org/D61303 llvm-svn: 359681
* XFAIL x86-64-zmm-read on DarwinJonas Devlieghere2019-04-301-0/+1
| | | | llvm-svn: 359575
* [PECOFF] Implementation of ObjectFilePECOFF:: GetUUID()Aaron Smith2019-04-302-1/+95
| | | | | | | | | | | | | | | | | | | Summary: Provide an implementation of GetUUID() for remote debugging scenarios. Return a PDB's GUID (or PDB70's Signature) as the UUID. Reviewers: amccarth, labath Reviewed By: labath Subscribers: amccarth, clayborg, Hui, labath, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D56229 llvm-svn: 359528
* [lit] Check for the psutil module when setting a timeoutJonas Devlieghere2019-04-291-2/+8
| | | | | | | | Apparently setting the per-test-timeout and not having the psutil package constitutes to a fatal error. So only set the timeout when the module is available. llvm-svn: 359503
* [lit] Fix the timeout.Jonas Devlieghere2019-04-292-1/+3
| | | | | | | | The timeout wasn't working because it's a property of the lit configuration, not of the configuration in lit.site.cfg. This sets the property for the correct object. llvm-svn: 359492
* [test] Disable x86-64-gp-write on DarwinJonas Devlieghere2019-04-291-0/+1
| | | | llvm-svn: 359487
* Remove XFAIL: windows from x86-64-gp-write.testPavel Labath2019-04-291-1/+0
| | | | | | The typo fix in r359451 was enough to get it passing there. llvm-svn: 359456
* Fix a typo in x86-64-gp-write.testPavel Labath2019-04-291-1/+1
| | | | | | The test was building the wrong inferior, causing failures. llvm-svn: 359451
* [lldb] [lit] Introduce tests for writing x86 general-purpose registersMichal Gorny2019-04-294-0/+168
| | | | | | | | | | | Introduce two initial tests for 'register write' command. The tests first clobber x86 general purpose registers, then call int3 to let lldb write to them, then print the new values. FileCheck takes care of verifying whether correct values were written. Differential Revision: https://reviews.llvm.org/D61221 llvm-svn: 359441
* [lldb] [lit] Add tests for reading ZMM registers (AVX512)Michal Gorny2019-04-293-0/+342
| | | | | | Differential Revision: https://reviews.llvm.org/D61212 llvm-svn: 359439
* [lldb] [lit] Introduce tests for reading x86 general purpose registersMichal Gorny2019-04-294-0/+156
| | | | | | | | | | | | | | Introduce tests for reading the eight x86 general purpose registers, i.e. RAX/RBX/RCX/RDX/RBP/RSP/RSI/RDI and their shorter counterparts. The test comes in separate 32-bit and 64-bit variant, targeting appropriate processors. While technically the 32-bit test could run on amd64, it would be redundant to the 64-bit version, so just run one of them on each arch. Differential Revision: https://reviews.llvm.org/D61210 llvm-svn: 359438
* [Windows] Dump more information about access violation exceptionAleksandr Urakov2019-04-291-0/+37
| | | | | | | | | | | | | | | | | | | | Summary: Dump more information about "access violation" and "in page error" exceptions to description. Description now contains data about read/write violation type and actual address as described at https://docs.microsoft.com/en-us/windows/desktop/api/winnt/ns-winnt-_exception_record Reviewers: asmith, stella.stamenova Reviewed By: stella.stamenova Subscribers: teemperor, amccarth, abidh, lldb-commits, aleksandr.urakov Tags: #lldb Differential Revision: https://reviews.llvm.org/D60519 llvm-svn: 359420
* [lldb] [lit] Cleanly terminate Register testsMichal Gorny2019-04-274-0/+12
| | | | | | | Continue the Register test processes, and let them terminate cleanly rather than implicitly terminating them along with lldb. llvm-svn: 359375
* Pass explicit C++ version to testFrederic Riss2019-04-261-1/+1
| | | | | | | | stop-hook-threads.cpp uses C++11 features, so ask for C++11 explicitely. This isn't broken on mainstream because clang defaults to a newer C++ version now, but it breaks if testing against an older compiler. llvm-svn: 359349
* [lldb] [lit] Add register read tests for YMM registers (AVX)Michal Gorny2019-04-263-0/+143
| | | | | | Differential Revision: https://reviews.llvm.org/D61074 llvm-svn: 359304
* [lldb] [lit] Add feature flags for native CPU featuresMichal Gorny2019-04-263-1/+16
| | | | | | | | | | | | Add a new lit-cpuid tool that detects CPU features used by some of the tests, and use it to populate available_features in lit. For now, this means that the test for MM/XMM register read will be run only when the host CPU support SSE instruction set. However, this is going to make it possible to introduce additional tests relying on AVX. Differential Revision: https://reviews.llvm.org/D61073 llvm-svn: 359303
* [lldb] [lit] Use constexpr and better constraints in Register testsMichal Gorny2019-04-252-37/+37
| | | | | | | | | | | | Use constexpr to explicitly indicate that we're dealing with integer constants, and provoke clang to assign them straight to registers whenever possible. Adjust input constraints in %mmN tests to "rm" as using integer constants is apparently disallowed there. Also use "i" for %rN tests, as we don't want clang to accidentally clobber those general purpose registers while assigning to them (however unlikely that is). llvm-svn: 359228
* [lldb] [lit] Un-XFAIL Register/x86-64-read.test for DarwinMichal Gorny2019-04-251-1/+0
| | | | llvm-svn: 359221
* [lldb] [lit] Add tests for reading new x86_64 registersMichal Gorny2019-04-252-0/+103
| | | | | | | | | Add tests covering read operations for the general-purpose and XMM registers added in x86_64 (r8-r15 and xmm8-xmm15). Differential Revision: https://reviews.llvm.org/D61072 llvm-svn: 359210
* [lldb] [lit] Remove unnecessary array use in XMM reading testMichal Gorny2019-04-251-8/+8
| | | | | | | | | | Remove the use of 2-element array for XMM data. It is an accidental leftover from previous implementation attempt, and it is unnecessary with xmm_t. Differential Revision: https://reviews.llvm.org/D61085 llvm-svn: 359208
* yamlify lit/Minidump testsPavel Labath2019-04-247-82/+173
| | | | | | Replace checked-in binaries by their yaml equivalents. llvm-svn: 359074
* FuncUnwinders: remove "current_offset" from function argumentsPavel Labath2019-04-232-0/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This argument was added back in 2010 (r118882) to support the ability to unwind from functions whose eh_frame entry does not cover the entire range of the function. However, due to the caching happening in FuncUnwinders, this solution is very fragile. FuncUnwinders will cache the plan it got from eh_frame regardless of the value of the current_offset, so our ability to unwind from a given function depended what was the value of "current_offset" the first time that this function was called. Furthermore, since the "image show-unwind" command did not know what's the right offset to pass, this created an unfortunate situation where "image show-unwind" would show no valid plans for a function, even though they were available and being used. In this patch I implement the feature slightly differently. Instead of giving just a base address to the eh_frame unwinder, I give it the entire range we are interested in. Then, I change the unwinder to return the first plan that covers (even partially) that range. This way even a partial plan will be returned, regardless of the address in the function where we are stopped at. This solution is still not 100% correct, as it will not handle a function which is covered by two independent fde entries. However, I don't expect anybody will write this kind of functions, and this wasn't handled by the previous implementation either. If this is ever needed in the future. The eh_frame unwinder can be extended to return "composite" unwind plans created by merging sevelar fde entries. I also create a test which triggers this scenario. As doing this is virtually impossible without hand-written assembly, the test only works on x86 linux. Reviewers: jasonmolenda, clayborg Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D60829 llvm-svn: 358964
* UnwindPlan: pretty-print dwarf expressionsPavel Labath2019-04-232-0/+27
| | | | | | | | | | | | | | | | Summary: Previously we were printing the dwarf expressions in unwind rules simply as "dwarf-expr". This patch uses the existing dwarf-printing capabilities in lldb to enhance this dump output, and print the full decoded dwarf expression. Reviewers: jasonmolenda, clayborg Subscribers: aprantl, lldb-commits Differential Revision: https://reviews.llvm.org/D60949 llvm-svn: 358959
* [NativePDB] Add anonymous namespaces supportAleksandr Urakov2019-04-224-4/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch adds anonymous namespaces support to the native PDB plugin. I had to reference from the main function variables of the types that are inside of the anonymous namespace to include them in debug info. Without the references they are not included. I think it's because they are static, then are visible only in the current translation unit, so they are not needed without any references to them. There is also the problem case with variables of types that are nested in template structs. For now I've left FIXME in the test because this case is not related to the change. Reviewers: zturner, asmith, labath, stella.stamenova, amccarth Reviewed By: amccarth Subscribers: zloyrobot, aprantl, teemperor, lldb-commits, leonid.mashinskiy Tags: #lldb Differential Revision: https://reviews.llvm.org/D60817 llvm-svn: 358873
* [tools] Make vscode and lldb-instr optional.Davide Italiano2019-04-163-0/+8
| | | | | | | | | | | | | | | | Summary: Saves some build times, and they're not part of the usual developer workflow. Reviewers: JDevlieghere, friss Subscribers: mgorny, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D60780 llvm-svn: 358528
* Fix symtab-macho.test broken by r358500Pavel Labath2019-04-162-2/+2
| | | | | | Put the correct UUID string into the breakpad file. llvm-svn: 358508
* Breakpad: Match the new UUID algorithm in minidumpsPavel Labath2019-04-164-2/+76
| | | | | | | | | | | | | | | D59433 and D60501 changed the way UUIDs are computed from minidump files. This was done to synchronize the U(G)UID representation with the native tools of given platforms, but it created a mismatch between minidumps and breakpad files. This updates the breakpad algorithm to match the one found in minidumps, and also adds a couple of tests which should fail if these two ever get out of sync. Incidentally, this means that the module id in the breakpad files is almost identical to our notion of UUIDs, so the computation algorithm can be somewhat simplified. llvm-svn: 358500
* test/PECOFF: Remove REQUIRES: system-windowsPavel Labath2019-04-162-2/+2
| | | | | | | These tests run fine on non-windows platforms too. Instead I add REQUIRES: lld, as that is what they really require. llvm-svn: 358499
* [lldb] [lit/SymbolFile] Avoid -nostdlib in target-symbols-add-unwind.testMichal Gorny2019-04-132-6/+6
| | | | | | | | | | | | | Do not use -nostdlib in target-symbols-add-unwind.test. NetBSD uses startup files to provide obligatory ELF notes in executables, and therefore using -nostdlib requires providing specially tailored input. Otherwise, kernel rejects the result as invalid executable. The replacement was suggested by Pavel Labath. Differential Revision: https://reviews.llvm.org/D60648 llvm-svn: 358329
* [lldb] [lit/Register] XFAIL on DarwinMichal Gorny2019-04-111-0/+1
| | | | llvm-svn: 358224
* [test] Fix & re-enable CommandScriptImmediateOutputFile on WindowsJonas Devlieghere2019-04-112-4/+5
| | | | | | | Apparently the shlex module produces garbage on Windows. I've added a hand rolled split instead that should suffice for this test. llvm-svn: 358216
* [test] Disable CommandScriptImmediateOutputFile on WindowsJonas Devlieghere2019-04-111-0/+2
| | | | | | | | | | | | | | | | | | | Somehow the path gets messed up. The command looks correct, but the python path is not. (lldb) mywrite E:\build_slave\lldb-x64-windows-ninja\build\tools\lldb\lit\Commands\ CommandScriptImmediateOutput\Output\ CommandScriptImmediateOutputFile.test.tmp.read.txt r No such file or directory: 'E:build_slavelldb-x64-windows-ninjabuildtoolslldblitCommands CommandScriptImmediateOutputOutput CommandScriptImmediateOutputFile.test.tmp.read.txt' Maybe the shlex module is escaping it? llvm-svn: 358213
* [lldb] [lit/Register] Mark x86-mm-xmm-read XFAIL on WindowsMichal Gorny2019-04-111-0/+1
| | | | llvm-svn: 358188
* [lldb] [lit/Register] Fix test to use %clangxxMichal Gorny2019-04-111-1/+1
| | | | llvm-svn: 358184
* [test] Convert CommandScriptImmediateOutput from pexpect to litJonas Devlieghere2019-04-113-0/+81
| | | | | | | | | This converts the CommandScriptImmediateOutput test from a python test using pexpect to a lit test. Differential revision: https://reviews.llvm.org/D60566 llvm-svn: 358180
* [lldb] [Process/NetBSD] Fix wrongly mapping mm* registersMichal Gorny2019-04-112-0/+77
| | | | | | | | | | | | | Fix mistake that mapped mm* registers into the space for xmm* registers, rather than the one shared with st* registers. In other words, 'register read mmN' now correctly shows the mmN register rather than part of xmmN. Includes a minimal lit regression test. Differential Revision: https://reviews.llvm.org/D60325 llvm-svn: 358178
* Breakpad: Parse Stack CFI recordsPavel Labath2019-04-091-1/+1
| | | | | | | | | | | | | | | | | Summary: This patch adds support for parsing STACK CFI records from breakpad files. The expressions specifying the values of registers are not parsed.The idea is that these will be handed off to the postfix expression -> dwarf compiler, once it is extracted from the internals of the NativePDB plugin. Reviewers: clayborg, amccarth, markmentovai Subscribers: aprantl, lldb-commits Differential Revision: https://reviews.llvm.org/D60268 llvm-svn: 357975
* MinidumpParser: use minidump parser in llvm/ObjectPavel Labath2019-04-052-14/+14
| | | | | | | | | | | | | | | | | | This patch removes the lower layers of the minidump parsing code from the MinidumpParser class, and replaces it with the minidump parser in llvm. Not all functionality is already avaiable in the llvm class, but it is enough for us to be able to stop enumerating streams manually, and rely on the minidump directory parsing code from the llvm class. This also removes some checked-in binaries which were used to test error handling in the parser, as the error handling is now done (and tested) in llvm. Instead I just add one test that ensures we correctly propagate the errors reported by the llvm parser. The input for this test can be written in yaml instead of a checked-in binary. llvm-svn: 357748
* Breakpad: Refine record classification codePavel Labath2019-04-043-2/+11
| | | | | | | | | | | | | | | | | Previously we would classify all STACK records into a single bucket. This is not really helpful, because there are three distinct types of records beginning with the token "STACK" (STACK CFI INIT, STACK CFI, STACK WIN). To be consistent with how we're treating other records, we should classify these as three different record types. It also implements the logic to put "STACK CFI INIT" and "STACK CFI" records into the same "section" of the breakpad file, as they are meant to be read together (similar to how FUNC and LINE records are treated). The code which performs actual parsing of these records will come in a separate patch. llvm-svn: 357691
* [Reproducers] Capture return values of functions returning by ptr/refJonas Devlieghere2019-04-034-0/+15
| | | | | | | | | | | | | | | For some reason I had convinced myself that functions returning by pointer or reference do not require recording their result. However, after further considering I don't see how that could work, at least not with the current implementation. Interestingly enough, the reproducer instrumentation already (mostly) accounts for this, though the lldb-instr tool did not. This patch adds the missing macros and updates the lldb-instr tool. Differential revision: https://reviews.llvm.org/D60178 llvm-svn: 357639
* [LLDB] - Update the test cases after yaml2obj change.George Rimar2019-04-035-18/+10
| | | | | | | | | https://reviews.llvm.org/D60122 (r357595) changed the symbols description format in yaml2obj. This change updates the LLDB tests. llvm-svn: 357600
* [lit] Use 10 minute timeout by default.Jonas Devlieghere2019-04-031-0/+1
| | | | | | | | | | | | | Lit has the ability to set a timeout for individual tests. This patch enables that functionality with a default of 10 minutes. Currently we rely on the bots to kill the whole test suite. However this doesn't tell us which test caused the timeout. Furthermore, when running the test suite during development, I have to manually kill the tests that time out to get the lit output at then end. This fixes both inconveniences. llvm-svn: 357555
OpenPOWER on IntegriCloud