summaryrefslogtreecommitdiffstats
path: root/lldb
Commit message (Collapse)AuthorAgeFilesLines
...
* [CMake][NFC] Remove dead code lldb_append_link_flags() from AddLLDB.cmakeStefan Granitz2019-07-101-16/+0
| | | | llvm-svn: 365651
* [CMake][NFC] Polish comments in AddLLDB.cmakeStefan Granitz2019-07-101-2/+6
| | | | llvm-svn: 365650
* [CMake] Add Apple-lldb-Linux.cmake cacheStefan Granitz2019-07-101-0/+8
| | | | llvm-svn: 365649
* [CMake] Polish Apple-lldb cachesStefan Granitz2019-07-102-18/+8
| | | | llvm-svn: 365648
* [CMake] `install-distribution` for LLDB on DarwinStefan Granitz2019-07-108-74/+118
| | | | | | | | | | | | | | | | | | | | | Summary: There's a number of requirements for installing LLDB on macOS that are untypical for LLVM projects: use special install-prefix for LLDB.framework, ship headers and tools as framework resources, patch RPATHs, externalize debug-info to dSYM's and strip binaries with `-ST`. For some of it we could use `llvm_externalize_debuginfo()` in the past and just add special cases. However, this complicates the code for all projects and comes with the major drawback, that it adds all these actions at build-time, i.e. dSYM creation and stripping take a lot of time and don't make sense at build-time. LLVM's distribution mechanism (https://llvm.org/docs/BuildingADistribution.html) appears to be the natural candidate to install LLDB. Based on D64399 (enable in standalone builds), this patch integrates framework installation with the distribution mechanism and adds custom stripping flags and dSYM creation at install-time. Unlike the abandoned D61952, it leaves build-tree binaries untouched, so there's no side-effects on testing. Potential install-order issues must be handled externally. Please let me know what you think, while I run a few more tests and add remarks+documentation. Reviewers: xiaobai, compnerd, JDevlieghere, davide, labath, mgorny Reviewed By: xiaobai, JDevlieghere Subscribers: lldb-commits, #lldb Tags: #lldb Differential Revision: https://reviews.llvm.org/D64408 llvm-svn: 365617
* [CMake] Distribution builds for LLDB standaloneStefan Granitz2019-07-103-1/+14
| | | | | | | | | | | | | | | | | | Summary: Enable `distribution` and `install-distribution` targets in LLDB standalone and pre-populate the cache accordingly on macOS. Documentation for distribution builds is here: https://llvm.org/docs/BuildingADistribution.html Reviewers: xiaobai, mgorny, JDevlieghere, davide, compnerd Reviewed By: xiaobai, JDevlieghere Subscribers: lldb-commits, #lldb Tags: #lldb Differential Revision: https://reviews.llvm.org/D64399 llvm-svn: 365616
* [CMake] Remove extra lldb-framework targetStefan Granitz2019-07-102-14/+6
| | | | | | | | | | | | | | | | Summary: The custom lldb-framework target was meant to encapsulate all build steps that LLDB.framework needs on top of the ordinaly liblldb. In the end all of it happens in post-build steps, so we can do the same with liblldb and cut down another source of confusion. Reviewers: xiaobai, JDevlieghere Reviewed By: xiaobai, JDevlieghere Subscribers: mgorny, lldb-commits, #lldb Tags: #lldb Differential Revision: https://reviews.llvm.org/D64397 llvm-svn: 365615
* Revert accidental change to fileAaron Smith2019-07-101-3/+0
| | | | llvm-svn: 365593
* Try again to move common functionality from ProcessWindows into ProcessDebuggerAaron Smith2019-07-106-455/+726
| | | | | | | This reverts commit ed499a36b67cf46cbf66052cfe374c80a595f1c1 and addresses a problem causing a Windows build bot to hang. llvm-svn: 365592
* [lldb] Quick Fix: IRExecutionUnit check pointer before access itAlex Langford2019-07-091-3/+3
| | | | | | | | | | | | Summary: Move checking pointer code block before accessing the pointer This caused lldb to crash when testing on Android Patch by Wanyi Ye! Differential Revision: https://reviews.llvm.org/D64434 llvm-svn: 365567
* [lldb_test_suite] Fix lldb test suite targeting remote AndroidAlex Langford2019-07-093-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Fixed `Android.rules` for running test suite on remote android - the build configuration is not compatible with ndk structure, change it to link to static libc++ - generally clang should be able to use libc++ and will link against the right library, but some libc++ installations require the user manually link libc++abi. - add flag `-lc++abi` to fix the test binary build failure Added `skipIfTargetAndroid` `skipUnlessTargetAndroid` for better test support - the `skipIfPlatform` method will ask `lldbplatformutil.getPlatform()` for platform info which is actually the os type, and //Android// is not os type but environment - create this function to handle the android target condition **To Run Test on Remote Android** 1 start lldb-server on your devices 2 run lldb-dotest with following configuration: `./lldb-dotest --out-of-tree-debugserver --arch aarch64 --platform-name remote-android --platform-url connect://localhost:12345 --platform-working-dir /data/local/tmp/ --compiler your/ndk/clang` Reviewers: xiaobai, labath Reviewed By: labath Subscribers: labath, javed.absar, kristof.beyls, srhines, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D64118 llvm-svn: 365561
* [Docs] Replace SVN revisions with lldb versionsDave Lee2019-07-091-7/+6
| | | | | | | | | | | | | | Summary: Replaces references to svn commits with the lldb version number those commits first appeared in. Themotivation is to show that these features are no longer that new and can generally be adopted. Reviewers: JDevlieghere Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D61778 llvm-svn: 365559
* [lldb, windows] Include WindowsError instead of ErrorHandling in ThreadLauncherStella Stamenova2019-07-091-1/+1
| | | | | | ErrorHandling.h does not include WindowsError.h which is needed for mapWindowsError llvm-svn: 365533
* [lldb-suite] Skip TestMachCore on WindowsStella Stamenova2019-07-091-1/+4
| | | | | | This test was originally marked as expected failure on Windows, but it is timing out instead of outright failing now. The expectedFailure attribute does not correctly track timeouts (as in, they don't count as failures), so now this is causing the test suite to fail. llvm-svn: 365527
* [lldb, windows] Update two more locations that use LaunchThread to the new ↵Stella Stamenova2019-07-092-16/+20
| | | | | | function signature llvm-svn: 365526
* [CMake] Polish a commentStefan Granitz2019-07-091-1/+2
| | | | llvm-svn: 365459
* [CMake] Don't initialize LLVM_INSTALL_TOOLCHAIN_ONLY in Apple-lldb-base cacheStefan Granitz2019-07-091-1/+0
| | | | llvm-svn: 365458
* [CMake] Remove old lldb_setup_framework_rpaths_in_tool()Stefan Granitz2019-07-091-39/+0
| | | | llvm-svn: 365457
* Fix ASCII art headerJonas Devlieghere2019-07-091-2/+1
| | | | llvm-svn: 365421
* [Windows] Include ErrorHandling.hJonas Devlieghere2019-07-091-0/+2
| | | | | | Include ErrorHandling.h for mapWindowsError. llvm-svn: 365420
* [crashlog] Fix a mismatch between bytes and strings.Davide Italiano2019-07-091-1/+1
| | | | | | | | | The functions in read_plist() want bytes as input, not strings. <rdar://problem/52600712> llvm-svn: 365416
* [ThreadLauncher] Use mapWindowsError and LLDB_INVALID_HOST_THREADJonas Devlieghere2019-07-081-4/+2
| | | | | | Address post-commit feedback from Pavel and Jim. llvm-svn: 365403
* [lldb, windows] When StartMonitoring fails, return a proper errorStella Stamenova2019-07-081-7/+8
| | | | | | This is possible now that the function returns an llvm::Expected llvm-svn: 365400
* Remove install-headersJonas Devlieghere2019-07-082-168/+0
| | | | | | | | After discussing this internally, it is my understanding this was used for building LLDB internally at Apple, and is no longer used or necessary. llvm-svn: 365392
* Remove lldb-perfJonas Devlieghere2019-07-0826-4772/+0
| | | | | | | | | As discussed offline, this tool is no longer used or maintained, and doesn't provide the right abstraction for performance tracking in lldb. Differential revision: https://reviews.llvm.org/D64362 llvm-svn: 365391
* [Windows] Convert GetLastError to std::error_codeJonas Devlieghere2019-07-081-2/+4
| | | | | | | Create a std::error_code from the result of GetLastError, which in turn we can use to return an llvm::Error. llvm-svn: 365390
* [lldb] Fix two more issues in Windows following rL365226: Change ↵Stella Stamenova2019-07-082-3/+4
| | | | | | | | LaunchThread interface to return an expected A couple of the function signatures changed and they were not updated in the Windows HostProcess llvm-svn: 365388
* Revert "Move common functionality from processwindows into processdebugger"Stella Stamenova2019-07-085-716/+452
| | | | | | | | This reverts commit 9c01eaff6aa3f59d91530f47b85bb470377a7780. The changes in this commit are causing several of the LLDB tests to hang and/or timeout. llvm-svn: 365371
* [Host] Fix out-of-line definition on WindowsJonas Devlieghere2019-07-082-2/+2
| | | | | | Add missing interface changes after r365295. llvm-svn: 365358
* [Host] Fix out-of-line definition of StartMonitoringChildProcessJonas Devlieghere2019-07-081-1/+1
| | | | llvm-svn: 365344
* [lldb] [test] Update NetBSD XFAILs in test suiteMichal Gorny2019-07-0811-4/+9
| | | | llvm-svn: 365338
* Change LaunchThread interface to return an Expected for non-Apple-non-WindowsFangrui Song2019-07-089-12/+23
| | | | | | Fixes Linux build errors after D64163/r365226 llvm-svn: 365295
* Process: generalise Windows thread setupSaleem Abdulrasool2019-07-071-10/+20
| | | | | | | | The Windows build currently cannot support debugging foreign targets or debugging Windows ARM NT and Windows ARM64 targets. Do not assume a x64/x86 host. This enables building lldb for Windows ARM64. llvm-svn: 365282
* [LLDBAssert] Use unreachable instead of assert(0)Jonas Devlieghere2019-07-051-2/+2
| | | | | | As per Davide's suggestion offline. llvm-svn: 365250
* [lldb] Added assert to VerifyDeclRaphael Isemann2019-07-051-1/+4
| | | | | | | We could VerifyDecl sometimes with a nullptr. It would be nice if we could get an actual assert here instead of triggering UB. llvm-svn: 365247
* lldb_assert: abort when assertions are enabled.Jonas Devlieghere2019-07-051-0/+6
| | | | | | | | | | | | | | | | | | | | We had a long discussion in D59911 about lldb_assert and what it means. The result was the assert manifesto on lldb.llvm.org. > LLDB provides lldb_assert() as a soft alternative to cover the middle > ground of situations that indicate a recoverable bug in LLDB. In a > Debug configuration lldb_assert() behaves like assert(). In a Release > configuration it will print a warning and encourage the user to file a > bug report, similar to LLVM’s crash handler, and then return > execution. However, currently lldb_assert doesn't behave they way it's being described there: it doesn't abort in a debug/assert build. This patch fixes that by adding a call to assert() in lldb_assert(). Differential revision: https://reviews.llvm.org/D64267#1571962 llvm-svn: 365246
* [CplusPlus] ISVTableName is unused. NFCI.Davide Italiano2019-07-055-16/+0
| | | | | | | | | | | | Reviewers: teemperor, JDevlieghere Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D64265 llvm-svn: 365243
* Change LaunchThread interface to return an expected.Jonas Devlieghere2019-07-0512-66/+133
| | | | | | | | | Change the interface to return an expected, instead of taking a Status pointer. Differential revision: https://reviews.llvm.org/D64163 llvm-svn: 365226
* Add assert for 'bad' code path in GetUniqueNamespaceDeclarationRaphael Isemann2019-07-041-1/+2
| | | | | | | | | | | | | | | | | Summary: If we call this function with a non-namespace as a second argument (and a nullptr name), we currently only get a nullptr as a return when we hit the "Bad!!!" code path. This patch just adds an assert as this seems to be a programming error in the calling code. Reviewers: shafik Subscribers: abidh, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D57880 llvm-svn: 365157
* Plugins: permit building on Windows ARM64Saleem Abdulrasool2019-07-041-15/+12
| | | | | | | | | | Rather than relying on `sizeof(void *)` to determine the architecture, use the `CMAKE_SYSTEM_PROCESSOR` variable. This should allow us to build for Windows and cross-compile. Without this, we would attempt to build the x64 plugin on ARM64 which would fail due to the `CONTEXT` type being defined for ARM64 rather than `x64`. llvm-svn: 365155
* Refactor ObjectFile::GetSDKVersionRaphael Isemann2019-07-034-53/+23
| | | | | | | | | | | | | | | | Summary: This patch modernizes the GetSDKVersion API and hopefully prevents problems such as the ones discovered in D61218. Reviewers: aprantl, jasonmolenda, clayborg Reviewed By: aprantl, clayborg Subscribers: clayborg, labath, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D61233 llvm-svn: 365090
* [Docs] Remove stale builderJonas Devlieghere2019-07-031-1/+0
| | | | llvm-svn: 365086
* [Docs] Update documentation build instructions.Jonas Devlieghere2019-07-031-3/+3
| | | | | | | Given that we use Ninja as the build system in the instructions below, we might as well use it to build the documentation as well. llvm-svn: 365083
* Remove code-signing.txt now that it's part of the docsJonas Devlieghere2019-07-031-69/+0
| | | | | | | The file's content is part of the website: https://lldb.llvm.org/resources/build.html llvm-svn: 365082
* [Docs] Unify build instructionsJonas Devlieghere2019-07-031-244/+243
| | | | | | | | | | The current build instructions are structured according the host platform. Instead of having instructions on how to build with CMake repeated for every platform, I unified them, using subsections if things are different for between platforms. I also added the code signing instructions, which were hidden in a text file in the repository. llvm-svn: 365081
* Add plugin.process.gdb-remote.use-libraries-svr4 optionAntonio Afonso2019-07-031-7/+36
| | | | | | | | | | | | | | | | | | | | | Summary: This option allow the toggling of the libraries-svr4 usage in ProcessGDBRemote. It's a follow up of https://reviews.llvm.org/D62503#1564296 and it's meant to test / tweak this new packet with, hopefully, minimum impact and in a faster way. Enable it with `settings set plugin.process.gdb-remote.use-libraries-svr4 true`. For now, by default it's false. I didn't put tests up for this but I did test it manually. Reviewers: labath, jankratochvil Reviewed By: labath Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D64112 llvm-svn: 365059
* [CMake] Avoid libcxxabi dependency when building LLDB from the monorepo on macOSStefan Granitz2019-07-031-0/+3
| | | | | | | | libc++abi became mandatory to link the libc++ binaries. LLDB only needs the build artifacts and not the linked output (we don't ship `libc++.dylib` and/or `libc++.a`). Disable the respective link steps to avoid the dependency to libc++abi. <rdar://problem/51980716> llvm-svn: 365038
* Fix for r364686 - actually set symbol_is_missing_weak...Jim Ingham2019-07-021-2/+3
| | | | | | | | | | This was set in a std::function, but I was shadowing a variable that I thought I was capturing. Even with this bug we were correctly not raising an error and returning an address of 0x0. We were not marking the symbol as weak, but apparently the JIT didn't need that, so the test still passed. llvm-svn: 364980
* Update cmake build setup so lldb doesn't link against the DebugSymbolsJason Molenda2019-07-021-1/+0
| | | | | | | | framework on macOS, in line with the source/xcode project changes in r364243. <rdar://problem/49458356> llvm-svn: 364979
* add symbols/declvendor.cpp.Jason Molenda2019-07-021-0/+4
| | | | llvm-svn: 364976
OpenPOWER on IntegriCloud