* [gentoo-commits] proj/musl:master commit in: dev-java/openjdk/, dev-java/openjdk/files/patches/11/, ...
@ 2021-03-13 16:16 Anthony G. Basile
0 siblings, 0 replies; only message in thread
From: Anthony G. Basile @ 2021-03-13 16:16 UTC (permalink / raw
To: gentoo-commits
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-alpine@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-alpine@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-alpine@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-alpine@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-alpine@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
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2021-03-13 16:16 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-03-13 16:16 [gentoo-commits] proj/musl:master commit in: dev-java/openjdk/, dev-java/openjdk/files/patches/11/, Anthony G. Basile
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox