tag | 860e5267842773a04c252ae29f8d41cd0fb0165f | |
---|---|---|
tagger | Swift Automation <swift_jenkins@apple.com> | Tue Nov 15 20:08:59 2016 -0600 |
object | 85e9e3cafb8cd2c58e1197510f48ac13e92fbde3 |
Tag build swift-DEVELOPMENT-SNAPSHOT-2016-11-15-a
commit | 85e9e3cafb8cd2c58e1197510f48ac13e92fbde3 | [log] [tgz] |
---|---|---|
author | Pavel Labath <labath@google.com> | Mon Oct 24 14:57:50 2016 +0000 |
committer | Jason Molenda <jmolenda@apple.com> | Mon Nov 14 20:09:16 2016 -0800 |
tree | 870e523d629fc53faacefa34b1e84d6eb4b89f03 | |
parent | 69ab86986f6965f43fae18af2d61f96cba7ded82 [diff] |
Fix arm64 sub-register definitions The "value regs" field was filled incorrectly. It is supposed to list the registers that *this* register is a sub-register of, not the other way around. This manifested itself in "register read" showing only the smaller sub-registers (and a bunch of tests not passing). I am not sure if the "invalidates" field is correct either, but it's usage seems to be inconsistent, so I'll leave that as-is for now. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@284981 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit a1e6708fa6f1b47afe62e607ac944345388ee6b2)
Status | |
---|---|
macOS | |
Ubuntu 14.04 | |
Ubuntu 15.10 |
Welcome to the Swift Debugger and REPL!
Swift is a new, high performance systems programming language. It has a clean and modern syntax, offers seamless access to existing C and Objective-C code and frameworks, and is memory safe (by default).
This repository covers the Swift Debugger and REPL support, built on top of the LLDB Debugger.
To build LLDB for Swift, you must have the following prerequisites installed on your development system:
OS X Requirements
OS X 10.11 (El Capitan) or later.
Xcode 7.2 Beta 4 or later.
Cmake (version 2.8.12.2 or later)
Linux x86_64 (Ubuntu 14.04, Ubuntu 15.10)
Clang 3.5 or later.
Cmake (version 2.8.12.2 or later)
Python 2.7
Once the pre-requisites are satisfied, follow these steps from a bash-like shell:
mkdir myswift cd myswift git clone https://github.com/apple/swift-lldb.git lldb lldb/scripts/build-swift-cmake.py --test
The lldb build script will clone additional repositories for required dependencies if they are not already present. An optional --update
argument can be used to refresh these required repositories. Products of the build process will be placed in the build/
directory under the root source directory.
LLDB for Swift introduces new dependencies that do not exist with core LLDB. In particular, LLDB for Swift makes extensive use of the Swift codebase.
Each one of the directories listed below underneath the overall source_root are backed by a Swift.org repository:
. +-- clang/ | +-- cmark/ | +-- lldb/ | +-- llvm/ | +-- ninja/ | +-- swift/
Details on the contents:
clang
Contains the stable version of Clang used by Swift.
cmark
Contains markdown support used by Swift.
lldb
Contains the LLDB source that includes Swift support. All of LLDB for Swift is contained in this repository. Core LLDB contents are merged into this repository. No other copy of LLDB source code is required.
llvm
Contains the stable version of LLVM used by Swift.
ninja
Contains the Ninja build system.
swift
Contains the Swift Language and Swift Runtime code.
Note: If you don‘t use the build-swift-cmake.py script to do the initial clone of the related project repositories, you’ll need to manually clone them to the names above:
clang
cmark
llvm
The swift-lldb project enhances the core LLDB project developed under the LLVM Project. Swift support in the debugger is added via the existing source-level plugin infrastructure, isolated to files that are newly introduced in the lldb-swift repository.
Files that come from the core LLDB project can be readily identified by their use of the LLVM comment header. As no local changes should be made to any of these files, follow the standard guidance for upstream changes.