-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathREADME.txt
59 lines (40 loc) · 1.78 KB
/
README.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
Low Level Virtual Machine (LLVM) + IVT/OVT (Interleaved/Ordered VTables)
================================
To get started:
1) Setup prerequisites - download and build binutils with gold support.
Lets say that binutils source is in $(BINUTILS_SRC) and the built version
is in $(BINUTILS_BUILD).
git clone --depth 1 git://sourceware.org/git/binutils-gdb.git $(BINUTILS_SRC)
mkdir $(BINUTILS_BUILD)
cd $(BINUTILS_BUILD)
$(BINUTILS_SRC)/configure --enable-gold --enable-plugins --disable-werror
make -j 8 (or however many cores you can spare)
(If you run into any weird errors with your binutils build, try removing the
$(BINUTILS_BUILD) directory, re-creating it, and running configure/make again)
2) Clone the repo in $(REPO_DIR)
git clone https://github.com/UCSD-PL/ivt.git $(REPO_DIR)
3) Build the repo in a directory $(REPO_BUILD_DIR):
mkdir $(REPO_BUILD_DIR)
cd $(REPO_BUILD_DIR)
$(REPO_DIR)/configure --enable-optimized=1 --with-binutils-include=$(BINUTILS_SRC)/include
make -j 8 (or however many cores you can spare...)
4) Set the benchmark paths - edit $(REPO_DIR)/benchmarks/folder.cfg and set
the variables:
LLVM_DIR="$(REPO_DIR)"
LLVM_BUILD_DIR="$(REPO_BUILD_DIR)/Release+Asserts/bin"
BINUTILS_BUILD_DIR="$(BINUTILS_BUILD)"
5) Symlink ld-new to ld inside the binutils build's gold directory:
cd $(BINUTILS_BUILD)/gold
ln -s ld-new ld
6) Build the two libraries - libdlcfi and libdyncast
cd $(REPO_DIR)/libdlcfi
make clean all
cd $(REPO_DIR)/libdyncast
make clean all
7) Run the benchmarks
cd $(REPO_DIR)/benchmarks
./run_all_benchmarks.sh
If the benchmarks run successfully, you should see something like this in the end:
############################################################
DONE !!!
############################################################