You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
450 lines
15 KiB
450 lines
15 KiB
6 years ago
|
#!/bin/bash
|
||
|
set -e
|
||
|
|
||
|
# The contents are adopted from xbuild verbose output.
|
||
|
if ! [ -d outdir ]
|
||
|
then
|
||
|
echo "You have to \`mkdir outdir\` first."
|
||
|
echo "If you know what you're doing, do this yourself, otherwise quit."
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
#export LLC=~dzy/rust/rust/build/x86_64-unknown-linux-gnu/llvm/bin/llc
|
||
|
export LLC=~dzy/llvm/rust-llvm-build/bin/llc
|
||
|
|
||
|
gen_full_rlib() {
|
||
|
cd outdir
|
||
|
for X in ${CNAME}.*ll
|
||
|
do
|
||
|
sed 's/, retainedNodes: ![0-9]\+//' -i ${X}
|
||
|
$LLC -march=riscv64 -filetype=obj ${X}
|
||
|
done
|
||
|
for X in ${CNAME}.*o
|
||
|
do
|
||
|
ar r lib${CNAME}.rlib ${X}
|
||
|
done
|
||
|
cd ..
|
||
|
}
|
||
|
|
||
|
|
||
|
#CNAME=core
|
||
|
#rustc --crate-name ${CNAME} /home/dzy/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/lib.rs \
|
||
|
# --color never --crate-type lib --emit=metadata,llvm-ir \
|
||
|
# -C opt-level=3 \
|
||
|
# -C debuginfo=2 \
|
||
|
# -Z force-unstable-if-unmarked \
|
||
|
# --out-dir $PWD/outdir \
|
||
|
# --target /home/dzy/rust/RustOS/kernel/rv64.json
|
||
|
#gen_full_rlib
|
||
|
#
|
||
|
#CNAME=compiler_builtins
|
||
|
## omit build_script_build
|
||
|
#rustc --crate-name compiler_builtins /home/dzy/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcompiler_builtins/src/lib.rs \
|
||
|
# --color never --crate-type lib --emit=metadata,llvm-ir \
|
||
|
# -C opt-level=3 \
|
||
|
# -C debuginfo=2 \
|
||
|
# -Z force-unstable-if-unmarked \
|
||
|
# --cfg 'feature="compiler-builtins"' \
|
||
|
# --cfg 'feature="mem"' \
|
||
|
# --out-dir $PWD/outdir \
|
||
|
# --target /home/dzy/rust/RustOS/kernel/rv64.json \
|
||
|
# -L $PWD/outdir
|
||
|
#gen_full_rlib
|
||
|
#
|
||
|
#CNAME=alloc
|
||
|
#rustc --crate-name alloc /home/dzy/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/liballoc/lib.rs \
|
||
|
# --color never --crate-type lib --emit=metadata,llvm-ir \
|
||
|
# -C opt-level=3 \
|
||
|
# -C debuginfo=2 \
|
||
|
# -Z force-unstable-if-unmarked \
|
||
|
# --out-dir $PWD/outdir \
|
||
|
# --target /home/dzy/rust/RustOS/kernel/rv64.json \
|
||
|
# -L $PWD/outdir
|
||
|
#gen_full_rlib
|
||
|
#
|
||
|
#
|
||
|
#
|
||
|
#CNAME=semver_parser
|
||
|
#rustc --crate-name semver_parser /home/dzy/.cargo/registry/src/github.com-1ecc6299db9ec823/semver-parser-0.7.0/src/lib.rs \
|
||
|
# --color never --crate-type lib --emit=metadata,llvm-ir \
|
||
|
# -C opt-level=1 \
|
||
|
# -C debuginfo=2 \
|
||
|
# -C debug-assertions=on \
|
||
|
# --out-dir $PWD/outdir \
|
||
|
# -L $PWD/outdir \
|
||
|
# --cap-lints allow
|
||
|
#gen_full_rlib
|
||
|
#
|
||
|
#CNAME=cfg_if
|
||
|
#rustc --crate-name cfg_if /home/dzy/.cargo/registry/src/github.com-1ecc6299db9ec823/cfg-if-0.1.6/src/lib.rs \
|
||
|
# --color never --crate-type lib --emit=metadata,llvm-ir \
|
||
|
# -C opt-level=1 \
|
||
|
# -C debuginfo=2 \
|
||
|
# -C debug-assertions=on \
|
||
|
# --out-dir $PWD/outdir \
|
||
|
# --target /home/dzy/rust/RustOS/kernel/rv64.json \
|
||
|
# -L $PWD/outdir \
|
||
|
# --cap-lints allow
|
||
|
#gen_full_rlib
|
||
|
#
|
||
|
#CNAME=spin
|
||
|
#rustc --crate-name spin /home/dzy/.cargo/registry/src/github.com-1ecc6299db9ec823/spin-0.4.10/src/lib.rs \
|
||
|
# --color never --crate-type lib --emit=metadata,llvm-ir \
|
||
|
# -C opt-level=1 \
|
||
|
# -C debuginfo=2 \
|
||
|
# -C debug-assertions=on \
|
||
|
# --cfg 'feature="const_fn"' \
|
||
|
# --cfg 'feature="default"' \
|
||
|
# --cfg 'feature="once"' \
|
||
|
# --cfg 'feature="unstable"' \
|
||
|
# --out-dir $PWD/outdir \
|
||
|
# --target /home/dzy/rust/RustOS/kernel/rv64.json \
|
||
|
# -L $PWD/outdir \
|
||
|
# --cap-lints allow
|
||
|
#gen_full_rlib
|
||
|
#
|
||
|
#CNAME=cc
|
||
|
#rustc --crate-name cc /home/dzy/.cargo/registry/src/github.com-1ecc6299db9ec823/cc-1.0.25/src/lib.rs \
|
||
|
# --color never --crate-type lib --emit=metadata,llvm-ir \
|
||
|
# -C opt-level=1 \
|
||
|
# -C debuginfo=2 \
|
||
|
# -C debug-assertions=on \
|
||
|
# --out-dir $PWD/outdir \
|
||
|
# -L $PWD/outdir \
|
||
|
# --cap-lints allow
|
||
|
#gen_full_rlib
|
||
|
#
|
||
|
#CNAME=static_assertions
|
||
|
#rustc --crate-name static_assertions /home/dzy/.cargo/registry/src/github.com-1ecc6299db9ec823/static_assertions-0.3.1/src/lib.rs \
|
||
|
# --color never --crate-type lib --emit=metadata,llvm-ir \
|
||
|
# -C opt-level=1 \
|
||
|
# -C debuginfo=2 \
|
||
|
# -C debug-assertions=on \
|
||
|
# --out-dir $PWD/outdir \
|
||
|
# --target /home/dzy/rust/RustOS/kernel/rv64.json \
|
||
|
# -L $PWD/outdir \
|
||
|
# --cap-lints allow
|
||
|
#gen_full_rlib
|
||
|
#
|
||
|
#CNAME=bit_field
|
||
|
#rustc --crate-name bit_field /home/dzy/.cargo/registry/src/github.com-1ecc6299db9ec823/bit_field-0.9.0/src/lib.rs \
|
||
|
# --color never --crate-type lib --emit=metadata,llvm-ir \
|
||
|
# -C opt-level=1 \
|
||
|
# -C debuginfo=2 \
|
||
|
# -C debug-assertions=on \
|
||
|
# --out-dir $PWD/outdir \
|
||
|
# --target /home/dzy/rust/RustOS/kernel/rv64.json \
|
||
|
# -L $PWD/outdir \
|
||
|
# --cap-lints allow
|
||
|
#gen_full_rlib
|
||
|
#
|
||
|
#CNAME=zero
|
||
|
#rustc --crate-name zero /home/dzy/.cargo/registry/src/github.com-1ecc6299db9ec823/zero-0.1.2/src/lib.rs \
|
||
|
# --color never --crate-type lib --emit=metadata,llvm-ir \
|
||
|
# -C opt-level=1 \
|
||
|
# -C debuginfo=2 \
|
||
|
# -C debug-assertions=on \
|
||
|
# --out-dir $PWD/outdir \
|
||
|
# --target /home/dzy/rust/RustOS/kernel/rv64.json \
|
||
|
# -L $PWD/outdir \
|
||
|
# --cap-lints allow
|
||
|
#gen_full_rlib
|
||
|
#
|
||
|
#CNAME=bit_vec
|
||
|
#rustc --crate-name bit_vec /home/dzy/.cargo/git/checkouts/bit-vec-437fa4a002bd318d/9861a58d6e76/src/lib.rs \
|
||
|
# --color never --crate-type lib --emit=metadata,llvm-ir \
|
||
|
# -C opt-level=1 \
|
||
|
# -C debuginfo=2 \
|
||
|
# -C debug-assertions=on \
|
||
|
# --out-dir $PWD/outdir \
|
||
|
# --target /home/dzy/rust/RustOS/kernel/rv64.json \
|
||
|
# -L $PWD/outdir \
|
||
|
# --cap-lints allow
|
||
|
#gen_full_rlib
|
||
|
#
|
||
|
#CNAME=bitflags
|
||
|
#rustc --crate-name bitflags /home/dzy/.cargo/registry/src/github.com-1ecc6299db9ec823/bitflags-1.0.4/src/lib.rs \
|
||
|
# --color never --crate-type lib --emit=metadata,llvm-ir \
|
||
|
# -C opt-level=1 \
|
||
|
# -C debuginfo=2 \
|
||
|
# -C debug-assertions=on \
|
||
|
# --cfg 'feature="default"' \
|
||
|
# --out-dir $PWD/outdir \
|
||
|
# --target /home/dzy/rust/RustOS/kernel/rv64.json \
|
||
|
# -L $PWD/outdir \
|
||
|
# --cap-lints allow
|
||
|
#gen_full_rlib
|
||
|
#
|
||
|
#CNAME=volatile
|
||
|
#rustc --crate-name volatile /home/dzy/.cargo/registry/src/github.com-1ecc6299db9ec823/volatile-0.2.5/src/lib.rs \
|
||
|
# --color never --crate-type lib --emit=metadata,llvm-ir \
|
||
|
# -C opt-level=1 \
|
||
|
# -C debuginfo=2 \
|
||
|
# -C debug-assertions=on \
|
||
|
# --out-dir $PWD/outdir \
|
||
|
# --target /home/dzy/rust/RustOS/kernel/rv64.json \
|
||
|
# -L $PWD/outdir \
|
||
|
# --cap-lints allow
|
||
|
#gen_full_rlib
|
||
|
#
|
||
|
#CNAME=once
|
||
|
#rustc --crate-name once /home/dzy/.cargo/registry/src/github.com-1ecc6299db9ec823/once-0.3.3/src/lib.rs \
|
||
|
# --color never --crate-type lib --emit=metadata,llvm-ir \
|
||
|
# -C opt-level=1 \
|
||
|
# -C debuginfo=2 \
|
||
|
# -C debug-assertions=on \
|
||
|
# --out-dir $PWD/outdir \
|
||
|
# --target /home/dzy/rust/RustOS/kernel/rv64.json \
|
||
|
# -L $PWD/outdir \
|
||
|
# --cap-lints allow
|
||
|
#gen_full_rlib
|
||
|
#
|
||
|
#CNAME=bbl
|
||
|
#rustc --crate-name bbl /home/dzy/rust/RustOS/crate/bbl/src/lib.rs \
|
||
|
# --color never --crate-type lib --emit=metadata,llvm-ir \
|
||
|
# -C opt-level=1 \
|
||
|
# -C debuginfo=2 \
|
||
|
# -C debug-assertions=on \
|
||
|
# --out-dir $PWD/outdir \
|
||
|
# --target /home/dzy/rust/RustOS/kernel/rv64.json \
|
||
|
# -L $PWD/outdir
|
||
|
#gen_full_rlib
|
||
|
#
|
||
|
#CNAME=log
|
||
|
#rustc --crate-name log /home/dzy/.cargo/registry/src/github.com-1ecc6299db9ec823/log-0.4.6/src/lib.rs \
|
||
|
# --color never --crate-type lib --emit=metadata,llvm-ir \
|
||
|
# -C opt-level=1 \
|
||
|
# -C debuginfo=2 \
|
||
|
# -C debug-assertions=on \
|
||
|
# --out-dir $PWD/outdir \
|
||
|
# --target /home/dzy/rust/RustOS/kernel/rv64.json \
|
||
|
# -L $PWD/outdir \
|
||
|
# --cap-lints allow
|
||
|
#gen_full_rlib
|
||
|
#
|
||
|
#CNAME=linked_list_allocator
|
||
|
#rustc --crate-name linked_list_allocator /home/dzy/.cargo/registry/src/github.com-1ecc6299db9ec823/linked_list_allocator-0.6.3/src/lib.rs \
|
||
|
# --color never --crate-type lib --emit=metadata,llvm-ir \
|
||
|
# -C opt-level=1 \
|
||
|
# -C debuginfo=2 \
|
||
|
# -C debug-assertions=on \
|
||
|
# --cfg 'feature="default"' \
|
||
|
# --cfg 'feature="spin"' \
|
||
|
# --cfg 'feature="use_spin"' \
|
||
|
# --out-dir $PWD/outdir \
|
||
|
# --target /home/dzy/rust/RustOS/kernel/rv64.json \
|
||
|
# -L $PWD/outdir \
|
||
|
# --cap-lints allow
|
||
|
#gen_full_rlib
|
||
|
#
|
||
|
#CNAME=lazy_static
|
||
|
#rustc --crate-name lazy_static /home/dzy/.cargo/registry/src/github.com-1ecc6299db9ec823/lazy_static-1.2.0/src/lib.rs \
|
||
|
# --color never --crate-type lib --emit=metadata,llvm-ir \
|
||
|
# -C opt-level=1 \
|
||
|
# -C debuginfo=2 \
|
||
|
# -C debug-assertions=on \
|
||
|
# --cfg 'feature="spin"' \
|
||
|
# --cfg 'feature="spin_no_std"' \
|
||
|
# --out-dir $PWD/outdir \
|
||
|
# --target /home/dzy/rust/RustOS/kernel/rv64.json \
|
||
|
# -L $PWD/outdir \
|
||
|
# --cap-lints allow
|
||
|
#gen_full_rlib
|
||
|
#
|
||
|
#CNAME=xmas_elf
|
||
|
#rustc --crate-name xmas_elf /home/dzy/.cargo/registry/src/github.com-1ecc6299db9ec823/xmas-elf-0.6.2/src/lib.rs \
|
||
|
# --color never --crate-type lib --emit=metadata,llvm-ir \
|
||
|
# -C opt-level=1 \
|
||
|
# -C debuginfo=2 \
|
||
|
# -C debug-assertions=on \
|
||
|
# --out-dir $PWD/outdir \
|
||
|
# --target /home/dzy/rust/RustOS/kernel/rv64.json \
|
||
|
# -L $PWD/outdir \
|
||
|
# --cap-lints allow
|
||
|
#gen_full_rlib
|
||
|
#
|
||
|
#CNAME=bit_allocator
|
||
|
#rustc --crate-name bit_allocator /home/dzy/rust/RustOS/crate/bit-allocator/src/lib.rs \
|
||
|
# --color never --crate-type lib --emit=metadata,llvm-ir \
|
||
|
# -C opt-level=1 \
|
||
|
# -C debuginfo=2 \
|
||
|
# -C debug-assertions=on \
|
||
|
# --out-dir $PWD/outdir \
|
||
|
# --target /home/dzy/rust/RustOS/kernel/rv64.json \
|
||
|
# -L $PWD/outdir
|
||
|
#gen_full_rlib
|
||
|
#
|
||
|
#
|
||
|
#CNAME=simple_filesystem
|
||
|
#rustc --edition=2018 --crate-name simple_filesystem /home/dzy/.cargo/git/checkouts/simplefilesystem-rust-868ccb44dbeefdea/249383f7e3f1/src/lib.rs \
|
||
|
# --color never --crate-type lib --emit=metadata,llvm-ir \
|
||
|
# -C opt-level=1 \
|
||
|
# -C debuginfo=2 \
|
||
|
# -C debug-assertions=on \
|
||
|
# --out-dir $PWD/outdir \
|
||
|
# --target /home/dzy/rust/RustOS/kernel/rv64.json \
|
||
|
# -L $PWD/outdir \
|
||
|
# --extern bit_vec=$PWD/outdir/libbit_vec.rlib \
|
||
|
# --extern spin=$PWD/outdir/libspin.rlib \
|
||
|
# --extern static_assertions=$PWD/outdir/libstatic_assertions.rlib \
|
||
|
# --cap-lints allow
|
||
|
#gen_full_rlib
|
||
|
#
|
||
|
#CNAME=ucore_process
|
||
|
#rustc --edition=2018 --crate-name ucore_process /home/dzy/rust/RustOS/crate/process/src/lib.rs \
|
||
|
# --color never --crate-type lib --emit=metadata,llvm-ir \
|
||
|
# -C opt-level=1 \
|
||
|
# -C debuginfo=2 \
|
||
|
# -C debug-assertions=on \
|
||
|
# --out-dir $PWD/outdir \
|
||
|
# --target /home/dzy/rust/RustOS/kernel/rv64.json \
|
||
|
# --extern log=$PWD/outdir/liblog.rlib \
|
||
|
# --extern spin=$PWD/outdir/libspin.rlib \
|
||
|
# -L $PWD/outdir
|
||
|
#gen_full_rlib
|
||
|
#
|
||
|
#CNAME=ucore_memory
|
||
|
#rustc --edition=2018 --crate-name ucore_memory /home/dzy/rust/RustOS/crate/memory/src/lib.rs \
|
||
|
# --color never --crate-type lib --emit=metadata,llvm-ir \
|
||
|
# -C opt-level=1 \
|
||
|
# -C debuginfo=2 \
|
||
|
# -C debug-assertions=on \
|
||
|
# --out-dir $PWD/outdir \
|
||
|
# --target /home/dzy/rust/RustOS/kernel/rv64.json \
|
||
|
# --extern log=$PWD/outdir/liblog.rlib \
|
||
|
# -L $PWD/outdir
|
||
|
#gen_full_rlib
|
||
|
#
|
||
|
#CNAME=semver
|
||
|
#rustc --crate-name semver /home/dzy/.cargo/registry/src/github.com-1ecc6299db9ec823/semver-0.9.0/src/lib.rs \
|
||
|
# --color never --crate-type lib --emit=metadata,llvm-ir \
|
||
|
# -C opt-level=1 \
|
||
|
# -C debuginfo=2 \
|
||
|
# -C debug-assertions=on \
|
||
|
# --cfg 'feature="default"' \
|
||
|
# --out-dir $PWD/outdir \
|
||
|
# -L $PWD/outdir \
|
||
|
# --extern semver_parser=$PWD/outdir/libsemver_parser.rlib \
|
||
|
# --cap-lints allow
|
||
|
#gen_full_rlib
|
||
|
#
|
||
|
#CNAME=rustc_version
|
||
|
## omit build_script_build
|
||
|
#rustc --crate-name rustc_version /home/dzy/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc_version-0.2.3/src/lib.rs \
|
||
|
# --color never --crate-type lib --emit=metadata,llvm-ir \
|
||
|
# -C opt-level=1 \
|
||
|
# -C debuginfo=2 \
|
||
|
# -C debug-assertions=on \
|
||
|
# --out-dir $PWD/outdir \
|
||
|
# -L $PWD/outdir \
|
||
|
# --extern semver=$PWD/outdir/libsemver.rlib \
|
||
|
# --cap-lints allow
|
||
|
#gen_full_rlib
|
||
|
#
|
||
|
#CNAME=bare_metal
|
||
|
## omit build_script_build
|
||
|
#rustc --crate-name bare_metal /home/dzy/.cargo/registry/src/github.com-1ecc6299db9ec823/bare-metal-0.2.4/src/lib.rs \
|
||
|
# --color never --crate-type lib --emit=metadata,llvm-ir \
|
||
|
# -C opt-level=1 \
|
||
|
# -C debuginfo=2 \
|
||
|
# -C debug-assertions=on \
|
||
|
# --out-dir $PWD/outdir \
|
||
|
# --target /home/dzy/rust/RustOS/kernel/rv64.json \
|
||
|
# -L $PWD/outdir \
|
||
|
# --cap-lints allow
|
||
|
#gen_full_rlib
|
||
|
#
|
||
|
#CNAME=riscv
|
||
|
#rustc --crate-name riscv /home/dzy/.cargo/git/checkouts/riscv-1e845b622ce46f1d/966eb26d5e8d/src/lib.rs \
|
||
|
# --color never --crate-type lib --emit=metadata,llvm-ir \
|
||
|
# -C opt-level=1 \
|
||
|
# -C debuginfo=2 \
|
||
|
# -C debug-assertions=on \
|
||
|
# --out-dir $PWD/outdir \
|
||
|
# --target /home/dzy/rust/RustOS/kernel/rv64.json \
|
||
|
# -L $PWD/outdir \
|
||
|
# --extern bare_metal=$PWD/outdir/libbare_metal.rlib \
|
||
|
# --extern bit_field=$PWD/outdir/libbit_field.rlib \
|
||
|
# --extern bitflags=$PWD/outdir/libbitflags.rlib \
|
||
|
# --cap-lints allow
|
||
|
#gen_full_rlib
|
||
|
#
|
||
|
|
||
|
CNAME=ucore
|
||
|
rustc --edition=2018 --crate-name ucore src/lib.rs \
|
||
|
--color never --crate-type lib --emit=metadata,llvm-ir \
|
||
|
-C opt-level=1 \
|
||
|
-C debuginfo=2 \
|
||
|
-C debug-assertions=on \
|
||
|
--out-dir $PWD/outdir \
|
||
|
--target /home/dzy/rust/RustOS/kernel/rv64.json \
|
||
|
-L $PWD/outdir \
|
||
|
--extern bbl=$PWD/outdir/libbbl.rlib \
|
||
|
--extern bit_allocator=$PWD/outdir/libbit_allocator.rlib \
|
||
|
--extern bit_field=$PWD/outdir/libbit_field.rlib \
|
||
|
--extern bitflags=$PWD/outdir/libbitflags.rlib \
|
||
|
--extern lazy_static=$PWD/outdir/liblazy_static.rlib \
|
||
|
--extern linked_list_allocator=$PWD/outdir/liblinked_list_allocator.rlib \
|
||
|
--extern log=$PWD/outdir/liblog.rlib \
|
||
|
--extern once=$PWD/outdir/libonce.rlib \
|
||
|
--extern riscv=$PWD/outdir/libriscv.rlib \
|
||
|
--extern simple_filesystem=$PWD/outdir/libsimple_filesystem.rlib \
|
||
|
--extern spin=$PWD/outdir/libspin.rlib \
|
||
|
--extern ucore_memory=$PWD/outdir/libucore_memory.rlib \
|
||
|
--extern ucore_process=$PWD/outdir/libucore_process.rlib \
|
||
|
--extern volatile=$PWD/outdir/libvolatile.rlib \
|
||
|
--extern xmas_elf=$PWD/outdir/libxmas_elf.rlib \
|
||
|
-L native=/home/dzy/rust/RustOS/kernel/target/rv64/debug/build/ucore-6787973a04115b52/out \
|
||
|
-L native=/home/dzy/rust/RustOS/kernel/target/rv64/debug/build/ucore-6787973a04115b52/out -l static=atomic_rt -l static=sfsimg
|
||
|
gen_full_rlib
|
||
|
|
||
|
rustc --edition=2018 --crate-name ucore src/main.rs \
|
||
|
--color never --crate-type bin --emit=metadata,llvm-ir \
|
||
|
-C opt-level=1 \
|
||
|
-C debuginfo=2 \
|
||
|
-C debug-assertions=on \
|
||
|
--out-dir $PWD/outdir \
|
||
|
--target /home/dzy/rust/RustOS/kernel/rv64.json \
|
||
|
-L $PWD/outdir \
|
||
|
--extern bbl=$PWD/outdir/libbbl.rlib \
|
||
|
--extern bit_allocator=$PWD/outdir/libbit_allocator.rlib \
|
||
|
--extern bit_field=$PWD/outdir/libbit_field.rlib \
|
||
|
--extern bitflags=$PWD/outdir/libbitflags.rlib \
|
||
|
--extern lazy_static=$PWD/outdir/liblazy_static.rlib \
|
||
|
--extern linked_list_allocator=$PWD/outdir/liblinked_list_allocator.rlib \
|
||
|
--extern log=$PWD/outdir/liblog.rlib \
|
||
|
--extern once=$PWD/outdir/libonce.rlib \
|
||
|
--extern riscv=$PWD/outdir/libriscv.rlib \
|
||
|
--extern simple_filesystem=$PWD/outdir/libsimple_filesystem.rlib \
|
||
|
--extern spin=$PWD/outdir/libspin.rlib \
|
||
|
--extern ucore=$PWD/outdir/libucore.rlib \
|
||
|
--extern ucore_memory=$PWD/outdir/libucore_memory.rlib \
|
||
|
--extern ucore_process=$PWD/outdir/libucore_process.rlib \
|
||
|
--extern volatile=$PWD/outdir/libvolatile.rlib \
|
||
|
--extern xmas_elf=$PWD/outdir/libxmas_elf.rlib \
|
||
|
-L native=/home/dzy/rust/RustOS/kernel/target/rv64/debug/build/ucore-6787973a04115b52/out \
|
||
|
-L native=/home/dzy/rust/RustOS/kernel/target/rv64/debug/build/ucore-6787973a04115b52/out
|
||
|
|
||
|
exit 0
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
cd ../riscv-pk && mkdir -p build && cd build
|
||
|
|
||
|
../configure \
|
||
|
--with-arch=rv32imac \
|
||
|
--disable-fp-emulation \
|
||
|
--host=riscv32-unknown-elf \
|
||
|
--with-payload=../../kernel/outdir/ucore
|
||
|
|
||
|
make
|
||
|
|
||
|
cp bbl ../../kernel/outdir/kernel.bin
|
||
|
|
||
|
cd ../../kernel
|
||
|
|
||
|
qemu-system-riscv32 -smp cores=4 -nographic -machine virt -kernel outdir/kernel.bin || [ $? -eq 11 ] # run qemu and assert it exit 11
|
||
|
|
||
|
|