Compare commits

...

181 Commits
f25 ... rawhide

Author SHA1 Message Date
Josh Stone 6fff218b19 Update to 1.70.0. 2023-06-01 12:46:43 -07:00
Josh Stone ff66501ce9 Apply set_build_flags on rhel 2023-05-24 08:58:17 -07:00
Jesus Checa Hidalgo 8745dbe4c6 Add rpminspect.yaml config file
Added suppresion for reduced debuginfo in i386 builds.
2023-05-08 11:47:54 +00:00
Josh Stone 777115da9e Fix debuginfo with LLVM 16 2023-05-05 13:28:08 -07:00
Josh Stone 41fd9d7898 Build with LLVM 15 on Fedora 38+ 2023-05-01 10:07:31 -07:00
Josh Stone 77613da92c Update to 1.69.0.
Obsolete rust-analysis.
2023-04-20 09:47:54 -07:00
Josh Stone 7ac7a42b5e Update to 1.68.2. 2023-03-28 10:11:01 -07:00
Josh Stone b4bb093ae0 Update to 1.68.1. 2023-03-23 08:42:27 -07:00
Josh Stone a07799699f Update to 1.68.0. 2023-03-09 08:52:34 -08:00
David Michael b85b429e00 Add a virtual Provides to rust-std-static with the target triple
This supports depending on a variable target using something like
the following since the other target stdlib subpackages are named
by this convention.

    BuildRequires:  rust-std-static-%{cargo_target}
2023-03-07 10:34:35 -08:00
Orion Poplawski 7f5b9608ec Make rust-toolset noarch 2023-03-06 15:11:28 -08:00
Orion Poplawski 375b75425b Ship rust-toolset for EPEL7 2023-03-06 15:11:28 -08:00
Josh Stone f50b7f0c26 fedpkg new-sources 2023-02-09 16:56:40 -08:00
Josh Stone 752fe3bcd2 Update to 1.67.1. 2023-02-09 16:52:15 -08:00
Josh Stone d8cb2d0d2e Unbundle libgit2 on Fedora 38. 2023-02-03 14:44:01 -08:00
Adam Williamson de19464425 Drop private build tag inadvertently left in release 2023-01-27 15:02:29 -08:00
Adam Williamson 23df2b257f Backport a couple of fixes from upstream
One fix to a problem that broke mesa build, and one fix to a
problem that broke rust bootstrap.
2023-01-27 15:00:45 -08:00
Josh Stone d90cdf5795 Update to 1.67.0. 2023-01-26 12:09:44 -08:00
Fedora Release Engineering 4ee64c64a1 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-20 21:24:34 +00:00
Jesus Checa Hidalgo dbc2fd6f22 rpmbuild-librsvg2: Get deps from srpm instead spec file to generate the dynamic dependencies 2023-01-11 19:29:09 +01:00
Josh Stone 256f31f182 fedpkg new-sources 2023-01-10 18:30:35 -08:00
Josh Stone 5a745388ed Update to 1.66.1.
Security fix for CVE-2022-46176
2023-01-10 18:05:07 -08:00
Josh Stone 1f0d4ff0a2 Update CI plan to tmt 2023-01-04 10:51:03 -08:00
Josh Stone 5379ac25ac Update to 1.66.0. 2022-12-15 09:12:22 -08:00
Josh Stone f5bf4afaf1 Update to 1.65.0.
rust-analyzer now obsoletes rls.
2022-11-03 11:11:45 -07:00
Josh Stone fbf19ab00e Update to 1.64.0.
Add rust-analyzer.
2022-09-22 13:06:42 -07:00
Josh Stone f4ffb080ba Update to 1.63.0. 2022-08-11 09:02:28 -07:00
Fedora Release Engineering f8bc0ed0d9 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-23 02:34:28 +00:00
Josh Stone 329f0aa507 Update to 1.62.1. 2022-07-19 09:10:30 -07:00
Josh Stone 9079a8b665 Prevent unsound coercions from functions with opaque return types. 2022-07-13 12:50:50 -07:00
Josh Stone da6e6dd42c Update to 1.62.0. 2022-06-30 09:43:59 -07:00
Josh Stone f2eed3dd39 Add missing target_feature to the list of well known cfg names 2022-05-23 15:42:58 -07:00
Josh Stone 3c34da705b Update to 1.61.0.
Add rust-toolset for ELN.
2022-05-19 16:19:51 -07:00
Josh Stone 70748e85ce re-add a broken patch rename 2022-04-07 10:33:38 -07:00
Josh Stone 04da44cfe0 Update to 1.60.0. 2022-04-07 10:16:05 -07:00
Josh Stone 2732633a74 split up the bootstrap downloads 2022-03-25 14:27:29 -07:00
Josh Stone 96205271fc Fix the archive index for wasm32-wasi's libc.a 2022-03-25 13:32:40 -07:00
Stephen Gallagher 58058fcf89
Rebuild against the bootstrapped build
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-03-04 16:54:46 -05:00
Stephen Gallagher eb8a9d02cd
Bootstrapping for Fedora ELN
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-03-04 11:39:28 -05:00
Josh Stone ca44879840 Fix s390x hangs, rhbz#2058803 2022-03-01 17:32:36 -08:00
Josh Stone e605359b2b Update to 1.59.0.
Revert to libgit2 1.3.x
2022-02-24 11:40:26 -08:00
Igor Raits a929a38db9
Rebuild for libgit2 1.4.x
Signed-off-by: Igor Raits <igor.raits@gmail.com>
2022-02-20 19:43:35 +01:00
Josh Stone 820e900bd0 Update to 1.58.1. 2022-01-20 16:08:45 -08:00
Josh Stone 26168805e8 Update to 1.58.0. 2022-01-13 11:41:45 -08:00
Josh Stone 36c3018948 Add MinGW targets
- Add `rust-std-static-i686-pc-windows-gnu`, which also provides `mingw32-rust`.
- Add `rust-std-static-x86_64-pc-windows-gnu`, which also provides `mingw64-rust`.
2022-01-06 12:51:58 -08:00
Josh Stone b4ce4e3b09 Update to 1.57.0, fixes rhbz#2028675.
Backport rust#91070, fixes rhbz#1990657
Add rust-std-static-wasm32-wasi
2021-12-02 15:05:01 -08:00
Igor Raits 7b8811c5df
De-bootstrap
Signed-off-by: Igor Raits <ignatenkobrain@fedoraproject.org>
2021-11-28 22:24:16 +01:00
Igor Raits b71ab25d58
fixup! Bootstrap
Signed-off-by: Igor Raits <ignatenkobrain@fedoraproject.org>
2021-11-28 16:01:43 +01:00
Igor Raits 7ece76136b
Bootstrap
Signed-off-by: Igor Raits <ignatenkobrain@fedoraproject.org>
2021-11-28 15:38:29 +01:00
Igor Raits 87168d10f5
Rebuild for libgit2 1.3.x
Signed-off-by: Igor Raits <ignatenkobrain@fedoraproject.org>
2021-11-28 15:36:49 +01:00
Josh Stone a30f744cc0 Update to 1.56.1. 2021-11-01 10:13:10 -07:00
Josh Stone 917b223b5e Update to 1.56.0. 2021-10-21 12:29:34 -07:00
Jesus Checa Hidalgo d0d893f8a2 Ensure that rust don't break other packages
Added two tests that build stratisd and librsvg2. Rust is listed
as BuildRequires in those packages, so the aim of these tests is to
detect upfront if rust breaks depending packages builds.
2021-10-19 10:15:25 +02:00
Sahana Prasad 59cd56ee37 Rebuilt with OpenSSL 3.0.0 2021-09-14 19:14:06 +02:00
Jesus Checa Hidalgo 2513da263a Add wasm target smoke test 2021-09-10 16:08:01 +00:00
Jesus Checa Hidalgo 02dbc18c83 Add missing .fmf directory for CI tests 2021-09-10 16:08:01 +00:00
Josh Stone 8107b9011e unset bootstrap_arches 2021-09-09 16:51:23 -07:00
Josh Stone e675755a18 Update to 1.55.0.
Use llvm-ranlib for wasm rlibs; Fixes rhbz#2002612
2021-09-09 16:42:58 -07:00
Jesus Checa Hidalgo ffcb56b1e5 Added basic CI gating tests 2021-09-07 17:38:53 +02:00
Josh Stone 8df8326f7e Build with LLVM 12 on Fedora 35+ 2021-08-24 11:33:19 -07:00
Josh Stone 9e24510b77 Update to 1.54.0. 2021-07-29 09:14:40 -07:00
Fedora Release Engineering c2603b2286 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 12:57:15 +00:00
Josh Stone 9e0cdcfa93 Clean some temporary files to reduce total disk space 2021-07-21 09:44:42 -07:00
Josh Stone bb1cdb7330 noarch+ExcludeArch doesn't work on subpackages 2021-07-15 13:52:24 -07:00
Josh Stone e9feea05d7 Exclude wasm on s390x for lack of lld 2021-07-08 17:13:17 -07:00
Josh Stone 2104887fc0 Use llvm11 and devtoolset-9 for epel7 2021-06-18 09:41:37 -07:00
Josh Stone 1cf4ed42e3 Merge branch 'f34' into rawhide 2021-06-17 11:10:32 -07:00
Josh Stone d498bc15d8 Update to 1.53.0. 2021-06-17 10:45:34 -07:00
Josh Stone ebd24b3917 Add rust-std-static-wasm32-unknown-unknown.
This change is partly based on an older pull request:
https://src.fedoraproject.org/rpms/rust/pull-request/6

Co-authored-by: Ivan Mironov <mironov.ivan@gmail.com>
2021-06-02 15:27:34 -07:00
Josh Stone fa5bf8c598 Set rust.codegen-units-std=1 for all targets again. 2021-06-02 15:27:05 -07:00
Josh Stone 078a6925f5 Rebuild f34 with LLVM 12. 2021-05-14 12:49:12 -07:00
Josh Stone a8550e8fec Update to 1.52.1. 2021-05-10 10:39:06 -07:00
Josh Stone 6231b0ba09 Fall back to LLVM 11 on f34 for now... 2021-05-07 11:20:45 -07:00
Josh Stone 3458295682 Update to 1.52.0. 2021-05-06 09:24:31 -07:00
Josh Stone 1cb0a34c53 Security fixes for CVE-2020-36323, CVE-2021-31162 2021-04-16 13:45:09 -07:00
Josh Stone 5789d99323 Fix bootstrap for stage0 rust 1.51 2021-04-14 18:43:41 -07:00
Josh Stone 546915fc9c Security fixes for CVE-2021-28876, CVE-2021-28878, CVE-2021-28879 2021-04-14 17:28:06 -07:00
Josh Stone 85a5f3ae28 Update to 1.51.0. 2021-03-25 11:38:09 -07:00
Josh Stone 8148cbf678 Update to 1.50.0. 2021-02-19 10:25:21 -08:00
Fedora Release Engineering 259615dcc0 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-27 16:44:01 +00:00
Josh Stone 3aadadbd4b Update to 1.49.0. 2021-01-05 16:07:24 -08:00
Igor Raits 35653afd8f
Revert "Bootstrap"
This reverts commit f6db939d0c.
2020-12-29 08:43:23 +01:00
Igor Raits f6db939d0c
Bootstrap
Signed-off-by: Igor Raits <ignatenkobrain@fedoraproject.org>
2020-12-28 19:54:38 +01:00
Igor Raits 28e90c2b9d
fixup! Build with bundled libgit2 (to avoid re-bootstrap)
Signed-off-by: Igor Raits <ignatenkobrain@fedoraproject.org>
2020-12-28 19:38:13 +01:00
Igor Raits 8d20a2058a
Build with bundled libgit2 (to avoid re-bootstrap)
Signed-off-by: Igor Raits <ignatenkobrain@fedoraproject.org>
2020-12-28 19:37:47 +01:00
Igor Raits e3b256c65f
Rebuild for libgit2 1.1.x
Signed-off-by: Igor Raits <ignatenkobrain@fedoraproject.org>
2020-12-28 19:00:26 +01:00
Josh Stone 6c5b725759 Never bundle libssh2 2020-12-01 17:28:02 -08:00
Josh Stone 457f56dd25 Update to 1.48.0. 2020-11-19 10:47:24 -08:00
Jeff Law f92bb2f31c Re-enable LTO 2020-10-10 20:06:02 -06:00
Josh Stone 8efa6f4d09 Make tests explicitly use stage 2 2020-10-10 10:00:19 -07:00
Josh Stone 51a2a836f9 Fix the doc link to raw::stat on s390x 2020-10-09 20:31:11 -07:00
Josh Stone aac4471f40 Update to 1.47.0. 2020-10-09 16:13:53 -07:00
Fabio Valentini aacb4980d2
fix LTO with doctests (backported cargo PR#8657) 2020-08-28 23:45:56 +02:00
Josh Stone 105a7c0012 Update to 1.46.0.
I've unbundled libgit2 for fedora >= 32, where we have libgit2-1.0.1.

I've also pulled in some RHEL config and patches I had in other
branches, but these should end up as no-ops for Fedora.
2020-08-27 10:49:15 -07:00
Josh Stone 99cf40c754 Update to 1.45.2. 2020-08-03 10:33:21 -07:00
Josh Stone d2688a5518 Update to 1.45.1. 2020-07-30 11:41:32 -07:00
Fedora Release Engineering 2023d1f6b7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-29 07:19:49 +00:00
Josh Stone d62a20a4de Update to 1.45.0. 2020-07-16 11:04:22 -07:00
Jeff Law bd38d989dc Disable LTO 2020-07-01 15:31:23 -06:00
Josh Stone 560777dfc7 Update to 1.44.1. 2020-06-18 09:47:06 -07:00
Josh Stone d921e9b0a9 Update to 1.44.0. 2020-06-04 11:59:31 -07:00
Josh Stone 52b63674b5 Update to 1.43.1. 2020-05-07 11:29:23 -07:00
Josh Stone dd62b35683 Update to 1.43.0. 2020-04-23 10:51:59 -07:00
Josh Stone 3d7a297b89 Fix 1.42 bootstrapping itself 2020-03-12 13:07:46 -07:00
Josh Stone a4c430044f Update to 1.42.0. 2020-03-12 10:06:33 -07:00
Josh Stone 682c207f08 For older rpm's sake, don't use %elif 2020-02-27 13:32:34 -08:00
Josh Stone f5e3ba5729 fedpkg new-sources 2020-02-27 09:23:45 -08:00
Josh Stone 269b322b5c Update to 1.41.1. 2020-02-27 09:21:31 -08:00
Josh Stone 9b4ad1ffb1 Rebuild with llvm9.0 2020-02-20 14:49:18 -08:00
Josh Stone a22d8f719c Reintroduce the workaround for LLVM library path
This reverts commit 93ecbc5a13,
reintroducing the workaround for rust#40717, now rust#68714.
2020-01-31 13:57:18 -08:00
Josh Stone b2dedbd4bd Update to 1.41.0. 2020-01-30 10:42:52 -08:00
Josh Stone d39c26097c Build compiletest with in-tree libtest 2020-01-16 16:52:05 -08:00
Josh Stone f1f40ebcbe Fix compiletest with newer (local-rebuild) libtest
Fix ARM EHABI unwinding
2020-01-08 09:02:41 -08:00
Josh Stone f88be12b0c Update to 1.40.0. 2019-12-19 08:54:43 -08:00
Josh Stone 13639c9e59 Fix a couple build and test issues with rustdoc. 2019-11-12 11:36:54 -08:00
Josh Stone 23326e0036 Update to 1.39.0. 2019-11-07 09:29:18 -08:00
Josh Stone 963b518699 Filter the libraries included in rust-std (rhbz1756487) 2019-09-27 15:22:39 -07:00
Josh Stone 3c6623c53d Update to 1.38.0. 2019-09-26 12:33:47 -07:00
Josh Stone b93df249e6 Update to 1.37.0. 2019-08-15 10:58:04 -07:00
Fedora Release Engineering b2f7d9d1ce - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-26 20:27:53 +00:00
Josh Stone 2dfcd0dcd8 Update bootstrap sources 2019-07-04 18:46:34 -04:00
Josh Stone beb6bc01ac Update to 1.36.0. 2019-07-04 07:31:02 -07:00
Josh Stone b154e89c6c Fix compiletest for rebuild testing.
Related: rhbz1680091
2019-05-29 20:11:51 -07:00
Josh Stone 3edbbaee75 Update to 1.35.0. 2019-05-23 14:44:22 -07:00
Josh Stone daa1d071bf Update to 1.34.2 -- fixes CVE-2019-12083. 2019-05-14 09:18:06 -07:00
Josh Stone 039aee859f Set rust.codegen-units-std=1
Upstream started this in https://github.com/rust-lang/rust/pull/55264,
which was released in Rust 1.32.
2019-04-30 12:03:54 -07:00
Josh Stone 28c453df23 Remove the ThinLTO workaround. 2019-04-26 16:39:27 -07:00
Josh Stone e72f8fbbbb Update to 1.34.1.
Add a ThinLTO fix for rhbz1701339.
2019-04-26 09:12:54 -07:00
Josh Stone 58b5337e4c Update to 1.34.0. 2019-04-11 10:55:26 -07:00
Josh Stone 93ecbc5a13 Remove the workaround for rust#40717 2019-03-25 15:45:14 -07:00
Josh Stone f712684d1b Fix deprecations for self-rebuild 2019-03-01 11:17:36 -08:00
Josh Stone a87304bdb0 Disable debuginfo on s390x (oom-kill) 2019-03-01 09:04:27 -08:00
Josh Stone aa7902f580 Use a wildcard to exclude miri 2019-03-01 09:04:21 -08:00
Josh Stone eedc93590e Update to 1.33.0. 2019-02-28 11:53:56 -08:00
Fedora Release Engineering 2503a331a1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-02 13:20:15 +00:00
Josh Stone 72d7be38d8 Update to 1.32.0. 2019-01-17 12:23:33 -08:00
Josh Stone 86aff7c861 Update to 1.31.1 for RLS fixes. 2019-01-07 12:12:34 -08:00
Josh Stone 26d7cf9ffd Update to 1.31.0 -- Rust 2018!
clippy/rls/rustfmt are no longer -preview
2018-12-06 09:51:44 -08:00
Josh Stone 02208e399f Update to 1.30.1. 2018-11-08 14:13:10 -08:00
Josh Stone 3fff7a4653 Update to 1.30.0. 2018-10-25 11:24:43 -07:00
Josh Stone 6cdc8d05a3 Comment why we're disabling debuginfo on old rpmbuild 2018-10-25 09:57:24 -07:00
Pablo Sebastián Greco 9e518e01bf Disable all 32-bit debuginfo on fedora < 27 and rhel <= 7 2018-10-25 09:57:24 -07:00
Josh Stone 0787418a23 Rebuild without bootstrap binaries. 2018-10-22 09:26:31 -07:00
Josh Stone 5cb6c7c6f3 Re-bootstrap armv7hl due to rhbz#1639485 2018-10-19 17:07:28 -07:00
Josh Stone e2862ab0b7 Update to 1.29.2. 2018-10-12 10:14:55 -07:00
Josh Stone 6ae43e1a3e Update to 1.29.1.
Security fix for str::repeat (pending CVE).
2018-09-25 11:34:32 -07:00
Josh Stone 7524bca2df Update to 1.29.0.
Add a clippy-preview subpackage
2018-09-13 13:36:08 -07:00
Josh Stone 1917fae5ec Use llvm6.0 instead of llvm-7 for now 2018-08-13 15:22:08 -07:00
Josh Stone 5eabb0b0b3 Remove backup files from %%configure munging 2018-08-10 12:41:09 -07:00
Josh Stone e5fcf71650 Exclude rust-src from auto-requires 2018-08-07 17:00:34 -07:00
Josh Stone 7273060c05 Rebuild for LLVM ppc64/s390x fixes 2018-08-06 19:59:39 -07:00
Josh Stone c81e0e54b1 Update to 1.28.0. 2018-08-02 14:25:13 -07:00
Josh Stone 63599d0572 Update to 1.27.2. 2018-07-24 10:58:00 -07:00
Fedora Release Engineering 507a2f126b - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-14 04:58:56 +00:00
Josh Stone dcadfa5c90 1.27.1 fixed CVE-2018-1000622 2018-07-10 22:47:41 -07:00
Josh Stone e5aa295daa Update to 1.27.1. 2018-07-10 14:50:37 -07:00
Josh Stone 143aecadf1 Update to 1.27.0. 2018-06-21 16:49:11 -07:00
Josh Stone 9552deab48 Remove the gdb workaround 2018-06-12 16:15:57 -07:00
Josh Stone 820f98e2ae Rebuild without bootstrap binaries. 2018-06-05 21:36:55 -07:00
Josh Stone 44ab18b9a0 Temporarily disable debuginfo-gdb tests on rawhide 2018-06-05 13:25:30 -07:00
Josh Stone 43909be7e9 reduce debuginfo on i686 too (LLVM ERROR: out of memory) 2018-06-05 12:06:03 -07:00
Josh Stone b006a10600 new-sources 2018-06-05 10:46:32 -07:00
Josh Stone 59bda43d25 Update to 1.26.2.
Re-bootstrap to deal with LLVM symbol changes.
2018-06-05 10:43:45 -07:00
Josh Stone 225f76f4c7 Update to 1.26.1. 2018-05-29 11:39:30 -07:00
Josh Stone 3212aa76cb Add rust#50789 to fix same-version bootstrap
We don't need to rebuild for this patch now, but it will correct the
FTBFS that Koschei is currently reporting.
2018-05-16 10:28:26 -07:00
Josh Stone 72ac66629d Update to 1.26.0. 2018-05-10 11:32:50 -07:00
Josh Stone 8ccb982681 Add a %bcond for libgit2 2018-04-18 13:14:57 -07:00
Josh Stone 661ac15382 remove unused patch 2018-04-18 13:12:26 -07:00
Dan Callaghan 4fd41d0a29 Add cargo, rls, and analysis 2018-04-18 15:54:53 +10:00
Josh Stone be4334fc3c Filter codegen-backends from Provides too. 2018-04-11 10:57:18 -07:00
Josh Stone 2e4d8937f2 Update to 1.25.0. 2018-03-29 11:04:58 -07:00
Josh Stone 1bb4d24c06 Update to 1.24.1. 2018-03-01 17:32:55 -08:00
Josh Stone c25b6ed664 Backport a rebuild fix for rust#48308. 2018-02-21 19:47:41 -08:00
Josh Stone 1fe43a8148 rhbz1546541: drop full-bootstrap; cmp libs before symlinking.
Backport pr46592 to fix local_rebuild bootstrapping.
Backport pr48362 to fix relative/absolute libdir.
2018-02-19 17:00:48 -08:00
Josh Stone 216b2d2771 Update to 1.24.0. 2018-02-15 15:38:13 -08:00
Iryna Shcherbina 559c48d58a Update Python 2 dependency declarations to new packaging standards 2018-02-12 09:35:26 +01:00
Josh Stone d93a6f052c Patch binaryen for GCC 8 2018-02-06 23:37:33 -08:00
Josh Stone 87264cb5b7 Use full-bootstrap to work around a rebuild issue. 2018-02-06 23:26:22 -08:00
Igor Gnatenko ba2e3fd314
Switch to %ldconfig_scriptlets
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-01 06:02:28 +01:00
Josh Stone d6d1480fae Update to 1.23.0. 2018-01-08 11:40:04 -08:00
Josh Stone 6d1921218e Update to 1.22.1. 2017-11-23 14:41:32 -08:00
34 changed files with 2357 additions and 801 deletions

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

339
.gitignore vendored
View File

@ -81,3 +81,342 @@
/rust-1.20.0-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.20.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.20.0-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.22.1-src.tar.xz
/rust-1.21.0-aarch64-unknown-linux-gnu.tar.xz
/rust-1.21.0-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.21.0-i686-unknown-linux-gnu.tar.xz
/rust-1.21.0-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.21.0-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.21.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.21.0-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.23.0-src.tar.xz
/rust-1.22.0-aarch64-unknown-linux-gnu.tar.xz
/rust-1.22.0-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.22.0-i686-unknown-linux-gnu.tar.xz
/rust-1.22.0-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.22.0-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.22.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.22.0-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.24.0-src.tar.xz
/rust-1.23.0-aarch64-unknown-linux-gnu.tar.xz
/rust-1.23.0-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.23.0-i686-unknown-linux-gnu.tar.xz
/rust-1.23.0-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.23.0-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.23.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.23.0-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.24.1-src.tar.xz
/rustc-1.25.0-src.tar.xz
/rust-1.24.0-aarch64-unknown-linux-gnu.tar.xz
/rust-1.24.0-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.24.0-i686-unknown-linux-gnu.tar.xz
/rust-1.24.0-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.24.0-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.24.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.24.0-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.26.0-src.tar.xz
/rust-1.25.0-aarch64-unknown-linux-gnu.tar.xz
/rust-1.25.0-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.25.0-i686-unknown-linux-gnu.tar.xz
/rust-1.25.0-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.25.0-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.25.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.25.0-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.26.1-src.tar.xz
/rustc-1.26.2-src.tar.xz
/rustc-1.27.0-src.tar.xz
/rust-1.26.0-aarch64-unknown-linux-gnu.tar.xz
/rust-1.26.0-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.26.0-i686-unknown-linux-gnu.tar.xz
/rust-1.26.0-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.26.0-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.26.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.26.0-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.27.1-src.tar.xz
/rustc-1.27.2-src.tar.xz
/rustc-1.28.0-src.tar.xz
/rust-1.27.2-aarch64-unknown-linux-gnu.tar.xz
/rust-1.27.2-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.27.2-i686-unknown-linux-gnu.tar.xz
/rust-1.27.2-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.27.2-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.27.2-s390x-unknown-linux-gnu.tar.xz
/rust-1.27.2-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.29.0-src.tar.xz
/rust-1.28.0-aarch64-unknown-linux-gnu.tar.xz
/rust-1.28.0-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.28.0-i686-unknown-linux-gnu.tar.xz
/rust-1.28.0-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.28.0-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.28.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.28.0-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.29.1-src.tar.xz
/rustc-1.29.2-src.tar.xz
/rustc-1.30.0-src.tar.xz
/rust-1.29.2-aarch64-unknown-linux-gnu.tar.xz
/rust-1.29.2-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.29.2-i686-unknown-linux-gnu.tar.xz
/rust-1.29.2-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.29.2-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.29.2-s390x-unknown-linux-gnu.tar.xz
/rust-1.29.2-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.30.1-src.tar.xz
/rustc-1.31.0-src.tar.xz
/rust-1.30.0-aarch64-unknown-linux-gnu.tar.xz
/rust-1.30.0-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.30.0-i686-unknown-linux-gnu.tar.xz
/rust-1.30.0-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.30.0-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.30.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.30.0-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.31.1-src.tar.xz
/rustc-1.32.0-src.tar.xz
/rust-1.31.1-aarch64-unknown-linux-gnu.tar.xz
/rust-1.31.1-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.31.1-i686-unknown-linux-gnu.tar.xz
/rust-1.31.1-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.31.1-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.31.1-s390x-unknown-linux-gnu.tar.xz
/rust-1.31.1-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.33.0-src.tar.xz
/rust-1.32.0-aarch64-unknown-linux-gnu.tar.xz
/rust-1.32.0-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.32.0-i686-unknown-linux-gnu.tar.xz
/rust-1.32.0-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.32.0-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.32.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.32.0-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.34.0-src.tar.xz
/rust-1.33.0-aarch64-unknown-linux-gnu.tar.xz
/rust-1.33.0-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.33.0-i686-unknown-linux-gnu.tar.xz
/rust-1.33.0-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.33.0-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.33.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.33.0-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.34.1-src.tar.xz
/rustc-1.34.2-src.tar.xz
/rustc-1.35.0-src.tar.xz
/rust-1.34.2-aarch64-unknown-linux-gnu.tar.xz
/rust-1.34.2-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.34.2-i686-unknown-linux-gnu.tar.xz
/rust-1.34.2-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.34.2-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.34.2-s390x-unknown-linux-gnu.tar.xz
/rust-1.34.2-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.36.0-src.tar.xz
/rust-1.35.0-aarch64-unknown-linux-gnu.tar.xz
/rust-1.35.0-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.35.0-i686-unknown-linux-gnu.tar.xz
/rust-1.35.0-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.35.0-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.35.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.35.0-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.37.0-src.tar.xz
/rust-1.36.0-aarch64-unknown-linux-gnu.tar.xz
/rust-1.36.0-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.36.0-i686-unknown-linux-gnu.tar.xz
/rust-1.36.0-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.36.0-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.36.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.36.0-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.38.0-src.tar.xz
/rust-1.37.0-aarch64-unknown-linux-gnu.tar.xz
/rust-1.37.0-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.37.0-i686-unknown-linux-gnu.tar.xz
/rust-1.37.0-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.37.0-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.37.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.37.0-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.39.0-src.tar.xz
/rust-1.38.0-aarch64-unknown-linux-gnu.tar.xz
/rust-1.38.0-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.38.0-i686-unknown-linux-gnu.tar.xz
/rust-1.38.0-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.38.0-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.38.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.38.0-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.40.0-src.tar.xz
/rust-1.39.0-aarch64-unknown-linux-gnu.tar.xz
/rust-1.39.0-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.39.0-i686-unknown-linux-gnu.tar.xz
/rust-1.39.0-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.39.0-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.39.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.39.0-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.41.0-src.tar.xz
/rust-1.40.0-aarch64-unknown-linux-gnu.tar.xz
/rust-1.40.0-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.40.0-i686-unknown-linux-gnu.tar.xz
/rust-1.40.0-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.40.0-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.40.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.40.0-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.41.1-src.tar.xz
/rustc-1.42.0-src.tar.xz
/rust-1.41.1-aarch64-unknown-linux-gnu.tar.xz
/rust-1.41.1-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.41.1-i686-unknown-linux-gnu.tar.xz
/rust-1.41.1-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.41.1-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.41.1-s390x-unknown-linux-gnu.tar.xz
/rust-1.41.1-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.43.0-src.tar.xz
/rust-1.42.0-aarch64-unknown-linux-gnu.tar.xz
/rust-1.42.0-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.42.0-i686-unknown-linux-gnu.tar.xz
/rust-1.42.0-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.42.0-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.42.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.42.0-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.43.1-src.tar.xz
/rustc-1.44.0-src.tar.xz
/rust-1.43.1-aarch64-unknown-linux-gnu.tar.xz
/rust-1.43.1-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.43.1-i686-unknown-linux-gnu.tar.xz
/rust-1.43.1-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.43.1-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.43.1-s390x-unknown-linux-gnu.tar.xz
/rust-1.43.1-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.44.1-src.tar.xz
/rustc-1.45.0-src.tar.xz
/rust-1.44.0-x86_64-unknown-linux-gnu.tar.xz
/rust-1.44.0-i686-unknown-linux-gnu.tar.xz
/rust-1.44.0-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.44.0-aarch64-unknown-linux-gnu.tar.xz
/rust-1.44.0-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.44.0-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.44.0-s390x-unknown-linux-gnu.tar.xz
/rustc-1.45.1-src.tar.xz
/rustc-1.45.2-src.tar.xz
/rustc-1.46.0-src.tar.xz
/rust-1.45.2-aarch64-unknown-linux-gnu.tar.xz
/rust-1.45.2-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.45.2-i686-unknown-linux-gnu.tar.xz
/rust-1.45.2-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.45.2-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.45.2-s390x-unknown-linux-gnu.tar.xz
/rust-1.45.2-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.47.0-src.tar.xz
/rust-1.46.0-aarch64-unknown-linux-gnu.tar.xz
/rust-1.46.0-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.46.0-i686-unknown-linux-gnu.tar.xz
/rust-1.46.0-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.46.0-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.46.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.46.0-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.48.0-src.tar.xz
/rust-1.47.0-aarch64-unknown-linux-gnu.tar.xz
/rust-1.47.0-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.47.0-i686-unknown-linux-gnu.tar.xz
/rust-1.47.0-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.47.0-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.47.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.47.0-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.49.0-src.tar.xz
/rust-1.48.0-aarch64-unknown-linux-gnu.tar.xz
/rust-1.48.0-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.48.0-i686-unknown-linux-gnu.tar.xz
/rust-1.48.0-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.48.0-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.48.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.48.0-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.50.0-src.tar.xz
/rust-1.49.0-aarch64-unknown-linux-gnu.tar.xz
/rust-1.49.0-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.49.0-i686-unknown-linux-gnu.tar.xz
/rust-1.49.0-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.49.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.49.0-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.51.0-src.tar.xz
/rust-1.50.0-aarch64-unknown-linux-gnu.tar.xz
/rust-1.50.0-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.50.0-i686-unknown-linux-gnu.tar.xz
/rust-1.50.0-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.50.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.50.0-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.52.0-src.tar.xz
/rust-1.51.0-aarch64-unknown-linux-gnu.tar.xz
/rust-1.51.0-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.51.0-i686-unknown-linux-gnu.tar.xz
/rust-1.51.0-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.51.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.51.0-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.52.1-src.tar.xz
/rustc-1.53.0-src.tar.xz
/rust-1.52.0-aarch64-unknown-linux-gnu.tar.xz
/rust-1.52.0-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.52.0-i686-unknown-linux-gnu.tar.xz
/rust-1.52.0-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.52.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.52.0-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.54.0-src.tar.xz
/rust-1.53.0-aarch64-unknown-linux-gnu.tar.xz
/rust-1.53.0-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.53.0-i686-unknown-linux-gnu.tar.xz
/rust-1.53.0-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.53.0-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.53.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.53.0-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.55.0-src.tar.xz
/rust-1.54.0-aarch64-unknown-linux-gnu.tar.xz
/rust-1.54.0-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.54.0-i686-unknown-linux-gnu.tar.xz
/rust-1.54.0-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.54.0-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.54.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.54.0-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.56.0-src.tar.xz
/rust-1.55.0-aarch64-unknown-linux-gnu.tar.xz
/rust-1.55.0-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.55.0-i686-unknown-linux-gnu.tar.xz
/rust-1.55.0-powerpc64-unknown-linux-gnu.tar.xz
/rust-1.55.0-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.55.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.55.0-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.56.1-src.tar.xz
/rustc-1.57.0-src.tar.xz
/wasi-libc-ad5133410f66b93a2381db5b542aad5e0964db96.tar.gz
/rust-1.56.1-aarch64-unknown-linux-gnu.tar.xz
/rust-1.56.1-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.56.1-i686-unknown-linux-gnu.tar.xz
/rust-1.56.1-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.56.1-s390x-unknown-linux-gnu.tar.xz
/rust-1.56.1-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.58.0-src.tar.xz
/rust-1.57.0-aarch64-unknown-linux-gnu.tar.xz
/rust-1.57.0-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.57.0-i686-unknown-linux-gnu.tar.xz
/rust-1.57.0-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.57.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.57.0-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.58.1-src.tar.xz
/rustc-1.59.0-src.tar.xz
/rust-1.58.0-aarch64-unknown-linux-gnu.tar.xz
/rust-1.58.0-armv7-unknown-linux-gnueabihf.tar.xz
/rust-1.58.0-i686-unknown-linux-gnu.tar.xz
/rust-1.58.0-powerpc64le-unknown-linux-gnu.tar.xz
/rust-1.58.0-s390x-unknown-linux-gnu.tar.xz
/rust-1.58.0-x86_64-unknown-linux-gnu.tar.xz
/rustc-1.60.0-src.tar.xz
/rustc-1.61.0-src.tar.xz
/wasi-libc-9886d3d6200fcc3726329966860fc058707406cd.tar.gz
/rustc-1.62.0-src.tar.xz
/rustc-1.62.1-src.tar.xz
/rustc-1.63.0-src.tar.xz
/rustc-1.64.0-src.tar.xz
/rustc-1.65.0-src.tar.xz
/wasi-libc-wasi-sdk-16.tar.gz
/rustc-1.66.0-src.tar.xz
/wasi-libc-wasi-sdk-17.tar.gz
/rustc-1.66.1-src.tar.xz
/rustc-1.67.0-src.tar.xz
/rustc-1.67.1-src.tar.xz
/rustc-1.68.0-src.tar.xz
/wasi-libc-wasi-sdk-19.tar.gz
/rustc-1.68.1-src.tar.xz
/rustc-1.68.2-src.tar.xz
/rustc-1.69.0-src.tar.xz
/wasi-libc-1dfe5c302d1c5ab621f7abf04620fae92700fd22.tar.gz
/rustc-1.70.0-src.tar.xz
/wasi-libc-wasi-sdk-20.tar.gz

View File

@ -0,0 +1,26 @@
From 37cb177eb53145103ae72b67562884782dde01c3 Mon Sep 17 00:00:00 2001
From: Ivan Mironov <mironov.ivan@gmail.com>
Date: Sun, 8 Dec 2019 17:23:08 +0500
Subject: [PATCH] Use lld provided by system for wasm
---
compiler/rustc_target/src/spec/wasm_base.rs | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/compiler/rustc_target/src/spec/wasm_base.rs b/compiler/rustc_target/src/spec/wasm_base.rs
index 528a84a8b37c..353d742161d1 100644
--- a/compiler/rustc_target/src/spec/wasm_base.rs
+++ b/compiler/rustc_target/src/spec/wasm_base.rs
@@ -89,8 +89,7 @@ macro_rules! args {
// arguments just yet
limit_rdylib_exports: false,
- // we use the LLD shipped with the Rust toolchain by default
- linker: Some("rust-lld".into()),
+ linker: Some("lld".into()),
linker_flavor: LinkerFlavor::WasmLld(Cc::No),
pre_link_args,
--
2.38.1

19
gating.yaml Normal file
View File

@ -0,0 +1,19 @@
--- !Policy
product_versions:
- fedora-*
decision_context: bodhi_update_push_stable
subject_type: koji_build
rules:
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
--- !Policy
product_versions:
- rhel-8
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional}
--- !Policy
product_versions:
- rhel-9
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional}

51
macros.rust-toolset Normal file
View File

@ -0,0 +1,51 @@
# Explicitly use bindir tools, in case others are in the PATH,
# like the rustup shims in a user's ~/.cargo/bin/.
#
# Since cargo 1.31, install only uses $CARGO_HOME/config, ignoring $PWD.
# https://github.com/rust-lang/cargo/issues/6397
# But we can set CARGO_HOME locally, which is a good idea anyway to make sure
# it never writes to ~/.cargo during rpmbuild.
%__cargo %{_bindir}/env CARGO_HOME=.cargo %{_bindir}/cargo
%__rustc %{_bindir}/rustc
%__rustdoc %{_bindir}/rustdoc
# Enable optimization, debuginfo, and link hardening.
%__global_rustflags -Copt-level=3 -Cdebuginfo=2 -Clink-arg=-Wl,-z,relro,-z,now
%__global_rustflags_toml [%{lua:
for arg in string.gmatch(rpm.expand("%{__global_rustflags}"), "%S+") do
print('"' .. arg .. '", ')
end}]
%cargo_prep(V:) (\
%{__mkdir} -p .cargo \
cat > .cargo/config << EOF \
[build]\
rustc = "%{__rustc}"\
rustdoc = "%{__rustdoc}"\
rustflags = %{__global_rustflags_toml}\
\
[install]\
root = "%{buildroot}%{_prefix}"\
\
[term]\
verbose = true\
EOF\
%if 0%{-V:1}\
%{__tar} -xoaf %{S:%{-V*}}\
cat >> .cargo/config << EOF \
\
[source.crates-io]\
replace-with = "vendored-sources"\
\
[source.vendored-sources]\
directory = "./vendor"\
EOF\
%endif\
)
%cargo_build %__cargo build --release %{?_smp_mflags}
%cargo_test %__cargo test --release %{?_smp_mflags} --no-fail-fast
%cargo_install %__cargo install --no-track --path .

5
plans/ci.fmf Normal file
View File

@ -0,0 +1,5 @@
summary: CI Gating Plan
discover:
how: fmf
execute:
how: tmt

8
rpminspect.yaml Normal file
View File

@ -0,0 +1,8 @@
---
debuginfo:
ignore:
# i686 has limited debuginfo. From rust.spec
# full debuginfo is exhausting memory; just do libstd for now
# https://github.com/rust-lang/rust/issues/45854
- /usr/lib/debug/usr/bin/rustc-*.i386.debug

View File

@ -1,405 +0,0 @@
From bc3a71ed00af01855b0ae8908ae271b83eca34f6 Mon Sep 17 00:00:00 2001
From: bors <bors@rust-lang.org>
Date: Sat, 2 Sep 2017 19:46:51 +0000
Subject: [PATCH] Auto merge of #44066 - cuviper:powerpc64-extern-abi,
r=alexcrichton
powerpc64: improve extern struct ABI
These fixes all have to do with the 64-bit PowerPC ELF ABI for big-endian
targets. The ELF v2 ABI for powerpc64le already worked well.
- Return after marking return aggregates indirect. Fixes #42757.
- Pass one-member float aggregates as direct argument values.
- Aggregate arguments less than 64-bit must be written in the least-
significant bits of the parameter space.
- Larger aggregates are instead padded at the tail.
(i.e. filling MSBs, padding the remaining LSBs.)
New tests were also added for the single-float aggregate, and a 3-byte
aggregate to check that it's filled into LSBs. Overall, at least these
formerly-failing tests now pass on powerpc64:
- run-make/extern-fn-struct-passing-abi
- run-make/extern-fn-with-packed-struct
- run-pass/extern-pass-TwoU16s.rs
- run-pass/extern-pass-TwoU8s.rs
- run-pass/struct-return.rs
---
src/librustc_trans/cabi_powerpc64.rs | 64 +++++++++++++++++-----
src/librustc_trans/cabi_x86.rs | 41 ++++++++++++--
.../run-make/extern-fn-struct-passing-abi/test.c | 32 ++++++++++-
.../run-make/extern-fn-struct-passing-abi/test.rs | 27 +++++++++
.../run-make/extern-fn-with-packed-struct/test.c | 5 ++
.../run-make/extern-fn-with-packed-struct/test.rs | 26 +--------
6 files changed, 151 insertions(+), 44 deletions(-)
diff --git a/src/librustc_trans/cabi_powerpc64.rs b/src/librustc_trans/cabi_powerpc64.rs
index 5c695387236f..fb5472eb6ae1 100644
--- a/src/librustc_trans/cabi_powerpc64.rs
+++ b/src/librustc_trans/cabi_powerpc64.rs
@@ -14,14 +14,26 @@
use abi::{FnType, ArgType, LayoutExt, Reg, RegKind, Uniform};
use context::CrateContext;
+use rustc::ty::layout;
-fn is_homogeneous_aggregate<'a, 'tcx>(ccx: &CrateContext<'a, 'tcx>, arg: &mut ArgType<'tcx>)
+#[derive(Debug, Clone, Copy, PartialEq)]
+enum ABI {
+ ELFv1, // original ABI used for powerpc64 (big-endian)
+ ELFv2, // newer ABI used for powerpc64le
+}
+use self::ABI::*;
+
+fn is_homogeneous_aggregate<'a, 'tcx>(ccx: &CrateContext<'a, 'tcx>,
+ arg: &mut ArgType<'tcx>,
+ abi: ABI)
-> Option<Uniform> {
arg.layout.homogeneous_aggregate(ccx).and_then(|unit| {
let size = arg.layout.size(ccx);
- // Ensure we have at most eight uniquely addressable members.
- if size > unit.size.checked_mul(8, ccx).unwrap() {
+ // ELFv1 only passes one-member aggregates transparently.
+ // ELFv2 passes up to eight uniquely addressable members.
+ if (abi == ELFv1 && size > unit.size)
+ || size > unit.size.checked_mul(8, ccx).unwrap() {
return None;
}
@@ -42,21 +54,23 @@ fn is_homogeneous_aggregate<'a, 'tcx>(ccx: &CrateContext<'a, 'tcx>, arg: &mut Ar
})
}
-fn classify_ret_ty<'a, 'tcx>(ccx: &CrateContext<'a, 'tcx>, ret: &mut ArgType<'tcx>) {
+fn classify_ret_ty<'a, 'tcx>(ccx: &CrateContext<'a, 'tcx>, ret: &mut ArgType<'tcx>, abi: ABI) {
if !ret.layout.is_aggregate() {
ret.extend_integer_width_to(64);
return;
}
- // The PowerPC64 big endian ABI doesn't return aggregates in registers
- if ccx.sess().target.target.target_endian == "big" {
+ // The ELFv1 ABI doesn't return aggregates in registers
+ if abi == ELFv1 {
ret.make_indirect(ccx);
+ return;
}
- if let Some(uniform) = is_homogeneous_aggregate(ccx, ret) {
+ if let Some(uniform) = is_homogeneous_aggregate(ccx, ret, abi) {
ret.cast_to(ccx, uniform);
return;
}
+
let size = ret.layout.size(ccx);
let bits = size.bits();
if bits <= 128 {
@@ -80,31 +94,55 @@ fn classify_ret_ty<'a, 'tcx>(ccx: &CrateContext<'a, 'tcx>, ret: &mut ArgType<'tc
ret.make_indirect(ccx);
}
-fn classify_arg_ty<'a, 'tcx>(ccx: &CrateContext<'a, 'tcx>, arg: &mut ArgType<'tcx>) {
+fn classify_arg_ty<'a, 'tcx>(ccx: &CrateContext<'a, 'tcx>, arg: &mut ArgType<'tcx>, abi: ABI) {
if !arg.layout.is_aggregate() {
arg.extend_integer_width_to(64);
return;
}
- if let Some(uniform) = is_homogeneous_aggregate(ccx, arg) {
+ if let Some(uniform) = is_homogeneous_aggregate(ccx, arg, abi) {
arg.cast_to(ccx, uniform);
return;
}
- let total = arg.layout.size(ccx);
+ let size = arg.layout.size(ccx);
+ let (unit, total) = match abi {
+ ELFv1 => {
+ // In ELFv1, aggregates smaller than a doubleword should appear in
+ // the least-significant bits of the parameter doubleword. The rest
+ // should be padded at their tail to fill out multiple doublewords.
+ if size.bits() <= 64 {
+ (Reg { kind: RegKind::Integer, size }, size)
+ } else {
+ let align = layout::Align::from_bits(64, 64).unwrap();
+ (Reg::i64(), size.abi_align(align))
+ }
+ },
+ ELFv2 => {
+ // In ELFv2, we can just cast directly.
+ (Reg::i64(), size)
+ },
+ };
+
arg.cast_to(ccx, Uniform {
- unit: Reg::i64(),
+ unit,
total
});
}
pub fn compute_abi_info<'a, 'tcx>(ccx: &CrateContext<'a, 'tcx>, fty: &mut FnType<'tcx>) {
+ let abi = match ccx.sess().target.target.target_endian.as_str() {
+ "big" => ELFv1,
+ "little" => ELFv2,
+ _ => unimplemented!(),
+ };
+
if !fty.ret.is_ignore() {
- classify_ret_ty(ccx, &mut fty.ret);
+ classify_ret_ty(ccx, &mut fty.ret, abi);
}
for arg in &mut fty.args {
if arg.is_ignore() { continue; }
- classify_arg_ty(ccx, arg);
+ classify_arg_ty(ccx, arg, abi);
}
}
diff --git a/src/librustc_trans/cabi_x86.rs b/src/librustc_trans/cabi_x86.rs
index 8b024b8c97fa..49634d6e78ce 100644
--- a/src/librustc_trans/cabi_x86.rs
+++ b/src/librustc_trans/cabi_x86.rs
@@ -11,12 +11,30 @@
use abi::{ArgAttribute, FnType, LayoutExt, Reg, RegKind};
use common::CrateContext;
+use rustc::ty::layout::{self, Layout, TyLayout};
+
#[derive(PartialEq)]
pub enum Flavor {
General,
Fastcall
}
+fn is_single_fp_element<'a, 'tcx>(ccx: &CrateContext<'a, 'tcx>,
+ layout: TyLayout<'tcx>) -> bool {
+ match *layout {
+ Layout::Scalar { value: layout::F32, .. } |
+ Layout::Scalar { value: layout::F64, .. } => true,
+ Layout::Univariant { .. } => {
+ if layout.field_count() == 1 {
+ is_single_fp_element(ccx, layout.field(ccx, 0))
+ } else {
+ false
+ }
+ }
+ _ => false
+ }
+}
+
pub fn compute_abi_info<'a, 'tcx>(ccx: &CrateContext<'a, 'tcx>,
fty: &mut FnType<'tcx>,
flavor: Flavor) {
@@ -33,12 +51,23 @@ pub fn compute_abi_info<'a, 'tcx>(ccx: &CrateContext<'a, 'tcx>,
if t.options.is_like_osx || t.options.is_like_windows
|| t.options.is_like_openbsd {
let size = fty.ret.layout.size(ccx);
- match size.bytes() {
- 1 => fty.ret.cast_to(ccx, Reg::i8()),
- 2 => fty.ret.cast_to(ccx, Reg::i16()),
- 4 => fty.ret.cast_to(ccx, Reg::i32()),
- 8 => fty.ret.cast_to(ccx, Reg::i64()),
- _ => fty.ret.make_indirect(ccx)
+
+ // According to Clang, everyone but MSVC returns single-element
+ // float aggregates directly in a floating-point register.
+ if !t.options.is_like_msvc && is_single_fp_element(ccx, fty.ret.layout) {
+ match size.bytes() {
+ 4 => fty.ret.cast_to(ccx, Reg::f32()),
+ 8 => fty.ret.cast_to(ccx, Reg::f64()),
+ _ => fty.ret.make_indirect(ccx)
+ }
+ } else {
+ match size.bytes() {
+ 1 => fty.ret.cast_to(ccx, Reg::i8()),
+ 2 => fty.ret.cast_to(ccx, Reg::i16()),
+ 4 => fty.ret.cast_to(ccx, Reg::i32()),
+ 8 => fty.ret.cast_to(ccx, Reg::i64()),
+ _ => fty.ret.make_indirect(ccx)
+ }
}
} else {
fty.ret.make_indirect(ccx);
diff --git a/src/test/run-make/extern-fn-struct-passing-abi/test.c b/src/test/run-make/extern-fn-struct-passing-abi/test.c
index 44a940a17a98..25cd6da10b8f 100644
--- a/src/test/run-make/extern-fn-struct-passing-abi/test.c
+++ b/src/test/run-make/extern-fn-struct-passing-abi/test.c
@@ -43,6 +43,16 @@ struct FloatPoint {
double y;
};
+struct FloatOne {
+ double x;
+};
+
+struct IntOdd {
+ int8_t a;
+ int8_t b;
+ int8_t c;
+};
+
// System V x86_64 ABI:
// a, b, c, d, e should be in registers
// s should be byval pointer
@@ -283,7 +293,7 @@ struct Huge huge_struct(struct Huge s) {
// p should be in registers
// return should be in registers
//
-// Win64 ABI:
+// Win64 ABI and 64-bit PowerPC ELFv1 ABI:
// p should be a byval pointer
// return should be in a hidden sret pointer
struct FloatPoint float_point(struct FloatPoint p) {
@@ -292,3 +302,23 @@ struct FloatPoint float_point(struct FloatPoint p) {
return p;
}
+
+// 64-bit PowerPC ELFv1 ABI:
+// f1 should be in a register
+// return should be in a hidden sret pointer
+struct FloatOne float_one(struct FloatOne f1) {
+ assert(f1.x == 7.);
+
+ return f1;
+}
+
+// 64-bit PowerPC ELFv1 ABI:
+// i should be in the least-significant bits of a register
+// return should be in a hidden sret pointer
+struct IntOdd int_odd(struct IntOdd i) {
+ assert(i.a == 1);
+ assert(i.b == 2);
+ assert(i.c == 3);
+
+ return i;
+}
diff --git a/src/test/run-make/extern-fn-struct-passing-abi/test.rs b/src/test/run-make/extern-fn-struct-passing-abi/test.rs
index aaae7ae4fb49..54a4f868eb4e 100644
--- a/src/test/run-make/extern-fn-struct-passing-abi/test.rs
+++ b/src/test/run-make/extern-fn-struct-passing-abi/test.rs
@@ -53,6 +53,20 @@ struct FloatPoint {
y: f64
}
+#[derive(Clone, Copy, Debug, PartialEq)]
+#[repr(C)]
+struct FloatOne {
+ x: f64,
+}
+
+#[derive(Clone, Copy, Debug, PartialEq)]
+#[repr(C)]
+struct IntOdd {
+ a: i8,
+ b: i8,
+ c: i8,
+}
+
#[link(name = "test", kind = "static")]
extern {
fn byval_rect(a: i32, b: i32, c: i32, d: i32, e: i32, s: Rect);
@@ -83,6 +97,10 @@ extern {
fn huge_struct(s: Huge) -> Huge;
fn float_point(p: FloatPoint) -> FloatPoint;
+
+ fn float_one(f: FloatOne) -> FloatOne;
+
+ fn int_odd(i: IntOdd) -> IntOdd;
}
fn main() {
@@ -91,6 +109,8 @@ fn main() {
let u = FloatRect { a: 3489, b: 3490, c: 8. };
let v = Huge { a: 5647, b: 5648, c: 5649, d: 5650, e: 5651 };
let p = FloatPoint { x: 5., y: -3. };
+ let f1 = FloatOne { x: 7. };
+ let i = IntOdd { a: 1, b: 2, c: 3 };
unsafe {
byval_rect(1, 2, 3, 4, 5, s);
@@ -113,5 +133,12 @@ fn main() {
assert_eq!(sret_byval_struct(1, 2, 3, 4, s), t);
assert_eq!(sret_split_struct(1, 2, s), t);
assert_eq!(float_point(p), p);
+ assert_eq!(int_odd(i), i);
+
+ // MSVC/GCC/Clang are not consistent in the ABI of single-float aggregates.
+ // x86_64: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82028
+ // i686: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82041
+ #[cfg(not(all(windows, target_env = "gnu")))]
+ assert_eq!(float_one(f1), f1);
}
}
diff --git a/src/test/run-make/extern-fn-with-packed-struct/test.c b/src/test/run-make/extern-fn-with-packed-struct/test.c
index 506954fca461..4124e202c1dd 100644
--- a/src/test/run-make/extern-fn-with-packed-struct/test.c
+++ b/src/test/run-make/extern-fn-with-packed-struct/test.c
@@ -1,6 +1,8 @@
// ignore-license
// Pragma needed cause of gcc bug on windows: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52991
+#include <assert.h>
+
#ifdef _MSC_VER
#pragma pack(push,1)
struct Foo {
@@ -18,5 +20,8 @@ struct __attribute__((packed)) Foo {
#endif
struct Foo foo(struct Foo foo) {
+ assert(foo.a == 1);
+ assert(foo.b == 2);
+ assert(foo.c == 3);
return foo;
}
diff --git a/src/test/run-make/extern-fn-with-packed-struct/test.rs b/src/test/run-make/extern-fn-with-packed-struct/test.rs
index 9e81636e3670..d2540ad61542 100644
--- a/src/test/run-make/extern-fn-with-packed-struct/test.rs
+++ b/src/test/run-make/extern-fn-with-packed-struct/test.rs
@@ -8,36 +8,14 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
-use std::fmt;
-
-#[repr(packed)]
-#[derive(Copy, Clone)]
+#[repr(C, packed)]
+#[derive(Copy, Clone, Debug, PartialEq)]
struct Foo {
a: i8,
b: i16,
c: i8
}
-impl PartialEq for Foo {
- fn eq(&self, other: &Foo) -> bool {
- self.a == other.a && self.b == other.b && self.c == other.c
- }
-}
-
-impl fmt::Debug for Foo {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
- let a = self.a;
- let b = self.b;
- let c = self.c;
-
- f.debug_struct("Foo")
- .field("a", &a)
- .field("b", &b)
- .field("c", &c)
- .finish()
- }
-}
-
#[link(name = "test", kind = "static")]
extern {
fn foo(f: Foo) -> Foo;
--
2.13.5

View File

@ -1,28 +0,0 @@
From 35f8a2065b7d17d39481a75cefa739df7a061084 Mon Sep 17 00:00:00 2001
From: Josh Stone <jistone@redhat.com>
Date: Wed, 30 Aug 2017 18:20:59 -0700
Subject: [PATCH] rustbuild: update the rust-src filter for compiler-rt
We wanted `src/compiler-rt/test` filtered from the `rust-src` package,
but that path is now `src/libcompiler_builtins/compiler-rt/test`. This
saves over half of the installed rust-src size. (50MB -> 22MB)
---
src/bootstrap/dist.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/bootstrap/dist.rs b/src/bootstrap/dist.rs
index 746f85a9d59d..05d59e7d5956 100644
--- a/src/bootstrap/dist.rs
+++ b/src/bootstrap/dist.rs
@@ -754,7 +754,7 @@ impl Step for Src {
"src/libprofiler_builtins",
];
let std_src_dirs_exclude = [
- "src/compiler-rt/test",
+ "src/libcompiler_builtins/compiler-rt/test",
"src/jemalloc/test/unit",
];
--
2.13.5

View File

@ -1,210 +0,0 @@
From 0f5ee28213a73733e6811b176c89ecececfe9cbc Mon Sep 17 00:00:00 2001
From: bors <bors@rust-lang.org>
Date: Mon, 11 Sep 2017 12:53:21 +0000
Subject: [PATCH] Auto merge of #44440 - cuviper:min_global_align,
r=japaric
Add `TargetOptions::min_global_align`, with s390x at 16-bit
The SystemZ `LALR` instruction provides PC-relative addressing for globals,
but only to *even* addresses, so other compilers make sure that such
globals are always 2-byte aligned. In Clang, this is modeled with
`TargetInfo::MinGlobalAlign`, and `TargetOptions::min_global_align` now
serves the same purpose for rustc.
In Clang, the only targets that set this are SystemZ, Lanai, and NVPTX, and
the latter two don't have targets in rust master.
Fixes #44411.
r? @eddyb
---
src/librustc_back/target/mod.rs | 6 ++++
.../target/s390x_unknown_linux_gnu.rs | 1 +
src/librustc_trans/consts.rs | 24 ++++++++++++--
src/test/run-make/min-global-align/Makefile | 22 +++++++++++++
.../run-make/min-global-align/min_global_align.rs | 38 ++++++++++++++++++++++
5 files changed, 89 insertions(+), 2 deletions(-)
create mode 100644 src/test/run-make/min-global-align/Makefile
create mode 100644 src/test/run-make/min-global-align/min_global_align.rs
diff --git a/src/librustc_back/target/mod.rs b/src/librustc_back/target/mod.rs
index 130e1b695dbd..301cf3f8c820 100644
--- a/src/librustc_back/target/mod.rs
+++ b/src/librustc_back/target/mod.rs
@@ -425,6 +425,9 @@ pub struct TargetOptions {
/// Whether or not stack probes (__rust_probestack) are enabled
pub stack_probes: bool,
+
+ /// The minimum alignment for global symbols.
+ pub min_global_align: Option<u64>,
}
impl Default for TargetOptions {
@@ -486,6 +489,7 @@ impl Default for TargetOptions {
crt_static_default: false,
crt_static_respected: false,
stack_probes: false,
+ min_global_align: None,
}
}
}
@@ -724,6 +728,7 @@ impl Target {
key!(crt_static_default, bool);
key!(crt_static_respected, bool);
key!(stack_probes, bool);
+ key!(min_global_align, Option<u64>);
if let Some(array) = obj.find("abi-blacklist").and_then(Json::as_array) {
for name in array.iter().filter_map(|abi| abi.as_string()) {
@@ -914,6 +919,7 @@ impl ToJson for Target {
target_option_val!(crt_static_default);
target_option_val!(crt_static_respected);
target_option_val!(stack_probes);
+ target_option_val!(min_global_align);
if default.abi_blacklist != self.options.abi_blacklist {
d.insert("abi-blacklist".to_string(), self.options.abi_blacklist.iter()
diff --git a/src/librustc_back/target/s390x_unknown_linux_gnu.rs b/src/librustc_back/target/s390x_unknown_linux_gnu.rs
index 78a6bb7933d9..aad9effacd44 100644
--- a/src/librustc_back/target/s390x_unknown_linux_gnu.rs
+++ b/src/librustc_back/target/s390x_unknown_linux_gnu.rs
@@ -22,6 +22,7 @@ pub fn target() -> TargetResult {
base.max_atomic_width = Some(64);
// see #36994
base.exe_allocation_crate = None;
+ base.min_global_align = Some(16);
Ok(Target {
llvm_target: "s390x-unknown-linux-gnu".to_string(),
diff --git a/src/librustc_trans/consts.rs b/src/librustc_trans/consts.rs
index 310cd6fe9559..f7f9b9386841 100644
--- a/src/librustc_trans/consts.rs
+++ b/src/librustc_trans/consts.rs
@@ -26,6 +26,7 @@ use rustc::ty;
use rustc::hir;
+use std::cmp;
use std::ffi::{CStr, CString};
use syntax::ast;
use syntax::attr;
@@ -42,6 +43,25 @@ pub fn bitcast(val: ValueRef, ty: Type) -> ValueRef {
}
}
+fn set_global_alignment(ccx: &CrateContext,
+ gv: ValueRef,
+ mut align: machine::llalign) {
+ // The target may require greater alignment for globals than the type does.
+ // Note: GCC and Clang also allow `__attribute__((aligned))` on variables,
+ // which can force it to be smaller. Rust doesn't support this yet.
+ if let Some(min) = ccx.sess().target.target.options.min_global_align {
+ match ty::layout::Align::from_bits(min, min) {
+ Ok(min) => align = cmp::max(align, min.abi() as machine::llalign),
+ Err(err) => {
+ ccx.sess().err(&format!("invalid minimum global alignment: {}", err));
+ }
+ }
+ }
+ unsafe {
+ llvm::LLVMSetAlignment(gv, align);
+ }
+}
+
pub fn addr_of_mut(ccx: &CrateContext,
cv: ValueRef,
align: machine::llalign,
@@ -53,7 +73,7 @@ pub fn addr_of_mut(ccx: &CrateContext,
bug!("symbol `{}` is already defined", name);
});
llvm::LLVMSetInitializer(gv, cv);
- llvm::LLVMSetAlignment(gv, align);
+ set_global_alignment(ccx, gv, align);
llvm::LLVMRustSetLinkage(gv, llvm::Linkage::InternalLinkage);
SetUnnamedAddr(gv, true);
gv
@@ -271,7 +291,7 @@ pub fn trans_static<'a, 'tcx>(ccx: &CrateContext<'a, 'tcx>,
ccx.statics_to_rauw().borrow_mut().push((g, new_g));
new_g
};
- llvm::LLVMSetAlignment(g, ccx.align_of(ty));
+ set_global_alignment(ccx, g, ccx.align_of(ty));
llvm::LLVMSetInitializer(g, v);
// As an optimization, all shared statics which do not have interior
diff --git a/src/test/run-make/min-global-align/Makefile b/src/test/run-make/min-global-align/Makefile
new file mode 100644
index 000000000000..2eacc36f380d
--- /dev/null
+++ b/src/test/run-make/min-global-align/Makefile
@@ -0,0 +1,22 @@
+-include ../tools.mk
+
+# This tests ensure that global variables respect the target minimum alignment.
+# The three bools `STATIC_BOOL`, `STATIC_MUT_BOOL`, and `CONST_BOOL` all have
+# type-alignment of 1, but some targets require greater global alignment.
+
+SRC = min_global_align.rs
+LL = $(TMPDIR)/min_global_align.ll
+
+all:
+ifeq ($(UNAME),Linux)
+# Most targets are happy with default alignment -- take i686 for example.
+ifeq ($(filter x86,$(LLVM_COMPONENTS)),x86)
+ $(RUSTC) --target=i686-unknown-linux-gnu --emit=llvm-ir $(SRC)
+ [ "$$(grep -c 'align 1' "$(LL)")" -eq "3" ]
+endif
+# SystemZ requires even alignment for PC-relative addressing.
+ifeq ($(filter systemz,$(LLVM_COMPONENTS)),systemz)
+ $(RUSTC) --target=s390x-unknown-linux-gnu --emit=llvm-ir $(SRC)
+ [ "$$(grep -c 'align 2' "$(LL)")" -eq "3" ]
+endif
+endif
diff --git a/src/test/run-make/min-global-align/min_global_align.rs b/src/test/run-make/min-global-align/min_global_align.rs
new file mode 100644
index 000000000000..3d4f9001a747
--- /dev/null
+++ b/src/test/run-make/min-global-align/min_global_align.rs
@@ -0,0 +1,38 @@
+// Copyright 2017 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![feature(no_core, lang_items)]
+#![crate_type="rlib"]
+#![no_core]
+
+pub static STATIC_BOOL: bool = true;
+
+pub static mut STATIC_MUT_BOOL: bool = true;
+
+const CONST_BOOL: bool = true;
+pub static CONST_BOOL_REF: &'static bool = &CONST_BOOL;
+
+
+#[lang = "sized"]
+trait Sized {}
+
+#[lang = "copy"]
+trait Copy {}
+
+#[lang = "freeze"]
+trait Freeze {}
+
+#[lang = "sync"]
+trait Sync {}
+impl Sync for bool {}
+impl Sync for &'static bool {}
+
+#[lang="drop_in_place"]
+pub unsafe fn drop_in_place<T: ?Sized>(_: *mut T) { }
--
2.13.5

1288
rust.spec

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,92 @@
--- rustc-beta-src/Cargo.lock.orig 2023-05-24 16:49:05.242510531 -0700
+++ rustc-beta-src/Cargo.lock 2023-05-24 16:51:11.741865603 -0700
@@ -1197,7 +1197,6 @@ checksum = "14d05c10f541ae6f3bc5b3d923c2
dependencies = [
"cc",
"libc",
- "libnghttp2-sys",
"libz-sys",
"openssl-sys",
"pkg-config",
@@ -2989,16 +2988,6 @@ source = "registry+https://github.com/ru
checksum = "7fc7aa29613bd6a620df431842069224d8bc9011086b1db4c0e0cd47fa03ec9a"
[[package]]
-name = "libnghttp2-sys"
-version = "0.1.4+1.41.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03624ec6df166e79e139a2310ca213283d6b3c30810c54844f307086d4488df1"
-dependencies = [
- "cc",
- "libc",
-]
-
-[[package]]
name = "libz-sys"
version = "1.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
--- rustc-beta-src/src/tools/cargo/Cargo.toml.orig 2023-05-24 16:49:05.244510489 -0700
+++ rustc-beta-src/src/tools/cargo/Cargo.toml 2023-05-24 16:51:04.683013189 -0700
@@ -23,7 +23,7 @@ cargo-platform = { path = "crates/cargo-
cargo-util = { path = "crates/cargo-util", version = "0.2.4" }
clap = "4.2.0"
crates-io = { path = "crates/crates-io", version = "0.36.0" }
-curl = { version = "0.4.44", features = ["http2"] }
+curl = { version = "0.4.44", features = [] }
curl-sys = "0.4.61"
env_logger = "0.10.0"
filetime = "0.2.9"
--- rustc-beta-src/src/tools/cargo/src/cargo/core/package.rs.orig 2023-05-19 19:05:42.000000000 -0700
+++ rustc-beta-src/src/tools/cargo/src/cargo/core/package.rs 2023-05-24 16:49:05.244510489 -0700
@@ -407,16 +407,9 @@ impl<'cfg> PackageSet<'cfg> {
sources: SourceMap<'cfg>,
config: &'cfg Config,
) -> CargoResult<PackageSet<'cfg>> {
- // We've enabled the `http2` feature of `curl` in Cargo, so treat
- // failures here as fatal as it would indicate a build-time problem.
- let mut multi = Multi::new();
- let multiplexing = config.http_config()?.multiplexing.unwrap_or(true);
- multi
- .pipelining(false, multiplexing)
- .with_context(|| "failed to enable multiplexing/pipelining in curl")?;
-
- // let's not flood crates.io with connections
- multi.set_max_host_connections(2)?;
+ // Multiplexing is disabled because the system libcurl doesn't support it.
+ let multi = Multi::new();
+ let multiplexing = false;
Ok(PackageSet {
packages: package_ids
--- rustc-beta-src/src/tools/cargo/src/cargo/sources/registry/http_remote.rs.orig 2023-05-24 16:49:05.245510468 -0700
+++ rustc-beta-src/src/tools/cargo/src/cargo/sources/registry/http_remote.rs 2023-05-24 16:51:57.916900146 -0700
@@ -229,16 +229,8 @@ impl<'cfg> HttpRegistry<'cfg> {
}
self.fetch_started = true;
- // We've enabled the `http2` feature of `curl` in Cargo, so treat
- // failures here as fatal as it would indicate a build-time problem.
- self.multiplexing = self.config.http_config()?.multiplexing.unwrap_or(true);
-
- self.multi
- .pipelining(false, self.multiplexing)
- .with_context(|| "failed to enable multiplexing/pipelining in curl")?;
-
- // let's not flood the server with connections
- self.multi.set_max_host_connections(2)?;
+ // Multiplexing is disabled because the system libcurl doesn't support it.
+ self.multiplexing = false;
if !self.quiet {
self.config
--- rustc-beta-src/src/tools/cargo/src/cargo/util/network/mod.rs.orig 2023-05-19 19:05:42.000000000 -0700
+++ rustc-beta-src/src/tools/cargo/src/cargo/util/network/mod.rs 2023-05-24 16:49:05.245510468 -0700
@@ -25,7 +25,7 @@ impl<T> PollExt<T> for Poll<T> {
macro_rules! try_old_curl {
($e:expr, $msg:expr) => {
let result = $e;
- if cfg!(target_os = "macos") {
+ if cfg!(any(target_os = "linux", target_os = "macos")) {
if let Err(e) = result {
warn!("ignoring libcurl {} error: {}", $msg, e);
}

View File

@ -0,0 +1,43 @@
--- rustc-beta-src/Cargo.lock.orig 2023-05-19 19:02:31.000000000 -0700
+++ rustc-beta-src/Cargo.lock 2023-05-24 16:36:33.312232441 -0700
@@ -2967,7 +2967,6 @@
dependencies = [
"cc",
"libc",
- "libssh2-sys",
"libz-sys",
"openssl-sys",
"pkg-config",
@@ -3000,20 +2999,6 @@
]
[[package]]
-name = "libssh2-sys"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dc8a030b787e2119a731f1951d6a773e2280c660f8ec4b0f5e1505a386e71ee"
-dependencies = [
- "cc",
- "libc",
- "libz-sys",
- "openssl-sys",
- "pkg-config",
- "vcpkg",
-]
-
-[[package]]
name = "libz-sys"
version = "1.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
--- rustc-beta-src/vendor/git2/Cargo.toml.orig 2023-05-19 21:16:57.000000000 -0700
+++ rustc-beta-src/vendor/git2/Cargo.toml 2023-05-24 16:33:42.043813439 -0700
@@ -55,9 +55,7 @@
[features]
default = [
- "ssh",
"https",
- "ssh_key_from_memory",
]
https = [
"libgit2-sys/https",

View File

@ -0,0 +1,21 @@
diff --git a/src/etc/rust-gdb b/src/etc/rust-gdb
index 9abed30ea6f7..e4bf55df3688 100755
--- a/src/etc/rust-gdb
+++ b/src/etc/rust-gdb
@@ -13,8 +13,6 @@ fi
# Find out where the pretty printer Python module is
RUSTC_SYSROOT="$("$RUSTC" --print=sysroot)"
GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/lib/rustlib/etc"
-# Get the commit hash for path remapping
-RUSTC_COMMIT_HASH="$("$RUSTC" -vV | sed -n 's/commit-hash: \([a-zA-Z0-9_]*\)/\1/p')"
# Run GDB with the additional arguments that load the pretty printers
# Set the environment variable `RUST_GDB` to overwrite the call to a
@@ -23,6 +21,6 @@ RUST_GDB="${RUST_GDB:-gdb}"
PYTHONPATH="$PYTHONPATH:$GDB_PYTHON_MODULE_DIRECTORY" exec ${RUST_GDB} \
--directory="$GDB_PYTHON_MODULE_DIRECTORY" \
-iex "add-auto-load-safe-path $GDB_PYTHON_MODULE_DIRECTORY" \
- -iex "set substitute-path /rustc/$RUSTC_COMMIT_HASH $RUSTC_SYSROOT/lib/rustlib/src/rust" \
+ -iex "set substitute-path @BUILDDIR@ $RUSTC_SYSROOT/lib/rustlib/src/rust" \
"$@"

View File

@ -1 +1,2 @@
SHA512 (rustc-1.21.0-src.tar.xz) = 63b5c247ef7028c59bb246b96cb9917476d6d13cf68b37956e290248a1e53de3e4dbfad1dcae3c5c2cacc73c9dd212c50e45902c7d913fadeaac81db630bc951
SHA512 (rustc-1.70.0-src.tar.xz) = 21b35185fdcc35a059ee5ef6dca2b68f5f1d199e97f425a571cfc318a852c36a57bccf68e7673b4cb7cd83128f30d0b3eb93009a978f3ba3909b7eee50d40631
SHA512 (wasi-libc-wasi-sdk-20.tar.gz) = e264240dc7dbcf6398c8ca09bc108298f4a8aa955af22de5a3015fbcde81cb09dd83cd48349090082d5de0e8a3dbcf746c7b14657c67657b3f2f1ab28bb9cf05

View File

@ -1,8 +0,0 @@
SHA512 (rustc-1.21.0-src.tar.xz) = 63b5c247ef7028c59bb246b96cb9917476d6d13cf68b37956e290248a1e53de3e4dbfad1dcae3c5c2cacc73c9dd212c50e45902c7d913fadeaac81db630bc951
SHA512 (rust-1.20.0-aarch64-unknown-linux-gnu.tar.xz) = 23ac0086fa10c46eb2d607fc70dcb35b9858440b20030c4e688ec7d83e1d2798c46dd931914e2b555b6d846220bc678ea769a5e9b366b8fd12d9e57b4962ca3a
SHA512 (rust-1.20.0-armv7-unknown-linux-gnueabihf.tar.xz) = ca041644fd78d399e81a8dad9b5d5b401a2d8426eaf1e4ed02a2c5415b0a1caefadbc9716fefd6fd01aedde4fae15fc0357375d43a803714a88d65643b8ab5d1
SHA512 (rust-1.20.0-i686-unknown-linux-gnu.tar.xz) = fdd3e039589feba8a1f3ab2aa0d92bfe87a05d0e1697c5ea981577628e89715d3790a747408cb0d52fc48605c3faf6b59548e6237bdfc0505f8090b23a63a89b
SHA512 (rust-1.20.0-powerpc64le-unknown-linux-gnu.tar.xz) = 2ccb9b686bc6e52dfe906ee9c807564b7a87839340b6b3de9862d53182d68044b892f6eea5606a9c6e04538a1aa3d8e2c17c73480bbfe317c1edb294e1b937a4
SHA512 (rust-1.20.0-powerpc64-unknown-linux-gnu.tar.xz) = cd25a99e9f4331d458639887db8e3011ca9eb0907bb8a9f948353042658344338b170326c3931f4cca66dde2375611eeaae536f9b08a8f3cc4b75eef9220a8b5
SHA512 (rust-1.20.0-s390x-unknown-linux-gnu.tar.xz) = 60e051bc917c46fcec0816f1a7bbaee40a781af3f9061c8d3d257fc380321994737cc95383686032b7264e42b75d0ac71c7727875ec97672e6776329915bffb6
SHA512 (rust-1.20.0-x86_64-unknown-linux-gnu.tar.xz) = 5e397b1d3f7ef2ef7f11a7d48ad309f17220751246d5bf3e7301cca1c1a81864be49a7b78e122bb3bc66938971b73c8db443ba9e969880544e61af4061a5d96e

View File

@ -0,0 +1,63 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /tools/rust/Sanity/basic-smoke
# Description: basic-smoke
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2017 Red Hat, Inc.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/tools/rust/Sanity/basic-smoke
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Martin Cermak <mcermak@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: basic-smoke" >> $(METADATA)
@echo "Type: Sanity" >> $(METADATA)
@echo "TestTime: 10m" >> $(METADATA)
@echo "RunFor: rust" >> $(METADATA)
@echo "Requires: rust" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2+" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
@echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -0,0 +1,3 @@
PURPOSE of /tools/rust/Sanity/basic-smoke
Description: basic-smoke
Author: Martin Cermak <mcermak@redhat.com>

View File

@ -0,0 +1,13 @@
summary: basic-smoke
description: ''
contact:
- Jesus Checa Hidalgo <jcheca@redhat.com>
component:
- rust
test: ./runtest.sh
framework: beakerlib
recommend:
- rust
duration: 10m
extra-summary: /tools/rust/Sanity/basic-smoke
extra-task: /tools/rust/Sanity/basic-smoke

View File

@ -0,0 +1,55 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/rust/Sanity/basic-smoke
# Description: basic-smoke
# Author: Martin Cermak <mcermak@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2017 Red Hat, Inc.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
. /usr/share/beakerlib/beakerlib.sh || exit 1
PACKAGE="$(rpm -qf $(which rustc))"
rlJournalStart
rlPhaseStartSetup
rlAssertRpm $PACKAGE
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
rlRun "pushd $TmpDir"
rlPhaseEnd
rlPhaseStartTest
HELLO_SRC=$( mktemp )
HELLO_BIN=$( mktemp )
echo 'fn main() { println!("hello"); }' > $HELLO_SRC
rlRun "which rustc"
rlRun "rustc -V"
rlRun "rustc -o $HELLO_BIN $HELLO_SRC"
rlRun "$HELLO_BIN"
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View File

@ -0,0 +1,63 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /tools/rust/Sanity/build-stratisd
# Description: rpmbuild stratisd
# Author: Edjunior Machado <emachado@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2018 Red Hat, Inc.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/tools/rust/Sanity/build-stratisd
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Edjunior Machado <emachado@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: rpmbuild stratisd" >> $(METADATA)
@echo "Type: Sanity" >> $(METADATA)
@echo "TestTime: 1h" >> $(METADATA)
@echo "RunFor: rust" >> $(METADATA)
@echo "Requires: rust rpm-build yum-utils stratisd" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2+" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
@echo "Releases: RHEL8 RHEL9" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -0,0 +1,3 @@
PURPOSE of /tools/rust/Sanity/build-stratisd
Description: rpmbuild stratisd
Author: Edjunior Machado <emachado@redhat.com>

View File

@ -0,0 +1,17 @@
summary: rpmbuild stratisd
description:
- 'Ensure that rust does not break stratisd rpmbuild'
contact:
- Jesus Checa Hidalgo <jcheca@redhat.com>
component:
- rust
test: ./runtest.sh
framework: beakerlib
recommend:
- rust
- rpm-build
- yum-utils
- stratisd
duration: 1h
extra-summary: /tools/rust/Sanity/build-stratisd
extra-task: /tools/rust/Sanity/build-stratisd

View File

@ -0,0 +1,65 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/rust/Sanity/build-stratisd
# Description: rpmbuild stratisd
# Author: Edjunior Machado <emachado@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2018 Red Hat, Inc.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
. /usr/share/beakerlib/beakerlib.sh || exit 1
PACKAGE="$(rpm -qf $(which rustc))"
rlJournalStart
rlPhaseStartSetup
rlAssertRpm $PACKAGE || rlDie "rustc not found. Aborting testcase..."
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
rlRun "pushd $TmpDir"
rlPhaseEnd
PKG_TO_BUILD=stratisd
rlPhaseStart FAIL ${PKG_TO_BUILD}FetchSrcAndInstallBuildDeps
if ! rlCheckRpm $PKG_TO_BUILD; then
rlRun "yum install -y $PKG_TO_BUILD"
rlAssertRpm $PKG_TO_BUILD
fi
rlFetchSrcForInstalled $PKG_TO_BUILD
rlRun SRPM=$(ls -1 ${PKG_TO_BUILD}*src.rpm)
rlRun "rpm -ivh $SRPM"
rlRun SPECDIR="$(rpm -E '%{_specdir}')"
rlRun "yum-builddep -y ${SRPM}"
rlPhaseEnd
rlPhaseStartTest
set -o pipefail
rlRun "rpmbuild -bb ${SPECDIR}/${PKG_TO_BUILD}.spec |& tee ${SRPM}_rpmbuild.log"
rlFileSubmit "${SRPM}_rpmbuild.log"
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View File

@ -0,0 +1,65 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /tools/rust/Sanity/rpmbuild-librsvg2
# Description: rpmbuild librsvg2
# Author: Edjunior Machado <emachado@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2018 Red Hat, Inc.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/tools/rust/Sanity/rpmbuild-librsvg2
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Edjunior Machado <emachado@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: rpmbuild librsvg2" >> $(METADATA)
@echo "Type: Sanity" >> $(METADATA)
@echo "TestTime: 1h" >> $(METADATA)
@echo "RunFor: rust" >> $(METADATA)
# Due to bz1980717 librsvg2 requires git to build the srpm, but it's missing
# from the BuildRequires
@echo "Requires: rust rpm-build yum-utils librsvg2 git" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2+" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
@echo "Releases: RHEL8 RHEL9" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -0,0 +1,3 @@
PURPOSE of /tools/rust/Sanity/rpmbuild-librsvg2
Description: rpmbuild librsvg2
Author: Edjunior Machado <emachado@redhat.com>

View File

@ -0,0 +1,18 @@
summary: rpmbuild librsvg2
description:
- 'Ensure that rust does not break librsvg2 rpmbuild'
contact:
- Jesus Checa Hidalgo <jcheca@redhat.com>
component:
- rust
test: ./runtest.sh
framework: beakerlib
recommend:
- rust
- rpm-build
- yum-utils
- librsvg2
- git
duration: 1h
extra-summary: /tools/rust/Sanity/rpmbuild-librsvg2
extra-task: /tools/rust/Sanity/rpmbuild-librsvg2

View File

@ -0,0 +1,68 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/rust/Sanity/rpmbuild-librsvg2
# Description: rpmbuild librsvg2
# Author: Edjunior Machado <emachado@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2018 Red Hat, Inc.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
. /usr/share/beakerlib/beakerlib.sh || exit 1
PACKAGE="$(rpm -qf $(which rustc))"
rlJournalStart
rlPhaseStartSetup
rlAssertRpm $PACKAGE || rlDie "rustc not found. Aborting testcase..."
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
rlRun "pushd $TmpDir"
rlPhaseEnd
PKG_TO_BUILD=librsvg2
rlPhaseStart FAIL ${PKG_TO_BUILD}FetchSrcAndInstallBuildDeps
if ! rlCheckRpm $PKG_TO_BUILD; then
rlRun "yum install -y $PKG_TO_BUILD ${YUM_SWITCHES}"
rlAssertRpm $PKG_TO_BUILD
fi
rlFetchSrcForInstalled $PKG_TO_BUILD
rlRun SRPM=$(ls -1 ${PKG_TO_BUILD}*src.rpm)
rlRun "rpm -ivh $SRPM"
rlRun SPECDIR="$(rpm -E '%{_specdir}')"
# librsvg2 contains dynamic dependencies. builddep needs to be run
# from the srpm (not the spec file) to be able to generate them:
# https://fedoraproject.org/wiki/Changes/DynamicBuildRequires#rpmbuild
rlRun "yum-builddep -y ${SRPM} ${YUM_SWITCHES}"
rlPhaseEnd
rlPhaseStartTest
set -o pipefail
rlRun "rpmbuild -bb ${SPECDIR}/${PKG_TO_BUILD}.spec |& tee ${SRPM}_rpmbuild.log"
rlFileSubmit "${SRPM}_rpmbuild.log"
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View File

@ -0,0 +1,64 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /tools/rust/Sanity/rust-wasm-smoke-test
# Description: Test that the rust wasm target is enabled and can compile correctly
# Author: Jesus Checa <jcheca@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2021 Red Hat, Inc.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/tools/rust/Sanity/rust-wasm-smoke-test
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE lib.rs test.js
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Jesus Checa <jcheca@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: Test that the rust wasm target is enabled and can compile correctly" >> $(METADATA)
@echo "Type: Sanity" >> $(METADATA)
@echo "TestTime: 5m" >> $(METADATA)
@echo "RunFor: rust" >> $(METADATA)
@echo "Requires: rust rust-std-static-wasm32-unknown-unknown nodejs" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2+" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
@echo "Releases: -RHEL4 -RHELClient5 -RHELServer5 -RHEL7" >> $(METADATA)
@echo "Architectures: aarch64 ppc64le x86_64" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -0,0 +1,3 @@
PURPOSE of /tools/rust/Sanity/rust-wasm-smoke-test
Description: Test that the rust wasm target is enabled and can compile correctly
Author: Jesus Checa <jcheca@redhat.com>

View File

@ -0,0 +1,12 @@
#[no_mangle]
pub fn fib(index: u32) -> u32 {
let mut nminus2;
let mut nminus1 = 1;
let mut n = 0;
for _ in 0..index {
nminus2 = nminus1;
nminus1 = n;
n = nminus2 + nminus1;
}
n
}

View File

@ -0,0 +1,15 @@
summary: Test that the rust wasm target is enabled and can compile correctly
description: ''
contact:
- Jesus Checa <jcheca@redhat.com>
component:
- rust
test: ./runtest.sh
framework: beakerlib
recommend:
- rust
- rust-std-static-wasm32-unknown-unknown
- nodejs
duration: 5m
extra-summary: /tools/rust/Sanity/rust-wasm-smoke-test
extra-task: /tools/rust/Sanity/rust-wasm-smoke-test

View File

@ -0,0 +1,53 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /tools/rust/Sanity/rust-wasm-smoke-test
# Description: Test that the rust wasm target is enabled and can compile correctly
# Author: Jesus Checa <jcheca@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2021 Red Hat, Inc.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
. /usr/share/beakerlib/beakerlib.sh || exit 1
PACKAGES="$(rpm -qf $(which rustc)) rust-std-static-wasm32-unknown-unknown"
rlJournalStart
rlPhaseStartSetup
rlAssertRpm --all
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
rlRun "cp lib.rs $TmpDir"
rlRun "cp test.js $TmpDir"
rlRun "pushd $TmpDir"
rlPhaseEnd
rlPhaseStartTest
rlRun "rustc --target wasm32-unknown-unknown --crate-type=cdylib lib.rs -o fib.wasm" 0 "Building WASM binary"
rlRun "node test.js" 0 "Testing WASM binary"
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View File

@ -0,0 +1,28 @@
function js_fibonacci(index) {
let nminus2 = 0;
let nminus1 = 1;
let n = 0;
for(let i = 0; i < index; ++i) {
nminus2 = nminus1;
nminus1 = n;
n = nminus1 + nminus2;
}
return n;
}
const fs = require('fs');
const buf = fs.readFileSync('./fib.wasm');
const lib = WebAssembly.instantiate(new Uint8Array(buf)).
then(res => {
var fib = res.instance.exports.fib;
for (var i=1; i<=10; i++) {
if(fib(i) != js_fibonacci(i)){
console.log("Mismatch between wasm and JS functions");
process.exit(1);
}
}
}).catch(e => {
console.log(e);
process.exit(1);
}
);