summaryrefslogtreecommitdiffstats
path: root/lldb
Commit message (Collapse)AuthorAgeFilesLines
...
* [Expressions] Fix -Wreorder warning from r353149Krasimir Georgiev2019-02-051-4/+3
| | | | | | | | | | | | | | | | | | Summary: ``` ClangExpressionDeclMap.cpp:72:60: error: field 'm_struct_vars' will be initialized after field 'm_ctx_obj' [-Werror,-Wreorder] m_result_delegate(result_delegate), m_parser_vars(), m_struct_vars(), ``` Reviewers: bkramer, aleksandr.urakov Reviewed By: aleksandr.urakov Subscribers: aleksandr.urakov Differential Revision: https://reviews.llvm.org/D57742 llvm-svn: 353161
* [Expressions] Add support of expressions evaluation in some object's contextAleksandr Urakov2019-02-0526-44/+596
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch adds support of expression evaluation in a context of some object. Consider the following example: ``` struct S { int a = 11; int b = 12; }; int main() { S s; int a = 1; int b = 2; // We have stopped here return 0; } ``` This patch allows to do something like that: ``` lldb.frame.FindVariable("s").EvaluateExpression("a + b") ``` and the result will be `33` (not `3`) because fields `a` and `b` of `s` will be used (not locals `a` and `b`). This is achieved by replacing of `this` type and object for the expression. This has some limitations: an expression can be evaluated only for values located in the debuggee process memory (they must have an address of `eAddressTypeLoad` type). Reviewers: teemperor, clayborg, jingham, zturner, labath, davide, spyffe, serge-sans-paille Reviewed By: jingham Subscribers: abidh, lldb-commits, leonid.mashinskiy Tags: #lldb Differential Revision: https://reviews.llvm.org/D55318 llvm-svn: 353149
* [Python2 to Python 3] Fix print -> print().Davide Italiano2019-02-051-6/+6
| | | | llvm-svn: 353130
* Update stale comment in lang/c/struct_types/main.cJonas Devlieghere2019-02-041-2/+2
| | | | | | rdar://47322760 llvm-svn: 353087
* Fixes for the ProcessLaunchInfo movePavel Labath2019-02-042-2/+2
| | | | llvm-svn: 353049
* Move FileAction, ProcessInfo and ProcessLaunchInfo from Target to HostPavel Labath2019-02-0429-30/+102
| | | | | | | | | | | | | | | | | | | | | | | Summary: These classes describe the details of the process we are about to launch, and so they are naturally used by the launching code in the Host module. Previously they were present in Target because that is the most important (but by far not the only) user of the launching code. Since the launching code has other customers, must of which do not care about Targets, it makes sense to move these classes to the Host layer, next to the launching code. This move reduces the number of times that Target is included from host to 8 (it used to be 14). Reviewers: zturner, clayborg, jingham, davide, teemperor Subscribers: emaste, mgorny, lldb-commits Differential Revision: https://reviews.llvm.org/D56602 llvm-svn: 353047
* Fix the xcode build for r352845, attempt #2Stefan Granitz2019-02-011-0/+16
| | | | llvm-svn: 352902
* Revert "Fix the xcode build for r352845."Stefan Granitz2019-02-011-2663/+2651
| | | | | | This reverts commit 72c1213a5e901b80c0f1d2794e5088d7f71a3632. llvm-svn: 352901
* [lldb] Relax libc++ ABI version checkingThomas Anderson2019-02-011-95/+88
| | | | | | | | | | | | | libc++ has programmable ABI versioning controllable with the _LIBCPP_ABI_VERSION macro. Currently there are at least 3 settings used in real systems (1 as the default, ndk1 for Anroid, Cr for Chromium). Only the 1 and ndk1 cases were handled. This change relaxes the check to allow any ABI version. Differential Revision: https://reviews.llvm.org/D57466 llvm-svn: 352899
* Fix the xcode build for r352845.Jim Ingham2019-02-011-2651/+2663
| | | | llvm-svn: 352894
* [PDB] Fix build after r352845Aleksandr Urakov2019-02-011-1/+1
| | | | llvm-svn: 352858
* [PDB] Fix location retrieval for function local variables and arguments that areAleksandr Urakov2019-02-0122-929/+1514
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | stored relative to VFRAME Summary: This patch makes LLDB able to retrieve proper values for function arguments and local variables stored in PDB relative to VFRAME register. Patch contains retrieval of corresponding FPO table entries from PDB and a generic translator from FPO programs to DWARF expressions to get correct VFRAME value. Patch also improves variables-locations.test and makes this test passable on x86. Patch By: leonid.mashinsky Reviewers: zturner, asmith, stella.stamenova, aleksandr.urakov Reviewed By: zturner Subscribers: arphaman, labath, mgorny, aprantl, JDevlieghere, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D55122 llvm-svn: 352845
* [unittest] Fix scalar unit test.Jonas Devlieghere2019-01-311-4/+4
| | | | | | | | The test was using ASSERT_EQ instead of ASSERT_STREQ which meant we were comparing string addresses instead of the actual string. This caused the test to fail with with the sanitizers enabled. llvm-svn: 352780
* Fix use of non-existing variable in crashlog.pyShafik Yaghmour2019-01-311-1/+1
| | | | | | | | | Summary: The method find_matching_slice(self) uses uuid_str on one of the paths but the variable does not exist and so this results in a NameError exception if we take that path. Differential Revision: https://reviews.llvm.org/D57467 llvm-svn: 352772
* [LLDB] FreeBSD suppress compilation warningDavid Carlier2019-01-311-1/+1
| | | | | | | | | | | | Reviewers: labath, teemperor Reviewed By: teemperor Differential Revision: https://reviews.llvm.org/D57506 M source/Plugins/Process/FreeBSD/ProcessMonitor.cpp llvm-svn: 352744
* Revert "[CMake] Unify scripts for generating VCS headers"Petr Hosek2019-01-312-18/+24
| | | | | | This reverts commits r352729 and r352731: this broke Sanitizer Windows bots llvm-svn: 352733
* [CMake] Migrate lldb to the new VCS scriptPetr Hosek2019-01-312-24/+18
| | | | | | This was accidentaly omitted from r352729 and broke lldb bots. llvm-svn: 352731
* [testsuite] Fix TestAppleSimulator so that it works with Python 3.Davide Italiano2019-01-312-3/+3
| | | | llvm-svn: 352710
* [Python] Fix gdb-remote and lldb-server utilities to work with Py3.Davide Italiano2019-01-312-5/+5
| | | | llvm-svn: 352709
* [Python] Python 2 and Python 3 disagree on `/`.Davide Italiano2019-01-311-1/+1
| | | | | | | | One considers it integer division, the other doesn't. Move to `//` (floor division) so that this test passes independently from the version. llvm-svn: 352706
* Add Sphinx generated html files as output to the build phase.Jonas Devlieghere2019-01-311-1/+23
| | | | | | This will ensure we don't rerun Sphinx when the files exist. llvm-svn: 352703
* [Python] String(s) and bytes are two different entities in 3.7.Davide Italiano2019-01-311-1/+1
| | | | | | | So, we need an explicit call to decode() here to let it work with both interpreters. Fixes TestXMMRegisters on 3.7. llvm-svn: 352701
* Add lldb-docs target to Xcode projectJonas Devlieghere2019-01-301-0/+96
| | | | | | | This patch adds the lldb-docs target which generates the Sphinx html documentation. llvm-svn: 352696
* Fix handling of CreateTemplateParameterList when there is an empty packShafik Yaghmour2019-01-304-10/+46
| | | | | | | | | Summary: When we are creating a ClassTemplateSpecializationDecl in ParseTypeFromDWARF(...) we are not handling the case where variadic pack is empty in the specialization. This patch handles that case and adds a test to prevent future regressions. Differential Revision: https://reviews.llvm.org/D57363 llvm-svn: 352677
* Add LLDB website and documentation in reStructuredText for SphinxJonas Devlieghere2019-01-3024-1/+7657
| | | | | | | | | | | | | | | | | | | | | | | | | The current LLDB website is written in HTML which is hard to maintain. We have quite a bit of HTML code checked in which can make it hard to differentiate between documentation written by us and documentation generated by a tool. In line with the other LLVM projects, I propose generating the documentation with Sphix. I think text/rst files provide a lower barrier for new or casual contributors to fix or update. This patch adds a copy of the LLDB website and documentation in reStructuredText. It also adds a new ninja target `docs-lldb-html` when -DLLVM_ENABLE_SPHINX:BOOL is enabled. This is the first step in having the website and documentation being generated from the repository, rather than having the output checked-in under the www folder. During the hopefully short transition period, please also update the reStructuredText files when modifying the website. Differential revision: https://reviews.llvm.org/D55376 llvm-svn: 352644
* [Scalar] Remove partially wrong and unused functions.Davide Italiano2019-01-302-54/+0
| | | | | | | I originally thought about fixing them, but hey, nobody is using them anyway. llvm-svn: 352643
* [Scalar] Hoist a duplicated (and sometimes wrong) comment.Davide Italiano2019-01-301-9/+3
| | | | | | Pointed out by Zachary and Adrian. llvm-svn: 352641
* [Scalar] Implement support for 512-bit values.Davide Italiano2019-01-304-1/+242
| | | | | | | | (useful, e.g. when reading 512-bits registers, a-la AVX-512). <rdar://problem/46886288> llvm-svn: 352639
* [CMake] Accept entitlements for code signing in add_lldb_library()Stefan Granitz2019-01-301-3/+13
| | | | | | | | | | | | | | | | | Summary: D57334 added entitlements support in `add_llvm_library()` so we can use it for library targets in LLDB. Additionally this patch fixes the way that the entitlements argument is passed on from `add_lldb_executable()` to `add_llvm_executable()`. We still need the explicit parsing and passing on of single- and multi-value arguments as long as we are on CMake < 3.7 (due to bug https://gitlab.kitware.com/cmake/cmake/merge_requests/133). Reviewers: beanz, JDevlieghere, aprantl Reviewed By: JDevlieghere Subscribers: mgorny, lldb-commits, #lldb Differential Revision: https://reviews.llvm.org/D57378 llvm-svn: 352629
* Add FileCollector + test to Xcode project.Jonas Devlieghere2019-01-292-0/+16
| | | | llvm-svn: 352570
* Fix some warnings in building LLDB.Zachary Turner2019-01-297-59/+27
| | | | | | Differential Revision: https://reviews.llvm.org/D57413 llvm-svn: 352557
* [test] Use correct macro in FileCollectorTest.cppJonas Devlieghere2019-01-291-1/+1
| | | | | | | This test was supposed to be skipped on Windows but was using the wrong macro name. llvm-svn: 352556
* Make a blind attempt at fixing PDBASTParser nullability issuesAdrian Prantl2019-01-291-2/+6
| | | | llvm-svn: 352548
* [Reproducers] Add file providerJonas Devlieghere2019-01-2915-15/+606
| | | | | | | | | | | | | | | | | | | | | | | | | This patch adds the file provider which is responsible for capturing files used by LLDB. When capturing a reproducer, we use a file collector that is very similar to the one used in clang. For every file that we touch, we add an entry with a mapping from its virtual to its real path. When we decide to generate a reproducer we copy over the files and their permission into to reproducer folder. When replaying a reproducer, we load the VFS mapping and instantiate a RedirectingFileSystem. The latter will transparently use the files available in the reproducer. I've tested this on two macOS machines with an artificial example. Still, it is very likely that I missed some places where we (still) use native file system calls. I'm hoping to flesh those out while testing with more advanced examples. However, I will fix those things in separate patches. Differential revision: https://reviews.llvm.org/D54617 llvm-svn: 352538
* Make Type::GetByteSize optional (NFC)Adrian Prantl2019-01-297-68/+92
| | | | | | | | | | | This is a continuation of my quest to make the size 0 a supported value. This reapplies r352394 with additional PDB parser fixes prepared by Pavel Labath! Differential Revision: https://reviews.llvm.org/D57273 llvm-svn: 352521
* Adjust documentation for git migration.James Y Knight2019-01-2913-141/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes most references to the paths: llvm.org/svn/ llvm.org/git/ llvm.org/viewvc/ github.com/llvm-mirror/ github.com/llvm-project/ reviews.llvm.org/diffusion/ to instead point to https://github.com/llvm/llvm-project. This is *not* a trivial substitution, because additionally, all the checkout instructions had to be migrated to instruct users on how to use the monorepo layout, setting LLVM_ENABLE_PROJECTS instead of checking out various projects into various subdirectories. I've attempted to not change any scripts here, only documentation. The scripts will have to be addressed separately. Additionally, I've deleted one document which appeared to be outdated and unneeded: lldb/docs/building-with-debug-llvm.txt Differential Revision: https://reviews.llvm.org/D57330 llvm-svn: 352514
* BreakpadRecords: Add parsing code for FILE and LINE recordsPavel Labath2019-01-293-0/+107
| | | | | | | | The two records aren't used by anything yet, but this part can be separated out easily, so I am comitting it separately to simplify reviews of the followup patch. llvm-svn: 352507
* [NativePDB] Fix lldb-x64-windows-ninja after r352464Aleksandr Urakov2019-01-292-8/+24
| | | | llvm-svn: 352478
* [NativePDB] Add basic support of methods recostruction in ASTAleksandr Urakov2019-01-296-7/+93
| | | | | | | | | | | | | | | | | | Summary: This patch adds the basic support of methods reconstruction by native PDB plugin. It contains only most obvious changes (it processes LF_ONEMETHOD and LF_METHOD records), some things still remain unsolved: - mangled names retrieving; - support of template methods. Reviewers: zturner, labath, lemo, stella.stamenova Reviewed by: zturner Differential Revision: https://reviews.llvm.org/D56126 llvm-svn: 352464
* Revert "Make Type::GetByteSize optional (NFC)"Adrian Prantl2019-01-286-82/+62
| | | | | | This reverts commit r352394 because it broke three windows-specific tests. llvm-svn: 352434
* Remove unimplemented functionAdrian Prantl2019-01-281-6/+0
| | | | | | | | Looks like this was an unintended sideeffect of r124250. Differential Revision: https://reviews.llvm.org/D57272 llvm-svn: 352417
* [testsuite] Remove unused seven module imports.Jonas Devlieghere2019-01-283-21/+0
| | | | llvm-svn: 352398
* [testsuite] Remove trailing characters from command output.Jonas Devlieghere2019-01-281-1/+1
| | | | | | | | | | | | When running the test suite on macOS with Python 3 we noticed a difference in behavior between Python 2 and Python 3 for seven.get_command_output. The output contained a newline with Python 3, but not for Python 2. This resulted in an invalid SDK path passed to the compiler. Differential revision: https://reviews.llvm.org/D57275 llvm-svn: 352397
* Make Type::GetByteSize optional (NFC)Adrian Prantl2019-01-286-62/+82
| | | | | | | | This is a continuation of my quest to make the size 0 a supported value. Differential Revision: https://reviews.llvm.org/D57273 llvm-svn: 352394
* [CMake] Add code signing for lldb-server on iOSStefan Granitz2019-01-281-0/+12
| | | | llvm-svn: 352388
* [CMake] Dump LLDB.framework tools at configuration timeStefan Granitz2019-01-281-0/+1
| | | | llvm-svn: 352387
* [CMake] Quick-Fix targets don't exist when building against LLVM ↵Stefan Granitz2019-01-282-4/+11
| | | | | | | | | | install-tree with LLDB_INCLUDE_TESTS=ON The issue came up during release testing for LLVM 8: https://bugs.llvm.org/show_bug.cgi?id=40443 Differential Revision: https://reviews.llvm.org/D57233 llvm-svn: 352382
* [cmake] Fix get_llvm_lit_path() to respect LLVM_EXTERNAL_LIT alwaysMichal Gorny2019-01-281-1/+1
| | | | | | | | | | | | | | | | | | | | | Refactor the get_llvm_lit_path() logic to respect LLVM_EXTERNAL_LIT, and require the fallback to be defined explicitly as LLVM_DEFAULT_EXTERNAL_LIT. This fixes building libcxx standalone after r346888. The old logic was using LLVM_EXTERNAL_LIT both as user-defined cache variable and an optional pre-definition of default value from caller (e.g. libcxx). It included a hack to make this work by assigning the value back and forth but it was fragile and stopped working in libcxx. The new logic is simpler and more transparent. Default value is provided in a separate variable, and used only when user-specified variable is empty (i.e. not overriden). Differential Revision: https://reviews.llvm.org/D57282 llvm-svn: 352374
* [lldb] Update shebang python2 -> pythonJonas Devlieghere2019-01-261-1/+1
| | | | llvm-svn: 352259
* Simplify LangOpts initalization in ClangExpressionParser [NFC]Raphael Isemann2019-01-251-31/+28
| | | | | | | | | | | | Reviewers: davide Reviewed By: davide Subscribers: shafik, davide, lldb-commits Differential Revision: https://reviews.llvm.org/D57222 llvm-svn: 352249
OpenPOWER on IntegriCloud