commit: 54fba455a21cca9530e205301ea0ba11cf9a5056 Author: Dave Hughes <davidhughes205 <AT> gmail <DOT> com> AuthorDate: Sat Mar 13 04:02:30 2021 +0000 Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org> CommitDate: Sat Mar 13 16:16:30 2021 +0000 URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=54fba455
dev-java/openjdk: bump to latest + some fix-up patches from Alpine Package-Manager: Portage-3.0.17, Repoman-3.0.2 Manifest-Sign-Key: 0xA1919C830E9498E0 Signed-off-by: Dave Hughes <davidhughes205 <AT> gmail.com> Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org> dev-java/openjdk/Manifest | 55 ++++-- dev-java/openjdk/files/bootcycle_jobs.patch | 26 --- .../files/musl/8/0002_musl_hotspot_ppc.patch | 24 --- dev-java/openjdk/files/patches/11/0000_README | 16 ++ .../11/0001_fix-bootjdk-check.patch} | 13 +- .../11/build.patch => patches/11/1001_build.patch} | 32 ++-- .../11/1002_aarch64.patch} | 9 +- .../11/1003_ppc64le.patch} | 68 ++++--- dev-java/openjdk/files/patches/8/0000_README | 16 ++ .../8/0001_fix-jdk-ipv6-init.patch} | 0 .../8/0002_fix-jdk-close-fds.patch} | 0 .../files/patches/8/0003_jdk-disable-vfork.patch | 27 +++ .../8/0004_hotspot-insantiate-arrayallocator.patch | 16 ++ .../0005_fix-build-with-as-needed-toolchain.patch | 91 +++++++++ .../8/0006_fix-libjvm-load.patch} | 0 .../8/0007_jdk-includes.patch} | 0 .../8/0008_jdk-execinfo.patch} | 0 .../8/1001_hotspot-musl.patch} | 0 .../8/1002_hotspot-ppc-musl.patch} | 203 +++++++++++---------- .../8/1003_hotspot-aarch64-musl.patch} | 0 .../8/1004_hotspot-noagent-musl.patch} | 0 .../8/1006_jdk-musl.patch} | 0 ...11.0.9_p11.ebuild => openjdk-11.0.10_p9.ebuild} | 23 +-- ...k-8.272_p10.ebuild => openjdk-8.282_p08.ebuild} | 37 ++-- 24 files changed, 413 insertions(+), 243 deletions(-) diff --git a/dev-java/openjdk/Manifest b/dev-java/openjdk/Manifest index 676253a..321a16b 100644 --- a/dev-java/openjdk/Manifest +++ b/dev-java/openjdk/Manifest @@ -1,17 +1,38 @@ -DIST openjdk-11.0.9_p11.tar.bz2 91638327 BLAKE2B a04b7fb5ebde3b6c024e5f3931a2efe796e08ad66c0190cddfa4268d5181f46f24685d9d51ae328547916e8ece723967bf653feeac87347ee14ecbe213ad657a SHA512 a0a6726d5adbe95904b78d8b4319bc4386c594a563f80f63d59072cf72d00928b451163b91258b44193a80851400ce8b8d142fecfd2bd902ff7a5e47cb4a9976 -DIST openjdk-8.272_p10.tar.bz2 457222 BLAKE2B 51e487d36c1922c5fc04d8922f1000a776e4872142517933ef5e8d5fd825f221fa02325bd755bf3f48f7f3221a2da3ca182301fb303675cb7d712d7b2f1c7751 SHA512 488b7fa0ed725936d483efd54242dbf4409752c685f29277023fb47c4375b5700b34e743d819d7d7c2406a2f8845d1c3d4fc548c156b6c7c30e43574c1b51527 -DIST openjdk-aarch64-shenandoah-8.272_p10.tar.bz2 462755 BLAKE2B abeabf704d2135da9df6746545209f5a658ec547be5852041bb9bd1dfc4546cef143541df61b4705b6d2181ae7ec91a8c64e2b27347c24d146da49bbf8c228ef SHA512 7cae0cf80e09e1d2ad3eef8bf6740942788d0af4d3c9821bb0785ea42d4b38319d0ec57a8d21add25a40eebdc5ecba8234c9f04e6922e87c80480f71b04e2e3d -DIST openjdk-aarch64-shenandoah-corba-8.272_p10.tar.bz2 1052989 BLAKE2B 8d6f79758ccf1719396fb56fd47c258c2440beea79516025b4911027a59b6cf4b5826c5eb01ba3a4c45847915531989c74665cbedf6349541df38732e7b828de SHA512 12547c8b5f1fe4efcc58f5b148977d519c954b964e814fc3fce717bd6d6221c2e7eda98a0e1e8157ed2f509f3b89e1e7b529da81cd1ee768daf4ad6369c57e8b -DIST openjdk-aarch64-shenandoah-hotspot-8.272_p10.tar.bz2 8767088 BLAKE2B 85b2dcbd696c58db72a7aeb4dc9a4752d742ed90bfd2e06ce5ddd8ed4ec5c63ab2de40a41aab5747fa120d8865c1d57f02a99b27a6ebf7c68c0891e19f5a7f27 SHA512 7866495487b271228f1a2d95cecfa6b76bb912d8c1c63d3d92e7b2cda88dd151b3b6c4c3bc717e37a0bd972762620ae7fb456c1aee281772a145a1dd1b11758b -DIST openjdk-aarch64-shenandoah-jaxp-8.272_p10.tar.bz2 2718084 BLAKE2B 1e6cc999d84a49c03731a2a2ca73dfe684940509a64199ad52571ef51b3da035e41b41bf262ea88af9f77418c7b1b5721724d86f67a5f737e53eaf3673f4eab8 SHA512 a73e5a4628c936cf9b19082ad49ed2134984d15a1165c45206c74dff45118c50922fd0a668efe93a46c3839775ec567d56eee19cd0e3a9f90e7995d1b6a42f11 -DIST openjdk-aarch64-shenandoah-jaxws-8.272_p10.tar.bz2 2558262 BLAKE2B 3b00ca162f3b758ee65090011551f074f7675f499f179ae0d4c8c62b1d70c942d7d2082d48e84cece6cd2be7ea319c1707fc6239e82fd5e79297f796838688e4 SHA512 d64a15cf35df014c4dca2edddea2015905bafe252d3d2bdfd1bc8f72683ac827e5d0347e36d5d94cda354b31a6b0782017b1cea6571443e073caf9f26c7bebda -DIST openjdk-aarch64-shenandoah-jdk-8.272_p10.tar.bz2 48370921 BLAKE2B 98026a28463ce3f520feab2b146830bf91acdccac5aa28488ffdbe4328b9a2cbbc17e95eeb36a60364cab470eeb26efcfa06a588e1bebcb6e978821459536feb SHA512 1bc5baa799282a2d7c0014d2cf55b350c7d99dbd129643d2cfeadebd467b2f6f9a8b8a97d34f66c656103db3ee3d5a57d6ff57dc45bc655258dd5093506d89b5 -DIST openjdk-aarch64-shenandoah-langtools-8.272_p10.tar.bz2 2397200 BLAKE2B 1d985e852f07ab69e0af01a17cc3874cf903b1e3e2c4a909b7403087b3243beaf57a1e9b7792b52469a80764c7db614e3bb6ec4b43527d022219f3e79af21457 SHA512 76118b6c56481bcd3a6a709006d0d114faeef2b2a3c353e4a5ef2af5f03429dddd78d2d5951e9245fb5e41443e871e43634921825c0dbae8907f3f49fb3dea0c -DIST openjdk-aarch64-shenandoah-nashorn-jdk8.272_p10.tar.bz2 2838876 BLAKE2B 40d011a11122b2dd19349282468c756a58afbc1ff2a33424d6c4e82cde1f664e3317eb1616533b0d2bc24604c68ffd0b1b92d3271dd633f3a39aad22c84ca781 SHA512 1f50c2c1a6a5d271d63906cb1cf3e87d7b6fe61e92c90cf2974ec40e956be0e8388c2694d189c85ec7072abfd21566671498b8652c2ae9cb2021c6ec4d548f66 -DIST openjdk-corba-8.272_p10.tar.bz2 1033649 BLAKE2B db9d72dabe4b1727dbbe1de01e46f62676c48668e7ec960e10643c19374a2553dee3c2b5b576f85d09b541b570756b20980e1307fc614e4b4bee9789affc650e SHA512 1426b3ce6983429fe6399da77fb102fb5d54ebf65ab83ad4e3c0ee789e33e2a0afc1bbfb7b8f942334ff9b03be0696494919c374ce1b793b179ecc43e2c4384a -DIST openjdk-hotspot-8.272_p10.tar.bz2 8206390 BLAKE2B 6822635a29f919696c7a260bf7db20a749ec8598e6c751a8a5e3973c780c17f3ff16a1ed64eb44353be72136fd1ea945dc6620f18d0d876a5773c897bca8705f SHA512 48444d86bacaef503303fb160dca538546e74f7bd71fd34fc2b9faa4e0b1cf7710a6262e9ead161c1b0e8e02e8f96e56a6407d442bbfb01ff8ab835cd840d834 -DIST openjdk-jaxp-8.272_p10.tar.bz2 2692905 BLAKE2B e8fa9e6a7fd4c4ebeba82a3c55b17e4eba9cb03660baa8d478a8cfced1ab9673465faa1a0f690ebbe2634b2cf2741d7321f2c20c748339237eba7b772a2cea14 SHA512 15efb3db0dc28fd375d769037f248b3527e40d2c190fed57ca1d6a09e59aa79465c0e6516d2a122f6c7ee55f7cfeadaa76669884f74fa34b11ccfdfd76e71f6d -DIST openjdk-jaxws-8.272_p10.tar.bz2 2543199 BLAKE2B 3deae4cef17a5f3d513c1a748a72b50bacb3a0d9b6fb33e5ded121f4d209cc2eb2d59d7b7c182015811426e49eb3e2b463279fa201992c51a5c4a94a184931c9 SHA512 51c0ee76a7e0587ac9c2533d62717f24224ec8bc643df6af2e2fac89cd79cc4f228c7c57427e43f354a594568d16bb5bbf3295af9ce52717339c35b56d6c375a -DIST openjdk-jdk-8.272_p10.tar.bz2 48273590 BLAKE2B 80717a644df7d9741e5786708c816483f4fea1cfeb02438df17fb4183c0702fe6e3fcbeaefcee84a4f847d5cbafb0a9e80af63b56cf0c6381e0fbeb535d2f147 SHA512 85d20763f6cda66f2eac3b2a1e672e6b828c437386575d16a1c70b27a56c718fc0f44c712e6261eb89f6dd273fd2c21a2c4baa3f562cafa2911a5e2467d7ba13 -DIST openjdk-langtools-8.272_p10.tar.bz2 2399755 BLAKE2B 34ffa30993fa9f42ed2fa96ae658c3c43ecbc54750c3b854cc90efdbd3c4d5abdda012d55c4e81d4ab805d9184b5ea7429fba5927bf3192fcce2a17d9ef11744 SHA512 54698e8a74119f39971024ee165707fa9e27cd0008b59801f05a194362d723ba67269b1f34c181e2a0b1ce9cd36f52cf3ad3ad980c4670f7cfa476a0fa78fec8 -DIST openjdk-nashorn-8.272_p10.tar.bz2 2850055 BLAKE2B 2348c0f45916101d9fcb4aaa283d2c03be5b28decf12248ec930b9d726e346d0884dd64a22627e2f2fd8260c8755d0bc46a1cf6fecf691a30a7f4b54f6a293a9 SHA512 754fcdca5e0ce523d73cbdfbdcaaa13677ed8c2b72c5ae04ff1cc77fd73469f3366e51add68b13bac3c43800fecfcbb93bf4fcf7469258c4adc57e414b105ef5 +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA256 + +DIST openjdk-11.0.10_p9.tar.bz2 95141294 BLAKE2B f35cd0392b433210eb06b023bd92a168e17363635e27addcdcf1f1f9de7091a9f447a15b0fbbd1b0e3425377cb770de8dedf31c3a1cb1d7ecfc944175be4464d SHA512 755d6b9789ddca274fefa1762a68892ec0597e581d16fa2a26cfce0e5c10232c73706f3beb99fcaf99e80a051d0db7365e3c5402e952c2dec4405626ac2a4ef7 +DIST openjdk-8.282_p08.tar.bz2 457358 BLAKE2B 4451b2de340136ceb152615a32e33a3db60ff0f000d00e758d992f549af0110c4f64e3724abdd6ca7d679862e927557d475a2a36e923f0c3c5dd48fcb81b9b45 SHA512 40ccce0a25da6a6eef5cadfc0d6b208d0243ccd1fbc2a7aaef4c627802144122dbda96677c2d3ba45e05c5ac123a058ed37f59b8f035f0afcf34e832d50e8c35 +DIST openjdk-aarch64-shenandoah-8.282_p08.tar.bz2 463565 BLAKE2B dfdcadb0fc914fd9dbe61b20cc94c4298dce7f1875073a545a3e9ec043914514be54e9934465df4ec827881c35e10dc0ae4b21778a991ab42a1709a36b2cb49e SHA512 3e430c93726a12f60eeb27b1693c0c61fedabf0f19512df4b14732565b910a660bd9e776651caf7c0154ad93e0c90ac26aae1d5155a35ed29dda0cd601070d6a +DIST openjdk-aarch64-shenandoah-corba-8.282_p08.tar.bz2 1051633 BLAKE2B 0f4ea71b4bfcb87f7305876065bee4184939e09c5d2b38728f28e1e6407d850a70de1840d10f5c98a6d4709403838a42cd3f104a6a38c1a32f65ac127cc3271a SHA512 dd4e31baf81ed286b45ab2ac0a96f23306fb51b8d387ce6a846c7e1134ca45811fbe1842379bd54f486c97df8cc76a674941f4fe07ce5e5bc1ce3e8c85c9c782 +DIST openjdk-aarch64-shenandoah-hotspot-8.282_p08.tar.bz2 8771899 BLAKE2B 436b57d6c405fa43a08f36221175e86d0cac7880cff964216f627c62e6fc59795906624241d3e73909dc633ff40176ed4560fd6d8f98eb2d7987fed99bb935a1 SHA512 d99b034288a857250d5054f1d2342f79f75efa400c9776fe75a139cd94faddf7abe407dca80a776cef975ab3608168f6d21b31c8a0602b302be3d600b24c9fd3 +DIST openjdk-aarch64-shenandoah-jaxp-8.282_p08.tar.bz2 2726328 BLAKE2B 27325d12954e94baaed304fd7b4782a0028e71352b2357ed0710df5e61b0ba7b9d26110cc8424b85d987f723c2ee46b04ff03d0445ca7e654e480d0328e8546b SHA512 5e66838889f3e22ceb11ef6dbd7a20f9f090c51526440c2e54b9b2d733a7e10da47c36df1dbc0b33ea38fb324f1f32475f0448a24feb9aede211be92f4d72057 +DIST openjdk-aarch64-shenandoah-jaxws-8.282_p08.tar.bz2 2559051 BLAKE2B cf808ef4d6aa5e5bb699fde4cd36ce9032f9d5c14b7151279170a3a1556fcb56ded67d03865b2d093950f0f64c638b41d0cebb873d2a7e8563e711249e64484b SHA512 09b01fa9c967aa771f2d14b4613a5b5d26c396b47c7726b707bb87f0c1ddae406a400c3ee9a93caec3ec8d41deab030ffca101f64865d8ecba3325f9cacd0ef5 +DIST openjdk-aarch64-shenandoah-jdk-8.282_p08.tar.bz2 48636508 BLAKE2B cd2b5e1b3a10eab1fd869dd707c8c7f3970bec3559f6699f9b68b2715a279e1c5d4ee37a172e62ab32abe5608813d72e9bac91fe5670f6596dfa8debabd26cc3 SHA512 70c2e327f602249e3472a8b0ed2391ab7ea08cddab28ad3f04bbccec76bfa7f749f7b1ac1eac7440da9723f824f4d564e6f19db3520260875137b7f95798afde +DIST openjdk-aarch64-shenandoah-langtools-8.282_p08.tar.bz2 2400152 BLAKE2B d1f5752bab7a2bd01f220796e24bec018a44ed69bc10d4c0b8deab28c3ae18eb573b71ad7d48ac2219fde0c23170a593b050f53d87e6bfc8dacd323c25c76468 SHA512 48e861ba9d98f3c48d6f70ea13aa34e0cbb25272a5bdf20fe5f9e6daf1a2d2a4b754816bd1be1d1c251bb56849487ac494582e2eb94c8c04eecf60aea4b8a6e7 +DIST openjdk-aarch64-shenandoah-nashorn-jdk8.282_p08.tar.bz2 2839986 BLAKE2B 9c42469bab74ef6c36702499017b7ae3f98fb86f04b7336659d6f1fbe132a8513de5308c0c2bb4065063f05a8c0fe2acb81d2b2daf0610ac58cc309879475d57 SHA512 424b764e0b9360df972305a1df8b7655fe69697c69250beeebd1e719e42bc94681d21331c92b47e3d38a9650bbe7cd39311230c3eda2aac090f3a83e0ad04acc +DIST openjdk-corba-8.282_p08.tar.bz2 1034749 BLAKE2B 394e1d6fcccf1e512a0c241c4053ebf1da7df65e3d05d75c243c184ac6990b61fe9e55596513baf291d2dcc99d01d7ba94f31247d617b1cd316dfcdc8ecc663e SHA512 aa0eea3f1efb4c4da8d03b902cf5cdbbe475365427a96ff74bbac21af4c2f4eff1fa8b05a0f4b1cfb64385860aa963e53736e4a3ff314cec2e141524f3001613 +DIST openjdk-hotspot-8.282_p08.tar.bz2 8207755 BLAKE2B 1cf5e81275199a6659aca8ee29092131572797dcf71d2ea9fa61bcc00d8ba7c056ae96787aa684fc6f9d68cd1d628ab2d2fd4a9837a6750b91d5c008d9860139 SHA512 c2f2a62348aacfc022ade44d7b1bf733723ccd0f2388153ba595cfecb38a1c3abca3349ac2388274830614ca17c428981beb6c5cf2efbd1eb95d3a2be277776b +DIST openjdk-jaxp-8.282_p08.tar.bz2 2682951 BLAKE2B 91c50452d450bb748d42b2e5e556aa9f7356aa66554ac45766e7a573cda901bda038acd984587cc150990cd2b8a02e7069d0fdd5d5ed44fbb433f4b45338efaa SHA512 ab17c2be397505a944d3b2d8090fa9b7c3db97f5b301fe8a485956318d6acfe065447959cfb7261e58e8506c25da7c0a7bef6075082ad6c89c52463284d1d227 +DIST openjdk-jaxws-8.282_p08.tar.bz2 2543297 BLAKE2B 69db522a4bd508ad6d15fd0272bcc29a84ad3829fa4496501f8351cad3acfaae24a440dd3c98638b7807cc8270f0eadbe8aec44700a5386cb0a75f240b475607 SHA512 d17163f42dc617187376962e9a99fecb6b71c3119a84bb0d57d43a09eabc090dc9e120ad4546b7b7b03ba832c54fa148f6751053d6eede69f7ac804c3fb78792 +DIST openjdk-jdk-8.282_p08.tar.bz2 48584190 BLAKE2B 6c5949abe6a18c4f633f2ef5c3e93db8421845f4578f6ddc783fe0af581b2df0ec6e7c833716c4b181547c289f9cb74b0b6b96893c45120a13061a45a70fbda3 SHA512 99adf9270f132e4a59c466b56069598058ffd4b41c7b0698ba8362e92d4b9529fbc9a166b5ae70d518b1c56eba80e4d5e51efef82df919df63bde42e8e6df296 +DIST openjdk-langtools-8.282_p08.tar.bz2 2399247 BLAKE2B 5f2fe1eb3422053df33ce3df2ce99c6334d9867098485e90e08cc84d8df81399efd8c8169b9665b42df84048bfcdd964643861d93bc27c3be67e7a732704b5ef SHA512 9b29e6bfd6e12dc810a5e5339a92410b0f6fbf20e4f0e727da25f954ec8d3dfccc4f7decf285a7f8b1e6710971ae363c0ee1f8d2738dc54b57989699300dfe59 +DIST openjdk-nashorn-8.282_p08.tar.bz2 2850710 BLAKE2B c3a4eab94946d43e4b1f3b78d16c016dfd3e84addc7be79a70a083266f2e87948a2b704ce2131c4603739828d613a9f91374af9ae5c915bbb9a0771115016321 SHA512 f46a17dd811276c381ab3af333a901a18fe10ea67f487dcb7c7696c0b3c6247569ebbd1a438cfb056d4e42a6f4e509fb8c21e3b1bfad675a743dbf404f298464 +-----BEGIN PGP SIGNATURE----- + +iQKTBAEBCAB9FiEEZdLCSnfk9z83VSkfsaMsEcx8U7oFAmBMOU9fFIAAAAAALgAo +aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDY1 +RDJDMjRBNzdFNEY3M0YzNzU1MjkxRkIxQTMyQzExQ0M3QzUzQkEACgkQsaMsEcx8 +U7rWbhAAshfoexOTZhEaop4cSXE9day+dCFMb2Mg+Fgn02tO20eOvE7sZ/1iJQ2l +NO7RPh9NBSVkzEy4+8D26o6I4n+TCYxzWcGw30SUdKwH4Xf5A83jYi+jUAfVD6bC +Zl8y/+yGMhDRXif6ffMh548hOBgVpl3U/zYR5AY1zKD0wOBJQHOs8cNjGcMnP9En +gvI2inQtfbgwM6zQ8KpKcxyLOenXJpLTMpROPOr6EbQlccPwaqWfdPRiDhmBr4kO +H+PQ1ctAXETShXuHRVsfsCXKlC6WouKAiZI1CqYJuT+qM0B81US2iKbrwzTZgXBd +mtfSqz7N/DQXUJM2xakdYBluO3f0dK+/osa90wu6BgWbcJC3RW8SOeU8Nu2Sz4Vo +/exjZSJis/ua0dDJwSi3cp3rc/xLMXRk0wENGHD6RkXWnfRgJMdV/scq75C0e6xf +JfhspZEiKMzrSoq9j17ckMl80W52cZ+bUGKs4Hi02DQLLBwDaOGnE60HNCgSFroM +AvCy2hT3NxZ9FOhZJTtatoQ/1PUoQN0X8JW2f+i4XZHqjwMG6kB+AmE6fyFmzcKF +TO1Ci238f5cLGqXU/dpiZJnQjYC8Evf3G4chkzaqvqBt/l4p+DIUlW/Q/8m5YDdP +knDBYwN2iOFgoqwegnR0cTTKEQF3fs5MyEbkl+259k9w7tS1fjA= +=wQFo +-----END PGP SIGNATURE----- diff --git a/dev-java/openjdk/files/bootcycle_jobs.patch b/dev-java/openjdk/files/bootcycle_jobs.patch deleted file mode 100644 index 9dfae98..0000000 --- a/dev-java/openjdk/files/bootcycle_jobs.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff -r 21b063d75b3e make/Init.gmk ---- jdk9/make/Init.gmk Thu Mar 16 16:34:33 2017 +0000 -+++ jdk9/make/Init.gmk Tue Apr 04 13:49:37 2017 +0100 -@@ -303,7 +303,8 @@ - $(call PrepareSmartJavac) - ( cd $(TOPDIR) && \ - $(NICE) $(MAKE) $(MAKE_ARGS) $(OUTPUT_SYNC_FLAG) \ -- -j $(JOBS) -f make/Main.gmk $(USER_MAKE_VARS) \ -+ $(if $(DISABLE_JOBS),, -j $(JOBS)) \ -+ -f make/Main.gmk $(USER_MAKE_VARS) \ - $(PARALLEL_TARGETS) $(COMPARE_BUILD_MAKE) $(BUILD_LOG_PIPE) || \ - ( exitcode=$$? && \ - $(PRINTF) "\nERROR: Build failed for $(TARGET_DESCRIPTION) (exit code $$exitcode) \n" \ -diff -r 21b063d75b3e make/Main.gmk ---- jdk9/make/Main.gmk Thu Mar 16 16:34:33 2017 +0000 -+++ jdk9/make/Main.gmk Tue Apr 04 13:49:37 2017 +0100 -@@ -320,7 +320,7 @@ - ifneq ($(COMPILE_TYPE), cross) - $(call LogWarn, Boot cycle build step 2: Building a new JDK image using previously built image) - +$(MAKE) $(MAKE_ARGS) -f $(SRC_ROOT)/make/Init.gmk PARALLEL_TARGETS=$(BOOTCYCLE_TARGET) \ -- JOBS= SPEC=$(dir $(SPEC))bootcycle-spec.gmk main -+ DISABLE_JOBS=true SPEC=$(dir $(SPEC))bootcycle-spec.gmk main - else - $(call LogWarn, Boot cycle build disabled when cross compiling) - endif - diff --git a/dev-java/openjdk/files/musl/8/0002_musl_hotspot_ppc.patch b/dev-java/openjdk/files/musl/8/0002_musl_hotspot_ppc.patch deleted file mode 100644 index bafdb7d..0000000 --- a/dev-java/openjdk/files/musl/8/0002_musl_hotspot_ppc.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -Naur openjdk-8.265_p01/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.cpp openjdk-8.265_p01-copy/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.cpp ---- openjdk-8.265_p01/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.cpp 2020-10-11 15:53:08.452010359 -0400 -+++ openjdk-8.265_p01-copy/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.cpp 2020-10-11 20:51:15.688019033 -0400 -@@ -44,6 +44,8 @@ - #include "gc_implementation/g1/heapRegion.hpp" - #endif // INCLUDE_ALL_GCS - -+#include <asm/ptrace.h> -+ - #ifdef PRODUCT - #define BLOCK_COMMENT(str) // nothing - #else -diff -Naur openjdk-8.265_p01/hotspot/src/os_cpu/linux_ppc/vm/thread_linux_ppc.cpp openjdk-8.265_p01-copy/hotspot/src/os_cpu/linux_ppc/vm/thread_linux_ppc.cpp ---- openjdk-8.265_p01/hotspot/src/os_cpu/linux_ppc/vm/thread_linux_ppc.cpp 2020-10-11 15:53:08.472010359 -0400 -+++ openjdk-8.265_p01-copy/hotspot/src/os_cpu/linux_ppc/vm/thread_linux_ppc.cpp 2020-10-11 20:51:42.444019045 -0400 -@@ -27,6 +27,8 @@ - #include "runtime/frame.inline.hpp" - #include "runtime/thread.hpp" - -+#include <asm/ptrace.h> -+ - bool JavaThread::pd_get_top_frame_for_profiling(frame* fr_addr, void* ucontext, bool isInJava) { - assert(this->is_Java_thread(), "must be JavaThread"); - diff --git a/dev-java/openjdk/files/patches/11/0000_README b/dev-java/openjdk/files/patches/11/0000_README new file mode 100644 index 0000000..9ebcbd9 --- /dev/null +++ b/dev-java/openjdk/files/patches/11/0000_README @@ -0,0 +1,16 @@ +README +-------------------------------------------------------------------------- +This patchset is to be the series of patches for OpenJDK. + +It is designed for cross-compatibility, fixes and stability, with performance +and additional features support being included also. + + +Patchset Numbering Scheme +-------------------------------------------------------------------------- + +0000 README + +0001 General fixes + +1001 Musl specific fixes diff --git a/dev-java/openjdk/files/musl/11/fix-bootjdk-check.patch b/dev-java/openjdk/files/patches/11/0001_fix-bootjdk-check.patch similarity index 67% rename from dev-java/openjdk/files/musl/11/fix-bootjdk-check.patch rename to dev-java/openjdk/files/patches/11/0001_fix-bootjdk-check.patch index 3549f3a..b34a1b2 100644 --- a/dev-java/openjdk/files/musl/11/fix-bootjdk-check.patch +++ b/dev-java/openjdk/files/patches/11/0001_fix-bootjdk-check.patch @@ -1,8 +1,10 @@ +Subject: Fix detection of bootjdk on configure +Upstream: No Author: Simon Frankenberger <simon-alp...@fraho.eu> -Upstream: no -Reason: The alpine builders print out a warning about sched_getaffinity() not working. - This causes the version check for the boot jdk to fail. - Patch the command to determine the version number to ignore any errors and warnings. + +The alpine builders print out a warning about sched_getaffinity() not working. +This causes the version check for the boot jdk to fail. +Patch the command to determine the version number to ignore any errors and warnings. --- old/make/autoconf/boot-jdk.m4 +++ new/make/autoconf/boot-jdk.m4 @@ -12,7 +14,6 @@ Reason: The alpine builders print out a warning about sched_getaffinity() not wo # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $HEAD -n 1` + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $GREP version | $HEAD -n 1` - + # Extra M4 quote needed to protect [] in grep expression. [FOUND_CORRECT_VERSION=`$ECHO $BOOT_JDK_VERSION \ - diff --git a/dev-java/openjdk/files/musl/11/build.patch b/dev-java/openjdk/files/patches/11/1001_build.patch similarity index 97% rename from dev-java/openjdk/files/musl/11/build.patch rename to dev-java/openjdk/files/patches/11/1001_build.patch index 58bd60d..2223250 100644 --- a/dev-java/openjdk/files/musl/11/build.patch +++ b/dev-java/openjdk/files/patches/11/1001_build.patch @@ -1,9 +1,10 @@ +Subject: Fix compilation issues with musl libc +Upstream: No Author: The portola team at https://openjdk.java.net/projects/portola/ With modifications by Simon Frankenberger <simon-alp...@fraho.eu> -Upstream: somewhat -Reason: This giant patch makes it possible to compile openjdk with musl libc. - The base was taken from a diff with the portola project and adjusted - for latest musl libc. + +This giant patch makes it possible to compile openjdk with musl libc. +The base was taken from a diff with the portola project and adjusted for latest musl libc. --- old/make/ReleaseFile.gmk +++ new/make/ReleaseFile.gmk @@ -23,7 +24,7 @@ Reason: This giant patch makes it possible to compile openjdk with musl libc. +# config.guess doesn't identify systems running the musl C library, and will +# instead return a string with a -gnu suffix. This block detects musl and -+# modifies the string to have a -musl suffix instead. ++# modifies the string to have a -musl suffix instead. +echo $OUT | grep -- -linux- > /dev/null 2> /dev/null +if test $? = 0; then + ldd_version=`ldd --version 2>&1 | head -1 | cut -f1 -d' '` @@ -85,7 +86,7 @@ Reason: This giant patch makes it possible to compile openjdk with musl libc. } ///////////////////////////////////////////////////////////////////////////// -@@ -3053,20 +3058,36 @@ +@@ -3109,20 +3114,36 @@ extern "C" JNIEXPORT void numa_warn(int number, char *where, ...) { } extern "C" JNIEXPORT void numa_error(char *where) { } @@ -194,7 +195,7 @@ Reason: This giant patch makes it possible to compile openjdk with musl libc. sigemptyset(&sa.sa_mask); --- old/src/java.base/unix/native/libjava/childproc.c +++ new/src/java.base/unix/native/libjava/childproc.c -@@ -237,7 +237,13 @@ +@@ -238,7 +238,13 @@ { if (envp == NULL || (char **) envp == environ) { execvp(file, (char **) argv); @@ -285,7 +286,7 @@ Reason: This giant patch makes it possible to compile openjdk with musl libc. #include <jvm.h> #include <jni.h> -@@ -790,26 +787,6 @@ +@@ -783,26 +780,6 @@ } return ret; } @@ -398,7 +399,7 @@ Reason: This giant patch makes it possible to compile openjdk with musl libc. printf("Testing stack guard page behaviour for initial thread\n"); --- old/test/jdk/java/lang/ProcessBuilder/Basic.java +++ new/test/jdk/java/lang/ProcessBuilder/Basic.java -@@ -396,8 +396,8 @@ +@@ -400,8 +400,8 @@ if (failed != 0) throw new Error("null PATH"); } else if (action.equals("PATH search algorithm")) { equal(System.getenv("PATH"), "dir1:dir2:"); @@ -409,7 +410,7 @@ Reason: This giant patch makes it possible to compile openjdk with musl libc. String[] cmd = {"prog"}; ProcessBuilder pb1 = new ProcessBuilder(cmd); ProcessBuilder pb2 = new ProcessBuilder(cmd); -@@ -438,13 +438,13 @@ +@@ -442,13 +442,13 @@ checkPermissionDenied(pb); // continue searching if EACCES @@ -425,7 +426,7 @@ Reason: This giant patch makes it possible to compile openjdk with musl libc. equal(run(pb).exitValue(), True.exitValue()); // Check empty PATH component means current directory. -@@ -460,10 +460,10 @@ +@@ -464,10 +464,10 @@ pb.command(command); File prog = new File("./prog"); // "Normal" binaries @@ -438,7 +439,7 @@ Reason: This giant patch makes it possible to compile openjdk with musl libc. equal(run(pb).exitValue(), False.exitValue()); prog.delete(); -@@ -518,12 +518,12 @@ +@@ -522,12 +522,12 @@ new File("dir2/prog").delete(); new File("prog").delete(); new File("dir3").mkdirs(); @@ -455,7 +456,7 @@ Reason: This giant patch makes it possible to compile openjdk with musl libc. equal(run(pb).exitValue(), False.exitValue()); } finally { -@@ -620,6 +620,13 @@ +@@ -624,6 +624,13 @@ new File("/bin/false").exists()); } @@ -469,7 +470,7 @@ Reason: This giant patch makes it possible to compile openjdk with musl libc. static class UnicodeOS { public static boolean is() { return is; } private static final String osName = System.getProperty("os.name"); -@@ -658,6 +665,45 @@ +@@ -662,6 +669,45 @@ } } @@ -515,7 +516,7 @@ Reason: This giant patch makes it possible to compile openjdk with musl libc. static class EnglishUnix { private static final Boolean is = (! Windows.is() && isEnglish("LANG") && isEnglish("LC_ALL")); -@@ -1961,7 +2007,7 @@ +@@ -1965,7 +2011,7 @@ //---------------------------------------------------------------- try { new File("suBdiR").mkdirs(); @@ -542,4 +543,3 @@ Reason: This giant patch makes it possible to compile openjdk with musl libc. Assert.assertTrue(command.endsWith(expected), "Command: expected: \'" + expected + "\', actual: " + command); - diff --git a/dev-java/openjdk/files/musl/11/aarch64.patch b/dev-java/openjdk/files/patches/11/1002_aarch64.patch similarity index 67% rename from dev-java/openjdk/files/musl/11/aarch64.patch rename to dev-java/openjdk/files/patches/11/1002_aarch64.patch index c0fa972..49110e2 100644 --- a/dev-java/openjdk/files/musl/11/aarch64.patch +++ b/dev-java/openjdk/files/patches/11/1002_aarch64.patch @@ -1,7 +1,9 @@ +Subject: Remove fpu_control.h include +Upstream: No Author: Simon Frankenberger <simon-alp...@fraho.eu> -Upstream: no -Reason: This file is not present when building on aarch64 alpine. - Furthermore, the build runs just fine without it. + +The header is not present with musl and including it results in build error. +It's not needed anyways. --- old/src/hotspot/os_cpu/linux_aarch64/os_linux_aarch64.cpp +++ new/src/hotspot/os_cpu/linux_aarch64/os_linux_aarch64.cpp @@ -13,3 +15,4 @@ Reason: This file is not present when building on aarch64 alpine. #define REG_FP 29 #define REG_LR 30 + diff --git a/dev-java/openjdk/files/musl/11/ppc64le.patch b/dev-java/openjdk/files/patches/11/1003_ppc64le.patch similarity index 85% copy from dev-java/openjdk/files/musl/11/ppc64le.patch copy to dev-java/openjdk/files/patches/11/1003_ppc64le.patch index c26755b..dd5fcc6 100644 --- a/dev-java/openjdk/files/musl/11/ppc64le.patch +++ b/dev-java/openjdk/files/patches/11/1003_ppc64le.patch @@ -1,7 +1,11 @@ +Subject: Fix compilation with different ucontext_t on musl +Upstream: No Author: Simon Frankenberger <simon-alp...@fraho.eu> -Upstream: no -Reason: Musl libc offers a different structure for context_t*, - so we need a patch to access the structure fields correctly. + +The machine state registers have to be accessed differently when +running on musl libc. This patch fix this by replacing +"uc_mcontext.regs->grp" with "uc_mcontext.gp_regs" +and accessing the named fields (like "->nip") by the array index constants. --- old/src/hotspot/cpu/ppc/macroAssembler_ppc.cpp +++ new/src/hotspot/cpu/ppc/macroAssembler_ppc.cpp @@ -65,7 +69,7 @@ Reason: Musl libc offers a different structure for context_t*, } --- old/src/hotspot/cpu/ppc/vm_version_ppc.cpp +++ new/src/hotspot/cpu/ppc/vm_version_ppc.cpp -@@ -893,7 +893,7 @@ +@@ -921,7 +921,7 @@ unsigned long auxv = getauxval(AT_HWCAP2); if (auxv & PPC_FEATURE2_HTM_NOSC) { @@ -76,6 +80,16 @@ Reason: Musl libc offers a different structure for context_t*, // POWER9 DD2.1 NV has a few issues that need a couple of firmware --- old/src/hotspot/os_cpu/linux_ppc/os_linux_ppc.cpp +++ new/src/hotspot/os_cpu/linux_ppc/os_linux_ppc.cpp +@@ -76,6 +76,9 @@ + # include <poll.h> + # include <ucontext.h> + ++#if ! (defined(__GLIBC__) || defined(__UCLIBC__)) ++# include <asm/ptrace.h> ++#endif + + address os::current_stack_pointer() { + intptr_t* csp; @@ -108,24 +108,42 @@ // - if uc was filled by getcontext(), it is undefined - getcontext() does not fill // it because the volatile registers are not needed to make setcontext() work. @@ -85,7 +99,7 @@ Reason: Musl libc offers a different structure for context_t*, return (address)uc->uc_mcontext.regs->nip; +#else // Musl + guarantee(uc->uc_mcontext.gp_regs != NULL, "only use ucontext_get_pc in sigaction context"); -+ return (address)uc->uc_mcontext.gp_regs[32]; ++ return (address)uc->uc_mcontext.gp_regs[PT_NIP]; +#endif } @@ -98,7 +112,7 @@ Reason: Musl libc offers a different structure for context_t*, uc->uc_mcontext.regs->nip = (unsigned long)pc; +#else // Musl + guarantee(uc->uc_mcontext.gp_regs != NULL, "only use ucontext_set_pc in sigaction context"); -+ uc->uc_mcontext.gp_regs[32] = (unsigned long)pc; ++ uc->uc_mcontext.gp_regs[PT_NIP] = (unsigned long)pc; +#endif } @@ -106,7 +120,7 @@ Reason: Musl libc offers a different structure for context_t*, +#if defined(__GLIBC__) || defined(__UCLIBC__) return (address)uc->uc_mcontext.regs->link; +#else // Musl -+ return (address)uc->uc_mcontext.gp_regs[36]; ++ return (address)uc->uc_mcontext.gp_regs[PT_LNK]; +#endif } @@ -126,26 +140,24 @@ Reason: Musl libc offers a different structure for context_t*, +#if defined(__GLIBC__) || defined(__UCLIBC__) return uc->uc_mcontext.regs->trap; +#else // Musl -+ return uc->uc_mcontext.gp_regs[40]; ++ return uc->uc_mcontext.gp_regs[PT_TRAP]; +#endif } ExtendedPC os::fetch_frame_from_context(const void* ucVoid, -@@ -259,7 +281,13 @@ +@@ -259,7 +279,11 @@ // 3.2.1 "Machine State Register"), however note that ISA notation for bit // numbering is MSB 0, so for normal bit numbering (LSB 0) they come to be // bits 33 and 34. It's not related to endianness, just a notation matter. +#if defined(__GLIBC__) || defined(__UCLIBC__) if (second_uc->uc_mcontext.regs->msr & 0x600000000) { +#else // Musl -+ // why 33? -+ // see comment for glibc NGREG: "r0-r31, nip, msr, lr, etc." -+ if (second_uc->uc_mcontext.gp_regs[33] & 0x600000000) { ++ if (second_uc->uc_mcontext.gp_regs[PT_MSR] & 0x600000000) { +#endif if (TraceTraps) { tty->print_cr("caught signal in transaction, " "ignoring to jump to abort handler"); -@@ -586,6 +614,7 @@ +@@ -587,6 +615,7 @@ const ucontext_t* uc = (const ucontext_t*)context; st->print_cr("Registers:"); @@ -153,14 +165,14 @@ Reason: Musl libc offers a different structure for context_t*, st->print("pc =" INTPTR_FORMAT " ", uc->uc_mcontext.regs->nip); st->print("lr =" INTPTR_FORMAT " ", uc->uc_mcontext.regs->link); st->print("ctr=" INTPTR_FORMAT " ", uc->uc_mcontext.regs->ctr); -@@ -594,8 +623,18 @@ +@@ -595,8 +624,18 @@ st->print("r%-2d=" INTPTR_FORMAT " ", i, uc->uc_mcontext.regs->gpr[i]); if (i % 3 == 2) st->cr(); } +#else // Musl -+ st->print("pc =" INTPTR_FORMAT " ", uc->uc_mcontext.gp_regs[32]); -+ st->print("lr =" INTPTR_FORMAT " ", uc->uc_mcontext.gp_regs[36]); -+ st->print("ctr=" INTPTR_FORMAT " ", uc->uc_mcontext.gp_regs[35]); ++ st->print("pc =" INTPTR_FORMAT " ", uc->uc_mcontext.gp_regs[PT_NIP]); ++ st->print("lr =" INTPTR_FORMAT " ", uc->uc_mcontext.gp_regs[PT_LNK]); ++ st->print("ctr=" INTPTR_FORMAT " ", uc->uc_mcontext.gp_regs[PT_CTR]); st->cr(); + for (int i = 0; i < 32; i++) { + st->print("r%-2d=" INTPTR_FORMAT " ", i, uc->uc_mcontext.gp_regs[i]); @@ -172,7 +184,7 @@ Reason: Musl libc offers a different structure for context_t*, intptr_t *sp = (intptr_t *)os::Linux::ucontext_get_sp(uc); st->print_cr("Top of Stack: (sp=" PTR_FORMAT ")", p2i(sp)); -@@ -618,12 +657,22 @@ +@@ -619,12 +658,22 @@ st->print_cr("Register to memory mapping:"); st->cr(); @@ -181,9 +193,9 @@ Reason: Musl libc offers a different structure for context_t*, st->print("lr ="); print_location(st, (intptr_t)uc->uc_mcontext.regs->link); st->print("ctr ="); print_location(st, (intptr_t)uc->uc_mcontext.regs->ctr); +#else // Musl -+ st->print("pc ="); print_location(st, (intptr_t)uc->uc_mcontext.gp_regs[32]); -+ st->print("lr ="); print_location(st, (intptr_t)uc->uc_mcontext.gp_regs[36]); -+ st->print("ctr ="); print_location(st, (intptr_t)uc->uc_mcontext.gp_regs[35]); ++ st->print("pc ="); print_location(st, (intptr_t)uc->uc_mcontext.gp_regs[PT_NIP]); ++ st->print("lr ="); print_location(st, (intptr_t)uc->uc_mcontext.gp_regs[PT_LNK]); ++ st->print("ctr ="); print_location(st, (intptr_t)uc->uc_mcontext.gp_regs[PT_CTR]); +#endif for (int i = 0; i < 32; i++) { st->print("r%-2d=", i); @@ -197,6 +209,17 @@ Reason: Musl libc offers a different structure for context_t*, } --- old/src/hotspot/os_cpu/linux_ppc/thread_linux_ppc.cpp +++ new/src/hotspot/os_cpu/linux_ppc/thread_linux_ppc.cpp +@@ -27,6 +27,10 @@ + #include "runtime/frame.inline.hpp" + #include "runtime/thread.hpp" + ++#if ! (defined(__GLIBC__) || defined(__UCLIBC__)) ++#include <asm/ptrace.h> ++#endif ++ + frame JavaThread::pd_last_frame() { + assert(has_last_Java_frame(), "must have last_Java_sp() when suspended"); + @@ -56,8 +56,13 @@ // if we were running Java code when SIGPROF came in. if (isInJava) { @@ -206,7 +229,7 @@ Reason: Musl libc offers a different structure for context_t*, (address)uc->uc_mcontext.regs->nip); +#else // Musl + frame ret_frame((intptr_t*)uc->uc_mcontext.gp_regs[1/*REG_SP*/], -+ (address)uc->uc_mcontext.gp_regs[32]); ++ (address)uc->uc_mcontext.gp_regs[PT_NIP]); +#endif if (ret_frame.pc() == NULL) { @@ -223,4 +246,3 @@ Reason: Musl libc offers a different structure for context_t*, uint64_t istate_bcp = istate->bcp; uint64_t code_start = (uint64_t)(m->code_base()); uint64_t code_end = (uint64_t)(m->code_base() + m->code_size()); - diff --git a/dev-java/openjdk/files/patches/8/0000_README b/dev-java/openjdk/files/patches/8/0000_README new file mode 100644 index 0000000..9ebcbd9 --- /dev/null +++ b/dev-java/openjdk/files/patches/8/0000_README @@ -0,0 +1,16 @@ +README +-------------------------------------------------------------------------- +This patchset is to be the series of patches for OpenJDK. + +It is designed for cross-compatibility, fixes and stability, with performance +and additional features support being included also. + + +Patchset Numbering Scheme +-------------------------------------------------------------------------- + +0000 README + +0001 General fixes + +1001 Musl specific fixes diff --git a/dev-java/openjdk/files/musl/8/0009_fix_jdk_ipv6_init.patch b/dev-java/openjdk/files/patches/8/0001_fix-jdk-ipv6-init.patch similarity index 100% rename from dev-java/openjdk/files/musl/8/0009_fix_jdk_ipv6_init.patch rename to dev-java/openjdk/files/patches/8/0001_fix-jdk-ipv6-init.patch diff --git a/dev-java/openjdk/files/musl/8/0010_fix_jdk_close_fds.patch b/dev-java/openjdk/files/patches/8/0002_fix-jdk-close-fds.patch similarity index 100% rename from dev-java/openjdk/files/musl/8/0010_fix_jdk_close_fds.patch rename to dev-java/openjdk/files/patches/8/0002_fix-jdk-close-fds.patch diff --git a/dev-java/openjdk/files/patches/8/0003_jdk-disable-vfork.patch b/dev-java/openjdk/files/patches/8/0003_jdk-disable-vfork.patch new file mode 100644 index 0000000..3cd3e5c --- /dev/null +++ b/dev-java/openjdk/files/patches/8/0003_jdk-disable-vfork.patch @@ -0,0 +1,27 @@ +--- openjdk.orig/jdk/src/solaris/native/java/lang/UNIXProcess_md.c ++++ openjdk/jdk/src/solaris/native/java/lang/UNIXProcess_md.c +@@ -552,7 +552,11 @@ + startChild(JNIEnv *env, jobject process, ChildStuff *c, const char *helperpath) { + switch (c->mode) { + case MODE_VFORK: ++// use regular fork when running on musl ++// this should fix deadlocks on aarch64 ++#if defined(__GLIBC__) || defined(__UCLIBC__) + return vforkChild(c); ++#endif + case MODE_FORK: + return forkChild(c); + #if defined(__solaris__) || defined(_ALLBSD_SOURCE) || defined(_AIX) +@@ -651,8 +655,12 @@ + if (resultPid < 0) { + switch (c->mode) { + case MODE_VFORK: ++// use regular fork when running on musl ++// this should fix deadlocks on aarch64 ++#if defined(__GLIBC__) || defined(__UCLIBC__) + throwIOException(env, errno, "vfork failed"); + break; ++#endif + case MODE_FORK: + throwIOException(env, errno, "fork failed"); + break; diff --git a/dev-java/openjdk/files/patches/8/0004_hotspot-insantiate-arrayallocator.patch b/dev-java/openjdk/files/patches/8/0004_hotspot-insantiate-arrayallocator.patch new file mode 100644 index 0000000..ba5283f --- /dev/null +++ b/dev-java/openjdk/files/patches/8/0004_hotspot-insantiate-arrayallocator.patch @@ -0,0 +1,16 @@ +Workarounds build error: +Error: dl failure on line 895 +Error relocating .../libjvm.so: _ZN14ArrayAllocatorImL10MemoryType7EE4freeEv: symbol not found + +Possibly due to g++ 10.x error on not properly instantiating the template. + +--- openjdk/hotspot/src/share/vm/utilities/bitMap.cpp.orig 2020-11-10 14:07:08.372045326 +0200 ++++ openjdk/hotspot/src/share/vm/utilities/bitMap.cpp 2020-11-10 14:08:07.911412813 +0200 +@@ -42,6 +42,7 @@ + # include "os_bsd.inline.hpp" + #endif + ++template class ArrayAllocator<BitMap::bm_word_t, mtInternal>; + + BitMap::BitMap(bm_word_t* map, idx_t size_in_bits) : + _map(map), _size(size_in_bits), _map_allocator(false) diff --git a/dev-java/openjdk/files/patches/8/0005_fix-build-with-as-needed-toolchain.patch b/dev-java/openjdk/files/patches/8/0005_fix-build-with-as-needed-toolchain.patch new file mode 100644 index 0000000..7decd5e --- /dev/null +++ b/dev-java/openjdk/files/patches/8/0005_fix-build-with-as-needed-toolchain.patch @@ -0,0 +1,91 @@ +From 84bcdb9cdab0e0be9cdfededfb518d3cea9009e3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <andre.draszik at jci.com> +Date: Mon, 12 Mar 2018 15:40:58 +0000 +Subject: [PATCH] build: fix build on --as-needed toolchains (generic) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +If the (host) toolchain has been configured to +unconditionally add --as-needed to the linker command line +then linking fails when using the system zlib: + + ...gcc -lz -L<sysroot>/usr/lib -L<sysroot>/lib \ + -Wl,-rpath-link,<sysroot>/usr/lib -Wl,-rpath-link,<sysroot>/lib \ + -Wl,-rpath,<sysroot>/usr/lib -Wl,-rpath,<sysroot>/lib \ + -Wl,-O1 -Xlinker --hash-style=both -Xlinker -z -Xlinker defs -Xlinker -O1 \ + -Xlinker --allow-shlib-undefined -Xlinker -soname=libunpack.so \ + -Xlinker -z -Xlinker origin -Xlinker -rpath -Xlinker '$ORIGIN' \ + -lc \ + -Xlinker -version-script=<src>/jdk/make/mapfiles/libunpack/mapfile-vers-unpack200 \ + -o $build/jdk/objs/unpackexe/unpack200 \ + $build/jdk/objs/unpackexe/bands.o $build/jdk/objs/unpackexe/bytes.o \ + $build/jdk/objs/unpackexe/coding.o $build/jdk/objs/unpackexe/main.o \ + $build/jdk/objs/unpackexe/unpack.o $build/jdk/objs/unpackexe/utils.o \ + $build/jdk/objs/unpackexe/zip.o -lstdc++ + $build/jdk/objs/unpackexe/zip.o: In function `jar::deflate_bytes(bytes&, bytes&)': + $src/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp:464: undefined reference to `deflateInit2_' + $src/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp:507: undefined reference to `deflate' + $src/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp:514: undefined reference to `deflateEnd' + $src/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp:502: undefined reference to `deflate' + $src/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp:518: undefined reference to `deflateEnd' + $build/jdk/objs/unpackexe/zip.o: In function `jar::get_crc32(unsigned int, unsigned char*, unsigned int)': + $src/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp:61: undefined reference to `crc32' + $src/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp:61: undefined reference to `crc32' + $src/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp:61: undefined reference to `crc32' + $build/jdk/objs/unpackexe/zip.o: In function `gunzip::free()': + $src/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp:645: undefined reference to `inflateEnd' + $build/jdk/objs/unpackexe/zip.o: In function `read_input_via_gzip(unpacker*, void*, long, long)': + $src/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp:548: undefined reference to `inflate' + $src/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp:548: undefined reference to `inflate' + $build/jdk/objs/unpackexe/zip.o: In function `gunzip::start(int)': + $src/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp:637: undefined reference to `inflateInit2_' + collect2: error: ld returned 1 exit status + +(as happened on a Ubuntu 16.04 xenial host: + gcc --version + gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609 + Copyright (C) 2015 Free Software Foundation, Inc. + This is free software; see the source for copying conditions. There is NO + warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +) + +The reason is that the order of command line arguments +becomes important with --as-needed and the JDK build system +places -lz at the beginning of the command line where it +would normally place the zlib object files from its own +bundled compiled version. + +Having -lz early in the command line is not useful, as it +is discarded by the linker at that point in time as it +hasn't seen any reference to the symbols provided yet. + +As it seems a generic pattern in the makefiles here, just +place the $EXPECTED_OBJS early in the command line, before +any additional libraries, so as to fix this once and for +all. + +Signed-off-by: André Draszik <andre.draszik at jci.com> +--- +Upstream-Status: Pending + make/common/NativeCompilation.gmk | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/make/common/NativeCompilation.gmk b/make/common/NativeCompilation.gmk +index e7ea22ce..79f081fd 100644 +--- a/make/common/NativeCompilation.gmk ++++ b/make/common/NativeCompilation.gmk +@@ -477,9 +477,8 @@ define SetupNativeCompilation + + $$($1_TARGET) : $$($1_EXPECTED_OBJS) $$($1_RES) $$($1_GEN_MANIFEST) + $$(call LINKING_EXE_MSG,$$($1_BASENAME)) +- $$($1_LDEXE) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $(EXE_OUT_OPTION)$$($1_TARGET) \ +- $$($1_EXPECTED_OBJS) $$($1_RES) $$($1_LDFLAGS_SUFFIX) \ +- $$($1_EXTRA_LDFLAGS_SUFFIX) ++ $$($1_LDEXE) $$($1_EXPECTED_OBJS) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $(EXE_OUT_OPTION)$$($1_TARGET) \ ++ $$($1_RES) $$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX) + ifneq (,$$($1_GEN_MANIFEST)) + $(MT) -nologo -manifest $$($1_GEN_MANIFEST) -outputresource:$$@;#1 + endif +-- +2.16.2 + diff --git a/dev-java/openjdk/files/musl/8/0005_musl_fix_libjvm_load.patch b/dev-java/openjdk/files/patches/8/0006_fix-libjvm-load.patch similarity index 100% rename from dev-java/openjdk/files/musl/8/0005_musl_fix_libjvm_load.patch rename to dev-java/openjdk/files/patches/8/0006_fix-libjvm-load.patch diff --git a/dev-java/openjdk/files/musl/8/0007_musl_jdk_includes.patch b/dev-java/openjdk/files/patches/8/0007_jdk-includes.patch similarity index 100% rename from dev-java/openjdk/files/musl/8/0007_musl_jdk_includes.patch rename to dev-java/openjdk/files/patches/8/0007_jdk-includes.patch diff --git a/dev-java/openjdk/files/musl/8/0008_musl_jdk_execinfo.patch b/dev-java/openjdk/files/patches/8/0008_jdk-execinfo.patch similarity index 100% rename from dev-java/openjdk/files/musl/8/0008_musl_jdk_execinfo.patch rename to dev-java/openjdk/files/patches/8/0008_jdk-execinfo.patch diff --git a/dev-java/openjdk/files/musl/8/0001_musl_hotspot.patch b/dev-java/openjdk/files/patches/8/1001_hotspot-musl.patch similarity index 100% rename from dev-java/openjdk/files/musl/8/0001_musl_hotspot.patch rename to dev-java/openjdk/files/patches/8/1001_hotspot-musl.patch diff --git a/dev-java/openjdk/files/musl/11/ppc64le.patch b/dev-java/openjdk/files/patches/8/1002_hotspot-ppc-musl.patch similarity index 52% rename from dev-java/openjdk/files/musl/11/ppc64le.patch rename to dev-java/openjdk/files/patches/8/1002_hotspot-ppc-musl.patch index c26755b..dfb3150 100644 --- a/dev-java/openjdk/files/musl/11/ppc64le.patch +++ b/dev-java/openjdk/files/patches/8/1002_hotspot-ppc-musl.patch @@ -1,23 +1,27 @@ +Subject: Fix compilation with different ucontext_t on musl +Upstream: No Author: Simon Frankenberger <simon-alp...@fraho.eu> -Upstream: no -Reason: Musl libc offers a different structure for context_t*, - so we need a patch to access the structure fields correctly. ---- old/src/hotspot/cpu/ppc/macroAssembler_ppc.cpp -+++ new/src/hotspot/cpu/ppc/macroAssembler_ppc.cpp -@@ -1290,7 +1290,11 @@ +The machine state registers have to be accessed differently when +running on musl libc. This patch fix this by replacing +"uc_mcontext.regs->grp" with "uc_mcontext.gp_regs" +and accessing the named fields (like "->nip") by the array index constants. + +--- openjdk.orig/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.cpp ++++ openjdk/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.cpp +@@ -1243,7 +1243,11 @@ // the safepoing polling page. ucontext_t* uc = (ucontext_t*) ucontext; // Set polling address. +#if defined(__GLIBC__) || defined(__UCLIBC__) address addr = (address)uc->uc_mcontext.regs->gpr[ra] + (ssize_t)ds; +#else // Musl -+ address addr = (address)uc->uc_mcontext.gp_regs[ra] + (ssize_t) ds; ++ address addr = (address)uc->uc_mcontext.gp_regs[ra] + (ssize_t)ds; +#endif if (polling_address_ptr != NULL) { *polling_address_ptr = addr; } -@@ -1311,15 +1315,24 @@ +@@ -1264,15 +1268,24 @@ int rb = inv_rb_field(instruction); // look up content of ra and rb in ucontext @@ -42,7 +46,7 @@ Reason: Musl libc offers a different structure for context_t*, return os::is_memory_serialize_page(thread, ra_val+d1); } else { return false; -@@ -1382,11 +1395,20 @@ +@@ -1335,11 +1348,20 @@ || (is_stdu(instruction) && rs == 1)) { int ds = inv_ds_field(instruction); // return banged address @@ -63,104 +67,104 @@ Reason: Musl libc offers a different structure for context_t*, return ra != 1 || rb_val >= 0 ? NULL // not a stack bang : sp + rb_val; // banged address } ---- old/src/hotspot/cpu/ppc/vm_version_ppc.cpp -+++ new/src/hotspot/cpu/ppc/vm_version_ppc.cpp -@@ -893,7 +893,7 @@ - unsigned long auxv = getauxval(AT_HWCAP2); +--- openjdk.orig/hotspot/src/os_cpu/linux_ppc/vm/os_linux_ppc.cpp ++++ openjdk/hotspot/src/os_cpu/linux_ppc/vm/os_linux_ppc.cpp +@@ -75,7 +75,11 @@ + # include <poll.h> + # include <ucontext.h> + ++#if ! (defined(__GLIBC__) || defined(__UCLIBC__)) ++# include <asm/ptrace.h> ++#endif - if (auxv & PPC_FEATURE2_HTM_NOSC) { -- if (auxv & PPC_FEATURE2_HAS_HTM) { -+ if (auxv & PPC_FEATURE2_HTM) { - // TM on POWER8 and POWER9 in compat mode (VM) is supported by the JVM. - // TM on POWER9 DD2.1 NV (baremetal) is not supported by the JVM (TM on - // POWER9 DD2.1 NV has a few issues that need a couple of firmware ---- old/src/hotspot/os_cpu/linux_ppc/os_linux_ppc.cpp -+++ new/src/hotspot/os_cpu/linux_ppc/os_linux_ppc.cpp -@@ -108,24 +108,42 @@ - // - if uc was filled by getcontext(), it is undefined - getcontext() does not fill ++ + address os::current_stack_pointer() { + intptr_t* csp; + +@@ -110,11 +114,19 @@ // it because the volatile registers are not needed to make setcontext() work. // Hopefully it was zero'd out beforehand. -+#if defined(__GLIBC__) || defined(__UCLIBC__) guarantee(uc->uc_mcontext.regs != NULL, "only use ucontext_get_pc in sigaction context"); ++#if defined(__GLIBC__) || defined(__UCLIBC__) return (address)uc->uc_mcontext.regs->nip; +#else // Musl -+ guarantee(uc->uc_mcontext.gp_regs != NULL, "only use ucontext_get_pc in sigaction context"); -+ return (address)uc->uc_mcontext.gp_regs[32]; ++ return (address)uc->uc_mcontext.gp_regs[PT_NIP]; +#endif } - // modify PC in ucontext. - // Note: Only use this for an ucontext handed down to a signal handler. See comment - // in ucontext_get_pc. - void os::Linux::ucontext_set_pc(ucontext_t * uc, address pc) { + intptr_t* os::Linux::ucontext_get_sp(ucontext_t * uc) { +#if defined(__GLIBC__) || defined(__UCLIBC__) - guarantee(uc->uc_mcontext.regs != NULL, "only use ucontext_set_pc in sigaction context"); - uc->uc_mcontext.regs->nip = (unsigned long)pc; + return (intptr_t*)uc->uc_mcontext.regs->gpr[1/*REG_SP*/]; +#else // Musl -+ guarantee(uc->uc_mcontext.gp_regs != NULL, "only use ucontext_set_pc in sigaction context"); -+ uc->uc_mcontext.gp_regs[32] = (unsigned long)pc; ++ return (intptr_t*)uc->uc_mcontext.gp_regs[1/*REG_SP*/]; +#endif } - static address ucontext_get_lr(const ucontext_t * uc) { + intptr_t* os::Linux::ucontext_get_fp(ucontext_t * uc) { +@@ -213,7 +225,11 @@ + if (uc) { + address const pc = os::Linux::ucontext_get_pc(uc); + if (pc && StubRoutines::is_safefetch_fault(pc)) { +#if defined(__GLIBC__) || defined(__UCLIBC__) - return (address)uc->uc_mcontext.regs->link; + uc->uc_mcontext.regs->nip = (unsigned long)StubRoutines::continuation_for_safefetch_fault(pc); +#else // Musl -+ return (address)uc->uc_mcontext.gp_regs[36]; ++ uc->uc_mcontext.gp_regs[PT_NIP] = (unsigned long)StubRoutines::continuation_for_safefetch_fault(pc); +#endif - } - - intptr_t* os::Linux::ucontext_get_sp(const ucontext_t * uc) { + return true; + } + } +@@ -364,7 +380,11 @@ + // continue at the next instruction after the faulting read. Returning + // garbage from this read is ok. + thread->set_pending_unsafe_access_error(); +#if defined(__GLIBC__) || defined(__UCLIBC__) - return (intptr_t*)uc->uc_mcontext.regs->gpr[1/*REG_SP*/]; + uc->uc_mcontext.regs->nip = ((unsigned long)pc) + 4; +#else // Musl -+ return (intptr_t*)uc->uc_mcontext.gp_regs[1/*REG_SP*/]; ++ uc->uc_mcontext.gp_regs[PT_NIP] = ((unsigned long)pc) + 4; +#endif - } - - intptr_t* os::Linux::ucontext_get_fp(const ucontext_t * uc) { -@@ -133,7 +151,11 @@ - } - - static unsigned long ucontext_get_trap(const ucontext_t * uc) { + return true; + } + } +@@ -383,7 +403,11 @@ + // continue at the next instruction after the faulting read. Returning + // garbage from this read is ok. + thread->set_pending_unsafe_access_error(); +#if defined(__GLIBC__) || defined(__UCLIBC__) - return uc->uc_mcontext.regs->trap; + uc->uc_mcontext.regs->nip = ((unsigned long)pc) + 4; +#else // Musl -+ return uc->uc_mcontext.gp_regs[40]; ++ uc->uc_mcontext.gp_regs[PT_NIP] = ((unsigned long)pc) + 4; +#endif - } - - ExtendedPC os::fetch_frame_from_context(const void* ucVoid, -@@ -259,7 +281,13 @@ - // 3.2.1 "Machine State Register"), however note that ISA notation for bit - // numbering is MSB 0, so for normal bit numbering (LSB 0) they come to be - // bits 33 and 34. It's not related to endianness, just a notation matter. + return true; + } + } +@@ -406,7 +430,11 @@ + if (stub != NULL) { + // Save all thread context in case we need to restore it. + if (thread != NULL) thread->set_saved_exception_pc(pc); +#if defined(__GLIBC__) || defined(__UCLIBC__) - if (second_uc->uc_mcontext.regs->msr & 0x600000000) { -+#else // Musl -+ // why 33? -+ // see comment for glibc NGREG: "r0-r31, nip, msr, lr, etc." -+ if (second_uc->uc_mcontext.gp_regs[33] & 0x600000000) { -+#endif - if (TraceTraps) { - tty->print_cr("caught signal in transaction, " - "ignoring to jump to abort handler"); -@@ -586,6 +614,7 @@ - const ucontext_t* uc = (const ucontext_t*)context; + uc->uc_mcontext.regs->nip = (unsigned long)stub; ++#else ++ uc->uc_mcontext.gp_regs[PT_NIP] = (unsigned long)stub; ++#endif + return true; + } + +@@ -564,6 +592,7 @@ + ucontext_t* uc = (ucontext_t*)context; st->print_cr("Registers:"); +#if defined(__GLIBC__) || defined(__UCLIBC__) st->print("pc =" INTPTR_FORMAT " ", uc->uc_mcontext.regs->nip); st->print("lr =" INTPTR_FORMAT " ", uc->uc_mcontext.regs->link); st->print("ctr=" INTPTR_FORMAT " ", uc->uc_mcontext.regs->ctr); -@@ -594,8 +623,18 @@ +@@ -572,8 +601,18 @@ st->print("r%-2d=" INTPTR_FORMAT " ", i, uc->uc_mcontext.regs->gpr[i]); if (i % 3 == 2) st->cr(); } +#else // Musl -+ st->print("pc =" INTPTR_FORMAT " ", uc->uc_mcontext.gp_regs[32]); -+ st->print("lr =" INTPTR_FORMAT " ", uc->uc_mcontext.gp_regs[36]); -+ st->print("ctr=" INTPTR_FORMAT " ", uc->uc_mcontext.gp_regs[35]); ++ st->print("pc =" INTPTR_FORMAT " ", uc->uc_mcontext.gp_regs[PT_NIP]); ++ st->print("lr =" INTPTR_FORMAT " ", uc->uc_mcontext.gp_regs[PT_LNK]); ++ st->print("ctr=" INTPTR_FORMAT " ", uc->uc_mcontext.gp_regs[PT_CTR]); st->cr(); + for (int i = 0; i < 32; i++) { + st->print("r%-2d=" INTPTR_FORMAT " ", i, uc->uc_mcontext.gp_regs[i]); @@ -172,19 +176,8 @@ Reason: Musl libc offers a different structure for context_t*, intptr_t *sp = (intptr_t *)os::Linux::ucontext_get_sp(uc); st->print_cr("Top of Stack: (sp=" PTR_FORMAT ")", p2i(sp)); -@@ -618,12 +657,22 @@ - st->print_cr("Register to memory mapping:"); - st->cr(); - -+#if defined(__GLIBC__) || defined(__UCLIBC__) - st->print("pc ="); print_location(st, (intptr_t)uc->uc_mcontext.regs->nip); - st->print("lr ="); print_location(st, (intptr_t)uc->uc_mcontext.regs->link); - st->print("ctr ="); print_location(st, (intptr_t)uc->uc_mcontext.regs->ctr); -+#else // Musl -+ st->print("pc ="); print_location(st, (intptr_t)uc->uc_mcontext.gp_regs[32]); -+ st->print("lr ="); print_location(st, (intptr_t)uc->uc_mcontext.gp_regs[36]); -+ st->print("ctr ="); print_location(st, (intptr_t)uc->uc_mcontext.gp_regs[35]); -+#endif +@@ -600,7 +639,11 @@ + // this is only for the "general purpose" registers for (int i = 0; i < 32; i++) { st->print("r%-2d=", i); +#if defined(__GLIBC__) || defined(__UCLIBC__) @@ -195,9 +188,20 @@ Reason: Musl libc offers a different structure for context_t*, } st->cr(); } ---- old/src/hotspot/os_cpu/linux_ppc/thread_linux_ppc.cpp -+++ new/src/hotspot/os_cpu/linux_ppc/thread_linux_ppc.cpp -@@ -56,8 +56,13 @@ +--- openjdk.orig/hotspot/src/os_cpu/linux_ppc/vm/thread_linux_ppc.cpp ++++ openjdk/hotspot/src/os_cpu/linux_ppc/vm/thread_linux_ppc.cpp +@@ -27,6 +27,10 @@ + #include "runtime/frame.inline.hpp" + #include "runtime/thread.hpp" + ++#if ! (defined(__GLIBC__) || defined(__UCLIBC__)) ++#include <asm/ptrace.h> ++#endif ++ + bool JavaThread::pd_get_top_frame_for_profiling(frame* fr_addr, void* ucontext, bool isInJava) { + assert(this->is_Java_thread(), "must be JavaThread"); + +@@ -42,8 +46,13 @@ // if we were running Java code when SIGPROF came in. if (isInJava) { ucontext_t* uc = (ucontext_t*) ucontext; @@ -206,21 +210,20 @@ Reason: Musl libc offers a different structure for context_t*, (address)uc->uc_mcontext.regs->nip); +#else // Musl + frame ret_frame((intptr_t*)uc->uc_mcontext.gp_regs[1/*REG_SP*/], -+ (address)uc->uc_mcontext.gp_regs[32]); ++ (address)uc->uc_mcontext.gp_regs[PT_NIP]); +#endif if (ret_frame.pc() == NULL) { // ucontext wasn't useful -@@ -70,7 +75,11 @@ - if (m == NULL || !m->is_valid_method()) return false; - if (!Metaspace::contains((const void*)m->constMethod())) return false; - +@@ -55,7 +64,11 @@ + if (!((Method*)(istate->method))->is_metaspace_object()) { + return false; + } +#if defined(__GLIBC__) || defined(__UCLIBC__) - uint64_t reg_bcp = uc->uc_mcontext.regs->gpr[14/*R14_bcp*/]; + uint64_t reg_bcp = uc->uc_mcontext.regs->gpr[14/*R14_bcp*/]; +#else // Musl -+ uint64_t reg_bcp = uc->uc_mcontext.gp_regs[14/*R14_bcp*/]; ++ uint64_t reg_bcp = uc->uc_mcontext.gp_regs[14/*R14_bcp*/]; +#endif - uint64_t istate_bcp = istate->bcp; - uint64_t code_start = (uint64_t)(m->code_base()); - uint64_t code_end = (uint64_t)(m->code_base() + m->code_size()); - + uint64_t istate_bcp = istate->bcp; + uint64_t code_start = (uint64_t)(((Method*)(istate->method))->code_base()); + uint64_t code_end = (uint64_t)(((Method*)istate->method)->code_base() + ((Method*)istate->method)->code_size()); diff --git a/dev-java/openjdk/files/musl/8/0003_musl_hotspot_aarch64.patch b/dev-java/openjdk/files/patches/8/1003_hotspot-aarch64-musl.patch similarity index 100% rename from dev-java/openjdk/files/musl/8/0003_musl_hotspot_aarch64.patch rename to dev-java/openjdk/files/patches/8/1003_hotspot-aarch64-musl.patch diff --git a/dev-java/openjdk/files/musl/8/0004_musl_hotspot_noagent.patch b/dev-java/openjdk/files/patches/8/1004_hotspot-noagent-musl.patch similarity index 100% rename from dev-java/openjdk/files/musl/8/0004_musl_hotspot_noagent.patch rename to dev-java/openjdk/files/patches/8/1004_hotspot-noagent-musl.patch diff --git a/dev-java/openjdk/files/musl/8/0006_musl_jdk.patch b/dev-java/openjdk/files/patches/8/1006_jdk-musl.patch similarity index 100% rename from dev-java/openjdk/files/musl/8/0006_musl_jdk.patch rename to dev-java/openjdk/files/patches/8/1006_jdk-musl.patch diff --git a/dev-java/openjdk/openjdk-11.0.9_p11.ebuild b/dev-java/openjdk/openjdk-11.0.10_p9.ebuild similarity index 93% rename from dev-java/openjdk/openjdk-11.0.9_p11.ebuild rename to dev-java/openjdk/openjdk-11.0.10_p9.ebuild index af0cd66..fb91502 100644 --- a/dev-java/openjdk/openjdk-11.0.9_p11.ebuild +++ b/dev-java/openjdk/openjdk-11.0.10_p9.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -132,19 +132,15 @@ pkg_setup() { src_prepare() { default - # conditionally apply patches for musl compatibility - if use elibc_musl; then - eapply "${FILESDIR}/musl/${SLOT}/build.patch" - eapply "${FILESDIR}/musl/${SLOT}/fix-bootjdk-check.patch" - eapply "${FILESDIR}/musl/${SLOT}/ppc64le.patch" - eapply "${FILESDIR}/musl/${SLOT}/aarch64.patch" - fi + eapply "${FILESDIR}/patches/${SLOT}/0001_fix-bootjdk-check.patch" + + if use elibc_musl ; then + eapply "${FILESDIR}/patches/${SLOT}/1001_build.patch" + eapply "${FILESDIR}/patches/${SLOT}/1002_aarch64.patch" + eapply "${FILESDIR}/patches/${SLOT}/1003_ppc64le.patch" - # conditionally remove not compilable module (hotspot jdk.hotspot.agent) - # this needs libthread_db which is only provided by glibc - # - # haven't found any way to disable this module so just remove it. - if use elibc_musl; then + # this needs libthread_db which is only provided by glibc + # haven't found any way to disable this module so just remove it. rm -rf "${S}"/src/jdk.hotspot.agent || die "failed to remove HotSpot agent" fi @@ -185,6 +181,7 @@ src_configure() { --with-zlib=system --enable-dtrace=$(usex systemtap yes no) --enable-headless-only=$(usex headless-awt yes no) + $(tc-is-clang && echo "--with-toolchain-type=clang") ) if use javafx; then diff --git a/dev-java/openjdk/openjdk-8.272_p10.ebuild b/dev-java/openjdk/openjdk-8.282_p08.ebuild similarity index 86% rename from dev-java/openjdk/openjdk-8.272_p10.ebuild rename to dev-java/openjdk/openjdk-8.282_p08.ebuild index 28b42be..eb6095f 100644 --- a/dev-java/openjdk/openjdk-8.272_p10.ebuild +++ b/dev-java/openjdk/openjdk-8.282_p08.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -43,7 +43,7 @@ SRC_URI=" LICENSE="GPL-2" SLOT="$(ver_cut 1)" -KEYWORDS="amd64 ~arm64 ppc64 x86" +KEYWORDS="amd64 arm64 ppc64 x86" IUSE="alsa debug cups doc examples headless-awt javafx +jbootstrap +pch selinux source" COMMON_DEPEND=" @@ -139,22 +139,28 @@ src_prepare() { sed -i '/^WARNINGS_ARE_ERRORS/ s/-Werror/-Wno-error/' \ hotspot/make/linux/makefiles/gcc.make || die + # todo: patches + eapply "${FILESDIR}/patches/${SLOT}/0001_fix-jdk-ipv6-init.patch" + eapply "${FILESDIR}/patches/${SLOT}/0002_fix-jdk-close-fds.patch" + eapply "${FILESDIR}/patches/${SLOT}/0003_jdk-disable-vfork.patch" + eapply "${FILESDIR}/patches/${SLOT}/0004_hotspot-insantiate-arrayallocator.patch" + eapply "${FILESDIR}/patches/${SLOT}/0005_fix-build-with-as-needed-toolchain.patch" + eapply "${FILESDIR}/patches/${SLOT}/0006_fix-libjvm-load.patch" + eapply "${FILESDIR}/patches/${SLOT}/0007_jdk-includes.patch" + eapply "${FILESDIR}/patches/${SLOT}/0008_jdk-execinfo.patch" + # conditionally apply patches for musl compatibility if use elibc_musl; then - eapply "${FILESDIR}/musl/${SLOT}/0001_musl_hotspot.patch" - eapply "${FILESDIR}/musl/${SLOT}/0002_musl_hotspot_ppc.patch" - eapply "${FILESDIR}/musl/${SLOT}/0004_musl_hotspot_noagent.patch" - eapply "${FILESDIR}/musl/${SLOT}/0005_musl_fix_libjvm_load.patch" - eapply "${FILESDIR}/musl/${SLOT}/0006_musl_jdk.patch" - eapply "${FILESDIR}/musl/${SLOT}/0007_musl_jdk_includes.patch" - eapply "${FILESDIR}/musl/${SLOT}/0008_musl_jdk_execinfo.patch" - eapply "${FILESDIR}/musl/${SLOT}/0009_fix_jdk_ipv6_init.patch" - eapply "${FILESDIR}/musl/${SLOT}/0010_fix_jdk_close_fds.patch" - fi + eapply "${FILESDIR}/patches/${SLOT}/1001_hotspot-musl.patch" + eapply "${FILESDIR}/patches/${SLOT}/1002_hotspot-ppc-musl.patch" + + # apply this patch here as the sources are not available unless ARCH == arm64 + if use arm64; then + eapply "${FILESDIR}/patches/${SLOT}/1003_hotspot-aarch64-musl.patch" + fi - # apply this patch here as the sources are not available unless ARCH == arm64 - if use elibc_musl && use arm64; then - eapply "${FILESDIR}/patches/${PN}-${SLOT}/0003_musl_hotspot_aarch64.patch" + eapply "${FILESDIR}/patches/${SLOT}/1004_hotspot-noagent-musl.patch" + eapply "${FILESDIR}/patches/${SLOT}/1006_jdk-musl.patch" fi chmod +x configure || die @@ -193,6 +199,7 @@ src_configure() { --with-zlib=system --with-native-debug-symbols=$(usex debug internal none) $(usex headless-awt --disable-headful '') + $(tc-is-clang && echo "--with-toolchain-type=clang") ) # PaX breaks pch, bug #601016