summaryrefslogtreecommitdiff
path: root/sys-devel
diff options
context:
space:
mode:
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/Manifest.gzbin9468 -> 9464 bytes
-rw-r--r--sys-devel/gcc/Manifest10
-rw-r--r--sys-devel/gcc/files/gcc-10.4.0-glibc-2.36.patch39
-rw-r--r--sys-devel/gcc/files/gcc-11.3.0-glibc-2.36.patch41
-rw-r--r--sys-devel/gcc/gcc-10.4.0.ebuild2
-rw-r--r--sys-devel/gcc/gcc-11.3.0.ebuild1
-rw-r--r--sys-devel/gcc/gcc-12.2.0.ebuild52
-rw-r--r--sys-devel/gcc/gcc-12.3.9999.ebuild (renamed from sys-devel/gcc/gcc-12.2.9999.ebuild)0
-rw-r--r--sys-devel/mold/Manifest7
-rw-r--r--sys-devel/mold/files/mold-1.4.1-glob-tests.patch296
-rw-r--r--sys-devel/mold/metadata.xml3
-rw-r--r--sys-devel/mold/mold-1.4.1.ebuild103
-rw-r--r--sys-devel/mold/mold-9999.ebuild76
13 files changed, 587 insertions, 43 deletions
diff --git a/sys-devel/Manifest.gz b/sys-devel/Manifest.gz
index 839c2db4972c..8a9169799882 100644
--- a/sys-devel/Manifest.gz
+++ b/sys-devel/Manifest.gz
Binary files differ
diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index a8a918c5e74b..898b85c50cf0 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -1,4 +1,6 @@
+AUX gcc-10.4.0-glibc-2.36.patch 1682 BLAKE2B d9e36e0821d55d98ac6e82594b9aae4fbf6f45a986dbbfa967ad288f83679fe234559bbfb4534d3c45ec26f5759e3b201ffd25264cf2dbe266bd27c53deb8e51 SHA512 19b820e4d7d068beca8ebecc8039b3df2945ad7e37a2097f2aa70a915808980a811140673d468bd23e7ec137362db2538740552e0b8ee4463dd7e131298f62f8
AUX gcc-11.2.0-cross-compile-include.patch 875 BLAKE2B 92ed84f2b75dd88c73ca115a9faf454ff51a445fb7939ba51ac2b2e7bf6847cacd699cf4a147f056563b0b50b2ac4a0f907cec5bf0b411ec6a8b8b02ec1f410e SHA512 1195825ce57a43ea3826f1f3bcdb4ed17ce849887419960ab79d49e75117586ffcadb0363d6fd845e79417dc6186d6e93100e20c5d24961b5d827cce5ee85635
+AUX gcc-11.3.0-glibc-2.36.patch 1704 BLAKE2B c13ac093909fae3e1176e036b32f740ec8ad4d5efdf433bdaa54b169b9f13c6f6e9fa55ecf356b8f88e6aab4498a1a5937ca9d11db1fcf2e2e638d8b7fe9bc2c SHA512 cee29a2ff199329b92a644a610a69ed028e5dc76975916f652a25a71ef89ddddd0fb1b99c1fb0e424b8ac60e26711b5cf7a1b720249d7681a28550be370b9ae8
AUX gcc-configure-LANG.patch 2052 BLAKE2B 28c36f4992e41305ee421dade5eaaac34e3bdc523665b03f360f2bc01e8f69e9dc48052edb80dece63ab561e80325b4f125502482eb16f7324f1c03670021550 SHA512 a694c7ac2f45cc657097ff5b0cf1356ac88a9c06035c9ba15167e9d444844d0d8a478eb1b9b62195dd063774f79697b9148b9cdb6c261640b472c291061b2129
AUX gcc-configure-texinfo.patch 341 BLAKE2B d2ea3b2ea08f5d3a498ba27d0fb95e325097e2104e55caa28b66515cb48662649140d90b639369aedc54b2b1178fa4b49cda442f5f504e09d88a2efa45a5057c SHA512 e8d34c5077409df5495cf0c5fbf5e77f841c5698108fa6a5fde33eb28202c685603bdefd8368918e55f30c4b995e895d71d64c715c1ec2b017e09eb2c54c09ff
DIST gcc-10-20211126.tar.xz 71674848 BLAKE2B 81f4a572e973db7a3701601e66ea58c8e535a55d4d4ac164de00bdb06f7f265585f45d46171cf40d42ebcd3fb02ac81b643398c560912698eb6c008ac6e09518 SHA512 db887184c649ebeede5a1b9f13c00fe425012434cb93ec960c3ca50c0bcdeab04a1cc13b20de21b940e5d6a09c3b1c7fc415110a0e990ec1d938627bf97b9342
@@ -33,6 +35,7 @@ DIST gcc-12.1.0-patches-8.tar.xz 12020 BLAKE2B 6138ef4d76a682ecfd05ba7c80d8f5db7
DIST gcc-12.1.0-patches-9.tar.xz 12536 BLAKE2B ceb045b2a5c5a2a3047d73296fa1057421ef58c7f793d1f031f43dbd1a6faf49bdf1956e96a4f8e34c4d3fde2c26fcc9b146c223d8b1b3e1f944c2ec8574b786 SHA512 b899ec2d6da65df0f32838be3c89dbb1dc6b423133aa5121635547a1aa18b5d52b920e62522143682c0818baf185ebacb75ab84383ef0ad9768ba567807da5f4
DIST gcc-12.1.0.tar.xz 82701928 BLAKE2B dca5df8fea680dbeda721742cce5c97de7eb4be490a32a158e06b88e2b9dd092150b7cfe490bb69e48e2f75d8bba231c8a54cd46b48ddcdc01bf9553ab57019d SHA512 2121d295292814a6761edf1fba08c5f633ebe16f52b80e7b73a91050e71e1d2ed98bf17eebad263e191879561c02b48906c53faa4c4670c486a26fc75df23900
DIST gcc-12.2.0-RC-20220812.tar.xz 84732336 BLAKE2B de38eab480965e44d64ccda40070aadb0e892732b6fd4cd80feb5636aff2b14ee0ca2fb0ed38fb1ba46d83c6173a60069a9335cc0f321451edaac387c832056d SHA512 74d6f7c9cb1070920ae85533b6db986c3a784f74a3f5eac113c483230b78737c33bc6f10a2221ace7f9c8af0e3824390241da73d367dd77e5832205a47a47940
+DIST gcc-12.2.0.tar.xz 84645292 BLAKE2B 715574af9ad678f9dc8cfd19c866bf910c7edfd479e7e9681337feaa9b54e5d304ddb85483816b8d89754d502405823ae2eff0d1e444538763f40be8e428d8da SHA512 e9e857bd81bf7a370307d6848c81b2f5403db8c7b5207f54bce3f3faac3bde63445684092c2bc1a2427cddb6f7746496d9fbbef05fbbd77f2810b2998f1f9173
DIST gcc-13-20220731.tar.xz 79440792 BLAKE2B c7b6e8113c5c858b0e348ce930ca71c3386b91d62f4a3355df38e899dff26f9e02d44673ad1d57a93a5edb3f8633b9f8fc74b779059b9fdb54ebc0f73c95ef36 SHA512 58e320f19cebe4d7364a64a2ded60ef6fb8f68d6abcd3a3c13b0a23ab016d4f40cd9e0e12f665b713314c34b46a65c263a4f04bfac01a7f476755987365aa4e0
DIST gcc-13-20220807.tar.xz 79472584 BLAKE2B d23ad0d06414c0e7dfc11473641abb63585c95a07b1da50f3c9d6ae6ba3f365b7bd17297914670468e8b26e4146c8de2dc35c0b96ddc752a07c1dca3a0227dce SHA512 03aed1aa6a73b4aaa5318e456334132576036ee859a26eba3d49826a03da554cec22739cc4fae441f72eb5ea53449e75b73e8f3a41192e09a6e00d4fc227a4ee
DIST gcc-13.0.0-patches-1.tar.xz 11064 BLAKE2B 82a7ad193dac00475931840bcee82ef7a51718a74af224b03a41f8349e34c2a64a3eb29985b4e2bffde958c58782242eccaedaa54d950e8d51d8bb6f45868e0e SHA512 e04b510f529dd3187a08ae9cb9a894a3d3d30af81f13c43cc082fda7d26c44a3bf19d36ec02024b2ade8b8c193e9730246abeadee603c41b5873c5b785709921
@@ -42,13 +45,13 @@ DIST gcc-9.5.0-patches-1.tar.xz 13772 BLAKE2B 2e2e84a28a729cd271a23716ff3fe08b72
DIST gcc-9.5.0.tar.xz 72462752 BLAKE2B 69e39314ee6bb46e3be491ba9c3cbc4914cb716f732c6d3f2b14d9382750b40c4f14b5d3051225b81f936ef8297b0ba8cb5439512e961dae5815d3bee2b0bfdb SHA512 cdd144ce4f747e051480410afc8506c90a57cb45da89071ddae377b1453bca3014422455ade9fe4563ebe51f4b6348cbc0c61905a9b8801cd597d51ad0ec62b3
EBUILD gcc-10.3.0-r2.ebuild 502 BLAKE2B 2fefeb929c4dd64837a4d27549624bc5c11a10f89ea29e73873f60506a332c220aa70dde76ce29a17ef023fea82ea6a7b3548f14b1a38f22adc028a09bd98d31 SHA512 7cfd3be4e22142ff7abb2a63c0eedfa42994a25753f45e47ad74a6bc266a467b25f072600a3578c12fbaae17110d957161e164623d31f5a3496447187e6e46ff
EBUILD gcc-10.3.1_p20211126.ebuild 542 BLAKE2B 43170f8b81699ab102c389f42313ab6d448ee8097cbaa940cfd10eec884c3223b1569635169e6285b5810f07bde4d9d40d78003ebf6dbe07e32e60a80469cc97 SHA512 dfc4cd1ab39af930d37ff7d14bee89a92a575624e159223be56d2c695ee384afdc6ea84797d468c3b736992db8befe379c5cee04833772fe259d16d6965d58a1
-EBUILD gcc-10.4.0.ebuild 1446 BLAKE2B 8b28b55283e30c6524f5aed8e73ef7d80cac8a7f7aab3bd93a85b36d0c7f36ff112fdb821855425c08c57b07822024cd7e497d7937abc8cc10cc3c06a11f5ab2 SHA512 f4e100e43056317ea0bfcc50ded0c7a1a0d54b98e9eaee8ea1691de8ca920d3e414d5ae76715609eeccb8c13c25d072244090537868d4b91ea0da072b6b2887b
+EBUILD gcc-10.4.0.ebuild 1491 BLAKE2B 1c4d7ae91891781f44718a85814f88f73939fb3805ab947043049fcabe3531f43f20a23292aa675814f0e8832322eda29624355d97c5b169e48c7dc0d215b0be SHA512 edb504f45460b0ee58a1af6c9ce7b82a36b41aa5ae701b80dcddaa80d545d7a87db259b27eefb8683cd4622e02870a95f67835b51937fa74041898c4b7bbfae3
EBUILD gcc-10.4.1_p20220804.ebuild 1456 BLAKE2B 10e4d926dd4555636a040655834bcae3260fb5177c69cb7242c7dbba29123a1fa8570e31c81996e0e01a409c61bc02a1ce2d3bb836b37d88c915b122209baea8 SHA512 ad64e2e13b4f8f4c96a6670e9f4cd8986e81769fa879be4419347bc4ada6092daa09fcf3bb9c2c177f44d4e4d426dba105e94b50497e7ff30be707d81da906ea
EBUILD gcc-10.4.1_p20220811.ebuild 1456 BLAKE2B 10e4d926dd4555636a040655834bcae3260fb5177c69cb7242c7dbba29123a1fa8570e31c81996e0e01a409c61bc02a1ce2d3bb836b37d88c915b122209baea8 SHA512 ad64e2e13b4f8f4c96a6670e9f4cd8986e81769fa879be4419347bc4ada6092daa09fcf3bb9c2c177f44d4e4d426dba105e94b50497e7ff30be707d81da906ea
EBUILD gcc-10.5.9999.ebuild 1108 BLAKE2B af5f165e046455efaaaca747c1deb018b0f43dad720129f72821879fe61790b9d2c233ae9ac0e8d11911b92d390c7a8b082b5dba5a771716f7d9b0aeeb1c6a3b SHA512 905b1f6108ac0608c077e940570829bf9c1e5bde5d852cdbae2b5fddaa304df76dd5bd4499dfb5d26667ced09b3a772567dd850169cec8799731d1cc0abb125c
EBUILD gcc-11.2.0.ebuild 495 BLAKE2B 122998d820667dbf776aaa7f48a79b3c127f1558f8ec811543e83d3f8534be368749e388254ff14139076baabdcc7ead4be8c5d8f23b3c764ad721cf0478265d SHA512 65a1c11c97d4bde439abad6cd68ee97dd04e8750f4728c3588e923f32eb56b61afa0243570b8c66599e6fe9f6d122113c00c5c1cdf9b7869f01c1564a6c21707
EBUILD gcc-11.2.1_p20220115.ebuild 688 BLAKE2B c85314316bd63ceae85eaf1ae501932be00c2f5b80092ec4a894aa221e015daceb6687dbf962089b39195ae6470665e7faf09fe9600ae0c74e4d94fcd903e789 SHA512 59d147c88bf9e2a3779320ee89145f01f2acd1110efffc9f967a0c7fee3d910218424b48bf2166c06662a0b1b545b996869f5060ee23da54e8a10f1a0afc3477
-EBUILD gcc-11.3.0.ebuild 687 BLAKE2B 0fb753c50afc9734b65abcb5fff76b029fcf4b2e2a969540a849b4700fe80a95f889fec4e327600e49bb77d1c0297dd02423e41c89f5c8669023463922244cab SHA512 4cf43f6f5ac8b0c386faaad247596bc7b551490c2402b20fc2aadf20ad355fb6a847212d11089c737fac3e230cd4785dc8b03737a2b0e3cd92e91ebef5707ae8
+EBUILD gcc-11.3.0.ebuild 731 BLAKE2B 6118f89eb22e36893ab646baba3c5688911dcea96b5e36f366246dd68b25102c3bf559aee46cb12e4db4af808ed88f277f95a7211bdfa580b0d984d2631cb822 SHA512 f2cee305ea1b6401f7fc446e9b60b1fb659af7f5fb9739b2dfd4a10b66640cc6fa76e6c605b87c51481a9c55f8b9c86bb25d6ed51db6808cabefdc9f8c515e7d
EBUILD gcc-11.3.1_p20220805.ebuild 1304 BLAKE2B edb9cfd2518e934014e6c6a7966b86a3d4fd83bd1f733a86428ff094e9aa5868e2dbcaf046e2a83483c77afd50ce5d778ee2ab03eb0216f404721242b231251a SHA512 4e4c92e175879fb813c26b910d3d9d8571e6dd96505e99e8f3127799b0f2dad5dba47b32b5a3cee502c9340efb11c417b7559d2118d49a212c5ad5f6e05b8691
EBUILD gcc-11.3.1_p20220812.ebuild 1304 BLAKE2B edb9cfd2518e934014e6c6a7966b86a3d4fd83bd1f733a86428ff094e9aa5868e2dbcaf046e2a83483c77afd50ce5d778ee2ab03eb0216f404721242b231251a SHA512 4e4c92e175879fb813c26b910d3d9d8571e6dd96505e99e8f3127799b0f2dad5dba47b32b5a3cee502c9340efb11c417b7559d2118d49a212c5ad5f6e05b8691
EBUILD gcc-11.4.9999.ebuild 1267 BLAKE2B 09a26812068945e11164d0a4f8f5cc10dc261a20a647fd4102decc83eecbbe8fcc7f38093609314fa1f26c46164e8248aede741880f7cff64dd5a94836765fa2 SHA512 4ecf698cd6e96dc08683a0e9b69936cdd9085c300d330fb9830cee0e38783e0a1fc8409db39159f9b247f28fc5d7d7572ad3e975f3951f1cb8537f49886bdcde
@@ -56,7 +59,8 @@ EBUILD gcc-12.1.0.ebuild 819 BLAKE2B edb479f30802d9ac62555dc535d388f7630572f44d4
EBUILD gcc-12.1.1_p20220625.ebuild 799 BLAKE2B 82f30877d60dd0c8b9313c46e1b790748e920ea1e05ce6b9e76d33b6d9539f09ed37687265aa752fc496e61890ce5acba7765b16c793708a7564bea6df144d23 SHA512 818bea94f67785be1f2a390afcaf1550167c508cc4546047c4823189ce1b58111314c78cb13c91cdcd18463cfaec2aa882d738bd32367e43840d3c1bffdcbd8f
EBUILD gcc-12.1.1_p20220806.ebuild 802 BLAKE2B f78bd580d137107e9a6fed22e3e4183c4d5867b0627ec70df7fa96094b44b4ec3a6c4af18f2801cc5f01bd6f1dc9ed6d2241bcc683b9e61b80dd99a7f49f6f60 SHA512 9673c3167e071e94d8cf4953d1fe63cc5af88c55deb69a7b5fc45bc8b6452ec79205637cc24e5dd15520a7f9f6c5a548cdbd4ab86973c06fe0c9a59b1e275ec8
EBUILD gcc-12.1.1_p20220812.ebuild 1456 BLAKE2B b982de0e09a698616c42c4a4d72356dfc189a72d99b3a41a6fb864bb71383cda2a7099c41c88f0463020ae7cc29339bc5cf8d3e15eb6f6a55e6a74fb2c4ed6e6 SHA512 40cfe8d732b9a62b55e3a2bdec56188f4e70edb72ab981ba3a4ba3ca35862bd92d948ed48201f91e8188e52c87778da8bf334bafff2e00cbccb7c98c2614fdca
-EBUILD gcc-12.2.9999.ebuild 1545 BLAKE2B 86594191729256f3c5541b09461feaf6a5e3afa7ed2f0fa43739ca3225eb6974f996f4702c8eb51ba7e64215a2fce313ef4e010556bf9389aa3543fe34e27d44 SHA512 0f7d29dab9c8b376b2d5abdf5f0a2c889a2fb28bd37f6c897609b9c222215215a18c0a1e858b1688e3a601acb0c8f896b8a89783aafa05eb0f022e42c657a9ed
+EBUILD gcc-12.2.0.ebuild 1434 BLAKE2B f41ce3195499c81a18a96a41028fd2f0f850c1adda9e77ffadea5176729b9b415ab6ed9953d851952fe723a9c64857035dae14a180f791a9455f84f4e1415275 SHA512 96077a54de03bca8bb9065d8708545c9b50998b93e78d8b3c01362c9dabb785174eb642f6154e8564abc42b5f0d2696bc0e1ea7b7684d0bf7034593acffed3eb
+EBUILD gcc-12.3.9999.ebuild 1545 BLAKE2B 86594191729256f3c5541b09461feaf6a5e3afa7ed2f0fa43739ca3225eb6974f996f4702c8eb51ba7e64215a2fce313ef4e010556bf9389aa3543fe34e27d44 SHA512 0f7d29dab9c8b376b2d5abdf5f0a2c889a2fb28bd37f6c897609b9c222215215a18c0a1e858b1688e3a601acb0c8f896b8a89783aafa05eb0f022e42c657a9ed
EBUILD gcc-13.0.0_pre20220731.ebuild 1282 BLAKE2B 03e7f5b4c1434905797713910db534e33e9ccd97e7b931a3980222412b48d3daeae62f259a6f4445fccb4fcb510f92ef39c30e0c91930ec333f0af544b38ab84 SHA512 6cc09fc3d0736469630089056c8c79ec3a4751311201f832826be7c6782598b8efa110b23c45fd187006a5911eb7c0d132d478ccbd1c5817ebc123d10c807aa3
EBUILD gcc-13.0.0_pre20220807.ebuild 1288 BLAKE2B a2281da17b96d44850dccf6a6420d66cf163a8f53ea755f1414911fcffd71b504273f3010b6a6c3cb796bf763d8da5b8fa64efb7e107b3e5a8bb1ab767704d05 SHA512 8108432caffabab640a472344adf5660a005436790d31f287f1e72109dd69b5831ea0f3e956a822439862da6a24b78daa7c4253fe51ce9b47457de3b83d80b5d
EBUILD gcc-13.0.9999.ebuild 1252 BLAKE2B dbc0cdcbb6bae2177185c41fa014a0c98e05a8101f33e12975e2af951e25539117b9279573770b5d17261032b0c51d80864140417a13b152aa34739c28c0f0c3 SHA512 96e940c83f9e58b7b929c5293ca44582c266d3e10615f6aded5cd0b11cb1d46306382fea04227040a7d7cbfdc0f042e3b1c89a0e617193bbfadea50a4732e9a2
diff --git a/sys-devel/gcc/files/gcc-10.4.0-glibc-2.36.patch b/sys-devel/gcc/files/gcc-10.4.0-glibc-2.36.patch
new file mode 100644
index 000000000000..e773071188b7
--- /dev/null
+++ b/sys-devel/gcc/files/gcc-10.4.0-glibc-2.36.patch
@@ -0,0 +1,39 @@
+https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=6bd956e31b2fb6fe1eee4eb1bf309247dcd19b23
+https://bugs.gentoo.org/864717
+
+From 6bd956e31b2fb6fe1eee4eb1bf309247dcd19b23 Mon Sep 17 00:00:00 2001
+From: Martin Liska <mliska@suse.cz>
+Date: Mon, 11 Jul 2022 22:03:14 +0200
+Subject: [PATCH] libsanitizer: cherry-pick 9cf13067cb5088626ba7 from upstream
+
+9cf13067cb5088626ba7ee1ec4c42ec59c7995a0 [sanitizer] Remove #include <linux/fs.h> to resolve fsconfig_command/mount_attr conflict with glibc 2.36
+
+(cherry picked from commit 2701442d0cf6292f6624443c15813d6d1a3562fe)
+--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
+@@ -72,7 +72,9 @@
+ #include <sys/vt.h>
+ #include <linux/cdrom.h>
+ #include <linux/fd.h>
++#if SANITIZER_ANDROID
+ #include <linux/fs.h>
++#endif
+ #include <linux/hdreg.h>
+ #include <linux/input.h>
+ #include <linux/ioctl.h>
+@@ -822,10 +824,10 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
+ unsigned IOCTL_EVIOCGPROP = IOCTL_NOT_PRESENT;
+ unsigned IOCTL_EVIOCSKEYCODE_V2 = IOCTL_NOT_PRESENT;
+ #endif
+- unsigned IOCTL_FS_IOC_GETFLAGS = FS_IOC_GETFLAGS;
+- unsigned IOCTL_FS_IOC_GETVERSION = FS_IOC_GETVERSION;
+- unsigned IOCTL_FS_IOC_SETFLAGS = FS_IOC_SETFLAGS;
+- unsigned IOCTL_FS_IOC_SETVERSION = FS_IOC_SETVERSION;
++ unsigned IOCTL_FS_IOC_GETFLAGS = _IOR('f', 1, long);
++ unsigned IOCTL_FS_IOC_GETVERSION = _IOR('v', 1, long);
++ unsigned IOCTL_FS_IOC_SETFLAGS = _IOW('f', 2, long);
++ unsigned IOCTL_FS_IOC_SETVERSION = _IOW('v', 2, long);
+ unsigned IOCTL_GIO_CMAP = GIO_CMAP;
+ unsigned IOCTL_GIO_FONT = GIO_FONT;
+ unsigned IOCTL_GIO_UNIMAP = GIO_UNIMAP;
+
diff --git a/sys-devel/gcc/files/gcc-11.3.0-glibc-2.36.patch b/sys-devel/gcc/files/gcc-11.3.0-glibc-2.36.patch
new file mode 100644
index 000000000000..7907223248ae
--- /dev/null
+++ b/sys-devel/gcc/files/gcc-11.3.0-glibc-2.36.patch
@@ -0,0 +1,41 @@
+https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=d2356ebb0084a0d80dbfe33040c9afe938c15d19
+https://bugs.gentoo.org/864717
+
+Fix build w/ glibc 2.36.
+
+From d2356ebb0084a0d80dbfe33040c9afe938c15d19 Mon Sep 17 00:00:00 2001
+From: Martin Liska <mliska@suse.cz>
+Date: Mon, 11 Jul 2022 22:03:14 +0200
+Subject: [PATCH] libsanitizer: cherry-pick 9cf13067cb5088626ba7 from upstream
+
+9cf13067cb5088626ba7ee1ec4c42ec59c7995a0 [sanitizer] Remove #include <linux/fs.h> to resolve fsconfig_command/mount_attr conflict with glibc 2.36
+
+(cherry picked from commit 2701442d0cf6292f6624443c15813d6d1a3562fe)
+--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
+@@ -72,7 +72,9 @@
+ #include <sys/vt.h>
+ #include <linux/cdrom.h>
+ #include <linux/fd.h>
++#if SANITIZER_ANDROID
+ #include <linux/fs.h>
++#endif
+ #include <linux/hdreg.h>
+ #include <linux/input.h>
+ #include <linux/ioctl.h>
+@@ -828,10 +830,10 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
+ unsigned IOCTL_EVIOCGPROP = IOCTL_NOT_PRESENT;
+ unsigned IOCTL_EVIOCSKEYCODE_V2 = IOCTL_NOT_PRESENT;
+ #endif
+- unsigned IOCTL_FS_IOC_GETFLAGS = FS_IOC_GETFLAGS;
+- unsigned IOCTL_FS_IOC_GETVERSION = FS_IOC_GETVERSION;
+- unsigned IOCTL_FS_IOC_SETFLAGS = FS_IOC_SETFLAGS;
+- unsigned IOCTL_FS_IOC_SETVERSION = FS_IOC_SETVERSION;
++ unsigned IOCTL_FS_IOC_GETFLAGS = _IOR('f', 1, long);
++ unsigned IOCTL_FS_IOC_GETVERSION = _IOR('v', 1, long);
++ unsigned IOCTL_FS_IOC_SETFLAGS = _IOW('f', 2, long);
++ unsigned IOCTL_FS_IOC_SETVERSION = _IOW('v', 2, long);
+ unsigned IOCTL_GIO_CMAP = GIO_CMAP;
+ unsigned IOCTL_GIO_FONT = GIO_FONT;
+ unsigned IOCTL_GIO_UNIMAP = GIO_UNIMAP;
+
diff --git a/sys-devel/gcc/gcc-10.4.0.ebuild b/sys-devel/gcc/gcc-10.4.0.ebuild
index 31a46b613160..311d04b1e636 100644
--- a/sys-devel/gcc/gcc-10.4.0.ebuild
+++ b/sys-devel/gcc/gcc-10.4.0.ebuild
@@ -43,6 +43,8 @@ RDEPEND=""
BDEPEND="${CATEGORY}/binutils"
src_prepare() {
+ eapply "${FILESDIR}"/${P}-glibc-2.36.patch
+
local p upstreamed_patches=(
# add them here
)
diff --git a/sys-devel/gcc/gcc-11.3.0.ebuild b/sys-devel/gcc/gcc-11.3.0.ebuild
index a90a5c1bc452..93499169999c 100644
--- a/sys-devel/gcc/gcc-11.3.0.ebuild
+++ b/sys-devel/gcc/gcc-11.3.0.ebuild
@@ -23,5 +23,6 @@ BDEPEND=">=${CATEGORY}/binutils-2.30[cet(-)?]"
src_prepare() {
toolchain_src_prepare
+ eapply "${FILESDIR}"/${P}-glibc-2.36.patch
eapply_user
}
diff --git a/sys-devel/gcc/gcc-12.2.0.ebuild b/sys-devel/gcc/gcc-12.2.0.ebuild
new file mode 100644
index 000000000000..c2a70e93db66
--- /dev/null
+++ b/sys-devel/gcc/gcc-12.2.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TOOLCHAIN_PATCH_DEV="sam"
+PATCH_VER="9"
+PATCH_GCC_VER="12.1.0"
+MUSL_VER="6"
+MUSL_GCC_VER="12.1.0"
+
+if [[ $(ver_cut 3) == 9999 ]] ; then
+ MY_PV_2=$(ver_cut 2)
+ if [[ ${MY_PV_2} == 0 ]] ; then
+ MY_PV_2=0
+ else
+ MY_PV_2=$(($(ver_cut 2) - 1))
+ fi
+
+ # e.g. 12.2.9999 -> 12.1.1
+ TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.$(($(ver_cut 3) - 9998))
+elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
+ # Cheesy hack for RCs
+ MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
+ MY_P=${PN}-${MY_PV}
+ GCC_TARBALL_SRC_URI="https://gcc.gnu.org/pub/gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
+ TOOLCHAIN_SET_S=no
+ S="${WORKDIR}"/${MY_P}
+fi
+
+inherit toolchain
+
+# Needs to be after inherit (for now?), bug #830908
+EGIT_BRANCH=releases/gcc-$(ver_cut 1)
+
+# Don't keyword live ebuilds
+if ! tc_is_live && [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+
+# Technically only if USE=hardened *too* right now, but no point in complicating it further.
+# If GCC is enabling CET by default, we need glibc to be built with support for it.
+# bug #830454
+RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
+DEPEND="${RDEPEND}"
+BDEPEND=">=${CATEGORY}/binutils-2.30[cet(-)?]"
+
+src_prepare() {
+ toolchain_src_prepare
+
+ eapply_user
+}
diff --git a/sys-devel/gcc/gcc-12.2.9999.ebuild b/sys-devel/gcc/gcc-12.3.9999.ebuild
index cf4fddcdf19e..cf4fddcdf19e 100644
--- a/sys-devel/gcc/gcc-12.2.9999.ebuild
+++ b/sys-devel/gcc/gcc-12.3.9999.ebuild
diff --git a/sys-devel/mold/Manifest b/sys-devel/mold/Manifest
index a7448ca46c5e..2393d61aa249 100644
--- a/sys-devel/mold/Manifest
+++ b/sys-devel/mold/Manifest
@@ -1,10 +1,13 @@
AUX mold-1.2.1-install-nopython.patch 1178 BLAKE2B 62092d363291f640567e334a7d16e90640b5e98a972729340527eb1a10f7febd77b6ae6a71e82c93c4d8c3ea04812893b1a42cd7404b3d6aba6bd35ede308567 SHA512 c22cd13018472ecf84fbd9a192c7072e4d7cd263e9bb19a94b1997014b110790266c7ae62977ce716aedb659a5d40be4bc95e8c0dbb2b8b5cf8e1d799fff4887
AUX mold-1.3.0-openssl-pkgconfig.patch 887 BLAKE2B c014be11c2e18b8df12f156ac8a40468afdf1b0b600c9af73a7373063b1e3658dd199b5ef3bd538641720bfbe10c602d96b0066420c321affb5d2f432fbbda57 SHA512 072f311bdbde5b556bcf1916d5586124007d0d47642c3555cd76c96d19fc1b77ef2f260937bcdc9014201c2a702ce5b4d9612cfdfab1e7b5d80882db2332329a
AUX mold-1.3.1-fix-riscv-set32.patch 831 BLAKE2B 103fa9944f16993842b941b607b7e157b8fa31064fd7a115c8f1da4b617b98939b55caae98b246047e6ec0fa136d2b175001ab4dd18df5817cb282fd4e3aad9c SHA512 03b1ae4708826df19d7a879b985f7e81ad283abace64e306b982800ba633136d8f01b00221b3d9ca57fe3b21eb2796af33b0c3fbee4d94e6bb9e84043828fe01
+AUX mold-1.4.1-glob-tests.patch 5512 BLAKE2B bade33580bb63e58541dc1bafe4dc0fd0592e752e6f6003e67e210899ac3f4ee31490d40ee00c8af6ffd222744c56f74c677ba9e4aec2f3c2f4a9fc117846287 SHA512 712c878a649c13808509454fd65c10810777f1ca655365aa7fd3cf25e79247b88367ab454e6508e13f3f932ccc71ae25e4459fb6d3d107efcbe30e943e2f4bfa
DIST mold-1.3.1.tar.gz 4692379 BLAKE2B e34e9416cfc65d2097c4659ddc205a0c4492e50a1c6e4560006757e5c371d27410e38131f353cd0ee60b124e5fe42b0a1c50cdc3a7bed9f666596e608340e4fd SHA512 f576d2fcfee5cb3bade5ba24dcdd3020a16131ce7d4c3a00c3f92b94785ed86f3f040a6f5814b9c975c4c3d90a2b8c36a8101d5fbf1bc0a4be316f4a4a6dcefa
DIST mold-1.4.0.tar.gz 4722082 BLAKE2B 65ac52724018f5df82ca40b287a5f3b2c3e4b6b313ef2573bfd0ed6d03054d92b9e1e52cbdad1930406cff232c4b952c33a16979968502c439b860bd782726a9 SHA512 7b7c4a7bac6bbc6e22372d93d94a6cb804c7017eba16b90e9bbc42b9608108c724ef55337aabdd9ce2f5244b94c8fd64311e70e18b5f8cf5f68533c2639e550d
+DIST mold-1.4.1.tar.gz 6280266 BLAKE2B 60d0a876e0bcc8f644e4b6fffe0de14299bf2bd6e382869c87761d725dca6efa874cac37aaf94ad85038c5a24521ed3582782be943236ab81c2e4b66e6002f5e SHA512 304caf4e9d9b24170a9442a84036790407bd02609a5d07c31e5f0f6285128099cbc962571804636a5da55afda59b447c12218f9e4d402fbfa55ebc354814bdda
EBUILD mold-1.3.1-r1.ebuild 2264 BLAKE2B 5353e5967cae7cbfcf4d768d42c23701ecbc0016c6b5e177d655ca2a6c578df202b7598850af9c9cf527ea5361c6ffbedf18d39b8a1adfbfdf3ab7036cae2802 SHA512 44bb07f58b481536ad247da9576dc9ab510b2e4148dc2a4c94cf6c356409344a21319b1a59ee576f6ec41422631158cc6d540aa4fc4105dcc81b8d071952b611
EBUILD mold-1.3.1.ebuild 2200 BLAKE2B 7e8a4f95b4edfe6642f6409cd41ef8bf9938ac5c688d0942d74c074b0cc0f1de0b1cf491f876685c59c04934d882cf8e728820b7ea9064a5d0700058ea0842fd SHA512 e962c064be2f8fe1699838fe93ead8b5864dcc64f0f4b10b052522d6099cdeb3d2096fee74b6951d0aa18e2f09ad99d595c1f0e5f4666788eebb80fcd03a6000
EBUILD mold-1.4.0.ebuild 2200 BLAKE2B 7e8a4f95b4edfe6642f6409cd41ef8bf9938ac5c688d0942d74c074b0cc0f1de0b1cf491f876685c59c04934d882cf8e728820b7ea9064a5d0700058ea0842fd SHA512 e962c064be2f8fe1699838fe93ead8b5864dcc64f0f4b10b052522d6099cdeb3d2096fee74b6951d0aa18e2f09ad99d595c1f0e5f4666788eebb80fcd03a6000
-EBUILD mold-9999.ebuild 2193 BLAKE2B 12b3d1d0a480392843605f906051bc8e83c988cb2e9717c5b1ae2dcd0d4f5503487c5245e24fd32e9dceaa4083b05e0862582a6e78078be7b9646d416aac7172 SHA512 7562327a3f6c95dec206df868bc4f8c1cf59b2962249811068bd106ad480c4a5769aa1194b88ee8e20e3477b67ec51a068d3049f7ab786ab5fa3c1b8f539b1b5
-MISC metadata.xml 424 BLAKE2B a1c0cbdcb86c323fa1e6143c9665ec548f7713e74002a25b2fc26c51b60dae00922d3448a5aaecd5027a8cb026a681386ca7dea90657a3e10b25fb194dafc0d3 SHA512 1adc934e78ca0210743a1aa7479ebc4b5ea0b66a348c4408423460f02b404b885d3a8eca6e89ea8ac53ac9c76e85116965f1eef79e3f3e1f0451c8cf5ce0dfd6
+EBUILD mold-1.4.1.ebuild 2523 BLAKE2B 918cacb29b353bffe93f6b8164608aad604c8677b266c208913578daec2ee2ce95d619611b7601cd37f5db7e16f84d2929cd759f13c9ccec151243802fc40faa SHA512 a5d56159205814b4148faf68a9945d1915386472b2c42c4c2041a0ca3f78146a8ca3649a0a565af5d05d30d9d1fdb76aa6b6db60e2b0bd1a071255d60c6956a3
+EBUILD mold-9999.ebuild 2390 BLAKE2B 4ec131858d22054500485e7b534f571cc313b2ad8f223825508939c74f075e47e278ab5e5b5f01c42d33a1a784a087bbc35439d768004ee0a661174648ad94da SHA512 e85c79d6670bc86f20448e389c7fb60d59fa0e0ef24bb5bc740bde50ba7f9999e70352cbe1017d3b26f0b69a95f679603e2fccf3230c957314d29cd0018af498
+MISC metadata.xml 521 BLAKE2B beb00b6a0cf0b062e5ca97aaf42cc39dfd35459159b9b84c894909dd19ecf5e7bf22aea234de31b9deddbeb26b8b64e0cef306f606a78b279b915c0c20cb4e33 SHA512 ca5c1bd9e7fbb02b79607133e28a00b44e4dbebd815b6a4f4c6e96514c43e744eee4a8485d6aaa5a34438dcc928a9082bfa07c392caf4fe1290a584ec69efa58
diff --git a/sys-devel/mold/files/mold-1.4.1-glob-tests.patch b/sys-devel/mold/files/mold-1.4.1-glob-tests.patch
new file mode 100644
index 000000000000..ad9dda565323
--- /dev/null
+++ b/sys-devel/mold/files/mold-1.4.1-glob-tests.patch
@@ -0,0 +1,296 @@
+From 60070e0c1352a1cc6b02a0d1a30c657368a033c3 Mon Sep 17 00:00:00 2001
+From: Rui Ueyama <ruiu@bluewhale.systems>
+Date: Fri, 19 Aug 2022 20:05:26 +0800
+Subject: [PATCH] Simplify
+
+---
+ test/elf/CMakeLists.txt | 265 +-------------------------------------
+ test/macho/CMakeLists.txt | 100 +-------------
+ 2 files changed, 6 insertions(+), 359 deletions(-)
+
+diff --git a/test/elf/CMakeLists.txt b/test/elf/CMakeLists.txt
+index 5d15d6cb..138e8205 100644
+--- a/test/elf/CMakeLists.txt
++++ b/test/elf/CMakeLists.txt
+@@ -1,269 +1,12 @@
+-set(MOLD_ELF_TESTS
+- absolute-symbols
+- allow-multiple-definition
+- ar-alignment
+- arm32-thumb-interwork
+- as-needed
+- as-needed-weak
+- as-needed2
+- auxiliary
+- basic
+- bno-symbolic
+- bsymbolic
+- bsymbolic-functions
+- bug178
+- build-id
+- canonical-plt
+- cmdline
+- color-diagnostics
+- comment
+- common
+- common-archive
+- common-ref
+- compress-debug-sections
+- compressed-debug-info
+- compressed-debug-info-gnu
+- copyrel
+- copyrel-protected
+- copyrel-relro
+- dead-debug-sections
+- debug-macro-section
+- default-symver
+- defsym
+- defsym2
+- demangle
+- demangle-rust
+- dependency-file
+- disable-new-dtags
+- discard
+- dso-undef
+- dt-init
+- dt-needed
+- duplicate-error
+- dynamic
+- dynamic-dt-debug
+- dynamic-linker
+- dynamic-list
+- dynamic-list2
+- dynamic-list3
+- emit-relocs
+- empty-file
+- empty-input
+- empty-version
+- emulation-deduction
+- entry
+- exception
+- exception-mcmodel-large
+- exclude-libs
+- exclude-libs2
+- exclude-libs3
+- execstack
+- execstack-if-needed
+- export-dynamic
+- export-from-exe
+- fatal-warnings
+- filler
+- filter
+- func-addr
+- gc-sections
+- gdb-index-compress-output
+- gdb-index-dwarf2
+- gdb-index-dwarf3
+- gdb-index-dwarf4
+- gdb-index-dwarf5
+- gdb-index-empty
+- glibc-2.22-bug
+- gnu-hash
+- gnu-linkonce
+- gnu-retain
+- gnu-unique
+- gnu-warning
+- hello-dynamic
+- hello-static
+- help
+- hidden-undef
+- icf
+- icf-small
+- ifunc-dso
+- ifunc-dynamic
+- ifunc-export
+- ifunc-static
+- ifunc-static-pie
+- image-base
+- incompatible-libs
+- incompatible-libs2
+- incompatible-obj
+- init
+- init-array
+- init-array-priorities
+- init-array-readonly
+- init-in-dso
+- initfirst
+- interpose
+- invalid-version-script
+- large-alignment
+- large-alignment-dso
+- link-order
+- linker-script
+- linker-script-defsym
+- linker-script2
+- linker-script3
+- linker-script4
+- lto-archive
+- lto-dso
+- lto-gcc
+- lto-llvm
+- lto-version-script
+- many-sections
+- mergeable-records
+- mergeable-strings
+- missing-but-ok
+- missing-error
+- mold-wrapper
+- mold-wrapper2
+- no-quick-exit
+- nocopyreloc
+- noinhibit-exec
+- non-canonical-plt
+- nostdlib
+- note
+- note-property
+- note2
+- now
+- oformat-binary
+- omagic
+- pack-dyn-relocs-relr
+- package-metadata
+- pie
+- plt
+- plt-dso
+- pltgot
+- preinit-array
+- print-dependencies
+- protected
+- protected-dynsym
+- push-pop-state
+- relax
+- reloc
+- reloc-overflow
+- reloc-rodata
+- reloc-zero
+- relocatable
+- relocatable-archive
+- relro
+- repro
+- require-defined
+- response-file
+- retain-symbols-file
+- reverse-sections
+- rodata-name
+- rosegment
+- rpath
+- run
+- run-clang
+- section-alignment
+- section-name
+- section-start
+- shared
+- shuffle-sections
+- shuffle-sections-seed
+- soname
+- start-lib
+- start-stop-symbol
+- static-archive
+- static-pie
+- stdout
+- strip
+- symbol-rank
+- symbol-version
+- symbol-version2
+- symbol-version3
+- symtab
+- symtab-dso
+- symtab-section-symbols
+- synthetic-symbols
+- sysroot
+- sysroot-linker-script
+- sysroot2
+- thin-archive
+- thread-count
+- tls-common
+- tls-dso
+- tls-gd
+- tls-gd-mcmodel-large
+- tls-gd-noplt
+- tls-gd2
+- tls-ie
+- tls-large-tbss
+- tls-ld
+- tls-ld-mcmodel-large
+- tls-ld-noplt
+- tls-le
+- tls-module-base
+- tls-nopic
+- tls-pic
+- tlsdesc
+- tlsdesc-import
+- tlsdesc-static
+- trace
+- trace-symbol
+- undefined
+- unique
+- unresolved-symbols
+- verbose
+- version
+- version-script
+- version-script10
+- version-script11
+- version-script12
+- version-script13
+- version-script14
+- version-script15
+- version-script16
+- version-script17
+- version-script2
+- version-script3
+- version-script4
+- version-script5
+- version-script6
+- version-script7
+- version-script8
+- version-script9
+- versioned-undef
+- visibility
+- warn-common
+- warn-execstack
+- warn-once
+- warn-shared-textrel
+- warn-textrel
+- warn-unresolved-symbols
+- weak-export-dso
+- weak-export-exe
+- weak-undef
+- whole-archive
+- wrap
+- z-cet-report
+- z-defs
+- z-ibt
+- z-ibtplt
+- z-max-page-size
+- z-nodefaultlib
+- z-nodump
+- z-now
+- z-origin
+- z-separate-code
+- z-shstk
+- z-text
+- z-unknown
+- )
+-
+ option(MOLD_ENABLE_QEMU_TESTS "Enable tests for other targets" OFF)
+
++file(GLOB MOLD_ELF_TESTS RELATIVE ${CMAKE_CURRENT_LIST_DIR} "*.sh")
++
+ function(mold_add_arch_test NAME TRIPLE MACHINE)
+ if(NOT ${CMAKE_HOST_SYSTEM_PROCESSOR} STREQUAL ${MACHINE})
+ set(TEST_NAME "${MACHINE}-${NAME}")
+ add_test(NAME ${TEST_NAME}
+- COMMAND bash -x ${CMAKE_CURRENT_LIST_DIR}/${NAME}.sh
++ COMMAND bash -x ${CMAKE_CURRENT_LIST_DIR}/${NAME}
+ WORKING_DIRECTORY ${mold_BINARY_DIR})
+
+ set(TEST_ENV
+@@ -280,7 +23,7 @@ endfunction()
+
+ foreach(TEST IN LISTS MOLD_ELF_TESTS)
+ add_test(NAME "${CMAKE_HOST_SYSTEM_PROCESSOR}-${TEST}"
+- COMMAND bash -x ${CMAKE_CURRENT_LIST_DIR}/${TEST}.sh
++ COMMAND bash -x ${CMAKE_CURRENT_LIST_DIR}/${TEST}
+ WORKING_DIRECTORY ${mold_BINARY_DIR})
+
+ if(MOLD_ENABLE_QEMU_TESTS)
diff --git a/sys-devel/mold/metadata.xml b/sys-devel/mold/metadata.xml
index f8a85299d5bb..20ae5863a76b 100644
--- a/sys-devel/mold/metadata.xml
+++ b/sys-devel/mold/metadata.xml
@@ -12,4 +12,7 @@
<upstream>
<remote-id type="github">rui314/mold</remote-id>
</upstream>
+ <use>
+ <flag name="system-tbb">Use dev-cpp/tbb package instead of vendored copy</flag>
+ </use>
</pkgmetadata>
diff --git a/sys-devel/mold/mold-1.4.1.ebuild b/sys-devel/mold/mold-1.4.1.ebuild
new file mode 100644
index 000000000000..1aac8ca1098e
--- /dev/null
+++ b/sys-devel/mold/mold-1.4.1.ebuild
@@ -0,0 +1,103 @@
+# Copyright 2021-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake toolchain-funcs
+
+DESCRIPTION="A Modern Linker"
+HOMEPAGE="https://github.com/rui314/mold"
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/rui314/mold.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/rui314/mold/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~riscv"
+fi
+
+# mold (AGPL-3)
+# - xxhash (BSD-2)
+# - tbb (Apache-2.0)
+LICENSE="AGPL-3 Apache-2.0 BSD-2"
+SLOT="0"
+IUSE="system-tbb"
+
+RDEPEND="
+ sys-libs/zlib
+ system-tbb? ( >=dev-cpp/tbb-2021.4.0:= )
+ !kernel_Darwin? (
+ >=dev-libs/mimalloc-2:=
+ dev-libs/openssl:=
+ )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ # Allows us to rm the tests as before. Will be included in next
+ # release.
+ "${FILESDIR}"/mold-1.4.1-glob-tests.patch
+)
+
+pkg_pretend() {
+ # Requires a c++20 compiler, see #831473
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ if tc-is-gcc && [[ $(gcc-major-version) -lt 10 ]]; then
+ die "${PN} needs at least gcc 10"
+ elif tc-is-clang && [[ $(clang-major-version) -lt 12 ]]; then
+ die "${PN} needs at least clang 12"
+ fi
+ fi
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ # Needs unpackaged dwarfdump
+ rm test/elf/{{dead,compress}-debug-sections,compressed-debug-info}.sh || die
+
+ # Heavy tests, need qemu
+ rm test/elf/gdb-index-{compress-output,dwarf{2,3,4,5}}.sh || die
+ rm test/elf/lto-{archive,dso,gcc,llvm,version-script}.sh || die
+
+ # Sandbox sadness
+ rm test/elf/run.sh || die
+ sed -i 's|`pwd`/mold-wrapper.so|"& ${LD_PRELOAD}"|' \
+ test/elf/mold-wrapper{,2}.sh || die
+
+ # static-pie tests require glibc built with static-pie support
+ if ! has_version -d 'sys-libs/glibc[static-pie(+)]'; then
+ rm test/elf/{,ifunc-}static-pie.sh || die
+ fi
+
+ # Don't require python
+ sed -i '/find_package(Python3/d' CMakeLists.txt || die
+ sed -i '/add_dependencies/d' CMakeLists.txt || die
+ cat <<EOF>git-hash.cc
+#include <string>
+namespace mold {
+std::string mold_git_hash = "gentoo-${PVR}";
+}
+EOF
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DMOLD_ENABLE_QEMU_TESTS=OFF
+ -DMOLD_LTO=OFF # Should be up to the user to decide this with CXXFLAGS.
+ -DMOLD_USE_SYSTEM_MIMALLOC=ON
+ -DMOLD_USE_SYSTEM_TBB=$(usex system-tbb)
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ dobin "${BUILD_DIR}"/${PN}
+ dolib.so "${BUILD_DIR}"/${PN}-wrapper.so
+
+ dodoc docs/{design,execstack}.md
+ doman docs/${PN}.1
+
+ dosym ${PN} /usr/bin/ld.${PN}
+ dosym ${PN} /usr/bin/ld64.${PN}
+ dosym ../../../usr/bin/${PN} /usr/libexec/${PN}/ld
+}
diff --git a/sys-devel/mold/mold-9999.ebuild b/sys-devel/mold/mold-9999.ebuild
index 2a7faac5052d..b170b570b827 100644
--- a/sys-devel/mold/mold-9999.ebuild
+++ b/sys-devel/mold/mold-9999.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit toolchain-funcs
+inherit cmake toolchain-funcs
DESCRIPTION="A Modern Linker"
HOMEPAGE="https://github.com/rui314/mold"
@@ -12,28 +12,26 @@ if [[ ${PV} == 9999 ]] ; then
inherit git-r3
else
SRC_URI="https://github.com/rui314/mold/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64"
+ KEYWORDS="~amd64 ~riscv"
fi
-LICENSE="AGPL-3"
+# mold (AGPL-3)
+# - xxhash (BSD-2)
+# - tbb (Apache-2.0)
+LICENSE="AGPL-3 Apache-2.0 BSD-2"
SLOT="0"
+IUSE="system-tbb"
-RDEPEND=">=dev-cpp/tbb-2021.4.0:=
+RDEPEND="
sys-libs/zlib
+ system-tbb? ( >=dev-cpp/tbb-2021.4.0:= )
!kernel_Darwin? (
>=dev-libs/mimalloc-2:=
dev-libs/openssl:=
- )"
-# As of 1.1, xxhash is now a header-only dep, but it's now bundled :(
-# TODO: restore SYSTEM_XXHASH upstream?
+ )
+"
DEPEND="${RDEPEND}"
-PATCHES=(
- # Bug #841575
- "${FILESDIR}"/${PN}-1.2.1-install-nopython.patch
- "${FILESDIR}"/${PN}-1.3.0-openssl-pkgconfig.patch
-)
-
pkg_pretend() {
# Requires a c++20 compiler, see #831473
if [[ ${MERGE_TYPE} != binary ]]; then
@@ -46,7 +44,7 @@ pkg_pretend() {
}
src_prepare() {
- default
+ cmake_src_prepare
# Needs unpackaged dwarfdump
rm test/elf/{{dead,compress}-debug-sections,compressed-debug-info}.sh || die
@@ -64,34 +62,36 @@ src_prepare() {
if ! has_version -d 'sys-libs/glibc[static-pie(+)]'; then
rm test/elf/{,ifunc-}static-pie.sh || die
fi
-}
-
-src_compile() {
- tc-export CC CXX
- emake \
- CFLAGS="${CFLAGS}" \
- CXXFLAGS="${CXXFLAGS}" \
- SYSTEM_TBB=1 \
- SYSTEM_MIMALLOC=1 \
- STRIP="true" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)"
+ # Don't require python
+ sed -i '/find_package(Python3/d' CMakeLists.txt || die
+ sed -i '/add_dependencies/d' CMakeLists.txt || die
+ cat <<EOF>git-hash.cc
+#include <string>
+namespace mold {
+std::string mold_git_hash = "gentoo-${PVR}";
+}
+EOF
}
-src_test() {
- emake \
- SYSTEM_TBB=1 \
- SYSTEM_MIMALLOC=1 \
- check
+src_configure() {
+ local mycmakeargs=(
+ -DMOLD_ENABLE_QEMU_TESTS=OFF
+ -DMOLD_LTO=OFF # Should be up to the user to decide this with CXXFLAGS.
+ -DMOLD_USE_SYSTEM_MIMALLOC=ON
+ -DMOLD_USE_SYSTEM_TBB=$(usex system-tbb)
+ )
+ cmake_src_configure
}
src_install() {
- emake \
- SYSTEM_TBB=1 \
- SYSTEM_MIMALLOC=1 \
- DESTDIR="${D}" \
- PREFIX="${EPREFIX}/usr" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- STRIP="true" \
- install
+ dobin "${BUILD_DIR}"/${PN}
+ dolib.so "${BUILD_DIR}"/${PN}-wrapper.so
+
+ dodoc docs/{design,execstack}.md
+ doman docs/${PN}.1
+
+ dosym ${PN} /usr/bin/ld.${PN}
+ dosym ${PN} /usr/bin/ld64.${PN}
+ dosym ../../../usr/bin/${PN} /usr/libexec/${PN}/ld
}