summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/classes/cargo.bbclass89
-rw-r--r--meta/classes/cargo_common.bbclass129
-rw-r--r--meta/classes/crate-fetch.bbclass13
-rw-r--r--meta/classes/rust-bin.bbclass149
-rw-r--r--meta/classes/rust-common.bbclass174
-rw-r--r--meta/classes/rust.bbclass45
-rw-r--r--meta/conf/distro/include/rust_security_flags.inc7
-rw-r--r--meta/conf/distro/include/rust_versions.inc13
-rw-r--r--meta/lib/crate.py149
-rw-r--r--meta/recipes-core/packagegroups/packagegroup-rust-cross-canadian.bb18
-rw-r--r--meta/recipes-devtools/cargo/cargo-1.51.0/0001-Disable-http2.patch28
-rw-r--r--meta/recipes-devtools/cargo/cargo-1.51.0/riscv-march.patch73
-rw-r--r--meta/recipes-devtools/cargo/cargo-1.51.0/rv64gc.patch37
-rw-r--r--meta/recipes-devtools/cargo/cargo-cross-canadian.inc74
-rw-r--r--meta/recipes-devtools/cargo/cargo-cross-canadian_1.51.0.bb6
-rw-r--r--meta/recipes-devtools/cargo/cargo-cross-canadian_1.54.0.bb6
-rw-r--r--meta/recipes-devtools/cargo/cargo.inc50
-rw-r--r--meta/recipes-devtools/cargo/cargo_1.51.0.bb8
-rw-r--r--meta/recipes-devtools/cargo/cargo_1.54.0.bb4
-rw-r--r--meta/recipes-devtools/rust/files/riscv-march.patch73
-rw-r--r--meta/recipes-devtools/rust/files/rv64gc.patch37
-rw-r--r--meta/recipes-devtools/rust/libstd-rs-1.51.0/0001-Add-base-definitions-for-riscv64-musl.patch904
-rw-r--r--meta/recipes-devtools/rust/libstd-rs-1.51.0/0002-FIXUP-linux-musl-mod.rs-add-riscv64-to-b64-set.patch29
-rw-r--r--meta/recipes-devtools/rust/libstd-rs-1.51.0/0003-FIXUP-Correct-definitions-to-match-musl.patch740
-rw-r--r--meta/recipes-devtools/rust/libstd-rs-1.51.0/0004-Update-1.51.0-checksums-for-modified-files.patch21
-rw-r--r--meta/recipes-devtools/rust/libstd-rs-1.51.0/0004-Update-checksums-for-modified-files.patch21
-rw-r--r--meta/recipes-devtools/rust/libstd-rs-1.54.0/0005-Add-base-definitions-for-riscv64-musl-libc-0.2.93.patch905
-rw-r--r--meta/recipes-devtools/rust/libstd-rs-1.54.0/0006-FIXUP-linux-musl-mod.rs-add-riscv64-to-b64-set-libc-.patch31
-rw-r--r--meta/recipes-devtools/rust/libstd-rs-1.54.0/0007-FIXUP-Correct-definitions-to-match-musl-libc-0.2.93.patch741
-rw-r--r--meta/recipes-devtools/rust/libstd-rs-1.54.0/0008-Update-checksums-for-modified-files-for-rust-1.54.0-.patch23
-rw-r--r--meta/recipes-devtools/rust/libstd-rs.inc40
-rw-r--r--meta/recipes-devtools/rust/libstd-rs_1.51.0.bb12
-rw-r--r--meta/recipes-devtools/rust/libstd-rs_1.54.0.bb11
-rw-r--r--meta/recipes-devtools/rust/rust-common.inc346
-rw-r--r--meta/recipes-devtools/rust/rust-cross-canadian-common.inc53
-rw-r--r--meta/recipes-devtools/rust/rust-cross-canadian.inc78
-rw-r--r--meta/recipes-devtools/rust/rust-cross-canadian_1.51.0.bb6
-rw-r--r--meta/recipes-devtools/rust/rust-cross-canadian_1.54.0.bb6
-rw-r--r--meta/recipes-devtools/rust/rust-cross.inc71
-rw-r--r--meta/recipes-devtools/rust/rust-cross_1.51.0.bb2
-rw-r--r--meta/recipes-devtools/rust/rust-cross_1.54.0.bb2
-rw-r--r--meta/recipes-devtools/rust/rust-llvm.inc63
-rw-r--r--meta/recipes-devtools/rust/rust-llvm/0001-nfc-Fix-missing-include.patch26
-rw-r--r--meta/recipes-devtools/rust/rust-llvm/0002-llvm-allow-env-override-of-exe-path.patch32
-rw-r--r--meta/recipes-devtools/rust/rust-llvm_1.51.0.bb7
-rw-r--r--meta/recipes-devtools/rust/rust-llvm_1.54.0.bb5
-rw-r--r--meta/recipes-devtools/rust/rust-snapshot-1.51.0.inc18
-rw-r--r--meta/recipes-devtools/rust/rust-snapshot-1.54.0.inc18
-rw-r--r--meta/recipes-devtools/rust/rust-snapshot.inc9
-rw-r--r--meta/recipes-devtools/rust/rust-source-1.51.0.inc3
-rw-r--r--meta/recipes-devtools/rust/rust-source-1.54.0.inc3
-rw-r--r--meta/recipes-devtools/rust/rust-source.inc3
-rw-r--r--meta/recipes-devtools/rust/rust-target.inc10
-rw-r--r--meta/recipes-devtools/rust/rust-tools-cross-canadian.inc38
-rw-r--r--meta/recipes-devtools/rust/rust-tools-cross-canadian_1.51.0.bb6
-rw-r--r--meta/recipes-devtools/rust/rust-tools-cross-canadian_1.54.0.bb6
-rw-r--r--meta/recipes-devtools/rust/rust.inc193
-rw-r--r--meta/recipes-devtools/rust/rust/0001-rustc_target-Fix-dash-vs-underscore-mismatches-in-op.patch75
-rw-r--r--meta/recipes-devtools/rust/rust_1.51.0.bb16
-rw-r--r--meta/recipes-devtools/rust/rust_1.54.0.bb11
-rw-r--r--meta/recipes-example/rust-hello-world/rust-hello-world/0001-enable-LTO.patch23
-rw-r--r--meta/recipes-example/rust-hello-world/rust-hello-world_git.bb17
-rw-r--r--meta/recipes-example/rustfmt/rustfmt_1.4.2.bb171
63 files changed, 5977 insertions, 0 deletions
diff --git a/meta/classes/cargo.bbclass b/meta/classes/cargo.bbclass
new file mode 100644
index 0000000000..0ca38143c0
--- /dev/null
+++ b/meta/classes/cargo.bbclass
@@ -0,0 +1,89 @@
1##
2## Purpose:
3## This class is used by any recipes that are built using
4## Cargo.
5
6inherit cargo_common
7
8# the binary we will use
9CARGO = "cargo"
10
11# We need cargo to compile for the target
12BASEDEPENDS:append = " cargo-native"
13
14# Ensure we get the right rust variant
15DEPENDS:append:class-target = " virtual/${TARGET_PREFIX}rust ${RUSTLIB_DEP}"
16DEPENDS:append:class-native = " rust-native"
17
18# Enable build separation
19B = "${WORKDIR}/build"
20
21# In case something fails in the build process, give a bit more feedback on
22# where the issue occured
23export RUST_BACKTRACE = "1"
24
25# The directory of the Cargo.toml relative to the root directory, per default
26# assume there's a Cargo.toml directly in the root directory
27CARGO_SRC_DIR ??= ""
28
29# The actual path to the Cargo.toml
30MANIFEST_PATH ??= "${S}/${CARGO_SRC_DIR}/Cargo.toml"
31
32RUSTFLAGS ??= ""
33BUILD_MODE = "${@['--release', ''][d.getVar('DEBUG_BUILD') == '1']}"
34CARGO_BUILD_FLAGS = "-v --target ${HOST_SYS} ${BUILD_MODE} --manifest-path=${MANIFEST_PATH}"
35
36# This is based on the content of CARGO_BUILD_FLAGS and generally will need to
37# change if CARGO_BUILD_FLAGS changes.
38BUILD_DIR = "${@['release', 'debug'][d.getVar('DEBUG_BUILD') == '1']}"
39CARGO_TARGET_SUBDIR="${HOST_SYS}/${BUILD_DIR}"
40oe_cargo_build () {
41 export RUSTFLAGS="${RUSTFLAGS}"
42 export RUST_TARGET_PATH="${RUST_TARGET_PATH}"
43 bbnote "cargo = $(which ${CARGO})"
44 bbnote "rustc = $(which ${RUSTC})"
45 bbnote "${CARGO} build ${CARGO_BUILD_FLAGS} $@"
46 "${CARGO}" build ${CARGO_BUILD_FLAGS} "$@"
47}
48
49do_compile[progress] = "outof:\s+(\d+)/(\d+)"
50cargo_do_compile () {
51 oe_cargo_fix_env
52 oe_cargo_build
53}
54
55cargo_do_install () {
56 local have_installed=false
57 for tgt in "${B}/target/${CARGO_TARGET_SUBDIR}/"*; do
58 case $tgt in
59 *.so|*.rlib)
60 install -d "${D}${rustlibdir}"
61 install -m755 "$tgt" "${D}${rustlibdir}"
62 have_installed=true
63 ;;
64 *examples)
65 if [ -d "$tgt" ]; then
66 for example in "$tgt/"*; do
67 if [ -f "$example" ] && [ -x "$example" ]; then
68 install -d "${D}${bindir}"
69 install -m755 "$example" "${D}${bindir}"
70 have_installed=true
71 fi
72 done
73 fi
74 ;;
75 *)
76 if [ -f "$tgt" ] && [ -x "$tgt" ]; then
77 install -d "${D}${bindir}"
78 install -m755 "$tgt" "${D}${bindir}"
79 have_installed=true
80 fi
81 ;;
82 esac
83 done
84 if ! $have_installed; then
85 die "Did not find anything to install"
86 fi
87}
88
89EXPORT_FUNCTIONS do_compile do_install
diff --git a/meta/classes/cargo_common.bbclass b/meta/classes/cargo_common.bbclass
new file mode 100644
index 0000000000..b0b039a22e
--- /dev/null
+++ b/meta/classes/cargo_common.bbclass
@@ -0,0 +1,129 @@
1##
2## Purpose:
3## This class is to support building with cargo. It
4## must be different than cargo.bbclass because Rust
5## now builds with Cargo but cannot use cargo.bbclass
6## due to dependencies and assumptions in cargo.bbclass
7## that Rust & Cargo are already installed. So this
8## is used by cargo.bbclass and Rust
9##
10
11# add crate fetch support
12inherit crate-fetch
13inherit rust-common
14
15# Where we download our registry and dependencies to
16export CARGO_HOME = "${WORKDIR}/cargo_home"
17
18# The pkg-config-rs library used by cargo build scripts disables itself when
19# cross compiling unless this is defined. We set up pkg-config appropriately
20# for cross compilation, so tell it we know better than it.
21export PKG_CONFIG_ALLOW_CROSS = "1"
22
23# Don't instruct cargo to use crates downloaded by bitbake. Some rust packages,
24# for example the rust compiler itself, come with their own vendored sources.
25# Specifying two [source.crates-io] will not work.
26CARGO_DISABLE_BITBAKE_VENDORING ?= "0"
27
28# Used by libstd-rs to point to the vendor dir included in rustc src
29CARGO_VENDORING_DIRECTORY ?= "${CARGO_HOME}/bitbake"
30
31CARGO_RUST_TARGET_CCLD ?= "${RUST_TARGET_CCLD}"
32cargo_common_do_configure () {
33 mkdir -p ${CARGO_HOME}/bitbake
34
35 cat <<- EOF > ${CARGO_HOME}/config
36 # EXTRA_OECARGO_PATHS
37 paths = [
38 $(for p in ${EXTRA_OECARGO_PATHS}; do echo \"$p\",; done)
39 ]
40 EOF
41
42 cat <<- EOF >> ${CARGO_HOME}/config
43
44 # Local mirror vendored by bitbake
45 [source.bitbake]
46 directory = "${CARGO_VENDORING_DIRECTORY}"
47 EOF
48
49 if [ -z "${EXTERNALSRC}" ] && [ ${CARGO_DISABLE_BITBAKE_VENDORING} = "0" ]; then
50 cat <<- EOF >> ${CARGO_HOME}/config
51
52 [source.crates-io]
53 replace-with = "bitbake"
54 local-registry = "/nonexistant"
55 EOF
56 fi
57
58 cat <<- EOF >> ${CARGO_HOME}/config
59
60 [http]
61 # Multiplexing can't be enabled because http2 can't be enabled
62 # in curl-native without dependency loops
63 multiplexing = false
64
65 # Ignore the hard coded and incorrect path to certificates
66 cainfo = "${STAGING_ETCDIR_NATIVE}/ssl/certs/ca-certificates.crt"
67
68 EOF
69
70 if [ -n "${http_proxy}" ]; then
71 echo "proxy = \"${http_proxy}\"" >> ${CARGO_HOME}/config
72 fi
73
74 cat <<- EOF >> ${CARGO_HOME}/config
75
76 # HOST_SYS
77 [target.${HOST_SYS}]
78 linker = "${CARGO_RUST_TARGET_CCLD}"
79 EOF
80
81 if [ "${HOST_SYS}" != "${BUILD_SYS}" ]; then
82 cat <<- EOF >> ${CARGO_HOME}/config
83
84 # BUILD_SYS
85 [target.${BUILD_SYS}]
86 linker = "${RUST_BUILD_CCLD}"
87 EOF
88 fi
89
90 # Put build output in build directory preferred by bitbake instead of
91 # inside source directory unless they are the same
92 if [ "${B}" != "${S}" ]; then
93 cat <<- EOF >> ${CARGO_HOME}/config
94
95 [build]
96 # Use out of tree build destination to avoid poluting the source tree
97 target-dir = "${B}/target"
98 EOF
99 fi
100
101 cat <<- EOF >> ${CARGO_HOME}/config
102
103 [term]
104 progress.when = 'always'
105 progress.width = 80
106 EOF
107}
108
109oe_cargo_fix_env () {
110 export CC="${RUST_TARGET_CC}"
111 export CXX="${RUST_TARGET_CXX}"
112 export CFLAGS="${CFLAGS}"
113 export CXXFLAGS="${CXXFLAGS}"
114 export AR="${AR}"
115 export TARGET_CC="${RUST_TARGET_CC}"
116 export TARGET_CXX="${RUST_TARGET_CXX}"
117 export TARGET_CFLAGS="${CFLAGS}"
118 export TARGET_CXXFLAGS="${CXXFLAGS}"
119 export TARGET_AR="${AR}"
120 export HOST_CC="${RUST_BUILD_CC}"
121 export HOST_CXX="${RUST_BUILD_CXX}"
122 export HOST_CFLAGS="${BUILD_CFLAGS}"
123 export HOST_CXXFLAGS="${BUILD_CXXFLAGS}"
124 export HOST_AR="${BUILD_AR}"
125}
126
127EXTRA_OECARGO_PATHS ??= ""
128
129EXPORT_FUNCTIONS do_configure
diff --git a/meta/classes/crate-fetch.bbclass b/meta/classes/crate-fetch.bbclass
new file mode 100644
index 0000000000..c0ed434a96
--- /dev/null
+++ b/meta/classes/crate-fetch.bbclass
@@ -0,0 +1,13 @@
1#
2# crate-fetch class
3#
4# Registers 'crate' method for Bitbake fetch2.
5#
6# Adds support for following format in recipe SRC_URI:
7# crate://<packagename>/<version>
8#
9
10python () {
11 import crate
12 bb.fetch2.methods.append( crate.Crate() )
13}
diff --git a/meta/classes/rust-bin.bbclass b/meta/classes/rust-bin.bbclass
new file mode 100644
index 0000000000..c87343b3cf
--- /dev/null
+++ b/meta/classes/rust-bin.bbclass
@@ -0,0 +1,149 @@
1inherit rust
2
3RDEPENDS:${PN}:append:class-target = " ${RUSTLIB_DEP}"
4
5RUSTC_ARCHFLAGS += "-C opt-level=3 -g -L ${STAGING_DIR_HOST}/${rustlibdir} -C linker=${RUST_TARGET_CCLD}"
6EXTRA_OEMAKE += 'RUSTC_ARCHFLAGS="${RUSTC_ARCHFLAGS}"'
7
8# Some libraries alias with the standard library but libstd is configured to
9# make it difficult or imposisble to use its version. Unfortunately libstd
10# must be explicitly overridden using extern.
11OVERLAP_LIBS = "\
12 libc \
13 log \
14 getopts \
15 rand \
16"
17def get_overlap_deps(d):
18 deps = d.getVar("DEPENDS").split()
19 overlap_deps = []
20 for o in d.getVar("OVERLAP_LIBS").split():
21 l = len([o for dep in deps if (o + '-rs' in dep)])
22 if l > 0:
23 overlap_deps.append(o)
24 return " ".join(overlap_deps)
25OVERLAP_DEPS = "${@get_overlap_deps(d)}"
26
27# Prevents multiple static copies of standard library modules
28# See https://github.com/rust-lang/rust/issues/19680
29RUSTC_PREFER_DYNAMIC = "-C prefer-dynamic"
30RUSTC_FLAGS += "${RUSTC_PREFER_DYNAMIC}"
31
32CRATE_NAME ?= "${@d.getVar('BPN').replace('-rs', '').replace('-', '_')}"
33BINNAME ?= "${BPN}"
34LIBNAME ?= "lib${CRATE_NAME}-rs"
35CRATE_TYPE ?= "dylib"
36BIN_SRC ?= "${S}/src/main.rs"
37LIB_SRC ?= "${S}/src/lib.rs"
38
39rustbindest ?= "${bindir}"
40rustlibdest ?= "${rustlibdir}"
41RUST_RPATH_ABS ?= "${rustlibdir}:${rustlib}"
42
43def relative_rpaths(paths, base):
44 relpaths = set()
45 for p in paths.split(':'):
46 if p == base:
47 relpaths.add('$ORIGIN')
48 continue
49 relpaths.add(os.path.join('$ORIGIN', os.path.relpath(p, base)))
50 return '-rpath=' + ':'.join(relpaths) if len(relpaths) else ''
51
52RUST_LIB_RPATH_FLAGS ?= "${@relative_rpaths(d.getVar('RUST_RPATH_ABS', True), d.getVar('rustlibdest', True))}"
53RUST_BIN_RPATH_FLAGS ?= "${@relative_rpaths(d.getVar('RUST_RPATH_ABS', True), d.getVar('rustbindest', True))}"
54
55def libfilename(d):
56 if d.getVar('CRATE_TYPE', True) == 'dylib':
57 return d.getVar('LIBNAME', True) + '.so'
58 else:
59 return d.getVar('LIBNAME', True) + '.rlib'
60
61def link_args(d, bin):
62 linkargs = []
63 if bin:
64 rpaths = d.getVar('RUST_BIN_RPATH_FLAGS', False)
65 else:
66 rpaths = d.getVar('RUST_LIB_RPATH_FLAGS', False)
67 if d.getVar('CRATE_TYPE', True) == 'dylib':
68 linkargs.append('-soname')
69 linkargs.append(libfilename(d))
70 if len(rpaths):
71 linkargs.append(rpaths)
72 if len(linkargs):
73 return ' '.join(['-Wl,' + arg for arg in linkargs])
74 else:
75 return ''
76
77get_overlap_externs () {
78 externs=
79 for dep in ${OVERLAP_DEPS}; do
80 extern=$(ls ${STAGING_DIR_HOST}/${rustlibdir}/lib$dep-rs.{so,rlib} 2>/dev/null \
81 | awk '{print $1}');
82 if [ -n "$extern" ]; then
83 externs="$externs --extern $dep=$extern"
84 else
85 echo "$dep in depends but no such library found in ${rustlibdir}!" >&2
86 exit 1
87 fi
88 done
89 echo "$externs"
90}
91
92do_configure () {
93}
94
95oe_runrustc () {
96 export RUST_TARGET_PATH="${RUST_TARGET_PATH}"
97 bbnote ${RUSTC} ${RUSTC_ARCHFLAGS} ${RUSTC_FLAGS} "$@"
98 "${RUSTC}" ${RUSTC_ARCHFLAGS} ${RUSTC_FLAGS} "$@"
99}
100
101oe_compile_rust_lib () {
102 rm -rf ${LIBNAME}.{rlib,so}
103 local -a link_args
104 if [ -n '${@link_args(d, False)}' ]; then
105 link_args[0]='-C'
106 link_args[1]='link-args=${@link_args(d, False)}'
107 fi
108 oe_runrustc $(get_overlap_externs) \
109 "${link_args[@]}" \
110 ${LIB_SRC} \
111 -o ${@libfilename(d)} \
112 --crate-name=${CRATE_NAME} --crate-type=${CRATE_TYPE} \
113 "$@"
114}
115oe_compile_rust_lib[vardeps] += "get_overlap_externs"
116
117oe_compile_rust_bin () {
118 rm -rf ${BINNAME}
119 local -a link_args
120 if [ -n '${@link_args(d, True)}' ]; then
121 link_args[0]='-C'
122 link_args[1]='link-args=${@link_args(d, True)}'
123 fi
124 oe_runrustc $(get_overlap_externs) \
125 "${link_args[@]}" \
126 ${BIN_SRC} -o ${BINNAME} "$@"
127}
128oe_compile_rust_bin[vardeps] += "get_overlap_externs"
129
130oe_install_rust_lib () {
131 for lib in $(ls ${LIBNAME}.{so,rlib} 2>/dev/null); do
132 echo Installing $lib
133 install -D -m 755 $lib ${D}/${rustlibdest}/$lib
134 done
135}
136
137oe_install_rust_bin () {
138 echo Installing ${BINNAME}
139 install -D -m 755 ${BINNAME} ${D}/${rustbindest}/${BINNAME}
140}
141
142do_rust_bin_fixups() {
143 for f in `find ${PKGD} -name '*.so*'`; do
144 echo "Strip rust note: $f"
145 ${OBJCOPY} -R .note.rustc $f $f
146 done
147}
148PACKAGE_PREPROCESS_FUNCS += "do_rust_bin_fixups"
149
diff --git a/meta/classes/rust-common.bbclass b/meta/classes/rust-common.bbclass
new file mode 100644
index 0000000000..2093654ac6
--- /dev/null
+++ b/meta/classes/rust-common.bbclass
@@ -0,0 +1,174 @@
1# Common variables used by all Rust builds
2export rustlibdir = "${libdir}/rust"
3FILES:${PN} += "${rustlibdir}/*.so"
4FILES:${PN}-dev += "${rustlibdir}/*.rlib ${rustlibdir}/*.rmeta"
5FILES:${PN}-dbg += "${rustlibdir}/.debug"
6
7RUSTLIB = "-L ${STAGING_LIBDIR}/rust"
8RUST_DEBUG_REMAP = "--remap-path-prefix=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}"
9RUSTFLAGS += "${RUSTLIB} ${RUST_DEBUG_REMAP}"
10RUSTLIB_DEP ?= "libstd-rs"
11RUST_TARGET_PATH = "${STAGING_LIBDIR_NATIVE}/rustlib"
12RUST_PANIC_STRATEGY ?= "unwind"
13
14# Native builds are not effected by TCLIBC. Without this, rust-native
15# thinks it's "target" (i.e. x86_64-linux) is a musl target.
16RUST_LIBC = "${TCLIBC}"
17RUST_LIBC:class-native = "glibc"
18
19def determine_libc(d, thing):
20 '''Determine which libc something should target'''
21
22 # BUILD is never musl, TARGET may be musl or glibc,
23 # HOST could be musl, but only if a compiler is built to be run on
24 # target in which case HOST_SYS != BUILD_SYS.
25 if thing == 'TARGET':
26 libc = d.getVar('RUST_LIBC')
27 elif thing == 'BUILD' and (d.getVar('HOST_SYS') != d.getVar('BUILD_SYS')):
28 libc = d.getVar('RUST_LIBC')
29 else:
30 libc = d.getVar('RUST_LIBC:class-native')
31
32 return libc
33
34def target_is_armv7(d):
35 '''Determine if target is armv7'''
36 # TUNE_FEATURES may include arm* even if the target is not arm
37 # in the case of *-native packages
38 if d.getVar('TARGET_ARCH') != 'arm':
39 return False
40
41 feat = d.getVar('TUNE_FEATURES')
42 feat = frozenset(feat.split())
43 mach_overrides = d.getVar('MACHINEOVERRIDES')
44 mach_overrides = frozenset(mach_overrides.split(':'))
45
46 v7=frozenset(['armv7a', 'armv7r', 'armv7m', 'armv7ve'])
47 if mach_overrides.isdisjoint(v7) and feat.isdisjoint(v7):
48 return False
49 else:
50 return True
51
52# Responsible for taking Yocto triples and converting it to Rust triples
53def rust_base_triple(d, thing):
54 '''
55 Mangle bitbake's *_SYS into something that rust might support (see
56 rust/mk/cfg/* for a list)
57
58 Note that os is assumed to be some linux form
59 '''
60
61 # The llvm-target for armv7 is armv7-unknown-linux-gnueabihf
62 if thing == "TARGET" and target_is_armv7(d):
63 arch = "armv7"
64 else:
65 arch = d.getVar('{}_ARCH'.format(thing))
66
67 # All the Yocto targets are Linux and are 'unknown'
68 vendor = "-unknown"
69 os = d.getVar('{}_OS'.format(thing))
70 libc = determine_libc(d, thing)
71
72 # Prefix with a dash and convert glibc -> gnu
73 if libc == "glibc":
74 libc = "-gnu"
75 elif libc == "musl":
76 libc = "-musl"
77
78 # Don't double up musl (only appears to be the case on aarch64)
79 if os == "linux-musl":
80 if libc != "-musl":
81 bb.fatal("{}_OS was '{}' but TCLIBC was not 'musl'".format(thing, os))
82 os = "linux"
83
84 # This catches ARM targets and appends the necessary hard float bits
85 if os == "linux-gnueabi" or os == "linux-musleabi":
86 libc = bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'hf', '', d)
87 return arch + vendor + '-' + os + libc
88
89# Naming explanation
90# Yocto
91# - BUILD_SYS - Yocto triple of the build environment
92# - HOST_SYS - What we're building for in Yocto
93# - TARGET_SYS - What we're building for in Yocto
94#
95# So when building '-native' packages BUILD_SYS == HOST_SYS == TARGET_SYS
96# When building packages for the image HOST_SYS == TARGET_SYS
97# This is a gross over simplification as there are other modes but
98# currently this is all that's supported.
99#
100# Rust
101# - TARGET - the system where the binary will run
102# - HOST - the system where the binary is being built
103#
104# Rust additionally will use two additional cases:
105# - undecorated (e.g. CC) - equivalent to TARGET
106# - triple suffix (e.g. CC:x86_64_unknown_linux_gnu) - both
107# see: https://github.com/alexcrichton/gcc-rs
108# The way that Rust's internal triples and Yocto triples are mapped together
109# its likely best to not use the triple suffix due to potential confusion.
110
111RUST_BUILD_SYS = "${@rust_base_triple(d, 'BUILD')}"
112RUST_HOST_SYS = "${@rust_base_triple(d, 'HOST')}"
113RUST_TARGET_SYS = "${@rust_base_triple(d, 'TARGET')}"
114
115# wrappers to get around the fact that Rust needs a single
116# binary but Yocto's compiler and linker commands have
117# arguments. Technically the archiver is always one command but
118# this is necessary for builds that determine the prefix and then
119# use those commands based on the prefix.
120WRAPPER_DIR = "${WORKDIR}/wrapper"
121RUST_BUILD_CC = "${WRAPPER_DIR}/build-rust-cc"
122RUST_BUILD_CXX = "${WRAPPER_DIR}/build-rust-cxx"
123RUST_BUILD_CCLD = "${WRAPPER_DIR}/build-rust-ccld"
124RUST_BUILD_AR = "${WRAPPER_DIR}/build-rust-ar"
125RUST_TARGET_CC = "${WRAPPER_DIR}/target-rust-cc"
126RUST_TARGET_CXX = "${WRAPPER_DIR}/target-rust-cxx"
127RUST_TARGET_CCLD = "${WRAPPER_DIR}/target-rust-ccld"
128RUST_TARGET_AR = "${WRAPPER_DIR}/target-rust-ar"
129
130create_wrapper () {
131 file="$1"
132 shift
133
134 cat <<- EOF > "${file}"
135 #!/bin/sh
136 exec $@ "\$@"
137 EOF
138 chmod +x "${file}"
139}
140
141export WRAPPER_TARGET_CC = "${CC}"
142export WRAPPER_TARGET_CXX = "${CXX}"
143export WRAPPER_TARGET_CCLD = "${CCLD}"
144export WRAPPER_TARGET_LDFLAGS = "${LDFLAGS}"
145export WRAPPER_TARGET_AR = "${AR}"
146
147# compiler is used by gcc-rs
148# linker is used by rustc/cargo
149# archiver is used by the build of libstd-rs
150do_rust_create_wrappers () {
151 mkdir -p "${WRAPPER_DIR}"
152
153 # Yocto Build / Rust Host C compiler
154 create_wrapper "${RUST_BUILD_CC}" "${BUILD_CC}"
155 # Yocto Build / Rust Host C++ compiler
156 create_wrapper "${RUST_BUILD_CXX}" "${BUILD_CXX}"
157 # Yocto Build / Rust Host linker
158 create_wrapper "${RUST_BUILD_CCLD}" "${BUILD_CCLD}" "${BUILD_LDFLAGS}"
159 # Yocto Build / Rust Host archiver
160 create_wrapper "${RUST_BUILD_AR}" "${BUILD_AR}"
161
162 # Yocto Target / Rust Target C compiler
163 create_wrapper "${RUST_TARGET_CC}" "${WRAPPER_TARGET_CC}"
164 # Yocto Target / Rust Target C++ compiler
165 create_wrapper "${RUST_TARGET_CXX}" "${WRAPPER_TARGET_CXX}"
166 # Yocto Target / Rust Target linker
167 create_wrapper "${RUST_TARGET_CCLD}" "${WRAPPER_TARGET_CCLD}" "${WRAPPER_TARGET_LDFLAGS}"
168 # Yocto Target / Rust Target archiver
169 create_wrapper "${RUST_TARGET_AR}" "${WRAPPER_TARGET_AR}"
170
171}
172
173addtask rust_create_wrappers before do_configure after do_patch
174do_rust_create_wrappers[dirs] += "${WRAPPER_DIR}"
diff --git a/meta/classes/rust.bbclass b/meta/classes/rust.bbclass
new file mode 100644
index 0000000000..5c8938d09f
--- /dev/null
+++ b/meta/classes/rust.bbclass
@@ -0,0 +1,45 @@
1inherit rust-common
2
3RUSTC = "rustc"
4
5RUSTC_ARCHFLAGS += "--target=${HOST_SYS} ${RUSTFLAGS}"
6
7def rust_base_dep(d):
8 # Taken from meta/classes/base.bbclass `base_dep_prepend` and modified to
9 # use rust instead of gcc
10 deps = ""
11 if not d.getVar('INHIBIT_DEFAULT_RUST_DEPS'):
12 if (d.getVar('HOST_SYS') != d.getVar('BUILD_SYS')):
13 deps += " virtual/${TARGET_PREFIX}rust ${RUSTLIB_DEP}"
14 else:
15 deps += " rust-native"
16 return deps
17
18DEPENDS:append = " ${@rust_base_dep(d)}"
19
20# BUILD_LDFLAGS
21# ${STAGING_LIBDIR_NATIVE}
22# ${STAGING_BASE_LIBDIR_NATIVE}
23# BUILDSDK_LDFLAGS
24# ${STAGING_LIBDIR}
25# #{STAGING_DIR_HOST}
26# TARGET_LDFLAGS ?????
27#RUSTC_BUILD_LDFLAGS = "\
28# --sysroot ${STAGING_DIR_NATIVE} \
29# -L${STAGING_LIBDIR_NATIVE} \
30# -L${STAGING_BASE_LIBDIR_NATIVE} \
31#"
32
33# XXX: for some reason bitbake sets BUILD_* & TARGET_* but uses the bare
34# variables for HOST. Alias things to make it easier for us.
35HOST_LDFLAGS ?= "${LDFLAGS}"
36HOST_CFLAGS ?= "${CFLAGS}"
37HOST_CXXFLAGS ?= "${CXXFLAGS}"
38HOST_CPPFLAGS ?= "${CPPFLAGS}"
39
40rustlib_suffix="${TUNE_ARCH}${TARGET_VENDOR}-${TARGET_OS}/rustlib/${HOST_SYS}/lib"
41# Native sysroot standard library path
42rustlib_src="${prefix}/lib/${rustlib_suffix}"
43# Host sysroot standard library path
44rustlib="${libdir}/${rustlib_suffix}"
45rustlib:class-native="${libdir}/rustlib/${BUILD_SYS}/lib"
diff --git a/meta/conf/distro/include/rust_security_flags.inc b/meta/conf/distro/include/rust_security_flags.inc
new file mode 100644
index 0000000000..590bef17a0
--- /dev/null
+++ b/meta/conf/distro/include/rust_security_flags.inc
@@ -0,0 +1,7 @@
1# Build errors with PIE options enabled
2SECURITY_CFLAGS:pn-rust-native = "${SECURITY_NO_PIE_CFLAGS}"
3SECURITY_CFLAGS:pn-rust-cross-${TARGET_ARCH} = "${SECURITY_NO_PIE_CFLAGS}"
4SECURITY_CFLAGS:pn-rust = "${SECURITY_NO_PIE_CFLAGS}"
5SECURITY_CFLAGS:pn-rust-llvm = "${SECURITY_NO_PIE_CFLAGS}"
6
7SECURITY_LDFLAGS:pn-rust-cross-arm = " -lssp_nonshared -lssp"
diff --git a/meta/conf/distro/include/rust_versions.inc b/meta/conf/distro/include/rust_versions.inc
new file mode 100644
index 0000000000..a11ba22a8f
--- /dev/null
+++ b/meta/conf/distro/include/rust_versions.inc
@@ -0,0 +1,13 @@
1# include this in your distribution to easily switch between versions
2# just by changing RUST_VERSION variable
3
4RUST_VERSION ?= "1.51.0"
5
6PREFERRED_VERSION_cargo ?= "${RUST_VERSION}"
7PREFERRED_VERSION_cargo-native ?= "${RUST_VERSION}"
8PREFERRED_VERSION_libstd-rs ?= "${RUST_VERSION}"
9PREFERRED_VERSION_rust ?= "${RUST_VERSION}"
10PREFERRED_VERSION_rust-cross-${TARGET_ARCH} ?= "${RUST_VERSION}"
11PREFERRED_VERSION_rust-llvm ?= "${RUST_VERSION}"
12PREFERRED_VERSION_rust-llvm-native ?= "${RUST_VERSION}"
13PREFERRED_VERSION_rust-native ?= "${RUST_VERSION}"
diff --git a/meta/lib/crate.py b/meta/lib/crate.py
new file mode 100644
index 0000000000..d10f441875
--- /dev/null
+++ b/meta/lib/crate.py
@@ -0,0 +1,149 @@
1# ex:ts=4:sw=4:sts=4:et
2# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
3"""
4BitBake 'Fetch' implementation for crates.io
5"""
6
7# Copyright (C) 2016 Doug Goldstein
8#
9# This program is free software; you can redistribute it and/or modify
10# it under the terms of the GNU General Public License version 2 as
11# published by the Free Software Foundation.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU General Public License for more details.
17#
18# You should have received a copy of the GNU General Public License along
19# with this program; if not, write to the Free Software Foundation, Inc.,
20# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21#
22# Based on functions from the base bb module, Copyright 2003 Holger Schurig
23
24import hashlib
25import json
26import os
27import shutil
28import subprocess
29import bb
30from bb.fetch2 import logger, subprocess_setup, UnpackError
31from bb.fetch2.wget import Wget
32
33
34class Crate(Wget):
35
36 """Class to fetch crates via wget"""
37
38 def _cargo_bitbake_path(self, rootdir):
39 return os.path.join(rootdir, "cargo_home", "bitbake")
40
41 def supports(self, ud, d):
42 """
43 Check to see if a given url is for this fetcher
44 """
45 return ud.type in ['crate']
46
47 def recommends_checksum(self, urldata):
48 return False
49
50 def urldata_init(self, ud, d):
51 """
52 Sets up to download the respective crate from crates.io
53 """
54
55 if ud.type == 'crate':
56 self._crate_urldata_init(ud, d)
57
58 super(Crate, self).urldata_init(ud, d)
59
60 def _crate_urldata_init(self, ud, d):
61 """
62 Sets up the download for a crate
63 """
64
65 # URL syntax is: crate://NAME/VERSION
66 # break the URL apart by /
67 parts = ud.url.split('/')
68 if len(parts) < 5:
69 raise bb.fetch2.ParameterError("Invalid URL: Must be crate://HOST/NAME/VERSION", ud.url)
70
71 # last field is version
72 version = parts[len(parts) - 1]
73 # second to last field is name
74 name = parts[len(parts) - 2]
75 # host (this is to allow custom crate registries to be specified
76 host = '/'.join(parts[2:len(parts) - 2])
77
78 # if using upstream just fix it up nicely
79 if host == 'crates.io':
80 host = 'crates.io/api/v1/crates'
81
82 ud.url = "https://%s/%s/%s/download" % (host, name, version)
83 ud.parm['downloadfilename'] = "%s-%s.crate" % (name, version)
84 ud.parm['name'] = name
85
86 logger.debug(2, "Fetching %s to %s" % (ud.url, ud.parm['downloadfilename']))
87
88 def unpack(self, ud, rootdir, d):
89 """
90 Uses the crate to build the necessary paths for cargo to utilize it
91 """
92 if ud.type == 'crate':
93 return self._crate_unpack(ud, rootdir, d)
94 else:
95 super(Crate, self).unpack(ud, rootdir, d)
96
97 def _crate_unpack(self, ud, rootdir, d):
98 """
99 Unpacks a crate
100 """
101 thefile = ud.localpath
102
103 # possible metadata we need to write out
104 metadata = {}
105
106 # change to the rootdir to unpack but save the old working dir
107 save_cwd = os.getcwd()
108 os.chdir(rootdir)
109
110 pn = d.getVar('BPN')
111 if pn == ud.parm.get('name'):
112 cmd = "tar -xz --no-same-owner -f %s" % thefile
113 else:
114 cargo_bitbake = self._cargo_bitbake_path(rootdir)
115
116 cmd = "tar -xz --no-same-owner -f %s -C %s" % (thefile, cargo_bitbake)
117
118 # ensure we've got these paths made
119 bb.utils.mkdirhier(cargo_bitbake)
120
121 # generate metadata necessary
122 with open(thefile, 'rb') as f:
123 # get the SHA256 of the original tarball
124 tarhash = hashlib.sha256(f.read()).hexdigest()
125
126 metadata['files'] = {}
127 metadata['package'] = tarhash
128
129 # path it
130 path = d.getVar('PATH')
131 if path:
132 cmd = "PATH=\"%s\" %s" % (path, cmd)
133 bb.note("Unpacking %s to %s/" % (thefile, os.getcwd()))
134
135 ret = subprocess.call(cmd, preexec_fn=subprocess_setup, shell=True)
136
137 os.chdir(save_cwd)
138
139 if ret != 0:
140 raise UnpackError("Unpack command %s failed with return value %s" % (cmd, ret), ud.url)
141
142 # if we have metadata to write out..
143 if len(metadata) > 0:
144 cratepath = os.path.splitext(os.path.basename(thefile))[0]
145 bbpath = self._cargo_bitbake_path(rootdir)
146 mdfile = '.cargo-checksum.json'
147 mdpath = os.path.join(bbpath, cratepath, mdfile)
148 with open(mdpath, "w") as f:
149 json.dump(metadata, f)
diff --git a/meta/recipes-core/packagegroups/packagegroup-rust-cross-canadian.bb b/meta/recipes-core/packagegroups/packagegroup-rust-cross-canadian.bb
new file mode 100644
index 0000000000..0d4f5ec9ef
--- /dev/null
+++ b/meta/recipes-core/packagegroups/packagegroup-rust-cross-canadian.bb
@@ -0,0 +1,18 @@
1SUMMARY = "Host SDK package for Rust cross canadian toolchain"
2PN = "packagegroup-rust-cross-canadian-${MACHINE}"
3
4inherit cross-canadian packagegroup
5
6PACKAGEGROUP_DISABLE_COMPLEMENTARY = "1"
7
8RUST="rust-cross-canadian-${TRANSLATED_TARGET_ARCH}"
9CARGO="cargo-cross-canadian-${TRANSLATED_TARGET_ARCH}"
10RUST_TOOLS="rust-tools-cross-canadian-${TRANSLATED_TARGET_ARCH}"
11
12RDEPENDS:${PN} = " \
13 ${@all_multilib_tune_values(d, 'RUST')} \
14 ${@all_multilib_tune_values(d, 'CARGO')} \
15 rust-cross-canadian-src \
16 ${@all_multilib_tune_values(d, 'RUST_TOOLS')} \
17"
18
diff --git a/meta/recipes-devtools/cargo/cargo-1.51.0/0001-Disable-http2.patch b/meta/recipes-devtools/cargo/cargo-1.51.0/0001-Disable-http2.patch
new file mode 100644
index 0000000000..9d47c9beb5
--- /dev/null
+++ b/meta/recipes-devtools/cargo/cargo-1.51.0/0001-Disable-http2.patch
@@ -0,0 +1,28 @@
1From 9844e63845da6cdafa485ad1ad3c99eaaa80312d Mon Sep 17 00:00:00 2001
2From: Johan Anderholm <johan.anderholm@gmail.com>
3Date: Sun, 27 Jan 2019 10:19:00 +0100
4Subject: [PATCH] Disable http2
5
6http2 requires that curl is build with nghttp2 which in turn depends on
7many dependencies and ultimately a dependency loop in the case of
8curl-native. As long as multiplexing is disabled in cargo this should
9be fine.
10
11Upstream-Status: Inappropriate
12---
13 Cargo.toml | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-)
15
16diff --git a/Cargo.toml b/Cargo.toml
17index 8a144a4..c4f856e 100644
18--- a/Cargo.toml
19+++ b/Cargo.toml
20@@ -25,7 +25,7 @@ cargo-platform = { path = "crates/cargo-platform", version = "0.1.1" }
21 crates-io = { path = "crates/crates-io", version = "0.33.0" }
22 crossbeam-utils = "0.8"
23 crypto-hash = "0.3.1"
24-curl = { version = "0.4.23", features = ["http2"] }
25+curl = { version = "0.4.23" }
26 curl-sys = "0.4.22"
27 env_logger = "0.8.1"
28 pretty_env_logger = { version = "0.4", optional = true }
diff --git a/meta/recipes-devtools/cargo/cargo-1.51.0/riscv-march.patch b/meta/recipes-devtools/cargo/cargo-1.51.0/riscv-march.patch
new file mode 100644
index 0000000000..a10b3a4d93
--- /dev/null
+++ b/meta/recipes-devtools/cargo/cargo-1.51.0/riscv-march.patch
@@ -0,0 +1,73 @@
1Add suppor for riscv64 and riscv32 musl targets
2
3Upstream-Status: Pending
4Signed-off-by: Khem Raj <raj.khem@gmail.com>
5
6--- a/vendor/cc/src/lib.rs
7+++ b/vendor/cc/src/lib.rs
8@@ -2361,6 +2361,7 @@ impl Build {
9 "riscv-none-embed",
10 ]),
11 "riscv64gc-unknown-linux-gnu" => Some("riscv64-linux-gnu"),
12+ "riscv64gc-unknown-linux-musl" => Some("riscv64-linux-musl"),
13 "s390x-unknown-linux-gnu" => Some("s390x-linux-gnu"),
14 "sparc-unknown-linux-gnu" => Some("sparc-linux-gnu"),
15 "sparc64-unknown-linux-gnu" => Some("sparc64-linux-gnu"),
16--- a/compiler/rustc_target/src/spec/mod.rs
17+++ b/compiler/rustc_target/src/spec/mod.rs
18@@ -641,9 +641,11 @@ supported_targets! {
19 ("riscv32imc-unknown-none-elf", riscv32imc_unknown_none_elf),
20 ("riscv32imac-unknown-none-elf", riscv32imac_unknown_none_elf),
21 ("riscv32gc-unknown-linux-gnu", riscv32gc_unknown_linux_gnu),
22+ ("riscv32gc-unknown-linux-musl", riscv32gc_unknown_linux_musl),
23 ("riscv64imac-unknown-none-elf", riscv64imac_unknown_none_elf),
24 ("riscv64gc-unknown-none-elf", riscv64gc_unknown_none_elf),
25 ("riscv64gc-unknown-linux-gnu", riscv64gc_unknown_linux_gnu),
26+ ("riscv64gc-unknown-linux-musl", riscv64gc_unknown_linux_musl),
27
28 ("aarch64-unknown-none", aarch64_unknown_none),
29 ("aarch64-unknown-none-softfloat", aarch64_unknown_none_softfloat),
30--- /dev/null
31+++ b/compiler/rustc_target/src/spec/riscv32gc_unknown_linux_musl.rs
32@@ -0,0 +1,19 @@
33+use crate::spec::{CodeModel, Target, TargetOptions};
34+
35+pub fn target() -> Target {
36+ Target {
37+ llvm_target: "riscv32-unknown-linux-musl".to_string(),
38+ pointer_width: 32,
39+ data_layout: "e-m:e-p:32:32-i64:64-n32-S128".to_string(),
40+ arch: "riscv32".to_string(),
41+ options: TargetOptions {
42+ unsupported_abis: super::riscv_base::unsupported_abis(),
43+ code_model: Some(CodeModel::Medium),
44+ cpu: "generic-rv32".to_string(),
45+ features: "+m,+a,+f,+d,+c".to_string(),
46+ llvm_abiname: "ilp32d".to_string(),
47+ max_atomic_width: Some(32),
48+ ..super::linux_musl_base::opts()
49+ },
50+ }
51+}
52--- /dev/null
53+++ b/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_musl.rs
54@@ -0,0 +1,19 @@
55+use crate::spec::{CodeModel, Target, TargetOptions};
56+
57+pub fn target() -> Target {
58+ Target {
59+ llvm_target: "riscv64-unknown-linux-musl".to_string(),
60+ pointer_width: 64,
61+ data_layout: "e-m:e-p:64:64-i64:64-i128:128-n64-S128".to_string(),
62+ arch: "riscv64".to_string(),
63+ options: TargetOptions {
64+ unsupported_abis: super::riscv_base::unsupported_abis(),
65+ code_model: Some(CodeModel::Medium),
66+ cpu: "generic-rv64".to_string(),
67+ features: "+m,+a,+f,+d,+c".to_string(),
68+ llvm_abiname: "lp64d".to_string(),
69+ max_atomic_width: Some(64),
70+ ..super::linux_musl_base::opts()
71+ },
72+ }
73+}
diff --git a/meta/recipes-devtools/cargo/cargo-1.51.0/rv64gc.patch b/meta/recipes-devtools/cargo/cargo-1.51.0/rv64gc.patch
new file mode 100644
index 0000000000..aab1e18453
--- /dev/null
+++ b/meta/recipes-devtools/cargo/cargo-1.51.0/rv64gc.patch
@@ -0,0 +1,37 @@
1--- a/vendor/cc-1.0.60/.cargo-checksum.json
2+++ b/vendor/cc-1.0.60/.cargo-checksum.json
3@@ -1 +1 @@
4-{"files":{"Cargo.lock":"30b9e23f97015aea3eed3e17c6d76d565c2924efec8bdae64c899080847afe89","Cargo.toml":"f6f22b69df3df57c58373cdee72b22218ffa030bc375b36632660037dd72c866","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"51405d284d2e0620db62c655c652fc0ec84f20c1cb30529227355c9575a9e6dd","src/bin/gcc-shim.rs":"b77907875029494b6288841c3aed2e4939ed40708c7f597fca5c9e2570490ca6","src/com.rs":"bcdaf1c28b71e6ef889c6b08d1ce9d7c0761344a677f523bc4c3cd297957f804","src/lib.rs":"903c5f2f5dd0cc7d04f99f605a95e6abde8b38156fd4e73eefc58493f55a4e5a","src/registry.rs":"3cc1b5a50879fa751572878ae1d0afbfc960c11665258492754b2c8bccb0ff5d","src/setup_config.rs":"7014103587d3382eac599cb76f016e2609b8140970861b2237982d1db24af265","src/winapi.rs":"ea8b7edbb9ff87957254f465c2334e714c5d6b3b19a8d757c48ea7ca0881c50c","src/windows_registry.rs":"52afe8554f577c87841c48ddee3ba7ffe70a00129e1d6eeb2ec0efb3d2b9aa11","tests/cc_env.rs":"e02b3b0824ad039b47e4462c5ef6dbe6c824c28e7953af94a0f28f7b5158042e","tests/cflags.rs":"57f06eb5ce1557e5b4a032d0c4673e18fbe6f8d26c1deb153126e368b96b41b3","tests/cxxflags.rs":"c2c6c6d8a0d7146616fa1caed26876ee7bc9fcfffd525eb4743593cade5f3371","tests/support/mod.rs":"16274867f23871e9b07614eda4c7344da13d1751fed63d4f633857e40be86394","tests/test.rs":"65c073e0e2cf4aa0433066102788e9f57442719e6f32f5ad5248aa7132bb4597"},"package":"ef611cc68ff783f18535d77ddd080185275713d852c4f5cbb6122c462a7a825c"}
5\ No newline at end of file
6+{"files":{"Cargo.lock":"30b9e23f97015aea3eed3e17c6d76d565c2924efec8bdae64c899080847afe89","Cargo.toml":"f6f22b69df3df57c58373cdee72b22218ffa030bc375b36632660037dd72c866","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"51405d284d2e0620db62c655c652fc0ec84f20c1cb30529227355c9575a9e6dd","src/bin/gcc-shim.rs":"b77907875029494b6288841c3aed2e4939ed40708c7f597fca5c9e2570490ca6","src/com.rs":"bcdaf1c28b71e6ef889c6b08d1ce9d7c0761344a677f523bc4c3cd297957f804","src/lib.rs":"2788af2bdf425f267b33bc524f3e627851b52422e38f480a7e39eb834264fd73","src/registry.rs":"3cc1b5a50879fa751572878ae1d0afbfc960c11665258492754b2c8bccb0ff5d","src/setup_config.rs":"7014103587d3382eac599cb76f016e2609b8140970861b2237982d1db24af265","src/winapi.rs":"ea8b7edbb9ff87957254f465c2334e714c5d6b3b19a8d757c48ea7ca0881c50c","src/windows_registry.rs":"52afe8554f577c87841c48ddee3ba7ffe70a00129e1d6eeb2ec0efb3d2b9aa11","tests/cc_env.rs":"e02b3b0824ad039b47e4462c5ef6dbe6c824c28e7953af94a0f28f7b5158042e","tests/cflags.rs":"57f06eb5ce1557e5b4a032d0c4673e18fbe6f8d26c1deb153126e368b96b41b3","tests/cxxflags.rs":"c2c6c6d8a0d7146616fa1caed26876ee7bc9fcfffd525eb4743593cade5f3371","tests/support/mod.rs":"16274867f23871e9b07614eda4c7344da13d1751fed63d4f633857e40be86394","tests/test.rs":"65c073e0e2cf4aa0433066102788e9f57442719e6f32f5ad5248aa7132bb4597"},"package":"ef611cc68ff783f18535d77ddd080185275713d852c4f5cbb6122c462a7a825c"}
7--- a/vendor/cc-1.0.60/src/lib.rs
8+++ b/vendor/cc-1.0.60/src/lib.rs
9@@ -1639,14 +1639,17 @@ impl Build {
10 let mut parts = target.split('-');
11 if let Some(arch) = parts.next() {
12 let arch = &arch[5..];
13- cmd.args.push(("-march=rv".to_owned() + arch).into());
14 if target.contains("linux") && arch.starts_with("64") {
15+ cmd.args.push(("-march=rv64gc").into());
16 cmd.args.push("-mabi=lp64d".into());
17 } else if target.contains("linux") && arch.starts_with("32") {
18+ cmd.args.push(("-march=rv32gc").into());
19 cmd.args.push("-mabi=ilp32d".into());
20 } else if arch.starts_with("64") {
21+ cmd.args.push(("-march=rv".to_owned() + arch).into());
22 cmd.args.push("-mabi=lp64".into());
23 } else {
24+ cmd.args.push(("-march=rv".to_owned() + arch).into());
25 cmd.args.push("-mabi=ilp32".into());
26 }
27 cmd.args.push("-mcmodel=medany".into());
28@@ -2332,6 +2335,9 @@ impl Build {
29 "riscv-none-embed",
30 ]),
31 "riscv64gc-unknown-linux-gnu" => Some("riscv64-linux-gnu"),
32+ "riscv32gc-unknown-linux-gnu" => Some("riscv32-linux-gnu"),
33+ "riscv64gc-unknown-linux-musl" => Some("riscv64-linux-musl"),
34+ "riscv32gc-unknown-linux-musl" => Some("riscv32-linux-musl"),
35 "s390x-unknown-linux-gnu" => Some("s390x-linux-gnu"),
36 "sparc-unknown-linux-gnu" => Some("sparc-linux-gnu"),
37 "sparc64-unknown-linux-gnu" => Some("sparc64-linux-gnu"),
diff --git a/meta/recipes-devtools/cargo/cargo-cross-canadian.inc b/meta/recipes-devtools/cargo/cargo-cross-canadian.inc
new file mode 100644
index 0000000000..840793c50b
--- /dev/null
+++ b/meta/recipes-devtools/cargo/cargo-cross-canadian.inc
@@ -0,0 +1,74 @@
1SUMMARY = "Cargo, a package manager for Rust cross canadian flavor."
2
3RUST_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR_NATIVE}/llvm-rust/bin/llvm-config"
4
5HOST_SYS = "${HOST_ARCH}-unknown-linux-gnu"
6CARGO_RUST_TARGET_CCLD = "${RUST_BUILD_CCLD}"
7
8require recipes-devtools/rust/rust-common.inc
9require cargo.inc
10
11CARGO = "${WORKDIR}/${CARGO_SNAPSHOT}/bin/cargo"
12BASEDEPENDS:remove = "cargo-native"
13
14export RUST_TARGET_PATH="${WORKDIR}/targets/"
15
16RUSTLIB = " \
17 -L ${STAGING_DIR_NATIVE}/${SDKPATHNATIVE}/usr/lib/${TARGET_SYS}/rustlib/${HOST_SYS}/lib \
18"
19
20DEPENDS += "rust-native \
21 rust-cross-canadian-${TRANSLATED_TARGET_ARCH} \
22 virtual/nativesdk-${HOST_PREFIX}compilerlibs \
23 nativesdk-openssl nativesdk-zlib \
24 virtual/nativesdk-libc \
25"
26
27inherit cross-canadian
28
29PN = "cargo-cross-canadian-${TRANSLATED_TARGET_ARCH}"
30
31LLVM_TARGET[x86_64] = "${RUST_HOST_SYS}"
32
33python do_rust_gen_targets () {
34 wd = d.getVar('WORKDIR') + '/targets/'
35
36 rust_gen_target(d, 'BUILD', wd, "", "generic", d.getVar('BUILD_ARCH'))
37 rust_gen_target(d, 'HOST', wd, "", "generic", d.getVar('HOST_ARCH'))
38}
39
40do_compile:prepend () {
41 PKG_CONFIG_PATH="${RECIPE_SYSROOT_NATIVE}/usr/lib/pkgconfig:${PKG_CONFIG_PATH}"
42}
43
44do_install () {
45 SYS_BINDIR=$(dirname ${D}${bindir})
46 install -d "${SYS_BINDIR}"
47 install -m 755 "${B}/target/${CARGO_TARGET_SUBDIR}/cargo" "${SYS_BINDIR}"
48 for i in ${SYS_BINDIR}/*; do
49 chrpath -r "\$ORIGIN/../lib" ${i}
50 done
51
52 ENV_SETUP_DIR=${D}${base_prefix}/environment-setup.d
53 mkdir "${ENV_SETUP_DIR}"
54 ENV_SETUP_SH="${ENV_SETUP_DIR}/cargo.sh"
55 cat <<- EOF > "${ENV_SETUP_SH}"
56 export CARGO_HOME="\$OECORE_TARGET_SYSROOT/home/cargo"
57 mkdir -p "\$CARGO_HOME"
58 # Init the default target once, it might be otherwise user modified.
59 if [ ! -f "\$CARGO_HOME/config" ]; then
60 touch "\$CARGO_HOME/config"
61 echo "[build]" >> "\$CARGO_HOME/config"
62 echo 'target = "'${TARGET_SYS}'"' >> "\$CARGO_HOME/config"
63 fi
64
65 # Keep the below off as long as HTTP/2 is disabled.
66 export CARGO_HTTP_MULTIPLEXING=false
67
68 export CARGO_HTTP_CAINFO="\$OECORE_NATIVE_SYSROOT/etc/ssl/certs/ca-certificates.crt"
69 EOF
70}
71
72PKG_SYS_BINDIR = "${SDKPATHNATIVE}/usr/bin"
73FILES:${PN} += "${base_prefix}/environment-setup.d ${PKG_SYS_BINDIR}"
74
diff --git a/meta/recipes-devtools/cargo/cargo-cross-canadian_1.51.0.bb b/meta/recipes-devtools/cargo/cargo-cross-canadian_1.51.0.bb
new file mode 100644
index 0000000000..dba400bcfb
--- /dev/null
+++ b/meta/recipes-devtools/cargo/cargo-cross-canadian_1.51.0.bb
@@ -0,0 +1,6 @@
1require recipes-devtools/rust/rust-source-${PV}.inc
2require recipes-devtools/rust/rust-snapshot-${PV}.inc
3
4FILESEXTRAPATHS:prepend := "${THISDIR}/cargo-${PV}:"
5
6require cargo-cross-canadian.inc
diff --git a/meta/recipes-devtools/cargo/cargo-cross-canadian_1.54.0.bb b/meta/recipes-devtools/cargo/cargo-cross-canadian_1.54.0.bb
new file mode 100644
index 0000000000..dba400bcfb
--- /dev/null
+++ b/meta/recipes-devtools/cargo/cargo-cross-canadian_1.54.0.bb
@@ -0,0 +1,6 @@
1require recipes-devtools/rust/rust-source-${PV}.inc
2require recipes-devtools/rust/rust-snapshot-${PV}.inc
3
4FILESEXTRAPATHS:prepend := "${THISDIR}/cargo-${PV}:"
5
6require cargo-cross-canadian.inc
diff --git a/meta/recipes-devtools/cargo/cargo.inc b/meta/recipes-devtools/cargo/cargo.inc
new file mode 100644
index 0000000000..32ccf0b7ae
--- /dev/null
+++ b/meta/recipes-devtools/cargo/cargo.inc
@@ -0,0 +1,50 @@
1SUMMARY ?= "Cargo, a package manager for Rust."
2HOMEPAGE = "https://crates.io"
3LICENSE = "MIT | Apache-2.0"
4SECTION = "devel"
5
6DEPENDS = "openssl zlib curl ca-certificates libssh2"
7
8LIC_FILES_CHKSUM = " \
9 file://LICENSE-MIT;md5=b377b220f43d747efdec40d69fcaa69d \
10 file://LICENSE-APACHE;md5=71b224ca933f0676e26d5c2e2271331c \
11 file://LICENSE-THIRD-PARTY;md5=f257ad009884cb88a3a87d6920e7180a \
12"
13
14
15S = "${RUSTSRC}/src/tools/cargo"
16CARGO_VENDORING_DIRECTORY = "${RUSTSRC}/vendor"
17
18inherit cargo
19
20do_cargo_setup_snapshot () {
21 ${WORKDIR}/rust-snapshot-components/${CARGO_SNAPSHOT}/install.sh --prefix="${WORKDIR}/${CARGO_SNAPSHOT}" --disable-ldconfig
22}
23
24addtask cargo_setup_snapshot after do_unpack before do_configure
25do_cargo_setup_snapshot[dirs] += "${WORKDIR}/${CARGO_SNAPSHOT}"
26
27do_compile:prepend () {
28 export RUSTC_BOOTSTRAP="1"
29}
30
31do_install () {
32 install -d "${D}${bindir}"
33 install -m 755 "${B}/target/${CARGO_TARGET_SUBDIR}/cargo" "${D}${bindir}"
34}
35
36# Disabled due to incompatibility with libgit2 0.28.x (https://github.com/rust-lang/git2-rs/issues/458, https://bugs.gentoo.org/707746#c1)
37# as shipped by Yocto Dunfell.
38# According to https://github.com/rust-lang/git2-rs/issues/458#issuecomment-522567539, there are no compatibility guarantees between
39# libgit2-sys and arbitrary system libgit2 versions, so better keep this turned off.
40#export LIBGIT2_SYS_USE_PKG_CONFIG = "1"
41
42# Needed for pkg-config to be used
43export LIBSSH2_SYS_USE_PKG_CONFIG = "1"
44
45BBCLASSEXTEND = "native nativesdk"
46
47# When building cargo-native we don't have cargo-native to use and depend on,
48# so we must use the locally set up snapshot to bootstrap the build.
49BASEDEPENDS:remove:class-native = "cargo-native"
50CARGO:class-native = "${WORKDIR}/${CARGO_SNAPSHOT}/bin/cargo"
diff --git a/meta/recipes-devtools/cargo/cargo_1.51.0.bb b/meta/recipes-devtools/cargo/cargo_1.51.0.bb
new file mode 100644
index 0000000000..335b491cc9
--- /dev/null
+++ b/meta/recipes-devtools/cargo/cargo_1.51.0.bb
@@ -0,0 +1,8 @@
1require recipes-devtools/rust/rust-source-${PV}.inc
2require recipes-devtools/rust/rust-snapshot-${PV}.inc
3require cargo.inc
4
5SRC_URI += "file://0001-Disable-http2.patch \
6 file://riscv-march.patch;patchdir=../../.. \
7 file://rv64gc.patch;patchdir=../../.. \
8 "
diff --git a/meta/recipes-devtools/cargo/cargo_1.54.0.bb b/meta/recipes-devtools/cargo/cargo_1.54.0.bb
new file mode 100644
index 0000000000..1f69615640
--- /dev/null
+++ b/meta/recipes-devtools/cargo/cargo_1.54.0.bb
@@ -0,0 +1,4 @@
1require recipes-devtools/rust/rust-source-${PV}.inc
2require recipes-devtools/rust/rust-snapshot-${PV}.inc
3require cargo.inc
4
diff --git a/meta/recipes-devtools/rust/files/riscv-march.patch b/meta/recipes-devtools/rust/files/riscv-march.patch
new file mode 100644
index 0000000000..a10b3a4d93
--- /dev/null
+++ b/meta/recipes-devtools/rust/files/riscv-march.patch
@@ -0,0 +1,73 @@
1Add suppor for riscv64 and riscv32 musl targets
2
3Upstream-Status: Pending
4Signed-off-by: Khem Raj <raj.khem@gmail.com>
5
6--- a/vendor/cc/src/lib.rs
7+++ b/vendor/cc/src/lib.rs
8@@ -2361,6 +2361,7 @@ impl Build {
9 "riscv-none-embed",
10 ]),
11 "riscv64gc-unknown-linux-gnu" => Some("riscv64-linux-gnu"),
12+ "riscv64gc-unknown-linux-musl" => Some("riscv64-linux-musl"),
13 "s390x-unknown-linux-gnu" => Some("s390x-linux-gnu"),
14 "sparc-unknown-linux-gnu" => Some("sparc-linux-gnu"),
15 "sparc64-unknown-linux-gnu" => Some("sparc64-linux-gnu"),
16--- a/compiler/rustc_target/src/spec/mod.rs
17+++ b/compiler/rustc_target/src/spec/mod.rs
18@@ -641,9 +641,11 @@ supported_targets! {
19 ("riscv32imc-unknown-none-elf", riscv32imc_unknown_none_elf),
20 ("riscv32imac-unknown-none-elf", riscv32imac_unknown_none_elf),
21 ("riscv32gc-unknown-linux-gnu", riscv32gc_unknown_linux_gnu),
22+ ("riscv32gc-unknown-linux-musl", riscv32gc_unknown_linux_musl),
23 ("riscv64imac-unknown-none-elf", riscv64imac_unknown_none_elf),
24 ("riscv64gc-unknown-none-elf", riscv64gc_unknown_none_elf),
25 ("riscv64gc-unknown-linux-gnu", riscv64gc_unknown_linux_gnu),
26+ ("riscv64gc-unknown-linux-musl", riscv64gc_unknown_linux_musl),
27
28 ("aarch64-unknown-none", aarch64_unknown_none),
29 ("aarch64-unknown-none-softfloat", aarch64_unknown_none_softfloat),
30--- /dev/null
31+++ b/compiler/rustc_target/src/spec/riscv32gc_unknown_linux_musl.rs
32@@ -0,0 +1,19 @@
33+use crate::spec::{CodeModel, Target, TargetOptions};
34+
35+pub fn target() -> Target {
36+ Target {
37+ llvm_target: "riscv32-unknown-linux-musl".to_string(),
38+ pointer_width: 32,
39+ data_layout: "e-m:e-p:32:32-i64:64-n32-S128".to_string(),
40+ arch: "riscv32".to_string(),
41+ options: TargetOptions {
42+ unsupported_abis: super::riscv_base::unsupported_abis(),
43+ code_model: Some(CodeModel::Medium),
44+ cpu: "generic-rv32".to_string(),
45+ features: "+m,+a,+f,+d,+c".to_string(),
46+ llvm_abiname: "ilp32d".to_string(),
47+ max_atomic_width: Some(32),
48+ ..super::linux_musl_base::opts()
49+ },
50+ }
51+}
52--- /dev/null
53+++ b/compiler/rustc_target/src/spec/riscv64gc_unknown_linux_musl.rs
54@@ -0,0 +1,19 @@
55+use crate::spec::{CodeModel, Target, TargetOptions};
56+
57+pub fn target() -> Target {
58+ Target {
59+ llvm_target: "riscv64-unknown-linux-musl".to_string(),
60+ pointer_width: 64,
61+ data_layout: "e-m:e-p:64:64-i64:64-i128:128-n64-S128".to_string(),
62+ arch: "riscv64".to_string(),
63+ options: TargetOptions {
64+ unsupported_abis: super::riscv_base::unsupported_abis(),
65+ code_model: Some(CodeModel::Medium),
66+ cpu: "generic-rv64".to_string(),
67+ features: "+m,+a,+f,+d,+c".to_string(),
68+ llvm_abiname: "lp64d".to_string(),
69+ max_atomic_width: Some(64),
70+ ..super::linux_musl_base::opts()
71+ },
72+ }
73+}
diff --git a/meta/recipes-devtools/rust/files/rv64gc.patch b/meta/recipes-devtools/rust/files/rv64gc.patch
new file mode 100644
index 0000000000..aab1e18453
--- /dev/null
+++ b/meta/recipes-devtools/rust/files/rv64gc.patch
@@ -0,0 +1,37 @@
1--- a/vendor/cc-1.0.60/.cargo-checksum.json
2+++ b/vendor/cc-1.0.60/.cargo-checksum.json
3@@ -1 +1 @@
4-{"files":{"Cargo.lock":"30b9e23f97015aea3eed3e17c6d76d565c2924efec8bdae64c899080847afe89","Cargo.toml":"f6f22b69df3df57c58373cdee72b22218ffa030bc375b36632660037dd72c866","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"51405d284d2e0620db62c655c652fc0ec84f20c1cb30529227355c9575a9e6dd","src/bin/gcc-shim.rs":"b77907875029494b6288841c3aed2e4939ed40708c7f597fca5c9e2570490ca6","src/com.rs":"bcdaf1c28b71e6ef889c6b08d1ce9d7c0761344a677f523bc4c3cd297957f804","src/lib.rs":"903c5f2f5dd0cc7d04f99f605a95e6abde8b38156fd4e73eefc58493f55a4e5a","src/registry.rs":"3cc1b5a50879fa751572878ae1d0afbfc960c11665258492754b2c8bccb0ff5d","src/setup_config.rs":"7014103587d3382eac599cb76f016e2609b8140970861b2237982d1db24af265","src/winapi.rs":"ea8b7edbb9ff87957254f465c2334e714c5d6b3b19a8d757c48ea7ca0881c50c","src/windows_registry.rs":"52afe8554f577c87841c48ddee3ba7ffe70a00129e1d6eeb2ec0efb3d2b9aa11","tests/cc_env.rs":"e02b3b0824ad039b47e4462c5ef6dbe6c824c28e7953af94a0f28f7b5158042e","tests/cflags.rs":"57f06eb5ce1557e5b4a032d0c4673e18fbe6f8d26c1deb153126e368b96b41b3","tests/cxxflags.rs":"c2c6c6d8a0d7146616fa1caed26876ee7bc9fcfffd525eb4743593cade5f3371","tests/support/mod.rs":"16274867f23871e9b07614eda4c7344da13d1751fed63d4f633857e40be86394","tests/test.rs":"65c073e0e2cf4aa0433066102788e9f57442719e6f32f5ad5248aa7132bb4597"},"package":"ef611cc68ff783f18535d77ddd080185275713d852c4f5cbb6122c462a7a825c"}
5\ No newline at end of file
6+{"files":{"Cargo.lock":"30b9e23f97015aea3eed3e17c6d76d565c2924efec8bdae64c899080847afe89","Cargo.toml":"f6f22b69df3df57c58373cdee72b22218ffa030bc375b36632660037dd72c866","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"51405d284d2e0620db62c655c652fc0ec84f20c1cb30529227355c9575a9e6dd","src/bin/gcc-shim.rs":"b77907875029494b6288841c3aed2e4939ed40708c7f597fca5c9e2570490ca6","src/com.rs":"bcdaf1c28b71e6ef889c6b08d1ce9d7c0761344a677f523bc4c3cd297957f804","src/lib.rs":"2788af2bdf425f267b33bc524f3e627851b52422e38f480a7e39eb834264fd73","src/registry.rs":"3cc1b5a50879fa751572878ae1d0afbfc960c11665258492754b2c8bccb0ff5d","src/setup_config.rs":"7014103587d3382eac599cb76f016e2609b8140970861b2237982d1db24af265","src/winapi.rs":"ea8b7edbb9ff87957254f465c2334e714c5d6b3b19a8d757c48ea7ca0881c50c","src/windows_registry.rs":"52afe8554f577c87841c48ddee3ba7ffe70a00129e1d6eeb2ec0efb3d2b9aa11","tests/cc_env.rs":"e02b3b0824ad039b47e4462c5ef6dbe6c824c28e7953af94a0f28f7b5158042e","tests/cflags.rs":"57f06eb5ce1557e5b4a032d0c4673e18fbe6f8d26c1deb153126e368b96b41b3","tests/cxxflags.rs":"c2c6c6d8a0d7146616fa1caed26876ee7bc9fcfffd525eb4743593cade5f3371","tests/support/mod.rs":"16274867f23871e9b07614eda4c7344da13d1751fed63d4f633857e40be86394","tests/test.rs":"65c073e0e2cf4aa0433066102788e9f57442719e6f32f5ad5248aa7132bb4597"},"package":"ef611cc68ff783f18535d77ddd080185275713d852c4f5cbb6122c462a7a825c"}
7--- a/vendor/cc-1.0.60/src/lib.rs
8+++ b/vendor/cc-1.0.60/src/lib.rs
9@@ -1639,14 +1639,17 @@ impl Build {
10 let mut parts = target.split('-');
11 if let Some(arch) = parts.next() {
12 let arch = &arch[5..];
13- cmd.args.push(("-march=rv".to_owned() + arch).into());
14 if target.contains("linux") && arch.starts_with("64") {
15+ cmd.args.push(("-march=rv64gc").into());
16 cmd.args.push("-mabi=lp64d".into());
17 } else if target.contains("linux") && arch.starts_with("32") {
18+ cmd.args.push(("-march=rv32gc").into());
19 cmd.args.push("-mabi=ilp32d".into());
20 } else if arch.starts_with("64") {
21+ cmd.args.push(("-march=rv".to_owned() + arch).into());
22 cmd.args.push("-mabi=lp64".into());
23 } else {
24+ cmd.args.push(("-march=rv".to_owned() + arch).into());
25 cmd.args.push("-mabi=ilp32".into());
26 }
27 cmd.args.push("-mcmodel=medany".into());
28@@ -2332,6 +2335,9 @@ impl Build {
29 "riscv-none-embed",
30 ]),
31 "riscv64gc-unknown-linux-gnu" => Some("riscv64-linux-gnu"),
32+ "riscv32gc-unknown-linux-gnu" => Some("riscv32-linux-gnu"),
33+ "riscv64gc-unknown-linux-musl" => Some("riscv64-linux-musl"),
34+ "riscv32gc-unknown-linux-musl" => Some("riscv32-linux-musl"),
35 "s390x-unknown-linux-gnu" => Some("s390x-linux-gnu"),
36 "sparc-unknown-linux-gnu" => Some("sparc-linux-gnu"),
37 "sparc64-unknown-linux-gnu" => Some("sparc64-linux-gnu"),
diff --git a/meta/recipes-devtools/rust/libstd-rs-1.51.0/0001-Add-base-definitions-for-riscv64-musl.patch b/meta/recipes-devtools/rust/libstd-rs-1.51.0/0001-Add-base-definitions-for-riscv64-musl.patch
new file mode 100644
index 0000000000..85d0edc4d1
--- /dev/null
+++ b/meta/recipes-devtools/rust/libstd-rs-1.51.0/0001-Add-base-definitions-for-riscv64-musl.patch
@@ -0,0 +1,904 @@
1From 23aa6dfba4f2745800d89f9ee67d390465c76bfa Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 17 Feb 2021 00:32:57 -0800
4Subject: [PATCH 1/4] Add base definitions for riscv64 + musl
5
6https://github.com/rust-lang/libc/pull/1994/commits/030a07761f61f3293d53752e60edbd330a9d718d
7
8Signed-off-by: Khem Raj <raj.khem@gmail.com>
9---
10 .../src/unix/linux_like/linux/musl/b64/mod.rs | 3 +
11 .../linux_like/linux/musl/b64/riscv64/mod.rs | 867 ++++++++++++++++++
12 2 files changed, 870 insertions(+)
13 create mode 100644 vendor/libc/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
14
15diff --git a/vendor/libc/src/unix/linux_like/linux/musl/b64/mod.rs b/vendor/libc/src/unix/linux_like/linux/musl/b64/mod.rs
16index 62abee00d..78e805b15 100644
17--- a/vendor/libc/src/unix/linux_like/linux/musl/b64/mod.rs
18+++ b/vendor/libc/src/unix/linux_like/linux/musl/b64/mod.rs
19@@ -164,6 +164,9 @@ cfg_if! {
20 } else if #[cfg(any(target_arch = "x86_64"))] {
21 mod x86_64;
22 pub use self::x86_64::*;
23+ } else if #[cfg(any(target_arch = "riscv64"))] {
24+ mod riscv64;
25+ pub use self::riscv64::*;
26 } else {
27 // Unknown target_arch
28 }
29diff --git 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
30new file mode 100644
31index 000000000..14bae11d0
32--- /dev/null
33+++ b/vendor/libc/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
34@@ -0,0 +1,867 @@
35+//! RISC-V-specific definitions for 64-bit linux-like values
36+
37+pub type c_char = u8;
38+pub type c_long = i64;
39+pub type c_ulong = u64;
40+pub type wchar_t = ::c_int;
41+
42+pub type nlink_t = ::c_uint;
43+pub type blksize_t = ::c_int;
44+pub type fsblkcnt64_t = ::c_ulong;
45+pub type fsfilcnt64_t = ::c_ulong;
46+pub type suseconds_t = i64;
47+pub type __u64 = ::c_ulonglong;
48+
49+s! {
50+ pub struct pthread_attr_t {
51+ __size: [::c_ulong; 7],
52+ }
53+
54+ pub struct stat {
55+ pub st_dev: ::dev_t,
56+ pub st_ino: ::ino_t,
57+ pub st_mode: ::mode_t,
58+ pub st_nlink: ::nlink_t,
59+ pub st_uid: ::uid_t,
60+ pub st_gid: ::gid_t,
61+ pub st_rdev: ::dev_t,
62+ pub __pad1: ::dev_t,
63+ pub st_size: ::off_t,
64+ pub st_blksize: ::blksize_t,
65+ pub __pad2: ::c_int,
66+ pub st_blocks: ::blkcnt_t,
67+ pub st_atime: ::time_t,
68+ pub st_atime_nsec: ::c_long,
69+ pub st_mtime: ::time_t,
70+ pub st_mtime_nsec: ::c_long,
71+ pub st_ctime: ::time_t,
72+ pub st_ctime_nsec: ::c_long,
73+ __unused: [::c_int; 2usize],
74+ }
75+
76+ pub struct stat64 {
77+ pub st_dev: ::dev_t,
78+ pub st_ino: ::ino64_t,
79+ pub st_mode: ::mode_t,
80+ pub st_nlink: ::nlink_t,
81+ pub st_uid: ::uid_t,
82+ pub st_gid: ::gid_t,
83+ pub st_rdev: ::dev_t,
84+ pub __pad1: ::dev_t,
85+ pub st_size: ::off64_t,
86+ pub st_blksize: ::blksize_t,
87+ pub __pad2: ::c_int,
88+ pub st_blocks: ::blkcnt_t,
89+ pub st_atime: ::time_t,
90+ pub st_atime_nsec: ::c_long,
91+ pub st_mtime: ::time_t,
92+ pub st_mtime_nsec: ::c_long,
93+ pub st_ctime: ::time_t,
94+ pub st_ctime_nsec: ::c_long,
95+ __unused: [::c_int; 2],
96+ }
97+
98+ pub struct statfs {
99+ pub f_type: ::c_long,
100+ pub f_bsize: ::c_long,
101+ pub f_blocks: ::fsblkcnt_t,
102+ pub f_bfree: ::fsblkcnt_t,
103+ pub f_bavail: ::fsblkcnt_t,
104+ pub f_files: ::fsfilcnt_t,
105+ pub f_ffree: ::fsfilcnt_t,
106+ pub f_fsid: ::fsid_t,
107+ pub f_namelen: ::c_long,
108+ pub f_frsize: ::c_long,
109+ pub f_flags: ::c_long,
110+ pub f_spare: [::c_long; 4],
111+ }
112+
113+ pub struct statfs64 {
114+ pub f_type: ::c_long,
115+ pub f_bsize: ::c_long,
116+ pub f_blocks: ::fsblkcnt64_t,
117+ pub f_bfree: ::fsblkcnt64_t,
118+ pub f_bavail: ::fsblkcnt64_t,
119+ pub f_files: ::fsfilcnt64_t,
120+ pub f_ffree: ::fsfilcnt64_t,
121+ pub f_fsid: ::fsid_t,
122+ pub f_namelen: ::c_long,
123+ pub f_frsize: ::c_long,
124+ pub f_flags: ::c_long,
125+ pub f_spare: [::c_long; 4],
126+ }
127+
128+ pub struct statvfs {
129+ pub f_bsize: ::c_ulong,
130+ pub f_frsize: ::c_ulong,
131+ pub f_blocks: ::fsblkcnt_t,
132+ pub f_bfree: ::fsblkcnt_t,
133+ pub f_bavail: ::fsblkcnt_t,
134+ pub f_files: ::fsfilcnt_t,
135+ pub f_ffree: ::fsfilcnt_t,
136+ pub f_favail: ::fsfilcnt_t,
137+ pub f_fsid: ::c_ulong,
138+ pub f_flag: ::c_ulong,
139+ pub f_namemax: ::c_ulong,
140+ pub __f_spare: [::c_int; 6],
141+ }
142+
143+ pub struct statvfs64 {
144+ pub f_bsize: ::c_ulong,
145+ pub f_frsize: ::c_ulong,
146+ pub f_blocks: ::fsblkcnt64_t,
147+ pub f_bfree: ::fsblkcnt64_t,
148+ pub f_bavail: ::fsblkcnt64_t,
149+ pub f_files: ::fsfilcnt64_t,
150+ pub f_ffree: ::fsfilcnt64_t,
151+ pub f_favail: ::fsfilcnt64_t,
152+ pub f_fsid: ::c_ulong,
153+ pub f_flag: ::c_ulong,
154+ pub f_namemax: ::c_ulong,
155+ pub __f_spare: [::c_int; 6],
156+ }
157+
158+ pub struct siginfo_t {
159+ pub si_signo: ::c_int,
160+ pub si_errno: ::c_int,
161+ pub si_code: ::c_int,
162+ #[doc(hidden)]
163+ #[deprecated(
164+ since="0.2.54",
165+ note="Please leave a comment on \
166+ https://github.com/rust-lang/libc/pull/1316 if you're using \
167+ this field"
168+ )]
169+ pub _pad: [::c_int; 29],
170+ _align: [u64; 0],
171+ }
172+
173+ pub struct stack_t {
174+ pub ss_sp: *mut ::c_void,
175+ pub ss_flags: ::c_int,
176+ pub ss_size: ::size_t,
177+ }
178+
179+ pub struct sigaction {
180+ pub sa_sigaction: ::sighandler_t,
181+ pub sa_mask: ::sigset_t,
182+ pub sa_flags: ::c_int,
183+ pub sa_restorer: ::Option<unsafe extern "C" fn()>,
184+ }
185+
186+ pub struct ipc_perm {
187+ pub __key: ::key_t,
188+ pub uid: ::uid_t,
189+ pub gid: ::gid_t,
190+ pub cuid: ::uid_t,
191+ pub cgid: ::gid_t,
192+ pub mode: ::c_ushort,
193+ __pad1: ::c_ushort,
194+ pub __seq: ::c_ushort,
195+ __pad2: ::c_ushort,
196+ __unused1: ::c_ulong,
197+ __unused2: ::c_ulong,
198+ }
199+
200+ pub struct shmid_ds {
201+ pub shm_perm: ::ipc_perm,
202+ pub shm_segsz: ::size_t,
203+ pub shm_atime: ::time_t,
204+ pub shm_dtime: ::time_t,
205+ pub shm_ctime: ::time_t,
206+ pub shm_cpid: ::pid_t,
207+ pub shm_lpid: ::pid_t,
208+ pub shm_nattch: ::shmatt_t,
209+ __unused5: ::c_ulong,
210+ __unused6: ::c_ulong,
211+ }
212+
213+ pub struct flock {
214+ pub l_type: ::c_short,
215+ pub l_whence: ::c_short,
216+ pub l_start: ::off_t,
217+ pub l_len: ::off_t,
218+ pub l_pid: ::pid_t,
219+ }
220+
221+ pub struct flock64 {
222+ pub l_type: ::c_short,
223+ pub l_whence: ::c_short,
224+ pub l_start: ::off64_t,
225+ pub l_len: ::off64_t,
226+ pub l_pid: ::pid_t,
227+ }
228+
229+ pub struct ip_mreqn {
230+ pub imr_multiaddr: ::in_addr,
231+ pub imr_address: ::in_addr,
232+ pub imr_ifindex: ::c_int,
233+ }
234+}
235+
236+pub const POSIX_FADV_DONTNEED: ::c_int = 4;
237+pub const POSIX_FADV_NOREUSE: ::c_int = 5;
238+pub const VEOF: usize = 4;
239+pub const RTLD_DEEPBIND: ::c_int = 0x8;
240+pub const RTLD_GLOBAL: ::c_int = 0x100;
241+pub const RTLD_NOLOAD: ::c_int = 0x4;
242+pub const TIOCGSOFTCAR: ::c_ulong = 21529;
243+pub const TIOCSSOFTCAR: ::c_ulong = 21530;
244+pub const TIOCGRS485: ::c_int = 21550;
245+pub const TIOCSRS485: ::c_int = 21551;
246+pub const RLIMIT_RSS: ::__rlimit_resource_t = 5;
247+pub const RLIMIT_AS: ::__rlimit_resource_t = 9;
248+pub const RLIMIT_MEMLOCK: ::__rlimit_resource_t = 8;
249+pub const RLIMIT_NOFILE: ::__rlimit_resource_t = 7;
250+pub const RLIMIT_NPROC: ::__rlimit_resource_t = 6;
251+pub const O_APPEND: ::c_int = 1024;
252+pub const O_CREAT: ::c_int = 64;
253+pub const O_EXCL: ::c_int = 128;
254+pub const O_NOCTTY: ::c_int = 256;
255+pub const O_NONBLOCK: ::c_int = 2048;
256+pub const O_SYNC: ::c_int = 1052672;
257+pub const O_RSYNC: ::c_int = 1052672;
258+pub const O_DSYNC: ::c_int = 4096;
259+pub const O_FSYNC: ::c_int = 1052672;
260+pub const O_NOATIME: ::c_int = 262144;
261+pub const O_PATH: ::c_int = 2097152;
262+pub const O_TMPFILE: ::c_int = 4259840;
263+pub const MAP_GROWSDOWN: ::c_int = 256;
264+pub const EDEADLK: ::c_int = 35;
265+pub const ENAMETOOLONG: ::c_int = 36;
266+pub const ENOLCK: ::c_int = 37;
267+pub const ENOSYS: ::c_int = 38;
268+pub const ENOTEMPTY: ::c_int = 39;
269+pub const ELOOP: ::c_int = 40;
270+pub const ENOMSG: ::c_int = 42;
271+pub const EIDRM: ::c_int = 43;
272+pub const ECHRNG: ::c_int = 44;
273+pub const EL2NSYNC: ::c_int = 45;
274+pub const EL3HLT: ::c_int = 46;
275+pub const EL3RST: ::c_int = 47;
276+pub const ELNRNG: ::c_int = 48;
277+pub const EUNATCH: ::c_int = 49;
278+pub const ENOCSI: ::c_int = 50;
279+pub const EL2HLT: ::c_int = 51;
280+pub const EBADE: ::c_int = 52;
281+pub const EBADR: ::c_int = 53;
282+pub const EXFULL: ::c_int = 54;
283+pub const ENOANO: ::c_int = 55;
284+pub const EBADRQC: ::c_int = 56;
285+pub const EBADSLT: ::c_int = 57;
286+pub const EMULTIHOP: ::c_int = 72;
287+pub const EOVERFLOW: ::c_int = 75;
288+pub const ENOTUNIQ: ::c_int = 76;
289+pub const EBADFD: ::c_int = 77;
290+pub const EBADMSG: ::c_int = 74;
291+pub const EREMCHG: ::c_int = 78;
292+pub const ELIBACC: ::c_int = 79;
293+pub const ELIBBAD: ::c_int = 80;
294+pub const ELIBSCN: ::c_int = 81;
295+pub const ELIBMAX: ::c_int = 82;
296+pub const ELIBEXEC: ::c_int = 83;
297+pub const EILSEQ: ::c_int = 84;
298+pub const ERESTART: ::c_int = 85;
299+pub const ESTRPIPE: ::c_int = 86;
300+pub const EUSERS: ::c_int = 87;
301+pub const ENOTSOCK: ::c_int = 88;
302+pub const EDESTADDRREQ: ::c_int = 89;
303+pub const EMSGSIZE: ::c_int = 90;
304+pub const EPROTOTYPE: ::c_int = 91;
305+pub const ENOPROTOOPT: ::c_int = 92;
306+pub const EPROTONOSUPPORT: ::c_int = 93;
307+pub const ESOCKTNOSUPPORT: ::c_int = 94;
308+pub const EOPNOTSUPP: ::c_int = 95;
309+pub const EPFNOSUPPORT: ::c_int = 96;
310+pub const EAFNOSUPPORT: ::c_int = 97;
311+pub const EADDRINUSE: ::c_int = 98;
312+pub const EADDRNOTAVAIL: ::c_int = 99;
313+pub const ENETDOWN: ::c_int = 100;
314+pub const ENETUNREACH: ::c_int = 101;
315+pub const ENETRESET: ::c_int = 102;
316+pub const ECONNABORTED: ::c_int = 103;
317+pub const ECONNRESET: ::c_int = 104;
318+pub const ENOBUFS: ::c_int = 105;
319+pub const EISCONN: ::c_int = 106;
320+pub const ENOTCONN: ::c_int = 107;
321+pub const ESHUTDOWN: ::c_int = 108;
322+pub const ETOOMANYREFS: ::c_int = 109;
323+pub const ETIMEDOUT: ::c_int = 110;
324+pub const ECONNREFUSED: ::c_int = 111;
325+pub const EHOSTDOWN: ::c_int = 112;
326+pub const EHOSTUNREACH: ::c_int = 113;
327+pub const EALREADY: ::c_int = 114;
328+pub const EINPROGRESS: ::c_int = 115;
329+pub const ESTALE: ::c_int = 116;
330+pub const EDQUOT: ::c_int = 122;
331+pub const ENOMEDIUM: ::c_int = 123;
332+pub const EMEDIUMTYPE: ::c_int = 124;
333+pub const ECANCELED: ::c_int = 125;
334+pub const ENOKEY: ::c_int = 126;
335+pub const EKEYEXPIRED: ::c_int = 127;
336+pub const EKEYREVOKED: ::c_int = 128;
337+pub const EKEYREJECTED: ::c_int = 129;
338+pub const EOWNERDEAD: ::c_int = 130;
339+pub const ENOTRECOVERABLE: ::c_int = 131;
340+pub const EHWPOISON: ::c_int = 133;
341+pub const ERFKILL: ::c_int = 132;
342+pub const SOL_SOCKET: ::c_int = 1;
343+pub const SO_REUSEADDR: ::c_int = 2;
344+pub const SO_TYPE: ::c_int = 3;
345+pub const SO_ERROR: ::c_int = 4;
346+pub const SO_DONTROUTE: ::c_int = 5;
347+pub const SO_BROADCAST: ::c_int = 6;
348+pub const SO_SNDBUF: ::c_int = 7;
349+pub const SO_RCVBUF: ::c_int = 8;
350+pub const SO_SNDBUFFORCE: ::c_int = 32;
351+pub const SO_RCVBUFFORCE: ::c_int = 33;
352+pub const SO_KEEPALIVE: ::c_int = 9;
353+pub const SO_OOBINLINE: ::c_int = 10;
354+pub const SO_NO_CHECK: ::c_int = 11;
355+pub const SO_PRIORITY: ::c_int = 12;
356+pub const SO_LINGER: ::c_int = 13;
357+pub const SO_BSDCOMPAT: ::c_int = 14;
358+pub const SO_REUSEPORT: ::c_int = 15;
359+pub const SO_PASSCRED: ::c_int = 16;
360+pub const SO_PEERCRED: ::c_int = 17;
361+pub const SO_RCVLOWAT: ::c_int = 18;
362+pub const SO_SNDLOWAT: ::c_int = 19;
363+pub const SO_RCVTIMEO: ::c_int = 20;
364+pub const SO_SNDTIMEO: ::c_int = 21;
365+pub const SO_SECURITY_AUTHENTICATION: ::c_int = 22;
366+pub const SO_SECURITY_ENCRYPTION_TRANSPORT: ::c_int = 23;
367+pub const SO_SECURITY_ENCRYPTION_NETWORK: ::c_int = 24;
368+pub const SO_BINDTODEVICE: ::c_int = 25;
369+pub const SO_ATTACH_FILTER: ::c_int = 26;
370+pub const SO_DETACH_FILTER: ::c_int = 27;
371+pub const SO_GET_FILTER: ::c_int = 26;
372+pub const SO_PEERNAME: ::c_int = 28;
373+pub const SO_TIMESTAMP: ::c_int = 29;
374+pub const SO_ACCEPTCONN: ::c_int = 30;
375+pub const SO_PEERSEC: ::c_int = 31;
376+pub const SO_PASSSEC: ::c_int = 34;
377+pub const SO_TIMESTAMPNS: ::c_int = 35;
378+pub const SCM_TIMESTAMPNS: ::c_int = 35;
379+pub const SO_MARK: ::c_int = 36;
380+pub const SO_PROTOCOL: ::c_int = 38;
381+pub const SO_DOMAIN: ::c_int = 39;
382+pub const SO_RXQ_OVFL: ::c_int = 40;
383+pub const SO_WIFI_STATUS: ::c_int = 41;
384+pub const SCM_WIFI_STATUS: ::c_int = 41;
385+pub const SO_PEEK_OFF: ::c_int = 42;
386+pub const SO_NOFCS: ::c_int = 43;
387+pub const SO_LOCK_FILTER: ::c_int = 44;
388+pub const SO_SELECT_ERR_QUEUE: ::c_int = 45;
389+pub const SO_BUSY_POLL: ::c_int = 46;
390+pub const SO_MAX_PACING_RATE: ::c_int = 47;
391+pub const SO_BPF_EXTENSIONS: ::c_int = 48;
392+pub const SO_INCOMING_CPU: ::c_int = 49;
393+pub const SO_ATTACH_BPF: ::c_int = 50;
394+pub const SO_DETACH_BPF: ::c_int = 27;
395+pub const SOCK_STREAM: ::c_int = 1;
396+pub const SOCK_DGRAM: ::c_int = 2;
397+pub const SA_ONSTACK: ::c_int = 134217728;
398+pub const SA_SIGINFO: ::c_int = 4;
399+pub const SA_NOCLDWAIT: ::c_int = 2;
400+pub const SIGTTIN: ::c_int = 21;
401+pub const SIGTTOU: ::c_int = 22;
402+pub const SIGXCPU: ::c_int = 24;
403+pub const SIGXFSZ: ::c_int = 25;
404+pub const SIGVTALRM: ::c_int = 26;
405+pub const SIGPROF: ::c_int = 27;
406+pub const SIGWINCH: ::c_int = 28;
407+pub const SIGCHLD: ::c_int = 17;
408+pub const SIGBUS: ::c_int = 7;
409+pub const SIGUSR1: ::c_int = 10;
410+pub const SIGUSR2: ::c_int = 12;
411+pub const SIGCONT: ::c_int = 18;
412+pub const SIGSTOP: ::c_int = 19;
413+pub const SIGTSTP: ::c_int = 20;
414+pub const SIGURG: ::c_int = 23;
415+pub const SIGIO: ::c_int = 29;
416+pub const SIGSYS: ::c_int = 31;
417+pub const SIGSTKFLT: ::c_int = 16;
418+pub const SIGPOLL: ::c_int = 29;
419+pub const SIGPWR: ::c_int = 30;
420+pub const SIG_SETMASK: ::c_int = 2;
421+pub const SIG_BLOCK: ::c_int = 0;
422+pub const SIG_UNBLOCK: ::c_int = 1;
423+pub const POLLWRNORM: ::c_short = 256;
424+pub const POLLWRBAND: ::c_short = 512;
425+pub const O_ASYNC: ::c_int = 8192;
426+pub const O_NDELAY: ::c_int = 2048;
427+pub const PTRACE_DETACH: ::c_uint = 17;
428+pub const EFD_NONBLOCK: ::c_int = 2048;
429+pub const F_GETLK: ::c_int = 5;
430+pub const F_GETOWN: ::c_int = 9;
431+pub const F_SETOWN: ::c_int = 8;
432+pub const F_SETLK: ::c_int = 6;
433+pub const F_SETLKW: ::c_int = 7;
434+pub const F_RDLCK: ::c_int = 0;
435+pub const F_WRLCK: ::c_int = 1;
436+pub const F_UNLCK: ::c_int = 2;
437+pub const F_OFD_GETLK: ::c_int = 36;
438+pub const F_OFD_SETLK: ::c_int = 37;
439+pub const F_OFD_SETLKW: ::c_int = 38;
440+pub const SFD_NONBLOCK: ::c_int = 2048;
441+pub const TCSANOW: ::c_int = 0;
442+pub const TCSADRAIN: ::c_int = 1;
443+pub const TCSAFLUSH: ::c_int = 2;
444+pub const TIOCLINUX: ::c_ulong = 21532;
445+pub const TIOCGSERIAL: ::c_ulong = 21534;
446+pub const TIOCEXCL: ::c_ulong = 21516;
447+pub const TIOCNXCL: ::c_ulong = 21517;
448+pub const TIOCSCTTY: ::c_ulong = 21518;
449+pub const TIOCSTI: ::c_ulong = 21522;
450+pub const TIOCMGET: ::c_ulong = 21525;
451+pub const TIOCMBIS: ::c_ulong = 21526;
452+pub const TIOCMBIC: ::c_ulong = 21527;
453+pub const TIOCMSET: ::c_ulong = 21528;
454+pub const TIOCCONS: ::c_ulong = 21533;
455+pub const TIOCM_ST: ::c_int = 8;
456+pub const TIOCM_SR: ::c_int = 16;
457+pub const TIOCM_CTS: ::c_int = 32;
458+pub const TIOCM_CAR: ::c_int = 64;
459+pub const TIOCM_RNG: ::c_int = 128;
460+pub const TIOCM_DSR: ::c_int = 256;
461+pub const SFD_CLOEXEC: ::c_int = 524288;
462+pub const NCCS: usize = 32;
463+pub const O_TRUNC: ::c_int = 512;
464+pub const O_CLOEXEC: ::c_int = 524288;
465+pub const EBFONT: ::c_int = 59;
466+pub const ENOSTR: ::c_int = 60;
467+pub const ENODATA: ::c_int = 61;
468+pub const ETIME: ::c_int = 62;
469+pub const ENOSR: ::c_int = 63;
470+pub const ENONET: ::c_int = 64;
471+pub const ENOPKG: ::c_int = 65;
472+pub const EREMOTE: ::c_int = 66;
473+pub const ENOLINK: ::c_int = 67;
474+pub const EADV: ::c_int = 68;
475+pub const ESRMNT: ::c_int = 69;
476+pub const ECOMM: ::c_int = 70;
477+pub const EPROTO: ::c_int = 71;
478+pub const EDOTDOT: ::c_int = 73;
479+pub const SA_NODEFER: ::c_int = 1073741824;
480+pub const SA_RESETHAND: ::c_int = -2147483648;
481+pub const SA_RESTART: ::c_int = 268435456;
482+pub const SA_NOCLDSTOP: ::c_int = 1;
483+pub const EPOLL_CLOEXEC: ::c_int = 524288;
484+pub const EFD_CLOEXEC: ::c_int = 524288;
485+pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 4;
486+pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 4;
487+pub const O_DIRECT: ::c_int = 16384;
488+pub const O_DIRECTORY: ::c_int = 65536;
489+pub const O_NOFOLLOW: ::c_int = 131072;
490+pub const MAP_HUGETLB: ::c_int = 262144;
491+pub const MAP_LOCKED: ::c_int = 8192;
492+pub const MAP_NORESERVE: ::c_int = 16384;
493+pub const MAP_ANON: ::c_int = 32;
494+pub const MAP_ANONYMOUS: ::c_int = 32;
495+pub const MAP_DENYWRITE: ::c_int = 2048;
496+pub const MAP_EXECUTABLE: ::c_int = 4096;
497+pub const MAP_POPULATE: ::c_int = 32768;
498+pub const MAP_NONBLOCK: ::c_int = 65536;
499+pub const MAP_STACK: ::c_int = 131072;
500+pub const MAP_SYNC : ::c_int = 0x080000;
501+pub const EDEADLOCK: ::c_int = 35;
502+pub const EUCLEAN: ::c_int = 117;
503+pub const ENOTNAM: ::c_int = 118;
504+pub const ENAVAIL: ::c_int = 119;
505+pub const EISNAM: ::c_int = 120;
506+pub const EREMOTEIO: ::c_int = 121;
507+pub const FIOCLEX: ::c_ulong = 21585;
508+pub const FIONCLEX: ::c_ulong = 21584;
509+pub const FIONBIO: ::c_ulong = 21537;
510+pub const MCL_CURRENT: ::c_int = 1;
511+pub const MCL_FUTURE: ::c_int = 2;
512+pub const SIGSTKSZ: ::size_t = 8192;
513+pub const MINSIGSTKSZ: ::size_t = 2048;
514+pub const CBAUD: ::tcflag_t = 4111;
515+pub const TAB1: ::tcflag_t = 2048;
516+pub const TAB2: ::tcflag_t = 4096;
517+pub const TAB3: ::tcflag_t = 6144;
518+pub const CR1: ::tcflag_t = 512;
519+pub const CR2: ::tcflag_t = 1024;
520+pub const CR3: ::tcflag_t = 1536;
521+pub const FF1: ::tcflag_t = 32768;
522+pub const BS1: ::tcflag_t = 8192;
523+pub const VT1: ::tcflag_t = 16384;
524+pub const VWERASE: usize = 14;
525+pub const VREPRINT: usize = 12;
526+pub const VSUSP: usize = 10;
527+pub const VSTART: usize = 8;
528+pub const VSTOP: usize = 9;
529+pub const VDISCARD: usize = 13;
530+pub const VTIME: usize = 5;
531+pub const IXON: ::tcflag_t = 1024;
532+pub const IXOFF: ::tcflag_t = 4096;
533+pub const ONLCR: ::tcflag_t = 4;
534+pub const CSIZE: ::tcflag_t = 48;
535+pub const CS6: ::tcflag_t = 16;
536+pub const CS7: ::tcflag_t = 32;
537+pub const CS8: ::tcflag_t = 48;
538+pub const CSTOPB: ::tcflag_t = 64;
539+pub const CREAD: ::tcflag_t = 128;
540+pub const PARENB: ::tcflag_t = 256;
541+pub const PARODD: ::tcflag_t = 512;
542+pub const HUPCL: ::tcflag_t = 1024;
543+pub const CLOCAL: ::tcflag_t = 2048;
544+pub const ECHOKE: ::tcflag_t = 2048;
545+pub const ECHOE: ::tcflag_t = 16;
546+pub const ECHOK: ::tcflag_t = 32;
547+pub const ECHONL: ::tcflag_t = 64;
548+pub const ECHOPRT: ::tcflag_t = 1024;
549+pub const ECHOCTL: ::tcflag_t = 512;
550+pub const ISIG: ::tcflag_t = 1;
551+pub const ICANON: ::tcflag_t = 2;
552+pub const PENDIN: ::tcflag_t = 16384;
553+pub const NOFLSH: ::tcflag_t = 128;
554+pub const CIBAUD: ::tcflag_t = 269418496;
555+pub const CBAUDEX: ::tcflag_t = 4096;
556+pub const VSWTC: usize = 7;
557+pub const OLCUC: ::tcflag_t = 2;
558+pub const NLDLY: ::tcflag_t = 256;
559+pub const CRDLY: ::tcflag_t = 1536;
560+pub const TABDLY: ::tcflag_t = 6144;
561+pub const BSDLY: ::tcflag_t = 8192;
562+pub const FFDLY: ::tcflag_t = 32768;
563+pub const VTDLY: ::tcflag_t = 16384;
564+pub const XTABS: ::tcflag_t = 6144;
565+pub const B0: ::speed_t = 0;
566+pub const B50: ::speed_t = 1;
567+pub const B75: ::speed_t = 2;
568+pub const B110: ::speed_t = 3;
569+pub const B134: ::speed_t = 4;
570+pub const B150: ::speed_t = 5;
571+pub const B200: ::speed_t = 6;
572+pub const B300: ::speed_t = 7;
573+pub const B600: ::speed_t = 8;
574+pub const B1200: ::speed_t = 9;
575+pub const B1800: ::speed_t = 10;
576+pub const B2400: ::speed_t = 11;
577+pub const B4800: ::speed_t = 12;
578+pub const B9600: ::speed_t = 13;
579+pub const B19200: ::speed_t = 14;
580+pub const B38400: ::speed_t = 15;
581+pub const EXTA: ::speed_t = 14;
582+pub const EXTB: ::speed_t = 15;
583+pub const B57600: ::speed_t = 4097;
584+pub const B115200: ::speed_t = 4098;
585+pub const B230400: ::speed_t = 4099;
586+pub const B460800: ::speed_t = 4100;
587+pub const B500000: ::speed_t = 4101;
588+pub const B576000: ::speed_t = 4102;
589+pub const B921600: ::speed_t = 4103;
590+pub const B1000000: ::speed_t = 4104;
591+pub const B1152000: ::speed_t = 4105;
592+pub const B1500000: ::speed_t = 4106;
593+pub const B2000000: ::speed_t = 4107;
594+pub const B2500000: ::speed_t = 4108;
595+pub const B3000000: ::speed_t = 4109;
596+pub const B3500000: ::speed_t = 4110;
597+pub const B4000000: ::speed_t = 4111;
598+pub const VEOL: usize = 11;
599+pub const VEOL2: usize = 16;
600+pub const VMIN: usize = 6;
601+pub const IEXTEN: ::tcflag_t = 32768;
602+pub const TOSTOP: ::tcflag_t = 256;
603+pub const FLUSHO: ::tcflag_t = 4096;
604+pub const EXTPROC: ::tcflag_t = 65536;
605+pub const TCGETS: ::c_ulong = 21505;
606+pub const TCSETS: ::c_ulong = 21506;
607+pub const TCSETSW: ::c_ulong = 21507;
608+pub const TCSETSF: ::c_ulong = 21508;
609+pub const TCGETA: ::c_ulong = 21509;
610+pub const TCSETA: ::c_ulong = 21510;
611+pub const TCSETAW: ::c_ulong = 21511;
612+pub const TCSETAF: ::c_ulong = 21512;
613+pub const TCSBRK: ::c_ulong = 21513;
614+pub const TCXONC: ::c_ulong = 21514;
615+pub const TCFLSH: ::c_ulong = 21515;
616+pub const TIOCINQ: ::c_ulong = 21531;
617+pub const TIOCGPGRP: ::c_ulong = 21519;
618+pub const TIOCSPGRP: ::c_ulong = 21520;
619+pub const TIOCOUTQ: ::c_ulong = 21521;
620+pub const TIOCGWINSZ: ::c_ulong = 21523;
621+pub const TIOCSWINSZ: ::c_ulong = 21524;
622+pub const FIONREAD: ::c_ulong = 21531;
623+pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 40;
624+pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 56;
625+pub const SYS_read: ::c_long = 63;
626+pub const SYS_write: ::c_long = 64;
627+pub const SYS_close: ::c_long = 57;
628+pub const SYS_fstat: ::c_long = 80;
629+pub const SYS_lseek: ::c_long = 62;
630+pub const SYS_mmap: ::c_long = 222;
631+pub const SYS_mprotect: ::c_long = 226;
632+pub const SYS_munmap: ::c_long = 215;
633+pub const SYS_brk: ::c_long = 214;
634+pub const SYS_rt_sigaction: ::c_long = 134;
635+pub const SYS_rt_sigprocmask: ::c_long = 135;
636+pub const SYS_rt_sigreturn: ::c_long = 139;
637+pub const SYS_ioctl: ::c_long = 29;
638+pub const SYS_pread64: ::c_long = 67;
639+pub const SYS_pwrite64: ::c_long = 68;
640+pub const SYS_readv: ::c_long = 65;
641+pub const SYS_writev: ::c_long = 66;
642+pub const SYS_sched_yield: ::c_long = 124;
643+pub const SYS_mremap: ::c_long = 216;
644+pub const SYS_msync: ::c_long = 227;
645+pub const SYS_mincore: ::c_long = 232;
646+pub const SYS_madvise: ::c_long = 233;
647+pub const SYS_shmget: ::c_long = 194;
648+pub const SYS_shmat: ::c_long = 196;
649+pub const SYS_shmctl: ::c_long = 195;
650+pub const SYS_dup: ::c_long = 23;
651+pub const SYS_nanosleep: ::c_long = 101;
652+pub const SYS_getitimer: ::c_long = 102;
653+pub const SYS_setitimer: ::c_long = 103;
654+pub const SYS_getpid: ::c_long = 172;
655+pub const SYS_sendfile: ::c_long = 71;
656+pub const SYS_socket: ::c_long = 198;
657+pub const SYS_connect: ::c_long = 203;
658+pub const SYS_accept: ::c_long = 202;
659+pub const SYS_sendto: ::c_long = 206;
660+pub const SYS_recvfrom: ::c_long = 207;
661+pub const SYS_sendmsg: ::c_long = 211;
662+pub const SYS_recvmsg: ::c_long = 212;
663+pub const SYS_shutdown: ::c_long = 210;
664+pub const SYS_bind: ::c_long = 200;
665+pub const SYS_listen: ::c_long = 201;
666+pub const SYS_getsockname: ::c_long = 204;
667+pub const SYS_getpeername: ::c_long = 205;
668+pub const SYS_socketpair: ::c_long = 199;
669+pub const SYS_setsockopt: ::c_long = 208;
670+pub const SYS_getsockopt: ::c_long = 209;
671+pub const SYS_clone: ::c_long = 220;
672+pub const SYS_execve: ::c_long = 221;
673+pub const SYS_exit: ::c_long = 93;
674+pub const SYS_wait4: ::c_long = 260;
675+pub const SYS_kill: ::c_long = 129;
676+pub const SYS_uname: ::c_long = 160;
677+pub const SYS_semget: ::c_long = 190;
678+pub const SYS_semop: ::c_long = 193;
679+pub const SYS_semctl: ::c_long = 191;
680+pub const SYS_shmdt: ::c_long = 197;
681+pub const SYS_msgget: ::c_long = 186;
682+pub const SYS_msgsnd: ::c_long = 189;
683+pub const SYS_msgrcv: ::c_long = 188;
684+pub const SYS_msgctl: ::c_long = 187;
685+pub const SYS_fcntl: ::c_long = 25;
686+pub const SYS_flock: ::c_long = 32;
687+pub const SYS_fsync: ::c_long = 82;
688+pub const SYS_fdatasync: ::c_long = 83;
689+pub const SYS_truncate: ::c_long = 45;
690+pub const SYS_ftruncate: ::c_long = 46;
691+pub const SYS_getcwd: ::c_long = 17;
692+pub const SYS_chdir: ::c_long = 49;
693+pub const SYS_fchdir: ::c_long = 50;
694+pub const SYS_fchmod: ::c_long = 52;
695+pub const SYS_fchown: ::c_long = 55;
696+pub const SYS_umask: ::c_long = 166;
697+pub const SYS_gettimeofday: ::c_long = 169;
698+pub const SYS_getrlimit: ::c_long = 163;
699+pub const SYS_getrusage: ::c_long = 165;
700+pub const SYS_sysinfo: ::c_long = 179;
701+pub const SYS_times: ::c_long = 153;
702+pub const SYS_ptrace: ::c_long = 117;
703+pub const SYS_getuid: ::c_long = 174;
704+pub const SYS_syslog: ::c_long = 116;
705+pub const SYS_getgid: ::c_long = 176;
706+pub const SYS_setuid: ::c_long = 146;
707+pub const SYS_setgid: ::c_long = 144;
708+pub const SYS_geteuid: ::c_long = 175;
709+pub const SYS_getegid: ::c_long = 177;
710+pub const SYS_setpgid: ::c_long = 154;
711+pub const SYS_getppid: ::c_long = 173;
712+pub const SYS_setsid: ::c_long = 157;
713+pub const SYS_setreuid: ::c_long = 145;
714+pub const SYS_setregid: ::c_long = 143;
715+pub const SYS_getgroups: ::c_long = 158;
716+pub const SYS_setgroups: ::c_long = 159;
717+pub const SYS_setresuid: ::c_long = 147;
718+pub const SYS_getresuid: ::c_long = 148;
719+pub const SYS_setresgid: ::c_long = 149;
720+pub const SYS_getresgid: ::c_long = 150;
721+pub const SYS_getpgid: ::c_long = 155;
722+pub const SYS_setfsuid: ::c_long = 151;
723+pub const SYS_setfsgid: ::c_long = 152;
724+pub const SYS_getsid: ::c_long = 156;
725+pub const SYS_capget: ::c_long = 90;
726+pub const SYS_capset: ::c_long = 91;
727+pub const SYS_rt_sigpending: ::c_long = 136;
728+pub const SYS_rt_sigtimedwait: ::c_long = 137;
729+pub const SYS_rt_sigqueueinfo: ::c_long = 138;
730+pub const SYS_rt_sigsuspend: ::c_long = 133;
731+pub const SYS_sigaltstack: ::c_long = 132;
732+pub const SYS_personality: ::c_long = 92;
733+pub const SYS_statfs: ::c_long = 43;
734+pub const SYS_fstatfs: ::c_long = 44;
735+pub const SYS_getpriority: ::c_long = 141;
736+pub const SYS_setpriority: ::c_long = 140;
737+pub const SYS_sched_setparam: ::c_long = 118;
738+pub const SYS_sched_getparam: ::c_long = 121;
739+pub const SYS_sched_setscheduler: ::c_long = 119;
740+pub const SYS_sched_getscheduler: ::c_long = 120;
741+pub const SYS_sched_get_priority_max: ::c_long = 125;
742+pub const SYS_sched_get_priority_min: ::c_long = 126;
743+pub const SYS_sched_rr_get_interval: ::c_long = 127;
744+pub const SYS_mlock: ::c_long = 228;
745+pub const SYS_munlock: ::c_long = 229;
746+pub const SYS_mlockall: ::c_long = 230;
747+pub const SYS_munlockall: ::c_long = 231;
748+pub const SYS_vhangup: ::c_long = 58;
749+pub const SYS_pivot_root: ::c_long = 41;
750+pub const SYS_prctl: ::c_long = 167;
751+pub const SYS_adjtimex: ::c_long = 171;
752+pub const SYS_setrlimit: ::c_long = 164;
753+pub const SYS_chroot: ::c_long = 51;
754+pub const SYS_sync: ::c_long = 81;
755+pub const SYS_acct: ::c_long = 89;
756+pub const SYS_settimeofday: ::c_long = 170;
757+pub const SYS_mount: ::c_long = 40;
758+pub const SYS_umount2: ::c_long = 39;
759+pub const SYS_swapon: ::c_long = 224;
760+pub const SYS_swapoff: ::c_long = 225;
761+pub const SYS_reboot: ::c_long = 142;
762+pub const SYS_sethostname: ::c_long = 161;
763+pub const SYS_setdomainname: ::c_long = 162;
764+pub const SYS_init_module: ::c_long = 105;
765+pub const SYS_delete_module: ::c_long = 106;
766+pub const SYS_quotactl: ::c_long = 60;
767+pub const SYS_nfsservctl: ::c_long = 42;
768+pub const SYS_gettid: ::c_long = 178;
769+pub const SYS_readahead: ::c_long = 213;
770+pub const SYS_setxattr: ::c_long = 5;
771+pub const SYS_lsetxattr: ::c_long = 6;
772+pub const SYS_fsetxattr: ::c_long = 7;
773+pub const SYS_getxattr: ::c_long = 8;
774+pub const SYS_lgetxattr: ::c_long = 9;
775+pub const SYS_fgetxattr: ::c_long = 10;
776+pub const SYS_listxattr: ::c_long = 11;
777+pub const SYS_llistxattr: ::c_long = 12;
778+pub const SYS_flistxattr: ::c_long = 13;
779+pub const SYS_removexattr: ::c_long = 14;
780+pub const SYS_lremovexattr: ::c_long = 15;
781+pub const SYS_fremovexattr: ::c_long = 16;
782+pub const SYS_tkill: ::c_long = 130;
783+pub const SYS_futex: ::c_long = 98;
784+pub const SYS_sched_setaffinity: ::c_long = 122;
785+pub const SYS_sched_getaffinity: ::c_long = 123;
786+pub const SYS_io_setup: ::c_long = 0;
787+pub const SYS_io_destroy: ::c_long = 1;
788+pub const SYS_io_getevents: ::c_long = 4;
789+pub const SYS_io_submit: ::c_long = 2;
790+pub const SYS_io_cancel: ::c_long = 3;
791+pub const SYS_lookup_dcookie: ::c_long = 18;
792+pub const SYS_remap_file_pages: ::c_long = 234;
793+pub const SYS_getdents64: ::c_long = 61;
794+pub const SYS_set_tid_address: ::c_long = 96;
795+pub const SYS_restart_syscall: ::c_long = 128;
796+pub const SYS_semtimedop: ::c_long = 192;
797+pub const SYS_fadvise64: ::c_long = 223;
798+pub const SYS_timer_create: ::c_long = 107;
799+pub const SYS_timer_settime: ::c_long = 110;
800+pub const SYS_timer_gettime: ::c_long = 108;
801+pub const SYS_timer_getoverrun: ::c_long = 109;
802+pub const SYS_timer_delete: ::c_long = 111;
803+pub const SYS_clock_settime: ::c_long = 112;
804+pub const SYS_clock_gettime: ::c_long = 113;
805+pub const SYS_clock_getres: ::c_long = 114;
806+pub const SYS_clock_nanosleep: ::c_long = 115;
807+pub const SYS_exit_group: ::c_long = 94;
808+pub const SYS_epoll_ctl: ::c_long = 21;
809+pub const SYS_tgkill: ::c_long = 131;
810+pub const SYS_mbind: ::c_long = 235;
811+pub const SYS_set_mempolicy: ::c_long = 237;
812+pub const SYS_get_mempolicy: ::c_long = 236;
813+pub const SYS_mq_open: ::c_long = 180;
814+pub const SYS_mq_unlink: ::c_long = 181;
815+pub const SYS_mq_timedsend: ::c_long = 182;
816+pub const SYS_mq_timedreceive: ::c_long = 183;
817+pub const SYS_mq_notify: ::c_long = 184;
818+pub const SYS_mq_getsetattr: ::c_long = 185;
819+pub const SYS_kexec_load: ::c_long = 104;
820+pub const SYS_waitid: ::c_long = 95;
821+pub const SYS_add_key: ::c_long = 217;
822+pub const SYS_request_key: ::c_long = 218;
823+pub const SYS_keyctl: ::c_long = 219;
824+pub const SYS_ioprio_set: ::c_long = 30;
825+pub const SYS_ioprio_get: ::c_long = 31;
826+pub const SYS_inotify_add_watch: ::c_long = 27;
827+pub const SYS_inotify_rm_watch: ::c_long = 28;
828+pub const SYS_migrate_pages: ::c_long = 238;
829+pub const SYS_openat: ::c_long = 56;
830+pub const SYS_mkdirat: ::c_long = 34;
831+pub const SYS_mknodat: ::c_long = 33;
832+pub const SYS_fchownat: ::c_long = 54;
833+pub const SYS_newfstatat: ::c_long = 79;
834+pub const SYS_unlinkat: ::c_long = 35;
835+pub const SYS_linkat: ::c_long = 37;
836+pub const SYS_symlinkat: ::c_long = 36;
837+pub const SYS_readlinkat: ::c_long = 78;
838+pub const SYS_fchmodat: ::c_long = 53;
839+pub const SYS_faccessat: ::c_long = 48;
840+pub const SYS_pselect6: ::c_long = 72;
841+pub const SYS_ppoll: ::c_long = 73;
842+pub const SYS_unshare: ::c_long = 97;
843+pub const SYS_set_robust_list: ::c_long = 99;
844+pub const SYS_get_robust_list: ::c_long = 100;
845+pub const SYS_splice: ::c_long = 76;
846+pub const SYS_tee: ::c_long = 77;
847+pub const SYS_sync_file_range: ::c_long = 84;
848+pub const SYS_vmsplice: ::c_long = 75;
849+pub const SYS_move_pages: ::c_long = 239;
850+pub const SYS_utimensat: ::c_long = 88;
851+pub const SYS_epoll_pwait: ::c_long = 22;
852+pub const SYS_timerfd_create: ::c_long = 85;
853+pub const SYS_fallocate: ::c_long = 47;
854+pub const SYS_timerfd_settime: ::c_long = 86;
855+pub const SYS_timerfd_gettime: ::c_long = 87;
856+pub const SYS_accept4: ::c_long = 242;
857+pub const SYS_signalfd4: ::c_long = 74;
858+pub const SYS_eventfd2: ::c_long = 19;
859+pub const SYS_epoll_create1: ::c_long = 20;
860+pub const SYS_dup3: ::c_long = 24;
861+pub const SYS_pipe2: ::c_long = 59;
862+pub const SYS_inotify_init1: ::c_long = 26;
863+pub const SYS_preadv: ::c_long = 69;
864+pub const SYS_pwritev: ::c_long = 70;
865+pub const SYS_rt_tgsigqueueinfo: ::c_long = 240;
866+pub const SYS_perf_event_open: ::c_long = 241;
867+pub const SYS_recvmmsg: ::c_long = 243;
868+pub const SYS_fanotify_init: ::c_long = 262;
869+pub const SYS_fanotify_mark: ::c_long = 263;
870+pub const SYS_prlimit64: ::c_long = 261;
871+pub const SYS_name_to_handle_at: ::c_long = 264;
872+pub const SYS_open_by_handle_at: ::c_long = 265;
873+pub const SYS_clock_adjtime: ::c_long = 266;
874+pub const SYS_syncfs: ::c_long = 267;
875+pub const SYS_sendmmsg: ::c_long = 269;
876+pub const SYS_setns: ::c_long = 268;
877+pub const SYS_getcpu: ::c_long = 168;
878+pub const SYS_process_vm_readv: ::c_long = 270;
879+pub const SYS_process_vm_writev: ::c_long = 271;
880+pub const SYS_kcmp: ::c_long = 272;
881+pub const SYS_finit_module: ::c_long = 273;
882+pub const SYS_sched_setattr: ::c_long = 274;
883+pub const SYS_sched_getattr: ::c_long = 275;
884+pub const SYS_renameat2: ::c_long = 276;
885+pub const SYS_seccomp: ::c_long = 277;
886+pub const SYS_getrandom: ::c_long = 278;
887+pub const SYS_memfd_create: ::c_long = 279;
888+pub const SYS_bpf: ::c_long = 280;
889+pub const SYS_execveat: ::c_long = 281;
890+pub const SYS_userfaultfd: ::c_long = 282;
891+pub const SYS_membarrier: ::c_long = 283;
892+pub const SYS_mlock2: ::c_long = 284;
893+pub const SYS_copy_file_range: ::c_long = 285;
894+pub const SYS_preadv2: ::c_long = 286;
895+pub const SYS_pwritev2: ::c_long = 287;
896+pub const SYS_pkey_mprotect: ::c_long = 288;
897+pub const SYS_pkey_alloc: ::c_long = 289;
898+pub const SYS_pkey_free: ::c_long = 290;
899+pub const SYS_statx: ::c_long = 291;
900+pub const SYS_pidfd_open: ::c_long = 434;
901+pub const SYS_clone3: ::c_long = 435;
902--
9032.30.1
904
diff --git a/meta/recipes-devtools/rust/libstd-rs-1.51.0/0002-FIXUP-linux-musl-mod.rs-add-riscv64-to-b64-set.patch b/meta/recipes-devtools/rust/libstd-rs-1.51.0/0002-FIXUP-linux-musl-mod.rs-add-riscv64-to-b64-set.patch
new file mode 100644
index 0000000000..4edc0990c8
--- /dev/null
+++ b/meta/recipes-devtools/rust/libstd-rs-1.51.0/0002-FIXUP-linux-musl-mod.rs-add-riscv64-to-b64-set.patch
@@ -0,0 +1,29 @@
1From 2f418ff6fbe1dbdd2f56b3e208f3da6d71c0a7e4 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 17 Feb 2021 00:34:05 -0800
4Subject: [PATCH 2/4] FIXUP: linux/musl/mod.rs: add riscv64 to b64 set
5
6https://github.com/rust-lang/libc/pull/1994/commits/30070c822be2ef399b2ba38cdc1d72ac694d65a3
7
8Signed-off-by: Khem Raj <raj.khem@gmail.com>
9---
10 vendor/libc/src/unix/linux_like/linux/musl/mod.rs | 3 ++-
11 1 file changed, 2 insertions(+), 1 deletion(-)
12
13diff --git a/vendor/libc/src/unix/linux_like/linux/musl/mod.rs b/vendor/libc/src/unix/linux_like/linux/musl/mod.rs
14index 0d427ae38..d7eb212f7 100644
15--- a/vendor/libc/src/unix/linux_like/linux/musl/mod.rs
16+++ b/vendor/libc/src/unix/linux_like/linux/musl/mod.rs
17@@ -601,7 +601,8 @@ cfg_if! {
18 if #[cfg(any(target_arch = "x86_64",
19 target_arch = "aarch64",
20 target_arch = "mips64",
21- target_arch = "powerpc64"))] {
22+ target_arch = "powerpc64",
23+ target_arch = "riscv64"))] {
24 mod b64;
25 pub use self::b64::*;
26 } else if #[cfg(any(target_arch = "x86",
27--
282.30.1
29
diff --git a/meta/recipes-devtools/rust/libstd-rs-1.51.0/0003-FIXUP-Correct-definitions-to-match-musl.patch b/meta/recipes-devtools/rust/libstd-rs-1.51.0/0003-FIXUP-Correct-definitions-to-match-musl.patch
new file mode 100644
index 0000000000..51c4b00a6d
--- /dev/null
+++ b/meta/recipes-devtools/rust/libstd-rs-1.51.0/0003-FIXUP-Correct-definitions-to-match-musl.patch
@@ -0,0 +1,740 @@
1From f6a2f444d9deae167f4c939c6e874744986744a1 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 17 Feb 2021 00:34:56 -0800
4Subject: [PATCH 3/4] FIXUP Correct definitions to match musl
5
6https://github.com/rust-lang/libc/pull/1994/commits/5f6a4d9745c79c81be63c708515ab116786554a3
7
8Signed-off-by: Khem Raj <raj.khem@gmail.com>
9---
10 .../linux_like/linux/musl/b64/riscv64/mod.rs | 708 ++++++++----------
11 1 file changed, 311 insertions(+), 397 deletions(-)
12
13diff --git 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
14index 14bae11d0..c37190cca 100644
15--- a/vendor/libc/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
16+++ b/vendor/libc/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
17@@ -191,403 +191,8 @@ s! {
18 pub l_len: ::off64_t,
19 pub l_pid: ::pid_t,
20 }
21-
22- pub struct ip_mreqn {
23- pub imr_multiaddr: ::in_addr,
24- pub imr_address: ::in_addr,
25- pub imr_ifindex: ::c_int,
26- }
27 }
28
29-pub const POSIX_FADV_DONTNEED: ::c_int = 4;
30-pub const POSIX_FADV_NOREUSE: ::c_int = 5;
31-pub const VEOF: usize = 4;
32-pub const RTLD_DEEPBIND: ::c_int = 0x8;
33-pub const RTLD_GLOBAL: ::c_int = 0x100;
34-pub const RTLD_NOLOAD: ::c_int = 0x4;
35-pub const TIOCGSOFTCAR: ::c_ulong = 21529;
36-pub const TIOCSSOFTCAR: ::c_ulong = 21530;
37-pub const TIOCGRS485: ::c_int = 21550;
38-pub const TIOCSRS485: ::c_int = 21551;
39-pub const RLIMIT_RSS: ::__rlimit_resource_t = 5;
40-pub const RLIMIT_AS: ::__rlimit_resource_t = 9;
41-pub const RLIMIT_MEMLOCK: ::__rlimit_resource_t = 8;
42-pub const RLIMIT_NOFILE: ::__rlimit_resource_t = 7;
43-pub const RLIMIT_NPROC: ::__rlimit_resource_t = 6;
44-pub const O_APPEND: ::c_int = 1024;
45-pub const O_CREAT: ::c_int = 64;
46-pub const O_EXCL: ::c_int = 128;
47-pub const O_NOCTTY: ::c_int = 256;
48-pub const O_NONBLOCK: ::c_int = 2048;
49-pub const O_SYNC: ::c_int = 1052672;
50-pub const O_RSYNC: ::c_int = 1052672;
51-pub const O_DSYNC: ::c_int = 4096;
52-pub const O_FSYNC: ::c_int = 1052672;
53-pub const O_NOATIME: ::c_int = 262144;
54-pub const O_PATH: ::c_int = 2097152;
55-pub const O_TMPFILE: ::c_int = 4259840;
56-pub const MAP_GROWSDOWN: ::c_int = 256;
57-pub const EDEADLK: ::c_int = 35;
58-pub const ENAMETOOLONG: ::c_int = 36;
59-pub const ENOLCK: ::c_int = 37;
60-pub const ENOSYS: ::c_int = 38;
61-pub const ENOTEMPTY: ::c_int = 39;
62-pub const ELOOP: ::c_int = 40;
63-pub const ENOMSG: ::c_int = 42;
64-pub const EIDRM: ::c_int = 43;
65-pub const ECHRNG: ::c_int = 44;
66-pub const EL2NSYNC: ::c_int = 45;
67-pub const EL3HLT: ::c_int = 46;
68-pub const EL3RST: ::c_int = 47;
69-pub const ELNRNG: ::c_int = 48;
70-pub const EUNATCH: ::c_int = 49;
71-pub const ENOCSI: ::c_int = 50;
72-pub const EL2HLT: ::c_int = 51;
73-pub const EBADE: ::c_int = 52;
74-pub const EBADR: ::c_int = 53;
75-pub const EXFULL: ::c_int = 54;
76-pub const ENOANO: ::c_int = 55;
77-pub const EBADRQC: ::c_int = 56;
78-pub const EBADSLT: ::c_int = 57;
79-pub const EMULTIHOP: ::c_int = 72;
80-pub const EOVERFLOW: ::c_int = 75;
81-pub const ENOTUNIQ: ::c_int = 76;
82-pub const EBADFD: ::c_int = 77;
83-pub const EBADMSG: ::c_int = 74;
84-pub const EREMCHG: ::c_int = 78;
85-pub const ELIBACC: ::c_int = 79;
86-pub const ELIBBAD: ::c_int = 80;
87-pub const ELIBSCN: ::c_int = 81;
88-pub const ELIBMAX: ::c_int = 82;
89-pub const ELIBEXEC: ::c_int = 83;
90-pub const EILSEQ: ::c_int = 84;
91-pub const ERESTART: ::c_int = 85;
92-pub const ESTRPIPE: ::c_int = 86;
93-pub const EUSERS: ::c_int = 87;
94-pub const ENOTSOCK: ::c_int = 88;
95-pub const EDESTADDRREQ: ::c_int = 89;
96-pub const EMSGSIZE: ::c_int = 90;
97-pub const EPROTOTYPE: ::c_int = 91;
98-pub const ENOPROTOOPT: ::c_int = 92;
99-pub const EPROTONOSUPPORT: ::c_int = 93;
100-pub const ESOCKTNOSUPPORT: ::c_int = 94;
101-pub const EOPNOTSUPP: ::c_int = 95;
102-pub const EPFNOSUPPORT: ::c_int = 96;
103-pub const EAFNOSUPPORT: ::c_int = 97;
104-pub const EADDRINUSE: ::c_int = 98;
105-pub const EADDRNOTAVAIL: ::c_int = 99;
106-pub const ENETDOWN: ::c_int = 100;
107-pub const ENETUNREACH: ::c_int = 101;
108-pub const ENETRESET: ::c_int = 102;
109-pub const ECONNABORTED: ::c_int = 103;
110-pub const ECONNRESET: ::c_int = 104;
111-pub const ENOBUFS: ::c_int = 105;
112-pub const EISCONN: ::c_int = 106;
113-pub const ENOTCONN: ::c_int = 107;
114-pub const ESHUTDOWN: ::c_int = 108;
115-pub const ETOOMANYREFS: ::c_int = 109;
116-pub const ETIMEDOUT: ::c_int = 110;
117-pub const ECONNREFUSED: ::c_int = 111;
118-pub const EHOSTDOWN: ::c_int = 112;
119-pub const EHOSTUNREACH: ::c_int = 113;
120-pub const EALREADY: ::c_int = 114;
121-pub const EINPROGRESS: ::c_int = 115;
122-pub const ESTALE: ::c_int = 116;
123-pub const EDQUOT: ::c_int = 122;
124-pub const ENOMEDIUM: ::c_int = 123;
125-pub const EMEDIUMTYPE: ::c_int = 124;
126-pub const ECANCELED: ::c_int = 125;
127-pub const ENOKEY: ::c_int = 126;
128-pub const EKEYEXPIRED: ::c_int = 127;
129-pub const EKEYREVOKED: ::c_int = 128;
130-pub const EKEYREJECTED: ::c_int = 129;
131-pub const EOWNERDEAD: ::c_int = 130;
132-pub const ENOTRECOVERABLE: ::c_int = 131;
133-pub const EHWPOISON: ::c_int = 133;
134-pub const ERFKILL: ::c_int = 132;
135-pub const SOL_SOCKET: ::c_int = 1;
136-pub const SO_REUSEADDR: ::c_int = 2;
137-pub const SO_TYPE: ::c_int = 3;
138-pub const SO_ERROR: ::c_int = 4;
139-pub const SO_DONTROUTE: ::c_int = 5;
140-pub const SO_BROADCAST: ::c_int = 6;
141-pub const SO_SNDBUF: ::c_int = 7;
142-pub const SO_RCVBUF: ::c_int = 8;
143-pub const SO_SNDBUFFORCE: ::c_int = 32;
144-pub const SO_RCVBUFFORCE: ::c_int = 33;
145-pub const SO_KEEPALIVE: ::c_int = 9;
146-pub const SO_OOBINLINE: ::c_int = 10;
147-pub const SO_NO_CHECK: ::c_int = 11;
148-pub const SO_PRIORITY: ::c_int = 12;
149-pub const SO_LINGER: ::c_int = 13;
150-pub const SO_BSDCOMPAT: ::c_int = 14;
151-pub const SO_REUSEPORT: ::c_int = 15;
152-pub const SO_PASSCRED: ::c_int = 16;
153-pub const SO_PEERCRED: ::c_int = 17;
154-pub const SO_RCVLOWAT: ::c_int = 18;
155-pub const SO_SNDLOWAT: ::c_int = 19;
156-pub const SO_RCVTIMEO: ::c_int = 20;
157-pub const SO_SNDTIMEO: ::c_int = 21;
158-pub const SO_SECURITY_AUTHENTICATION: ::c_int = 22;
159-pub const SO_SECURITY_ENCRYPTION_TRANSPORT: ::c_int = 23;
160-pub const SO_SECURITY_ENCRYPTION_NETWORK: ::c_int = 24;
161-pub const SO_BINDTODEVICE: ::c_int = 25;
162-pub const SO_ATTACH_FILTER: ::c_int = 26;
163-pub const SO_DETACH_FILTER: ::c_int = 27;
164-pub const SO_GET_FILTER: ::c_int = 26;
165-pub const SO_PEERNAME: ::c_int = 28;
166-pub const SO_TIMESTAMP: ::c_int = 29;
167-pub const SO_ACCEPTCONN: ::c_int = 30;
168-pub const SO_PEERSEC: ::c_int = 31;
169-pub const SO_PASSSEC: ::c_int = 34;
170-pub const SO_TIMESTAMPNS: ::c_int = 35;
171-pub const SCM_TIMESTAMPNS: ::c_int = 35;
172-pub const SO_MARK: ::c_int = 36;
173-pub const SO_PROTOCOL: ::c_int = 38;
174-pub const SO_DOMAIN: ::c_int = 39;
175-pub const SO_RXQ_OVFL: ::c_int = 40;
176-pub const SO_WIFI_STATUS: ::c_int = 41;
177-pub const SCM_WIFI_STATUS: ::c_int = 41;
178-pub const SO_PEEK_OFF: ::c_int = 42;
179-pub const SO_NOFCS: ::c_int = 43;
180-pub const SO_LOCK_FILTER: ::c_int = 44;
181-pub const SO_SELECT_ERR_QUEUE: ::c_int = 45;
182-pub const SO_BUSY_POLL: ::c_int = 46;
183-pub const SO_MAX_PACING_RATE: ::c_int = 47;
184-pub const SO_BPF_EXTENSIONS: ::c_int = 48;
185-pub const SO_INCOMING_CPU: ::c_int = 49;
186-pub const SO_ATTACH_BPF: ::c_int = 50;
187-pub const SO_DETACH_BPF: ::c_int = 27;
188-pub const SOCK_STREAM: ::c_int = 1;
189-pub const SOCK_DGRAM: ::c_int = 2;
190-pub const SA_ONSTACK: ::c_int = 134217728;
191-pub const SA_SIGINFO: ::c_int = 4;
192-pub const SA_NOCLDWAIT: ::c_int = 2;
193-pub const SIGTTIN: ::c_int = 21;
194-pub const SIGTTOU: ::c_int = 22;
195-pub const SIGXCPU: ::c_int = 24;
196-pub const SIGXFSZ: ::c_int = 25;
197-pub const SIGVTALRM: ::c_int = 26;
198-pub const SIGPROF: ::c_int = 27;
199-pub const SIGWINCH: ::c_int = 28;
200-pub const SIGCHLD: ::c_int = 17;
201-pub const SIGBUS: ::c_int = 7;
202-pub const SIGUSR1: ::c_int = 10;
203-pub const SIGUSR2: ::c_int = 12;
204-pub const SIGCONT: ::c_int = 18;
205-pub const SIGSTOP: ::c_int = 19;
206-pub const SIGTSTP: ::c_int = 20;
207-pub const SIGURG: ::c_int = 23;
208-pub const SIGIO: ::c_int = 29;
209-pub const SIGSYS: ::c_int = 31;
210-pub const SIGSTKFLT: ::c_int = 16;
211-pub const SIGPOLL: ::c_int = 29;
212-pub const SIGPWR: ::c_int = 30;
213-pub const SIG_SETMASK: ::c_int = 2;
214-pub const SIG_BLOCK: ::c_int = 0;
215-pub const SIG_UNBLOCK: ::c_int = 1;
216-pub const POLLWRNORM: ::c_short = 256;
217-pub const POLLWRBAND: ::c_short = 512;
218-pub const O_ASYNC: ::c_int = 8192;
219-pub const O_NDELAY: ::c_int = 2048;
220-pub const PTRACE_DETACH: ::c_uint = 17;
221-pub const EFD_NONBLOCK: ::c_int = 2048;
222-pub const F_GETLK: ::c_int = 5;
223-pub const F_GETOWN: ::c_int = 9;
224-pub const F_SETOWN: ::c_int = 8;
225-pub const F_SETLK: ::c_int = 6;
226-pub const F_SETLKW: ::c_int = 7;
227-pub const F_RDLCK: ::c_int = 0;
228-pub const F_WRLCK: ::c_int = 1;
229-pub const F_UNLCK: ::c_int = 2;
230-pub const F_OFD_GETLK: ::c_int = 36;
231-pub const F_OFD_SETLK: ::c_int = 37;
232-pub const F_OFD_SETLKW: ::c_int = 38;
233-pub const SFD_NONBLOCK: ::c_int = 2048;
234-pub const TCSANOW: ::c_int = 0;
235-pub const TCSADRAIN: ::c_int = 1;
236-pub const TCSAFLUSH: ::c_int = 2;
237-pub const TIOCLINUX: ::c_ulong = 21532;
238-pub const TIOCGSERIAL: ::c_ulong = 21534;
239-pub const TIOCEXCL: ::c_ulong = 21516;
240-pub const TIOCNXCL: ::c_ulong = 21517;
241-pub const TIOCSCTTY: ::c_ulong = 21518;
242-pub const TIOCSTI: ::c_ulong = 21522;
243-pub const TIOCMGET: ::c_ulong = 21525;
244-pub const TIOCMBIS: ::c_ulong = 21526;
245-pub const TIOCMBIC: ::c_ulong = 21527;
246-pub const TIOCMSET: ::c_ulong = 21528;
247-pub const TIOCCONS: ::c_ulong = 21533;
248-pub const TIOCM_ST: ::c_int = 8;
249-pub const TIOCM_SR: ::c_int = 16;
250-pub const TIOCM_CTS: ::c_int = 32;
251-pub const TIOCM_CAR: ::c_int = 64;
252-pub const TIOCM_RNG: ::c_int = 128;
253-pub const TIOCM_DSR: ::c_int = 256;
254-pub const SFD_CLOEXEC: ::c_int = 524288;
255-pub const NCCS: usize = 32;
256-pub const O_TRUNC: ::c_int = 512;
257-pub const O_CLOEXEC: ::c_int = 524288;
258-pub const EBFONT: ::c_int = 59;
259-pub const ENOSTR: ::c_int = 60;
260-pub const ENODATA: ::c_int = 61;
261-pub const ETIME: ::c_int = 62;
262-pub const ENOSR: ::c_int = 63;
263-pub const ENONET: ::c_int = 64;
264-pub const ENOPKG: ::c_int = 65;
265-pub const EREMOTE: ::c_int = 66;
266-pub const ENOLINK: ::c_int = 67;
267-pub const EADV: ::c_int = 68;
268-pub const ESRMNT: ::c_int = 69;
269-pub const ECOMM: ::c_int = 70;
270-pub const EPROTO: ::c_int = 71;
271-pub const EDOTDOT: ::c_int = 73;
272-pub const SA_NODEFER: ::c_int = 1073741824;
273-pub const SA_RESETHAND: ::c_int = -2147483648;
274-pub const SA_RESTART: ::c_int = 268435456;
275-pub const SA_NOCLDSTOP: ::c_int = 1;
276-pub const EPOLL_CLOEXEC: ::c_int = 524288;
277-pub const EFD_CLOEXEC: ::c_int = 524288;
278-pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 4;
279-pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 4;
280-pub const O_DIRECT: ::c_int = 16384;
281-pub const O_DIRECTORY: ::c_int = 65536;
282-pub const O_NOFOLLOW: ::c_int = 131072;
283-pub const MAP_HUGETLB: ::c_int = 262144;
284-pub const MAP_LOCKED: ::c_int = 8192;
285-pub const MAP_NORESERVE: ::c_int = 16384;
286-pub const MAP_ANON: ::c_int = 32;
287-pub const MAP_ANONYMOUS: ::c_int = 32;
288-pub const MAP_DENYWRITE: ::c_int = 2048;
289-pub const MAP_EXECUTABLE: ::c_int = 4096;
290-pub const MAP_POPULATE: ::c_int = 32768;
291-pub const MAP_NONBLOCK: ::c_int = 65536;
292-pub const MAP_STACK: ::c_int = 131072;
293-pub const MAP_SYNC : ::c_int = 0x080000;
294-pub const EDEADLOCK: ::c_int = 35;
295-pub const EUCLEAN: ::c_int = 117;
296-pub const ENOTNAM: ::c_int = 118;
297-pub const ENAVAIL: ::c_int = 119;
298-pub const EISNAM: ::c_int = 120;
299-pub const EREMOTEIO: ::c_int = 121;
300-pub const FIOCLEX: ::c_ulong = 21585;
301-pub const FIONCLEX: ::c_ulong = 21584;
302-pub const FIONBIO: ::c_ulong = 21537;
303-pub const MCL_CURRENT: ::c_int = 1;
304-pub const MCL_FUTURE: ::c_int = 2;
305-pub const SIGSTKSZ: ::size_t = 8192;
306-pub const MINSIGSTKSZ: ::size_t = 2048;
307-pub const CBAUD: ::tcflag_t = 4111;
308-pub const TAB1: ::tcflag_t = 2048;
309-pub const TAB2: ::tcflag_t = 4096;
310-pub const TAB3: ::tcflag_t = 6144;
311-pub const CR1: ::tcflag_t = 512;
312-pub const CR2: ::tcflag_t = 1024;
313-pub const CR3: ::tcflag_t = 1536;
314-pub const FF1: ::tcflag_t = 32768;
315-pub const BS1: ::tcflag_t = 8192;
316-pub const VT1: ::tcflag_t = 16384;
317-pub const VWERASE: usize = 14;
318-pub const VREPRINT: usize = 12;
319-pub const VSUSP: usize = 10;
320-pub const VSTART: usize = 8;
321-pub const VSTOP: usize = 9;
322-pub const VDISCARD: usize = 13;
323-pub const VTIME: usize = 5;
324-pub const IXON: ::tcflag_t = 1024;
325-pub const IXOFF: ::tcflag_t = 4096;
326-pub const ONLCR: ::tcflag_t = 4;
327-pub const CSIZE: ::tcflag_t = 48;
328-pub const CS6: ::tcflag_t = 16;
329-pub const CS7: ::tcflag_t = 32;
330-pub const CS8: ::tcflag_t = 48;
331-pub const CSTOPB: ::tcflag_t = 64;
332-pub const CREAD: ::tcflag_t = 128;
333-pub const PARENB: ::tcflag_t = 256;
334-pub const PARODD: ::tcflag_t = 512;
335-pub const HUPCL: ::tcflag_t = 1024;
336-pub const CLOCAL: ::tcflag_t = 2048;
337-pub const ECHOKE: ::tcflag_t = 2048;
338-pub const ECHOE: ::tcflag_t = 16;
339-pub const ECHOK: ::tcflag_t = 32;
340-pub const ECHONL: ::tcflag_t = 64;
341-pub const ECHOPRT: ::tcflag_t = 1024;
342-pub const ECHOCTL: ::tcflag_t = 512;
343-pub const ISIG: ::tcflag_t = 1;
344-pub const ICANON: ::tcflag_t = 2;
345-pub const PENDIN: ::tcflag_t = 16384;
346-pub const NOFLSH: ::tcflag_t = 128;
347-pub const CIBAUD: ::tcflag_t = 269418496;
348-pub const CBAUDEX: ::tcflag_t = 4096;
349-pub const VSWTC: usize = 7;
350-pub const OLCUC: ::tcflag_t = 2;
351-pub const NLDLY: ::tcflag_t = 256;
352-pub const CRDLY: ::tcflag_t = 1536;
353-pub const TABDLY: ::tcflag_t = 6144;
354-pub const BSDLY: ::tcflag_t = 8192;
355-pub const FFDLY: ::tcflag_t = 32768;
356-pub const VTDLY: ::tcflag_t = 16384;
357-pub const XTABS: ::tcflag_t = 6144;
358-pub const B0: ::speed_t = 0;
359-pub const B50: ::speed_t = 1;
360-pub const B75: ::speed_t = 2;
361-pub const B110: ::speed_t = 3;
362-pub const B134: ::speed_t = 4;
363-pub const B150: ::speed_t = 5;
364-pub const B200: ::speed_t = 6;
365-pub const B300: ::speed_t = 7;
366-pub const B600: ::speed_t = 8;
367-pub const B1200: ::speed_t = 9;
368-pub const B1800: ::speed_t = 10;
369-pub const B2400: ::speed_t = 11;
370-pub const B4800: ::speed_t = 12;
371-pub const B9600: ::speed_t = 13;
372-pub const B19200: ::speed_t = 14;
373-pub const B38400: ::speed_t = 15;
374-pub const EXTA: ::speed_t = 14;
375-pub const EXTB: ::speed_t = 15;
376-pub const B57600: ::speed_t = 4097;
377-pub const B115200: ::speed_t = 4098;
378-pub const B230400: ::speed_t = 4099;
379-pub const B460800: ::speed_t = 4100;
380-pub const B500000: ::speed_t = 4101;
381-pub const B576000: ::speed_t = 4102;
382-pub const B921600: ::speed_t = 4103;
383-pub const B1000000: ::speed_t = 4104;
384-pub const B1152000: ::speed_t = 4105;
385-pub const B1500000: ::speed_t = 4106;
386-pub const B2000000: ::speed_t = 4107;
387-pub const B2500000: ::speed_t = 4108;
388-pub const B3000000: ::speed_t = 4109;
389-pub const B3500000: ::speed_t = 4110;
390-pub const B4000000: ::speed_t = 4111;
391-pub const VEOL: usize = 11;
392-pub const VEOL2: usize = 16;
393-pub const VMIN: usize = 6;
394-pub const IEXTEN: ::tcflag_t = 32768;
395-pub const TOSTOP: ::tcflag_t = 256;
396-pub const FLUSHO: ::tcflag_t = 4096;
397-pub const EXTPROC: ::tcflag_t = 65536;
398-pub const TCGETS: ::c_ulong = 21505;
399-pub const TCSETS: ::c_ulong = 21506;
400-pub const TCSETSW: ::c_ulong = 21507;
401-pub const TCSETSF: ::c_ulong = 21508;
402-pub const TCGETA: ::c_ulong = 21509;
403-pub const TCSETA: ::c_ulong = 21510;
404-pub const TCSETAW: ::c_ulong = 21511;
405-pub const TCSETAF: ::c_ulong = 21512;
406-pub const TCSBRK: ::c_ulong = 21513;
407-pub const TCXONC: ::c_ulong = 21514;
408-pub const TCFLSH: ::c_ulong = 21515;
409-pub const TIOCINQ: ::c_ulong = 21531;
410-pub const TIOCGPGRP: ::c_ulong = 21519;
411-pub const TIOCSPGRP: ::c_ulong = 21520;
412-pub const TIOCOUTQ: ::c_ulong = 21521;
413-pub const TIOCGWINSZ: ::c_ulong = 21523;
414-pub const TIOCSWINSZ: ::c_ulong = 21524;
415-pub const FIONREAD: ::c_ulong = 21531;
416-pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 40;
417-pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 56;
418 pub const SYS_read: ::c_long = 63;
419 pub const SYS_write: ::c_long = 64;
420 pub const SYS_close: ::c_long = 57;
421@@ -863,5 +468,314 @@ pub const SYS_pkey_mprotect: ::c_long = 288;
422 pub const SYS_pkey_alloc: ::c_long = 289;
423 pub const SYS_pkey_free: ::c_long = 290;
424 pub const SYS_statx: ::c_long = 291;
425-pub const SYS_pidfd_open: ::c_long = 434;
426-pub const SYS_clone3: ::c_long = 435;
427+
428+pub const O_APPEND: ::c_int = 1024;
429+pub const O_DIRECT: ::c_int = 0x4000;
430+pub const O_DIRECTORY: ::c_int = 0x10000;
431+pub const O_LARGEFILE: ::c_int = 0;
432+pub const O_NOFOLLOW: ::c_int = 0x20000;
433+pub const O_CREAT: ::c_int = 64;
434+pub const O_EXCL: ::c_int = 128;
435+pub const O_NOCTTY: ::c_int = 256;
436+pub const O_NONBLOCK: ::c_int = 2048;
437+pub const O_SYNC: ::c_int = 1052672;
438+pub const O_RSYNC: ::c_int = 1052672;
439+pub const O_DSYNC: ::c_int = 4096;
440+pub const O_ASYNC: ::c_int = 0x2000;
441+
442+pub const TIOCGRS485: ::c_int = 0x542E;
443+pub const TIOCSRS485: ::c_int = 0x542F;
444+
445+pub const SIGSTKSZ: ::size_t = 8192;
446+pub const MINSIGSTKSZ: ::size_t = 2048;
447+
448+pub const ENAMETOOLONG: ::c_int = 36;
449+pub const ENOLCK: ::c_int = 37;
450+pub const ENOSYS: ::c_int = 38;
451+pub const ENOTEMPTY: ::c_int = 39;
452+pub const ELOOP: ::c_int = 40;
453+pub const ENOMSG: ::c_int = 42;
454+pub const EIDRM: ::c_int = 43;
455+pub const ECHRNG: ::c_int = 44;
456+pub const EL2NSYNC: ::c_int = 45;
457+pub const EL3HLT: ::c_int = 46;
458+pub const EL3RST: ::c_int = 47;
459+pub const ELNRNG: ::c_int = 48;
460+pub const EUNATCH: ::c_int = 49;
461+pub const ENOCSI: ::c_int = 50;
462+pub const EL2HLT: ::c_int = 51;
463+pub const EBADE: ::c_int = 52;
464+pub const EBADR: ::c_int = 53;
465+pub const EXFULL: ::c_int = 54;
466+pub const ENOANO: ::c_int = 55;
467+pub const EBADRQC: ::c_int = 56;
468+pub const EBADSLT: ::c_int = 57;
469+pub const EMULTIHOP: ::c_int = 72;
470+pub const EOVERFLOW: ::c_int = 75;
471+pub const ENOTUNIQ: ::c_int = 76;
472+pub const EBADFD: ::c_int = 77;
473+pub const EBADMSG: ::c_int = 74;
474+pub const EREMCHG: ::c_int = 78;
475+pub const ELIBACC: ::c_int = 79;
476+pub const ELIBBAD: ::c_int = 80;
477+pub const ELIBSCN: ::c_int = 81;
478+pub const ELIBMAX: ::c_int = 82;
479+pub const ELIBEXEC: ::c_int = 83;
480+pub const EILSEQ: ::c_int = 84;
481+pub const ERESTART: ::c_int = 85;
482+pub const ESTRPIPE: ::c_int = 86;
483+pub const EUSERS: ::c_int = 87;
484+pub const ENOTSOCK: ::c_int = 88;
485+pub const EDESTADDRREQ: ::c_int = 89;
486+pub const EMSGSIZE: ::c_int = 90;
487+pub const EPROTOTYPE: ::c_int = 91;
488+pub const ENOPROTOOPT: ::c_int = 92;
489+pub const EPROTONOSUPPORT: ::c_int = 93;
490+pub const ESOCKTNOSUPPORT: ::c_int = 94;
491+pub const EOPNOTSUPP: ::c_int = 95;
492+pub const EPFNOSUPPORT: ::c_int = 96;
493+pub const EAFNOSUPPORT: ::c_int = 97;
494+pub const EADDRINUSE: ::c_int = 98;
495+pub const EADDRNOTAVAIL: ::c_int = 99;
496+pub const ENETDOWN: ::c_int = 100;
497+pub const ENETUNREACH: ::c_int = 101;
498+pub const ENETRESET: ::c_int = 102;
499+pub const ECONNABORTED: ::c_int = 103;
500+pub const ECONNRESET: ::c_int = 104;
501+pub const ENOBUFS: ::c_int = 105;
502+pub const EISCONN: ::c_int = 106;
503+pub const ENOTCONN: ::c_int = 107;
504+pub const ESHUTDOWN: ::c_int = 108;
505+pub const ETOOMANYREFS: ::c_int = 109;
506+pub const ETIMEDOUT: ::c_int = 110;
507+pub const ECONNREFUSED: ::c_int = 111;
508+pub const EHOSTDOWN: ::c_int = 112;
509+pub const EHOSTUNREACH: ::c_int = 113;
510+pub const EALREADY: ::c_int = 114;
511+pub const EINPROGRESS: ::c_int = 115;
512+pub const ESTALE: ::c_int = 116;
513+pub const EDQUOT: ::c_int = 122;
514+pub const ENOMEDIUM: ::c_int = 123;
515+pub const EMEDIUMTYPE: ::c_int = 124;
516+pub const ECANCELED: ::c_int = 125;
517+pub const ENOKEY: ::c_int = 126;
518+pub const EKEYEXPIRED: ::c_int = 127;
519+pub const EKEYREVOKED: ::c_int = 128;
520+pub const EKEYREJECTED: ::c_int = 129;
521+pub const EOWNERDEAD: ::c_int = 130;
522+pub const ENOTRECOVERABLE: ::c_int = 131;
523+pub const EHWPOISON: ::c_int = 133;
524+pub const ERFKILL: ::c_int = 132;
525+
526+pub const SA_ONSTACK: ::c_int = 0x08000000;
527+pub const SA_SIGINFO: ::c_int = 0x00000004;
528+pub const SA_NOCLDWAIT: ::c_int = 0x00000002;
529+
530+pub const SIGCHLD: ::c_int = 17;
531+pub const SIGBUS: ::c_int = 7;
532+pub const SIGTTIN: ::c_int = 21;
533+pub const SIGTTOU: ::c_int = 22;
534+pub const SIGXCPU: ::c_int = 24;
535+pub const SIGXFSZ: ::c_int = 25;
536+pub const SIGVTALRM: ::c_int = 26;
537+pub const SIGPROF: ::c_int = 27;
538+pub const SIGWINCH: ::c_int = 28;
539+pub const SIGUSR1: ::c_int = 10;
540+pub const SIGUSR2: ::c_int = 12;
541+pub const SIGCONT: ::c_int = 18;
542+pub const SIGSTOP: ::c_int = 19;
543+pub const SIGTSTP: ::c_int = 20;
544+pub const SIGURG: ::c_int = 23;
545+pub const SIGIO: ::c_int = 29;
546+pub const SIGSYS: ::c_int = 31;
547+pub const SIGSTKFLT: ::c_int = 16;
548+pub const SIGPOLL: ::c_int = 29;
549+pub const SIGPWR: ::c_int = 30;
550+pub const SIG_SETMASK: ::c_int = 2;
551+pub const SIG_BLOCK: ::c_int = 0x000000;
552+pub const SIG_UNBLOCK: ::c_int = 0x01;
553+
554+pub const F_GETLK: ::c_int = 5;
555+pub const F_GETOWN: ::c_int = 9;
556+pub const F_SETLK: ::c_int = 6;
557+pub const F_SETLKW: ::c_int = 7;
558+pub const F_SETOWN: ::c_int = 8;
559+pub const F_OFD_GETLK: ::c_int = 36;
560+pub const F_OFD_SETLK: ::c_int = 37;
561+pub const F_OFD_SETLKW: ::c_int = 38;
562+
563+pub const VEOF: usize = 4;
564+
565+pub const POLLWRNORM: ::c_short = 0x100;
566+pub const POLLWRBAND: ::c_short = 0x200;
567+
568+pub const SOCK_STREAM: ::c_int = 1;
569+pub const SOCK_DGRAM: ::c_int = 2;
570+pub const SOL_SOCKET: ::c_int = 1;
571+pub const SO_REUSEADDR: ::c_int = 2;
572+pub const SO_TYPE: ::c_int = 3;
573+pub const SO_ERROR: ::c_int = 4;
574+pub const SO_DONTROUTE: ::c_int = 5;
575+pub const SO_BROADCAST: ::c_int = 6;
576+pub const SO_SNDBUF: ::c_int = 7;
577+pub const SO_RCVBUF: ::c_int = 8;
578+pub const SO_KEEPALIVE: ::c_int = 9;
579+pub const SO_OOBINLINE: ::c_int = 10;
580+pub const SO_NO_CHECK: ::c_int = 11;
581+pub const SO_PRIORITY: ::c_int = 12;
582+pub const SO_LINGER: ::c_int = 13;
583+pub const SO_BSDCOMPAT: ::c_int = 14;
584+pub const SO_REUSEPORT: ::c_int = 15;
585+pub const SO_ACCEPTCONN: ::c_int = 30;
586+pub const SO_SNDBUFFORCE: ::c_int = 32;
587+pub const SO_RCVBUFFORCE: ::c_int = 33;
588+pub const SO_PROTOCOL: ::c_int = 38;
589+pub const SO_DOMAIN: ::c_int = 39;
590+
591+pub const MAP_ANON: ::c_int = 0x0020;
592+pub const MAP_GROWSDOWN: ::c_int = 0x0100;
593+pub const MAP_DENYWRITE: ::c_int = 0x0800;
594+pub const MAP_EXECUTABLE: ::c_int = 0x01000;
595+pub const MAP_LOCKED: ::c_int = 0x02000;
596+pub const MAP_NORESERVE: ::c_int = 0x04000;
597+pub const MAP_POPULATE: ::c_int = 0x08000;
598+pub const MAP_NONBLOCK: ::c_int = 0x010000;
599+pub const MAP_STACK: ::c_int = 0x020000;
600+pub const MAP_HUGETLB: ::c_int = 0x040000;
601+pub const MAP_SYNC : ::c_int = 0x080000;
602+
603+pub const RLIMIT_NLIMITS: ::c_int = 15;
604+pub const TIOCINQ: ::c_int = ::FIONREAD;
605+pub const MCL_CURRENT: ::c_int = 0x0001;
606+pub const MCL_FUTURE: ::c_int = 0x0002;
607+pub const CBAUD: ::tcflag_t = 0o0010017;
608+pub const TAB1: ::c_int = 0x00000800;
609+pub const TAB2: ::c_int = 0x00001000;
610+pub const TAB3: ::c_int = 0x00001800;
611+pub const CR1: ::c_int = 0x00000200;
612+pub const CR2: ::c_int = 0x00000400;
613+pub const CR3: ::c_int = 0x00000600;
614+pub const FF1: ::c_int = 0x00008000;
615+pub const BS1: ::c_int = 0x00002000;
616+pub const VT1: ::c_int = 0x00004000;
617+pub const VWERASE: usize = 14;
618+pub const VREPRINT: usize = 12;
619+pub const VSUSP: usize = 10;
620+pub const VSTART: usize = 8;
621+pub const VSTOP: usize = 9;
622+pub const VDISCARD: usize = 13;
623+pub const VTIME: usize = 5;
624+pub const IXON: ::tcflag_t = 0x00000400;
625+pub const IXOFF: ::tcflag_t = 0x00001000;
626+pub const ONLCR: ::tcflag_t = 0x4;
627+pub const CSIZE: ::tcflag_t = 0x00000030;
628+pub const CS6: ::tcflag_t = 0x00000010;
629+pub const CS7: ::tcflag_t = 0x00000020;
630+pub const CS8: ::tcflag_t = 0x00000030;
631+pub const CSTOPB: ::tcflag_t = 0x00000040;
632+pub const CREAD: ::tcflag_t = 0x00000080;
633+pub const PARENB: ::tcflag_t = 0x00000100;
634+pub const PARODD: ::tcflag_t = 0x00000200;
635+pub const HUPCL: ::tcflag_t = 0x00000400;
636+pub const CLOCAL: ::tcflag_t = 0x00000800;
637+pub const ECHOKE: ::tcflag_t = 0x00000800;
638+pub const ECHOE: ::tcflag_t = 0x00000010;
639+pub const ECHOK: ::tcflag_t = 0x00000020;
640+pub const ECHONL: ::tcflag_t = 0x00000040;
641+pub const ECHOPRT: ::tcflag_t = 0x00000400;
642+pub const ECHOCTL: ::tcflag_t = 0x00000200;
643+pub const ISIG: ::tcflag_t = 0x00000001;
644+pub const ICANON: ::tcflag_t = 0x00000002;
645+pub const PENDIN: ::tcflag_t = 0x00004000;
646+pub const NOFLSH: ::tcflag_t = 0x00000080;
647+pub const CIBAUD: ::tcflag_t = 0o02003600000;
648+pub const CBAUDEX: ::tcflag_t = 0o010000;
649+pub const VSWTC: usize = 7;
650+pub const OLCUC: ::tcflag_t = 0o000002;
651+pub const NLDLY: ::tcflag_t = 0o000400;
652+pub const CRDLY: ::tcflag_t = 0o003000;
653+pub const TABDLY: ::tcflag_t = 0o014000;
654+pub const BSDLY: ::tcflag_t = 0o020000;
655+pub const FFDLY: ::tcflag_t = 0o100000;
656+pub const VTDLY: ::tcflag_t = 0o040000;
657+pub const XTABS: ::tcflag_t = 0o014000;
658+pub const B57600: ::speed_t = 0o010001;
659+pub const B115200: ::speed_t = 0o010002;
660+pub const B230400: ::speed_t = 0o010003;
661+pub const B460800: ::speed_t = 0o010004;
662+pub const B500000: ::speed_t = 0o010005;
663+pub const B576000: ::speed_t = 0o010006;
664+pub const B921600: ::speed_t = 0o010007;
665+pub const B1000000: ::speed_t = 0o010010;
666+pub const B1152000: ::speed_t = 0o010011;
667+pub const B1500000: ::speed_t = 0o010012;
668+pub const B2000000: ::speed_t = 0o010013;
669+pub const B2500000: ::speed_t = 0o010014;
670+pub const B3000000: ::speed_t = 0o010015;
671+pub const B3500000: ::speed_t = 0o010016;
672+pub const B4000000: ::speed_t = 0o010017;
673+
674+pub const FIOCLEX: ::c_int = 0x5451;
675+pub const FIONCLEX: ::c_int = 0x5450;
676+pub const FIONBIO: ::c_int = 0x5421;
677+pub const EDEADLK: ::c_int = 35;
678+pub const EDEADLOCK: ::c_int = EDEADLK;
679+pub const SO_PASSCRED: ::c_int = 16;
680+pub const SO_PEERCRED: ::c_int = 17;
681+pub const SO_RCVLOWAT: ::c_int = 18;
682+pub const SO_SNDLOWAT: ::c_int = 19;
683+pub const SO_RCVTIMEO: ::c_int = 20;
684+pub const SO_SNDTIMEO: ::c_int = 21;
685+pub const EXTPROC: ::tcflag_t = 0x00010000;
686+pub const VEOL: usize = 11;
687+pub const VEOL2: usize = 16;
688+pub const VMIN: usize = 6;
689+pub const IEXTEN: ::tcflag_t = 0x00008000;
690+pub const TOSTOP: ::tcflag_t = 0x00000100;
691+pub const FLUSHO: ::tcflag_t = 0x00001000;
692+pub const TCGETS: ::c_int = 0x5401;
693+pub const TCSETS: ::c_int = 0x5402;
694+pub const TCSETSW: ::c_int = 0x5403;
695+pub const TCSETSF: ::c_int = 0x5404;
696+pub const TCGETA: ::c_int = 0x5405;
697+pub const TCSETA: ::c_int = 0x5406;
698+pub const TCSETAW: ::c_int = 0x5407;
699+pub const TCSETAF: ::c_int = 0x5408;
700+pub const TCSBRK: ::c_int = 0x5409;
701+pub const TCXONC: ::c_int = 0x540A;
702+pub const TCFLSH: ::c_int = 0x540B;
703+pub const TIOCGSOFTCAR: ::c_int = 0x5419;
704+pub const TIOCSSOFTCAR: ::c_int = 0x541A;
705+pub const TIOCLINUX: ::c_int = 0x541C;
706+pub const TIOCGSERIAL: ::c_int = 0x541E;
707+pub const TIOCEXCL: ::c_int = 0x540C;
708+pub const TIOCNXCL: ::c_int = 0x540D;
709+pub const TIOCSCTTY: ::c_int = 0x540E;
710+pub const TIOCGPGRP: ::c_int = 0x540F;
711+pub const TIOCSPGRP: ::c_int = 0x5410;
712+pub const TIOCOUTQ: ::c_int = 0x5411;
713+pub const TIOCSTI: ::c_int = 0x5412;
714+pub const TIOCGWINSZ: ::c_int = 0x5413;
715+pub const TIOCSWINSZ: ::c_int = 0x5414;
716+pub const TIOCMGET: ::c_int = 0x5415;
717+pub const TIOCMBIS: ::c_int = 0x5416;
718+pub const TIOCMBIC: ::c_int = 0x5417;
719+pub const TIOCMSET: ::c_int = 0x5418;
720+pub const FIONREAD: ::c_int = 0x541B;
721+pub const TIOCCONS: ::c_int = 0x541D;
722+
723+pub const TIOCM_LE: ::c_int = 0x001;
724+pub const TIOCM_DTR: ::c_int = 0x002;
725+pub const TIOCM_RTS: ::c_int = 0x004;
726+pub const TIOCM_ST: ::c_int = 0x008;
727+pub const TIOCM_SR: ::c_int = 0x010;
728+pub const TIOCM_CTS: ::c_int = 0x020;
729+pub const TIOCM_CAR: ::c_int = 0x040;
730+pub const TIOCM_RNG: ::c_int = 0x080;
731+pub const TIOCM_DSR: ::c_int = 0x100;
732+pub const TIOCM_CD: ::c_int = TIOCM_CAR;
733+pub const TIOCM_RI: ::c_int = TIOCM_RNG;
734+
735+extern "C" {
736+ pub fn ioctl(fd: ::c_int, request: ::c_int, ...) -> ::c_int;
737+}
738--
7392.30.1
740
diff --git a/meta/recipes-devtools/rust/libstd-rs-1.51.0/0004-Update-1.51.0-checksums-for-modified-files.patch b/meta/recipes-devtools/rust/libstd-rs-1.51.0/0004-Update-1.51.0-checksums-for-modified-files.patch
new file mode 100644
index 0000000000..5102956fc4
--- /dev/null
+++ b/meta/recipes-devtools/rust/libstd-rs-1.51.0/0004-Update-1.51.0-checksums-for-modified-files.patch
@@ -0,0 +1,21 @@
1From 2a4fd6cb31072f0423980d034cdd2bd0e095ae43 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 28 Mar 2021 00:46:39 -0700
4Subject: [PATCH] Update checksums for modified files
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7---
8 vendor/libc/.cargo-checksum.json | 2 +-
9 1 file changed, 1 insertion(+), 1 deletion(-)
10
11diff --git a/vendor/libc/.cargo-checksum.json b/vendor/libc/.cargo-checksum.json
12index 81e7ff477..491096135 100644
13--- a/vendor/libc/.cargo-checksum.json
14+++ b/vendor/libc/.cargo-checksum.json
15@@ -1 +1 @@
16-{"files":{"CONTRIBUTING.md":"50547f85785c64798a3bb93515b795603a78fa131fb92c7e2d1e4d7b463eb829","Cargo.toml":"9daf7eede4ad99d8807bbed4bb2ace420bf40aaf7d4a20bc89cc2674902651c4","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"a8d47ff51ca256f56a8932dba07660672dbfe3004257ca8de708aac1415937a1","README.md":"8228847944f1332882fbb00275b6f30e4a8aad08a13569c25d52cac012cc2a47","build.rs":"e487789ca77b0015d75cecb253286d4a1406f11b1ae538929414fc0506842bef","rustfmt.toml":"8a654d5787585ca8f2c20580737336fc327f411a07b0dbd4870adf6e9bdf624f","src/cloudabi/aarch64.rs":"b8550bf1fd7344972aa4db29441486f39f31482d0327534981dbb75959c29114","src/cloudabi/arm.rs":"c197e2781c2839808bd6fcef219a29705b27b992d3ef920e9cf6ac96e2022bbf","src/cloudabi/mod.rs":"d5d4488e8c0b8227f516fe13810f550a2a72af3bdfe769200ad8687c8755bdf6","src/cloudabi/x86.rs":"33eb97f272d2201f3838ae74d444583c7de8f67856852ca375293b20bbd05636","src/cloudabi/x86_64.rs":"400d85d4fe39e26cf2e6ece9ee31c75fe9e88c4bcf4d836ca9f765c05c9c5be3","src/fixed_width_ints.rs":"34c60f12ec5eeb90f13ec3b954427532111c2446e69617616a97aefc1086a9f1","src/fuchsia/aarch64.rs":"378776a9e40766154a54c94c2a7b4675b5c302a38e6e42da99e67bfbaee60e56","src/fuchsia/align.rs":"ae1cf8f011a99737eabeb14ffff768e60f13b13363d7646744dbb0f443dab3d6","src/fuchsia/mod.rs":"0bc9db9863eca7e6254c9bf150812e8ad1c1460b3228126e4a12f26b9d7a03da","src/fuchsia/no_align.rs":"303f3f1b255e0088b5715094353cf00476131d8e94e6aebb3f469557771c8b8a","src/fuchsia/x86_64.rs":"93a3632b5cf67d2a6bcb7dc0a558605252d5fe689e0f38d8aa2ec5852255ac87","src/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/hermit/mod.rs":"d3bfce41e4463d4be8020a2d063c9bfa8b665f45f1cc6cbf3163f5d01e7cb21f","src/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/lib.rs":"974a1808d0d94bb2f168a6007a5302deb1e64f528fd3ee8feaadaae3814378c2","src/macros.rs":"7844312c233a6889fa15395fe3106f6a8f6229211104a92f33ea3c9536eef763","src/psp.rs":"017fdd719cc85352a1c062d40edd96a821e19d25abe23b55e40ed6e7ac2892e1","src/sgx.rs":"16a95cdefc81c5ee00d8353a60db363c4cc3e0f75abcd5d0144723f2a306ed1b","src/switch.rs":"9da3dd39b3de45a7928789926e8572d00e1e11a39e6f7289a1349aadce90edba","src/unix/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/unix/bsd/apple/b32/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b32/mod.rs":"6a4ce300da0d2b0db04b18548286603ffe4b47d679a41cf60f1902895894aa1f","src/unix/bsd/apple/b64/aarch64/align.rs":"f0c321265dd7671f16106b84951ac7dd77ed2e65c6623cbf2d29e76531984770","src/unix/bsd/apple/b64/aarch64/mod.rs":"46d5d061c7a74cbc09cbdfb3bee9a600867bf4e04c0e4d0ca6c817e6033b32e1","src/unix/bsd/apple/b64/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b64/mod.rs":"f5e278a1af7fb358891d1c9be4eb7e815aaca0c5cb738d0c3604ba2208a856f7","src/unix/bsd/apple/b64/x86_64/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b64/x86_64/mod.rs":"cc6878dd130c3f255418e4da74992ae9ba6a3cdb0530772de76c518077d3b12a","src/unix/bsd/apple/mod.rs":"aa4d94b4440bd7c195f445658d0ac09555d2212bffdc9f90935ad5721e2373ec","src/unix/bsd/freebsdlike/dragonfly/errno.rs":"8295b8bb0dfd38d2cdb4d9192cdeeb534cc6c3b208170e64615fa3e0edb3e578","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"6b25421a27239d46983278d2f93d9e90dc125677b420c881a0b79e1b541584da","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"14f0bd6693967d4fedec904f7042bd51f2138cb843ec4df18c911b357417cdd2","src/unix/bsd/freebsdlike/freebsd/arm.rs":"59d6a670eea562fb87686e243e0a84603d29a2028a3d4b3f99ccc01bd04d2f47","src/unix/bsd/freebsdlike/freebsd/freebsd11/b64.rs":"9808d152c1196aa647f1b0f0cf84dac8c930da7d7f897a44975545e3d9d17681","src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs":"2e9b8f8af44eb75539c7688c2723745a5f10079a7faac99e43ae7534bd111f48","src/unix/bsd/freebsdlike/freebsd/freebsd12/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs":"09a2441852a6dfb7e7fce28d5115ce243109deab1c569d80c67c5b634ac4bb23","src/unix/bsd/freebsdlike/freebsd/freebsd13/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs":"72a87d191189486d44bc19a3296817fcf828087ce1286bca20d474a3b2602602","src/unix/bsd/freebsdlike/freebsd/mod.rs":"c12a475eed4a2ebc7f2261f82875dc6dfa33649cbb176073c03183bf26c5f5b9","src/unix/bsd/freebsdlike/freebsd/powerpc64.rs":"2dae3ecc87eac3b11657aa98915def55fc4b5c0de11fe26aae23329a54628a9a","src/unix/bsd/freebsdlike/freebsd/x86.rs":"c5005e3249eb7c93cfbac72a9e9272320d80ce7983da990ceb05a447f59a02c5","src/unix/bsd/freebsdlike/freebsd/x86_64/align.rs":"0e1f69a88fca1c32874b1daf5db3d446fefbe518dca497f096cc9168c39dde70","src/unix/bsd/freebsdlike/freebsd/x86_64/mod.rs":"6132aa0973454379674ea6cbc77e6eace1e1032dd9f38182071388a036f1bc08","src/unix/bsd/freebsdlike/mod.rs":"b6be7822a69713966c21efb879eb45f6f9e20c1b4342b524a587ed7350a5b063","src/unix/bsd/mod.rs":"26160c60a33cec65ccc3b28277d40bd95f7f62ee857f931ada76cbc7c2694858","src/unix/bsd/netbsdlike/mod.rs":"48dd60524119c1e09b255d5472d091e7e7b2b29eab04be51b4b1e740bd022859","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"b38fc046f9a40fea28bd26328b96629f4d5d63d7524936bd6af1865d401a8716","src/unix/bsd/netbsdlike/netbsd/arm.rs":"58cdbb70b0d6f536551f0f3bb3725d2d75c4690db12c26c034e7d6ec4a924452","src/unix/bsd/netbsdlike/netbsd/mod.rs":"a70f3c73b423bf44b06f16e44934ce3536517e60b3a4e256f41340a9e5dded40","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"ee7ff5d89d0ed22f531237b5059aa669df93a3b5c489fa641465ace8d405bf41","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"9489f4b3e4566f43bb12dfb92238960613dac7f6a45cc13068a8d152b902d7d9","src/unix/bsd/netbsdlike/netbsd/x86.rs":"20692320e36bfe028d1a34d16fe12ca77aa909cb02bda167376f98f1a09aefe7","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"135509edeaf3fb3f102d89d51ff1a8f82323497336a8dc7e1f0f23b5c2434b73","src/unix/bsd/netbsdlike/openbsd/aarch64.rs":"1dd5449dd1fd3d51e30ffdeeaece91d0aaf05c710e0ac699fecc5461cfa2c28e","src/unix/bsd/netbsdlike/openbsd/mod.rs":"253888b365d4f0dd86d3eae1a63662248514b132031d4bf5434d8a63144ce296","src/unix/bsd/netbsdlike/openbsd/sparc64.rs":"d04fd287afbaa2c5df9d48c94e8374a532a3ba491b424ddf018270c7312f4085","src/unix/bsd/netbsdlike/openbsd/x86.rs":"6f7f5c4fde2a2259eb547890cbd86570cea04ef85347d7569e94e679448bec87","src/unix/bsd/netbsdlike/openbsd/x86_64.rs":"e59b7fd65f68f8e857eec39e0c03bac1d3af6ddc26c9ba58494336b83659bb9b","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b4744500d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"8b8a62f392c23fe4fd1c334ca6c2828617ece19f0a59115d116d957fa348eb74","src/unix/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/unix/hermit/mod.rs":"2d8d3ce0299931199011bb73136bebbddf88edf7d263cc39d26dbfaaa1a14228","src/unix/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/unix/linux_like/android/b32/arm.rs":"155994121906903a2e0afad895f0b3b7546f6e54d6305a3336ce2c4dfafbfdfa","src/unix/linux_like/android/b32/mod.rs":"6b3fd3e1eb21e50d000f496729b40968b1c728f5f10d4fb18a9aef44bff383ff","src/unix/linux_like/android/b32/x86/align.rs":"812914e4241df82e32b12375ca3374615dc3a4bdd4cf31f0423c5815320c0dab","src/unix/linux_like/android/b32/x86/mod.rs":"5b1e9fcd77ca5f939acb7fb5f5da12f305b0377698d8b8989feb236e26360aa0","src/unix/linux_like/android/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/android/b64/aarch64/mod.rs":"db23f94bc3ed46a0967dde748f0d4566fc885cc6171d0555007f3398ff99a708","src/unix/linux_like/android/b64/mod.rs":"c56f1213b01cbf63ec68810bf14b30490bd44d2d5b927ec439d45c8ec2cd282e","src/unix/linux_like/android/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/android/b64/x86_64/mod.rs":"e84176d838e663d351450bad218715db1fafbb531e47ea0e262cbb45829dae89","src/unix/linux_like/android/mod.rs":"b7cfd66a54c512c9df9fbc0e25baf7ecca1f0deb0dd789f811b0e1cab72b2244","src/unix/linux_like/emscripten/align.rs":"86c95cbed7a7161b1f23ee06843e7b0e2340ad92b2cb86fe2a8ef3e0e8c36216","src/unix/linux_like/emscripten/mod.rs":"0770f13ce30b98752d5e868332bf5a55bee8389108fe9d91cf2c2bf71c237093","src/unix/linux_like/emscripten/no_align.rs":"0128e4aa721a9902754828b61b5ec7d8a86619983ed1e0544a85d35b1051fad6","src/unix/linux_like/linux/align.rs":"213e70ebed2703e14a9cf17666b21ecbf180b7bff7fa22fdbb36dbbd52df326d","src/unix/linux_like/linux/gnu/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/gnu/b32/arm/align.rs":"3fed009dc9af3cc81be7087da9d2d7d1f39845e4497e290259c5cdbae25f039d","src/unix/linux_like/linux/gnu/b32/arm/mod.rs":"4932bb1e4d6b00e3eea211f241a29d08a7a6cb310633d4cb585194ac088e19b7","src/unix/linux_like/linux/gnu/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/gnu/b32/mips/mod.rs":"5cf043f5342c37b1cf50bc09de9baaa8d120a8827640f328a74ebbff1fe5aca0","src/unix/linux_like/linux/gnu/b32/mod.rs":"3d282f97f171ce235e687169e7a494e65c21bdc4e59c28360dae60b6c2ffa80c","src/unix/linux_like/linux/gnu/b32/powerpc.rs":"527284eff16dbbed819a12f169a4f957e1ece913a6756be32b2938610c25fc73","src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs":"b16636eff9bcd1b6e23b4a915606f230a01cd8f2752e9331eb576cb023ad27f5","src/unix/linux_like/linux/gnu/b32/sparc/align.rs":"21adbed27df73e2d1ed934aaf733a643003d7baf2bde9c48ea440895bcca6d41","src/unix/linux_like/linux/gnu/b32/sparc/mod.rs":"98cb96fb979947a2d141d298739649e241168ba7047e6cd1928abdd722281c1b","src/unix/linux_like/linux/gnu/b32/x86/align.rs":"e4bafdc4a519a7922a81b37a62bbfd1177a2f620890eef8f1fbc47162e9eb413","src/unix/linux_like/linux/gnu/b32/x86/mod.rs":"43ddb3fc0e8a9d4b32f929bdbd7dbf3e18167409a6f8e8f12aa694ce34a8d7dc","src/unix/linux_like/linux/gnu/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/linux/gnu/b64/aarch64/ilp32.rs":"21a21503ef2e095f4371044915d4bfb07a8578011cb5c713cd9f45947b0b5730","src/unix/linux_like/linux/gnu/b64/aarch64/lp64.rs":"e78c3cd197f44832338b414d1a9bc0d194f44c74db77bd7bf830c1fff62b2690","src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs":"d2bc7110c0ea616471474957cb16ef54fac9567a569d90ca82961a4eda3fadda","src/unix/linux_like/linux/gnu/b64/mips64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/mips64/mod.rs":"ca99bae93eb60138c698ec6b0e78f87cb1dd7181ed3c42c3281c8037c7468921","src/unix/linux_like/linux/gnu/b64/mod.rs":"7bf5c9813032db77b964ccb90bdce15236ae9ea06ea185595278ea4565c21b7b","src/unix/linux_like/linux/gnu/b64/powerpc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs":"facd49a8dfcd9e27c8dac6ebaefb07f801a1b8aa21b8d5f477ccf654a14b9d20","src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs":"aa980f78651165fff4db9c9ff33966b3345b682a3600827b91c8141e86f0ff1e","src/unix/linux_like/linux/gnu/b64/s390x.rs":"86562ad9e0468597b13eb8a606f3df456097ad7a9df11ee8dc77c215fc2fc5fc","src/unix/linux_like/linux/gnu/b64/sparc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs":"5eaf057e149846b07af6ccc17c6c1b7abf0b4a50ee4fbb100c7c81880c235398","src/unix/linux_like/linux/gnu/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs":"f047199e4267bcb63a831379c72884ccf2189b5f2879479436342b2c5b58671e","src/unix/linux_like/linux/gnu/b64/x86_64/not_x32.rs":"74deaf2135168fd8a8fe3382a443d3800b95ea833e94150b265cc59a24872166","src/unix/linux_like/linux/gnu/b64/x86_64/x32.rs":"60ff6e9aca19226714cf0c7f58f4388f5f046cf099cc4f61f9a2913d94d7e846","src/unix/linux_like/linux/gnu/mod.rs":"1be1cd3b22972dc80d5d4e6d01300032726b8049e38c43508f0a86d991fa5a11","src/unix/linux_like/linux/gnu/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/mod.rs":"3f7e58dd79738ab1cf0724cc2239a259fccc4429cb0b2106cdef1b7a101ed1c8","src/unix/linux_like/linux/musl/b32/arm/align.rs":"3e8ac052c1043764776b54c93ba4260e061df998631737a897d9d47d54f7b80c","src/unix/linux_like/linux/musl/b32/arm/mod.rs":"5f65fb836de0f5d84dfb78894a045548dab3f62af5241319ec5da46686261a90","src/unix/linux_like/linux/musl/b32/hexagon.rs":"7c6c481f70da1fe6ca759f363784e130041f3d87906c45910fc1142b5ef17970","src/unix/linux_like/linux/musl/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/musl/b32/mips/mod.rs":"f7adecc4a36b4eb484c168b6c21e73f02ee23f607c0a0351f773f9d9c83b8400","src/unix/linux_like/linux/musl/b32/mod.rs":"8ede3985e6243882814ce91e8ce543e7edbafc0cee5932816072b6f14207a671","src/unix/linux_like/linux/musl/b32/powerpc.rs":"cf286cbf4d2076aaa82662ace2b5c333480410fa59af5cb4542d59f04da84b31","src/unix/linux_like/linux/musl/b32/x86/align.rs":"08e77fbd7435d7dec2ff56932433bece3f02e47ce810f89004a275a86d39cbe1","src/unix/linux_like/linux/musl/b32/x86/mod.rs":"ecb903211cb7a956ad1dab4dbef3a0344d9e4df4bd7b4a49ab5cc591df114dc2","src/unix/linux_like/linux/musl/b64/aarch64/align.rs":"798a9229d70ce235394f2dd625f6c4c1e10519a94382dc5b091952b638ae2928","src/unix/linux_like/linux/musl/b64/aarch64/mod.rs":"9870fd9a953c98b775c9e17a29a66bbe8019a6236eb69a0272f42232a226521d","src/unix/linux_like/linux/musl/b64/mips64.rs":"4bfd8ee1f22a163a7037e1e401d143573bcb14cc3321da0698528e9c0b68c81a","src/unix/linux_like/linux/musl/b64/mod.rs":"8b76e92a1505ad785d4aa0b7739e0b93647a1e81910949b49cedb6c88468be9c","src/unix/linux_like/linux/musl/b64/powerpc64.rs":"8992be6cb56e403e9a712c0ca4761934f873cf89f3e6d3cc4483f43e5a192351","src/unix/linux_like/linux/musl/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/musl/b64/x86_64/mod.rs":"d6d98b6e5af5d9b1caa7e67fe18c3c4d76fdb92603b42efed83719a41c53defe","src/unix/linux_like/linux/musl/mod.rs":"9115ae4fa6ea6a4f56f6a4addffe643436e0a07ac4e0b118b4a43ab1a058e739","src/unix/linux_like/linux/no_align.rs":"5ed04c53bf9d27da9b4d65ba7625c6ac53330162683d1b3df98950caafa3507b","src/unix/linux_like/mod.rs":"e65c49d9ee229aee11118758e36beebd90629e2e0c59647786cb0e472837d705","src/unix/mod.rs":"01148308e021d9d616d8324e20a1911fcde65e3c11e8e74c359a468bba6fedcd","src/unix/newlib/aarch64/mod.rs":"bb269c1468a9676442554600e87417079a787fe6220dfc23b3109639259e8710","src/unix/newlib/align.rs":"28aaf87fafbc6b312622719d472d8cf65f9e5467d15339df5f73e66d8502b28a","src/unix/newlib/arm/mod.rs":"c71be856bfd7f576b2db28af9f680211cbe6c1cac7d537bbc8020b39591af07c","src/unix/newlib/mod.rs":"35ea283f645afbc7ddebba90d46875c9dc5edc8d215d4becc9e2681a909c5aa1","src/unix/newlib/no_align.rs":"7123dcec13604a11b7765c380ff3a4d0da19c39f4b03919de7857723c0cf1502","src/unix/newlib/powerpc/mod.rs":"2d0f7af28b47f7a2a6c210ebd1c1f33ed8eac62e56b5af2b856de2ad3fdc5187","src/unix/newlib/xtensa/mod.rs":"4c72003c5e692e648c7e798358c49af6901e68850dbba0624af84c40baf208f5","src/unix/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/unix/redox/mod.rs":"b865c65438e102403708fa8a299d02ea635bda0879a256d99fadd0092d42f224","src/unix/solarish/compat.rs":"3f13657fc072462b85b5f937f0db1427c41acb2a714cc4f78fefba1ea8036846","src/unix/solarish/illumos.rs":"c42db942ab90813ecc7b2b32dea0e173e1e349e2e049a06021fd0dbc090c2c30","src/unix/solarish/mod.rs":"8d7ddc8dd25a9404f9181a49438d9506c676cfd4b6fa21dbe5c1f9969abc4b91","src/unix/solarish/solaris.rs":"3d3cc14b47839da1e4ec117bce1395e22ef86d8d1eb1fdcc6464d2fd8267efb4","src/unix/uclibc/align.rs":"a8540e1cce5913a45bc8d7422b79e86c0b12740e8a679478e0e4d863a31f8cc1","src/unix/uclibc/arm/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/uclibc/arm/mod.rs":"d67dd46bc6f417169fc6a23832bde7ccdafc5d1bcb08b10debdd82edaf75d529","src/unix/uclibc/arm/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/uclibc/mips/mips32/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/uclibc/mips/mips32/mod.rs":"a045ebc6619f540adf670b88a987abd2d6e42e440a552e8cfe9f8c77f397e873","src/unix/uclibc/mips/mips32/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/uclibc/mips/mips64/align.rs":"a7bdcb18a37a2d91e64d5fad83ea3edc78f5412adb28f77ab077dbb26dd08b2d","src/unix/uclibc/mips/mips64/mod.rs":"e3085ba56cfbc528d7c3c55065880603238c333b6047ef51c58177508a487fcd","src/unix/uclibc/mips/mips64/no_align.rs":"4a18e3875698c85229599225ac3401a2a40da87e77b2ad4ef47c6fcd5a24ed30","src/unix/uclibc/mips/mod.rs":"a76e9b7cd24d05ca15e412d96d4b2d39f0b2320f7823b15873c6271c16b9c52b","src/unix/uclibc/mod.rs":"2ec3fbe6853807a796632bb8920c48dda18f46823d1c5121db19c29dc86d2800","src/unix/uclibc/no_align.rs":"3f28637046524618adaa1012e26cb7ffe94b9396e6b518cccdc69d59f274d709","src/unix/uclibc/x86_64/align.rs":"4e34cebb7955e9c98ae2f310be6f8ed16a861fc3817c08543867554aeec9524e","src/unix/uclibc/x86_64/l4re.rs":"bb31053d6403091e11f95ac2203982f279f8b984a19adf30796878c45fdd8c25","src/unix/uclibc/x86_64/mod.rs":"188fbaf06a8e23cac72718b1ef7eb4bd98bdfd946aa708151f3f7e3553b65876","src/unix/uclibc/x86_64/no_align.rs":"2ccc0107a6007c70dc49e656095b64a352ca5d8f9f3e65c1dba634effbc15636","src/unix/uclibc/x86_64/other.rs":"42c3f71e58cabba373f6a55a623f3c31b85049eb64824c09c2b082b3b2d6a0a8","src/vxworks/aarch64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/arm.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/mod.rs":"ce8eb593241f7ac0c9d5e91d535457cd169ddcb3d061d3982ba5bcf6b8d63876","src/vxworks/powerpc.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/powerpc64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/x86.rs":"552f007f38317620b23889cb7c49d1d115841252439060122f52f434fbc6e5ba","src/vxworks/x86_64.rs":"018d92be3ad628a129eff9f2f5dfbc0883d8b8e5f2fa917b900a7f98ed6b514a","src/wasi.rs":"11e1ca29d1a446845c551d5717ec5c6081459a2a850781c9194f557d53ecf44f","src/windows/gnu/align.rs":"b2c13ec1b9f3b39a75c452c80c951dff9d0215e31d77e883b4502afb31794647","src/windows/gnu/mod.rs":"c7ab9793baaa3b6854d25fdf44266b7953533009e4fa722ca717b71d3e5d2c9d","src/windows/mod.rs":"7b74bf885712d16a3557df33ef02799dc03d4a1af953c7e6b4648954ce7a20fc","src/windows/msvc.rs":"2c2bfce66027d88021e7289139ebf5b0db258a7b6443f18872c84dbd4ef57131","tests/const_fn.rs":"cb75a1f0864f926aebe79118fc34d51a0d1ade2c20a394e7774c7e545f21f1f4"},"package":"7ccac4b00700875e6a07c6cde370d44d32fa01c5a65cdd2fca6858c479d28bb3"}
17\ No newline at end of file
18+{"files":{"CONTRIBUTING.md":"50547f85785c64798a3bb93515b795603a78fa131fb92c7e2d1e4d7b463eb829","Cargo.toml":"9daf7eede4ad99d8807bbed4bb2ace420bf40aaf7d4a20bc89cc2674902651c4","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"a8d47ff51ca256f56a8932dba07660672dbfe3004257ca8de708aac1415937a1","README.md":"8228847944f1332882fbb00275b6f30e4a8aad08a13569c25d52cac012cc2a47","build.rs":"e487789ca77b0015d75cecb253286d4a1406f11b1ae538929414fc0506842bef","rustfmt.toml":"8a654d5787585ca8f2c20580737336fc327f411a07b0dbd4870adf6e9bdf624f","src/cloudabi/aarch64.rs":"b8550bf1fd7344972aa4db29441486f39f31482d0327534981dbb75959c29114","src/cloudabi/arm.rs":"c197e2781c2839808bd6fcef219a29705b27b992d3ef920e9cf6ac96e2022bbf","src/cloudabi/mod.rs":"d5d4488e8c0b8227f516fe13810f550a2a72af3bdfe769200ad8687c8755bdf6","src/cloudabi/x86.rs":"33eb97f272d2201f3838ae74d444583c7de8f67856852ca375293b20bbd05636","src/cloudabi/x86_64.rs":"400d85d4fe39e26cf2e6ece9ee31c75fe9e88c4bcf4d836ca9f765c05c9c5be3","src/fixed_width_ints.rs":"34c60f12ec5eeb90f13ec3b954427532111c2446e69617616a97aefc1086a9f1","src/fuchsia/aarch64.rs":"378776a9e40766154a54c94c2a7b4675b5c302a38e6e42da99e67bfbaee60e56","src/fuchsia/align.rs":"ae1cf8f011a99737eabeb14ffff768e60f13b13363d7646744dbb0f443dab3d6","src/fuchsia/mod.rs":"0bc9db9863eca7e6254c9bf150812e8ad1c1460b3228126e4a12f26b9d7a03da","src/fuchsia/no_align.rs":"303f3f1b255e0088b5715094353cf00476131d8e94e6aebb3f469557771c8b8a","src/fuchsia/x86_64.rs":"93a3632b5cf67d2a6bcb7dc0a558605252d5fe689e0f38d8aa2ec5852255ac87","src/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/hermit/mod.rs":"d3bfce41e4463d4be8020a2d063c9bfa8b665f45f1cc6cbf3163f5d01e7cb21f","src/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/lib.rs":"974a1808d0d94bb2f168a6007a5302deb1e64f528fd3ee8feaadaae3814378c2","src/macros.rs":"7844312c233a6889fa15395fe3106f6a8f6229211104a92f33ea3c9536eef763","src/psp.rs":"017fdd719cc85352a1c062d40edd96a821e19d25abe23b55e40ed6e7ac2892e1","src/sgx.rs":"16a95cdefc81c5ee00d8353a60db363c4cc3e0f75abcd5d0144723f2a306ed1b","src/switch.rs":"9da3dd39b3de45a7928789926e8572d00e1e11a39e6f7289a1349aadce90edba","src/unix/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/unix/bsd/apple/b32/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b32/mod.rs":"6a4ce300da0d2b0db04b18548286603ffe4b47d679a41cf60f1902895894aa1f","src/unix/bsd/apple/b64/aarch64/align.rs":"f0c321265dd7671f16106b84951ac7dd77ed2e65c6623cbf2d29e76531984770","src/unix/bsd/apple/b64/aarch64/mod.rs":"46d5d061c7a74cbc09cbdfb3bee9a600867bf4e04c0e4d0ca6c817e6033b32e1","src/unix/bsd/apple/b64/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b64/mod.rs":"f5e278a1af7fb358891d1c9be4eb7e815aaca0c5cb738d0c3604ba2208a856f7","src/unix/bsd/apple/b64/x86_64/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b64/x86_64/mod.rs":"cc6878dd130c3f255418e4da74992ae9ba6a3cdb0530772de76c518077d3b12a","src/unix/bsd/apple/mod.rs":"aa4d94b4440bd7c195f445658d0ac09555d2212bffdc9f90935ad5721e2373ec","src/unix/bsd/freebsdlike/dragonfly/errno.rs":"8295b8bb0dfd38d2cdb4d9192cdeeb534cc6c3b208170e64615fa3e0edb3e578","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"6b25421a27239d46983278d2f93d9e90dc125677b420c881a0b79e1b541584da","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"14f0bd6693967d4fedec904f7042bd51f2138cb843ec4df18c911b357417cdd2","src/unix/bsd/freebsdlike/freebsd/arm.rs":"59d6a670eea562fb87686e243e0a84603d29a2028a3d4b3f99ccc01bd04d2f47","src/unix/bsd/freebsdlike/freebsd/freebsd11/b64.rs":"9808d152c1196aa647f1b0f0cf84dac8c930da7d7f897a44975545e3d9d17681","src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs":"2e9b8f8af44eb75539c7688c2723745a5f10079a7faac99e43ae7534bd111f48","src/unix/bsd/freebsdlike/freebsd/freebsd12/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs":"09a2441852a6dfb7e7fce28d5115ce243109deab1c569d80c67c5b634ac4bb23","src/unix/bsd/freebsdlike/freebsd/freebsd13/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs":"72a87d191189486d44bc19a3296817fcf828087ce1286bca20d474a3b2602602","src/unix/bsd/freebsdlike/freebsd/mod.rs":"c12a475eed4a2ebc7f2261f82875dc6dfa33649cbb176073c03183bf26c5f5b9","src/unix/bsd/freebsdlike/freebsd/powerpc64.rs":"2dae3ecc87eac3b11657aa98915def55fc4b5c0de11fe26aae23329a54628a9a","src/unix/bsd/freebsdlike/freebsd/x86.rs":"c5005e3249eb7c93cfbac72a9e9272320d80ce7983da990ceb05a447f59a02c5","src/unix/bsd/freebsdlike/freebsd/x86_64/align.rs":"0e1f69a88fca1c32874b1daf5db3d446fefbe518dca497f096cc9168c39dde70","src/unix/bsd/freebsdlike/freebsd/x86_64/mod.rs":"6132aa0973454379674ea6cbc77e6eace1e1032dd9f38182071388a036f1bc08","src/unix/bsd/freebsdlike/mod.rs":"b6be7822a69713966c21efb879eb45f6f9e20c1b4342b524a587ed7350a5b063","src/unix/bsd/mod.rs":"26160c60a33cec65ccc3b28277d40bd95f7f62ee857f931ada76cbc7c2694858","src/unix/bsd/netbsdlike/mod.rs":"48dd60524119c1e09b255d5472d091e7e7b2b29eab04be51b4b1e740bd022859","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"b38fc046f9a40fea28bd26328b96629f4d5d63d7524936bd6af1865d401a8716","src/unix/bsd/netbsdlike/netbsd/arm.rs":"58cdbb70b0d6f536551f0f3bb3725d2d75c4690db12c26c034e7d6ec4a924452","src/unix/bsd/netbsdlike/netbsd/mod.rs":"a70f3c73b423bf44b06f16e44934ce3536517e60b3a4e256f41340a9e5dded40","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"ee7ff5d89d0ed22f531237b5059aa669df93a3b5c489fa641465ace8d405bf41","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"9489f4b3e4566f43bb12dfb92238960613dac7f6a45cc13068a8d152b902d7d9","src/unix/bsd/netbsdlike/netbsd/x86.rs":"20692320e36bfe028d1a34d16fe12ca77aa909cb02bda167376f98f1a09aefe7","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"135509edeaf3fb3f102d89d51ff1a8f82323497336a8dc7e1f0f23b5c2434b73","src/unix/bsd/netbsdlike/openbsd/aarch64.rs":"1dd5449dd1fd3d51e30ffdeeaece91d0aaf05c710e0ac699fecc5461cfa2c28e","src/unix/bsd/netbsdlike/openbsd/mod.rs":"253888b365d4f0dd86d3eae1a63662248514b132031d4bf5434d8a63144ce296","src/unix/bsd/netbsdlike/openbsd/sparc64.rs":"d04fd287afbaa2c5df9d48c94e8374a532a3ba491b424ddf018270c7312f4085","src/unix/bsd/netbsdlike/openbsd/x86.rs":"6f7f5c4fde2a2259eb547890cbd86570cea04ef85347d7569e94e679448bec87","src/unix/bsd/netbsdlike/openbsd/x86_64.rs":"e59b7fd65f68f8e857eec39e0c03bac1d3af6ddc26c9ba58494336b83659bb9b","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b4744500d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"8b8a62f392c23fe4fd1c334ca6c2828617ece19f0a59115d116d957fa348eb74","src/unix/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/unix/hermit/mod.rs":"2d8d3ce0299931199011bb73136bebbddf88edf7d263cc39d26dbfaaa1a14228","src/unix/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/unix/linux_like/android/b32/arm.rs":"155994121906903a2e0afad895f0b3b7546f6e54d6305a3336ce2c4dfafbfdfa","src/unix/linux_like/android/b32/mod.rs":"6b3fd3e1eb21e50d000f496729b40968b1c728f5f10d4fb18a9aef44bff383ff","src/unix/linux_like/android/b32/x86/align.rs":"812914e4241df82e32b12375ca3374615dc3a4bdd4cf31f0423c5815320c0dab","src/unix/linux_like/android/b32/x86/mod.rs":"5b1e9fcd77ca5f939acb7fb5f5da12f305b0377698d8b8989feb236e26360aa0","src/unix/linux_like/android/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/android/b64/aarch64/mod.rs":"db23f94bc3ed46a0967dde748f0d4566fc885cc6171d0555007f3398ff99a708","src/unix/linux_like/android/b64/mod.rs":"c56f1213b01cbf63ec68810bf14b30490bd44d2d5b927ec439d45c8ec2cd282e","src/unix/linux_like/android/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/android/b64/x86_64/mod.rs":"e84176d838e663d351450bad218715db1fafbb531e47ea0e262cbb45829dae89","src/unix/linux_like/android/mod.rs":"b7cfd66a54c512c9df9fbc0e25baf7ecca1f0deb0dd789f811b0e1cab72b2244","src/unix/linux_like/emscripten/align.rs":"86c95cbed7a7161b1f23ee06843e7b0e2340ad92b2cb86fe2a8ef3e0e8c36216","src/unix/linux_like/emscripten/mod.rs":"0770f13ce30b98752d5e868332bf5a55bee8389108fe9d91cf2c2bf71c237093","src/unix/linux_like/emscripten/no_align.rs":"0128e4aa721a9902754828b61b5ec7d8a86619983ed1e0544a85d35b1051fad6","src/unix/linux_like/linux/align.rs":"213e70ebed2703e14a9cf17666b21ecbf180b7bff7fa22fdbb36dbbd52df326d","src/unix/linux_like/linux/gnu/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/gnu/b32/arm/align.rs":"3fed009dc9af3cc81be7087da9d2d7d1f39845e4497e290259c5cdbae25f039d","src/unix/linux_like/linux/gnu/b32/arm/mod.rs":"4932bb1e4d6b00e3eea211f241a29d08a7a6cb310633d4cb585194ac088e19b7","src/unix/linux_like/linux/gnu/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/gnu/b32/mips/mod.rs":"5cf043f5342c37b1cf50bc09de9baaa8d120a8827640f328a74ebbff1fe5aca0","src/unix/linux_like/linux/gnu/b32/mod.rs":"3d282f97f171ce235e687169e7a494e65c21bdc4e59c28360dae60b6c2ffa80c","src/unix/linux_like/linux/gnu/b32/powerpc.rs":"527284eff16dbbed819a12f169a4f957e1ece913a6756be32b2938610c25fc73","src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs":"b16636eff9bcd1b6e23b4a915606f230a01cd8f2752e9331eb576cb023ad27f5","src/unix/linux_like/linux/gnu/b32/sparc/align.rs":"21adbed27df73e2d1ed934aaf733a643003d7baf2bde9c48ea440895bcca6d41","src/unix/linux_like/linux/gnu/b32/sparc/mod.rs":"98cb96fb979947a2d141d298739649e241168ba7047e6cd1928abdd722281c1b","src/unix/linux_like/linux/gnu/b32/x86/align.rs":"e4bafdc4a519a7922a81b37a62bbfd1177a2f620890eef8f1fbc47162e9eb413","src/unix/linux_like/linux/gnu/b32/x86/mod.rs":"43ddb3fc0e8a9d4b32f929bdbd7dbf3e18167409a6f8e8f12aa694ce34a8d7dc","src/unix/linux_like/linux/gnu/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/linux/gnu/b64/aarch64/ilp32.rs":"21a21503ef2e095f4371044915d4bfb07a8578011cb5c713cd9f45947b0b5730","src/unix/linux_like/linux/gnu/b64/aarch64/lp64.rs":"e78c3cd197f44832338b414d1a9bc0d194f44c74db77bd7bf830c1fff62b2690","src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs":"d2bc7110c0ea616471474957cb16ef54fac9567a569d90ca82961a4eda3fadda","src/unix/linux_like/linux/gnu/b64/mips64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/mips64/mod.rs":"ca99bae93eb60138c698ec6b0e78f87cb1dd7181ed3c42c3281c8037c7468921","src/unix/linux_like/linux/gnu/b64/mod.rs":"7bf5c9813032db77b964ccb90bdce15236ae9ea06ea185595278ea4565c21b7b","src/unix/linux_like/linux/gnu/b64/powerpc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs":"facd49a8dfcd9e27c8dac6ebaefb07f801a1b8aa21b8d5f477ccf654a14b9d20","src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs":"aa980f78651165fff4db9c9ff33966b3345b682a3600827b91c8141e86f0ff1e","src/unix/linux_like/linux/gnu/b64/s390x.rs":"86562ad9e0468597b13eb8a606f3df456097ad7a9df11ee8dc77c215fc2fc5fc","src/unix/linux_like/linux/gnu/b64/sparc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs":"5eaf057e149846b07af6ccc17c6c1b7abf0b4a50ee4fbb100c7c81880c235398","src/unix/linux_like/linux/gnu/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs":"f047199e4267bcb63a831379c72884ccf2189b5f2879479436342b2c5b58671e","src/unix/linux_like/linux/gnu/b64/x86_64/not_x32.rs":"74deaf2135168fd8a8fe3382a443d3800b95ea833e94150b265cc59a24872166","src/unix/linux_like/linux/gnu/b64/x86_64/x32.rs":"60ff6e9aca19226714cf0c7f58f4388f5f046cf099cc4f61f9a2913d94d7e846","src/unix/linux_like/linux/gnu/mod.rs":"1be1cd3b22972dc80d5d4e6d01300032726b8049e38c43508f0a86d991fa5a11","src/unix/linux_like/linux/gnu/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/mod.rs":"3f7e58dd79738ab1cf0724cc2239a259fccc4429cb0b2106cdef1b7a101ed1c8","src/unix/linux_like/linux/musl/b32/arm/align.rs":"3e8ac052c1043764776b54c93ba4260e061df998631737a897d9d47d54f7b80c","src/unix/linux_like/linux/musl/b32/arm/mod.rs":"5f65fb836de0f5d84dfb78894a045548dab3f62af5241319ec5da46686261a90","src/unix/linux_like/linux/musl/b32/hexagon.rs":"7c6c481f70da1fe6ca759f363784e130041f3d87906c45910fc1142b5ef17970","src/unix/linux_like/linux/musl/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/musl/b32/mips/mod.rs":"f7adecc4a36b4eb484c168b6c21e73f02ee23f607c0a0351f773f9d9c83b8400","src/unix/linux_like/linux/musl/b32/mod.rs":"8ede3985e6243882814ce91e8ce543e7edbafc0cee5932816072b6f14207a671","src/unix/linux_like/linux/musl/b32/powerpc.rs":"cf286cbf4d2076aaa82662ace2b5c333480410fa59af5cb4542d59f04da84b31","src/unix/linux_like/linux/musl/b32/x86/align.rs":"08e77fbd7435d7dec2ff56932433bece3f02e47ce810f89004a275a86d39cbe1","src/unix/linux_like/linux/musl/b32/x86/mod.rs":"ecb903211cb7a956ad1dab4dbef3a0344d9e4df4bd7b4a49ab5cc591df114dc2","src/unix/linux_like/linux/musl/b64/aarch64/align.rs":"798a9229d70ce235394f2dd625f6c4c1e10519a94382dc5b091952b638ae2928","src/unix/linux_like/linux/musl/b64/aarch64/mod.rs":"9870fd9a953c98b775c9e17a29a66bbe8019a6236eb69a0272f42232a226521d","src/unix/linux_like/linux/musl/b64/mips64.rs":"4bfd8ee1f22a163a7037e1e401d143573bcb14cc3321da0698528e9c0b68c81a","src/unix/linux_like/linux/musl/b64/mod.rs":"190099be03d08125287eee7f46c1aa3a698681862ca7a505b24342b4ec789f2f","src/unix/linux_like/linux/musl/b64/powerpc64.rs":"8992be6cb56e403e9a712c0ca4761934f873cf89f3e6d3cc4483f43e5a192351","src/unix/linux_like/linux/musl/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/musl/b64/x86_64/mod.rs":"d6d98b6e5af5d9b1caa7e67fe18c3c4d76fdb92603b42efed83719a41c53defe","src/unix/linux_like/linux/musl/mod.rs":"6f900a2b2958d920e3b029ffd69c9718a8f7d8e743ea48e4ab63b3dcb7fd7f74","src/unix/linux_like/linux/no_align.rs":"5ed04c53bf9d27da9b4d65ba7625c6ac53330162683d1b3df98950caafa3507b","src/unix/linux_like/mod.rs":"e65c49d9ee229aee11118758e36beebd90629e2e0c59647786cb0e472837d705","src/unix/mod.rs":"01148308e021d9d616d8324e20a1911fcde65e3c11e8e74c359a468bba6fedcd","src/unix/newlib/aarch64/mod.rs":"bb269c1468a9676442554600e87417079a787fe6220dfc23b3109639259e8710","src/unix/newlib/align.rs":"28aaf87fafbc6b312622719d472d8cf65f9e5467d15339df5f73e66d8502b28a","src/unix/newlib/arm/mod.rs":"c71be856bfd7f576b2db28af9f680211cbe6c1cac7d537bbc8020b39591af07c","src/unix/newlib/mod.rs":"35ea283f645afbc7ddebba90d46875c9dc5edc8d215d4becc9e2681a909c5aa1","src/unix/newlib/no_align.rs":"7123dcec13604a11b7765c380ff3a4d0da19c39f4b03919de7857723c0cf1502","src/unix/newlib/powerpc/mod.rs":"2d0f7af28b47f7a2a6c210ebd1c1f33ed8eac62e56b5af2b856de2ad3fdc5187","src/unix/newlib/xtensa/mod.rs":"4c72003c5e692e648c7e798358c49af6901e68850dbba0624af84c40baf208f5","src/unix/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/unix/redox/mod.rs":"b865c65438e102403708fa8a299d02ea635bda0879a256d99fadd0092d42f224","src/unix/solarish/compat.rs":"3f13657fc072462b85b5f937f0db1427c41acb2a714cc4f78fefba1ea8036846","src/unix/solarish/illumos.rs":"c42db942ab90813ecc7b2b32dea0e173e1e349e2e049a06021fd0dbc090c2c30","src/unix/solarish/mod.rs":"8d7ddc8dd25a9404f9181a49438d9506c676cfd4b6fa21dbe5c1f9969abc4b91","src/unix/solarish/solaris.rs":"3d3cc14b47839da1e4ec117bce1395e22ef86d8d1eb1fdcc6464d2fd8267efb4","src/unix/uclibc/align.rs":"a8540e1cce5913a45bc8d7422b79e86c0b12740e8a679478e0e4d863a31f8cc1","src/unix/uclibc/arm/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/uclibc/arm/mod.rs":"d67dd46bc6f417169fc6a23832bde7ccdafc5d1bcb08b10debdd82edaf75d529","src/unix/uclibc/arm/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/uclibc/mips/mips32/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/uclibc/mips/mips32/mod.rs":"a045ebc6619f540adf670b88a987abd2d6e42e440a552e8cfe9f8c77f397e873","src/unix/uclibc/mips/mips32/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/uclibc/mips/mips64/align.rs":"a7bdcb18a37a2d91e64d5fad83ea3edc78f5412adb28f77ab077dbb26dd08b2d","src/unix/uclibc/mips/mips64/mod.rs":"e3085ba56cfbc528d7c3c55065880603238c333b6047ef51c58177508a487fcd","src/unix/uclibc/mips/mips64/no_align.rs":"4a18e3875698c85229599225ac3401a2a40da87e77b2ad4ef47c6fcd5a24ed30","src/unix/uclibc/mips/mod.rs":"a76e9b7cd24d05ca15e412d96d4b2d39f0b2320f7823b15873c6271c16b9c52b","src/unix/uclibc/mod.rs":"2ec3fbe6853807a796632bb8920c48dda18f46823d1c5121db19c29dc86d2800","src/unix/uclibc/no_align.rs":"3f28637046524618adaa1012e26cb7ffe94b9396e6b518cccdc69d59f274d709","src/unix/uclibc/x86_64/align.rs":"4e34cebb7955e9c98ae2f310be6f8ed16a861fc3817c08543867554aeec9524e","src/unix/uclibc/x86_64/l4re.rs":"bb31053d6403091e11f95ac2203982f279f8b984a19adf30796878c45fdd8c25","src/unix/uclibc/x86_64/mod.rs":"188fbaf06a8e23cac72718b1ef7eb4bd98bdfd946aa708151f3f7e3553b65876","src/unix/uclibc/x86_64/no_align.rs":"2ccc0107a6007c70dc49e656095b64a352ca5d8f9f3e65c1dba634effbc15636","src/unix/uclibc/x86_64/other.rs":"42c3f71e58cabba373f6a55a623f3c31b85049eb64824c09c2b082b3b2d6a0a8","src/vxworks/aarch64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/arm.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/mod.rs":"ce8eb593241f7ac0c9d5e91d535457cd169ddcb3d061d3982ba5bcf6b8d63876","src/vxworks/powerpc.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/powerpc64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/x86.rs":"552f007f38317620b23889cb7c49d1d115841252439060122f52f434fbc6e5ba","src/vxworks/x86_64.rs":"018d92be3ad628a129eff9f2f5dfbc0883d8b8e5f2fa917b900a7f98ed6b514a","src/wasi.rs":"11e1ca29d1a446845c551d5717ec5c6081459a2a850781c9194f557d53ecf44f","src/windows/gnu/align.rs":"b2c13ec1b9f3b39a75c452c80c951dff9d0215e31d77e883b4502afb31794647","src/windows/gnu/mod.rs":"c7ab9793baaa3b6854d25fdf44266b7953533009e4fa722ca717b71d3e5d2c9d","src/windows/mod.rs":"7b74bf885712d16a3557df33ef02799dc03d4a1af953c7e6b4648954ce7a20fc","src/windows/msvc.rs":"2c2bfce66027d88021e7289139ebf5b0db258a7b6443f18872c84dbd4ef57131","tests/const_fn.rs":"cb75a1f0864f926aebe79118fc34d51a0d1ade2c20a394e7774c7e545f21f1f4"},"package":"7ccac4b00700875e6a07c6cde370d44d32fa01c5a65cdd2fca6858c479d28bb3"}
19--
202.31.1
21
diff --git a/meta/recipes-devtools/rust/libstd-rs-1.51.0/0004-Update-checksums-for-modified-files.patch b/meta/recipes-devtools/rust/libstd-rs-1.51.0/0004-Update-checksums-for-modified-files.patch
new file mode 100644
index 0000000000..ffc4666be7
--- /dev/null
+++ b/meta/recipes-devtools/rust/libstd-rs-1.51.0/0004-Update-checksums-for-modified-files.patch
@@ -0,0 +1,21 @@
1From 17c0fbd7a60c49189c22a8deb2070cdc76b97110 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 17 Feb 2021 00:55:52 -0800
4Subject: [PATCH 4/4] Update checksums for modified files
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7---
8 vendor/libc/.cargo-checksum.json | 2 +-
9 1 file changed, 1 insertion(+), 1 deletion(-)
10
11diff --git a/vendor/libc/.cargo-checksum.json b/vendor/libc/.cargo-checksum.json
12index 083640d91..0dcb9cc6c 100644
13--- a/vendor/libc/.cargo-checksum.json
14+++ b/vendor/libc/.cargo-checksum.json
15@@ -1 +1 @@
16-{"files":{"CONTRIBUTING.md":"3a9f0037ad5f1198eada74a9d0363925ef09db664380b0e5a2840f03da260476","Cargo.toml":"2d34a451c2f1190e6eb72caa6387f7fd4947e1a60e7f248cff82a9f497867deb","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"a8d47ff51ca256f56a8932dba07660672dbfe3004257ca8de708aac1415937a1","README.md":"82011c39a455c4ba6fc81db69eac78225e697f4596eb29a1ac3da3a43a204f80","build.rs":"e487789ca77b0015d75cecb253286d4a1406f11b1ae538929414fc0506842bef","rustfmt.toml":"8a654d5787585ca8f2c20580737336fc327f411a07b0dbd4870adf6e9bdf624f","src/cloudabi/aarch64.rs":"b8550bf1fd7344972aa4db29441486f39f31482d0327534981dbb75959c29114","src/cloudabi/arm.rs":"c197e2781c2839808bd6fcef219a29705b27b992d3ef920e9cf6ac96e2022bbf","src/cloudabi/mod.rs":"d5d4488e8c0b8227f516fe13810f550a2a72af3bdfe769200ad8687c8755bdf6","src/cloudabi/x86.rs":"33eb97f272d2201f3838ae74d444583c7de8f67856852ca375293b20bbd05636","src/cloudabi/x86_64.rs":"400d85d4fe39e26cf2e6ece9ee31c75fe9e88c4bcf4d836ca9f765c05c9c5be3","src/fixed_width_ints.rs":"34c60f12ec5eeb90f13ec3b954427532111c2446e69617616a97aefc1086a9f1","src/fuchsia/aarch64.rs":"378776a9e40766154a54c94c2a7b4675b5c302a38e6e42da99e67bfbaee60e56","src/fuchsia/align.rs":"ae1cf8f011a99737eabeb14ffff768e60f13b13363d7646744dbb0f443dab3d6","src/fuchsia/mod.rs":"2bfb6ffad0170b3f56b9033a4c9ae2a3a3bb04b0ecb92cbdde7fafa7e868ca3e","src/fuchsia/no_align.rs":"303f3f1b255e0088b5715094353cf00476131d8e94e6aebb3f469557771c8b8a","src/fuchsia/x86_64.rs":"93a3632b5cf67d2a6bcb7dc0a558605252d5fe689e0f38d8aa2ec5852255ac87","src/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/hermit/mod.rs":"d3bfce41e4463d4be8020a2d063c9bfa8b665f45f1cc6cbf3163f5d01e7cb21f","src/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/lib.rs":"8aeb4106f57e956eb51f7a8dd06f299695c8738cf8adc20ac786b524615cedb5","src/macros.rs":"f024ec4ccd3762d4da198f14718d15a3ef70207f63aa3dceabf0de480fe780e9","src/psp.rs":"a621e34d2d31d9b29c725897b846122acce4763ac2017a1fe2200b133e5ad064","src/sgx.rs":"16a95cdefc81c5ee00d8353a60db363c4cc3e0f75abcd5d0144723f2a306ed1b","src/switch.rs":"9da3dd39b3de45a7928789926e8572d00e1e11a39e6f7289a1349aadce90edba","src/unix/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/unix/bsd/apple/b32/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b32/mod.rs":"6a4ce300da0d2b0db04b18548286603ffe4b47d679a41cf60f1902895894aa1f","src/unix/bsd/apple/b64/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b64/mod.rs":"81254d89be1febc5bb20e787d014a624950d56e2e14973df5bbebfdabc95ae20","src/unix/bsd/apple/mod.rs":"9c6ba890cfd1f4ea834fc97260c79467cfcaaccf9c1d019347d50fec5c19f197","src/unix/bsd/freebsdlike/dragonfly/errno.rs":"63f22519f7f4b18152f912c03b860532114b8726832c40b5590def6f02eeb13a","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"86a0e11f928db7c8587e94ea3ba5801025526ed9a35d8d592c2705f96df05c22","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"14f0bd6693967d4fedec904f7042bd51f2138cb843ec4df18c911b357417cdd2","src/unix/bsd/freebsdlike/freebsd/arm.rs":"59d6a670eea562fb87686e243e0a84603d29a2028a3d4b3f99ccc01bd04d2f47","src/unix/bsd/freebsdlike/freebsd/freebsd11/b64.rs":"9808d152c1196aa647f1b0f0cf84dac8c930da7d7f897a44975545e3d9d17681","src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs":"16dd3e1a09f123d0aa544b3fd7c123654b4906cac94838fbed7f34a64413c930","src/unix/bsd/freebsdlike/freebsd/freebsd12/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs":"c6152ce3db241d99e350d34352f3f3d167953ef0ee08bfbe2685cb9ebde2e83b","src/unix/bsd/freebsdlike/freebsd/mod.rs":"c4d73339fda63f145134e9dc21bb40d96ba15c84fc62fb27bf90ba4db5e0f5d8","src/unix/bsd/freebsdlike/freebsd/powerpc64.rs":"2dae3ecc87eac3b11657aa98915def55fc4b5c0de11fe26aae23329a54628a9a","src/unix/bsd/freebsdlike/freebsd/x86.rs":"c5005e3249eb7c93cfbac72a9e9272320d80ce7983da990ceb05a447f59a02c5","src/unix/bsd/freebsdlike/freebsd/x86_64/align.rs":"0e1f69a88fca1c32874b1daf5db3d446fefbe518dca497f096cc9168c39dde70","src/unix/bsd/freebsdlike/freebsd/x86_64/mod.rs":"6132aa0973454379674ea6cbc77e6eace1e1032dd9f38182071388a036f1bc08","src/unix/bsd/freebsdlike/mod.rs":"a45d3095966dff5142d0b292a416a004c78d5689bb38ab7c8d4497b9b310e02f","src/unix/bsd/mod.rs":"4fd08b1fe9c9f74b50e8405a60dd506a6910190fbfbae7e968f1d9848f2b328e","src/unix/bsd/netbsdlike/mod.rs":"48dd60524119c1e09b255d5472d091e7e7b2b29eab04be51b4b1e740bd022859","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"b38fc046f9a40fea28bd26328b96629f4d5d63d7524936bd6af1865d401a8716","src/unix/bsd/netbsdlike/netbsd/arm.rs":"58cdbb70b0d6f536551f0f3bb3725d2d75c4690db12c26c034e7d6ec4a924452","src/unix/bsd/netbsdlike/netbsd/mod.rs":"d22dafd49e3b760a7644a7722f73f80434ddf64ab40cd7c3bd476c2e62eaeb16","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"ee7ff5d89d0ed22f531237b5059aa669df93a3b5c489fa641465ace8d405bf41","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"9489f4b3e4566f43bb12dfb92238960613dac7f6a45cc13068a8d152b902d7d9","src/unix/bsd/netbsdlike/netbsd/x86.rs":"20692320e36bfe028d1a34d16fe12ca77aa909cb02bda167376f98f1a09aefe7","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"135509edeaf3fb3f102d89d51ff1a8f82323497336a8dc7e1f0f23b5c2434b73","src/unix/bsd/netbsdlike/openbsd/aarch64.rs":"1dd5449dd1fd3d51e30ffdeeaece91d0aaf05c710e0ac699fecc5461cfa2c28e","src/unix/bsd/netbsdlike/openbsd/mod.rs":"ebe8abc57672e55ab22d5ca5ef7735eb79a41a0fcae0020d0f9b52744b960693","src/unix/bsd/netbsdlike/openbsd/sparc64.rs":"d04fd287afbaa2c5df9d48c94e8374a532a3ba491b424ddf018270c7312f4085","src/unix/bsd/netbsdlike/openbsd/x86.rs":"6f7f5c4fde2a2259eb547890cbd86570cea04ef85347d7569e94e679448bec87","src/unix/bsd/netbsdlike/openbsd/x86_64.rs":"e59b7fd65f68f8e857eec39e0c03bac1d3af6ddc26c9ba58494336b83659bb9b","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b4744500d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"ecd6139a3656a2fb13e66fed8bed9dfceafea48c169b1fa533b9e1b09a8b18eb","src/unix/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/unix/hermit/mod.rs":"2d8d3ce0299931199011bb73136bebbddf88edf7d263cc39d26dbfaaa1a14228","src/unix/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/unix/linux_like/android/b32/arm.rs":"155994121906903a2e0afad895f0b3b7546f6e54d6305a3336ce2c4dfafbfdfa","src/unix/linux_like/android/b32/mod.rs":"0325adf3364fed7157fff5b24fabe1b36d806c39ee04ec82dd29a606d28f91f6","src/unix/linux_like/android/b32/x86/align.rs":"812914e4241df82e32b12375ca3374615dc3a4bdd4cf31f0423c5815320c0dab","src/unix/linux_like/android/b32/x86/mod.rs":"5b1e9fcd77ca5f939acb7fb5f5da12f305b0377698d8b8989feb236e26360aa0","src/unix/linux_like/android/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/android/b64/aarch64/mod.rs":"655116966eb7846b933e5e28b073c329668588cd3c2120cc9ce60c697bd19978","src/unix/linux_like/android/b64/mod.rs":"6a71abfcbbcdae60c916de41cd4688d5f25bdbca83d1d9df49decd56ad726a06","src/unix/linux_like/android/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/android/b64/x86_64/mod.rs":"e84176d838e663d351450bad218715db1fafbb531e47ea0e262cbb45829dae89","src/unix/linux_like/android/mod.rs":"c6de4534c41d296519f31bee06fd6f06c0a07cd766bb0bd3421c3f897d84caa2","src/unix/linux_like/emscripten/align.rs":"86c95cbed7a7161b1f23ee06843e7b0e2340ad92b2cb86fe2a8ef3e0e8c36216","src/unix/linux_like/emscripten/mod.rs":"aeedf3c777bef979673f5bbaa373aa308ace6d25c33c23524d01cf7628587955","src/unix/linux_like/emscripten/no_align.rs":"0128e4aa721a9902754828b61b5ec7d8a86619983ed1e0544a85d35b1051fad6","src/unix/linux_like/linux/align.rs":"015ec9e064bf7dee63b5a16e6d87aef11aeeeea84a3b083f9e75a97bb7ab2f0b","src/unix/linux_like/linux/gnu/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/gnu/b32/arm/align.rs":"3fed009dc9af3cc81be7087da9d2d7d1f39845e4497e290259c5cdbae25f039d","src/unix/linux_like/linux/gnu/b32/arm/mod.rs":"9e18ad197709bce3aab40537b6ea371ff13f3be7be1d50ff97964f937c517646","src/unix/linux_like/linux/gnu/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/gnu/b32/mips/mod.rs":"5cf043f5342c37b1cf50bc09de9baaa8d120a8827640f328a74ebbff1fe5aca0","src/unix/linux_like/linux/gnu/b32/mod.rs":"d7e392843f0a9a838566015192dbb8af7d1a5883a85547fa888b6ded78882087","src/unix/linux_like/linux/gnu/b32/powerpc.rs":"5457ff8f90fb777cfc3cbe6c0c6a3b3f8eaecb28e66fffc53390e82010030ebe","src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs":"7b2528fdcdbbfb5cd350b27a3f66a6950fb94be1c924c1156a1d93e8950496a1","src/unix/linux_like/linux/gnu/b32/sparc/align.rs":"21adbed27df73e2d1ed934aaf733a643003d7baf2bde9c48ea440895bcca6d41","src/unix/linux_like/linux/gnu/b32/sparc/mod.rs":"796cf3eeb7319bef33afdb9c88caff8a3476842757381f75699e761aa01b89e3","src/unix/linux_like/linux/gnu/b32/x86/align.rs":"e4bafdc4a519a7922a81b37a62bbfd1177a2f620890eef8f1fbc47162e9eb413","src/unix/linux_like/linux/gnu/b32/x86/mod.rs":"b1005390da3ed2d95b612fdcc4b69f11165ce31cfbf50674fe877ed47ad1b431","src/unix/linux_like/linux/gnu/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs":"e73a372b096951030ae7db4f0ad0c5a472ccd8f21973d61811b8441eaf5229af","src/unix/linux_like/linux/gnu/b64/mips64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/mips64/mod.rs":"e86403f310a14fc5355dd78746ac55056c91fa7cd3248d5d8a18430b4940cb2d","src/unix/linux_like/linux/gnu/b64/mod.rs":"b90d87f76bff37707a1725551fe45d70d0c106e01b1dbbcd5f60460e0a19b4c3","src/unix/linux_like/linux/gnu/b64/powerpc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs":"8aaaa4d9a5f79a7413930632c47382e845789dd9a191dc8bf084c8041ee350b1","src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs":"b954a060f88cd03d0ca8bdeb864046230d0c52e2d2ab97394430f1356a357a82","src/unix/linux_like/linux/gnu/b64/s390x.rs":"818bdc54fdcb9d83190d78f31d0f4a082d06ded112ccb40daa1ab4c541ee58d5","src/unix/linux_like/linux/gnu/b64/sparc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs":"22e57216290614616c671f35e24e881d6fcf9839dbfa8d2833a1a77ada28d156","src/unix/linux_like/linux/gnu/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs":"e6197537739cb8628cad25827081c8bf6b371c02ad4b2132b30b9ae74143b1ef","src/unix/linux_like/linux/gnu/b64/x86_64/not_x32.rs":"74deaf2135168fd8a8fe3382a443d3800b95ea833e94150b265cc59a24872166","src/unix/linux_like/linux/gnu/b64/x86_64/x32.rs":"60ff6e9aca19226714cf0c7f58f4388f5f046cf099cc4f61f9a2913d94d7e846","src/unix/linux_like/linux/gnu/mod.rs":"714363d630eb8633390003721b5df6f49c867317077372254884d7537a3ecd3c","src/unix/linux_like/linux/gnu/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/mod.rs":"a8e9bd6e5567e81500ba9110b3d2835fd54572e7b7f33c1fd7740a09271d6ee9","src/unix/linux_like/linux/musl/b32/arm/align.rs":"3e8ac052c1043764776b54c93ba4260e061df998631737a897d9d47d54f7b80c","src/unix/linux_like/linux/musl/b32/arm/mod.rs":"45062a178b382ab17341a69d027b5c83325c4e79fecf45729ba9c47b1bcdc3da","src/unix/linux_like/linux/musl/b32/hexagon.rs":"7c6c481f70da1fe6ca759f363784e130041f3d87906c45910fc1142b5ef17970","src/unix/linux_like/linux/musl/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/musl/b32/mips/mod.rs":"9eb0e4953be5afaa0b9e3ac54c85ed40583cfb8cc0b03264b9bc8f763a8f3254","src/unix/linux_like/linux/musl/b32/mod.rs":"8ede3985e6243882814ce91e8ce543e7edbafc0cee5932816072b6f14207a671","src/unix/linux_like/linux/musl/b32/powerpc.rs":"cf286cbf4d2076aaa82662ace2b5c333480410fa59af5cb4542d59f04da84b31","src/unix/linux_like/linux/musl/b32/x86/align.rs":"08e77fbd7435d7dec2ff56932433bece3f02e47ce810f89004a275a86d39cbe1","src/unix/linux_like/linux/musl/b32/x86/mod.rs":"9c3b6e98e7710d6c877a4e31726d36416115a58f53fc469bb173b7fe660b39e5","src/unix/linux_like/linux/musl/b64/aarch64/align.rs":"22da1c030c254c511bc335c824d40b693904975a4633f8243a8777ca68ef1c65","src/unix/linux_like/linux/musl/b64/aarch64/mod.rs":"9870fd9a953c98b775c9e17a29a66bbe8019a6236eb69a0272f42232a226521d","src/unix/linux_like/linux/musl/b64/mips64.rs":"9d0158ac7a913222d0a62239ec043aa1aee73522a7a1e0e191d0642dde35c083","src/unix/linux_like/linux/musl/b64/mod.rs":"8b76e92a1505ad785d4aa0b7739e0b93647a1e81910949b49cedb6c88468be9c","src/unix/linux_like/linux/musl/b64/powerpc64.rs":"ed9b879bb9cdc526ad83815875edeb4cad4e8829086dfba2578277c265336229","src/unix/linux_like/linux/musl/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/musl/b64/x86_64/mod.rs":"cfeb109c732ac6bc7d2be44069d3652e917a0509b8b545270b756ff2d52e27e8","src/unix/linux_like/linux/musl/mod.rs":"243e32b93641df7a77f970a32c0fb8e4fd4a13720e54e0e42a9da321fd169798","src/unix/linux_like/linux/no_align.rs":"5ed04c53bf9d27da9b4d65ba7625c6ac53330162683d1b3df98950caafa3507b","src/unix/linux_like/mod.rs":"377bf039b6bcdea77173687cb1e2d12d52548fd1b1b0d4113130da787684c145","src/unix/mod.rs":"856ba2bcba40d5d926ded8b6de9bf697bc5d2bd7e56ea01f73b10ea34b417435","src/unix/newlib/aarch64/mod.rs":"bb269c1468a9676442554600e87417079a787fe6220dfc23b3109639259e8710","src/unix/newlib/align.rs":"28aaf87fafbc6b312622719d472d8cf65f9e5467d15339df5f73e66d8502b28a","src/unix/newlib/arm/mod.rs":"c71be856bfd7f576b2db28af9f680211cbe6c1cac7d537bbc8020b39591af07c","src/unix/newlib/mod.rs":"2f771ab23df36ab0c7a117e854483a917aaf9c5cbb9eded1bdda35827cdaf734","src/unix/newlib/no_align.rs":"7123dcec13604a11b7765c380ff3a4d0da19c39f4b03919de7857723c0cf1502","src/unix/newlib/powerpc/mod.rs":"2d0f7af28b47f7a2a6c210ebd1c1f33ed8eac62e56b5af2b856de2ad3fdc5187","src/unix/newlib/xtensa/mod.rs":"4c72003c5e692e648c7e798358c49af6901e68850dbba0624af84c40baf208f5","src/unix/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/unix/redox/mod.rs":"c6ac0812f85046e40f691357da8a1cbd72572bdb0f913c24aac106d7aa4ac240","src/unix/solarish/compat.rs":"3f13657fc072462b85b5f937f0db1427c41acb2a714cc4f78fefba1ea8036846","src/unix/solarish/illumos.rs":"1088c45b238e7d398dbb140d238257d5b5f93aeded98652c3f6747f0c07b4fa7","src/unix/solarish/mod.rs":"0134ce769d06b1b1f50ad15d1aa7bd8d44bcd2f66c6318dd906de8bc4a4044c7","src/unix/solarish/solaris.rs":"5914ded3ce8ec5638bb023d4cde147f016d736d5006964a1ef9839752ecb45f8","src/unix/uclibc/align.rs":"a8540e1cce5913a45bc8d7422b79e86c0b12740e8a679478e0e4d863a31f8cc1","src/unix/uclibc/arm/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/uclibc/arm/mod.rs":"d67dd46bc6f417169fc6a23832bde7ccdafc5d1bcb08b10debdd82edaf75d529","src/unix/uclibc/arm/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/uclibc/mips/mips32/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/uclibc/mips/mips32/mod.rs":"a045ebc6619f540adf670b88a987abd2d6e42e440a552e8cfe9f8c77f397e873","src/unix/uclibc/mips/mips32/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/uclibc/mips/mips64/align.rs":"a7bdcb18a37a2d91e64d5fad83ea3edc78f5412adb28f77ab077dbb26dd08b2d","src/unix/uclibc/mips/mips64/mod.rs":"e3085ba56cfbc528d7c3c55065880603238c333b6047ef51c58177508a487fcd","src/unix/uclibc/mips/mips64/no_align.rs":"4a18e3875698c85229599225ac3401a2a40da87e77b2ad4ef47c6fcd5a24ed30","src/unix/uclibc/mips/mod.rs":"1054d0bfeb506b3346b9a4148564beced8a22da0d9c9a612101f6237756795fb","src/unix/uclibc/mod.rs":"907805e356738075844a704ef2eec8cfd628c59bb1408d3fff66e8f9ba36e4ba","src/unix/uclibc/no_align.rs":"3f28637046524618adaa1012e26cb7ffe94b9396e6b518cccdc69d59f274d709","src/unix/uclibc/x86_64/align.rs":"4e34cebb7955e9c98ae2f310be6f8ed16a861fc3817c08543867554aeec9524e","src/unix/uclibc/x86_64/l4re.rs":"bb31053d6403091e11f95ac2203982f279f8b984a19adf30796878c45fdd8c25","src/unix/uclibc/x86_64/mod.rs":"188fbaf06a8e23cac72718b1ef7eb4bd98bdfd946aa708151f3f7e3553b65876","src/unix/uclibc/x86_64/no_align.rs":"2ccc0107a6007c70dc49e656095b64a352ca5d8f9f3e65c1dba634effbc15636","src/unix/uclibc/x86_64/other.rs":"42c3f71e58cabba373f6a55a623f3c31b85049eb64824c09c2b082b3b2d6a0a8","src/vxworks/aarch64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/arm.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/mod.rs":"b7c57b72a0f312c20531ba393f6fab7331fb708170d141d898d705868a5ee780","src/vxworks/powerpc.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/powerpc64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/x86.rs":"552f007f38317620b23889cb7c49d1d115841252439060122f52f434fbc6e5ba","src/vxworks/x86_64.rs":"018d92be3ad628a129eff9f2f5dfbc0883d8b8e5f2fa917b900a7f98ed6b514a","src/wasi.rs":"11e1ca29d1a446845c551d5717ec5c6081459a2a850781c9194f557d53ecf44f","src/windows/gnu/align.rs":"b2c13ec1b9f3b39a75c452c80c951dff9d0215e31d77e883b4502afb31794647","src/windows/gnu/mod.rs":"c7ab9793baaa3b6854d25fdf44266b7953533009e4fa722ca717b71d3e5d2c9d","src/windows/mod.rs":"7b74bf885712d16a3557df33ef02799dc03d4a1af953c7e6b4648954ce7a20fc","src/windows/msvc.rs":"2c2bfce66027d88021e7289139ebf5b0db258a7b6443f18872c84dbd4ef57131","tests/const_fn.rs":"cb75a1f0864f926aebe79118fc34d51a0d1ade2c20a394e7774c7e545f21f1f4","triagebot.toml":"a135e10c777cd13459559bdf74fb704c1379af7c9b0f70bc49fa6f5a837daa81"},"package":"2448f6066e80e3bfc792e9c98bf705b4b0fc6e8ef5b43e5889aff0eaa9c58743"}
17\ No newline at end of file
18+{"files":{"CONTRIBUTING.md":"3a9f0037ad5f1198eada74a9d0363925ef09db664380b0e5a2840f03da260476","Cargo.toml":"2d34a451c2f1190e6eb72caa6387f7fd4947e1a60e7f248cff82a9f497867deb","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"a8d47ff51ca256f56a8932dba07660672dbfe3004257ca8de708aac1415937a1","README.md":"82011c39a455c4ba6fc81db69eac78225e697f4596eb29a1ac3da3a43a204f80","build.rs":"e487789ca77b0015d75cecb253286d4a1406f11b1ae538929414fc0506842bef","rustfmt.toml":"8a654d5787585ca8f2c20580737336fc327f411a07b0dbd4870adf6e9bdf624f","src/cloudabi/aarch64.rs":"b8550bf1fd7344972aa4db29441486f39f31482d0327534981dbb75959c29114","src/cloudabi/arm.rs":"c197e2781c2839808bd6fcef219a29705b27b992d3ef920e9cf6ac96e2022bbf","src/cloudabi/mod.rs":"d5d4488e8c0b8227f516fe13810f550a2a72af3bdfe769200ad8687c8755bdf6","src/cloudabi/x86.rs":"33eb97f272d2201f3838ae74d444583c7de8f67856852ca375293b20bbd05636","src/cloudabi/x86_64.rs":"400d85d4fe39e26cf2e6ece9ee31c75fe9e88c4bcf4d836ca9f765c05c9c5be3","src/fixed_width_ints.rs":"34c60f12ec5eeb90f13ec3b954427532111c2446e69617616a97aefc1086a9f1","src/fuchsia/aarch64.rs":"378776a9e40766154a54c94c2a7b4675b5c302a38e6e42da99e67bfbaee60e56","src/fuchsia/align.rs":"ae1cf8f011a99737eabeb14ffff768e60f13b13363d7646744dbb0f443dab3d6","src/fuchsia/mod.rs":"2bfb6ffad0170b3f56b9033a4c9ae2a3a3bb04b0ecb92cbdde7fafa7e868ca3e","src/fuchsia/no_align.rs":"303f3f1b255e0088b5715094353cf00476131d8e94e6aebb3f469557771c8b8a","src/fuchsia/x86_64.rs":"93a3632b5cf67d2a6bcb7dc0a558605252d5fe689e0f38d8aa2ec5852255ac87","src/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/hermit/mod.rs":"d3bfce41e4463d4be8020a2d063c9bfa8b665f45f1cc6cbf3163f5d01e7cb21f","src/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/lib.rs":"8aeb4106f57e956eb51f7a8dd06f299695c8738cf8adc20ac786b524615cedb5","src/macros.rs":"f024ec4ccd3762d4da198f14718d15a3ef70207f63aa3dceabf0de480fe780e9","src/psp.rs":"a621e34d2d31d9b29c725897b846122acce4763ac2017a1fe2200b133e5ad064","src/sgx.rs":"16a95cdefc81c5ee00d8353a60db363c4cc3e0f75abcd5d0144723f2a306ed1b","src/switch.rs":"9da3dd39b3de45a7928789926e8572d00e1e11a39e6f7289a1349aadce90edba","src/unix/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/unix/bsd/apple/b32/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b32/mod.rs":"6a4ce300da0d2b0db04b18548286603ffe4b47d679a41cf60f1902895894aa1f","src/unix/bsd/apple/b64/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b64/mod.rs":"81254d89be1febc5bb20e787d014a624950d56e2e14973df5bbebfdabc95ae20","src/unix/bsd/apple/mod.rs":"9c6ba890cfd1f4ea834fc97260c79467cfcaaccf9c1d019347d50fec5c19f197","src/unix/bsd/freebsdlike/dragonfly/errno.rs":"63f22519f7f4b18152f912c03b860532114b8726832c40b5590def6f02eeb13a","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"86a0e11f928db7c8587e94ea3ba5801025526ed9a35d8d592c2705f96df05c22","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"14f0bd6693967d4fedec904f7042bd51f2138cb843ec4df18c911b357417cdd2","src/unix/bsd/freebsdlike/freebsd/arm.rs":"59d6a670eea562fb87686e243e0a84603d29a2028a3d4b3f99ccc01bd04d2f47","src/unix/bsd/freebsdlike/freebsd/freebsd11/b64.rs":"9808d152c1196aa647f1b0f0cf84dac8c930da7d7f897a44975545e3d9d17681","src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs":"16dd3e1a09f123d0aa544b3fd7c123654b4906cac94838fbed7f34a64413c930","src/unix/bsd/freebsdlike/freebsd/freebsd12/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs":"c6152ce3db241d99e350d34352f3f3d167953ef0ee08bfbe2685cb9ebde2e83b","src/unix/bsd/freebsdlike/freebsd/mod.rs":"c4d73339fda63f145134e9dc21bb40d96ba15c84fc62fb27bf90ba4db5e0f5d8","src/unix/bsd/freebsdlike/freebsd/powerpc64.rs":"2dae3ecc87eac3b11657aa98915def55fc4b5c0de11fe26aae23329a54628a9a","src/unix/bsd/freebsdlike/freebsd/x86.rs":"c5005e3249eb7c93cfbac72a9e9272320d80ce7983da990ceb05a447f59a02c5","src/unix/bsd/freebsdlike/freebsd/x86_64/align.rs":"0e1f69a88fca1c32874b1daf5db3d446fefbe518dca497f096cc9168c39dde70","src/unix/bsd/freebsdlike/freebsd/x86_64/mod.rs":"6132aa0973454379674ea6cbc77e6eace1e1032dd9f38182071388a036f1bc08","src/unix/bsd/freebsdlike/mod.rs":"a45d3095966dff5142d0b292a416a004c78d5689bb38ab7c8d4497b9b310e02f","src/unix/bsd/mod.rs":"4fd08b1fe9c9f74b50e8405a60dd506a6910190fbfbae7e968f1d9848f2b328e","src/unix/bsd/netbsdlike/mod.rs":"48dd60524119c1e09b255d5472d091e7e7b2b29eab04be51b4b1e740bd022859","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"b38fc046f9a40fea28bd26328b96629f4d5d63d7524936bd6af1865d401a8716","src/unix/bsd/netbsdlike/netbsd/arm.rs":"58cdbb70b0d6f536551f0f3bb3725d2d75c4690db12c26c034e7d6ec4a924452","src/unix/bsd/netbsdlike/netbsd/mod.rs":"d22dafd49e3b760a7644a7722f73f80434ddf64ab40cd7c3bd476c2e62eaeb16","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"ee7ff5d89d0ed22f531237b5059aa669df93a3b5c489fa641465ace8d405bf41","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"9489f4b3e4566f43bb12dfb92238960613dac7f6a45cc13068a8d152b902d7d9","src/unix/bsd/netbsdlike/netbsd/x86.rs":"20692320e36bfe028d1a34d16fe12ca77aa909cb02bda167376f98f1a09aefe7","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"135509edeaf3fb3f102d89d51ff1a8f82323497336a8dc7e1f0f23b5c2434b73","src/unix/bsd/netbsdlike/openbsd/aarch64.rs":"1dd5449dd1fd3d51e30ffdeeaece91d0aaf05c710e0ac699fecc5461cfa2c28e","src/unix/bsd/netbsdlike/openbsd/mod.rs":"ebe8abc57672e55ab22d5ca5ef7735eb79a41a0fcae0020d0f9b52744b960693","src/unix/bsd/netbsdlike/openbsd/sparc64.rs":"d04fd287afbaa2c5df9d48c94e8374a532a3ba491b424ddf018270c7312f4085","src/unix/bsd/netbsdlike/openbsd/x86.rs":"6f7f5c4fde2a2259eb547890cbd86570cea04ef85347d7569e94e679448bec87","src/unix/bsd/netbsdlike/openbsd/x86_64.rs":"e59b7fd65f68f8e857eec39e0c03bac1d3af6ddc26c9ba58494336b83659bb9b","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b4744500d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"ecd6139a3656a2fb13e66fed8bed9dfceafea48c169b1fa533b9e1b09a8b18eb","src/unix/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/unix/hermit/mod.rs":"2d8d3ce0299931199011bb73136bebbddf88edf7d263cc39d26dbfaaa1a14228","src/unix/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/unix/linux_like/android/b32/arm.rs":"155994121906903a2e0afad895f0b3b7546f6e54d6305a3336ce2c4dfafbfdfa","src/unix/linux_like/android/b32/mod.rs":"0325adf3364fed7157fff5b24fabe1b36d806c39ee04ec82dd29a606d28f91f6","src/unix/linux_like/android/b32/x86/align.rs":"812914e4241df82e32b12375ca3374615dc3a4bdd4cf31f0423c5815320c0dab","src/unix/linux_like/android/b32/x86/mod.rs":"5b1e9fcd77ca5f939acb7fb5f5da12f305b0377698d8b8989feb236e26360aa0","src/unix/linux_like/android/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/android/b64/aarch64/mod.rs":"655116966eb7846b933e5e28b073c329668588cd3c2120cc9ce60c697bd19978","src/unix/linux_like/android/b64/mod.rs":"6a71abfcbbcdae60c916de41cd4688d5f25bdbca83d1d9df49decd56ad726a06","src/unix/linux_like/android/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/android/b64/x86_64/mod.rs":"e84176d838e663d351450bad218715db1fafbb531e47ea0e262cbb45829dae89","src/unix/linux_like/android/mod.rs":"c6de4534c41d296519f31bee06fd6f06c0a07cd766bb0bd3421c3f897d84caa2","src/unix/linux_like/emscripten/align.rs":"86c95cbed7a7161b1f23ee06843e7b0e2340ad92b2cb86fe2a8ef3e0e8c36216","src/unix/linux_like/emscripten/mod.rs":"aeedf3c777bef979673f5bbaa373aa308ace6d25c33c23524d01cf7628587955","src/unix/linux_like/emscripten/no_align.rs":"0128e4aa721a9902754828b61b5ec7d8a86619983ed1e0544a85d35b1051fad6","src/unix/linux_like/linux/align.rs":"015ec9e064bf7dee63b5a16e6d87aef11aeeeea84a3b083f9e75a97bb7ab2f0b","src/unix/linux_like/linux/gnu/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/gnu/b32/arm/align.rs":"3fed009dc9af3cc81be7087da9d2d7d1f39845e4497e290259c5cdbae25f039d","src/unix/linux_like/linux/gnu/b32/arm/mod.rs":"9e18ad197709bce3aab40537b6ea371ff13f3be7be1d50ff97964f937c517646","src/unix/linux_like/linux/gnu/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/gnu/b32/mips/mod.rs":"5cf043f5342c37b1cf50bc09de9baaa8d120a8827640f328a74ebbff1fe5aca0","src/unix/linux_like/linux/gnu/b32/mod.rs":"d7e392843f0a9a838566015192dbb8af7d1a5883a85547fa888b6ded78882087","src/unix/linux_like/linux/gnu/b32/powerpc.rs":"5457ff8f90fb777cfc3cbe6c0c6a3b3f8eaecb28e66fffc53390e82010030ebe","src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs":"7b2528fdcdbbfb5cd350b27a3f66a6950fb94be1c924c1156a1d93e8950496a1","src/unix/linux_like/linux/gnu/b32/sparc/align.rs":"21adbed27df73e2d1ed934aaf733a643003d7baf2bde9c48ea440895bcca6d41","src/unix/linux_like/linux/gnu/b32/sparc/mod.rs":"796cf3eeb7319bef33afdb9c88caff8a3476842757381f75699e761aa01b89e3","src/unix/linux_like/linux/gnu/b32/x86/align.rs":"e4bafdc4a519a7922a81b37a62bbfd1177a2f620890eef8f1fbc47162e9eb413","src/unix/linux_like/linux/gnu/b32/x86/mod.rs":"b1005390da3ed2d95b612fdcc4b69f11165ce31cfbf50674fe877ed47ad1b431","src/unix/linux_like/linux/gnu/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs":"e73a372b096951030ae7db4f0ad0c5a472ccd8f21973d61811b8441eaf5229af","src/unix/linux_like/linux/gnu/b64/mips64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/mips64/mod.rs":"e86403f310a14fc5355dd78746ac55056c91fa7cd3248d5d8a18430b4940cb2d","src/unix/linux_like/linux/gnu/b64/mod.rs":"b90d87f76bff37707a1725551fe45d70d0c106e01b1dbbcd5f60460e0a19b4c3","src/unix/linux_like/linux/gnu/b64/powerpc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs":"8aaaa4d9a5f79a7413930632c47382e845789dd9a191dc8bf084c8041ee350b1","src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs":"b954a060f88cd03d0ca8bdeb864046230d0c52e2d2ab97394430f1356a357a82","src/unix/linux_like/linux/gnu/b64/s390x.rs":"818bdc54fdcb9d83190d78f31d0f4a082d06ded112ccb40daa1ab4c541ee58d5","src/unix/linux_like/linux/gnu/b64/sparc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs":"22e57216290614616c671f35e24e881d6fcf9839dbfa8d2833a1a77ada28d156","src/unix/linux_like/linux/gnu/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs":"e6197537739cb8628cad25827081c8bf6b371c02ad4b2132b30b9ae74143b1ef","src/unix/linux_like/linux/gnu/b64/x86_64/not_x32.rs":"74deaf2135168fd8a8fe3382a443d3800b95ea833e94150b265cc59a24872166","src/unix/linux_like/linux/gnu/b64/x86_64/x32.rs":"60ff6e9aca19226714cf0c7f58f4388f5f046cf099cc4f61f9a2913d94d7e846","src/unix/linux_like/linux/gnu/mod.rs":"714363d630eb8633390003721b5df6f49c867317077372254884d7537a3ecd3c","src/unix/linux_like/linux/gnu/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/mod.rs":"a8e9bd6e5567e81500ba9110b3d2835fd54572e7b7f33c1fd7740a09271d6ee9","src/unix/linux_like/linux/musl/b32/arm/align.rs":"3e8ac052c1043764776b54c93ba4260e061df998631737a897d9d47d54f7b80c","src/unix/linux_like/linux/musl/b32/arm/mod.rs":"45062a178b382ab17341a69d027b5c83325c4e79fecf45729ba9c47b1bcdc3da","src/unix/linux_like/linux/musl/b32/hexagon.rs":"7c6c481f70da1fe6ca759f363784e130041f3d87906c45910fc1142b5ef17970","src/unix/linux_like/linux/musl/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/musl/b32/mips/mod.rs":"9eb0e4953be5afaa0b9e3ac54c85ed40583cfb8cc0b03264b9bc8f763a8f3254","src/unix/linux_like/linux/musl/b32/mod.rs":"8ede3985e6243882814ce91e8ce543e7edbafc0cee5932816072b6f14207a671","src/unix/linux_like/linux/musl/b32/powerpc.rs":"cf286cbf4d2076aaa82662ace2b5c333480410fa59af5cb4542d59f04da84b31","src/unix/linux_like/linux/musl/b32/x86/align.rs":"08e77fbd7435d7dec2ff56932433bece3f02e47ce810f89004a275a86d39cbe1","src/unix/linux_like/linux/musl/b32/x86/mod.rs":"9c3b6e98e7710d6c877a4e31726d36416115a58f53fc469bb173b7fe660b39e5","src/unix/linux_like/linux/musl/b64/aarch64/align.rs":"22da1c030c254c511bc335c824d40b693904975a4633f8243a8777ca68ef1c65","src/unix/linux_like/linux/musl/b64/aarch64/mod.rs":"9870fd9a953c98b775c9e17a29a66bbe8019a6236eb69a0272f42232a226521d","src/unix/linux_like/linux/musl/b64/mips64.rs":"9d0158ac7a913222d0a62239ec043aa1aee73522a7a1e0e191d0642dde35c083","src/unix/linux_like/linux/musl/b64/mod.rs":"190099be03d08125287eee7f46c1aa3a698681862ca7a505b24342b4ec789f2f","src/unix/linux_like/linux/musl/b64/powerpc64.rs":"ed9b879bb9cdc526ad83815875edeb4cad4e8829086dfba2578277c265336229","src/unix/linux_like/linux/musl/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/musl/b64/x86_64/mod.rs":"cfeb109c732ac6bc7d2be44069d3652e917a0509b8b545270b756ff2d52e27e8","src/unix/linux_like/linux/musl/mod.rs":"9af0fab9f803eae48d566b2e92d4f943d8e02a5110d1ddf425927e8011d497f7","src/unix/linux_like/linux/no_align.rs":"5ed04c53bf9d27da9b4d65ba7625c6ac53330162683d1b3df98950caafa3507b","src/unix/linux_like/mod.rs":"377bf039b6bcdea77173687cb1e2d12d52548fd1b1b0d4113130da787684c145","src/unix/mod.rs":"856ba2bcba40d5d926ded8b6de9bf697bc5d2bd7e56ea01f73b10ea34b417435","src/unix/newlib/aarch64/mod.rs":"bb269c1468a9676442554600e87417079a787fe6220dfc23b3109639259e8710","src/unix/newlib/align.rs":"28aaf87fafbc6b312622719d472d8cf65f9e5467d15339df5f73e66d8502b28a","src/unix/newlib/arm/mod.rs":"c71be856bfd7f576b2db28af9f680211cbe6c1cac7d537bbc8020b39591af07c","src/unix/newlib/mod.rs":"2f771ab23df36ab0c7a117e854483a917aaf9c5cbb9eded1bdda35827cdaf734","src/unix/newlib/no_align.rs":"7123dcec13604a11b7765c380ff3a4d0da19c39f4b03919de7857723c0cf1502","src/unix/newlib/powerpc/mod.rs":"2d0f7af28b47f7a2a6c210ebd1c1f33ed8eac62e56b5af2b856de2ad3fdc5187","src/unix/newlib/xtensa/mod.rs":"4c72003c5e692e648c7e798358c49af6901e68850dbba0624af84c40baf208f5","src/unix/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/unix/redox/mod.rs":"c6ac0812f85046e40f691357da8a1cbd72572bdb0f913c24aac106d7aa4ac240","src/unix/solarish/compat.rs":"3f13657fc072462b85b5f937f0db1427c41acb2a714cc4f78fefba1ea8036846","src/unix/solarish/illumos.rs":"1088c45b238e7d398dbb140d238257d5b5f93aeded98652c3f6747f0c07b4fa7","src/unix/solarish/mod.rs":"0134ce769d06b1b1f50ad15d1aa7bd8d44bcd2f66c6318dd906de8bc4a4044c7","src/unix/solarish/solaris.rs":"5914ded3ce8ec5638bb023d4cde147f016d736d5006964a1ef9839752ecb45f8","src/unix/uclibc/align.rs":"a8540e1cce5913a45bc8d7422b79e86c0b12740e8a679478e0e4d863a31f8cc1","src/unix/uclibc/arm/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/uclibc/arm/mod.rs":"d67dd46bc6f417169fc6a23832bde7ccdafc5d1bcb08b10debdd82edaf75d529","src/unix/uclibc/arm/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/uclibc/mips/mips32/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/uclibc/mips/mips32/mod.rs":"a045ebc6619f540adf670b88a987abd2d6e42e440a552e8cfe9f8c77f397e873","src/unix/uclibc/mips/mips32/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/uclibc/mips/mips64/align.rs":"a7bdcb18a37a2d91e64d5fad83ea3edc78f5412adb28f77ab077dbb26dd08b2d","src/unix/uclibc/mips/mips64/mod.rs":"e3085ba56cfbc528d7c3c55065880603238c333b6047ef51c58177508a487fcd","src/unix/uclibc/mips/mips64/no_align.rs":"4a18e3875698c85229599225ac3401a2a40da87e77b2ad4ef47c6fcd5a24ed30","src/unix/uclibc/mips/mod.rs":"1054d0bfeb506b3346b9a4148564beced8a22da0d9c9a612101f6237756795fb","src/unix/uclibc/mod.rs":"907805e356738075844a704ef2eec8cfd628c59bb1408d3fff66e8f9ba36e4ba","src/unix/uclibc/no_align.rs":"3f28637046524618adaa1012e26cb7ffe94b9396e6b518cccdc69d59f274d709","src/unix/uclibc/x86_64/align.rs":"4e34cebb7955e9c98ae2f310be6f8ed16a861fc3817c08543867554aeec9524e","src/unix/uclibc/x86_64/l4re.rs":"bb31053d6403091e11f95ac2203982f279f8b984a19adf30796878c45fdd8c25","src/unix/uclibc/x86_64/mod.rs":"188fbaf06a8e23cac72718b1ef7eb4bd98bdfd946aa708151f3f7e3553b65876","src/unix/uclibc/x86_64/no_align.rs":"2ccc0107a6007c70dc49e656095b64a352ca5d8f9f3e65c1dba634effbc15636","src/unix/uclibc/x86_64/other.rs":"42c3f71e58cabba373f6a55a623f3c31b85049eb64824c09c2b082b3b2d6a0a8","src/vxworks/aarch64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/arm.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/mod.rs":"b7c57b72a0f312c20531ba393f6fab7331fb708170d141d898d705868a5ee780","src/vxworks/powerpc.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/powerpc64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/x86.rs":"552f007f38317620b23889cb7c49d1d115841252439060122f52f434fbc6e5ba","src/vxworks/x86_64.rs":"018d92be3ad628a129eff9f2f5dfbc0883d8b8e5f2fa917b900a7f98ed6b514a","src/wasi.rs":"11e1ca29d1a446845c551d5717ec5c6081459a2a850781c9194f557d53ecf44f","src/windows/gnu/align.rs":"b2c13ec1b9f3b39a75c452c80c951dff9d0215e31d77e883b4502afb31794647","src/windows/gnu/mod.rs":"c7ab9793baaa3b6854d25fdf44266b7953533009e4fa722ca717b71d3e5d2c9d","src/windows/mod.rs":"7b74bf885712d16a3557df33ef02799dc03d4a1af953c7e6b4648954ce7a20fc","src/windows/msvc.rs":"2c2bfce66027d88021e7289139ebf5b0db258a7b6443f18872c84dbd4ef57131","tests/const_fn.rs":"cb75a1f0864f926aebe79118fc34d51a0d1ade2c20a394e7774c7e545f21f1f4","triagebot.toml":"a135e10c777cd13459559bdf74fb704c1379af7c9b0f70bc49fa6f5a837daa81"},"package":"2448f6066e80e3bfc792e9c98bf705b4b0fc6e8ef5b43e5889aff0eaa9c58743"}
19--
202.30.1
21
diff --git a/meta/recipes-devtools/rust/libstd-rs-1.54.0/0005-Add-base-definitions-for-riscv64-musl-libc-0.2.93.patch b/meta/recipes-devtools/rust/libstd-rs-1.54.0/0005-Add-base-definitions-for-riscv64-musl-libc-0.2.93.patch
new file mode 100644
index 0000000000..7529c4ddd7
--- /dev/null
+++ b/meta/recipes-devtools/rust/libstd-rs-1.54.0/0005-Add-base-definitions-for-riscv64-musl-libc-0.2.93.patch
@@ -0,0 +1,905 @@
1From 4e188d047dee33a19902113a3c90cdf1d8310a9e Mon Sep 17 00:00:00 2001
2From: Ralf Anton Beier <ralf_beier@me.com>
3Date: Sun, 8 Aug 2021 11:05:06 +0200
4Subject: [PATCH 5/8] Add base definitions for riscv64 + musl - libc-0.2.93
5
6https://github.com/rust-lang/libc/pull/1994/commits/030a07761f61f3293d53752e60edbd330a9d718d
7
8Signed-off-by: Khem Raj <raj.khem@gmail.com>
9Signed-off-by: Ralf Anton Beier <ralf_beier@me.com>
10---
11 .../src/unix/linux_like/linux/musl/b64/mod.rs | 3 +
12 .../linux_like/linux/musl/b64/riscv64/mod.rs | 867 ++++++++++++++++++
13 2 files changed, 870 insertions(+)
14 create mode 100644 vendor/libc-0.2.93/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
15
16diff --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
17index cfcdaaecf..7261b95d2 100644
18--- a/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/b64/mod.rs
19+++ b/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/b64/mod.rs
20@@ -163,6 +163,9 @@ cfg_if! {
21 } else if #[cfg(any(target_arch = "x86_64"))] {
22 mod x86_64;
23 pub use self::x86_64::*;
24+ } else if #[cfg(any(target_arch = "riscv64"))] {
25+ mod riscv64;
26+ pub use self::riscv64::*;
27 } else {
28 // Unknown target_arch
29 }
30diff --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
31new file mode 100644
32index 000000000..14bae11d0
33--- /dev/null
34+++ b/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
35@@ -0,0 +1,867 @@
36+//! RISC-V-specific definitions for 64-bit linux-like values
37+
38+pub type c_char = u8;
39+pub type c_long = i64;
40+pub type c_ulong = u64;
41+pub type wchar_t = ::c_int;
42+
43+pub type nlink_t = ::c_uint;
44+pub type blksize_t = ::c_int;
45+pub type fsblkcnt64_t = ::c_ulong;
46+pub type fsfilcnt64_t = ::c_ulong;
47+pub type suseconds_t = i64;
48+pub type __u64 = ::c_ulonglong;
49+
50+s! {
51+ pub struct pthread_attr_t {
52+ __size: [::c_ulong; 7],
53+ }
54+
55+ pub struct stat {
56+ pub st_dev: ::dev_t,
57+ pub st_ino: ::ino_t,
58+ pub st_mode: ::mode_t,
59+ pub st_nlink: ::nlink_t,
60+ pub st_uid: ::uid_t,
61+ pub st_gid: ::gid_t,
62+ pub st_rdev: ::dev_t,
63+ pub __pad1: ::dev_t,
64+ pub st_size: ::off_t,
65+ pub st_blksize: ::blksize_t,
66+ pub __pad2: ::c_int,
67+ pub st_blocks: ::blkcnt_t,
68+ pub st_atime: ::time_t,
69+ pub st_atime_nsec: ::c_long,
70+ pub st_mtime: ::time_t,
71+ pub st_mtime_nsec: ::c_long,
72+ pub st_ctime: ::time_t,
73+ pub st_ctime_nsec: ::c_long,
74+ __unused: [::c_int; 2usize],
75+ }
76+
77+ pub struct stat64 {
78+ pub st_dev: ::dev_t,
79+ pub st_ino: ::ino64_t,
80+ pub st_mode: ::mode_t,
81+ pub st_nlink: ::nlink_t,
82+ pub st_uid: ::uid_t,
83+ pub st_gid: ::gid_t,
84+ pub st_rdev: ::dev_t,
85+ pub __pad1: ::dev_t,
86+ pub st_size: ::off64_t,
87+ pub st_blksize: ::blksize_t,
88+ pub __pad2: ::c_int,
89+ pub st_blocks: ::blkcnt_t,
90+ pub st_atime: ::time_t,
91+ pub st_atime_nsec: ::c_long,
92+ pub st_mtime: ::time_t,
93+ pub st_mtime_nsec: ::c_long,
94+ pub st_ctime: ::time_t,
95+ pub st_ctime_nsec: ::c_long,
96+ __unused: [::c_int; 2],
97+ }
98+
99+ pub struct statfs {
100+ pub f_type: ::c_long,
101+ pub f_bsize: ::c_long,
102+ pub f_blocks: ::fsblkcnt_t,
103+ pub f_bfree: ::fsblkcnt_t,
104+ pub f_bavail: ::fsblkcnt_t,
105+ pub f_files: ::fsfilcnt_t,
106+ pub f_ffree: ::fsfilcnt_t,
107+ pub f_fsid: ::fsid_t,
108+ pub f_namelen: ::c_long,
109+ pub f_frsize: ::c_long,
110+ pub f_flags: ::c_long,
111+ pub f_spare: [::c_long; 4],
112+ }
113+
114+ pub struct statfs64 {
115+ pub f_type: ::c_long,
116+ pub f_bsize: ::c_long,
117+ pub f_blocks: ::fsblkcnt64_t,
118+ pub f_bfree: ::fsblkcnt64_t,
119+ pub f_bavail: ::fsblkcnt64_t,
120+ pub f_files: ::fsfilcnt64_t,
121+ pub f_ffree: ::fsfilcnt64_t,
122+ pub f_fsid: ::fsid_t,
123+ pub f_namelen: ::c_long,
124+ pub f_frsize: ::c_long,
125+ pub f_flags: ::c_long,
126+ pub f_spare: [::c_long; 4],
127+ }
128+
129+ pub struct statvfs {
130+ pub f_bsize: ::c_ulong,
131+ pub f_frsize: ::c_ulong,
132+ pub f_blocks: ::fsblkcnt_t,
133+ pub f_bfree: ::fsblkcnt_t,
134+ pub f_bavail: ::fsblkcnt_t,
135+ pub f_files: ::fsfilcnt_t,
136+ pub f_ffree: ::fsfilcnt_t,
137+ pub f_favail: ::fsfilcnt_t,
138+ pub f_fsid: ::c_ulong,
139+ pub f_flag: ::c_ulong,
140+ pub f_namemax: ::c_ulong,
141+ pub __f_spare: [::c_int; 6],
142+ }
143+
144+ pub struct statvfs64 {
145+ pub f_bsize: ::c_ulong,
146+ pub f_frsize: ::c_ulong,
147+ pub f_blocks: ::fsblkcnt64_t,
148+ pub f_bfree: ::fsblkcnt64_t,
149+ pub f_bavail: ::fsblkcnt64_t,
150+ pub f_files: ::fsfilcnt64_t,
151+ pub f_ffree: ::fsfilcnt64_t,
152+ pub f_favail: ::fsfilcnt64_t,
153+ pub f_fsid: ::c_ulong,
154+ pub f_flag: ::c_ulong,
155+ pub f_namemax: ::c_ulong,
156+ pub __f_spare: [::c_int; 6],
157+ }
158+
159+ pub struct siginfo_t {
160+ pub si_signo: ::c_int,
161+ pub si_errno: ::c_int,
162+ pub si_code: ::c_int,
163+ #[doc(hidden)]
164+ #[deprecated(
165+ since="0.2.54",
166+ note="Please leave a comment on \
167+ https://github.com/rust-lang/libc/pull/1316 if you're using \
168+ this field"
169+ )]
170+ pub _pad: [::c_int; 29],
171+ _align: [u64; 0],
172+ }
173+
174+ pub struct stack_t {
175+ pub ss_sp: *mut ::c_void,
176+ pub ss_flags: ::c_int,
177+ pub ss_size: ::size_t,
178+ }
179+
180+ pub struct sigaction {
181+ pub sa_sigaction: ::sighandler_t,
182+ pub sa_mask: ::sigset_t,
183+ pub sa_flags: ::c_int,
184+ pub sa_restorer: ::Option<unsafe extern "C" fn()>,
185+ }
186+
187+ pub struct ipc_perm {
188+ pub __key: ::key_t,
189+ pub uid: ::uid_t,
190+ pub gid: ::gid_t,
191+ pub cuid: ::uid_t,
192+ pub cgid: ::gid_t,
193+ pub mode: ::c_ushort,
194+ __pad1: ::c_ushort,
195+ pub __seq: ::c_ushort,
196+ __pad2: ::c_ushort,
197+ __unused1: ::c_ulong,
198+ __unused2: ::c_ulong,
199+ }
200+
201+ pub struct shmid_ds {
202+ pub shm_perm: ::ipc_perm,
203+ pub shm_segsz: ::size_t,
204+ pub shm_atime: ::time_t,
205+ pub shm_dtime: ::time_t,
206+ pub shm_ctime: ::time_t,
207+ pub shm_cpid: ::pid_t,
208+ pub shm_lpid: ::pid_t,
209+ pub shm_nattch: ::shmatt_t,
210+ __unused5: ::c_ulong,
211+ __unused6: ::c_ulong,
212+ }
213+
214+ pub struct flock {
215+ pub l_type: ::c_short,
216+ pub l_whence: ::c_short,
217+ pub l_start: ::off_t,
218+ pub l_len: ::off_t,
219+ pub l_pid: ::pid_t,
220+ }
221+
222+ pub struct flock64 {
223+ pub l_type: ::c_short,
224+ pub l_whence: ::c_short,
225+ pub l_start: ::off64_t,
226+ pub l_len: ::off64_t,
227+ pub l_pid: ::pid_t,
228+ }
229+
230+ pub struct ip_mreqn {
231+ pub imr_multiaddr: ::in_addr,
232+ pub imr_address: ::in_addr,
233+ pub imr_ifindex: ::c_int,
234+ }
235+}
236+
237+pub const POSIX_FADV_DONTNEED: ::c_int = 4;
238+pub const POSIX_FADV_NOREUSE: ::c_int = 5;
239+pub const VEOF: usize = 4;
240+pub const RTLD_DEEPBIND: ::c_int = 0x8;
241+pub const RTLD_GLOBAL: ::c_int = 0x100;
242+pub const RTLD_NOLOAD: ::c_int = 0x4;
243+pub const TIOCGSOFTCAR: ::c_ulong = 21529;
244+pub const TIOCSSOFTCAR: ::c_ulong = 21530;
245+pub const TIOCGRS485: ::c_int = 21550;
246+pub const TIOCSRS485: ::c_int = 21551;
247+pub const RLIMIT_RSS: ::__rlimit_resource_t = 5;
248+pub const RLIMIT_AS: ::__rlimit_resource_t = 9;
249+pub const RLIMIT_MEMLOCK: ::__rlimit_resource_t = 8;
250+pub const RLIMIT_NOFILE: ::__rlimit_resource_t = 7;
251+pub const RLIMIT_NPROC: ::__rlimit_resource_t = 6;
252+pub const O_APPEND: ::c_int = 1024;
253+pub const O_CREAT: ::c_int = 64;
254+pub const O_EXCL: ::c_int = 128;
255+pub const O_NOCTTY: ::c_int = 256;
256+pub const O_NONBLOCK: ::c_int = 2048;
257+pub const O_SYNC: ::c_int = 1052672;
258+pub const O_RSYNC: ::c_int = 1052672;
259+pub const O_DSYNC: ::c_int = 4096;
260+pub const O_FSYNC: ::c_int = 1052672;
261+pub const O_NOATIME: ::c_int = 262144;
262+pub const O_PATH: ::c_int = 2097152;
263+pub const O_TMPFILE: ::c_int = 4259840;
264+pub const MAP_GROWSDOWN: ::c_int = 256;
265+pub const EDEADLK: ::c_int = 35;
266+pub const ENAMETOOLONG: ::c_int = 36;
267+pub const ENOLCK: ::c_int = 37;
268+pub const ENOSYS: ::c_int = 38;
269+pub const ENOTEMPTY: ::c_int = 39;
270+pub const ELOOP: ::c_int = 40;
271+pub const ENOMSG: ::c_int = 42;
272+pub const EIDRM: ::c_int = 43;
273+pub const ECHRNG: ::c_int = 44;
274+pub const EL2NSYNC: ::c_int = 45;
275+pub const EL3HLT: ::c_int = 46;
276+pub const EL3RST: ::c_int = 47;
277+pub const ELNRNG: ::c_int = 48;
278+pub const EUNATCH: ::c_int = 49;
279+pub const ENOCSI: ::c_int = 50;
280+pub const EL2HLT: ::c_int = 51;
281+pub const EBADE: ::c_int = 52;
282+pub const EBADR: ::c_int = 53;
283+pub const EXFULL: ::c_int = 54;
284+pub const ENOANO: ::c_int = 55;
285+pub const EBADRQC: ::c_int = 56;
286+pub const EBADSLT: ::c_int = 57;
287+pub const EMULTIHOP: ::c_int = 72;
288+pub const EOVERFLOW: ::c_int = 75;
289+pub const ENOTUNIQ: ::c_int = 76;
290+pub const EBADFD: ::c_int = 77;
291+pub const EBADMSG: ::c_int = 74;
292+pub const EREMCHG: ::c_int = 78;
293+pub const ELIBACC: ::c_int = 79;
294+pub const ELIBBAD: ::c_int = 80;
295+pub const ELIBSCN: ::c_int = 81;
296+pub const ELIBMAX: ::c_int = 82;
297+pub const ELIBEXEC: ::c_int = 83;
298+pub const EILSEQ: ::c_int = 84;
299+pub const ERESTART: ::c_int = 85;
300+pub const ESTRPIPE: ::c_int = 86;
301+pub const EUSERS: ::c_int = 87;
302+pub const ENOTSOCK: ::c_int = 88;
303+pub const EDESTADDRREQ: ::c_int = 89;
304+pub const EMSGSIZE: ::c_int = 90;
305+pub const EPROTOTYPE: ::c_int = 91;
306+pub const ENOPROTOOPT: ::c_int = 92;
307+pub const EPROTONOSUPPORT: ::c_int = 93;
308+pub const ESOCKTNOSUPPORT: ::c_int = 94;
309+pub const EOPNOTSUPP: ::c_int = 95;
310+pub const EPFNOSUPPORT: ::c_int = 96;
311+pub const EAFNOSUPPORT: ::c_int = 97;
312+pub const EADDRINUSE: ::c_int = 98;
313+pub const EADDRNOTAVAIL: ::c_int = 99;
314+pub const ENETDOWN: ::c_int = 100;
315+pub const ENETUNREACH: ::c_int = 101;
316+pub const ENETRESET: ::c_int = 102;
317+pub const ECONNABORTED: ::c_int = 103;
318+pub const ECONNRESET: ::c_int = 104;
319+pub const ENOBUFS: ::c_int = 105;
320+pub const EISCONN: ::c_int = 106;
321+pub const ENOTCONN: ::c_int = 107;
322+pub const ESHUTDOWN: ::c_int = 108;
323+pub const ETOOMANYREFS: ::c_int = 109;
324+pub const ETIMEDOUT: ::c_int = 110;
325+pub const ECONNREFUSED: ::c_int = 111;
326+pub const EHOSTDOWN: ::c_int = 112;
327+pub const EHOSTUNREACH: ::c_int = 113;
328+pub const EALREADY: ::c_int = 114;
329+pub const EINPROGRESS: ::c_int = 115;
330+pub const ESTALE: ::c_int = 116;
331+pub const EDQUOT: ::c_int = 122;
332+pub const ENOMEDIUM: ::c_int = 123;
333+pub const EMEDIUMTYPE: ::c_int = 124;
334+pub const ECANCELED: ::c_int = 125;
335+pub const ENOKEY: ::c_int = 126;
336+pub const EKEYEXPIRED: ::c_int = 127;
337+pub const EKEYREVOKED: ::c_int = 128;
338+pub const EKEYREJECTED: ::c_int = 129;
339+pub const EOWNERDEAD: ::c_int = 130;
340+pub const ENOTRECOVERABLE: ::c_int = 131;
341+pub const EHWPOISON: ::c_int = 133;
342+pub const ERFKILL: ::c_int = 132;
343+pub const SOL_SOCKET: ::c_int = 1;
344+pub const SO_REUSEADDR: ::c_int = 2;
345+pub const SO_TYPE: ::c_int = 3;
346+pub const SO_ERROR: ::c_int = 4;
347+pub const SO_DONTROUTE: ::c_int = 5;
348+pub const SO_BROADCAST: ::c_int = 6;
349+pub const SO_SNDBUF: ::c_int = 7;
350+pub const SO_RCVBUF: ::c_int = 8;
351+pub const SO_SNDBUFFORCE: ::c_int = 32;
352+pub const SO_RCVBUFFORCE: ::c_int = 33;
353+pub const SO_KEEPALIVE: ::c_int = 9;
354+pub const SO_OOBINLINE: ::c_int = 10;
355+pub const SO_NO_CHECK: ::c_int = 11;
356+pub const SO_PRIORITY: ::c_int = 12;
357+pub const SO_LINGER: ::c_int = 13;
358+pub const SO_BSDCOMPAT: ::c_int = 14;
359+pub const SO_REUSEPORT: ::c_int = 15;
360+pub const SO_PASSCRED: ::c_int = 16;
361+pub const SO_PEERCRED: ::c_int = 17;
362+pub const SO_RCVLOWAT: ::c_int = 18;
363+pub const SO_SNDLOWAT: ::c_int = 19;
364+pub const SO_RCVTIMEO: ::c_int = 20;
365+pub const SO_SNDTIMEO: ::c_int = 21;
366+pub const SO_SECURITY_AUTHENTICATION: ::c_int = 22;
367+pub const SO_SECURITY_ENCRYPTION_TRANSPORT: ::c_int = 23;
368+pub const SO_SECURITY_ENCRYPTION_NETWORK: ::c_int = 24;
369+pub const SO_BINDTODEVICE: ::c_int = 25;
370+pub const SO_ATTACH_FILTER: ::c_int = 26;
371+pub const SO_DETACH_FILTER: ::c_int = 27;
372+pub const SO_GET_FILTER: ::c_int = 26;
373+pub const SO_PEERNAME: ::c_int = 28;
374+pub const SO_TIMESTAMP: ::c_int = 29;
375+pub const SO_ACCEPTCONN: ::c_int = 30;
376+pub const SO_PEERSEC: ::c_int = 31;
377+pub const SO_PASSSEC: ::c_int = 34;
378+pub const SO_TIMESTAMPNS: ::c_int = 35;
379+pub const SCM_TIMESTAMPNS: ::c_int = 35;
380+pub const SO_MARK: ::c_int = 36;
381+pub const SO_PROTOCOL: ::c_int = 38;
382+pub const SO_DOMAIN: ::c_int = 39;
383+pub const SO_RXQ_OVFL: ::c_int = 40;
384+pub const SO_WIFI_STATUS: ::c_int = 41;
385+pub const SCM_WIFI_STATUS: ::c_int = 41;
386+pub const SO_PEEK_OFF: ::c_int = 42;
387+pub const SO_NOFCS: ::c_int = 43;
388+pub const SO_LOCK_FILTER: ::c_int = 44;
389+pub const SO_SELECT_ERR_QUEUE: ::c_int = 45;
390+pub const SO_BUSY_POLL: ::c_int = 46;
391+pub const SO_MAX_PACING_RATE: ::c_int = 47;
392+pub const SO_BPF_EXTENSIONS: ::c_int = 48;
393+pub const SO_INCOMING_CPU: ::c_int = 49;
394+pub const SO_ATTACH_BPF: ::c_int = 50;
395+pub const SO_DETACH_BPF: ::c_int = 27;
396+pub const SOCK_STREAM: ::c_int = 1;
397+pub const SOCK_DGRAM: ::c_int = 2;
398+pub const SA_ONSTACK: ::c_int = 134217728;
399+pub const SA_SIGINFO: ::c_int = 4;
400+pub const SA_NOCLDWAIT: ::c_int = 2;
401+pub const SIGTTIN: ::c_int = 21;
402+pub const SIGTTOU: ::c_int = 22;
403+pub const SIGXCPU: ::c_int = 24;
404+pub const SIGXFSZ: ::c_int = 25;
405+pub const SIGVTALRM: ::c_int = 26;
406+pub const SIGPROF: ::c_int = 27;
407+pub const SIGWINCH: ::c_int = 28;
408+pub const SIGCHLD: ::c_int = 17;
409+pub const SIGBUS: ::c_int = 7;
410+pub const SIGUSR1: ::c_int = 10;
411+pub const SIGUSR2: ::c_int = 12;
412+pub const SIGCONT: ::c_int = 18;
413+pub const SIGSTOP: ::c_int = 19;
414+pub const SIGTSTP: ::c_int = 20;
415+pub const SIGURG: ::c_int = 23;
416+pub const SIGIO: ::c_int = 29;
417+pub const SIGSYS: ::c_int = 31;
418+pub const SIGSTKFLT: ::c_int = 16;
419+pub const SIGPOLL: ::c_int = 29;
420+pub const SIGPWR: ::c_int = 30;
421+pub const SIG_SETMASK: ::c_int = 2;
422+pub const SIG_BLOCK: ::c_int = 0;
423+pub const SIG_UNBLOCK: ::c_int = 1;
424+pub const POLLWRNORM: ::c_short = 256;
425+pub const POLLWRBAND: ::c_short = 512;
426+pub const O_ASYNC: ::c_int = 8192;
427+pub const O_NDELAY: ::c_int = 2048;
428+pub const PTRACE_DETACH: ::c_uint = 17;
429+pub const EFD_NONBLOCK: ::c_int = 2048;
430+pub const F_GETLK: ::c_int = 5;
431+pub const F_GETOWN: ::c_int = 9;
432+pub const F_SETOWN: ::c_int = 8;
433+pub const F_SETLK: ::c_int = 6;
434+pub const F_SETLKW: ::c_int = 7;
435+pub const F_RDLCK: ::c_int = 0;
436+pub const F_WRLCK: ::c_int = 1;
437+pub const F_UNLCK: ::c_int = 2;
438+pub const F_OFD_GETLK: ::c_int = 36;
439+pub const F_OFD_SETLK: ::c_int = 37;
440+pub const F_OFD_SETLKW: ::c_int = 38;
441+pub const SFD_NONBLOCK: ::c_int = 2048;
442+pub const TCSANOW: ::c_int = 0;
443+pub const TCSADRAIN: ::c_int = 1;
444+pub const TCSAFLUSH: ::c_int = 2;
445+pub const TIOCLINUX: ::c_ulong = 21532;
446+pub const TIOCGSERIAL: ::c_ulong = 21534;
447+pub const TIOCEXCL: ::c_ulong = 21516;
448+pub const TIOCNXCL: ::c_ulong = 21517;
449+pub const TIOCSCTTY: ::c_ulong = 21518;
450+pub const TIOCSTI: ::c_ulong = 21522;
451+pub const TIOCMGET: ::c_ulong = 21525;
452+pub const TIOCMBIS: ::c_ulong = 21526;
453+pub const TIOCMBIC: ::c_ulong = 21527;
454+pub const TIOCMSET: ::c_ulong = 21528;
455+pub const TIOCCONS: ::c_ulong = 21533;
456+pub const TIOCM_ST: ::c_int = 8;
457+pub const TIOCM_SR: ::c_int = 16;
458+pub const TIOCM_CTS: ::c_int = 32;
459+pub const TIOCM_CAR: ::c_int = 64;
460+pub const TIOCM_RNG: ::c_int = 128;
461+pub const TIOCM_DSR: ::c_int = 256;
462+pub const SFD_CLOEXEC: ::c_int = 524288;
463+pub const NCCS: usize = 32;
464+pub const O_TRUNC: ::c_int = 512;
465+pub const O_CLOEXEC: ::c_int = 524288;
466+pub const EBFONT: ::c_int = 59;
467+pub const ENOSTR: ::c_int = 60;
468+pub const ENODATA: ::c_int = 61;
469+pub const ETIME: ::c_int = 62;
470+pub const ENOSR: ::c_int = 63;
471+pub const ENONET: ::c_int = 64;
472+pub const ENOPKG: ::c_int = 65;
473+pub const EREMOTE: ::c_int = 66;
474+pub const ENOLINK: ::c_int = 67;
475+pub const EADV: ::c_int = 68;
476+pub const ESRMNT: ::c_int = 69;
477+pub const ECOMM: ::c_int = 70;
478+pub const EPROTO: ::c_int = 71;
479+pub const EDOTDOT: ::c_int = 73;
480+pub const SA_NODEFER: ::c_int = 1073741824;
481+pub const SA_RESETHAND: ::c_int = -2147483648;
482+pub const SA_RESTART: ::c_int = 268435456;
483+pub const SA_NOCLDSTOP: ::c_int = 1;
484+pub const EPOLL_CLOEXEC: ::c_int = 524288;
485+pub const EFD_CLOEXEC: ::c_int = 524288;
486+pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 4;
487+pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 4;
488+pub const O_DIRECT: ::c_int = 16384;
489+pub const O_DIRECTORY: ::c_int = 65536;
490+pub const O_NOFOLLOW: ::c_int = 131072;
491+pub const MAP_HUGETLB: ::c_int = 262144;
492+pub const MAP_LOCKED: ::c_int = 8192;
493+pub const MAP_NORESERVE: ::c_int = 16384;
494+pub const MAP_ANON: ::c_int = 32;
495+pub const MAP_ANONYMOUS: ::c_int = 32;
496+pub const MAP_DENYWRITE: ::c_int = 2048;
497+pub const MAP_EXECUTABLE: ::c_int = 4096;
498+pub const MAP_POPULATE: ::c_int = 32768;
499+pub const MAP_NONBLOCK: ::c_int = 65536;
500+pub const MAP_STACK: ::c_int = 131072;
501+pub const MAP_SYNC : ::c_int = 0x080000;
502+pub const EDEADLOCK: ::c_int = 35;
503+pub const EUCLEAN: ::c_int = 117;
504+pub const ENOTNAM: ::c_int = 118;
505+pub const ENAVAIL: ::c_int = 119;
506+pub const EISNAM: ::c_int = 120;
507+pub const EREMOTEIO: ::c_int = 121;
508+pub const FIOCLEX: ::c_ulong = 21585;
509+pub const FIONCLEX: ::c_ulong = 21584;
510+pub const FIONBIO: ::c_ulong = 21537;
511+pub const MCL_CURRENT: ::c_int = 1;
512+pub const MCL_FUTURE: ::c_int = 2;
513+pub const SIGSTKSZ: ::size_t = 8192;
514+pub const MINSIGSTKSZ: ::size_t = 2048;
515+pub const CBAUD: ::tcflag_t = 4111;
516+pub const TAB1: ::tcflag_t = 2048;
517+pub const TAB2: ::tcflag_t = 4096;
518+pub const TAB3: ::tcflag_t = 6144;
519+pub const CR1: ::tcflag_t = 512;
520+pub const CR2: ::tcflag_t = 1024;
521+pub const CR3: ::tcflag_t = 1536;
522+pub const FF1: ::tcflag_t = 32768;
523+pub const BS1: ::tcflag_t = 8192;
524+pub const VT1: ::tcflag_t = 16384;
525+pub const VWERASE: usize = 14;
526+pub const VREPRINT: usize = 12;
527+pub const VSUSP: usize = 10;
528+pub const VSTART: usize = 8;
529+pub const VSTOP: usize = 9;
530+pub const VDISCARD: usize = 13;
531+pub const VTIME: usize = 5;
532+pub const IXON: ::tcflag_t = 1024;
533+pub const IXOFF: ::tcflag_t = 4096;
534+pub const ONLCR: ::tcflag_t = 4;
535+pub const CSIZE: ::tcflag_t = 48;
536+pub const CS6: ::tcflag_t = 16;
537+pub const CS7: ::tcflag_t = 32;
538+pub const CS8: ::tcflag_t = 48;
539+pub const CSTOPB: ::tcflag_t = 64;
540+pub const CREAD: ::tcflag_t = 128;
541+pub const PARENB: ::tcflag_t = 256;
542+pub const PARODD: ::tcflag_t = 512;
543+pub const HUPCL: ::tcflag_t = 1024;
544+pub const CLOCAL: ::tcflag_t = 2048;
545+pub const ECHOKE: ::tcflag_t = 2048;
546+pub const ECHOE: ::tcflag_t = 16;
547+pub const ECHOK: ::tcflag_t = 32;
548+pub const ECHONL: ::tcflag_t = 64;
549+pub const ECHOPRT: ::tcflag_t = 1024;
550+pub const ECHOCTL: ::tcflag_t = 512;
551+pub const ISIG: ::tcflag_t = 1;
552+pub const ICANON: ::tcflag_t = 2;
553+pub const PENDIN: ::tcflag_t = 16384;
554+pub const NOFLSH: ::tcflag_t = 128;
555+pub const CIBAUD: ::tcflag_t = 269418496;
556+pub const CBAUDEX: ::tcflag_t = 4096;
557+pub const VSWTC: usize = 7;
558+pub const OLCUC: ::tcflag_t = 2;
559+pub const NLDLY: ::tcflag_t = 256;
560+pub const CRDLY: ::tcflag_t = 1536;
561+pub const TABDLY: ::tcflag_t = 6144;
562+pub const BSDLY: ::tcflag_t = 8192;
563+pub const FFDLY: ::tcflag_t = 32768;
564+pub const VTDLY: ::tcflag_t = 16384;
565+pub const XTABS: ::tcflag_t = 6144;
566+pub const B0: ::speed_t = 0;
567+pub const B50: ::speed_t = 1;
568+pub const B75: ::speed_t = 2;
569+pub const B110: ::speed_t = 3;
570+pub const B134: ::speed_t = 4;
571+pub const B150: ::speed_t = 5;
572+pub const B200: ::speed_t = 6;
573+pub const B300: ::speed_t = 7;
574+pub const B600: ::speed_t = 8;
575+pub const B1200: ::speed_t = 9;
576+pub const B1800: ::speed_t = 10;
577+pub const B2400: ::speed_t = 11;
578+pub const B4800: ::speed_t = 12;
579+pub const B9600: ::speed_t = 13;
580+pub const B19200: ::speed_t = 14;
581+pub const B38400: ::speed_t = 15;
582+pub const EXTA: ::speed_t = 14;
583+pub const EXTB: ::speed_t = 15;
584+pub const B57600: ::speed_t = 4097;
585+pub const B115200: ::speed_t = 4098;
586+pub const B230400: ::speed_t = 4099;
587+pub const B460800: ::speed_t = 4100;
588+pub const B500000: ::speed_t = 4101;
589+pub const B576000: ::speed_t = 4102;
590+pub const B921600: ::speed_t = 4103;
591+pub const B1000000: ::speed_t = 4104;
592+pub const B1152000: ::speed_t = 4105;
593+pub const B1500000: ::speed_t = 4106;
594+pub const B2000000: ::speed_t = 4107;
595+pub const B2500000: ::speed_t = 4108;
596+pub const B3000000: ::speed_t = 4109;
597+pub const B3500000: ::speed_t = 4110;
598+pub const B4000000: ::speed_t = 4111;
599+pub const VEOL: usize = 11;
600+pub const VEOL2: usize = 16;
601+pub const VMIN: usize = 6;
602+pub const IEXTEN: ::tcflag_t = 32768;
603+pub const TOSTOP: ::tcflag_t = 256;
604+pub const FLUSHO: ::tcflag_t = 4096;
605+pub const EXTPROC: ::tcflag_t = 65536;
606+pub const TCGETS: ::c_ulong = 21505;
607+pub const TCSETS: ::c_ulong = 21506;
608+pub const TCSETSW: ::c_ulong = 21507;
609+pub const TCSETSF: ::c_ulong = 21508;
610+pub const TCGETA: ::c_ulong = 21509;
611+pub const TCSETA: ::c_ulong = 21510;
612+pub const TCSETAW: ::c_ulong = 21511;
613+pub const TCSETAF: ::c_ulong = 21512;
614+pub const TCSBRK: ::c_ulong = 21513;
615+pub const TCXONC: ::c_ulong = 21514;
616+pub const TCFLSH: ::c_ulong = 21515;
617+pub const TIOCINQ: ::c_ulong = 21531;
618+pub const TIOCGPGRP: ::c_ulong = 21519;
619+pub const TIOCSPGRP: ::c_ulong = 21520;
620+pub const TIOCOUTQ: ::c_ulong = 21521;
621+pub const TIOCGWINSZ: ::c_ulong = 21523;
622+pub const TIOCSWINSZ: ::c_ulong = 21524;
623+pub const FIONREAD: ::c_ulong = 21531;
624+pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 40;
625+pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 56;
626+pub const SYS_read: ::c_long = 63;
627+pub const SYS_write: ::c_long = 64;
628+pub const SYS_close: ::c_long = 57;
629+pub const SYS_fstat: ::c_long = 80;
630+pub const SYS_lseek: ::c_long = 62;
631+pub const SYS_mmap: ::c_long = 222;
632+pub const SYS_mprotect: ::c_long = 226;
633+pub const SYS_munmap: ::c_long = 215;
634+pub const SYS_brk: ::c_long = 214;
635+pub const SYS_rt_sigaction: ::c_long = 134;
636+pub const SYS_rt_sigprocmask: ::c_long = 135;
637+pub const SYS_rt_sigreturn: ::c_long = 139;
638+pub const SYS_ioctl: ::c_long = 29;
639+pub const SYS_pread64: ::c_long = 67;
640+pub const SYS_pwrite64: ::c_long = 68;
641+pub const SYS_readv: ::c_long = 65;
642+pub const SYS_writev: ::c_long = 66;
643+pub const SYS_sched_yield: ::c_long = 124;
644+pub const SYS_mremap: ::c_long = 216;
645+pub const SYS_msync: ::c_long = 227;
646+pub const SYS_mincore: ::c_long = 232;
647+pub const SYS_madvise: ::c_long = 233;
648+pub const SYS_shmget: ::c_long = 194;
649+pub const SYS_shmat: ::c_long = 196;
650+pub const SYS_shmctl: ::c_long = 195;
651+pub const SYS_dup: ::c_long = 23;
652+pub const SYS_nanosleep: ::c_long = 101;
653+pub const SYS_getitimer: ::c_long = 102;
654+pub const SYS_setitimer: ::c_long = 103;
655+pub const SYS_getpid: ::c_long = 172;
656+pub const SYS_sendfile: ::c_long = 71;
657+pub const SYS_socket: ::c_long = 198;
658+pub const SYS_connect: ::c_long = 203;
659+pub const SYS_accept: ::c_long = 202;
660+pub const SYS_sendto: ::c_long = 206;
661+pub const SYS_recvfrom: ::c_long = 207;
662+pub const SYS_sendmsg: ::c_long = 211;
663+pub const SYS_recvmsg: ::c_long = 212;
664+pub const SYS_shutdown: ::c_long = 210;
665+pub const SYS_bind: ::c_long = 200;
666+pub const SYS_listen: ::c_long = 201;
667+pub const SYS_getsockname: ::c_long = 204;
668+pub const SYS_getpeername: ::c_long = 205;
669+pub const SYS_socketpair: ::c_long = 199;
670+pub const SYS_setsockopt: ::c_long = 208;
671+pub const SYS_getsockopt: ::c_long = 209;
672+pub const SYS_clone: ::c_long = 220;
673+pub const SYS_execve: ::c_long = 221;
674+pub const SYS_exit: ::c_long = 93;
675+pub const SYS_wait4: ::c_long = 260;
676+pub const SYS_kill: ::c_long = 129;
677+pub const SYS_uname: ::c_long = 160;
678+pub const SYS_semget: ::c_long = 190;
679+pub const SYS_semop: ::c_long = 193;
680+pub const SYS_semctl: ::c_long = 191;
681+pub const SYS_shmdt: ::c_long = 197;
682+pub const SYS_msgget: ::c_long = 186;
683+pub const SYS_msgsnd: ::c_long = 189;
684+pub const SYS_msgrcv: ::c_long = 188;
685+pub const SYS_msgctl: ::c_long = 187;
686+pub const SYS_fcntl: ::c_long = 25;
687+pub const SYS_flock: ::c_long = 32;
688+pub const SYS_fsync: ::c_long = 82;
689+pub const SYS_fdatasync: ::c_long = 83;
690+pub const SYS_truncate: ::c_long = 45;
691+pub const SYS_ftruncate: ::c_long = 46;
692+pub const SYS_getcwd: ::c_long = 17;
693+pub const SYS_chdir: ::c_long = 49;
694+pub const SYS_fchdir: ::c_long = 50;
695+pub const SYS_fchmod: ::c_long = 52;
696+pub const SYS_fchown: ::c_long = 55;
697+pub const SYS_umask: ::c_long = 166;
698+pub const SYS_gettimeofday: ::c_long = 169;
699+pub const SYS_getrlimit: ::c_long = 163;
700+pub const SYS_getrusage: ::c_long = 165;
701+pub const SYS_sysinfo: ::c_long = 179;
702+pub const SYS_times: ::c_long = 153;
703+pub const SYS_ptrace: ::c_long = 117;
704+pub const SYS_getuid: ::c_long = 174;
705+pub const SYS_syslog: ::c_long = 116;
706+pub const SYS_getgid: ::c_long = 176;
707+pub const SYS_setuid: ::c_long = 146;
708+pub const SYS_setgid: ::c_long = 144;
709+pub const SYS_geteuid: ::c_long = 175;
710+pub const SYS_getegid: ::c_long = 177;
711+pub const SYS_setpgid: ::c_long = 154;
712+pub const SYS_getppid: ::c_long = 173;
713+pub const SYS_setsid: ::c_long = 157;
714+pub const SYS_setreuid: ::c_long = 145;
715+pub const SYS_setregid: ::c_long = 143;
716+pub const SYS_getgroups: ::c_long = 158;
717+pub const SYS_setgroups: ::c_long = 159;
718+pub const SYS_setresuid: ::c_long = 147;
719+pub const SYS_getresuid: ::c_long = 148;
720+pub const SYS_setresgid: ::c_long = 149;
721+pub const SYS_getresgid: ::c_long = 150;
722+pub const SYS_getpgid: ::c_long = 155;
723+pub const SYS_setfsuid: ::c_long = 151;
724+pub const SYS_setfsgid: ::c_long = 152;
725+pub const SYS_getsid: ::c_long = 156;
726+pub const SYS_capget: ::c_long = 90;
727+pub const SYS_capset: ::c_long = 91;
728+pub const SYS_rt_sigpending: ::c_long = 136;
729+pub const SYS_rt_sigtimedwait: ::c_long = 137;
730+pub const SYS_rt_sigqueueinfo: ::c_long = 138;
731+pub const SYS_rt_sigsuspend: ::c_long = 133;
732+pub const SYS_sigaltstack: ::c_long = 132;
733+pub const SYS_personality: ::c_long = 92;
734+pub const SYS_statfs: ::c_long = 43;
735+pub const SYS_fstatfs: ::c_long = 44;
736+pub const SYS_getpriority: ::c_long = 141;
737+pub const SYS_setpriority: ::c_long = 140;
738+pub const SYS_sched_setparam: ::c_long = 118;
739+pub const SYS_sched_getparam: ::c_long = 121;
740+pub const SYS_sched_setscheduler: ::c_long = 119;
741+pub const SYS_sched_getscheduler: ::c_long = 120;
742+pub const SYS_sched_get_priority_max: ::c_long = 125;
743+pub const SYS_sched_get_priority_min: ::c_long = 126;
744+pub const SYS_sched_rr_get_interval: ::c_long = 127;
745+pub const SYS_mlock: ::c_long = 228;
746+pub const SYS_munlock: ::c_long = 229;
747+pub const SYS_mlockall: ::c_long = 230;
748+pub const SYS_munlockall: ::c_long = 231;
749+pub const SYS_vhangup: ::c_long = 58;
750+pub const SYS_pivot_root: ::c_long = 41;
751+pub const SYS_prctl: ::c_long = 167;
752+pub const SYS_adjtimex: ::c_long = 171;
753+pub const SYS_setrlimit: ::c_long = 164;
754+pub const SYS_chroot: ::c_long = 51;
755+pub const SYS_sync: ::c_long = 81;
756+pub const SYS_acct: ::c_long = 89;
757+pub const SYS_settimeofday: ::c_long = 170;
758+pub const SYS_mount: ::c_long = 40;
759+pub const SYS_umount2: ::c_long = 39;
760+pub const SYS_swapon: ::c_long = 224;
761+pub const SYS_swapoff: ::c_long = 225;
762+pub const SYS_reboot: ::c_long = 142;
763+pub const SYS_sethostname: ::c_long = 161;
764+pub const SYS_setdomainname: ::c_long = 162;
765+pub const SYS_init_module: ::c_long = 105;
766+pub const SYS_delete_module: ::c_long = 106;
767+pub const SYS_quotactl: ::c_long = 60;
768+pub const SYS_nfsservctl: ::c_long = 42;
769+pub const SYS_gettid: ::c_long = 178;
770+pub const SYS_readahead: ::c_long = 213;
771+pub const SYS_setxattr: ::c_long = 5;
772+pub const SYS_lsetxattr: ::c_long = 6;
773+pub const SYS_fsetxattr: ::c_long = 7;
774+pub const SYS_getxattr: ::c_long = 8;
775+pub const SYS_lgetxattr: ::c_long = 9;
776+pub const SYS_fgetxattr: ::c_long = 10;
777+pub const SYS_listxattr: ::c_long = 11;
778+pub const SYS_llistxattr: ::c_long = 12;
779+pub const SYS_flistxattr: ::c_long = 13;
780+pub const SYS_removexattr: ::c_long = 14;
781+pub const SYS_lremovexattr: ::c_long = 15;
782+pub const SYS_fremovexattr: ::c_long = 16;
783+pub const SYS_tkill: ::c_long = 130;
784+pub const SYS_futex: ::c_long = 98;
785+pub const SYS_sched_setaffinity: ::c_long = 122;
786+pub const SYS_sched_getaffinity: ::c_long = 123;
787+pub const SYS_io_setup: ::c_long = 0;
788+pub const SYS_io_destroy: ::c_long = 1;
789+pub const SYS_io_getevents: ::c_long = 4;
790+pub const SYS_io_submit: ::c_long = 2;
791+pub const SYS_io_cancel: ::c_long = 3;
792+pub const SYS_lookup_dcookie: ::c_long = 18;
793+pub const SYS_remap_file_pages: ::c_long = 234;
794+pub const SYS_getdents64: ::c_long = 61;
795+pub const SYS_set_tid_address: ::c_long = 96;
796+pub const SYS_restart_syscall: ::c_long = 128;
797+pub const SYS_semtimedop: ::c_long = 192;
798+pub const SYS_fadvise64: ::c_long = 223;
799+pub const SYS_timer_create: ::c_long = 107;
800+pub const SYS_timer_settime: ::c_long = 110;
801+pub const SYS_timer_gettime: ::c_long = 108;
802+pub const SYS_timer_getoverrun: ::c_long = 109;
803+pub const SYS_timer_delete: ::c_long = 111;
804+pub const SYS_clock_settime: ::c_long = 112;
805+pub const SYS_clock_gettime: ::c_long = 113;
806+pub const SYS_clock_getres: ::c_long = 114;
807+pub const SYS_clock_nanosleep: ::c_long = 115;
808+pub const SYS_exit_group: ::c_long = 94;
809+pub const SYS_epoll_ctl: ::c_long = 21;
810+pub const SYS_tgkill: ::c_long = 131;
811+pub const SYS_mbind: ::c_long = 235;
812+pub const SYS_set_mempolicy: ::c_long = 237;
813+pub const SYS_get_mempolicy: ::c_long = 236;
814+pub const SYS_mq_open: ::c_long = 180;
815+pub const SYS_mq_unlink: ::c_long = 181;
816+pub const SYS_mq_timedsend: ::c_long = 182;
817+pub const SYS_mq_timedreceive: ::c_long = 183;
818+pub const SYS_mq_notify: ::c_long = 184;
819+pub const SYS_mq_getsetattr: ::c_long = 185;
820+pub const SYS_kexec_load: ::c_long = 104;
821+pub const SYS_waitid: ::c_long = 95;
822+pub const SYS_add_key: ::c_long = 217;
823+pub const SYS_request_key: ::c_long = 218;
824+pub const SYS_keyctl: ::c_long = 219;
825+pub const SYS_ioprio_set: ::c_long = 30;
826+pub const SYS_ioprio_get: ::c_long = 31;
827+pub const SYS_inotify_add_watch: ::c_long = 27;
828+pub const SYS_inotify_rm_watch: ::c_long = 28;
829+pub const SYS_migrate_pages: ::c_long = 238;
830+pub const SYS_openat: ::c_long = 56;
831+pub const SYS_mkdirat: ::c_long = 34;
832+pub const SYS_mknodat: ::c_long = 33;
833+pub const SYS_fchownat: ::c_long = 54;
834+pub const SYS_newfstatat: ::c_long = 79;
835+pub const SYS_unlinkat: ::c_long = 35;
836+pub const SYS_linkat: ::c_long = 37;
837+pub const SYS_symlinkat: ::c_long = 36;
838+pub const SYS_readlinkat: ::c_long = 78;
839+pub const SYS_fchmodat: ::c_long = 53;
840+pub const SYS_faccessat: ::c_long = 48;
841+pub const SYS_pselect6: ::c_long = 72;
842+pub const SYS_ppoll: ::c_long = 73;
843+pub const SYS_unshare: ::c_long = 97;
844+pub const SYS_set_robust_list: ::c_long = 99;
845+pub const SYS_get_robust_list: ::c_long = 100;
846+pub const SYS_splice: ::c_long = 76;
847+pub const SYS_tee: ::c_long = 77;
848+pub const SYS_sync_file_range: ::c_long = 84;
849+pub const SYS_vmsplice: ::c_long = 75;
850+pub const SYS_move_pages: ::c_long = 239;
851+pub const SYS_utimensat: ::c_long = 88;
852+pub const SYS_epoll_pwait: ::c_long = 22;
853+pub const SYS_timerfd_create: ::c_long = 85;
854+pub const SYS_fallocate: ::c_long = 47;
855+pub const SYS_timerfd_settime: ::c_long = 86;
856+pub const SYS_timerfd_gettime: ::c_long = 87;
857+pub const SYS_accept4: ::c_long = 242;
858+pub const SYS_signalfd4: ::c_long = 74;
859+pub const SYS_eventfd2: ::c_long = 19;
860+pub const SYS_epoll_create1: ::c_long = 20;
861+pub const SYS_dup3: ::c_long = 24;
862+pub const SYS_pipe2: ::c_long = 59;
863+pub const SYS_inotify_init1: ::c_long = 26;
864+pub const SYS_preadv: ::c_long = 69;
865+pub const SYS_pwritev: ::c_long = 70;
866+pub const SYS_rt_tgsigqueueinfo: ::c_long = 240;
867+pub const SYS_perf_event_open: ::c_long = 241;
868+pub const SYS_recvmmsg: ::c_long = 243;
869+pub const SYS_fanotify_init: ::c_long = 262;
870+pub const SYS_fanotify_mark: ::c_long = 263;
871+pub const SYS_prlimit64: ::c_long = 261;
872+pub const SYS_name_to_handle_at: ::c_long = 264;
873+pub const SYS_open_by_handle_at: ::c_long = 265;
874+pub const SYS_clock_adjtime: ::c_long = 266;
875+pub const SYS_syncfs: ::c_long = 267;
876+pub const SYS_sendmmsg: ::c_long = 269;
877+pub const SYS_setns: ::c_long = 268;
878+pub const SYS_getcpu: ::c_long = 168;
879+pub const SYS_process_vm_readv: ::c_long = 270;
880+pub const SYS_process_vm_writev: ::c_long = 271;
881+pub const SYS_kcmp: ::c_long = 272;
882+pub const SYS_finit_module: ::c_long = 273;
883+pub const SYS_sched_setattr: ::c_long = 274;
884+pub const SYS_sched_getattr: ::c_long = 275;
885+pub const SYS_renameat2: ::c_long = 276;
886+pub const SYS_seccomp: ::c_long = 277;
887+pub const SYS_getrandom: ::c_long = 278;
888+pub const SYS_memfd_create: ::c_long = 279;
889+pub const SYS_bpf: ::c_long = 280;
890+pub const SYS_execveat: ::c_long = 281;
891+pub const SYS_userfaultfd: ::c_long = 282;
892+pub const SYS_membarrier: ::c_long = 283;
893+pub const SYS_mlock2: ::c_long = 284;
894+pub const SYS_copy_file_range: ::c_long = 285;
895+pub const SYS_preadv2: ::c_long = 286;
896+pub const SYS_pwritev2: ::c_long = 287;
897+pub const SYS_pkey_mprotect: ::c_long = 288;
898+pub const SYS_pkey_alloc: ::c_long = 289;
899+pub const SYS_pkey_free: ::c_long = 290;
900+pub const SYS_statx: ::c_long = 291;
901+pub const SYS_pidfd_open: ::c_long = 434;
902+pub const SYS_clone3: ::c_long = 435;
903--
9042.27.0
905
diff --git a/meta/recipes-devtools/rust/libstd-rs-1.54.0/0006-FIXUP-linux-musl-mod.rs-add-riscv64-to-b64-set-libc-.patch b/meta/recipes-devtools/rust/libstd-rs-1.54.0/0006-FIXUP-linux-musl-mod.rs-add-riscv64-to-b64-set-libc-.patch
new file mode 100644
index 0000000000..d0ddb3cbe7
--- /dev/null
+++ b/meta/recipes-devtools/rust/libstd-rs-1.54.0/0006-FIXUP-linux-musl-mod.rs-add-riscv64-to-b64-set-libc-.patch
@@ -0,0 +1,31 @@
1From 4319893ebb7fca8bbd2bffc4bddb8d3ecdc08cc2 Mon Sep 17 00:00:00 2001
2From: Ralf Anton Beier <ralf_beier@me.com>
3Date: Sun, 8 Aug 2021 11:07:21 +0200
4Subject: [PATCH 6/8] FIXUP: linux/musl/mod.rs: add riscv64 to b64 set -
5 libc-0.2.93
6
7https://github.com/rust-lang/libc/pull/1994/commits/30070c822be2ef399b2ba38cdc1d72ac694d65a3
8
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10Signed-off-by: Ralf Anton Beier <ralf_beier@me.com>
11---
12 vendor/libc-0.2.93/src/unix/linux_like/linux/musl/mod.rs | 3 ++-
13 1 file changed, 2 insertions(+), 1 deletion(-)
14
15diff --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
16index 00f26475d..a37f410fd 100644
17--- a/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/mod.rs
18+++ b/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/mod.rs
19@@ -716,7 +716,8 @@ cfg_if! {
20 target_arch = "aarch64",
21 target_arch = "mips64",
22 target_arch = "powerpc64",
23- target_arch = "s390x"))] {
24+ target_arch = "s390x",
25+ target_arch = "riscv64"))] {
26 mod b64;
27 pub use self::b64::*;
28 } else if #[cfg(any(target_arch = "x86",
29--
302.27.0
31
diff --git a/meta/recipes-devtools/rust/libstd-rs-1.54.0/0007-FIXUP-Correct-definitions-to-match-musl-libc-0.2.93.patch b/meta/recipes-devtools/rust/libstd-rs-1.54.0/0007-FIXUP-Correct-definitions-to-match-musl-libc-0.2.93.patch
new file mode 100644
index 0000000000..8be8104f40
--- /dev/null
+++ b/meta/recipes-devtools/rust/libstd-rs-1.54.0/0007-FIXUP-Correct-definitions-to-match-musl-libc-0.2.93.patch
@@ -0,0 +1,741 @@
1From 9d240d05c6e6620f36e4ddbcbcb5862fb3269d9f Mon Sep 17 00:00:00 2001
2From: Ralf Anton Beier <ralf_beier@me.com>
3Date: Sun, 8 Aug 2021 11:09:17 +0200
4Subject: [PATCH 7/8] FIXUP Correct definitions to match musl - libc-0.2.93
5
6https://github.com/rust-lang/libc/pull/1994/commits/5f6a4d9745c79c81be63c708515ab116786554a3
7
8Signed-off-by: Khem Raj <raj.khem@gmail.com>
9Signed-off-by: Ralf Anton Beier <ralf_beier@me.com>
10---
11 .../linux_like/linux/musl/b64/riscv64/mod.rs | 708 ++++++++----------
12 1 file changed, 311 insertions(+), 397 deletions(-)
13
14diff --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
15index 14bae11d0..c37190cca 100644
16--- a/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
17+++ b/vendor/libc-0.2.93/src/unix/linux_like/linux/musl/b64/riscv64/mod.rs
18@@ -191,403 +191,8 @@ s! {
19 pub l_len: ::off64_t,
20 pub l_pid: ::pid_t,
21 }
22-
23- pub struct ip_mreqn {
24- pub imr_multiaddr: ::in_addr,
25- pub imr_address: ::in_addr,
26- pub imr_ifindex: ::c_int,
27- }
28 }
29
30-pub const POSIX_FADV_DONTNEED: ::c_int = 4;
31-pub const POSIX_FADV_NOREUSE: ::c_int = 5;
32-pub const VEOF: usize = 4;
33-pub const RTLD_DEEPBIND: ::c_int = 0x8;
34-pub const RTLD_GLOBAL: ::c_int = 0x100;
35-pub const RTLD_NOLOAD: ::c_int = 0x4;
36-pub const TIOCGSOFTCAR: ::c_ulong = 21529;
37-pub const TIOCSSOFTCAR: ::c_ulong = 21530;
38-pub const TIOCGRS485: ::c_int = 21550;
39-pub const TIOCSRS485: ::c_int = 21551;
40-pub const RLIMIT_RSS: ::__rlimit_resource_t = 5;
41-pub const RLIMIT_AS: ::__rlimit_resource_t = 9;
42-pub const RLIMIT_MEMLOCK: ::__rlimit_resource_t = 8;
43-pub const RLIMIT_NOFILE: ::__rlimit_resource_t = 7;
44-pub const RLIMIT_NPROC: ::__rlimit_resource_t = 6;
45-pub const O_APPEND: ::c_int = 1024;
46-pub const O_CREAT: ::c_int = 64;
47-pub const O_EXCL: ::c_int = 128;
48-pub const O_NOCTTY: ::c_int = 256;
49-pub const O_NONBLOCK: ::c_int = 2048;
50-pub const O_SYNC: ::c_int = 1052672;
51-pub const O_RSYNC: ::c_int = 1052672;
52-pub const O_DSYNC: ::c_int = 4096;
53-pub const O_FSYNC: ::c_int = 1052672;
54-pub const O_NOATIME: ::c_int = 262144;
55-pub const O_PATH: ::c_int = 2097152;
56-pub const O_TMPFILE: ::c_int = 4259840;
57-pub const MAP_GROWSDOWN: ::c_int = 256;
58-pub const EDEADLK: ::c_int = 35;
59-pub const ENAMETOOLONG: ::c_int = 36;
60-pub const ENOLCK: ::c_int = 37;
61-pub const ENOSYS: ::c_int = 38;
62-pub const ENOTEMPTY: ::c_int = 39;
63-pub const ELOOP: ::c_int = 40;
64-pub const ENOMSG: ::c_int = 42;
65-pub const EIDRM: ::c_int = 43;
66-pub const ECHRNG: ::c_int = 44;
67-pub const EL2NSYNC: ::c_int = 45;
68-pub const EL3HLT: ::c_int = 46;
69-pub const EL3RST: ::c_int = 47;
70-pub const ELNRNG: ::c_int = 48;
71-pub const EUNATCH: ::c_int = 49;
72-pub const ENOCSI: ::c_int = 50;
73-pub const EL2HLT: ::c_int = 51;
74-pub const EBADE: ::c_int = 52;
75-pub const EBADR: ::c_int = 53;
76-pub const EXFULL: ::c_int = 54;
77-pub const ENOANO: ::c_int = 55;
78-pub const EBADRQC: ::c_int = 56;
79-pub const EBADSLT: ::c_int = 57;
80-pub const EMULTIHOP: ::c_int = 72;
81-pub const EOVERFLOW: ::c_int = 75;
82-pub const ENOTUNIQ: ::c_int = 76;
83-pub const EBADFD: ::c_int = 77;
84-pub const EBADMSG: ::c_int = 74;
85-pub const EREMCHG: ::c_int = 78;
86-pub const ELIBACC: ::c_int = 79;
87-pub const ELIBBAD: ::c_int = 80;
88-pub const ELIBSCN: ::c_int = 81;
89-pub const ELIBMAX: ::c_int = 82;
90-pub const ELIBEXEC: ::c_int = 83;
91-pub const EILSEQ: ::c_int = 84;
92-pub const ERESTART: ::c_int = 85;
93-pub const ESTRPIPE: ::c_int = 86;
94-pub const EUSERS: ::c_int = 87;
95-pub const ENOTSOCK: ::c_int = 88;
96-pub const EDESTADDRREQ: ::c_int = 89;
97-pub const EMSGSIZE: ::c_int = 90;
98-pub const EPROTOTYPE: ::c_int = 91;
99-pub const ENOPROTOOPT: ::c_int = 92;
100-pub const EPROTONOSUPPORT: ::c_int = 93;
101-pub const ESOCKTNOSUPPORT: ::c_int = 94;
102-pub const EOPNOTSUPP: ::c_int = 95;
103-pub const EPFNOSUPPORT: ::c_int = 96;
104-pub const EAFNOSUPPORT: ::c_int = 97;
105-pub const EADDRINUSE: ::c_int = 98;
106-pub const EADDRNOTAVAIL: ::c_int = 99;
107-pub const ENETDOWN: ::c_int = 100;
108-pub const ENETUNREACH: ::c_int = 101;
109-pub const ENETRESET: ::c_int = 102;
110-pub const ECONNABORTED: ::c_int = 103;
111-pub const ECONNRESET: ::c_int = 104;
112-pub const ENOBUFS: ::c_int = 105;
113-pub const EISCONN: ::c_int = 106;
114-pub const ENOTCONN: ::c_int = 107;
115-pub const ESHUTDOWN: ::c_int = 108;
116-pub const ETOOMANYREFS: ::c_int = 109;
117-pub const ETIMEDOUT: ::c_int = 110;
118-pub const ECONNREFUSED: ::c_int = 111;
119-pub const EHOSTDOWN: ::c_int = 112;
120-pub const EHOSTUNREACH: ::c_int = 113;
121-pub const EALREADY: ::c_int = 114;
122-pub const EINPROGRESS: ::c_int = 115;
123-pub const ESTALE: ::c_int = 116;
124-pub const EDQUOT: ::c_int = 122;
125-pub const ENOMEDIUM: ::c_int = 123;
126-pub const EMEDIUMTYPE: ::c_int = 124;
127-pub const ECANCELED: ::c_int = 125;
128-pub const ENOKEY: ::c_int = 126;
129-pub const EKEYEXPIRED: ::c_int = 127;
130-pub const EKEYREVOKED: ::c_int = 128;
131-pub const EKEYREJECTED: ::c_int = 129;
132-pub const EOWNERDEAD: ::c_int = 130;
133-pub const ENOTRECOVERABLE: ::c_int = 131;
134-pub const EHWPOISON: ::c_int = 133;
135-pub const ERFKILL: ::c_int = 132;
136-pub const SOL_SOCKET: ::c_int = 1;
137-pub const SO_REUSEADDR: ::c_int = 2;
138-pub const SO_TYPE: ::c_int = 3;
139-pub const SO_ERROR: ::c_int = 4;
140-pub const SO_DONTROUTE: ::c_int = 5;
141-pub const SO_BROADCAST: ::c_int = 6;
142-pub const SO_SNDBUF: ::c_int = 7;
143-pub const SO_RCVBUF: ::c_int = 8;
144-pub const SO_SNDBUFFORCE: ::c_int = 32;
145-pub const SO_RCVBUFFORCE: ::c_int = 33;
146-pub const SO_KEEPALIVE: ::c_int = 9;
147-pub const SO_OOBINLINE: ::c_int = 10;
148-pub const SO_NO_CHECK: ::c_int = 11;
149-pub const SO_PRIORITY: ::c_int = 12;
150-pub const SO_LINGER: ::c_int = 13;
151-pub const SO_BSDCOMPAT: ::c_int = 14;
152-pub const SO_REUSEPORT: ::c_int = 15;
153-pub const SO_PASSCRED: ::c_int = 16;
154-pub const SO_PEERCRED: ::c_int = 17;
155-pub const SO_RCVLOWAT: ::c_int = 18;
156-pub const SO_SNDLOWAT: ::c_int = 19;
157-pub const SO_RCVTIMEO: ::c_int = 20;
158-pub const SO_SNDTIMEO: ::c_int = 21;
159-pub const SO_SECURITY_AUTHENTICATION: ::c_int = 22;
160-pub const SO_SECURITY_ENCRYPTION_TRANSPORT: ::c_int = 23;
161-pub const SO_SECURITY_ENCRYPTION_NETWORK: ::c_int = 24;
162-pub const SO_BINDTODEVICE: ::c_int = 25;
163-pub const SO_ATTACH_FILTER: ::c_int = 26;
164-pub const SO_DETACH_FILTER: ::c_int = 27;
165-pub const SO_GET_FILTER: ::c_int = 26;
166-pub const SO_PEERNAME: ::c_int = 28;
167-pub const SO_TIMESTAMP: ::c_int = 29;
168-pub const SO_ACCEPTCONN: ::c_int = 30;
169-pub const SO_PEERSEC: ::c_int = 31;
170-pub const SO_PASSSEC: ::c_int = 34;
171-pub const SO_TIMESTAMPNS: ::c_int = 35;
172-pub const SCM_TIMESTAMPNS: ::c_int = 35;
173-pub const SO_MARK: ::c_int = 36;
174-pub const SO_PROTOCOL: ::c_int = 38;
175-pub const SO_DOMAIN: ::c_int = 39;
176-pub const SO_RXQ_OVFL: ::c_int = 40;
177-pub const SO_WIFI_STATUS: ::c_int = 41;
178-pub const SCM_WIFI_STATUS: ::c_int = 41;
179-pub const SO_PEEK_OFF: ::c_int = 42;
180-pub const SO_NOFCS: ::c_int = 43;
181-pub const SO_LOCK_FILTER: ::c_int = 44;
182-pub const SO_SELECT_ERR_QUEUE: ::c_int = 45;
183-pub const SO_BUSY_POLL: ::c_int = 46;
184-pub const SO_MAX_PACING_RATE: ::c_int = 47;
185-pub const SO_BPF_EXTENSIONS: ::c_int = 48;
186-pub const SO_INCOMING_CPU: ::c_int = 49;
187-pub const SO_ATTACH_BPF: ::c_int = 50;
188-pub const SO_DETACH_BPF: ::c_int = 27;
189-pub const SOCK_STREAM: ::c_int = 1;
190-pub const SOCK_DGRAM: ::c_int = 2;
191-pub const SA_ONSTACK: ::c_int = 134217728;
192-pub const SA_SIGINFO: ::c_int = 4;
193-pub const SA_NOCLDWAIT: ::c_int = 2;
194-pub const SIGTTIN: ::c_int = 21;
195-pub const SIGTTOU: ::c_int = 22;
196-pub const SIGXCPU: ::c_int = 24;
197-pub const SIGXFSZ: ::c_int = 25;
198-pub const SIGVTALRM: ::c_int = 26;
199-pub const SIGPROF: ::c_int = 27;
200-pub const SIGWINCH: ::c_int = 28;
201-pub const SIGCHLD: ::c_int = 17;
202-pub const SIGBUS: ::c_int = 7;
203-pub const SIGUSR1: ::c_int = 10;
204-pub const SIGUSR2: ::c_int = 12;
205-pub const SIGCONT: ::c_int = 18;
206-pub const SIGSTOP: ::c_int = 19;
207-pub const SIGTSTP: ::c_int = 20;
208-pub const SIGURG: ::c_int = 23;
209-pub const SIGIO: ::c_int = 29;
210-pub const SIGSYS: ::c_int = 31;
211-pub const SIGSTKFLT: ::c_int = 16;
212-pub const SIGPOLL: ::c_int = 29;
213-pub const SIGPWR: ::c_int = 30;
214-pub const SIG_SETMASK: ::c_int = 2;
215-pub const SIG_BLOCK: ::c_int = 0;
216-pub const SIG_UNBLOCK: ::c_int = 1;
217-pub const POLLWRNORM: ::c_short = 256;
218-pub const POLLWRBAND: ::c_short = 512;
219-pub const O_ASYNC: ::c_int = 8192;
220-pub const O_NDELAY: ::c_int = 2048;
221-pub const PTRACE_DETACH: ::c_uint = 17;
222-pub const EFD_NONBLOCK: ::c_int = 2048;
223-pub const F_GETLK: ::c_int = 5;
224-pub const F_GETOWN: ::c_int = 9;
225-pub const F_SETOWN: ::c_int = 8;
226-pub const F_SETLK: ::c_int = 6;
227-pub const F_SETLKW: ::c_int = 7;
228-pub const F_RDLCK: ::c_int = 0;
229-pub const F_WRLCK: ::c_int = 1;
230-pub const F_UNLCK: ::c_int = 2;
231-pub const F_OFD_GETLK: ::c_int = 36;
232-pub const F_OFD_SETLK: ::c_int = 37;
233-pub const F_OFD_SETLKW: ::c_int = 38;
234-pub const SFD_NONBLOCK: ::c_int = 2048;
235-pub const TCSANOW: ::c_int = 0;
236-pub const TCSADRAIN: ::c_int = 1;
237-pub const TCSAFLUSH: ::c_int = 2;
238-pub const TIOCLINUX: ::c_ulong = 21532;
239-pub const TIOCGSERIAL: ::c_ulong = 21534;
240-pub const TIOCEXCL: ::c_ulong = 21516;
241-pub const TIOCNXCL: ::c_ulong = 21517;
242-pub const TIOCSCTTY: ::c_ulong = 21518;
243-pub const TIOCSTI: ::c_ulong = 21522;
244-pub const TIOCMGET: ::c_ulong = 21525;
245-pub const TIOCMBIS: ::c_ulong = 21526;
246-pub const TIOCMBIC: ::c_ulong = 21527;
247-pub const TIOCMSET: ::c_ulong = 21528;
248-pub const TIOCCONS: ::c_ulong = 21533;
249-pub const TIOCM_ST: ::c_int = 8;
250-pub const TIOCM_SR: ::c_int = 16;
251-pub const TIOCM_CTS: ::c_int = 32;
252-pub const TIOCM_CAR: ::c_int = 64;
253-pub const TIOCM_RNG: ::c_int = 128;
254-pub const TIOCM_DSR: ::c_int = 256;
255-pub const SFD_CLOEXEC: ::c_int = 524288;
256-pub const NCCS: usize = 32;
257-pub const O_TRUNC: ::c_int = 512;
258-pub const O_CLOEXEC: ::c_int = 524288;
259-pub const EBFONT: ::c_int = 59;
260-pub const ENOSTR: ::c_int = 60;
261-pub const ENODATA: ::c_int = 61;
262-pub const ETIME: ::c_int = 62;
263-pub const ENOSR: ::c_int = 63;
264-pub const ENONET: ::c_int = 64;
265-pub const ENOPKG: ::c_int = 65;
266-pub const EREMOTE: ::c_int = 66;
267-pub const ENOLINK: ::c_int = 67;
268-pub const EADV: ::c_int = 68;
269-pub const ESRMNT: ::c_int = 69;
270-pub const ECOMM: ::c_int = 70;
271-pub const EPROTO: ::c_int = 71;
272-pub const EDOTDOT: ::c_int = 73;
273-pub const SA_NODEFER: ::c_int = 1073741824;
274-pub const SA_RESETHAND: ::c_int = -2147483648;
275-pub const SA_RESTART: ::c_int = 268435456;
276-pub const SA_NOCLDSTOP: ::c_int = 1;
277-pub const EPOLL_CLOEXEC: ::c_int = 524288;
278-pub const EFD_CLOEXEC: ::c_int = 524288;
279-pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 4;
280-pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 4;
281-pub const O_DIRECT: ::c_int = 16384;
282-pub const O_DIRECTORY: ::c_int = 65536;
283-pub const O_NOFOLLOW: ::c_int = 131072;
284-pub const MAP_HUGETLB: ::c_int = 262144;
285-pub const MAP_LOCKED: ::c_int = 8192;
286-pub const MAP_NORESERVE: ::c_int = 16384;
287-pub const MAP_ANON: ::c_int = 32;
288-pub const MAP_ANONYMOUS: ::c_int = 32;
289-pub const MAP_DENYWRITE: ::c_int = 2048;
290-pub const MAP_EXECUTABLE: ::c_int = 4096;
291-pub const MAP_POPULATE: ::c_int = 32768;
292-pub const MAP_NONBLOCK: ::c_int = 65536;
293-pub const MAP_STACK: ::c_int = 131072;
294-pub const MAP_SYNC : ::c_int = 0x080000;
295-pub const EDEADLOCK: ::c_int = 35;
296-pub const EUCLEAN: ::c_int = 117;
297-pub const ENOTNAM: ::c_int = 118;
298-pub const ENAVAIL: ::c_int = 119;
299-pub const EISNAM: ::c_int = 120;
300-pub const EREMOTEIO: ::c_int = 121;
301-pub const FIOCLEX: ::c_ulong = 21585;
302-pub const FIONCLEX: ::c_ulong = 21584;
303-pub const FIONBIO: ::c_ulong = 21537;
304-pub const MCL_CURRENT: ::c_int = 1;
305-pub const MCL_FUTURE: ::c_int = 2;
306-pub const SIGSTKSZ: ::size_t = 8192;
307-pub const MINSIGSTKSZ: ::size_t = 2048;
308-pub const CBAUD: ::tcflag_t = 4111;
309-pub const TAB1: ::tcflag_t = 2048;
310-pub const TAB2: ::tcflag_t = 4096;
311-pub const TAB3: ::tcflag_t = 6144;
312-pub const CR1: ::tcflag_t = 512;
313-pub const CR2: ::tcflag_t = 1024;
314-pub const CR3: ::tcflag_t = 1536;
315-pub const FF1: ::tcflag_t = 32768;
316-pub const BS1: ::tcflag_t = 8192;
317-pub const VT1: ::tcflag_t = 16384;
318-pub const VWERASE: usize = 14;
319-pub const VREPRINT: usize = 12;
320-pub const VSUSP: usize = 10;
321-pub const VSTART: usize = 8;
322-pub const VSTOP: usize = 9;
323-pub const VDISCARD: usize = 13;
324-pub const VTIME: usize = 5;
325-pub const IXON: ::tcflag_t = 1024;
326-pub const IXOFF: ::tcflag_t = 4096;
327-pub const ONLCR: ::tcflag_t = 4;
328-pub const CSIZE: ::tcflag_t = 48;
329-pub const CS6: ::tcflag_t = 16;
330-pub const CS7: ::tcflag_t = 32;
331-pub const CS8: ::tcflag_t = 48;
332-pub const CSTOPB: ::tcflag_t = 64;
333-pub const CREAD: ::tcflag_t = 128;
334-pub const PARENB: ::tcflag_t = 256;
335-pub const PARODD: ::tcflag_t = 512;
336-pub const HUPCL: ::tcflag_t = 1024;
337-pub const CLOCAL: ::tcflag_t = 2048;
338-pub const ECHOKE: ::tcflag_t = 2048;
339-pub const ECHOE: ::tcflag_t = 16;
340-pub const ECHOK: ::tcflag_t = 32;
341-pub const ECHONL: ::tcflag_t = 64;
342-pub const ECHOPRT: ::tcflag_t = 1024;
343-pub const ECHOCTL: ::tcflag_t = 512;
344-pub const ISIG: ::tcflag_t = 1;
345-pub const ICANON: ::tcflag_t = 2;
346-pub const PENDIN: ::tcflag_t = 16384;
347-pub const NOFLSH: ::tcflag_t = 128;
348-pub const CIBAUD: ::tcflag_t = 269418496;
349-pub const CBAUDEX: ::tcflag_t = 4096;
350-pub const VSWTC: usize = 7;
351-pub const OLCUC: ::tcflag_t = 2;
352-pub const NLDLY: ::tcflag_t = 256;
353-pub const CRDLY: ::tcflag_t = 1536;
354-pub const TABDLY: ::tcflag_t = 6144;
355-pub const BSDLY: ::tcflag_t = 8192;
356-pub const FFDLY: ::tcflag_t = 32768;
357-pub const VTDLY: ::tcflag_t = 16384;
358-pub const XTABS: ::tcflag_t = 6144;
359-pub const B0: ::speed_t = 0;
360-pub const B50: ::speed_t = 1;
361-pub const B75: ::speed_t = 2;
362-pub const B110: ::speed_t = 3;
363-pub const B134: ::speed_t = 4;
364-pub const B150: ::speed_t = 5;
365-pub const B200: ::speed_t = 6;
366-pub const B300: ::speed_t = 7;
367-pub const B600: ::speed_t = 8;
368-pub const B1200: ::speed_t = 9;
369-pub const B1800: ::speed_t = 10;
370-pub const B2400: ::speed_t = 11;
371-pub const B4800: ::speed_t = 12;
372-pub const B9600: ::speed_t = 13;
373-pub const B19200: ::speed_t = 14;
374-pub const B38400: ::speed_t = 15;
375-pub const EXTA: ::speed_t = 14;
376-pub const EXTB: ::speed_t = 15;
377-pub const B57600: ::speed_t = 4097;
378-pub const B115200: ::speed_t = 4098;
379-pub const B230400: ::speed_t = 4099;
380-pub const B460800: ::speed_t = 4100;
381-pub const B500000: ::speed_t = 4101;
382-pub const B576000: ::speed_t = 4102;
383-pub const B921600: ::speed_t = 4103;
384-pub const B1000000: ::speed_t = 4104;
385-pub const B1152000: ::speed_t = 4105;
386-pub const B1500000: ::speed_t = 4106;
387-pub const B2000000: ::speed_t = 4107;
388-pub const B2500000: ::speed_t = 4108;
389-pub const B3000000: ::speed_t = 4109;
390-pub const B3500000: ::speed_t = 4110;
391-pub const B4000000: ::speed_t = 4111;
392-pub const VEOL: usize = 11;
393-pub const VEOL2: usize = 16;
394-pub const VMIN: usize = 6;
395-pub const IEXTEN: ::tcflag_t = 32768;
396-pub const TOSTOP: ::tcflag_t = 256;
397-pub const FLUSHO: ::tcflag_t = 4096;
398-pub const EXTPROC: ::tcflag_t = 65536;
399-pub const TCGETS: ::c_ulong = 21505;
400-pub const TCSETS: ::c_ulong = 21506;
401-pub const TCSETSW: ::c_ulong = 21507;
402-pub const TCSETSF: ::c_ulong = 21508;
403-pub const TCGETA: ::c_ulong = 21509;
404-pub const TCSETA: ::c_ulong = 21510;
405-pub const TCSETAW: ::c_ulong = 21511;
406-pub const TCSETAF: ::c_ulong = 21512;
407-pub const TCSBRK: ::c_ulong = 21513;
408-pub const TCXONC: ::c_ulong = 21514;
409-pub const TCFLSH: ::c_ulong = 21515;
410-pub const TIOCINQ: ::c_ulong = 21531;
411-pub const TIOCGPGRP: ::c_ulong = 21519;
412-pub const TIOCSPGRP: ::c_ulong = 21520;
413-pub const TIOCOUTQ: ::c_ulong = 21521;
414-pub const TIOCGWINSZ: ::c_ulong = 21523;
415-pub const TIOCSWINSZ: ::c_ulong = 21524;
416-pub const FIONREAD: ::c_ulong = 21531;
417-pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 40;
418-pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 56;
419 pub const SYS_read: ::c_long = 63;
420 pub const SYS_write: ::c_long = 64;
421 pub const SYS_close: ::c_long = 57;
422@@ -863,5 +468,314 @@ pub const SYS_pkey_mprotect: ::c_long = 288;
423 pub const SYS_pkey_alloc: ::c_long = 289;
424 pub const SYS_pkey_free: ::c_long = 290;
425 pub const SYS_statx: ::c_long = 291;
426-pub const SYS_pidfd_open: ::c_long = 434;
427-pub const SYS_clone3: ::c_long = 435;
428+
429+pub const O_APPEND: ::c_int = 1024;
430+pub const O_DIRECT: ::c_int = 0x4000;
431+pub const O_DIRECTORY: ::c_int = 0x10000;
432+pub const O_LARGEFILE: ::c_int = 0;
433+pub const O_NOFOLLOW: ::c_int = 0x20000;
434+pub const O_CREAT: ::c_int = 64;
435+pub const O_EXCL: ::c_int = 128;
436+pub const O_NOCTTY: ::c_int = 256;
437+pub const O_NONBLOCK: ::c_int = 2048;
438+pub const O_SYNC: ::c_int = 1052672;
439+pub const O_RSYNC: ::c_int = 1052672;
440+pub const O_DSYNC: ::c_int = 4096;
441+pub const O_ASYNC: ::c_int = 0x2000;
442+
443+pub const TIOCGRS485: ::c_int = 0x542E;
444+pub const TIOCSRS485: ::c_int = 0x542F;
445+
446+pub const SIGSTKSZ: ::size_t = 8192;
447+pub const MINSIGSTKSZ: ::size_t = 2048;
448+
449+pub const ENAMETOOLONG: ::c_int = 36;
450+pub const ENOLCK: ::c_int = 37;
451+pub const ENOSYS: ::c_int = 38;
452+pub const ENOTEMPTY: ::c_int = 39;
453+pub const ELOOP: ::c_int = 40;
454+pub const ENOMSG: ::c_int = 42;
455+pub const EIDRM: ::c_int = 43;
456+pub const ECHRNG: ::c_int = 44;
457+pub const EL2NSYNC: ::c_int = 45;
458+pub const EL3HLT: ::c_int = 46;
459+pub const EL3RST: ::c_int = 47;
460+pub const ELNRNG: ::c_int = 48;
461+pub const EUNATCH: ::c_int = 49;
462+pub const ENOCSI: ::c_int = 50;
463+pub const EL2HLT: ::c_int = 51;
464+pub const EBADE: ::c_int = 52;
465+pub const EBADR: ::c_int = 53;
466+pub const EXFULL: ::c_int = 54;
467+pub const ENOANO: ::c_int = 55;
468+pub const EBADRQC: ::c_int = 56;
469+pub const EBADSLT: ::c_int = 57;
470+pub const EMULTIHOP: ::c_int = 72;
471+pub const EOVERFLOW: ::c_int = 75;
472+pub const ENOTUNIQ: ::c_int = 76;
473+pub const EBADFD: ::c_int = 77;
474+pub const EBADMSG: ::c_int = 74;
475+pub const EREMCHG: ::c_int = 78;
476+pub const ELIBACC: ::c_int = 79;
477+pub const ELIBBAD: ::c_int = 80;
478+pub const ELIBSCN: ::c_int = 81;
479+pub const ELIBMAX: ::c_int = 82;
480+pub const ELIBEXEC: ::c_int = 83;
481+pub const EILSEQ: ::c_int = 84;
482+pub const ERESTART: ::c_int = 85;
483+pub const ESTRPIPE: ::c_int = 86;
484+pub const EUSERS: ::c_int = 87;
485+pub const ENOTSOCK: ::c_int = 88;
486+pub const EDESTADDRREQ: ::c_int = 89;
487+pub const EMSGSIZE: ::c_int = 90;
488+pub const EPROTOTYPE: ::c_int = 91;
489+pub const ENOPROTOOPT: ::c_int = 92;
490+pub const EPROTONOSUPPORT: ::c_int = 93;
491+pub const ESOCKTNOSUPPORT: ::c_int = 94;
492+pub const EOPNOTSUPP: ::c_int = 95;
493+pub const EPFNOSUPPORT: ::c_int = 96;
494+pub const EAFNOSUPPORT: ::c_int = 97;
495+pub const EADDRINUSE: ::c_int = 98;
496+pub const EADDRNOTAVAIL: ::c_int = 99;
497+pub const ENETDOWN: ::c_int = 100;
498+pub const ENETUNREACH: ::c_int = 101;
499+pub const ENETRESET: ::c_int = 102;
500+pub const ECONNABORTED: ::c_int = 103;
501+pub const ECONNRESET: ::c_int = 104;
502+pub const ENOBUFS: ::c_int = 105;
503+pub const EISCONN: ::c_int = 106;
504+pub const ENOTCONN: ::c_int = 107;
505+pub const ESHUTDOWN: ::c_int = 108;
506+pub const ETOOMANYREFS: ::c_int = 109;
507+pub const ETIMEDOUT: ::c_int = 110;
508+pub const ECONNREFUSED: ::c_int = 111;
509+pub const EHOSTDOWN: ::c_int = 112;
510+pub const EHOSTUNREACH: ::c_int = 113;
511+pub const EALREADY: ::c_int = 114;
512+pub const EINPROGRESS: ::c_int = 115;
513+pub const ESTALE: ::c_int = 116;
514+pub const EDQUOT: ::c_int = 122;
515+pub const ENOMEDIUM: ::c_int = 123;
516+pub const EMEDIUMTYPE: ::c_int = 124;
517+pub const ECANCELED: ::c_int = 125;
518+pub const ENOKEY: ::c_int = 126;
519+pub const EKEYEXPIRED: ::c_int = 127;
520+pub const EKEYREVOKED: ::c_int = 128;
521+pub const EKEYREJECTED: ::c_int = 129;
522+pub const EOWNERDEAD: ::c_int = 130;
523+pub const ENOTRECOVERABLE: ::c_int = 131;
524+pub const EHWPOISON: ::c_int = 133;
525+pub const ERFKILL: ::c_int = 132;
526+
527+pub const SA_ONSTACK: ::c_int = 0x08000000;
528+pub const SA_SIGINFO: ::c_int = 0x00000004;
529+pub const SA_NOCLDWAIT: ::c_int = 0x00000002;
530+
531+pub const SIGCHLD: ::c_int = 17;
532+pub const SIGBUS: ::c_int = 7;
533+pub const SIGTTIN: ::c_int = 21;
534+pub const SIGTTOU: ::c_int = 22;
535+pub const SIGXCPU: ::c_int = 24;
536+pub const SIGXFSZ: ::c_int = 25;
537+pub const SIGVTALRM: ::c_int = 26;
538+pub const SIGPROF: ::c_int = 27;
539+pub const SIGWINCH: ::c_int = 28;
540+pub const SIGUSR1: ::c_int = 10;
541+pub const SIGUSR2: ::c_int = 12;
542+pub const SIGCONT: ::c_int = 18;
543+pub const SIGSTOP: ::c_int = 19;
544+pub const SIGTSTP: ::c_int = 20;
545+pub const SIGURG: ::c_int = 23;
546+pub const SIGIO: ::c_int = 29;
547+pub const SIGSYS: ::c_int = 31;
548+pub const SIGSTKFLT: ::c_int = 16;
549+pub const SIGPOLL: ::c_int = 29;
550+pub const SIGPWR: ::c_int = 30;
551+pub const SIG_SETMASK: ::c_int = 2;
552+pub const SIG_BLOCK: ::c_int = 0x000000;
553+pub const SIG_UNBLOCK: ::c_int = 0x01;
554+
555+pub const F_GETLK: ::c_int = 5;
556+pub const F_GETOWN: ::c_int = 9;
557+pub const F_SETLK: ::c_int = 6;
558+pub const F_SETLKW: ::c_int = 7;
559+pub const F_SETOWN: ::c_int = 8;
560+pub const F_OFD_GETLK: ::c_int = 36;
561+pub const F_OFD_SETLK: ::c_int = 37;
562+pub const F_OFD_SETLKW: ::c_int = 38;
563+
564+pub const VEOF: usize = 4;
565+
566+pub const POLLWRNORM: ::c_short = 0x100;
567+pub const POLLWRBAND: ::c_short = 0x200;
568+
569+pub const SOCK_STREAM: ::c_int = 1;
570+pub const SOCK_DGRAM: ::c_int = 2;
571+pub const SOL_SOCKET: ::c_int = 1;
572+pub const SO_REUSEADDR: ::c_int = 2;
573+pub const SO_TYPE: ::c_int = 3;
574+pub const SO_ERROR: ::c_int = 4;
575+pub const SO_DONTROUTE: ::c_int = 5;
576+pub const SO_BROADCAST: ::c_int = 6;
577+pub const SO_SNDBUF: ::c_int = 7;
578+pub const SO_RCVBUF: ::c_int = 8;
579+pub const SO_KEEPALIVE: ::c_int = 9;
580+pub const SO_OOBINLINE: ::c_int = 10;
581+pub const SO_NO_CHECK: ::c_int = 11;
582+pub const SO_PRIORITY: ::c_int = 12;
583+pub const SO_LINGER: ::c_int = 13;
584+pub const SO_BSDCOMPAT: ::c_int = 14;
585+pub const SO_REUSEPORT: ::c_int = 15;
586+pub const SO_ACCEPTCONN: ::c_int = 30;
587+pub const SO_SNDBUFFORCE: ::c_int = 32;
588+pub const SO_RCVBUFFORCE: ::c_int = 33;
589+pub const SO_PROTOCOL: ::c_int = 38;
590+pub const SO_DOMAIN: ::c_int = 39;
591+
592+pub const MAP_ANON: ::c_int = 0x0020;
593+pub const MAP_GROWSDOWN: ::c_int = 0x0100;
594+pub const MAP_DENYWRITE: ::c_int = 0x0800;
595+pub const MAP_EXECUTABLE: ::c_int = 0x01000;
596+pub const MAP_LOCKED: ::c_int = 0x02000;
597+pub const MAP_NORESERVE: ::c_int = 0x04000;
598+pub const MAP_POPULATE: ::c_int = 0x08000;
599+pub const MAP_NONBLOCK: ::c_int = 0x010000;
600+pub const MAP_STACK: ::c_int = 0x020000;
601+pub const MAP_HUGETLB: ::c_int = 0x040000;
602+pub const MAP_SYNC : ::c_int = 0x080000;
603+
604+pub const RLIMIT_NLIMITS: ::c_int = 15;
605+pub const TIOCINQ: ::c_int = ::FIONREAD;
606+pub const MCL_CURRENT: ::c_int = 0x0001;
607+pub const MCL_FUTURE: ::c_int = 0x0002;
608+pub const CBAUD: ::tcflag_t = 0o0010017;
609+pub const TAB1: ::c_int = 0x00000800;
610+pub const TAB2: ::c_int = 0x00001000;
611+pub const TAB3: ::c_int = 0x00001800;
612+pub const CR1: ::c_int = 0x00000200;
613+pub const CR2: ::c_int = 0x00000400;
614+pub const CR3: ::c_int = 0x00000600;
615+pub const FF1: ::c_int = 0x00008000;
616+pub const BS1: ::c_int = 0x00002000;
617+pub const VT1: ::c_int = 0x00004000;
618+pub const VWERASE: usize = 14;
619+pub const VREPRINT: usize = 12;
620+pub const VSUSP: usize = 10;
621+pub const VSTART: usize = 8;
622+pub const VSTOP: usize = 9;
623+pub const VDISCARD: usize = 13;
624+pub const VTIME: usize = 5;
625+pub const IXON: ::tcflag_t = 0x00000400;
626+pub const IXOFF: ::tcflag_t = 0x00001000;
627+pub const ONLCR: ::tcflag_t = 0x4;
628+pub const CSIZE: ::tcflag_t = 0x00000030;
629+pub const CS6: ::tcflag_t = 0x00000010;
630+pub const CS7: ::tcflag_t = 0x00000020;
631+pub const CS8: ::tcflag_t = 0x00000030;
632+pub const CSTOPB: ::tcflag_t = 0x00000040;
633+pub const CREAD: ::tcflag_t = 0x00000080;
634+pub const PARENB: ::tcflag_t = 0x00000100;
635+pub const PARODD: ::tcflag_t = 0x00000200;
636+pub const HUPCL: ::tcflag_t = 0x00000400;
637+pub const CLOCAL: ::tcflag_t = 0x00000800;
638+pub const ECHOKE: ::tcflag_t = 0x00000800;
639+pub const ECHOE: ::tcflag_t = 0x00000010;
640+pub const ECHOK: ::tcflag_t = 0x00000020;
641+pub const ECHONL: ::tcflag_t = 0x00000040;
642+pub const ECHOPRT: ::tcflag_t = 0x00000400;
643+pub const ECHOCTL: ::tcflag_t = 0x00000200;
644+pub const ISIG: ::tcflag_t = 0x00000001;
645+pub const ICANON: ::tcflag_t = 0x00000002;
646+pub const PENDIN: ::tcflag_t = 0x00004000;
647+pub const NOFLSH: ::tcflag_t = 0x00000080;
648+pub const CIBAUD: ::tcflag_t = 0o02003600000;
649+pub const CBAUDEX: ::tcflag_t = 0o010000;
650+pub const VSWTC: usize = 7;
651+pub const OLCUC: ::tcflag_t = 0o000002;
652+pub const NLDLY: ::tcflag_t = 0o000400;
653+pub const CRDLY: ::tcflag_t = 0o003000;
654+pub const TABDLY: ::tcflag_t = 0o014000;
655+pub const BSDLY: ::tcflag_t = 0o020000;
656+pub const FFDLY: ::tcflag_t = 0o100000;
657+pub const VTDLY: ::tcflag_t = 0o040000;
658+pub const XTABS: ::tcflag_t = 0o014000;
659+pub const B57600: ::speed_t = 0o010001;
660+pub const B115200: ::speed_t = 0o010002;
661+pub const B230400: ::speed_t = 0o010003;
662+pub const B460800: ::speed_t = 0o010004;
663+pub const B500000: ::speed_t = 0o010005;
664+pub const B576000: ::speed_t = 0o010006;
665+pub const B921600: ::speed_t = 0o010007;
666+pub const B1000000: ::speed_t = 0o010010;
667+pub const B1152000: ::speed_t = 0o010011;
668+pub const B1500000: ::speed_t = 0o010012;
669+pub const B2000000: ::speed_t = 0o010013;
670+pub const B2500000: ::speed_t = 0o010014;
671+pub const B3000000: ::speed_t = 0o010015;
672+pub const B3500000: ::speed_t = 0o010016;
673+pub const B4000000: ::speed_t = 0o010017;
674+
675+pub const FIOCLEX: ::c_int = 0x5451;
676+pub const FIONCLEX: ::c_int = 0x5450;
677+pub const FIONBIO: ::c_int = 0x5421;
678+pub const EDEADLK: ::c_int = 35;
679+pub const EDEADLOCK: ::c_int = EDEADLK;
680+pub const SO_PASSCRED: ::c_int = 16;
681+pub const SO_PEERCRED: ::c_int = 17;
682+pub const SO_RCVLOWAT: ::c_int = 18;
683+pub const SO_SNDLOWAT: ::c_int = 19;
684+pub const SO_RCVTIMEO: ::c_int = 20;
685+pub const SO_SNDTIMEO: ::c_int = 21;
686+pub const EXTPROC: ::tcflag_t = 0x00010000;
687+pub const VEOL: usize = 11;
688+pub const VEOL2: usize = 16;
689+pub const VMIN: usize = 6;
690+pub const IEXTEN: ::tcflag_t = 0x00008000;
691+pub const TOSTOP: ::tcflag_t = 0x00000100;
692+pub const FLUSHO: ::tcflag_t = 0x00001000;
693+pub const TCGETS: ::c_int = 0x5401;
694+pub const TCSETS: ::c_int = 0x5402;
695+pub const TCSETSW: ::c_int = 0x5403;
696+pub const TCSETSF: ::c_int = 0x5404;
697+pub const TCGETA: ::c_int = 0x5405;
698+pub const TCSETA: ::c_int = 0x5406;
699+pub const TCSETAW: ::c_int = 0x5407;
700+pub const TCSETAF: ::c_int = 0x5408;
701+pub const TCSBRK: ::c_int = 0x5409;
702+pub const TCXONC: ::c_int = 0x540A;
703+pub const TCFLSH: ::c_int = 0x540B;
704+pub const TIOCGSOFTCAR: ::c_int = 0x5419;
705+pub const TIOCSSOFTCAR: ::c_int = 0x541A;
706+pub const TIOCLINUX: ::c_int = 0x541C;
707+pub const TIOCGSERIAL: ::c_int = 0x541E;
708+pub const TIOCEXCL: ::c_int = 0x540C;
709+pub const TIOCNXCL: ::c_int = 0x540D;
710+pub const TIOCSCTTY: ::c_int = 0x540E;
711+pub const TIOCGPGRP: ::c_int = 0x540F;
712+pub const TIOCSPGRP: ::c_int = 0x5410;
713+pub const TIOCOUTQ: ::c_int = 0x5411;
714+pub const TIOCSTI: ::c_int = 0x5412;
715+pub const TIOCGWINSZ: ::c_int = 0x5413;
716+pub const TIOCSWINSZ: ::c_int = 0x5414;
717+pub const TIOCMGET: ::c_int = 0x5415;
718+pub const TIOCMBIS: ::c_int = 0x5416;
719+pub const TIOCMBIC: ::c_int = 0x5417;
720+pub const TIOCMSET: ::c_int = 0x5418;
721+pub const FIONREAD: ::c_int = 0x541B;
722+pub const TIOCCONS: ::c_int = 0x541D;
723+
724+pub const TIOCM_LE: ::c_int = 0x001;
725+pub const TIOCM_DTR: ::c_int = 0x002;
726+pub const TIOCM_RTS: ::c_int = 0x004;
727+pub const TIOCM_ST: ::c_int = 0x008;
728+pub const TIOCM_SR: ::c_int = 0x010;
729+pub const TIOCM_CTS: ::c_int = 0x020;
730+pub const TIOCM_CAR: ::c_int = 0x040;
731+pub const TIOCM_RNG: ::c_int = 0x080;
732+pub const TIOCM_DSR: ::c_int = 0x100;
733+pub const TIOCM_CD: ::c_int = TIOCM_CAR;
734+pub const TIOCM_RI: ::c_int = TIOCM_RNG;
735+
736+extern "C" {
737+ pub fn ioctl(fd: ::c_int, request: ::c_int, ...) -> ::c_int;
738+}
739--
7402.27.0
741
diff --git a/meta/recipes-devtools/rust/libstd-rs-1.54.0/0008-Update-checksums-for-modified-files-for-rust-1.54.0-.patch b/meta/recipes-devtools/rust/libstd-rs-1.54.0/0008-Update-checksums-for-modified-files-for-rust-1.54.0-.patch
new file mode 100644
index 0000000000..23bb3aff38
--- /dev/null
+++ b/meta/recipes-devtools/rust/libstd-rs-1.54.0/0008-Update-checksums-for-modified-files-for-rust-1.54.0-.patch
@@ -0,0 +1,23 @@
1From 2b1c373f9a3341e8926d6be8d7cdcedc1fc6fca3 Mon Sep 17 00:00:00 2001
2From: Ralf Anton Beier <ralf_beier@me.com>
3Date: Sun, 8 Aug 2021 11:19:24 +0200
4Subject: [PATCH 8/8] Update checksums for modified files for rust 1.54.0 and
5 libc-0.2.93
6
7Signed-off-by: Ralf Anton Beier <ralf_beier@me.com>
8---
9 vendor/libc-0.2.93/.cargo-checksum.json | 2 +-
10 1 file changed, 1 insertion(+), 1 deletion(-)
11
12diff --git a/vendor/libc-0.2.93/.cargo-checksum.json b/vendor/libc-0.2.93/.cargo-checksum.json
13index 104eaa0ea..48576fb81 100644
14--- a/vendor/libc-0.2.93/.cargo-checksum.json
15+++ b/vendor/libc-0.2.93/.cargo-checksum.json
16@@ -1 +1 @@
17-{"files":{"CONTRIBUTING.md":"752eea5a703d11b485c6b5f195f51bd2c79aa5159b619ce09555c779e1fb586b","Cargo.toml":"c65ce090d2ce0144faeb8d9ed9039d698ab19d92eee1121ef234238041ec6153","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"a8d47ff51ca256f56a8932dba07660672dbfe3004257ca8de708aac1415937a1","README.md":"8228847944f1332882fbb00275b6f30e4a8aad08a13569c25d52cac012cc2a47","build.rs":"770bf9c7c799dd3536b1e716cb42e7b5569cb4721f02e1d67dd2b932718dea2c","rustfmt.toml":"eaa2ea84fc1ba0359b77680804903e07bb38d257ab11986b95b158e460f787b2","src/fixed_width_ints.rs":"34c60f12ec5eeb90f13ec3b954427532111c2446e69617616a97aefc1086a9f1","src/fuchsia/aarch64.rs":"378776a9e40766154a54c94c2a7b4675b5c302a38e6e42da99e67bfbaee60e56","src/fuchsia/align.rs":"ae1cf8f011a99737eabeb14ffff768e60f13b13363d7646744dbb0f443dab3d6","src/fuchsia/mod.rs":"e992965c141308f1ab38c9646b6197b308143dedd2771b6df2f12eb5909ce663","src/fuchsia/no_align.rs":"303f3f1b255e0088b5715094353cf00476131d8e94e6aebb3f469557771c8b8a","src/fuchsia/x86_64.rs":"93a3632b5cf67d2a6bcb7dc0a558605252d5fe689e0f38d8aa2ec5852255ac87","src/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/hermit/mod.rs":"d3bfce41e4463d4be8020a2d063c9bfa8b665f45f1cc6cbf3163f5d01e7cb21f","src/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/lib.rs":"d4f7452c0fe720f3a961b918b74ec86d19cef33e6b4aac08efbbad6f6d818e09","src/macros.rs":"7844312c233a6889fa15395fe3106f6a8f6229211104a92f33ea3c9536eef763","src/psp.rs":"dd31aabd46171d474ec5828372e28588935120e7355c90c105360d8fa9264c1c","src/sgx.rs":"16a95cdefc81c5ee00d8353a60db363c4cc3e0f75abcd5d0144723f2a306ed1b","src/switch.rs":"9da3dd39b3de45a7928789926e8572d00e1e11a39e6f7289a1349aadce90edba","src/unix/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/unix/bsd/apple/b32/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b32/mod.rs":"6a4ce300da0d2b0db04b18548286603ffe4b47d679a41cf60f1902895894aa1f","src/unix/bsd/apple/b64/aarch64/align.rs":"f0c321265dd7671f16106b84951ac7dd77ed2e65c6623cbf2d29e76531984770","src/unix/bsd/apple/b64/aarch64/mod.rs":"46d5d061c7a74cbc09cbdfb3bee9a600867bf4e04c0e4d0ca6c817e6033b32e1","src/unix/bsd/apple/b64/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b64/mod.rs":"f5e278a1af7fb358891d1c9be4eb7e815aaca0c5cb738d0c3604ba2208a856f7","src/unix/bsd/apple/b64/x86_64/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b64/x86_64/mod.rs":"cc6878dd130c3f255418e4da74992ae9ba6a3cdb0530772de76c518077d3b12a","src/unix/bsd/apple/mod.rs":"3fe42dd50ccc476255ebe7c1f5bf65950f3d1b5a62fbf8ac91c8c29c945781bc","src/unix/bsd/freebsdlike/dragonfly/errno.rs":"8295b8bb0dfd38d2cdb4d9192cdeeb534cc6c3b208170e64615fa3e0edb3e578","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"06e3e4a8972f367275c7d1226a47cf86db13afad74a22344d91d1ec2ab043bd9","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"14f0bd6693967d4fedec904f7042bd51f2138cb843ec4df18c911b357417cdd2","src/unix/bsd/freebsdlike/freebsd/arm.rs":"59d6a670eea562fb87686e243e0a84603d29a2028a3d4b3f99ccc01bd04d2f47","src/unix/bsd/freebsdlike/freebsd/freebsd11/b64.rs":"9808d152c1196aa647f1b0f0cf84dac8c930da7d7f897a44975545e3d9d17681","src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs":"6523af60c0e4937ad374003c1653e9e721f5b6f11572c747732f76522d07d034","src/unix/bsd/freebsdlike/freebsd/freebsd12/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs":"e777354db19a183fba4c616cb8c72ac88839528c5e2095bbdf7e47e8e5d2148e","src/unix/bsd/freebsdlike/freebsd/freebsd13/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs":"f3dc5dc3ca3e9cf999ee73222c4fc2200a06f92ce6e9dd6fc357d019bb4999a5","src/unix/bsd/freebsdlike/freebsd/mod.rs":"154dfc0825d39fb19fcf87ccc43bb3923d7faec1eac7b50464a6106dc44a32a8","src/unix/bsd/freebsdlike/freebsd/powerpc64.rs":"2dae3ecc87eac3b11657aa98915def55fc4b5c0de11fe26aae23329a54628a9a","src/unix/bsd/freebsdlike/freebsd/x86.rs":"c5005e3249eb7c93cfbac72a9e9272320d80ce7983da990ceb05a447f59a02c5","src/unix/bsd/freebsdlike/freebsd/x86_64/align.rs":"0e1f69a88fca1c32874b1daf5db3d446fefbe518dca497f096cc9168c39dde70","src/unix/bsd/freebsdlike/freebsd/x86_64/mod.rs":"6132aa0973454379674ea6cbc77e6eace1e1032dd9f38182071388a036f1bc08","src/unix/bsd/freebsdlike/mod.rs":"52a793977374d138c46e62b967e97dc5df06ef143701ffd8f4563658cbe77cf2","src/unix/bsd/mod.rs":"33df9bc4e6f92f78842defe59d9ac2c2afa0942ba990134ec0bf57aa76faa798","src/unix/bsd/netbsdlike/mod.rs":"c640eb7106c8af2ffee0644ea715528da3a8124fd2c9ca6ac617ab9eebc88787","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"b38fc046f9a40fea28bd26328b96629f4d5d63d7524936bd6af1865d401a8716","src/unix/bsd/netbsdlike/netbsd/arm.rs":"58cdbb70b0d6f536551f0f3bb3725d2d75c4690db12c26c034e7d6ec4a924452","src/unix/bsd/netbsdlike/netbsd/mod.rs":"ff10f80b8182dc3a8fa5739bddd5362a2280f396b09d2da6c8adbf596d9643b0","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"ee7ff5d89d0ed22f531237b5059aa669df93a3b5c489fa641465ace8d405bf41","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"9489f4b3e4566f43bb12dfb92238960613dac7f6a45cc13068a8d152b902d7d9","src/unix/bsd/netbsdlike/netbsd/x86.rs":"20692320e36bfe028d1a34d16fe12ca77aa909cb02bda167376f98f1a09aefe7","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"135509edeaf3fb3f102d89d51ff1a8f82323497336a8dc7e1f0f23b5c2434b73","src/unix/bsd/netbsdlike/openbsd/aarch64.rs":"1dd5449dd1fd3d51e30ffdeeaece91d0aaf05c710e0ac699fecc5461cfa2c28e","src/unix/bsd/netbsdlike/openbsd/mod.rs":"04372b08f57319b08002c1a5e1b200723ed1293754ea5b7d12beafa735c0c2db","src/unix/bsd/netbsdlike/openbsd/sparc64.rs":"d04fd287afbaa2c5df9d48c94e8374a532a3ba491b424ddf018270c7312f4085","src/unix/bsd/netbsdlike/openbsd/x86.rs":"6f7f5c4fde2a2259eb547890cbd86570cea04ef85347d7569e94e679448bec87","src/unix/bsd/netbsdlike/openbsd/x86_64.rs":"e59b7fd65f68f8e857eec39e0c03bac1d3af6ddc26c9ba58494336b83659bb9b","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b4744500d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"34d74b3f86953c4bdba363b7b629fd3fc72d3842260ba208f91b9dc6024634ff","src/unix/haiku/native.rs":"7f43160df105a83a8527c59ad99b2578f479837a7c7d8bcdd5ee6607803e49f4","src/unix/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/unix/hermit/mod.rs":"859814f5df89e28fd4b345db399d181e11e7ed413841b6ff703a1fcbdbf013ae","src/unix/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/unix/linux_like/android/b32/arm.rs":"d611801c875a1066ff596ba813a80c1689aa54489bbd5bd8af4610c786d97a36","src/unix/linux_like/android/b32/mod.rs":"87c46d1ce6899df80b5eea1ca4fd30bc437028e281ea16b658209c2a9b4edbec","src/unix/linux_like/android/b32/x86/align.rs":"812914e4241df82e32b12375ca3374615dc3a4bdd4cf31f0423c5815320c0dab","src/unix/linux_like/android/b32/x86/mod.rs":"8388bd3a0fcb5636bf965eee6dc95ae6860b85a2b555b387c868aa4d4e01ec89","src/unix/linux_like/android/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/android/b64/aarch64/mod.rs":"db23f94bc3ed46a0967dde748f0d4566fc885cc6171d0555007f3398ff99a708","src/unix/linux_like/android/b64/mod.rs":"e3078e856e43fde9b57d8a5aa840a590f2e18517a3e8de23e9c2a3d798596f43","src/unix/linux_like/android/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/android/b64/x86_64/mod.rs":"e84176d838e663d351450bad218715db1fafbb531e47ea0e262cbb45829dae89","src/unix/linux_like/android/mod.rs":"ead1d5880fa288e11470e560e119c29b16198a0a1bbd853c51e10b1bf4db7583","src/unix/linux_like/emscripten/align.rs":"86c95cbed7a7161b1f23ee06843e7b0e2340ad92b2cb86fe2a8ef3e0e8c36216","src/unix/linux_like/emscripten/mod.rs":"d4c59585ca4802029a41e269092ccfa20f982b352a74abc54d3e7edc3102fb05","src/unix/linux_like/emscripten/no_align.rs":"0128e4aa721a9902754828b61b5ec7d8a86619983ed1e0544a85d35b1051fad6","src/unix/linux_like/linux/align.rs":"213e70ebed2703e14a9cf17666b21ecbf180b7bff7fa22fdbb36dbbd52df326d","src/unix/linux_like/linux/arch/generic/mod.rs":"ff1fe8fad4ea15d9bec3db25efcfcb4939190c5189f86cfa4d05825aa8c10956","src/unix/linux_like/linux/arch/mips/mod.rs":"e4a980b002105aaa057eb6568e1e2c6168ade5c00e13a31ef67e316ddffdb900","src/unix/linux_like/linux/arch/mod.rs":"466a29622e47c6c7f1500682b2eb17f5566dd81b322cd6348f0fdd355cec593a","src/unix/linux_like/linux/arch/powerpc/mod.rs":"1789eb5b41f75c29239795124a4a7cdcf7c8d213b88cf581b2f5bda08d7cf15b","src/unix/linux_like/linux/arch/sparc/mod.rs":"ded708124ee610267d011dee31fb02d1ec697c334aa822776ec95a7ddf6fc541","src/unix/linux_like/linux/gnu/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/gnu/b32/arm/align.rs":"3fed009dc9af3cc81be7087da9d2d7d1f39845e4497e290259c5cdbae25f039d","src/unix/linux_like/linux/gnu/b32/arm/mod.rs":"07adf9f4b96854062db518aaf08521fde0ad4a21a5c049efccba437bd97b2b5a","src/unix/linux_like/linux/gnu/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/gnu/b32/mips/mod.rs":"1cb5c0c9df3af2bbe131a91593583259fac9118931744c8435e197a394eb0462","src/unix/linux_like/linux/gnu/b32/mod.rs":"1e05278ab6295e95165d0fab1698bdc82a511bcbda3250093af4e5edf08991f8","src/unix/linux_like/linux/gnu/b32/powerpc.rs":"0cd7348badb9c4f8a0db31a2503b30c456a2bfcc7a0e5919762b1e12f912c5ad","src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs":"9c628cd97806181dc4d34b072f63fe1eb42f08108712002e0628ffe27f2fa93f","src/unix/linux_like/linux/gnu/b32/sparc/align.rs":"21adbed27df73e2d1ed934aaf733a643003d7baf2bde9c48ea440895bcca6d41","src/unix/linux_like/linux/gnu/b32/sparc/mod.rs":"1bcec269a8416ccc48a384ca5765eaaa23f30f39f32311f50008ef4eeadafb2f","src/unix/linux_like/linux/gnu/b32/x86/align.rs":"e4bafdc4a519a7922a81b37a62bbfd1177a2f620890eef8f1fbc47162e9eb413","src/unix/linux_like/linux/gnu/b32/x86/mod.rs":"5317dbf2323577b89370bbee3894882b89d8333176db4f7b271ddc2f036ef43c","src/unix/linux_like/linux/gnu/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/linux/gnu/b64/aarch64/ilp32.rs":"21a21503ef2e095f4371044915d4bfb07a8578011cb5c713cd9f45947b0b5730","src/unix/linux_like/linux/gnu/b64/aarch64/lp64.rs":"e78c3cd197f44832338b414d1a9bc0d194f44c74db77bd7bf830c1fff62b2690","src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs":"c3730792dabcc166d8fd22929ef2633d49bc626875382dfcd401e8e125fb7a84","src/unix/linux_like/linux/gnu/b64/mips64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/mips64/mod.rs":"68bcb71bbfccb4e8648948e494366d94767ce96f36daab9c1329375cdd32a459","src/unix/linux_like/linux/gnu/b64/mod.rs":"7bf5c9813032db77b964ccb90bdce15236ae9ea06ea185595278ea4565c21b7b","src/unix/linux_like/linux/gnu/b64/powerpc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs":"dbb8905e363ed4a2dfb984554ad9b6389d27f6a2d599ec2d80e38a6c7551a019","src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs":"18edaa89c9746125863ff53182e0ef32cb1e1612e1ed9a2672558a9de85440e9","src/unix/linux_like/linux/gnu/b64/s390x.rs":"d9bb4e524e70d6fef49e0f77d89a92f478fd95d9a1aea32f4dc845275a7465d4","src/unix/linux_like/linux/gnu/b64/sparc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs":"26fda11bdce99372c2c246e60866b56d98beb9fb49a2f6b69347ecfd03d18255","src/unix/linux_like/linux/gnu/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs":"5a5ce7c5c92f60d8900dce63d363a38f3126aaf5be981710e172bec96ef95ac6","src/unix/linux_like/linux/gnu/b64/x86_64/not_x32.rs":"f775ac2b754f90b63053fe22afe1d19d306b5404995568d6805baa9249fb617f","src/unix/linux_like/linux/gnu/b64/x86_64/x32.rs":"4ba1b58468f55254717366f50fdfd3e4114fde6dc442a56681926c4d7e5b6b0d","src/unix/linux_like/linux/gnu/mod.rs":"08c8e94116dd5bc3e78bd9118647169d6decfbab4b15c6d4f2fc378c2d802cd1","src/unix/linux_like/linux/gnu/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/mod.rs":"8fbd8e1d91f9e748755e11be5c385d9ba2c03acff741b4f75100d679cbcc44bf","src/unix/linux_like/linux/musl/b32/arm/align.rs":"3e8ac052c1043764776b54c93ba4260e061df998631737a897d9d47d54f7b80c","src/unix/linux_like/linux/musl/b32/arm/mod.rs":"273f58d7483c7b562725fba71ff0b1f9685258c040f7f4830032aa5f42eced23","src/unix/linux_like/linux/musl/b32/hexagon.rs":"a8811791809672be8338e6e27d1c4fcf383c2f26585be8bf9ab2923b219de032","src/unix/linux_like/linux/musl/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/musl/b32/mips/mod.rs":"33dfff5266bbc50c36d93e7b15381b9b9245031aa49e3db811b8984dd81851c0","src/unix/linux_like/linux/musl/b32/mod.rs":"8ede3985e6243882814ce91e8ce543e7edbafc0cee5932816072b6f14207a671","src/unix/linux_like/linux/musl/b32/powerpc.rs":"bdfed99eb8beb541cc026a86eb99622687eecf603deb35204fee70f5464ad225","src/unix/linux_like/linux/musl/b32/x86/align.rs":"08e77fbd7435d7dec2ff56932433bece3f02e47ce810f89004a275a86d39cbe1","src/unix/linux_like/linux/musl/b32/x86/mod.rs":"c34c06d1a2f02a761825a49ad6b37393c4f31afb9a3347de0a0c61979634b9b2","src/unix/linux_like/linux/musl/b64/aarch64/align.rs":"798a9229d70ce235394f2dd625f6c4c1e10519a94382dc5b091952b638ae2928","src/unix/linux_like/linux/musl/b64/aarch64/mod.rs":"3f01dbb2155877208ba58908396f75c7d3f57015662acb46cb19be6b2e81310b","src/unix/linux_like/linux/musl/b64/mips64.rs":"2744895451f3a777fbe54f7f2695be53310b965fd62084c9b7e9121c7fe28346","src/unix/linux_like/linux/musl/b64/mod.rs":"d18abc0aeba2e26342bf3416a4dba0836db2bb0ee013b0a39629475cf8640289","src/unix/linux_like/linux/musl/b64/powerpc64.rs":"028d235cb9d5af1b80e287b52373640532752ddce4812dee831948c6db4d434b","src/unix/linux_like/linux/musl/b64/s390x.rs":"38bbf839c22a07a46fd5b195812cf8a4d2966611a62213a5b4972422a7e5b8cc","src/unix/linux_like/linux/musl/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/musl/b64/x86_64/mod.rs":"aeb436f2575e4e34eb88b597923e480e1e8214b1c8be7f1e41d63c8a0dd9c78b","src/unix/linux_like/linux/musl/mod.rs":"1a8ff52e8f3c52ad53a0d423fae3d79a8f7e07a0b83d5ff9b759eb2a421bda9a","src/unix/linux_like/linux/no_align.rs":"5ed04c53bf9d27da9b4d65ba7625c6ac53330162683d1b3df98950caafa3507b","src/unix/linux_like/linux/uclibc/align.rs":"9ed16138d8e439bd90930845a65eafa7ebd67366e6bf633936d44014f6e4c959","src/unix/linux_like/linux/uclibc/arm/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/uclibc/arm/mod.rs":"9b691eeec0a9bf7b2abb87e09062d2c148d18e11c96ecad0edd0b74d1d0509fd","src/unix/linux_like/linux/uclibc/arm/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/uclibc/mips/mips32/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/uclibc/mips/mips32/mod.rs":"18753a99b820d69e062e3ba22a63fa86577b6dcc42f740479c7be1a4c658e1be","src/unix/linux_like/linux/uclibc/mips/mips32/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/uclibc/mips/mips64/align.rs":"a7bdcb18a37a2d91e64d5fad83ea3edc78f5412adb28f77ab077dbb26dd08b2d","src/unix/linux_like/linux/uclibc/mips/mips64/mod.rs":"e3085ba56cfbc528d7c3c55065880603238c333b6047ef51c58177508a487fcd","src/unix/linux_like/linux/uclibc/mips/mips64/no_align.rs":"4a18e3875698c85229599225ac3401a2a40da87e77b2ad4ef47c6fcd5a24ed30","src/unix/linux_like/linux/uclibc/mips/mod.rs":"4320e8731666e30f850d45d51cd59311e23cd22dad5d04b3be98a6419e70e0a1","src/unix/linux_like/linux/uclibc/mod.rs":"0438ffcfa951516cbfdbd7bdc31ccee06614d5150fd271ca6ba9ba06890041ad","src/unix/linux_like/linux/uclibc/no_align.rs":"3f28637046524618adaa1012e26cb7ffe94b9396e6b518cccdc69d59f274d709","src/unix/linux_like/linux/uclibc/x86_64/l4re.rs":"bb31053d6403091e11f95ac2203982f279f8b984a19adf30796878c45fdd8c25","src/unix/linux_like/linux/uclibc/x86_64/mod.rs":"02e21c0550a423a3f6db0a0af6a0f37cf5937feb2562a490e0ad0e09a8d9fc77","src/unix/linux_like/linux/uclibc/x86_64/other.rs":"42c3f71e58cabba373f6a55a623f3c31b85049eb64824c09c2b082b3b2d6a0a8","src/unix/linux_like/mod.rs":"35e17aa16019a82bb1667c43a97ecef151c16ecb5f489793adac918e704e21de","src/unix/mod.rs":"a5fbb90b99244f04bb37dc7d79d56261f5c5a41e9a09b7958aed9a2b4882eae8","src/unix/newlib/aarch64/mod.rs":"bb269c1468a9676442554600e87417079a787fe6220dfc23b3109639259e8710","src/unix/newlib/align.rs":"28aaf87fafbc6b312622719d472d8cf65f9e5467d15339df5f73e66d8502b28a","src/unix/newlib/arm/mod.rs":"c71be856bfd7f576b2db28af9f680211cbe6c1cac7d537bbc8020b39591af07c","src/unix/newlib/mod.rs":"407fe7e3c77f4c4c129788b3888a7da5d4b7b818ed3e96abb8de8cd780f83fb6","src/unix/newlib/no_align.rs":"e0743b2179495a9514bc3a4d1781e492878c4ec834ee0085d0891dd1712e82fb","src/unix/newlib/powerpc/mod.rs":"2d0f7af28b47f7a2a6c210ebd1c1f33ed8eac62e56b5af2b856de2ad3fdc5187","src/unix/newlib/xtensa/mod.rs":"08b314a27797ee27989f48f5a0e66e0d73670071ceabd341076cdce7ea67201c","src/unix/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/unix/redox/mod.rs":"aa2fdf95ead6cde2937f2f0e7e0c72fdf2a6827d8b1bac647d3ca79e4d409348","src/unix/solarish/compat.rs":"b07a5bfac925eb012003a459ba6bddbd3bfa9c44b3394da2ac5a602e54beae9c","src/unix/solarish/illumos.rs":"e01acc1b176e15268ac0ca4d1de50bf372ba80a465af35cd612c8f7e702baf92","src/unix/solarish/mod.rs":"be9f7a37d17a7616f6dbebd871fe4ae83612af6b582ebf153284cff1e7162334","src/unix/solarish/solaris.rs":"65b005453aefa9b9d4fc860fe77cfec80d8c97a51342b15daf55fc3e808bb384","src/vxworks/aarch64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/arm.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/mod.rs":"9caf6ff3faad5b39c9deb8eae497a61ef15aa5e03aa409a16299e700240c3b63","src/vxworks/powerpc.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/powerpc64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/x86.rs":"552f007f38317620b23889cb7c49d1d115841252439060122f52f434fbc6e5ba","src/vxworks/x86_64.rs":"018d92be3ad628a129eff9f2f5dfbc0883d8b8e5f2fa917b900a7f98ed6b514a","src/wasi.rs":"69460feb515652ec62ff258ccba4ed46738ee472938e78a3c34cbbf7a0e865c1","src/windows/gnu/align.rs":"b2c13ec1b9f3b39a75c452c80c951dff9d0215e31d77e883b4502afb31794647","src/windows/gnu/mod.rs":"3c8c7edb7cdf5d0c44af936db2a94869585c69dfabeef30571b4f4e38375767a","src/windows/mod.rs":"a0752b528fe6239536b9e915806326b20dc06183f078592b7394a10f5f56a621","src/windows/msvc.rs":"ea6d87a6a9cd668261b1c043e7c36cf599e80b5d09f6e4502e85daa4797c7927","tests/const_fn.rs":"cb75a1f0864f926aebe79118fc34d51a0d1ade2c20a394e7774c7e545f21f1f4"},"package":"9385f66bf6105b241aa65a61cb923ef20efc665cb9f9bb50ac2f0c4b7f378d41"}
18\ No newline at end of file
19+{"files":{"CONTRIBUTING.md":"752eea5a703d11b485c6b5f195f51bd2c79aa5159b619ce09555c779e1fb586b","Cargo.toml":"c65ce090d2ce0144faeb8d9ed9039d698ab19d92eee1121ef234238041ec6153","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"a8d47ff51ca256f56a8932dba07660672dbfe3004257ca8de708aac1415937a1","README.md":"8228847944f1332882fbb00275b6f30e4a8aad08a13569c25d52cac012cc2a47","build.rs":"770bf9c7c799dd3536b1e716cb42e7b5569cb4721f02e1d67dd2b932718dea2c","rustfmt.toml":"eaa2ea84fc1ba0359b77680804903e07bb38d257ab11986b95b158e460f787b2","src/fixed_width_ints.rs":"34c60f12ec5eeb90f13ec3b954427532111c2446e69617616a97aefc1086a9f1","src/fuchsia/aarch64.rs":"378776a9e40766154a54c94c2a7b4675b5c302a38e6e42da99e67bfbaee60e56","src/fuchsia/align.rs":"ae1cf8f011a99737eabeb14ffff768e60f13b13363d7646744dbb0f443dab3d6","src/fuchsia/mod.rs":"e992965c141308f1ab38c9646b6197b308143dedd2771b6df2f12eb5909ce663","src/fuchsia/no_align.rs":"303f3f1b255e0088b5715094353cf00476131d8e94e6aebb3f469557771c8b8a","src/fuchsia/x86_64.rs":"93a3632b5cf67d2a6bcb7dc0a558605252d5fe689e0f38d8aa2ec5852255ac87","src/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/hermit/mod.rs":"d3bfce41e4463d4be8020a2d063c9bfa8b665f45f1cc6cbf3163f5d01e7cb21f","src/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/lib.rs":"d4f7452c0fe720f3a961b918b74ec86d19cef33e6b4aac08efbbad6f6d818e09","src/macros.rs":"7844312c233a6889fa15395fe3106f6a8f6229211104a92f33ea3c9536eef763","src/psp.rs":"dd31aabd46171d474ec5828372e28588935120e7355c90c105360d8fa9264c1c","src/sgx.rs":"16a95cdefc81c5ee00d8353a60db363c4cc3e0f75abcd5d0144723f2a306ed1b","src/switch.rs":"9da3dd39b3de45a7928789926e8572d00e1e11a39e6f7289a1349aadce90edba","src/unix/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/unix/bsd/apple/b32/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b32/mod.rs":"6a4ce300da0d2b0db04b18548286603ffe4b47d679a41cf60f1902895894aa1f","src/unix/bsd/apple/b64/aarch64/align.rs":"f0c321265dd7671f16106b84951ac7dd77ed2e65c6623cbf2d29e76531984770","src/unix/bsd/apple/b64/aarch64/mod.rs":"46d5d061c7a74cbc09cbdfb3bee9a600867bf4e04c0e4d0ca6c817e6033b32e1","src/unix/bsd/apple/b64/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b64/mod.rs":"f5e278a1af7fb358891d1c9be4eb7e815aaca0c5cb738d0c3604ba2208a856f7","src/unix/bsd/apple/b64/x86_64/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b64/x86_64/mod.rs":"cc6878dd130c3f255418e4da74992ae9ba6a3cdb0530772de76c518077d3b12a","src/unix/bsd/apple/mod.rs":"3fe42dd50ccc476255ebe7c1f5bf65950f3d1b5a62fbf8ac91c8c29c945781bc","src/unix/bsd/freebsdlike/dragonfly/errno.rs":"8295b8bb0dfd38d2cdb4d9192cdeeb534cc6c3b208170e64615fa3e0edb3e578","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"06e3e4a8972f367275c7d1226a47cf86db13afad74a22344d91d1ec2ab043bd9","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"14f0bd6693967d4fedec904f7042bd51f2138cb843ec4df18c911b357417cdd2","src/unix/bsd/freebsdlike/freebsd/arm.rs":"59d6a670eea562fb87686e243e0a84603d29a2028a3d4b3f99ccc01bd04d2f47","src/unix/bsd/freebsdlike/freebsd/freebsd11/b64.rs":"9808d152c1196aa647f1b0f0cf84dac8c930da7d7f897a44975545e3d9d17681","src/unix/bsd/freebsdlike/freebsd/freebsd11/mod.rs":"6523af60c0e4937ad374003c1653e9e721f5b6f11572c747732f76522d07d034","src/unix/bsd/freebsdlike/freebsd/freebsd12/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs":"e777354db19a183fba4c616cb8c72ac88839528c5e2095bbdf7e47e8e5d2148e","src/unix/bsd/freebsdlike/freebsd/freebsd13/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs":"f3dc5dc3ca3e9cf999ee73222c4fc2200a06f92ce6e9dd6fc357d019bb4999a5","src/unix/bsd/freebsdlike/freebsd/mod.rs":"154dfc0825d39fb19fcf87ccc43bb3923d7faec1eac7b50464a6106dc44a32a8","src/unix/bsd/freebsdlike/freebsd/powerpc64.rs":"2dae3ecc87eac3b11657aa98915def55fc4b5c0de11fe26aae23329a54628a9a","src/unix/bsd/freebsdlike/freebsd/x86.rs":"c5005e3249eb7c93cfbac72a9e9272320d80ce7983da990ceb05a447f59a02c5","src/unix/bsd/freebsdlike/freebsd/x86_64/align.rs":"0e1f69a88fca1c32874b1daf5db3d446fefbe518dca497f096cc9168c39dde70","src/unix/bsd/freebsdlike/freebsd/x86_64/mod.rs":"6132aa0973454379674ea6cbc77e6eace1e1032dd9f38182071388a036f1bc08","src/unix/bsd/freebsdlike/mod.rs":"52a793977374d138c46e62b967e97dc5df06ef143701ffd8f4563658cbe77cf2","src/unix/bsd/mod.rs":"33df9bc4e6f92f78842defe59d9ac2c2afa0942ba990134ec0bf57aa76faa798","src/unix/bsd/netbsdlike/mod.rs":"c640eb7106c8af2ffee0644ea715528da3a8124fd2c9ca6ac617ab9eebc88787","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"b38fc046f9a40fea28bd26328b96629f4d5d63d7524936bd6af1865d401a8716","src/unix/bsd/netbsdlike/netbsd/arm.rs":"58cdbb70b0d6f536551f0f3bb3725d2d75c4690db12c26c034e7d6ec4a924452","src/unix/bsd/netbsdlike/netbsd/mod.rs":"ff10f80b8182dc3a8fa5739bddd5362a2280f396b09d2da6c8adbf596d9643b0","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"ee7ff5d89d0ed22f531237b5059aa669df93a3b5c489fa641465ace8d405bf41","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"9489f4b3e4566f43bb12dfb92238960613dac7f6a45cc13068a8d152b902d7d9","src/unix/bsd/netbsdlike/netbsd/x86.rs":"20692320e36bfe028d1a34d16fe12ca77aa909cb02bda167376f98f1a09aefe7","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"135509edeaf3fb3f102d89d51ff1a8f82323497336a8dc7e1f0f23b5c2434b73","src/unix/bsd/netbsdlike/openbsd/aarch64.rs":"1dd5449dd1fd3d51e30ffdeeaece91d0aaf05c710e0ac699fecc5461cfa2c28e","src/unix/bsd/netbsdlike/openbsd/mod.rs":"04372b08f57319b08002c1a5e1b200723ed1293754ea5b7d12beafa735c0c2db","src/unix/bsd/netbsdlike/openbsd/sparc64.rs":"d04fd287afbaa2c5df9d48c94e8374a532a3ba491b424ddf018270c7312f4085","src/unix/bsd/netbsdlike/openbsd/x86.rs":"6f7f5c4fde2a2259eb547890cbd86570cea04ef85347d7569e94e679448bec87","src/unix/bsd/netbsdlike/openbsd/x86_64.rs":"e59b7fd65f68f8e857eec39e0c03bac1d3af6ddc26c9ba58494336b83659bb9b","src/unix/haiku/b32.rs":"69ae47fc52c6880e85416b4744500d5655c9ec6131cb737f3b649fceaadce15a","src/unix/haiku/b64.rs":"73e64db09275a8da8d50a13cce2cfa2b136036ddf3a930d2939f337fc995900b","src/unix/haiku/mod.rs":"34d74b3f86953c4bdba363b7b629fd3fc72d3842260ba208f91b9dc6024634ff","src/unix/haiku/native.rs":"7f43160df105a83a8527c59ad99b2578f479837a7c7d8bcdd5ee6607803e49f4","src/unix/hermit/aarch64.rs":"86048676e335944c37a63d0083d0f368ae10ceccefeed9debb3bbe08777fc682","src/unix/hermit/mod.rs":"859814f5df89e28fd4b345db399d181e11e7ed413841b6ff703a1fcbdbf013ae","src/unix/hermit/x86_64.rs":"ab832b7524e5fb15c49ff7431165ab1a37dc4667ae0b58e8306f4c539bfa110c","src/unix/linux_like/android/b32/arm.rs":"d611801c875a1066ff596ba813a80c1689aa54489bbd5bd8af4610c786d97a36","src/unix/linux_like/android/b32/mod.rs":"87c46d1ce6899df80b5eea1ca4fd30bc437028e281ea16b658209c2a9b4edbec","src/unix/linux_like/android/b32/x86/align.rs":"812914e4241df82e32b12375ca3374615dc3a4bdd4cf31f0423c5815320c0dab","src/unix/linux_like/android/b32/x86/mod.rs":"8388bd3a0fcb5636bf965eee6dc95ae6860b85a2b555b387c868aa4d4e01ec89","src/unix/linux_like/android/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/android/b64/aarch64/mod.rs":"db23f94bc3ed46a0967dde748f0d4566fc885cc6171d0555007f3398ff99a708","src/unix/linux_like/android/b64/mod.rs":"e3078e856e43fde9b57d8a5aa840a590f2e18517a3e8de23e9c2a3d798596f43","src/unix/linux_like/android/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/android/b64/x86_64/mod.rs":"e84176d838e663d351450bad218715db1fafbb531e47ea0e262cbb45829dae89","src/unix/linux_like/android/mod.rs":"ead1d5880fa288e11470e560e119c29b16198a0a1bbd853c51e10b1bf4db7583","src/unix/linux_like/emscripten/align.rs":"86c95cbed7a7161b1f23ee06843e7b0e2340ad92b2cb86fe2a8ef3e0e8c36216","src/unix/linux_like/emscripten/mod.rs":"d4c59585ca4802029a41e269092ccfa20f982b352a74abc54d3e7edc3102fb05","src/unix/linux_like/emscripten/no_align.rs":"0128e4aa721a9902754828b61b5ec7d8a86619983ed1e0544a85d35b1051fad6","src/unix/linux_like/linux/align.rs":"213e70ebed2703e14a9cf17666b21ecbf180b7bff7fa22fdbb36dbbd52df326d","src/unix/linux_like/linux/arch/generic/mod.rs":"ff1fe8fad4ea15d9bec3db25efcfcb4939190c5189f86cfa4d05825aa8c10956","src/unix/linux_like/linux/arch/mips/mod.rs":"e4a980b002105aaa057eb6568e1e2c6168ade5c00e13a31ef67e316ddffdb900","src/unix/linux_like/linux/arch/mod.rs":"466a29622e47c6c7f1500682b2eb17f5566dd81b322cd6348f0fdd355cec593a","src/unix/linux_like/linux/arch/powerpc/mod.rs":"1789eb5b41f75c29239795124a4a7cdcf7c8d213b88cf581b2f5bda08d7cf15b","src/unix/linux_like/linux/arch/sparc/mod.rs":"ded708124ee610267d011dee31fb02d1ec697c334aa822776ec95a7ddf6fc541","src/unix/linux_like/linux/gnu/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/gnu/b32/arm/align.rs":"3fed009dc9af3cc81be7087da9d2d7d1f39845e4497e290259c5cdbae25f039d","src/unix/linux_like/linux/gnu/b32/arm/mod.rs":"07adf9f4b96854062db518aaf08521fde0ad4a21a5c049efccba437bd97b2b5a","src/unix/linux_like/linux/gnu/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/gnu/b32/mips/mod.rs":"1cb5c0c9df3af2bbe131a91593583259fac9118931744c8435e197a394eb0462","src/unix/linux_like/linux/gnu/b32/mod.rs":"1e05278ab6295e95165d0fab1698bdc82a511bcbda3250093af4e5edf08991f8","src/unix/linux_like/linux/gnu/b32/powerpc.rs":"0cd7348badb9c4f8a0db31a2503b30c456a2bfcc7a0e5919762b1e12f912c5ad","src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs":"9c628cd97806181dc4d34b072f63fe1eb42f08108712002e0628ffe27f2fa93f","src/unix/linux_like/linux/gnu/b32/sparc/align.rs":"21adbed27df73e2d1ed934aaf733a643003d7baf2bde9c48ea440895bcca6d41","src/unix/linux_like/linux/gnu/b32/sparc/mod.rs":"1bcec269a8416ccc48a384ca5765eaaa23f30f39f32311f50008ef4eeadafb2f","src/unix/linux_like/linux/gnu/b32/x86/align.rs":"e4bafdc4a519a7922a81b37a62bbfd1177a2f620890eef8f1fbc47162e9eb413","src/unix/linux_like/linux/gnu/b32/x86/mod.rs":"5317dbf2323577b89370bbee3894882b89d8333176db4f7b271ddc2f036ef43c","src/unix/linux_like/linux/gnu/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/linux/gnu/b64/aarch64/ilp32.rs":"21a21503ef2e095f4371044915d4bfb07a8578011cb5c713cd9f45947b0b5730","src/unix/linux_like/linux/gnu/b64/aarch64/lp64.rs":"e78c3cd197f44832338b414d1a9bc0d194f44c74db77bd7bf830c1fff62b2690","src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs":"c3730792dabcc166d8fd22929ef2633d49bc626875382dfcd401e8e125fb7a84","src/unix/linux_like/linux/gnu/b64/mips64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/mips64/mod.rs":"68bcb71bbfccb4e8648948e494366d94767ce96f36daab9c1329375cdd32a459","src/unix/linux_like/linux/gnu/b64/mod.rs":"7bf5c9813032db77b964ccb90bdce15236ae9ea06ea185595278ea4565c21b7b","src/unix/linux_like/linux/gnu/b64/powerpc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs":"dbb8905e363ed4a2dfb984554ad9b6389d27f6a2d599ec2d80e38a6c7551a019","src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs":"18edaa89c9746125863ff53182e0ef32cb1e1612e1ed9a2672558a9de85440e9","src/unix/linux_like/linux/gnu/b64/s390x.rs":"d9bb4e524e70d6fef49e0f77d89a92f478fd95d9a1aea32f4dc845275a7465d4","src/unix/linux_like/linux/gnu/b64/sparc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs":"26fda11bdce99372c2c246e60866b56d98beb9fb49a2f6b69347ecfd03d18255","src/unix/linux_like/linux/gnu/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs":"5a5ce7c5c92f60d8900dce63d363a38f3126aaf5be981710e172bec96ef95ac6","src/unix/linux_like/linux/gnu/b64/x86_64/not_x32.rs":"f775ac2b754f90b63053fe22afe1d19d306b5404995568d6805baa9249fb617f","src/unix/linux_like/linux/gnu/b64/x86_64/x32.rs":"4ba1b58468f55254717366f50fdfd3e4114fde6dc442a56681926c4d7e5b6b0d","src/unix/linux_like/linux/gnu/mod.rs":"08c8e94116dd5bc3e78bd9118647169d6decfbab4b15c6d4f2fc378c2d802cd1","src/unix/linux_like/linux/gnu/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/mod.rs":"8fbd8e1d91f9e748755e11be5c385d9ba2c03acff741b4f75100d679cbcc44bf","src/unix/linux_like/linux/musl/b32/arm/align.rs":"3e8ac052c1043764776b54c93ba4260e061df998631737a897d9d47d54f7b80c","src/unix/linux_like/linux/musl/b32/arm/mod.rs":"273f58d7483c7b562725fba71ff0b1f9685258c040f7f4830032aa5f42eced23","src/unix/linux_like/linux/musl/b32/hexagon.rs":"a8811791809672be8338e6e27d1c4fcf383c2f26585be8bf9ab2923b219de032","src/unix/linux_like/linux/musl/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/musl/b32/mips/mod.rs":"33dfff5266bbc50c36d93e7b15381b9b9245031aa49e3db811b8984dd81851c0","src/unix/linux_like/linux/musl/b32/mod.rs":"8ede3985e6243882814ce91e8ce543e7edbafc0cee5932816072b6f14207a671","src/unix/linux_like/linux/musl/b32/powerpc.rs":"bdfed99eb8beb541cc026a86eb99622687eecf603deb35204fee70f5464ad225","src/unix/linux_like/linux/musl/b32/x86/align.rs":"08e77fbd7435d7dec2ff56932433bece3f02e47ce810f89004a275a86d39cbe1","src/unix/linux_like/linux/musl/b32/x86/mod.rs":"c34c06d1a2f02a761825a49ad6b37393c4f31afb9a3347de0a0c61979634b9b2","src/unix/linux_like/linux/musl/b64/aarch64/align.rs":"798a9229d70ce235394f2dd625f6c4c1e10519a94382dc5b091952b638ae2928","src/unix/linux_like/linux/musl/b64/aarch64/mod.rs":"3f01dbb2155877208ba58908396f75c7d3f57015662acb46cb19be6b2e81310b","src/unix/linux_like/linux/musl/b64/mips64.rs":"2744895451f3a777fbe54f7f2695be53310b965fd62084c9b7e9121c7fe28346","src/unix/linux_like/linux/musl/b64/mod.rs":"d847206d9f2d594c8febe780a938cdccf40d985dafc11e90f235947735a09bac","src/unix/linux_like/linux/musl/b64/powerpc64.rs":"028d235cb9d5af1b80e287b52373640532752ddce4812dee831948c6db4d434b","src/unix/linux_like/linux/musl/b64/s390x.rs":"38bbf839c22a07a46fd5b195812cf8a4d2966611a62213a5b4972422a7e5b8cc","src/unix/linux_like/linux/musl/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/musl/b64/x86_64/mod.rs":"aeb436f2575e4e34eb88b597923e480e1e8214b1c8be7f1e41d63c8a0dd9c78b","src/unix/linux_like/linux/musl/mod.rs":"bc727b710a7ba23980ad13ad95d360070759074ff5e8ee4522501d256472862e","src/unix/linux_like/linux/musl/b64/riscv64/mod.rs":"e0591197f0f9ebee3addb1a439f3db4d403712a859e76066d0484ee98a9ff724","src/unix/linux_like/linux/no_align.rs":"5ed04c53bf9d27da9b4d65ba7625c6ac53330162683d1b3df98950caafa3507b","src/unix/linux_like/linux/uclibc/align.rs":"9ed16138d8e439bd90930845a65eafa7ebd67366e6bf633936d44014f6e4c959","src/unix/linux_like/linux/uclibc/arm/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/uclibc/arm/mod.rs":"9b691eeec0a9bf7b2abb87e09062d2c148d18e11c96ecad0edd0b74d1d0509fd","src/unix/linux_like/linux/uclibc/arm/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/uclibc/mips/mips32/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/uclibc/mips/mips32/mod.rs":"18753a99b820d69e062e3ba22a63fa86577b6dcc42f740479c7be1a4c658e1be","src/unix/linux_like/linux/uclibc/mips/mips32/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/uclibc/mips/mips64/align.rs":"a7bdcb18a37a2d91e64d5fad83ea3edc78f5412adb28f77ab077dbb26dd08b2d","src/unix/linux_like/linux/uclibc/mips/mips64/mod.rs":"e3085ba56cfbc528d7c3c55065880603238c333b6047ef51c58177508a487fcd","src/unix/linux_like/linux/uclibc/mips/mips64/no_align.rs":"4a18e3875698c85229599225ac3401a2a40da87e77b2ad4ef47c6fcd5a24ed30","src/unix/linux_like/linux/uclibc/mips/mod.rs":"4320e8731666e30f850d45d51cd59311e23cd22dad5d04b3be98a6419e70e0a1","src/unix/linux_like/linux/uclibc/mod.rs":"0438ffcfa951516cbfdbd7bdc31ccee06614d5150fd271ca6ba9ba06890041ad","src/unix/linux_like/linux/uclibc/no_align.rs":"3f28637046524618adaa1012e26cb7ffe94b9396e6b518cccdc69d59f274d709","src/unix/linux_like/linux/uclibc/x86_64/l4re.rs":"bb31053d6403091e11f95ac2203982f279f8b984a19adf30796878c45fdd8c25","src/unix/linux_like/linux/uclibc/x86_64/mod.rs":"02e21c0550a423a3f6db0a0af6a0f37cf5937feb2562a490e0ad0e09a8d9fc77","src/unix/linux_like/linux/uclibc/x86_64/other.rs":"42c3f71e58cabba373f6a55a623f3c31b85049eb64824c09c2b082b3b2d6a0a8","src/unix/linux_like/mod.rs":"35e17aa16019a82bb1667c43a97ecef151c16ecb5f489793adac918e704e21de","src/unix/mod.rs":"a5fbb90b99244f04bb37dc7d79d56261f5c5a41e9a09b7958aed9a2b4882eae8","src/unix/newlib/aarch64/mod.rs":"bb269c1468a9676442554600e87417079a787fe6220dfc23b3109639259e8710","src/unix/newlib/align.rs":"28aaf87fafbc6b312622719d472d8cf65f9e5467d15339df5f73e66d8502b28a","src/unix/newlib/arm/mod.rs":"c71be856bfd7f576b2db28af9f680211cbe6c1cac7d537bbc8020b39591af07c","src/unix/newlib/mod.rs":"407fe7e3c77f4c4c129788b3888a7da5d4b7b818ed3e96abb8de8cd780f83fb6","src/unix/newlib/no_align.rs":"e0743b2179495a9514bc3a4d1781e492878c4ec834ee0085d0891dd1712e82fb","src/unix/newlib/powerpc/mod.rs":"2d0f7af28b47f7a2a6c210ebd1c1f33ed8eac62e56b5af2b856de2ad3fdc5187","src/unix/newlib/xtensa/mod.rs":"08b314a27797ee27989f48f5a0e66e0d73670071ceabd341076cdce7ea67201c","src/unix/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/unix/redox/mod.rs":"aa2fdf95ead6cde2937f2f0e7e0c72fdf2a6827d8b1bac647d3ca79e4d409348","src/unix/solarish/compat.rs":"b07a5bfac925eb012003a459ba6bddbd3bfa9c44b3394da2ac5a602e54beae9c","src/unix/solarish/illumos.rs":"e01acc1b176e15268ac0ca4d1de50bf372ba80a465af35cd612c8f7e702baf92","src/unix/solarish/mod.rs":"be9f7a37d17a7616f6dbebd871fe4ae83612af6b582ebf153284cff1e7162334","src/unix/solarish/solaris.rs":"65b005453aefa9b9d4fc860fe77cfec80d8c97a51342b15daf55fc3e808bb384","src/vxworks/aarch64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/arm.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/mod.rs":"9caf6ff3faad5b39c9deb8eae497a61ef15aa5e03aa409a16299e700240c3b63","src/vxworks/powerpc.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/powerpc64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/x86.rs":"552f007f38317620b23889cb7c49d1d115841252439060122f52f434fbc6e5ba","src/vxworks/x86_64.rs":"018d92be3ad628a129eff9f2f5dfbc0883d8b8e5f2fa917b900a7f98ed6b514a","src/wasi.rs":"69460feb515652ec62ff258ccba4ed46738ee472938e78a3c34cbbf7a0e865c1","src/windows/gnu/align.rs":"b2c13ec1b9f3b39a75c452c80c951dff9d0215e31d77e883b4502afb31794647","src/windows/gnu/mod.rs":"3c8c7edb7cdf5d0c44af936db2a94869585c69dfabeef30571b4f4e38375767a","src/windows/mod.rs":"a0752b528fe6239536b9e915806326b20dc06183f078592b7394a10f5f56a621","src/windows/msvc.rs":"ea6d87a6a9cd668261b1c043e7c36cf599e80b5d09f6e4502e85daa4797c7927","tests/const_fn.rs":"cb75a1f0864f926aebe79118fc34d51a0d1ade2c20a394e7774c7e545f21f1f4"},"package":"9385f66bf6105b241aa65a61cb923ef20efc665cb9f9bb50ac2f0c4b7f378d41"}
20\ No newline at end of file
21--
222.27.0
23
diff --git a/meta/recipes-devtools/rust/libstd-rs.inc b/meta/recipes-devtools/rust/libstd-rs.inc
new file mode 100644
index 0000000000..987956344a
--- /dev/null
+++ b/meta/recipes-devtools/rust/libstd-rs.inc
@@ -0,0 +1,40 @@
1SUMMARY = "Rust standard libaries"
2HOMEPAGE = "http://www.rust-lang.org"
3SECTION = "devel"
4LICENSE = "MIT | Apache-2.0"
5LIC_FILES_CHKSUM = "file://../../COPYRIGHT;md5=93a95682d51b4cb0a633a97046940ef0"
6
7RUSTLIB_DEP = ""
8inherit cargo
9
10DEPENDS:append:libc-musl = " libunwind"
11# rv32 does not have libunwind ported yet
12DEPENDS:remove:riscv32 = "libunwind"
13DEPENDS:remove:riscv64 = "libunwind"
14
15# Embed bitcode in order to allow compiling both with and without LTO
16RUSTFLAGS += "-Cembed-bitcode=yes"
17# Needed so cargo can find libbacktrace
18RUSTFLAGS += "-L ${STAGING_LIBDIR} -C link-arg=-Wl,-soname,libstd.so"
19
20S = "${RUSTSRC}/src/libstd"
21
22CARGO_FEATURES ?= "panic-unwind backtrace"
23CARGO_BUILD_FLAGS += "--features '${CARGO_FEATURES}'"
24CARGO_VENDORING_DIRECTORY = "${RUSTSRC}/vendor"
25
26do_compile:prepend () {
27 export CARGO_TARGET_DIR="${B}"
28 # For Rust 1.13.0 and newer
29 export RUSTC_BOOTSTRAP="1"
30}
31
32do_install () {
33 mkdir -p ${D}${rustlibdir}
34
35 # With the incremental build support added in 1.24, the libstd deps directory also includes dependency
36 # files that get installed. Those are really only needed to incrementally rebuild the libstd library
37 # itself and don't need to be installed.
38 rm -f ${B}/${TARGET_SYS}/${BUILD_DIR}/deps/*.d
39 cp ${B}/${TARGET_SYS}/${BUILD_DIR}/deps/* ${D}${rustlibdir}
40}
diff --git a/meta/recipes-devtools/rust/libstd-rs_1.51.0.bb b/meta/recipes-devtools/rust/libstd-rs_1.51.0.bb
new file mode 100644
index 0000000000..b4c629949c
--- /dev/null
+++ b/meta/recipes-devtools/rust/libstd-rs_1.51.0.bb
@@ -0,0 +1,12 @@
1require rust-source-${PV}.inc
2require libstd-rs.inc
3
4SRC_URI += "file://riscv-march.patch;patchdir=../../ \
5 file://rv64gc.patch;patchdir=../../ \
6 file://0001-Add-base-definitions-for-riscv64-musl.patch;patchdir=../../ \
7 file://0002-FIXUP-linux-musl-mod.rs-add-riscv64-to-b64-set.patch;patchdir=../../ \
8 file://0003-FIXUP-Correct-definitions-to-match-musl.patch;patchdir=../../ \
9 file://0004-Update-1.51.0-checksums-for-modified-files.patch;patchdir=../../ \
10"
11# libstd moved from src/libstd to library/std in 1.47+
12S = "${RUSTSRC}/library/std"
diff --git a/meta/recipes-devtools/rust/libstd-rs_1.54.0.bb b/meta/recipes-devtools/rust/libstd-rs_1.54.0.bb
new file mode 100644
index 0000000000..1239f6a176
--- /dev/null
+++ b/meta/recipes-devtools/rust/libstd-rs_1.54.0.bb
@@ -0,0 +1,11 @@
1require rust-source-${PV}.inc
2require libstd-rs.inc
3
4SRC_URI += " \
5 file://0005-Add-base-definitions-for-riscv64-musl-libc-0.2.93.patch;patchdir=../../ \
6 file://0006-FIXUP-linux-musl-mod.rs-add-riscv64-to-b64-set-libc-.patch;patchdir=../../ \
7 file://0007-FIXUP-Correct-definitions-to-match-musl-libc-0.2.93.patch;patchdir=../../ \
8 file://0008-Update-checksums-for-modified-files-for-rust-1.54.0-.patch;patchdir=../../ \
9 "
10# libstd moved from src/libstd to library/std in 1.47+
11S = "${RUSTSRC}/library/std"
diff --git a/meta/recipes-devtools/rust/rust-common.inc b/meta/recipes-devtools/rust/rust-common.inc
new file mode 100644
index 0000000000..350517c723
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-common.inc
@@ -0,0 +1,346 @@
1
2# Right now this is focused on arm-specific tune features.
3# We get away with this for now as one can only use x86-64 as the build host
4# (not arm).
5# Note that TUNE_FEATURES is _always_ refering to the target, so we really
6# don't want to use this for the host/build.
7def llvm_features_from_tune(d):
8 f = []
9 feat = d.getVar('TUNE_FEATURES')
10 if not feat:
11 return []
12 feat = frozenset(feat.split())
13
14 mach_overrides = d.getVar('MACHINEOVERRIDES')
15 mach_overrides = frozenset(mach_overrides.split(':'))
16
17 if 'vfpv4' in feat:
18 f.append("+vfp4")
19 if 'vfpv3' in feat:
20 f.append("+vfp3")
21 if 'vfpv3d16' in feat:
22 f.append("+d16")
23
24 if 'vfpv2' in feat or 'vfp' in feat:
25 f.append("+vfp2")
26
27 if 'neon' in feat:
28 f.append("+neon")
29
30 if 'mips32' in feat:
31 f.append("+mips32")
32
33 if 'mips32r2' in feat:
34 f.append("+mips32r2")
35
36 if target_is_armv7(d):
37 f.append('+v7')
38
39 if ('armv6' in mach_overrides) or ('armv6' in feat):
40 f.append("+v6")
41 if 'armv5te' in feat:
42 f.append("+strict-align")
43 f.append("+v5te")
44 elif 'armv5' in feat:
45 f.append("+strict-align")
46 f.append("+v5")
47
48 if ('armv4' in mach_overrides) or ('armv4' in feat):
49 f.append("+strict-align")
50
51 if 'dsp' in feat:
52 f.append("+dsp")
53
54 if 'thumb' in feat:
55 if d.getVar('ARM_THUMB_OPT') == "thumb":
56 if target_is_armv7(d):
57 f.append('+thumb2')
58 f.append("+thumb-mode")
59
60 if 'cortexa5' in feat:
61 f.append("+a5")
62 if 'cortexa7' in feat:
63 f.append("+a7")
64 if 'cortexa9' in feat:
65 f.append("+a9")
66 if 'cortexa15' in feat:
67 f.append("+a15")
68 if 'cortexa17' in feat:
69 f.append("+a17")
70 if ('riscv64' in feat) or ('riscv32' in feat):
71 f.append("+a,+c,+d,+f,+m")
72 return f
73
74# TARGET_CC_ARCH changes from build/cross/target so it'll do the right thing
75# this should go away when https://github.com/rust-lang/rust/pull/31709 is
76# stable (1.9.0?)
77def llvm_features_from_cc_arch(d):
78 f = []
79 feat = d.getVar('TARGET_CC_ARCH')
80 if not feat:
81 return []
82 feat = frozenset(feat.split())
83
84 if '-mmmx' in feat:
85 f.append("+mmx")
86 if '-msse' in feat:
87 f.append("+sse")
88 if '-msse2' in feat:
89 f.append("+sse2")
90 if '-msse3' in feat:
91 f.append("+sse3")
92 if '-mssse3' in feat:
93 f.append("+ssse3")
94 if '-msse4.1' in feat:
95 f.append("+sse4.1")
96 if '-msse4.2' in feat:
97 f.append("+sse4.2")
98 if '-msse4a' in feat:
99 f.append("+sse4a")
100 if '-mavx' in feat:
101 f.append("+avx")
102 if '-mavx2' in feat:
103 f.append("+avx2")
104
105 return f
106
107def llvm_features_from_target_fpu(d):
108 # TARGET_FPU can be hard or soft. +soft-float tell llvm to use soft float
109 # ABI. There is no option for hard.
110
111 fpu = d.getVar('TARGET_FPU', True)
112 return ["+soft-float"] if fpu == "soft" else []
113
114def llvm_features(d):
115 return ','.join(llvm_features_from_tune(d) +
116 llvm_features_from_cc_arch(d) +
117 llvm_features_from_target_fpu(d))
118
119
120## arm-unknown-linux-gnueabihf
121DATA_LAYOUT[arm] = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
122LLVM_TARGET[arm] = "${RUST_TARGET_SYS}"
123TARGET_ENDIAN[arm] = "little"
124TARGET_POINTER_WIDTH[arm] = "32"
125TARGET_C_INT_WIDTH[arm] = "32"
126MAX_ATOMIC_WIDTH[arm] = "64"
127FEATURES[arm] = "+v6,+vfp2"
128
129## armv7-unknown-linux-gnueabihf
130DATA_LAYOUT[armv7] = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
131LLVM_TARGET[armv7] = "${RUST_TARGET_SYS}"
132TARGET_ENDIAN[armv7] = "little"
133TARGET_POINTER_WIDTH[armv7] = "32"
134TARGET_C_INT_WIDTH[armv7] = "32"
135MAX_ATOMIC_WIDTH[armv7] = "64"
136FEATURES[armv7] = "+v7,+vfp2,+thumb2"
137
138## aarch64-unknown-linux-{gnu, musl}
139DATA_LAYOUT[aarch64] = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
140LLVM_TARGET[aarch64] = "${RUST_TARGET_SYS}"
141TARGET_ENDIAN[aarch64] = "little"
142TARGET_POINTER_WIDTH[aarch64] = "64"
143TARGET_C_INT_WIDTH[aarch64] = "32"
144MAX_ATOMIC_WIDTH[aarch64] = "128"
145
146## x86_64-unknown-linux-{gnu, musl}
147DATA_LAYOUT[x86_64] = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
148LLVM_TARGET[x86_64] = "${RUST_TARGET_SYS}"
149TARGET_ENDIAN[x86_64] = "little"
150TARGET_POINTER_WIDTH[x86_64] = "64"
151TARGET_C_INT_WIDTH[x86_64] = "32"
152MAX_ATOMIC_WIDTH[x86_64] = "64"
153
154## i686-unknown-linux-{gnu, musl}
155DATA_LAYOUT[i686] = "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128"
156LLVM_TARGET[i686] = "${RUST_TARGET_SYS}"
157TARGET_ENDIAN[i686] = "little"
158TARGET_POINTER_WIDTH[i686] = "32"
159TARGET_C_INT_WIDTH[i686] = "32"
160MAX_ATOMIC_WIDTH[i686] = "64"
161
162## XXX: a bit of a hack so qemux86 builds, clone of i686-unknown-linux-{gnu, musl} above
163DATA_LAYOUT[i586] = "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128"
164LLVM_TARGET[i586] = "${RUST_TARGET_SYS}"
165TARGET_ENDIAN[i586] = "little"
166TARGET_POINTER_WIDTH[i586] = "32"
167TARGET_C_INT_WIDTH[i586] = "32"
168MAX_ATOMIC_WIDTH[i586] = "64"
169
170## mips-unknown-linux-{gnu, musl}
171DATA_LAYOUT[mips] = "E-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64"
172LLVM_TARGET[mips] = "${RUST_TARGET_SYS}"
173TARGET_ENDIAN[mips] = "big"
174TARGET_POINTER_WIDTH[mips] = "32"
175TARGET_C_INT_WIDTH[mips] = "32"
176MAX_ATOMIC_WIDTH[mips] = "32"
177
178## mipsel-unknown-linux-{gnu, musl}
179DATA_LAYOUT[mipsel] = "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64"
180LLVM_TARGET[mipsel] = "${RUST_TARGET_SYS}"
181TARGET_ENDIAN[mipsel] = "little"
182TARGET_POINTER_WIDTH[mipsel] = "32"
183TARGET_C_INT_WIDTH[mipsel] = "32"
184MAX_ATOMIC_WIDTH[mipsel] = "32"
185
186## mips64-unknown-linux-{gnu, musl}
187DATA_LAYOUT[mips64] = "E-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128"
188LLVM_TARGET[mips64] = "${RUST_TARGET_SYS}"
189TARGET_ENDIAN[mips64] = "big"
190TARGET_POINTER_WIDTH[mips64] = "64"
191TARGET_C_INT_WIDTH[mips64] = "64"
192MAX_ATOMIC_WIDTH[mips64] = "64"
193
194## mips64el-unknown-linux-{gnu, musl}
195DATA_LAYOUT[mips64el] = "e-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128"
196LLVM_TARGET[mips64el] = "${RUST_TARGET_SYS}"
197TARGET_ENDIAN[mips64el] = "little"
198TARGET_POINTER_WIDTH[mips64el] = "64"
199TARGET_C_INT_WIDTH[mips64el] = "64"
200MAX_ATOMIC_WIDTH[mips64el] = "64"
201
202## powerpc-unknown-linux-{gnu, musl}
203DATA_LAYOUT[powerpc] = "E-m:e-p:32:32-i64:64-n32"
204LLVM_TARGET[powerpc] = "${RUST_TARGET_SYS}"
205TARGET_ENDIAN[powerpc] = "big"
206TARGET_POINTER_WIDTH[powerpc] = "32"
207TARGET_C_INT_WIDTH[powerpc] = "32"
208MAX_ATOMIC_WIDTH[powerpc] = "32"
209
210## powerpc64le-unknown-linux-{gnu, musl}
211DATA_LAYOUT[powerpc64le] = "e-m:e-i64:64-n32:64-v256:256:256-v512:512:512"
212LLVM_TARGET[powerpc64le] = "${RUST_TARGET_SYS}"
213TARGET_ENDIAN[powerpc64le] = "little"
214TARGET_POINTER_WIDTH[powerpc64le] = "64"
215TARGET_C_INT_WIDTH[powerpc64le] = "64"
216MAX_ATOMIC_WIDTH[powerpc64le] = "64"
217
218## riscv32-unknown-linux-{gnu, musl}
219DATA_LAYOUT[riscv32] = "e-m:e-p:32:32-i64:64-n32-S128"
220LLVM_TARGET[riscv32] = "${RUST_TARGET_SYS}"
221TARGET_ENDIAN[riscv32] = "little"
222TARGET_POINTER_WIDTH[riscv32] = "32"
223TARGET_C_INT_WIDTH[riscv32] = "32"
224MAX_ATOMIC_WIDTH[riscv32] = "32"
225
226## riscv64-unknown-linux-{gnu, musl}
227DATA_LAYOUT[riscv64] = "e-m:e-p:64:64-i64:64-i128:128-n64-S128"
228LLVM_TARGET[riscv64] = "${RUST_TARGET_SYS}"
229TARGET_ENDIAN[riscv64] = "little"
230TARGET_POINTER_WIDTH[riscv64] = "64"
231TARGET_C_INT_WIDTH[riscv64] = "64"
232MAX_ATOMIC_WIDTH[riscv64] = "64"
233
234def sys_for(d, thing):
235 return d.getVar('{}_SYS'.format(thing))
236
237def prefix_for(d, thing):
238 return d.getVar('{}_PREFIX'.format(thing))
239
240# Convert a normal arch (HOST_ARCH, TARGET_ARCH, BUILD_ARCH, etc) to something
241# rust's internals won't choke on.
242def arch_to_rust_target_arch(arch):
243 if arch == "i586" or arch == "i686":
244 return "x86"
245 elif arch == "mipsel":
246 return "mips"
247 elif arch == "mip64sel":
248 return "mips64"
249 elif arch == "armv7":
250 return "arm"
251 else:
252 return arch
253
254# generates our target CPU value
255def llvm_cpu(d):
256 cpu = d.getVar('PACKAGE_ARCH')
257 target = d.getVar('TRANSLATED_TARGET_ARCH')
258
259 trans = {}
260 trans['corei7-64'] = "corei7"
261 trans['core2-32'] = "core2"
262 trans['x86-64'] = "x86-64"
263 trans['i686'] = "i686"
264 trans['i586'] = "i586"
265 trans['powerpc'] = "powerpc"
266 trans['mips64'] = "mips64"
267 trans['mips64el'] = "mips64"
268 trans['riscv64'] = "generic-rv64"
269 trans['riscv32'] = "generic-rv32"
270
271 if target in ["mips", "mipsel"]:
272 feat = frozenset(d.getVar('TUNE_FEATURES').split())
273 if "mips32r2" in feat:
274 trans['mipsel'] = "mips32r2"
275 trans['mips'] = "mips32r2"
276 elif "mips32" in feat:
277 trans['mipsel'] = "mips32"
278 trans['mips'] = "mips32"
279
280 try:
281 return trans[cpu]
282 except:
283 return trans.get(target, "generic")
284
285TARGET_LLVM_CPU="${@llvm_cpu(d)}"
286TARGET_LLVM_FEATURES = "${@llvm_features(d)}"
287
288# class-native implies TARGET=HOST, and TUNE_FEATURES only describes the real
289# (original) target.
290TARGET_LLVM_FEATURES:class-native = "${@','.join(llvm_features_from_cc_arch(d))}"
291
292def rust_gen_target(d, thing, wd, features, cpu, arch):
293 import json
294 sys = sys_for(d, thing)
295 prefix = prefix_for(d, thing)
296
297 features = features or d.getVarFlag('FEATURES', arch) or ""
298 features = features.strip()
299
300 # build tspec
301 tspec = {}
302 tspec['llvm-target'] = d.getVarFlag('LLVM_TARGET', arch)
303 tspec['data-layout'] = d.getVarFlag('DATA_LAYOUT', arch)
304 tspec['max-atomic-width'] = int(d.getVarFlag('MAX_ATOMIC_WIDTH', arch))
305 tspec['target-pointer-width'] = d.getVarFlag('TARGET_POINTER_WIDTH', arch)
306 tspec['target-c-int-width'] = d.getVarFlag('TARGET_C_INT_WIDTH', arch)
307 tspec['target-endian'] = d.getVarFlag('TARGET_ENDIAN', arch)
308 tspec['arch'] = arch_to_rust_target_arch(arch)
309 tspec['os'] = "linux"
310 if "musl" in tspec['llvm-target']:
311 tspec['env'] = "musl"
312 else:
313 tspec['env'] = "gnu"
314 if "riscv64" in tspec['llvm-target']:
315 tspec['llvm-abiname'] = "lp64d"
316 if "riscv32" in tspec['llvm-target']:
317 tspec['llvm-abiname'] = "ilp32d"
318 tspec['vendor'] = "unknown"
319 tspec['target-family'] = "unix"
320 tspec['linker'] = "{}{}gcc".format(d.getVar('CCACHE'), prefix)
321 tspec['ar'] = "{}ar".format(prefix)
322 tspec['cpu'] = cpu
323 if features != "":
324 tspec['features'] = features
325 tspec['dynamic-linking'] = True
326 tspec['executables'] = True
327 tspec['linker-is-gnu'] = True
328 tspec['linker-flavor'] = "gcc"
329 tspec['has-rpath'] = True
330 tspec['has-elf-tls'] = True
331 tspec['position-independent-executables'] = True
332 tspec['panic-strategy'] = d.getVar("RUST_PANIC_STRATEGY")
333
334 # write out the target spec json file
335 with open(wd + sys + '.json', 'w') as f:
336 json.dump(tspec, f, indent=4)
337
338python do_rust_gen_targets () {
339 wd = d.getVar('WORKDIR') + '/targets/'
340 build_arch = d.getVar('BUILD_ARCH')
341 rust_gen_target(d, 'BUILD', wd, "", "generic", build_arch)
342}
343
344addtask rust_gen_targets after do_patch before do_compile
345do_rust_gen_targets[dirs] += "${WORKDIR}/targets"
346
diff --git a/meta/recipes-devtools/rust/rust-cross-canadian-common.inc b/meta/recipes-devtools/rust/rust-cross-canadian-common.inc
new file mode 100644
index 0000000000..c5d56bbeb4
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-cross-canadian-common.inc
@@ -0,0 +1,53 @@
1
2RUST_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR_NATIVE}/llvm-rust/bin/llvm-config"
3
4require rust-target.inc
5
6inherit cross-canadian
7
8DEPENDS += " \
9 virtual/${HOST_PREFIX}gcc-crosssdk \
10 virtual/nativesdk-libc rust-llvm-native \
11 virtual/${TARGET_PREFIX}compilerlibs \
12 virtual/nativesdk-${HOST_PREFIX}compilerlibs \
13 gcc-cross-${TARGET_ARCH} \
14 "
15
16# The host tools are likely not to be able to do the necessary operation on
17# the target architecturea. Alternatively one could check compatibility
18# between host/target.
19EXCLUDE_FROM_SHLIBS_${RUSTLIB_TARGET_PN} = "1"
20
21DEBUG_PREFIX_MAP = "-fdebug-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
22 -fdebug-prefix-map=${STAGING_DIR_HOST}= \
23 -fdebug-prefix-map=${STAGING_DIR_NATIVE}= \
24 "
25
26LLVM_TARGET[x86_64] = "${RUST_HOST_SYS}"
27python do_rust_gen_targets () {
28 wd = d.getVar('WORKDIR') + '/targets/'
29 rust_gen_target(d, 'TARGET', wd, d.getVar('TARGET_LLVM_FEATURES') or "", d.getVar('TARGET_LLVM_CPU'), d.getVar('TARGET_ARCH'))
30 rust_gen_target(d, 'HOST', wd, "", "generic", d.getVar('HOST_ARCH'))
31 rust_gen_target(d, 'BUILD', wd, "", "generic", d.getVar('BUILD_ARCH'))
32}
33
34INHIBIT_DEFAULT_RUST_DEPS = "1"
35
36export WRAPPER_TARGET_CC = "${CCACHE}${TARGET_PREFIX}gcc --sysroot=${STAGING_DIR_TARGET} ${TARGET_CC_ARCH} ${SECURITY_NOPIE_CFLAGS}"
37export WRAPPER_TARGET_CXX = "${CCACHE}${TARGET_PREFIX}g++ --sysroot=${STAGING_DIR_TARGET} ${TARGET_CC_ARCH} ${SECURITY_NOPIE_CFLAGS}"
38export WRAPPER_TARGET_CCLD = "${TARGET_PREFIX}gcc --sysroot=${STAGING_DIR_TARGET} ${TARGET_CC_ARCH} ${SECURITY_NOPIE_CFLAGS}"
39export WRAPPER_TARGET_LDFLAGS = "${TARGET_LDFLAGS}"
40export WRAPPER_TARGET_AR = "${TARGET_PREFIX}ar"
41
42python do_configure:prepend() {
43 targets = [d.getVar("TARGET_SYS", True), "{}-unknown-linux-gnu".format(d.getVar("HOST_ARCH", True))]
44 hosts = ["{}-unknown-linux-gnu".format(d.getVar("HOST_ARCH", True))]
45}
46
47INSANE_SKIP:${RUSTLIB_TARGET_PN} = "file-rdeps arch ldflags"
48SKIP_FILEDEPS:${RUSTLIB_TARGET_PN} = "1"
49
50INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
51INHIBIT_PACKAGE_STRIP = "1"
52INHIBIT_SYSROOT_STRIP = "1"
53
diff --git a/meta/recipes-devtools/rust/rust-cross-canadian.inc b/meta/recipes-devtools/rust/rust-cross-canadian.inc
new file mode 100644
index 0000000000..8bbbd61bdc
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-cross-canadian.inc
@@ -0,0 +1,78 @@
1
2require rust-cross-canadian-common.inc
3
4RUSTLIB_TARGET_PN = "rust-cross-canadian-rustlib-target-${TRANSLATED_TARGET_ARCH}"
5RUSTLIB_HOST_PN = "rust-cross-canadian-rustlib-host-${TRANSLATED_TARGET_ARCH}"
6RUSTLIB_SRC_PN = "rust-cross-canadian-src"
7RUSTLIB_PKGS = "${RUSTLIB_SRC_PN} ${RUSTLIB_TARGET_PN} ${RUSTLIB_HOST_PN}"
8PN = "rust-cross-canadian-${TRANSLATED_TARGET_ARCH}"
9
10PACKAGES = "${RUSTLIB_PKGS} ${PN}"
11RDEPENDS:${PN} += "${RUSTLIB_PKGS}"
12
13# The default behaviour of x.py changed in 1.47+ so now we need to
14# explicitly ask for the stage 2 compiler to be assembled.
15do_compile () {
16 rust_runx build --stage 2
17}
18
19do_install () {
20 # Rust requires /usr/lib to contain the libs.
21 # Similar story is with /usr/bin ruquiring `lib` to be at the same level.
22 # The required structure is retained for simplicity.
23 SYS_LIBDIR=$(dirname ${D}${libdir})
24 SYS_BINDIR=$(dirname ${D}${bindir})
25 RUSTLIB_DIR=${SYS_LIBDIR}/${TARGET_SYS}/rustlib
26
27 install -d "${SYS_BINDIR}"
28 cp build/${SNAPSHOT_BUILD_SYS}/stage2/bin/* ${SYS_BINDIR}
29 for i in ${SYS_BINDIR}/*; do
30 chrpath -r "\$ORIGIN/../lib" ${i}
31 done
32
33 install -d "${D}${libdir}"
34 cp -pRd build/${SNAPSHOT_BUILD_SYS}/stage2/lib/${TARGET_SYS}/*.so ${SYS_LIBDIR}
35 cp -pRd build/${SNAPSHOT_BUILD_SYS}/stage2/lib/${TARGET_SYS}/rustlib ${RUSTLIB_DIR}
36
37 for i in ${SYS_LIBDIR}/*.so; do
38 chrpath -r "\$ORIGIN/../lib" ${i}
39 done
40 for i in ${RUSTLIB_DIR}/*/lib/*.so; do
41 chrpath -d ${i}
42 done
43
44 install -m 0644 "${WORKDIR}/targets/${TARGET_SYS}.json" "${RUSTLIB_DIR}"
45
46 SRC_DIR=${RUSTLIB_DIR}/src/rust
47 install -d ${SRC_DIR}/src/llvm-project
48 cp -R --no-dereference build/${SNAPSHOT_BUILD_SYS}/stage2/lib/rustlib/src/rust/src/llvm-project/libunwind ${SRC_DIR}/src/llvm-project
49 cp -R --no-dereference build/${SNAPSHOT_BUILD_SYS}/stage2/lib/rustlib/src/rust/library ${SRC_DIR}
50 cp --no-dereference build/${SNAPSHOT_BUILD_SYS}/stage2/lib/rustlib/src/rust/Cargo.lock ${SRC_DIR}
51 # Remove executable bit from any files so then SDK doesn't try to relocate.
52 chmod -R -x+X ${SRC_DIR}
53
54 ENV_SETUP_DIR=${D}${base_prefix}/environment-setup.d
55 mkdir "${ENV_SETUP_DIR}"
56 ENV_SETUP_SH="${ENV_SETUP_DIR}/rust.sh"
57
58 cat <<- EOF > "${ENV_SETUP_SH}"
59 export RUSTFLAGS="--sysroot=\$OECORE_NATIVE_SYSROOT/usr -C link-arg=--sysroot=\$OECORE_TARGET_SYSROOT -L\$OECORE_NATIVE_SYSROOT/usr/lib/${TARGET_SYS}/rustlib/${TARGET_SYS}/lib"
60 export RUST_TARGET_PATH="\$OECORE_NATIVE_SYSROOT/usr/lib/${TARGET_SYS}/rustlib"
61 EOF
62
63 chown -R root.root ${D}
64}
65
66PKG_SYS_LIBDIR = "${SDKPATHNATIVE}/usr/lib"
67PKG_SYS_BINDIR = "${SDKPATHNATIVE}/usr/bin"
68PKG_RUSTLIB_DIR = "${PKG_SYS_LIBDIR}/${TARGET_SYS}/rustlib"
69FILES:${PN} = "${PKG_SYS_LIBDIR}/*.so ${PKG_SYS_BINDIR} ${base_prefix}/environment-setup.d"
70FILES:${RUSTLIB_TARGET_PN} = "${PKG_RUSTLIB_DIR}/${TARGET_SYS} ${PKG_RUSTLIB_DIR}/${TARGET_SYS}.json"
71FILES:${RUSTLIB_HOST_PN} = "${PKG_RUSTLIB_DIR}/${BUILD_ARCH}-unknown-linux-gnu"
72FILES:${RUSTLIB_SRC_PN} = "${PKG_RUSTLIB_DIR}/src"
73
74SUMMARY:${RUSTLIB_TARGET_PN} = "Rust cross canadian libaries for ${TARGET_SYS}"
75SUMMARY:${RUSTLIB_HOST_PN} = "Rust cross canadian libaries for ${HOST_SYS}"
76SUMMARY:${RUSTLIB_SRC_PN} = "Rust standard library sources for cross canadian toolchain"
77SUMMARY:${PN} = "Rust crost canadian compiler"
78
diff --git a/meta/recipes-devtools/rust/rust-cross-canadian_1.51.0.bb b/meta/recipes-devtools/rust/rust-cross-canadian_1.51.0.bb
new file mode 100644
index 0000000000..a5d02eb8d7
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-cross-canadian_1.51.0.bb
@@ -0,0 +1,6 @@
1require rust-cross-canadian.inc
2require rust-source-${PV}.inc
3require rust-snapshot-${PV}.inc
4
5FILESEXTRAPATHS:prepend := "${THISDIR}/rust:"
6
diff --git a/meta/recipes-devtools/rust/rust-cross-canadian_1.54.0.bb b/meta/recipes-devtools/rust/rust-cross-canadian_1.54.0.bb
new file mode 100644
index 0000000000..a5d02eb8d7
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-cross-canadian_1.54.0.bb
@@ -0,0 +1,6 @@
1require rust-cross-canadian.inc
2require rust-source-${PV}.inc
3require rust-snapshot-${PV}.inc
4
5FILESEXTRAPATHS:prepend := "${THISDIR}/rust:"
6
diff --git a/meta/recipes-devtools/rust/rust-cross.inc b/meta/recipes-devtools/rust/rust-cross.inc
new file mode 100644
index 0000000000..bee7c9f12f
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-cross.inc
@@ -0,0 +1,71 @@
1require rust.inc
2inherit cross
3
4python do_rust_gen_targets () {
5 wd = d.getVar('WORKDIR') + '/targets/'
6 # It is important 'TARGET' is last here so that it overrides our less
7 # informed choices for BUILD & HOST if TARGET happens to be the same as
8 # either of them.
9 for thing in ['BUILD', 'HOST', 'TARGET']:
10 bb.debug(1, "rust_gen_target for " + thing)
11 features = ""
12 cpu = "generic"
13 arch = d.getVar('{}_ARCH'.format(thing))
14 if thing is "TARGET":
15 # arm and armv7 have different targets in llvm
16 if arch == "arm" and target_is_armv7(d):
17 arch = 'armv7'
18 features = d.getVar('TARGET_LLVM_FEATURES') or ""
19 cpu = d.getVar('TARGET_LLVM_CPU')
20 rust_gen_target(d, thing, wd, features, cpu, arch)
21}
22
23# Otherwise we'll depend on what we provide
24INHIBIT_DEFAULT_RUST_DEPS = "1"
25
26# Unlike native (which nicely maps it's DEPENDS) cross wipes them out completely.
27# Generally, we (and cross in general) need the same things that native needs,
28# so it might make sense to take it's mapping. For now, though, we just mention
29# the bits we need explicitly.
30DEPENDS += "rust-llvm-native"
31DEPENDS += "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}compilerlibs virtual/libc"
32DEPENDS += "rust-native"
33
34PROVIDES = "virtual/${TARGET_PREFIX}rust"
35PN = "rust-cross-${TARGET_ARCH}"
36
37# In the cross compilation case, rustc doesn't seem to get the rpath quite
38# right. It manages to include '../../lib/${TARGET_PREFIX}', but doesn't
39# include the '../../lib' (ie: relative path from cross_bindir to normal
40# libdir. As a result, we end up not being able to properly reference files in normal ${libdir}.
41# Most of the time this happens to work fine as the systems libraries are
42# subsituted, but sometimes a host system will lack a library, or the right
43# version of a library (libtinfo was how I noticed this).
44#
45# FIXME: this should really be fixed in rust itself.
46# FIXME: using hard-coded relative paths is wrong, we should ask bitbake for
47# the relative path between 2 of it's vars.
48HOST_POST_LINK_ARGS:append = " -Wl,-rpath=../../lib"
49BUILD_POST_LINK_ARGS:append = " -Wl,-rpath=../../lib"
50
51# We need the same thing for the calls to the compiler when building the runtime crap
52TARGET_CC_ARCH:append = " --sysroot=${STAGING_DIR_TARGET}"
53
54do_rust_setup_snapshot () {
55}
56
57do_configure () {
58}
59
60do_compile () {
61}
62
63do_install () {
64 mkdir -p ${D}${prefix}/${base_libdir_native}/rustlib
65 cp ${WORKDIR}/targets/${TARGET_SYS}.json ${D}${prefix}/${base_libdir_native}/rustlib
66}
67
68rust_cross_sysroot_preprocess() {
69 sysroot_stage_dir ${D}${prefix}/${base_libdir_native}/rustlib ${SYSROOT_DESTDIR}${prefix}/${base_libdir_native}/rustlib
70}
71SYSROOT_PREPROCESS_FUNCS += "rust_cross_sysroot_preprocess"
diff --git a/meta/recipes-devtools/rust/rust-cross_1.51.0.bb b/meta/recipes-devtools/rust/rust-cross_1.51.0.bb
new file mode 100644
index 0000000000..ddc25d36b5
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-cross_1.51.0.bb
@@ -0,0 +1,2 @@
1require rust-cross.inc
2require rust-source-${PV}.inc
diff --git a/meta/recipes-devtools/rust/rust-cross_1.54.0.bb b/meta/recipes-devtools/rust/rust-cross_1.54.0.bb
new file mode 100644
index 0000000000..ddc25d36b5
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-cross_1.54.0.bb
@@ -0,0 +1,2 @@
1require rust-cross.inc
2require rust-source-${PV}.inc
diff --git a/meta/recipes-devtools/rust/rust-llvm.inc b/meta/recipes-devtools/rust/rust-llvm.inc
new file mode 100644
index 0000000000..93e1866317
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-llvm.inc
@@ -0,0 +1,63 @@
1SUMMARY = "LLVM compiler framework (packaged with rust)"
2LICENSE ?= "Apache-2.0-with-LLVM-exception"
3
4SRC_URI += "file://0002-llvm-allow-env-override-of-exe-path.patch;striplevel=2"
5
6S = "${RUSTSRC}/src/llvm-project/llvm"
7
8LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=8a15a0759ef07f2682d2ba4b893c9afe"
9
10inherit cmake python3native
11
12DEPENDS += "ninja-native rust-llvm-native"
13
14ARM_INSTRUCTION_SET:armv5 = "arm"
15ARM_INSTRUCTION_SET:armv4t = "arm"
16
17LLVM_DIR = "llvm${LLVM_RELEASE}"
18
19EXTRA_OECMAKE = " \
20 -DCMAKE_BUILD_TYPE=Release \
21 -DLLVM_TARGETS_TO_BUILD='ARM;AArch64;Mips;PowerPC;RISCV;X86' \
22 -DLLVM_BUILD_DOCS=OFF \
23 -DLLVM_ENABLE_TERMINFO=OFF \
24 -DLLVM_ENABLE_ZLIB=OFF \
25 -DLLVM_ENABLE_LIBXML2=OFF \
26 -DLLVM_ENABLE_FFI=OFF \
27 -DLLVM_INSTALL_UTILS=ON \
28 -DLLVM_BUILD_EXAMPLES=OFF \
29 -DLLVM_INCLUDE_EXAMPLES=OFF \
30 -DLLVM_BUILD_TESTS=OFF \
31 -DLLVM_INCLUDE_TESTS=OFF \
32 -DLLVM_TARGET_ARCH=${TARGET_ARCH} \
33 -DCMAKE_INSTALL_PREFIX:PATH=${libdir}/llvm-rust \
34"
35EXTRA_OECMAKE:append:class-target = "\
36 -DCMAKE_CROSSCOMPILING:BOOL=ON \
37 -DLLVM_BUILD_TOOLS=OFF \
38 -DLLVM_TABLEGEN=${STAGING_LIBDIR_NATIVE}/llvm-rust/bin/llvm-tblgen \
39 -DLLVM_CONFIG_PATH=${STAGING_LIBDIR_NATIVE}/llvm-rust/bin/llvm-config \
40"
41
42# The debug symbols are huge here (>2GB) so suppress them since they
43# provide almost no value. If you really need them then override this
44INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
45
46export YOCTO_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR}/llvm-rust/bin/llvm-config"
47
48do_install:append () {
49 # we don't need any of this stuff to build Rust
50 rm -rf "${D}/usr/lib/cmake"
51}
52
53PACKAGES =+ "${PN}-bugpointpasses ${PN}-llvmhello ${PN}-liblto"
54
55# Add the extra locations to avoid the complaints about unpackaged files
56FILES:${PN}-bugpointpasses = "${libdir}/llvm-rust/lib/BugpointPasses.so"
57FILES:${PN}-llvmhello = "${libdir}/llvm-rust/lib/LLVMHello.so"
58FILES:${PN}-liblto = "${libdir}/llvm-rust/lib/libLTO.so.*"
59FILES:${PN}-staticdev =+ "${libdir}/llvm-rust/*/*.a"
60FILES:${PN} += "${libdir}/libLLVM*.so.* ${libdir}/llvm-rust/lib/*.so.* ${libdir}/llvm-rust/bin"
61FILES:${PN}-dev += "${datadir}/llvm ${libdir}/llvm-rust/lib/*.so ${libdir}/llvm-rust/include ${libdir}/llvm-rust/share ${libdir}/llvm-rust/lib/cmake"
62
63BBCLASSEXTEND = "native"
diff --git a/meta/recipes-devtools/rust/rust-llvm/0001-nfc-Fix-missing-include.patch b/meta/recipes-devtools/rust/rust-llvm/0001-nfc-Fix-missing-include.patch
new file mode 100644
index 0000000000..f6dee77ab2
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-llvm/0001-nfc-Fix-missing-include.patch
@@ -0,0 +1,26 @@
1From 3b7e611bd58ba842470d17374c550e14bceca5c7 Mon Sep 17 00:00:00 2001
2From: serge-sans-paille <sguelton@redhat.com>
3Date: Tue, 10 Nov 2020 14:55:25 +0100
4Subject: [PATCH] [nfc] Fix missing include
5
6Upstream-Status: Backport [https://github.com/llvm/llvm-project/commit/b498303066a63a203d24f739b2d2e0e56dca70d1]
7Signed-off-by: Khem Raj <raj.khem@gmail.com>
8---
9 llvm/utils/benchmark/src/benchmark_register.h | 1 +
10 1 file changed, 1 insertion(+)
11
12diff --git a/llvm/utils/benchmark/src/benchmark_register.h b/llvm/utils/benchmark/src/benchmark_register.h
13index 0705e219f2fa..4caa5ad4da07 100644
14--- a/llvm/utils/benchmark/src/benchmark_register.h
15+++ b/llvm/utils/benchmark/src/benchmark_register.h
16@@ -1,6 +1,7 @@
17 #ifndef BENCHMARK_REGISTER_H
18 #define BENCHMARK_REGISTER_H
19
20+#include <limits>
21 #include <vector>
22
23 #include "check.h"
24--
252.30.1
26
diff --git a/meta/recipes-devtools/rust/rust-llvm/0002-llvm-allow-env-override-of-exe-path.patch b/meta/recipes-devtools/rust/rust-llvm/0002-llvm-allow-env-override-of-exe-path.patch
new file mode 100644
index 0000000000..943c2118bb
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-llvm/0002-llvm-allow-env-override-of-exe-path.patch
@@ -0,0 +1,32 @@
1From 7111770e8290082530d920e120995bf81431b0aa Mon Sep 17 00:00:00 2001
2From: Martin Kelly <mkelly@xevo.com>
3Date: Fri, 19 May 2017 00:22:57 -0700
4Subject: [PATCH 12/18] llvm: allow env override of exe path
5
6When using a native llvm-config from inside a sysroot, we need llvm-config to
7return the libraries, include directories, etc. from inside the sysroot rather
8than from the native sysroot. Thus provide an env override for calling
9llvm-config from a target sysroot.
10
11Signed-off-by: Martin Kelly <mkelly@xevo.com>
12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13---
14 llvm/tools/llvm-config/llvm-config.cpp | 7 +++++++
15 1 file changed, 7 insertions(+)
16
17--- a/llvm/tools/llvm-config/llvm-config.cpp
18+++ b/llvm/tools/llvm-config/llvm-config.cpp
19@@ -226,6 +226,13 @@ Typical components:\n\
20
21 /// Compute the path to the main executable.
22 std::string GetExecutablePath(const char *Argv0) {
23+ // Hack for Yocto: we need to override the root path when we are using
24+ // llvm-config from within a target sysroot.
25+ const char *Sysroot = std::getenv("YOCTO_ALTERNATE_EXE_PATH");
26+ if (Sysroot != nullptr) {
27+ return Sysroot;
28+ }
29+
30 // This just needs to be some symbol in the binary; C++ doesn't
31 // allow taking the address of ::main however.
32 void *P = (void *)(intptr_t)GetExecutablePath;
diff --git a/meta/recipes-devtools/rust/rust-llvm_1.51.0.bb b/meta/recipes-devtools/rust/rust-llvm_1.51.0.bb
new file mode 100644
index 0000000000..fa4d77b1f9
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-llvm_1.51.0.bb
@@ -0,0 +1,7 @@
1# check src/llvm-project/llvm/CMakeLists.txt for llvm version in use
2#
3LLVM_RELEASE = "11.0.1"
4require rust-source-${PV}.inc
5require rust-llvm.inc
6
7SRC_URI += "file://0001-nfc-Fix-missing-include.patch;striplevel=2" \ No newline at end of file
diff --git a/meta/recipes-devtools/rust/rust-llvm_1.54.0.bb b/meta/recipes-devtools/rust/rust-llvm_1.54.0.bb
new file mode 100644
index 0000000000..81b2bd12b7
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-llvm_1.54.0.bb
@@ -0,0 +1,5 @@
1# check src/llvm-project/llvm/CMakeLists.txt for llvm version in use
2#
3LLVM_RELEASE = "12.0.1"
4require rust-source-${PV}.inc
5require rust-llvm.inc
diff --git a/meta/recipes-devtools/rust/rust-snapshot-1.51.0.inc b/meta/recipes-devtools/rust/rust-snapshot-1.51.0.inc
new file mode 100644
index 0000000000..48de352f76
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-snapshot-1.51.0.inc
@@ -0,0 +1,18 @@
1require rust-snapshot.inc
2
3## This is information on the rust-snapshot (binary) used to build our current release.
4## snapshot info is taken from rust/src/stage0.txt
5## TODO: find a way to add additional SRC_URIs based on the contents of an
6## earlier SRC_URI.
7RS_VERSION = "1.50.0"
8CARGO_VERSION = "1.50.0"
9
10# TODO: Add hashes for other architecture toolchains as well. Make a script?
11SRC_URI[rust-std-snapshot-x86_64.sha256sum] = "f1eb68db2b28a56ed8701edba7cf3688011d903ca12ff9d85bd21d3f8f614792"
12SRC_URI[rustc-snapshot-x86_64.sha256sum] = "9bebd360bcd9b5bb58f2a02930b9db4ae291adef259c96377f1f4cbd240bcf86"
13SRC_URI[cargo-snapshot-x86_64.sha256sum] = "3cb2c68e987e5681fca9c930973f408a71151b1b255e69669a08e54d446ee803"
14
15SRC_URI[rust-std-snapshot-aarch64.sha256sum] = "1a1b1a540d531c89e866083f84ef67125dee108844e4e415b07c3a1000006544"
16SRC_URI[rustc-snapshot-aarch64.sha256sum] = "9b956d97d7e428ecd8634d467659ebdb5bd79c387b88363be8749eddd7f98756"
17SRC_URI[cargo-snapshot-aarch64.sha256sum] = "f3c772f455406f67991ac20cff56a4fcd2d01454e29280c566119ab5180307ea"
18
diff --git a/meta/recipes-devtools/rust/rust-snapshot-1.54.0.inc b/meta/recipes-devtools/rust/rust-snapshot-1.54.0.inc
new file mode 100644
index 0000000000..598f4ed109
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-snapshot-1.54.0.inc
@@ -0,0 +1,18 @@
1require rust-snapshot.inc
2
3## This is information on the rust-snapshot (binary) used to build our current release.
4## snapshot info is taken from rust/src/stage0.txt
5## TODO: find a way to add additional SRC_URIs based on the contents of an
6## earlier SRC_URI.
7RS_VERSION = "1.53.0"
8CARGO_VERSION = "1.53.0"
9
10# TODO: Add hashes for other architecture toolchains as well. Make a script?
11SRC_URI[rust-std-snapshot-x86_64.sha256sum] = "66d5257bbd194db08e67ca63a74cc80cdc4a36eaa30bf7dfe65861d9deaff7f7"
12SRC_URI[rustc-snapshot-x86_64.sha256sum] = "9c2f0443a546dd18f1f020c7711a7b9864432545ceb812e79315c1e76508b193"
13SRC_URI[cargo-snapshot-x86_64.sha256sum] = "e4437f6c83574fc60e183f4df439190f7610e4a669476802795645da66fbb83b"
14
15SRC_URI[rust-std-snapshot-aarch64.sha256sum] = "fc261d0ff057c58b36057c30217bad1a29a9a3f257c70f5df88ad3f1d982386e"
16SRC_URI[rustc-snapshot-aarch64.sha256sum] = "a857e5c615f6b5b3afc6b707ae007b3b4624585b0b2ba9b38b553114db37f8d5"
17SRC_URI[cargo-snapshot-aarch64.sha256sum] = "4fa425a2d4633aeca67fa42695b3b9100f8b988dd1c21e60d6b2aa1164e55c0c"
18
diff --git a/meta/recipes-devtools/rust/rust-snapshot.inc b/meta/recipes-devtools/rust/rust-snapshot.inc
new file mode 100644
index 0000000000..79d03afd1b
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-snapshot.inc
@@ -0,0 +1,9 @@
1SRC_URI += " \
2 https://static.rust-lang.org/dist/${RUST_STD_SNAPSHOT}.tar.xz;name=rust-std-snapshot-${BUILD_ARCH};subdir=rust-snapshot-components \
3 https://static.rust-lang.org/dist/${RUSTC_SNAPSHOT}.tar.xz;name=rustc-snapshot-${BUILD_ARCH};subdir=rust-snapshot-components \
4 https://static.rust-lang.org/dist/${CARGO_SNAPSHOT}.tar.xz;name=cargo-snapshot-${BUILD_ARCH};subdir=rust-snapshot-components \
5"
6
7RUST_STD_SNAPSHOT = "rust-std-${RS_VERSION}-${BUILD_ARCH}-unknown-linux-gnu"
8RUSTC_SNAPSHOT = "rustc-${RS_VERSION}-${BUILD_ARCH}-unknown-linux-gnu"
9CARGO_SNAPSHOT = "cargo-${CARGO_VERSION}-${BUILD_ARCH}-unknown-linux-gnu"
diff --git a/meta/recipes-devtools/rust/rust-source-1.51.0.inc b/meta/recipes-devtools/rust/rust-source-1.51.0.inc
new file mode 100644
index 0000000000..e9094c666a
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-source-1.51.0.inc
@@ -0,0 +1,3 @@
1require rust-source.inc
2
3SRC_URI[rust.sha256sum] = "92c68a91fca33cbafb83442cde722d010cc387dc1ee8a2680e2fb33a575821a1"
diff --git a/meta/recipes-devtools/rust/rust-source-1.54.0.inc b/meta/recipes-devtools/rust/rust-source-1.54.0.inc
new file mode 100644
index 0000000000..335c7ceb45
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-source-1.54.0.inc
@@ -0,0 +1,3 @@
1require rust-source.inc
2
3SRC_URI[rust.sha256sum] = "a2934f85f76a35a3796c0fefd31e91f5b6dd8377cd8c3769c1c10e7ce7a495f4"
diff --git a/meta/recipes-devtools/rust/rust-source.inc b/meta/recipes-devtools/rust/rust-source.inc
new file mode 100644
index 0000000000..52502fb49f
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-source.inc
@@ -0,0 +1,3 @@
1SRC_URI += "https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz;name=rust"
2
3RUSTSRC = "${WORKDIR}/rustc-${PV}-src"
diff --git a/meta/recipes-devtools/rust/rust-target.inc b/meta/recipes-devtools/rust/rust-target.inc
new file mode 100644
index 0000000000..3f637b3ba5
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-target.inc
@@ -0,0 +1,10 @@
1require rust.inc
2
3DEPENDS += "rust-llvm (=${PV})"
4
5# Otherwise we'll depend on what we provide
6INHIBIT_DEFAULT_RUST_DEPS:class-native = "1"
7# We don't need to depend on gcc-native because yocto assumes it exists
8PROVIDES:class-native = "virtual/${TARGET_PREFIX}rust"
9
10BBCLASSEXTEND = "native"
diff --git a/meta/recipes-devtools/rust/rust-tools-cross-canadian.inc b/meta/recipes-devtools/rust/rust-tools-cross-canadian.inc
new file mode 100644
index 0000000000..f0358551ae
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-tools-cross-canadian.inc
@@ -0,0 +1,38 @@
1
2require rust-cross-canadian-common.inc
3
4RUST_TOOLS_CLIPPY_PN = "rust-tools-clippy-cross-canadian-${TRANSLATED_TARGET_ARCH}"
5RUST_TOOLS_RUSTFMT_PN = "rust-tools-rustfmt-cross-canadian-${TRANSLATED_TARGET_ARCH}"
6RUST_TOOLS_PKGS = "${RUST_TOOLS_CLIPPY_PN} ${RUST_TOOLS_RUSTFMT_PN}"
7PN = "rust-tools-cross-canadian-${TRANSLATED_TARGET_ARCH}"
8
9PACKAGES = "${RUST_TOOLS_CLIPPY_PN} ${RUST_TOOLS_RUSTFMT_PN} ${PN}"
10RDEPENDS:${PN} += "${RUST_TOOLS_PKGS}"
11
12do_compile () {
13 rust_runx build --stage 2 src/tools/clippy
14 rust_runx build --stage 2 src/tools/rustfmt
15}
16
17do_install () {
18 SYS_BINDIR=$(dirname ${D}${bindir})
19
20 install -d "${SYS_BINDIR}"
21 cp build/${SNAPSHOT_BUILD_SYS}/stage2-tools-bin/* ${SYS_BINDIR}
22 for i in ${SYS_BINDIR}/*; do
23 chrpath -r "\$ORIGIN/../lib" ${i}
24 done
25
26 chown -R root.root ${D}
27}
28
29ALLOW_EMPTY:${PN} = "1"
30
31PKG_SYS_BINDIR = "${SDKPATHNATIVE}/usr/bin"
32FILES:${RUST_TOOLS_CLIPPY_PN} = "${PKG_SYS_BINDIR}/cargo-clippy ${PKG_SYS_BINDIR}/clippy-driver"
33FILES:${RUST_TOOLS_RUSTFMT_PN} = "${PKG_SYS_BINDIR}/rustfmt"
34
35SUMMARY:${PN} = "Rust helper tools"
36SUMMARY:${RUST_TOOLS_CLIPPY_PN} = "A collection of lints to catch common mistakes and improve your Rust code"
37SUMMARY:${RUST_TOOLS_RUSTFMT_PN} = "A tool for formatting Rust code according to style guidelines"
38
diff --git a/meta/recipes-devtools/rust/rust-tools-cross-canadian_1.51.0.bb b/meta/recipes-devtools/rust/rust-tools-cross-canadian_1.51.0.bb
new file mode 100644
index 0000000000..053147ba46
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-tools-cross-canadian_1.51.0.bb
@@ -0,0 +1,6 @@
1require rust-tools-cross-canadian.inc
2require rust-source-${PV}.inc
3require rust-snapshot-${PV}.inc
4
5FILESEXTRAPATHS:prepend := "${THISDIR}/rust:"
6
diff --git a/meta/recipes-devtools/rust/rust-tools-cross-canadian_1.54.0.bb b/meta/recipes-devtools/rust/rust-tools-cross-canadian_1.54.0.bb
new file mode 100644
index 0000000000..053147ba46
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-tools-cross-canadian_1.54.0.bb
@@ -0,0 +1,6 @@
1require rust-tools-cross-canadian.inc
2require rust-source-${PV}.inc
3require rust-snapshot-${PV}.inc
4
5FILESEXTRAPATHS:prepend := "${THISDIR}/rust:"
6
diff --git a/meta/recipes-devtools/rust/rust.inc b/meta/recipes-devtools/rust/rust.inc
new file mode 100644
index 0000000000..6045ab4d42
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust.inc
@@ -0,0 +1,193 @@
1SUMMARY = "Rust compiler and runtime libaries"
2HOMEPAGE = "http://www.rust-lang.org"
3SECTION = "devel"
4LICENSE = "MIT | Apache-2.0"
5LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=93a95682d51b4cb0a633a97046940ef0"
6
7inherit rust
8inherit cargo_common
9
10DEPENDS += "file-native python3-native"
11DEPENDS:append:class-native = " rust-llvm-native"
12
13S = "${RUSTSRC}"
14
15# We generate local targets, and need to be able to locate them
16export RUST_TARGET_PATH="${WORKDIR}/targets/"
17
18export FORCE_CRATE_HASH="${BB_TASKHASH}"
19
20RUST_ALTERNATE_EXE_PATH ?= "${STAGING_LIBDIR}/llvm-rust/bin/llvm-config"
21export YOCTO_ALTERNATE_EXE_PATH = "${RUST_ALTERNATE_EXE_PATH}"
22export YOCTO_ALTERNATE_MULTILIB_NAME = "/${BASELIB}"
23
24# We don't want to use bitbakes vendoring because the rust sources do their
25# own vendoring.
26CARGO_DISABLE_BITBAKE_VENDORING = "1"
27
28# We can't use RUST_BUILD_SYS here because that may be "musl" if
29# TCLIBC="musl". Snapshots are always -unknown-linux-gnu
30SNAPSHOT_BUILD_SYS = "${BUILD_ARCH}-unknown-linux-gnu"
31setup_cargo_environment () {
32 # The first step is to build bootstrap and some early stage tools,
33 # these are build for the same target as the snapshot, e.g.
34 # x86_64-unknown-linux-gnu.
35 # Later stages are build for the native target (i.e. target.x86_64-linux)
36 cargo_common_do_configure
37
38 printf '[target.%s]\n' "${SNAPSHOT_BUILD_SYS}" >> ${CARGO_HOME}/config
39 printf "linker = '%s'\n" "${RUST_BUILD_CCLD}" >> ${CARGO_HOME}/config
40}
41
42include rust-common.inc
43
44do_rust_setup_snapshot () {
45 for installer in "${WORKDIR}/rust-snapshot-components/"*"/install.sh"; do
46 "${installer}" --prefix="${WORKDIR}/rust-snapshot" --disable-ldconfig
47 done
48
49 # Some versions of rust (e.g. 1.18.0) tries to find cargo in stage0/bin/cargo
50 # and fail without it there.
51 mkdir -p ${RUSTSRC}/build/${BUILD_SYS}
52 ln -sf ${WORKDIR}/rust-snapshot/ ${RUSTSRC}/build/${BUILD_SYS}/stage0
53}
54addtask rust_setup_snapshot after do_unpack before do_configure
55do_rust_setup_snapshot[dirs] += "${WORKDIR}/rust-snapshot"
56
57python do_configure() {
58 import json
59 try:
60 import configparser
61 except ImportError:
62 import ConfigParser as configparser
63
64 # toml is rather similar to standard ini like format except it likes values
65 # that look more JSON like. So for our purposes simply escaping all values
66 # as JSON seem to work fine.
67
68 e = lambda s: json.dumps(s)
69
70 config = configparser.RawConfigParser()
71
72 # [target.ARCH-poky-linux]
73 target_section = "target.{}".format(d.getVar('TARGET_SYS', True))
74 config.add_section(target_section)
75
76 llvm_config = d.expand("${YOCTO_ALTERNATE_EXE_PATH}")
77 config.set(target_section, "llvm-config", e(llvm_config))
78
79 config.set(target_section, "cxx", e(d.expand("${RUST_TARGET_CXX}")))
80 config.set(target_section, "cc", e(d.expand("${RUST_TARGET_CC}")))
81
82 # If we don't do this rust-native will compile it's own llvm for BUILD.
83 # [target.${BUILD_ARCH}-unknown-linux-gnu]
84 target_section = "target.{}".format(d.getVar('SNAPSHOT_BUILD_SYS', True))
85 config.add_section(target_section)
86
87 config.set(target_section, "llvm-config", e(llvm_config))
88
89 config.set(target_section, "cxx", e(d.expand("${RUST_BUILD_CXX}")))
90 config.set(target_section, "cc", e(d.expand("${RUST_BUILD_CC}")))
91
92 # [rust]
93 config.add_section("rust")
94 config.set("rust", "rpath", e(True))
95 config.set("rust", "channel", e("stable"))
96
97 # Whether or not to optimize the compiler and standard library
98 config.set("rust", "optimize", e(True))
99
100 # [build]
101 config.add_section("build")
102 config.set("build", "submodules", e(False))
103 config.set("build", "docs", e(False))
104
105 rustc = d.expand("${WORKDIR}/rust-snapshot/bin/rustc")
106 config.set("build", "rustc", e(rustc))
107
108 # Support for the profiler runtime to generate e.g. coverage report,
109 # PGO etc.
110 config.set("build", "profiler", e(True))
111
112 cargo = d.expand("${WORKDIR}/rust-snapshot/bin/cargo")
113 config.set("build", "cargo", e(cargo))
114
115 config.set("build", "vendor", e(True))
116
117 if not "targets" in locals():
118 targets = [d.getVar("TARGET_SYS", True)]
119 config.set("build", "target", e(targets))
120
121 if not "hosts" in locals():
122 hosts = [d.getVar("HOST_SYS", True)]
123 config.set("build", "host", e(hosts))
124
125 # We can't use BUILD_SYS since that is something the rust snapshot knows
126 # nothing about when trying to build some stage0 tools (like fabricate)
127 config.set("build", "build", e(d.getVar("SNAPSHOT_BUILD_SYS", True)))
128
129 # [install]
130 config.add_section("install")
131 # ./x.py install doesn't have any notion of "destdir"
132 # but we can prepend ${D} to all the directories instead
133 config.set("install", "prefix", e(d.getVar("D", True) + d.getVar("prefix", True)))
134 config.set("install", "bindir", e(d.getVar("D", True) + d.getVar("bindir", True)))
135 config.set("install", "libdir", e(d.getVar("D", True) + d.getVar("libdir", True)))
136 config.set("install", "datadir", e(d.getVar("D", True) + d.getVar("datadir", True)))
137 config.set("install", "mandir", e(d.getVar("D", True) + d.getVar("mandir", True)))
138
139 with open("config.toml", "w") as f:
140 f.write('changelog-seen = 2\n\n')
141 config.write(f)
142
143 # set up ${WORKDIR}/cargo_home
144 bb.build.exec_func("setup_cargo_environment", d)
145}
146
147
148rust_runx () {
149 echo "COMPILE ${PN}" "$@"
150
151 # CFLAGS, LDFLAGS, CXXFLAGS, CPPFLAGS are used by rust's build for a
152 # wide range of targets (not just TARGET). Yocto's settings for them will
153 # be inappropriate, avoid using.
154 unset CFLAGS
155 unset LDFLAGS
156 unset CXXFLAGS
157 unset CPPFLAGS
158
159 oe_cargo_fix_env
160
161 python3 src/bootstrap/bootstrap.py ${@oe.utils.parallel_make_argument(d, '-j %d')} "$@" --verbose
162}
163rust_runx[vardepsexclude] += "PARALLEL_MAKE"
164
165do_compile () {
166 rust_runx build
167}
168
169rust_do_install () {
170 mkdir -p ${D}${bindir}
171 cp build/${HOST_SYS}/stage2/bin/* ${D}${bindir}
172
173 mkdir -p ${D}${libdir}/rustlib
174 cp -pRd build/${HOST_SYS}/stage2/lib/* ${D}${libdir}
175 # Remove absolute symlink so bitbake doesn't complain
176 rm -f ${D}${libdir}/rustlib/src/rust
177}
178
179rust_install_targets() {
180 # Install our custom target.json files
181 local td="${D}${libdir}/rustlib/"
182 install -d "$td"
183 for tgt in "${WORKDIR}/targets/"* ; do
184 install -m 0644 "$tgt" "$td"
185 done
186}
187
188
189do_install () {
190 rust_do_install
191 rust_install_targets
192}
193# ex: sts=4 et sw=4 ts=8
diff --git a/meta/recipes-devtools/rust/rust/0001-rustc_target-Fix-dash-vs-underscore-mismatches-in-op.patch b/meta/recipes-devtools/rust/rust/0001-rustc_target-Fix-dash-vs-underscore-mismatches-in-op.patch
new file mode 100644
index 0000000000..13d81eaa37
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust/0001-rustc_target-Fix-dash-vs-underscore-mismatches-in-op.patch
@@ -0,0 +1,75 @@
1From dd682cb48c8b667859dded98a4bbfbd891a1eca4 Mon Sep 17 00:00:00 2001
2From: Vadim Petrochenkov <vadim.petrochenkov@gmail.com>
3Date: Thu, 12 Nov 2020 19:16:59 +0300
4Subject: [PATCH] rustc_target: Fix dash vs underscore mismatches in option
5 names
6
7---
8 compiler/rustc_target/src/spec/mod.rs | 16 ++++++++--------
9 1 file changed, 8 insertions(+), 8 deletions(-)
10
11diff --git a/compiler/rustc_target/src/spec/mod.rs b/compiler/rustc_target/src/spec/mod.rs
12index f949bf95a50..f837114ee74 100644
13--- a/compiler/rustc_target/src/spec/mod.rs
14+++ b/compiler/rustc_target/src/spec/mod.rs
15@@ -1428,8 +1428,8 @@ pub fn from_json(obj: Json) -> Result<Target, String> {
16 }
17
18 key!(is_builtin, bool);
19- key!(endian = "target_endian");
20- key!(c_int_width = "target_c_int_width");
21+ key!(endian = "target-endian");
22+ key!(c_int_width = "target-c-int-width");
23 key!(os);
24 key!(env);
25 key!(vendor);
26@@ -1466,7 +1466,7 @@ pub fn from_json(obj: Json) -> Result<Target, String> {
27 key!(exe_suffix);
28 key!(staticlib_prefix);
29 key!(staticlib_suffix);
30- key!(os_family = "target_family", optional);
31+ key!(os_family = "target-family", optional);
32 key!(abi_return_struct_as_int, bool);
33 key!(is_like_osx, bool);
34 key!(is_like_solaris, bool);
35@@ -1511,7 +1511,7 @@ pub fn from_json(obj: Json) -> Result<Target, String> {
36 key!(limit_rdylib_exports, bool);
37 key!(override_export_symbols, opt_list);
38 key!(merge_functions, MergeFunctions)?;
39- key!(mcount = "target_mcount");
40+ key!(mcount = "target-mcount");
41 key!(llvm_abiname);
42 key!(relax_elf_relocations, bool);
43 key!(llvm_args, list);
44@@ -1663,8 +1663,8 @@ fn to_json(&self) -> Json {
45 target_val!(data_layout);
46
47 target_option_val!(is_builtin);
48- target_option_val!(endian, "target_endian");
49- target_option_val!(c_int_width, "target_c_int_width");
50+ target_option_val!(endian, "target-endian");
51+ target_option_val!(c_int_width, "target-c-int-width");
52 target_option_val!(os);
53 target_option_val!(env);
54 target_option_val!(vendor);
55@@ -1701,7 +1701,7 @@ fn to_json(&self) -> Json {
56 target_option_val!(exe_suffix);
57 target_option_val!(staticlib_prefix);
58 target_option_val!(staticlib_suffix);
59- target_option_val!(os_family, "target_family");
60+ target_option_val!(os_family, "target-family");
61 target_option_val!(abi_return_struct_as_int);
62 target_option_val!(is_like_osx);
63 target_option_val!(is_like_solaris);
64@@ -1746,7 +1746,7 @@ fn to_json(&self) -> Json {
65 target_option_val!(limit_rdylib_exports);
66 target_option_val!(override_export_symbols);
67 target_option_val!(merge_functions);
68- target_option_val!(mcount, "target_mcount");
69+ target_option_val!(mcount, "target-mcount");
70 target_option_val!(llvm_abiname);
71 target_option_val!(relax_elf_relocations);
72 target_option_val!(llvm_args);
73--
742.28.0
75
diff --git a/meta/recipes-devtools/rust/rust_1.51.0.bb b/meta/recipes-devtools/rust/rust_1.51.0.bb
new file mode 100644
index 0000000000..05904453f7
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust_1.51.0.bb
@@ -0,0 +1,16 @@
1require rust-target.inc
2require rust-source-${PV}.inc
3require rust-snapshot-${PV}.inc
4
5SRC_URI += " \
6 file://riscv-march.patch \
7 file://rv64gc.patch \
8 "
9
10do_compile () {
11 rust_runx build --stage 2
12}
13
14rust_do_install() {
15 rust_runx install
16}
diff --git a/meta/recipes-devtools/rust/rust_1.54.0.bb b/meta/recipes-devtools/rust/rust_1.54.0.bb
new file mode 100644
index 0000000000..07221ac127
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust_1.54.0.bb
@@ -0,0 +1,11 @@
1require rust-target.inc
2require rust-source-${PV}.inc
3require rust-snapshot-${PV}.inc
4
5do_compile () {
6 rust_runx build --stage 2
7}
8
9rust_do_install() {
10 rust_runx install
11}
diff --git a/meta/recipes-example/rust-hello-world/rust-hello-world/0001-enable-LTO.patch b/meta/recipes-example/rust-hello-world/rust-hello-world/0001-enable-LTO.patch
new file mode 100644
index 0000000000..56ef9e73e6
--- /dev/null
+++ b/meta/recipes-example/rust-hello-world/rust-hello-world/0001-enable-LTO.patch
@@ -0,0 +1,23 @@
1From fa40b874f6470ec11a8fd7b0c9909d0cdd2d6feb Mon Sep 17 00:00:00 2001
2From: Dan Callaghan <dan.callaghan@opengear.com>
3Date: Fri, 5 Feb 2021 08:56:34 +1000
4Subject: [PATCH] enable LTO
5
6---
7 Cargo.toml | 3 +++
8 1 file changed, 3 insertions(+)
9
10diff --git a/Cargo.toml b/Cargo.toml
11index 7a2f6c8..cdb6b5d 100644
12--- a/Cargo.toml
13+++ b/Cargo.toml
14@@ -3,3 +3,6 @@
15 name = "rust-hello-world"
16 version = "0.0.1"
17 authors = ["Cody P Schafer <dev@codyps.com>"]
18+
19+[profile.release]
20+lto = true
21--
222.28.0
23
diff --git a/meta/recipes-example/rust-hello-world/rust-hello-world_git.bb b/meta/recipes-example/rust-hello-world/rust-hello-world_git.bb
new file mode 100644
index 0000000000..c29eac34e5
--- /dev/null
+++ b/meta/recipes-example/rust-hello-world/rust-hello-world_git.bb
@@ -0,0 +1,17 @@
1inherit cargo
2
3SRC_URI = "git://github.com/meta-rust/rust-hello-world.git;protocol=https"
4SRCREV="e0fa23f1a3cb1eb1407165bd2fc36d2f6e6ad728"
5LIC_FILES_CHKSUM="file://COPYRIGHT;md5=e6b2207ac3740d2d01141c49208c2147"
6
7SRC_URI += "\
8 file://0001-enable-LTO.patch \
9 "
10
11SUMMARY = "Hello World by Cargo for Rust"
12HOMEPAGE = "https://github.com/meta-rust/rust-hello-world"
13LICENSE = "MIT | Apache-2.0"
14
15S = "${WORKDIR}/git"
16
17BBCLASSEXTEND = "native"
diff --git a/meta/recipes-example/rustfmt/rustfmt_1.4.2.bb b/meta/recipes-example/rustfmt/rustfmt_1.4.2.bb
new file mode 100644
index 0000000000..ecced49049
--- /dev/null
+++ b/meta/recipes-example/rustfmt/rustfmt_1.4.2.bb
@@ -0,0 +1,171 @@
1# Auto-Generated by cargo-bitbake 0.3.13
2#
3inherit cargo
4
5# If this is git based prefer versioned ones if they exist
6# DEFAULT_PREFERENCE = "-1"
7
8# how to get rustfmt-nightly could be as easy as but default to a git checkout:
9# SRC_URI += "crate://crates.io/rustfmt-nightly/1.4.2"
10SRC_URI += "git://github.com/rust-lang/rustfmt/;protocol=https;nobranch=1"
11SRCREV = "aeb3496f31a0dfa90fc511520d2023634e885260"
12S = "${WORKDIR}/git"
13CARGO_SRC_DIR = ""
14
15
16# please note if you have entries that do not begin with crate://
17# you must change them to how that package can be fetched
18SRC_URI += " \
19 crate://crates.io/aho-corasick/0.7.4 \
20 crate://crates.io/annotate-snippets/0.6.1 \
21 crate://crates.io/ansi_term/0.11.0 \
22 crate://crates.io/argon2rs/0.2.5 \
23 crate://crates.io/arrayvec/0.4.11 \
24 crate://crates.io/atty/0.2.13 \
25 crate://crates.io/autocfg/0.1.5 \
26 crate://crates.io/backtrace-sys/0.1.31 \
27 crate://crates.io/backtrace/0.3.33 \
28 crate://crates.io/bitflags/1.1.0 \
29 crate://crates.io/blake2-rfc/0.2.18 \
30 crate://crates.io/bstr/0.2.6 \
31 crate://crates.io/bytecount/0.5.1 \
32 crate://crates.io/byteorder/1.3.2 \
33 crate://crates.io/c2-chacha/0.2.2 \
34 crate://crates.io/cargo_metadata/0.8.1 \
35 crate://crates.io/cc/1.0.38 \
36 crate://crates.io/cfg-if/0.1.9 \
37 crate://crates.io/clap/2.33.0 \
38 crate://crates.io/cloudabi/0.0.3 \
39 crate://crates.io/constant_time_eq/0.1.3 \
40 crate://crates.io/crossbeam-channel/0.3.9 \
41 crate://crates.io/crossbeam-deque/0.2.0 \
42 crate://crates.io/crossbeam-epoch/0.3.1 \
43 crate://crates.io/crossbeam-utils/0.2.2 \
44 crate://crates.io/crossbeam-utils/0.6.6 \
45 crate://crates.io/derive-new/0.5.7 \
46 crate://crates.io/diff/0.1.11 \
47 crate://crates.io/dirs-sys/0.3.3 \
48 crate://crates.io/dirs/2.0.1 \
49 crate://crates.io/either/1.5.2 \
50 crate://crates.io/ena/0.13.0 \
51 crate://crates.io/env_logger/0.6.2 \
52 crate://crates.io/failure/0.1.5 \
53 crate://crates.io/failure_derive/0.1.5 \
54 crate://crates.io/fnv/1.0.6 \
55 crate://crates.io/fuchsia-cprng/0.1.1 \
56 crate://crates.io/getopts/0.2.19 \
57 crate://crates.io/getrandom/0.1.6 \
58 crate://crates.io/globset/0.4.4 \
59 crate://crates.io/heck/0.3.1 \
60 crate://crates.io/humantime/1.2.0 \
61 crate://crates.io/ignore/0.4.8 \
62 crate://crates.io/indexmap/1.0.2 \
63 crate://crates.io/itertools/0.8.0 \
64 crate://crates.io/itoa/0.4.4 \
65 crate://crates.io/jobserver/0.1.16 \
66 crate://crates.io/lazy_static/1.3.0 \
67 crate://crates.io/libc/0.2.60 \
68 crate://crates.io/lock_api/0.1.5 \
69 crate://crates.io/log/0.4.7 \
70 crate://crates.io/memchr/2.2.1 \
71 crate://crates.io/memoffset/0.2.1 \
72 crate://crates.io/nodrop/0.1.13 \
73 crate://crates.io/num_cpus/1.10.1 \
74 crate://crates.io/owning_ref/0.4.0 \
75 crate://crates.io/packed_simd/0.3.3 \
76 crate://crates.io/parking_lot/0.7.1 \
77 crate://crates.io/parking_lot_core/0.4.0 \
78 crate://crates.io/ppv-lite86/0.2.5 \
79 crate://crates.io/proc-macro2/0.4.30 \
80 crate://crates.io/quick-error/1.2.2 \
81 crate://crates.io/quote/0.6.13 \
82 crate://crates.io/rand/0.6.5 \
83 crate://crates.io/rand/0.7.0 \
84 crate://crates.io/rand_chacha/0.1.1 \
85 crate://crates.io/rand_chacha/0.2.1 \
86 crate://crates.io/rand_core/0.3.1 \
87 crate://crates.io/rand_core/0.4.0 \
88 crate://crates.io/rand_core/0.5.0 \
89 crate://crates.io/rand_hc/0.1.0 \
90 crate://crates.io/rand_hc/0.2.0 \
91 crate://crates.io/rand_isaac/0.1.1 \
92 crate://crates.io/rand_jitter/0.1.4 \
93 crate://crates.io/rand_os/0.1.3 \
94 crate://crates.io/rand_pcg/0.1.2 \
95 crate://crates.io/rand_xorshift/0.1.1 \
96 crate://crates.io/rdrand/0.4.0 \
97 crate://crates.io/redox_syscall/0.1.56 \
98 crate://crates.io/redox_users/0.3.0 \
99 crate://crates.io/regex-syntax/0.6.10 \
100 crate://crates.io/regex/1.2.0 \
101 crate://crates.io/rustc-ap-arena/542.0.0 \
102 crate://crates.io/rustc-ap-graphviz/542.0.0 \
103 crate://crates.io/rustc-ap-rustc_data_structures/542.0.0 \
104 crate://crates.io/rustc-ap-rustc_errors/542.0.0 \
105 crate://crates.io/rustc-ap-rustc_lexer/542.0.0 \
106 crate://crates.io/rustc-ap-rustc_macros/542.0.0 \
107 crate://crates.io/rustc-ap-rustc_target/542.0.0 \
108 crate://crates.io/rustc-ap-serialize/542.0.0 \
109 crate://crates.io/rustc-ap-syntax/542.0.0 \
110 crate://crates.io/rustc-ap-syntax_pos/542.0.0 \
111 crate://crates.io/rustc-demangle/0.1.15 \
112 crate://crates.io/rustc-hash/1.0.1 \
113 crate://crates.io/rustc-rayon-core/0.2.0 \
114 crate://crates.io/rustc-rayon/0.2.0 \
115 crate://crates.io/rustc-workspace-hack/1.0.0 \
116 crate://crates.io/rustc_version/0.2.3 \
117 crate://crates.io/ryu/1.0.0 \
118 crate://crates.io/same-file/1.0.5 \
119 crate://crates.io/scoped-tls/1.0.0 \
120 crate://crates.io/scoped_threadpool/0.1.9 \
121 crate://crates.io/scopeguard/0.3.3 \
122 crate://crates.io/semver-parser/0.7.0 \
123 crate://crates.io/semver/0.9.0 \
124 crate://crates.io/serde/1.0.97 \
125 crate://crates.io/serde_derive/1.0.97 \
126 crate://crates.io/serde_json/1.0.40 \
127 crate://crates.io/smallvec/0.6.10 \
128 crate://crates.io/spin/0.5.0 \
129 crate://crates.io/stable_deref_trait/1.1.1 \
130 crate://crates.io/strsim/0.8.0 \
131 crate://crates.io/structopt-derive/0.2.18 \
132 crate://crates.io/structopt/0.2.18 \
133 crate://crates.io/syn/0.15.42 \
134 crate://crates.io/synstructure/0.10.2 \
135 crate://crates.io/term/0.6.0 \
136 crate://crates.io/termcolor/1.0.5 \
137 crate://crates.io/textwrap/0.11.0 \
138 crate://crates.io/thread_local/0.3.6 \
139 crate://crates.io/toml/0.5.1 \
140 crate://crates.io/ucd-util/0.1.5 \
141 crate://crates.io/unicode-segmentation/1.3.0 \
142 crate://crates.io/unicode-width/0.1.5 \
143 crate://crates.io/unicode-xid/0.1.0 \
144 crate://crates.io/unicode_categories/0.1.1 \
145 crate://crates.io/utf8-ranges/1.0.3 \
146 crate://crates.io/vec_map/0.8.1 \
147 crate://crates.io/walkdir/2.2.9 \
148 crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
149 crate://crates.io/winapi-util/0.1.2 \
150 crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
151 crate://crates.io/winapi/0.3.7 \
152 crate://crates.io/wincolor/1.0.1 \
153"
154
155
156
157# FIXME: update generateme with the real MD5 of the license file
158LIC_FILES_CHKSUM = " \
159 file://LICENSE-APACHE;md5=1836efb2eb779966696f473ee8540542 \
160 file://LICENSE-MIT;md5=0b29d505d9225d1f0815cbdcf602b901 \
161"
162
163SUMMARY = "Tool to find and fix Rust formatting issues"
164HOMEPAGE = "https://github.com/rust-lang/rustfmt"
165LICENSE = "Apache-2.0 | MIT"
166
167# includes this file if it exists but does not fail
168# this is useful for anything you may want to override from
169# what cargo-bitbake generates.
170include rustfmt-nightly-${PV}.inc
171include rustfmt-nightly.inc