ryanra/RustOS

OpenSuse 13.2 not running,

Closed this issue · 5 comments

make run
...
...
src/libstd/rand/os.rs:38:34: 38:35 warning: unused variable: v, #[warn(unused_variables)] on by default
src/libstd/rand/os.rs:38 fn fill_bytes(&mut self, v: &mut [u8]) {
^
note: link against the following native artifacts when linking against this static library
note: the order and any duplication can be significant on some platforms, and so may need to be preserved
note: library: c
note: library: m
as -march=i386 --32 -o interrupt.o src//arch/x86/interrupt.s
as -march=i386 --32 -o context.o src//arch/x86/context.s
as -march=i386 --32 -o dependencies.o src//arch/x86/dependencies.s
ld -melf_i386 -nostdlib -o boot.bin -T src//arch/x86/link.ld boot.o target/i686-unknown-linux-gnu/debug/librustos_.a interrupt.o context.o dependencies.o
ld: BFD (GNU Binutils; openSUSE 13.2) 2.24.0.20140403-6.1 assertion fail ../../bfd/elf.c:4114
ld: BFD (GNU Binutils; openSUSE 13.2) 2.24.0.20140403-6.1 assertion fail ../../bfd/elf.c:4114
ld: BFD (GNU Binutils; openSUSE 13.2) 2.24.0.20140403-6.1 assertion fail ../../bfd/elf.c:4114
ld: BFD (GNU Binutils; openSUSE 13.2) 2.24.0.20140403-6.1 assertion fail ../../bfd/elf.c:4114
ld: BFD (GNU Binutils; openSUSE 13.2) 2.24.0.20140403-6.1 assertion fail ../../bfd/elf.c:4114
ld: BFD (GNU Binutils; openSUSE 13.2) 2.24.0.20140403-6.1 assertion fail ../../bfd/elf.c:4114
ld: BFD (GNU Binutils; openSUSE 13.2) 2.24.0.20140403-6.1 assertion fail ../../bfd/elf.c:4114
ld: BFD (GNU Binutils; openSUSE 13.2) 2.24.0.20140403-6.1 assertion fail ../../bfd/elf.c:4114
Makefile:31: recipe for target 'boot.bin' failed
make: *_* [boot.bin] Error 1
rm morestack.o _context.o src//arch/x86/_context.s

It looks like your version of ld doesn't like something.

What does ld -v output for you?

I've had the same problem running binutils 2.24. ld -v doesn't add any additional information. However, when I build binutils 2.22 and point ld there, qemu starts just fine.

Weird, I'm using the stock GNU ld 2.25 and it works fine...

I confirm that it also works with stock GNU binutils 2.25. I was trying stock 2.24 and Ubuntu 2.24, neither worked.
Since we are communicating ... You started an awesome project here. How can I help? My lectures about OS took place in a more distant past but I still remember a bit. Is there a channel to discuss?

Great, I'll close this thread then as it seems like a binutils bug.

Thanks! I've been on and off with RustOS over the past year with some help along the way but I want to start moving it forward consistently from now on. I think that a barebones implementation of rust's libstd is actually not that far off, which would be pretty awesome.

Re: helping, do you have a particular expertise or interest in some area of OS development (such as drivers, networking, threading, filesystems)? There's no channel for discussion, just email me (my email is the commit messages) to follow up.