-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #2 from byuccl/prepRelease_1_4
Prepare for release 1.4
- Loading branch information
Showing
76 changed files
with
8,121 additions
and
1,555 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
#!/bin/bash | ||
|
||
cd projects/build && cmake .. && make |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
__pycache__ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +0,0 @@ | ||
[submodule "llvm-project"] | ||
path = llvm-project | ||
url = https://github.com/llvm/llvm-project.git | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
language: c | ||
os: linux | ||
|
||
dist: bionic | ||
addons: | ||
apt: | ||
packages: | ||
- clang-7 | ||
- llvm-7 | ||
- libc++-dev | ||
- libc++abi-dev | ||
- gcc-arm-none-eabi | ||
- libnewlib-arm-none-eabi | ||
|
||
git: | ||
submodules: false | ||
|
||
jobs: | ||
include: | ||
- stage: build | ||
name: build | ||
script: | ||
- .github/.travis/build.sh | ||
|
||
- stage: test | ||
name: test_fast | ||
script: | ||
- .github/.travis/build.sh | ||
- make test_fast | ||
|
||
- stage: test | ||
name: test_full | ||
script: | ||
- .github/.travis/build.sh | ||
- make test_full | ||
|
||
- stage: test | ||
name: regression_test | ||
script: | ||
- .github/.travis/build.sh | ||
- make test_regression |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
|
||
build: | ||
cd projects/build && cmake .. && make | ||
|
||
test_fast: | ||
python3 unittest/unittest.py unittest/cfg/fast.yml | ||
|
||
test_full_tmr: | ||
python3 unittest/unittest.py unittest/cfg/full_tmr.yml | ||
|
||
test_full: | ||
python3 unittest/unittest.py unittest/cfg/full.yml | ||
|
||
# runs COAST on the unit tests | ||
test_regression: | ||
python3 unittest/pyDriver.py unittest/cfg/regression.yml | ||
|
||
.PHONY: build |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,21 @@ | ||
# Welcome to the COAST Repository | ||
|
||
[![Build Status](https://travis-ci.com/byuccl/coast.svg?branch=master)](https://travis-ci.com/byuccl/coast) | ||
[![Documentation Status](https://readthedocs.org/projects/coast-compiler/badge/?version=latest)](https://coast-compiler.readthedocs.io/en/latest/?badge=latest) | ||
|
||
|
||
Welcome to the repository for COAST (COmpiler-Assisted Software fault Tolerance), BYU's tool for automated software mitigation! To get started, please refer to our [documentation pages](https://coast-compiler.readthedocs.io/en/latest/). | ||
|
||
|
||
## Dependencies | ||
|
||
See [the build folder](build/README.md) for instructions on installation and dependencies. | ||
|
||
|
||
## Cloning | ||
|
||
If you plan to build LLVM from source, use the following commands to clone this repository: | ||
|
||
``` | ||
git clone --recursive -j2 [email protected]:byuccl/coast-private.git | ||
``` | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,40 @@ | ||
Build LLVM by using CMAKE to create the Makefile: | ||
# Install LLVM | ||
|
||
This project depends on LLVM and `clang` v7.0.0. | ||
|
||
No support is offered for other versions. | ||
|
||
## Option 1: System Packages | ||
|
||
#### Ubuntu 18.04 and up: | ||
|
||
``` | ||
sudo apt install llvm-7 | ||
sudo apt install clang-7 | ||
``` | ||
|
||
#### Other systems: | ||
|
||
Check the package manager for the system you're on. | ||
|
||
## Option 2: Official Releases | ||
|
||
Check the [Official Releases page](https://github.com/llvm/llvm-project/releases) for downloads. | ||
|
||
## Option 3: Build from Source | ||
|
||
Build LLVM and `clang` by using CMAKE to create the Makefile. In this directory, run: | ||
|
||
``` | ||
cmake -G "Unix Makefiles" -DLLVM_ENABLE_PROJECTS=clang -DCMAKE_BUILD_TYPE=Debug -DLLVM_ENABLE_ASSERTIONS=On ../llvm-project/llvm/ | ||
``` | ||
|
||
To build with the RISC-V backend enabled, add the flag `-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=RISCV` | ||
|
||
Then run make. Make sure to do a parallel build, otherwise it will take a long time: | ||
Then run `make`. Make sure to do a parallel build, otherwise it will take a long time: | ||
|
||
``` | ||
make -j4 | ||
``` | ||
|
||
Not enabling debug or assertions will make the compile time faster. However, if you are developing passes, having debug enabled is well worth the wait. | ||
Not enabling debug or assertions will make the compile time faster. However, if you are developing passes, having debug enabled is well worth the wait. In fact, developing passes is probably the only reason you'd want to build from source. Otherwise, just use the package. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
/build | ||
.vscode | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.