Merge remote-tracking branch 'origin/staging'
commit
166da5b2b6
|
@ -1543,7 +1543,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 \
|
||||
|
|
|
@ -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
|
|
@ -15,6 +15,7 @@
|
|||
;;; Copyright © 2021 (unmatched parenthesis <paren@disroot.org>
|
||||
;;; Copyright © 2022 Zheng Junjie <873216071@qq.com>
|
||||
;;; Copyright © 2022 Jim Newsome <jnewsome@torproject.org>
|
||||
;;; Copyright © 2022 Mark H Weaver <mhw@netris.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -124,11 +125,11 @@
|
|||
|
||||
;;; 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 +139,14 @@
|
|||
(file-name (git-file-name name (git-version version revision commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"0f7kh4n2663sn0z3xib8gzw0s97qpvwag40g2vs3bfjlrbpgi9z0"))
|
||||
(patches (search-patches "mrustc-riscv64-support.patch")))))
|
||||
"09rvm3zgx1d86gippl8qzh13m641ynbw9q0zsc90g0h1khd3z3b6"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Drastically reduces memory and build time requirements
|
||||
;; by disabling debug by default.
|
||||
(substitute* (find-files "." "Makefile")
|
||||
(("-g ") "")))))))
|
||||
|
||||
;;; Rust 1.54 is special in that it is built with mrustc, which shortens the
|
||||
;;; bootstrap path.
|
||||
|
@ -229,7 +236,7 @@
|
|||
(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.
|
||||
|
@ -439,6 +446,7 @@ submodules = false
|
|||
prefix = \"" out "\"
|
||||
sysconfdir = \"etc\"
|
||||
[rust]
|
||||
debug=false
|
||||
jemalloc=true
|
||||
default-linker = \"" gcc "/bin/gcc" "\"
|
||||
channel = \"stable\"
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
;;; Copyright © 2016 David Craven <david@craven.ch>
|
||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2019 Ivan Petkov <ivanppetkov@gmail.com>
|
||||
;;; Copyright © 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2019-2022 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
|
||||
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
|
||||
;;;
|
||||
|
@ -135,7 +135,8 @@ Cargo.toml file present at its root."
|
|||
;; so that we can generate any cargo checksums.
|
||||
;; The --strip-components argument is needed to prevent creating
|
||||
;; an extra directory within `crate-dir`.
|
||||
(invoke "tar" "xvf" path "-C" crate-dir "--strip-components" "1")))))
|
||||
(format #t "Unpacking ~a~%" name)
|
||||
(invoke "tar" "xf" path "-C" crate-dir "--strip-components" "1")))))
|
||||
inputs)
|
||||
|
||||
;; Configure cargo to actually use this new directory.
|
||||
|
|
Reference in New Issue