Преглед на файлове

Add additional binaries for floating-point ABIs

TechnoElf преди 3 години
родител
ревизия
ae6470c087

+ 24 - 0
assemble.ps1

@@ -17,4 +17,28 @@ riscv64-unknown-elf-ar crs bin/riscv64i-unknown-none-elf.a bin/$crate.o
 riscv64-unknown-elf-gcc -c -mabi=lp64 -march=rv64ic asm.S -o bin/$crate.o
 riscv64-unknown-elf-ar crs bin/riscv64ic-unknown-none-elf.a bin/$crate.o
 
+riscv64-unknown-elf-gcc -c -mabi=ilp32f -march=rv32if asm.S -o bin/$crate.o
+riscv64-unknown-elf-ar crs bin/riscv32if-unknown-none-elf.a bin/$crate.o
+
+riscv64-unknown-elf-gcc -c -mabi=ilp32f -march=rv32ifc asm.S -o bin/$crate.o
+riscv64-unknown-elf-ar crs bin/riscv32ifc-unknown-none-elf.a bin/$crate.o
+
+riscv64-unknown-elf-gcc -c -mabi=lp64f -march=rv64if asm.S -o bin/$crate.o
+riscv64-unknown-elf-ar crs bin/riscv64if-unknown-none-elf.a bin/$crate.o
+
+riscv64-unknown-elf-gcc -c -mabi=lp64f -march=rv64ifc asm.S -o bin/$crate.o
+riscv64-unknown-elf-ar crs bin/riscv64ifc-unknown-none-elf.a bin/$crate.o
+
+riscv64-unknown-elf-gcc -c -mabi=ilp32d -march=rv32ifd asm.S -o bin/$crate.o
+riscv64-unknown-elf-ar crs bin/riscv32ifd-unknown-none-elf.a bin/$crate.o
+
+riscv64-unknown-elf-gcc -c -mabi=ilp32d -march=rv32ifdc asm.S -o bin/$crate.o
+riscv64-unknown-elf-ar crs bin/riscv32ifdc-unknown-none-elf.a bin/$crate.o
+
+riscv64-unknown-elf-gcc -c -mabi=lp64d -march=rv64ifd asm.S -o bin/$crate.o
+riscv64-unknown-elf-ar crs bin/riscv64ifd-unknown-none-elf.a bin/$crate.o
+
+riscv64-unknown-elf-gcc -c -mabi=lp64d -march=rv64ifdc asm.S -o bin/$crate.o
+riscv64-unknown-elf-ar crs bin/riscv64ifdc-unknown-none-elf.a bin/$crate.o
+
 Remove-Item bin/$crate.o

+ 28 - 4
assemble.sh

@@ -8,15 +8,39 @@ crate=riscv
 rm -f bin/*.a
 
 riscv64-unknown-elf-gcc -c -mabi=ilp32 -march=rv32i asm.S -o bin/$crate.o
-ar crs bin/riscv32i-unknown-none-elf.a bin/$crate.o
+ar crs bin/riscv32i-unknown-unknown-elf.a bin/$crate.o
 
 riscv64-unknown-elf-gcc -c -mabi=ilp32 -march=rv32ic asm.S -o bin/$crate.o
-ar crs bin/riscv32ic-unknown-none-elf.a bin/$crate.o
+ar crs bin/riscv32ic-unknown-unknown-elf.a bin/$crate.o
 
 riscv64-unknown-elf-gcc -c -mabi=lp64 -march=rv64i asm.S -o bin/$crate.o
-ar crs bin/riscv64i-unknown-none-elf.a bin/$crate.o
+ar crs bin/riscv64i-unknown-unknown-elf.a bin/$crate.o
 
 riscv64-unknown-elf-gcc -c -mabi=lp64 -march=rv64ic asm.S -o bin/$crate.o
-ar crs bin/riscv64ic-unknown-none-elf.a bin/$crate.o
+ar crs bin/riscv64ic-unknown-unknown-elf.a bin/$crate.o
+
+riscv64-unknown-elf-gcc -c -mabi=ilp32f -march=rv32if asm.S -o bin/$crate.o
+ar crs bin/riscv32if-unknown-unknown-elf.a bin/$crate.o
+
+riscv64-unknown-elf-gcc -c -mabi=ilp32f -march=rv32ifc asm.S -o bin/$crate.o
+ar crs bin/riscv32ifc-unknown-unknown-elf.a bin/$crate.o
+
+riscv64-unknown-elf-gcc -c -mabi=lp64f -march=rv64if asm.S -o bin/$crate.o
+ar crs bin/riscv64if-unknown-unknown-elf.a bin/$crate.o
+
+riscv64-unknown-elf-gcc -c -mabi=lp64f -march=rv64ifc asm.S -o bin/$crate.o
+ar crs bin/riscv64ifc-unknown-unknown-elf.a bin/$crate.o
+
+riscv64-unknown-elf-gcc -c -mabi=ilp32d -march=rv32ifd asm.S -o bin/$crate.o
+ar crs bin/riscv32ifd-unknown-unknown-elf.a bin/$crate.o
+
+riscv64-unknown-elf-gcc -c -mabi=ilp32d -march=rv32ifdc asm.S -o bin/$crate.o
+ar crs bin/riscv32ifdc-unknown-unknown-elf.a bin/$crate.o
+
+riscv64-unknown-elf-gcc -c -mabi=lp64d -march=rv64ifd asm.S -o bin/$crate.o
+ar crs bin/riscv64ifd-unknown-unknown-elf.a bin/$crate.o
+
+riscv64-unknown-elf-gcc -c -mabi=lp64d -march=rv64ifdc asm.S -o bin/$crate.o
+ar crs bin/riscv64ifdc-unknown-unknown-elf.a bin/$crate.o
 
 rm bin/$crate.o

BIN
bin/riscv32i-unknown-none-elf.a


BIN
bin/riscv32ic-unknown-none-elf.a


BIN
bin/riscv32if-unknown-none-elf.a


BIN
bin/riscv32ifc-unknown-none-elf.a


BIN
bin/riscv32ifd-unknown-none-elf.a


BIN
bin/riscv32ifdc-unknown-none-elf.a


BIN
bin/riscv64i-unknown-none-elf.a


BIN
bin/riscv64ic-unknown-none-elf.a


BIN
bin/riscv64if-unknown-none-elf.a


BIN
bin/riscv64ifc-unknown-none-elf.a


BIN
bin/riscv64ifd-unknown-none-elf.a


BIN
bin/riscv64ifdc-unknown-none-elf.a


+ 1 - 1
build.rs

@@ -11,7 +11,7 @@ fn main() {
 
     if target.starts_with("riscv") && env::var_os("CARGO_FEATURE_INLINE_ASM").is_none() {
         let mut target = Target::from_target_str(&target);
-        target.retain_extensions("ic");
+        target.retain_extensions("ifdc");
 
         let target = target.to_string();