summaryrefslogtreecommitdiffstats
path: root/lldb
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix typo in ClangModulesDeclVendor [NFC]Raphael Isemann2019-01-251-1/+1
| | | | llvm-svn: 352180
* Refactor HAVE_LIBCOMPRESSION and related code in GDBRemoteCommunicationRaphael Isemann2019-01-253-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | Summary: The field `m_decompression_scratch_type` is only used when `HAVE_LIBCOMPRESSION` is defined, which caused a warning which I fixed in rLLDB350675 by just marking the variable as always used. This patch fixes this in a better way by only defining the variable (and the related `m_decompression_scratch` variable) when `HAVE_LIBCOMPRESSION` is defined. This also required changing the way we handle `HAVE_LIBCOMPRESSION` works, as this was previously always defined on macOS within the source file but not in the header. Now it's always defined from within our config header when CMake defines it or when we are on macOS. The field initialization was moved to the header to prevent that we have `#ifdef` within our initializer list. Reviewers: #lldb, jasonmolenda, sgraenitz, labath Reviewed By: labath Subscribers: labath, beanz, mgorny, lldb-commits, dblaikie Differential Revision: https://reviews.llvm.org/D57011 llvm-svn: 352175
* Define the _fltused symbol in one lldb test as well, post-r352076.James Y Knight2019-01-251-0/+4
| | | | llvm-svn: 352159
* Remove a warning in DynamicLoaderDarwin::UpdateImageLoadAddressJason Molenda2019-01-251-9/+1
| | | | | | | | | | | | | | when the binary loaded in memory has a section that we cannot find in the on-disk version. I added this warning out of an overabundance of caution originally, but I've never seen an instance of it being hit in the past few years, and there are some changes for the shared cache on darwin systems where a segment is added when the shared cache is constructed so we're now hitting this warning. I've decided to remove it altogether. <rdar://problem/46889346> llvm-svn: 352158
* Add UUID::SetFromOptionalStringRef, use it in DynamicLoaderDarwinJim Ingham2019-01-244-1/+25
| | | | | | | | | | | We use UUID::fromOptionalData to read UUID's from the Mach-O files, so UUID's of all 0's are invalid UUID's. We also get uuid's from debugserver, which need to match the file UUID's. So we need an API that treats "000000000" as invalid as well. Added that and use it. Differential Revision: https://reviews.llvm.org/D57195 llvm-svn: 352122
* [Process/NetBSD] Add missing linkage to -lutilMichal Gorny2019-01-241-0/+1
| | | | | | | | | | | | Add missing linkage to fix build failure with LLD: ld: error: undefined symbol: kinfo_getvmmap >>> referenced by NativeProcessNetBSD.cpp >>> NativeProcessNetBSD.cpp.o:(lldb_private::process_netbsd::NativeProcessNetBSD::PopulateMemoryRegionCache()) in archive lib/liblldbPluginProcessNetBSD.a Differential Revision: https://reviews.llvm.org/D57193 llvm-svn: 352116
* Add unittests to the Xcode gtest target.Jim Ingham2019-01-241-1/+57
| | | | | | | | A handful of test files had been added to lldb, but not to the appropriate target in the Xcode project. So they weren't being run in the Xcode gtest run. Add them here. llvm-svn: 352114
* Remove NO_DEBUGINFO_TESTCASE from testcase.Adrian Prantl2019-01-241-5/+0
| | | | | | | | This makes it easier to exclude the test n bots that test earlier DWARF formats, also it feels like this is the better decision for this testcase anyway. llvm-svn: 352111
* [Scalar] Clarify the constructor from APInt and document through a test.Davide Italiano2019-01-242-20/+25
| | | | | | | | | | | | I want to add 512-bits support but I first want to make sure I'm not breaking anything obvious. This is the first of a series of commit adding tests. The first oddity found is that Scalar from APInt(s) always constructed signed. Maybe at some point we want to revisit this, but at least now we have a test to document how the API behaves. <rdar://problem/46886288> llvm-svn: 352103
* Only check the dwarf version when using the dwarf categoryAdrian Prantl2019-01-242-4/+6
| | | | llvm-svn: 352094
* Unbreak windows botsAdrian Prantl2019-01-241-9/+10
| | | | llvm-svn: 352086
* [CMake] Remove duplicated cache variable. NFC.Alex Langford2019-01-241-2/+0
| | | | llvm-svn: 352078
* Rename test directoryAdrian Prantl2019-01-243-0/+0
| | | | llvm-svn: 352073
* Add decorator support for the DWARF version produced by the compilerAdrian Prantl2019-01-247-6/+35
| | | | | | | and mark up some tests failing in http://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake-matrix/ llvm-svn: 352072
* [CMake] Get back some variables used in AddLLVM.cmakeStefan Granitz2019-01-241-0/+5
| | | | | | This fixes 'gtest/gtest.h' file not found when building unit tests after r351863. llvm-svn: 352058
* Fix potential ODR vialation.Haojian Wu2019-01-241-1/+1
| | | | llvm-svn: 352035
* BreakpadRecords: Address post-commit feedbackPavel Labath2019-01-244-69/+55
| | | | | | | | | | | | | | | Summary: This addresses the issues raised in D56844. It removes the accessors from the breakpad record structures by making the fields public. Also, I refactor the UUID parsing code to remove hard-coded constants. Reviewers: lemo Subscribers: clayborg, lldb-commits Differential Revision: https://reviews.llvm.org/D57037 llvm-svn: 352021
* Skip test on clang <8 instead of 7Adrian Prantl2019-01-241-1/+1
| | | | llvm-svn: 352009
* Revert "[dotest] Add logging to investigate CI issue."Jonas Devlieghere2019-01-231-6/+1
| | | | | | | We figured out the issue so the logging is no longer necessary. It turns out we were using a session format that was not unique for inline tests. llvm-svn: 351902
* [CMake] Fix two details from r351863Stefan Granitz2019-01-221-3/+3
| | | | llvm-svn: 351879
* [CMake] Replace use of llvm-config with LLVM and Clang CMake packagesAlex Langford2019-01-221-77/+20
| | | | | | | | | | | | | | | | | | | | Summary: I did this for two reasons: - Using the CMake packages simplifies building LLDB Standalone. This is for two reasons: 1) We were doing a decent amount of work that is already done in the LLVMConfig.cmake that we want to import, 2) We had to do some manual work to call llvm-config, parse its output, and populate variables that the build system uses. - As far as I understand, using llvm-config makes it difficult if not impossible to cross-compile LLDB standalone. Reviewers: sgraenitz, labath, zturner, JDevlieghere, davide, aprantl, stella.stamenova Subscribers: mgorny, lldb-commits Differential Revision: https://reviews.llvm.org/D56531 llvm-svn: 351863
* [CMake] Turn LLDB_FRAMEWORK_TOOLS into STRING to allow overrides from cache ↵Stefan Granitz2019-01-221-1/+1
| | | | | | files llvm-svn: 351830
* breakpad: Add FUNC records to the symtabPavel Labath2019-01-226-41/+135
| | | | | | | | | | | | | | | | | | | | This patch extends SymbolFileBreakpad::AddSymbols to include the symbols from the FUNC records too. These symbols come from the debug info and have a size associated with them, so they are given preference in case there is a PUBLIC record for the same address. To achieve this, I first pre-process the symbols into a temporary DenseMap, and then insert the uniqued symbols into the module's symtab. Reviewers: clayborg, lemo, zturner Reviewed By: clayborg Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D56590 llvm-svn: 351781
* [Test] Fix up tests affected by the new LLVM header.Jonas Devlieghere2019-01-227-16/+16
| | | | | | | | | The new LLVM header is one line shorter than the old one, which lead to some test failures. Ideally tests should rely on line numbers for breakpoints or output, but that's a different discussion. Hopefully this turns the bots green again. llvm-svn: 351779
* Fix test after AST dump output changeStephen Kelly2019-01-211-1/+1
| | | | llvm-svn: 351760
* Fix test after AST dump output changeStephen Kelly2019-01-211-1/+1
| | | | llvm-svn: 351733
* Fix typos throughout the license files that somehow I and my reviewersChandler Carruth2019-01-211-1/+1
| | | | | | | | | | | all missed! Thanks to Alex Bradbury for pointing this out, and the fact that I never added the intended `legacy` anchor to the developer policy. Add that anchor too. With hope, this will cause the links to all resolve successfully. llvm-svn: 351731
* Fix test after AST dump output changeStephen Kelly2019-01-201-1/+1
| | | | llvm-svn: 351707
* Try to port tests to AST dump changesStephen Kelly2019-01-205-13/+10
| | | | llvm-svn: 351703
* Fix order of arguments in an lldb type summary in examplesNathan Lanza2019-01-191-1/+1
| | | | | | | | | | The format for the -w argument is: -w name ( --category name ) Rearrange the flags correctly. llvm-svn: 351664
* Update the file headers across all of the LLVM projects in the monorepoChandler Carruth2019-01-192508-10008/+7524
| | | | | | | | | | | | | | | | | to reflect the new license. We understand that people may be surprised that we're moving the header entirely to discuss the new license. We checked this carefully with the Foundation's lawyer and we believe this is the correct approach. Essentially, all code in the project is now made available by the LLVM project under our new license, so you will see that the license headers include that license only. Some of our contributors have contributed code under our old license, and accordingly, we have retained a copy of our old license notice in the top-level files in each project and repository. llvm-svn: 351636
* Install new LLVM license structure and new developer policy.Chandler Carruth2019-01-191-0/+238
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This installs the new developer policy and moves all of the license files across all LLVM projects in the monorepo to the new license structure. The remaining projects will be moved independently. Note that I've left odd formatting and other idiosyncracies of the legacy license structure text alone to make the diff easier to read. Critically, note that we do not in any case *remove* the old license notice or terms, as that remains necessary until we finish the relicensing process. I've updated a few license files that refer to the LLVM license to instead simply refer generically to whatever license the LLVM project is under, basically trying to minimize confusion. This is really the culmination of so many people. Chris led the community discussions, drafted the policy update and organized the multi-year string of meeting between lawyers across the community to figure out the strategy. Numerous lawyers at companies in the community spent their time figuring out initial answers, and then the Foundation's lawyer Heather Meeker has done *so* much to help refine and get us ready here. I could keep going on, but I just want to make sure everyone realizes what a huge community effort this has been from the begining. Differential Revision: https://reviews.llvm.org/D56897 llvm-svn: 351631
* [dotest] Add logging to investigate CI issue.Jonas Devlieghere2019-01-181-1/+6
| | | | | | | | | | | | We're seeing an odd issue on GreenDragon's lldb-cmake-matrix. Dotest is unable to move a log file (OSError: [Errno 2] No such file or directory). The os.rename call is guarded with a check that the source file and destination directory exist. This wraps the call in a try-except that prints the source and destination path to see which component seemingly doesn't exist. llvm-svn: 351611
* Add BreakpadRecords to the Xcode project.Jim Ingham2019-01-181-0/+6
| | | | llvm-svn: 351585
* Make sure to fill in the compiler register number so when we try to ↵Greg Clayton2019-01-182-15/+17
| | | | | | | | backtrace using EH frame, it works. Prior to this, backtraces could fail due to not being able to convert a EH frame register number to LLDB register number. llvm-svn: 351564
* Breakpad: Extract parsing code into a separate filePavel Labath2019-01-189-181/+466
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: This centralizes parsing of breakpad records, which was previously spread out over ObjectFileBreakpad and SymbolFileBreakpad. For each record type X there is a separate breakpad::XRecord class, and an associated parse function. The classes just store the information in the breakpad records in a more accessible form. It is up to the users to determine what to do with that data. This separation also made it possible to write some targeted tests for the parsing code, which was previously unaccessible, so I write a couple of those too. Reviewers: clayborg, lemo, zturner Reviewed By: clayborg Subscribers: mgorny, fedor.sergeev, lldb-commits Differential Revision: https://reviews.llvm.org/D56844 llvm-svn: 351541
* [Reproducers] Fix reproducers unittest.Jonas Devlieghere2019-01-181-11/+10
| | | | | | Fix fallout from r351501 in the reproducer unittest. llvm-svn: 351524
* Use llvm::VersionTuple instead of manual version marshallingBrad Smith2019-01-182-6/+8
| | | | llvm-svn: 351504
* [Reproducers] Refactor reproducer infoJonas Devlieghere2019-01-183-56/+43
| | | | | | | | | | | | | | | | | | | | | In the original reproducer design, I expected providers to be more dynamic than they turned out. For example, we don't have any instances where one provider has multiple files. Additionally, I expected there to be less locality between capture and replay, with the provider being defined in one place and the replay code to live in another. Both contributed to the design of the provider info. This patch refactors the reproducer info to be something static. This means less magic strings and better type checking. The new design still allows for the capture and replay code to live in different places as long as they both have access to the new statically defined info class. I didn't completely get rid of the index, because it is useful for (1) sanity checking and (2) knowing what files are used by the reproducer. Differential revision: https://reviews.llvm.org/D56814 llvm-svn: 351501
* [CMake] Only test debugserver if platform can use debugserverAlex Langford2019-01-181-1/+1
| | | | | | | | | | | | In commit svn r351496 I changed this condition from `if(LLDB_CAN_USE_DEBUGSERVER)` to `if(NOT SKIP_TEST_DEBUGSERVER)`. This causes debugserver tests to run on windows, which shouldn't happen. SKIP_TEST_DEBUGSERVER is set either by the user (it shouldn't be set on windows builds) or in the debugserver CMake logic (which doesn't get included when building on windows). Therefore, I changed the condition to be `if(LLDB_CAN_USE_DEBUGSERVER AND NOT SKIP_TEST_DEBUGSERVER)`. llvm-svn: 351498
* [lit] Fix lldbtest formatJonas Devlieghere2019-01-171-2/+5
| | | | | | | The lldbtest format was incorrectly detecting XFAIL as FAIL because it was looking for the `FAIL:` substring in the dotest output. llvm-svn: 351497
* [CMake] Prevent lldbDebugserverCommon from building if you disable ↵Alex Langford2019-01-172-86/+85
| | | | | | | | | | | | | | | | | | | | debugserver builds Summary: The flags `LLDB_USE_SYSTEM_DEBUGSERVER` and `LLDB_NO_DEBUGSERVER` were introduced to the debugserver build. If one of these two flags are set, then we do not build and sign debugserver. However I noticed that we were still building the lldbDebugserverCommon and lldbDebugserverCommon_NonUI libraries regardless of whether or not these flags were set. I don't believe we should be building these libraries unless we are building and signing debugserver. Reviewers: sgraenitz, davide, JDevlieghere, beanz, vsk, aprantl, labath Subscribers: mgorny, jfb, lldb-commits Differential Revision: https://reviews.llvm.org/D56763 llvm-svn: 351496
* Don't run TestBreakpointThumbCodesection.py on darwin systems;Jason Molenda2019-01-172-1/+4
| | | | | | | | | we don't use a thumb code section. Don't run Test128BitsInteger.py on armv7k; it's not a supported type on that target. llvm-svn: 351490
* [CMake] Fix lldb-test-depends targetJonas Devlieghere2019-01-172-1/+2
| | | | | | | | The lldb-test-depends target was using the old CMake variable name LLDB_TEST_DEPENDS instead of LLDB_TEST_DEPS. This patch moves the target definition and makes it use the correct one. llvm-svn: 351489
* [lit] Make sure tests are actually skipped on darwin and windows.Davide Italiano2019-01-1710-10/+10
| | | | llvm-svn: 351486
* Recommit "Teach the default symbol vendor to respect ↵Pavel Labath2019-01-174-5/+85
| | | | | | | | | | | | | | module.GetSymbolFileFileSpec()" This reapplies commit r351330, which was reverted due to a failing test on macos. The failure was because the SymbolVendor used on MacOS was stricter than the default (or ELF) symbol vendor, and rejected the symbol file because it's UUID did not match the object file. This version of the patch adds a uuid load command to the test macho file to make sure the UUIDs match. llvm-svn: 351447
* Recommit "Add a verbose mode to "image dump line-table" and use it to write ↵Pavel Labath2019-01-172-4/+119
| | | | | | | | | | | a .debug_line test" This reapplies r350802, which was reverted because of issues with parsing posix-style paths on windows hosts (and vice-versa). These have since been fixed in r351328, and lldb should now recognise the path style used in a dwarf compile unit correctly. llvm-svn: 351435
* XFAIL test on WindowsAdrian Prantl2019-01-161-1/+2
| | | | | | http://lab.llvm.org:8011/builders/lldb-x64-windows-ninja/builds/677/steps/test/logs/stdio llvm-svn: 351385
* Change TypeSystem::GetBitSize() to return an optional result.Adrian Prantl2019-01-169-34/+86
| | | | | | | | | | | | This patch changes the behavior when printing C++ function references: where we previously would get a <could not determine size>, there is now a <no summary available>. It's not clear to me whether this is a bug or an omission, but it's one step further than LLDB previously got. Differential Revision: https://reviews.llvm.org/D56798 llvm-svn: 351376
* Fix dir-separator-no-comp-dir-relative-name.s test added in r351328Pavel Labath2019-01-161-6/+7
| | | | | | | | | In this test we have deliberately removed all information which may hint at the correct path style, so we cannot assert that lldb uses a particular style. Instead, we should just check that it does something vaguely reasonable. llvm-svn: 351359
OpenPOWER on IntegriCloud