rust: Upgrade to 1.56.0

This is latest major release, changes are here [1]

Forward port libstd-rs patches and refresh musl/rv64 port

[1] https://github.com/rust-lang/rust/releases/tag/1.56.0

(From OE-Core rev: 183204cbc70a4ef418b16df48bc7eb6e3a75a114)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Khem Raj
2021-10-22 23:52:03 -07:00
committed by Richard Purdie
parent 6e23879162
commit dec1a60146
17 changed files with 79 additions and 193 deletions

View File

@@ -27,7 +27,7 @@ GOVERSION ?= "1.16%"
# This can not use wildcards like 8.0.% since it is also used in mesa to denote
# llvm version being used, so always bump it with llvm recipe version bump
LLVMVERSION ?= "12.0.1"
RUSTVERSION ?= "1.55.0"
RUSTVERSION ?= "1.56.0"
PREFERRED_VERSION_gcc ?= "${GCCVERSION}"
PREFERRED_VERSION_gcc-cross-${TARGET_ARCH} ?= "${GCCVERSION}"

View File

@@ -1,7 +1,7 @@
From 4e188d047dee33a19902113a3c90cdf1d8310a9e Mon Sep 17 00:00:00 2001
From: Ralf Anton Beier <ralf_beier@me.com>
Date: Sun, 8 Aug 2021 11:05:06 +0200
Subject: [PATCH 5/8] Add base definitions for riscv64 + musl - libc-0.2.93
Subject: [PATCH 5/8] Add base definitions for riscv64 + musl
https://github.com/rust-lang/libc/pull/1994/commits/030a07761f61f3293d53752e60edbd330a9d718d
@@ -11,12 +11,10 @@ Signed-off-by: Ralf Anton Beier <ralf_beier@me.com>
.../src/unix/linux_like/linux/musl/b64/mod.rs | 3 +
.../linux_like/linux/musl/b64/riscv64/mod.rs | 867 ++++++++++++++++++
2 files changed, 870 insertions(+)
create mode 100644 vendor/libc-0.2.93/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
create mode 100644 vendor/libc-0.2.98/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
diff --git a/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/b64/mod.rs b/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/b64/mod.rs
index cfcdaaecf..7261b95d2 100644
--- a/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/b64/mod.rs
+++ b/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/b64/mod.rs
--- a/vendor/libc/src/unix/linux_like/linux/musl/b64/mod.rs
+++ b/vendor/libc/src/unix/linux_like/linux/musl/b64/mod.rs
@@ -163,6 +163,9 @@ cfg_if! {
} else if #[cfg(any(target_arch = "x86_64"))] {
mod x86_64;
@@ -27,12 +25,9 @@ index cfcdaaecf..7261b95d2 100644
} else {
// Unknown target_arch
}
diff --git a/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs b/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
new file mode 100644
index 000000000..14bae11d0
--- /dev/null
+++ b/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
@@ -0,0 +1,867 @@
+++ b/vendor/libc/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
@@ -0,0 +1,832 @@
+//! RISC-V-specific definitions for 64-bit linux-like values
+
+pub type c_char = u8;
@@ -340,59 +335,7 @@ index 000000000..14bae11d0
+pub const ENOTRECOVERABLE: ::c_int = 131;
+pub const EHWPOISON: ::c_int = 133;
+pub const ERFKILL: ::c_int = 132;
+pub const SOL_SOCKET: ::c_int = 1;
+pub const SO_REUSEADDR: ::c_int = 2;
+pub const SO_TYPE: ::c_int = 3;
+pub const SO_ERROR: ::c_int = 4;
+pub const SO_DONTROUTE: ::c_int = 5;
+pub const SO_BROADCAST: ::c_int = 6;
+pub const SO_SNDBUF: ::c_int = 7;
+pub const SO_RCVBUF: ::c_int = 8;
+pub const SO_SNDBUFFORCE: ::c_int = 32;
+pub const SO_RCVBUFFORCE: ::c_int = 33;
+pub const SO_KEEPALIVE: ::c_int = 9;
+pub const SO_OOBINLINE: ::c_int = 10;
+pub const SO_NO_CHECK: ::c_int = 11;
+pub const SO_PRIORITY: ::c_int = 12;
+pub const SO_LINGER: ::c_int = 13;
+pub const SO_BSDCOMPAT: ::c_int = 14;
+pub const SO_REUSEPORT: ::c_int = 15;
+pub const SO_PASSCRED: ::c_int = 16;
+pub const SO_PEERCRED: ::c_int = 17;
+pub const SO_RCVLOWAT: ::c_int = 18;
+pub const SO_SNDLOWAT: ::c_int = 19;
+pub const SO_RCVTIMEO: ::c_int = 20;
+pub const SO_SNDTIMEO: ::c_int = 21;
+pub const SO_SECURITY_AUTHENTICATION: ::c_int = 22;
+pub const SO_SECURITY_ENCRYPTION_TRANSPORT: ::c_int = 23;
+pub const SO_SECURITY_ENCRYPTION_NETWORK: ::c_int = 24;
+pub const SO_BINDTODEVICE: ::c_int = 25;
+pub const SO_ATTACH_FILTER: ::c_int = 26;
+pub const SO_DETACH_FILTER: ::c_int = 27;
+pub const SO_GET_FILTER: ::c_int = 26;
+pub const SO_PEERNAME: ::c_int = 28;
+pub const SO_TIMESTAMP: ::c_int = 29;
+pub const SO_ACCEPTCONN: ::c_int = 30;
+pub const SO_PEERSEC: ::c_int = 31;
+pub const SO_PASSSEC: ::c_int = 34;
+pub const SO_TIMESTAMPNS: ::c_int = 35;
+pub const SCM_TIMESTAMPNS: ::c_int = 35;
+pub const SO_MARK: ::c_int = 36;
+pub const SO_PROTOCOL: ::c_int = 38;
+pub const SO_DOMAIN: ::c_int = 39;
+pub const SO_RXQ_OVFL: ::c_int = 40;
+pub const SO_WIFI_STATUS: ::c_int = 41;
+pub const SCM_WIFI_STATUS: ::c_int = 41;
+pub const SO_PEEK_OFF: ::c_int = 42;
+pub const SO_NOFCS: ::c_int = 43;
+pub const SO_LOCK_FILTER: ::c_int = 44;
+pub const SO_SELECT_ERR_QUEUE: ::c_int = 45;
+pub const SO_BUSY_POLL: ::c_int = 46;
+pub const SO_MAX_PACING_RATE: ::c_int = 47;
+pub const SO_BPF_EXTENSIONS: ::c_int = 48;
+pub const SO_INCOMING_CPU: ::c_int = 49;
+pub const SO_ATTACH_BPF: ::c_int = 50;
+pub const SO_DETACH_BPF: ::c_int = 27;
+
+pub const SOCK_STREAM: ::c_int = 1;
+pub const SOCK_DGRAM: ::c_int = 2;
+pub const SA_ONSTACK: ::c_int = 134217728;
@@ -498,7 +441,7 @@ index 000000000..14bae11d0
+pub const MAP_POPULATE: ::c_int = 32768;
+pub const MAP_NONBLOCK: ::c_int = 65536;
+pub const MAP_STACK: ::c_int = 131072;
+pub const MAP_SYNC : ::c_int = 0x080000;
+pub const MAP_SYNC: ::c_int = 0x080000;
+pub const EDEADLOCK: ::c_int = 35;
+pub const EUCLEAN: ::c_int = 117;
+pub const ENOTNAM: ::c_int = 118;
@@ -898,8 +841,22 @@ index 000000000..14bae11d0
+pub const SYS_pkey_alloc: ::c_long = 289;
+pub const SYS_pkey_free: ::c_long = 290;
+pub const SYS_statx: ::c_long = 291;
+pub const SYS_pidfd_send_signal: ::c_long = 424;
+pub const SYS_io_uring_setup: ::c_long = 425;
+pub const SYS_io_uring_enter: ::c_long = 426;
+pub const SYS_io_uring_register: ::c_long = 427;
+pub const SYS_open_tree: ::c_long = 428;
+pub const SYS_move_mount: ::c_long = 429;
+pub const SYS_fsopen: ::c_long = 430;
+pub const SYS_fsconfig: ::c_long = 431;
+pub const SYS_fsmount: ::c_long = 432;
+pub const SYS_fspick: ::c_long = 433;
+pub const SYS_pidfd_open: ::c_long = 434;
+pub const SYS_clone3: ::c_long = 435;
--
2.27.0
+pub const SYS_close_range: ::c_long = 436;
+pub const SYS_openat2: ::c_long = 437;
+pub const SYS_pidfd_getfd: ::c_long = 438;
+pub const SYS_faccessat2: ::c_long = 439;
+pub const SYS_process_madvise: ::c_long = 440;
+pub const SYS_epoll_pwait2: ::c_long = 441;
+pub const SYS_mount_setattr: ::c_long = 442;

View File

@@ -1,22 +1,19 @@
From 4319893ebb7fca8bbd2bffc4bddb8d3ecdc08cc2 Mon Sep 17 00:00:00 2001
From: Ralf Anton Beier <ralf_beier@me.com>
Date: Sun, 8 Aug 2021 11:07:21 +0200
Subject: [PATCH 6/8] FIXUP: linux/musl/mod.rs: add riscv64 to b64 set -
libc-0.2.93
Subject: [PATCH 6/8] FIXUP: linux/musl/mod.rs: add riscv64 to b64 set
https://github.com/rust-lang/libc/pull/1994/commits/30070c822be2ef399b2ba38cdc1d72ac694d65a3
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ralf Anton Beier <ralf_beier@me.com>
---
vendor/libc-0.2.93/src/unix/linux_like/linux/musl/mod.rs | 3 ++-
vendor/libc-0.2.98/src/unix/linux_like/linux/musl/mod.rs | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/mod.rs b/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/mod.rs
index 00f26475d..a37f410fd 100644
--- a/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/mod.rs
+++ b/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/mod.rs
@@ -716,7 +716,8 @@ cfg_if! {
--- a/vendor/libc/src/unix/linux_like/linux/musl/mod.rs
+++ b/vendor/libc/src/unix/linux_like/linux/musl/mod.rs
@@ -709,7 +709,8 @@ cfg_if! {
target_arch = "aarch64",
target_arch = "mips64",
target_arch = "powerpc64",
@@ -26,6 +23,3 @@ index 00f26475d..a37f410fd 100644
mod b64;
pub use self::b64::*;
} else if #[cfg(any(target_arch = "x86",
--
2.27.0

View File

@@ -1,7 +1,7 @@
From 9d240d05c6e6620f36e4ddbcbcb5862fb3269d9f Mon Sep 17 00:00:00 2001
From: Ralf Anton Beier <ralf_beier@me.com>
Date: Sun, 8 Aug 2021 11:09:17 +0200
Subject: [PATCH 7/8] FIXUP Correct definitions to match musl - libc-0.2.93
Subject: [PATCH 7/8] FIXUP Correct definitions to match musl
https://github.com/rust-lang/libc/pull/1994/commits/5f6a4d9745c79c81be63c708515ab116786554a3
@@ -11,11 +11,9 @@ Signed-off-by: Ralf Anton Beier <ralf_beier@me.com>
.../linux_like/linux/musl/b64/riscv64/mod.rs | 708 ++++++++----------
1 file changed, 311 insertions(+), 397 deletions(-)
diff --git a/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs b/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
index 14bae11d0..c37190cca 100644
--- a/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
+++ b/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
@@ -191,403 +191,8 @@ s! {
--- a/vendor/libc/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
+++ b/vendor/libc/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
@@ -191,351 +191,8 @@ s! {
pub l_len: ::off64_t,
pub l_pid: ::pid_t,
}
@@ -133,59 +131,7 @@ index 14bae11d0..c37190cca 100644
-pub const ENOTRECOVERABLE: ::c_int = 131;
-pub const EHWPOISON: ::c_int = 133;
-pub const ERFKILL: ::c_int = 132;
-pub const SOL_SOCKET: ::c_int = 1;
-pub const SO_REUSEADDR: ::c_int = 2;
-pub const SO_TYPE: ::c_int = 3;
-pub const SO_ERROR: ::c_int = 4;
-pub const SO_DONTROUTE: ::c_int = 5;
-pub const SO_BROADCAST: ::c_int = 6;
-pub const SO_SNDBUF: ::c_int = 7;
-pub const SO_RCVBUF: ::c_int = 8;
-pub const SO_SNDBUFFORCE: ::c_int = 32;
-pub const SO_RCVBUFFORCE: ::c_int = 33;
-pub const SO_KEEPALIVE: ::c_int = 9;
-pub const SO_OOBINLINE: ::c_int = 10;
-pub const SO_NO_CHECK: ::c_int = 11;
-pub const SO_PRIORITY: ::c_int = 12;
-pub const SO_LINGER: ::c_int = 13;
-pub const SO_BSDCOMPAT: ::c_int = 14;
-pub const SO_REUSEPORT: ::c_int = 15;
-pub const SO_PASSCRED: ::c_int = 16;
-pub const SO_PEERCRED: ::c_int = 17;
-pub const SO_RCVLOWAT: ::c_int = 18;
-pub const SO_SNDLOWAT: ::c_int = 19;
-pub const SO_RCVTIMEO: ::c_int = 20;
-pub const SO_SNDTIMEO: ::c_int = 21;
-pub const SO_SECURITY_AUTHENTICATION: ::c_int = 22;
-pub const SO_SECURITY_ENCRYPTION_TRANSPORT: ::c_int = 23;
-pub const SO_SECURITY_ENCRYPTION_NETWORK: ::c_int = 24;
-pub const SO_BINDTODEVICE: ::c_int = 25;
-pub const SO_ATTACH_FILTER: ::c_int = 26;
-pub const SO_DETACH_FILTER: ::c_int = 27;
-pub const SO_GET_FILTER: ::c_int = 26;
-pub const SO_PEERNAME: ::c_int = 28;
-pub const SO_TIMESTAMP: ::c_int = 29;
-pub const SO_ACCEPTCONN: ::c_int = 30;
-pub const SO_PEERSEC: ::c_int = 31;
-pub const SO_PASSSEC: ::c_int = 34;
-pub const SO_TIMESTAMPNS: ::c_int = 35;
-pub const SCM_TIMESTAMPNS: ::c_int = 35;
-pub const SO_MARK: ::c_int = 36;
-pub const SO_PROTOCOL: ::c_int = 38;
-pub const SO_DOMAIN: ::c_int = 39;
-pub const SO_RXQ_OVFL: ::c_int = 40;
-pub const SO_WIFI_STATUS: ::c_int = 41;
-pub const SCM_WIFI_STATUS: ::c_int = 41;
-pub const SO_PEEK_OFF: ::c_int = 42;
-pub const SO_NOFCS: ::c_int = 43;
-pub const SO_LOCK_FILTER: ::c_int = 44;
-pub const SO_SELECT_ERR_QUEUE: ::c_int = 45;
-pub const SO_BUSY_POLL: ::c_int = 46;
-pub const SO_MAX_PACING_RATE: ::c_int = 47;
-pub const SO_BPF_EXTENSIONS: ::c_int = 48;
-pub const SO_INCOMING_CPU: ::c_int = 49;
-pub const SO_ATTACH_BPF: ::c_int = 50;
-pub const SO_DETACH_BPF: ::c_int = 27;
-
-pub const SOCK_STREAM: ::c_int = 1;
-pub const SOCK_DGRAM: ::c_int = 2;
-pub const SA_ONSTACK: ::c_int = 134217728;
@@ -291,7 +237,7 @@ index 14bae11d0..c37190cca 100644
-pub const MAP_POPULATE: ::c_int = 32768;
-pub const MAP_NONBLOCK: ::c_int = 65536;
-pub const MAP_STACK: ::c_int = 131072;
-pub const MAP_SYNC : ::c_int = 0x080000;
-pub const MAP_SYNC: ::c_int = 0x080000;
-pub const EDEADLOCK: ::c_int = 35;
-pub const EUCLEAN: ::c_int = 117;
-pub const ENOTNAM: ::c_int = 118;
@@ -419,12 +365,11 @@ index 14bae11d0..c37190cca 100644
pub const SYS_read: ::c_long = 63;
pub const SYS_write: ::c_long = 64;
pub const SYS_close: ::c_long = 57;
@@ -863,5 +468,314 @@ pub const SYS_pkey_mprotect: ::c_long = 288;
pub const SYS_pkey_alloc: ::c_long = 289;
pub const SYS_pkey_free: ::c_long = 290;
pub const SYS_statx: ::c_long = 291;
-pub const SYS_pidfd_open: ::c_long = 434;
-pub const SYS_clone3: ::c_long = 435;
@@ -830,3 +487,315 @@ pub const SYS_faccessat2: ::c_long = 439
pub const SYS_process_madvise: ::c_long = 440;
pub const SYS_epoll_pwait2: ::c_long = 441;
pub const SYS_mount_setattr: ::c_long = 442;
+
+
+pub const O_APPEND: ::c_int = 1024;
+pub const O_DIRECT: ::c_int = 0x4000;
@@ -736,6 +681,3 @@ index 14bae11d0..c37190cca 100644
+extern "C" {
+ pub fn ioctl(fd: ::c_int, request: ::c_int, ...) -> ::c_int;
+}
--
2.27.0

File diff suppressed because one or more lines are too long

View File

@@ -1,11 +0,0 @@
require rust-source.inc
require libstd-rs.inc
SRC_URI += " \
file://0005-Add-base-definitions-for-riscv64-musl-libc-0.2.93.patch;patchdir=../../ \
file://0006-FIXUP-linux-musl-mod.rs-add-riscv64-to-b64-set-libc-.patch;patchdir=../../ \
file://0007-FIXUP-Correct-definitions-to-match-musl-libc-0.2.93.patch;patchdir=../../ \
file://0008-Update-checksums-for-modified-files-for-rust-1.54.0-.patch;patchdir=../../ \
"
# libstd moved from src/libstd to library/std in 1.47+
S = "${RUSTSRC}/library/std"

View File

@@ -0,0 +1,11 @@
require rust-source.inc
require libstd-rs.inc
SRC_URI += " \
file://0005-Add-base-definitions-for-riscv64-musl-libc.patch;patchdir=../../ \
file://0006-FIXUP-linux-musl-mod.rs-add-riscv64-to-b64-set.patch;patchdir=../../ \
file://0007-FIXUP-Correct-definitions-to-match-musl.patch;patchdir=../../ \
file://0008-Update-checksums-for-modified-files-for-rust.patch;patchdir=../../ \
"
# libstd moved from src/libstd to library/std in 1.47+
S = "${RUSTSRC}/library/std"

View File

@@ -1,5 +1,5 @@
# check src/llvm-project/llvm/CMakeLists.txt for llvm version in use
#
LLVM_RELEASE = "12.0.1"
LLVM_RELEASE = "13.0.0"
require rust-source.inc
require rust-llvm.inc

View File

@@ -2,17 +2,17 @@
## snapshot info is taken from rust/src/stage0.txt
## TODO: find a way to add additional SRC_URIs based on the contents of an
## earlier SRC_URI.
RS_VERSION = "1.54.0"
CARGO_VERSION = "1.54.0"
RS_VERSION = "1.56.0"
CARGO_VERSION = "1.56.0"
# TODO: Add hashes for other architecture toolchains as well. Make a script?
SRC_URI[rust-std-snapshot-x86_64.sha256sum] = "a22e19859b3c5032daac1633637546a986c51bdfa3ad0db6e394e6cc461f466b"
SRC_URI[rustc-snapshot-x86_64.sha256sum] = "eafc06aba7128ee8592c16d7e3ae7b877e82c5d9779c9d07099558ed7e286296"
SRC_URI[cargo-snapshot-x86_64.sha256sum] = "8a9c80b7dc5d47e6eafe173b81ad96244522c97d74214ba7da57a502d49b231c"
SRC_URI[rust-std-snapshot-x86_64.sha256sum] = "f693e4f41a959d62528e0043b0b010c4815fb9f5887267ae34ff8b860f8ec4ae"
SRC_URI[rustc-snapshot-x86_64.sha256sum] = "2a5f919e2036496c02ab4707a5eb8bd8a4ce6ea589e01cb39f25d213a26dcdfe"
SRC_URI[cargo-snapshot-x86_64.sha256sum] = "f972125810d2db7df2e0af56d9f6a3dcdacc52d983bdf0ca17309b45fc44209b"
SRC_URI[rust-std-snapshot-aarch64.sha256sum] = "a1a77737d218087eb7d3613adcde2c9e383d758cdf128646a0ee63396145270b"
SRC_URI[rustc-snapshot-aarch64.sha256sum] = "0e771c06435b6fa3087ce054c7f2f94b8ee36717997f32f97e2e3425739ac2b4"
SRC_URI[cargo-snapshot-aarch64.sha256sum] = "b3b6e5358bf1ecd5d8d7e258a5632dac7d923b2aa8ab1c8c0f6aad62d9307b37"
SRC_URI[rust-std-snapshot-aarch64.sha256sum] = "3cd1c69c618e5efaf578a156c2a950c93964f9b47ba4d705d5700bdc64880231"
SRC_URI[rustc-snapshot-aarch64.sha256sum] = "0d2491a59f697d2ea52fc429b8d4665acb5f79b0e16703f3604b61b8aa68d1c4"
SRC_URI[cargo-snapshot-aarch64.sha256sum] = "9d97cd655845572846c058577f68ea74b6111f8ea7649db308f786475f764a09"
SRC_URI += " \
https://static.rust-lang.org/dist/${RUST_STD_SNAPSHOT}.tar.xz;name=rust-std-snapshot-${BUILD_ARCH};subdir=rust-snapshot-components \

View File

@@ -1,5 +1,5 @@
SRC_URI[rust.sha256sum] = "aec85a7c1f40b7a40818a58ae13632f8a12cfaa4d3e2a10957d0e9d16dfdd556"
SRC_URI += "https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz;name=rust"
SRC_URI[rust.sha256sum] = "f13468889833c88e744ad579c5d8fbb7ecb53216159b54481a90e5dcdaa9e320"
RUSTSRC = "${WORKDIR}/rustc-${PV}-src"