summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bitbake/doc/releases.rst14
-rw-r--r--meta/classes-recipe/kernel-module-split.bbclass76
-rw-r--r--meta/conf/bitbake.conf2
-rw-r--r--meta/conf/distro/include/maintainers.inc1
-rw-r--r--meta/conf/distro/include/tcmode-default.inc2
-rw-r--r--meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc5
-rw-r--r--meta/lib/oe/package.py46
-rw-r--r--meta/lib/oeqa/selftest/cases/rust.py2
-rw-r--r--meta/recipes-connectivity/bluez5/bluez5/0001-bluez5-disable-aics-tests.patch2
-rw-r--r--meta/recipes-connectivity/bluez5/bluez5/0001-tests-add-a-target-for-building-tests-without-runnin.patch6
-rw-r--r--meta/recipes-connectivity/bluez5/bluez5_5.83.bb (renamed from meta/recipes-connectivity/bluez5/bluez5_5.82.bb)2
-rw-r--r--meta/recipes-connectivity/kea/files/0001-Avoid-assert-on-empty-packet.patch148
-rw-r--r--meta/recipes-connectivity/kea/files/0001-Replace-Name-NameString-with-vector-of-uint8_t.patch90
-rw-r--r--meta/recipes-connectivity/kea/files/0001-Update-asiolink-for-boost-1.87.patch190
-rw-r--r--meta/recipes-connectivity/kea/files/0002-Fix-unittests-Typo-in-Name-Name-append-to-ndata_-not.patch36
-rw-r--r--meta/recipes-connectivity/kea/kea_2.6.3.bb (renamed from meta/recipes-connectivity/kea/kea_2.6.1.bb)8
-rw-r--r--meta/recipes-core/coreutils/coreutils_9.7.bb12
-rw-r--r--meta/recipes-core/seatd/seatd_0.9.1.bb3
-rw-r--r--meta/recipes-core/sysfsutils/files/0001-Modify-my_strncat-function.patch34
-rw-r--r--meta/recipes-core/sysfsutils/sysfsutils_2.1.1.bb4
-rw-r--r--meta/recipes-core/util-linux/util-linux-libuuid_2.41.bb6
-rw-r--r--meta/recipes-core/util-linux/util-linux.inc25
-rw-r--r--meta/recipes-core/util-linux/util-linux/0001-test_sysinfo.c-print-out-SIGRTMIN.patch50
-rw-r--r--meta/recipes-core/util-linux/util-linux/0002-ts-kill-decode-use-SIGRTMIN-from-test_sysinfo-instea.patch56
-rw-r--r--meta/recipes-core/util-linux/util-linux_2.41.bb56
-rw-r--r--meta/recipes-devtools/binutils/binutils-2.44.inc2
-rw-r--r--meta/recipes-devtools/binutils/binutils/0019-CVE-2025-3198.patch28
-rw-r--r--meta/recipes-devtools/binutils/binutils/0019-CVE-2025-5244.patch25
-rw-r--r--meta/recipes-devtools/go/go-1.24.4.inc (renamed from meta/recipes-devtools/go/go-1.24.3.inc)2
-rw-r--r--meta/recipes-devtools/go/go-binary-native_1.24.4.bb (renamed from meta/recipes-devtools/go/go-binary-native_1.24.3.bb)6
-rw-r--r--meta/recipes-devtools/go/go-cross-canadian_1.24.4.bb (renamed from meta/recipes-devtools/go/go-cross-canadian_1.24.3.bb)0
-rw-r--r--meta/recipes-devtools/go/go-cross_1.24.4.bb (renamed from meta/recipes-devtools/go/go-cross_1.24.3.bb)0
-rw-r--r--meta/recipes-devtools/go/go-crosssdk_1.24.4.bb (renamed from meta/recipes-devtools/go/go-crosssdk_1.24.3.bb)0
-rw-r--r--meta/recipes-devtools/go/go-runtime_1.24.4.bb (renamed from meta/recipes-devtools/go/go-runtime_1.24.3.bb)0
-rw-r--r--meta/recipes-devtools/go/go_1.24.4.bb (renamed from meta/recipes-devtools/go/go_1.24.3.bb)0
-rw-r--r--meta/recipes-devtools/python/python3-ndg-httpsclient_0.5.1.bb29
-rw-r--r--meta/recipes-devtools/rust/cargo_1.86.0.bb (renamed from meta/recipes-devtools/rust/cargo_1.85.1.bb)0
-rw-r--r--meta/recipes-devtools/rust/files/0001-Define-more-ioctl-codes-on-riscv32gc-unknown-linux-g.patch32
-rw-r--r--meta/recipes-devtools/rust/files/0001-src-core-build_steps-tool.rs-switch-off-lto-for-rust.patch54
-rw-r--r--meta/recipes-devtools/rust/files/Zdual-proc-macros-additional-check.patch31
-rw-r--r--meta/recipes-devtools/rust/files/rust-oe-selftest.patch85
-rw-r--r--meta/recipes-devtools/rust/libstd-rs_1.86.0.bb (renamed from meta/recipes-devtools/rust/libstd-rs_1.85.1.bb)2
-rw-r--r--meta/recipes-devtools/rust/rust-cross-canadian_1.86.0.bb (renamed from meta/recipes-devtools/rust/rust-cross-canadian_1.85.1.bb)0
-rw-r--r--meta/recipes-devtools/rust/rust-llvm_1.86.0.bb (renamed from meta/recipes-devtools/rust/rust-llvm_1.85.1.bb)4
-rw-r--r--meta/recipes-devtools/rust/rust-snapshot.inc78
-rw-r--r--meta/recipes-devtools/rust/rust-source.inc3
-rw-r--r--meta/recipes-devtools/rust/rust_1.86.0.bb (renamed from meta/recipes-devtools/rust/rust_1.85.1.bb)18
-rw-r--r--meta/recipes-devtools/squashfs-tools/squashfs-tools/pid.patch40
-rw-r--r--meta/recipes-devtools/squashfs-tools/squashfs-tools/thread.patch33
-rw-r--r--meta/recipes-devtools/squashfs-tools/squashfs-tools_4.7.bb (renamed from meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb)22
-rw-r--r--meta/recipes-extended/findutils/findutils/run-ptest3
-rw-r--r--meta/recipes-extended/findutils/findutils_4.10.0.bb3
-rw-r--r--meta/recipes-graphics/piglit/piglit_git.bb6
-rw-r--r--meta/recipes-kernel/systemtap/systemtap/0001-python-Makefile.am-use-absolute-path-for-source-dire.patch36
-rw-r--r--meta/recipes-kernel/systemtap/systemtap_5.2.bb1
-rw-r--r--meta/recipes-multimedia/libtheora/libtheora-1.1.1/autoreconf.patch42
-rw-r--r--meta/recipes-multimedia/libtheora/libtheora-1.1.1/no-docs.patch15
-rw-r--r--meta/recipes-multimedia/libtheora/libtheora/0001-add-missing-files.patch769
-rw-r--r--meta/recipes-multimedia/libtheora/libtheora_1.2.0.bb (renamed from meta/recipes-multimedia/libtheora/libtheora_1.1.1.bb)13
-rw-r--r--meta/recipes-sato/puzzles/puzzles_git.bb2
60 files changed, 1454 insertions, 806 deletions
diff --git a/bitbake/doc/releases.rst b/bitbake/doc/releases.rst
index 3e80140740..676db66ec5 100644
--- a/bitbake/doc/releases.rst
+++ b/bitbake/doc/releases.rst
@@ -4,11 +4,11 @@
4BitBake Supported Release Manuals 4BitBake Supported Release Manuals
5================================= 5=================================
6 6
7**************************** 7******************************
8Release Series 5.1 (styhead) 8Release Series 5.2 (walnascar)
9**************************** 9******************************
10 10
11- :yocto_docs:`BitBake 2.10 User Manual </bitbake/2.10/>` 11- :yocto_docs:`BitBake 2.12 User Manual </bitbake/2.12/>`
12 12
13******************************* 13*******************************
14Release Series 5.0 (scarthgap) 14Release Series 5.0 (scarthgap)
@@ -26,6 +26,12 @@ Release Series 4.0 (kirkstone)
26BitBake Outdated Release Manuals 26BitBake Outdated Release Manuals
27================================ 27================================
28 28
29****************************
30Release Series 5.1 (styhead)
31****************************
32
33- :yocto_docs:`BitBake 2.10 User Manual </bitbake/2.10/>`
34
29******************************* 35*******************************
30Release Series 4.3 (nanbield) 36Release Series 4.3 (nanbield)
31******************************* 37*******************************
diff --git a/meta/classes-recipe/kernel-module-split.bbclass b/meta/classes-recipe/kernel-module-split.bbclass
index a2d81f18e2..75ed696b72 100644
--- a/meta/classes-recipe/kernel-module-split.bbclass
+++ b/meta/classes-recipe/kernel-module-split.bbclass
@@ -86,11 +86,7 @@ python split_kernel_module_packages () {
86 vals[m.group(1)] = m.group(2) 86 vals[m.group(1)] = m.group(2)
87 return vals 87 return vals
88 88
89 def frob_metadata(file, pkg, pattern, format, basename): 89 def handle_conf_files(d, basename, pkg):
90 vals = extract_modinfo(file)
91
92 dvar = d.getVar('PKGD')
93
94 # If autoloading is requested, output ${modulesloaddir}/<name>.conf and append 90 # If autoloading is requested, output ${modulesloaddir}/<name>.conf and append
95 # appropriate modprobe commands to the postinst 91 # appropriate modprobe commands to the postinst
96 autoloadlist = (d.getVar("KERNEL_MODULE_AUTOLOAD") or "").split() 92 autoloadlist = (d.getVar("KERNEL_MODULE_AUTOLOAD") or "").split()
@@ -102,7 +98,7 @@ python split_kernel_module_packages () {
102 98
103 # The .conf file can either be installed by a recipe or generated from module_autoload_* 99 # The .conf file can either be installed by a recipe or generated from module_autoload_*
104 conf = '%s/%s.conf' % (d.getVar('modulesloaddir'), basename) 100 conf = '%s/%s.conf' % (d.getVar('modulesloaddir'), basename)
105 name = '%s%s' % (dvar, conf) 101 name = '%s%s' % (d.getVar('PKGD'), conf)
106 # If module name is in KERNEL_MODULE_AUTOLOAD, then generate the .conf file and write to `name`. 102 # If module name is in KERNEL_MODULE_AUTOLOAD, then generate the .conf file and write to `name`.
107 if basename in autoloadlist: 103 if basename in autoloadlist:
108 os.makedirs(os.path.dirname(name), exist_ok=True) 104 os.makedirs(os.path.dirname(name), exist_ok=True)
@@ -120,7 +116,7 @@ python split_kernel_module_packages () {
120 d.appendVar('CONFFILES:%s' % pkg, conf2append) 116 d.appendVar('CONFFILES:%s' % pkg, conf2append)
121 postinst = d.getVar('pkg_postinst:%s' % pkg) 117 postinst = d.getVar('pkg_postinst:%s' % pkg)
122 if not postinst: 118 if not postinst:
123 bb.fatal("pkg_postinst:%s not defined" % pkg) 119 postinst = d.getVar('pkg_postinst:modules')
124 postinst += d.getVar('autoload_postinst_fragment') % (autoload or basename) 120 postinst += d.getVar('autoload_postinst_fragment') % (autoload or basename)
125 d.setVar('pkg_postinst:%s' % pkg, postinst) 121 d.setVar('pkg_postinst:%s' % pkg, postinst)
126 122
@@ -130,7 +126,7 @@ python split_kernel_module_packages () {
130 126
131 # The .conf file can either be installed by a recipe or generated from module_conf_* 127 # The .conf file can either be installed by a recipe or generated from module_conf_*
132 conf = '%s/%s.conf' % (d.getVar('modprobedir'), basename) 128 conf = '%s/%s.conf' % (d.getVar('modprobedir'), basename)
133 name = '%s%s' % (dvar, conf) 129 name = '%s%s' % (d.getVar('PKGD'), conf)
134 # If module name is in KERNEL_MODULE_PROBECONF, then generate the .conf file and write to `name`. 130 # If module name is in KERNEL_MODULE_PROBECONF, then generate the .conf file and write to `name`.
135 if modconf and basename in modconflist: 131 if modconf and basename in modconflist:
136 os.makedirs(os.path.dirname(name), exist_ok=True) 132 os.makedirs(os.path.dirname(name), exist_ok=True)
@@ -145,6 +141,55 @@ python split_kernel_module_packages () {
145 d.appendVar('FILES:%s' % pkg, conf2append) 141 d.appendVar('FILES:%s' % pkg, conf2append)
146 d.appendVar('CONFFILES:%s' % pkg, conf2append) 142 d.appendVar('CONFFILES:%s' % pkg, conf2append)
147 143
144 def generate_conf_files(d, root, file_regex, output_pattern):
145 """
146 Arguments:
147 root -- the path in which to search. Contains system lib path
148 so needs expansion.
149 file_regex -- regular expression to match searched files. Use
150 parentheses () to mark the part of this expression
151 that should be used to derive the module name (to be
152 substituted where %s is used in other function
153 arguments as noted below)
154 output_pattern -- pattern to use for the package names. Must include %s.
155 """
156 import re, stat
157
158 dvar = d.getVar('PKGD')
159 root = d.expand(root)
160
161 # if the root directory doesn't exist, it's fatal - exit from the current execution.
162 if not os.path.exists(dvar + root):
163 bb.fatal("kernel module root directory path does not exist")
164
165 # walk through kernel module directory. for each entry in the directory, check if it
166 # matches the desired regex pattern and file type. if it fullfills, process it to generate
167 # it's conf file based on its package name.
168 for walkroot, dirs, files in os.walk(dvar + root):
169 for file in files:
170 relpath = os.path.join(walkroot, file).replace(dvar + root + '/', '', 1)
171 if not relpath:
172 continue
173 m = re.match(file_regex, os.path.basename(relpath))
174 if not m:
175 continue
176 file_f = os.path.join(dvar + root, relpath)
177 mode = os.lstat(file_f).st_mode
178 if not (stat.S_ISREG(mode) or (allow_links and stat.S_ISLNK(mode)) or (allow_dirs and stat.S_ISDIR(mode))):
179 continue
180
181 basename = m.group(1)
182 on = legitimize_package_name(basename)
183 pkg = output_pattern % on
184 handle_conf_files(d, basename, pkg)
185
186
187 def frob_metadata(file, pkg, pattern, format, basename):
188 vals = extract_modinfo(file)
189 dvar = d.getVar('PKGD')
190
191 handle_conf_files(d, basename, pkg)
192
148 if "description" in vals: 193 if "description" in vals:
149 old_desc = d.getVar('DESCRIPTION:' + pkg) or "" 194 old_desc = d.getVar('DESCRIPTION:' + pkg) or ""
150 d.setVar('DESCRIPTION:' + pkg, old_desc + "; " + vals["description"]) 195 d.setVar('DESCRIPTION:' + pkg, old_desc + "; " + vals["description"])
@@ -178,19 +223,20 @@ python split_kernel_module_packages () {
178 postinst = d.getVar('pkg_postinst:modules') 223 postinst = d.getVar('pkg_postinst:modules')
179 postrm = d.getVar('pkg_postrm:modules') 224 postrm = d.getVar('pkg_postrm:modules')
180 225
181 if splitmods != '1':
182 d.appendVar('FILES:' + metapkg, '%s %s %s/modules' %
183 (d.getVar('modulesloaddir'), d.getVar('modprobedir'), d.getVar("nonarch_base_libdir")))
184 d.appendVar('pkg_postinst:%s' % metapkg, postinst)
185 d.prependVar('pkg_postrm:%s' % metapkg, postrm);
186 return
187
188 module_regex = r'^(.*)\.k?o(?:\.(gz|xz|zst))?$' 226 module_regex = r'^(.*)\.k?o(?:\.(gz|xz|zst))?$'
189 227
190 module_pattern_prefix = d.getVar('KERNEL_MODULE_PACKAGE_PREFIX') 228 module_pattern_prefix = d.getVar('KERNEL_MODULE_PACKAGE_PREFIX')
191 module_pattern_suffix = d.getVar('KERNEL_MODULE_PACKAGE_SUFFIX') 229 module_pattern_suffix = d.getVar('KERNEL_MODULE_PACKAGE_SUFFIX')
192 module_pattern = module_pattern_prefix + kernel_package_name + '-module-%s' + module_pattern_suffix 230 module_pattern = module_pattern_prefix + kernel_package_name + '-module-%s' + module_pattern_suffix
193 231
232 if splitmods != '1':
233 d.appendVar('FILES:' + metapkg, '%s %s %s/modules' %
234 (d.getVar('modulesloaddir'), d.getVar('modprobedir'), d.getVar("nonarch_base_libdir")))
235 d.appendVar('pkg_postinst:%s' % metapkg, postinst)
236 d.prependVar('pkg_postrm:%s' % metapkg, postrm)
237 generate_conf_files(d, root='${nonarch_base_libdir}/modules', file_regex=module_regex, output_pattern=module_pattern)
238 return
239
194 modules = do_split_packages(d, root='${nonarch_base_libdir}/modules', file_regex=module_regex, output_pattern=module_pattern, description='%s kernel module', postinst=postinst, postrm=postrm, recursive=True, hook=frob_metadata, extra_depends='%s-%s' % (kernel_package_name, kernel_version)) 240 modules = do_split_packages(d, root='${nonarch_base_libdir}/modules', file_regex=module_regex, output_pattern=module_pattern, description='%s kernel module', postinst=postinst, postrm=postrm, recursive=True, hook=frob_metadata, extra_depends='%s-%s' % (kernel_package_name, kernel_version))
195 if modules: 241 if modules:
196 d.appendVar('RDEPENDS:' + metapkg, ' '+' '.join(modules)) 242 d.appendVar('RDEPENDS:' + metapkg, ' '+' '.join(modules))
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index c515a07b6f..e600d9d774 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -991,5 +991,7 @@ oe.sstatesig.find_sstate_manifest[vardepsexclude] = "BBEXTENDCURR BBEXTENDVARIAN
991oe.utils.get_multilib_datastore[vardepsexclude] = "DEFAULTTUNE_MULTILIB_ORIGINAL OVERRIDES" 991oe.utils.get_multilib_datastore[vardepsexclude] = "DEFAULTTUNE_MULTILIB_ORIGINAL OVERRIDES"
992oe.path.format_display[vardepsexclude] = "TOPDIR" 992oe.path.format_display[vardepsexclude] = "TOPDIR"
993oe.utils.get_bb_number_threads[vardepsexclude] = "BB_NUMBER_THREADS" 993oe.utils.get_bb_number_threads[vardepsexclude] = "BB_NUMBER_THREADS"
994oe.package.save_debugsources_info[vardepsexclude] = "BB_NUMBER_THREADS"
995oe.package.read_debugsources_info[vardepsexclude] = "BB_NUMBER_THREADS"
994oe.packagedata.emit_pkgdata[vardepsexclude] = "BB_NUMBER_THREADS" 996oe.packagedata.emit_pkgdata[vardepsexclude] = "BB_NUMBER_THREADS"
995oe.packagedata.read_subpkgdata_extended[vardepsexclude] = "BB_NUMBER_THREADS" 997oe.packagedata.read_subpkgdata_extended[vardepsexclude] = "BB_NUMBER_THREADS"
diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index 5c315d58cf..b6cf4b7cfa 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -668,7 +668,6 @@ RECIPE_MAINTAINER:pn-python3-markupsafe = "Richard Purdie <richard.purdie@linuxf
668RECIPE_MAINTAINER:pn-python3-maturin = "Tim Orling <tim.orling@konsulko.com>" 668RECIPE_MAINTAINER:pn-python3-maturin = "Tim Orling <tim.orling@konsulko.com>"
669RECIPE_MAINTAINER:pn-python3-meson-python = "Tim Orling <tim.orling@konsulko.com>" 669RECIPE_MAINTAINER:pn-python3-meson-python = "Tim Orling <tim.orling@konsulko.com>"
670RECIPE_MAINTAINER:pn-python3-more-itertools = "Tim Orling <tim.orling@konsulko.com>" 670RECIPE_MAINTAINER:pn-python3-more-itertools = "Tim Orling <tim.orling@konsulko.com>"
671RECIPE_MAINTAINER:pn-python3-ndg-httpsclient = "Tim Orling <tim.orling@konsulko.com>"
672RECIPE_MAINTAINER:pn-python3-numpy = "Trevor Gamblin <tgamblin@baylibre.com>" 671RECIPE_MAINTAINER:pn-python3-numpy = "Trevor Gamblin <tgamblin@baylibre.com>"
673RECIPE_MAINTAINER:pn-python3-packaging = "Tim Orling <tim.orling@konsulko.com>" 672RECIPE_MAINTAINER:pn-python3-packaging = "Tim Orling <tim.orling@konsulko.com>"
674RECIPE_MAINTAINER:pn-python3-pathspec = "Ross Burton <ross.burton@arm.com>" 673RECIPE_MAINTAINER:pn-python3-pathspec = "Ross Burton <ross.burton@arm.com>"
diff --git a/meta/conf/distro/include/tcmode-default.inc b/meta/conf/distro/include/tcmode-default.inc
index f0443fbdc6..e943ca77d1 100644
--- a/meta/conf/distro/include/tcmode-default.inc
+++ b/meta/conf/distro/include/tcmode-default.inc
@@ -12,7 +12,7 @@ PREFERRED_PROVIDER_virtual/gettext ??= "gettext"
12GCCVERSION ?= "15.%" 12GCCVERSION ?= "15.%"
13SDKGCCVERSION ?= "${GCCVERSION}" 13SDKGCCVERSION ?= "${GCCVERSION}"
14GLIBCVERSION ?= "2.41%" 14GLIBCVERSION ?= "2.41%"
15RUSTVERSION ?= "1.85.1%" 15RUSTVERSION ?= "1.86.0%"
16 16
17PREFERRED_VERSION_gcc ?= "${GCCVERSION}" 17PREFERRED_VERSION_gcc ?= "${GCCVERSION}"
18PREFERRED_VERSION_gcc-cross-${TARGET_ARCH} ?= "${GCCVERSION}" 18PREFERRED_VERSION_gcc-cross-${TARGET_ARCH} ?= "${GCCVERSION}"
diff --git a/meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc b/meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc
index 89f0e09450..e8667bc16b 100644
--- a/meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc
+++ b/meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc
@@ -10,11 +10,10 @@ require conf/machine/include/arm/arch-armv8r.inc
10 10
11AVAILTUNES += "cortexr52" 11AVAILTUNES += "cortexr52"
12ARMPKGARCH:tune-cortexr52 = "cortexr52" 12ARMPKGARCH:tune-cortexr52 = "cortexr52"
13# We do not want -march since -mcpu is added above to cover for it 13TUNE_FEATURES:tune-cortexr52 = "${TUNE_FEATURES:tune-armv8r-crc-simd} cortexr52"
14TUNE_FEATURES:tune-cortexr52 = "aarch64 crc simd cortexr52"
15PACKAGE_EXTRA_ARCHS:tune-cortexr52 = "${PACKAGE_EXTRA_ARCHS:tune-armv8r-crc-simd} cortexr52" 14PACKAGE_EXTRA_ARCHS:tune-cortexr52 = "${PACKAGE_EXTRA_ARCHS:tune-armv8r-crc-simd} cortexr52"
16 15
17AVAILTUNES += "cortexr52hf" 16AVAILTUNES += "cortexr52hf"
18ARMPKGARCH:tune-cortexr52hf = "cortexr52" 17ARMPKGARCH:tune-cortexr52hf = "cortexr52hf"
19TUNE_FEATURES:tune-cortexr52hf = "${TUNE_FEATURES:tune-cortexr52} callconvention-hard" 18TUNE_FEATURES:tune-cortexr52hf = "${TUNE_FEATURES:tune-cortexr52} callconvention-hard"
20PACKAGE_EXTRA_ARCHS:tune-cortexr52hf = "cortexr52hf" 19PACKAGE_EXTRA_ARCHS:tune-cortexr52hf = "cortexr52hf"
diff --git a/meta/lib/oe/package.py b/meta/lib/oe/package.py
index 0bcc04ea54..60392cbced 100644
--- a/meta/lib/oe/package.py
+++ b/meta/lib/oe/package.py
@@ -1049,6 +1049,49 @@ def copydebugsources(debugsrcdir, sources, d):
1049 if os.path.exists(p) and not os.listdir(p): 1049 if os.path.exists(p) and not os.listdir(p):
1050 os.rmdir(p) 1050 os.rmdir(p)
1051 1051
1052def save_debugsources_info(debugsrcdir, sources_raw, d):
1053 import json
1054 import bb.compress.zstd
1055 if debugsrcdir and sources_raw:
1056 debugsources_file = d.expand("${PKGDESTWORK}/debugsources/${PN}-debugsources.json.zstd")
1057 debugsources_dir = os.path.dirname(debugsources_file)
1058 if not os.path.isdir(debugsources_dir):
1059 bb.utils.mkdirhier(debugsources_dir)
1060 bb.utils.remove(debugsources_file)
1061
1062 workdir = d.getVar("WORKDIR")
1063 pn = d.getVar('PN')
1064
1065 # Kernel sources are in a different directory and are special case
1066 # we format the sources as expected by spdx by replacing /usr/src/kernel/
1067 # into BP/
1068 kernel_src = d.getVar('KERNEL_SRC_PATH')
1069 bp = d.getVar('BP')
1070 sources_dict = {}
1071 for file, src_files in sources_raw:
1072 file_clean = file.replace(f"{workdir}/package/","")
1073 sources_clean = [
1074 src.replace(f"{debugsrcdir}/{pn}/", "")
1075 if not kernel_src else src.replace(f"{kernel_src}/", f"{bp}/")
1076 for src in src_files
1077 if not any(keyword in src for keyword in ("<internal>", "<built-in>")) and not src.endswith("/")
1078 ]
1079 sources_dict[file_clean] = sorted(sources_clean)
1080 num_threads = int(d.getVar("BB_NUMBER_THREADS"))
1081 with bb.compress.zstd.open(debugsources_file, "wt", encoding="utf-8", num_threads=num_threads) as f:
1082 json.dump(sources_dict, f, sort_keys=True)
1083
1084def read_debugsources_info(d):
1085 import json
1086 import bb.compress.zstd
1087 try:
1088 fn = d.expand("${PKGDESTWORK}/debugsources/${PN}-debugsources.json.zstd")
1089 num_threads = int(d.getVar("BB_NUMBER_THREADS"))
1090 with bb.compress.zstd.open(fn, "rt", encoding="utf-8", num_threads=num_threads) as f:
1091 return json.load(f)
1092 except FileNotFoundError:
1093 bb.debug(1, f"File not found: {fn}")
1094 return None
1052 1095
1053def process_split_and_strip_files(d): 1096def process_split_and_strip_files(d):
1054 cpath = oe.cachedpath.CachedPath() 1097 cpath = oe.cachedpath.CachedPath()
@@ -1280,6 +1323,9 @@ def process_split_and_strip_files(d):
1280 # Process the dv["srcdir"] if requested... 1323 # Process the dv["srcdir"] if requested...
1281 # This copies and places the referenced sources for later debugging... 1324 # This copies and places the referenced sources for later debugging...
1282 copydebugsources(dv["srcdir"], sources, d) 1325 copydebugsources(dv["srcdir"], sources, d)
1326
1327 # Save source info to be accessible to other tasks
1328 save_debugsources_info(dv["srcdir"], results, d)
1283 # 1329 #
1284 # End of debug splitting 1330 # End of debug splitting
1285 # 1331 #
diff --git a/meta/lib/oeqa/selftest/cases/rust.py b/meta/lib/oeqa/selftest/cases/rust.py
index 806ddf6982..d99a58d6b9 100644
--- a/meta/lib/oeqa/selftest/cases/rust.py
+++ b/meta/lib/oeqa/selftest/cases/rust.py
@@ -104,7 +104,7 @@ class RustSelfTestSystemEmulated(OESelftestTestCase, OEPTestResultTestCase):
104 # Copy remote-test-server to image through scp 104 # Copy remote-test-server to image through scp
105 host_sys = get_bb_var("RUST_BUILD_SYS", "rust") 105 host_sys = get_bb_var("RUST_BUILD_SYS", "rust")
106 ssh = SSHControl(ip=qemu.ip, logfile=qemu.sshlog, user="root") 106 ssh = SSHControl(ip=qemu.ip, logfile=qemu.sshlog, user="root")
107 ssh.copy_to(builddir + "/build/" + host_sys + "/stage1-tools-bin/remote-test-server","~/") 107 ssh.copy_to(builddir + "/build/" + host_sys + "/stage2-tools-bin/remote-test-server","~/")
108 # Execute remote-test-server on image through background ssh 108 # Execute remote-test-server on image through background ssh
109 command = '~/remote-test-server --bind 0.0.0.0:12345 -v' 109 command = '~/remote-test-server --bind 0.0.0.0:12345 -v'
110 sshrun=subprocess.Popen(("ssh", '-o', 'UserKnownHostsFile=/dev/null', '-o', 'StrictHostKeyChecking=no', '-f', "root@%s" % qemu.ip, command), shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE) 110 sshrun=subprocess.Popen(("ssh", '-o', 'UserKnownHostsFile=/dev/null', '-o', 'StrictHostKeyChecking=no', '-f', "root@%s" % qemu.ip, command), shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
diff --git a/meta/recipes-connectivity/bluez5/bluez5/0001-bluez5-disable-aics-tests.patch b/meta/recipes-connectivity/bluez5/bluez5/0001-bluez5-disable-aics-tests.patch
index 4e8bd040e9..3f01843ea3 100644
--- a/meta/recipes-connectivity/bluez5/bluez5/0001-bluez5-disable-aics-tests.patch
+++ b/meta/recipes-connectivity/bluez5/bluez5/0001-bluez5-disable-aics-tests.patch
@@ -1,4 +1,4 @@
1From 2140aa879c24dcc9dad7e733c77c1bb212fe1ddf Mon Sep 17 00:00:00 2001 1From 182545f2504255d67d9ec2071fd5c82ab53c5a2e Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= <gudni.m.g@gmail.com> 2From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= <gudni.m.g@gmail.com>
3Date: Sun, 30 Mar 2025 02:20:24 +0000 3Date: Sun, 30 Mar 2025 02:20:24 +0000
4Subject: [PATCH] bluez5: disable aics tests 4Subject: [PATCH] bluez5: disable aics tests
diff --git a/meta/recipes-connectivity/bluez5/bluez5/0001-tests-add-a-target-for-building-tests-without-runnin.patch b/meta/recipes-connectivity/bluez5/bluez5/0001-tests-add-a-target-for-building-tests-without-runnin.patch
index 5492509577..a9af56f141 100644
--- a/meta/recipes-connectivity/bluez5/bluez5/0001-tests-add-a-target-for-building-tests-without-runnin.patch
+++ b/meta/recipes-connectivity/bluez5/bluez5/0001-tests-add-a-target-for-building-tests-without-runnin.patch
@@ -1,4 +1,4 @@
1From 9d5141cecea46fb3d6f918b11705cf0b6c673bca Mon Sep 17 00:00:00 2001 1From fa5da30786837b437707cea921056e9c1c22ffba Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com> 2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Fri, 1 Apr 2016 17:07:34 +0300 3Date: Fri, 1 Apr 2016 17:07:34 +0300
4Subject: [PATCH] tests: add a target for building tests without running them 4Subject: [PATCH] tests: add a target for building tests without running them
@@ -10,10 +10,10 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
10 1 file changed, 3 insertions(+) 10 1 file changed, 3 insertions(+)
11 11
12diff --git a/Makefile.am b/Makefile.am 12diff --git a/Makefile.am b/Makefile.am
13index dc9a27e..949d7da 100644 13index 02ad23c..169269d 100644
14--- a/Makefile.am 14--- a/Makefile.am
15+++ b/Makefile.am 15+++ b/Makefile.am
16@@ -723,6 +723,9 @@ endif 16@@ -722,6 +722,9 @@ endif
17 TESTS = $(unit_tests) 17 TESTS = $(unit_tests)
18 AM_TESTS_ENVIRONMENT = MALLOC_CHECK_=3 MALLOC_PERTURB_=69 18 AM_TESTS_ENVIRONMENT = MALLOC_CHECK_=3 MALLOC_PERTURB_=69
19 19
diff --git a/meta/recipes-connectivity/bluez5/bluez5_5.82.bb b/meta/recipes-connectivity/bluez5/bluez5_5.83.bb
index f8d73444e3..8af6bdb67e 100644
--- a/meta/recipes-connectivity/bluez5/bluez5_5.82.bb
+++ b/meta/recipes-connectivity/bluez5/bluez5_5.83.bb
@@ -1,6 +1,6 @@
1require bluez5.inc 1require bluez5.inc
2 2
3SRC_URI[sha256sum] = "0739fa608a837967ee6d5572b43fb89946a938d1c6c26127158aaefd743a790b" 3SRC_URI[sha256sum] = "108522d909d220581399bfec93daab62035539ceef3dda3e79970785c63bd24c"
4 4
5CVE_STATUS[CVE-2020-24490] = "cpe-incorrect: This issue has kernel fixes rather than bluez fixes" 5CVE_STATUS[CVE-2020-24490] = "cpe-incorrect: This issue has kernel fixes rather than bluez fixes"
6 6
diff --git a/meta/recipes-connectivity/kea/files/0001-Avoid-assert-on-empty-packet.patch b/meta/recipes-connectivity/kea/files/0001-Avoid-assert-on-empty-packet.patch
deleted file mode 100644
index 14f3424570..0000000000
--- a/meta/recipes-connectivity/kea/files/0001-Avoid-assert-on-empty-packet.patch
+++ /dev/null
@@ -1,148 +0,0 @@
1From 9cf3b6e8d705957927c2fbc9928318f4eda265c8 Mon Sep 17 00:00:00 2001
2From: Thomas Markwalder <tmark@isc.org>
3Date: Tue, 11 Feb 2025 18:52:41 +0000
4Subject: [PATCH 1/2] Avoid assert on empty packet
5
6/src/lib/dhcp/pkt_filter_lpf.cc
7 PktFilterLPF::receive() - throw if packet has no data
8
9/src/lib/util/buffer.h
10 InputBuffer::readVecotr() - avoid peek if read request length is 0
11
12/src/lib/util/tests/buffer_unittest.cc
13 Updated test
14
15Upstream-Status: Backport
16[https://gitlab.isc.org/isc-projects/kea/-/commit/0b98eae16d9b6ecdf57005624712b9b26fa05bc0]
17[https://gitlab.isc.org/isc-projects/kea/-/commit/16306026e37b32a2ce4b16fb5b78561ae153d570]
18
19Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
20---
21 src/lib/dhcp/pkt_filter_lpf.cc | 10 +++++++---
22 src/lib/util/buffer.h | 9 ++++++---
23 src/lib/util/tests/buffer_unittest.cc | 8 +++++++-
24 3 files changed, 20 insertions(+), 7 deletions(-)
25
26diff --git a/src/lib/dhcp/pkt_filter_lpf.cc b/src/lib/dhcp/pkt_filter_lpf.cc
27index 69bdecc0e1..b0c8f108d3 100644
28--- a/src/lib/dhcp/pkt_filter_lpf.cc
29+++ b/src/lib/dhcp/pkt_filter_lpf.cc
30@@ -318,9 +318,14 @@ PktFilterLPF::receive(Iface& iface, const SocketInfo& socket_info) {
31 decodeEthernetHeader(buf, dummy_pkt);
32 decodeIpUdpHeader(buf, dummy_pkt);
33
34+ auto v4_len = buf.getLength() - buf.getPosition();
35+ if (v4_len <= 0) {
36+ isc_throw(SocketReadError, "Pkt4FilterLpf:: packet has no DHCPv4 data");
37+ }
38+
39 // Read the DHCP data.
40 std::vector<uint8_t> dhcp_buf;
41- buf.readVector(dhcp_buf, buf.getLength() - buf.getPosition());
42+ buf.readVector(dhcp_buf, v4_len);
43
44 // Decode DHCP data into the Pkt4 object.
45 Pkt4Ptr pkt = Pkt4Ptr(new Pkt4(&dhcp_buf[0], dhcp_buf.size()));
46@@ -344,8 +349,7 @@ PktFilterLPF::receive(Iface& iface, const SocketInfo& socket_info) {
47
48 struct timeval cmsg_time;
49 memcpy(&cmsg_time, CMSG_DATA(cmsg), sizeof(cmsg_time));
50- pkt->addPktEvent(PktEvent::SOCKET_RECEIVED, cmsg_time);
51- break;
52+ pkt->addPktEvent(PktEvent::SOCKET_RECEIVED, cmsg_time); break;
53 }
54
55 cmsg = CMSG_NXTHDR(&m, cmsg);
56diff --git a/src/lib/util/buffer.h b/src/lib/util/buffer.h
57index 41ecdf3375..c426a14495 100644
58--- a/src/lib/util/buffer.h
59+++ b/src/lib/util/buffer.h
60@@ -1,4 +1,4 @@
61-// Copyright (C) 2009-2024 Internet Systems Consortium, Inc. ("ISC")
62+// Copyright (C) 2009-2025 Internet Systems Consortium, Inc. ("ISC")
63 //
64 // This Source Code Form is subject to the terms of the Mozilla Public
65 // License, v. 2.0. If a copy of the MPL was not distributed with this
66@@ -233,7 +233,8 @@ public:
67 /// @details If specified buffer is too short, it will be expanded using
68 /// vector::resize() method. If the remaining length of the buffer
69 /// is smaller than the specified length, an exception of class
70- /// @c isc::OutOfRange will be thrown.
71+ /// @c isc::OutOfRange will be thrown. Read length zero results
72+ /// in an empty vector.
73 ///
74 /// @param data Reference to a buffer (data will be stored there).
75 /// @param len Size specified number of bytes to read in a vector.
76@@ -244,7 +245,9 @@ public:
77 }
78
79 data.resize(len);
80- peekData(&data[0], len);
81+ if (len) {
82+ peekData(&data[0], len);
83+ }
84 }
85
86 /// @brief Read specified number of bytes as a vector.
87diff --git a/src/lib/util/tests/buffer_unittest.cc b/src/lib/util/tests/buffer_unittest.cc
88index 66c43e8f21..bae051dd16 100644
89--- a/src/lib/util/tests/buffer_unittest.cc
90+++ b/src/lib/util/tests/buffer_unittest.cc
91@@ -1,4 +1,4 @@
92-// Copyright (C) 2009-2024 Internet Systems Consortium, Inc. ("ISC")
93+// Copyright (C) 2009-2025 Internet Systems Consortium, Inc. ("ISC")
94 //
95 // This Source Code Form is subject to the terms of the Mozilla Public
96 // License, v. 2.0. If a copy of the MPL was not distributed with this
97@@ -197,6 +197,12 @@ TEST_F(BufferTest, inputBufferRead) {
98 ASSERT_EQ(sizeof(vdata), datav.size());
99 ASSERT_EQ(0, memcmp(&vdata[0], testdata, sizeof(testdata)));
100 ASSERT_EQ(sizeof(vdata), ibuffer.getPosition());
101+
102+ // Verify that read len of zero results in an empty
103+ // vector without throwing.
104+ datav.resize(8);
105+ ASSERT_NO_THROW(ibuffer.readVector(datav, 0));
106+ ASSERT_EQ(datav.size(), 0);
107 }
108
109 TEST_F(BufferTest, outputBufferReadAt) {
110--
1112.25.1
112
113From 614a6c136fc20ee428b1c880889ef61253657499 Mon Sep 17 00:00:00 2001
114From: Thomas Markwalder <tmark@isc.org>
115Date: Tue, 18 Feb 2025 15:03:12 +0000
116Subject: [PATCH 2/2] Addressed review comments
117
118Couple of typos fixed.
119---
120 src/lib/dhcp/pkt_filter_lpf.cc | 5 +++--
121 1 file changed, 3 insertions(+), 2 deletions(-)
122
123diff --git a/src/lib/dhcp/pkt_filter_lpf.cc b/src/lib/dhcp/pkt_filter_lpf.cc
124index b0c8f108d3..3642915cc1 100644
125--- a/src/lib/dhcp/pkt_filter_lpf.cc
126+++ b/src/lib/dhcp/pkt_filter_lpf.cc
127@@ -320,7 +320,7 @@ PktFilterLPF::receive(Iface& iface, const SocketInfo& socket_info) {
128
129 auto v4_len = buf.getLength() - buf.getPosition();
130 if (v4_len <= 0) {
131- isc_throw(SocketReadError, "Pkt4FilterLpf:: packet has no DHCPv4 data");
132+ isc_throw(SocketReadError, "Pkt4FilterLpf packet has no DHCPv4 data");
133 }
134
135 // Read the DHCP data.
136@@ -349,7 +349,8 @@ PktFilterLPF::receive(Iface& iface, const SocketInfo& socket_info) {
137
138 struct timeval cmsg_time;
139 memcpy(&cmsg_time, CMSG_DATA(cmsg), sizeof(cmsg_time));
140- pkt->addPktEvent(PktEvent::SOCKET_RECEIVED, cmsg_time); break;
141+ pkt->addPktEvent(PktEvent::SOCKET_RECEIVED, cmsg_time);
142+ break;
143 }
144
145 cmsg = CMSG_NXTHDR(&m, cmsg);
146--
1472.25.1
148
diff --git a/meta/recipes-connectivity/kea/files/0001-Replace-Name-NameString-with-vector-of-uint8_t.patch b/meta/recipes-connectivity/kea/files/0001-Replace-Name-NameString-with-vector-of-uint8_t.patch
deleted file mode 100644
index a7deeca243..0000000000
--- a/meta/recipes-connectivity/kea/files/0001-Replace-Name-NameString-with-vector-of-uint8_t.patch
+++ /dev/null
@@ -1,90 +0,0 @@
1From 6b9fb56e3573aa65923df9a08201dd5321a1b1f1 Mon Sep 17 00:00:00 2001
2From: Dimitry Andric <dimitry@andric.com>
3Date: Sat, 3 Aug 2024 14:37:52 +0200
4Subject: [PATCH 1/2] Replace Name::NameString with vector of uint8_t
5
6As noted in the libc++ 19 release notes, it now only provides
7std::char_traits<> for types char, char8_t, char16_t, char32_t and
8wchar_t, and any instantiation for other types will fail.
9
10Name::NameString is defined as a std::basic_string<uint8_t>, so that
11will no longer work. Redefine it as a std::vector<uint8_t> instead.
12
13Upstream-Status: Submitted [https://gitlab.isc.org/isc-projects/kea/-/merge_requests/2410]
14Signed-off-by: Khem Raj <raj.khem@gmail.com>
15---
16 src/lib/dns/name.cc | 12 ++++++------
17 src/lib/dns/name.h | 2 +-
18 2 files changed, 7 insertions(+), 7 deletions(-)
19
20diff --git a/src/lib/dns/name.cc b/src/lib/dns/name.cc
21index ac48205..085229b 100644
22--- a/src/lib/dns/name.cc
23+++ b/src/lib/dns/name.cc
24@@ -303,7 +303,7 @@ Name::Name(const std::string &namestring, bool downcase) {
25 // And get the output
26 labelcount_ = offsets.size();
27 isc_throw_assert(labelcount_ > 0 && labelcount_ <= Name::MAX_LABELS);
28- ndata_.assign(ndata.data(), ndata.size());
29+ ndata_.assign(ndata.data(), ndata.data() + ndata.size());
30 length_ = ndata_.size();
31 offsets_.assign(offsets.begin(), offsets.end());
32 }
33@@ -336,7 +336,7 @@ Name::Name(const char* namedata, size_t data_len, const Name* origin,
34 // Get the output
35 labelcount_ = offsets.size();
36 isc_throw_assert(labelcount_ > 0 && labelcount_ <= Name::MAX_LABELS);
37- ndata_.assign(ndata.data(), ndata.size());
38+ ndata_.assign(ndata.data(), ndata.data() + ndata.size());
39 length_ = ndata_.size();
40 offsets_.assign(offsets.begin(), offsets.end());
41
42@@ -347,7 +347,7 @@ Name::Name(const char* namedata, size_t data_len, const Name* origin,
43 // Drop the last character of the data (the \0) and append a copy of
44 // the origin's data
45 ndata_.erase(ndata_.end() - 1);
46- ndata_.append(origin->ndata_);
47+ ndata_.insert(ndata.end(), origin->ndata_.begin(), origin->ndata_.end());
48
49 // Do a similar thing with offsets. However, we need to move them
50 // so they point after the prefix we parsed before.
51@@ -582,7 +582,7 @@ Name::concatenate(const Name& suffix) const {
52
53 Name retname;
54 retname.ndata_.reserve(length);
55- retname.ndata_.assign(ndata_, 0, length_ - 1);
56+ retname.ndata_.assign(ndata_.data(), ndata_.data() + length_ - 1);
57 retname.ndata_.insert(retname.ndata_.end(),
58 suffix.ndata_.begin(), suffix.ndata_.end());
59 isc_throw_assert(retname.ndata_.size() == length);
60@@ -622,7 +622,7 @@ Name::reverse() const {
61 NameString::const_iterator n0 = ndata_.begin();
62 retname.offsets_.push_back(0);
63 while (rit1 != offsets_.rend()) {
64- retname.ndata_.append(n0 + *rit1, n0 + *rit0);
65+ retname.ndata_.insert(retname.ndata_.end(), n0 + *rit1, n0 + *rit0);
66 retname.offsets_.push_back(retname.ndata_.size());
67 ++rit0;
68 ++rit1;
69@@ -662,7 +662,7 @@ Name::split(const unsigned int first, const unsigned int n) const {
70 // original name, and append the trailing dot explicitly.
71 //
72 retname.ndata_.reserve(retname.offsets_.back() + 1);
73- retname.ndata_.assign(ndata_, offsets_[first], retname.offsets_.back());
74+ retname.ndata_.assign(ndata_.data() + offsets_[first], ndata_.data() + retname.offsets_.back());
75 retname.ndata_.push_back(0);
76
77 retname.length_ = retname.ndata_.size();
78diff --git a/src/lib/dns/name.h b/src/lib/dns/name.h
79index 37723e8..fac0036 100644
80--- a/src/lib/dns/name.h
81+++ b/src/lib/dns/name.h
82@@ -228,7 +228,7 @@ class Name {
83 //@{
84 private:
85 /// \brief Name data string
86- typedef std::basic_string<uint8_t> NameString;
87+ typedef std::vector<uint8_t> NameString;
88 /// \brief Name offsets type
89 typedef std::vector<uint8_t> NameOffsets;
90
diff --git a/meta/recipes-connectivity/kea/files/0001-Update-asiolink-for-boost-1.87.patch b/meta/recipes-connectivity/kea/files/0001-Update-asiolink-for-boost-1.87.patch
deleted file mode 100644
index 794726f1f1..0000000000
--- a/meta/recipes-connectivity/kea/files/0001-Update-asiolink-for-boost-1.87.patch
+++ /dev/null
@@ -1,190 +0,0 @@
1From dab0f3daafb760ace0d4091f74ff90edb225ca02 Mon Sep 17 00:00:00 2001
2From: q66 <q66@chimera-linux.org>
3Date: Sun, 15 Dec 2024 03:04:53 +0100
4Subject: [PATCH] Update asiolink for boost 1.87
5
6Upstream-Status: Submitted [https://gitlab.isc.org/isc-projects/kea/-/merge_requests/2523]
7Signed-off-by: Alexander Kanavin <alex@linutronix.de>
8---
9 src/lib/asiolink/io_address.cc | 4 ++--
10 src/lib/asiolink/io_service.cc | 8 ++++----
11 src/lib/asiolink/tcp_endpoint.h | 2 +-
12 src/lib/asiolink/udp_endpoint.h | 2 +-
13 src/lib/asiolink/unix_domain_socket.cc | 16 ++++++++--------
14 src/lib/dhcp/iface_mgr.cc | 2 +-
15 6 files changed, 17 insertions(+), 17 deletions(-)
16
17diff --git a/src/lib/asiolink/io_address.cc b/src/lib/asiolink/io_address.cc
18index 43459bf..06b7d3d 100644
19--- a/src/lib/asiolink/io_address.cc
20+++ b/src/lib/asiolink/io_address.cc
21@@ -37,7 +37,7 @@ IOAddress::Hash::operator()(const IOAddress &io_address) const {
22 // because we'd like to throw our own exception on failure.
23 IOAddress::IOAddress(const std::string& address_str) {
24 boost::system::error_code err;
25- asio_address_ = ip::address::from_string(address_str, err);
26+ asio_address_ = ip::make_address(address_str, err);
27 if (err) {
28 isc_throw(IOError, "Failed to convert string to address '"
29 << address_str << "': " << err.message());
30@@ -116,7 +116,7 @@ IOAddress::isV6Multicast() const {
31 uint32_t
32 IOAddress::toUint32() const {
33 if (asio_address_.is_v4()) {
34- return (asio_address_.to_v4().to_ulong());
35+ return (asio_address_.to_v4().to_uint());
36 } else {
37 isc_throw(BadValue, "Can't convert " << toText()
38 << " address to IPv4.");
39diff --git a/src/lib/asiolink/io_service.cc b/src/lib/asiolink/io_service.cc
40index 411de64..cc28d24 100644
41--- a/src/lib/asiolink/io_service.cc
42+++ b/src/lib/asiolink/io_service.cc
43@@ -30,7 +30,7 @@ public:
44 /// @brief The constructor.
45 IOServiceImpl() :
46 io_service_(),
47- work_(new boost::asio::io_service::work(io_service_)) {
48+ work_(boost::asio::make_work_guard(io_service_)) {
49 };
50
51 /// @brief The destructor.
52@@ -92,7 +92,7 @@ public:
53
54 /// @brief Restarts the IOService in preparation for a subsequent @ref run() invocation.
55 void restart() {
56- io_service_.reset();
57+ io_service_.restart();
58 }
59
60 /// @brief Removes IO service work object to let it finish running
61@@ -115,12 +115,12 @@ public:
62 ///
63 /// @param callback The callback to be run on the IO service.
64 void post(const std::function<void ()>& callback) {
65- io_service_.post(callback);
66+ boost::asio::post(io_service_, callback);
67 }
68
69 private:
70 boost::asio::io_service io_service_;
71- boost::shared_ptr<boost::asio::io_service::work> work_;
72+ boost::asio::executor_work_guard<boost::asio::io_service::executor_type> work_;
73 };
74
75 IOService::IOService() : io_impl_(new IOServiceImpl()) {
76diff --git a/src/lib/asiolink/tcp_endpoint.h b/src/lib/asiolink/tcp_endpoint.h
77index 8ebd575..7c8cb35 100644
78--- a/src/lib/asiolink/tcp_endpoint.h
79+++ b/src/lib/asiolink/tcp_endpoint.h
80@@ -42,7 +42,7 @@ public:
81 /// \param port The TCP port number of the endpoint.
82 TCPEndpoint(const IOAddress& address, const unsigned short port) :
83 asio_endpoint_placeholder_(
84- new boost::asio::ip::tcp::endpoint(boost::asio::ip::address::from_string(address.toText()),
85+ new boost::asio::ip::tcp::endpoint(boost::asio::ip::make_address(address.toText()),
86 port)),
87 asio_endpoint_(*asio_endpoint_placeholder_)
88 {}
89diff --git a/src/lib/asiolink/udp_endpoint.h b/src/lib/asiolink/udp_endpoint.h
90index f960bf3..2a3da9f 100644
91--- a/src/lib/asiolink/udp_endpoint.h
92+++ b/src/lib/asiolink/udp_endpoint.h
93@@ -42,7 +42,7 @@ public:
94 /// \param port The UDP port number of the endpoint.
95 UDPEndpoint(const IOAddress& address, const unsigned short port) :
96 asio_endpoint_placeholder_(
97- new boost::asio::ip::udp::endpoint(boost::asio::ip::address::from_string(address.toText()),
98+ new boost::asio::ip::udp::endpoint(boost::asio::ip::make_address(address.toText()),
99 port)),
100 asio_endpoint_(*asio_endpoint_placeholder_)
101 {}
102diff --git a/src/lib/asiolink/unix_domain_socket.cc b/src/lib/asiolink/unix_domain_socket.cc
103index f43e1c9..43ff3c8 100644
104--- a/src/lib/asiolink/unix_domain_socket.cc
105+++ b/src/lib/asiolink/unix_domain_socket.cc
106@@ -83,7 +83,7 @@ public:
107 /// @param buffer Buffers holding the data to be sent.
108 /// @param handler User supplied callback to be invoked when data have
109 /// been sent or sending error is signalled.
110- void doSend(const boost::asio::const_buffers_1& buffer,
111+ void doSend(const boost::asio::const_buffer& buffer,
112 const UnixDomainSocket::Handler& handler);
113
114
115@@ -103,7 +103,7 @@ public:
116 /// @param ec Error code returned as a result of sending the data.
117 /// @param length Length of the data sent.
118 void sendHandler(const UnixDomainSocket::Handler& remote_handler,
119- const boost::asio::const_buffers_1& buffer,
120+ const boost::asio::const_buffer& buffer,
121 const boost::system::error_code& ec,
122 size_t length);
123
124@@ -127,7 +127,7 @@ public:
125 /// @param buffer A buffer into which the data should be received.
126 /// @param handler User supplied callback invoked when data have been
127 /// received on an error is signalled.
128- void doReceive(const boost::asio::mutable_buffers_1& buffer,
129+ void doReceive(const boost::asio::mutable_buffer& buffer,
130 const UnixDomainSocket::Handler& handler);
131
132 /// @brief Local handler invoked as a result of asynchronous receive.
133@@ -146,7 +146,7 @@ public:
134 /// @param ec Error code returned as a result of asynchronous receive.
135 /// @param length Size of the received data.
136 void receiveHandler(const UnixDomainSocket::Handler& remote_handler,
137- const boost::asio::mutable_buffers_1& buffer,
138+ const boost::asio::mutable_buffer& buffer,
139 const boost::system::error_code& ec,
140 size_t length);
141
142@@ -197,7 +197,7 @@ UnixDomainSocketImpl::asyncSend(const void* data, const size_t length,
143 }
144
145 void
146-UnixDomainSocketImpl::doSend(const boost::asio::const_buffers_1& buffer,
147+UnixDomainSocketImpl::doSend(const boost::asio::const_buffer& buffer,
148 const UnixDomainSocket::Handler& handler) {
149 auto local_handler = std::bind(&UnixDomainSocketImpl::sendHandler,
150 shared_from_this(),
151@@ -207,7 +207,7 @@ UnixDomainSocketImpl::doSend(const boost::asio::const_buffers_1& buffer,
152
153 void
154 UnixDomainSocketImpl::sendHandler(const UnixDomainSocket::Handler& remote_handler,
155- const boost::asio::const_buffers_1& buffer,
156+ const boost::asio::const_buffer& buffer,
157 const boost::system::error_code& ec,
158 size_t length) {
159 // The asynchronous send may return EWOULDBLOCK or EAGAIN on some
160@@ -230,7 +230,7 @@ UnixDomainSocketImpl::asyncReceive(void* data, const size_t length,
161 }
162
163 void
164-UnixDomainSocketImpl::doReceive(const boost::asio::mutable_buffers_1& buffer,
165+UnixDomainSocketImpl::doReceive(const boost::asio::mutable_buffer& buffer,
166 const UnixDomainSocket::Handler& handler) {
167 auto local_handler = std::bind(&UnixDomainSocketImpl::receiveHandler,
168 shared_from_this(),
169@@ -240,7 +240,7 @@ UnixDomainSocketImpl::doReceive(const boost::asio::mutable_buffers_1& buffer,
170
171 void
172 UnixDomainSocketImpl::receiveHandler(const UnixDomainSocket::Handler& remote_handler,
173- const boost::asio::mutable_buffers_1& buffer,
174+ const boost::asio::mutable_buffer& buffer,
175 const boost::system::error_code& ec,
176 size_t length) {
177 // The asynchronous receive may return EWOULDBLOCK or EAGAIN on some
178diff --git a/src/lib/dhcp/iface_mgr.cc b/src/lib/dhcp/iface_mgr.cc
179index 01a1d63..419268b 100644
180--- a/src/lib/dhcp/iface_mgr.cc
181+++ b/src/lib/dhcp/iface_mgr.cc
182@@ -1034,7 +1034,7 @@ IfaceMgr::getLocalAddress(const IOAddress& remote_addr, const uint16_t port) {
183 }
184
185 // Create socket that will be used to connect to remote endpoint.
186- boost::asio::io_service io_service;
187+ boost::asio::io_context io_service;
188 boost::asio::ip::udp::socket sock(io_service);
189
190 boost::system::error_code err_code;
diff --git a/meta/recipes-connectivity/kea/files/0002-Fix-unittests-Typo-in-Name-Name-append-to-ndata_-not.patch b/meta/recipes-connectivity/kea/files/0002-Fix-unittests-Typo-in-Name-Name-append-to-ndata_-not.patch
deleted file mode 100644
index a24a25f1c9..0000000000
--- a/meta/recipes-connectivity/kea/files/0002-Fix-unittests-Typo-in-Name-Name-append-to-ndata_-not.patch
+++ /dev/null
@@ -1,36 +0,0 @@
1From b5f6cc6b3a2b2c35c9b9bb856861c502771079cc Mon Sep 17 00:00:00 2001
2From: Dimitry Andric <dimitry@unified-streaming.com>
3Date: Wed, 28 Aug 2024 22:32:44 +0200
4Subject: [PATCH 2/2] Fix unittests: * Typo in `Name::Name`: append to
5 `ndata_`, not `ndata` * In `Name::split`, use the correct iterators for
6 assigning
7
8Upstream-Status: Submitted [https://gitlab.isc.org/isc-projects/kea/-/merge_requests/2410]
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10---
11 src/lib/dns/name.cc | 5 +++--
12 1 file changed, 3 insertions(+), 2 deletions(-)
13
14diff --git a/src/lib/dns/name.cc b/src/lib/dns/name.cc
15index 085229b..47d9b8f 100644
16--- a/src/lib/dns/name.cc
17+++ b/src/lib/dns/name.cc
18@@ -347,7 +347,7 @@ Name::Name(const char* namedata, size_t data_len, const Name* origin,
19 // Drop the last character of the data (the \0) and append a copy of
20 // the origin's data
21 ndata_.erase(ndata_.end() - 1);
22- ndata_.insert(ndata.end(), origin->ndata_.begin(), origin->ndata_.end());
23+ ndata_.insert(ndata_.end(), origin->ndata_.begin(), origin->ndata_.end());
24
25 // Do a similar thing with offsets. However, we need to move them
26 // so they point after the prefix we parsed before.
27@@ -662,7 +662,8 @@ Name::split(const unsigned int first, const unsigned int n) const {
28 // original name, and append the trailing dot explicitly.
29 //
30 retname.ndata_.reserve(retname.offsets_.back() + 1);
31- retname.ndata_.assign(ndata_.data() + offsets_[first], ndata_.data() + retname.offsets_.back());
32+ auto it = ndata_.data() + offsets_[first];
33+ retname.ndata_.assign(it, it + retname.offsets_.back());
34 retname.ndata_.push_back(0);
35
36 retname.length_ = retname.ndata_.size();
diff --git a/meta/recipes-connectivity/kea/kea_2.6.1.bb b/meta/recipes-connectivity/kea/kea_2.6.3.bb
index 17e4378746..1df91e4522 100644
--- a/meta/recipes-connectivity/kea/kea_2.6.1.bb
+++ b/meta/recipes-connectivity/kea/kea_2.6.3.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "Kea is the next generation of DHCP software developed by ISC. It
3HOMEPAGE = "http://kea.isc.org" 3HOMEPAGE = "http://kea.isc.org"
4SECTION = "connectivity" 4SECTION = "connectivity"
5LICENSE = "MPL-2.0" 5LICENSE = "MPL-2.0"
6LIC_FILES_CHKSUM = "file://COPYING;md5=618093ea9de92c70a115268c1d53421f" 6LIC_FILES_CHKSUM = "file://COPYING;md5=ee16e7280a6cf2a1487717faf33190dc"
7 7
8DEPENDS = "boost log4cplus openssl" 8DEPENDS = "boost log4cplus openssl"
9 9
@@ -17,13 +17,9 @@ SRC_URI = "http://ftp.isc.org/isc/kea/${PV}/${BP}.tar.gz \
17 file://fix-multilib-conflict.patch \ 17 file://fix-multilib-conflict.patch \
18 file://fix_pid_keactrl.patch \ 18 file://fix_pid_keactrl.patch \
19 file://0001-src-lib-log-logger_unittest_support.cc-do-not-write-.patch \ 19 file://0001-src-lib-log-logger_unittest_support.cc-do-not-write-.patch \
20 file://0001-Replace-Name-NameString-with-vector-of-uint8_t.patch \
21 file://0002-Fix-unittests-Typo-in-Name-Name-append-to-ndata_-not.patch \
22 file://0001-Update-asiolink-for-boost-1.87.patch \
23 file://0001-make-kea-environment-available-to-lfc.patch \ 20 file://0001-make-kea-environment-available-to-lfc.patch \
24 file://0001-Avoid-assert-on-empty-packet.patch \
25 " 21 "
26SRC_URI[sha256sum] = "d2ce14a91c2e248ad2876e29152d647bcc5e433bc68dafad0ee96ec166fcfad1" 22SRC_URI[sha256sum] = "00241a5955ffd3d215a2c098c4527f9d7f4b203188b276f9a36250dd3d9dd612"
27 23
28inherit autotools systemd update-rc.d upstream-version-is-even 24inherit autotools systemd update-rc.d upstream-version-is-even
29 25
diff --git a/meta/recipes-core/coreutils/coreutils_9.7.bb b/meta/recipes-core/coreutils/coreutils_9.7.bb
index 091e1ea2c5..dc9dfae26b 100644
--- a/meta/recipes-core/coreutils/coreutils_9.7.bb
+++ b/meta/recipes-core/coreutils/coreutils_9.7.bb
@@ -74,11 +74,6 @@ RDEPENDS:coreutils:class-target += "${@bb.utils.contains('PACKAGECONFIG', 'singl
74# regardless of whether single-binary is in effect. 74# regardless of whether single-binary is in effect.
75RPROVIDES:coreutils += "${@bb.utils.contains('PACKAGECONFIG', 'single-binary', 'coreutils-stdbuf', '', d)}" 75RPROVIDES:coreutils += "${@bb.utils.contains('PACKAGECONFIG', 'single-binary', 'coreutils-stdbuf', '', d)}"
76 76
77# put getlimits into coreutils-getlimits, because other ptest packages such as
78# findutils-ptest may need this command. Note that getlimits is a noinst_PROGRAM
79PACKAGE_BEFORE_PN:class-target += "${PN}-getlimits"
80FILES:${PN}-getlimits = "${bindir}/getlimits"
81
82# Deal with a separate builddir failure if src doesn't exist when creating version.c/version.h 77# Deal with a separate builddir failure if src doesn't exist when creating version.c/version.h
83do_compile:prepend () { 78do_compile:prepend () {
84 mkdir -p ${B}/src 79 mkdir -p ${B}/src
@@ -106,9 +101,6 @@ do_install:append() {
106 # in update-alternatives to fail, therefore use lbracket - the name used 101 # in update-alternatives to fail, therefore use lbracket - the name used
107 # for the actual source file. 102 # for the actual source file.
108 mv ${D}${bindir}/[ ${D}${bindir}/lbracket.${BPN} 103 mv ${D}${bindir}/[ ${D}${bindir}/lbracket.${BPN}
109
110 # this getlimits noinst_PROGRAM would possibly be needed by other ptest packages
111 install ${B}/src/getlimits ${D}/${bindir}
112} 104}
113 105
114inherit update-alternatives 106inherit update-alternatives
@@ -213,6 +205,7 @@ do_install_ptest () {
213 fi 205 fi
214 done 206 done
215 207
208 install ${B}/src/getlimits ${D}/${bindir}
216 # handle multilib 209 # handle multilib
217 sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest 210 sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest
218} 211}
@@ -224,6 +217,7 @@ do_install_ptest:append:libc-musl () {
224 sed -i -e '/tests\/split\/line-bytes.sh/d' ${D}${PTEST_PATH}/Makefile 217 sed -i -e '/tests\/split\/line-bytes.sh/d' ${D}${PTEST_PATH}/Makefile
225} 218}
226 219
227RDEPENDS:${PN}-ptest += "${PN}-getlimits xz \ 220RDEPENDS:${PN}-ptest += "xz \
228 ${@bb.utils.contains('PACKAGECONFIG', 'acl', 'acl', '', d)} \ 221 ${@bb.utils.contains('PACKAGECONFIG', 'acl', 'acl', '', d)} \
229 ${@bb.utils.contains('PACKAGECONFIG', 'xattr', 'attr', '', d)}" 222 ${@bb.utils.contains('PACKAGECONFIG', 'xattr', 'attr', '', d)}"
223FILES:${PN}-ptest += "${bindir}/getlimits"
diff --git a/meta/recipes-core/seatd/seatd_0.9.1.bb b/meta/recipes-core/seatd/seatd_0.9.1.bb
index 87e1c3b67d..3b4b3bae4c 100644
--- a/meta/recipes-core/seatd/seatd_0.9.1.bb
+++ b/meta/recipes-core/seatd/seatd_0.9.1.bb
@@ -35,9 +35,8 @@ PACKAGECONFIG[systemd] = "-Dlibseat-logind=systemd,,systemd"
35do_install:append() { 35do_install:append() {
36 if [ "${VIRTUAL-RUNTIME_init_manager}" != "systemd" ]; then 36 if [ "${VIRTUAL-RUNTIME_init_manager}" != "systemd" ]; then
37 install -Dm755 ${UNPACKDIR}/init ${D}/${sysconfdir}/init.d/seatd 37 install -Dm755 ${UNPACKDIR}/init ${D}/${sysconfdir}/init.d/seatd
38 else
39 install -Dm644 ${S}/contrib/systemd/seatd.service ${D}${systemd_unitdir}/system/seatd.service
40 fi 38 fi
39 install -Dm644 ${S}/contrib/systemd/seatd.service ${D}${systemd_unitdir}/system/seatd.service
41} 40}
42 41
43USERADD_PACKAGES = "${PN}" 42USERADD_PACKAGES = "${PN}"
diff --git a/meta/recipes-core/sysfsutils/files/0001-Modify-my_strncat-function.patch b/meta/recipes-core/sysfsutils/files/0001-Modify-my_strncat-function.patch
new file mode 100644
index 0000000000..a8a49a80cd
--- /dev/null
+++ b/meta/recipes-core/sysfsutils/files/0001-Modify-my_strncat-function.patch
@@ -0,0 +1,34 @@
1From a13fc5a57ea7c6b1761bc204cb79d8ce4745f57a Mon Sep 17 00:00:00 2001
2From: songliang <YS.songliang@h3c.com>
3Date: Wed, 4 Jun 2025 15:58:53 +0800
4Subject: [PATCH] Modify "my_strncat" function
5
6The meaning of the "len" parameter in the my_strncat function is the size limit for copying characters from "from", not the size limit for "to" after copying.
7Also, the "#define safestrcat(to, from) my_strncat(to, from, sizeof(to) - strlen(to) - 1)" has already imposed a limit on max based on the size of "to".
8Modify the function to prevent truncation of content when too many bytes are passed to the my_strcat function.
9
10Upstream-Status: Submitted [https://github.com/linux-ras/sysfsutils/pull/30/commits/c2326946c0c2a4206c9b079a9fe25f7f9115295c]
11Signed-off-by: songliang <YS.songliang@h3c.com>
12Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
13---
14 lib/sysfs_utils.c | 4 ++--
15 1 file changed, 2 insertions(+), 2 deletions(-)
16
17diff --git a/lib/sysfs_utils.c b/lib/sysfs_utils.c
18index 46e0849..c0176d1 100644
19--- a/lib/sysfs_utils.c
20+++ b/lib/sysfs_utils.c
21@@ -375,8 +375,8 @@ char *my_strncat(char *to, const char *from, size_t max)
22 {
23 size_t i = 0;
24
25- while (i < max && to[i] != '\0')
26+ while (to[i] != '\0')
27 i++;
28- my_strncpy(to+i, from, max-i);
29+ my_strncpy(to+i, from, max);
30 return to;
31 }
32--
332.34.1
34
diff --git a/meta/recipes-core/sysfsutils/sysfsutils_2.1.1.bb b/meta/recipes-core/sysfsutils/sysfsutils_2.1.1.bb
index 86cc06a2cd..d99039b6f8 100644
--- a/meta/recipes-core/sysfsutils/sysfsutils_2.1.1.bb
+++ b/meta/recipes-core/sysfsutils/sysfsutils_2.1.1.bb
@@ -9,7 +9,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=dcc19fa9307a50017fca61423a7d9754 \
9 file://cmd/GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ 9 file://cmd/GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
10 file://lib/LGPL;md5=4fbd65380cdd255951079008b364516c" 10 file://lib/LGPL;md5=4fbd65380cdd255951079008b364516c"
11 11
12SRC_URI = "git://github.com/linux-ras/sysfsutils.git;protocol=https;branch=master" 12SRC_URI = "git://github.com/linux-ras/sysfsutils.git;protocol=https;branch=master \
13 file://0001-Modify-my_strncat-function.patch \
14"
13 15
14SRCREV = "da2f1f8500c0af6663a56ce2bff07f67e60a92e0" 16SRCREV = "da2f1f8500c0af6663a56ce2bff07f67e60a92e0"
15 17
diff --git a/meta/recipes-core/util-linux/util-linux-libuuid_2.41.bb b/meta/recipes-core/util-linux/util-linux-libuuid_2.41.bb
index ec04c1d384..ad0bfa1d12 100644
--- a/meta/recipes-core/util-linux/util-linux-libuuid_2.41.bb
+++ b/meta/recipes-core/util-linux/util-linux-libuuid_2.41.bb
@@ -3,6 +3,10 @@
3 3
4require util-linux.inc 4require util-linux.inc
5 5
6LICENSE = "BSD-3-Clause"
7LIC_FILES_CHKSUM = "file://libuuid/COPYING;md5=6d2cafc999feb2c2de84d4d24b23290c \
8 file://Documentation/licenses/COPYING.BSD-3-Clause;md5=58dcd8452651fc8b07d1f65ce07ca8af"
9
6inherit autotools gettext pkgconfig 10inherit autotools gettext pkgconfig
7 11
8S = "${WORKDIR}/util-linux-${PV}" 12S = "${WORKDIR}/util-linux-${PV}"
@@ -10,8 +14,6 @@ S = "${WORKDIR}/util-linux-${PV}"
10EXTRA_AUTORECONF += "--exclude=gtkdocize" 14EXTRA_AUTORECONF += "--exclude=gtkdocize"
11EXTRA_OECONF += "--disable-all-programs --enable-libuuid" 15EXTRA_OECONF += "--disable-all-programs --enable-libuuid"
12 16
13LICENSE = "BSD-3-Clause"
14
15do_install:append() { 17do_install:append() {
16 rm -rf ${D}${datadir} ${D}${bindir} ${D}${base_bindir} ${D}${sbindir} ${D}${base_sbindir} ${D}${exec_prefix}/sbin 18 rm -rf ${D}${datadir} ${D}${bindir} ${D}${base_bindir} ${D}${sbindir} ${D}${base_sbindir} ${D}${exec_prefix}/sbin
17} 19}
diff --git a/meta/recipes-core/util-linux/util-linux.inc b/meta/recipes-core/util-linux/util-linux.inc
index b0f2a9d497..6611ec0fe7 100644
--- a/meta/recipes-core/util-linux/util-linux.inc
+++ b/meta/recipes-core/util-linux/util-linux.inc
@@ -6,29 +6,6 @@ disk partitioning, kernel message management, filesystem creation, and system lo
6 6
7SECTION = "base" 7SECTION = "base"
8 8
9LICENSE = "GPL-1.0-or-later & GPL-2.0-only & GPL-2.0-or-later & LGPL-2.1-or-later & BSD-2-Clause & BSD-3-Clause & BSD-4-Clause-UC & MIT & EUPL-1.2"
10LICENSE:${PN}-fcntl-lock = "MIT"
11LICENSE:${PN}-fdisk = "GPL-1.0-or-later"
12LICENSE:${PN}-libblkid = "LGPL-2.1-or-later"
13LICENSE:${PN}-libfdisk = "LGPL-2.1-or-later"
14LICENSE:${PN}-libmount = "LGPL-2.1-or-later"
15LICENSE:${PN}-libsmartcols = "LGPL-2.1-or-later"
16LICENSE:${PN}-coresched = "EUPL-1.2"
17
18LIC_FILES_CHKSUM = "file://README.licensing;md5=55e895a80bdd4ffc65e167a76d2e7569 \
19 file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
20 file://Documentation/licenses/COPYING.GPL-2.0-or-later;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
21 file://Documentation/licenses/COPYING.LGPL-2.1-or-later;md5=4fbd65380cdd255951079008b364516c \
22 file://Documentation/licenses/COPYING.BSD-3-Clause;md5=58dcd8452651fc8b07d1f65ce07ca8af \
23 file://Documentation/licenses/COPYING.BSD-4-Clause-UC;md5=263860f8968d8bafa5392cab74285262 \
24 file://Documentation/licenses/COPYING.EUPL-1.2;md5=c075d2767167a2355b23392018a1cbbd \
25 file://libuuid/COPYING;md5=6d2cafc999feb2c2de84d4d24b23290c \
26 file://libmount/COPYING;md5=7c7e39fb7d70ffe5d693a643e29987c2 \
27 file://libblkid/COPYING;md5=693bcbbe16d3a4a4b37bc906bc01cc04 \
28 file://libfdisk/COPYING;md5=693bcbbe16d3a4a4b37bc906bc01cc04 \
29 file://libsmartcols/COPYING;md5=693bcbbe16d3a4a4b37bc906bc01cc04 \
30 "
31
32FILESEXTRAPATHS:prepend := "${THISDIR}/util-linux:" 9FILESEXTRAPATHS:prepend := "${THISDIR}/util-linux:"
33MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:2])}" 10MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:2])}"
34SRC_URI = "${KERNELORG_MIRROR}/linux/utils/util-linux/v${MAJOR_VERSION}/util-linux-${PV}.tar.xz \ 11SRC_URI = "${KERNELORG_MIRROR}/linux/utils/util-linux/v${MAJOR_VERSION}/util-linux-${PV}.tar.xz \
@@ -42,6 +19,8 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/util-linux/v${MAJOR_VERSION}/util-lin
42 file://fcntl-lock.c \ 19 file://fcntl-lock.c \
43 file://0001-tests-ts-kill-decode-avoid-using-shell-built-in-kill.patch \ 20 file://0001-tests-ts-kill-decode-avoid-using-shell-built-in-kill.patch \
44 file://0001-lsfd-mkfds-foreign-sockets-skip-when-lacking-sock_di.patch \ 21 file://0001-lsfd-mkfds-foreign-sockets-skip-when-lacking-sock_di.patch \
22 file://0001-test_sysinfo.c-print-out-SIGRTMIN.patch \
23 file://0002-ts-kill-decode-use-SIGRTMIN-from-test_sysinfo-instea.patch \
45 " 24 "
46 25
47SRC_URI[sha256sum] = "81ee93b3cfdfeb7d7c4090cedeba1d7bbce9141fd0b501b686b3fe475ddca4c6" 26SRC_URI[sha256sum] = "81ee93b3cfdfeb7d7c4090cedeba1d7bbce9141fd0b501b686b3fe475ddca4c6"
diff --git a/meta/recipes-core/util-linux/util-linux/0001-test_sysinfo.c-print-out-SIGRTMIN.patch b/meta/recipes-core/util-linux/util-linux/0001-test_sysinfo.c-print-out-SIGRTMIN.patch
new file mode 100644
index 0000000000..ee9f220842
--- /dev/null
+++ b/meta/recipes-core/util-linux/util-linux/0001-test_sysinfo.c-print-out-SIGRTMIN.patch
@@ -0,0 +1,50 @@
1From 50774e34fee0cd528b195a863bcd4e3a04fbfc4b Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Wed, 4 Jun 2025 10:52:18 +0800
4Subject: [PATCH 1/2] test_sysinfo.c: print out SIGRTMIN
5
6This will be used by ts/kill/decode.
7
8Upstream-Status: Submitted [https://github.com/util-linux/util-linux/pull/3605]
9
10Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
11---
12 tests/helpers/test_sysinfo.c | 8 ++++++++
13 1 file changed, 8 insertions(+)
14
15diff --git a/tests/helpers/test_sysinfo.c b/tests/helpers/test_sysinfo.c
16index 1559d471f..3a791e7f1 100644
17--- a/tests/helpers/test_sysinfo.c
18+++ b/tests/helpers/test_sysinfo.c
19@@ -27,6 +27,7 @@
20 #include <errno.h>
21 #include <time.h>
22 #include <sys/ioctl.h>
23+#include <signal.h>
24
25 #include "c.h"
26
27@@ -116,6 +117,12 @@ static int hlp_ulong_max32(void)
28 return 0;
29 }
30
31+static int hlp_sigrtmin(void)
32+{
33+ printf("%d\n", SIGRTMIN);
34+ return 0;
35+}
36+
37 static int hlp_wcsspn_ok(void)
38 {
39 printf("%d\n", wcsspn(L"FOO", L"F") == 1);
40@@ -229,6 +236,7 @@ static const mntHlpfnc hlps[] =
41 { "ULONG_MAX", hlp_ulong_max },
42 { "ULONG_MAX32",hlp_ulong_max32 },
43 { "UINT64_MAX", hlp_u64_max },
44+ { "SIGRTMIN", hlp_sigrtmin },
45 { "byte-order", hlp_endianness },
46 { "wcsspn-ok", hlp_wcsspn_ok },
47 { "enotty-ok", hlp_enotty_ok },
48--
492.34.1
50
diff --git a/meta/recipes-core/util-linux/util-linux/0002-ts-kill-decode-use-SIGRTMIN-from-test_sysinfo-instea.patch b/meta/recipes-core/util-linux/util-linux/0002-ts-kill-decode-use-SIGRTMIN-from-test_sysinfo-instea.patch
new file mode 100644
index 0000000000..5a00c9037a
--- /dev/null
+++ b/meta/recipes-core/util-linux/util-linux/0002-ts-kill-decode-use-SIGRTMIN-from-test_sysinfo-instea.patch
@@ -0,0 +1,56 @@
1From 9848b0d8c90d9a24275bf402f6d76e97f62b3ba4 Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Wed, 4 Jun 2025 16:27:19 +0800
4Subject: [PATCH 2/2] ts/kill/decode: use SIGRTMIN from test_sysinfo instead of
5 hardcoding 34
6
7glibc uses 34 as the value of SIGRTMIN:
8https://sourceware.org/git/?p=glibc.git;a=blob;f=signal/allocrtsig.c;h=8ed8e37dd6c41f94be6eef042ce9db1af1153228;hb=HEAD#l27 """
9static int current_rtmin = __SIGRTMIN + RESERVED_SIGRT; """
10
11musl uses 35 as the value of SIGRTMIN:
12https://git.musl-libc.org/cgit/musl/tree/src/signal/sigrtmin.c
13
14With the hardcoded 34, test case fails with the following difference:
15
16-Ignored: HUP QUIT TRAP PIPE ALRM
17+Ignored: HUP QUIT TRAP PIPE ALRM 34
18
19Use SIGRTMIN got from test_sysinfo to fix this issue.
20
21Upstream-Status: Submitted [https://github.com/util-linux/util-linux/pull/3605]
22
23Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
24---
25 tests/ts/kill/decode | 9 +++++++--
26 1 file changed, 7 insertions(+), 2 deletions(-)
27
28diff --git a/tests/ts/kill/decode b/tests/ts/kill/decode
29index 03bc25ff6..dd34aacef 100755
30--- a/tests/ts/kill/decode
31+++ b/tests/ts/kill/decode
32@@ -48,14 +48,19 @@ ACK=
33 # Sending one more USR1 is for making the signal pending state.
34 "$TS_CMD_KILL" -USR1 "$PID"
35 "$TS_CMD_KILL" -d "$PID" | {
36- if [[ $("$TS_CMD_KILL" --list=34) == RT0 ]]; then
37+ SIGRTMIN=$($TS_HELPER_SYSINFO SIGRTMIN)
38+ if [[ $("$TS_CMD_KILL" --list=$SIGRTMIN) == RT0 ]]; then
39 # See man signal(7).
40 # The Linux kernel supports a range of 33 different real-time signals,
41 # numbered 32 to 64. However, the glibc POSIX threads implementation in‐
42 # ternally uses two (for NPTL) or three (for LinuxThreads) real-time sig‐
43 # nals (see pthreads(7)), and adjusts the value of SIGRTMIN suitably (to
44 # 34 or 35).
45- sed -e s/' 32 33'// -e s/' 34'//
46+ sed_cmd="sed"
47+ for ((i=32; i<=SIGRTMIN; i++)); do
48+ sed_cmd+=" -e s/' $i'//"
49+ done
50+ eval $sed_cmd
51 else
52 cat
53 fi
54--
552.34.1
56
diff --git a/meta/recipes-core/util-linux/util-linux_2.41.bb b/meta/recipes-core/util-linux/util-linux_2.41.bb
index 00036e8a68..41fb3e5951 100644
--- a/meta/recipes-core/util-linux/util-linux_2.41.bb
+++ b/meta/recipes-core/util-linux/util-linux_2.41.bb
@@ -1,5 +1,58 @@
1require util-linux.inc 1require util-linux.inc
2 2
3# Most of the applications and the libraries are linked with libcommon.la,
4# which uses these licenses
5LIBCOMMON_LICENSES = "LGPL-2.1-or-later & BSD-2-Clause & BSD-3-Clause & MIT"
6
7# The default license is GPL-2.0-or-later
8DEFAULT_LICENSES = "GPL-2.0-or-later & ${LIBCOMMON_LICENSES}"
9
10LICENSE = "GPL-1.0-or-later & GPL-2.0-only & GPL-2.0-or-later & LGPL-2.1-or-later & BSD-2-Clause & BSD-3-Clause & BSD-4-Clause-UC & MIT & EUPL-1.2"
11LICENSE:${PN}-bash-completion = "GPL-2.0-or-later"
12LICENSE:${PN}-dev = "${LIBCOMMON_LICENSES}"
13# All dynamic packages use ${DEFAULT_LICENSES} with the following exceptions
14LICENSE:${PN}-cal = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}"
15LICENSE:${PN}-col = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}"
16LICENSE:${PN}-colcrt = "BSD-4-Clause-UC"
17LICENSE:${PN}-colrm = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}"
18LICENSE:${PN}-column = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}"
19LICENSE:${PN}-coresched = "EUPL-1.2 & ${LIBCOMMON_LICENSES}"
20LICENSE:${PN}-fcntl-lock = "MIT"
21LICENSE:${PN}-fdisk = "GPL-1.0-or-later & ${DEFAULT_LICENSES}"
22LICENSE:${PN}-fsfreeze = "GPL-1.0-or-later"
23LICENSE:${PN}-hexdump = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}"
24LICENSE:${PN}-kill = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}"
25LICENSE:${PN}-libblkid = "${LIBCOMMON_LICENSES}"
26LICENSE:${PN}-libfdisk = "${LIBCOMMON_LICENSES}"
27LICENSE:${PN}-libmount = "${LIBCOMMON_LICENSES}"
28LICENSE:${PN}-libsmartcols = "${LIBCOMMON_LICENSES}"
29LICENSE:${PN}-logger = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}"
30LICENSE:${PN}-look = "BSD-4-Clause-UC"
31LICENSE:${PN}-lscpu = "GPL-2.0-only & ${DEFAULT_LICENSES}"
32LICENSE:${PN}-mesg = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}"
33LICENSE:${PN}-nsenter = "GPL-2.0-only & ${DEFAULT_LICENSES}"
34LICENSE:${PN}-renice = "BSD-4-Clause-UC"
35LICENSE:${PN}-rev = "BSD-4-Clause-UC"
36LICENSE:${PN}-script = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}"
37LICENSE:${PN}-ul = "BSD-4-Clause-UC"
38LICENSE:${PN}-vipw = "BSD-4-Clause-UC & ${DEFAULT_LICENSES}"
39LICENSE:${PN}-wall = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}"
40LICENSE:${PN}-whereis = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}"
41LICENSE:${PN}-write = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}"
42
43LIC_FILES_CHKSUM = "file://README.licensing;md5=55e895a80bdd4ffc65e167a76d2e7569 \
44 file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
45 file://Documentation/licenses/COPYING.GPL-2.0-or-later;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
46 file://Documentation/licenses/COPYING.LGPL-2.1-or-later;md5=4fbd65380cdd255951079008b364516c \
47 file://Documentation/licenses/COPYING.BSD-3-Clause;md5=58dcd8452651fc8b07d1f65ce07ca8af \
48 file://Documentation/licenses/COPYING.BSD-4-Clause-UC;md5=263860f8968d8bafa5392cab74285262 \
49 file://Documentation/licenses/COPYING.EUPL-1.2;md5=c075d2767167a2355b23392018a1cbbd \
50 file://libmount/COPYING;md5=7c7e39fb7d70ffe5d693a643e29987c2 \
51 file://libblkid/COPYING;md5=693bcbbe16d3a4a4b37bc906bc01cc04 \
52 file://libfdisk/COPYING;md5=693bcbbe16d3a4a4b37bc906bc01cc04 \
53 file://libsmartcols/COPYING;md5=693bcbbe16d3a4a4b37bc906bc01cc04 \
54 "
55
3inherit autotools gettext manpages pkgconfig systemd update-alternatives python3-dir bash-completion ptest gtk-doc 56inherit autotools gettext manpages pkgconfig systemd update-alternatives python3-dir bash-completion ptest gtk-doc
4DEPENDS = "libcap-ng ncurses virtual/crypt zlib util-linux-libuuid" 57DEPENDS = "libcap-ng ncurses virtual/crypt zlib util-linux-libuuid"
5 58
@@ -11,6 +64,9 @@ python util_linux_binpackages () {
11 pn = d.getVar('PN') 64 pn = d.getVar('PN')
12 d.appendVar('RRECOMMENDS:%s' % pn, ' %s' % pkg) 65 d.appendVar('RRECOMMENDS:%s' % pn, ' %s' % pkg)
13 66
67 if not d.getVar('LICENSE:' + pkg):
68 d.setVar('LICENSE:' + pkg, '${DEFAULT_LICENSES}')
69
14 if d.getVar('ALTERNATIVE:' + pkg): 70 if d.getVar('ALTERNATIVE:' + pkg):
15 return 71 return
16 if d.getVarFlag('ALTERNATIVE_LINK_NAME', modulename): 72 if d.getVarFlag('ALTERNATIVE_LINK_NAME', modulename):
diff --git a/meta/recipes-devtools/binutils/binutils-2.44.inc b/meta/recipes-devtools/binutils/binutils-2.44.inc
index c3a597cd7b..90546a0cfa 100644
--- a/meta/recipes-devtools/binutils/binutils-2.44.inc
+++ b/meta/recipes-devtools/binutils/binutils-2.44.inc
@@ -41,5 +41,7 @@ SRC_URI = "\
41 file://0016-CVE-2025-1181-1.patch \ 41 file://0016-CVE-2025-1181-1.patch \
42 file://0017-CVE-2025-1181-2.patch \ 42 file://0017-CVE-2025-1181-2.patch \
43 file://0018-CVE-2025-5245.patch \ 43 file://0018-CVE-2025-5245.patch \
44 file://0019-CVE-2025-5244.patch \
45 file://0019-CVE-2025-3198.patch \
44" 46"
45S = "${WORKDIR}/git" 47S = "${WORKDIR}/git"
diff --git a/meta/recipes-devtools/binutils/binutils/0019-CVE-2025-3198.patch b/meta/recipes-devtools/binutils/binutils/0019-CVE-2025-3198.patch
new file mode 100644
index 0000000000..49d7c94b9f
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils/0019-CVE-2025-3198.patch
@@ -0,0 +1,28 @@
1From ba6ad3a18cb26b79e0e3b84c39f707535bbc344d Mon Sep 17 00:00:00 2001
2From: Alan Modra <amodra@gmail.com>
3Date: Wed, 19 Feb 2025 07:58:54 +1030
4Subject: [PATCH] PR32716, objdump -i memory leak
5
6 PR binutils/32716
7 * bucomm.c (display_info): Free arg.info.
8
9Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=ba6ad3a18cb26b79e0e3b84c39f707535bbc344d]
10CVE: CVE-2025-3198
11
12Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com>
13---
14 binutils/bucomm.c | 1 +
15 1 file changed, 1 insertion(+)
16
17diff --git a/binutils/bucomm.c b/binutils/bucomm.c
18index ccf54099154..d4554737db1 100644
19--- a/binutils/bucomm.c
20+++ b/binutils/bucomm.c
21@@ -435,6 +435,7 @@ display_info (void)
22 if (!arg.error)
23 display_target_tables (&arg);
24
25+ free (arg.info);
26 return arg.error;
27 }
28
diff --git a/meta/recipes-devtools/binutils/binutils/0019-CVE-2025-5244.patch b/meta/recipes-devtools/binutils/binutils/0019-CVE-2025-5244.patch
new file mode 100644
index 0000000000..e8855a4b4b
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils/0019-CVE-2025-5244.patch
@@ -0,0 +1,25 @@
1From: Alan Modra <amodra@gmail.com>
2Date: Thu, 10 Apr 2025 19:41:49 +0930
3
4Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=d1458933830456e54223d9fc61f0d9b3a19256f5]
5CVE: CVE-2025-5244
6
7PR32858 ld segfault on fuzzed object
8We missed one place where it is necessary to check for empty groups.
9
10Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>
11
12diff --git a/bfd/elflink.c b/bfd/elflink.c
13index a76e8e38da7..549b7b7dd92 100644
14--- a/bfd/elflink.c
15+++ b/bfd/elflink.c
16@@ -14408,7 +14408,8 @@ elf_gc_sweep (bfd *abfd, struct bfd_link_info *info)
17 if (o->flags & SEC_GROUP)
18 {
19 asection *first = elf_next_in_group (o);
20- o->gc_mark = first->gc_mark;
21+ if (first != NULL)
22+ o->gc_mark = first->gc_mark;
23 }
24
25 if (o->gc_mark)
diff --git a/meta/recipes-devtools/go/go-1.24.3.inc b/meta/recipes-devtools/go/go-1.24.4.inc
index 78e26146b5..eff3f2f605 100644
--- a/meta/recipes-devtools/go/go-1.24.3.inc
+++ b/meta/recipes-devtools/go/go-1.24.4.inc
@@ -17,4 +17,4 @@ SRC_URI += "\
17 file://0010-cmd-go-clear-GOROOT-for-func-ldShared-when-trimpath-.patch \ 17 file://0010-cmd-go-clear-GOROOT-for-func-ldShared-when-trimpath-.patch \
18 file://6d265b008e3d106b2706645e5a88cd8e2fb98953.patch \ 18 file://6d265b008e3d106b2706645e5a88cd8e2fb98953.patch \
19" 19"
20SRC_URI[main.sha256sum] = "229c08b600b1446798109fae1f569228102c8473caba8104b6418cb5bc032878" 20SRC_URI[main.sha256sum] = "5a86a83a31f9fa81490b8c5420ac384fd3d95a3e71fba665c7b3f95d1dfef2b4"
diff --git a/meta/recipes-devtools/go/go-binary-native_1.24.3.bb b/meta/recipes-devtools/go/go-binary-native_1.24.4.bb
index af56dc9111..9f788536c4 100644
--- a/meta/recipes-devtools/go/go-binary-native_1.24.3.bb
+++ b/meta/recipes-devtools/go/go-binary-native_1.24.4.bb
@@ -9,9 +9,9 @@ PROVIDES = "go-native"
9 9
10# Checksums available at https://go.dev/dl/ 10# Checksums available at https://go.dev/dl/
11SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}" 11SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}"
12SRC_URI[go_linux_amd64.sha256sum] = "3333f6ea53afa971e9078895eaa4ac7204a8c6b5c68c10e6bc9a33e8e391bdd8" 12SRC_URI[go_linux_amd64.sha256sum] = "77e5da33bb72aeaef1ba4418b6fe511bc4d041873cbf82e5aa6318740df98717"
13SRC_URI[go_linux_arm64.sha256sum] = "a463cb59382bd7ae7d8f4c68846e73c4d589f223c589ac76871b66811ded7836" 13SRC_URI[go_linux_arm64.sha256sum] = "d5501ee5aca0f258d5fe9bfaed401958445014495dc115f202d43d5210b45241"
14SRC_URI[go_linux_ppc64le.sha256sum] = "341a749d168f47b1d4dad25e32cae70849b7ceed7c290823b853c9e6b0df0856" 14SRC_URI[go_linux_ppc64le.sha256sum] = "9ca4afef813a2578c23843b640ae0290aa54b2e3c950a6cc4c99e16a57dec2ec"
15 15
16UPSTREAM_CHECK_URI = "https://golang.org/dl/" 16UPSTREAM_CHECK_URI = "https://golang.org/dl/"
17UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux" 17UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux"
diff --git a/meta/recipes-devtools/go/go-cross-canadian_1.24.3.bb b/meta/recipes-devtools/go/go-cross-canadian_1.24.4.bb
index 7ac9449e47..7ac9449e47 100644
--- a/meta/recipes-devtools/go/go-cross-canadian_1.24.3.bb
+++ b/meta/recipes-devtools/go/go-cross-canadian_1.24.4.bb
diff --git a/meta/recipes-devtools/go/go-cross_1.24.3.bb b/meta/recipes-devtools/go/go-cross_1.24.4.bb
index 80b5a03f6c..80b5a03f6c 100644
--- a/meta/recipes-devtools/go/go-cross_1.24.3.bb
+++ b/meta/recipes-devtools/go/go-cross_1.24.4.bb
diff --git a/meta/recipes-devtools/go/go-crosssdk_1.24.3.bb b/meta/recipes-devtools/go/go-crosssdk_1.24.4.bb
index 1857c8a577..1857c8a577 100644
--- a/meta/recipes-devtools/go/go-crosssdk_1.24.3.bb
+++ b/meta/recipes-devtools/go/go-crosssdk_1.24.4.bb
diff --git a/meta/recipes-devtools/go/go-runtime_1.24.3.bb b/meta/recipes-devtools/go/go-runtime_1.24.4.bb
index 63464a1501..63464a1501 100644
--- a/meta/recipes-devtools/go/go-runtime_1.24.3.bb
+++ b/meta/recipes-devtools/go/go-runtime_1.24.4.bb
diff --git a/meta/recipes-devtools/go/go_1.24.3.bb b/meta/recipes-devtools/go/go_1.24.4.bb
index 46f5fbc6be..46f5fbc6be 100644
--- a/meta/recipes-devtools/go/go_1.24.3.bb
+++ b/meta/recipes-devtools/go/go_1.24.4.bb
diff --git a/meta/recipes-devtools/python/python3-ndg-httpsclient_0.5.1.bb b/meta/recipes-devtools/python/python3-ndg-httpsclient_0.5.1.bb
deleted file mode 100644
index c3b8e526f1..0000000000
--- a/meta/recipes-devtools/python/python3-ndg-httpsclient_0.5.1.bb
+++ /dev/null
@@ -1,29 +0,0 @@
1SUMMARY = "Provides enhanced HTTPS support for httplib and urllib2 using PyOpenSSL"
2HOMEPAGE = "https://github.com/cedadev/ndg_httpsclient/"
3LICENSE = "BSD-3-Clause"
4LIC_FILES_CHKSUM = "file://MANIFEST.in;md5=ce22c0cd986d2de3f7073cd6b5523ae0"
5
6SRC_URI[sha256sum] = "d72faed0376ab039736c2ba12e30695e2788c4aa569c9c3e3d72131de2592210"
7
8inherit pypi setuptools3 update-alternatives
9
10PYPI_PACKAGE = "ndg_httpsclient"
11UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}"
12
13DEPENDS += " \
14 python3-pyopenssl \
15 python3-pyasn1 \
16"
17
18RDEPENDS:${PN} += " \
19 python3-datetime \
20 python3-logging \
21 python3-pyopenssl \
22 python3-pyasn1 \
23"
24
25BBCLASSEXTEND = "native nativesdk"
26
27ALTERNATIVE:${PN} = "ndg_httpclient"
28ALTERNATIVE_LINK_NAME[ndg_httpclient] = "${bindir}/ndg_httpclient"
29ALTERNATIVE_PRIORITY = "30"
diff --git a/meta/recipes-devtools/rust/cargo_1.85.1.bb b/meta/recipes-devtools/rust/cargo_1.86.0.bb
index 150c2d2b80..150c2d2b80 100644
--- a/meta/recipes-devtools/rust/cargo_1.85.1.bb
+++ b/meta/recipes-devtools/rust/cargo_1.86.0.bb
diff --git a/meta/recipes-devtools/rust/files/0001-Define-more-ioctl-codes-on-riscv32gc-unknown-linux-g.patch b/meta/recipes-devtools/rust/files/0001-Define-more-ioctl-codes-on-riscv32gc-unknown-linux-g.patch
index b3a95f2e24..82edd71206 100644
--- a/meta/recipes-devtools/rust/files/0001-Define-more-ioctl-codes-on-riscv32gc-unknown-linux-g.patch
+++ b/meta/recipes-devtools/rust/files/0001-Define-more-ioctl-codes-on-riscv32gc-unknown-linux-g.patch
@@ -18,38 +18,6 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
18 .../src/unix/linux_like/linux/arch/generic/mod.rs | 4 +++- 18 .../src/unix/linux_like/linux/arch/generic/mod.rs | 4 +++-
19 6 files changed, 14 insertions(+), 6 deletions(-) 19 6 files changed, 14 insertions(+), 6 deletions(-)
20 20
21diff --git a/vendor/libc-0.2.158/.cargo-checksum.json b/vendor/libc-0.2.158/.cargo-checksum.json
22index 636165bc0..dc86fd0db 100644
23--- a/vendor/libc-0.2.158/.cargo-checksum.json
24+++ b/vendor/libc-0.2.158/.cargo-checksum.json
25@@ -1 +1 @@
26-{"files":{"CHANGELOG.md":"96fb278d188e87842fe2701f91e0f757665b44dc2e549accb6ed1ed6eeb67602","CONTRIBUTING.md":"a93fcda0a76e1975fcfb0aa2ba00c9b1864f9ae6062704a294d81a3688898e10","Cargo.toml":"2196e21d3fd56b3019e235720a32b4e3c8ada82c08cb01c06c695752201396df","LICENSE-APACHE":"62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a","LICENSE-MIT":"a8d47ff51ca256f56a8932dba07660672dbfe3004257ca8de708aac1415937a1","README.md":"4da2919bb509f3f06163778478494f780ca6627cb79ccab5d2c828c8d88dc133","build.rs":"54387230fed8d16f1169a845e92a1c1a5d9227559acbf3bfa383c7901b2d1be8","rustfmt.toml":"eaa2ea84fc1ba0359b77680804903e07bb38d257ab11986b95b158e460f787b2","src/fixed_width_ints.rs":"7f986e5f5e68d25ef04d386fd2f640e8be8f15427a8d4a458ea01d26b8dca0ca","src/fuchsia/aarch64.rs":"893fcec48142d273063ffd814dca33fbec92205fd39ada97075f85201d803996","src/fuchsia/align.rs":"ae1cf8f011a99737eabeb14ffff768e60f13b13363d7646744dbb0f443dab3d6","src/fuchsia/mod.rs":"a8e3ff551e5ff4247ab1faa1b7ca1e042046a619198e8b30fe183c6ef8485d65","src/fuchsia/no_align.rs":"303f3f1b255e0088b5715094353cf00476131d8e94e6aebb3f469557771c8b8a","src/fuchsia/riscv64.rs":"617cd75e79e0e20f664db764a4dc2a396d9fd11a4d95371acd91ed4811293b11","src/fuchsia/x86_64.rs":"93a3632b5cf67d2a6bcb7dc0a558605252d5fe689e0f38d8aa2ec5852255ac87","src/hermit.rs":"ad1e8685edf3f3a7c141ccc0e82d44b7feb13e81f2f59ed6aeb6e4964524637c","src/lib.rs":"7f57f05b3d9e1e14a666aabbd942cf5959e778966981e604087774d56eb059c8","src/macros.rs":"5f985b3de7b18833f866bf832b8ffb0430f0f70aa9a468b6a2c855c1bf9d33e4","src/psp.rs":"0a7d5121a8cc2903009f586c00e4ae2d6126d24eb90531dafaba6f59823aa6b2","src/sgx.rs":"16a95cdefc81c5ee00d8353a60db363c4cc3e0f75abcd5d0144723f2a306ed1b","src/solid/aarch64.rs":"a726e47f324adf73a4a0b67a2c183408d0cad105ae66acf36db37a42ab7f8707","src/solid/arm.rs":"e39a4f74ebbef3b97b8c95758ad741123d84ed3eb48d9cf4f1f4872097fc27fe","src/solid/mod.rs":"5f4151dca5132e4b4e4c23ab9737e12856dddbdc0ca3f7dbc004328ef3c8acde","src/switch.rs":"9da3dd39b3de45a7928789926e8572d00e1e11a39e6f7289a1349aadce90edba","src/teeos/mod.rs":"ecf8922923fb7541ef7b0813cdc5418b75be56247c4dbdbb7dca58a076f25b97","src/unix/aix/mod.rs":"91de34bf8237e4998e10f9274471d14fb9a31ac6f2ef6e44689066b8e280b3d3","src/unix/aix/powerpc64.rs":"cf374d81139d45f9d77c6a764f640bfbf7e0a5903689652c8296f8e10d55169b","src/unix/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/unix/bsd/apple/b32/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b32/mod.rs":"2546ad3eb6aecb95f916648bc63264117c92b4b4859532b34cb011e4c75a5a72","src/unix/bsd/apple/b64/aarch64/align.rs":"2eaf0f561a32bdcbf4e0477c8895d5e7bcb5cdebd5fef7b4df2ca8e38e144d94","src/unix/bsd/apple/b64/aarch64/mod.rs":"44c217a4f263afe7a97435de9323d20a96c37836f899ca0925306d4b7e073c27","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":"8c87c5855038aae5d433c8f5eb3b29b0a175879a0245342b3bfd83bdf4cfd936","src/unix/bsd/apple/long_array.rs":"3cf1f19b812e6d093c819dc65ce55b13491963e0780eda0d0bd1577603e81948","src/unix/bsd/apple/mod.rs":"484698da7c1083a46ae1a389486a8c2d75e3e6ecb4f80ded69b6c0dd2d1a92a0","src/unix/bsd/freebsdlike/dragonfly/errno.rs":"8295b8bb0dfd38d2cdb4d9192cdeeb534cc6c3b208170e64615fa3e0edb3e578","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"2777f94909a798df1b8030fb86d02e2118d0ac3e49e9a542df54a569ca5ae2f9","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"6c8e216385f53a4bf5f171749b57602fc34a4e4b160a44ca31c058cb0c8a2126","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":"e243ae0e89623d4fa9f85afe14369cc5fd5f2028ea715773dbec722ba80dac1f","src/unix/bsd/freebsdlike/freebsd/freebsd12/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs":"bef9fae288a4f29e941ea369be1cd20b170040e60665a4d49a4a9e79009b72d8","src/unix/bsd/freebsdlike/freebsd/freebsd12/x86_64.rs":"2df36a7f122f6d6e5753cfb4d22e915cc80f6bc91c0161b3daae55a481bfd052","src/unix/bsd/freebsdlike/freebsd/freebsd13/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs":"88be47524b28b6635ccb1e85ea511bf17337be0af7e9baa740c341ac9e83a6f7","src/unix/bsd/freebsdlike/freebsd/freebsd13/x86_64.rs":"2df36a7f122f6d6e5753cfb4d22e915cc80f6bc91c0161b3daae55a481bfd052","src/unix/bsd/freebsdlike/freebsd/freebsd14/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd14/mod.rs":"6ddc6abf6d5ccaea0d8cccf521e8ca6457efcad3086af4155628d5d06d672346","src/unix/bsd/freebsdlike/freebsd/freebsd14/x86_64.rs":"e7b5863e222d6cc416b6b0fbe71690fad909e899b4c4ae810bbca117e4fcb650","src/unix/bsd/freebsdlike/freebsd/freebsd15/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd15/mod.rs":"93115c1a9faa43ebf58b7dee3582aed5a54291b284764e370e7f649b2e6a9565","src/unix/bsd/freebsdlike/freebsd/freebsd15/x86_64.rs":"e7b5863e222d6cc416b6b0fbe71690fad909e899b4c4ae810bbca117e4fcb650","src/unix/bsd/freebsdlike/freebsd/mod.rs":"08e39a42392936857fd0c1c6b01788f5630fe8ff7f78b062490509c5dd816a42","src/unix/bsd/freebsdlike/freebsd/powerpc.rs":"9ca3f82f88974e6db5569f2d76a5a3749b248a31747a6c0da5820492bdfeca42","src/unix/bsd/freebsdlike/freebsd/powerpc64.rs":"2dae3ecc87eac3b11657aa98915def55fc4b5c0de11fe26aae23329a54628a9a","src/unix/bsd/freebsdlike/freebsd/riscv64.rs":"fa4bed4c58cad24ba3395941c7fa6b11e089551a04714f9561078e400f5b2b62","src/unix/bsd/freebsdlike/freebsd/x86.rs":"2837fed0ffee0ec443ecdb743b7142bcb4d6ba2de87e05459fb4498789d47200","src/unix/bsd/freebsdlike/freebsd/x86_64/align.rs":"0e1f69a88fca1c32874b1daf5db3d446fefbe518dca497f096cc9168c39dde70","src/unix/bsd/freebsdlike/freebsd/x86_64/mod.rs":"e4d76219bec0621db07dec37de9be1a9b7fb38daa10ffc1a6adbdbc34e163435","src/unix/bsd/freebsdlike/mod.rs":"c846f30eaffc7c1a21b4acd3df75cd17bb3d4f11401c9a9770924e4e6d847995","src/unix/bsd/mod.rs":"37765749481f7d0dec8681d8c9d0735e6021094b4ef4a2d9aab5643d7a4232e1","src/unix/bsd/netbsdlike/mod.rs":"ea60540aa4edd4e43136749d5df497b1dc072b9912b6030dd1ab794a6d1c3c3c","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"057ee877db7193ba0dc10801b9a6563ac6dbdb78376d6851a84cb12b30841759","src/unix/bsd/netbsdlike/netbsd/arm.rs":"949b55e4dee1c8c511f4f061a6a57ac876a6c0eabfaf5cc20e9ab40d8f41b2e0","src/unix/bsd/netbsdlike/netbsd/mips.rs":"88be18ac43ba224c77e78e4179b6761debc5e6c30a258fac56263809c7af4fbc","src/unix/bsd/netbsdlike/netbsd/mod.rs":"ab09cea2897ecd27fc7e35822dac23d6dcd53f8577c771db3ee8b015e8d82001","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"ee7ff5d89d0ed22f531237b5059aa669df93a3b5c489fa641465ace8d405bf41","src/unix/bsd/netbsdlike/netbsd/riscv64.rs":"1cbe2e5ed681cb1054b699da37daaf6c714267df7d332c90fc2a589b11579625","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"9489f4b3e4566f43bb12dfb92238960613dac7f6a45cc13068a8d152b902d7d9","src/unix/bsd/netbsdlike/netbsd/x86.rs":"20692320e36bfe028d1a34d16fe12ca77aa909cb02bda167376f98f1a09aefe7","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"532b76199d6c71ff996eade9f906c55a72c9aff489595d25a21e21878cfd740b","src/unix/bsd/netbsdlike/openbsd/aarch64.rs":"dd91931d373b7ecaf6e2de25adadee10d16fa9b12c2cbacdff3eb291e1ba36af","src/unix/bsd/netbsdlike/openbsd/arm.rs":"01580d261bc6447bb327a0d982181b7bdabfa066cee65a30373d3ced729ad307","src/unix/bsd/netbsdlike/openbsd/mips64.rs":"8532a189ae10c7d668d9d4065da8b05d124e09bd39442c9f74a7f231c43eca48","src/unix/bsd/netbsdlike/openbsd/mod.rs":"7b93b5b24b3c72a79b2de19b47ac2f56b29d87e9fc8f4c721a63d1e87ec83fcc","src/unix/bsd/netbsdlike/openbsd/powerpc.rs":"01580d261bc6447bb327a0d982181b7bdabfa066cee65a30373d3ced729ad307","src/unix/bsd/netbsdlike/openbsd/powerpc64.rs":"1dd5449dd1fd3d51e30ffdeeaece91d0aaf05c710e0ac699fecc5461cfa2c28e","src/unix/bsd/netbsdlike/openbsd/riscv64.rs":"1fe3332dc705a13e6242219970f5449d6d7a73e2e6c8537ab8e421d8a6f2e3ff","src/unix/bsd/netbsdlike/openbsd/sparc64.rs":"d04fd287afbaa2c5df9d48c94e8374a532a3ba491b424ddf018270c7312f4085","src/unix/bsd/netbsdlike/openbsd/x86.rs":"6f7f5c4fde2a2259eb547890cbd86570cea04ef85347d7569e94e679448bec87","src/unix/bsd/netbsdlike/openbsd/x86_64.rs":"d31db31630289c85af3339dbe357998a21ca584cbae31607448fe2cf7675a4e1","src/unix/haiku/b32.rs":"a2efdbf7158a6da341e1db9176b0ab193ba88b449616239ed95dced11f54d87b","src/unix/haiku/b64.rs":"ff8115367d3d7d354f792d6176dfaaa26353f57056197b563bf4681f91ff7985","src/unix/haiku/mod.rs":"b75976d84bdf4a3a226336bb06ec231d552240f302bb5da48ead692fd72758f9","src/unix/haiku/native.rs":"2b1f88c043777a915bb7218aa05a3647a0e0481ebff55a99e351c45dea2be8de","src/unix/haiku/x86_64.rs":"3ec3aeeb7ed208b8916f3e32d42bfd085ff5e16936a1a35d9a52789f043b7237","src/unix/hurd/align.rs":"03c79b2cd8270ebd0cf93cb475a8f1ff85b28175ea0de007ede17cad94a89b03","src/unix/hurd/b32.rs":"2ba90ed973f90366c36a6387833a3df42abfee9622d4a0352635937d4a89eaf4","src/unix/hurd/b64.rs":"d919b4aec9b3080ad24c125c57b2c8b2e483d72045f1554c429d14560355846f","src/unix/hurd/mod.rs":"23ebadfdb9a92d7fb9e32b6a7c95669ce979ba7407b924869f40a59d2807d052","src/unix/hurd/no_align.rs":"03c79b2cd8270ebd0cf93cb475a8f1ff85b28175ea0de007ede17cad94a89b03","src/unix/linux_like/android/b32/arm.rs":"ce582de7e983a33d3bfad13075c53aac9016cee35f06ad8653ee9072c3ec2564","src/unix/linux_like/android/b32/mod.rs":"7c173e0375119bf06a3081652faede95e5bcd6858e7576b7533d037978737c8f","src/unix/linux_like/android/b32/x86/align.rs":"812914e4241df82e32b12375ca3374615dc3a4bdd4cf31f0423c5815320c0dab","src/unix/linux_like/android/b32/x86/mod.rs":"e6d107efbcd37b5b85dfa18f683300cbf768ffa0237997a9fa52b184a53323ac","src/unix/linux_like/android/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/android/b64/aarch64/int128.rs":"1735f6f5c56770d20dd426442f09724d9b2052b46a7cd82f23f3288a4a7276de","src/unix/linux_like/android/b64/aarch64/mod.rs":"873af67c4a9757ead56bc797d04efcecd311ecbf0084ebdd198fb690463ef299","src/unix/linux_like/android/b64/mod.rs":"7b8efbd61ab965c93bacfab78108ff8eed38af07b119099020dc41a9d0901559","src/unix/linux_like/android/b64/riscv64/align.rs":"0bf138f84e5327d8339bcd4adf071a6832b516445e597552c82bbd881095e3a8","src/unix/linux_like/android/b64/riscv64/mod.rs":"19d4bf2237c47127eba9144e0b82e995bc079315e719179a91813b0ae7b0e49d","src/unix/linux_like/android/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/android/b64/x86_64/mod.rs":"4ec2de11a9b65c4325b7b991f0b99a414975e0e61ba8668caca5d921e9b314d1","src/unix/linux_like/android/mod.rs":"384275dc1d3559a9f83559b6c903758a9dc4c4b3d13db48d23ed4fdc3c0ff8da","src/unix/linux_like/emscripten/align.rs":"86c95cbed7a7161b1f23ee06843e7b0e2340ad92b2cb86fe2a8ef3e0e8c36216","src/unix/linux_like/emscripten/lfs64.rs":"3776af30a758d765a88920ec4fde442ab89040da13d3b3625c7fbcb8a958559f","src/unix/linux_like/emscripten/mod.rs":"70d4591730a731ee32788a9d8d2de379592844ec36b7d1723514179605587713","src/unix/linux_like/emscripten/no_align.rs":"0128e4aa721a9902754828b61b5ec7d8a86619983ed1e0544a85d35b1051fad6","src/unix/linux_like/linux/align.rs":"bc5abcd38e2320171e0981e773c9c5fe3e0d5a66fdff049228f6a1acad80ef8b","src/unix/linux_like/linux/arch/generic/mod.rs":"3ab533349696d24505adb6bb9183d73fd5e3b17e2f90dd21478af2a47b4d6fa8","src/unix/linux_like/linux/arch/mips/mod.rs":"ca3db0e3ae852abf18f3588e40d5d64707fcc1829e08ddc5da1080e1a92c8851","src/unix/linux_like/linux/arch/mod.rs":"5bd5361f8a6ab4e18bbba6da9f92c164ae252b15a0ed10064812544aa1fdf198","src/unix/linux_like/linux/arch/powerpc/mod.rs":"0bc2d2667a00eca81f4abeb6d613a90848a947f51224103f83268928b8197629","src/unix/linux_like/linux/arch/sparc/mod.rs":"5e6777863e74a9e2aa9dc487f1059783dd211babc2b32d6bf676f311e49c55d6","src/unix/linux_like/linux/gnu/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/gnu/b32/arm/align.rs":"6ec0eb3ee93f7ae99fd714b4deabfb5e97fbcefd8c26f5a45fb8e7150899cdeb","src/unix/linux_like/linux/gnu/b32/arm/mod.rs":"f68ec59b6407f9d4e326f3e71a41ec21f19ecfc703edf9a93e496f661fed5506","src/unix/linux_like/linux/gnu/b32/csky/align.rs":"3fed009dc9af3cc81be7087da9d2d7d1f39845e4497e290259c5cdbae25f039d","src/unix/linux_like/linux/gnu/b32/csky/mod.rs":"8729b68e433e94c2128e51a7db4fd555938e4be4dc64584c352b24a20d9c8e91","src/unix/linux_like/linux/gnu/b32/m68k/align.rs":"8faa92f77a9232c035418d45331774e64a9a841d99c91791570a203bf2b45bcb","src/unix/linux_like/linux/gnu/b32/m68k/mod.rs":"80956d3fef163ecf248828a6f38782dd8ae856d86b1bb5aac2de36032dbd8ea0","src/unix/linux_like/linux/gnu/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/gnu/b32/mips/mod.rs":"96e22350d5d132d917c743d6560464500652c67b52c3d0e8474494487df3365d","src/unix/linux_like/linux/gnu/b32/mod.rs":"b56625dd20dd48a8699034d349ef089c540c0ddcbf8a3481d598d101f8b40b78","src/unix/linux_like/linux/gnu/b32/powerpc.rs":"20fc3cc4fe1ef6617b63b61b897f782ceb9c2842fc718f504a1840537229bf47","src/unix/linux_like/linux/gnu/b32/riscv32/align.rs":"d321491612be8d5c61b6ec2dc0111beb3a22e58803f99cd37543efe86621b119","src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs":"887288a0a1cfff319d0e15edcdc4fcb31fd643ff41715ec5244c8f2413624169","src/unix/linux_like/linux/gnu/b32/sparc/align.rs":"21adbed27df73e2d1ed934aaf733a643003d7baf2bde9c48ea440895bcca6d41","src/unix/linux_like/linux/gnu/b32/sparc/mod.rs":"cc4342b949e4d796f304acd9dfe3f721a1c2f37fec16b42d3bb27dc94723af37","src/unix/linux_like/linux/gnu/b32/x86/align.rs":"e4bafdc4a519a7922a81b37a62bbfd1177a2f620890eef8f1fbc47162e9eb413","src/unix/linux_like/linux/gnu/b32/x86/mod.rs":"06d4db4ee8352f62a0a5ead0c4d6ea0a78feff522f19b9bc5772f6dd920ffd80","src/unix/linux_like/linux/gnu/b64/aarch64/align.rs":"fdf1c72375a2167699157e0dd825422690bb6719f7bc69515a2e5846d0431d7c","src/unix/linux_like/linux/gnu/b64/aarch64/fallback.rs":"832e7487249c1c0bb6e9911ce3f7d32ca22378e42392ab83c56915cbc59d8be3","src/unix/linux_like/linux/gnu/b64/aarch64/ilp32.rs":"bf4611b737813deef6787babf6c01698605f3b75482269b8546318667bc68e29","src/unix/linux_like/linux/gnu/b64/aarch64/int128.rs":"1735f6f5c56770d20dd426442f09724d9b2052b46a7cd82f23f3288a4a7276de","src/unix/linux_like/linux/gnu/b64/aarch64/lp64.rs":"11a950697fdda0258c6e37c6b13993348c8de4134105ed4faa79358e53175072","src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs":"8202614484da36c388d2ffdd2554c56bb4f9db8e5bd621f8c36114cdcfeec644","src/unix/linux_like/linux/gnu/b64/loongarch64/align.rs":"060aa33cc737966c691aab8511c5c5729e551458ce18d0e284e0d45f39beeb60","src/unix/linux_like/linux/gnu/b64/loongarch64/mod.rs":"10f025edecebc6e0ed8fdae4736ebe7564189741d5b910433f07c21fc12a94d8","src/unix/linux_like/linux/gnu/b64/mips64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/mips64/mod.rs":"73532be4b5775acf9524c77feeefe1f6d1936ceffef908d01dd2586986520f2d","src/unix/linux_like/linux/gnu/b64/mod.rs":"6a160ef25439c4fecdb0e3bd0b818742263c791364da874d4febd3aa644ec8e2","src/unix/linux_like/linux/gnu/b64/powerpc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs":"a90c2641616c620e9d1fea87695ce046e14f9da2282bb93f761eeb4077c74741","src/unix/linux_like/linux/gnu/b64/riscv64/align.rs":"fe7e3c928d0367c37eb652686591801c3694a3558ebbbeb5c22be692265d07f2","src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs":"dec86883731f7b8419bff35b125b40eefc927090c1510f6daf931726f7965c0b","src/unix/linux_like/linux/gnu/b64/s390x.rs":"1ea9e39432ce6bf68779d33546dacd7d39477a9f8fc3da4f4f339e4538cb74c3","src/unix/linux_like/linux/gnu/b64/sparc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs":"bed381c44cec2a5b50125f7e548ab487d4c829006c971d152a611b7141760052","src/unix/linux_like/linux/gnu/b64/x86_64/align.rs":"62e822478356db4a73b6bbd1b36d825b893939ab4b308ec11b0578bcc4b49769","src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs":"332846e4a5920d7e6b05df0448a2333c5dd00fb27cb33654648f507ee89dbec5","src/unix/linux_like/linux/gnu/b64/x86_64/not_x32.rs":"38f74ce15d9662ce4818815a2b87be1618d5e45f190f7e4db84ff3285b4421fb","src/unix/linux_like/linux/gnu/b64/x86_64/x32.rs":"b20218a11364a6dec87f96d6c0d8b19e660697ab09ad5ee0e9b3a9dafedaaebb","src/unix/linux_like/linux/gnu/mod.rs":"8d11f66db9993e9a89c86fec3b732d9c0ec4ee42d9570d4e3389c075021dd29f","src/unix/linux_like/linux/gnu/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/mod.rs":"da8c17828415fc1db81fb547fe20b7421774a3bdd3e79053cc127a3031e59302","src/unix/linux_like/linux/musl/b32/arm/align.rs":"3e8ac052c1043764776b54c93ba4260e061df998631737a897d9d47d54f7b80c","src/unix/linux_like/linux/musl/b32/arm/mod.rs":"af10147d7c3661751750a58ffad089d5d18d180cd18303c653aef126c07ccd91","src/unix/linux_like/linux/musl/b32/hexagon.rs":"d079cab42529f7dab699334d43168c74ff4aa0282f11040a8b7d274b65767a7a","src/unix/linux_like/linux/musl/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/musl/b32/mips/mod.rs":"e44043766f7cd26de7ffa4232654afb6feb03e58dbd5890717970887bd003151","src/unix/linux_like/linux/musl/b32/mod.rs":"31677597fd9544c4b1ec1477628288f6273fabbc06e38f33da862ad55f019ce1","src/unix/linux_like/linux/musl/b32/powerpc.rs":"3dae56a4e7789bcc5314e419fea5e4b2495367b4f1a49d1c9477c60225d65eef","src/unix/linux_like/linux/musl/b32/riscv32/align.rs":"efd2accf33b87de7c7547903359a5da896edc33cd6c719552c7474b60d4a5d48","src/unix/linux_like/linux/musl/b32/riscv32/mod.rs":"3ee845d272f91a1908d5f421d7c353e1f14681bbdfef64410e408f4c14365a91","src/unix/linux_like/linux/musl/b32/x86/align.rs":"08e77fbd7435d7dec2ff56932433bece3f02e47ce810f89004a275a86d39cbe1","src/unix/linux_like/linux/musl/b32/x86/mod.rs":"f2b53ae0034c833244b7cdb8c670349bf8272a03abf04152eba65cf62810484d","src/unix/linux_like/linux/musl/b64/aarch64/align.rs":"6ba32725d24d7d8e6aa111f3b57aafa318f83b606abe96561329151829821133","src/unix/linux_like/linux/musl/b64/aarch64/int128.rs":"1735f6f5c56770d20dd426442f09724d9b2052b46a7cd82f23f3288a4a7276de","src/unix/linux_like/linux/musl/b64/aarch64/mod.rs":"45ce6897afcc960267bb7505702b639daf94dc69428a213bf1aefd367ca32adc","src/unix/linux_like/linux/musl/b64/loongarch64/align.rs":"060aa33cc737966c691aab8511c5c5729e551458ce18d0e284e0d45f39beeb60","src/unix/linux_like/linux/musl/b64/loongarch64/mod.rs":"3d9ef92e682a1789544a2bd20cad5a5623db9d7d9f5d0a3692bb0230af034165","src/unix/linux_like/linux/musl/b64/mips64.rs":"a968ef9c54fa22293085f318c8472c1754482df92cc500568dc33bd807d71ea6","src/unix/linux_like/linux/musl/b64/mod.rs":"20ceaf90a03c24a2eb154a5dffbfc9a538348404db5b554a3d8126021ba45509","src/unix/linux_like/linux/musl/b64/powerpc64.rs":"140e579800a67315f4cb8a42b22aa8157eae34ffe626e77e421b43c53c23b34d","src/unix/linux_like/linux/musl/b64/riscv64/align.rs":"fe7e3c928d0367c37eb652686591801c3694a3558ebbbeb5c22be692265d07f2","src/unix/linux_like/linux/musl/b64/riscv64/mod.rs":"c5944526d7e19cd43e9d14d119a1d98f8780db7ecbcc79e69d7b9348e596b520","src/unix/linux_like/linux/musl/b64/s390x.rs":"8557b3477ca8cefef7fce764a3c25441929a54e50ead4091f6f7823c427cd728","src/unix/linux_like/linux/musl/b64/x86_64/align.rs":"77309276ad7a42cbe59ca381f23590b7a143aded05555b34a5b307b808cbca6e","src/unix/linux_like/linux/musl/b64/x86_64/mod.rs":"a91c4f18027c9958037f78ae48f6352d23cb4e6f2995b2cc8de7dce0e5759470","src/unix/linux_like/linux/musl/lfs64.rs":"3e4fb381f3a0756520bde0f1692d4fa45e4ae8133bf7d7c64b0e3fdd512f235f","src/unix/linux_like/linux/musl/mod.rs":"94dd7eb5064230637ccd135383c7d30f8d3f7874c22771b24b529e58de421731","src/unix/linux_like/linux/no_align.rs":"62cdca0e011937aaf09a51ca86d9f0ee0fdb05f61ec3c058e6a5d5fa6357d784","src/unix/linux_like/linux/non_exhaustive.rs":"181a05bf94fdb911db83ce793b993bd6548a4115b306a7ef3c10f745a8fea3e9","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":"50288ff9e411ab0966da24838f2c2a5618021bc19c422a04f577b2979ef4081e","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":"d0c4434e2bf813372c418a8f516c706cdccc9f7be2f0921b2207b0afdb66fe81","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":"3f38ee6a4690b9d7594be20d216467a34d955f7653c2c8ce1e6147daeb53f1e0","src/unix/linux_like/linux/uclibc/mips/mips64/no_align.rs":"4a18e3875698c85229599225ac3401a2a40da87e77b2ad4ef47c6fcd5a24ed30","src/unix/linux_like/linux/uclibc/mips/mod.rs":"a048fce1c2d9b1ad57305642e8ad05ca0f0c7e4753267a2e2d6b4fee5db3b072","src/unix/linux_like/linux/uclibc/mod.rs":"6efae7ed906bc5773dcce43ba1045cf93df5f8dac41f194d8cddc0579f14c015","src/unix/linux_like/linux/uclibc/no_align.rs":"3f28637046524618adaa1012e26cb7ffe94b9396e6b518cccdc69d59f274d709","src/unix/linux_like/linux/uclibc/x86_64/l4re.rs":"8485b9182b7c67f7344fab377e7cc2a72afefd9ab63837c860514abba9728d76","src/unix/linux_like/linux/uclibc/x86_64/mod.rs":"e7197f0f68ece174c8ae42b2b9115893abfcdbe44a1a6ed98fb3cbd7bfe087e8","src/unix/linux_like/linux/uclibc/x86_64/other.rs":"42c3f71e58cabba373f6a55a623f3c31b85049eb64824c09c2b082b3b2d6a0a8","src/unix/linux_like/mod.rs":"863f628cbaa864911ffebc58e9fb788b6c6a9651955fc401ac1f40f20eb62505","src/unix/mod.rs":"5f851ce1756443b9219edd11b6cc2abfb4031a22a6496bb5d4d6090f97779f8a","src/unix/newlib/aarch64/mod.rs":"964c096288da836b53c0c71d7f3a97048d177da220a69314c5ce93ba330d72af","src/unix/newlib/align.rs":"28aaf87fafbc6b312622719d472d8cf65f9e5467d15339df5f73e66d8502b28a","src/unix/newlib/arm/mod.rs":"cf754f8b1197489fca01e881a4b4b146e814998e4b365f116fa1a102c00e6a4e","src/unix/newlib/espidf/mod.rs":"689e29a9fff5a263e5ab8410d0a8919f77fa64aa12f4d71f71085a6f07f19f67","src/unix/newlib/generic.rs":"5f0b5d07ddb5a5d60580f9561fdb05e9218d9751d4068c4aadad2ba6b950aabf","src/unix/newlib/horizon/mod.rs":"3a521d22bf932fc01c1d26d1f9bff20f11b1855b03c8236a8eb18310f6cab5a8","src/unix/newlib/mod.rs":"e5d5faf27a6336b9f1c02b8726427801d906a14dae766852b4e85c1a92df06c8","src/unix/newlib/no_align.rs":"e0743b2179495a9514bc3a4d1781e492878c4ec834ee0085d0891dd1712e82fb","src/unix/newlib/powerpc/mod.rs":"cc9e188711b9bf614323ad6c48e0d2e1a1ecc5d3bc64961ba451f29c6c22d2d8","src/unix/newlib/vita/mod.rs":"ff1caf74bb0696fe15d60dbac598db4520cd538aa0f5989713d97d008eee6ad8","src/unix/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/unix/nto/aarch64.rs":"4709c9afdc8d583be876598e7c238499ee3e8da5bd2baa614d9c7dd414851555","src/unix/nto/mod.rs":"5eb045c352114f5d744d098acaf9e47a9223f6fccd43f36b9a3ba79b29af0eee","src/unix/nto/neutrino.rs":"799bff4ab01a6424db6c5a2b76aa5679826d41495f9d13c63485bf13bc80026b","src/unix/nto/x86_64.rs":"a3e18e93c2999da1cd7a6f748a4b60c07aefb73d8ea2aafec19a84cfb040bc8e","src/unix/redox/mod.rs":"e75a319975472fe9e0873244fb07c5d2004672b7a4cf7a3cb01532d6d394cb8a","src/unix/solarish/compat.rs":"00f1ee3faec9da69204e42f025f6735dd13d894071a154425dcc43ecbdd06e7f","src/unix/solarish/illumos.rs":"26171da367221de1e456f1236250b5831a770d6f109ed12b0ebe4d508e490194","src/unix/solarish/mod.rs":"c0c5dfc406d728666010cdc2fe21b0df40547ed20dd7ad0eab65906e103b6d4b","src/unix/solarish/solaris.rs":"41b350a89ddf01cd12a10f93640f92be53be0b0d976021cdc08da17bf3e72edf","src/unix/solarish/x86.rs":"e86e806df0caed72765040eaa2f3c883198d1aa91508540adf9b7008c77f522e","src/unix/solarish/x86_64.rs":"ec2b01f194eb8a6a27133c57681da195a949e03098f3ea1e847227a9c09ef5fc","src/unix/solarish/x86_common.rs":"ac869d9c3c95645c22460468391eb1982023c3a8e02b9e06a72e3aef3d5f1eac","src/vxworks/aarch64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/arm.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/mod.rs":"ccdb6a6e0c12011705a15dadc04b26882e6090db4403af4d15cad9330ef96370","src/vxworks/powerpc.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/powerpc64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/x86.rs":"552f007f38317620b23889cb7c49d1d115841252439060122f52f434fbc6e5ba","src/vxworks/x86_64.rs":"018d92be3ad628a129eff9f2f5dfbc0883d8b8e5f2fa917b900a7f98ed6b514a","src/wasi.rs":"51e38bb98547c40d0822d31975c976cd6e0784463d90d170109c87bf324395d3","src/windows/gnu/align.rs":"b2c13ec1b9f3b39a75c452c80c951dff9d0215e31d77e883b4502afb31794647","src/windows/gnu/mod.rs":"3c8c7edb7cdf5d0c44af936db2a94869585c69dfabeef30571b4f4e38375767a","src/windows/mod.rs":"9fdc5e1c62c441abef7bc62a7343efb2041edc24db9ac0efc0f74df55b69e249","src/windows/msvc/mod.rs":"c068271e00fca6b62bc4bf44bcf142cfc38caeded9b6c4e01d1ceef3ccf986f4","src/xous.rs":"eb0675f25ba01f73072d2b70907fb8abb1148facefe5a20756c49250f3d65fae","tests/const_fn.rs":"cb75a1f0864f926aebe79118fc34d51a0d1ade2c20a394e7774c7e545f21f1f4"},"package":"d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439"}
27\ No newline at end of file
28+{"files":{"CHANGELOG.md":"96fb278d188e87842fe2701f91e0f757665b44dc2e549accb6ed1ed6eeb67602","CONTRIBUTING.md":"a93fcda0a76e1975fcfb0aa2ba00c9b1864f9ae6062704a294d81a3688898e10","Cargo.toml":"2196e21d3fd56b3019e235720a32b4e3c8ada82c08cb01c06c695752201396df","LICENSE-APACHE":"62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a","LICENSE-MIT":"a8d47ff51ca256f56a8932dba07660672dbfe3004257ca8de708aac1415937a1","README.md":"4da2919bb509f3f06163778478494f780ca6627cb79ccab5d2c828c8d88dc133","build.rs":"54387230fed8d16f1169a845e92a1c1a5d9227559acbf3bfa383c7901b2d1be8","rustfmt.toml":"eaa2ea84fc1ba0359b77680804903e07bb38d257ab11986b95b158e460f787b2","src/fixed_width_ints.rs":"7f986e5f5e68d25ef04d386fd2f640e8be8f15427a8d4a458ea01d26b8dca0ca","src/fuchsia/aarch64.rs":"893fcec48142d273063ffd814dca33fbec92205fd39ada97075f85201d803996","src/fuchsia/align.rs":"ae1cf8f011a99737eabeb14ffff768e60f13b13363d7646744dbb0f443dab3d6","src/fuchsia/mod.rs":"a8e3ff551e5ff4247ab1faa1b7ca1e042046a619198e8b30fe183c6ef8485d65","src/fuchsia/no_align.rs":"303f3f1b255e0088b5715094353cf00476131d8e94e6aebb3f469557771c8b8a","src/fuchsia/riscv64.rs":"617cd75e79e0e20f664db764a4dc2a396d9fd11a4d95371acd91ed4811293b11","src/fuchsia/x86_64.rs":"93a3632b5cf67d2a6bcb7dc0a558605252d5fe689e0f38d8aa2ec5852255ac87","src/hermit.rs":"ad1e8685edf3f3a7c141ccc0e82d44b7feb13e81f2f59ed6aeb6e4964524637c","src/lib.rs":"7f57f05b3d9e1e14a666aabbd942cf5959e778966981e604087774d56eb059c8","src/macros.rs":"5f985b3de7b18833f866bf832b8ffb0430f0f70aa9a468b6a2c855c1bf9d33e4","src/psp.rs":"0a7d5121a8cc2903009f586c00e4ae2d6126d24eb90531dafaba6f59823aa6b2","src/sgx.rs":"16a95cdefc81c5ee00d8353a60db363c4cc3e0f75abcd5d0144723f2a306ed1b","src/solid/aarch64.rs":"a726e47f324adf73a4a0b67a2c183408d0cad105ae66acf36db37a42ab7f8707","src/solid/arm.rs":"e39a4f74ebbef3b97b8c95758ad741123d84ed3eb48d9cf4f1f4872097fc27fe","src/solid/mod.rs":"5f4151dca5132e4b4e4c23ab9737e12856dddbdc0ca3f7dbc004328ef3c8acde","src/switch.rs":"9da3dd39b3de45a7928789926e8572d00e1e11a39e6f7289a1349aadce90edba","src/teeos/mod.rs":"ecf8922923fb7541ef7b0813cdc5418b75be56247c4dbdbb7dca58a076f25b97","src/unix/aix/mod.rs":"91de34bf8237e4998e10f9274471d14fb9a31ac6f2ef6e44689066b8e280b3d3","src/unix/aix/powerpc64.rs":"cf374d81139d45f9d77c6a764f640bfbf7e0a5903689652c8296f8e10d55169b","src/unix/align.rs":"2cdc7c826ef7ae61f5171c5ae8c445a743d86f1a7f2d9d7e4ceeec56d6874f65","src/unix/bsd/apple/b32/align.rs":"ec833a747866fe19ca2d9b4d3c9ff0385faba5edf4bd0d15fa68884c40b0e26c","src/unix/bsd/apple/b32/mod.rs":"2546ad3eb6aecb95f916648bc63264117c92b4b4859532b34cb011e4c75a5a72","src/unix/bsd/apple/b64/aarch64/align.rs":"2eaf0f561a32bdcbf4e0477c8895d5e7bcb5cdebd5fef7b4df2ca8e38e144d94","src/unix/bsd/apple/b64/aarch64/mod.rs":"44c217a4f263afe7a97435de9323d20a96c37836f899ca0925306d4b7e073c27","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":"8c87c5855038aae5d433c8f5eb3b29b0a175879a0245342b3bfd83bdf4cfd936","src/unix/bsd/apple/long_array.rs":"3cf1f19b812e6d093c819dc65ce55b13491963e0780eda0d0bd1577603e81948","src/unix/bsd/apple/mod.rs":"484698da7c1083a46ae1a389486a8c2d75e3e6ecb4f80ded69b6c0dd2d1a92a0","src/unix/bsd/freebsdlike/dragonfly/errno.rs":"8295b8bb0dfd38d2cdb4d9192cdeeb534cc6c3b208170e64615fa3e0edb3e578","src/unix/bsd/freebsdlike/dragonfly/mod.rs":"2777f94909a798df1b8030fb86d02e2118d0ac3e49e9a542df54a569ca5ae2f9","src/unix/bsd/freebsdlike/freebsd/aarch64.rs":"6c8e216385f53a4bf5f171749b57602fc34a4e4b160a44ca31c058cb0c8a2126","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":"e243ae0e89623d4fa9f85afe14369cc5fd5f2028ea715773dbec722ba80dac1f","src/unix/bsd/freebsdlike/freebsd/freebsd12/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd12/mod.rs":"bef9fae288a4f29e941ea369be1cd20b170040e60665a4d49a4a9e79009b72d8","src/unix/bsd/freebsdlike/freebsd/freebsd12/x86_64.rs":"2df36a7f122f6d6e5753cfb4d22e915cc80f6bc91c0161b3daae55a481bfd052","src/unix/bsd/freebsdlike/freebsd/freebsd13/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd13/mod.rs":"88be47524b28b6635ccb1e85ea511bf17337be0af7e9baa740c341ac9e83a6f7","src/unix/bsd/freebsdlike/freebsd/freebsd13/x86_64.rs":"2df36a7f122f6d6e5753cfb4d22e915cc80f6bc91c0161b3daae55a481bfd052","src/unix/bsd/freebsdlike/freebsd/freebsd14/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd14/mod.rs":"6ddc6abf6d5ccaea0d8cccf521e8ca6457efcad3086af4155628d5d06d672346","src/unix/bsd/freebsdlike/freebsd/freebsd14/x86_64.rs":"e7b5863e222d6cc416b6b0fbe71690fad909e899b4c4ae810bbca117e4fcb650","src/unix/bsd/freebsdlike/freebsd/freebsd15/b64.rs":"61cbe45f8499bedb168106b686d4f8239472f25c7553b069eec2afe197ff2df6","src/unix/bsd/freebsdlike/freebsd/freebsd15/mod.rs":"93115c1a9faa43ebf58b7dee3582aed5a54291b284764e370e7f649b2e6a9565","src/unix/bsd/freebsdlike/freebsd/freebsd15/x86_64.rs":"e7b5863e222d6cc416b6b0fbe71690fad909e899b4c4ae810bbca117e4fcb650","src/unix/bsd/freebsdlike/freebsd/mod.rs":"08e39a42392936857fd0c1c6b01788f5630fe8ff7f78b062490509c5dd816a42","src/unix/bsd/freebsdlike/freebsd/powerpc.rs":"9ca3f82f88974e6db5569f2d76a5a3749b248a31747a6c0da5820492bdfeca42","src/unix/bsd/freebsdlike/freebsd/powerpc64.rs":"2dae3ecc87eac3b11657aa98915def55fc4b5c0de11fe26aae23329a54628a9a","src/unix/bsd/freebsdlike/freebsd/riscv64.rs":"fa4bed4c58cad24ba3395941c7fa6b11e089551a04714f9561078e400f5b2b62","src/unix/bsd/freebsdlike/freebsd/x86.rs":"2837fed0ffee0ec443ecdb743b7142bcb4d6ba2de87e05459fb4498789d47200","src/unix/bsd/freebsdlike/freebsd/x86_64/align.rs":"0e1f69a88fca1c32874b1daf5db3d446fefbe518dca497f096cc9168c39dde70","src/unix/bsd/freebsdlike/freebsd/x86_64/mod.rs":"e4d76219bec0621db07dec37de9be1a9b7fb38daa10ffc1a6adbdbc34e163435","src/unix/bsd/freebsdlike/mod.rs":"c846f30eaffc7c1a21b4acd3df75cd17bb3d4f11401c9a9770924e4e6d847995","src/unix/bsd/mod.rs":"37765749481f7d0dec8681d8c9d0735e6021094b4ef4a2d9aab5643d7a4232e1","src/unix/bsd/netbsdlike/mod.rs":"ea60540aa4edd4e43136749d5df497b1dc072b9912b6030dd1ab794a6d1c3c3c","src/unix/bsd/netbsdlike/netbsd/aarch64.rs":"057ee877db7193ba0dc10801b9a6563ac6dbdb78376d6851a84cb12b30841759","src/unix/bsd/netbsdlike/netbsd/arm.rs":"949b55e4dee1c8c511f4f061a6a57ac876a6c0eabfaf5cc20e9ab40d8f41b2e0","src/unix/bsd/netbsdlike/netbsd/mips.rs":"88be18ac43ba224c77e78e4179b6761debc5e6c30a258fac56263809c7af4fbc","src/unix/bsd/netbsdlike/netbsd/mod.rs":"ab09cea2897ecd27fc7e35822dac23d6dcd53f8577c771db3ee8b015e8d82001","src/unix/bsd/netbsdlike/netbsd/powerpc.rs":"ee7ff5d89d0ed22f531237b5059aa669df93a3b5c489fa641465ace8d405bf41","src/unix/bsd/netbsdlike/netbsd/riscv64.rs":"1cbe2e5ed681cb1054b699da37daaf6c714267df7d332c90fc2a589b11579625","src/unix/bsd/netbsdlike/netbsd/sparc64.rs":"9489f4b3e4566f43bb12dfb92238960613dac7f6a45cc13068a8d152b902d7d9","src/unix/bsd/netbsdlike/netbsd/x86.rs":"20692320e36bfe028d1a34d16fe12ca77aa909cb02bda167376f98f1a09aefe7","src/unix/bsd/netbsdlike/netbsd/x86_64.rs":"532b76199d6c71ff996eade9f906c55a72c9aff489595d25a21e21878cfd740b","src/unix/bsd/netbsdlike/openbsd/aarch64.rs":"dd91931d373b7ecaf6e2de25adadee10d16fa9b12c2cbacdff3eb291e1ba36af","src/unix/bsd/netbsdlike/openbsd/arm.rs":"01580d261bc6447bb327a0d982181b7bdabfa066cee65a30373d3ced729ad307","src/unix/bsd/netbsdlike/openbsd/mips64.rs":"8532a189ae10c7d668d9d4065da8b05d124e09bd39442c9f74a7f231c43eca48","src/unix/bsd/netbsdlike/openbsd/mod.rs":"7b93b5b24b3c72a79b2de19b47ac2f56b29d87e9fc8f4c721a63d1e87ec83fcc","src/unix/bsd/netbsdlike/openbsd/powerpc.rs":"01580d261bc6447bb327a0d982181b7bdabfa066cee65a30373d3ced729ad307","src/unix/bsd/netbsdlike/openbsd/powerpc64.rs":"1dd5449dd1fd3d51e30ffdeeaece91d0aaf05c710e0ac699fecc5461cfa2c28e","src/unix/bsd/netbsdlike/openbsd/riscv64.rs":"1fe3332dc705a13e6242219970f5449d6d7a73e2e6c8537ab8e421d8a6f2e3ff","src/unix/bsd/netbsdlike/openbsd/sparc64.rs":"d04fd287afbaa2c5df9d48c94e8374a532a3ba491b424ddf018270c7312f4085","src/unix/bsd/netbsdlike/openbsd/x86.rs":"6f7f5c4fde2a2259eb547890cbd86570cea04ef85347d7569e94e679448bec87","src/unix/bsd/netbsdlike/openbsd/x86_64.rs":"d31db31630289c85af3339dbe357998a21ca584cbae31607448fe2cf7675a4e1","src/unix/haiku/b32.rs":"a2efdbf7158a6da341e1db9176b0ab193ba88b449616239ed95dced11f54d87b","src/unix/haiku/b64.rs":"ff8115367d3d7d354f792d6176dfaaa26353f57056197b563bf4681f91ff7985","src/unix/haiku/mod.rs":"b75976d84bdf4a3a226336bb06ec231d552240f302bb5da48ead692fd72758f9","src/unix/haiku/native.rs":"2b1f88c043777a915bb7218aa05a3647a0e0481ebff55a99e351c45dea2be8de","src/unix/haiku/x86_64.rs":"3ec3aeeb7ed208b8916f3e32d42bfd085ff5e16936a1a35d9a52789f043b7237","src/unix/hurd/align.rs":"03c79b2cd8270ebd0cf93cb475a8f1ff85b28175ea0de007ede17cad94a89b03","src/unix/hurd/b32.rs":"2ba90ed973f90366c36a6387833a3df42abfee9622d4a0352635937d4a89eaf4","src/unix/hurd/b64.rs":"d919b4aec9b3080ad24c125c57b2c8b2e483d72045f1554c429d14560355846f","src/unix/hurd/mod.rs":"23ebadfdb9a92d7fb9e32b6a7c95669ce979ba7407b924869f40a59d2807d052","src/unix/hurd/no_align.rs":"03c79b2cd8270ebd0cf93cb475a8f1ff85b28175ea0de007ede17cad94a89b03","src/unix/linux_like/android/b32/arm.rs":"ce582de7e983a33d3bfad13075c53aac9016cee35f06ad8653ee9072c3ec2564","src/unix/linux_like/android/b32/mod.rs":"7c173e0375119bf06a3081652faede95e5bcd6858e7576b7533d037978737c8f","src/unix/linux_like/android/b32/x86/align.rs":"812914e4241df82e32b12375ca3374615dc3a4bdd4cf31f0423c5815320c0dab","src/unix/linux_like/android/b32/x86/mod.rs":"e6d107efbcd37b5b85dfa18f683300cbf768ffa0237997a9fa52b184a53323ac","src/unix/linux_like/android/b64/aarch64/align.rs":"2179c3b1608fa4bf68840482bfc2b2fa3ee2faf6fcae3770f9e505cddca35c7b","src/unix/linux_like/android/b64/aarch64/int128.rs":"1735f6f5c56770d20dd426442f09724d9b2052b46a7cd82f23f3288a4a7276de","src/unix/linux_like/android/b64/aarch64/mod.rs":"873af67c4a9757ead56bc797d04efcecd311ecbf0084ebdd198fb690463ef299","src/unix/linux_like/android/b64/mod.rs":"7b8efbd61ab965c93bacfab78108ff8eed38af07b119099020dc41a9d0901559","src/unix/linux_like/android/b64/riscv64/align.rs":"0bf138f84e5327d8339bcd4adf071a6832b516445e597552c82bbd881095e3a8","src/unix/linux_like/android/b64/riscv64/mod.rs":"19d4bf2237c47127eba9144e0b82e995bc079315e719179a91813b0ae7b0e49d","src/unix/linux_like/android/b64/x86_64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/android/b64/x86_64/mod.rs":"4ec2de11a9b65c4325b7b991f0b99a414975e0e61ba8668caca5d921e9b314d1","src/unix/linux_like/android/mod.rs":"384275dc1d3559a9f83559b6c903758a9dc4c4b3d13db48d23ed4fdc3c0ff8da","src/unix/linux_like/emscripten/align.rs":"86c95cbed7a7161b1f23ee06843e7b0e2340ad92b2cb86fe2a8ef3e0e8c36216","src/unix/linux_like/emscripten/lfs64.rs":"3776af30a758d765a88920ec4fde442ab89040da13d3b3625c7fbcb8a958559f","src/unix/linux_like/emscripten/mod.rs":"70d4591730a731ee32788a9d8d2de379592844ec36b7d1723514179605587713","src/unix/linux_like/emscripten/no_align.rs":"0128e4aa721a9902754828b61b5ec7d8a86619983ed1e0544a85d35b1051fad6","src/unix/linux_like/linux/align.rs":"bc5abcd38e2320171e0981e773c9c5fe3e0d5a66fdff049228f6a1acad80ef8b","src/unix/linux_like/linux/arch/generic/mod.rs":"10577c664dbdd5d1410e53e3872435ad595758bd1deb410b1bce7825cd150178","src/unix/linux_like/linux/arch/mips/mod.rs":"ca3db0e3ae852abf18f3588e40d5d64707fcc1829e08ddc5da1080e1a92c8851","src/unix/linux_like/linux/arch/mod.rs":"5bd5361f8a6ab4e18bbba6da9f92c164ae252b15a0ed10064812544aa1fdf198","src/unix/linux_like/linux/arch/powerpc/mod.rs":"0bc2d2667a00eca81f4abeb6d613a90848a947f51224103f83268928b8197629","src/unix/linux_like/linux/arch/sparc/mod.rs":"5e6777863e74a9e2aa9dc487f1059783dd211babc2b32d6bf676f311e49c55d6","src/unix/linux_like/linux/gnu/align.rs":"e4a3c27fe20a57b8d612c34cb05bc70646edb5cec7251957315afa53a7b9f936","src/unix/linux_like/linux/gnu/b32/arm/align.rs":"6ec0eb3ee93f7ae99fd714b4deabfb5e97fbcefd8c26f5a45fb8e7150899cdeb","src/unix/linux_like/linux/gnu/b32/arm/mod.rs":"f68ec59b6407f9d4e326f3e71a41ec21f19ecfc703edf9a93e496f661fed5506","src/unix/linux_like/linux/gnu/b32/csky/align.rs":"3fed009dc9af3cc81be7087da9d2d7d1f39845e4497e290259c5cdbae25f039d","src/unix/linux_like/linux/gnu/b32/csky/mod.rs":"8729b68e433e94c2128e51a7db4fd555938e4be4dc64584c352b24a20d9c8e91","src/unix/linux_like/linux/gnu/b32/m68k/align.rs":"8faa92f77a9232c035418d45331774e64a9a841d99c91791570a203bf2b45bcb","src/unix/linux_like/linux/gnu/b32/m68k/mod.rs":"80956d3fef163ecf248828a6f38782dd8ae856d86b1bb5aac2de36032dbd8ea0","src/unix/linux_like/linux/gnu/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/gnu/b32/mips/mod.rs":"96e22350d5d132d917c743d6560464500652c67b52c3d0e8474494487df3365d","src/unix/linux_like/linux/gnu/b32/mod.rs":"b56625dd20dd48a8699034d349ef089c540c0ddcbf8a3481d598d101f8b40b78","src/unix/linux_like/linux/gnu/b32/powerpc.rs":"20fc3cc4fe1ef6617b63b61b897f782ceb9c2842fc718f504a1840537229bf47","src/unix/linux_like/linux/gnu/b32/riscv32/align.rs":"d321491612be8d5c61b6ec2dc0111beb3a22e58803f99cd37543efe86621b119","src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs":"887288a0a1cfff319d0e15edcdc4fcb31fd643ff41715ec5244c8f2413624169","src/unix/linux_like/linux/gnu/b32/sparc/align.rs":"21adbed27df73e2d1ed934aaf733a643003d7baf2bde9c48ea440895bcca6d41","src/unix/linux_like/linux/gnu/b32/sparc/mod.rs":"cc4342b949e4d796f304acd9dfe3f721a1c2f37fec16b42d3bb27dc94723af37","src/unix/linux_like/linux/gnu/b32/x86/align.rs":"e4bafdc4a519a7922a81b37a62bbfd1177a2f620890eef8f1fbc47162e9eb413","src/unix/linux_like/linux/gnu/b32/x86/mod.rs":"06d4db4ee8352f62a0a5ead0c4d6ea0a78feff522f19b9bc5772f6dd920ffd80","src/unix/linux_like/linux/gnu/b64/aarch64/align.rs":"fdf1c72375a2167699157e0dd825422690bb6719f7bc69515a2e5846d0431d7c","src/unix/linux_like/linux/gnu/b64/aarch64/fallback.rs":"832e7487249c1c0bb6e9911ce3f7d32ca22378e42392ab83c56915cbc59d8be3","src/unix/linux_like/linux/gnu/b64/aarch64/ilp32.rs":"bf4611b737813deef6787babf6c01698605f3b75482269b8546318667bc68e29","src/unix/linux_like/linux/gnu/b64/aarch64/int128.rs":"1735f6f5c56770d20dd426442f09724d9b2052b46a7cd82f23f3288a4a7276de","src/unix/linux_like/linux/gnu/b64/aarch64/lp64.rs":"11a950697fdda0258c6e37c6b13993348c8de4134105ed4faa79358e53175072","src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs":"8202614484da36c388d2ffdd2554c56bb4f9db8e5bd621f8c36114cdcfeec644","src/unix/linux_like/linux/gnu/b64/loongarch64/align.rs":"060aa33cc737966c691aab8511c5c5729e551458ce18d0e284e0d45f39beeb60","src/unix/linux_like/linux/gnu/b64/loongarch64/mod.rs":"10f025edecebc6e0ed8fdae4736ebe7564189741d5b910433f07c21fc12a94d8","src/unix/linux_like/linux/gnu/b64/mips64/align.rs":"7169d07a9fd4716f7512719aec9fda5d8bed306dc0720ffc1b21696c9951e3c6","src/unix/linux_like/linux/gnu/b64/mips64/mod.rs":"73532be4b5775acf9524c77feeefe1f6d1936ceffef908d01dd2586986520f2d","src/unix/linux_like/linux/gnu/b64/mod.rs":"6a160ef25439c4fecdb0e3bd0b818742263c791364da874d4febd3aa644ec8e2","src/unix/linux_like/linux/gnu/b64/powerpc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs":"a90c2641616c620e9d1fea87695ce046e14f9da2282bb93f761eeb4077c74741","src/unix/linux_like/linux/gnu/b64/riscv64/align.rs":"fe7e3c928d0367c37eb652686591801c3694a3558ebbbeb5c22be692265d07f2","src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs":"dec86883731f7b8419bff35b125b40eefc927090c1510f6daf931726f7965c0b","src/unix/linux_like/linux/gnu/b64/s390x.rs":"1ea9e39432ce6bf68779d33546dacd7d39477a9f8fc3da4f4f339e4538cb74c3","src/unix/linux_like/linux/gnu/b64/sparc64/align.rs":"e29c4868bbecfa4a6cd8a2ad06193f3bbc78a468cc1dc9df83f002f1268130d9","src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs":"bed381c44cec2a5b50125f7e548ab487d4c829006c971d152a611b7141760052","src/unix/linux_like/linux/gnu/b64/x86_64/align.rs":"62e822478356db4a73b6bbd1b36d825b893939ab4b308ec11b0578bcc4b49769","src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs":"332846e4a5920d7e6b05df0448a2333c5dd00fb27cb33654648f507ee89dbec5","src/unix/linux_like/linux/gnu/b64/x86_64/not_x32.rs":"38f74ce15d9662ce4818815a2b87be1618d5e45f190f7e4db84ff3285b4421fb","src/unix/linux_like/linux/gnu/b64/x86_64/x32.rs":"b20218a11364a6dec87f96d6c0d8b19e660697ab09ad5ee0e9b3a9dafedaaebb","src/unix/linux_like/linux/gnu/mod.rs":"8d11f66db9993e9a89c86fec3b732d9c0ec4ee42d9570d4e3389c075021dd29f","src/unix/linux_like/linux/gnu/no_align.rs":"9cd223135de75315840ff9c3fd5441ba1cb632b96b5c85a76f8316c86653db25","src/unix/linux_like/linux/mod.rs":"da8c17828415fc1db81fb547fe20b7421774a3bdd3e79053cc127a3031e59302","src/unix/linux_like/linux/musl/b32/arm/align.rs":"3e8ac052c1043764776b54c93ba4260e061df998631737a897d9d47d54f7b80c","src/unix/linux_like/linux/musl/b32/arm/mod.rs":"af10147d7c3661751750a58ffad089d5d18d180cd18303c653aef126c07ccd91","src/unix/linux_like/linux/musl/b32/hexagon.rs":"d079cab42529f7dab699334d43168c74ff4aa0282f11040a8b7d274b65767a7a","src/unix/linux_like/linux/musl/b32/mips/align.rs":"429fb5e005cb7143602d430098b6ebfb7d360685b194f333dfd587472ae954ee","src/unix/linux_like/linux/musl/b32/mips/mod.rs":"e44043766f7cd26de7ffa4232654afb6feb03e58dbd5890717970887bd003151","src/unix/linux_like/linux/musl/b32/mod.rs":"31677597fd9544c4b1ec1477628288f6273fabbc06e38f33da862ad55f019ce1","src/unix/linux_like/linux/musl/b32/powerpc.rs":"3dae56a4e7789bcc5314e419fea5e4b2495367b4f1a49d1c9477c60225d65eef","src/unix/linux_like/linux/musl/b32/riscv32/align.rs":"efd2accf33b87de7c7547903359a5da896edc33cd6c719552c7474b60d4a5d48","src/unix/linux_like/linux/musl/b32/riscv32/mod.rs":"3ee845d272f91a1908d5f421d7c353e1f14681bbdfef64410e408f4c14365a91","src/unix/linux_like/linux/musl/b32/x86/align.rs":"08e77fbd7435d7dec2ff56932433bece3f02e47ce810f89004a275a86d39cbe1","src/unix/linux_like/linux/musl/b32/x86/mod.rs":"f2b53ae0034c833244b7cdb8c670349bf8272a03abf04152eba65cf62810484d","src/unix/linux_like/linux/musl/b64/aarch64/align.rs":"6ba32725d24d7d8e6aa111f3b57aafa318f83b606abe96561329151829821133","src/unix/linux_like/linux/musl/b64/aarch64/int128.rs":"1735f6f5c56770d20dd426442f09724d9b2052b46a7cd82f23f3288a4a7276de","src/unix/linux_like/linux/musl/b64/aarch64/mod.rs":"45ce6897afcc960267bb7505702b639daf94dc69428a213bf1aefd367ca32adc","src/unix/linux_like/linux/musl/b64/loongarch64/align.rs":"060aa33cc737966c691aab8511c5c5729e551458ce18d0e284e0d45f39beeb60","src/unix/linux_like/linux/musl/b64/loongarch64/mod.rs":"3d9ef92e682a1789544a2bd20cad5a5623db9d7d9f5d0a3692bb0230af034165","src/unix/linux_like/linux/musl/b64/mips64.rs":"a968ef9c54fa22293085f318c8472c1754482df92cc500568dc33bd807d71ea6","src/unix/linux_like/linux/musl/b64/mod.rs":"20ceaf90a03c24a2eb154a5dffbfc9a538348404db5b554a3d8126021ba45509","src/unix/linux_like/linux/musl/b64/powerpc64.rs":"140e579800a67315f4cb8a42b22aa8157eae34ffe626e77e421b43c53c23b34d","src/unix/linux_like/linux/musl/b64/riscv64/align.rs":"fe7e3c928d0367c37eb652686591801c3694a3558ebbbeb5c22be692265d07f2","src/unix/linux_like/linux/musl/b64/riscv64/mod.rs":"c5944526d7e19cd43e9d14d119a1d98f8780db7ecbcc79e69d7b9348e596b520","src/unix/linux_like/linux/musl/b64/s390x.rs":"8557b3477ca8cefef7fce764a3c25441929a54e50ead4091f6f7823c427cd728","src/unix/linux_like/linux/musl/b64/x86_64/align.rs":"77309276ad7a42cbe59ca381f23590b7a143aded05555b34a5b307b808cbca6e","src/unix/linux_like/linux/musl/b64/x86_64/mod.rs":"a91c4f18027c9958037f78ae48f6352d23cb4e6f2995b2cc8de7dce0e5759470","src/unix/linux_like/linux/musl/lfs64.rs":"3e4fb381f3a0756520bde0f1692d4fa45e4ae8133bf7d7c64b0e3fdd512f235f","src/unix/linux_like/linux/musl/mod.rs":"94dd7eb5064230637ccd135383c7d30f8d3f7874c22771b24b529e58de421731","src/unix/linux_like/linux/no_align.rs":"62cdca0e011937aaf09a51ca86d9f0ee0fdb05f61ec3c058e6a5d5fa6357d784","src/unix/linux_like/linux/non_exhaustive.rs":"181a05bf94fdb911db83ce793b993bd6548a4115b306a7ef3c10f745a8fea3e9","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":"50288ff9e411ab0966da24838f2c2a5618021bc19c422a04f577b2979ef4081e","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":"d0c4434e2bf813372c418a8f516c706cdccc9f7be2f0921b2207b0afdb66fe81","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":"3f38ee6a4690b9d7594be20d216467a34d955f7653c2c8ce1e6147daeb53f1e0","src/unix/linux_like/linux/uclibc/mips/mips64/no_align.rs":"4a18e3875698c85229599225ac3401a2a40da87e77b2ad4ef47c6fcd5a24ed30","src/unix/linux_like/linux/uclibc/mips/mod.rs":"a048fce1c2d9b1ad57305642e8ad05ca0f0c7e4753267a2e2d6b4fee5db3b072","src/unix/linux_like/linux/uclibc/mod.rs":"6efae7ed906bc5773dcce43ba1045cf93df5f8dac41f194d8cddc0579f14c015","src/unix/linux_like/linux/uclibc/no_align.rs":"3f28637046524618adaa1012e26cb7ffe94b9396e6b518cccdc69d59f274d709","src/unix/linux_like/linux/uclibc/x86_64/l4re.rs":"8485b9182b7c67f7344fab377e7cc2a72afefd9ab63837c860514abba9728d76","src/unix/linux_like/linux/uclibc/x86_64/mod.rs":"e7197f0f68ece174c8ae42b2b9115893abfcdbe44a1a6ed98fb3cbd7bfe087e8","src/unix/linux_like/linux/uclibc/x86_64/other.rs":"42c3f71e58cabba373f6a55a623f3c31b85049eb64824c09c2b082b3b2d6a0a8","src/unix/linux_like/mod.rs":"863f628cbaa864911ffebc58e9fb788b6c6a9651955fc401ac1f40f20eb62505","src/unix/mod.rs":"5f851ce1756443b9219edd11b6cc2abfb4031a22a6496bb5d4d6090f97779f8a","src/unix/newlib/aarch64/mod.rs":"964c096288da836b53c0c71d7f3a97048d177da220a69314c5ce93ba330d72af","src/unix/newlib/align.rs":"28aaf87fafbc6b312622719d472d8cf65f9e5467d15339df5f73e66d8502b28a","src/unix/newlib/arm/mod.rs":"cf754f8b1197489fca01e881a4b4b146e814998e4b365f116fa1a102c00e6a4e","src/unix/newlib/espidf/mod.rs":"689e29a9fff5a263e5ab8410d0a8919f77fa64aa12f4d71f71085a6f07f19f67","src/unix/newlib/generic.rs":"5f0b5d07ddb5a5d60580f9561fdb05e9218d9751d4068c4aadad2ba6b950aabf","src/unix/newlib/horizon/mod.rs":"3a521d22bf932fc01c1d26d1f9bff20f11b1855b03c8236a8eb18310f6cab5a8","src/unix/newlib/mod.rs":"e5d5faf27a6336b9f1c02b8726427801d906a14dae766852b4e85c1a92df06c8","src/unix/newlib/no_align.rs":"e0743b2179495a9514bc3a4d1781e492878c4ec834ee0085d0891dd1712e82fb","src/unix/newlib/powerpc/mod.rs":"cc9e188711b9bf614323ad6c48e0d2e1a1ecc5d3bc64961ba451f29c6c22d2d8","src/unix/newlib/vita/mod.rs":"ff1caf74bb0696fe15d60dbac598db4520cd538aa0f5989713d97d008eee6ad8","src/unix/no_align.rs":"c06e95373b9088266e0b14bba0954eef95f93fb2b01d951855e382d22de78e53","src/unix/nto/aarch64.rs":"4709c9afdc8d583be876598e7c238499ee3e8da5bd2baa614d9c7dd414851555","src/unix/nto/mod.rs":"5eb045c352114f5d744d098acaf9e47a9223f6fccd43f36b9a3ba79b29af0eee","src/unix/nto/neutrino.rs":"799bff4ab01a6424db6c5a2b76aa5679826d41495f9d13c63485bf13bc80026b","src/unix/nto/x86_64.rs":"a3e18e93c2999da1cd7a6f748a4b60c07aefb73d8ea2aafec19a84cfb040bc8e","src/unix/redox/mod.rs":"e75a319975472fe9e0873244fb07c5d2004672b7a4cf7a3cb01532d6d394cb8a","src/unix/solarish/compat.rs":"00f1ee3faec9da69204e42f025f6735dd13d894071a154425dcc43ecbdd06e7f","src/unix/solarish/illumos.rs":"26171da367221de1e456f1236250b5831a770d6f109ed12b0ebe4d508e490194","src/unix/solarish/mod.rs":"c0c5dfc406d728666010cdc2fe21b0df40547ed20dd7ad0eab65906e103b6d4b","src/unix/solarish/solaris.rs":"41b350a89ddf01cd12a10f93640f92be53be0b0d976021cdc08da17bf3e72edf","src/unix/solarish/x86.rs":"e86e806df0caed72765040eaa2f3c883198d1aa91508540adf9b7008c77f522e","src/unix/solarish/x86_64.rs":"ec2b01f194eb8a6a27133c57681da195a949e03098f3ea1e847227a9c09ef5fc","src/unix/solarish/x86_common.rs":"ac869d9c3c95645c22460468391eb1982023c3a8e02b9e06a72e3aef3d5f1eac","src/vxworks/aarch64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/arm.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/mod.rs":"ccdb6a6e0c12011705a15dadc04b26882e6090db4403af4d15cad9330ef96370","src/vxworks/powerpc.rs":"acb7968ce99fe3f4abdf39d98f8133d21a4fba435b8ef7084777cb181d788e88","src/vxworks/powerpc64.rs":"98f0afdc511cd02557e506c21fed6737585490a1dce7a9d4941d08c437762b99","src/vxworks/x86.rs":"552f007f38317620b23889cb7c49d1d115841252439060122f52f434fbc6e5ba","src/vxworks/x86_64.rs":"018d92be3ad628a129eff9f2f5dfbc0883d8b8e5f2fa917b900a7f98ed6b514a","src/wasi.rs":"51e38bb98547c40d0822d31975c976cd6e0784463d90d170109c87bf324395d3","src/windows/gnu/align.rs":"b2c13ec1b9f3b39a75c452c80c951dff9d0215e31d77e883b4502afb31794647","src/windows/gnu/mod.rs":"3c8c7edb7cdf5d0c44af936db2a94869585c69dfabeef30571b4f4e38375767a","src/windows/mod.rs":"9fdc5e1c62c441abef7bc62a7343efb2041edc24db9ac0efc0f74df55b69e249","src/windows/msvc/mod.rs":"c068271e00fca6b62bc4bf44bcf142cfc38caeded9b6c4e01d1ceef3ccf986f4","src/xous.rs":"eb0675f25ba01f73072d2b70907fb8abb1148facefe5a20756c49250f3d65fae","tests/const_fn.rs":"cb75a1f0864f926aebe79118fc34d51a0d1ade2c20a394e7774c7e545f21f1f4"},"package":"d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439"}
29diff --git a/vendor/libc-0.2.158/src/unix/linux_like/linux/arch/generic/mod.rs b/vendor/libc-0.2.158/src/unix/linux_like/linux/arch/generic/mod.rs
30index 2f437e16d..db1f1e70f 100644
31--- a/vendor/libc-0.2.158/src/unix/linux_like/linux/arch/generic/mod.rs
32+++ b/vendor/libc-0.2.158/src/unix/linux_like/linux/arch/generic/mod.rs
33@@ -114,6 +114,7 @@ cfg_if! {
34 target_arch = "x86_64",
35 target_arch = "arm",
36 target_arch = "aarch64",
37+ target_arch = "riscv32",
38 target_arch = "riscv64",
39 target_arch = "s390x",
40 target_arch = "csky",
41@@ -218,7 +219,10 @@ cfg_if! {
42 // where S stands for size (int, long, struct...)
43 // where T stands for type ('f','v','X'...)
44 // where N stands for NR (NumbeR)
45- if #[cfg(any(target_arch = "x86", target_arch = "arm", target_arch = "csky"))] {
46+ if #[cfg(any(target_arch = "x86",
47+ target_arch = "arm",
48+ target_arch = "riscv32",
49+ target_arch = "csky"))] {
50 pub const FS_IOC_GETFLAGS: ::Ioctl = 0x80046601;
51 pub const FS_IOC_SETFLAGS: ::Ioctl = 0x40046602;
52 pub const FS_IOC_GETVERSION: ::Ioctl = 0x80047601;
53diff --git a/vendor/libc-0.2.167/.cargo-checksum.json b/vendor/libc-0.2.167/.cargo-checksum.json 21diff --git a/vendor/libc-0.2.167/.cargo-checksum.json b/vendor/libc-0.2.167/.cargo-checksum.json
54index 7ea5d4122..def87f4ef 100644 22index 7ea5d4122..def87f4ef 100644
55--- a/vendor/libc-0.2.167/.cargo-checksum.json 23--- a/vendor/libc-0.2.167/.cargo-checksum.json
diff --git a/meta/recipes-devtools/rust/files/0001-src-core-build_steps-tool.rs-switch-off-lto-for-rust.patch b/meta/recipes-devtools/rust/files/0001-src-core-build_steps-tool.rs-switch-off-lto-for-rust.patch
index e63cfb0719..5e0f5912a1 100644
--- a/meta/recipes-devtools/rust/files/0001-src-core-build_steps-tool.rs-switch-off-lto-for-rust.patch
+++ b/meta/recipes-devtools/rust/files/0001-src-core-build_steps-tool.rs-switch-off-lto-for-rust.patch
@@ -24,23 +24,53 @@ diff --git a/src/bootstrap/src/core/build_steps/tool.rs b/src/bootstrap/src/core
24index 087df2f8a..00790affb 100644 24index 087df2f8a..00790affb 100644
25--- a/src/bootstrap/src/core/build_steps/tool.rs 25--- a/src/bootstrap/src/core/build_steps/tool.rs
26+++ b/src/bootstrap/src/core/build_steps/tool.rs 26+++ b/src/bootstrap/src/core/build_steps/tool.rs
27@@ -635,7 +635,7 @@ impl Step for Rustdoc { 27@@ -1,14 +1,11 @@
28 } 28 use std::path::PathBuf;
29 use std::{env, fs};
29 30
30 // NOTE: Never modify the rustflags here, it breaks the build cache for other tools! 31-use crate::core::build_steps::compile::is_lto_stage;
31- let cargo = prepare_tool_cargo( 32 use crate::core::build_steps::toolstate::ToolState;
32+ let mut cargo = prepare_tool_cargo( 33 use crate::core::build_steps::{compile, llvm};
33 builder, 34 use crate::core::builder;
34 build_compiler, 35-use crate::core::builder::{
35 Mode::ToolRustc, 36- Builder, Cargo as CargoCommand, RunConfig, ShouldRun, Step, cargo_profile_var,
36@@ -645,6 +645,7 @@ impl Step for Rustdoc { 37-};
38-use crate::core::config::{DebuginfoLevel, RustcLto, TargetSelection};
39+use crate::core::builder::{Builder, Cargo as CargoCommand, RunConfig, ShouldRun, Step};
40+use crate::core::config::{DebuginfoLevel, TargetSelection};
41 use crate::utils::channel::GitInfo;
42 use crate::utils::exec::{BootstrapCommand, command};
43 use crate::utils::helpers::{add_dylib_path, exe, t};
44@@ -658,19 +655,7 @@
37 SourceType::InTree, 45 SourceType::InTree,
38 features.as_slice(), 46 features.as_slice(),
39 ); 47 );
48-
49- // rustdoc is performance sensitive, so apply LTO to it.
50- if is_lto_stage(&build_compiler) {
51- let lto = match builder.config.rust_lto {
52- RustcLto::Off => Some("off"),
53- RustcLto::Thin => Some("thin"),
54- RustcLto::Fat => Some("fat"),
55- RustcLto::ThinLocal => None,
56- };
57- if let Some(lto) = lto {
58- cargo.env(cargo_profile_var("LTO", &builder.config), lto);
59- }
60- }
40+ cargo.rustflag("-Clto=off"); 61+ cargo.rustflag("-Clto=off");
41 62
42 let _guard = builder.msg_tool( 63 let _guard = builder.msg_tool(
43 Kind::Build, 64 Kind::Build,
44-- 65diff --git a/src/bootstrap/src/core/builder/mod.rs b/src/bootstrap/src/core/builder/mod.rs
452.39.5 66--- a/src/bootstrap/src/core/builder/mod.rs
46 67+++ b/src/bootstrap/src/core/builder/mod.rs
68@@ -11,7 +11,7 @@
69
70 use clap::ValueEnum;
71
72-pub use self::cargo::{Cargo, cargo_profile_var};
73+pub use self::cargo::Cargo;
74 pub use crate::Compiler;
75 use crate::core::build_steps::{
76 check, clean, clippy, compile, dist, doc, gcc, install, llvm, run, setup, test, tool, vendor,
diff --git a/meta/recipes-devtools/rust/files/Zdual-proc-macros-additional-check.patch b/meta/recipes-devtools/rust/files/Zdual-proc-macros-additional-check.patch
deleted file mode 100644
index 6bb1738d05..0000000000
--- a/meta/recipes-devtools/rust/files/Zdual-proc-macros-additional-check.patch
+++ /dev/null
@@ -1,31 +0,0 @@
1Fix bootstrap failure when multilibs are enabled.
2
3Upstream-Status: Backport [https://github.com/rust-lang/rust/commit/139d6ba054a1a4cc5fe64981ad46fd5547bd4916]
4
5Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>
6---
7diff --git a/src/bootstrap/src/core/builder/cargo.rs b/src/bootstrap/src/core/builder/cargo.rs
8index 066e6bf53f..a2f6fac4b1 100644
9--- a/src/bootstrap/src/core/builder/cargo.rs
10+++ b/src/bootstrap/src/core/builder/cargo.rs
11@@ -646,7 +646,10 @@ impl Builder<'_> {
12 // Build proc macros both for the host and the target unless proc-macros are not
13 // supported by the target.
14 if target != compiler.host && cmd_kind != Kind::Check {
15- let error = command(self.rustc(compiler))
16+ let mut rustc_cmd = command(self.rustc(compiler));
17+ self.add_rustc_lib_path(compiler, &mut rustc_cmd);
18+
19+ let error = rustc_cmd
20 .arg("--target")
21 .arg(target.rustc_target_arg())
22 .arg("--print=file-names")
23@@ -654,6 +657,7 @@ impl Builder<'_> {
24 .arg("-")
25 .run_capture(self)
26 .stderr();
27+
28 let not_supported = error
29 .lines()
30 .any(|line| line.contains("unsupported crate type `proc-macro`"));
31
diff --git a/meta/recipes-devtools/rust/files/rust-oe-selftest.patch b/meta/recipes-devtools/rust/files/rust-oe-selftest.patch
index 048fc3f10b..49d85072cb 100644
--- a/meta/recipes-devtools/rust/files/rust-oe-selftest.patch
+++ b/meta/recipes-devtools/rust/files/rust-oe-selftest.patch
@@ -43,10 +43,10 @@ diff --git a/compiler/rustc_interface/src/tests.rs b/compiler/rustc_interface/sr
43 fn test_can_print_warnings() { 43 fn test_can_print_warnings() {
44 sess_and_cfg(&["-Awarnings"], |sess, _cfg| { 44 sess_and_cfg(&["-Awarnings"], |sess, _cfg| {
45 assert!(!sess.dcx().can_emit_warnings()); 45 assert!(!sess.dcx().can_emit_warnings());
46diff --git a/library/std/src/sync/poison/rwlock/tests.rs b/library/std/src/sync/poison/rwlock/tests.rs 46diff --git a/library/std/tests/sync/rwlock.rs b/library/std/tests/sync/rwlock.rs
47index 1a9d3d3f12f..0a9cfc48806 100644 47index 1a9d3d3f12f..0a9cfc48806 100644
48--- a/library/std/src/sync/poison/rwlock/tests.rs 48--- a/library/std/tests/sync/rwlock.rs
49+++ b/library/std/src/sync/poison/rwlock/tests.rs 49+++ b/library/std/tests/sync/rwlock.rs
50@@ -47,6 +47,7 @@ fn frob() { 50@@ -47,6 +47,7 @@ fn frob() {
51 } 51 }
52 52
@@ -114,9 +114,9 @@ diff --git a/library/test/src/tests.rs b/library/test/src/tests.rs
114 fn test_time_options_threshold() { 114 fn test_time_options_threshold() {
115 let unit = TimeThreshold::new(Duration::from_millis(50), Duration::from_millis(100)); 115 let unit = TimeThreshold::new(Duration::from_millis(50), Duration::from_millis(100));
116 let integration = TimeThreshold::new(Duration::from_millis(500), Duration::from_millis(1000)); 116 let integration = TimeThreshold::new(Duration::from_millis(500), Duration::from_millis(1000));
117diff --git a/library/std/src/sync/poison/mutex/tests.rs b/library/std/src/sync/poison/mutex/tests.rs 117diff --git a/library/std/tests/sync/mutex.rs b/library/std/tests/sync/mutex.rs
118--- a/library/std/src/sync/poison/mutex/tests.rs 118--- a/library/std/tests/sync/mutex.rs
119+++ b/library/std/src/sync/poison/mutex/tests.rs 119+++ b/library/std/tests/sync/mutex.rs
120@@ -193,6 +193,7 @@ 120@@ -193,6 +193,7 @@
121 } 121 }
122 122
@@ -125,9 +125,9 @@ diff --git a/library/std/src/sync/poison/mutex/tests.rs b/library/std/src/sync/p
125 fn test_mutex_arc_poison_mapped() { 125 fn test_mutex_arc_poison_mapped() {
126 let arc = Arc::new(Mutex::new(1)); 126 let arc = Arc::new(Mutex::new(1));
127 assert!(!arc.is_poisoned()); 127 assert!(!arc.is_poisoned());
128diff --git a/library/std/src/sync/poison/mutex/tests.rs b/library/std/src/sync/poison/mutex/tests.rs 128diff --git a/library/std/tests/sync/mutex.rs b/library/std/tests/sync/mutex.rs
129--- a/library/std/src/sync/poison/mutex/tests.rs 129--- a/library/std/tests/sync/mutex.rs
130+++ b/library/std/src/sync/poison/mutex/tests.rs 130+++ b/library/std/tests/sync/mutex.rs
131@@ -272,6 +272,7 @@ 131@@ -272,6 +272,7 @@
132 } 132 }
133 133
@@ -136,9 +136,9 @@ diff --git a/library/std/src/sync/poison/mutex/tests.rs b/library/std/src/sync/p
136 fn panic_while_mapping_unlocked_poison() { 136 fn panic_while_mapping_unlocked_poison() {
137 let lock = Mutex::new(()); 137 let lock = Mutex::new(());
138 138
139diff --git a/library/std/src/sync/rwlock/tests.rs b/library/std/src/sync/poison/rwlock/tests.rs 139diff --git a/library/std/src/sync/rwlock/tests.rs b/library/std/tests/sync/rwlock.rs
140--- a/library/std/src/sync/poison/rwlock/tests.rs 140--- a/library/std/tests/sync/rwlock.rs
141+++ b/library/std/src/sync/poison/rwlock/tests.rs 141+++ b/library/std/tests/sync/rwlock.rs
142@@ -59,6 +59,7 @@ fn test_rw_arc_poison_wr() { 142@@ -59,6 +59,7 @@ fn test_rw_arc_poison_wr() {
143 } 143 }
144 144
@@ -163,10 +163,10 @@ diff --git a/library/std/src/sync/rwlock/tests.rs b/library/std/src/sync/poison/
163 fn panic_while_mapping_write_unlocked_poison() { 163 fn panic_while_mapping_write_unlocked_poison() {
164 let lock = RwLock::new(()); 164 let lock = RwLock::new(());
165 165
166diff --git a/library/core/benches/num/int_log/mod.rs b/library/core/benches/num/int_log/mod.rs 166diff --git a/library/coretests/benches/num/int_log/mod.rs b/library/coretests/benches/num/int_log/mod.rs
167index 3807cd5d76c..018c5c04456 100644 167index 3807cd5d76c..018c5c04456 100644
168--- a/library/core/benches/num/int_log/mod.rs 168--- a/library/coretests/benches/num/int_log/mod.rs
169+++ b/library/core/benches/num/int_log/mod.rs 169+++ b/library/coretests/benches/num/int_log/mod.rs
170@@ -98,6 +98,7 @@ fn $random_small(bench: &mut Bencher) { 170@@ -98,6 +98,7 @@ fn $random_small(bench: &mut Bencher) {
171 } 171 }
172 172
@@ -175,34 +175,22 @@ index 3807cd5d76c..018c5c04456 100644
175 fn $geometric(bench: &mut Bencher) { 175 fn $geometric(bench: &mut Bencher) {
176 let bases: [$t; 16] = [2, 3, 4, 5, 7, 8, 9, 15, 16, 17, 31, 32, 33, 63, 64, 65]; 176 let bases: [$t; 16] = [2, 3, 4, 5, 7, 8, 9, 15, 16, 17, 31, 32, 33, 63, 64, 65];
177 let base_and_numbers: Vec<($t, Vec<$t>)> = bases 177 let base_and_numbers: Vec<($t, Vec<$t>)> = bases
178diff --git a/compiler/rustc_data_structures/src/tagged_ptr/copy/tests.rs b/compiler/rustc_data_structures/src/tagged_ptr/copy/tests.rs 178diff --git a/compiler/rustc_data_structures/src/tagged_ptr/tests.rs b/compiler/rustc_data_structures/src/tagged_ptr/tests.rs
179index 160af8a65d..686f4607bb 100644 179index 160af8a65d..686f4607bb 100644
180--- a/compiler/rustc_data_structures/src/tagged_ptr/copy/tests.rs 180--- a/compiler/rustc_data_structures/src/tagged_ptr/tests.rs
181+++ b/compiler/rustc_data_structures/src/tagged_ptr/copy/tests.rs 181+++ b/compiler/rustc_data_structures/src/tagged_ptr/tests.rs
182@@ -5,6 +5,7 @@ use crate::stable_hasher::{HashStable, StableHasher}; 182@@ -5,6 +5,7 @@ use crate::stable_hasher::{HashStable, StableHasher};
183 use crate::tagged_ptr::{CopyTaggedPtr, Pointer, Tag, Tag2}; 183 }
184
185 #[test]
186+#[ignore]
187 fn smoke() {
188 let value = 12u32;
189 let reference = &value;
190diff --git a/compiler/rustc_data_structures/src/tagged_ptr/drop/tests.rs b/compiler/rustc_data_structures/src/tagged_ptr/drop/tests.rs
191index 4d342c72cc..9a77f92616 100644
192--- a/compiler/rustc_data_structures/src/tagged_ptr/drop/tests.rs
193+++ b/compiler/rustc_data_structures/src/tagged_ptr/drop/tests.rs
194@@ -4,6 +4,7 @@ use std::sync::Arc;
195 use crate::tagged_ptr::{Pointer, Tag, Tag2, TaggedPtr};
196 184
197 #[test] 185 #[test]
198+#[ignore] 186+#[ignore]
199 fn smoke() { 187 fn smoke() {
200 let value = 12u32; 188 let value = 12u32;
201 let reference = &value; 189 let reference = &value;
202diff --git a/library/std/src/thread/local/tests.rs b/library/std/src/thread/local/tests.rs 190diff --git a/library/std/tests/thread_local/tests.rs b/library/std/tests/thread_local/tests.rs
203index 9d4f52a092..d425e5f7b7 100644 191index 9d4f52a092..d425e5f7b7 100644
204--- a/library/std/src/thread/local/tests.rs 192--- a/library/std/tests/thread_local/tests.rs
205+++ b/library/std/src/thread/local/tests.rs 193+++ b/library/std/tests/thread_local/tests.rs
206@@ -346,6 +346,7 @@ fn join_orders_after_tls_destructors() { 194@@ -346,6 +346,7 @@ fn join_orders_after_tls_destructors() {
207 195
208 // Test that thread::current is still available in TLS destructors. 196 // Test that thread::current is still available in TLS destructors.
@@ -242,3 +230,32 @@ index a05f274136..0e69b4cb98 100644
242 fn sparse_inserts() { 230 fn sparse_inserts() {
243 let cache: VecCache<u32, u8, u32> = VecCache::default(); 231 let cache: VecCache<u32, u8, u32> = VecCache::default();
244 let end = if cfg!(target_pointer_width = "64") && cfg!(target_os = "linux") { 232 let end = if cfg!(target_pointer_width = "64") && cfg!(target_os = "linux") {
233diff --git a/tests/assembly/dwarf-mixed-versions-lto.rs b/tests/assembly/dwarf-mixed-versions-lto.rs
234index 5b8e5ff4f4a..e558fbd7bd7 100644
235--- a/tests/assembly/dwarf-mixed-versions-lto.rs
236+++ b/tests/assembly/dwarf-mixed-versions-lto.rs
237@@ -1,6 +1,11 @@
238 // This test ensures that if LTO occurs between crates with different DWARF versions, we
239 // will choose the highest DWARF version for the final binary. This matches Clang's behavior.
240
241+//@ only-x86
242+//@ only-x86_64
243+//@ only-arm
244+//@ only-aarch64
245+
246 //@ only-linux
247 //@ aux-build:dwarf-mixed-versions-lto-aux.rs
248 //@ compile-flags: -C lto -g -Zdwarf-version=5
249diff --git a/tests/codegen/dont-shuffle-bswaps.rs b/tests/codegen/dont-shuffle-bswaps.rs
250index 0e712bc3a4e..93965d990d0 100644
251--- a/tests/codegen/dont-shuffle-bswaps.rs
252+++ b/tests/codegen/dont-shuffle-bswaps.rs
253@@ -1,3 +1,8 @@
254+//@ only-x86
255+//@ only-x86_64
256+//@ only-arm
257+//@ only-aarch64
258+
259 //@ revisions: OPT2 OPT3
260 //@[OPT2] compile-flags: -Copt-level=2
261 //@[OPT3] compile-flags: -C opt-level=3
diff --git a/meta/recipes-devtools/rust/libstd-rs_1.85.1.bb b/meta/recipes-devtools/rust/libstd-rs_1.86.0.bb
index 00802f0fd9..b39ec0ab39 100644
--- a/meta/recipes-devtools/rust/libstd-rs_1.85.1.bb
+++ b/meta/recipes-devtools/rust/libstd-rs_1.86.0.bb
@@ -2,7 +2,7 @@ SUMMARY = "Rust standard libaries"
2HOMEPAGE = "http://www.rust-lang.org" 2HOMEPAGE = "http://www.rust-lang.org"
3SECTION = "devel" 3SECTION = "devel"
4LICENSE = "(MIT | Apache-2.0) & Unicode-3.0" 4LICENSE = "(MIT | Apache-2.0) & Unicode-3.0"
5LIC_FILES_CHKSUM = "file://../../COPYRIGHT;md5=9c0fae516fe8aaea2fb601db4800daf7" 5LIC_FILES_CHKSUM = "file://../../COPYRIGHT;md5=11a3899825f4376896e438c8c753f8dc"
6 6
7require rust-source.inc 7require rust-source.inc
8 8
diff --git a/meta/recipes-devtools/rust/rust-cross-canadian_1.85.1.bb b/meta/recipes-devtools/rust/rust-cross-canadian_1.86.0.bb
index 55865238ab..55865238ab 100644
--- a/meta/recipes-devtools/rust/rust-cross-canadian_1.85.1.bb
+++ b/meta/recipes-devtools/rust/rust-cross-canadian_1.86.0.bb
diff --git a/meta/recipes-devtools/rust/rust-llvm_1.85.1.bb b/meta/recipes-devtools/rust/rust-llvm_1.86.0.bb
index 2ba37f0784..327e8e6b69 100644
--- a/meta/recipes-devtools/rust/rust-llvm_1.85.1.bb
+++ b/meta/recipes-devtools/rust/rust-llvm_1.86.0.bb
@@ -2,9 +2,9 @@ SUMMARY = "LLVM compiler framework (packaged with rust)"
2LICENSE ?= "Apache-2.0-with-LLVM-exception" 2LICENSE ?= "Apache-2.0-with-LLVM-exception"
3HOMEPAGE = "http://www.rust-lang.org" 3HOMEPAGE = "http://www.rust-lang.org"
4 4
5# check src/llvm-project/llvm/CMakeLists.txt for llvm version in use 5# check src/llvm-project/cmake/Modules/LLVMVersion.cmake for llvm version in use
6# 6#
7LLVM_RELEASE = "19.1.5" 7LLVM_RELEASE = "19.1.7"
8 8
9require rust-source.inc 9require rust-source.inc
10 10
diff --git a/meta/recipes-devtools/rust/rust-snapshot.inc b/meta/recipes-devtools/rust/rust-snapshot.inc
index 98358bce40..445390fcaf 100644
--- a/meta/recipes-devtools/rust/rust-snapshot.inc
+++ b/meta/recipes-devtools/rust/rust-snapshot.inc
@@ -4,56 +4,56 @@
4## The exact (previous) version that has been used is specified in the source tarball. 4## The exact (previous) version that has been used is specified in the source tarball.
5## The version is replicated here. 5## The version is replicated here.
6 6
7SNAPSHOT_VERSION = "1.84.0" 7SNAPSHOT_VERSION = "1.85.0"
8 8
9SRC_URI[rustc-snapshot-aarch64.sha256sum] = "9f5650aece53e083b933a57e5a8e0e2db4479f52ec897d5b6d0f77be6cd50498" 9SRC_URI[rustc-snapshot-aarch64.sha256sum] = "e742b768f67303010b002b515f6613c639e69ffcc78cd0857d6fe7989e9880f6"
10SRC_URI[rust-std-snapshot-aarch64.sha256sum] = "023f0b6153b23ac0e9686c2ab95bc393ee3e295b166bb36de3b4dfb53e3913e0" 10SRC_URI[rust-std-snapshot-aarch64.sha256sum] = "8af1d793f7820e9ad0ee23247a9123542c3ea23f8857a018651c7788af9bc5b7"
11SRC_URI[cargo-snapshot-aarch64.sha256sum] = "68d4ad239b6d1e810e7b8591636dc408cb2c1e89661329fed906febf9c0a9d98" 11SRC_URI[cargo-snapshot-aarch64.sha256sum] = "cdebe48b066d512d664c13441e8fae2d0f67106c2080aa44289d98b24192b8bc"
12SRC_URI[clippy-snapshot-aarch64.sha256sum] = "6022245416a988b9952f36bf20f62de0c2f3337bd150e34439ea6651592ac8ca" 12SRC_URI[clippy-snapshot-aarch64.sha256sum] = "f3b8e769021a6bcee8174ac49a60c367effb6d97af0f2a6c44dc9ea39ff2bda9"
13 13
14SRC_URI[rustc-snapshot-i686.sha256sum] = "f0bc277e8e8c072d20ee91784f919c08b34a65ab56b67bcd2bb98a009cdcf97c" 14SRC_URI[rustc-snapshot-i686.sha256sum] = "c5a5751f3cfa027b53fee83d01dec8e555f3622b6993335aed12b1747aa9543c"
15SRC_URI[rust-std-snapshot-i686.sha256sum] = "e710100be26e742733d445722a37227381f1ec2010664ece85489bc598d70456" 15SRC_URI[rust-std-snapshot-i686.sha256sum] = "401571adfe1223d83ed041e5a8c54c1f3afb3010d1d5b0c1fd79e7da1ab0a0de"
16SRC_URI[cargo-snapshot-i686.sha256sum] = "3a20231475b75f2f6ad0f7c5de283c5706403b41e941d3f1ca6cccfbced214c6" 16SRC_URI[cargo-snapshot-i686.sha256sum] = "3832027242911ab96fd86128587fc563596a5b10e8e38a073facf61c1ac9668f"
17SRC_URI[clippy-snapshot-i686.sha256sum] = "8b5bdd84b9128abc6d61bc1acb60e55eab90e063c7057371b4e6f79aaa1acb9b" 17SRC_URI[clippy-snapshot-i686.sha256sum] = "74ed13a67c6ea0452c0d9e8697c6cfdd8280f983b207187ac93c287f72b65066"
18 18
19SRC_URI[rustc-snapshot-loongarch64.sha256sum] = "33ecfb62afce6e30864f07b4e3b76ac6d9f603a3626e5228ad0d59a7ee263cc1" 19SRC_URI[rustc-snapshot-loongarch64.sha256sum] = "d43d2119ff25d879b2d280d3e5a03fcd21c57a32d479ad5626500c32432f18c9"
20SRC_URI[rust-std-snapshot-loongarch64.sha256sum] = "763b93ca08028a1e63a8a3754ac6118b2659022538e5e33675f2d7620488cd57" 20SRC_URI[rust-std-snapshot-loongarch64.sha256sum] = "2d05f5e13e7cb3ee6b0ca0dcd13a231a28eeb0faa4d15257a35cf7284149cd6a"
21SRC_URI[cargo-snapshot-loongarch64.sha256sum] = "1531b9f3d09983c43f54d7e5ced6b452044e82b24609532e8cee345656e5d8a4" 21SRC_URI[cargo-snapshot-loongarch64.sha256sum] = "9aa447eefcd3ba2f9dbab77596c8669849899ab243543fc8f1914089707081ac"
22SRC_URI[clippy-snapshot-loongarch64.sha256sum] = "80719f10010eaf6a26ba7b2f8c5c7bce3a78fd838cbbe17c00a4e3e7cd45fe5e" 22SRC_URI[clippy-snapshot-loongarch64.sha256sum] = "d437b39465343a71ff475a65acb6c03bc0f800861f293f48accf1fa170458432"
23 23
24SRC_URI[rustc-snapshot-powerpc.sha256sum] = "ac99e907c9819b61de94a6c12b64256661e5d76c53f3ed25246b46741d1dc973" 24SRC_URI[rustc-snapshot-powerpc.sha256sum] = "fbe7154abc641d6cacfdc6239ed4701fc7a09b5046c6d1bd209b59e7f2b2d0f0"
25SRC_URI[rust-std-snapshot-powerpc.sha256sum] = "fdbb75060e59ad59273a8ef11fc2ad61837539686df0e8dfe46107e1b15ab90a" 25SRC_URI[rust-std-snapshot-powerpc.sha256sum] = "ab2d5ac7cd295adaa4d959e8abbf42b372292c95d1a9f18aad64951ad6e2ab2b"
26SRC_URI[cargo-snapshot-powerpc.sha256sum] = "dedcb36320cfa924e2d21552057f88ee8a30c0424802015494c2f6237150ec55" 26SRC_URI[cargo-snapshot-powerpc.sha256sum] = "e67c30a72f969c51ad199084b3ce0cdc573a4e21f732b2cc39dafbcb9807a5ce"
27SRC_URI[clippy-snapshot-powerpc.sha256sum] = "de2413ae321d2bccf77c77acb1e9775b63eca1993ee1450e65e388f029565a51" 27SRC_URI[clippy-snapshot-powerpc.sha256sum] = "497104d49803598cd3801749ac86cb26c88a2bd9c3a8c7bdc18fdf487f4650c0"
28 28
29SRC_URI[rustc-snapshot-powerpc64.sha256sum] = "1f5ff831c9fd97d7d306eb7d99186b9e49f35527144aaabd43f67f04449cd732" 29SRC_URI[rustc-snapshot-powerpc64.sha256sum] = "f8e38291ba4241bc28e9c118d7a449ce3601abdeb2076f2f618858679fb3b929"
30SRC_URI[rust-std-snapshot-powerpc64.sha256sum] = "f2819f8ce1ae41c2c2bcf40fc90d6b1a5d340d3e9558267d464730a797122bf5" 30SRC_URI[rust-std-snapshot-powerpc64.sha256sum] = "e9ff89e759125ad2786ad2f6c40e820095720ea00fba66819d15fba79489430a"
31SRC_URI[cargo-snapshot-powerpc64.sha256sum] = "09d9954bf817404c08a8ac952afe1e086ad11fe20d07522a4bde5f26bf7fb5d2" 31SRC_URI[cargo-snapshot-powerpc64.sha256sum] = "73cf850f6715acbf0029c7e5d4694825f61bd4e193e6413e65a78bcb13df97b7"
32SRC_URI[clippy-snapshot-powerpc64.sha256sum] = "a34cde35f254210cbb212c3fa85411efaa8e70d600d2c2404b7b319eae9b5be6" 32SRC_URI[clippy-snapshot-powerpc64.sha256sum] = "29b63f23cd9af95846a246c9cc8349e514c3fb92ec0c840a38155e252d6cc668"
33 33
34SRC_URI[rustc-snapshot-powerpc64le.sha256sum] = "1f6aa28f848b24d4589277b04535ad0258e72b5fa78a4a85ba6d18db95636d69" 34SRC_URI[rustc-snapshot-powerpc64le.sha256sum] = "371e40f9d6d82aecb056f70f82868d98ddc1c20510aa7d388442ac8d2d86a6ca"
35SRC_URI[rust-std-snapshot-powerpc64le.sha256sum] = "db731e894cce9973ab2b41109c9097d0fc6a49c0d45a0d333bd1547d2c7485a1" 35SRC_URI[rust-std-snapshot-powerpc64le.sha256sum] = "d0cfda4e18623d17922eb367e44ac9549ab3d5fe1c0bdbe0c2c95754255fa705"
36SRC_URI[cargo-snapshot-powerpc64le.sha256sum] = "7dc351327de2567cce2a3387f110cce1db20c68fc529353c5cdef2eada5dbfd8" 36SRC_URI[cargo-snapshot-powerpc64le.sha256sum] = "e1469f4249a7e21f872af487dcd1bd10ce388b5b3679bdab0cb0965e1e30fe47"
37SRC_URI[clippy-snapshot-powerpc64le.sha256sum] = "b53cb58c719b84044de62851b6214db8d504f57ad71e81b373d7dea0393146d8" 37SRC_URI[clippy-snapshot-powerpc64le.sha256sum] = "d8c590bc2e6fc75800e41516427f5095ba0e15d7633167689499fcf6523dc61a"
38 38
39SRC_URI[rustc-snapshot-riscv64gc.sha256sum] = "c0eaf824c7789c94901f895792333595fe131e43f097bcf5987301cc1b14c3f0" 39SRC_URI[rustc-snapshot-riscv64gc.sha256sum] = "2da33044f17a8bc49a1478dc1eb2536df491a44d6e6bb0ec7c86f46877d44e98"
40SRC_URI[rust-std-snapshot-riscv64gc.sha256sum] = "451580f9cdc47eef4efb0986b1960a8f9c4fb0959f81b77eb6292e6bcff9fc64" 40SRC_URI[rust-std-snapshot-riscv64gc.sha256sum] = "0f5ecfe54859bbe715821f982b1a5396784fdf55605d00ece05d3e57a965ed16"
41SRC_URI[cargo-snapshot-riscv64gc.sha256sum] = "3a850b74bdf2c3a5912e9f1ea32aaf1c9ac7c5f89c1c0bcf421b961195833992" 41SRC_URI[cargo-snapshot-riscv64gc.sha256sum] = "c9f28b519799fc2d8089865e30fad04bb5339604d13725365fcd7ad7ee6c1489"
42SRC_URI[clippy-snapshot-riscv64gc.sha256sum] = "fb8c9d489e10a961f9faa550980069738b5f0f68740e34d7b3ee46a262b53af7" 42SRC_URI[clippy-snapshot-riscv64gc.sha256sum] = "9d21bc180196bccdb301e7e03034d3fd0df14b0c6520da0317bba7b1ce385fe8"
43 43
44SRC_URI[rustc-snapshot-s390x.sha256sum] = "7dbc2fc2c04e820f636bfc74093396c55df0296f7ee4f0547bb849d9a9f05fe0" 44SRC_URI[rustc-snapshot-s390x.sha256sum] = "308361737ed522aa77dd8b4ea91b5db244113ada5fa234d3ed008b526d07e2e8"
45SRC_URI[rust-std-snapshot-s390x.sha256sum] = "5208f45cec5f3600f2cbc11d1796bc217f09e9c922689c8e4f0cc3f2b83ebb74" 45SRC_URI[rust-std-snapshot-s390x.sha256sum] = "d25053fbee1a0cb899bac8c8e4968aa35f9c3637e486cb5bb2c79ad43a78f3e7"
46SRC_URI[cargo-snapshot-s390x.sha256sum] = "bdf944ff5c0b97e8b64093fff8d1f63926df86b5e98f91d30c7bd844c6efa20f" 46SRC_URI[cargo-snapshot-s390x.sha256sum] = "7e1defd60095c91ded1612194f811ec5f2fc2e83bb914d35594d01fa3c54049d"
47SRC_URI[clippy-snapshot-s390x.sha256sum] = "b02a586369e6edebb0f0608e396472d1867419213fd01ba32f3c847e4c5a3c07" 47SRC_URI[clippy-snapshot-s390x.sha256sum] = "9780d8c4cfef9d05460b3e540aad142391b2e3994accf8cfc8afb87fefac6cf0"
48 48
49SRC_URI[rustc-snapshot-x86_64.sha256sum] = "a1737d86f80b31a6d48a6726726275dc068ecb930c9635b13aa59999486de837" 49SRC_URI[rustc-snapshot-x86_64.sha256sum] = "7436f13797475082cd87aa65547449e01659d6a810b4cd5f8aedc48bb9f89dfb"
50SRC_URI[rust-std-snapshot-x86_64.sha256sum] = "770237080b9310d126350c3bd70820bd91064c2e96c29ab5f2e002b31b5bd067" 50SRC_URI[rust-std-snapshot-x86_64.sha256sum] = "285e105d25ebdf501341238d4c0594ecdda50ec9078f45095f793a736b1f1ac2"
51SRC_URI[cargo-snapshot-x86_64.sha256sum] = "6c2371488db92a09cd50a1b4045c022f3cf2c643285b3b21105ab5f9b64fd6b6" 51SRC_URI[cargo-snapshot-x86_64.sha256sum] = "0aff33b57b0e0b102d762a2b53042846c1ca346cff4b7bd96b5c03c9e8e51d81"
52SRC_URI[clippy-snapshot-x86_64.sha256sum] = "1db0212c08e126bf6ee28a0d363c5d6859fe357aa9e91d0247059397dbe7e1fd" 52SRC_URI[clippy-snapshot-x86_64.sha256sum] = "0dc3ca1708a6c9eed05d0802364377572b79ff079815b7bcbe8e3991f77c4117"
53 53
54SRC_URI[rust-std-snapshot-i586.sha256sum] = "a877622fbbfa58304c34372d369e95db106cc35758ca59053144bf7d86fbf3fc" 54SRC_URI[rust-std-snapshot-i586.sha256sum] = "3cb7318da10876de14076549d79410a8441923a92d62b616d8c105f5f5cd831b"
55 55
56SRC_URI[rust-std-snapshot-sparc64.sha256sum] = "ecd1662d6cbbb62984ab31ae787442f1ab32caf6bc17260d407b3a94b434ad32" 56SRC_URI[rust-std-snapshot-sparc64.sha256sum] = "65cd47af46a5b74e61ff6ae4cce8a979ee8670a57b8aa61e732828d1da073f73"
57 57
58SRC_URI += " \ 58SRC_URI += " \
59 ${RUST_DIST_SERVER}/dist/${RUST_STD_SNAPSHOT}.tar.xz;name=rust-std-snapshot-${RUST_BUILD_ARCH};subdir=rust-snapshot-components \ 59 ${RUST_DIST_SERVER}/dist/${RUST_STD_SNAPSHOT}.tar.xz;name=rust-std-snapshot-${RUST_BUILD_ARCH};subdir=rust-snapshot-components \
diff --git a/meta/recipes-devtools/rust/rust-source.inc b/meta/recipes-devtools/rust/rust-source.inc
index 6cb08b7c38..f9c1fcd1c8 100644
--- a/meta/recipes-devtools/rust/rust-source.inc
+++ b/meta/recipes-devtools/rust/rust-source.inc
@@ -7,11 +7,10 @@ SRC_URI += "https://static.rust-lang.org/dist/rustc-${RUST_VERSION}-src.tar.xz;n
7 file://oeqa-selftest-Increase-timeout-in-process-sigpipe-ru.patch;patchdir=${RUSTSRC} \ 7 file://oeqa-selftest-Increase-timeout-in-process-sigpipe-ru.patch;patchdir=${RUSTSRC} \
8 file://0001-src-core-build_steps-tool.rs-switch-off-lto-for-rust.patch;patchdir=${RUSTSRC} \ 8 file://0001-src-core-build_steps-tool.rs-switch-off-lto-for-rust.patch;patchdir=${RUSTSRC} \
9 file://revert-link-std-statically-in-rustc_driver-feature.patch;patchdir=${RUSTSRC} \ 9 file://revert-link-std-statically-in-rustc_driver-feature.patch;patchdir=${RUSTSRC} \
10 file://Zdual-proc-macros-additional-check.patch;patchdir=${RUSTSRC} \
11 file://0001-libunwind-Use-gcs-instead-of-gcs-target-attribute.patch;patchdir=${RUSTSRC} \ 10 file://0001-libunwind-Use-gcs-instead-of-gcs-target-attribute.patch;patchdir=${RUSTSRC} \
12 file://0001-Disable-libunwind-cross-architecture-unwinding.patch;patchdir=${RUSTSRC} \ 11 file://0001-Disable-libunwind-cross-architecture-unwinding.patch;patchdir=${RUSTSRC} \
13" 12"
14SRC_URI[rust.sha256sum] = "b1fbf809efe9f036939401e142631c201a53bcf43ec1696bd9f5290ba236a266" 13SRC_URI[rust.sha256sum] = "d939eada065dc827a9d4dbb55bd48533ad14c16e7f0a42e70147029c82a7707b"
15 14
16RUSTSRC = "${WORKDIR}/rustc-${RUST_VERSION}-src" 15RUSTSRC = "${WORKDIR}/rustc-${RUST_VERSION}-src"
17 16
diff --git a/meta/recipes-devtools/rust/rust_1.85.1.bb b/meta/recipes-devtools/rust/rust_1.86.0.bb
index f289db6306..c2443fbb15 100644
--- a/meta/recipes-devtools/rust/rust_1.85.1.bb
+++ b/meta/recipes-devtools/rust/rust_1.86.0.bb
@@ -2,18 +2,18 @@ SUMMARY = "Rust compiler and runtime libaries"
2HOMEPAGE = "http://www.rust-lang.org" 2HOMEPAGE = "http://www.rust-lang.org"
3SECTION = "devel" 3SECTION = "devel"
4LICENSE = "(MIT | Apache-2.0) & Unicode-3.0" 4LICENSE = "(MIT | Apache-2.0) & Unicode-3.0"
5LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=9c0fae516fe8aaea2fb601db4800daf7" 5LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=11a3899825f4376896e438c8c753f8dc"
6 6
7inherit rust 7inherit rust
8inherit cargo_common 8inherit cargo_common
9 9
10DEPENDS += "rust-llvm" 10DEPENDS += "rust-llvm pkgconfig-native openssl ninja-native"
11# native rust uses cargo/rustc from binary snapshots to bootstrap 11# native rust uses cargo/rustc from binary snapshots to bootstrap
12# but everything else should use our native builds 12# but everything else should use our native builds
13DEPENDS:append:class-target = " cargo-native rust-native" 13DEPENDS:append:class-target = " cargo-native rust-native"
14DEPENDS:append:class-nativesdk = " cargo-native rust-native" 14DEPENDS:append:class-nativesdk = " cargo-native rust-native"
15 15
16RDEPENDS:${PN}:append:class-target = " gcc g++ binutils" 16RDEPENDS:${PN}:append:class-target = " gcc g++ binutils bash"
17 17
18# Otherwise we'll depend on what we provide 18# Otherwise we'll depend on what we provide
19INHIBIT_DEFAULT_RUST_DEPS:class-native = "1" 19INHIBIT_DEFAULT_RUST_DEPS:class-native = "1"
@@ -135,6 +135,8 @@ python do_configure() {
135 config.set("rust", "remap-debuginfo", e(True)) 135 config.set("rust", "remap-debuginfo", e(True))
136 config.set("rust", "download-rustc", e(False)) 136 config.set("rust", "download-rustc", e(False))
137 config.set("rust", "llvm-tools", e(False)) 137 config.set("rust", "llvm-tools", e(False))
138 config.set("rust", "lld", e(False))
139 config.set("rust", "use-lld", e(False))
138 config.set("rust", "channel", e(d.expand("${RUST_CHANNEL}"))) 140 config.set("rust", "channel", e(d.expand("${RUST_CHANNEL}")))
139 141
140 # Whether or not to optimize the compiler and standard library 142 # Whether or not to optimize the compiler and standard library
@@ -155,6 +157,8 @@ python do_configure() {
155 cargo = d.getVar('CARGO_BOOTSTRAP') 157 cargo = d.getVar('CARGO_BOOTSTRAP')
156 config.set("build", "cargo", e(cargo)) 158 config.set("build", "cargo", e(cargo))
157 159
160 config.set("build", "extended", e(False))
161
158 config.set("build", "vendor", e(True)) 162 config.set("build", "vendor", e(True))
159 163
160 config.set("build", "target", e([d.getVar("RUST_TARGET_SYS")])) 164 config.set("build", "target", e([d.getVar("RUST_TARGET_SYS")]))
@@ -233,10 +237,12 @@ do_test_compile () {
233 237
234ALLOW_EMPTY:${PN} = "1" 238ALLOW_EMPTY:${PN} = "1"
235 239
236PACKAGES =+ "${PN}-rustdoc ${PN}-tools-clippy ${PN}-tools-rustfmt" 240PACKAGES =+ "${PN}-rustdoc ${PN}-tools-clippy ${PN}-tools-rustfmt ${PN}-zsh-completion"
237FILES:${PN}-rustdoc = "${bindir}/rustdoc" 241FILES:${PN}-rustdoc = "${bindir}/rustdoc"
238FILES:${PN}-tools-clippy = "${bindir}/cargo-clippy ${bindir}/clippy-driver" 242FILES:${PN}-tools-clippy = "${bindir}/cargo-clippy ${bindir}/clippy-driver"
239FILES:${PN}-tools-rustfmt = "${bindir}/rustfmt" 243FILES:${PN}-tools-rustfmt = "${bindir}/rustfmt"
244FILES:${PN}-zsh-completion = "${datadir}/zsh"
245
240RDEPENDS:${PN}-rustdoc = "${PN}" 246RDEPENDS:${PN}-rustdoc = "${PN}"
241RDEPENDS:${PN}-tools-clippy = "${PN}" 247RDEPENDS:${PN}-tools-clippy = "${PN}"
242RDEPENDS:${PN}-tools-rustfmt = "${PN}" 248RDEPENDS:${PN}-tools-rustfmt = "${PN}"
@@ -252,6 +258,10 @@ rust_do_install() {
252 rust_runx install 258 rust_runx install
253} 259}
254 260
261rust_do_install:append:class-native () {
262 rm -f ${D}${bindir}/cargo
263}
264
255rust_do_install:class-nativesdk() { 265rust_do_install:class-nativesdk() {
256 export PSEUDO_UNLOAD=1 266 export PSEUDO_UNLOAD=1
257 rust_runx install 267 rust_runx install
diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools/pid.patch b/meta/recipes-devtools/squashfs-tools/squashfs-tools/pid.patch
new file mode 100644
index 0000000000..a15b621124
--- /dev/null
+++ b/meta/recipes-devtools/squashfs-tools/squashfs-tools/pid.patch
@@ -0,0 +1,40 @@
1From 05a895b3f996d1ac157d95b04980f5f047e7dbf7 Mon Sep 17 00:00:00 2001
2From: Ross Burton <ross.burton@arm.com>
3Date: Fri, 6 Jun 2025 15:23:07 +0100
4Subject: [PATCH] print_pager: add missing includes
5
6When building with musl:
7
8 print_pager.h:33:25: error: unknown type name 'pid_t'
9 33 | extern void wait_to_die(pid_t process);
10 | ^~~~~
11 print_pager.h:34:25: error: unknown type name 'pid_t'
12 34 | extern FILE *exec_pager(pid_t *process);
13 | ^~~~~
14
15print_pager.h uses pid_t and FILE, so add the required #includes to
16ensure that these are defined.
17
18Upstream-Status: Submitted [https://github.com/plougher/squashfs-tools/pull/314]
19Signed-off-by: Ross Burton <ross.burton@arm.com>
20---
21 squashfs-tools/print_pager.h | 3 +++
22 1 file changed, 3 insertions(+)
23
24diff --git a/squashfs-tools/print_pager.h b/squashfs-tools/print_pager.h
25index c33d4d2e..f3e0da6c 100644
26--- a/squashfs-tools/print_pager.h
27+++ b/squashfs-tools/print_pager.h
28@@ -30,6 +30,9 @@
29 #define MORE_PAGER 2
30 #define UNKNOWN_PAGER 3
31
32+#include <stdio.h>
33+#include <sys/types.h>
34+
35 extern void wait_to_die(pid_t process);
36 extern FILE *exec_pager(pid_t *process);
37 extern int get_column_width();
38--
392.43.0
40
diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools/thread.patch b/meta/recipes-devtools/squashfs-tools/squashfs-tools/thread.patch
new file mode 100644
index 0000000000..01741639c0
--- /dev/null
+++ b/meta/recipes-devtools/squashfs-tools/squashfs-tools/thread.patch
@@ -0,0 +1,33 @@
1From b6e9f4b62cc3e762ceeddc0fc099f7d65f7b7361 Mon Sep 17 00:00:00 2001
2From: Shiji Yang <yangshiji66@outlook.com>
3Date: Wed, 4 Jun 2025 19:53:39 +0800
4Subject: [PATCH] thread: add the missing pthread.h header
5
6Fix build error on macos:
7
8In file included from mksquashfs_help.c:35:
9./thread.h:46:39: error: unknown type name 'pthread_mutex_t'; did you mean 'pthread_attr_t'?
10 46 | extern void wait_thread_idle(int tid, pthread_mutex_t *mutex);
11 | ^~~~~~~~~~~~~~~
12 | pthread_attr_t
13
14Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
15
16Upstream-Status: Backport [b6e9f4b62cc3e762ceeddc0fc099f7d65f7b7361]
17Signed-off-by: Ross Burton <ross.burton@arm.com>
18---
19 squashfs-tools/thread.h | 1 +
20 1 file changed, 1 insertion(+)
21
22diff --git a/squashfs-tools/thread.h b/squashfs-tools/thread.h
23index 5a22fc43..e56a58cf 100644
24--- a/squashfs-tools/thread.h
25+++ b/squashfs-tools/thread.h
26@@ -22,6 +22,7 @@
27 *
28 * thread.h
29 */
30+#include <pthread.h>
31
32 #define TRUE 1
33 #define FALSE 0
diff --git a/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb b/meta/recipes-devtools/squashfs-tools/squashfs-tools_4.7.bb
index 982a43f889..930439e2d2 100644
--- a/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb
+++ b/meta/recipes-devtools/squashfs-tools/squashfs-tools_4.7.bb
@@ -1,5 +1,3 @@
1# Note, we can probably remove the lzma option as it has be replaced with xz,
2# and I don't think the kernel supports it any more.
3SUMMARY = "Tools for manipulating SquashFS filesystems" 1SUMMARY = "Tools for manipulating SquashFS filesystems"
4HOMEPAGE = "https://github.com/plougher/squashfs-tools" 2HOMEPAGE = "https://github.com/plougher/squashfs-tools"
5DESCRIPTION = "Tools to create and extract Squashfs filesystems." 3DESCRIPTION = "Tools to create and extract Squashfs filesystems."
@@ -7,34 +5,34 @@ SECTION = "base"
7LICENSE = "GPL-2.0-only" 5LICENSE = "GPL-2.0-only"
8LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" 6LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
9 7
10PV = "4.6.1" 8SRC_URI = "git://github.com/plougher/squashfs-tools.git;protocol=https;branch=master;tag=${PV} \
11SRCREV = "d8cb82d9840330f9344ec37b992595b5d7b44184" 9 file://pid.patch \
12SRC_URI = "git://github.com/plougher/squashfs-tools.git;protocol=https;branch=v6.1.1" 10 file://thread.patch"
11SRCREV = "2e87d42ed089dc31990d83eeb07437b9d085d6d1"
12
13UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))" 13UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))"
14 14
15S = "${WORKDIR}/git" 15S = "${WORKDIR}/git"
16 16
17EXTRA_OEMAKE = "${PACKAGECONFIG_CONFARGS}" 17EXTRA_OEMAKE = "${PACKAGECONFIG_CONFARGS}"
18 18
19PACKAGECONFIG ??= "gzip xz lzo lz4 lzma xattr zstd reproducible" 19PACKAGECONFIG ??= "gzip lz4 xz zstd xattr"
20PACKAGECONFIG[gzip] = "GZIP_SUPPORT=1,GZIP_SUPPORT=0,zlib" 20PACKAGECONFIG[gzip] = "GZIP_SUPPORT=1,GZIP_SUPPORT=0,zlib"
21PACKAGECONFIG[xz] = "XZ_SUPPORT=1,XZ_SUPPORT=0,xz" 21PACKAGECONFIG[xz] = "XZ_SUPPORT=1,XZ_SUPPORT=0,xz"
22PACKAGECONFIG[lzo] = "LZO_SUPPORT=1,LZO_SUPPORT=0,lzo" 22PACKAGECONFIG[lzo] = "LZO_SUPPORT=1,LZO_SUPPORT=0,lzo"
23PACKAGECONFIG[lz4] = "LZ4_SUPPORT=1,LZ4_SUPPORT=0,lz4" 23PACKAGECONFIG[lz4] = "LZ4_SUPPORT=1,LZ4_SUPPORT=0,lz4"
24PACKAGECONFIG[lzma] = "LZMA_XZ_SUPPORT=1,LZMA_XZ_SUPPORT=0,xz" 24PACKAGECONFIG[lzma] = "LZMA_XZ_SUPPORT=1,LZMA_XZ_SUPPORT=0,xz"
25PACKAGECONFIG[xattr] = "XATTR_SUPPORT=1,XATTR_SUPPORT=0,attr"
26PACKAGECONFIG[zstd] = "ZSTD_SUPPORT=1,ZSTD_SUPPORT=0,zstd" 25PACKAGECONFIG[zstd] = "ZSTD_SUPPORT=1,ZSTD_SUPPORT=0,zstd"
27PACKAGECONFIG[reproducible] = "REPRODUCIBLE_DEFAULT=1,REPRODUCIBLE_DEFAULT=0," 26PACKAGECONFIG[xattr] = "XATTR_SUPPORT=1,XATTR_SUPPORT=0,attr"
28 27
29do_compile() { 28do_compile() {
30 cd ${S}/squashfs-tools 29 oe_runmake -C ${S}/squashfs-tools all
31 oe_runmake all
32} 30}
33 31
34do_install() { 32do_install() {
35 cd ${S}/squashfs-tools 33 oe_runmake -C ${S}/squashfs-tools install INSTALL_PREFIX=${D}${prefix} INSTALL_MANPAGES_DIR=${D}${datadir}/man/man1
34
36 install -d "${D}${includedir}" 35 install -d "${D}${includedir}"
37 oe_runmake install INSTALL_PREFIX=${D}${prefix} INSTALL_MANPAGES_DIR=${D}${datadir}/man/man1
38 install -m 0644 "${S}"/squashfs-tools/squashfs_fs.h "${D}${includedir}" 36 install -m 0644 "${S}"/squashfs-tools/squashfs_fs.h "${D}${includedir}"
39} 37}
40 38
diff --git a/meta/recipes-extended/findutils/findutils/run-ptest b/meta/recipes-extended/findutils/findutils/run-ptest
index 3dec117067..0c9af47efd 100644
--- a/meta/recipes-extended/findutils/findutils/run-ptest
+++ b/meta/recipes-extended/findutils/findutils/run-ptest
@@ -5,6 +5,9 @@ ln -s /usr/bin/find /tmp/oldfind
5# make oldfind visible 5# make oldfind visible
6export PATH="/tmp:${PATH}" 6export PATH="/tmp:${PATH}"
7 7
8# Add findutils ptest directory to PATH for getlimits
9export PATH="/usr/lib/findutils/ptest:${PATH}"
10
8export built_programs="find xargs locate updatedb" 11export built_programs="find xargs locate updatedb"
9 12
10# this gets substituted by sed during build 13# this gets substituted by sed during build
diff --git a/meta/recipes-extended/findutils/findutils_4.10.0.bb b/meta/recipes-extended/findutils/findutils_4.10.0.bb
index 57f77de16f..aa21637657 100644
--- a/meta/recipes-extended/findutils/findutils_4.10.0.bb
+++ b/meta/recipes-extended/findutils/findutils_4.10.0.bb
@@ -15,12 +15,13 @@ CACHED_CONFIGUREVARS += "gl_cv_func_wcwidth_works=yes"
15EXTRA_OECONF += "ac_cv_path_SORT=${bindir}/sort" 15EXTRA_OECONF += "ac_cv_path_SORT=${bindir}/sort"
16 16
17# need od from coreutils for -t option 17# need od from coreutils for -t option
18RDEPENDS:${PN}-ptest += "bash sed grep coreutils coreutils-getlimits" 18RDEPENDS:${PN}-ptest += "bash sed grep coreutils"
19 19
20do_install_ptest:class-target() { 20do_install_ptest:class-target() {
21 mkdir -p ${D}${PTEST_PATH}/tests/ 21 mkdir -p ${D}${PTEST_PATH}/tests/
22 cp ${S}/init.cfg ${D}${PTEST_PATH} 22 cp ${S}/init.cfg ${D}${PTEST_PATH}
23 cp -r ${S}/tests/* ${D}${PTEST_PATH}/tests/ 23 cp -r ${S}/tests/* ${D}${PTEST_PATH}/tests/
24 install -m 755 ${B}/find/getlimits ${D}${PTEST_PATH}/
24 25
25 # substitute value in run-ptest with actual version 26 # substitute value in run-ptest with actual version
26 sed -i -e 's/__run_ptest_version__/${PV}/' ${D}${PTEST_PATH}/run-ptest 27 sed -i -e 's/__run_ptest_version__/${PV}/' ${D}${PTEST_PATH}/run-ptest
diff --git a/meta/recipes-graphics/piglit/piglit_git.bb b/meta/recipes-graphics/piglit/piglit_git.bb
index dc210ff56d..b3469fabe1 100644
--- a/meta/recipes-graphics/piglit/piglit_git.bb
+++ b/meta/recipes-graphics/piglit/piglit_git.bb
@@ -16,7 +16,7 @@ SRC_URI = "git://gitlab.freedesktop.org/mesa/piglit.git;protocol=https;branch=ma
16 " 16 "
17UPSTREAM_CHECK_COMMITS = "1" 17UPSTREAM_CHECK_COMMITS = "1"
18 18
19SRCREV = "05f02cb2ff1787892cba38c3b609f892419bae87" 19SRCREV = "a0a27e528f643dfeb785350a1213bfff09681950"
20# (when PV goes above 1.0 remove the trailing r) 20# (when PV goes above 1.0 remove the trailing r)
21PV = "1.0+gitr" 21PV = "1.0+gitr"
22 22
@@ -25,7 +25,7 @@ S = "${WORKDIR}/git"
25X11_DEPS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxrender libglu', '', d)}" 25X11_DEPS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxrender libglu', '', d)}"
26X11_RDEPS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'mesa-demos', '', d)}" 26X11_RDEPS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'mesa-demos', '', d)}"
27 27
28DEPENDS = "libpng waffle libxkbcommon python3-mako-native python3-numpy-native python3-six-native virtual/egl" 28DEPENDS = "libpng waffle libxkbcommon python3-mako-native python3-numpy-native virtual/egl"
29 29
30inherit cmake pkgconfig python3native features_check bash-completion 30inherit cmake pkgconfig python3native features_check bash-completion
31 31
@@ -64,7 +64,7 @@ INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
64RDEPENDS:${PN} = "waffle waffle-bin python3 python3-mako python3-json \ 64RDEPENDS:${PN} = "waffle waffle-bin python3 python3-mako python3-json \
65 python3-misc \ 65 python3-misc \
66 python3-unixadmin python3-xml python3-multiprocessing \ 66 python3-unixadmin python3-xml python3-multiprocessing \
67 python3-six python3-shell python3-io \ 67 python3-shell python3-io \
68 python3-netserver bash \ 68 python3-netserver bash \
69 " 69 "
70 70
diff --git a/meta/recipes-kernel/systemtap/systemtap/0001-python-Makefile.am-use-absolute-path-for-source-dire.patch b/meta/recipes-kernel/systemtap/systemtap/0001-python-Makefile.am-use-absolute-path-for-source-dire.patch
new file mode 100644
index 0000000000..dacd19edd1
--- /dev/null
+++ b/meta/recipes-kernel/systemtap/systemtap/0001-python-Makefile.am-use-absolute-path-for-source-dire.patch
@@ -0,0 +1,36 @@
1From 71e4ffd46dbbb7de1d06edb66f3e1fe0de423586 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex@linutronix.de>
3Date: Wed, 21 May 2025 13:25:46 +0200
4Subject: [PATCH] python/Makefile.am: use absolute path for source directory
5 includes as well
6
7Otherwise it would be relative to the build directory,
8which works only if the build and source directory are in the
9same parent directory, and breaks if they're on different levels.
10
11Upstream-Status: Submitted [by email to fche@redhat.com,wcohen@redhat.com,systemtap@sourceware.org]
12Signed-off-by: Alexander Kanavin <alex@linutronix.de>
13---
14 python/Makefile.am | 4 ++--
15 1 file changed, 2 insertions(+), 2 deletions(-)
16
17diff --git a/python/Makefile.am b/python/Makefile.am
18index 9d5cb7bcb..130e90b24 100644
19--- a/python/Makefile.am
20+++ b/python/Makefile.am
21@@ -2,10 +2,10 @@
22
23 AUTOMAKE_OPTIONS = subdir-objects
24
25-# Note that we have to use 'abs_builddir' here since we change
26+# Note that we have to use absolute directores here since we change
27 # directories back to the source directory when building the python
28 # extension.
29-AM_CPPFLAGS = -I$(srcdir)/../includes
30+AM_CPPFLAGS = -I$(abs_srcdir)/../includes
31 AM_CPPFLAGS += -I$(abs_builddir)/../includes/sys
32
33 # Add OE's CFLAGS which contains `-fdebug-prefix-map' options to
34--
352.39.5
36
diff --git a/meta/recipes-kernel/systemtap/systemtap_5.2.bb b/meta/recipes-kernel/systemtap/systemtap_5.2.bb
index 254bac4d6f..588b3b8d36 100644
--- a/meta/recipes-kernel/systemtap/systemtap_5.2.bb
+++ b/meta/recipes-kernel/systemtap/systemtap_5.2.bb
@@ -9,6 +9,7 @@ require systemtap_git.inc
9SRC_URI += " \ 9SRC_URI += " \
10 file://0001-improve-reproducibility-for-c-compiling.patch \ 10 file://0001-improve-reproducibility-for-c-compiling.patch \
11 file://0001-staprun-address-ncurses-6.3-failures.patch \ 11 file://0001-staprun-address-ncurses-6.3-failures.patch \
12 file://0001-python-Makefile.am-use-absolute-path-for-source-dire.patch \
12 " 13 "
13 14
14DEPENDS = "elfutils" 15DEPENDS = "elfutils"
diff --git a/meta/recipes-multimedia/libtheora/libtheora-1.1.1/autoreconf.patch b/meta/recipes-multimedia/libtheora/libtheora-1.1.1/autoreconf.patch
deleted file mode 100644
index 0fc09ba413..0000000000
--- a/meta/recipes-multimedia/libtheora/libtheora-1.1.1/autoreconf.patch
+++ /dev/null
@@ -1,42 +0,0 @@
1From 859e58b440e64aeec446ae0a923a638e4203f408 Mon Sep 17 00:00:00 2001
2From: Tim Terriberry <tterribe@xiph.org>
3Date: Fri, 20 May 2011 20:41:50 +0000
4Subject: [PATCH] Make autoreconf -i -f work.
5
6Patch from David Schleef.
7
8svn path=/trunk/theora/; revision=17990
9
10Upstream-Status: Backport
11Signed-off-by: Ross Burton <ross.burton@arm.com>
12---
13 Makefile.am | 2 ++
14 configure.ac | 2 +-
15 2 files changed, 3 insertions(+), 1 deletion(-)
16
17diff --git a/Makefile.am b/Makefile.am
18index d833491..369978d 100644
19--- a/Makefile.am
20+++ b/Makefile.am
21@@ -2,6 +2,8 @@
22
23 AUTOMAKE_OPTIONS = foreign 1.6 dist-zip dist-bzip2
24
25+ACLOCAL_AMFLAGS=-I m4
26+
27 if THEORA_ENABLE_EXAMPLES
28 EXAMPLES_DIR = examples
29 else
30diff --git a/configure.ac b/configure.ac
31index 8260bdf..d4feb86 100644
32--- a/configure.ac
33+++ b/configure.ac
34@@ -61,7 +61,7 @@ AC_LIBTOOL_WIN32_DLL
35 AM_PROG_LIBTOOL
36
37 dnl Add parameters for aclocal
38-AC_SUBST(ACLOCAL_AMFLAGS, "-I m4")
39+AC_CONFIG_MACRO_DIR([m4])
40
41 dnl Check for doxygen
42 AC_CHECK_PROG(HAVE_DOXYGEN, doxygen, true, false)
diff --git a/meta/recipes-multimedia/libtheora/libtheora-1.1.1/no-docs.patch b/meta/recipes-multimedia/libtheora/libtheora-1.1.1/no-docs.patch
deleted file mode 100644
index 359f3d1a7a..0000000000
--- a/meta/recipes-multimedia/libtheora/libtheora-1.1.1/no-docs.patch
+++ /dev/null
@@ -1,15 +0,0 @@
1Upstream-Status: Inappropriate [configuration]
2
3Index: libtheora-1.1.1/Makefile.am
4===================================================================
5--- libtheora-1.1.1.orig/Makefile.am 2009-11-25 22:01:53.593775926 +0100
6+++ libtheora-1.1.1/Makefile.am 2009-11-25 22:02:00.777524017 +0100
7@@ -8,7 +8,7 @@
8 EXAMPLES_DIR =
9 endif
10
11-SUBDIRS = lib include doc tests m4 $(EXAMPLES_DIR)
12+SUBDIRS = lib include tests m4 $(EXAMPLES_DIR)
13
14
15 # we include the whole debian/ dir in EXTRA_DIST because there's a problem
diff --git a/meta/recipes-multimedia/libtheora/libtheora/0001-add-missing-files.patch b/meta/recipes-multimedia/libtheora/libtheora/0001-add-missing-files.patch
new file mode 100644
index 0000000000..323ac7da83
--- /dev/null
+++ b/meta/recipes-multimedia/libtheora/libtheora/0001-add-missing-files.patch
@@ -0,0 +1,769 @@
1From 0880595f9b08d15da0e72cefaf24841cbb930883 Mon Sep 17 00:00:00 2001
2From: Gyorgy Sarvari <skandigraun@gmail.com>
3Date: Sat, 7 Jun 2025 14:10:40 +0200
4Subject: [PATCH] add missing files
5
6Due to a release issue, two files were not added to the libtheora 1.2.0
7release tarball - these files are required to be able to build the
8library for 32-bit ARM systems along with assembly optimization.
9
10This patch adds these files.
11
12This is not a code issue per-se, rather a tarballing one, as the files
13are present in the source code repository.
14
15Upstream-Status: Backport [https://gitlab.xiph.org/xiph/theora/-/issues/2338]
16
17Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
18---
19 lib/arm/armenc.c | 57 ++++
20 lib/arm/armloop.s | 676 ++++++++++++++++++++++++++++++++++++++++++++++
21 2 files changed, 733 insertions(+)
22 create mode 100644 lib/arm/armenc.c
23 create mode 100644 lib/arm/armloop.s
24
25diff --git a/lib/arm/armenc.c b/lib/arm/armenc.c
26new file mode 100644
27index 0000000..4cfb8a7
28--- /dev/null
29+++ b/lib/arm/armenc.c
30@@ -0,0 +1,57 @@
31+/********************************************************************
32+ * *
33+ * THIS FILE IS PART OF THE OggTheora SOFTWARE CODEC SOURCE CODE. *
34+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
35+ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
36+ * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
37+ * *
38+ * THE Theora SOURCE CODE IS COPYRIGHT (C) 2002-2010 *
39+ * by the Xiph.Org Foundation and contributors *
40+ * https://www.xiph.org/ *
41+ * *
42+ ********************************************************************
43+
44+ function:
45+
46+ ********************************************************************/
47+#include "armenc.h"
48+
49+#if defined(OC_ARM_ASM)
50+
51+void oc_enc_accel_init_arm(oc_enc_ctx *_enc){
52+ ogg_uint32_t cpu_flags;
53+ cpu_flags=_enc->state.cpu_flags;
54+ oc_enc_accel_init_c(_enc);
55+# if defined(OC_ENC_USE_VTABLE)
56+ /*TODO: Add ARMv4 functions here.*/
57+# endif
58+# if defined(OC_ARM_ASM_EDSP)
59+ if(cpu_flags&OC_CPU_ARM_EDSP){
60+# if defined(OC_STATE_USE_VTABLE)
61+ /*TODO: Add EDSP functions here.*/
62+# endif
63+ }
64+# if defined(OC_ARM_ASM_MEDIA)
65+ if(cpu_flags&OC_CPU_ARM_MEDIA){
66+# if defined(OC_STATE_USE_VTABLE)
67+ /*TODO: Add Media functions here.*/
68+# endif
69+ }
70+# if defined(OC_ARM_ASM_NEON)
71+ if(cpu_flags&OC_CPU_ARM_NEON){
72+# if defined(OC_STATE_USE_VTABLE)
73+ _enc->opt_vtable.frag_satd=oc_enc_frag_satd_neon;
74+ _enc->opt_vtable.frag_satd2=oc_enc_frag_satd2_neon;
75+ _enc->opt_vtable.frag_intra_satd=oc_enc_frag_intra_satd_neon;
76+ _enc->opt_vtable.enquant_table_init=oc_enc_enquant_table_init_neon;
77+ _enc->opt_vtable.enquant_table_fixup=oc_enc_enquant_table_fixup_neon;
78+ _enc->opt_vtable.quantize=oc_enc_quantize_neon;
79+# endif
80+ _enc->opt_data.enquant_table_size=128*sizeof(ogg_uint16_t);
81+ _enc->opt_data.enquant_table_alignment=16;
82+ }
83+# endif
84+# endif
85+# endif
86+}
87+#endif
88diff --git a/lib/arm/armloop.s b/lib/arm/armloop.s
89new file mode 100644
90index 0000000..c35da0f
91--- /dev/null
92+++ b/lib/arm/armloop.s
93@@ -0,0 +1,676 @@
94+;********************************************************************
95+;* *
96+;* THIS FILE IS PART OF THE OggTheora SOFTWARE CODEC SOURCE CODE. *
97+;* USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
98+;* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
99+;* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
100+;* *
101+;* THE Theora SOURCE CODE IS COPYRIGHT (C) 2002-2010 *
102+;* by the Xiph.Org Foundation and contributors *
103+;* https://www.xiph.org/ *
104+;* *
105+;********************************************************************
106+; Original implementation:
107+; Copyright (C) 2009 Robin Watts for Pinknoise Productions Ltd
108+;********************************************************************
109+
110+ AREA |.text|, CODE, READONLY
111+
112+ GET armopts.s
113+
114+ EXPORT oc_loop_filter_frag_rows_arm
115+
116+; Which bit this is depends on the order of packing within a bitfield.
117+; Hopefully that doesn't change among any of the relevant compilers.
118+OC_FRAG_CODED_FLAG * 1
119+
120+ ; Vanilla ARM v4 version
121+loop_filter_h_arm PROC
122+ ; r0 = unsigned char *_pix
123+ ; r1 = int _ystride
124+ ; r2 = int *_bv
125+ ; preserves r0-r3
126+ STMFD r13!,{r3-r6,r14}
127+ MOV r14,#8
128+ MOV r6, #255
129+lfh_arm_lp
130+ LDRB r3, [r0, #-2] ; r3 = _pix[0]
131+ LDRB r12,[r0, #1] ; r12= _pix[3]
132+ LDRB r4, [r0, #-1] ; r4 = _pix[1]
133+ LDRB r5, [r0] ; r5 = _pix[2]
134+ SUB r3, r3, r12 ; r3 = _pix[0]-_pix[3]+4
135+ ADD r3, r3, #4
136+ SUB r12,r5, r4 ; r12= _pix[2]-_pix[1]
137+ ADD r12,r12,r12,LSL #1 ; r12= 3*(_pix[2]-_pix[1])
138+ ADD r12,r12,r3 ; r12= _pix[0]-_pix[3]+3*(_pix[2]-_pix[1])+4
139+ MOV r12,r12,ASR #3
140+ LDRSB r12,[r2, r12]
141+ ; Stall (2 on Xscale)
142+ ADDS r4, r4, r12
143+ CMPGT r6, r4
144+ EORLT r4, r6, r4, ASR #32
145+ SUBS r5, r5, r12
146+ CMPGT r6, r5
147+ EORLT r5, r6, r5, ASR #32
148+ STRB r4, [r0, #-1]
149+ STRB r5, [r0], r1
150+ SUBS r14,r14,#1
151+ BGT lfh_arm_lp
152+ SUB r0, r0, r1, LSL #3
153+ LDMFD r13!,{r3-r6,PC}
154+ ENDP
155+
156+loop_filter_v_arm PROC
157+ ; r0 = unsigned char *_pix
158+ ; r1 = int _ystride
159+ ; r2 = int *_bv
160+ ; preserves r0-r3
161+ STMFD r13!,{r3-r6,r14}
162+ MOV r14,#8
163+ MOV r6, #255
164+lfv_arm_lp
165+ LDRB r3, [r0, -r1, LSL #1] ; r3 = _pix[0]
166+ LDRB r12,[r0, r1] ; r12= _pix[3]
167+ LDRB r4, [r0, -r1] ; r4 = _pix[1]
168+ LDRB r5, [r0] ; r5 = _pix[2]
169+ SUB r3, r3, r12 ; r3 = _pix[0]-_pix[3]+4
170+ ADD r3, r3, #4
171+ SUB r12,r5, r4 ; r12= _pix[2]-_pix[1]
172+ ADD r12,r12,r12,LSL #1 ; r12= 3*(_pix[2]-_pix[1])
173+ ADD r12,r12,r3 ; r12= _pix[0]-_pix[3]+3*(_pix[2]-_pix[1])+4
174+ MOV r12,r12,ASR #3
175+ LDRSB r12,[r2, r12]
176+ ; Stall (2 on Xscale)
177+ ADDS r4, r4, r12
178+ CMPGT r6, r4
179+ EORLT r4, r6, r4, ASR #32
180+ SUBS r5, r5, r12
181+ CMPGT r6, r5
182+ EORLT r5, r6, r5, ASR #32
183+ STRB r4, [r0, -r1]
184+ STRB r5, [r0], #1
185+ SUBS r14,r14,#1
186+ BGT lfv_arm_lp
187+ SUB r0, r0, #8
188+ LDMFD r13!,{r3-r6,PC}
189+ ENDP
190+
191+oc_loop_filter_frag_rows_arm PROC
192+ ; r0 = _ref_frame_data
193+ ; r1 = _ystride
194+ ; r2 = _bv
195+ ; r3 = _frags
196+ ; r4 = _fragi0
197+ ; r5 = _fragi0_end
198+ ; r6 = _fragi_top
199+ ; r7 = _fragi_bot
200+ ; r8 = _frag_buf_offs
201+ ; r9 = _nhfrags
202+ MOV r12,r13
203+ STMFD r13!,{r0,r4-r11,r14}
204+ LDMFD r12,{r4-r9}
205+ ADD r2, r2, #127 ; _bv += 127
206+ CMP r4, r5 ; if(_fragi0>=_fragi0_end)
207+ BGE oslffri_arm_end ; bail
208+ SUBS r9, r9, #1 ; r9 = _nhfrags-1 if (r9<=0)
209+ BLE oslffri_arm_end ; bail
210+ ADD r3, r3, r4, LSL #2 ; r3 = &_frags[fragi]
211+ ADD r8, r8, r4, LSL #2 ; r8 = &_frag_buf_offs[fragi]
212+ SUB r7, r7, r9 ; _fragi_bot -= _nhfrags;
213+oslffri_arm_lp1
214+ MOV r10,r4 ; r10= fragi = _fragi0
215+ ADD r11,r4, r9 ; r11= fragi_end-1=fragi+_nhfrags-1
216+oslffri_arm_lp2
217+ LDR r14,[r3], #4 ; r14= _frags[fragi] _frags++
218+ LDR r0, [r13] ; r0 = _ref_frame_data
219+ LDR r12,[r8], #4 ; r12= _frag_buf_offs[fragi] _frag_buf_offs++
220+ TST r14,#OC_FRAG_CODED_FLAG
221+ BEQ oslffri_arm_uncoded
222+ CMP r10,r4 ; if (fragi>_fragi0)
223+ ADD r0, r0, r12 ; r0 = _ref_frame_data + _frag_buf_offs[fragi]
224+ BLGT loop_filter_h_arm
225+ CMP r4, r6 ; if (_fragi0>_fragi_top)
226+ BLGT loop_filter_v_arm
227+ CMP r10,r11 ; if(fragi+1<fragi_end)===(fragi<fragi_end-1)
228+ LDRLT r12,[r3] ; r12 = _frags[fragi+1]
229+ ADD r0, r0, #8
230+ ADD r10,r10,#1 ; r10 = fragi+1;
231+ ANDLT r12,r12,#OC_FRAG_CODED_FLAG
232+ CMPLT r12,#OC_FRAG_CODED_FLAG ; && _frags[fragi+1].coded==0
233+ BLLT loop_filter_h_arm
234+ CMP r10,r7 ; if (fragi<_fragi_bot)
235+ LDRLT r12,[r3, r9, LSL #2] ; r12 = _frags[fragi+1+_nhfrags-1]
236+ SUB r0, r0, #8
237+ ADD r0, r0, r1, LSL #3
238+ ANDLT r12,r12,#OC_FRAG_CODED_FLAG
239+ CMPLT r12,#OC_FRAG_CODED_FLAG
240+ BLLT loop_filter_v_arm
241+ CMP r10,r11 ; while(fragi<=fragi_end-1)
242+ BLE oslffri_arm_lp2
243+ MOV r4, r10 ; r4 = fragi0 += _nhfrags
244+ CMP r4, r5
245+ BLT oslffri_arm_lp1
246+oslffri_arm_end
247+ LDMFD r13!,{r0,r4-r11,PC}
248+oslffri_arm_uncoded
249+ ADD r10,r10,#1
250+ CMP r10,r11
251+ BLE oslffri_arm_lp2
252+ MOV r4, r10 ; r4 = _fragi0 += _nhfrags
253+ CMP r4, r5
254+ BLT oslffri_arm_lp1
255+ LDMFD r13!,{r0,r4-r11,PC}
256+ ENDP
257+
258+ [ OC_ARM_ASM_MEDIA
259+ EXPORT oc_loop_filter_init_v6
260+ EXPORT oc_loop_filter_frag_rows_v6
261+
262+oc_loop_filter_init_v6 PROC
263+ ; r0 = _bv
264+ ; r1 = _flimit (=L from the spec)
265+ MVN r1, r1, LSL #1 ; r1 = <0xFFFFFF|255-2*L>
266+ AND r1, r1, #255 ; r1 = ll=r1&0xFF
267+ ORR r1, r1, r1, LSL #8 ; r1 = <ll|ll>
268+ PKHBT r1, r1, r1, LSL #16 ; r1 = <ll|ll|ll|ll>
269+ STR r1, [r0]
270+ MOV PC,r14
271+ ENDP
272+
273+; We could use the same strategy as the v filter below, but that would require
274+; 40 instructions to load the data and transpose it into columns and another
275+; 32 to write out the results at the end, plus the 52 instructions to do the
276+; filtering itself.
277+; This is slightly less, and less code, even assuming we could have shared the
278+; 52 instructions in the middle with the other function.
279+; It executes slightly fewer instructions than the ARMv6 approach David Conrad
280+; proposed for FFmpeg, but not by much:
281+; http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2010-February/083141.html
282+; His is a lot less code, though, because it only does two rows at once instead
283+; of four.
284+loop_filter_h_v6 PROC
285+ ; r0 = unsigned char *_pix
286+ ; r1 = int _ystride
287+ ; r2 = int _ll
288+ ; preserves r0-r3
289+ STMFD r13!,{r4-r11,r14}
290+ LDR r12,=0x10003
291+ BL loop_filter_h_core_v6
292+ ADD r0, r0, r1, LSL #2
293+ BL loop_filter_h_core_v6
294+ SUB r0, r0, r1, LSL #2
295+ LDMFD r13!,{r4-r11,PC}
296+ ENDP
297+
298+loop_filter_h_core_v6 PROC
299+ ; r0 = unsigned char *_pix
300+ ; r1 = int _ystride
301+ ; r2 = int _ll
302+ ; r12= 0x10003
303+ ; Preserves r0-r3, r12; Clobbers r4-r11.
304+ LDR r4,[r0, #-2]! ; r4 = <p3|p2|p1|p0>
305+ ; Single issue
306+ LDR r5,[r0, r1]! ; r5 = <q3|q2|q1|q0>
307+ UXTB16 r6, r4, ROR #16 ; r6 = <p0|p2>
308+ UXTB16 r4, r4, ROR #8 ; r4 = <p3|p1>
309+ UXTB16 r7, r5, ROR #16 ; r7 = <q0|q2>
310+ UXTB16 r5, r5, ROR #8 ; r5 = <q3|q1>
311+ PKHBT r8, r4, r5, LSL #16 ; r8 = <__|q1|__|p1>
312+ PKHBT r9, r6, r7, LSL #16 ; r9 = <__|q2|__|p2>
313+ SSUB16 r6, r4, r6 ; r6 = <p3-p0|p1-p2>
314+ SMLAD r6, r6, r12,r12 ; r6 = <????|(p3-p0)+3*(p1-p2)+3>
315+ SSUB16 r7, r5, r7 ; r7 = <q3-q0|q1-q2>
316+ SMLAD r7, r7, r12,r12 ; r7 = <????|(q0-q3)+3*(q2-q1)+4>
317+ LDR r4,[r0, r1]! ; r4 = <r3|r2|r1|r0>
318+ MOV r6, r6, ASR #3 ; r6 = <??????|(p3-p0)+3*(p1-p2)+3>>3>
319+ LDR r5,[r0, r1]! ; r5 = <s3|s2|s1|s0>
320+ PKHBT r11,r6, r7, LSL #13 ; r11= <??|-R_q|??|-R_p>
321+ UXTB16 r6, r4, ROR #16 ; r6 = <r0|r2>
322+ UXTB16 r11,r11 ; r11= <__|-R_q|__|-R_p>
323+ UXTB16 r4, r4, ROR #8 ; r4 = <r3|r1>
324+ UXTB16 r7, r5, ROR #16 ; r7 = <s0|s2>
325+ PKHBT r10,r6, r7, LSL #16 ; r10= <__|s2|__|r2>
326+ SSUB16 r6, r4, r6 ; r6 = <r3-r0|r1-r2>
327+ UXTB16 r5, r5, ROR #8 ; r5 = <s3|s1>
328+ SMLAD r6, r6, r12,r12 ; r6 = <????|(r3-r0)+3*(r2-r1)+3>
329+ SSUB16 r7, r5, r7 ; r7 = <r3-r0|r1-r2>
330+ SMLAD r7, r7, r12,r12 ; r7 = <????|(s0-s3)+3*(s2-s1)+4>
331+ ORR r9, r9, r10, LSL #8 ; r9 = <s2|q2|r2|p2>
332+ MOV r6, r6, ASR #3 ; r6 = <??????|(r0-r3)+3*(r2-r1)+4>>3>
333+ PKHBT r10,r4, r5, LSL #16 ; r10= <__|s1|__|r1>
334+ PKHBT r6, r6, r7, LSL #13 ; r6 = <??|-R_s|??|-R_r>
335+ ORR r8, r8, r10, LSL #8 ; r8 = <s1|q1|r1|p1>
336+ UXTB16 r6, r6 ; r6 = <__|-R_s|__|-R_r>
337+ MOV r10,#0
338+ ORR r6, r11,r6, LSL #8 ; r6 = <-R_s|-R_q|-R_r|-R_p>
339+ ; Single issue
340+ ; There's no min, max or abs instruction.
341+ ; SSUB8 and SEL will work for abs, and we can do all the rest with
342+ ; unsigned saturated adds, which means the GE flags are still all
343+ ; set when we're done computing lflim(abs(R_i),L).
344+ ; This allows us to both add and subtract, and split the results by
345+ ; the original sign of R_i.
346+ SSUB8 r7, r10,r6
347+ ; Single issue
348+ SEL r7, r7, r6 ; r7 = abs(R_i)
349+ ; Single issue
350+ UQADD8 r4, r7, r2 ; r4 = 255-max(2*L-abs(R_i),0)
351+ ; Single issue
352+ UQADD8 r7, r7, r4
353+ ; Single issue
354+ UQSUB8 r7, r7, r4 ; r7 = min(abs(R_i),max(2*L-abs(R_i),0))
355+ ; Single issue
356+ UQSUB8 r4, r8, r7
357+ UQADD8 r5, r9, r7
358+ UQADD8 r8, r8, r7
359+ UQSUB8 r9, r9, r7
360+ SEL r8, r8, r4 ; r8 = p1+lflim(R_i,L)
361+ SEL r9, r9, r5 ; r9 = p2-lflim(R_i,L)
362+ MOV r5, r9, LSR #24 ; r5 = s2
363+ STRB r5, [r0,#2]!
364+ MOV r4, r8, LSR #24 ; r4 = s1
365+ STRB r4, [r0,#-1]
366+ MOV r5, r9, LSR #8 ; r5 = r2
367+ STRB r5, [r0,-r1]!
368+ MOV r4, r8, LSR #8 ; r4 = r1
369+ STRB r4, [r0,#-1]
370+ MOV r5, r9, LSR #16 ; r5 = q2
371+ STRB r5, [r0,-r1]!
372+ MOV r4, r8, LSR #16 ; r4 = q1
373+ STRB r4, [r0,#-1]
374+ ; Single issue
375+ STRB r9, [r0,-r1]!
376+ ; Single issue
377+ STRB r8, [r0,#-1]
378+ MOV PC,r14
379+ ENDP
380+
381+; This uses the same strategy as the MMXEXT version for x86, except that UHADD8
382+; computes (a+b>>1) instead of (a+b+1>>1) like PAVGB.
383+; This works just as well, with the following procedure for computing the
384+; filter value, f:
385+; u = ~UHADD8(p1,~p2);
386+; v = UHADD8(~p1,p2);
387+; m = v-u;
388+; a = m^UHADD8(m^p0,m^~p3);
389+; f = UHADD8(UHADD8(a,u1),v1);
390+; where f = 127+R, with R in [-127,128] defined as in the spec.
391+; This is exactly the same amount of arithmetic as the version that uses PAVGB
392+; as the basic operator.
393+; It executes about 2/3 the number of instructions of David Conrad's approach,
394+; but requires more code, because it does all eight columns at once, instead
395+; of four at a time.
396+loop_filter_v_v6 PROC
397+ ; r0 = unsigned char *_pix
398+ ; r1 = int _ystride
399+ ; r2 = int _ll
400+ ; preserves r0-r11
401+ STMFD r13!,{r4-r11,r14}
402+ LDRD r6, [r0, -r1]! ; r7, r6 = <p5|p1>
403+ LDRD r4, [r0, -r1] ; r5, r4 = <p4|p0>
404+ LDRD r8, [r0, r1]! ; r9, r8 = <p6|p2>
405+ MVN r14,r6 ; r14= ~p1
406+ LDRD r10,[r0, r1] ; r11,r10= <p7|p3>
407+ ; Filter the first four columns.
408+ MVN r12,r8 ; r12= ~p2
409+ UHADD8 r14,r14,r8 ; r14= v1=~p1+p2>>1
410+ UHADD8 r12,r12,r6 ; r12= p1+~p2>>1
411+ MVN r10, r10 ; r10=~p3
412+ MVN r12,r12 ; r12= u1=~p1+p2+1>>1
413+ SSUB8 r14,r14,r12 ; r14= m1=v1-u1
414+ ; Single issue
415+ EOR r4, r4, r14 ; r4 = m1^p0
416+ EOR r10,r10,r14 ; r10= m1^~p3
417+ UHADD8 r4, r4, r10 ; r4 = (m1^p0)+(m1^~p3)>>1
418+ ; Single issue
419+ EOR r4, r4, r14 ; r4 = a1=m1^((m1^p0)+(m1^~p3)>>1)
420+ SADD8 r14,r14,r12 ; r14= v1=m1+u1
421+ UHADD8 r4, r4, r12 ; r4 = a1+u1>>1
422+ MVN r12,r9 ; r12= ~p6
423+ UHADD8 r4, r4, r14 ; r4 = f1=(a1+u1>>1)+v1>>1
424+ ; Filter the second four columns.
425+ MVN r14,r7 ; r14= ~p5
426+ UHADD8 r12,r12,r7 ; r12= p5+~p6>>1
427+ UHADD8 r14,r14,r9 ; r14= v2=~p5+p6>>1
428+ MVN r12,r12 ; r12= u2=~p5+p6+1>>1
429+ MVN r11,r11 ; r11=~p7
430+ SSUB8 r10,r14,r12 ; r10= m2=v2-u2
431+ ; Single issue
432+ EOR r5, r5, r10 ; r5 = m2^p4
433+ EOR r11,r11,r10 ; r11= m2^~p7
434+ UHADD8 r5, r5, r11 ; r5 = (m2^p4)+(m2^~p7)>>1
435+ ; Single issue
436+ EOR r5, r5, r10 ; r5 = a2=m2^((m2^p4)+(m2^~p7)>>1)
437+ ; Single issue
438+ UHADD8 r5, r5, r12 ; r5 = a2+u2>>1
439+ LDR r12,=0x7F7F7F7F ; r12 = {127}x4
440+ UHADD8 r5, r5, r14 ; r5 = f2=(a2+u2>>1)+v2>>1
441+ ; Now split f[i] by sign.
442+ ; There's no min or max instruction.
443+ ; We could use SSUB8 and SEL, but this is just as many instructions and
444+ ; dual issues more (for v7 without NEON).
445+ UQSUB8 r10,r4, r12 ; r10= R_i>0?R_i:0
446+ UQSUB8 r4, r12,r4 ; r4 = R_i<0?-R_i:0
447+ UQADD8 r11,r10,r2 ; r11= 255-max(2*L-abs(R_i<0),0)
448+ UQADD8 r14,r4, r2 ; r14= 255-max(2*L-abs(R_i>0),0)
449+ UQADD8 r10,r10,r11
450+ UQADD8 r4, r4, r14
451+ UQSUB8 r10,r10,r11 ; r10= min(abs(R_i<0),max(2*L-abs(R_i<0),0))
452+ UQSUB8 r4, r4, r14 ; r4 = min(abs(R_i>0),max(2*L-abs(R_i>0),0))
453+ UQSUB8 r11,r5, r12 ; r11= R_i>0?R_i:0
454+ UQADD8 r6, r6, r10
455+ UQSUB8 r8, r8, r10
456+ UQSUB8 r5, r12,r5 ; r5 = R_i<0?-R_i:0
457+ UQSUB8 r6, r6, r4 ; r6 = p1+lflim(R_i,L)
458+ UQADD8 r8, r8, r4 ; r8 = p2-lflim(R_i,L)
459+ UQADD8 r10,r11,r2 ; r10= 255-max(2*L-abs(R_i<0),0)
460+ UQADD8 r14,r5, r2 ; r14= 255-max(2*L-abs(R_i>0),0)
461+ UQADD8 r11,r11,r10
462+ UQADD8 r5, r5, r14
463+ UQSUB8 r11,r11,r10 ; r11= min(abs(R_i<0),max(2*L-abs(R_i<0),0))
464+ UQSUB8 r5, r5, r14 ; r5 = min(abs(R_i>0),max(2*L-abs(R_i>0),0))
465+ UQADD8 r7, r7, r11
466+ UQSUB8 r9, r9, r11
467+ UQSUB8 r7, r7, r5 ; r7 = p5+lflim(R_i,L)
468+ STRD r6, [r0, -r1] ; [p5:p1] = [r7: r6]
469+ UQADD8 r9, r9, r5 ; r9 = p6-lflim(R_i,L)
470+ STRD r8, [r0] ; [p6:p2] = [r9: r8]
471+ LDMFD r13!,{r4-r11,PC}
472+ ENDP
473+
474+oc_loop_filter_frag_rows_v6 PROC
475+ ; r0 = _ref_frame_data
476+ ; r1 = _ystride
477+ ; r2 = _bv
478+ ; r3 = _frags
479+ ; r4 = _fragi0
480+ ; r5 = _fragi0_end
481+ ; r6 = _fragi_top
482+ ; r7 = _fragi_bot
483+ ; r8 = _frag_buf_offs
484+ ; r9 = _nhfrags
485+ MOV r12,r13
486+ STMFD r13!,{r0,r4-r11,r14}
487+ LDMFD r12,{r4-r9}
488+ LDR r2, [r2] ; ll = *(int *)_bv
489+ CMP r4, r5 ; if(_fragi0>=_fragi0_end)
490+ BGE oslffri_v6_end ; bail
491+ SUBS r9, r9, #1 ; r9 = _nhfrags-1 if (r9<=0)
492+ BLE oslffri_v6_end ; bail
493+ ADD r3, r3, r4, LSL #2 ; r3 = &_frags[fragi]
494+ ADD r8, r8, r4, LSL #2 ; r8 = &_frag_buf_offs[fragi]
495+ SUB r7, r7, r9 ; _fragi_bot -= _nhfrags;
496+oslffri_v6_lp1
497+ MOV r10,r4 ; r10= fragi = _fragi0
498+ ADD r11,r4, r9 ; r11= fragi_end-1=fragi+_nhfrags-1
499+oslffri_v6_lp2
500+ LDR r14,[r3], #4 ; r14= _frags[fragi] _frags++
501+ LDR r0, [r13] ; r0 = _ref_frame_data
502+ LDR r12,[r8], #4 ; r12= _frag_buf_offs[fragi] _frag_buf_offs++
503+ TST r14,#OC_FRAG_CODED_FLAG
504+ BEQ oslffri_v6_uncoded
505+ CMP r10,r4 ; if (fragi>_fragi0)
506+ ADD r0, r0, r12 ; r0 = _ref_frame_data + _frag_buf_offs[fragi]
507+ BLGT loop_filter_h_v6
508+ CMP r4, r6 ; if (fragi0>_fragi_top)
509+ BLGT loop_filter_v_v6
510+ CMP r10,r11 ; if(fragi+1<fragi_end)===(fragi<fragi_end-1)
511+ LDRLT r12,[r3] ; r12 = _frags[fragi+1]
512+ ADD r0, r0, #8
513+ ADD r10,r10,#1 ; r10 = fragi+1;
514+ ANDLT r12,r12,#OC_FRAG_CODED_FLAG
515+ CMPLT r12,#OC_FRAG_CODED_FLAG ; && _frags[fragi+1].coded==0
516+ BLLT loop_filter_h_v6
517+ CMP r10,r7 ; if (fragi<_fragi_bot)
518+ LDRLT r12,[r3, r9, LSL #2] ; r12 = _frags[fragi+1+_nhfrags-1]
519+ SUB r0, r0, #8
520+ ADD r0, r0, r1, LSL #3
521+ ANDLT r12,r12,#OC_FRAG_CODED_FLAG
522+ CMPLT r12,#OC_FRAG_CODED_FLAG
523+ BLLT loop_filter_v_v6
524+ CMP r10,r11 ; while(fragi<=fragi_end-1)
525+ BLE oslffri_v6_lp2
526+ MOV r4, r10 ; r4 = fragi0 += nhfrags
527+ CMP r4, r5
528+ BLT oslffri_v6_lp1
529+oslffri_v6_end
530+ LDMFD r13!,{r0,r4-r11,PC}
531+oslffri_v6_uncoded
532+ ADD r10,r10,#1
533+ CMP r10,r11
534+ BLE oslffri_v6_lp2
535+ MOV r4, r10 ; r4 = fragi0 += nhfrags
536+ CMP r4, r5
537+ BLT oslffri_v6_lp1
538+ LDMFD r13!,{r0,r4-r11,PC}
539+ ENDP
540+ ]
541+
542+ [ OC_ARM_ASM_NEON
543+ EXPORT oc_loop_filter_init_neon
544+ EXPORT oc_loop_filter_frag_rows_neon
545+
546+oc_loop_filter_init_neon PROC
547+ ; r0 = _bv
548+ ; r1 = _flimit (=L from the spec)
549+ MOV r1, r1, LSL #1 ; r1 = 2*L
550+ VDUP.S16 Q15, r1 ; Q15= 2L in U16s
551+ VST1.64 {D30,D31}, [r0@128]
552+ MOV PC,r14
553+ ENDP
554+
555+loop_filter_h_neon PROC
556+ ; r0 = unsigned char *_pix
557+ ; r1 = int _ystride
558+ ; r2 = int *_bv
559+ ; preserves r0-r3
560+ ; We assume Q15= 2*L in U16s
561+ ; My best guesses at cycle counts (and latency)--vvv
562+ SUB r12,r0, #2
563+ ; Doing a 2-element structure load saves doing two VTRN's below, at the
564+ ; cost of using two more slower single-lane loads vs. the faster
565+ ; all-lane loads.
566+ ; It's less code this way, though, and benches a hair faster, but it
567+ ; leaves D2 and D4 swapped.
568+ VLD2.16 {D0[],D2[]}, [r12], r1 ; D0 = ____________1100 2,1
569+ ; D2 = ____________3322
570+ VLD2.16 {D4[],D6[]}, [r12], r1 ; D4 = ____________5544 2,1
571+ ; D6 = ____________7766
572+ VLD2.16 {D0[1],D2[1]},[r12], r1 ; D0 = ________99881100 3,1
573+ ; D2 = ________BBAA3322
574+ VLD2.16 {D4[1],D6[1]},[r12], r1 ; D4 = ________DDCC5544 3,1
575+ ; D6 = ________FFEE7766
576+ VLD2.16 {D0[2],D2[2]},[r12], r1 ; D0 = ____GGHH99881100 3,1
577+ ; D2 = ____JJIIBBAA3322
578+ VLD2.16 {D4[2],D6[2]},[r12], r1 ; D4 = ____KKLLDDCC5544 3,1
579+ ; D6 = ____NNMMFFEE7766
580+ VLD2.16 {D0[3],D2[3]},[r12], r1 ; D0 = PPOOGGHH99881100 3,1
581+ ; D2 = RRQQJJIIBBAA3322
582+ VLD2.16 {D4[3],D6[3]},[r12], r1 ; D4 = TTSSKKLLDDCC5544 3,1
583+ ; D6 = VVUUNNMMFFEE7766
584+ VTRN.8 D0, D4 ; D0 = SSOOKKGGCC884400 D4 = TTPPLLHHDD995511 1,1
585+ VTRN.8 D2, D6 ; D2 = UUQQMMIIEEAA6622 D6 = VVRRNNJJFFBB7733 1,1
586+ VSUBL.U8 Q0, D0, D6 ; Q0 = 00 - 33 in S16s 1,3
587+ VSUBL.U8 Q8, D2, D4 ; Q8 = 22 - 11 in S16s 1,3
588+ ADD r12,r0, #8
589+ VADD.S16 Q0, Q0, Q8 ; 1,3
590+ PLD [r12]
591+ VADD.S16 Q0, Q0, Q8 ; 1,3
592+ PLD [r12,r1]
593+ VADD.S16 Q0, Q0, Q8 ; Q0 = [0-3]+3*[2-1] 1,3
594+ PLD [r12,r1, LSL #1]
595+ VRSHR.S16 Q0, Q0, #3 ; Q0 = f = ([0-3]+3*[2-1]+4)>>3 1,4
596+ ADD r12,r12,r1, LSL #2
597+ ; We want to do
598+ ; f = CLAMP(MIN(-2L-f,0), f, MAX(2L-f,0))
599+ ; = ((f >= 0) ? MIN( f ,MAX(2L- f ,0)) : MAX( f , MIN(-2L- f ,0)))
600+ ; = ((f >= 0) ? MIN(|f|,MAX(2L-|f|,0)) : MAX(-|f|, MIN(-2L+|f|,0)))
601+ ; = ((f >= 0) ? MIN(|f|,MAX(2L-|f|,0)) :-MIN( |f|,-MIN(-2L+|f|,0)))
602+ ; = ((f >= 0) ? MIN(|f|,MAX(2L-|f|,0)) :-MIN( |f|, MAX( 2L-|f|,0)))
603+ ; So we've reduced the left and right hand terms to be the same, except
604+ ; for a negation.
605+ ; Stall x3
606+ VABS.S16 Q9, Q0 ; Q9 = |f| in U16s 1,4
607+ PLD [r12,-r1]
608+ VSHR.S16 Q0, Q0, #15 ; Q0 = -1 or 0 according to sign 1,3
609+ PLD [r12]
610+ VQSUB.U16 Q10,Q15,Q9 ; Q10= MAX(2L-|f|,0) in U16s 1,4
611+ PLD [r12,r1]
612+ VMOVL.U8 Q1, D2 ; Q2 = __UU__QQ__MM__II__EE__AA__66__22 2,3
613+ PLD [r12,r1,LSL #1]
614+ VMIN.U16 Q9, Q10,Q9 ; Q9 = MIN(|f|,MAX(2L-|f|)) 1,4
615+ ADD r12,r12,r1, LSL #2
616+ ; Now we need to correct for the sign of f.
617+ ; For negative elements of Q0, we want to subtract the appropriate
618+ ; element of Q9. For positive elements we want to add them. No NEON
619+ ; instruction exists to do this, so we need to negate the negative
620+ ; elements, and we can then just add them. a-b = a-(1+!b) = a-1+!b
621+ VADD.S16 Q9, Q9, Q0 ; 1,3
622+ PLD [r12,-r1]
623+ VEOR.S16 Q9, Q9, Q0 ; Q9 = real value of f 1,3
624+ ; Bah. No VRSBW.U8
625+ ; Stall (just 1 as Q9 not needed to second pipeline stage. I think.)
626+ VADDW.U8 Q2, Q9, D4 ; Q1 = xxTTxxPPxxLLxxHHxxDDxx99xx55xx11 1,3
627+ VSUB.S16 Q1, Q1, Q9 ; Q2 = xxUUxxQQxxMMxxIIxxEExxAAxx66xx22 1,3
628+ VQMOVUN.S16 D4, Q2 ; D4 = TTPPLLHHDD995511 1,1
629+ VQMOVUN.S16 D2, Q1 ; D2 = UUQQMMIIEEAA6622 1,1
630+ SUB r12,r0, #1
631+ VTRN.8 D4, D2 ; D4 = QQPPIIHHAA992211 D2 = MMLLEEDD6655 1,1
632+ VST1.16 {D4[0]}, [r12], r1
633+ VST1.16 {D2[0]}, [r12], r1
634+ VST1.16 {D4[1]}, [r12], r1
635+ VST1.16 {D2[1]}, [r12], r1
636+ VST1.16 {D4[2]}, [r12], r1
637+ VST1.16 {D2[2]}, [r12], r1
638+ VST1.16 {D4[3]}, [r12], r1
639+ VST1.16 {D2[3]}, [r12], r1
640+ MOV PC,r14
641+ ENDP
642+
643+loop_filter_v_neon PROC
644+ ; r0 = unsigned char *_pix
645+ ; r1 = int _ystride
646+ ; r2 = int *_bv
647+ ; preserves r0-r3
648+ ; We assume Q15= 2*L in U16s
649+ ; My best guesses at cycle counts (and latency)--vvv
650+ SUB r12,r0, r1, LSL #1
651+ VLD1.64 {D0}, [r12@64], r1 ; D0 = SSOOKKGGCC884400 2,1
652+ VLD1.64 {D2}, [r12@64], r1 ; D2 = TTPPLLHHDD995511 2,1
653+ VLD1.64 {D4}, [r12@64], r1 ; D4 = UUQQMMIIEEAA6622 2,1
654+ VLD1.64 {D6}, [r12@64] ; D6 = VVRRNNJJFFBB7733 2,1
655+ VSUBL.U8 Q8, D4, D2 ; Q8 = 22 - 11 in S16s 1,3
656+ VSUBL.U8 Q0, D0, D6 ; Q0 = 00 - 33 in S16s 1,3
657+ ADD r12, #8
658+ VADD.S16 Q0, Q0, Q8 ; 1,3
659+ PLD [r12]
660+ VADD.S16 Q0, Q0, Q8 ; 1,3
661+ PLD [r12,r1]
662+ VADD.S16 Q0, Q0, Q8 ; Q0 = [0-3]+3*[2-1] 1,3
663+ SUB r12, r0, r1
664+ VRSHR.S16 Q0, Q0, #3 ; Q0 = f = ([0-3]+3*[2-1]+4)>>3 1,4
665+ ; We want to do
666+ ; f = CLAMP(MIN(-2L-f,0), f, MAX(2L-f,0))
667+ ; = ((f >= 0) ? MIN( f ,MAX(2L- f ,0)) : MAX( f , MIN(-2L- f ,0)))
668+ ; = ((f >= 0) ? MIN(|f|,MAX(2L-|f|,0)) : MAX(-|f|, MIN(-2L+|f|,0)))
669+ ; = ((f >= 0) ? MIN(|f|,MAX(2L-|f|,0)) :-MIN( |f|,-MIN(-2L+|f|,0)))
670+ ; = ((f >= 0) ? MIN(|f|,MAX(2L-|f|,0)) :-MIN( |f|, MAX( 2L-|f|,0)))
671+ ; So we've reduced the left and right hand terms to be the same, except
672+ ; for a negation.
673+ ; Stall x3
674+ VABS.S16 Q9, Q0 ; Q9 = |f| in U16s 1,4
675+ VSHR.S16 Q0, Q0, #15 ; Q0 = -1 or 0 according to sign 1,3
676+ ; Stall x2
677+ VQSUB.U16 Q10,Q15,Q9 ; Q10= MAX(2L-|f|,0) in U16s 1,4
678+ VMOVL.U8 Q2, D4 ; Q2 = __UU__QQ__MM__II__EE__AA__66__22 2,3
679+ ; Stall x2
680+ VMIN.U16 Q9, Q10,Q9 ; Q9 = MIN(|f|,MAX(2L-|f|)) 1,4
681+ ; Now we need to correct for the sign of f.
682+ ; For negative elements of Q0, we want to subtract the appropriate
683+ ; element of Q9. For positive elements we want to add them. No NEON
684+ ; instruction exists to do this, so we need to negate the negative
685+ ; elements, and we can then just add them. a-b = a-(1+!b) = a-1+!b
686+ ; Stall x3
687+ VADD.S16 Q9, Q9, Q0 ; 1,3
688+ ; Stall x2
689+ VEOR.S16 Q9, Q9, Q0 ; Q9 = real value of f 1,3
690+ ; Bah. No VRSBW.U8
691+ ; Stall (just 1 as Q9 not needed to second pipeline stage. I think.)
692+ VADDW.U8 Q1, Q9, D2 ; Q1 = xxTTxxPPxxLLxxHHxxDDxx99xx55xx11 1,3
693+ VSUB.S16 Q2, Q2, Q9 ; Q2 = xxUUxxQQxxMMxxIIxxEExxAAxx66xx22 1,3
694+ VQMOVUN.S16 D2, Q1 ; D2 = TTPPLLHHDD995511 1,1
695+ VQMOVUN.S16 D4, Q2 ; D4 = UUQQMMIIEEAA6622 1,1
696+ VST1.64 {D2}, [r12@64], r1
697+ VST1.64 {D4}, [r12@64], r1
698+ MOV PC,r14
699+ ENDP
700+
701+oc_loop_filter_frag_rows_neon PROC
702+ ; r0 = _ref_frame_data
703+ ; r1 = _ystride
704+ ; r2 = _bv
705+ ; r3 = _frags
706+ ; r4 = _fragi0
707+ ; r5 = _fragi0_end
708+ ; r6 = _fragi_top
709+ ; r7 = _fragi_bot
710+ ; r8 = _frag_buf_offs
711+ ; r9 = _nhfrags
712+ MOV r12,r13
713+ STMFD r13!,{r0,r4-r11,r14}
714+ LDMFD r12,{r4-r9}
715+ CMP r4, r5 ; if(_fragi0>=_fragi0_end)
716+ BGE oslffri_neon_end; bail
717+ SUBS r9, r9, #1 ; r9 = _nhfrags-1 if (r9<=0)
718+ BLE oslffri_neon_end ; bail
719+ VLD1.64 {D30,D31}, [r2@128] ; Q15= 2L in U16s
720+ ADD r3, r3, r4, LSL #2 ; r3 = &_frags[fragi]
721+ ADD r8, r8, r4, LSL #2 ; r8 = &_frag_buf_offs[fragi]
722+ SUB r7, r7, r9 ; _fragi_bot -= _nhfrags;
723+oslffri_neon_lp1
724+ MOV r10,r4 ; r10= fragi = _fragi0
725+ ADD r11,r4, r9 ; r11= fragi_end-1=fragi+_nhfrags-1
726+oslffri_neon_lp2
727+ LDR r14,[r3], #4 ; r14= _frags[fragi] _frags++
728+ LDR r0, [r13] ; r0 = _ref_frame_data
729+ LDR r12,[r8], #4 ; r12= _frag_buf_offs[fragi] _frag_buf_offs++
730+ TST r14,#OC_FRAG_CODED_FLAG
731+ BEQ oslffri_neon_uncoded
732+ CMP r10,r4 ; if (fragi>_fragi0)
733+ ADD r0, r0, r12 ; r0 = _ref_frame_data + _frag_buf_offs[fragi]
734+ BLGT loop_filter_h_neon
735+ CMP r4, r6 ; if (_fragi0>_fragi_top)
736+ BLGT loop_filter_v_neon
737+ CMP r10,r11 ; if(fragi+1<fragi_end)===(fragi<fragi_end-1)
738+ LDRLT r12,[r3] ; r12 = _frags[fragi+1]
739+ ADD r0, r0, #8
740+ ADD r10,r10,#1 ; r10 = fragi+1;
741+ ANDLT r12,r12,#OC_FRAG_CODED_FLAG
742+ CMPLT r12,#OC_FRAG_CODED_FLAG ; && _frags[fragi+1].coded==0
743+ BLLT loop_filter_h_neon
744+ CMP r10,r7 ; if (fragi<_fragi_bot)
745+ LDRLT r12,[r3, r9, LSL #2] ; r12 = _frags[fragi+1+_nhfrags-1]
746+ SUB r0, r0, #8
747+ ADD r0, r0, r1, LSL #3
748+ ANDLT r12,r12,#OC_FRAG_CODED_FLAG
749+ CMPLT r12,#OC_FRAG_CODED_FLAG
750+ BLLT loop_filter_v_neon
751+ CMP r10,r11 ; while(fragi<=fragi_end-1)
752+ BLE oslffri_neon_lp2
753+ MOV r4, r10 ; r4 = _fragi0 += _nhfrags
754+ CMP r4, r5
755+ BLT oslffri_neon_lp1
756+oslffri_neon_end
757+ LDMFD r13!,{r0,r4-r11,PC}
758+oslffri_neon_uncoded
759+ ADD r10,r10,#1
760+ CMP r10,r11
761+ BLE oslffri_neon_lp2
762+ MOV r4, r10 ; r4 = _fragi0 += _nhfrags
763+ CMP r4, r5
764+ BLT oslffri_neon_lp1
765+ LDMFD r13!,{r0,r4-r11,PC}
766+ ENDP
767+ ]
768+
769+ END
diff --git a/meta/recipes-multimedia/libtheora/libtheora_1.1.1.bb b/meta/recipes-multimedia/libtheora/libtheora_1.2.0.bb
index d0a9a59b7c..361d2c6e4a 100644
--- a/meta/recipes-multimedia/libtheora/libtheora_1.1.1.bb
+++ b/meta/recipes-multimedia/libtheora/libtheora_1.2.0.bb
@@ -8,14 +8,17 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=cf91718f59eb6a83d06dc7bcaf411132"
8DEPENDS = "libogg" 8DEPENDS = "libogg"
9 9
10 10
11SRC_URI = "http://downloads.xiph.org/releases/theora/libtheora-${PV}.tar.bz2 \ 11SRC_URI = "http://downloads.xiph.org/releases/theora/libtheora-${PV}.tar.xz \
12 file://autoreconf.patch \ 12 file://0001-add-missing-files.patch"
13 file://no-docs.patch"
14 13
15SRC_URI[sha256sum] = "b6ae1ee2fa3d42ac489287d3ec34c5885730b1296f0801ae577a35193d3affbc" 14SRC_URI[sha256sum] = "ebdf77a8f5c0a8f7a9e42323844fa09502b34eb1d1fece7b5f54da41fe2122ec"
16 15
17UPSTREAM_CHECK_REGEX = "libtheora-(?P<pver>\d+(\.\d)+)\.(tar\.gz|tgz)" 16UPSTREAM_CHECK_REGEX = "libtheora-(?P<pver>\d+(\.\d)+)\.(tar\.gz|tgz)"
18 17
19inherit autotools pkgconfig 18inherit autotools pkgconfig
20 19
21EXTRA_OECONF = "--disable-examples" 20EXTRA_OECONF = "--disable-examples --disable-doc"
21
22# these old architectures don't support all the instructions from the asm source files
23EXTRA_OECONF:append:armv4 = " --disable-asm "
24EXTRA_OECONF:append:armv5 = " --disable-asm "
diff --git a/meta/recipes-sato/puzzles/puzzles_git.bb b/meta/recipes-sato/puzzles/puzzles_git.bb
index 15f6979bec..23eb20d350 100644
--- a/meta/recipes-sato/puzzles/puzzles_git.bb
+++ b/meta/recipes-sato/puzzles/puzzles_git.bb
@@ -10,7 +10,7 @@ REQUIRED_DISTRO_FEATURES = "x11"
10SRC_URI = "git://git.tartarus.org/simon/puzzles.git;branch=main;protocol=https" 10SRC_URI = "git://git.tartarus.org/simon/puzzles.git;branch=main;protocol=https"
11 11
12UPSTREAM_CHECK_COMMITS = "1" 12UPSTREAM_CHECK_COMMITS = "1"
13SRCREV = "7da46412223273b3adf6d513466342b9d3a5c869" 13SRCREV = "7fa03051562ee81e2a5371f8b3a6d0bb6e646aa0"
14PE = "2" 14PE = "2"
15PV = "0.0+git" 15PV = "0.0+git"
16 16