Skip to content

Commit 9fde348

Browse files
author
Sebastian Poeplau
committed
Add license headers and a license file
1 parent 123cce8 commit 9fde348

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+1375
-7
lines changed

CMakeLists.txt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
# This file is part of SymCC.
2+
#
3+
# SymCC is free software: you can redistribute it and/or modify it under the
4+
# terms of the GNU General Public License as published by the Free Software
5+
# Foundation, either version 3 of the License, or (at your option) any later
6+
# version.
7+
#
8+
# SymCC is distributed in the hope that it will be useful, but WITHOUT ANY
9+
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
10+
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
11+
#
12+
# You should have received a copy of the GNU General Public License along with
13+
# SymCC. If not, see <https://www.gnu.org/licenses/>.
14+
115
cmake_minimum_required(VERSION 3.5)
216
project(SymbolicCompiler)
317

Dockerfile

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
# This file is part of SymCC.
2+
#
3+
# SymCC is free software: you can redistribute it and/or modify it under the
4+
# terms of the GNU General Public License as published by the Free Software
5+
# Foundation, either version 3 of the License, or (at your option) any later
6+
# version.
7+
#
8+
# SymCC is distributed in the hope that it will be useful, but WITHOUT ANY
9+
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
10+
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
11+
#
12+
# You should have received a copy of the GNU General Public License along with
13+
# SymCC. If not, see <https://www.gnu.org/licenses/>.
14+
115
#
216
# The build stage
317
#

LICENSE

Lines changed: 674 additions & 0 deletions
Large diffs are not rendered by default.

README

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11

22

3-
The Symbolic Compiler
3+
SymCC: efficient compiler-based symbolic execution
44

55

6-
This is a compiler wrapper which embeds symbolic execution into the program
7-
during compilation. In essence, it inserts code that computes symbolic
8-
expressions for each value in the program. The actual computation happens
9-
through calls to a support library at run time.
6+
SymCC is a compiler wrapper which embeds symbolic execution into the program
7+
during compilation, and an associated run-time support library. In essence, the
8+
compiler inserts code that computes symbolic expressions for each value in the
9+
program. The actual computation happens through calls to the support library at
10+
run time.
1011

1112
To build the pass and the support library, make sure that LLVM 8, 9 or 10 and Z3
1213
version 4.5 or later, as well as a C++ compiler with support for C++17 are
@@ -133,3 +134,24 @@ build outside Docker for _development_. Docker will rebuild most of the image on
133134
every change to SymCC (which is, in principle the right thing to do), whereas in
134135
many cases it is sufficient to let Ninja figure out what to rebuild (and
135136
recompile libc++ only when necessary).
137+
138+
139+
License
140+
141+
SymCC is free software: you can redistribute it and/or modify it under the terms
142+
of the GNU General Public License as published by the Free Software Foundation,
143+
either version 3 of the License, or (at your option) any later version.
144+
145+
SymCC is distributed in the hope that it will be useful, but WITHOUT ANY
146+
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
147+
PARTICULAR PURPOSE. See the GNU General Public License for more details.
148+
149+
You should have received a copy of the GNU General Public License along with
150+
SymCC. If not, see <https://www.gnu.org/licenses/>.
151+
152+
The following pieces of software have additional or alternate copyrights,
153+
licenses, and/or restrictions:
154+
155+
Program Directory
156+
------- ---------
157+
QSYM runtime/qsym_backend/qsym

compiler/Main.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
// This file is part of SymCC.
2+
//
3+
// SymCC is free software: you can redistribute it and/or modify it under the
4+
// terms of the GNU General Public License as published by the Free Software
5+
// Foundation, either version 3 of the License, or (at your option) any later
6+
// version.
7+
//
8+
// SymCC is distributed in the hope that it will be useful, but WITHOUT ANY
9+
// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
10+
// A PARTICULAR PURPOSE. See the GNU General Public License for more details.
11+
//
12+
// You should have received a copy of the GNU General Public License along with
13+
// SymCC. If not, see <https://www.gnu.org/licenses/>.
14+
115
#include <llvm/IR/LegacyPassManager.h>
216
#include <llvm/Transforms/IPO/PassManagerBuilder.h>
317

compiler/Pass.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
// This file is part of SymCC.
2+
//
3+
// SymCC is free software: you can redistribute it and/or modify it under the
4+
// terms of the GNU General Public License as published by the Free Software
5+
// Foundation, either version 3 of the License, or (at your option) any later
6+
// version.
7+
//
8+
// SymCC is distributed in the hope that it will be useful, but WITHOUT ANY
9+
// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
10+
// A PARTICULAR PURPOSE. See the GNU General Public License for more details.
11+
//
12+
// You should have received a copy of the GNU General Public License along with
13+
// SymCC. If not, see <https://www.gnu.org/licenses/>.
14+
115
#include "Pass.h"
216

317
#include <llvm/ADT/SmallVector.h>

compiler/Pass.h

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
// This file is part of SymCC.
2+
//
3+
// SymCC is free software: you can redistribute it and/or modify it under the
4+
// terms of the GNU General Public License as published by the Free Software
5+
// Foundation, either version 3 of the License, or (at your option) any later
6+
// version.
7+
//
8+
// SymCC is distributed in the hope that it will be useful, but WITHOUT ANY
9+
// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
10+
// A PARTICULAR PURPOSE. See the GNU General Public License for more details.
11+
//
12+
// You should have received a copy of the GNU General Public License along with
13+
// SymCC. If not, see <https://www.gnu.org/licenses/>.
14+
115
#ifndef PASS_H
216
#define PASS_H
317

compiler/Runtime.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
// This file is part of SymCC.
2+
//
3+
// SymCC is free software: you can redistribute it and/or modify it under the
4+
// terms of the GNU General Public License as published by the Free Software
5+
// Foundation, either version 3 of the License, or (at your option) any later
6+
// version.
7+
//
8+
// SymCC is distributed in the hope that it will be useful, but WITHOUT ANY
9+
// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
10+
// A PARTICULAR PURPOSE. See the GNU General Public License for more details.
11+
//
12+
// You should have received a copy of the GNU General Public License along with
13+
// SymCC. If not, see <https://www.gnu.org/licenses/>.
14+
115
#include "Runtime.h"
216

317
#include <llvm/ADT/StringSet.h>

compiler/Runtime.h

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
// This file is part of SymCC.
2+
//
3+
// SymCC is free software: you can redistribute it and/or modify it under the
4+
// terms of the GNU General Public License as published by the Free Software
5+
// Foundation, either version 3 of the License, or (at your option) any later
6+
// version.
7+
//
8+
// SymCC is distributed in the hope that it will be useful, but WITHOUT ANY
9+
// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
10+
// A PARTICULAR PURPOSE. See the GNU General Public License for more details.
11+
//
12+
// You should have received a copy of the GNU General Public License along with
13+
// SymCC. If not, see <https://www.gnu.org/licenses/>.
14+
115
#ifndef RUNTIME_H
216
#define RUNTIME_H
317

compiler/Symbolizer.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
// This file is part of SymCC.
2+
//
3+
// SymCC is free software: you can redistribute it and/or modify it under the
4+
// terms of the GNU General Public License as published by the Free Software
5+
// Foundation, either version 3 of the License, or (at your option) any later
6+
// version.
7+
//
8+
// SymCC is distributed in the hope that it will be useful, but WITHOUT ANY
9+
// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
10+
// A PARTICULAR PURPOSE. See the GNU General Public License for more details.
11+
//
12+
// You should have received a copy of the GNU General Public License along with
13+
// SymCC. If not, see <https://www.gnu.org/licenses/>.
14+
115
#include "Symbolizer.h"
216

317
#include <cstdint>

0 commit comments

Comments
 (0)