Skip to content

Commit b7e7589

Browse files
authored
bytecode disassembler (#6)
1 parent 7b9091c commit b7e7589

30 files changed

Lines changed: 2357 additions & 33 deletions

.github/workflows/ci.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,15 @@ jobs:
2222
- name: Install dependencies
2323
run: pnpm install --frozen-lockfile
2424

25+
- name: Install Rust i686 target
26+
run: rustup target add i686-unknown-linux-gnu
27+
28+
- name: Install i686 cross-compilation libs
29+
run: sudo apt-get install -y gcc-multilib g++-multilib
30+
31+
- name: Build disassembler
32+
run: pnpm run build:disasm
33+
2534
- name: Install Playwright browsers
2635
run: pnpm exec playwright install --with-deps chromium
2736

.github/workflows/deploy.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,15 @@ jobs:
3333
- name: Install dependencies
3434
run: pnpm install --frozen-lockfile
3535

36+
- name: Install Rust i686 target
37+
run: rustup target add i686-unknown-linux-gnu
38+
39+
- name: Install i686 cross-compilation libs
40+
run: sudo apt-get install -y gcc-multilib g++-multilib
41+
42+
- name: Build disassembler
43+
run: pnpm run build:disasm
44+
3645
- name: Install Playwright browsers
3746
run: pnpm exec playwright install --with-deps chromium
3847

.gitignore

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ dist
1111
dist-ssr
1212
*.local
1313

14+
# Built native library (run `pnpm run build:disasm` to generate)
15+
public/lib/libdm_disasm.so
16+
1417
# Editor directories and files
1518
.vscode/*
1619
!.vscode/extensions.json
@@ -19,4 +22,7 @@ dist-ssr
1922

2023
# Playwright
2124
playwright-report
22-
test-results
25+
test-results
26+
27+
# Rust
28+
crates/*/target

README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,18 @@ pnpm install
8080
pnpm run dev # Starts development server with hot reload
8181
```
8282

83+
### Build the disassembler
84+
85+
The bytecode panel relies on a Rust library compiled for i686 Linux.
86+
You need the i686 cross-compilation toolchain installed:
87+
88+
```bash
89+
rustup target add i686-unknown-linux-gnu
90+
sudo apt-get install gcc-multilib # Debian/Ubuntu
91+
92+
pnpm run build:disasm
93+
```
94+
8395
### Build for production
8496

8597
```bash
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
[build]
2+
target = "i686-unknown-linux-gnu"
3+
4+
[target.i686-unknown-linux-gnu]
5+
rustflags = ["-C", "target-cpu=pentium4"]

0 commit comments

Comments
 (0)