Open Steinegger opened 3 years ago
Thanks for the report. I'm a bit confused at the moment because it builds on:
riscv64-linux-gnu-ld
version 2.34-2.fc32
riscv64-linux-gnu-ld
version 2.34-6ubuntu1
(build log)But not on:
riscv64-linux-gnu-ld
version 2.35.2
riscv64-linux-gnu-ld
version 2.31.1
@Steinegger: Which OS and version of riscv64-linux-gnu-ld
are you using, please?
To add to the confusion: I was building it on 20.04.2:
% riscv64-linux-gnu-ld --version
GNU ld (GNU Binutils for Ubuntu) 2.34
[...]
% lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.2 LTS
Release: 20.04
Codename: focal
% dpkg -l | grep riscv
ii binutils-riscv64-linux-gnu 2.34-6ubuntu1.1 amd64 GNU binary utilities, for riscv64-linux-gnu target
I would have tried with the toolchain I built from scratch instead of the one from the package manager but I couldn't find a way to override that part?
To override the linker paths, you need to edit the .cargo/config
files in src/hypervisor
and src/services
and change the appropriate settings. In the meantime, I've moved away from assembling and linking files via the Mason build script, and instead used the Rust toolchain to handle the assembly and linkage. This work is in the ripmason
branch.
I can get this to build on:
riscv64-linux-gnu-ld
version 2.34-2.fc32
riscv64-linux-gnu-ld
version 2.34-6ubuntu1.1
riscv64-linux-gnu-ld
version 2.31.1
Though not Debian bullsey/sid with 2.35
. And also the boot process doesn't complete, though I'm still working on it. It might be that 2.31 to 2.34 is good. I'd like to find the root cause -- please bear with me.
@Steinegger Could you please try building the latest development branch (ripmason
) and see if works for you with binutils
version 2.34-6ubuntu1.1
? Eg:
git clone -b ripmason --recurse-submodules https://github.com/diodesign/diosix.git
cd diosix && just
Would be interested to see if that works, and if so, that just leaves 2.35.x
to deal with. Thanks!
@diodesign I just tested it and it works perfectly with my configuration :+1:
Awesome :) Thanks so much for testing it -- I'm going to keep this issue open for now in case anyone else runs into a binutils
clash. It might be a 2.35.x
problem.
The latest commit (406502c) of diosix fails to build when invoking
just
. I was doing a clean clone of the repo usinggit clone --recurse-submodules https://github.com/diodesign/diosix.git
and invokedjust quiet=no
Output: