gnu: mrustc: Update to 0.10.0-2.597593a.

* gnu/packages/rust.scm (mrustc): Update to 0.10.0-2.597593a.
[source]: Remove patch.
(rust-bootstrap)[arguments]: Adjust custom 'patch-makefiles phase for
changes in source.
* gnu/packages/patches/mrustc-riscv64-support.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove it.
This commit is contained in:
Efraim Flashner 2022-10-20 09:06:51 +03:00
parent 270eb27b20
commit bf8b03667f
No known key found for this signature in database
GPG key ID: 41AAE7DCCA3D8351
3 changed files with 4 additions and 54 deletions

View file

@ -1544,7 +1544,6 @@ dist_patch_DATA = \
%D%/packages/patches/monero-use-system-miniupnpc.patch \
%D%/packages/patches/mosaicatcher-unbundle-htslib.patch \
%D%/packages/patches/mrrescue-support-love-11.patch \
%D%/packages/patches/mrustc-riscv64-support.patch \
%D%/packages/patches/mtools-mformat-uninitialized.patch \
%D%/packages/patches/mupen64plus-ui-console-notice.patch \
%D%/packages/patches/mupen64plus-video-z64-glew-correct-path.patch \

View file

@ -1,48 +0,0 @@
Patch sent upstream for review:
https://github.com/thepowersgang/mrustc/pull/276
diff --git a/src/trans/target.cpp b/src/trans/target.cpp
index 420a2870..4d5eefb3 100644
--- a/src/trans/target.cpp
+++ b/src/trans/target.cpp
@@ -65,6 +65,13 @@ const TargetArch ARCH_POWERPC64LE = {
{ /*atomic(u8)=*/true, true, true, true, true },
TargetArch::Alignments(2, 4, 8, 16, 4, 8, 8)
};
+// This is a guess
+const TargetArch ARCH_RISCV64 = {
+ "riscv64",
+ 64, false,
+ { /*atomic(u8)=*/true, true, true, true, true },
+ TargetArch::Alignments(2, 4, 8, 16, 4, 8, 8)
+};
TargetSpec g_target;
@@ -455,6 +462,13 @@ namespace
ARCH_POWERPC64LE
};
}
+ else if(target_name == "riscv64-unknown-linux-gnu")
+ {
+ return TargetSpec {
+ "unix", "linux", "gnu", {CodegenMode::Gnu11, false, "riscv64-unknown-linux-gnu", BACKEND_C_OPTS_GNU},
+ ARCH_RISCV64
+ };
+ }
else if(target_name == "i586-pc-windows-gnu")
{
return TargetSpec {
diff --git a/tools/common/target_detect.h b/tools/common/target_detect.h
index a052da6b..42fea91a 100644
--- a/tools/common/target_detect.h
+++ b/tools/common/target_detect.h
@@ -34,6 +34,8 @@
# define DEFAULT_TARGET_NAME "powerpc64-unknown-linux-gnu"
# elif defined(__powerpc64__) && defined(__LITTLE_ENDIAN__)
# define DEFAULT_TARGET_NAME "powerpc64le-unknown-linux-gnu"
+# elif defined(__riscv) && __riscv_xlen == 64
+# define DEFAULT_TARGET_NAME "riscv64-unknown-linux-gnu"
# else
# warning "Unable to detect a suitable default target (linux-gnu)"
# endif

View file

@ -124,11 +124,11 @@ (define* (rust-bootstrapped-package base-rust version checksum)
;;; Note: mrustc's only purpose is to be able to bootstap Rust; it's designed
;;; to be used in source form.
(define %mrustc-commit "b364724f15fd6fce8234ad8add68107c23a22151")
(define %mrustc-commit "597593aba86fa2edbea80c6e09f0b1b2a480722d")
(define %mrustc-source
(let* ((version "0.10")
(commit %mrustc-commit)
(revision "1")
(revision "2")
(name "mrustc"))
(origin
(method git-fetch)
@ -138,8 +138,7 @@ (define %mrustc-source
(file-name (git-file-name name (git-version version revision commit)))
(sha256
(base32
"0f7kh4n2663sn0z3xib8gzw0s97qpvwag40g2vs3bfjlrbpgi9z0"))
(patches (search-patches "mrustc-riscv64-support.patch")))))
"09rvm3zgx1d86gippl8qzh13m641ynbw9q0zsc90g0h1khd3z3b6")))))
;;; Rust 1.54 is special in that it is built with mrustc, which shortens the
;;; bootstrap path.
@ -229,7 +228,7 @@ (define rust-bootstrap
(substitute* '("minicargo.mk"
"run_rustc/Makefile")
;; Use the system-provided LLVM.
(("LLVM_CONFIG := .*")
(("LLVM_CONFIG [:|?]= .*")
(string-append "LLVM_CONFIG := " llvm "/bin/llvm-config\n")))
(substitute* "minicargo.mk"
;; Do not try to fetch sources from the Internet.