diff --git a/fix-dependencies-checksums.patch b/fix-dependencies-checksums.patch deleted file mode 100644 index ba0ec47..0000000 --- a/fix-dependencies-checksums.patch +++ /dev/null @@ -1,266 +0,0 @@ -diff -ruN julia-1.10.2.orig/deps/checksums/dsfmt julia-1.10.2/deps/checksums/dsfmt ---- julia-1.10.2.orig/deps/checksums/dsfmt 2024-04-24 18:01:11.227525758 +0800 -+++ julia-1.10.2/deps/checksums/dsfmt 2024-05-01 22:50:48.317888755 +0800 -@@ -1,7 +1,7 @@ - dSFMT.v2.2.4+4.aarch64-apple-darwin.tar.gz/md5/43b52709b7794c92931286174854c886 - dSFMT.v2.2.4+4.aarch64-apple-darwin.tar.gz/sha512/018b67a06cdf42dda2a906025e8a12e026af9b39fe8281890dc90d66a422c3af2a8430d42677f79d123fd0ab0e8d5c37db2e0a00ef03731d35cbb65f9e59b108 --dSFMT.v2.2.4+4.aarch64-linux-gnu.tar.gz/md5/260e14855dbc7773a2ca906d58cc57f2 --dSFMT.v2.2.4+4.aarch64-linux-gnu.tar.gz/sha512/820ca4c6afde931e855b74015150f4ffbb513276c3fa7dbcc1ec8d34c02d4989fb7424a6e4f81f93d054811b5f54f8633d955b05acdb088387ee90f1c3b00915 -+dSFMT.v2.2.4+4.aarch64-linux-gnu.tar.gz/md5/ed30e63552d62df48d709dde4f755660 -+dSFMT.v2.2.4+4.aarch64-linux-gnu.tar.gz/sha512/fe84e986cbf198172340adfac0436b08f087643eca3f1ceccacde146cbfd8c41e3eb0dfbb062f7ca5f462db13c386abd7c269bc0cbefc9a0ecf97a8a8870a2e4 - dSFMT.v2.2.4+4.aarch64-linux-musl.tar.gz/md5/7ddccbad6b5c9de4be187fe76637a0d8 - dSFMT.v2.2.4+4.aarch64-linux-musl.tar.gz/sha512/e3c225da00927096e3a6cd4abc681fba8f469cb74828e7054d4f5684d71dcb8e75c9a81f14fa10bfbb78f62f9567a31a92edcca8d797e5810a2a44a3fc17bc84 - dSFMT.v2.2.4+4.armv6l-linux-gnueabihf.tar.gz/md5/a70329e0a6c57009c6b6950fd34089f6 -@@ -22,8 +22,8 @@ - dSFMT.v2.2.4+4.powerpc64le-linux-gnu.tar.gz/sha512/1bd0ebd019cfc6f25f7ba007547c5ee297854655b93c55e90d8ead420875de5a087e38956693d5e901ff2abf667c72aa66fb34f587b82adf4b91b3d5d666b5c7 - dSFMT.v2.2.4+4.x86_64-apple-darwin.tar.gz/md5/b57ec1491ffdd40c72860b9f1869160c - dSFMT.v2.2.4+4.x86_64-apple-darwin.tar.gz/sha512/c3a192dbcd3e768712d12d3ac851f46bfa1517eca16c9a187025553076c8fb886b925e4e3f5f20531180f72b73e7eaa5281f54d5b7d4e6a4d53f4542c4bb33b6 --dSFMT.v2.2.4+4.x86_64-linux-gnu.tar.gz/md5/fa671f4ca14b171d53c8866d03f9162a --dSFMT.v2.2.4+4.x86_64-linux-gnu.tar.gz/sha512/2e242a1448da0508ea88cc1a106f1e74f8d7e7562cd82b80d86abf9a8b454653ad7612e25c30ce00c23757e8a5b7b5736253b00a52f9473af6c5d4df768138f2 -+dSFMT.v2.2.4+4.x86_64-linux-gnu.tar.gz/md5/ed30e63552d62df48d709dde4f755660 -+dSFMT.v2.2.4+4.x86_64-linux-gnu.tar.gz/sha512/fe84e986cbf198172340adfac0436b08f087643eca3f1ceccacde146cbfd8c41e3eb0dfbb062f7ca5f462db13c386abd7c269bc0cbefc9a0ecf97a8a8870a2e4 - dSFMT.v2.2.4+4.x86_64-linux-musl.tar.gz/md5/c648294163882ec539ab646542c74880 - dSFMT.v2.2.4+4.x86_64-linux-musl.tar.gz/sha512/9e96a47d660854b6517364f0db40a2f4e0e3b814499a0349f7cf550b1c8d04589fca5eb4a75bf34f36d1b5d1b2277b3e9a961c887092abedd08f438e025329e7 - dSFMT.v2.2.4+4.x86_64-unknown-freebsd.tar.gz/md5/b4497d34d72ce134ce110b6185a82393 -diff -ruN julia-1.10.2.orig/deps/checksums/gmp julia-1.10.2/deps/checksums/gmp ---- julia-1.10.2.orig/deps/checksums/gmp 2024-04-24 18:01:11.227525758 +0800 -+++ julia-1.10.2/deps/checksums/gmp 2024-04-27 18:40:27.833607753 +0800 -@@ -2,8 +2,8 @@ - GMP.v6.2.1+6.aarch64-apple-darwin.tar.gz/sha512/5c7927ecfd47409dd4116cd4209768294ba229b51472ed220da498823dc1e7f9100292ec4b3a990491acd27f16ce3a3dce7a7c6e20dcd515982a9c8e364d91bc - GMP.v6.2.1+6.aarch64-linux-gnu-cxx03.tar.gz/md5/0d0d2ee67cff251941e3474341280b34 - GMP.v6.2.1+6.aarch64-linux-gnu-cxx03.tar.gz/sha512/69fb2f1476e0bb73f89ad2f73b58ec4da1b99e099124666e6da93b7705fde23913daa59f2ad479f99fcb4f0df152603bb0ba4875420b583f01fded0fec280a15 --GMP.v6.2.1+6.aarch64-linux-gnu-cxx11.tar.gz/md5/86ba1313c8ab4ca1ae8313cbf96e1e7d --GMP.v6.2.1+6.aarch64-linux-gnu-cxx11.tar.gz/sha512/05c306c01d1b0e9e4dc7ce937075eeaede4e5e0791826a8892fae2eb73cdb7f22c4873cf31cea3cfe3db996ac77387346f4f8a851ce52c29883146678f3851fd -+GMP.v6.2.1+6.aarch64-linux-gnu-cxx11.tar.gz/md5/28971fc21cf028042d4897f02fd355ea -+GMP.v6.2.1+6.aarch64-linux-gnu-cxx11.tar.gz/sha512/8904334a3bcc5c896ececabc75cda9dec642e401fb5397c4992c4fabea5e962c9ce8bd44e8e4233c34e55c8010cc28db0545f5f750cbdbb5f00af538dc763be9 - GMP.v6.2.1+6.aarch64-linux-musl-cxx03.tar.gz/md5/2fbbb9adee7db794f5888442b7b7688c - GMP.v6.2.1+6.aarch64-linux-musl-cxx03.tar.gz/sha512/d8a1719e529374d00ba6372013d0c7ddc9f44f9f6ee0f966b4ed16d731ce74c26b6e6a807403b3396bed67dd3e775e18c1e70c247a371d622a6e7013eb6b8905 - GMP.v6.2.1+6.aarch64-linux-musl-cxx11.tar.gz/md5/b6a8c494d4c90decb6eacbca3ce3f22a -@@ -44,8 +44,8 @@ - GMP.v6.2.1+6.x86_64-apple-darwin.tar.gz/sha512/f914452a49988b0694915483547c2f878c0ba71be2079fd1228b3e583cb08e92d8c958a052f29025054ded74cacb699893a5a6ef27749c851e83607ad3f1fe8f - GMP.v6.2.1+6.x86_64-linux-gnu-cxx03.tar.gz/md5/cded149fcef93ab1ba89c51d7cc58b73 - GMP.v6.2.1+6.x86_64-linux-gnu-cxx03.tar.gz/sha512/8f97582d6323df6f86e3079b9a2534425bd4e64bb4cec337c21059605d50c1220fd006e55bdb34e8aa7195cd79ef518f1541c1b1a92187ed928f7939b3128dd6 --GMP.v6.2.1+6.x86_64-linux-gnu-cxx11.tar.gz/md5/0529bb60dcf584222cd91e9e11510f24 --GMP.v6.2.1+6.x86_64-linux-gnu-cxx11.tar.gz/sha512/0532821e81a4e51363570f87ec59c37dea24cab59a94e43127837ce4b388d1951853d50e52d4c9f30b4a21cfe222e368207239ce8ac0f1ee1e9375f51fb10127 -+GMP.v6.2.1+6.x86_64-linux-gnu-cxx11.tar.gz/md5/28971fc21cf028042d4897f02fd355ea -+GMP.v6.2.1+6.x86_64-linux-gnu-cxx11.tar.gz/sha512/8904334a3bcc5c896ececabc75cda9dec642e401fb5397c4992c4fabea5e962c9ce8bd44e8e4233c34e55c8010cc28db0545f5f750cbdbb5f00af538dc763be9 - GMP.v6.2.1+6.x86_64-linux-musl-cxx03.tar.gz/md5/2d332d096da5515581ee92128aff88ab - GMP.v6.2.1+6.x86_64-linux-musl-cxx03.tar.gz/sha512/b17f7b762bd4d61fa4c4be8124275c2b337383da167bdeaca34e44d71f20716b182b46bc5a6714a798a0951d73b335ab9c87f451cf4c5456edbe76cf3ad36ba4 - GMP.v6.2.1+6.x86_64-linux-musl-cxx11.tar.gz/md5/a9dae953f9d59589162a3ea149c46d1e -diff -ruN julia-1.10.2.orig/deps/checksums/libgit2 julia-1.10.2/deps/checksums/libgit2 ---- julia-1.10.2.orig/deps/checksums/libgit2 2024-04-24 18:01:11.227525758 +0800 -+++ julia-1.10.2/deps/checksums/libgit2 2024-04-26 22:13:07.302294591 +0800 -@@ -1,7 +1,7 @@ - LibGit2.v1.6.4+0.aarch64-apple-darwin.tar.gz/md5/dd001ebe432b91c4043739a0aa14d3bf - LibGit2.v1.6.4+0.aarch64-apple-darwin.tar.gz/sha512/c921c9b7b4cba17c98a7f07e003cb9279ae40346e2977a0c2e257c6f6927726f09d0339e139e3a138ed84e169e00d459502a90724077cb253d52ec39a3766c28 --LibGit2.v1.6.4+0.aarch64-linux-gnu.tar.gz/md5/a044b38cc6396221c4687dc0723b33fd --LibGit2.v1.6.4+0.aarch64-linux-gnu.tar.gz/sha512/dd804c31645873f18f612920d1e4d4d7adfc828f8d96c8f03ce4e4c856608663ccd26ec9bfae30cd499cefd02b3b7ae648b8617b3d3de9364fbfea094777e7e4 -+LibGit2.v1.6.4+0.aarch64-linux-gnu.tar.gz/md5/08777cc257825f218ceac1a24abafdc9 -+LibGit2.v1.6.4+0.aarch64-linux-gnu.tar.gz/sha512/ebeaf3bb12ce7d58cd6d36e0123168de3af8f083f707dc20df9781537e38188a176667ac51daf8d9006d54f2beed13fbfff6c26fbb48e3228988578ef8fbc9b7 - LibGit2.v1.6.4+0.aarch64-linux-musl.tar.gz/md5/8b15c173d188ef2d0bbe1cbd2fe25a0e - LibGit2.v1.6.4+0.aarch64-linux-musl.tar.gz/sha512/a1ddb011a92e8ab0ed6d005d354af23261c5c7949d43b610ba24867bb8065c73820326d14dba069a7d1497758e8c6e1a26a92c7e4c345c75cac2c6d9a7ddfbc0 - LibGit2.v1.6.4+0.armv6l-linux-gnueabihf.tar.gz/md5/8d49bb6c15477fa167519477ba43ccb4 -@@ -22,8 +22,8 @@ - LibGit2.v1.6.4+0.powerpc64le-linux-gnu.tar.gz/sha512/7edff494558501245b575fb4d42e2279d98c4ad9ccbc625149db8bbbd379cbe5054b6369149dc1a66f5c91ba21a5609f3971a31cea5f0f7a16e67e991496f8cb - LibGit2.v1.6.4+0.x86_64-apple-darwin.tar.gz/md5/c0b79aad1765e0841d229d62dcf34105 - LibGit2.v1.6.4+0.x86_64-apple-darwin.tar.gz/sha512/1c3d0f696fe3fe5fa3269057c3d1863e84aff002a142f088129efc6e0e9f32df5db609732e4ad6c6ddf7a2c3f0b7ed53a06c9f4d49b518c0aa960ed04c71e6f2 --LibGit2.v1.6.4+0.x86_64-linux-gnu.tar.gz/md5/397c71f23f48eb8395c9e0a605bd3696 --LibGit2.v1.6.4+0.x86_64-linux-gnu.tar.gz/sha512/9b785ff277206988d60fbd105beaaeae49b4fa057e1d52f95f4b7a1eff5eceb4525a7a9015823bada6329d0a6b3be8e8ca94221c3b98b287d077b524aa4a517f -+LibGit2.v1.6.4+0.x86_64-linux-gnu.tar.gz/md5/08777cc257825f218ceac1a24abafdc9 -+LibGit2.v1.6.4+0.x86_64-linux-gnu.tar.gz/sha512/ebeaf3bb12ce7d58cd6d36e0123168de3af8f083f707dc20df9781537e38188a176667ac51daf8d9006d54f2beed13fbfff6c26fbb48e3228988578ef8fbc9b7 - LibGit2.v1.6.4+0.x86_64-linux-musl.tar.gz/md5/e7404be38fa8c10740101c5ca1ed9bfd - LibGit2.v1.6.4+0.x86_64-linux-musl.tar.gz/sha512/a2902d50a17c8f61ec5d38d0d843443be2ce4f51292655961d685203860a8f2d098e4dffb10f46f885cc4df1e9f1a5237be2cb31950d9e4a073a78ca82e39989 - LibGit2.v1.6.4+0.x86_64-unknown-freebsd.tar.gz/md5/5f370e6f38b38e663dc47b59f295b3b1 -diff -ruN julia-1.10.2.orig/deps/checksums/libssh2 julia-1.10.2/deps/checksums/libssh2 ---- julia-1.10.2.orig/deps/checksums/libssh2 2024-04-24 18:01:11.227525758 +0800 -+++ julia-1.10.2/deps/checksums/libssh2 2024-04-27 08:28:00.375572375 +0800 -@@ -1,7 +1,7 @@ - LibSSH2.v1.11.0+1.aarch64-apple-darwin.tar.gz/md5/462442a50f5dd719d251f65e7170dbf6 - LibSSH2.v1.11.0+1.aarch64-apple-darwin.tar.gz/sha512/8f0d9916c1e1abb8ba2d4baef0f850f9f5aa8d24f5eeefd7c7d30697b15d33180b32588f50328f4999e1d4136a2951c4e3319c5a5dca6f34a84fba30ac90518f --LibSSH2.v1.11.0+1.aarch64-linux-gnu.tar.gz/md5/63d8a681bcce23e76650719cf3c6999b --LibSSH2.v1.11.0+1.aarch64-linux-gnu.tar.gz/sha512/9dc722d866d27f378481e4787a5bb932facc0c7b828e75e812c9c875ac10e7194d090d94e01a46bb2b3c5624e18d013f0226c5f574269df96f1de0ed16897571 -+LibSSH2.v1.11.0+1.aarch64-linux-gnu.tar.gz/md5/7b52de6ff70e16aa78cd699fee3e997a -+LibSSH2.v1.11.0+1.aarch64-linux-gnu.tar.gz/sha512/7c99d33e60862e2d89bbcc4a09ffff3fbfb921ed674e0d3166a255c72a8e0622a9c6be64f0eb2f8c12ddd80da0307b05d761615b876194bd854aa2c62e26f4ad - LibSSH2.v1.11.0+1.aarch64-linux-musl.tar.gz/md5/e85cfee900145726857d3609b541f7b5 - LibSSH2.v1.11.0+1.aarch64-linux-musl.tar.gz/sha512/ad42ddf4674f6359e61fb23ef6fb5942e716c6f0cd50378e93b8c3af799b9b21cc9cefc471d27e19bc31686c7aa469a5ed81918ea9926d5d432c3c5f70e83fcb - LibSSH2.v1.11.0+1.armv6l-linux-gnueabihf.tar.gz/md5/acb3b46ec386e9d41dd73cb3c9b60d1e -@@ -22,8 +22,8 @@ - LibSSH2.v1.11.0+1.powerpc64le-linux-gnu.tar.gz/sha512/d8794571d051cf206da87a4f7f0f71c8b41be061691b08333df7678c4e40fb9abbe63812a5ff5243fabca9eb2e599d81a69520cd854afbddbc16b44678fbe1b7 - LibSSH2.v1.11.0+1.x86_64-apple-darwin.tar.gz/md5/5729492b3a91e0d8e3fcc459de784157 - LibSSH2.v1.11.0+1.x86_64-apple-darwin.tar.gz/sha512/8e49b2ff1c9b5ae499f14be238776d7da2b64231592f1d46a6f769f200681342ff157d76102fa7c16b2972c7fe603919f7d2ce7c8a30b46c98ecaf2ef809fe3c --LibSSH2.v1.11.0+1.x86_64-linux-gnu.tar.gz/md5/0f7f2214d453f562107fe22af5004e8a --LibSSH2.v1.11.0+1.x86_64-linux-gnu.tar.gz/sha512/bd510f25dc26c05362ff204adcc356521bfdacd665411a99e07071ea0c4638274a2e78f009644cdf5e472a1d81c80e353f4673071d90411e6122b55160140f3e -+LibSSH2.v1.11.0+1.x86_64-linux-gnu.tar.gz/md5/7b52de6ff70e16aa78cd699fee3e997a -+LibSSH2.v1.11.0+1.x86_64-linux-gnu.tar.gz/sha512/7c99d33e60862e2d89bbcc4a09ffff3fbfb921ed674e0d3166a255c72a8e0622a9c6be64f0eb2f8c12ddd80da0307b05d761615b876194bd854aa2c62e26f4ad - LibSSH2.v1.11.0+1.x86_64-linux-musl.tar.gz/md5/ee98538d67b8b091c4ddcf632e72e7d1 - LibSSH2.v1.11.0+1.x86_64-linux-musl.tar.gz/sha512/38cbb59ffa420e4299db848b6ae95098e8e3e6e1334e05369089d17b04fcd0787ad22ba69465611f3e335a1efab228990db776916f40a937b21b18ca511a4484 - LibSSH2.v1.11.0+1.x86_64-unknown-freebsd.tar.gz/md5/0abe5a971abe63c3db4353e7e9b181e9 -diff -ruN julia-1.10.2.orig/deps/checksums/lld julia-1.10.2/deps/checksums/lld ---- julia-1.10.2.orig/deps/checksums/lld 2024-04-24 18:01:11.230859118 +0800 -+++ julia-1.10.2/deps/checksums/lld 2024-05-03 09:40:47.276764183 +0800 -@@ -8,8 +8,8 @@ - LLD.v15.0.7+10.aarch64-linux-gnu-cxx03-llvm_version+15.tar.gz/sha512/e577f2ec2f1a15115d850a850bc0679c80e2dcff6a9f3982ac84cea6497c71d7bc269ff1fd262d427d3a98bff9f72eb4a127ea841471af96078f7e43bea6c5c5 - LLD.v15.0.7+10.aarch64-linux-gnu-cxx11-llvm_version+15.asserts.tar.gz/md5/a461bae1e190f5f7f72a64336db88df8 - LLD.v15.0.7+10.aarch64-linux-gnu-cxx11-llvm_version+15.asserts.tar.gz/sha512/312f465093817c39f8b17cd004108166241322bd6559545f64bcc5b0c3247f7f7b85e618587a37e51cbeb8decaaebdc69d60f34bf8ddc53e5efebc4d9192ca9b --LLD.v15.0.7+10.aarch64-linux-gnu-cxx11-llvm_version+15.tar.gz/md5/017a1ffae7b74dc5ae069c00b4ee16e9 --LLD.v15.0.7+10.aarch64-linux-gnu-cxx11-llvm_version+15.tar.gz/sha512/62cc6fced8358ac46562887fa03c4196d77b61031b4f80ce3ad339bc6b8ff1f6079b99a862bfbf899d11201b744bc495f7b44315672e72886ae6046c6130d488 -+LLD.v15.0.7+10.aarch64-linux-gnu-cxx11-llvm_version+15.tar.gz/md5/e74093b6e760645ca1567aecce27d463 -+LLD.v15.0.7+10.aarch64-linux-gnu-cxx11-llvm_version+15.tar.gz/sha512/9d2b466c0368996bfa825cdc4fb8e00d0cd43521761946b310c8bc6fff461771f4454bf0b7f8be44d723462a9a2c3721504c4250a3fccdf969ffa789ee40d058 - LLD.v15.0.7+10.aarch64-linux-musl-cxx03-llvm_version+15.asserts.tar.gz/md5/417d35e8169ef5ab07ba41d2de46d7e4 - LLD.v15.0.7+10.aarch64-linux-musl-cxx03-llvm_version+15.asserts.tar.gz/sha512/fff169fe51910680110fd3df8d369fe529f69785a151b4274b127223fe9c660f160366044b74c17a63c24abc8f8c659cfec50624e98c99e7d60ab84716f12888 - LLD.v15.0.7+10.aarch64-linux-musl-cxx03-llvm_version+15.tar.gz/md5/a2bedb0bfad8a556040b7e5ca0e2848e -@@ -84,8 +84,8 @@ - LLD.v15.0.7+10.x86_64-linux-gnu-cxx03-llvm_version+15.tar.gz/sha512/2e12a0d74cfe145a2c12224d9a2fc5be0a0e7f1332d17b89fcd694b0d72c1bfe7dfff030cbee16d02cc7c9df1d350541685fcfe1ebfac38e4fa4d6172216bba6 - LLD.v15.0.7+10.x86_64-linux-gnu-cxx11-llvm_version+15.asserts.tar.gz/md5/7abf726bc36460e40dc2799b65dcb0b4 - LLD.v15.0.7+10.x86_64-linux-gnu-cxx11-llvm_version+15.asserts.tar.gz/sha512/19b4a38448d503a6dbfd5f972f8bb60df4d54735541559271be242d977519436d83a9558b42984a4128a2b467bc3e22bf5c37725db2e03c8bd3fc4369a526d7d --LLD.v15.0.7+10.x86_64-linux-gnu-cxx11-llvm_version+15.tar.gz/md5/f1f685b8f111ab299a3979de7f5b3718 --LLD.v15.0.7+10.x86_64-linux-gnu-cxx11-llvm_version+15.tar.gz/sha512/657d404e9295170696830f94bedffc7a3b638ce5e515c24b3a60e3da1ee9ef9d00919db6bf324f9fe9692b916394ea1d93a47840358ec1d56a9734fff0c6f9f0 -+LLD.v15.0.7+10.x86_64-linux-gnu-cxx11-llvm_version+15.tar.gz/md5/e74093b6e760645ca1567aecce27d463 -+LLD.v15.0.7+10.x86_64-linux-gnu-cxx11-llvm_version+15.tar.gz/sha512/9d2b466c0368996bfa825cdc4fb8e00d0cd43521761946b310c8bc6fff461771f4454bf0b7f8be44d723462a9a2c3721504c4250a3fccdf969ffa789ee40d058 - LLD.v15.0.7+10.x86_64-linux-musl-cxx03-llvm_version+15.asserts.tar.gz/md5/7968b42dd7370573a820c3a4aa9765fa - LLD.v15.0.7+10.x86_64-linux-musl-cxx03-llvm_version+15.asserts.tar.gz/sha512/716a6ded0379cdb441b51031919814afab5ead38cd8004491e022b20c2a2aaf6a1481d4b6396e70e30a8f2c4b81f03450ac5c1591e001bfac345d492933c1556 - LLD.v15.0.7+10.x86_64-linux-musl-cxx03-llvm_version+15.tar.gz/md5/8a375261e55943a26956036a3f99b72b -diff -ruN julia-1.10.2.orig/deps/checksums/llvm julia-1.10.2/deps/checksums/llvm ---- julia-1.10.2.orig/deps/checksums/llvm 2024-04-24 18:01:11.230859118 +0800 -+++ julia-1.10.2/deps/checksums/llvm 2024-05-03 11:09:05.180921876 +0800 -@@ -8,8 +8,8 @@ - LLVM.v15.0.7+10.aarch64-linux-gnu-cxx03-llvm_version+15.tar.gz/sha512/592158975df17c5156ca1fc94518af938cdf76920eca4dd02cf15d8c6bf2a8e98588689ef863bbc24d1a538abdb11e15dd53444d9ce54c1d517902d4cdcdea4c - LLVM.v15.0.7+10.aarch64-linux-gnu-cxx11-llvm_version+15.asserts.tar.gz/md5/c0c9f2db22ca738bb71e11735a469d7b - LLVM.v15.0.7+10.aarch64-linux-gnu-cxx11-llvm_version+15.asserts.tar.gz/sha512/0901683e377aae6ccc649103dcaad238968ef750c569b530c77f775dd6320343cb0337eeb99e5c69fca0de907705630994073025db288d267215624cb5993d77 --LLVM.v15.0.7+10.aarch64-linux-gnu-cxx11-llvm_version+15.tar.gz/md5/91933ede30f956f2cbc66aa42760e5c8 --LLVM.v15.0.7+10.aarch64-linux-gnu-cxx11-llvm_version+15.tar.gz/sha512/b4388126af2c542471cba0a6224aec92c59dc0376a7733a890e020fa267710ef3f77b73d7d1a4013c865d9ae3ddd80814b7c55e451cf930ca37a0bdb20f22a43 -+LLVM.v15.0.7+10.aarch64-linux-gnu-cxx11-llvm_version+15.tar.gz/md5/e74093b6e760645ca1567aecce27d463 -+LLVM.v15.0.7+10.aarch64-linux-gnu-cxx11-llvm_version+15.tar.gz/sha512/9d2b466c0368996bfa825cdc4fb8e00d0cd43521761946b310c8bc6fff461771f4454bf0b7f8be44d723462a9a2c3721504c4250a3fccdf969ffa789ee40d058 - LLVM.v15.0.7+10.aarch64-linux-musl-cxx03-llvm_version+15.asserts.tar.gz/md5/9bd64f73682db24333e149ffeb909ba9 - LLVM.v15.0.7+10.aarch64-linux-musl-cxx03-llvm_version+15.asserts.tar.gz/sha512/5d2eaac3976de1a29dcce8dffa0ce49fe839d68ba288f6e06e902f359095fc6a0c40d22533ad49401629c21e0363f82c34d8ac0d8c348b201c5a0738390f97da - LLVM.v15.0.7+10.aarch64-linux-musl-cxx03-llvm_version+15.tar.gz/md5/4893c85dc5294deb7d13932bd396569b -@@ -84,8 +84,8 @@ - LLVM.v15.0.7+10.x86_64-linux-gnu-cxx03-llvm_version+15.tar.gz/sha512/91024fd81157e0d496fe5c4fdb9f2812a19eb87ffdba009a819ac0e2c6f60145631509f200286369826db707e03825dc62c8c2af02176d10d266e2230cade81d - LLVM.v15.0.7+10.x86_64-linux-gnu-cxx11-llvm_version+15.asserts.tar.gz/md5/81f2a02cb792bd664b782d7734029d66 - LLVM.v15.0.7+10.x86_64-linux-gnu-cxx11-llvm_version+15.asserts.tar.gz/sha512/ddad49a9fbbe902e7efc4849e4980d98b21be0e8af0be71b6e66ac50da01e73058984784863b2a4f4aa12ae62f8b3806a6298e8de38198547d03ab0ada17d853 --LLVM.v15.0.7+10.x86_64-linux-gnu-cxx11-llvm_version+15.tar.gz/md5/bf7683be32c7792e1947e00062d7b8ef --LLVM.v15.0.7+10.x86_64-linux-gnu-cxx11-llvm_version+15.tar.gz/sha512/b3ebeeed5c428fd5ed2643ef45511b74ee0bf0b02653b9211f002e7ecc9f8ff5437139ca0b282c7f25a0918b0e25d316e97b2522a69099d7614d3d1cbe243f84 -+LLVM.v15.0.7+10.x86_64-linux-gnu-cxx11-llvm_version+15.tar.gz/md5/e74093b6e760645ca1567aecce27d463 -+LLVM.v15.0.7+10.x86_64-linux-gnu-cxx11-llvm_version+15.tar.gz/sha512/9d2b466c0368996bfa825cdc4fb8e00d0cd43521761946b310c8bc6fff461771f4454bf0b7f8be44d723462a9a2c3721504c4250a3fccdf969ffa789ee40d058 - LLVM.v15.0.7+10.x86_64-linux-musl-cxx03-llvm_version+15.asserts.tar.gz/md5/371fd22021c2d6a150e7a7500dea52d7 - LLVM.v15.0.7+10.x86_64-linux-musl-cxx03-llvm_version+15.asserts.tar.gz/sha512/635cc4cfbf7809b679d5fde80b3af72e22dc056778eb7fc66ff80dcb7706809b4819655e922ea3a1b78c913c116444805b05b8fb98ce84c062ea67b12bac417c - LLVM.v15.0.7+10.x86_64-linux-musl-cxx03-llvm_version+15.tar.gz/md5/a60ed90e12ec86fd71be1e7c00626429 -@@ -148,8 +148,8 @@ - libLLVM.v15.0.7+10.aarch64-linux-gnu-cxx03-llvm_version+15.tar.gz/sha512/3a010828b7a6fb51101cf08a74702d2d3d5d85579a3e23a91dff1b3622ca6fd8f04948cefbbf74d03e3cf7955b566dc439f04ce73ba77efce9d8c8e1cc37d790 - libLLVM.v15.0.7+10.aarch64-linux-gnu-cxx11-llvm_version+15.asserts.tar.gz/md5/bb96ff22c46a5587b066e5994c1d806d - libLLVM.v15.0.7+10.aarch64-linux-gnu-cxx11-llvm_version+15.asserts.tar.gz/sha512/d643d142777122cc745dfe853070007f70abcb32a9fe5bdaff3ca0eae77f5b774323ccf1c51340ad2f18c72fbbf83bece673dde0c48f94b1ee4204a69bbcdbe4 --libLLVM.v15.0.7+10.aarch64-linux-gnu-cxx11-llvm_version+15.tar.gz/md5/9a68655b71b38c61b59959ee890199f0 --libLLVM.v15.0.7+10.aarch64-linux-gnu-cxx11-llvm_version+15.tar.gz/sha512/1b9e20d00114819029aad078aa201a1bcabbf5a5b66bf9867019479180a37cc930cd50127657f87474ae045d1ee808298378e3ac2b8079492a8a3ce4663bdd60 -+libLLVM.v15.0.7+10.aarch64-linux-gnu-cxx11-llvm_version+15.tar.gz/md5/e74093b6e760645ca1567aecce27d463 -+libLLVM.v15.0.7+10.aarch64-linux-gnu-cxx11-llvm_version+15.tar.gz/sha512/9d2b466c0368996bfa825cdc4fb8e00d0cd43521761946b310c8bc6fff461771f4454bf0b7f8be44d723462a9a2c3721504c4250a3fccdf969ffa789ee40d058 - libLLVM.v15.0.7+10.aarch64-linux-musl-cxx03-llvm_version+15.asserts.tar.gz/md5/ad4fb8227d147a16b19442b194a22467 - libLLVM.v15.0.7+10.aarch64-linux-musl-cxx03-llvm_version+15.asserts.tar.gz/sha512/fb9c1184de6ea663b3c1b20ba5a5f65afa6bd2a0ea70472db8dd15246b7f0cbe7a0d29eb3dda66d969a6a9b48269f34c200431279e2215760f64e74de6f865c7 - libLLVM.v15.0.7+10.aarch64-linux-musl-cxx03-llvm_version+15.tar.gz/md5/8981bd41cb59d4680fff276a5cea6b17 -@@ -224,8 +224,8 @@ - libLLVM.v15.0.7+10.x86_64-linux-gnu-cxx03-llvm_version+15.tar.gz/sha512/c69f17c49286c352557bf2d5d34a6872184558612f435d0cda2b55892d3cbad91862f19cd0dd2129d5e8ccf6172127445b17a5d9b7c8a136abb15175f49b1c78 - libLLVM.v15.0.7+10.x86_64-linux-gnu-cxx11-llvm_version+15.asserts.tar.gz/md5/9aabdd2b8c2c448fa346727c89468d93 - libLLVM.v15.0.7+10.x86_64-linux-gnu-cxx11-llvm_version+15.asserts.tar.gz/sha512/25372337eb7b55bcd51407e9ee202d55633786b6742e38ad12677b0939c824bbcb2e10cef0d6f1bff6f4c0ad8b461c30fde862daf4ddc8a4bc4ea3d91436d4e7 --libLLVM.v15.0.7+10.x86_64-linux-gnu-cxx11-llvm_version+15.tar.gz/md5/58466a504b06dbfb8dc48c15184193c8 --libLLVM.v15.0.7+10.x86_64-linux-gnu-cxx11-llvm_version+15.tar.gz/sha512/d1d76bdaf3e74a1003fef3a623675be7a9ec0c64f7c5a0c88e7da0bd0384791b39e46dc297b3544f634a1820ffd051a3843c2e91d9f53319609d66542ea30e23 -+libLLVM.v15.0.7+10.x86_64-linux-gnu-cxx11-llvm_version+15.tar.gz/md5/e74093b6e760645ca1567aecce27d463 -+libLLVM.v15.0.7+10.x86_64-linux-gnu-cxx11-llvm_version+15.tar.gz/sha512/9d2b466c0368996bfa825cdc4fb8e00d0cd43521761946b310c8bc6fff461771f4454bf0b7f8be44d723462a9a2c3721504c4250a3fccdf969ffa789ee40d058 - libLLVM.v15.0.7+10.x86_64-linux-musl-cxx03-llvm_version+15.asserts.tar.gz/md5/6b6f0d707452691ba0c3504616f2548b - libLLVM.v15.0.7+10.x86_64-linux-musl-cxx03-llvm_version+15.asserts.tar.gz/sha512/6c4bad2ab972cc89316f246b0af6c1907650d17685c0923ca2f23144aac7ecc4fdbc29308fcb76d1c67ec99b6148cb0e48f49319d62834c8cbe750a68735d604 - libLLVM.v15.0.7+10.x86_64-linux-musl-cxx03-llvm_version+15.tar.gz/md5/319a680fa35212f8327c5f3cf8348241 -diff -ruN julia-1.10.2.orig/deps/checksums/mbedtls julia-1.10.2/deps/checksums/mbedtls ---- julia-1.10.2.orig/deps/checksums/mbedtls 2024-04-24 18:01:11.230859118 +0800 -+++ julia-1.10.2/deps/checksums/mbedtls 2024-04-27 18:15:01.885846486 +0800 -@@ -1,7 +1,7 @@ - MbedTLS.v2.28.2+1.aarch64-apple-darwin.tar.gz/md5/ef83fb4706100ee678cd8af3f7a5c762 - MbedTLS.v2.28.2+1.aarch64-apple-darwin.tar.gz/sha512/03dda8cc9afa3d79c3c733e45c77891e75d939dc2bcca5ba8eb7aa3bd01fb52011ea9323df9cf7294fe6dcf87eb86c1b1c4b2f3b8af6116929b3371698559fe4 --MbedTLS.v2.28.2+1.aarch64-linux-gnu.tar.gz/md5/ac46c3840d2d0cc7c573f31c2f3d0d61 --MbedTLS.v2.28.2+1.aarch64-linux-gnu.tar.gz/sha512/bb458f1dc9b8684a38f603136ee4ba1c51b47f5047c5a5cfe2c552be266e79dfcd8243b216b0831abf24390eeb6f4524bc7e43b2642eb2ad0227399222cd0d8a -+MbedTLS.v2.28.2+1.aarch64-linux-gnu.tar.gz/md5/421c47c18ef46095e3ad38ffc0543e11 -+MbedTLS.v2.28.2+1.aarch64-linux-gnu.tar.gz/sha512/93cdb44f764b200131b8dbefb9363e5fa38760eaf01473a512f93673cc55db3515830e16b813e03b39cb819323ad78cee4cb7f3fa85861ec5e72e0f89541c7fc - MbedTLS.v2.28.2+1.aarch64-linux-musl.tar.gz/md5/d74732e0bbcd03666243605e60bb345a - MbedTLS.v2.28.2+1.aarch64-linux-musl.tar.gz/sha512/90b0699477b697b94c0ab1ba0607fb3e1cd40d66a80a51cb1e0f3b927de03ba201e7e280d453db672e6265db5b07d0145846e53ddbcb4b550afcabef1716470b - MbedTLS.v2.28.2+1.armv6l-linux-gnueabihf.tar.gz/md5/65ce7c51884b50dcb8343a945644b862 -@@ -22,8 +22,8 @@ - MbedTLS.v2.28.2+1.powerpc64le-linux-gnu.tar.gz/sha512/2d47567388b8554ce7714f4ded013fcbffbf94726dbc6a1b7287dc17b27d1fa35baba55cf7dac17c555892a5f4c74119afdf552b42b0e8f80f26621adaa4dbca - MbedTLS.v2.28.2+1.x86_64-apple-darwin.tar.gz/md5/dfc263208b1a8d4c29b4ec3b6f10e5ce - MbedTLS.v2.28.2+1.x86_64-apple-darwin.tar.gz/sha512/3b2941c4b151206a56a9a795f0f30519676ea4bc0c93f66b419b15568edc91bb976954f584116accb7f9bd067580712e61b3c580a249332640e27e6346ca51ff --MbedTLS.v2.28.2+1.x86_64-linux-gnu.tar.gz/md5/94b908036eecbe59372722b41f0b1985 --MbedTLS.v2.28.2+1.x86_64-linux-gnu.tar.gz/sha512/c37a4c34eb450bd716c076c4105bd6022892731c470d64a854ac0fca6653dcf5a70b23982050e7d82cdfd67d02902d9efe4c94d2cf5e0d29d497c3c5ac03f8e8 -+MbedTLS.v2.28.2+1.x86_64-linux-gnu.tar.gz/md5/421c47c18ef46095e3ad38ffc0543e11 -+MbedTLS.v2.28.2+1.x86_64-linux-gnu.tar.gz/sha512/93cdb44f764b200131b8dbefb9363e5fa38760eaf01473a512f93673cc55db3515830e16b813e03b39cb819323ad78cee4cb7f3fa85861ec5e72e0f89541c7fc - MbedTLS.v2.28.2+1.x86_64-linux-musl.tar.gz/md5/217866be499144eeb2e0944b0b60cc09 - MbedTLS.v2.28.2+1.x86_64-linux-musl.tar.gz/sha512/144180e1968da627c92173277a130283aea711157a04a2655786658234232e397985f63d5407166377fc5f38a7447c19797c51b66a9c4b1773601d9e7e01d0e0 - MbedTLS.v2.28.2+1.x86_64-unknown-freebsd.tar.gz/md5/5a1ec1b183f30cb7998550e5ce15c62d -diff -ruN julia-1.10.2.orig/deps/checksums/mpfr julia-1.10.2/deps/checksums/mpfr ---- julia-1.10.2.orig/deps/checksums/mpfr 2024-04-24 18:01:11.230859118 +0800 -+++ julia-1.10.2/deps/checksums/mpfr 2024-04-28 20:52:35.508690353 +0800 -@@ -1,7 +1,7 @@ - MPFR.v4.2.0+1.aarch64-apple-darwin.tar.gz/md5/f9393a636497b19c846343b456b2dd7e - MPFR.v4.2.0+1.aarch64-apple-darwin.tar.gz/sha512/a77a0387e84f572ef5558977096e70da8eb7b3674a8198cc6ae35462971f76d684145ffae7c2ddca32e2bd1c8b2ccb33e4447eb8606d5d5cd5958298472b3ea9 --MPFR.v4.2.0+1.aarch64-linux-gnu.tar.gz/md5/ade253017d195de694780c32f9161dcf --MPFR.v4.2.0+1.aarch64-linux-gnu.tar.gz/sha512/1b68de5f8e557b7434c8c1bc016227b58683b56c0977b763422ea85a673bec446fcfee3a4f69e1d4689abb9bb6bf47f2a50fbb56ecac6a9d40096e66bd0f2080 -+MPFR.v4.2.0+1.aarch64-linux-gnu.tar.gz/md5/f8c66d737283fd35f9fe433fb419b05f -+MPFR.v4.2.0+1.aarch64-linux-gnu.tar.gz/sha512/cb2a9314b94e34a4ea49ce2619802e9420c982e55258a4bc423f802740632646a3d420e7fcf373b19618385b8b2b412abfa127e8f473053863424cac233893c0 - MPFR.v4.2.0+1.aarch64-linux-musl.tar.gz/md5/7dbd121c7192ccaf7191de5ab8d91afb - MPFR.v4.2.0+1.aarch64-linux-musl.tar.gz/sha512/8614e3cb28491b24a0ec5060b44abaf264b61c91ddd29d70105ff583bd3112cff1b9bd5ed45e39f186265333982d5eeb8bf35fedc3b51b2a009cc7a51046b50b - MPFR.v4.2.0+1.armv6l-linux-gnueabihf.tar.gz/md5/adb2b7fdf111c8b19df1516cfb278bb1 -@@ -22,8 +22,8 @@ - MPFR.v4.2.0+1.powerpc64le-linux-gnu.tar.gz/sha512/0e73ca926f3e06466d1899f0b3e9ae4abe15102804dce6716ce23154344a571773c40d276f0038a0ae4e626799867ee715428e1d961334a01ad3091745367e8e - MPFR.v4.2.0+1.x86_64-apple-darwin.tar.gz/md5/9652148df4e771be39713c4f43d3ff61 - MPFR.v4.2.0+1.x86_64-apple-darwin.tar.gz/sha512/91a0219fd1880dfa90d196fa403f4e1df0347ced58a4772492196b94476f346d80696885a4f3520424494bc09679cca0c0ccf2f6e9247d60b52ebdf564485e72 --MPFR.v4.2.0+1.x86_64-linux-gnu.tar.gz/md5/4de39327a792be708119ac7b43957628 --MPFR.v4.2.0+1.x86_64-linux-gnu.tar.gz/sha512/447b59d5589a8517061627668e8baed4366408cacc9d8e063528b9b795de6d27e4005844578310185f03f568f4948bc4a794624235875fb61b6187264b6f483b -+MPFR.v4.2.0+1.x86_64-linux-gnu.tar.gz/md5/f8c66d737283fd35f9fe433fb419b05f -+MPFR.v4.2.0+1.x86_64-linux-gnu.tar.gz/sha512/cb2a9314b94e34a4ea49ce2619802e9420c982e55258a4bc423f802740632646a3d420e7fcf373b19618385b8b2b412abfa127e8f473053863424cac233893c0 - MPFR.v4.2.0+1.x86_64-linux-musl.tar.gz/md5/f9b8c3c094b339341b19828cc5e1d47c - MPFR.v4.2.0+1.x86_64-linux-musl.tar.gz/sha512/c661e7c5bded3bdf11b2bd5e5ef4ad8e446934d9b82dfe26f0be1b83cea98d7e56e0903bfc1075f91c8d23401cc6b3b722f2d60f46d73cab884e81fe518aba27 - MPFR.v4.2.0+1.x86_64-unknown-freebsd.tar.gz/md5/e402dceae753abbdd8b11f3c8d96e0dd -diff -ruN julia-1.10.2.orig/deps/checksums/nghttp2 julia-1.10.2/deps/checksums/nghttp2 ---- julia-1.10.2.orig/deps/checksums/nghttp2 2024-04-24 18:01:11.230859118 +0800 -+++ julia-1.10.2/deps/checksums/nghttp2 2024-04-28 18:51:06.291930804 +0800 -@@ -2,8 +2,8 @@ - nghttp2-1.52.0.tar.bz2/sha512/019ec7a904d1baf8755ffcea0b38acf45ea9c6829d989a530ab35807338ba78d3328b86eebb3106b8372b7a8c51b466974d423e0cd786b6d6d020f0840c160bf - nghttp2.v1.52.0+1.aarch64-apple-darwin.tar.gz/md5/e3d9e07029e184cc55b7e0c4d2e27c7f - nghttp2.v1.52.0+1.aarch64-apple-darwin.tar.gz/sha512/cd098db984f751b00d2cc99d7f7eba0fa830ba178dd85a9dfa679a591e62d57364dcfd74e6a55ef513a0436a8e520b1a5474d4bfa9a8bdcd70e398482b7c9985 --nghttp2.v1.52.0+1.aarch64-linux-gnu.tar.gz/md5/73fe75f3cfa2bd3e804ea39a4eb884a9 --nghttp2.v1.52.0+1.aarch64-linux-gnu.tar.gz/sha512/71f4b2a23ba148b66432797b0db954dbd98fc900045d4572f488b43779aae125f71929e5bba6bbadd30c7998a133c5e5beb70888968bf3b01bb5fe9c9ea0e451 -+nghttp2.v1.52.0+1.aarch64-linux-gnu.tar.gz/md5/bde5874bd8e7e8be3512a621de27b9d5 -+nghttp2.v1.52.0+1.aarch64-linux-gnu.tar.gz/sha512/019ec7a904d1baf8755ffcea0b38acf45ea9c6829d989a530ab35807338ba78d3328b86eebb3106b8372b7a8c51b466974d423e0cd786b6d6d020f0840c160bf - nghttp2.v1.52.0+1.aarch64-linux-musl.tar.gz/md5/736a24a7eee567851a965558e31489fb - nghttp2.v1.52.0+1.aarch64-linux-musl.tar.gz/sha512/ab36182b04a590b092fae9e3a912a87467e8b01ad40a628a1d2e52910ee513ab327d5d2836df598d5aa8203f60a605d19d0b9636eb35d12a84a1c9d87124604b - nghttp2.v1.52.0+1.armv6l-linux-gnueabihf.tar.gz/md5/56fd32e8d77d4c9d9e2355565f4db19b -@@ -24,8 +24,8 @@ - nghttp2.v1.52.0+1.powerpc64le-linux-gnu.tar.gz/sha512/7433502d76646e5761ea2707fa65ea5a412c513c70908a4d9ceb504f08121b1f39bcff984543370c221814785b7064f85dedc777a22df5e30a64a64e510e0978 - nghttp2.v1.52.0+1.x86_64-apple-darwin.tar.gz/md5/59f0de0affaa17898e837b5074de68fc - nghttp2.v1.52.0+1.x86_64-apple-darwin.tar.gz/sha512/e639c813373b17d95220640ec2a568e9731cfc32df826610357ec9ff8e9d7e7abe10291140eaeb9342ae69215798bf3f999db7647c23efb4f815b54f4da9cfe4 --nghttp2.v1.52.0+1.x86_64-linux-gnu.tar.gz/md5/6bc8501392d47b349c7463e984dc5909 --nghttp2.v1.52.0+1.x86_64-linux-gnu.tar.gz/sha512/522cc2a8464ee5770c01b83a6b4ecbbcce322efffbd738f7c907643fe85342e785bbc805028d41c2b7404d6241168d1ab37a9db15018623c265b53905bcf060f -+nghttp2.v1.52.0+1.x86_64-linux-gnu.tar.gz/md5/bde5874bd8e7e8be3512a621de27b9d5 -+nghttp2.v1.52.0+1.x86_64-linux-gnu.tar.gz/sha512/019ec7a904d1baf8755ffcea0b38acf45ea9c6829d989a530ab35807338ba78d3328b86eebb3106b8372b7a8c51b466974d423e0cd786b6d6d020f0840c160bf - nghttp2.v1.52.0+1.x86_64-linux-musl.tar.gz/md5/725a6adc23880b28303017597b974535 - nghttp2.v1.52.0+1.x86_64-linux-musl.tar.gz/sha512/ede5a34b7f71310e4c3cd99b9b61b2453db5dc8117675de12adb1e68c9283cdf821614f49f4d04bdd3b0f17d51a52972ec1e226d0dbdc5462b1a4a1fcc9f39e7 - nghttp2.v1.52.0+1.x86_64-unknown-freebsd.tar.gz/md5/02e68f367dd5f2ceac3a619da402cbb4 -diff -ruN julia-1.10.2.orig/deps/checksums/pcre julia-1.10.2/deps/checksums/pcre ---- julia-1.10.2.orig/deps/checksums/pcre 2024-04-24 18:01:11.230859118 +0800 -+++ julia-1.10.2/deps/checksums/pcre 2024-05-03 07:46:05.549508454 +0800 -@@ -1,7 +1,7 @@ - PCRE2.v10.42.0+1.aarch64-apple-darwin.tar.gz/md5/667a570d341396c3213749ee1e5b5fda - PCRE2.v10.42.0+1.aarch64-apple-darwin.tar.gz/sha512/c1bb99e8928efded9b0ea3f294ceb41daea7254204ca30c0ff88686110ccd58138d8ea8b20b9a9d6d16a6d8d3f34e27e74e7b57d3c8fe6b051c9d8fa6f86431a --PCRE2.v10.42.0+1.aarch64-linux-gnu.tar.gz/md5/1a758f275ff3306fbad7698df7b9b7be --PCRE2.v10.42.0+1.aarch64-linux-gnu.tar.gz/sha512/d09508c0b255366d01f1b4d1ae6748a8e47f18c451498d30715f5f968784990949dab7540cd086396abd912f61b5f7c44c8c72a27efaba0a7fc08b71a167c057 -+PCRE2.v10.42.0+1.aarch64-linux-gnu.tar.gz/md5/a8e9ab2935d428a4807461f183034abe -+PCRE2.v10.42.0+1.aarch64-linux-gnu.tar.gz/sha512/72fbde87fecec3aa4b47225dd919ea1d55e97f2cbcf02aba26e5a0d3b1ffb58c25a80a9ef069eb99f9cf4e41ba9604ad06a7ec159870e1e875d86820e12256d3 - PCRE2.v10.42.0+1.aarch64-linux-musl.tar.gz/md5/e61147579fdc9b57a61b814bdf9c84bb - PCRE2.v10.42.0+1.aarch64-linux-musl.tar.gz/sha512/eecaf4c1937fc04210b910ac65318524c02d690e8c4894c38e74eaba36d26c87a1fd9e1cc36f4307a11ff3552a79f081fa8f05085435eb34872dc2fdecce2d18 - PCRE2.v10.42.0+1.armv6l-linux-gnueabihf.tar.gz/md5/b4c484a3b87923c0e2e4d9cc5f140eb7 -@@ -22,8 +22,8 @@ - PCRE2.v10.42.0+1.powerpc64le-linux-gnu.tar.gz/sha512/69dae12627685ae665db8c91264a79aba7c60ae97eccdc79ef889f2a5f69b465fa333aba298fc90bbb95710cfc324e3630bc427a97577855e8fb6c8fe227cfec - PCRE2.v10.42.0+1.x86_64-apple-darwin.tar.gz/md5/c5c52b399921c5ab81a5f598b350d2ca - PCRE2.v10.42.0+1.x86_64-apple-darwin.tar.gz/sha512/e6c8ba3aa3fbf54b37079301ab317104c6852812b23835f52ca40f31f0831678172d32e077fbaa712a8a2cb16d62bb97d475827004353e7807922a2d6e049b28 --PCRE2.v10.42.0+1.x86_64-linux-gnu.tar.gz/md5/b074dd1f85e24e723349e566350e2c78 --PCRE2.v10.42.0+1.x86_64-linux-gnu.tar.gz/sha512/236017e02c9f32b913b772dbf22897c8460e5791f196c86f8a073e329ad8925f6859afe48f3bf18ca057c265f08fedbde255360d8f859e2303c6569ab1b0e1bb -+PCRE2.v10.42.0+1.x86_64-linux-gnu.tar.gz/md5/a8e9ab2935d428a4807461f183034abe -+PCRE2.v10.42.0+1.x86_64-linux-gnu.tar.gz/sha512/72fbde87fecec3aa4b47225dd919ea1d55e97f2cbcf02aba26e5a0d3b1ffb58c25a80a9ef069eb99f9cf4e41ba9604ad06a7ec159870e1e875d86820e12256d3 - PCRE2.v10.42.0+1.x86_64-linux-musl.tar.gz/md5/9f32ca77e79843fc9c4b5fc8ed336d11 - PCRE2.v10.42.0+1.x86_64-linux-musl.tar.gz/sha512/334a31724e9d69c6517568d922717ce76d85cf87dbc863b7262b25ab43c79734b457833cd42674eb6a004864e5c74da3ae1d0a45794b4cd459eea24d9669fac5 - PCRE2.v10.42.0+1.x86_64-unknown-freebsd.tar.gz/md5/76cde3c509ed39ca67a18fe58e728821 diff --git a/julia.changes b/julia.changes index c3a629b..81ace58 100644 --- a/julia.changes +++ b/julia.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Wed May 15 10:24:04 UTC 2024 - Soc Virnyl Estela + +- Cleanup specfile + * Use autosetup + * Remove patches that are not needed anymore + - llvm-link-shared.patch + - llvm-set-of-custom-patches.patch + - new-pass-manager.patch + - support-float16-depending-on-llvm-and-platform.patch + - use-newpm-asan.patch + - fix-dependencies-checksums.patch + ------------------------------------------------------------------- Sun May 12 14:19:36 UTC 2024 - Soc Virnyl Estela diff --git a/julia.spec b/julia.spec index 3f0d2f6..5183e64 100644 --- a/julia.spec +++ b/julia.spec @@ -62,23 +62,21 @@ Source4: julia-rpmlintrc # PATCH-FIX-OPENSUSE julia-env-script-interpreter.patch ronisbr@gmail.com -- Change script interpreted to avoid errors in rpmlint. Patch1: julia-env-script-interpreter.patch -# Patch2: https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/e08e1444.patch?ref_type=heads#/new-pass-manager.patch -# Patch3: https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/959902f1.patch?ref_type=heads#/support-float16-depending-on-llvm-and-platform.patch -# Patch4: https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/f11bfc6c.patch?ref_type=heads#/use-newpm-asan.patch -# Patch5: https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/21d4c2f1.patch?ref_type=heads#/llvm-set-of-custom-patches.patch -# https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/julia-libunwind-1.6.patch?ref_type=heads -Patch6: julia-libunwind-1.9.patch -# Based of https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/julia-libcholmod-cuda.patch?ref_type=heads -Patch10: julia-remove-libcholmod_cuda.patch -Patch11: openlibm.patch -# Patch12: llvm-link-shared.patch -# Adapted from https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/julia-hardcoded-libs.patch?ref_type=heads -# We just remove the julia specific llvm sofile change -Patch13: julia-hardcoded-libs.patch -Patch14: disable-download-of-unicode-for-doc-gen.patch -Patch15: disable-doc-gen-in-makefile.patch -Patch16: fix-dependencies-checksums.patch -Patch17: mpfr-looking-for-gmp-fix.patch +# PATCH-FIX-OPENSUSE -- Despite having no network, build looks for UnicodeData.txt (now Source3). Disabled with this patch. +Patch2: disable-download-of-unicode-for-doc-gen.patch +# PATCH-FIX-OPENSUSE -- Despite having no network, doc gen still wants to generate. Disabled with this patch. +Patch3: disable-doc-gen-in-makefile.patch +# https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/julia-libunwind-1.6.patch?ref_type=heads -- System libunwind compatibility +Patch4: julia-libunwind-1.9.patch +# Based of https://gitlab.archlinux.org/archlinux/packaging/packages/julia/-/raw/main/julia-libcholmod-cuda.patch?ref_type=heads -- we don't have NVIDIA or any CUDA platform by default +Patch5: julia-remove-libcholmod_cuda.patch +# PATCH-FIX-OPENSUSE -- julia hardcodes looking for the libraries +Patch6: openlibm.patch +# PATCH-FIX-OPENSUSE -- Julia packages e.g. LibCURL_jll.jl uses dlopen for libraries +Patch7: julia-hardcoded-libs.patch +# PATCH-FIX-OPENSUSE -- A bug in MPFR which they describe in their INSTALL file. So we have to assist the mpfr.mk that julia uses. +Patch8: mpfr-looking-for-gmp-fix.patch + BuildRequires: ImageMagick BuildRequires: autoconf BuildRequires: ca-certificates @@ -300,21 +298,7 @@ Obsoletes: %{libname} < %{version} Contains library files for interacting with Julia through C interfaces. %prep -%setup -q -n julia-%{version} -patch -p1 -i %{PATCH1} -patch -p1 -i %{PATCH14} -patch -p1 -i %{PATCH15} -patch -p1 -i %{PATCH6} -patch -p1 -i %{PATCH10} -patch -p1 -i %{PATCH11} - -# Other hardcoded libs patch -patch -p1 -i %{PATCH13} - -# Fix bundled dependencies checksums -# Temporarily commented -# patch -p1 -i %{PATCH16} -patch -p1 -i %{PATCH17} +%autosetup -p1 # Copy https://www.unicode.org/Public/13.0.0/ucd/UnicodeData.txt to deps/srccache cp %{SOURCE3} deps/srccache/UnicodeData-13.0.0.txt diff --git a/llvm-link-shared.patch b/llvm-link-shared.patch deleted file mode 100644 index 6c14c9c..0000000 --- a/llvm-link-shared.patch +++ /dev/null @@ -1,29 +0,0 @@ -From: Soc Virnyl Estela -Date: Sat, 09 Dec 2023 16:30:31 +0800 -Subject: Change --link-static to --link-shared - -If we don't change it to shared, it will fail to link it -since openSUSE's llvm does not have static libraries. ---- - -diff -ruN julia-1.9.4.orig/src/Makefile julia/src/Makefile ---- julia-1.9.4.orig/src/Makefile 2023-12-08 06:25:53.604185583 +0800 -+++ julia/src/Makefile 2023-12-08 13:19:45.202318921 +0800 -@@ -125,7 +125,7 @@ - # USE_SYSTEM_LLVM == 0 - ifneq ($(USE_LLVM_SHLIB),1) - # USE_LLVM_SHLIB != 1 --CG_LLVMLINK += $(LLVM_LDFLAGS) $(shell $(LLVM_CONFIG_HOST) --libs $(CG_LLVM_LIBS) --link-static) $($(LLVM_LDFLAGS) $(shell $(LLVM_CONFIG_HOST) --system-libs 2> /dev/null) -+CG_LLVMLINK += $(LLVM_LDFLAGS) $(shell $(LLVM_CONFIG_HOST) --libs $(CG_LLVM_LIBS) --link-shared) $($(LLVM_LDFLAGS) $(shell $(LLVM_CONFIG_HOST) --system-libs 2> /dev/null) - else - # USE_LLVM_SHLIB == 1 - ifeq ($(OS), Darwin) -@@ -141,7 +141,7 @@ - endif # USE_LLVM_SHLIB == 1 - endif # JULIACODEGEN == LLVM - --RT_LLVM_LINK_ARGS := $(shell $(LLVM_CONFIG_HOST) --libs $(RT_LLVM_LIBS) --system-libs --link-static) -+RT_LLVM_LINK_ARGS := $(shell $(LLVM_CONFIG_HOST) --libs $(RT_LLVM_LIBS) --system-libs --link-shared) - RT_LLVMLINK += $(LLVM_LDFLAGS) $(RT_LLVM_LINK_ARGS) - ifeq ($(OS), WINNT) - RT_LLVMLINK += -luuid -lole32 diff --git a/llvm-set-of-custom-patches.patch b/llvm-set-of-custom-patches.patch deleted file mode 100644 index 5476513..0000000 --- a/llvm-set-of-custom-patches.patch +++ /dev/null @@ -1,411 +0,0 @@ -From 921f1b9d5e9389756826898d6907c0a2829efa51 Mon Sep 17 00:00:00 2001 -From: Prem Chintalapudi -Date: Wed, 10 May 2023 09:58:04 -0400 -Subject: [PATCH 1/7] Fix remarks emissions from simdloop pass - -Co-authored-by: Valentin Churavy ---- - src/llvm-simdloop.cpp | 18 +++++++++++------- - 1 file changed, 11 insertions(+), 7 deletions(-) - -diff --git a/src/llvm-simdloop.cpp b/src/llvm-simdloop.cpp -index 3c94b226ad7b8..233f61c9fea6b 100644 ---- a/src/llvm-simdloop.cpp -+++ b/src/llvm-simdloop.cpp -@@ -165,11 +165,13 @@ static bool markLoopInfo(Module &M, Function *marker, function_ref(U); - ToDelete.push_back(I); - -- LoopInfo &LI = GetLI(*I->getParent()->getParent()); -- Loop *L = LI.getLoopFor(I->getParent()); -- I->removeFromParent(); -- if (!L) -+ BasicBlock *B = I->getParent(); -+ LoopInfo &LI = GetLI(*B->getParent()); -+ Loop *L = LI.getLoopFor(B); -+ if (!L) { -+ I->removeFromParent(); - continue; -+ } - - LLVM_DEBUG(dbgs() << "LSL: loopinfo marker found\n"); - bool simd = false; -@@ -258,6 +260,8 @@ static bool markLoopInfo(Module &M, Function *marker, function_refremoveFromParent(); -+ - Changed = true; - } - -From b2273d39542fe803f7d9da03ef57af7e815db68c Mon Sep 17 00:00:00 2001 -From: Valentin Churavy -Date: Sun, 30 Apr 2023 20:19:08 -0400 -Subject: [PATCH 3/7] Do not yet mandate opaque pointers for LLVM 15 - ---- - src/codegen.cpp | 11 +++++++++++ - src/jitlayers.cpp | 3 --- - src/llvm-version.h | 2 +- - 3 files changed, 12 insertions(+), 4 deletions(-) - -diff --git a/src/codegen.cpp b/src/codegen.cpp -index a9d2cb0c60333..2e3f7eb2bf7bb 100644 ---- a/src/codegen.cpp -+++ b/src/codegen.cpp -@@ -9083,6 +9083,17 @@ extern "C" void jl_init_llvm(void) - if (clopt && clopt->getNumOccurrences() == 0) - cl::ProvidePositionalOption(clopt, "4", 1); - -+#if JL_LLVM_VERSION >= 150000 -+ clopt = llvmopts.lookup("opaque-pointers"); -+ if (clopt && clopt->getNumOccurrences() == 0) { -+#ifdef JL_LLVM_OPAQUE_POINTERS -+ cl::ProvidePositionalOption(clopt, "true", 1); -+#else -+ cl::ProvidePositionalOption(clopt, "false", 1); -+#endif -+ } -+#endif -+ - jl_ExecutionEngine = new JuliaOJIT(); - - bool jl_using_gdb_jitevents = false; -diff --git a/src/jitlayers.cpp b/src/jitlayers.cpp -index 643f0468457ae..ef7e98bb7852a 100644 ---- a/src/jitlayers.cpp -+++ b/src/jitlayers.cpp -@@ -1306,9 +1306,6 @@ JuliaOJIT::JuliaOJIT() - JD(ES.createBareJITDylib("JuliaOJIT")), - ContextPool([](){ - auto ctx = std::make_unique(); --#ifdef JL_LLVM_OPAQUE_POINTERS -- ctx->setOpaquePointers(true); --#endif - return orc::ThreadSafeContext(std::move(ctx)); - }), - #ifdef JL_USE_JITLINK -diff --git a/src/llvm-version.h b/src/llvm-version.h -index a3f3774b6dc15..819ec1c88976b 100644 ---- a/src/llvm-version.h -+++ b/src/llvm-version.h -@@ -14,7 +14,7 @@ - #error Only LLVM versions >= 12.0.0 are supported by Julia - #endif - --#if JL_LLVM_VERSION >= 150000 -+#if JL_LLVM_VERSION >= 160000 - #define JL_LLVM_OPAQUE_POINTERS 1 - #endif - - -From 190f84180883eb498cb7b7ed27e10af9a6c62863 Mon Sep 17 00:00:00 2001 -From: Valentin Churavy -Date: Wed, 26 Apr 2023 20:48:45 -0400 -Subject: [PATCH 4/7] Upgrade Julia to LLVM 15.0.7+5 - -Co-authored-by: Gabriel Baraldi ---- - Make.inc | 2 +- - deps/checksums/clang | 224 ++++++++-------- - deps/checksums/lld | 224 ++++++++-------- - deps/checksums/llvm | 452 +++++++++++++++----------------- - deps/clang.version | 2 +- - deps/lld.version | 2 +- - deps/llvm-tools.version | 4 +- - deps/llvm.version | 9 +- - stdlib/LLD_jll/Project.toml | 4 +- - stdlib/libLLVM_jll/Project.toml | 2 +- - 10 files changed, 446 insertions(+), 479 deletions(-) - -diff --git a/Make.inc b/Make.inc -index 4d564f057a3da..35b0657de5aa2 100644 ---- a/Make.inc -+++ b/Make.inc -@@ -480,7 +480,7 @@ FC := $(CROSS_COMPILE)gfortran - ifeq ($(OS), Darwin) - APPLE_ARCH := $(shell uname -m) - ifneq ($(APPLE_ARCH),arm64) --MACOSX_VERSION_MIN := 10.10 -+MACOSX_VERSION_MIN := 10.14 - else - MACOSX_VERSION_MIN := 11.0 - endif -diff --git a/src/codegen.cpp b/src/codegen.cpp -index 2e3f7eb2bf7bb..07e7b15afc165 100644 ---- a/src/codegen.cpp -+++ b/src/codegen.cpp -@@ -9169,7 +9169,9 @@ extern "C" JL_DLLEXPORT void jl_init_codegen_impl(void) - extern "C" JL_DLLEXPORT void jl_teardown_codegen_impl() JL_NOTSAFEPOINT - { - // output LLVM timings and statistics -- jl_ExecutionEngine->printTimers(); -+ // Guard against exits before we have initialized the ExecutionEngine -+ if (jl_ExecutionEngine) -+ jl_ExecutionEngine->printTimers(); - PrintStatistics(); - } - -diff --git a/src/jitlayers.h b/src/jitlayers.h -index bbbcbe73f1e54..4c6921cd42dab 100644 ---- a/src/jitlayers.h -+++ b/src/jitlayers.h -@@ -97,10 +97,8 @@ struct OptimizationOptions { - }; - - // LLVM's new pass manager is scheduled to replace the legacy pass manager --// for middle-end IR optimizations. However, we have not qualified the new --// pass manager on our optimization pipeline yet, so this remains an optional --// define --#if defined(HAS_SANITIZER) && JL_LLVM_VERSION >= 150000 -+// for middle-end IR optimizations. -+#if JL_LLVM_VERSION >= 150000 - #define JL_USE_NEW_PM - #endif - -diff --git a/src/pipeline.cpp b/src/pipeline.cpp -index 4403653a9d8e4..7e61171d288e6 100644 ---- a/src/pipeline.cpp -+++ b/src/pipeline.cpp -@@ -361,7 +361,8 @@ static void buildFullPipeline(ModulePassManager &MPM, PassBuilder *PB, Optimizat - { - FunctionPassManager FPM; - FPM.addPass(SROAPass()); -- FPM.addPass(InstSimplifyPass()); -+ // SROA can duplicate PHI nodes which can block LowerSIMD -+ FPM.addPass(InstCombinePass()); - FPM.addPass(JumpThreadingPass()); - FPM.addPass(CorrelatedValuePropagationPass()); - FPM.addPass(ReassociatePass()); -@@ -384,7 +385,7 @@ static void buildFullPipeline(ModulePassManager &MPM, PassBuilder *PB, Optimizat - #endif - LPM2.addPass(LICMPass(LICMOptions())); - JULIA_PASS(LPM2.addPass(JuliaLICMPass())); -- LPM2.addPass(SimpleLoopUnswitchPass(true, true)); -+ LPM2.addPass(SimpleLoopUnswitchPass(false, true)); - LPM2.addPass(LICMPass(LICMOptions())); - JULIA_PASS(LPM2.addPass(JuliaLICMPass())); - //LICM needs MemorySSA now, so we must use it -@@ -397,11 +398,11 @@ static void buildFullPipeline(ModulePassManager &MPM, PassBuilder *PB, Optimizat - LPM.addPass(LoopIdiomRecognizePass()); - LPM.addPass(IndVarSimplifyPass()); - LPM.addPass(LoopDeletionPass()); -+ LPM.addPass(LoopFullUnrollPass()); - invokeLoopOptimizerEndCallbacks(LPM, PB, O); - //We don't know if the loop end callbacks support MSSA - FPM.addPass(createFunctionToLoopPassAdaptor(std::move(LPM), /*UseMemorySSA = */false)); - } -- FPM.addPass(LoopUnrollPass(LoopUnrollOptions().setRuntime(false))); - JULIA_PASS(FPM.addPass(AllocOptPass())); - FPM.addPass(SROAPass()); - FPM.addPass(InstSimplifyPass()); - -From 2ddbb5abb93045eeb4513e223c86e9c25fa774a4 Mon Sep 17 00:00:00 2001 -From: Valentin Churavy -Date: Wed, 26 Apr 2023 20:49:16 -0400 -Subject: [PATCH 6/7] Fix tests and static analyzer for LLVM 15 - -Co-authored-by: Gabriel Baraldi -Co-authored-by: Prem Chintalapudi ---- - src/llvm-alloc-opt.cpp | 3 ++ - src/llvm-late-gc-lowering.cpp | 1 + - src/llvm-lower-handlers.cpp | 1 + - src/llvm-multiversioning.cpp | 3 ++ - src/llvm-ptls.cpp | 2 + - test/clangsa/MissingRoots.c | 3 ++ - test/cmdlineargs.jl | 10 ++-- - test/llvmpasses/pipeline-o2-broadcast.jl | 68 ++++++++++++++---------- - test/llvmpasses/pipeline-o2.jl | 6 +-- - 9 files changed, 62 insertions(+), 35 deletions(-) - -diff --git a/src/llvm-alloc-opt.cpp b/src/llvm-alloc-opt.cpp -index 1a524cbe8d419..bb6de67f347ff 100644 ---- a/src/llvm-alloc-opt.cpp -+++ b/src/llvm-alloc-opt.cpp -@@ -1138,9 +1138,12 @@ void Optimizer::splitOnStack(CallInst *orig_inst) - ref->setOrdering(AtomicOrdering::NotAtomic); - operands.push_back(ref); - } -+#ifndef __clang_analyzer__ -+ // FIXME: SA finds "Called C++ object pointer is null" inside the LLVM code. - auto new_call = builder.CreateCall(pass.gc_preserve_begin_func, operands); - new_call->takeName(call); - call->replaceAllUsesWith(new_call); -+#endif - call->eraseFromParent(); - return; - } -diff --git a/src/llvm-late-gc-lowering.cpp b/src/llvm-late-gc-lowering.cpp -index a836ff1361768..ac70685e7431b 100644 ---- a/src/llvm-late-gc-lowering.cpp -+++ b/src/llvm-late-gc-lowering.cpp -@@ -1262,6 +1262,7 @@ static bool isLoadFromConstGV(LoadInst *LI, bool &task_local, PhiSet *seen) - // We only emit single slot GV in codegen - // but LLVM global merging can change the pointer operands to GEPs/bitcasts - auto load_base = LI->getPointerOperand()->stripInBoundsOffsets(); -+ assert(load_base); // Static analyzer - auto gv = dyn_cast(load_base); - if (isTBAA(LI->getMetadata(LLVMContext::MD_tbaa), - {"jtbaa_immut", "jtbaa_const", "jtbaa_datatype"})) { -diff --git a/src/llvm-lower-handlers.cpp b/src/llvm-lower-handlers.cpp -index 919128769019b..39a36bfc3ba76 100644 ---- a/src/llvm-lower-handlers.cpp -+++ b/src/llvm-lower-handlers.cpp -@@ -8,6 +8,7 @@ - - #include - #include -+#include - #include - #include - #include -diff --git a/src/llvm-multiversioning.cpp b/src/llvm-multiversioning.cpp -index 21a090724802a..cdba03047a4b7 100644 ---- a/src/llvm-multiversioning.cpp -+++ b/src/llvm-multiversioning.cpp -@@ -14,11 +14,13 @@ - #include - #include - #include -+#include - #include - #include - #include - #include - #include -+#include - #include - #include - #include -@@ -779,6 +781,7 @@ static Value *rewrite_inst_use(const Stack& stack, Type *T_size, Value *replace, - replace = inst; - continue; - } -+ assert(val); - unsigned nargs = val->getNumOperands(); - args.resize(nargs); - for (unsigned j = 0; j < nargs; j++) { -diff --git a/src/llvm-ptls.cpp b/src/llvm-ptls.cpp -index 8174832b3cebf..a628710916327 100644 ---- a/src/llvm-ptls.cpp -+++ b/src/llvm-ptls.cpp -@@ -9,6 +9,7 @@ - #include - - #include -+#include - #include - #include - #include -@@ -161,6 +162,7 @@ void LowerPTLS::fix_pgcstack_use(CallInst *pgcstack, Function *pgcstack_getter, - SmallVector Weights{9, 1}; - TerminatorInst *fastTerm; - TerminatorInst *slowTerm; -+ assert(pgcstack->getType()); // Static analyzer - auto cmp = new ICmpInst(phi, CmpInst::ICMP_NE, pgcstack, Constant::getNullValue(pgcstack->getType())); - SplitBlockAndInsertIfThenElse(cmp, phi, &fastTerm, &slowTerm, - MDB.createBranchWeights(Weights)); -diff --git a/test/clangsa/MissingRoots.c b/test/clangsa/MissingRoots.c -index f0b32c54bc7b8..0ff5e633622ce 100644 ---- a/test/clangsa/MissingRoots.c -+++ b/test/clangsa/MissingRoots.c -@@ -352,6 +352,9 @@ void assoc_exact_broken(jl_value_t **args, size_t n, int8_t offs, size_t world) - } - */ - -+// declare -+jl_typemap_level_t *jl_new_typemap_level(void); -+ - void assoc_exact_ok(jl_value_t *args1, jl_value_t **args, size_t n, int8_t offs, size_t world) { - jl_typemap_level_t *cache = jl_new_typemap_level(); - JL_GC_PUSH1(&cache); -diff --git a/test/cmdlineargs.jl b/test/cmdlineargs.jl -index 389b195d97935..1d04926ef23af 100644 ---- a/test/cmdlineargs.jl -+++ b/test/cmdlineargs.jl -@@ -188,10 +188,12 @@ let exename = `$(Base.julia_cmd()) --startup-file=no --color=no` - @test contains(v[2], r"enable-tail-merge + = 1") - @test isempty(v[3]) - end -- @testset let v = readchomperrors(setenv(`$exename -e 0`, "JULIA_LLVM_ARGS" => "-print-options -enable-tail-merge=1 -enable-tail-merge=1", "HOME" => homedir())) -- @test !v[1] -- @test isempty(v[2]) -- @test v[3] == "julia: for the --enable-tail-merge option: may only occur zero or one times!" -+ if Base.libllvm_version < v"15" #LLVM over 15 doesn't care for multiple options -+ @testset let v = readchomperrors(setenv(`$exename -e 0`, "JULIA_LLVM_ARGS" => "-print-options -enable-tail-merge=1 -enable-tail-merge=1", "HOME" => homedir())) -+ @test !v[1] -+ @test isempty(v[2]) -+ @test v[3] == "julia: for the --enable-tail-merge option: may only occur zero or one times!" -+ end - end - end - -diff --git a/test/llvmpasses/pipeline-o2.jl b/test/llvmpasses/pipeline-o2.jl -index 2996a44de62b3..fcb2161de7614 100644 ---- a/test/llvmpasses/pipeline-o2.jl -+++ b/test/llvmpasses/pipeline-o2.jl -@@ -78,21 +78,21 @@ end - # COM: memset checks - - # COM: INT64 --# ALL-LABEL: define nonnull {} addrspace(10)* @julia_zeros -+# ALL: define {{.*}} @julia_zeros - # ALL-NOT: bounds_error - # COM: memset is not used with bounds checks on (too late in the pipeline) - # BC_OFF: llvm.memset - # BC_AUTO: llvm.memset - - # COM: INT32 --# ALL-LABEL: define nonnull {} addrspace(10)* @julia_zeros -+# ALL: define {{.*}} @julia_zeros - # ALL-NOT: bounds_error - # COM: memset is not used with bounds checks on (too late in the pipeline) - # BC_OFF: llvm.memset - # BC_AUTO: llvm.memset - - # COM: INT16 --# ALL-LABEL: define nonnull {} addrspace(10)* @julia_zeros -+# ALL: define {{.*}} @julia_zeros - # ALL-NOT: bounds_error - # COM: memset is not used with bounds checks on (too late in the pipeline) - # BC_OFF: llvm.memset - -From 77c13ad59364189386114b546a7482dbe2edf233 Mon Sep 17 00:00:00 2001 -From: Valentin Churavy -Date: Wed, 10 May 2023 10:51:16 -0400 -Subject: [PATCH 7/7] Reenable NonTrivial Loop Unswitch - ---- - src/codegen.cpp | 3 --- - src/pipeline.cpp | 2 +- - 2 files changed, 1 insertion(+), 4 deletions(-) - -diff --git a/src/codegen.cpp b/src/codegen.cpp -index 07e7b15afc165..ae306d3d1cdb5 100644 ---- a/src/codegen.cpp -+++ b/src/codegen.cpp -@@ -9073,9 +9073,6 @@ extern "C" void jl_init_llvm(void) - clopt = llvmopts.lookup("unswitch-threshold"); - if (clopt->getNumOccurrences() == 0) - cl::ProvidePositionalOption(clopt, "100", 1); -- clopt = llvmopts.lookup("enable-unswitch-cost-multiplier"); -- if (clopt->getNumOccurrences() == 0) -- cl::ProvidePositionalOption(clopt, "false", 1); - #endif - // if the patch adding this option has been applied, lower its limit to provide - // better DAGCombiner performance. -diff --git a/src/pipeline.cpp b/src/pipeline.cpp -index 7e61171d288e6..6e6a9a3c37d02 100644 ---- a/src/pipeline.cpp -+++ b/src/pipeline.cpp -@@ -385,7 +385,7 @@ static void buildFullPipeline(ModulePassManager &MPM, PassBuilder *PB, Optimizat - #endif - LPM2.addPass(LICMPass(LICMOptions())); - JULIA_PASS(LPM2.addPass(JuliaLICMPass())); -- LPM2.addPass(SimpleLoopUnswitchPass(false, true)); -+ LPM2.addPass(SimpleLoopUnswitchPass(/*NonTrivial*/true, true)); - LPM2.addPass(LICMPass(LICMOptions())); - JULIA_PASS(LPM2.addPass(JuliaLICMPass())); - //LICM needs MemorySSA now, so we must use it diff --git a/new-pass-manager.patch b/new-pass-manager.patch deleted file mode 100644 index 6c982c2..0000000 --- a/new-pass-manager.patch +++ /dev/null @@ -1,304 +0,0 @@ -From e08e14449fdec30d83ae2b9f0d6d1f4a9acf0b75 Mon Sep 17 00:00:00 2001 -From: pchintalapudi <34727397+pchintalapudi@users.noreply.github.com> -Date: Mon, 17 Apr 2023 19:37:59 +0000 -Subject: [PATCH] Bring in newpm (new pass manager) updates to master (#47038) - -* Workaround missing ASAN global -* Add alias analysis at O2 instead of O3 -* Disable runtime unrolling -* Make SimpleLoopUnswitch act like LoopUnswitch -* Add --time-passes support -* Only add verification passes in debug mode -* Hide assertion function ---- - src/codegen.cpp | 11 ++++++++++- - src/jitlayers.cpp | 49 ++++++++++++++++++++++++++++++++++++----------- - src/jitlayers.h | 17 ++++++++++++---- - src/pipeline.cpp | 27 ++++++++++++++------------ - 4 files changed, 76 insertions(+), 28 deletions(-) - -diff --git a/src/codegen.cpp b/src/codegen.cpp -index b6b86ba4442e1..fb8cefe5eb44f 100644 ---- a/src/codegen.cpp -+++ b/src/codegen.cpp -@@ -8838,6 +8838,15 @@ extern "C" void jl_init_llvm(void) - clopt = llvmopts.lookup("enable-tail-merge"); // NOO TOUCHIE; NO TOUCH! See #922 - if (clopt->getNumOccurrences() == 0) - cl::ProvidePositionalOption(clopt, "0", 1); -+#ifdef JL_USE_NEW_PM -+ // For parity with LoopUnswitch -+ clopt = llvmopts.lookup("unswitch-threshold"); -+ if (clopt->getNumOccurrences() == 0) -+ cl::ProvidePositionalOption(clopt, "100", 1); -+ clopt = llvmopts.lookup("enable-unswitch-cost-multiplier"); -+ if (clopt->getNumOccurrences() == 0) -+ cl::ProvidePositionalOption(clopt, "false", 1); -+#endif - // if the patch adding this option has been applied, lower its limit to provide - // better DAGCombiner performance. - clopt = llvmopts.lookup("combiner-store-merge-dependence-limit"); -@@ -8916,7 +8925,7 @@ extern "C" JL_DLLEXPORT void jl_init_codegen_impl(void) - extern "C" JL_DLLEXPORT void jl_teardown_codegen_impl() JL_NOTSAFEPOINT - { - // output LLVM timings and statistics -- reportAndResetTimings(); -+ jl_ExecutionEngine->printTimers(); - PrintStatistics(); - } - -diff --git a/src/jitlayers.cpp b/src/jitlayers.cpp -index c7e202b98efab..29665d4e420b9 100644 ---- a/src/jitlayers.cpp -+++ b/src/jitlayers.cpp -@@ -1103,6 +1103,8 @@ namespace { - std::unique_ptr TM; - int optlevel; - PMCreator(TargetMachine &TM, int optlevel) : TM(cantFail(createJTMBFromTM(TM, optlevel).createTargetMachine())), optlevel(optlevel) {} -+ // overload for newpm compatibility -+ PMCreator(TargetMachine &TM, int optlevel, std::vector> &) : PMCreator(TM, optlevel) {} - PMCreator(const PMCreator &other) : PMCreator(*other.TM, other.optlevel) {} - PMCreator(PMCreator &&other) : TM(std::move(other.TM)), optlevel(other.optlevel) {} - friend void swap(PMCreator &self, PMCreator &other) { -@@ -1128,16 +1131,21 @@ namespace { - struct PMCreator { - orc::JITTargetMachineBuilder JTMB; - OptimizationLevel O; -- PMCreator(TargetMachine &TM, int optlevel) : JTMB(createJTMBFromTM(TM, optlevel)), O(getOptLevel(optlevel)) {} -+ std::vector> &printers; -+ PMCreator(TargetMachine &TM, int optlevel, std::vector> &printers) JL_NOTSAFEPOINT : JTMB(createJTMBFromTM(TM, optlevel)), O(getOptLevel(optlevel)), printers(printers) {} - - auto operator()() { -- return std::make_unique(cantFail(JTMB.createTargetMachine()), O); -+ auto NPM = std::make_unique(cantFail(JTMB.createTargetMachine()), O); -+ printers.push_back([NPM = NPM.get()]() JL_NOTSAFEPOINT { -+ NPM->printTimers(); -+ }); -+ return NPM; - } - }; - #endif - - struct OptimizerT { -- OptimizerT(TargetMachine &TM, int optlevel) : optlevel(optlevel), PMs(PMCreator(TM, optlevel)) {} -+ OptimizerT(TargetMachine &TM, int optlevel, std::vector> &printers) : optlevel(optlevel), PMs(PMCreator(TM, optlevel, printers)) {} - - OptimizerResultT operator()(orc::ThreadSafeModule TSM, orc::MaterializationResponsibility &R) { - TSM.withModuleDo([&](Module &M) { -@@ -1247,10 +1255,14 @@ llvm::DataLayout jl_create_datalayout(TargetMachine &TM) { - return jl_data_layout; - } - --JuliaOJIT::PipelineT::PipelineT(orc::ObjectLayer &BaseLayer, TargetMachine &TM, int optlevel) -+JuliaOJIT::PipelineT::PipelineT(orc::ObjectLayer &BaseLayer, TargetMachine &TM, int optlevel, std::vector> &PrintLLVMTimers) - : CompileLayer(BaseLayer.getExecutionSession(), BaseLayer, - std::make_unique(orc::irManglingOptionsFromTargetOptions(TM.Options), TM, optlevel)), -- OptimizeLayer(CompileLayer.getExecutionSession(), CompileLayer, OptimizerT(TM, optlevel)) {} -+ OptimizeLayer(CompileLayer.getExecutionSession(), CompileLayer, OptimizerT(TM, optlevel, PrintLLVMTimers)) {} -+ -+#ifdef _COMPILER_ASAN_ENABLED_ -+int64_t ___asan_globals_registered; -+#endif - - JuliaOJIT::JuliaOJIT() - : TM(createTargetMachine()), -@@ -1285,10 +1297,10 @@ JuliaOJIT::JuliaOJIT() - ), - #endif - Pipelines{ -- std::make_unique(ObjectLayer, *TM, 0), -- std::make_unique(ObjectLayer, *TM, 1), -- std::make_unique(ObjectLayer, *TM, 2), -- std::make_unique(ObjectLayer, *TM, 3), -+ std::make_unique(ObjectLayer, *TM, 0, PrintLLVMTimers), -+ std::make_unique(ObjectLayer, *TM, 1, PrintLLVMTimers), -+ std::make_unique(ObjectLayer, *TM, 2, PrintLLVMTimers), -+ std::make_unique(ObjectLayer, *TM, 3, PrintLLVMTimers), - }, - OptSelLayer(Pipelines) - { -@@ -1393,6 +1405,11 @@ JuliaOJIT::JuliaOJIT() - reinterpret_cast(static_cast(msan_workaround::MSanTLS::origin)), JITSymbolFlags::Exported); - cantFail(GlobalJD.define(orc::absoluteSymbols(msan_crt))); - #endif -+#ifdef _COMPILER_ASAN_ENABLED_ -+ orc::SymbolMap asan_crt; -+ asan_crt[mangle("___asan_globals_registered")] = JITEvaluatedSymbol::fromPointer(&___asan_globals_registered, JITSymbolFlags::Exported); -+ cantFail(JD.define(orc::absoluteSymbols(asan_crt))); -+#endif - } - - JuliaOJIT::~JuliaOJIT() = default; -@@ -1583,6 +1600,16 @@ size_t JuliaOJIT::getTotalBytes() const - } - #endif - -+void JuliaOJIT::printTimers() -+{ -+#ifdef JL_USE_NEW_PM -+ for (auto &printer : PrintLLVMTimers) { -+ printer(); -+ } -+#endif -+ reportAndResetTimings(); -+} -+ - JuliaOJIT *jl_ExecutionEngine; - - // destructively move the contents of src into dest -diff --git a/src/jitlayers.h b/src/jitlayers.h -index d8c06df44176f..7f07034586c80 100644 ---- a/src/jitlayers.h -+++ b/src/jitlayers.h -@@ -42,9 +42,7 @@ - // and feature support (e.g. Windows, JITEventListeners for various profilers, - // etc.). Thus, we currently only use JITLink where absolutely required, that is, - // for Mac/aarch64. --// #define JL_FORCE_JITLINK -- --#if defined(_OS_DARWIN_) && defined(_CPU_AARCH64_) || defined(JL_FORCE_JITLINK) -+#if defined(_OS_DARWIN_) && defined(_CPU_AARCH64_) || defined(_COMPILER_ASAN_ENABLED_) || defined(JL_FORCE_JITLINK) - # if JL_LLVM_VERSION < 130000 - # pragma message("On aarch64-darwin, LLVM version >= 13 is required for JITLink; fallback suffers from occasional segfaults") - # endif -@@ -91,6 +89,12 @@ struct OptimizationOptions { - } - }; - -+// LLVM's new pass manager is scheduled to replace the legacy pass manager -+// for middle-end IR optimizations. However, we have not qualified the new -+// pass manager on our optimization pipeline yet, so this remains an optional -+// define -+// #define JL_USE_NEW_PM -+ - struct NewPM { - std::unique_ptr TM; - StandardInstrumentations SI; -@@ -103,6 +107,8 @@ struct NewPM { - NewPM(std::unique_ptr TM, OptimizationLevel O, OptimizationOptions options = OptimizationOptions::defaults()); - - void run(Module &M); -+ -+ void printTimers(); - }; - - struct AnalysisManagers { -@@ -420,7 +426,7 @@ class JuliaOJIT { - std::unique_ptr mutex; - }; - struct PipelineT { -- PipelineT(orc::ObjectLayer &BaseLayer, TargetMachine &TM, int optlevel); -+ PipelineT(orc::ObjectLayer &BaseLayer, TargetMachine &TM, int optlevel, std::vector> &PrintLLVMTimers); - CompileLayerT CompileLayer; - OptimizeLayerT OptimizeLayer; - }; -@@ -490,6 +496,7 @@ class JuliaOJIT { - TargetIRAnalysis getTargetIRAnalysis() const; - - size_t getTotalBytes() const; -+ void printTimers(); - - JITDebugInfoRegistry &getDebugInfoRegistry() JL_NOTSAFEPOINT { - return DebugRegistry; -@@ -522,6 +529,8 @@ class JuliaOJIT { - jl_locked_stream dump_compiles_stream; - jl_locked_stream dump_llvm_opt_stream; - -+ std::vector> PrintLLVMTimers; -+ - ResourcePool> ContextPool; - - #ifndef JL_USE_JITLINK -diff --git a/src/pipeline.cpp b/src/pipeline.cpp -index ae2b1c3202f04..4403653a9d8e4 100644 ---- a/src/pipeline.cpp -+++ b/src/pipeline.cpp -@@ -146,7 +146,7 @@ namespace { - // Opts.Recover = CodeGenOpts.SanitizeRecover.has(Mask); - // Opts.UseAfterScope = CodeGenOpts.SanitizeAddressUseAfterScope; - // Opts.UseAfterReturn = CodeGenOpts.getSanitizeAddressUseAfterReturn(); -- MPM.addPass(RequireAnalysisPass()); -+ // MPM.addPass(RequireAnalysisPass()); - // MPM.addPass(ModuleAddressSanitizerPass( - // Opts, UseGlobalGC, UseOdrIndicator, DestructorKind)); - //Let's assume the defaults are actually fine for our purposes -@@ -173,11 +173,13 @@ namespace { - // } - } - -- void addVerificationPasses(ModulePassManager &MPM, bool llvm_only) { -+#ifdef JL_DEBUG_BUILD -+ static inline void addVerificationPasses(ModulePassManager &MPM, bool llvm_only) { - if (!llvm_only) - MPM.addPass(llvm::createModuleToFunctionPassAdaptor(GCInvariantVerifierPass())); - MPM.addPass(VerifierPass()); - } -+#endif - - auto basicSimplifyCFGOptions() { - return SimplifyCFGOptions() -@@ -244,9 +246,9 @@ namespace { - - //Use for O1 and below - void buildBasicPipeline(ModulePassManager &MPM, PassBuilder *PB, OptimizationLevel O, OptimizationOptions options) { --// #ifdef JL_DEBUG_BUILD -+#ifdef JL_DEBUG_BUILD - addVerificationPasses(MPM, options.llvm_only); --// #endif -+#endif - invokePipelineStartCallbacks(MPM, PB, O); - MPM.addPass(ConstantMergePass()); - if (!options.dump_native) { -@@ -320,9 +322,9 @@ static void buildBasicPipeline(ModulePassManager &MPM, PassBuilder *PB, Optimiza - - //Use for O2 and above - void buildFullPipeline(ModulePassManager &MPM, PassBuilder *PB, OptimizationLevel O, OptimizationOptions options) { --// #ifdef JL_DEBUG_BUILD -+#ifdef JL_DEBUG_BUILD - addVerificationPasses(MPM, options.llvm_only); --// #endif -+#endif - invokePipelineStartCallbacks(MPM, PB, O); - MPM.addPass(ConstantMergePass()); - { -@@ -382,7 +384,7 @@ static void buildFullPipeline(ModulePassManager &MPM, PassBuilder *PB, Optimizat - #endif - LPM2.addPass(LICMPass(LICMOptions())); - JULIA_PASS(LPM2.addPass(JuliaLICMPass())); -- LPM2.addPass(SimpleLoopUnswitchPass()); -+ LPM2.addPass(SimpleLoopUnswitchPass(true, true)); - LPM2.addPass(LICMPass(LICMOptions())); - JULIA_PASS(LPM2.addPass(JuliaLICMPass())); - //LICM needs MemorySSA now, so we must use it -@@ -399,7 +401,7 @@ static void buildFullPipeline(ModulePassManager &MPM, PassBuilder *PB, Optimizat - //We don't know if the loop end callbacks support MSSA - FPM.addPass(createFunctionToLoopPassAdaptor(std::move(LPM), /*UseMemorySSA = */false)); - } -- FPM.addPass(LoopUnrollPass()); -+ FPM.addPass(LoopUnrollPass(LoopUnrollOptions().setRuntime(false))); - JULIA_PASS(FPM.addPass(AllocOptPass())); - FPM.addPass(SROAPass()); - FPM.addPass(InstSimplifyPass()); -@@ -541,11 +543,8 @@ PIC->addClassToPassName(decltype(CREATE_PASS)::name(), NAME); - // Register the AA manager first so that our version is the one used. - FAM.registerPass([&] JL_NOTSAFEPOINT { - AAManager AA; -- // TODO: Why are we only doing this for -O3? -- if (O.getSpeedupLevel() >= 3) { -- AA.registerFunctionAnalysis(); -- } - if (O.getSpeedupLevel() >= 2) { -+ AA.registerFunctionAnalysis(); - AA.registerFunctionAnalysis(); - AA.registerFunctionAnalysis(); - } -@@ -603,6 +602,10 @@ void NewPM::run(Module &M) { - #endif - } - -+void NewPM::printTimers() { -+ SI.getTimePasses().print(); -+} -+ - OptimizationLevel getOptLevel(int optlevel) { - switch (std::min(std::max(optlevel, 0), 3)) { - case 0: diff --git a/support-float16-depending-on-llvm-and-platform.patch b/support-float16-depending-on-llvm-and-platform.patch deleted file mode 100644 index 929b1f5..0000000 --- a/support-float16-depending-on-llvm-and-platform.patch +++ /dev/null @@ -1,188 +0,0 @@ -From 959902f1c6099c1b513e29103b998545c16731fc Mon Sep 17 00:00:00 2001 -From: Valentin Churavy -Date: Thu, 27 Apr 2023 16:27:09 -0400 -Subject: [PATCH] Support both Float16 ABIs depending on LLVM and platform - (#49527) - -There are two Float16 ABIs in the wild, one for platforms that have a -defing register and the original one where we used i16. - -LLVM 15 follows GCC and uses the new ABI on x86/ARM but not PPC. - -Co-authored-by: Gabriel Baraldi ---- - src/aotcompile.cpp | 11 +++++++-- - src/codegen.cpp | 56 ++++++++++++++++++++++++++++++++++++++++++++++ - src/jitlayers.cpp | 2 ++ - src/llvm-version.h | 10 +++++++++ - 4 files changed, 77 insertions(+), 2 deletions(-) - -diff --git a/src/aotcompile.cpp b/src/aotcompile.cpp -index 391c5d3df46fb..2a14e2a4fa0ab 100644 ---- a/src/aotcompile.cpp -+++ b/src/aotcompile.cpp -@@ -494,6 +494,7 @@ static void reportWriterError(const ErrorInfoBase &E) - jl_safe_printf("ERROR: failed to emit output file %s\n", err.c_str()); - } - -+#if JULIA_FLOAT16_ABI == 1 - static void injectCRTAlias(Module &M, StringRef name, StringRef alias, FunctionType *FT) - { - Function *target = M.getFunction(alias); -@@ -510,7 +511,8 @@ static void injectCRTAlias(Module &M, StringRef name, StringRef alias, FunctionT - auto val = builder.CreateCall(target, CallArgs); - builder.CreateRet(val); - } -- -+#endif -+void emitFloat16Wrappers(Module &M, bool external); - - // takes the running content that has collected in the shadow module and dump it to disk - // this builds the object file portion of the sysimage files for fast startup -@@ -1003,6 +1006,7 @@ static void add_output_impl(Module &M, TargetMachine &SourceTM, std::string *out - } - - if (inject_crt) { -+#if JULIA_FLOAT16_ABI == 1 - // We would like to emit an alias or an weakref alias to redirect these symbols - // but LLVM doesn't let us emit a GlobalAlias to a declaration... - // So for now we inject a definition of these functions that calls our runtime -@@ -1018,6 +1023,9 @@ static void add_output_impl(Module &M, TargetMachine &SourceTM, std::string *out - FunctionType::get(Type::getHalfTy(Context), { Type::getFloatTy(Context) }, false)); - injectCRTAlias(M, "__truncdfhf2", "julia__truncdfhf2", - FunctionType::get(Type::getHalfTy(Context), { Type::getDoubleTy(Context) }, false)); -+#else -+ emitFloat16Wrappers(M, false); -+#endif - - #if defined(_OS_WINDOWS_) - // Windows expect that the function `_DllMainStartup` is present in an dll. -diff --git a/src/codegen.cpp b/src/codegen.cpp -index 329c4b452a9dc..f4b0fd518cd39 100644 ---- a/src/codegen.cpp -+++ b/src/codegen.cpp -@@ -5818,6 +5818,7 @@ static void emit_cfunc_invalidate( - prepare_call_in(gf_thunk->getParent(), jlapplygeneric_func)); - } - -+#include - static Function* gen_cfun_wrapper( - Module *into, jl_codegen_params_t ¶ms, - const function_sig_t &sig, jl_value_t *ff, const char *aliasname, -@@ -8704,6 +8705,58 @@ static JuliaVariable *julia_const_gv(jl_value_t *val) - return nullptr; - } - -+// Handle FLOAT16 ABI v2 -+#if JULIA_FLOAT16_ABI == 2 -+static void makeCastCall(Module &M, StringRef wrapperName, StringRef calledName, FunctionType *FTwrapper, FunctionType *FTcalled, bool external) -+{ -+ Function *calledFun = M.getFunction(calledName); -+ if (!calledFun) { -+ calledFun = Function::Create(FTcalled, Function::ExternalLinkage, calledName, M); -+ } -+ auto linkage = external ? Function::ExternalLinkage : Function::InternalLinkage; -+ auto wrapperFun = Function::Create(FTwrapper, linkage, wrapperName, M); -+ wrapperFun->addFnAttr(Attribute::AlwaysInline); -+ llvm::IRBuilder<> builder(BasicBlock::Create(M.getContext(), "top", wrapperFun)); -+ SmallVector CallArgs; -+ if (wrapperFun->arg_size() != calledFun->arg_size()){ -+ llvm::errs() << "FATAL ERROR: Can't match wrapper to called function"; -+ abort(); -+ } -+ for (auto wrapperArg = wrapperFun->arg_begin(), calledArg = calledFun->arg_begin(); -+ wrapperArg != wrapperFun->arg_end() && calledArg != calledFun->arg_end(); ++wrapperArg, ++calledArg) -+ { -+ CallArgs.push_back(builder.CreateBitCast(wrapperArg, calledArg->getType())); -+ } -+ auto val = builder.CreateCall(calledFun, CallArgs); -+ auto retval = builder.CreateBitCast(val,wrapperFun->getReturnType()); -+ builder.CreateRet(retval); -+} -+ -+void emitFloat16Wrappers(Module &M, bool external) -+{ -+ auto &ctx = M.getContext(); -+ makeCastCall(M, "__gnu_h2f_ieee", "julia__gnu_h2f_ieee", FunctionType::get(Type::getFloatTy(ctx), { Type::getHalfTy(ctx) }, false), -+ FunctionType::get(Type::getFloatTy(ctx), { Type::getInt16Ty(ctx) }, false), external); -+ makeCastCall(M, "__extendhfsf2", "julia__gnu_h2f_ieee", FunctionType::get(Type::getFloatTy(ctx), { Type::getHalfTy(ctx) }, false), -+ FunctionType::get(Type::getFloatTy(ctx), { Type::getInt16Ty(ctx) }, false), external); -+ makeCastCall(M, "__gnu_f2h_ieee", "julia__gnu_f2h_ieee", FunctionType::get(Type::getHalfTy(ctx), { Type::getFloatTy(ctx) }, false), -+ FunctionType::get(Type::getInt16Ty(ctx), { Type::getFloatTy(ctx) }, false), external); -+ makeCastCall(M, "__truncsfhf2", "julia__gnu_f2h_ieee", FunctionType::get(Type::getHalfTy(ctx), { Type::getFloatTy(ctx) }, false), -+ FunctionType::get(Type::getInt16Ty(ctx), { Type::getFloatTy(ctx) }, false), external); -+ makeCastCall(M, "__truncdfhf2", "julia__truncdfhf2", FunctionType::get(Type::getHalfTy(ctx), { Type::getDoubleTy(ctx) }, false), -+ FunctionType::get(Type::getInt16Ty(ctx), { Type::getDoubleTy(ctx) }, false), external); -+} -+ -+static void init_f16_funcs(void) -+{ -+ auto ctx = jl_ExecutionEngine->acquireContext(); -+ auto TSM = jl_create_ts_module("F16Wrappers", ctx, imaging_default()); -+ auto aliasM = TSM.getModuleUnlocked(); -+ emitFloat16Wrappers(*aliasM, true); -+ jl_ExecutionEngine->addModule(std::move(TSM)); -+} -+#endif -+ - static void init_jit_functions(void) - { - add_named_global(jlstack_chk_guard_var, &__stack_chk_guard); -@@ -8942,6 +8995,9 @@ extern "C" JL_DLLEXPORT void jl_init_codegen_impl(void) - jl_init_llvm(); - // Now that the execution engine exists, initialize all modules - init_jit_functions(); -+#if JULIA_FLOAT16_ABI == 2 -+ init_f16_funcs(); -+#endif - } - - extern "C" JL_DLLEXPORT void jl_teardown_codegen_impl() JL_NOTSAFEPOINT -diff --git a/src/jitlayers.cpp b/src/jitlayers.cpp -index 37302e8ca2ace..b3ec102821858 100644 ---- a/src/jitlayers.cpp -+++ b/src/jitlayers.cpp -@@ -1383,6 +1383,7 @@ JuliaOJIT::JuliaOJIT() - - JD.addToLinkOrder(GlobalJD, orc::JITDylibLookupFlags::MatchExportedSymbolsOnly); - -+#if JULIA_FLOAT16_ABI == 1 - orc::SymbolAliasMap jl_crt = { - { mangle("__gnu_h2f_ieee"), { mangle("julia__gnu_h2f_ieee"), JITSymbolFlags::Exported } }, - { mangle("__extendhfsf2"), { mangle("julia__gnu_h2f_ieee"), JITSymbolFlags::Exported } }, -@@ -1391,6 +1392,7 @@ JuliaOJIT::JuliaOJIT() - { mangle("__truncdfhf2"), { mangle("julia__truncdfhf2"), JITSymbolFlags::Exported } } - }; - cantFail(GlobalJD.define(orc::symbolAliases(jl_crt))); -+#endif - - #ifdef MSAN_EMUTLS_WORKAROUND - orc::SymbolMap msan_crt; -diff --git a/src/llvm-version.h b/src/llvm-version.h -index 4e15e787b7de8..a3f3774b6dc15 100644 ---- a/src/llvm-version.h -+++ b/src/llvm-version.h -@@ -2,6 +2,7 @@ - - #include - #include "julia_assert.h" -+#include "platform.h" - - // The LLVM version used, JL_LLVM_VERSION, is represented as a 5-digit integer - // of the form ABBCC, where A is the major version, B is minor, and C is patch. -@@ -17,6 +18,15 @@ - #define JL_LLVM_OPAQUE_POINTERS 1 - #endif - -+// Pre GCC 12 libgcc defined the ABI for Float16->Float32 -+// to take an i16. GCC 12 silently changed the ABI to now pass -+// Float16 in Float32 registers. -+#if JL_LLVM_VERSION < 150000 || defined(_CPU_PPC64_) || defined(_CPU_PPC_) -+#define JULIA_FLOAT16_ABI 1 -+#else -+#define JULIA_FLOAT16_ABI 2 -+#endif -+ - #ifdef __cplusplus - #if defined(__GNUC__) && (__GNUC__ >= 9) - // Added in GCC 9, this warning is annoying diff --git a/use-newpm-asan.patch b/use-newpm-asan.patch deleted file mode 100644 index c1497d4..0000000 --- a/use-newpm-asan.patch +++ /dev/null @@ -1,95 +0,0 @@ -From f11bfc6ccad3e07fde4e40493635bd832d108477 Mon Sep 17 00:00:00 2001 -From: Valentin Churavy -Date: Thu, 27 Apr 2023 16:29:25 -0400 -Subject: [PATCH] Use NewPM for ASAN/MSAN (#49530) - -Co-authored-by: Gabriel Baraldi -Co-authored-by: Prem Chintalapudi ---- - src/aotcompile.cpp | 4 ++++ - src/cgmemmgr.cpp | 4 ++-- - src/jitlayers.h | 13 +++++++++++-- - 3 files changed, 17 insertions(+), 4 deletions(-) - -diff --git a/src/aotcompile.cpp b/src/aotcompile.cpp -index 2a14e2a4fa0ab..b89cdf550171f 100644 ---- a/src/aotcompile.cpp -+++ b/src/aotcompile.cpp -@@ -1775,6 +1775,7 @@ void addOptimizationPasses(legacy::PassManagerBase *PM, int opt_level, - PM->add(createCFGSimplificationPass(basicSimplifyCFGOptions)); - } - } -+#if JL_LLVM_VERSION < 150000 - #if defined(_COMPILER_ASAN_ENABLED_) - PM->add(createAddressSanitizerFunctionPass()); - #endif -@@ -1783,6 +1784,7 @@ void addOptimizationPasses(legacy::PassManagerBase *PM, int opt_level, - #endif - #if defined(_COMPILER_TSAN_ENABLED_) - PM->add(createThreadSanitizerLegacyPassPass()); -+#endif - #endif - return; - } -@@ -1934,6 +1936,7 @@ void addOptimizationPasses(legacy::PassManagerBase *PM, int opt_level, - } - PM->add(createCombineMulAddPass()); - PM->add(createDivRemPairsPass()); -+#if JL_LLVM_VERSION < 150000 - #if defined(_COMPILER_ASAN_ENABLED_) - PM->add(createAddressSanitizerFunctionPass()); - #endif -@@ -1943,6 +1946,7 @@ void addOptimizationPasses(legacy::PassManagerBase *PM, int opt_level, - #if defined(_COMPILER_TSAN_ENABLED_) - PM->add(createThreadSanitizerLegacyPassPass()); - #endif -+#endif - } - - // An LLVM module pass that just runs all julia passes in order. Useful for -diff --git a/src/cgmemmgr.cpp b/src/cgmemmgr.cpp -index 9f4d69137c0fd..15d28ff270c55 100644 ---- a/src/cgmemmgr.cpp -+++ b/src/cgmemmgr.cpp -@@ -860,8 +860,8 @@ uint8_t *RTDyldMemoryManagerJL::allocateCodeSection(uintptr_t Size, - StringRef SectionName) - { - // allocating more than one code section can confuse libunwind. --#if !defined(_COMPILER_MSAN_ENABLED_) -- // TODO: Figure out why msan needs this. -+#if !defined(_COMPILER_MSAN_ENABLED_) && !defined(_COMPILER_ASAN_ENABLED_) -+ // TODO: Figure out why msan and now asan too need this. - assert(!code_allocated); - code_allocated = true; - #endif -diff --git a/src/jitlayers.h b/src/jitlayers.h -index 7f07034586c80..f63f3a42842f1 100644 ---- a/src/jitlayers.h -+++ b/src/jitlayers.h -@@ -42,7 +42,14 @@ - // and feature support (e.g. Windows, JITEventListeners for various profilers, - // etc.). Thus, we currently only use JITLink where absolutely required, that is, - // for Mac/aarch64. --#if defined(_OS_DARWIN_) && defined(_CPU_AARCH64_) || defined(_COMPILER_ASAN_ENABLED_) || defined(JL_FORCE_JITLINK) -+// #define JL_FORCE_JITLINK -+ -+#if defined(_COMPILER_ASAN_ENABLED_) || defined(_COMPILER_MSAN_ENABLED_) || defined(_COMPILER_TSAN_ENABLED_) -+# define HAS_SANITIZER -+#endif -+// The sanitizers don't play well with our memory manager -+ -+#if defined(_OS_DARWIN_) && defined(_CPU_AARCH64_) || defined(JL_FORCE_JITLINK) || JL_LLVM_VERSION >= 150000 && defined(HAS_SANITIZER) - # if JL_LLVM_VERSION < 130000 - # pragma message("On aarch64-darwin, LLVM version >= 13 is required for JITLink; fallback suffers from occasional segfaults") - # endif -@@ -93,7 +100,9 @@ struct OptimizationOptions { - // for middle-end IR optimizations. However, we have not qualified the new - // pass manager on our optimization pipeline yet, so this remains an optional - // define --// #define JL_USE_NEW_PM -+#if defined(HAS_SANITIZER) && JL_LLVM_VERSION >= 150000 -+#define JL_USE_NEW_PM -+#endif - - struct NewPM { - std::unique_ptr TM;