From 28cbb3d733809099c9fd4067da5af8d4b2c9822f Mon Sep 17 00:00:00 2001 From: prplV Date: Fri, 23 Aug 2024 11:57:41 +0300 Subject: [PATCH] setting up for cross-platform building --- .cargo/config.toml | 6 ++++++ README.md | 31 ++++++++++++++++++++++++++----- gdb_init | 9 +++++++++ 3 files changed, 41 insertions(+), 5 deletions(-) create mode 100644 .cargo/config.toml create mode 100644 gdb_init diff --git a/.cargo/config.toml b/.cargo/config.toml new file mode 100644 index 0000000..b951726 --- /dev/null +++ b/.cargo/config.toml @@ -0,0 +1,6 @@ +[target.riscv64gc-unknown-linux-gnu] +runner = "riscv64-unknown-elf-gdb -q -x gdb_init" +linker = "riscv64-linux-gnu-gcc" + +[build] +target = "x86_64-unknown-linux-gnu" \ No newline at end of file diff --git a/README.md b/README.md index 478642a..6837bbe 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ in-container integrating util to handle processes runtime ## Depends on - `rustup (>=1.27.1)` -## Local init +## Building 1. Clone this repo `runner-rs` @@ -15,22 +15,43 @@ in-container integrating util to handle processes runtime git clone https://link-to-project ~~~ -2. Enter project's dir +2. Enter project's dir and set up toolchain list to compile code for RISC-V and AMD64 +> [!NOTE] +> Cargo is configured to build an app for amd64/linux defaultly. RISC-based compilation is optional. ~~~bash cd runner-rs/ + rustup target add riscv64gc-unknown-linux-gnu + rustup target add x86_64-unknown-linux-gnu ~~~ -3. Release build of app +3.1. Release build of app for amd64/linux ~~~bash cargo build --release ~~~ -4. Execution +3.2. Release build of app for riscv64/linux + ~~~bash -./target/release/runner-rs +cargo build --release --target riscv64gc-unknown-linux-gnu +~~~ + + +## Execution for amd64/linux +~~~bash +./target/x86_64-unknown-linux-gnu/release/runner-rs +~~~ +or +~~~bash +cargo run --release +~~~ + + +## Execution for riscv64/linux +~~~bash +./target/riscv64gc-unknown-linux-gnu/release/runner-rs ~~~ or ~~~bash diff --git a/gdb_init b/gdb_init new file mode 100644 index 0000000..8b2cbf7 --- /dev/null +++ b/gdb_init @@ -0,0 +1,9 @@ +set history save on +set confirm off +set remotetimeout 240 +target extended-remote :3333 +set print asm-demangle on +monitor reset halt +load +continue +# quit \ No newline at end of file