summaryrefslogtreecommitdiffstats
path: root/lldb
Commit message (Collapse)AuthorAgeFilesLines
...
* [lldb] [lit] Driver/TestConvenienceVariables.test requires PythonMichal Gorny2019-05-192-1/+5
| | | | | | Differential Revision: https://reviews.llvm.org/D62096 llvm-svn: 361114
* [crashlog] Use loads() instead of readPlistFromString() for python 3.Davide Italiano2019-05-181-1/+7
| | | | | | <rdar://problem/50903413> llvm-svn: 361087
* Revert "Fix IPv6 support on lldb-server platform"Alex Langford2019-05-186-212/+87
| | | | | | | | | | | This reverts commit c28f81797084b8416ff5be4f9e79000a9741ca6a. This reverts commit 7e79b64642486f510f7872174eb831df68d65b84. Looks like there is more work to be done on this patch. I've spoken to the author and for the time being we will revert to keep the buildbots green. llvm-svn: 361086
* Unbreak windows build botAlex Langford2019-05-181-0/+6
| | | | | | | Commit c28f81797084b8416ff5be4f9e79000a9741ca6a (svn r361079) broke the windows buildbot. This should fix it. llvm-svn: 361083
* [CommandInterpreter] Refactor SourceInitFileJonas Devlieghere2019-05-173-89/+117
| | | | | | | | | | | | | | | | | | | | | | I was looking at the current implementation of SourceInitFile and there were a few things that made this function hard to read: * The code to find the ~/.lldbinit file is duplicated across the cwd and non-cwd branch. * The ./.lldbinit is once computed by resolving .lldbinit and once by resolving ./.lldbinit. * It wasn't clear to me what happened when you're sourcing the .lldbinit file in the current working directory. Apparently we do nothing when we property to control that is set to warn (makes sense) and we don't care when the property is set to true (debatable). * There were at least two branches where the status of the CommandReturnObject were not set. This patch attempts to simplify that code. Differential revision: https://reviews.llvm.org/D61994 llvm-svn: 361080
* Fix IPv6 support on lldb-server platformAlex Langford2019-05-176-87/+206
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a general fix for the ConnectionFileDescriptor class but my main motivation was to make lldb-server working with IPv6. The connect URI can use square brackets ([]) to wrap the interface part of the URI (e.g.: <scheme>://[<interface>]:<port>). For IPv6 addresses this is a must since its ip can include colons and it will overlap with the port colon otherwise. The URIParser class parses the square brackets correctly but the ConnectionFileDescriptor doesn't generate them for IPv6 addresses making it impossible to connect to the gdb server when using this protocol. How to reproduce the issue: $ lldb-server p --server --listen [::1]:8080 ... $ lldb (lldb) platform select remote-macosx (lldb) platform connect connect://[::1]:8080 (lldb) platform process -p <pid> error: unable to launch a GDB server on 'computer' The server was actually launched we were just not able to connect to it. With this fix lldb will correctly connect. I fixed this by wrapping the ip portion with []. Differential Revision: https://reviews.llvm.org/D61833 Patch by António Afonso <antonio.afonso@gmail.com> llvm-svn: 361079
* [EditLine] Check string pointers before dereferencing them.Davide Italiano2019-05-171-2/+3
| | | | | | | | | Get*AtIndex() can return nullptr. This only happens in the swift REPL support, so it's hard to test upstream. <rdar://problem/50875178> llvm-svn: 361078
* [CMake] Add first CMake cache filesStefan Granitz2019-05-172-0/+30
| | | | | | | | | | | | | | | | | | | | | | | Summary: CMake cache scripts pre-populate the CMakeCache in a build directory with commonly used settings. The CMake invocation from D61952 could look like this: ``` cmake -G Ninja -C /path/to/llvm-project/lldb/cmake/caches/Apple-lldb-osx.cmake -DLLVM_ENABLE_PROJECTS="clang;libcxx;libcxxabi;lldb" ../llvm-project/llvm ``` Options specified on the command line will override options in the cache files (as long as caches don't use `FORCE`). What do you think? (This is a first proposal and not set in stone.) Reviewers: xiaobai, compnerd, JDevlieghere, aprantl, labath Subscribers: mgorny, lldb-commits, #lldb Tags: #lldb Differential Revision: https://reviews.llvm.org/D61956 llvm-svn: 361069
* [CMake] Inline info plist in lldb driverStefan Granitz2019-05-171-0/+5
| | | | llvm-svn: 361068
* [CommandInterpreter] Fix trailing blanks after `all` or [0-9]+ for btStella Stamenova2019-05-172-5/+5
| | | | | | The change that was committed for this used \\s to match spaces which does not work correctly on all platforms. Using [:space:] makes the test pass on both Linux and Windows llvm-svn: 361064
* Update list of supported architectures.Adrian Prantl2019-05-171-5/+5
| | | | llvm-svn: 361049
* [Docs] Remove SVN checkout from LLDB build stepsJonas Devlieghere2019-05-171-51/+0
| | | | | | | | | | | | | | This removes several older paragraphs in the LLDB build steps for Unix systems which suggested checking out various components via SVN. Since there's a separate page about getting the LLDB source which only mentions Git, it seems appropriate to remove this older info from the build docs. Patch by: J. Ryan Stinnett Differential revision: https://reviews.llvm.org/D62041 llvm-svn: 361046
* minidump: Use MemoryList parsing code from llvmPavel Labath2019-05-173-42/+23
| | | | llvm-svn: 361010
* Make DWARFContext dwo-aware and port debug_info sections overPavel Labath2019-05-179-34/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The previous attempt and moving section handling over to DWARFContext (D59611) failed because it did not take into account the dwo sections correctly. All DWARFContexts (even those in SymbolFileDWARFDwo) used the main module for loading the sections, but in the dwo scenario some sections should come from the dwo file. This patch fixes that by making the DWARFContext aware of whether it a dwo context or a regular one. A dwo context gets two sections lists, and it knows where to look for a particular type of a section. This isn't fully consistent with how the llvm DWARFContext behaves, because that one leaves it up to the user to know whether it should ask for a dwo section or not. However, for the time being, it seems useful to have a single entity which knows how to peice together the debug info in dwo and non-dwo scenarios. The rough roadmap for the future is: - port over the rest of the sections to DWARFContext - find a way to get rid of SymbolFileDWARFDwo/Dwp/DwpDwo. This will likely involve adding the ability for the DWARFContext to spawn dwo sub-contexts, similarly to how it's done in llvm. - get rid of the special handling of the "dwo" contexts by making sure everything knows whether it should ask for the .dwo version of the section or not (similarly to how llvm's DWARFUnits do that) To demonstrate how the DWARFContext should behave in this new world, I port the debug_info section (which is debug_info.dwo in the dwo file) handling to DWARFContext. The rest of the sections will come in subsequent patches. Reviewers: aprantl, clayborg, JDevlieghere Subscribers: zturner, lldb-commits Differential Revision: https://reviews.llvm.org/D62012 llvm-svn: 361000
* [Docs] Fix headings in remote debuggingJonas Devlieghere2019-05-171-8/+18
| | | | | | | Add the proper headings instead of using just a bold font. Also add the local ToC. llvm-svn: 360971
* [Docs] Remove architectures from feature matrixJonas Devlieghere2019-05-171-24/+23
| | | | | | | This is outdated, there's a bunch of architectures missing. If we want them to be part of this table they should be a separate row anyway. llvm-svn: 360967
* [CommandInterpreter] Accept blanks after `all` or [0-9]+ for bt.Davide Italiano2019-05-172-4/+16
| | | | | | | | | | | Previously "bt all " would've failed as the regex didn't match them. Over the shoulder review by Jonas Devlieghere. <rdar://problem/50824935> llvm-svn: 360966
* [Docs] Unify sidebar paddingJonas Devlieghere2019-05-171-4/+3
| | | | | | Unify the padding across list items and the list header. llvm-svn: 360964
* Slightly update the macOS part of status.rst to be less out-of-date.Adrian Prantl2019-05-161-4/+5
| | | | llvm-svn: 360956
* [Target] Stop linking against lldbPluginObjCLanguageAlex Langford2019-05-162-2/+1
| | | | llvm-svn: 360945
* Factor out switch statement into a helper function (NFC)Adrian Prantl2019-05-163-10/+25
| | | | | | This addresses post-commit review feedback for https://reviews.llvm.org/D62015. llvm-svn: 360930
* Make sure GetObjectDescription falls back to the Objective-C runtime.Adrian Prantl2019-05-164-27/+71
| | | | | | | | | | | | | This fixes an unintended regression introduced by https://reviews.llvm.org/D61451 by making sure the Objective-C runtime is also tried when the "correct" language runtime failed to return an object description. rdar://problem/50791055 Differential Revision: https://reviews.llvm.org/D62015 llvm-svn: 360929
* [IRExecutionUnit] Remove static_assertJonas Devlieghere2019-05-161-2/+0
| | | | | | This doesn't make sense on platforms other than 64 bit. llvm-svn: 360916
* DWARFContext: Return empty data extractors instead of null pointersPavel Labath2019-05-165-27/+86
| | | | | | | | | | | | | | | | | | | | | | | Summary: There are several reasons for doing this: - generally, there's no reason to differentiate between a section being absent and it being present, but empty - it matches more closely what llvm DWARF parser is doing (which also doesn't differentiate the two cases) - SymbolFileDWARF also doesn't differentiate the two cases, which makes porting the rest of sections easier - it fixes a bug in how the return-null-if-empty logic was implemented (it returned nullptr only the second time we tried to get the debug_aranges section), which meant that we hit an assert when trying to parse an empty-but-present section Reviewers: JDevlieghere, clayborg, aprantl Subscribers: zturner, lldb-commits Differential Revision: https://reviews.llvm.org/D61942 llvm-svn: 360874
* DWARF: Add ability to reference debug info coming from multiple sectionsPavel Labath2019-05-1618-58/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch adds the ability to precisely address debug info in situations when a single file can have more than one debug-info-bearing sections (as is the case with type units in DWARF v4). The changes here can be classified into roughly three categories: - the code which addresses a debug info by offset gets an additional argument, which specifies the section one should look into. - the DIERef class also gets an additional member variable specifying the section. This way, code dealing with DIERefs can know which section is the object referring to. - the user_id_t encoding steals one bit from the dwarf_id field to store the section. This means the total number of separate object files (apple .o, or normal .dwo) is limited to 2 billion, but that is fine as it's not possible to hit that number without switching to DWARF64 anyway. This patch is functionally equivalent to (and inspired by) the two patches (D61503 and D61504) by Jan Kratochvil, but there are differences in the implementation: - it uses an enum instead of a bool flag to differentiate the sections - it increases the size of DIERef struct instead of reducing the amount of addressable debug info - it sets up DWARFDebugInfo to store the units in a single vector instead of two. This sets us up for the future in which type units can also live in the debug_info section, and I believe it's cleaner because there's no need for unit index remapping There are no tests with this patch as this is essentially NFC until we start parsing type units from the debug_types section. Reviewers: JDevlieghere, clayborg, aprantl Subscribers: arphaman, jankratochvil, lldb-commits Differential Revision: https://reviews.llvm.org/D61908 llvm-svn: 360872
* Simplify Triple::ppc64{,le} checks with Triple::isPPC64()Fangrui Song2019-05-165-25/+14
| | | | | | | | | | While here, update some ppc64le specific check to isPPC64(), if it applies to big-endian as well, in the hope that it will ease the support of big-endian if people are interested in this area. The big-endian variant is used by at least FreeBSD, Gentoo Linux, Adélie Linux, and Void Linux. llvm-svn: 360868
* Simplify ArchSpec::IsMIPS()Fangrui Song2019-05-1610-66/+15
| | | | llvm-svn: 360865
* Update LLDB license on the LLDB home page to Apache+LLVM.Adrian Prantl2019-05-151-3/+4
| | | | llvm-svn: 360822
* Get back the navigation sidebar on the LLDB website.Adrian Prantl2019-05-156-116/+177
| | | | | | | | | This returns the look & feel of the Sphinx-generated LLDB website to the original pre-Sphinx layout. Differential Revision: https://reviews.llvm.org/D61913 llvm-svn: 360819
* [lldb] [test] Skip one more TestMiBreak on NetBSDMichal Gorny2019-05-151-1/+1
| | | | llvm-svn: 360800
* Permit cross-CU referencesJan Kratochvil2019-05-1513-131/+110
| | | | | | | | | | | | | | So far dw_offset_t was global for the whole SymbolFileDWARF but with .debug_types the same dw_offset_t may mean two different things depending on its section (=CU). So references now return whole new referenced DWARFDIE instead of just dw_offset_t. This means that some functions have to now handle 16 bytes instead of 8 bytes but I do not see that anywhere performance critical. Differential Revision: https://reviews.llvm.org/D61502 llvm-svn: 360795
* [lldb] [test] Mark frequently failing flaky tests skipped on NetBSDMichal Gorny2019-05-154-4/+6
| | | | llvm-svn: 360767
* Delete unnecessary copy ctors/copy assignment operatorsFangrui Song2019-05-1530-202/+3
| | | | | | It's the simplest and gives the cleanest semantics. llvm-svn: 360762
* [lldb] [lit] Pass --mode=compile to fix compiler-full-path.testMichal Gorny2019-05-151-4/+5
| | | | | | | | | Pass '--mode=compile' to fix compiler-full-path.test failure on NetBSD buildbot (apparently due to lack of 'link' executable). Fixes r360355. Acked by Pavel Labath. llvm-svn: 360761
* [ASTImporter] Use llvm::Expected and Error in the importer APIGabor Marton2019-05-155-43/+106
| | | | | | | | | | | | | | | | | | | | | | Summary: This is the final phase of the refactoring towards using llvm::Expected and llvm::Error in the ASTImporter API. This involves the following: - remove old Import functions which returned with a pointer, - use the Import_New functions (which return with Err or Expected) everywhere and handle their return value - rename Import_New functions to Import This affects both Clang and LLDB. Reviewers: shafik, teemperor, aprantl, a_sidorin, balazske, a.sidorin Subscribers: rnkovacs, dkrupp, Szelethus, gamesh411, cfe-commits, lldb-commits Tags: #clang, #lldb Differential Revision: https://reviews.llvm.org/D61438 llvm-svn: 360760
* Group forward declarations in one namespace lldb_private {}Fangrui Song2019-05-1544-392/+15
| | | | llvm-svn: 360757
* [CMake] Add error to clarify that lldb requires libcxxStefan Granitz2019-05-152-0/+24
| | | | | | | | | | | | | | | | | | | | | Summary: This adds a specific error message to clarify that lldb requires libcxx when built together with clang on macOS. In addition, the lldb building docs are also updated. Fixes https://bugs.llvm.org/show_bug.cgi?id=41866 Reviewers: sgraenitz, JDevlieghere, EricWF Reviewed By: sgraenitz Subscribers: mgorny, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D61877 llvm-svn: 360756
* DWARF: s/CompileUnit/Unit/ in DWARFFormValuePavel Labath2019-05-155-59/+51
| | | | | | | | The class has been converted to use DWARFUnit, but a number of uses of the words compile unit remained. This removes all such references Get/SetCompileUnit becomes Get/SetUnit, and m_cu becomes m_unit. llvm-svn: 360754
* Replace assert with static_assert here applicable.Jonas Devlieghere2019-05-155-11/+12
| | | | | | | Replaces assert() with static_assert() if the condition is can be evaluated at compile time. llvm-svn: 360753
* Mark private unimplemented functions as deletedJonas Devlieghere2019-05-1515-33/+27
| | | | | | | Applies modernize-use-equals-delete to the LLDB code base and removes the now redundant comments. llvm-svn: 360751
* [Docs] Document lldb-dotestJonas Devlieghere2019-05-151-13/+35
| | | | | | Document the lldb-dotest binary. llvm-svn: 360748
* Revert "build: use the correct variable"Saleem Abdulrasool2019-05-151-1/+1
| | | | | | | | This reverts commit b5a8abd57f23e2f621d5ceb0f64f1bb8f9579c3f. This should not be needed as the lldb-server tool will add `LLDB_CAN_USE_LLDB_SERVER` which will never be set to true on Windows. llvm-svn: 360745
* [lldb] [lit] Fix whitespace in matches for remaining AVX512 testsMichal Gorny2019-05-153-40/+40
| | | | llvm-svn: 360744
* [Target] Generalize some behavior in ThreadAlex Langford2019-05-153-16/+27
| | | | | | | | | | Summary: I don't think there's a good reason for this behavior to be considered ObjC-specific. We can generalize this. Differential Revision: https://reviews.llvm.org/D61776 llvm-svn: 360741
* Make SBDebugger.RunCommandInterpreter callable from Python.Jim Ingham2019-05-152-0/+64
| | | | | | | | Authored by: Lukas Boger Differential Revision: https://reviews.llvm.org/D61602 llvm-svn: 360730
* [lit/Register] Fix matching of the output.Davide Italiano2019-05-141-32/+32
| | | | llvm-svn: 360725
* build: use the correct variableSaleem Abdulrasool2019-05-141-1/+1
| | | | | | | Adjust the variable that controls whether the unit tests use `lldb-server`. This should repair the default build on Windows. llvm-svn: 360695
* lldb-server: rename `llgs::terminate` (NFC)Saleem Abdulrasool2019-05-141-3/+3
| | | | | | | | | | | | | | | | | | | | `terminate` overlaps with a C function on Windows: ``` D:\a\1\s\lldb\tools\lldb-server\lldb-server.cpp(45,13): warning: 'terminate' redeclared without 'dllimport' attribute: 'dllexport' attribute added [-Winconsistent-dllimport] static void terminate() { g_debugger_lifetime->Terminate(); } ^ C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt\corecrt_terminate.h(29,48): note: previous declaration is here _ACRTIMP __declspec(noreturn) void __cdecl terminate() throw(); ^ D:\a\1\s\lldb\tools\lldb-server\lldb-server.cpp(45,61): warning: function declared 'noreturn' should not return [-Winvalid-noreturn] static void terminate() { g_debugger_lifetime->Terminate(); } ^ ``` Rename the function to `terminate_debugger` to avoid the errant match. llvm-svn: 360693
* Rename MacOS X -> macOS where applicable.Adrian Prantl2019-05-1412-31/+30
| | | | llvm-svn: 360691
* DWARF/NFC: Centralize DIERef conversionsPavel Labath2019-05-143-40/+24
| | | | | | | | | | | | | apple and manual indexing code were creating a DIERef in a bunch of places. Though the code itself is not much, it is also easy to simplify by factoring out the DIERef creation. In HashedNameToDIE I create a conversion operator from DIEInfo to DIERef, and in ManualDWARFIndex I just create the DIERef in a global variable up-front. This also reduces the diff in follow-up patches which change how DIERefs are constructed. llvm-svn: 360669
OpenPOWER on IntegriCloud