diff options
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 @@ | |||
4 | BitBake Supported Release Manuals | 4 | BitBake Supported Release Manuals |
5 | ================================= | 5 | ================================= |
6 | 6 | ||
7 | **************************** | 7 | ****************************** |
8 | Release Series 5.1 (styhead) | 8 | Release 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 | ******************************* |
14 | Release Series 5.0 (scarthgap) | 14 | Release Series 5.0 (scarthgap) |
@@ -26,6 +26,12 @@ Release Series 4.0 (kirkstone) | |||
26 | BitBake Outdated Release Manuals | 26 | BitBake Outdated Release Manuals |
27 | ================================ | 27 | ================================ |
28 | 28 | ||
29 | **************************** | ||
30 | Release Series 5.1 (styhead) | ||
31 | **************************** | ||
32 | |||
33 | - :yocto_docs:`BitBake 2.10 User Manual </bitbake/2.10/>` | ||
34 | |||
29 | ******************************* | 35 | ******************************* |
30 | Release Series 4.3 (nanbield) | 36 | Release 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 | |||
991 | oe.utils.get_multilib_datastore[vardepsexclude] = "DEFAULTTUNE_MULTILIB_ORIGINAL OVERRIDES" | 991 | oe.utils.get_multilib_datastore[vardepsexclude] = "DEFAULTTUNE_MULTILIB_ORIGINAL OVERRIDES" |
992 | oe.path.format_display[vardepsexclude] = "TOPDIR" | 992 | oe.path.format_display[vardepsexclude] = "TOPDIR" |
993 | oe.utils.get_bb_number_threads[vardepsexclude] = "BB_NUMBER_THREADS" | 993 | oe.utils.get_bb_number_threads[vardepsexclude] = "BB_NUMBER_THREADS" |
994 | oe.package.save_debugsources_info[vardepsexclude] = "BB_NUMBER_THREADS" | ||
995 | oe.package.read_debugsources_info[vardepsexclude] = "BB_NUMBER_THREADS" | ||
994 | oe.packagedata.emit_pkgdata[vardepsexclude] = "BB_NUMBER_THREADS" | 996 | oe.packagedata.emit_pkgdata[vardepsexclude] = "BB_NUMBER_THREADS" |
995 | oe.packagedata.read_subpkgdata_extended[vardepsexclude] = "BB_NUMBER_THREADS" | 997 | oe.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 | |||
668 | RECIPE_MAINTAINER:pn-python3-maturin = "Tim Orling <tim.orling@konsulko.com>" | 668 | RECIPE_MAINTAINER:pn-python3-maturin = "Tim Orling <tim.orling@konsulko.com>" |
669 | RECIPE_MAINTAINER:pn-python3-meson-python = "Tim Orling <tim.orling@konsulko.com>" | 669 | RECIPE_MAINTAINER:pn-python3-meson-python = "Tim Orling <tim.orling@konsulko.com>" |
670 | RECIPE_MAINTAINER:pn-python3-more-itertools = "Tim Orling <tim.orling@konsulko.com>" | 670 | RECIPE_MAINTAINER:pn-python3-more-itertools = "Tim Orling <tim.orling@konsulko.com>" |
671 | RECIPE_MAINTAINER:pn-python3-ndg-httpsclient = "Tim Orling <tim.orling@konsulko.com>" | ||
672 | RECIPE_MAINTAINER:pn-python3-numpy = "Trevor Gamblin <tgamblin@baylibre.com>" | 671 | RECIPE_MAINTAINER:pn-python3-numpy = "Trevor Gamblin <tgamblin@baylibre.com>" |
673 | RECIPE_MAINTAINER:pn-python3-packaging = "Tim Orling <tim.orling@konsulko.com>" | 672 | RECIPE_MAINTAINER:pn-python3-packaging = "Tim Orling <tim.orling@konsulko.com>" |
674 | RECIPE_MAINTAINER:pn-python3-pathspec = "Ross Burton <ross.burton@arm.com>" | 673 | RECIPE_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" | |||
12 | GCCVERSION ?= "15.%" | 12 | GCCVERSION ?= "15.%" |
13 | SDKGCCVERSION ?= "${GCCVERSION}" | 13 | SDKGCCVERSION ?= "${GCCVERSION}" |
14 | GLIBCVERSION ?= "2.41%" | 14 | GLIBCVERSION ?= "2.41%" |
15 | RUSTVERSION ?= "1.85.1%" | 15 | RUSTVERSION ?= "1.86.0%" |
16 | 16 | ||
17 | PREFERRED_VERSION_gcc ?= "${GCCVERSION}" | 17 | PREFERRED_VERSION_gcc ?= "${GCCVERSION}" |
18 | PREFERRED_VERSION_gcc-cross-${TARGET_ARCH} ?= "${GCCVERSION}" | 18 | PREFERRED_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 | ||
11 | AVAILTUNES += "cortexr52" | 11 | AVAILTUNES += "cortexr52" |
12 | ARMPKGARCH:tune-cortexr52 = "cortexr52" | 12 | ARMPKGARCH:tune-cortexr52 = "cortexr52" |
13 | # We do not want -march since -mcpu is added above to cover for it | 13 | TUNE_FEATURES:tune-cortexr52 = "${TUNE_FEATURES:tune-armv8r-crc-simd} cortexr52" |
14 | TUNE_FEATURES:tune-cortexr52 = "aarch64 crc simd cortexr52" | ||
15 | PACKAGE_EXTRA_ARCHS:tune-cortexr52 = "${PACKAGE_EXTRA_ARCHS:tune-armv8r-crc-simd} cortexr52" | 14 | PACKAGE_EXTRA_ARCHS:tune-cortexr52 = "${PACKAGE_EXTRA_ARCHS:tune-armv8r-crc-simd} cortexr52" |
16 | 15 | ||
17 | AVAILTUNES += "cortexr52hf" | 16 | AVAILTUNES += "cortexr52hf" |
18 | ARMPKGARCH:tune-cortexr52hf = "cortexr52" | 17 | ARMPKGARCH:tune-cortexr52hf = "cortexr52hf" |
19 | TUNE_FEATURES:tune-cortexr52hf = "${TUNE_FEATURES:tune-cortexr52} callconvention-hard" | 18 | TUNE_FEATURES:tune-cortexr52hf = "${TUNE_FEATURES:tune-cortexr52} callconvention-hard" |
20 | PACKAGE_EXTRA_ARCHS:tune-cortexr52hf = "cortexr52hf" | 19 | PACKAGE_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 | ||
1052 | def 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 | |||
1084 | def 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 | ||
1053 | def process_split_and_strip_files(d): | 1096 | def 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 @@ | |||
1 | From 2140aa879c24dcc9dad7e733c77c1bb212fe1ddf Mon Sep 17 00:00:00 2001 | 1 | From 182545f2504255d67d9ec2071fd5c82ab53c5a2e Mon Sep 17 00:00:00 2001 |
2 | From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= <gudni.m.g@gmail.com> | 2 | From: =?UTF-8?q?Gu=C3=B0ni=20M=C3=A1r=20Gilbert?= <gudni.m.g@gmail.com> |
3 | Date: Sun, 30 Mar 2025 02:20:24 +0000 | 3 | Date: Sun, 30 Mar 2025 02:20:24 +0000 |
4 | Subject: [PATCH] bluez5: disable aics tests | 4 | Subject: [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 @@ | |||
1 | From 9d5141cecea46fb3d6f918b11705cf0b6c673bca Mon Sep 17 00:00:00 2001 | 1 | From fa5da30786837b437707cea921056e9c1c22ffba Mon Sep 17 00:00:00 2001 |
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | 2 | From: Alexander Kanavin <alex.kanavin@gmail.com> |
3 | Date: Fri, 1 Apr 2016 17:07:34 +0300 | 3 | Date: Fri, 1 Apr 2016 17:07:34 +0300 |
4 | Subject: [PATCH] tests: add a target for building tests without running them | 4 | Subject: [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 | ||
12 | diff --git a/Makefile.am b/Makefile.am | 12 | diff --git a/Makefile.am b/Makefile.am |
13 | index dc9a27e..949d7da 100644 | 13 | index 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 @@ | |||
1 | require bluez5.inc | 1 | require bluez5.inc |
2 | 2 | ||
3 | SRC_URI[sha256sum] = "0739fa608a837967ee6d5572b43fb89946a938d1c6c26127158aaefd743a790b" | 3 | SRC_URI[sha256sum] = "108522d909d220581399bfec93daab62035539ceef3dda3e79970785c63bd24c" |
4 | 4 | ||
5 | CVE_STATUS[CVE-2020-24490] = "cpe-incorrect: This issue has kernel fixes rather than bluez fixes" | 5 | CVE_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 @@ | |||
1 | From 9cf3b6e8d705957927c2fbc9928318f4eda265c8 Mon Sep 17 00:00:00 2001 | ||
2 | From: Thomas Markwalder <tmark@isc.org> | ||
3 | Date: Tue, 11 Feb 2025 18:52:41 +0000 | ||
4 | Subject: [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 | |||
15 | Upstream-Status: Backport | ||
16 | [https://gitlab.isc.org/isc-projects/kea/-/commit/0b98eae16d9b6ecdf57005624712b9b26fa05bc0] | ||
17 | [https://gitlab.isc.org/isc-projects/kea/-/commit/16306026e37b32a2ce4b16fb5b78561ae153d570] | ||
18 | |||
19 | Signed-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 | |||
26 | diff --git a/src/lib/dhcp/pkt_filter_lpf.cc b/src/lib/dhcp/pkt_filter_lpf.cc | ||
27 | index 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); | ||
56 | diff --git a/src/lib/util/buffer.h b/src/lib/util/buffer.h | ||
57 | index 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. | ||
87 | diff --git a/src/lib/util/tests/buffer_unittest.cc b/src/lib/util/tests/buffer_unittest.cc | ||
88 | index 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 | -- | ||
111 | 2.25.1 | ||
112 | |||
113 | From 614a6c136fc20ee428b1c880889ef61253657499 Mon Sep 17 00:00:00 2001 | ||
114 | From: Thomas Markwalder <tmark@isc.org> | ||
115 | Date: Tue, 18 Feb 2025 15:03:12 +0000 | ||
116 | Subject: [PATCH 2/2] Addressed review comments | ||
117 | |||
118 | Couple of typos fixed. | ||
119 | --- | ||
120 | src/lib/dhcp/pkt_filter_lpf.cc | 5 +++-- | ||
121 | 1 file changed, 3 insertions(+), 2 deletions(-) | ||
122 | |||
123 | diff --git a/src/lib/dhcp/pkt_filter_lpf.cc b/src/lib/dhcp/pkt_filter_lpf.cc | ||
124 | index 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 | -- | ||
147 | 2.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 @@ | |||
1 | From 6b9fb56e3573aa65923df9a08201dd5321a1b1f1 Mon Sep 17 00:00:00 2001 | ||
2 | From: Dimitry Andric <dimitry@andric.com> | ||
3 | Date: Sat, 3 Aug 2024 14:37:52 +0200 | ||
4 | Subject: [PATCH 1/2] Replace Name::NameString with vector of uint8_t | ||
5 | |||
6 | As noted in the libc++ 19 release notes, it now only provides | ||
7 | std::char_traits<> for types char, char8_t, char16_t, char32_t and | ||
8 | wchar_t, and any instantiation for other types will fail. | ||
9 | |||
10 | Name::NameString is defined as a std::basic_string<uint8_t>, so that | ||
11 | will no longer work. Redefine it as a std::vector<uint8_t> instead. | ||
12 | |||
13 | Upstream-Status: Submitted [https://gitlab.isc.org/isc-projects/kea/-/merge_requests/2410] | ||
14 | Signed-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 | |||
20 | diff --git a/src/lib/dns/name.cc b/src/lib/dns/name.cc | ||
21 | index 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(); | ||
78 | diff --git a/src/lib/dns/name.h b/src/lib/dns/name.h | ||
79 | index 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 @@ | |||
1 | From dab0f3daafb760ace0d4091f74ff90edb225ca02 Mon Sep 17 00:00:00 2001 | ||
2 | From: q66 <q66@chimera-linux.org> | ||
3 | Date: Sun, 15 Dec 2024 03:04:53 +0100 | ||
4 | Subject: [PATCH] Update asiolink for boost 1.87 | ||
5 | |||
6 | Upstream-Status: Submitted [https://gitlab.isc.org/isc-projects/kea/-/merge_requests/2523] | ||
7 | Signed-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 | |||
17 | diff --git a/src/lib/asiolink/io_address.cc b/src/lib/asiolink/io_address.cc | ||
18 | index 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."); | ||
39 | diff --git a/src/lib/asiolink/io_service.cc b/src/lib/asiolink/io_service.cc | ||
40 | index 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()) { | ||
76 | diff --git a/src/lib/asiolink/tcp_endpoint.h b/src/lib/asiolink/tcp_endpoint.h | ||
77 | index 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 | {} | ||
89 | diff --git a/src/lib/asiolink/udp_endpoint.h b/src/lib/asiolink/udp_endpoint.h | ||
90 | index 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 | {} | ||
102 | diff --git a/src/lib/asiolink/unix_domain_socket.cc b/src/lib/asiolink/unix_domain_socket.cc | ||
103 | index 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 | ||
178 | diff --git a/src/lib/dhcp/iface_mgr.cc b/src/lib/dhcp/iface_mgr.cc | ||
179 | index 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 @@ | |||
1 | From b5f6cc6b3a2b2c35c9b9bb856861c502771079cc Mon Sep 17 00:00:00 2001 | ||
2 | From: Dimitry Andric <dimitry@unified-streaming.com> | ||
3 | Date: Wed, 28 Aug 2024 22:32:44 +0200 | ||
4 | Subject: [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 | |||
8 | Upstream-Status: Submitted [https://gitlab.isc.org/isc-projects/kea/-/merge_requests/2410] | ||
9 | Signed-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 | |||
14 | diff --git a/src/lib/dns/name.cc b/src/lib/dns/name.cc | ||
15 | index 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 | |||
3 | HOMEPAGE = "http://kea.isc.org" | 3 | HOMEPAGE = "http://kea.isc.org" |
4 | SECTION = "connectivity" | 4 | SECTION = "connectivity" |
5 | LICENSE = "MPL-2.0" | 5 | LICENSE = "MPL-2.0" |
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=618093ea9de92c70a115268c1d53421f" | 6 | LIC_FILES_CHKSUM = "file://COPYING;md5=ee16e7280a6cf2a1487717faf33190dc" |
7 | 7 | ||
8 | DEPENDS = "boost log4cplus openssl" | 8 | DEPENDS = "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 | " |
26 | SRC_URI[sha256sum] = "d2ce14a91c2e248ad2876e29152d647bcc5e433bc68dafad0ee96ec166fcfad1" | 22 | SRC_URI[sha256sum] = "00241a5955ffd3d215a2c098c4527f9d7f4b203188b276f9a36250dd3d9dd612" |
27 | 23 | ||
28 | inherit autotools systemd update-rc.d upstream-version-is-even | 24 | inherit 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. |
75 | RPROVIDES:coreutils += "${@bb.utils.contains('PACKAGECONFIG', 'single-binary', 'coreutils-stdbuf', '', d)}" | 75 | RPROVIDES: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 | ||
79 | PACKAGE_BEFORE_PN:class-target += "${PN}-getlimits" | ||
80 | FILES:${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 |
83 | do_compile:prepend () { | 78 | do_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 | ||
114 | inherit update-alternatives | 106 | inherit 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 | ||
227 | RDEPENDS:${PN}-ptest += "${PN}-getlimits xz \ | 220 | RDEPENDS:${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)}" |
223 | FILES:${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" | |||
35 | do_install:append() { | 35 | do_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 | ||
43 | USERADD_PACKAGES = "${PN}" | 42 | USERADD_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 @@ | |||
1 | From a13fc5a57ea7c6b1761bc204cb79d8ce4745f57a Mon Sep 17 00:00:00 2001 | ||
2 | From: songliang <YS.songliang@h3c.com> | ||
3 | Date: Wed, 4 Jun 2025 15:58:53 +0800 | ||
4 | Subject: [PATCH] Modify "my_strncat" function | ||
5 | |||
6 | The 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. | ||
7 | Also, 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". | ||
8 | Modify the function to prevent truncation of content when too many bytes are passed to the my_strcat function. | ||
9 | |||
10 | Upstream-Status: Submitted [https://github.com/linux-ras/sysfsutils/pull/30/commits/c2326946c0c2a4206c9b079a9fe25f7f9115295c] | ||
11 | Signed-off-by: songliang <YS.songliang@h3c.com> | ||
12 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
13 | --- | ||
14 | lib/sysfs_utils.c | 4 ++-- | ||
15 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
16 | |||
17 | diff --git a/lib/sysfs_utils.c b/lib/sysfs_utils.c | ||
18 | index 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 | -- | ||
33 | 2.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 | ||
12 | SRC_URI = "git://github.com/linux-ras/sysfsutils.git;protocol=https;branch=master" | 12 | SRC_URI = "git://github.com/linux-ras/sysfsutils.git;protocol=https;branch=master \ |
13 | file://0001-Modify-my_strncat-function.patch \ | ||
14 | " | ||
13 | 15 | ||
14 | SRCREV = "da2f1f8500c0af6663a56ce2bff07f67e60a92e0" | 16 | SRCREV = "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 | ||
4 | require util-linux.inc | 4 | require util-linux.inc |
5 | 5 | ||
6 | LICENSE = "BSD-3-Clause" | ||
7 | LIC_FILES_CHKSUM = "file://libuuid/COPYING;md5=6d2cafc999feb2c2de84d4d24b23290c \ | ||
8 | file://Documentation/licenses/COPYING.BSD-3-Clause;md5=58dcd8452651fc8b07d1f65ce07ca8af" | ||
9 | |||
6 | inherit autotools gettext pkgconfig | 10 | inherit autotools gettext pkgconfig |
7 | 11 | ||
8 | S = "${WORKDIR}/util-linux-${PV}" | 12 | S = "${WORKDIR}/util-linux-${PV}" |
@@ -10,8 +14,6 @@ S = "${WORKDIR}/util-linux-${PV}" | |||
10 | EXTRA_AUTORECONF += "--exclude=gtkdocize" | 14 | EXTRA_AUTORECONF += "--exclude=gtkdocize" |
11 | EXTRA_OECONF += "--disable-all-programs --enable-libuuid" | 15 | EXTRA_OECONF += "--disable-all-programs --enable-libuuid" |
12 | 16 | ||
13 | LICENSE = "BSD-3-Clause" | ||
14 | |||
15 | do_install:append() { | 17 | do_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 | ||
7 | SECTION = "base" | 7 | SECTION = "base" |
8 | 8 | ||
9 | LICENSE = "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" | ||
10 | LICENSE:${PN}-fcntl-lock = "MIT" | ||
11 | LICENSE:${PN}-fdisk = "GPL-1.0-or-later" | ||
12 | LICENSE:${PN}-libblkid = "LGPL-2.1-or-later" | ||
13 | LICENSE:${PN}-libfdisk = "LGPL-2.1-or-later" | ||
14 | LICENSE:${PN}-libmount = "LGPL-2.1-or-later" | ||
15 | LICENSE:${PN}-libsmartcols = "LGPL-2.1-or-later" | ||
16 | LICENSE:${PN}-coresched = "EUPL-1.2" | ||
17 | |||
18 | LIC_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 | |||
32 | FILESEXTRAPATHS:prepend := "${THISDIR}/util-linux:" | 9 | FILESEXTRAPATHS:prepend := "${THISDIR}/util-linux:" |
33 | MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:2])}" | 10 | MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:2])}" |
34 | SRC_URI = "${KERNELORG_MIRROR}/linux/utils/util-linux/v${MAJOR_VERSION}/util-linux-${PV}.tar.xz \ | 11 | SRC_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 | ||
47 | SRC_URI[sha256sum] = "81ee93b3cfdfeb7d7c4090cedeba1d7bbce9141fd0b501b686b3fe475ddca4c6" | 26 | SRC_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 @@ | |||
1 | From 50774e34fee0cd528b195a863bcd4e3a04fbfc4b Mon Sep 17 00:00:00 2001 | ||
2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
3 | Date: Wed, 4 Jun 2025 10:52:18 +0800 | ||
4 | Subject: [PATCH 1/2] test_sysinfo.c: print out SIGRTMIN | ||
5 | |||
6 | This will be used by ts/kill/decode. | ||
7 | |||
8 | Upstream-Status: Submitted [https://github.com/util-linux/util-linux/pull/3605] | ||
9 | |||
10 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
11 | --- | ||
12 | tests/helpers/test_sysinfo.c | 8 ++++++++ | ||
13 | 1 file changed, 8 insertions(+) | ||
14 | |||
15 | diff --git a/tests/helpers/test_sysinfo.c b/tests/helpers/test_sysinfo.c | ||
16 | index 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 | -- | ||
49 | 2.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 @@ | |||
1 | From 9848b0d8c90d9a24275bf402f6d76e97f62b3ba4 Mon Sep 17 00:00:00 2001 | ||
2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
3 | Date: Wed, 4 Jun 2025 16:27:19 +0800 | ||
4 | Subject: [PATCH 2/2] ts/kill/decode: use SIGRTMIN from test_sysinfo instead of | ||
5 | hardcoding 34 | ||
6 | |||
7 | glibc uses 34 as the value of SIGRTMIN: | ||
8 | https://sourceware.org/git/?p=glibc.git;a=blob;f=signal/allocrtsig.c;h=8ed8e37dd6c41f94be6eef042ce9db1af1153228;hb=HEAD#l27 """ | ||
9 | static int current_rtmin = __SIGRTMIN + RESERVED_SIGRT; """ | ||
10 | |||
11 | musl uses 35 as the value of SIGRTMIN: | ||
12 | https://git.musl-libc.org/cgit/musl/tree/src/signal/sigrtmin.c | ||
13 | |||
14 | With 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 | |||
19 | Use SIGRTMIN got from test_sysinfo to fix this issue. | ||
20 | |||
21 | Upstream-Status: Submitted [https://github.com/util-linux/util-linux/pull/3605] | ||
22 | |||
23 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
24 | --- | ||
25 | tests/ts/kill/decode | 9 +++++++-- | ||
26 | 1 file changed, 7 insertions(+), 2 deletions(-) | ||
27 | |||
28 | diff --git a/tests/ts/kill/decode b/tests/ts/kill/decode | ||
29 | index 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 | -- | ||
55 | 2.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 @@ | |||
1 | require util-linux.inc | 1 | require util-linux.inc |
2 | 2 | ||
3 | # Most of the applications and the libraries are linked with libcommon.la, | ||
4 | # which uses these licenses | ||
5 | LIBCOMMON_LICENSES = "LGPL-2.1-or-later & BSD-2-Clause & BSD-3-Clause & MIT" | ||
6 | |||
7 | # The default license is GPL-2.0-or-later | ||
8 | DEFAULT_LICENSES = "GPL-2.0-or-later & ${LIBCOMMON_LICENSES}" | ||
9 | |||
10 | LICENSE = "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" | ||
11 | LICENSE:${PN}-bash-completion = "GPL-2.0-or-later" | ||
12 | LICENSE:${PN}-dev = "${LIBCOMMON_LICENSES}" | ||
13 | # All dynamic packages use ${DEFAULT_LICENSES} with the following exceptions | ||
14 | LICENSE:${PN}-cal = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}" | ||
15 | LICENSE:${PN}-col = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}" | ||
16 | LICENSE:${PN}-colcrt = "BSD-4-Clause-UC" | ||
17 | LICENSE:${PN}-colrm = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}" | ||
18 | LICENSE:${PN}-column = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}" | ||
19 | LICENSE:${PN}-coresched = "EUPL-1.2 & ${LIBCOMMON_LICENSES}" | ||
20 | LICENSE:${PN}-fcntl-lock = "MIT" | ||
21 | LICENSE:${PN}-fdisk = "GPL-1.0-or-later & ${DEFAULT_LICENSES}" | ||
22 | LICENSE:${PN}-fsfreeze = "GPL-1.0-or-later" | ||
23 | LICENSE:${PN}-hexdump = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}" | ||
24 | LICENSE:${PN}-kill = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}" | ||
25 | LICENSE:${PN}-libblkid = "${LIBCOMMON_LICENSES}" | ||
26 | LICENSE:${PN}-libfdisk = "${LIBCOMMON_LICENSES}" | ||
27 | LICENSE:${PN}-libmount = "${LIBCOMMON_LICENSES}" | ||
28 | LICENSE:${PN}-libsmartcols = "${LIBCOMMON_LICENSES}" | ||
29 | LICENSE:${PN}-logger = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}" | ||
30 | LICENSE:${PN}-look = "BSD-4-Clause-UC" | ||
31 | LICENSE:${PN}-lscpu = "GPL-2.0-only & ${DEFAULT_LICENSES}" | ||
32 | LICENSE:${PN}-mesg = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}" | ||
33 | LICENSE:${PN}-nsenter = "GPL-2.0-only & ${DEFAULT_LICENSES}" | ||
34 | LICENSE:${PN}-renice = "BSD-4-Clause-UC" | ||
35 | LICENSE:${PN}-rev = "BSD-4-Clause-UC" | ||
36 | LICENSE:${PN}-script = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}" | ||
37 | LICENSE:${PN}-ul = "BSD-4-Clause-UC" | ||
38 | LICENSE:${PN}-vipw = "BSD-4-Clause-UC & ${DEFAULT_LICENSES}" | ||
39 | LICENSE:${PN}-wall = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}" | ||
40 | LICENSE:${PN}-whereis = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}" | ||
41 | LICENSE:${PN}-write = "BSD-4-Clause-UC & ${LIBCOMMON_LICENSES}" | ||
42 | |||
43 | LIC_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 | |||
3 | inherit autotools gettext manpages pkgconfig systemd update-alternatives python3-dir bash-completion ptest gtk-doc | 56 | inherit autotools gettext manpages pkgconfig systemd update-alternatives python3-dir bash-completion ptest gtk-doc |
4 | DEPENDS = "libcap-ng ncurses virtual/crypt zlib util-linux-libuuid" | 57 | DEPENDS = "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 | " |
45 | S = "${WORKDIR}/git" | 47 | S = "${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 @@ | |||
1 | From ba6ad3a18cb26b79e0e3b84c39f707535bbc344d Mon Sep 17 00:00:00 2001 | ||
2 | From: Alan Modra <amodra@gmail.com> | ||
3 | Date: Wed, 19 Feb 2025 07:58:54 +1030 | ||
4 | Subject: [PATCH] PR32716, objdump -i memory leak | ||
5 | |||
6 | PR binutils/32716 | ||
7 | * bucomm.c (display_info): Free arg.info. | ||
8 | |||
9 | Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=ba6ad3a18cb26b79e0e3b84c39f707535bbc344d] | ||
10 | CVE: CVE-2025-3198 | ||
11 | |||
12 | Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com> | ||
13 | --- | ||
14 | binutils/bucomm.c | 1 + | ||
15 | 1 file changed, 1 insertion(+) | ||
16 | |||
17 | diff --git a/binutils/bucomm.c b/binutils/bucomm.c | ||
18 | index 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 @@ | |||
1 | From: Alan Modra <amodra@gmail.com> | ||
2 | Date: Thu, 10 Apr 2025 19:41:49 +0930 | ||
3 | |||
4 | Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=d1458933830456e54223d9fc61f0d9b3a19256f5] | ||
5 | CVE: CVE-2025-5244 | ||
6 | |||
7 | PR32858 ld segfault on fuzzed object | ||
8 | We missed one place where it is necessary to check for empty groups. | ||
9 | |||
10 | Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com> | ||
11 | |||
12 | diff --git a/bfd/elflink.c b/bfd/elflink.c | ||
13 | index 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 | " |
20 | SRC_URI[main.sha256sum] = "229c08b600b1446798109fae1f569228102c8473caba8104b6418cb5bc032878" | 20 | SRC_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/ |
11 | SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}" | 11 | SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}" |
12 | SRC_URI[go_linux_amd64.sha256sum] = "3333f6ea53afa971e9078895eaa4ac7204a8c6b5c68c10e6bc9a33e8e391bdd8" | 12 | SRC_URI[go_linux_amd64.sha256sum] = "77e5da33bb72aeaef1ba4418b6fe511bc4d041873cbf82e5aa6318740df98717" |
13 | SRC_URI[go_linux_arm64.sha256sum] = "a463cb59382bd7ae7d8f4c68846e73c4d589f223c589ac76871b66811ded7836" | 13 | SRC_URI[go_linux_arm64.sha256sum] = "d5501ee5aca0f258d5fe9bfaed401958445014495dc115f202d43d5210b45241" |
14 | SRC_URI[go_linux_ppc64le.sha256sum] = "341a749d168f47b1d4dad25e32cae70849b7ceed7c290823b853c9e6b0df0856" | 14 | SRC_URI[go_linux_ppc64le.sha256sum] = "9ca4afef813a2578c23843b640ae0290aa54b2e3c950a6cc4c99e16a57dec2ec" |
15 | 15 | ||
16 | UPSTREAM_CHECK_URI = "https://golang.org/dl/" | 16 | UPSTREAM_CHECK_URI = "https://golang.org/dl/" |
17 | UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux" | 17 | UPSTREAM_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 @@ | |||
1 | SUMMARY = "Provides enhanced HTTPS support for httplib and urllib2 using PyOpenSSL" | ||
2 | HOMEPAGE = "https://github.com/cedadev/ndg_httpsclient/" | ||
3 | LICENSE = "BSD-3-Clause" | ||
4 | LIC_FILES_CHKSUM = "file://MANIFEST.in;md5=ce22c0cd986d2de3f7073cd6b5523ae0" | ||
5 | |||
6 | SRC_URI[sha256sum] = "d72faed0376ab039736c2ba12e30695e2788c4aa569c9c3e3d72131de2592210" | ||
7 | |||
8 | inherit pypi setuptools3 update-alternatives | ||
9 | |||
10 | PYPI_PACKAGE = "ndg_httpsclient" | ||
11 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | ||
12 | |||
13 | DEPENDS += " \ | ||
14 | python3-pyopenssl \ | ||
15 | python3-pyasn1 \ | ||
16 | " | ||
17 | |||
18 | RDEPENDS:${PN} += " \ | ||
19 | python3-datetime \ | ||
20 | python3-logging \ | ||
21 | python3-pyopenssl \ | ||
22 | python3-pyasn1 \ | ||
23 | " | ||
24 | |||
25 | BBCLASSEXTEND = "native nativesdk" | ||
26 | |||
27 | ALTERNATIVE:${PN} = "ndg_httpclient" | ||
28 | ALTERNATIVE_LINK_NAME[ndg_httpclient] = "${bindir}/ndg_httpclient" | ||
29 | ALTERNATIVE_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 | ||
21 | diff --git a/vendor/libc-0.2.158/.cargo-checksum.json b/vendor/libc-0.2.158/.cargo-checksum.json | ||
22 | index 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"} | ||
29 | diff --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 | ||
30 | index 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; | ||
53 | diff --git a/vendor/libc-0.2.167/.cargo-checksum.json b/vendor/libc-0.2.167/.cargo-checksum.json | 21 | diff --git a/vendor/libc-0.2.167/.cargo-checksum.json b/vendor/libc-0.2.167/.cargo-checksum.json |
54 | index 7ea5d4122..def87f4ef 100644 | 22 | index 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 | |||
24 | index 087df2f8a..00790affb 100644 | 24 | index 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 | -- | 65 | diff --git a/src/bootstrap/src/core/builder/mod.rs b/src/bootstrap/src/core/builder/mod.rs |
45 | 2.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 @@ | |||
1 | Fix bootstrap failure when multilibs are enabled. | ||
2 | |||
3 | Upstream-Status: Backport [https://github.com/rust-lang/rust/commit/139d6ba054a1a4cc5fe64981ad46fd5547bd4916] | ||
4 | |||
5 | Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com> | ||
6 | --- | ||
7 | diff --git a/src/bootstrap/src/core/builder/cargo.rs b/src/bootstrap/src/core/builder/cargo.rs | ||
8 | index 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()); |
46 | diff --git a/library/std/src/sync/poison/rwlock/tests.rs b/library/std/src/sync/poison/rwlock/tests.rs | 46 | diff --git a/library/std/tests/sync/rwlock.rs b/library/std/tests/sync/rwlock.rs |
47 | index 1a9d3d3f12f..0a9cfc48806 100644 | 47 | index 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)); |
117 | diff --git a/library/std/src/sync/poison/mutex/tests.rs b/library/std/src/sync/poison/mutex/tests.rs | 117 | diff --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()); |
128 | diff --git a/library/std/src/sync/poison/mutex/tests.rs b/library/std/src/sync/poison/mutex/tests.rs | 128 | diff --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 | ||
139 | diff --git a/library/std/src/sync/rwlock/tests.rs b/library/std/src/sync/poison/rwlock/tests.rs | 139 | diff --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 | ||
166 | diff --git a/library/core/benches/num/int_log/mod.rs b/library/core/benches/num/int_log/mod.rs | 166 | diff --git a/library/coretests/benches/num/int_log/mod.rs b/library/coretests/benches/num/int_log/mod.rs |
167 | index 3807cd5d76c..018c5c04456 100644 | 167 | index 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 |
178 | diff --git a/compiler/rustc_data_structures/src/tagged_ptr/copy/tests.rs b/compiler/rustc_data_structures/src/tagged_ptr/copy/tests.rs | 178 | diff --git a/compiler/rustc_data_structures/src/tagged_ptr/tests.rs b/compiler/rustc_data_structures/src/tagged_ptr/tests.rs |
179 | index 160af8a65d..686f4607bb 100644 | 179 | index 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; | ||
190 | diff --git a/compiler/rustc_data_structures/src/tagged_ptr/drop/tests.rs b/compiler/rustc_data_structures/src/tagged_ptr/drop/tests.rs | ||
191 | index 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; |
202 | diff --git a/library/std/src/thread/local/tests.rs b/library/std/src/thread/local/tests.rs | 190 | diff --git a/library/std/tests/thread_local/tests.rs b/library/std/tests/thread_local/tests.rs |
203 | index 9d4f52a092..d425e5f7b7 100644 | 191 | index 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") { |
233 | diff --git a/tests/assembly/dwarf-mixed-versions-lto.rs b/tests/assembly/dwarf-mixed-versions-lto.rs | ||
234 | index 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 | ||
249 | diff --git a/tests/codegen/dont-shuffle-bswaps.rs b/tests/codegen/dont-shuffle-bswaps.rs | ||
250 | index 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" | |||
2 | HOMEPAGE = "http://www.rust-lang.org" | 2 | HOMEPAGE = "http://www.rust-lang.org" |
3 | SECTION = "devel" | 3 | SECTION = "devel" |
4 | LICENSE = "(MIT | Apache-2.0) & Unicode-3.0" | 4 | LICENSE = "(MIT | Apache-2.0) & Unicode-3.0" |
5 | LIC_FILES_CHKSUM = "file://../../COPYRIGHT;md5=9c0fae516fe8aaea2fb601db4800daf7" | 5 | LIC_FILES_CHKSUM = "file://../../COPYRIGHT;md5=11a3899825f4376896e438c8c753f8dc" |
6 | 6 | ||
7 | require rust-source.inc | 7 | require 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)" | |||
2 | LICENSE ?= "Apache-2.0-with-LLVM-exception" | 2 | LICENSE ?= "Apache-2.0-with-LLVM-exception" |
3 | HOMEPAGE = "http://www.rust-lang.org" | 3 | HOMEPAGE = "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 | # |
7 | LLVM_RELEASE = "19.1.5" | 7 | LLVM_RELEASE = "19.1.7" |
8 | 8 | ||
9 | require rust-source.inc | 9 | require 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 | ||
7 | SNAPSHOT_VERSION = "1.84.0" | 7 | SNAPSHOT_VERSION = "1.85.0" |
8 | 8 | ||
9 | SRC_URI[rustc-snapshot-aarch64.sha256sum] = "9f5650aece53e083b933a57e5a8e0e2db4479f52ec897d5b6d0f77be6cd50498" | 9 | SRC_URI[rustc-snapshot-aarch64.sha256sum] = "e742b768f67303010b002b515f6613c639e69ffcc78cd0857d6fe7989e9880f6" |
10 | SRC_URI[rust-std-snapshot-aarch64.sha256sum] = "023f0b6153b23ac0e9686c2ab95bc393ee3e295b166bb36de3b4dfb53e3913e0" | 10 | SRC_URI[rust-std-snapshot-aarch64.sha256sum] = "8af1d793f7820e9ad0ee23247a9123542c3ea23f8857a018651c7788af9bc5b7" |
11 | SRC_URI[cargo-snapshot-aarch64.sha256sum] = "68d4ad239b6d1e810e7b8591636dc408cb2c1e89661329fed906febf9c0a9d98" | 11 | SRC_URI[cargo-snapshot-aarch64.sha256sum] = "cdebe48b066d512d664c13441e8fae2d0f67106c2080aa44289d98b24192b8bc" |
12 | SRC_URI[clippy-snapshot-aarch64.sha256sum] = "6022245416a988b9952f36bf20f62de0c2f3337bd150e34439ea6651592ac8ca" | 12 | SRC_URI[clippy-snapshot-aarch64.sha256sum] = "f3b8e769021a6bcee8174ac49a60c367effb6d97af0f2a6c44dc9ea39ff2bda9" |
13 | 13 | ||
14 | SRC_URI[rustc-snapshot-i686.sha256sum] = "f0bc277e8e8c072d20ee91784f919c08b34a65ab56b67bcd2bb98a009cdcf97c" | 14 | SRC_URI[rustc-snapshot-i686.sha256sum] = "c5a5751f3cfa027b53fee83d01dec8e555f3622b6993335aed12b1747aa9543c" |
15 | SRC_URI[rust-std-snapshot-i686.sha256sum] = "e710100be26e742733d445722a37227381f1ec2010664ece85489bc598d70456" | 15 | SRC_URI[rust-std-snapshot-i686.sha256sum] = "401571adfe1223d83ed041e5a8c54c1f3afb3010d1d5b0c1fd79e7da1ab0a0de" |
16 | SRC_URI[cargo-snapshot-i686.sha256sum] = "3a20231475b75f2f6ad0f7c5de283c5706403b41e941d3f1ca6cccfbced214c6" | 16 | SRC_URI[cargo-snapshot-i686.sha256sum] = "3832027242911ab96fd86128587fc563596a5b10e8e38a073facf61c1ac9668f" |
17 | SRC_URI[clippy-snapshot-i686.sha256sum] = "8b5bdd84b9128abc6d61bc1acb60e55eab90e063c7057371b4e6f79aaa1acb9b" | 17 | SRC_URI[clippy-snapshot-i686.sha256sum] = "74ed13a67c6ea0452c0d9e8697c6cfdd8280f983b207187ac93c287f72b65066" |
18 | 18 | ||
19 | SRC_URI[rustc-snapshot-loongarch64.sha256sum] = "33ecfb62afce6e30864f07b4e3b76ac6d9f603a3626e5228ad0d59a7ee263cc1" | 19 | SRC_URI[rustc-snapshot-loongarch64.sha256sum] = "d43d2119ff25d879b2d280d3e5a03fcd21c57a32d479ad5626500c32432f18c9" |
20 | SRC_URI[rust-std-snapshot-loongarch64.sha256sum] = "763b93ca08028a1e63a8a3754ac6118b2659022538e5e33675f2d7620488cd57" | 20 | SRC_URI[rust-std-snapshot-loongarch64.sha256sum] = "2d05f5e13e7cb3ee6b0ca0dcd13a231a28eeb0faa4d15257a35cf7284149cd6a" |
21 | SRC_URI[cargo-snapshot-loongarch64.sha256sum] = "1531b9f3d09983c43f54d7e5ced6b452044e82b24609532e8cee345656e5d8a4" | 21 | SRC_URI[cargo-snapshot-loongarch64.sha256sum] = "9aa447eefcd3ba2f9dbab77596c8669849899ab243543fc8f1914089707081ac" |
22 | SRC_URI[clippy-snapshot-loongarch64.sha256sum] = "80719f10010eaf6a26ba7b2f8c5c7bce3a78fd838cbbe17c00a4e3e7cd45fe5e" | 22 | SRC_URI[clippy-snapshot-loongarch64.sha256sum] = "d437b39465343a71ff475a65acb6c03bc0f800861f293f48accf1fa170458432" |
23 | 23 | ||
24 | SRC_URI[rustc-snapshot-powerpc.sha256sum] = "ac99e907c9819b61de94a6c12b64256661e5d76c53f3ed25246b46741d1dc973" | 24 | SRC_URI[rustc-snapshot-powerpc.sha256sum] = "fbe7154abc641d6cacfdc6239ed4701fc7a09b5046c6d1bd209b59e7f2b2d0f0" |
25 | SRC_URI[rust-std-snapshot-powerpc.sha256sum] = "fdbb75060e59ad59273a8ef11fc2ad61837539686df0e8dfe46107e1b15ab90a" | 25 | SRC_URI[rust-std-snapshot-powerpc.sha256sum] = "ab2d5ac7cd295adaa4d959e8abbf42b372292c95d1a9f18aad64951ad6e2ab2b" |
26 | SRC_URI[cargo-snapshot-powerpc.sha256sum] = "dedcb36320cfa924e2d21552057f88ee8a30c0424802015494c2f6237150ec55" | 26 | SRC_URI[cargo-snapshot-powerpc.sha256sum] = "e67c30a72f969c51ad199084b3ce0cdc573a4e21f732b2cc39dafbcb9807a5ce" |
27 | SRC_URI[clippy-snapshot-powerpc.sha256sum] = "de2413ae321d2bccf77c77acb1e9775b63eca1993ee1450e65e388f029565a51" | 27 | SRC_URI[clippy-snapshot-powerpc.sha256sum] = "497104d49803598cd3801749ac86cb26c88a2bd9c3a8c7bdc18fdf487f4650c0" |
28 | 28 | ||
29 | SRC_URI[rustc-snapshot-powerpc64.sha256sum] = "1f5ff831c9fd97d7d306eb7d99186b9e49f35527144aaabd43f67f04449cd732" | 29 | SRC_URI[rustc-snapshot-powerpc64.sha256sum] = "f8e38291ba4241bc28e9c118d7a449ce3601abdeb2076f2f618858679fb3b929" |
30 | SRC_URI[rust-std-snapshot-powerpc64.sha256sum] = "f2819f8ce1ae41c2c2bcf40fc90d6b1a5d340d3e9558267d464730a797122bf5" | 30 | SRC_URI[rust-std-snapshot-powerpc64.sha256sum] = "e9ff89e759125ad2786ad2f6c40e820095720ea00fba66819d15fba79489430a" |
31 | SRC_URI[cargo-snapshot-powerpc64.sha256sum] = "09d9954bf817404c08a8ac952afe1e086ad11fe20d07522a4bde5f26bf7fb5d2" | 31 | SRC_URI[cargo-snapshot-powerpc64.sha256sum] = "73cf850f6715acbf0029c7e5d4694825f61bd4e193e6413e65a78bcb13df97b7" |
32 | SRC_URI[clippy-snapshot-powerpc64.sha256sum] = "a34cde35f254210cbb212c3fa85411efaa8e70d600d2c2404b7b319eae9b5be6" | 32 | SRC_URI[clippy-snapshot-powerpc64.sha256sum] = "29b63f23cd9af95846a246c9cc8349e514c3fb92ec0c840a38155e252d6cc668" |
33 | 33 | ||
34 | SRC_URI[rustc-snapshot-powerpc64le.sha256sum] = "1f6aa28f848b24d4589277b04535ad0258e72b5fa78a4a85ba6d18db95636d69" | 34 | SRC_URI[rustc-snapshot-powerpc64le.sha256sum] = "371e40f9d6d82aecb056f70f82868d98ddc1c20510aa7d388442ac8d2d86a6ca" |
35 | SRC_URI[rust-std-snapshot-powerpc64le.sha256sum] = "db731e894cce9973ab2b41109c9097d0fc6a49c0d45a0d333bd1547d2c7485a1" | 35 | SRC_URI[rust-std-snapshot-powerpc64le.sha256sum] = "d0cfda4e18623d17922eb367e44ac9549ab3d5fe1c0bdbe0c2c95754255fa705" |
36 | SRC_URI[cargo-snapshot-powerpc64le.sha256sum] = "7dc351327de2567cce2a3387f110cce1db20c68fc529353c5cdef2eada5dbfd8" | 36 | SRC_URI[cargo-snapshot-powerpc64le.sha256sum] = "e1469f4249a7e21f872af487dcd1bd10ce388b5b3679bdab0cb0965e1e30fe47" |
37 | SRC_URI[clippy-snapshot-powerpc64le.sha256sum] = "b53cb58c719b84044de62851b6214db8d504f57ad71e81b373d7dea0393146d8" | 37 | SRC_URI[clippy-snapshot-powerpc64le.sha256sum] = "d8c590bc2e6fc75800e41516427f5095ba0e15d7633167689499fcf6523dc61a" |
38 | 38 | ||
39 | SRC_URI[rustc-snapshot-riscv64gc.sha256sum] = "c0eaf824c7789c94901f895792333595fe131e43f097bcf5987301cc1b14c3f0" | 39 | SRC_URI[rustc-snapshot-riscv64gc.sha256sum] = "2da33044f17a8bc49a1478dc1eb2536df491a44d6e6bb0ec7c86f46877d44e98" |
40 | SRC_URI[rust-std-snapshot-riscv64gc.sha256sum] = "451580f9cdc47eef4efb0986b1960a8f9c4fb0959f81b77eb6292e6bcff9fc64" | 40 | SRC_URI[rust-std-snapshot-riscv64gc.sha256sum] = "0f5ecfe54859bbe715821f982b1a5396784fdf55605d00ece05d3e57a965ed16" |
41 | SRC_URI[cargo-snapshot-riscv64gc.sha256sum] = "3a850b74bdf2c3a5912e9f1ea32aaf1c9ac7c5f89c1c0bcf421b961195833992" | 41 | SRC_URI[cargo-snapshot-riscv64gc.sha256sum] = "c9f28b519799fc2d8089865e30fad04bb5339604d13725365fcd7ad7ee6c1489" |
42 | SRC_URI[clippy-snapshot-riscv64gc.sha256sum] = "fb8c9d489e10a961f9faa550980069738b5f0f68740e34d7b3ee46a262b53af7" | 42 | SRC_URI[clippy-snapshot-riscv64gc.sha256sum] = "9d21bc180196bccdb301e7e03034d3fd0df14b0c6520da0317bba7b1ce385fe8" |
43 | 43 | ||
44 | SRC_URI[rustc-snapshot-s390x.sha256sum] = "7dbc2fc2c04e820f636bfc74093396c55df0296f7ee4f0547bb849d9a9f05fe0" | 44 | SRC_URI[rustc-snapshot-s390x.sha256sum] = "308361737ed522aa77dd8b4ea91b5db244113ada5fa234d3ed008b526d07e2e8" |
45 | SRC_URI[rust-std-snapshot-s390x.sha256sum] = "5208f45cec5f3600f2cbc11d1796bc217f09e9c922689c8e4f0cc3f2b83ebb74" | 45 | SRC_URI[rust-std-snapshot-s390x.sha256sum] = "d25053fbee1a0cb899bac8c8e4968aa35f9c3637e486cb5bb2c79ad43a78f3e7" |
46 | SRC_URI[cargo-snapshot-s390x.sha256sum] = "bdf944ff5c0b97e8b64093fff8d1f63926df86b5e98f91d30c7bd844c6efa20f" | 46 | SRC_URI[cargo-snapshot-s390x.sha256sum] = "7e1defd60095c91ded1612194f811ec5f2fc2e83bb914d35594d01fa3c54049d" |
47 | SRC_URI[clippy-snapshot-s390x.sha256sum] = "b02a586369e6edebb0f0608e396472d1867419213fd01ba32f3c847e4c5a3c07" | 47 | SRC_URI[clippy-snapshot-s390x.sha256sum] = "9780d8c4cfef9d05460b3e540aad142391b2e3994accf8cfc8afb87fefac6cf0" |
48 | 48 | ||
49 | SRC_URI[rustc-snapshot-x86_64.sha256sum] = "a1737d86f80b31a6d48a6726726275dc068ecb930c9635b13aa59999486de837" | 49 | SRC_URI[rustc-snapshot-x86_64.sha256sum] = "7436f13797475082cd87aa65547449e01659d6a810b4cd5f8aedc48bb9f89dfb" |
50 | SRC_URI[rust-std-snapshot-x86_64.sha256sum] = "770237080b9310d126350c3bd70820bd91064c2e96c29ab5f2e002b31b5bd067" | 50 | SRC_URI[rust-std-snapshot-x86_64.sha256sum] = "285e105d25ebdf501341238d4c0594ecdda50ec9078f45095f793a736b1f1ac2" |
51 | SRC_URI[cargo-snapshot-x86_64.sha256sum] = "6c2371488db92a09cd50a1b4045c022f3cf2c643285b3b21105ab5f9b64fd6b6" | 51 | SRC_URI[cargo-snapshot-x86_64.sha256sum] = "0aff33b57b0e0b102d762a2b53042846c1ca346cff4b7bd96b5c03c9e8e51d81" |
52 | SRC_URI[clippy-snapshot-x86_64.sha256sum] = "1db0212c08e126bf6ee28a0d363c5d6859fe357aa9e91d0247059397dbe7e1fd" | 52 | SRC_URI[clippy-snapshot-x86_64.sha256sum] = "0dc3ca1708a6c9eed05d0802364377572b79ff079815b7bcbe8e3991f77c4117" |
53 | 53 | ||
54 | SRC_URI[rust-std-snapshot-i586.sha256sum] = "a877622fbbfa58304c34372d369e95db106cc35758ca59053144bf7d86fbf3fc" | 54 | SRC_URI[rust-std-snapshot-i586.sha256sum] = "3cb7318da10876de14076549d79410a8441923a92d62b616d8c105f5f5cd831b" |
55 | 55 | ||
56 | SRC_URI[rust-std-snapshot-sparc64.sha256sum] = "ecd1662d6cbbb62984ab31ae787442f1ab32caf6bc17260d407b3a94b434ad32" | 56 | SRC_URI[rust-std-snapshot-sparc64.sha256sum] = "65cd47af46a5b74e61ff6ae4cce8a979ee8670a57b8aa61e732828d1da073f73" |
57 | 57 | ||
58 | SRC_URI += " \ | 58 | SRC_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 | " |
14 | SRC_URI[rust.sha256sum] = "b1fbf809efe9f036939401e142631c201a53bcf43ec1696bd9f5290ba236a266" | 13 | SRC_URI[rust.sha256sum] = "d939eada065dc827a9d4dbb55bd48533ad14c16e7f0a42e70147029c82a7707b" |
15 | 14 | ||
16 | RUSTSRC = "${WORKDIR}/rustc-${RUST_VERSION}-src" | 15 | RUSTSRC = "${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" | |||
2 | HOMEPAGE = "http://www.rust-lang.org" | 2 | HOMEPAGE = "http://www.rust-lang.org" |
3 | SECTION = "devel" | 3 | SECTION = "devel" |
4 | LICENSE = "(MIT | Apache-2.0) & Unicode-3.0" | 4 | LICENSE = "(MIT | Apache-2.0) & Unicode-3.0" |
5 | LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=9c0fae516fe8aaea2fb601db4800daf7" | 5 | LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=11a3899825f4376896e438c8c753f8dc" |
6 | 6 | ||
7 | inherit rust | 7 | inherit rust |
8 | inherit cargo_common | 8 | inherit cargo_common |
9 | 9 | ||
10 | DEPENDS += "rust-llvm" | 10 | DEPENDS += "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 |
13 | DEPENDS:append:class-target = " cargo-native rust-native" | 13 | DEPENDS:append:class-target = " cargo-native rust-native" |
14 | DEPENDS:append:class-nativesdk = " cargo-native rust-native" | 14 | DEPENDS:append:class-nativesdk = " cargo-native rust-native" |
15 | 15 | ||
16 | RDEPENDS:${PN}:append:class-target = " gcc g++ binutils" | 16 | RDEPENDS:${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 |
19 | INHIBIT_DEFAULT_RUST_DEPS:class-native = "1" | 19 | INHIBIT_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 | ||
234 | ALLOW_EMPTY:${PN} = "1" | 238 | ALLOW_EMPTY:${PN} = "1" |
235 | 239 | ||
236 | PACKAGES =+ "${PN}-rustdoc ${PN}-tools-clippy ${PN}-tools-rustfmt" | 240 | PACKAGES =+ "${PN}-rustdoc ${PN}-tools-clippy ${PN}-tools-rustfmt ${PN}-zsh-completion" |
237 | FILES:${PN}-rustdoc = "${bindir}/rustdoc" | 241 | FILES:${PN}-rustdoc = "${bindir}/rustdoc" |
238 | FILES:${PN}-tools-clippy = "${bindir}/cargo-clippy ${bindir}/clippy-driver" | 242 | FILES:${PN}-tools-clippy = "${bindir}/cargo-clippy ${bindir}/clippy-driver" |
239 | FILES:${PN}-tools-rustfmt = "${bindir}/rustfmt" | 243 | FILES:${PN}-tools-rustfmt = "${bindir}/rustfmt" |
244 | FILES:${PN}-zsh-completion = "${datadir}/zsh" | ||
245 | |||
240 | RDEPENDS:${PN}-rustdoc = "${PN}" | 246 | RDEPENDS:${PN}-rustdoc = "${PN}" |
241 | RDEPENDS:${PN}-tools-clippy = "${PN}" | 247 | RDEPENDS:${PN}-tools-clippy = "${PN}" |
242 | RDEPENDS:${PN}-tools-rustfmt = "${PN}" | 248 | RDEPENDS:${PN}-tools-rustfmt = "${PN}" |
@@ -252,6 +258,10 @@ rust_do_install() { | |||
252 | rust_runx install | 258 | rust_runx install |
253 | } | 259 | } |
254 | 260 | ||
261 | rust_do_install:append:class-native () { | ||
262 | rm -f ${D}${bindir}/cargo | ||
263 | } | ||
264 | |||
255 | rust_do_install:class-nativesdk() { | 265 | rust_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 @@ | |||
1 | From 05a895b3f996d1ac157d95b04980f5f047e7dbf7 Mon Sep 17 00:00:00 2001 | ||
2 | From: Ross Burton <ross.burton@arm.com> | ||
3 | Date: Fri, 6 Jun 2025 15:23:07 +0100 | ||
4 | Subject: [PATCH] print_pager: add missing includes | ||
5 | |||
6 | When 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 | |||
15 | print_pager.h uses pid_t and FILE, so add the required #includes to | ||
16 | ensure that these are defined. | ||
17 | |||
18 | Upstream-Status: Submitted [https://github.com/plougher/squashfs-tools/pull/314] | ||
19 | Signed-off-by: Ross Burton <ross.burton@arm.com> | ||
20 | --- | ||
21 | squashfs-tools/print_pager.h | 3 +++ | ||
22 | 1 file changed, 3 insertions(+) | ||
23 | |||
24 | diff --git a/squashfs-tools/print_pager.h b/squashfs-tools/print_pager.h | ||
25 | index 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 | -- | ||
39 | 2.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 @@ | |||
1 | From b6e9f4b62cc3e762ceeddc0fc099f7d65f7b7361 Mon Sep 17 00:00:00 2001 | ||
2 | From: Shiji Yang <yangshiji66@outlook.com> | ||
3 | Date: Wed, 4 Jun 2025 19:53:39 +0800 | ||
4 | Subject: [PATCH] thread: add the missing pthread.h header | ||
5 | |||
6 | Fix build error on macos: | ||
7 | |||
8 | In 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 | |||
14 | Signed-off-by: Shiji Yang <yangshiji66@outlook.com> | ||
15 | |||
16 | Upstream-Status: Backport [b6e9f4b62cc3e762ceeddc0fc099f7d65f7b7361] | ||
17 | Signed-off-by: Ross Burton <ross.burton@arm.com> | ||
18 | --- | ||
19 | squashfs-tools/thread.h | 1 + | ||
20 | 1 file changed, 1 insertion(+) | ||
21 | |||
22 | diff --git a/squashfs-tools/thread.h b/squashfs-tools/thread.h | ||
23 | index 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. | ||
3 | SUMMARY = "Tools for manipulating SquashFS filesystems" | 1 | SUMMARY = "Tools for manipulating SquashFS filesystems" |
4 | HOMEPAGE = "https://github.com/plougher/squashfs-tools" | 2 | HOMEPAGE = "https://github.com/plougher/squashfs-tools" |
5 | DESCRIPTION = "Tools to create and extract Squashfs filesystems." | 3 | DESCRIPTION = "Tools to create and extract Squashfs filesystems." |
@@ -7,34 +5,34 @@ SECTION = "base" | |||
7 | LICENSE = "GPL-2.0-only" | 5 | LICENSE = "GPL-2.0-only" |
8 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" | 6 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" |
9 | 7 | ||
10 | PV = "4.6.1" | 8 | SRC_URI = "git://github.com/plougher/squashfs-tools.git;protocol=https;branch=master;tag=${PV} \ |
11 | SRCREV = "d8cb82d9840330f9344ec37b992595b5d7b44184" | 9 | file://pid.patch \ |
12 | SRC_URI = "git://github.com/plougher/squashfs-tools.git;protocol=https;branch=v6.1.1" | 10 | file://thread.patch" |
11 | SRCREV = "2e87d42ed089dc31990d83eeb07437b9d085d6d1" | ||
12 | |||
13 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))" | 13 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))" |
14 | 14 | ||
15 | S = "${WORKDIR}/git" | 15 | S = "${WORKDIR}/git" |
16 | 16 | ||
17 | EXTRA_OEMAKE = "${PACKAGECONFIG_CONFARGS}" | 17 | EXTRA_OEMAKE = "${PACKAGECONFIG_CONFARGS}" |
18 | 18 | ||
19 | PACKAGECONFIG ??= "gzip xz lzo lz4 lzma xattr zstd reproducible" | 19 | PACKAGECONFIG ??= "gzip lz4 xz zstd xattr" |
20 | PACKAGECONFIG[gzip] = "GZIP_SUPPORT=1,GZIP_SUPPORT=0,zlib" | 20 | PACKAGECONFIG[gzip] = "GZIP_SUPPORT=1,GZIP_SUPPORT=0,zlib" |
21 | PACKAGECONFIG[xz] = "XZ_SUPPORT=1,XZ_SUPPORT=0,xz" | 21 | PACKAGECONFIG[xz] = "XZ_SUPPORT=1,XZ_SUPPORT=0,xz" |
22 | PACKAGECONFIG[lzo] = "LZO_SUPPORT=1,LZO_SUPPORT=0,lzo" | 22 | PACKAGECONFIG[lzo] = "LZO_SUPPORT=1,LZO_SUPPORT=0,lzo" |
23 | PACKAGECONFIG[lz4] = "LZ4_SUPPORT=1,LZ4_SUPPORT=0,lz4" | 23 | PACKAGECONFIG[lz4] = "LZ4_SUPPORT=1,LZ4_SUPPORT=0,lz4" |
24 | PACKAGECONFIG[lzma] = "LZMA_XZ_SUPPORT=1,LZMA_XZ_SUPPORT=0,xz" | 24 | PACKAGECONFIG[lzma] = "LZMA_XZ_SUPPORT=1,LZMA_XZ_SUPPORT=0,xz" |
25 | PACKAGECONFIG[xattr] = "XATTR_SUPPORT=1,XATTR_SUPPORT=0,attr" | ||
26 | PACKAGECONFIG[zstd] = "ZSTD_SUPPORT=1,ZSTD_SUPPORT=0,zstd" | 25 | PACKAGECONFIG[zstd] = "ZSTD_SUPPORT=1,ZSTD_SUPPORT=0,zstd" |
27 | PACKAGECONFIG[reproducible] = "REPRODUCIBLE_DEFAULT=1,REPRODUCIBLE_DEFAULT=0," | 26 | PACKAGECONFIG[xattr] = "XATTR_SUPPORT=1,XATTR_SUPPORT=0,attr" |
28 | 27 | ||
29 | do_compile() { | 28 | do_compile() { |
30 | cd ${S}/squashfs-tools | 29 | oe_runmake -C ${S}/squashfs-tools all |
31 | oe_runmake all | ||
32 | } | 30 | } |
33 | 31 | ||
34 | do_install() { | 32 | do_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 |
6 | export PATH="/tmp:${PATH}" | 6 | export PATH="/tmp:${PATH}" |
7 | 7 | ||
8 | # Add findutils ptest directory to PATH for getlimits | ||
9 | export PATH="/usr/lib/findutils/ptest:${PATH}" | ||
10 | |||
8 | export built_programs="find xargs locate updatedb" | 11 | export 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" | |||
15 | EXTRA_OECONF += "ac_cv_path_SORT=${bindir}/sort" | 15 | EXTRA_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 |
18 | RDEPENDS:${PN}-ptest += "bash sed grep coreutils coreutils-getlimits" | 18 | RDEPENDS:${PN}-ptest += "bash sed grep coreutils" |
19 | 19 | ||
20 | do_install_ptest:class-target() { | 20 | do_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 | " |
17 | UPSTREAM_CHECK_COMMITS = "1" | 17 | UPSTREAM_CHECK_COMMITS = "1" |
18 | 18 | ||
19 | SRCREV = "05f02cb2ff1787892cba38c3b609f892419bae87" | 19 | SRCREV = "a0a27e528f643dfeb785350a1213bfff09681950" |
20 | # (when PV goes above 1.0 remove the trailing r) | 20 | # (when PV goes above 1.0 remove the trailing r) |
21 | PV = "1.0+gitr" | 21 | PV = "1.0+gitr" |
22 | 22 | ||
@@ -25,7 +25,7 @@ S = "${WORKDIR}/git" | |||
25 | X11_DEPS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxrender libglu', '', d)}" | 25 | X11_DEPS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxrender libglu', '', d)}" |
26 | X11_RDEPS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'mesa-demos', '', d)}" | 26 | X11_RDEPS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'mesa-demos', '', d)}" |
27 | 27 | ||
28 | DEPENDS = "libpng waffle libxkbcommon python3-mako-native python3-numpy-native python3-six-native virtual/egl" | 28 | DEPENDS = "libpng waffle libxkbcommon python3-mako-native python3-numpy-native virtual/egl" |
29 | 29 | ||
30 | inherit cmake pkgconfig python3native features_check bash-completion | 30 | inherit cmake pkgconfig python3native features_check bash-completion |
31 | 31 | ||
@@ -64,7 +64,7 @@ INHIBIT_PACKAGE_DEBUG_SPLIT = "1" | |||
64 | RDEPENDS:${PN} = "waffle waffle-bin python3 python3-mako python3-json \ | 64 | RDEPENDS:${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 @@ | |||
1 | From 71e4ffd46dbbb7de1d06edb66f3e1fe0de423586 Mon Sep 17 00:00:00 2001 | ||
2 | From: Alexander Kanavin <alex@linutronix.de> | ||
3 | Date: Wed, 21 May 2025 13:25:46 +0200 | ||
4 | Subject: [PATCH] python/Makefile.am: use absolute path for source directory | ||
5 | includes as well | ||
6 | |||
7 | Otherwise it would be relative to the build directory, | ||
8 | which works only if the build and source directory are in the | ||
9 | same parent directory, and breaks if they're on different levels. | ||
10 | |||
11 | Upstream-Status: Submitted [by email to fche@redhat.com,wcohen@redhat.com,systemtap@sourceware.org] | ||
12 | Signed-off-by: Alexander Kanavin <alex@linutronix.de> | ||
13 | --- | ||
14 | python/Makefile.am | 4 ++-- | ||
15 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
16 | |||
17 | diff --git a/python/Makefile.am b/python/Makefile.am | ||
18 | index 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 | -- | ||
35 | 2.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 | |||
9 | SRC_URI += " \ | 9 | SRC_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 | ||
14 | DEPENDS = "elfutils" | 15 | DEPENDS = "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 @@ | |||
1 | From 859e58b440e64aeec446ae0a923a638e4203f408 Mon Sep 17 00:00:00 2001 | ||
2 | From: Tim Terriberry <tterribe@xiph.org> | ||
3 | Date: Fri, 20 May 2011 20:41:50 +0000 | ||
4 | Subject: [PATCH] Make autoreconf -i -f work. | ||
5 | |||
6 | Patch from David Schleef. | ||
7 | |||
8 | svn path=/trunk/theora/; revision=17990 | ||
9 | |||
10 | Upstream-Status: Backport | ||
11 | Signed-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 | |||
17 | diff --git a/Makefile.am b/Makefile.am | ||
18 | index 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 | ||
30 | diff --git a/configure.ac b/configure.ac | ||
31 | index 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 @@ | |||
1 | Upstream-Status: Inappropriate [configuration] | ||
2 | |||
3 | Index: 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 @@ | |||
1 | From 0880595f9b08d15da0e72cefaf24841cbb930883 Mon Sep 17 00:00:00 2001 | ||
2 | From: Gyorgy Sarvari <skandigraun@gmail.com> | ||
3 | Date: Sat, 7 Jun 2025 14:10:40 +0200 | ||
4 | Subject: [PATCH] add missing files | ||
5 | |||
6 | Due to a release issue, two files were not added to the libtheora 1.2.0 | ||
7 | release tarball - these files are required to be able to build the | ||
8 | library for 32-bit ARM systems along with assembly optimization. | ||
9 | |||
10 | This patch adds these files. | ||
11 | |||
12 | This is not a code issue per-se, rather a tarballing one, as the files | ||
13 | are present in the source code repository. | ||
14 | |||
15 | Upstream-Status: Backport [https://gitlab.xiph.org/xiph/theora/-/issues/2338] | ||
16 | |||
17 | Signed-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 | |||
25 | diff --git a/lib/arm/armenc.c b/lib/arm/armenc.c | ||
26 | new file mode 100644 | ||
27 | index 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 | ||
88 | diff --git a/lib/arm/armloop.s b/lib/arm/armloop.s | ||
89 | new file mode 100644 | ||
90 | index 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" | |||
8 | DEPENDS = "libogg" | 8 | DEPENDS = "libogg" |
9 | 9 | ||
10 | 10 | ||
11 | SRC_URI = "http://downloads.xiph.org/releases/theora/libtheora-${PV}.tar.bz2 \ | 11 | SRC_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 | ||
15 | SRC_URI[sha256sum] = "b6ae1ee2fa3d42ac489287d3ec34c5885730b1296f0801ae577a35193d3affbc" | 14 | SRC_URI[sha256sum] = "ebdf77a8f5c0a8f7a9e42323844fa09502b34eb1d1fece7b5f54da41fe2122ec" |
16 | 15 | ||
17 | UPSTREAM_CHECK_REGEX = "libtheora-(?P<pver>\d+(\.\d)+)\.(tar\.gz|tgz)" | 16 | UPSTREAM_CHECK_REGEX = "libtheora-(?P<pver>\d+(\.\d)+)\.(tar\.gz|tgz)" |
18 | 17 | ||
19 | inherit autotools pkgconfig | 18 | inherit autotools pkgconfig |
20 | 19 | ||
21 | EXTRA_OECONF = "--disable-examples" | 20 | EXTRA_OECONF = "--disable-examples --disable-doc" |
21 | |||
22 | # these old architectures don't support all the instructions from the asm source files | ||
23 | EXTRA_OECONF:append:armv4 = " --disable-asm " | ||
24 | EXTRA_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" | |||
10 | SRC_URI = "git://git.tartarus.org/simon/puzzles.git;branch=main;protocol=https" | 10 | SRC_URI = "git://git.tartarus.org/simon/puzzles.git;branch=main;protocol=https" |
11 | 11 | ||
12 | UPSTREAM_CHECK_COMMITS = "1" | 12 | UPSTREAM_CHECK_COMMITS = "1" |
13 | SRCREV = "7da46412223273b3adf6d513466342b9d3a5c869" | 13 | SRCREV = "7fa03051562ee81e2a5371f8b3a6d0bb6e646aa0" |
14 | PE = "2" | 14 | PE = "2" |
15 | PV = "0.0+git" | 15 | PV = "0.0+git" |
16 | 16 | ||