diff options
| -rw-r--r-- | Makefile | 7 | ||||
| -rw-r--r-- | build.rs | 20 | ||||
| -rw-r--r-- | src/bsp/raspberrypi/linker.ld | 1 | 
3 files changed, 28 insertions, 0 deletions
| @@ -30,3 +30,10 @@ clean:  run: build  	qemu-system-arm -cpu cortex-a7 -m 1G -kernel target/armv7a-none-eabi/release/kernel -machine raspi2b -serial mon:stdio -nographic + +init: +	rustup target install $(TARGET) +	rustup target add $(TARGET) +	rustup override set nightly +	rustup component add llvm-tools-preview +	cargo install cargo-binutils diff --git a/build.rs b/build.rs new file mode 100644 index 0000000..721d6d6 --- /dev/null +++ b/build.rs @@ -0,0 +1,20 @@ +use std::{env,fs,process}; + +fn main() { +	let ld_script_path = match env::var("LD_SCRIPT_PATH") { +		Ok(var) => var, +		_ => process::exit(0), +	}; + +	let files = fs::read_dir(ld_script_path).unwrap(); +	files +		.filter_map(Result::ok) +		.filter(|d| { +			if let Some(e) = d.path().extension() { +				e == "ld" +			} else { +				false +			} +		}) +		.for_each(|f| println!("cargo:rerun-if-changed={}", f.path().display())); +} diff --git a/src/bsp/raspberrypi/linker.ld b/src/bsp/raspberrypi/linker.ld index daf4a05..2541a88 100644 --- a/src/bsp/raspberrypi/linker.ld +++ b/src/bsp/raspberrypi/linker.ld @@ -42,6 +42,7 @@ SECTIONS  	/DISCARD/ :  	{  		*(.ARM.exidx); +		*(.ARM.exidx*);  		*(.ARM.extab.*);  	}  } | 
