Skip to content

Commit e054af5

Browse files
committed
- upgraded to LLVM_VERSION=13 both on sledge & AWSM
- updated dockerfile, main.yaml - added new uninstall_llvm.sh script to ease LLVM removal
1 parent 1fc060e commit e054af5

File tree

6 files changed

+49
-28
lines changed

6 files changed

+49
-28
lines changed

.github/workflows/main.yaml

+4-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ on: [push, pull_request]
44

55
env:
66
LLVM_VERSION: 13
7-
WASI_SDK_URL: https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-12/wasi-sdk-12.0-linux.tar.gz
7+
WASI_SDK_VERSION: 12
88
WASI_SDK_PATH: /opt/wasi-sdk
99
LANG: C.UTF-8
1010
LANGUAGE: C.UTF-8
@@ -18,10 +18,10 @@ jobs:
1818
- name: Apt Update
1919
run: sudo apt-get update
2020
- uses: actions/checkout@v2
21-
- name: Install LLVM
21+
- name: Install Clang Format
2222
run: |
2323
sudo ./install_llvm.sh $LLVM_VERSION
24-
- name: Clang Format
24+
- name: Run Clang Format
2525
run: ./format.sh -d
2626
test:
2727
runs-on: ubuntu-20.04
@@ -62,6 +62,7 @@ jobs:
6262
echo "/root/.cargo/bin:$PATH" >> $GITHUB_PATH
6363
- name: Get wasi-sdk
6464
run: |
65+
WASI_SDK_URL=https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-$WASI_SDK_VERSION/wasi-sdk-$WASI_SDK_VERSION.0-linux.tar.gz
6566
wget $WASI_SDK_URL -O wasi-sdk.tar.gz
6667
mkdir -p $WASI_SDK_PATH
6768
tar xvfz wasi-sdk.tar.gz --strip-components=1 -C $WASI_SDK_PATH

Dockerfile.x86_64

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
# using ubuntu 20 docker image
22
FROM ubuntu:focal
33

4+
ENV LLVM_VERSION=13
5+
ENV WASI_SDK_VERSION=12
6+
47
ARG DEBIAN_FRONTEND=noninteractive
58
ARG HEY_URL=https://hey-release.s3.us-east-2.amazonaws.com/hey_linux_amd64
6-
ARG WASI_SDK_URL=https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-12/wasi-sdk_12.0_amd64.deb
9+
ARG WASI_SDK_URL=https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-$WASI_SDK_VERSION/wasi-sdk_$WASI_SDK_VERSION.0_amd64.deb
710
ARG SHFMT_URL=https://github.com/mvdan/sh/releases/download/v3.2.4/shfmt_v3.2.4_linux_amd64
811
ARG SHELLCHECK_URL=https://github.com/koalaman/shellcheck/releases/download/stable/shellcheck-stable.linux.x86_64.tar.xz
912

@@ -74,12 +77,11 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
7477
vim \
7578
wabt
7679

77-
ENV LLVM_VERSION=12
7880
ADD install_llvm.sh /sledge/install_llvm.sh
7981
RUN ./sledge/install_llvm.sh $LLVM_VERSION
8082

8183
# WASI-SDK
82-
RUN curl -sS -L -O $WASI_SDK_URL && dpkg -i wasi-sdk_12.0_amd64.deb && rm -f wasi-sdk_12.0_amd64.deb
84+
RUN curl -sS -L -O $WASI_SDK_URL && dpkg -i wasi-sdk_$WASI_SDK_VERSION.0_amd64.deb && rm -f wasi-sdk_$WASI_SDK_VERSION.0_amd64.deb
8385
ENV WASI_SDK_PATH=/opt/wasi-sdk
8486

8587
# Create non-root user and add to sudoers

applications/Makefile

+1-6
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,10 @@ all: \
2828
resize_image.install \
2929
cnn_face_detection.install \
3030
get_jpeg_resolution.install \
31-
scratch_storage_get.install \
32-
scratch_storage_set.install \
33-
scratch_storage_delete.install \
34-
scratch_storage_upsert.install \
3531

3632
.PHONY: clean
3733
clean:
3834
@make -C wasm_apps clean
39-
@make -C scratch_storage clean
4035
@rm -rf dist
4136
@rm -rf ../runtime/bin/*.so
4237

@@ -70,7 +65,7 @@ dist/%.bc: ./wasm_apps/dist/%.wasm dist
7065
${AWSMCC} ${AWSMFLAGS} $< -o $@
7166

7267
dist/%.ll: dist/%.bc
73-
llvm-dis-12 $< -o $@
68+
llvm-dis $< -o $@
7469

7570
dist/%.wasm.so: dist/%.bc
7671
${CC} ${CFLAGS} ${LDFLAGS} $^ -o $@

install_deb.sh

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
#!/bin/bash
22

3-
LLVM_VERSION=12
3+
# Note, wasi-sdk versions do NOT match llvm versions, e.g. wasi-sdk-12 actually uses llvm-11
4+
LLVM_VERSION=13
5+
WASI_SDK_VERSION=12
46

57
ARCH=$(uname -m)
68

79
if [[ $ARCH = "x86_64" ]]; then
810
SHFMT_URL=https://github.com/mvdan/sh/releases/download/v3.4.3/shfmt_v3.4.3_linux_amd64
9-
WASI_SDK_URL=https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-12/wasi-sdk_12.0_amd64.deb
11+
WASI_SDK_URL=https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-$WASI_SDK_VERSION/wasi-sdk_$WASI_SDK_VERSION.0_amd64.deb
1012
elif [[ $ARCH = "aarch64" ]]; then
1113
SHFMT_URL=https://github.com/patrickvane/shfmt/releases/download/master/shfmt_linux_arm
1214
echo "ARM64 support is still a work in progress!"
@@ -64,7 +66,7 @@ wget $SHFMT_URL -O shfmt && chmod +x shfmt && sudo mv shfmt /usr/local/bin/shfmt
6466

6567
sudo ./install_llvm.sh $LLVM_VERSION
6668

67-
curl -sS -L -O $WASI_SDK_URL && sudo dpkg -i wasi-sdk_12.0_amd64.deb && rm -f wasi-sdk_12.0_amd64.deb
69+
curl -sS -L -O $WASI_SDK_URL && sudo dpkg -i wasi-sdk_$WASI_SDK_VERSION.0_amd64.deb && rm -f wasi-sdk_$WASI_SDK_VERSION.0_amd64.deb
6870

6971
if [ -z "${WASI_SDK_PATH}" ]; then
7072
export WASI_SDK_PATH=/opt/wasi-sdk

install_llvm.sh

+13-13
Original file line numberDiff line numberDiff line change
@@ -8,28 +8,28 @@ echo "Installing LLVM $LLVM_VERSION"
88
# Script Installs clang, lldb, lld, and clangd
99
curl --proto '=https' --tlsv1.2 -sSf https://apt.llvm.org/llvm.sh | bash -s -- "$LLVM_VERSION"
1010

11+
# Installing "libc++-xx-dev" automagically installs "libc++1-xx", "libunwind-xx" and "libunwind-xx-dev"
1112
apt-get install -y --no-install-recommends \
1213
"libc++-$LLVM_VERSION-dev" \
1314
"libc++abi-$LLVM_VERSION-dev" \
14-
"libc++1-$LLVM_VERSION" \
15-
"libunwind-$LLVM_VERSION" \
16-
"libunwind-$LLVM_VERSION-dev" \
1715
"clang-tools-$LLVM_VERSION" \
1816
"clang-tidy-$LLVM_VERSION" \
1917
"clang-format-$LLVM_VERSION"
2018

21-
sudo update-alternatives --remove-all clang-format
22-
sudo update-alternatives --remove-all clang
23-
sudo update-alternatives --remove-all clang++
24-
sudo update-alternatives --remove-all llvm-config
25-
sudo update-alternatives --remove-all llvm-objdump
26-
sudo update-alternatives --remove-all llvm-objdump
27-
sudo update-alternatives --remove-all clang-tidy
19+
update-alternatives --remove-all wasm-ld
20+
update-alternatives --remove-all llvm-config
21+
update-alternatives --remove-all llvm-objdump
22+
update-alternatives --remove-all llvm-dis
23+
update-alternatives --remove-all clang-format
24+
update-alternatives --remove-all clang
25+
update-alternatives --remove-all clang++
26+
update-alternatives --remove-all clang-tidy
2827

28+
update-alternatives --install /usr/bin/wasm-ld wasm-ld "/usr/bin/wasm-ld-$LLVM_VERSION" 100
29+
update-alternatives --install /usr/bin/llvm-config llvm-config "/usr/bin/llvm-config-$LLVM_VERSION" 100
30+
update-alternatives --install /usr/bin/llvm-objdump llvm-objdump "/usr/bin/llvm-objdump-$LLVM_VERSION" 100
31+
update-alternatives --install /usr/bin/llvm-dis llvm-dis /usr/bin/llvm-dis-$LLVM_VERSION 100
2932
update-alternatives --install /usr/bin/clang-format clang-format "/usr/bin/clang-format-$LLVM_VERSION" 100
3033
update-alternatives --install /usr/bin/clang clang "/usr/bin/clang-$LLVM_VERSION" 100
3134
update-alternatives --install /usr/bin/clang++ clang++ "/usr/bin/clang++-$LLVM_VERSION" 100
32-
update-alternatives --install /usr/bin/llvm-config llvm-config "/usr/bin/llvm-config-$LLVM_VERSION" 100
33-
update-alternatives --install /usr/bin/llvm-objdump llvm-objdump "/usr/bin/llvm-objdump-$LLVM_VERSION" 100
3435
update-alternatives --install /usr/bin/clang-tidy clang-tidy "/usr/bin/clang-tidy-$LLVM_VERSION" 100
35-
update-alternatives --install /usr/bin/wasm-ld wasm-ld "/usr/bin/wasm-ld-$LLVM_VERSION" 100

uninstall_llvm.sh

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#!/bin/bash
2+
# Uninstalls all LLVM tooling as much as possible
3+
4+
echo "Uninstalling LLVM"
5+
6+
apt-get remove -y --purge \
7+
"llvm*" \
8+
"lld*" \
9+
"libc++*" \
10+
"libunwind*" \
11+
"clang*" \
12+
13+
apt-get autoremove -y
14+
15+
update-alternatives --remove-all clang-format
16+
update-alternatives --remove-all clang
17+
update-alternatives --remove-all clang++
18+
update-alternatives --remove-all llvm-config
19+
update-alternatives --remove-all llvm-objdump
20+
update-alternatives --remove-all clang-tidy
21+
update-alternatives --remove-all wasm-ld

0 commit comments

Comments
 (0)