Compare commits

...

388 Commits
2074 ... 765

Author SHA1 Message Date
Vitaly Provodin
f142c762d7 updated JTreg exclude list
(cherry picked from commit a57ed60b88)
2020-07-14 10:08:47 +07:00
Anton Tarasov
85fe29ff2d [followup] 8238676: jni crashes on accessing it from process exit hook
(cherry picked from commit a41a59a57b)
2020-07-13 14:52:37 +03:00
Anton Tarasov
732c517646 8238676: jni crashes on accessing it from process exit hook
(cherry picked from commit 9c8cffee50)
2020-07-13 14:52:20 +03:00
Anton Tarasov
b4654a3c03 JBR-2377 Native crash IU-202.3855 macOS
(cherry picked from commit 0917d89523)
2020-07-13 14:52:03 +03:00
Anton Tarasov
08ee31c2ef JBR-2489 Git branch operations (switch to another branch, rebase) sometimes crash WebStorm 202.5428.27
(cherry picked from commit 78bd1bbeae)
2020-07-13 14:51:39 +03:00
Anton Tarasov
8ca7c9e74b [followup] JBR-2489 Git branch operations (switch to another branch, rebase) sometimes crash WebStorm 202.5428.27
(cherry picked from commit ff2936c6fb)
2020-07-13 14:51:17 +03:00
Anton Tarasov
05e22d4de1 JBR-2489 Git branch operations (switch to another branch, rebase) sometimes crash WebStorm 202.5428.27
(cherry picked from commit 81d2156fb1)
2020-07-13 14:45:41 +03:00
Elena Sayapina
186f309205 JBR-2524 [backport to 201] JBR-2475 Latency when accepting auto-completion
Revert "8223158: Docked MacBook cannot start any Java Swing applications Reviewed-by: prr, serb"

This reverts commit 7c870c0c from 11.0.7 merge
2020-06-22 18:24:27 +07:00
Vitaly Provodin
54fc6d844a JBR-2520 update patch files 2020-06-22 12:42:56 +07:00
Vitaly Provodin
7c2867d8b7 JBR-2520 fix Building scripts to fail after errors in git apply 2020-06-22 12:40:29 +07:00
Vitaly Provodin
8ff658704a JBR-2217 provide JCEF-only (no JavaFX) bundle for master/202 branches
modify checkout targets, repair TC remote runs

(cherry picked from commit 9d568c7811)
2020-06-22 12:23:42 +07:00
Denis Konoplev
38e2e4fb4a JBR-2487 [backport to 201] JBR-2444 Keyboard stops working in IntelliJ on Ubuntu 20.04, Gnome 3.36 with IBus enabled
JBR-2444: Turn on IM workaround by default

(cherry picked from commit 15c4ce1d3e)
2020-06-11 20:38:19 +07:00
Alexey Ushakov
8a63d5dec0 JBR-2463 Font rendering problem on macOS Mojave
Use adjusted advances for glyphs

(cherry picked from commit 1af5dd4aae)
2020-06-11 14:07:57 +07:00
Alexey Ushakov
3839708a2c JBR-2419 Improve performance of CStrike.getNativeGlyphOutlineBounds
Fixed handling of null bounding box

(cherry picked from commit c0fd2daf5c)
2020-06-10 16:20:39 +07:00
Alexey Ushakov
24905a2e16 JBR-2417 Fonts with names started with dot does not work in IDEA launched from run configuration
Reverting our approach (commit 12a9361f) and replacing it with backport of OpenJDK fix JDK-8244621

(cherry picked from commit 2d164c9914)
2020-06-10 16:20:36 +07:00
Alexey Ushakov
c5965a928b JBR-2419 Improve performance of CStrike.getNativeGlyphOutlineBounds
Do not pass the result via java object. Use more straight api.

(cherry picked from commit 9f91fe91f5)
2020-06-10 16:20:33 +07:00
Alexey Ushakov
e09e96dd70 JBR-2417 Fonts with names started with dot does not work in IDEA launched from run configuration
Used cocoa api to create some .SFNS fonts

(cherry picked from commit 12a9361f7c)
2020-06-10 16:20:31 +07:00
Vyacheslav Moklev
7603bc46a6 JBR-2442 fix memory leak of fileBuffer
fix was suggested by Nikita Gubarkov

(cherry picked from commit 2dea81a904)
2020-06-03 14:56:01 +07:00
Vitaly Provodin
55132e47cd JBR-2291 add vendor info into bundles 2020-05-12 11:50:01 +07:00
Vitaly Provodin
088a6cb70b JBR-2291 add vendor info into bundles 2020-05-12 07:27:33 +07:00
Alexey Ushakov
a335b47f1d JBR-2213 Clicking on pipette crashes IDE
Provide pixel buffer with right size for screen grabbing operation

(cherry picked from commit 900ae19a31)
2020-05-12 07:06:05 +07:00
Alexey Ushakov
fef7472346 JBR-2213 Clicking on pipette crashes IDE
Move CGWindowListCreateImage call to AppKit thread

(cherry picked from commit 72f742d99b)
2020-05-12 07:06:00 +07:00
Vitaly Provodin
62d75154d2 updated JTreg exclude list 2020-05-11 07:30:12 +07:00
Vitaly Provodin
3f56c3dfaf JBR-2291 remove dubbled lines in release file 2020-05-10 18:29:26 +07:00
Vitaly Provodin
64f732a5f9 updated JTreg exclude list 2020-05-09 06:27:37 +07:00
Elena Sayapina
c590f453bc JBR-2340 Frequent IDEA 2020.2 crashes on macOS
Revert "8214578: [macos] Problem with backslashes on macOS/JIS keyboard: Java ignores system settings"
This reverts commit ecc31f2ca7.

Revert "8234786: Fix for JDK-8214578 breaks OS X 10.12 compatibility"
This reverts commit 41b4a291.

(cherry picked from commit 08f9ba66f9)
2020-05-08 17:55:50 +07:00
Denis Konoplev
91debdfa98 JBR-2347: Free memory on other exceptions, rethrow ThreadDead & log it
(cherry picked from commit 16ca839ed3)
2020-05-08 17:28:11 +07:00
Denis Konoplev
1ac50c9a16 JBR-2347: Don't free memory when thread is dead
(cherry picked from commit afb3303db5)
2020-05-08 17:28:11 +07:00
andrew
f67ae89798 Added tag jdk-11.0.7-ga for changeset 44ce940b344b 2020-05-08 17:16:39 +07:00
ihse
d7c479581c 8237879: make 4.3 breaks build Reviewed-by: erikj, tbell 2020-05-08 17:16:39 +07:00
mbalao
d7b151e480 8226346: Build better binary builders Reviewed-by: andrew 2020-05-08 17:16:39 +07:00
andrew
dcc6d0920d 8220613: java/util/Arrays/TimSortStackSize2.java times out with fastdebug build Reviewed-by: mbalao 2020-05-08 17:16:39 +07:00
andrew
a194930629 8233383: Various minor fixes Reviewed-by: mbalao 2020-05-08 17:16:39 +07:00
simonis
8e2e8000ac 8223678: Add Visual Studio Code workspace generation support (for native code) Reviewed-by: andrew, sgehwolf, clanger 2020-05-08 17:16:39 +07:00
clanger
5a8e62dec1 8189861: Refactor CacheFind Reviewed-by: sgehwolf 2020-05-08 17:16:38 +07:00
rschmelter
3d61de94d0 8222264: Windows incremental build is broken with JDK-8217728 Reviewed-by: erikj, clanger 2020-05-08 17:16:38 +07:00
erikj
9dfa53f30d 8217728: Speed up incremental rerun of "make hotspot" Reviewed-by: tbell 2020-05-08 17:16:38 +07:00
simonis
161418ac6c 8210459: Add support for generating compile_commands.json Reviewed-by: andrew 2020-05-08 17:16:38 +07:00
erikj
9f1a881ceb 8221851: Use of THIS_FILE in hotspot invalidates precompiled header on Linux/GCC Reviewed-by: tbell, ysuenaga, andrew 2020-05-08 17:16:38 +07:00
simonis
70f7dbdda5 8214534: Setting of THIS_FILE in the build is broken Reviewed-by: erikj, ihse 2020-05-08 17:16:38 +07:00
ysuenaga
b4d3d47d9a 8204551: Event descriptions are truncated in logs Reviewed-by: coleenp, andrew 2020-05-08 17:16:38 +07:00
erikj
4c9eea839c 8160926: FLAGS_COMPILER_CHECK_ARGUMENTS doesn't handle cross-compilation Reviewed-by: ihse, andrew 2020-05-08 17:16:37 +07:00
erikj
89deda593d 8238960: linux-i586 builds are inconsistent as the newly build jdk is not able to reserve enough space for object heap Reviewed-by: ihse, tbell, ahgross, jwilhelm 2020-05-08 17:16:37 +07:00
igerasim
86ac4d18b8 8236201: Better Scanner conversions Reviewed-by: ahgross, rhalade, rriggs, skoivu, smarks, andrew 2020-05-08 17:16:37 +07:00
xuelei
c9db0b54e2 8235691: Enhance TLS connectivity Reviewed-by: jnimeh, rhalade, ahgross 2020-05-08 17:16:37 +07:00
avoitylov
a31ead2fd4 8235274: Enhance typing of methods Reviewed-by: andrew 2020-05-08 17:16:37 +07:00
robm
68862567c3 8234841: Enhance buffering of byte buffers Reviewed-by: alanb, ahgross, rhalade, psandoz 2020-05-08 17:16:37 +07:00
bpb
2ce34b365c 8219597: (bf) Heap buffer state changes could provoke unexpected exceptions Reviewed-by: alanb, rriggs 2020-05-08 17:16:37 +07:00
michaelm
be2b906885 8234825: Better Headings for HTTP Servers Reviewed-by: chegar, dfuchs, igerasim 2020-05-08 17:16:36 +07:00
xuelei
94692cb87d 8234408: Improve TLS session handling Reviewed-by: ascarpino, jjiang, ahgross, ssahoo, mullan, andrew 2020-05-08 17:16:36 +07:00
weijun
94e5fc6d2f 8234027: Better JCEKS key support Reviewed-by: ahgross, mullan, rriggs, rhalade 2020-05-08 17:16:36 +07:00
erikj
e22e879d78 8233410: Better Build Scripting Reviewed-by: tbell, jwilhelm, andrew 2020-05-08 17:16:36 +07:00
alitvinov
1c8842eb1b 8233250: Better X11 rendering Reviewed-by: prr, rhalade, mschoene, serb 2020-05-08 17:16:36 +07:00
jnimeh
1ebda35fe8 8232581: Improve TLS verification Reviewed-by: xuelei, rhalade, mschoene 2020-05-08 17:16:36 +07:00
xuelei
070598e5db 8232424: More constrained algorithms Reviewed-by: jnimeh, rhalade, ahgross 2020-05-08 17:16:36 +07:00
igerasim
073cfc85c6 8231785: Improved socket permissions Reviewed-by: ahgross, chegar, mullan, rhalade 2020-05-08 17:16:36 +07:00
mullan
e4cdc92ed3 8231415: Better signatures in XML Reviewed-by: weijun, mschoene, rhalade 2020-05-08 17:16:35 +07:00
bae
6cf55cf7cb 8229733: TLS message handling improvements Summary: Includes changes to TransportContext from JDK-8211018 Reviewed-by: andrew 2020-05-08 17:16:35 +07:00
amenkov
f9bd7f8014 8227542: Manifest improved jar headers Reviewed-by: sspitsyn, mschoene 2020-05-08 17:16:35 +07:00
robm
773cf954b2 8227467: Better class method invocations Reviewed-by: thartmann, dholmes, ahgross, andrew 2020-05-08 17:16:35 +07:00
bpb
85f24d8d5e 8225603: Enhancement for big integers Reviewed-by: darcy, ahgross, rhalade 2020-05-08 17:16:35 +07:00
smarks
d352014d1e 8224549: Less Blocking Array Queues Reviewed-by: bchristi, rhalade, rriggs, mschoene, robm 2020-05-08 17:16:35 +07:00
bchristi
e654f045b7 8224541: Better mapping of serial ENUMs Reviewed-by: mschoene, rhalade, robm, rriggs, smarks, andrew 2020-05-08 17:16:35 +07:00
hannesw
7b95b9e59d 8223904: Improve Nashorn matching Reviewed-by: jlaskey, sundar, mschoene, rhalade 2020-05-08 17:16:34 +07:00
hannesw
7f9a96ef0a 8223898: Forward references to Nashorn Reviewed-by: sundar, mschoene, rhalade 2020-05-08 17:16:33 +07:00
aph
9d908fb2b3 8241296: Segfault in JNIHandleBlock::oops_do() Reviewed-by: stefank, shade 2020-05-08 17:16:33 +07:00
robm
40f8f4d7f7 8223727: com/sun/jndi/ldap/privconn/RunTest.java failed due to hang in LdapRequest.getReplyBer Reviewed-by: prappo 2020-05-08 17:16:33 +07:00
ccheung
f6bf70bcfa 8235563: [TESTBUG] appcds/CommandLineFlagComboNegative.java does not handle archive mapping failure Summary: Use the assertAbnormalExit method of the CDSTestUtils.Result class to handle archive mapping failure. Reviewed-by: iklam 2020-05-08 17:16:33 +07:00
jjiang
90c21a5b66 8231810: javax/net/ssl/templates/SSLSocketSSLEngineTemplate.java fails intermittently with "java.lang.Exception: Unexpected EOF" Reviewed-by: xuelei 2020-05-08 17:16:32 +07:00
ssahoo
8f266097b8 8234723: javax/net/ssl/TLS tests support TLSv1.3 Summary: Missing TLSv1.3 test cases Reviewed-by: xuelei 2020-05-08 17:16:32 +07:00
jjiang
a1996fca72 8234724: javax/net/ssl/templates/SSLSocketSSLEngineTemplate.java supports TLSv1.3 Reviewed-by: xuelei 2020-05-08 17:16:32 +07:00
dmarkov
d1a9241b3c 8232880: Update test documentation with additional settings for client UI tooltip tests Reviewed-by: aivanov, serb, ihse 2020-05-08 17:16:32 +07:00
mbaesken
fdc2282e75 8240724: [test] jdk11 downport of 8224475 misses binary file test/jdk/javax/swing/JTextPane/arrow.png Reviewed-by: sgehwolf 2020-05-08 17:16:32 +07:00
mdoerr
eca888c264 8239856: [ntintel] asserts about copying unaligned array element Reviewed-by: stuefe, sspitsyn 2020-05-08 17:16:31 +07:00
prr
51fe77d002 8233649: Update ProblemList.txt to exclude failing headful tests on macos Reviewed-by: serb 2020-05-08 17:16:31 +07:00
chagedorn
215f62d238 8238438: SuperWord::co_locate_pack picks memory state of first instead of last load Summary: Fix selection of first and last memory state in SuperWord::co_locate_pack Reviewed-by: thartmann, kvn 2020-05-08 17:16:31 +07:00
lancea
934de0677f 8229888: (zipfs) Updating an existing zip file does not preserve original permissions Reviewed-by: clanger, alanb, bpb 2020-05-08 17:16:31 +07:00
coffeys
c1521034d2 8223260: NamingManager should cache InitialContextFactory Reviewed-by: alanb, plevart, dfuchs 2020-05-08 17:16:31 +07:00
serb
630f5c44bb 8230597: Update GIFlib library to the 5.2.1 Reviewed-by: prr, psadhukhan, jdv 2020-05-08 17:16:30 +07:00
arapte
7216e99137 4949105: Access Bridge lacks html tags parsing Reviewed-by: serb, prr, pbansal 2020-05-08 17:16:30 +07:00
pbansal
ad82e552c1 8224475: JTextPane does not show images in HTML rendering Reviewed-by: serb, psadhukhan 2020-05-08 17:16:30 +07:00
alitvinov
d9629c70b6 8230926: [macosx] Two apostrophes are entered instead of one with "U.S. International - PC" layout Reviewed-by: serb, dmarkov 2020-05-08 17:16:30 +07:00
rhalade
30115410b5 8225130: Add exception for expiring Comodo roots to VerifyCACerts test Reviewed-by: weijun 2020-05-08 17:16:30 +07:00
michaelm
9d2b67241e 8234824: java/nio/channels/SocketChannel/AdaptSocket.java fails on Windows 10 Reviewed-by: alanb 2020-05-08 17:16:30 +07:00
prr
3fe8b82a63 8234769: Duplicate attribution in freetype.md Reviewed-by: psadhukhan 2020-05-08 17:16:30 +07:00
prr
9516e7162f 8227324: Upgrade to freetype 2.10.1 Reviewed-by: serb, jdv 2020-05-08 17:16:29 +07:00
joehw
c1095a0dd6 8233548: Update CUP to v0.11b Reviewed-by: lancea 2020-05-08 17:16:29 +07:00
serb
77f985a792 8232200: [macos 10.15] Windows in fullscreen tests jumps around the screen Reviewed-by: prr 2020-05-08 17:16:29 +07:00
chagedorn
1001527f2b 8229994: assert(false) failed: Bad graph detected in get_early_ctrl_for_expensive Summary: Fixes wrong idom information set in loop peeling when a loop strip mined loop is involved. Reviewed-by: vlivanov, thartmann 2020-05-08 17:16:29 +07:00
stuefe
62e4d24a28 8220786: Create new switch to redirect error reporting output to stdout or stderr Reviewed-by: dholmes, goetz 2020-05-08 17:16:29 +07:00
mbaesken
6112bf4f40 8201349: build broken when configured with --with-zlib=bundled on gcc 7.3 Reviewed-by: clanger, simonis 2020-05-08 17:16:29 +07:00
dfuchs
29ec05c9df 8193596: java/net/DatagramPacket/ReuseBuf.java failed due to timeout Summary: The test is changed to bind to InetAddress.getLocalHost() instead of binding to the wildcard. Reviewed-by: alanb, dfuchs, msheppar Contributed-by: Patrick Concannon <catrick.concannon@oracle.com> 2020-05-08 17:16:29 +07:00
pconcannon
e628fb65ac 8233018: Add a new test to verify that DatagramSocket is not interruptible Summary: Test added to check the interruptability of DatagramSocket, MulticastSocket and DatagramSocketAdaptor. Reviewed-by: chegar, dfuchs 2020-05-08 17:16:28 +07:00
rschuenemann
0ad012e58f 8238534: Deep sign macOS bundles before bundle archive is being created Reviewed-by: erikj, clanger 2020-05-08 17:16:28 +07:00
clanger
5e9e0e54ab 8239466: Loss of precision in counter decay calculation in 11u backport of JDK-8237375 Reviewed-by: mdoerr, simonis 2020-05-08 17:16:28 +07:00
chagedorn
bc72b71e35 8238811: C2: assert(i >= req() || i == 0 || is_Region() || is_Phi()) with -XX:+VerifyGraphEdges Summary: Fix -XX:+VerifyGraphEdges by additionally handling ArrayCopyNodes and UnlockNodes and add some basic flag testing. Reviewed-by: roland, neliasso 2020-05-08 17:16:28 +07:00
rhalade
d9a5b1ddb4 8225128: Add exception for expiring DocuSign root to VerifyCACerts test Reviewed-by: clanger 2020-05-08 17:16:28 +07:00
xuelei
976d34d091 8221270: Duplicated synchronized keywords in SSLSocketImpl Reviewed-by: mullan 2020-05-08 17:16:28 +07:00
chagedorn
865fb8bbe7 8237945: CTW: C2 compilation fails with assert(just_allocated_object(alloc_ctl) == ptr) failed: most recent allo Summary: Removing too strong assertion about array allocation in LibraryCallKit::tightly_coupled_allocation(). Reviewed-by: thartmann, neliasso 2020-05-08 17:16:28 +07:00
rrich
0c5e8da01a 8239005: [TESTBUG] test/hotspot/jtreg/runtime/StackGuardPages/TestStackGuardPages.java: exeinvoke.c: must initialize static state before calling do_overflow() Reviewed-by: dholmes, clanger 2020-05-08 17:16:27 +07:00
igerasim
0edae7fced 8163251: Hard coded loop limit prevents reading of smart card data greater than 8k Reviewed-by: valeriep, rriggs 2020-05-08 17:16:27 +07:00
thartmann
d07b3418c7 8230390: Problemlist SA tests with AOT Summary: Putting tests on the problem list. Reviewed-by: roland 2020-05-08 17:16:27 +07:00
arapte
9e95aa2d96 8226892: ActionListeners on JRadioButtons don't get notified when selection is changed with arrow keys Reviewed-by: serb, psadhukhan 2020-05-08 17:16:27 +07:00
gadams
61d33d91c2 8203364: Some serviceability/sa/ tests intermittently fail with java.io.IOException: LingeredApp terminated with non-zero exit code 3 Reviewed-by: cjplummer, jcbeyler 2020-05-08 17:16:27 +07:00
phh
aaf5ffb58b 8231387: java.security.Provider.getService returns random result due to race condition with mutating methods in the same class Summary: Synchronize access to legacyMap in Provider.getService. Reviewed-by: valeriep Contributed-by: Tianmin Shi <tianshi@amazon.com> 2020-05-08 17:16:27 +07:00
valeriep
fbdffe1862 8228613: java.security.Provider#getServices order is no longer deterministic Summary: Changed to use SunEntries.DEF_SECURE_RANDOM_ALGO instead of relying on ordering of SecureRandom services Reviewed-by: weijun 2020-05-08 17:16:27 +07:00
xuelei
e37712df56 4919790: Errors in alert ssl message does not reflect the actual certificate status Reviewed-by: mullan 2020-05-08 17:16:27 +07:00
rraghavan
4e553964ff 8225567: Wrong file headers with 8202414 fix changeset Summary: Corrected source file headers Reviewed-by: thartmann 2020-05-08 17:16:26 +07:00
mbaesken
d856fc06de 8234525: enable link-time section-gc for linux s390x to remove unused code Reviewed-by: erikj, mdoerr 2020-05-08 17:16:26 +07:00
dtitov
4db8de85d5 8163083: SocketListeningConnector does not allow invocations with port 0 Reviewed-by: sspitsyn, amenkov, gadams, jcbeyler 2020-05-08 17:16:26 +07:00
mdoerr
20bac57181 8237375: SimpleThresholdPolicy misses CounterDecay timestamp initialization Reviewed-by: simonis, dholmes 2020-05-08 17:16:26 +07:00
thartmann
d47920c9b0 8226381: ProblemList java/lang/reflect/PublicMethods/PublicMethodsTest.java Summary: Put test on AOT ProblemList. Reviewed-by: iignatyev 2020-05-08 17:16:26 +07:00
mikael
d2c96c0d5c 8225305: ProblemList java/lang/invoke/VarHandles tests Reviewed-by: kvn, iignatyev, mchung, alanb 2020-05-08 17:16:26 +07:00
xuelei
0eba0fab90 8218889: Improperly use of the Optional API Reviewed-by: jnimeh, wetmore 2020-05-08 17:16:26 +07:00
gadams
16a2fd2113 8169718: nsk/jdb/locals/locals002: ERROR: Cannot find boolVar with expected value: false Reviewed-by: cjplummer, amenkov 2020-05-08 17:16:25 +07:00
mhalder
60689bbb51 8207938: At step6,Click Add button,case failed automatically. Reviewed-by: kaddepalli, psadhukhan 2020-05-08 17:16:25 +07:00
naoto
b64fdaf5d5 8225182: JNI exception pending in DestroyXIMCallback of awt_InputMethod.c:1327 Reviewed-by: serb 2020-05-08 17:16:25 +07:00
chegar
bb4beb24f1 8218662: Allow 204 responses with Content-Length:0 Reviewed-by: michaelm 2020-05-08 17:16:25 +07:00
shade
438ee96f2f 8238591: CTW: Split applications/ctw/modules/jdk_localedata.java Reviewed-by: iignatyev 2020-05-08 17:16:25 +07:00
shade
f8e1fe18c6 8238247: CTW runner should sweep nmethods more aggressively Reviewed-by: adinn, simonis, iignatyev 2020-05-08 17:16:25 +07:00
shade
d52fa1eabb 8238366: CTW runner closes standard output on exit Reviewed-by: adinn, iignatyev 2020-05-08 17:16:25 +07:00
dbuck
879c8bedae 8238596: AVX enabled by default for Skylake even when unsupported Summary: Only default to UseAVX=2 when support is detected Reviewed-by: shade, vlivanov 2020-05-08 17:16:25 +07:00
erikj
e05f9e5387 8213906: Update arm devkits with libXrandr headers Reviewed-by: tbell, prr 2020-05-08 17:16:24 +07:00
mgronlun
f61a582ea9 8230400: Missing constant pool entry for a method in stacktrace Reviewed-by: egahlin 2020-05-08 17:16:24 +07:00
mbaesken
4a9888cc09 8234501: remove obsolete NET_ReadV Reviewed-by: alanb, vtewari 2020-05-08 17:16:24 +07:00
bpb
59bc7c620d 8218882: NET_Writev is declared, NET_WriteV is defined Reviewed-by: alanb, chegar 2020-05-08 17:16:24 +07:00
mbaesken
11f37625f5 8235671: enhance print_rlimit_info in os_posix Reviewed-by: clanger, mdoerr 2020-05-08 17:16:24 +07:00
erikj
d6c9c875bd 8238225: Issues reported after replacing symlink at Contents/MacOS/libjli.dylib with binary Reviewed-by: clanger, alanb, ihse 2020-05-08 17:16:24 +07:00
clanger
90c54f4495 8236488: Support for configure option --with-native-debug-symbols=internal is impossible on Windows Reviewed-by: erikj 2020-05-08 17:16:24 +07:00
zgu
11c2dfc4e2 8216472: (se) Stack overflow during selection operation leads to crash (win) Reviewed-by: alanb Contributed-by: akashche@redhat.com 2020-05-08 17:16:24 +07:00
ceisserer
9a606119f2 8235904: Infinite loop when rendering huge lines Reviewed-by: prr, kizune 2020-05-08 17:16:24 +07:00
redestad
a6778de85e 8237508: Simplify JarFile.isInitializing Reviewed-by: dfuchs, coffeys, lancea 2020-05-08 17:16:23 +07:00
coffeys
f9e6fc3d66 8234466: Class loading deadlock involving X509Factory#commitEvent() Reviewed-by: alanb, chegar, dfuchs 2020-05-08 17:16:23 +07:00
stuefe
3efa3f53b2 8233019: java.lang.Class.isPrimitive() (C1) returns wrong result if Klass* is aligned to 32bit Reviewed-by: mdoerr, dlong, aph 2020-05-08 17:16:23 +07:00
aefimov
17a0c22cb3 8232713: Update BCEL version to 6.3.1 in license file Reviewed-by: joehw 2020-05-08 17:16:22 +07:00
mbalao
05dc650f26 8237600: Test SunJSSEFIPSInit fails on Ubuntu Reviewed-by: shade 2020-05-08 17:16:22 +07:00
iklam
c04557f2aa 8210523: runtime/appcds/cacheObject/DifferentHeapSizes.java crash Reviewed-by: jiangli, ccheung 2020-05-08 17:16:22 +07:00
mbaesken
308870232d 8237819: s390x - remove unused pd_zero_to_words_large Reviewed-by: clanger, mdoerr 2020-05-08 17:16:22 +07:00
mbaesken
e14eb2836b 8236709: struct SwitchRange in HS violates C++ One Definition Rule Reviewed-by: dholmes, kbarrett 2020-05-08 17:16:22 +07:00
roland
3c4c901b9a 8209686: cleanup arguments to PhaseIdealLoop() constructor Reviewed-by: thartmann, kvn, pliden 2020-05-08 17:16:21 +07:00
weijun
7ee4666784 8238502: sunmscapi.dll causing EXCEPTION_ACCESS_VIOLATION Reviewed-by: wetmore, coffeys, mullan 2020-05-08 17:16:21 +07:00
mbaesken
c0de9686b9 8237869: exclude jtreg test security/infra/java/security/cert/CertPathValidator/certification/LuxTrustCA.java because of instabilities Reviewed-by: clanger, mullan 2020-05-08 17:16:21 +07:00
gadams
1dec31c429 8222741: jdi/EventQueue/remove/remove004 fails due to VMDisconnectedException Reviewed-by: cjplummer, jcbeyler 2020-05-08 17:16:21 +07:00
ngasson
f0a18ce98b 8220451: jdi/EventQueue/remove/remove004 failed due to "ERROR: thread2 is not alive" 8220456: jdi/EventQueue/remove_l/remove_l004 failed due to "TIMEOUT while waiting for event" Reviewed-by: sspitsyn, dcubed, gadams 2020-05-08 17:16:21 +07:00
tnakamura
dd8369b612 8234386: [macos] NPE was thrown at expanding Choice from maximized frame Reviewed-by: serb 2020-05-08 17:16:21 +07:00
sviswanathan
6d8c545610 8234610: MaxVectorSize set wrongly when UseAVX=3 is specified after JDK-8221092 Reviewed-by: kvn, vlivanov 2020-05-08 17:16:21 +07:00
roland
5bc5c71eff 8214344: C2: assert(con.basic_type() != T_ILLEGAL) failed: elembt=byte; loadbt=void; unsigned=0 Reviewed-by: kvn, thartmann 2020-05-08 17:16:20 +07:00
hannesw
ddd120fbfb 8200432: javadoc fails with ClassCastException on {@link byte[]} Reviewed-by: jjg, sundar 2020-05-08 17:16:20 +07:00
pchilanomate
d868a0fbc3 8227528: TestAbortVMOnSafepointTimeout.java failed due to "RuntimeException: 'Safepoint sync time longer than' missing from stdout/stderr" Summary: Biased locking was disable for this test. Reviewed-by: dcubed, mdoerr, dholmes 2020-05-08 17:16:20 +07:00
weijun
97b5df7689 8228969: 2019-09-28 public suffix list update Reviewed-by: mullan 2020-05-08 17:16:20 +07:00
ccheung
7cb37192b8 8227646: [TESTBUG] appcds/SharedArchiveConsistency timed out Summary: Remove the FileChannel.force() calls. Reviewed-by: dcubed, iklam 2020-05-08 17:16:20 +07:00
ccheung
ed67f66c5a 8226406: JVM fails to detect mismatched or corrupt CDS archive Summary: Check important archive header fields such as _jvm_ident before processing other fields. Reviewed-by: iklam, jiangli 2020-05-08 17:16:19 +07:00
andrew
4996f58947 8224851: AArch64: fix warnings and errors with Clang and GCC 8.3 Reviewed-by: shade, aph, sgehwolf 2020-05-08 17:16:19 +07:00
valeriep
02182d1c47 7092821: java.security.Provider.getService() is synchronized and became scalability bottleneck Summary: Changed Provider class to use ConcurrentHashMap and default providers to use putService() Reviewed-by: weijun, mullan 2020-05-08 17:16:19 +07:00
iklam
4c8a0ae808 8210289: ArchivedKlassSubGraphInfoRecord is incomplete Reviewed-by: jiangli, ccheung 2020-05-08 17:16:19 +07:00
iklam
7dbd06e4ba 8208658: Make CDS archived heap regions usable even if compressed oop encoding has changed Summary: Relocate and patch archive regions if necessary Reviewed-by: jiangli, tschatzl 2020-05-08 17:16:18 +07:00
hseigel
b5c854ffb9 8203911: Test runtime/modules/getModuleJNI/GetModule fails with -Xcheck:jni Summary: Remove unneeded validate_class() check from checked_jni_GetModule(). Reviewed-by: dholmes, coleenp 2020-05-08 17:16:18 +07:00
rriggs
b278fe33e7 8237368: Problem with NullPointerException in RMI TCPEndpoint.read Reviewed-by: mchung, alanb 2020-05-08 17:16:18 +07:00
mgronlun
6058923cc8 8231081: TestMetadataRetention fails due to missing symbol id Reviewed-by: egahlin 2020-05-08 17:16:18 +07:00
mgronlun
74ed2e9c9b 8231025: Incorrect method tag offset for big endian platform Reviewed-by: egahlin 2020-05-08 17:16:18 +07:00
mgronlun
9b57c44beb 8225797: OldObjectSample event creates unexpected amount of checkpoint data Reviewed-by: egahlin 2020-05-08 17:16:17 +07:00
lancea
6f27ad751c 7143743: Potential memory leak with zip provider Reviewed-by: lancea, clanger, alanb Contributed-by: Jaikiran Pai <jai.forums2013@gmail.com> 2020-05-08 17:16:17 +07:00
sviswanathan
b2c808db6a 8235288: AVX 512 instructions inadvertently used on Xeon for small vector width operations Reviewed-by: kvn, vlivanov 2020-05-08 17:16:17 +07:00
valeriep
4c07f88fc7 8232950: SUNPKCS11 Provider incorrectly check key length for PSS Signatures. Summary: Fixed to treat the queried key size values as bits instead of bytes Reviewed-by: ascarpino, xuelei 2020-05-08 17:16:17 +07:00
mbaesken
b08859f560 8235489: handle return values of sscanf calls in hotspot Reviewed-by: clanger, kbarrett 2020-05-08 17:16:17 +07:00
thartmann
9716056770 8223769: Assert triggers with -XX:+StressReflectiveCode Summary: Fixed too strong assert. Reviewed-by: kvn, thartmann Contributed-by: Christian Hagedorn <christian.hagedorn@oracle.com> 2020-05-08 17:16:16 +07:00
sviswanathan
34358af9c1 8235510: java.util.zip.CRC32 performance drop after 8200067 Summary: backout 8200067 optimization Reviewed-by: kvn 2020-05-08 17:16:16 +07:00
chagedorn
accf8ae9f0 8236140: assert(!VerifyHashTableKeys || _hash_lock == 0) failed: remove node from hash table before modifying it Summary: Add missing rehashing for modified node in InitializeNode::complete_stores(). Reviewed-by: neliasso, thartmann 2020-05-08 17:16:16 +07:00
kbarrett
3244eab597 8189633: Missing -Xcheck:jni checking for DeleteWeakGlobalRef Summary: Added validity check on the handle before deleting it. Reviewed-by: dholmes, dcubed 2020-05-08 17:16:16 +07:00
pbansal
dab82b1969 8235744: PIT: test/jdk/javax/swing/text/html/TestJLabelWithHTMLText.java times out in linux-x64 Reviewed-by: psadhukhan, prr 2020-05-08 17:16:16 +07:00
pbansal
e61b6046b3 8230235: Rendering HTML with empty img attribute and documentBaseKey cause Exception Reviewed-by: serb, aivanov 2020-05-08 17:16:16 +07:00
mli
2e3288b28d 8209824: Improve the code coverage for ThreadLocal Reviewed-by: dholmes, alanb 2020-05-08 17:16:16 +07:00
rriggs
e1fb029109 8224905: java/lang/ProcessBuilder/Basic.java#id1 failed with stream closed Reviewed-by: lancea, bpb, naoto 2020-05-08 17:16:16 +07:00
mchung
14fcbaf64e 8222448: java/lang/reflect/PublicMethods/PublicMethodsTest.java times out Summary: Set empty class path for compilation to avoid unnecessary opening/scanning of JAR files Reviewed-by: alanb, dholmes 2020-05-08 17:16:15 +07:00
sundar
e2496ada55 8216535: tools/jimage/JImageExtractTest.java timed out Reviewed-by: jlaskey 2020-05-08 17:16:15 +07:00
amlu
4b8d7722e3 8230004: jdk/internal/jimage/JImageOpenTest.java runs no test Reviewed-by: alanb 2020-05-08 17:16:15 +07:00
prr
379984d461 8232154: Update Mesa 3-D Headers to version 19.2.1 Reviewed-by: serb, kcr 2020-05-08 17:16:15 +07:00
smonteith
0999409451 8224187: Refactor arraycopy_prologue to allow ZGC read barriers on arraycopy Reviewed-by: eosterlund 2020-05-08 17:16:15 +07:00
dtitov
285755ed90 8236873: Worker has a deadlock bug Reviewed-by: dfuchs, dholmes, sspitsyn 2020-05-08 17:16:15 +07:00
clanger
8e93dab2e5 8236500: Windows ucrt.dll should be looked up in versioned WINSDK subdirectory Reviewed-by: mdoerr 2020-05-08 17:16:15 +07:00
clanger
e155865275 8232370: Refactor some com.sun.jdi tests to enable IDE integration Reviewed-by: amenkov, cjplummer, sspitsyn 2020-05-08 17:16:15 +07:00
jvernee
b74aaef1cd 8232167: Visual Studio install found through --with-tools-dir value is discarded Reviewed-by: erikj, ihse 2020-05-08 17:16:14 +07:00
vagarwal
ccd2bb6419 8237540: Missing files in backport of JDK-8210910 Summary: Add missing graphic files Reviewed-by: clanger 2020-05-08 17:16:14 +07:00
akolarkunnu
1ecf2a8790 8237541: Missing files in backport of JDK-8236528 Summary: Add missing graphic files Reviewed-by: clanger 2020-05-08 17:16:14 +07:00
chagedorn
621cc8aaf7 8233032: assert(in_bb(n)) failed: must be Summary: Find first and last memory state of a load pack without relying on bb indices. Reviewed-by: roland, kvn, thartmann Contributed-by: Roland Westrelin <rwestrel@redhat.com>, Christian Hagedorn <christian.hagedorn@oracle.com> 2020-05-08 17:16:14 +07:00
thartmann
9c6574667e 8233656: assert(d->is_CFG() && n->is_CFG()) failed: must have CFG nodes Summary: Explicitly handle ProjNodes with TOP input. Reviewed-by: kvn, vlivanov 2020-05-08 17:16:14 +07:00
igerasim
f42a3cb2c6 8234423: Modifying ArrayList.subList().subList() resets modCount of subList Reviewed-by: rriggs 2020-05-08 17:16:14 +07:00
serb
fe9e6007f8 8233657: Intermittent NPE in Component.validate() Reviewed-by: prr 2020-05-08 17:16:14 +07:00
coleenp
13cce7525e 8220688: [TESTBUG] runtime/NMT/MallocStressTest.java timed out Summary: reduce number of threads and iterate rather than sleep. Reviewed-by: zgu, dholmes 2020-05-08 17:16:14 +07:00
hseigel
476ef359cf 8214840: runtime/NMT/MallocStressTest.java timed out Summary: Add volatile to declaration of static field shared by multiple threads Reviewed-by: dcubed, dholmes, coleenp 2020-05-08 17:16:14 +07:00
zgu
92213e03a2 8214124: [TESTBUG] Bugs in runtime/NMT/MallocStressTest.java Summary: Fix possible negative size and index that can cause the test to fail Reviewed-by: stuefe, shade 2020-05-08 17:16:13 +07:00
mdoerr
35449b93e1 8230459: Test failed to resume JVMCI CompilerThread Reviewed-by: dholmes, kvn 2020-05-08 17:16:13 +07:00
mbalao
57a24dab75 8005819: Support cross-realm MSSFU Reviewed-by: weijun 2020-05-08 17:16:13 +07:00
jnimeh
db58428f5d 8236039: JSSE Client does not accept status_request extension in CertificateRequest messages for TLS 1.3 Reviewed-by: xuelei, clanger 2020-05-08 17:16:13 +07:00
prr
20e3d61fc4 8227662: freetype seeks to index at the end of the font data Reviewed-by: serb, psadhukhan 2020-05-08 17:16:13 +07:00
mdoerr
5898cdc286 8236179: C1 register allocation error with T_ADDRESS Reviewed-by: rkennke, vlivanov, roland, mdoerr Contributed-by: Aditya Mandaleeka <adityam@microsoft.com> 2020-05-08 17:16:13 +07:00
shade
e599ee9c1d 8237217: Incorrect G1StringDedupEntry type used in StringDedupTable destructor Reviewed-by: kbarrett, zgu 2020-05-08 17:16:13 +07:00
egahlin
95916feed2 8219205: JFR file without license header Reviewed-by: mgronlun 2020-05-08 17:16:13 +07:00
dbuck
cef700b673 8230611: infinite loop in LogOutputList::wait_until_no_readers() Summary: Add copy constructor and copy assignment operator to ensure reader count remains accurate Reviewed-by: kbarrett, dholmes 2020-05-08 17:16:12 +07:00
thartmann
d38b43f339 8233491: Crash in AdapterHandlerLibrary::get_adapter with CDS due to code cache exhaustion Summary: Added null check. Reviewed-by: kvn, iklam 2020-05-08 17:16:12 +07:00
thartmann
ac85b58fc5 8233529: loopTransform.cpp:2984: Error: assert(p_f->Opcode() == Op_IfFalse) failed Summary: Strengthened asserts in locate_pre_from_main() and added a check for is_main_no_pre_loop(). Reviewed-by: kvn, vlivanov 2020-05-08 17:16:12 +07:00
roland
1e5e807d16 8234350: assert(mode == ControlAroundStripMined && (use == sfpt || !use->is_reachable_from_root())) failed: missed a node Reviewed-by: thartmann, mdoerr 2020-05-08 17:16:12 +07:00
xliu
01e388c85f 8235383: C1 compilation fails with -XX:+PrintIRDuringConstruction -XX:+Verbose Summary: Added check for printable bci. Reviewed-by: thartmann 2020-05-08 17:16:12 +07:00
thartmann
765203557d 8234617: C1: Incorrect result of field load due to missing narrowing conversion Summary: Emit an explicit conversion to get the correct field value after the write. Reviewed-by: vlivanov, mdoerr 2020-05-08 17:16:12 +07:00
vlivanov
25f36535fe 8231430: C2: Memory stomp in max_array_length() for T_ILLEGAL type Reviewed-by: kvn, thartmann 2020-05-08 17:16:12 +07:00
mbaesken
53d26a9ee4 8231753: use more Posix functionality in aix os::print_os_info Reviewed-by: clanger, dholmes 2020-05-08 17:16:12 +07:00
mbaesken
35283a3a44 8232060: add some initializations using sigemptyset in os_aix.cpp Reviewed-by: clanger, stuefe 2020-05-08 17:16:12 +07:00
dtitov
d37d087d29 8185005: Improve performance of ThreadMXBean.getThreadInfo(long ids[], int maxDepth) Reviewed-by: sspitsyn, dholmes, dcubed, rehn 2020-05-08 17:16:11 +07:00
redestad
769e9187f0 8232207: Linux os::available_memory re-reads cgroup configuration on every invocation Reviewed-by: bobv, sgehwolf 2020-05-08 17:16:11 +07:00
goetz
1e4bf7e06f 8235998: [c2] Memory leaks during tracing after '8224193: stringStream should not use Resource Area'. Reviewed-by: dholmes, kvn 2020-05-08 17:16:11 +07:00
pliden
7fcb2e16dc 8217717: ZGC: Broken oop map in C1 load barrier stub Reviewed-by: eosterlund, neliasso Contributed-by: erik.osterlund@oracle.com, per.liden@oracle.com 2020-05-08 17:16:11 +07:00
aefimov
8e914eded4 8225430: Replace wildcard address with loopback or local host in tests - part 14 Reviewed-by: dfuchs, chegar, vtewari 2020-05-08 17:16:11 +07:00
sgehwolf
349d4d5bf2 8236848: [JDK 11u] make run-test-tier1 fails after backport of JDK-8232834 Summary: Remove extraneous closing brackets Reviewed-by: neugens, goetz 2020-05-08 17:16:11 +07:00
vjovanovic
affc893505 8232806: Introduce a system property to disable eager lambda initialization Reviewed-by: briangoetz, mr, psandoz, forax 2020-05-08 17:16:11 +07:00
vagarwal
3237d709d2 8216353: Use utility APIs introduced in org/netbeans/jemmy/util/LookAndFeel class in client sanity test cases Reviewed-by: serb 2020-05-08 17:16:10 +07:00
akolarkunnu
8df5cfd173 8211322: Reduce the timeout of tooltip in SwingSet2DemoTest Reviewed-by: serb, shurailine Contributed-by: gauri.patil@oracle.com 2020-05-08 17:16:10 +07:00
mseledtsov
f4444ed2b2 8232224: [TESTBUG] problemlist JFR TestLargeRootSet.java Summary: Problem listed the test Reviewed-by: egahlin, dcubed 2020-05-08 17:16:10 +07:00
mseledtsov
be09a7bacb 8230624: [TESTBUG] Problemlist JFR compiler/TestCodeSweeper.java Summary: Added the test to the problem list Reviewed-by: egahlin 2020-05-08 17:16:10 +07:00
erikj
bbde1ed159 8232834: RunTest sometimes fails to produce valid exitcode.txt Reviewed-by: ihse 2020-05-08 17:16:10 +07:00
dholmes
a4a0a47594 8232571: Add missing SIGINFO signal Reviewed-by: dholmes, rriggs Contributed-by: Benoit Daloze <benoit.daloze@oracle.com> 2020-05-08 17:16:09 +07:00
cjplummer
66035f0482 8227645: Some tests in serviceability/sa run with fixed -Xmx values and risk running out of memory Summary: move tests to seprate directory Reviewed-by: dtitov, jcbeyler, ctornqvi, sspitsyn 2020-05-08 17:16:09 +07:00
sgehwolf
14b615baa1 8217338: [Containers] Improve systemd slice memory limit support Summary: Use hierachical memory limit in addition to memory_limits_in_bytes Reviewed-by: bobv, dholmes 2020-05-08 17:16:09 +07:00
pliden
bad808fc07 8232056: GetOwnedMonitorInfoWithEATest.java fails with ZGC: Heap too small Reviewed-by: dholmes, rrich 2020-05-08 17:16:09 +07:00
rrich
a8878d9169 8230677: Should disable Escape Analysis if JVMTI capability can_get_owned_monitor_info was taken Reviewed-by: sspitsyn, dholmes, kvn 2020-05-08 17:16:09 +07:00
aefimov
241ff65a8d 8223638: Replace wildcard address with loopback or local host in tests - part 6 Reviewed-by: dfuchs 2020-05-08 17:16:08 +07:00
weijun
85e7b55d44 8223003: SunMSCAPI keys are not cleaned up Reviewed-by: igerasim 2020-05-08 17:16:08 +07:00
akolarkunnu
46e04af4d4 8213168: Enable different look and feel tests in SwingSet3 demo test FileChooserDemoTest Reviewed-by: serb Contributed-by: abdul.kolarkunnu@oracle.com 2020-05-08 17:16:08 +07:00
akolarkunnu
9ae5b9833e 8211160: Handle different look and feels in JInternalFrameOperator Reviewed-by: serb Contributed-by: abdul.kolarkunnu@oracle.com 2020-05-08 17:16:08 +07:00
jjg
c917b81590 8218268: Javac treats Manifest Class-Path entries as Paths instead of URLs Reviewed-by: mchung, bchristi 2020-05-08 17:16:08 +07:00
jjg
a5492fef7c 8232170: FSInfo#getJarClassPath throws an exception not declared in its throws clause Reviewed-by: jjg Contributed-by: jai.forums2013@gmail.com 2020-05-08 17:16:07 +07:00
sjohanss
7aba0dd2dc 8209802: Garbage collectors should register JFR types themselves to avoid build errors. Reviewed-by: kbarrett, tschatzl 2020-05-08 17:16:07 +07:00
phh
94db68011b 8234288: Turkey Time Zone returns incorrect time zone name Summary: Add and use "Turkey Time" time zone. Reviewed-by: naoto, martin, phh Contributed-by: letuyang@amazon.com 2020-05-08 17:16:07 +07:00
fmatte
0f5d3d65dc 8235637: jhsdb jmap from OpenJDK 11.0.5 doesn't work if prelink is enabled Summary: error handling for "lib_base_diff == 0" Reviewed-by: ysuenaga, cjplummer, kevinw Contributed-by: suenaga@oss.nttdata.com 2020-05-08 17:16:07 +07:00
mbaesken
ed9cc6a79c 8233328: fix minimal VM build on Linux s390x Reviewed-by: lucy, mdoerr 2020-05-08 17:16:06 +07:00
mbaesken
20431b6bef 8234809: set relro in linker flags when building with gcc Reviewed-by: erikj, fweimer 2020-05-08 17:16:06 +07:00
martin
5dacd612df 8209817: stack is executable when building with Clang on Linux Reviewed-by: dholmes, martin, mikael, ihse Contributed-by: Arthur Eubanks <aeubanks@google.com> 2020-05-08 17:16:06 +07:00
tschatzl
ae523d942c 8214850: Rename vm_operations.?pp files to vmOperations.?pp files Reviewed-by: dholmes, coleenp 2020-05-08 17:16:06 +07:00
erikj
4a6c941a52 8223627: jdk-13+20 bundle name contains null instead of ea Reviewed-by: dholmes, tbell 2020-05-08 17:16:06 +07:00
erikj
ee131223e6 8223464: Improve version string for Oracle CI builds Reviewed-by: tbell 2020-05-08 17:16:05 +07:00
akolarkunnu
ee3c5f2cec 8228479: Correct the format of ColorChooserDemoTest Reviewed-by: serb, psadhukhan 2020-05-08 17:16:05 +07:00
xuelei
faf54601b1 8225766: Curve in certificate should not affect signature scheme when using TLSv1.3 Reviewed-by: ascarpino 2020-05-08 17:16:05 +07:00
ihse
432cd33feb 8217634: RunTest documentation and usability update Reviewed-by: erikj 2020-05-08 17:16:05 +07:00
jjiang
52e9b51d84 8210632: Add key exchange algorithm to javax/net/ssl/TLSCommon/CipherSuite.java Summary: javax/net/ssl/TLSCommon/CipherSuite.java supports key exchange algorithms Reviewed-by: xuelei 2020-05-08 17:16:05 +07:00
iignatyev
852a340b24 8227112: exclude compiler/intrinsics/sha/sanity tests from AOT runs Reviewed-by: kvn 2020-05-08 17:16:04 +07:00
epavlova
0805dac8e8 8225684: [AOT] vmTestbase/vm/oom/production/AlwaysOOMProduction tests fail with AOTed java.base Reviewed-by: kvn 2020-05-08 17:16:04 +07:00
mgronlun
9639189f39 8210024: JFR calls virtual is_Java_thread from ~Thread() Reviewed-by: kbarrett, dholmes, dcubed, egahlin 2020-05-08 17:16:04 +07:00
jiefu
ff376593a4 8232692: [TESTBUG] compiler/aot/fingerprint/SelfChangedCDS.java fails when cds is disabled Reviewed-by: kvn 2020-05-08 17:16:04 +07:00
weijun
48ebce0d34 8225180: SignedObject with invalid Key not throwing the InvalidKeyException in Windows Reviewed-by: mullan 2020-05-08 17:16:03 +07:00
prr
e0aff82e9f 8225487: giflib legal file is missing attribution for openbsd-reallocarray.c Reviewed-by: serb, kcr 2020-05-08 17:16:03 +07:00
epavlova
c18580c9f5 8225199: [Graal] compiler/jvmci/compilerToVM/IsMatureVsReprofileTest.java fails with -XX:CompileThresholdScaling=0.1 Reviewed-by: kvn 2020-05-08 17:16:03 +07:00
prr
d807a328af 8224778: test/jdk/demo/jfc/J2Ddemo/J2DdemoTest.java cannot find J2Ddemo.jar Reviewed-by: erikj, psadhukhan 2020-05-08 17:16:03 +07:00
prr
6ef4176f32 8224705: Tests that need to be problem-listed or have printer resources Reviewed-by: serb, psadhukhan 2020-05-08 17:16:02 +07:00
psadhukhan
3173541b5b 8211703: JInternalFrame : java.lang.AssertionError: cannot find the internal frame Reviewed-by: prr, serb 2020-05-08 17:16:02 +07:00
weijun
92cce6e33a 8223063: Support CNG RSA keys Reviewed-by: mullan 2020-05-08 17:16:02 +07:00
vagarwal
cfe2995202 8222519: ButtonDemoScreenshotTest fails randomly with "still state to be reached" Reviewed-by: serb 2020-05-08 17:16:02 +07:00
jjiang
a7a9657b03 8222391: javax/net/ssl/compatibility/Compatibility.java should be more flexible Reviewed-by: xuelei 2020-05-08 17:16:02 +07:00
serb
ebec05e13d 8221885: Add intermittent test in the JavaSound to the ProblemList Reviewed-by: prr 2020-05-08 17:16:02 +07:00
jjiang
c3d62fec8f 8219723: javax/net/ssl/compatibility/Compatibility.java failed on some SNI cases Summary: Re-generates RSA and ECDSA certificates and set longer validity period Reviewed-by: xuelei 2020-05-08 17:16:02 +07:00
iignatyev
bfe13a4f0b 8178798: Two compiler/aot/verification/vmflags tests fail by timeout with UseAVX=3 Reviewed-by: kvn 2020-05-08 17:16:02 +07:00
akolarkunnu
3311da70cd 8217297: Add support for multiple look and feel for SwingSet SliderDemoTest Reviewed-by: serb Contributed-by: vikrant.v.agarwal@oracle.com 2020-05-08 17:16:01 +07:00
akolarkunnu
9b239b2ec6 8214471: Enable different look and feel tests in SwingSet3 demo test ToolTipDemoTest Reviewed-by: serb, shurailine 2020-05-08 17:16:01 +07:00
iignatyev
646a82e81c 8215322: add @file support to jaotc Reviewed-by: kvn 2020-05-08 17:16:01 +07:00
hseigel
7435b2eaed 8204525: [TESTBUG] runtime/NMT/MallocStressTest.java ran out of java heap Summary: Handle OutOfMemoryError exception to prevent test aborting Reviewed-by: zgu, dholmes 2020-05-08 17:16:01 +07:00
sveerabhadra
337384f6b5 8210057: Enable different look and feels in SwingSet3 demo test InternalFrameDemoTest Reviewed-by: serb Contributed-by: gauri.patil@oracle.com 2020-05-08 17:16:01 +07:00
sveerabhadra
1e0945525e 8211443: Enable different look and feels in SwingSet3 demo test SplitPaneDemoTest Reviewed-by: serb Contributed-by: gauri.patil@oracle.com 2020-05-08 17:16:01 +07:00
kbarrett
bac2d86165 8209976: Improve iteration over non-JavaThreads Summary: Add NonJavaThread and move NamedThread iteration to new class. Reviewed-by: eosterlund, coleenp, rkennke 2020-05-08 17:16:00 +07:00
akolarkunnu
369757db8b 8212897: Some improvements in the EditorPaneDemotest Reviewed-by: serb Contributed-by: abdul.kolarkunnu@oracle.com 2020-05-08 17:16:00 +07:00
akolarkunnu
007cd7d7ee 8209499: Create test for SwingSet EditorPaneDemo Reviewed-by: serb Contributed-by: abdul.kolarkunnu@oracle.com 2020-05-08 17:16:00 +07:00
akolarkunnu
47740b0c86 8211139: Increase timeout value in all tests under jdk/sanity/client/SwingSet/src Reviewed-by: serb Contributed-by: abdul.kolarkunnu@oracle.com 2020-05-08 17:16:00 +07:00
psadhukhan
7c870c0c2d 8223158: Docked MacBook cannot start any Java Swing applications Reviewed-by: prr, serb 2020-05-08 17:16:00 +07:00
eosterlund
f5dd9ade7a 8229345: Memory leak due to vtable stubs not being shared on SPARC Reviewed-by: mdoerr, dholmes, kvn 2020-05-08 17:15:59 +07:00
iignatyev
c97d095033 8209807: improve handling exception in requires.VMProps Reviewed-by: vlivanov, mseledtsov 2020-05-08 17:15:59 +07:00
weijun
b7c9c846ce 8213010: Supporting keys created with certmgr.exe Reviewed-by: valeriep 2020-05-08 17:15:59 +07:00
weijun
0a7b6913a3 8213009: Refactoring existing SunMSCAPI classes Reviewed-by: valeriep 2020-05-08 17:15:59 +07:00
akolarkunnu
cf7ce14cb1 8210055: Enable different look and feel tests in SwingSet3 demo tests Reviewed-by: serb Contributed-by: abdul.kolarkunnu@oracle.com 2020-05-08 17:15:59 +07:00
vagarwal
b3f4f4ed4d 8210910: Create test for FileChooserDemo Reviewed-by: serb Contributed-by: vikrant.v.agarwal@oracle.com 2020-05-08 17:15:59 +07:00
akolarkunnu
c7f9187cd2 8210994: Create test for SwingSet3 FrameDemo Reviewed-by: serb Contributed-by: abdul.kolarkunnu@oracle.com 2020-05-08 17:15:58 +07:00
vagarwal
98f578ef47 8210052: Enable testing for all the available look and feels in SwingSet3 demo tests Reviewed-by: shurailine, serb 2020-05-08 17:15:58 +07:00
akolarkunnu
dcdbdc3d27 8209993: Create a test for SwingSet3 ToolTipDemo Reviewed-by: serb Contributed-by: abdul.kolarkunnu@oracle.com 2020-05-08 17:15:58 +07:00
akolarkunnu
e3551677a2 8209494: Create a test for SwingSet InternalFrameDemo Reviewed-by: serb Contributed-by: abdul.kolarkunnu@oracle.com 2020-05-08 17:15:58 +07:00
akolarkunnu
61c047cedc 8209789: Synchronize test/jdk/sanity/client/lib/jemmy with code-tools/jemmy/v2 Reviewed-by: serb Contributed-by: abdul.kolarkunnu@oracle.com 2020-05-08 17:15:58 +07:00
akolarkunnu
950568b627 8209418: Synchronize test/jdk/sanity/client/lib/jemmy with code-tools/jemmy/v2 Reviewed-by: serb Contributed-by: abdul.kolarkunnu@oracle.com, alexandre.iline@oracle.com 2020-05-08 17:15:57 +07:00
stooke
baf68f1d15 8216354: Syntax error in toolchain_windows.m4 Reviewed-by: erikj, dholmes, clanger 2020-05-08 17:15:57 +07:00
kbarrett
16ce268521 8209850: Allow NamedThreads to use GlobalCounter critical sections Summary: Add NamedThreads iterator and make GlobalCounter use it. Reviewed-by: eosterlund, rehn 2020-05-08 17:15:57 +07:00
mbaesken
388f839362 8234397: add OS uptime information to os::print_os_info output Reviewed-by: clanger, dholmes, lucy 2020-05-08 17:15:57 +07:00
mbaesken
d39ee1ff42 8231445: check ZALLOC return values in awt coding Reviewed-by: clanger, prr 2020-05-08 17:15:56 +07:00
weijun
01455489f6 8210476: sun/security/mscapi/PrngSlow.java fails with Still too slow Reviewed-by: xuelei, igerasim, rriggs 2020-05-08 17:15:56 +07:00
jjiang
2f20182f87 8203687: javax/net/ssl/compatibility/Compatibility.java supports TLS 1.3 Reviewed-by: xuelei 2020-05-08 17:15:56 +07:00
igerasim
92b32af9a7 8201355: Avoid native memory allocation in sun.security.mscapi.PRNG.generateSeed Reviewed-by: weijun 2020-05-08 17:15:56 +07:00
shurailine
6a329eb06c 8208157: requires.VMProps throws NPE for missing properties in "release" file Reviewed-by: iignatyev, lancea 2020-05-08 17:15:56 +07:00
dlong
c2fda31f2a 8213348: jdk.internal.vm.compiler.management service providers missing in module descriptor 8211781: re-building fails after changing Graal sources Reviewed-by: erikj, mchung 2020-05-08 17:15:55 +07:00
rriggs
a8726d7ae8 8208715: Conversion of milliseconds to nanoseconds in UNIXProcess contains bug Reviewed-by: martin 2020-05-08 17:15:54 +07:00
psadhukhan
2dde9daa41 8215396: JTabbedPane preferred size calculation is wrong for SCROLL_TAB_LAYOUT Reviewed-by: serb 2020-05-08 17:15:54 +07:00
rschmelter
f5f9c47810 8226608: Hide the onjcmd option from the help output Reviewed-by: sspitsyn, clanger 2020-05-08 17:15:54 +07:00
rschmelter
0677ec8c99 8224673: Adjust permission for delayed starting of debugging Summary: Changed permission from monitor to control Reviewed-by: sspitsyn, clanger 2020-05-08 17:15:53 +07:00
iklam
8b5fb4fb7f 8207832: serviceability/sa/ClhsdbCDSCore.java failed with "Couldn't find core file location" Summary: Handle %p in /proc/sys/kernel/core_pattern Reviewed-by: dholmes, hseigel 2020-05-08 17:15:53 +07:00
weijun
dd9de7ab0a 8231507: Update Apache Santuario (XML Signature) to version 2.1.4 Reviewed-by: weijun Contributed-by: fedor.burdun@azulsystems.com, weijun.wang@oracle.com 2020-05-08 17:15:53 +07:00
mbaesken
9e491d1277 8235243: handle VS2017 15.9 and VS2019 in abstract_vm_version 8235325: build failure on Linux after 8235243 Reviewed-by: dholmes, mdoerr 2020-05-08 17:15:53 +07:00
mbaesken
44a44e23e7 8234339: replace JLI_StrTok in java_md_solinux.c Reviewed-by: clanger, rriggs 2020-05-08 17:15:52 +07:00
mbaesken
d31015e36a 8234323: NULL-check return value of SurfaceData_InitOps on macosx Reviewed-by: clanger 2020-05-08 17:15:52 +07:00
mbaesken
1949af5a11 8233078: fix minimal VM build on Linux ppc64(le) Reviewed-by: mdoerr, lucy 2020-05-08 17:15:52 +07:00
mbaesken
ccf3a3bc79 8234741: enhance os::get_core_path on macOS Reviewed-by: clanger, gziemski 2020-05-08 17:15:52 +07:00
psadhukhan
17ef123ef7 8224821: java/awt/Focus/NoAutotransferToDisabledCompTest/NoAutotransferToDisabledCompTest.java fails linux-x64 Reviewed-by: jdv 2020-05-08 17:15:51 +07:00
psadhukhan
dcd78171fc 8224830: test/jdk/java/awt/Focus/ModalExcludedWindowClickTest/ModalExcludedWindowClickTest.java fails on linux-x64 Reviewed-by: jdv 2020-05-08 17:15:51 +07:00
prr
110475d304 8225007: java/awt/print/PrinterJob/LandscapeStackOverflow.java may hang Reviewed-by: serb, jdv 2020-05-08 17:15:51 +07:00
jdv
ff4d8bd2b9 8225105: java/awt/Focus/ShowFrameCheckForegroundTest/ShowFrameCheckForegroundTest.java fails in Windows 10 Reviewed-by: prr, serb 2020-05-08 17:15:51 +07:00
bpb
f612f9d883 8225117: java/math/BigInteger/SymmetricRangeTests.java fails with ParseException Reviewed-by: darcy 2020-05-08 17:15:51 +07:00
serb
d319dad5fd 8225144: [macos] In Aqua L&F backspace key does not delete when Shift is pressed Reviewed-by: psadhukhan 2020-05-08 17:15:50 +07:00
naoto
1a3e2547cb 8225435: Upgrade IANA Language Subtag Registry to the latest for JDK14 Reviewed-by: rriggs 2020-05-08 17:15:50 +07:00
kvn
de63bde267 8225350: compiler/jvmci/compilerToVM/IsCompilableTest.java timed out Reviewed-by: iignatyev 2020-05-08 17:15:50 +07:00
akolarkunnu
9893217441 8221312: test/jdk/sanity/client/SwingSet/src/ColorChooserDemoTest.java failed Reviewed-by: serb, psadhukhan 2020-05-08 17:15:50 +07:00
dholmes
ac3b7d9cea 8215355: Object monitor deadlock with no threads holding the monitor (using jemalloc 5.1) Reviewed-by: rehn, stuefe, dcubed, sspitsyn 2020-05-08 17:15:50 +07:00
erikj
553b38afa9 8217613: [AOT] TEST_OPTS_AOT_MODULES doesn't work on mac Reviewed-by: tbell, kvn, iignatyev 2020-05-08 17:15:49 +07:00
epavlova
c7d771b255 8214557: Filter out VM flags which don't affect AOT code generation Reviewed-by: kvn, erikj 2020-05-08 17:15:49 +07:00
epavlova
766b13af8b 8152988: [AOT] Update test batch definitions to include aot-ed java.base module mode into hs-comp testing Reviewed-by: kvn, erikj, ihse 2020-05-08 17:15:49 +07:00
iignatyev
1b466d78c2 8210699: Problem list tests which times out in Xcomp mode Reviewed-by: kvn 2020-05-08 17:15:48 +07:00
mdoerr
636d51dd02 8220348: [ntintel] asserts about copying unaligned array Reviewed-by: clanger, stuefe 2020-05-08 17:15:48 +07:00
bpb
3668e83e6b 8220479: java/nio/channels/Selector/SelectWithConsumer.java failed at testTwoChannels() Reviewed-by: bpb Contributed-by: alan.bateman@oracle.com 2020-05-08 17:15:48 +07:00
tschatzl
0127c65a97 8211211: vmTestbase/metaspace/stressDictionary/StressDictionary.java timeout Summary: Disable CMS precleaning to avoid accumulating too many classloaders to unload. Reviewed-by: kbarrett, sangheki 2020-05-08 17:15:47 +07:00
fyang
b7d3ed27f5 8233466: aarch64: remove unnecessary load of mdo when profiling return and parameters type Reviewed-by: adinn 2020-05-08 17:15:47 +07:00
bsrbnd
d632a95b2e 8214345: infinite recursion while checking super class Reviewed-by: vromero 2020-05-08 17:15:47 +07:00
iklam
57b03a3b42 8209826: Undefined reference to os::write after JDK-8209657 (filemap.hpp cleanup) Summary: include os_inline.hpp instead Reviewed-by: jiangli 2020-05-08 17:15:47 +07:00
jiangli
9b77749801 8235509: Backport for JDK-8209657 Refactor filemap.hpp to simplify integration with Serviceability Agent. Summary: Backport for JDK-8209657 Refactor filemap.hpp to simplify integration with Serviceability Agent. Reviewed-by: clanger 2020-05-08 17:15:47 +07:00
ccheung
7461a6dcbf 8209385: CDS runtime classpath checking is too strict when only classes from the system modules are archived Summary: skip checking the path entries which are not being referenced during CDS dump time Reviewed-by: jiangli, iklam 2020-05-08 17:15:47 +07:00
jiangli
6734a46463 8209389: SIGSEGV in WalkOopAndArchiveClosure::do_oop_work. Summary: Check the MetaspaceShared::archive_heap_object return value and handle failure accordingly. Reviewed-by: iklam, coleenp 2020-05-08 17:15:46 +07:00
sgehwolf
03961a714f 8232003: (fs) Files.write can leak file descriptor in the exception case Summary: Be sure to close the leaked OutputStream in all cases Reviewed-by: alanb, bpb, clanger 2020-05-08 17:15:46 +07:00
dholmes
9dca1450b9 8210512: [Testbug] vmTestbase/nsk/jdi/ObjectReference/referringObjects/referringObjects002/referringObjects002.java fails with unexpected size of ClassLoaderReference.referringObjects Summary: Account for the self-reference that every class has in the constant pool Reviewed-by: sspitsyn, jcbeyler 2020-05-08 17:15:46 +07:00
cushon
57bb744ae1 8213908: AssertionError in DeferredAttr at setOverloadKind Reviewed-by: mcimadamore 2020-05-08 17:15:46 +07:00
akolarkunnu
eda0450971 8217235: Create automated test for SwingSet ColorChooserDemoTest Reviewed-by: serb, shurailine Contributed-by: vikrant.v.agarwal@oracle.com 2020-05-08 17:15:46 +07:00
iignatyev
c6203f1025 8216180: [AOT] compiler/intrinsics/bigInteger/TestMulAdd.java crashed with AOT enabled Reviewed-by: kvn 2020-05-08 17:15:45 +07:00
iignatyev
c6e9df083e 8214904: Test8004741.java failed due to "Too few ThreadDeath hits; expected at least 6 but saw only 5" Reviewed-by: kvn, epavlova 2020-05-08 17:15:45 +07:00
psadhukhan
9556cc94f9 8234786: Fix for JDK-8214578 breaks OS X 10.12 compatibility Reviewed-by: jdv 2020-05-08 17:15:45 +07:00
psadhukhan
42520f02c8 8214578: [macos] Problem with backslashes on macOS/JIS keyboard: Java ignores system settings Reviewed-by: serb, prr 2020-05-08 17:15:45 +07:00
pbansal
63a2307d80 8212903: [TestBug] Tests test/jdk/javax/swing/LookAndFeel/8145547/DemandGTK2.sh and DemandGTK3.sh fail on Ubuntu 18.04 LTS Reviewed-by: prr, psadhukhan 2020-05-08 17:15:45 +07:00
akozlov
54ddb6c957 8231584: Deadlock with ClassLoader.findLibrary and System.loadLibrary call Reviewed-by: mchung 2020-05-08 17:15:45 +07:00
dnsimon
eb88931795 8210793: [JVMCI] AllocateCompileIdTest.java failed to find DiagnosticCommand.class Reviewed-by: thartmann, kvn 2020-05-08 17:15:44 +07:00
kvn
3a1df2a7d0 8210220: [AOT] jdwp test cases are failing with error # ERROR: TEST FAILED: Cought IOException while receiving event packet Summary: don't register AOT method if corresponding java method has breakpoints. Reviewed-by: dlong 2020-05-08 17:15:44 +07:00
kvn
06bffa0087 8209574: [AOT] breakpoint events are generated in different threads does not meet expected count Summary: Disable AOT when debugger is attached. Reviewed-by: dlong 2020-05-08 17:15:44 +07:00
dlong
8a1dd9cff8 8209361: [AOT] Unexpected number of references for JVMTI_HEAP_REFERENCE_CONSTANT_POOL [111-->111]: 0 (expected at least 1) Reviewed-by: coleenp, dholmes 2020-05-08 17:15:44 +07:00
kvn
0ec6872d40 8208379: compiler/jvmci/events/JvmciNotifyInstallEventTest.java failed with "Got unexpected event count after 2nd install attempt: expected 9 to equal 2" Reviewed-by: iignatyev 2020-05-08 17:15:44 +07:00
amenkov
7c553ab284 8201513: nsk/jvmti/IterateThroughHeap/filter-* are broken Reviewed-by: sspitsyn, cjplummer 2020-05-08 17:15:43 +07:00
valeriep
5bffa68e6f 8183107: PKCS11 regression regarding checkKeySize Summary: Changed key size check in PKCS11 provider to only enforce positive return values Reviewed-by: jnimeh 2020-05-08 17:15:43 +07:00
dtitov
bfa3191caf 8207367: 10 vmTestbase/nsk/jdi tests timed out when running with jtreg Reviewed-by: sspitsyn, cjplummer 2020-05-08 17:15:43 +07:00
kvn
42e8c87028 8206963: [AOT] bug with multiple class loaders Summary: AOT should not support custom class loaders. Reviewed-by: dlong, iveresov 2020-05-08 17:15:43 +07:00
dcubed
2bd83b724b 8204529: gc/TestAllocateHeapAtMultiple.java fail with Agent 7 timed out Summary: Increase default timeout to 360 seconds. Reviewed-by: erikj, dholmes 2020-05-08 17:15:43 +07:00
psadhukhan
1466674b86 8203904: javax/swing/JSplitPane/4816114/bug4816114.java: The divider location is wrong Reviewed-by: serb, kaddepalli 2020-05-08 17:15:43 +07:00
mbaesken
44c9ad0a56 8230480: check malloc/calloc results in java.desktop Reviewed-by: rriggs 2020-05-08 17:15:42 +07:00
serb
31aa5b08b8 8199072: Test javax/swing/GroupLayout/6613904/bug6613904.java is unstable Reviewed-by: prr, psadhukhan 2020-05-08 17:15:42 +07:00
serb
c1932af648 8198398: Test javax/swing/JColorChooser/Test6199676.java fails in mach5 Reviewed-by: kaddepalli, prr 2020-05-08 17:15:42 +07:00
serb
1a8bbd2f21 8198321: javax/swing/JEditorPane/5076514/bug5076514.java fails Reviewed-by: psadhukhan 2020-05-08 17:15:42 +07:00
pkbalakr
a89b91a873 8196467: javax/swing/JInternalFrame/Test6325652.java fails Reviewed-by: jdv, psadhukhan Contributed-by: tejpal.rebari@oracle.com 2020-05-08 17:15:41 +07:00
trebari
ba20a5881d 8194944: Regression automated test 'open/test/jdk/javax/swing/JInternalFrame/8145896/TestJInternalFrameMaximize.java' fails Reviewed-by: jdv, arapte 2020-05-08 17:15:41 +07:00
jdv
194d8409ec 8176556: java/awt/dnd/ImageTransferTest/ImageTransferTest.java fails for JFIF Reviewed-by: serb 2020-05-08 17:15:41 +07:00
iignatyev
4b4d9345dc 8167276: jvmci/compilerToVM/MaterializeVirtualObjectTest.java fails with -XX:-EliminateAllocations Reviewed-by: kvn 2020-05-08 17:15:41 +07:00
iignatyev
09f1801f7e 8145845: [AOT] NullPointerException in compiler/whitebox/GetCodeHeapEntriesTest.java Reviewed-by: kvn, thartmann 2020-05-08 17:15:41 +07:00
pkbalakr
982cb1df65 8042383: [TEST_BUG] Test javax/swing/plaf/basic/BasicMenuUI/4983388/bug4983388.java fails with shortcuts on menus do not work Reviewed-by: jdv, psadhukhan Contributed-by: tejpal.rebari@oracle.com 2020-05-08 17:15:41 +07:00
sgehwolf
86ab773804 8196969: JTreg Failure: serviceability/sa/ClhsdbJstack.java causes NPE Summary: Account for serialized null scopes in NMethod Reviewed-by: aph, never 2020-05-08 17:15:40 +07:00
mdoerr
ac2afdffa0 8229236: CriticalJNINatives: dll handling should be done in native thread state Summary: Temporarily switch thread state from _thread_in_vm to _thread_in_native to execute I/O. Reviewed-by: dlong, dholmes 2020-05-08 17:15:40 +07:00
thartmann
02d2c5c71f 8193042: NativeLookup::lookup_critical_entry() should only load shared library once Summary: Avoids repeated loads/unloads of the same shared library. Reviewed-by: dholmes, dlong, thartmann Contributed-by: Christian Hagedorn <christian.hagedorn@oracle.com> 2020-05-08 17:15:40 +07:00
alitvinov
4449490249 8068184: Fix for JDK-8032832 caused a deadlock Reviewed-by: dfuchs, chegar 2020-05-08 17:15:40 +07:00
goetz
d00d5d3945 8234340: Bump update version for OpenJDK: jdk-11.0.7 Reviewed-by: clanger 2020-05-08 17:15:40 +07:00
dbatrak
ab16da86a8 8210058: Algorithmic Italic font leans opposite angle in Printing Reviewed-by: prr, jdv, psadhukhan
Funtional fix already applied by JBR-1761: Printing a comment block in landscape mode results in oddly rotated italic letters.
Applying test only:
  http://github.com/JetBrains/JetBrainsRuntime/commit/5d35e720
  http://hg.openjdk.java.net/jdk-updates/jdk11u/rev/5242fe7dcf86
2020-05-08 17:15:39 +07:00
Vitaly Provodin
2a277db8fd JBR-2320 add jdk.attach module into JBR
(cherry picked from commit cf3a605a0e)
2020-04-23 06:32:29 +07:00
Anton Tarasov
ec4560a42e JBR-2305 jcef: jb/java/jcef/JCEFStartupTest.java throws java.lang.ExceptionInInitializerError
(cherry picked from commit f0385f01ec)
2020-04-22 08:40:01 +07:00
Anton Tarasov
5d6017d1f5 JBR-2306 jcef: jb/java/jcef/JCEFStartupTest.java unexpectedly exits with the exit code: 0
(cherry picked from commit ff7d7bd43c)
2020-04-22 08:38:38 +07:00
Pengfei Li
cd9ac3643b 8208623: [TESTBUG] runtime/LoadClass/LongBCP.java fails in AUFS file system
Limit the maximal file name length to 242 for AUFS file system

Reviewed-by: dholmes, redestad
(cherry picked from commit d7dbec973c)
2020-04-22 08:17:38 +07:00
Alexey Ushakov
9a0d584f8b JBR-2311 [backport to 201] JBR-2210 IDEA fails to start (JVM crashes) when using the -Dfile.encoding=UTF-8in IDEA's vmoptions file
Returning devanagari subset back for ja.UTF-8 to get non-null font name from WFontConfiguration.getTextComponentFontName(). It is a regression from JDK-8208179.

(cherry picked from commit b51254a975)
2020-04-20 18:19:17 +07:00
Elena Sayapina
de8f7cfa9d JBR-2235 JBR 11.0.6 doesn't start from a directory with a non-ASCII name
Changed CP_THREAD_ACP to CP_ACP to fix JDK-8242283: Can't start JVM when java home path includes non-ASCII character.

Complete fix for JBR-2235 includes the following commits:
- cherry-pick 3490262a: JDK-8240197: Cannot start JVM when $JAVA_HOME includes CJK characters
- cherry-pick 04e885b4: JDK-8232168: Fix non wide char canonicalization on Windows
- cherry-pick 77ae10cd: JDK-8218547: Simplify JLI_Open on Windows in native code (libjli)
- cherry-pick 99b28daf: JDK-8240725: Some functions might not work with CJK character
2020-04-11 13:52:14 +07:00
Yasumasa Suenaga
26ef1eae08 8240725: Some functions might not work with CJK character
Reviewed-by: naoto

Backported the fix to jbr11.
Resolved conflicts in src/java.base/windows/native/libjava/canonicalize_md.c.
2020-04-11 13:51:58 +07:00
Matthias Baesken
fb26307488 8218547: Simplify JLI_Open on Windows in native code (libjli)
Reviewed-by: alanb, clanger
2020-04-11 13:51:54 +07:00
Ralf Schmelter
6617f6589f 8232168: Fix non wide char canonicalization on Windows
Reviewed-by: clanger, alanb, ccheung
2020-04-11 13:51:49 +07:00
Elena Sayapina
c5b0d0b951 Revert "JBR-2235 JBR 11.0.6 doesn't start from a directory with a non-ASCII name"
This reverts commit 83591ad6
Restore "8240197: Cannot start JVM when $JAVA_HOME includes CJK characters" to eliminate jbr dependency on regional format."
2020-04-11 13:51:12 +07:00
Elena Sayapina
3a3b9e6c11 Revert "JBR-2235 JBR 11.0.6 doesn't start from a directory with a non-ASCII name"
This reverts commit 14b987be

Restore "8191521: handle long relative path specified in -Xbootclasspath/a on windows 8231885: Fix/remove malformed assert in os_windows.cpp 8231930: Windows build fails after JDK-8191521 Reviewed-by: ccheung, clanger" to eliminate jbr dependency on regional format.
2020-04-11 13:49:33 +07:00
Dmitry Batrak
40bcd31e83 JBR-2248 Support text wrapping in a <pre> tag in JEditorPane
(cherry picked from commit ff2e915371)
2020-04-06 13:21:10 +03:00
Dmitry Batrak
f701bf4886 JBR-2234 Support CSS setting overflow-wrap:anywhere in JEditorPane
simplify the code

(cherry picked from commit 6003abc15f)
2020-04-06 13:21:08 +03:00
Dmitry Batrak
e9eabeb5a0 JBR-2234 Support CSS setting overflow-wrap:anywhere in JEditorPane
(cherry picked from commit b6583d0a71)
2020-04-06 13:21:06 +03:00
Elena Sayapina
14b987be02 JBR-2235 JBR 11.0.6 doesn't start from a directory with a non-ASCII name
This reverts commit e6ecc697.
Revert "8191521: handle long relative path specified in -Xbootclasspath/a on windows 8231885: Fix/remove malformed assert in os_windows.cpp 8231930: Windows build fails after JDK-8191521 Reviewed-by: ccheung, clanger" to eliminate jbr dependency on regional format.
2020-04-06 15:46:36 +07:00
Elena Sayapina
83591ad67f JBR-2235 JBR 11.0.6 doesn't start from a directory with a non-ASCII name
This reverts commit 9074c5df.
Revert "8240197: Cannot start JVM when $JAVA_HOME includes CJK characters" to eliminate jbr dependency on regional format.
2020-04-06 15:46:34 +07:00
Elena Sayapina
9074c5df94 JBR-2235 JBR 11.0.6 doesn't start from a directory with a non-ASCII name
Apply JDK-8240823 fix from 11.0.8 (which is a backport of JDK-8240197 to jdk11)
8240197: Cannot start JVM when $JAVA_HOME includes CJK characters
2020-03-30 14:59:21 +07:00
Vitaly Provodin
48e18aab34 JBR-2217 provide JCEF-only (no JavaFX) bundle for 201 branch 2020-03-20 17:37:58 +07:00
Vitaly Provodin
72ce7e2d04 updated JTreg exclude list 2020-03-10 11:07:51 +07:00
Vitaly Provodin
5bb6c4f8a7 JBR-2181: fix root dir in Windows jbr bundles (rsync replaced by cp) 2020-03-07 06:08:12 +07:00
Vitaly Provodin
7750101766 JBR-2181: fix root dir in Windows jbr bundles 2020-03-06 18:01:18 +07:00
Vitaly Provodin
929ce44248 JBR-2181: fix root dir in Windows jbr bundles 2020-03-06 17:56:44 +07:00
Vitaly Provodin
a0fa5a0ea4 JBR-2181: create two separate JBR bundles with JFX and JFX+JCEF (follow up) 2020-03-06 15:41:13 +07:00
Vitaly Provodin
c7c7250f5d JBR-2181: create two separate JBR bundles with JFX and JFX+JCEF (windows & linux) 2020-03-03 21:32:30 +07:00
Vitaly Provodin
56fe284f78 JBR-2181: create two separate JBR bundles with JFX and JFX+JCEF 2020-03-03 18:55:28 +07:00
Artem Bochkarev
08da21537a JBR-2143: enable X11_DISABLE_OVERRIDE_FLAG by default only in KDE-desktop env
fixed "XFCE: No context menu or main menu popups from Full screen mode"

(cherry picked from commit 8b027c4fbf)
2020-03-03 16:18:22 +07:00
1229 changed files with 50351 additions and 23078 deletions

11
.hgtags
View File

@@ -576,3 +576,14 @@ aa260c24480a2bd7d21ad1c863e6fe9a3973011e jdk-11.0.6+6
1859de77ee6cd7e10ac0b9e71027d9f974a6e481 jdk-11.0.6+9
837b7afec083aaddeef0a6c3e6501b2200eaf1d4 jdk-11.0.6+10
837b7afec083aaddeef0a6c3e6501b2200eaf1d4 jdk-11.0.6-ga
8cdfd6139b1efc9064b10f24a82848b1bb4a0550 jdk-11.0.7+1
15cc1c8a63718c394e9cd1f35d735bb74a850084 jdk-11.0.7+2
f2d8162261ae3c1e50eb0667b3c9669caa67c652 jdk-11.0.7+3
d3d1f7f67de13fd5c227424b9ddc514c0ca32aff jdk-11.0.7+4
f03574cfc0d728ca7b5146ca22c707717f9f899f jdk-11.0.7+5
17d2e0c27889a00a3df7de9bcea0e8caf0d1771a jdk-11.0.7+6
f56b853d452bd339e3f4360cf4be42cc90f9284c jdk-11.0.7+7
3c570d183ab2afc0b204a8e980be69e7fbe761ef jdk-11.0.7+8
7201cd0c64776aa574d252b03a4c92b25d0a7d7f jdk-11.0.7+9
44ce940b344b9f240be4807f5b8f06e178e3aecd jdk-11.0.7+10
44ce940b344b9f240be4807f5b8f06e178e3aecd jdk-11.0.7-ga

View File

@@ -369,10 +369,10 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
<p>On Linux you can also get a JDK from the Linux distribution. On apt-based distros (like Debian and Ubuntu), <code>sudo apt-get install openjdk-&lt;VERSION&gt;-jdk</code> is typically enough to install a JDK &lt;VERSION&gt;. On rpm-based distros (like Fedora and Red Hat), try <code>sudo yum install java-&lt;VERSION&gt;-openjdk-devel</code>.</p>
<h2 id="external-library-requirements">External Library Requirements</h2>
<p>Different platforms require different external libraries. In general, libraries are not optional - that is, they are either required or not used.</p>
<p>If a required library is not detected by <code>configure</code>, you need to provide the path to it. There are two forms of the <code>configure</code> arguments to point to an external library: <code>--with-&lt;LIB&gt;=&lt;path&gt;</code> or <code>--with-&lt;LIB&gt;-include=&lt;path to include&gt; --with-&lt;LIB&gt;-lib=&lt;path to lib&gt;</code>. The first variant is more concise, but require the include files an library files to reside in a default hierarchy under this directory. In most cases, it works fine.</p>
<p>If a required library is not detected by <code>configure</code>, you need to provide the path to it. There are two forms of the <code>configure</code> arguments to point to an external library: <code>--with-&lt;LIB&gt;=&lt;path&gt;</code> or <code>--with-&lt;LIB&gt;-include=&lt;path to include&gt; --with-&lt;LIB&gt;-lib=&lt;path to lib&gt;</code>. The first variant is more concise, but require the include files and library files to reside in a default hierarchy under this directory. In most cases, it works fine.</p>
<p>As a fallback, the second version allows you to point to the include directory and the lib directory separately.</p>
<h3 id="freetype">FreeType</h3>
<p>FreeType2 from <a href="http://www.freetype.org/">The FreeType Project</a> is not required on any platform. The exception is on Unix-based platforms when configuring such that the build artifacts will reference a system installed library, rather than bundling the JDKs own copy.</p>
<p>FreeType2 from <a href="http://www.freetype.org/">The FreeType Project</a> is not required on any platform. The exception is on Unix-based platforms when configuring such that the build artifacts will reference a system installed library, rather than bundling the JDK's own copy.</p>
<ul>
<li>To install on an apt-based Linux, try running <code>sudo apt-get install libfreetype6-dev</code>.</li>
<li>To install on an rpm-based Linux, try running <code>sudo yum install freetype-devel</code>.</li>
@@ -433,7 +433,7 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
<p>To build the JDK, you need a &quot;configuration&quot;, which consists of a directory where to store the build output, coupled with information about the platform, the specific build machine, and choices that affect how the JDK is built.</p>
<p>The configuration is created by the <code>configure</code> script. The basic invocation of the <code>configure</code> script looks like this:</p>
<pre><code>bash configure [options]</code></pre>
<p>This will create an output directory containing the configuration and setup an area for the build result. This directory typically looks like <code>build/linux-x64-normal-server-release</code>, but the actual name depends on your specific configuration. (It can also be set directly, see <a href="#using-multiple-configurations">Using Multiple Configurations</a>). This directory is referred to as <code>$BUILD</code> in this documentation.</p>
<p>This will create an output directory containing the configuration and setup an area for the build result. This directory typically looks like <code>build/linux-x64-server-release</code>, but the actual name depends on your specific configuration. (It can also be set directly, see <a href="#using-multiple-configurations">Using Multiple Configurations</a>). This directory is referred to as <code>$BUILD</code> in this documentation.</p>
<p><code>configure</code> will try to figure out what system you are running on and where all necessary build components are. If you have all prerequisites for building installed, it should find everything. If it fails to detect any component automatically, it will exit and inform you about the problem.</p>
<p>Some command line examples:</p>
<ul>

View File

@@ -436,8 +436,8 @@ If a required library is not detected by `configure`, you need to provide the
path to it. There are two forms of the `configure` arguments to point to an
external library: `--with-<LIB>=<path>` or `--with-<LIB>-include=<path to
include> --with-<LIB>-lib=<path to lib>`. The first variant is more concise,
but require the include files an library files to reside in a default hierarchy
under this directory. In most cases, it works fine.
but require the include files and library files to reside in a default
hierarchy under this directory. In most cases, it works fine.
As a fallback, the second version allows you to point to the include directory
and the lib directory separately.
@@ -447,7 +447,7 @@ and the lib directory separately.
FreeType2 from [The FreeType Project](http://www.freetype.org/) is not required
on any platform. The exception is on Unix-based platforms when configuring such
that the build artifacts will reference a system installed library,
rather than bundling the JDKs own copy.
rather than bundling the JDK's own copy.
* To install on an apt-based Linux, try running `sudo apt-get install
libfreetype6-dev`.
@@ -586,8 +586,8 @@ bash configure [options]
This will create an output directory containing the configuration and setup an
area for the build result. This directory typically looks like
`build/linux-x64-normal-server-release`, but the actual name depends on your
specific configuration. (It can also be set directly, see [Using Multiple
`build/linux-x64-server-release`, but the actual name depends on your specific
configuration. (It can also be set directly, see [Using Multiple
Configurations](#using-multiple-configurations)). This directory is referred to
as `$BUILD` in this documentation.

54
doc/ide.html Normal file
View File

@@ -0,0 +1,54 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>IDE support in the JDK</title>
<style type="text/css">
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
</style>
<link rel="stylesheet" href="../make/data/docs-resources/resources/jdk-default.css" />
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
<![endif]-->
</head>
<body>
<header id="title-block-header">
<h1 class="title">IDE support in the JDK</h1>
</header>
<nav id="TOC">
<ul>
<li><a href="#introduction">Introduction</a><ul>
<li><a href="#ide-support-for-native-code">IDE support for native code</a></li>
<li><a href="#ide-support-for-java-code">IDE support for Java code</a></li>
</ul></li>
</ul>
</nav>
<h2 id="introduction">Introduction</h2>
<p>When you are familiar with building and testing the JDK, you may want to configure an IDE to work with the source code. The instructions differ a bit depending on whether you are interested in working with the native (C/C++) or the Java code.</p>
<h3 id="ide-support-for-native-code">IDE support for native code</h3>
<p>There are a few ways to generate IDE configuration for the native sources, depending on which IDE to use.</p>
<h4 id="visual-studio-code">Visual Studio Code</h4>
<p>The make system can generate a <a href="https://code.visualstudio.com">Visual Studio Code</a> workspace that has C/C++ source indexing configured correctly, as well as launcher targets for tests and the Java launcher. After configuring, a workspace for the configuration can be generated using:</p>
<pre class="shell"><code>make vscode-project</code></pre>
<p>This creates a file called <code>jdk.code-workspace</code> in the build output folder. The full location will be printed after the workspace has been generated. To use it, choose <code>File -&gt; Open Workspace...</code> in Visual Studio Code.</p>
<h5 id="alternative-indexers">Alternative indexers</h5>
<p>The main <code>vscode-project</code> target configures the default C++ support in Visual Studio Code. There are also other source indexers that can be installed, that may provide additional features. It's currently possible to generate configuration for two such indexers, <a href="https://clang.llvm.org/extra/clangd/">clangd</a> and <a href="https://github.com/Andersbakken/rtags">rtags</a>. These can be configured by appending the name of the indexer to the make target, such as:</p>
<pre class="shell"><code>make vscode-project-clangd</code></pre>
<p>Additional instructions for configuring the given indexer will be displayed after the workspace has been generated.</p>
<h4 id="visual-studio">Visual Studio</h4>
<p>This section is a work in progress.</p>
<pre class="shell"><code>make ide-project</code></pre>
<h4 id="compilation-database">Compilation Database</h4>
<p>The make system can generate generic native code indexing support in the form of a <a href="https://clang.llvm.org/docs/JSONCompilationDatabase.html">Compilation Database</a> that can be used by many different IDEs and source code indexers.</p>
<pre class="shell"><code>make compile-commands</code></pre>
<p>It's also possible to generate the Compilation Database for the HotSpot source code only, which is a bit faster as it includes less information.</p>
<pre class="shell"><code>make compile-commands-hotspot</code></pre>
<h3 id="ide-support-for-java-code">IDE support for Java code</h3>
<p>This section is a work in progress.</p>
</body>
</html>

73
doc/ide.md Normal file
View File

@@ -0,0 +1,73 @@
% IDE support in the JDK
## Introduction
When you are familiar with building and testing the JDK, you may want to
configure an IDE to work with the source code. The instructions differ a bit
depending on whether you are interested in working with the native (C/C++) or
the Java code.
### IDE support for native code
There are a few ways to generate IDE configuration for the native sources,
depending on which IDE to use.
#### Visual Studio Code
The make system can generate a [Visual Studio Code](https://code.visualstudio.com)
workspace that has C/C++ source indexing configured correctly, as well as
launcher targets for tests and the Java launcher. After configuring, a workspace
for the configuration can be generated using:
```shell
make vscode-project
```
This creates a file called `jdk.code-workspace` in the build output folder. The
full location will be printed after the workspace has been generated. To use it,
choose `File -> Open Workspace...` in Visual Studio Code.
##### Alternative indexers
The main `vscode-project` target configures the default C++ support in Visual
Studio Code. There are also other source indexers that can be installed, that
may provide additional features. It's currently possible to generate
configuration for two such indexers, [clangd](https://clang.llvm.org/extra/clangd/)
and [rtags](https://github.com/Andersbakken/rtags). These can be configured by
appending the name of the indexer to the make target, such as:
```shell
make vscode-project-clangd
```
Additional instructions for configuring the given indexer will be displayed
after the workspace has been generated.
#### Visual Studio
This section is a work in progress.
```shell
make ide-project
```
#### Compilation Database
The make system can generate generic native code indexing support in the form of
a [Compilation Database](https://clang.llvm.org/docs/JSONCompilationDatabase.html)
that can be used by many different IDEs and source code indexers.
```shell
make compile-commands
```
It's also possible to generate the Compilation Database for the HotSpot source
code only, which is a bit faster as it includes less information.
```shell
make compile-commands-hotspot
```
### IDE support for Java code
This section is a work in progress.

View File

@@ -11,14 +11,14 @@
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
</style>
<link rel="stylesheet" href="../make/data/docs-resources/resources/jdk-default.css">
<link rel="stylesheet" href="../make/data/docs-resources/resources/jdk-default.css" />
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
<![endif]-->
<style type="text/css">pre, code, tt { color: #1d6ae5; }</style>
</head>
<body>
<header>
<header id="title-block-header">
<h1 class="title">Testing the JDK</h1>
</header>
<nav id="TOC">
@@ -32,11 +32,13 @@
</ul></li>
<li><a href="#test-results-and-summary">Test results and summary</a></li>
<li><a href="#test-suite-control">Test suite control</a><ul>
<li><a href="#general-keywords-test_opts">General keywords (TEST_OPTS)</a></li>
<li><a href="#jtreg-keywords">JTReg keywords</a></li>
<li><a href="#gtest-keywords">Gtest keywords</a></li>
</ul></li>
<li><a href="#notes-for-specific-tests">Notes for Specific Tests</a><ul>
<li><a href="#docker-tests">Docker Tests</a></li>
<li><a href="#client-ui-tests">Client UI Tests</a></li>
</ul></li>
</ul>
</nav>
@@ -89,11 +91,24 @@ TEST FAILURE</code></pre>
<p>To separate multiple keyword=value pairs, use <code>;</code> (semicolon). Since the shell normally eats <code>;</code>, the recommended usage is to write the assignment inside qoutes, e.g. <code>JTREG=&quot;...;...&quot;</code>. This will also make sure spaces are preserved, as in <code>JTREG=&quot;VM_OPTIONS=-XshowSettings -Xlog:gc+ref=debug&quot;</code>.</p>
<p>(Other ways are possible, e.g. using backslash: <code>JTREG=JOBS=1\;TIMEOUT=8</code>. Also, as a special technique, the string <code>%20</code> will be replaced with space for certain options, e.g. <code>JTREG=VM_OPTIONS=-XshowSettings%20-Xlog:gc+ref=debug</code>. This can be useful if you have layers of scripts and have trouble getting proper quoting of command line arguments through.)</p>
<p>As far as possible, the names of the keywords have been standardized between test suites.</p>
<h3 id="jtreg-keywords">JTReg keywords</h3>
<h3 id="general-keywords-test_opts">General keywords (TEST_OPTS)</h3>
<p>Some keywords are valid across different test suites. If you want to run tests from multiple test suites, or just dont want to care which test suite specific control variable to use, then you can use the general TEST_OPTS control variable.</p>
<p>There are also some keywords that applies globally to the test runner system, not to any specific test suites. These are also available as TEST_OPTS keywords.</p>
<h4 id="jobs">JOBS</h4>
<p>Currently only applies to JTReg.</p>
<h4 id="timeout_factor">TIMEOUT_FACTOR</h4>
<p>Currently only applies to JTReg.</p>
<h4 id="vm_options">VM_OPTIONS</h4>
<p>Applies to JTReg, GTest and Micro.</p>
<h4 id="java_options">JAVA_OPTIONS</h4>
<p>Applies to JTReg, GTest and Micro.</p>
<h4 id="aot_modules">AOT_MODULES</h4>
<p>Applies to JTReg and GTest.</p>
<h3 id="jtreg-keywords">JTReg keywords</h3>
<h4 id="jobs-1">JOBS</h4>
<p>The test concurrency (<code>-concurrency</code>).</p>
<p>Defaults to TEST_JOBS (if set by <code>--with-test-jobs=</code>), otherwise it defaults to JOBS, except for Hotspot, where the default is <em>number of CPU cores/2</em>, but never more than 12.</p>
<h4 id="timeout">TIMEOUT</h4>
<h4 id="timeout_factor-1">TIMEOUT_FACTOR</h4>
<p>The timeout factor (<code>-timeoutFactor</code>).</p>
<p>Defaults to 4.</p>
<h4 id="test_mode">TEST_MODE</h4>
@@ -112,13 +127,21 @@ TEST FAILURE</code></pre>
<p>Limit memory consumption (<code>-Xmx</code> and <code>-vmoption:-Xmx</code>, or none).</p>
<p>Limit memory consumption for JTReg test framework and VM under test. Set to 0 to disable the limits.</p>
<p>Defaults to 512m, except for hotspot, where it defaults to 0 (no limit).</p>
<h4 id="keywords">KEYWORDS</h4>
<p>JTReg kewords sent to JTReg using <code>-k</code>. Please be careful in making sure that spaces and special characters (like <code>!</code>) are properly quoted. To avoid some issues, the special value <code>%20</code> can be used instead of space.</p>
<h4 id="extra_problem_lists">EXTRA_PROBLEM_LISTS</h4>
<p>Use additional problem lists file or files, in addition to the default ProblemList.txt located at the JTReg test roots.</p>
<p>If multiple file names are specified, they should be separated by space (or, to help avoid quoting issues, the special value <code>%20</code>).</p>
<p>The file names should be either absolute, or relative to the JTReg test root of the tests to be run.</p>
<h4 id="options">OPTIONS</h4>
<p>Additional options to the JTReg test framework.</p>
<p>Use <code>JTREG=&quot;OPTIONS=--help all&quot;</code> to see all available JTReg options.</p>
<h4 id="java_options">JAVA_OPTIONS</h4>
<h4 id="java_options-1">JAVA_OPTIONS</h4>
<p>Additional Java options to JTReg (<code>-javaoption</code>).</p>
<h4 id="vm_options">VM_OPTIONS</h4>
<h4 id="vm_options-1">VM_OPTIONS</h4>
<p>Additional VM options to JTReg (<code>-vmoption</code>).</p>
<h4 id="aot_modules-1">AOT_MODULES</h4>
<p>Generate AOT modules before testing for the specified module, or set of modules. If multiple modules are specified, they should be separated by space (or, to help avoid quoting issues, the special value <code>%20</code>).</p>
<h3 id="gtest-keywords">Gtest keywords</h3>
<h4 id="repeat">REPEAT</h4>
<p>The number of times to repeat the tests (<code>--gtest_repeat</code>).</p>
@@ -126,11 +149,23 @@ TEST FAILURE</code></pre>
<h4 id="options-1">OPTIONS</h4>
<p>Additional options to the Gtest test framework.</p>
<p>Use <code>GTEST=&quot;OPTIONS=--help&quot;</code> to see all available Gtest options.</p>
<h4 id="aot_modules-2">AOT_MODULES</h4>
<p>Generate AOT modules before testing for the specified module, or set of modules. If multiple modules are specified, they should be separated by space (or, to help avoid quoting issues, the special value <code>%20</code>).</p>
<h2 id="notes-for-specific-tests">Notes for Specific Tests</h2>
<h3 id="docker-tests">Docker Tests</h3>
<p>Docker tests with default parameters may fail on systems with glibc versions not compatible with the one used in the default docker image (e.g., Oracle Linux 7.6 for x86). For example, they pass on Ubuntu 16.04 but fail on Ubuntu 18.04 if run like this on x86:</p>
<pre><code>$ make run-test TEST=&quot;jtreg:test/hotspot/jtreg/containers/docker&quot;</code></pre>
<p>To run these tests correctly, additional parameters for the correct docker image are required on Ubuntu 18.04 by using <code>JAVA_OPTIONS</code>.</p>
<pre><code>$ make run-test TEST=&quot;jtreg:test/hotspot/jtreg/containers/docker&quot; JTREG=&quot;JAVA_OPTIONS=-Djdk.test.docker.image.name=ubuntu -Djdk.test.docker.image.version=latest&quot;</code></pre>
<h3 id="client-ui-tests">Client UI Tests</h3>
<p>Some Client UI tests use key sequences which may be reserved by the operating system. Usually that causes the test failure. So it is highly recommended to disable system key shortcuts prior testing. The steps to access and disable system key shortcuts for various platforms are provided below.</p>
<h4 id="macos">MacOS</h4>
<p>Choose Apple menu; System Preferences, click Keyboard, then click Shortcuts; select or deselect desired shortcut.</p>
<p>For example, test/jdk/javax/swing/TooltipManager/JMenuItemToolTipKeyBindingsTest/JMenuItemToolTipKeyBindingsTest.java fails on MacOS because it uses <code>CTRL + F1</code> key sequence to show or hide tooltip message but the key combination is reserved by the operating system. To run the test correctly the default global key shortcut should be disabled using the steps described above, and then deselect “Turn keyboard access on or off” option which is responsible for <code>CTRL + F1</code> combination.</p>
<h4 id="linux">Linux</h4>
<p>Open the Activities overview and start typing Settings; Choose Settings, click Devices, then click Keyboard; set or override desired shortcut.</p>
<h4 id="windows">Windows</h4>
<p>Type <code>gpedit</code> in the Search and then click Edit group policy; navigate to User Configuration -&gt; Administrative Templates -&gt; Windows Components -&gt; File Explorer; in the right-side pane look for “Turn off Windows key hotkeys” and double click on it; enable or disable hotkeys.</p>
<p>Note: restart is required to make the settings take effect.</p>
</body>
</html>

View File

@@ -162,6 +162,35 @@ proper quoting of command line arguments through.)
As far as possible, the names of the keywords have been standardized between
test suites.
### General keywords (TEST_OPTS)
Some keywords are valid across different test suites. If you want to run
tests from multiple test suites, or just don't want to care which test suite specific
control variable to use, then you can use the general TEST_OPTS control variable.
There are also some keywords that applies globally to the test runner system,
not to any specific test suites. These are also available as TEST_OPTS keywords.
#### JOBS
Currently only applies to JTReg.
#### TIMEOUT_FACTOR
Currently only applies to JTReg.
#### VM_OPTIONS
Applies to JTReg, GTest and Micro.
#### JAVA_OPTIONS
Applies to JTReg, GTest and Micro.
#### AOT_MODULES
Applies to JTReg and GTest.
### JTReg keywords
#### JOBS
@@ -171,7 +200,7 @@ Defaults to TEST_JOBS (if set by `--with-test-jobs=`), otherwise it defaults to
JOBS, except for Hotspot, where the default is *number of CPU cores/2*, but
never more than 12.
#### TIMEOUT
#### TIMEOUT_FACTOR
The timeout factor (`-timeoutFactor`).
Defaults to 4.
@@ -205,6 +234,24 @@ to disable the limits.
Defaults to 512m, except for hotspot, where it defaults to 0 (no limit).
#### KEYWORDS
JTReg kewords sent to JTReg using `-k`. Please be careful in making sure that
spaces and special characters (like `!`) are properly quoted. To avoid some
issues, the special value `%20` can be used instead of space.
#### EXTRA_PROBLEM_LISTS
Use additional problem lists file or files, in addition to the default
ProblemList.txt located at the JTReg test roots.
If multiple file names are specified, they should be separated by space (or, to
help avoid quoting issues, the special value `%20`).
The file names should be either absolute, or relative to the JTReg test root of
the tests to be run.
#### OPTIONS
Additional options to the JTReg test framework.
@@ -216,6 +263,12 @@ Additional Java options to JTReg (`-javaoption`).
#### VM_OPTIONS
Additional VM options to JTReg (`-vmoption`).
#### AOT_MODULES
Generate AOT modules before testing for the specified module, or set of
modules. If multiple modules are specified, they should be separated by space
(or, to help avoid quoting issues, the special value `%20`).
### Gtest keywords
#### REPEAT
@@ -230,6 +283,12 @@ Additional options to the Gtest test framework.
Use `GTEST="OPTIONS=--help"` to see all available Gtest options.
#### AOT_MODULES
Generate AOT modules before testing for the specified module, or set of
modules. If multiple modules are specified, they should be separated by space
(or, to help avoid quoting issues, the special value `%20`).
## Notes for Specific Tests
### Docker Tests
@@ -245,6 +304,35 @@ required on Ubuntu 18.04 by using `JAVA_OPTIONS`.
$ make run-test TEST="jtreg:test/hotspot/jtreg/containers/docker" JTREG="JAVA_OPTIONS=-Djdk.test.docker.image.name=ubuntu -Djdk.test.docker.image.version=latest"
### Client UI Tests
Some Client UI tests use key sequences which may be reserved by the operating
system. Usually that causes the test failure. So it is highly recommended to disable
system key shortcuts prior testing. The steps to access and disable system key shortcuts
for various platforms are provided below.
#### MacOS
Choose Apple menu; System Preferences, click Keyboard, then click Shortcuts;
select or deselect desired shortcut.
For example, test/jdk/javax/swing/TooltipManager/JMenuItemToolTipKeyBindingsTest/JMenuItemToolTipKeyBindingsTest.java fails
on MacOS because it uses `CTRL + F1` key sequence to show or hide tooltip message
but the key combination is reserved by the operating system. To run the test correctly
the default global key shortcut should be disabled using the steps described above, and then deselect
"Turn keyboard access on or off" option which is responsible for `CTRL + F1` combination.
#### Linux
Open the Activities overview and start typing Settings; Choose Settings, click Devices,
then click Keyboard; set or override desired shortcut.
#### Windows
Type `gpedit` in the Search and then click Edit group policy; navigate to
User Configuration -> Administrative Templates -> Windows Components -> File Explorer;
in the right-side pane look for "Turn off Windows key hotkeys" and double click on it;
enable or disable hotkeys.
Note: restart is required to make the settings take effect.
---
# Override some definitions in the global css file that are not optimal for
# this document.

View File

@@ -2,7 +2,7 @@
FROM centos:7
RUN yum -y install centos-release-scl
RUN yum -y install devtoolset-8
RUN yum -y install zip bzip2 unzip tar wget make autoconf automake libtool alsa-devel cups-devel xorg-x11-devel libjpeg62-devel giflib-devel freetype-devel file which libXtst-devel libXt-devel libXrender-devel alsa-lib-devel fontconfig-devel libXrandr-devel libXi-devel
RUN yum -y install zip bzip2 unzip tar wget make autoconf automake libtool alsa-devel cups-devel xorg-x11-devel libjpeg62-devel giflib-devel freetype-devel file which libXtst-devel libXt-devel libXrender-devel alsa-lib-devel fontconfig-devel libXrandr-devel libXi-devel git
# Install Java 11
RUN wget https://bintray.com/jetbrains/intellij-jbr/download_file?file_path=jbrsdk-11_0_3-linux-x64-b360.2.tar.gz \
-O - | tar xz -C /

View File

@@ -0,0 +1,3 @@
VENDOR_NAME="JetBrains s.r.o."
VENDOR_VERSION_STRING="JBR-${JBSDK_VERSION_WITH_DOTS}.${JDK_BUILD_NUMBER}-${build_number}"
[ -z ${bundle_type} ] || VENDOR_VERSION_STRING="${VENDOR_VERSION_STRING}-${bundle_type}"

View File

@@ -0,0 +1,33 @@
Index: modules.list
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- modules.list (revision 8ff658704ad572469e293cf84de8295a01340673)
+++ modules.list (date 1592803808421)
@@ -61,5 +61,4 @@
jdk.unsupported,
jdk.xml.dom,
jdk.zipfs,
-jdk.hotspot.agent,
-jcef
+jdk.hotspot.agent
Index: src/java.desktop/share/classes/module-info.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/java.desktop/share/classes/module-info.java (revision 8ff658704ad572469e293cf84de8295a01340673)
+++ src/java.desktop/share/classes/module-info.java (date 1592803808412)
@@ -109,10 +109,7 @@
// see make/GensrcModuleInfo.gmk
exports sun.awt to
jdk.accessibility,
- jdk.unsupported.desktop,
- jcef;
-
- exports java.awt.peer to jcef;
+ jdk.unsupported.desktop;
exports java.awt.dnd.peer to jdk.unsupported.desktop;
exports sun.awt.dnd to jdk.unsupported.desktop;

View File

@@ -0,0 +1,21 @@
Index: modules.list
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- modules.list (revision 8ff658704ad572469e293cf84de8295a01340673)
+++ modules.list (date 1592804013230)
@@ -20,13 +20,6 @@
java.transaction.xa,
java.xml,
java.xml.crypto,
-javafx.base,
-javafx.controls,
-javafx.fxml,
-javafx.graphics,
-javafx.media,
-javafx.swing,
-javafx.web,
jdk.accessibility,
jdk.aot,
jdk.attach,

View File

@@ -0,0 +1,9 @@
#!/bin/bash -x
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
script_dir=jb/project/tools/linux/scripts
${script_dir}/mkimages.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jcef" || exit $?
${script_dir}/mkimages.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jfx" || exit $?
${script_dir}/mkimages.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jfx_jcef" || exit $?

View File

@@ -1,13 +1,15 @@
#!/bin/bash
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbrlw-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
@@ -18,45 +20,76 @@
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
source jb/project/tools/common.sh
function create_jbr {
if [ -d "$BASE_DIR/$JBR_BUNDLE" ]; then
rm -rf $BASE_DIR/$JBR_BUNDLE
fi
if [ ! -z "$1" ]; then
case "$1" in
"${bundle_type}_lw")
JBR_BASE_NAME=jbr_${bundle_type}_lw-${JBSDK_VERSION}
grep -v "jdk.compiler\|jdk.hotspot.agent" modules.list > modules_tmp.list
else
;;
"jfx_jcef" | "jcef")
JBR_BASE_NAME=jbr_${bundle_type}-${JBSDK_VERSION}
cat modules.list > modules_tmp.list
fi
;;
"jfx")
JBR_BASE_NAME=jbr-${JBSDK_VERSION}
cat modules.list > modules_tmp.list
;;
*)
echo "***ERR*** bundle was not specified" && exit 1
;;
esac
rm -rf ${BASE_DIR}/${JBR_BUNDLE}
JBR=$JBR_BASE_NAME-linux-x64-b$build_number
echo Running jlink....
$JSDK/bin/jlink \
--module-path $JSDK/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules_tmp.list | sed s/" "//g) --output $BASE_DIR/$JBR_BUNDLE
cp -R jcef_linux_x64/* $BASE_DIR/$JBR_BUNDLE/lib || exit $?
if [[ "$bundle_type" == *jcef* ]]; then
cp -R $BASE_DIR/$JBR_BUNDLE $BASE_DIR/jbr
cp -R jcef_linux_x64/* $BASE_DIR/$JBR_BUNDLE/lib || exit $?
fi
grep -v "^JAVA_VERSION" $JSDK/release | grep -v "^MODULES" >> $BASE_DIR/$JBR_BUNDLE/release
echo Creating $JBR.tar.gz ...
tar -pcf $JBR.tar -C $BASE_DIR $JBR_BUNDLE || exit $?
rm -rf ${BASE_DIR}/jbr
cp -R ${BASE_DIR}/${JBR_BUNDLE} ${BASE_DIR}/jbr
tar -pcf $JBR.tar -C $BASE_DIR jbr || exit $?
gzip $JBR.tar || exit $?
rm -rf ${BASE_DIR}/${JBR_BUNDLE}
}
JBRSDK_BASE_NAME=jbrsdk-$JBSDK_VERSION
JBR_BASE_NAME=jbr-$JBSDK_VERSION
JBRLW_BASE_NAME=jbrlw-$JBSDK_VERSION
git checkout -- modules.list src/java.desktop/share/classes/module-info.java
case "$bundle_type" in
"jfx")
git apply -p0 < jb/project/tools/exclude_jcef_module.patch
;;
"jcef")
git apply -p0 < jb/project/tools/exclude_jfx_module.patch
;;
esac
sh configure \
--disable-warnings-as-errors \
--with-debug-level=release \
--with-version-build=$JDK_BUILD_NUMBER \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-version-pre= \
--with-version-opt=b$build_number \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
--with-import-modules=./modular-sdk \
--enable-cds=yes || exit $?
make clean CONF=linux-x86_64-normal-server-release || exit $?
make images CONF=linux-x86_64-normal-server-release || exit $?
JSDK=build/linux-x86_64-normal-server-release/images/jdk
@@ -70,24 +103,29 @@ JBRSDK_BUNDLE=jbrsdk
rm -rf $BASE_DIR/$JBRSDK_BUNDLE
cp -r $JSDK $BASE_DIR/$JBRSDK_BUNDLE || exit $?
cp -R jcef_linux_x64/* $BASE_DIR/$JBRSDK_BUNDLE/lib || exit $?
echo Creating $JBSDK.tar.gz ...
tar -pcf $JBSDK.tar --exclude=*.debuginfo --exclude=demo --exclude=sample --exclude=man -C $BASE_DIR $JBRSDK_BUNDLE || exit $?
gzip $JBSDK.tar || exit $?
if [[ "$bundle_type" == *jcef* ]]; then
cp -R jcef_linux_x64/* $BASE_DIR/$JBRSDK_BUNDLE/lib || exit $?
fi
if [ "$bundle_type" == "jfx_jcef" ]; then
echo Creating $JBSDK.tar.gz ...
sed 's/JBR/JBRSDK/g' ${BASE_DIR}/${JBRSDK_BUNDLE}/release > release
mv release ${BASE_DIR}/${JBRSDK_BUNDLE}/release
JBR=$JBR_BASE_NAME-linux-x64-b$build_number
JBR_BUNDLE=jbr
create_jbr
tar -pcf $JBSDK.tar --exclude=*.debuginfo --exclude=demo --exclude=sample --exclude=man \
-C $BASE_DIR $JBRSDK_BUNDLE || exit $?
gzip $JBSDK.tar || exit $?
fi
JBR=$JBRLW_BASE_NAME-linux-x64-b$build_number
JBR_BUNDLE=jbrlw
create_jbr "lw"
JBR_BUNDLE=jbr_${bundle_type}
create_jbr ${bundle_type}
make test-image || exit $?
if [ "$bundle_type" == "jfx_jcef" ]; then
make test-image || exit $?
JBRSDK_TEST=$JBRSDK_BASE_NAME-linux-test-x64-b$build_number
JBRSDK_TEST=$JBRSDK_BASE_NAME-linux-test-x64-b$build_number
echo Creating $JBSDK_TEST.tar.gz ...
tar -pcf $JBRSDK_TEST.tar -C $BASE_DIR --exclude='test/jdk/demos' test || exit $?
gzip $JBRSDK_TEST.tar || exit $?
echo Creating $JBSDK_TEST.tar.gz ...
tar -pcf $JBRSDK_TEST.tar -C $BASE_DIR --exclude='test/jdk/demos' test || exit $?
gzip $JBRSDK_TEST.tar || exit $?
fi

View File

@@ -0,0 +1,9 @@
#!/bin/bash -x
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
script_dir=jb/project/tools/mac/scripts
${script_dir}/mkimages.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jcef" || exit $?
${script_dir}/mkimages.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jfx" || exit $?
${script_dir}/mkimages.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jfx_jcef" || exit $?

View File

@@ -1,13 +1,15 @@
#!/bin/bash
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbrlw-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
@@ -18,43 +20,82 @@
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
source jb/project/tools/common.sh
function create_jbr {
mkdir -p $JRE_CONTENTS
if [ -d "$JRE_HOME" ]; then
rm -rf $JRE_HOME
fi
if [ ! -z "$1" ]; then
case "$1" in
"${bundle_type}_lw")
JBR_BASE_NAME=jbr_${bundle_type}_lw-${JBSDK_VERSION}
grep -v "jdk.compiler\|jdk.hotspot.agent" modules.list > modules_tmp.list
else
;;
"jfx_jcef" | "jcef")
JBR_BASE_NAME=jbr_${bundle_type}-${JBSDK_VERSION}
cat modules.list > modules_tmp.list
;;
"jfx")
JBR_BASE_NAME=jbr-${JBSDK_VERSION}
cat modules.list > modules_tmp.list
;;
*)
echo "***ERR*** bundle was not specified" && exit 1
;;
esac
rm -rf ${BASE_DIR}/${JBR_BUNDLE}
JRE_CONTENTS=${BASE_DIR}/${JBR_BUNDLE}/Contents
JRE_HOME=${JRE_CONTENTS}/Home
if [ -d "${JRE_CONTENTS}" ]; then
rm -rf ${JRE_CONTENTS}
fi
mkdir -p ${JRE_CONTENTS}
JBR=${JBR_BASE_NAME}-osx-x64-b${build_number}
${BASE_DIR}/$JBRSDK_BUNDLE/Contents/Home/bin/jlink \
--module-path ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/Home/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules_tmp.list | sed s/" "//g) --output ${JRE_HOME} || exit $?
grep -v "^JAVA_VERSION" ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/Home/release | grep -v "^MODULES" >> ${JRE_HOME}/release
cp -R ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/MacOS ${JRE_CONTENTS}
cp ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/Info.plist ${JRE_CONTENTS}
if [[ "${bundle_type}" == *jcef* ]]; then
rm -rf ${JRE_CONTENTS}/Frameworks || exit $?
rm -rf ${JRE_CONTENTS}/Helpers || exit $?
cp -a jcef_mac/Frameworks ${JRE_CONTENTS} || exit $?
cp -a jcef_mac/Helpers ${JRE_CONTENTS} || exit $?
fi
$BASE_DIR/$JBRSDK_BUNDLE/Contents/Home/bin/jlink \
--module-path $BASE_DIR/$JBRSDK_BUNDLE/Contents/Home/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules_tmp.list | sed s/" "//g) --output $JRE_HOME || exit $?
grep -v "^JAVA_VERSION" $BASE_DIR/$JBRSDK_BUNDLE/Contents/Home/release | grep -v "^MODULES" >> $JRE_HOME/release
cp -R $BASE_DIR/$JBRSDK_BUNDLE/Contents/MacOS $JRE_CONTENTS
cp $BASE_DIR/$JBRSDK_BUNDLE/Contents/Info.plist $JRE_CONTENTS
cp -a jcef_mac/Frameworks $JRE_CONTENTS || exit $?
cp -a jcef_mac/Helpers $JRE_CONTENTS || exit $?
echo Creating $JBR.tar.gz ...
COPYFILE_DISABLE=1 tar -pczf $JBR.tar.gz --exclude='*.dSYM' --exclude='man' -C $BASE_DIR $JBR_BUNDLE || exit $?
echo Creating ${JBR}.tar.gz ...
rm -rf ${BASE_DIR}/jbr
cp -R ${BASE_DIR}/${JBR_BUNDLE} ${BASE_DIR}/jbr
COPYFILE_DISABLE=1 tar -pczf ${JBR}.tar.gz --exclude='*.dSYM' --exclude='man' -C ${BASE_DIR} jbr || exit $?
rm -rf ${BASE_DIR}/${JBR_BUNDLE}
}
JBRSDK_BASE_NAME=jbrsdk-$JBSDK_VERSION
JBR_BASE_NAME=jbr-$JBSDK_VERSION
JBRLW_BASE_NAME=jbrlw-$JBSDK_VERSION
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
git checkout -- modules.list src/java.desktop/share/classes/module-info.java
case "$bundle_type" in
"jfx")
git apply -p0 < jb/project/tools/exclude_jcef_module.patch || exit $?
;;
"jcef")
git apply -p0 < jb/project/tools/exclude_jfx_module.patch || exit $?
;;
esac
sh configure \
--disable-warnings-as-errors \
--with-debug-level=release \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-version-pre= \
--with-version-build=$JDK_BUILD_NUMBER \
--with-version-opt=b$build_number \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
--with-import-modules=./modular-sdk \
--with-boot-jdk=`/usr/libexec/java_home -v 11` \
--enable-cds=yes || exit $?
@@ -62,42 +103,38 @@ sh configure \
make images CONF=macosx-x86_64-normal-server-release || exit $?
JSDK=build/macosx-x86_64-normal-server-release/images/jdk-bundle
JBSDK=$JBRSDK_BASE_NAME-osx-x64-b$build_number
JBSDK=${JBRSDK_BASE_NAME}-osx-x64-b${build_number}
BASE_DIR=jre
JBRSDK_BUNDLE=jbrsdk
rm -rf $BASE_DIR
mkdir $BASE_DIR || exit $?
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
cp -a build/macosx-x86_64-normal-server-release/images/jdk-bundle/jdk-$JBSDK_VERSION_WITH_DOTS.jdk \
$BASE_DIR/$JBRSDK_BUNDLE || exit $?
cp -a $JSDK/jdk-$JBSDK_VERSION_WITH_DOTS.jdk $BASE_DIR/$JBRSDK_BUNDLE || exit $?
echo Creating $JBSDK.tar.gz ...
cp -a jcef_mac/Frameworks $BASE_DIR/$JBRSDK_BUNDLE/Contents/
cp -a jcef_mac/Helpers $BASE_DIR/$JBRSDK_BUNDLE/Contents/
if [[ "$bundle_type" == *jcef* ]]; then
cp -a jcef_mac/Frameworks $BASE_DIR/$JBRSDK_BUNDLE/Contents/
cp -a jcef_mac/Helpers $BASE_DIR/$JBRSDK_BUNDLE/Contents/
fi
if [ "$bundle_type" == "jfx_jcef" ]; then
echo Creating $JBSDK.tar.gz ...
sed 's/JBR/JBRSDK/g' ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/Home/release > release
mv release ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/Home/release
COPYFILE_DISABLE=1 tar -pczf $JBSDK.tar.gz -C $BASE_DIR \
--exclude='._*' --exclude='.DS_Store' --exclude='*~' \
--exclude='Home/demo' --exclude='Home/man' --exclude='Home/sample' \
$JBRSDK_BUNDLE || exit $?
fi
COPYFILE_DISABLE=1 tar -pczf $JBSDK.tar.gz -C $BASE_DIR \
--exclude='._*' --exclude='.DS_Store' --exclude='*~' \
--exclude='Home/demo' --exclude='Home/man' --exclude='Home/sample' \
$JBRSDK_BUNDLE || exit $?
JBR_BUNDLE=jbr_${bundle_type}
create_jbr "${bundle_type}" || exit $?
JBR=$JBR_BASE_NAME-osx-x64-b$build_number
JBR_BUNDLE=jbr
JRE_CONTENTS=$BASE_DIR/$JBR_BUNDLE/Contents
JRE_HOME=$JRE_CONTENTS/Home
create_jbr
if [ "$bundle_type" == "jfx_jcef" ]; then
make test-image || exit $?
JBR=$JBRLW_BASE_NAME-osx-x64-b$build_number
JBR_BUNDLE=jbrlw
JRE_CONTENTS=$BASE_DIR/$JBR_BUNDLE/Contents
JRE_HOME=$JRE_CONTENTS/Home
create_jbr "lw"
JBRSDK_TEST=$JBRSDK_BASE_NAME-osx-test-x64-b$build_number
make test-image || exit $?
JBRSDK_TEST=$JBRSDK_BASE_NAME-osx-test-x64-b$build_number
echo Creating $JBSDK_TEST.tar.gz ...
COPYFILE_DISABLE=1 tar -pczf $JBRSDK_TEST.tar.gz -C build/macosx-x86_64-normal-server-release/images \
--exclude='test/jdk/demos' test || exit $?
echo Creating $JBRSDK_TEST.tar.gz ...
COPYFILE_DISABLE=1 tar -pczf $JBRSDK_TEST.tar.gz -C build/macosx-x86_64-normal-server-release/images \
--exclude='test/jdk/demos' test || exit $?
fi

View File

@@ -0,0 +1,9 @@
#!/bin/bash -x
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
script_dir=jb/project/tools/windows/scripts
${script_dir}/mkimages.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jcef" || exit $?
${script_dir}/mkimages.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jfx" || exit $?
${script_dir}/mkimages.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jfx_jcef" || exit $?

View File

@@ -1,13 +1,15 @@
#!/bin/bash
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbrlw-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
@@ -18,58 +20,85 @@
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
source jb/project/tools/common.sh
function create_jbr {
rm -rf $BASE_DIR/$JBR_BUNDLE
if [ ! -z "$1" ]; then
case "$1" in
"${bundle_type}_lw")
grep -v "jdk.compiler\|jdk.hotspot.agent" modules.list > modules_tmp.list
else
;;
"jfx" | "jcef" | "jfx_jcef")
cat modules.list > modules_tmp.list
fi
;;
*)
echo "***ERR*** bundle was not specified" && exit 1
;;
esac
rm -rf ${JBR_BUNDLE}
$JSDK/bin/jlink \
--module-path $JSDK/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules_tmp.list | sed s/" "//g) --output $BASE_DIR/$JBR_BUNDLE || exit $?
cp -R jcef_win_x64/* $BASE_DIR/$JBR_BUNDLE/bin
${JSDK}/bin/jlink \
--module-path ${JSDK}/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules_tmp.list | sed s/" "//g) --output ${JBR_BUNDLE} || exit $?
if [[ "${bundle_type}" == *jcef* ]]
then
cp -R jcef_win_x64/* ${JBR_BUNDLE}/bin
fi
echo Modifying release info ...
grep -v \"^JAVA_VERSION\" $JSDK/release | grep -v \"^MODULES\" >> $BASE_DIR/$JBR_BUNDLE/release
cat ${JSDK}/release | tr -d '\r' | grep -v 'JAVA_VERSION' | grep -v 'MODULES' >> ${JBR_BUNDLE}/release
}
JBRSDK_BASE_NAME=jbrsdk-$JBSDK_VERSION
JBR_BASE_NAME=jbr-$JBSDK_VERSION
JBRLW_BASE_NAME=jbrlw-$JBSDK_VERSION
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
WORK_DIR=$(pwd)
PATH="/usr/local/bin:/usr/bin:$PATH"
git checkout -- modules.list src/java.desktop/share/classes/module-info.java
case "$bundle_type" in
"jfx")
echo "Excluding jcef modules"
git apply -p0 < jb/project/tools/exclude_jcef_module.patch
;;
"jcef")
echo "Excluding jfx modules"
git apply -p0 < jb/project/tools/exclude_jfx_module.patch
;;
esac
PATH="/usr/local/bin:/usr/bin:${PATH}"
./configure \
--disable-warnings-as-errors \
--disable-debug-symbols \
--with-target-bits=64 \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-version-pre= \
--with-version-build=$JDK_BUILD_NUMBER \
--with-version-opt=b$build_number \
--with-import-modules=$WORK_DIR/modular-sdk \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
--with-import-modules=${WORK_DIR}/modular-sdk \
--with-toolchain-version=2015 \
--with-boot-jdk=$BOOT_JDK \
--with-boot-jdk=${BOOT_JDK} \
--disable-ccache \
--enable-cds=yes || exit 1
make clean CONF=windows-x86_64-normal-server-release || exit 1
make images CONF=windows-x86_64-normal-server-release || exit 1
make -d test-image || exit 1
if [ "$bundle_type" == "jfx_jcef" ]; then
make LOG=info images CONF=windows-x86_64-normal-server-release test-image || exit 1
else
make LOG=info images CONF=windows-x86_64-normal-server-release || exit 1
fi
JSDK=build/windows-x86_64-normal-server-release/images/jdk
JBR=$JBR_BASE_NAME-windows-x64-b$build_number
JBSDK=$JBRSDK_BASE_NAME-windows-x64-b$build_number
if [[ "$bundle_type" == *jcef* ]]; then
JBSDK=${JBRSDK_BASE_NAME}-windows-x64-b${build_number}
fi
BASE_DIR=build/windows-x86_64-normal-server-release/images
JBRSDK_BUNDLE=jbrsdk
rm -rf $BASE_DIR/$JBRSDK_BUNDLE && rsync -a --exclude demo --exclude sample $JSDK/ $JBRSDK_BUNDLE || exit 1
cp -R jcef_win_x64/* $JBRSDK_BUNDLE/bin
rm -rf ${BASE_DIR}/${JBRSDK_BUNDLE} && rsync -a --exclude demo --exclude sample ${JSDK}/ ${JBRSDK_BUNDLE} || exit 1
cp -R jcef_win_x64/* ${JBRSDK_BUNDLE}/bin
sed 's/JBR/JBRSDK/g' ${JSDK}/release > release
mv release ${JBRSDK_BUNDLE}/release
JBR_BUNDLE=jbr
create_jbr
JBR_BUNDLE=jbrlw
create_jbr "lw"
JBR_BUNDLE=jbr_${bundle_type}
create_jbr ${bundle_type}

View File

@@ -1,13 +1,15 @@
#!/bin/bash
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbrlw-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
@@ -18,29 +20,52 @@
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
function pack_jbr {
case "$1" in
"${bundle_type}_lw")
JBR_BASE_NAME=jbr_${bundle_type}_lw-${JBSDK_VERSION}
;;
"jfx_jcef" | "jcef")
JBR_BASE_NAME=jbr_${bundle_type}-${JBSDK_VERSION}
;;
"jfx")
JBR_BASE_NAME=jbr-${JBSDK_VERSION}
;;
*)
echo "***ERR*** bundle was not specified" && exit 1
;;
esac
JBR=$JBR_BASE_NAME-windows-x64-b$build_number
echo Creating $JBR.tar.gz ...
rm -rf ${BASE_DIR}/jbr
cp -R ${BASE_DIR}/${JBR_BUNDLE} ${BASE_DIR}/jbr
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR jbr || exit 1
}
JBRSDK_BASE_NAME=jbrsdk-$JBSDK_VERSION
JBR_BASE_NAME=jbr-$JBSDK_VERSION
JBRLW_BASE_NAME=jbrlw-$JBSDK_VERSION
JSDK=build/windows-x86_64-normal-server-release/images/jdk
IMAGES_DIR=build/windows-x86_64-normal-server-release/images
JSDK=$IMAGES_DIR/jdk
JBSDK=$JBRSDK_BASE_NAME-windows-x64-b$build_number
BASE_DIR=.
JBRSDK_BUNDLE=jbrsdk
BASE_DIR=build/windows-x86_64-normal-server-release/images
echo Creating $JBSDK.tar.gz ...
/usr/bin/tar -czf $JBSDK.tar.gz $JBRSDK_BUNDLE || exit 1
if [ "$bundle_type" == "jfx_jcef" ]; then
JBRSDK_BUNDLE=jbrsdk
echo Creating $JBSDK.tar.gz ...
/usr/bin/tar -czf $JBSDK.tar.gz $JBRSDK_BUNDLE || exit 1
fi
JBR_BUNDLE=jbr
JBR=$JBR_BASE_NAME-windows-x64-b$build_number
echo Creating $JBR.tar.gz ...
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR $JBR_BUNDLE || exit 1
JBR_BUNDLE=jbr_${bundle_type}
pack_jbr $bundle_type
JBR_BUNDLE=jbrlw
JBR=$JBRLW_BASE_NAME-windows-x64-b$build_number
echo Creating $JBR.tar.gz ...
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR $JBR_BUNDLE || exit 1
JBRSDK_TEST=$JBRSDK_BASE_NAME-windows-test-x64-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $BASE_DIR --exclude='test/jdk/demos' test || exit 1
if [ "$bundle_type" == "jfx_jcef" ]; then
JBRSDK_TEST=$JBRSDK_BASE_NAME-windows-test-x64-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || exit 1
fi

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -71,7 +71,7 @@ define SetupBundleFileBody
$$(call SetIfEmpty, $1_UNZIP_DEBUGINFO, false)
$(BUNDLES_OUTPUTDIR)/$$($1_BUNDLE_NAME): $$($1_FILES)
# If any of the files contain a space in the file name, CacheFind
# If any of the files contain a space in the file name, FindFiles
# will have replaced it with ?. Tar does not accept that so need to
# switch it back.
$$(foreach d, $$($1_BASE_DIRS), \
@@ -166,11 +166,12 @@ endif
################################################################################
ifneq ($(filter product-bundles legacy-bundles, $(MAKECMDGOALS)), )
$(eval $(call FillCacheFind, $(IMAGES_OUTPUTDIR)))
SYMBOLS_EXCLUDE_PATTERN := %.debuginfo %.diz %.pdb %.map
ALL_JDK_FILES := $(call CacheFind, $(JDK_IMAGE_DIR))
# There may be files with spaces in the names, so use ShellFindFiles
# explicitly.
ALL_JDK_FILES := $(call ShellFindFiles, $(JDK_IMAGE_DIR))
# Create special filter rules when dealing with unzipped .dSYM directories on
# macosx
@@ -201,11 +202,11 @@ ifneq ($(filter product-bundles legacy-bundles, $(MAKECMDGOALS)), )
$(ALL_JDK_FILES) \
) \
) \
$(call CacheFind, $(SYMBOLS_IMAGE_DIR))
$(call FindFiles, $(SYMBOLS_IMAGE_DIR))
TEST_DEMOS_BUNDLE_FILES := $(filter $(JDK_IMAGE_HOMEDIR)/demo/%, $(ALL_JDK_FILES))
ALL_JRE_FILES := $(call CacheFind, $(JRE_IMAGE_DIR))
ALL_JRE_FILES := $(call ShellFindFiles, $(JRE_IMAGE_DIR))
# Create special filter rules when dealing with unzipped .dSYM directories on
# macosx
@@ -221,24 +222,96 @@ ifneq ($(filter product-bundles legacy-bundles, $(MAKECMDGOALS)), )
$(SYMBOLS_EXCLUDE_PATTERN), \
$(ALL_JRE_FILES))
$(eval $(call SetupBundleFile, BUILD_JDK_BUNDLE, \
BUNDLE_NAME := $(JDK_BUNDLE_NAME), \
FILES := $(JDK_BUNDLE_FILES), \
SPECIAL_INCLUDES := $(JDK_SPECIAL_INCLUDES), \
BASE_DIRS := $(JDK_IMAGE_DIR), \
SUBDIR := $(JDK_BUNDLE_SUBDIR), \
))
# On Macosx release builds, when there is a code signing certificate available,
# the final bundle layout can be signed.
SIGN_BUNDLE := false
ifeq ($(OPENJDK_TARGET_OS)-$(DEBUG_LEVEL), macosx-release)
ifneq ($(CODESIGN), )
SIGN_BUNDLE := true
endif
endif
PRODUCT_TARGETS += $(BUILD_JDK_BUNDLE)
ifeq ($(SIGN_BUNDLE), true)
# Macosx release build and code signing available.
$(eval $(call SetupBundleFile, BUILD_JRE_BUNDLE, \
BUNDLE_NAME := $(JRE_BUNDLE_NAME), \
FILES := $(JRE_BUNDLE_FILES), \
BASE_DIRS := $(JRE_IMAGE_DIR), \
SUBDIR := $(JRE_BUNDLE_SUBDIR), \
))
################################################################################
# JDK bundle
$(eval $(call SetupCopyFiles, CREATE_JDK_BUNDLE_DIR_SIGNED, \
SRC := $(JDK_IMAGE_DIR), \
FILES := $(JDK_BUNDLE_FILES), \
DEST := $(JDK_MACOSX_BUNDLE_DIR_SIGNED), \
))
LEGACY_TARGETS += $(BUILD_JRE_BUNDLE)
JDK_SIGNED_CODE_RESOURCES := \
$(JDK_MACOSX_BUNDLE_DIR_SIGNED)/$(JDK_MACOSX_CONTENTS_SUBDIR)/_CodeSignature/CodeResources
$(JDK_SIGNED_CODE_RESOURCES): $(CREATE_JDK_BUNDLE_DIR_SIGNED)
$(call LogWarn, Signing $(JDK_BUNDLE_NAME))
$(CODESIGN) -s "$(MACOSX_CODESIGN_IDENTITY)" \
--timestamp --options runtime --deep --force \
$(JDK_MACOSX_BUNDLE_DIR_SIGNED)/$(JDK_MACOSX_BUNDLE_TOP_DIR) $(LOG_DEBUG)
$(TOUCH) $@
$(eval $(call SetupBundleFile, BUILD_JDK_BUNDLE, \
BUNDLE_NAME := $(JDK_BUNDLE_NAME), \
FILES := \
$(CREATE_JDK_BUNDLE_DIR_SIGNED) \
$(JDK_SIGNED_CODE_RESOURCES), \
BASE_DIRS := $(JDK_MACOSX_BUNDLE_DIR_SIGNED), \
SUBDIR := $(JDK_BUNDLE_SUBDIR), \
))
PRODUCT_TARGETS += $(BUILD_JDK_BUNDLE)
################################################################################
# JRE bundle
$(eval $(call SetupCopyFiles, CREATE_JRE_BUNDLE_DIR_SIGNED, \
SRC := $(JRE_IMAGE_DIR), \
FILES := $(JRE_BUNDLE_FILES), \
DEST := $(JRE_MACOSX_BUNDLE_DIR_SIGNED), \
))
JRE_SIGNED_CODE_RESOURCES := \
$(JRE_MACOSX_BUNDLE_DIR_SIGNED)/$(JRE_MACOSX_CONTENTS_SUBDIR)/_CodeSignature/CodeResources
$(JRE_SIGNED_CODE_RESOURCES): $(CREATE_JRE_BUNDLE_DIR_SIGNED)
$(call LogWarn, Signing $(JRE_BUNDLE_NAME))
$(CODESIGN) -s "$(MACOSX_CODESIGN_IDENTITY)" \
--timestamp --options runtime --deep --force \
$(JRE_MACOSX_BUNDLE_DIR_SIGNED)/$(JRE_MACOSX_BUNDLE_TOP_DIR) $(LOG_DEBUG)
$(TOUCH) $@
$(eval $(call SetupBundleFile, BUILD_JRE_BUNDLE, \
BUNDLE_NAME := $(JRE_BUNDLE_NAME), \
FILES := \
$(CREATE_JRE_BUNDLE_DIR_SIGNED) \
$(JRE_SIGNED_CODE_RESOURCES), \
BASE_DIRS := $(JRE_MACOSX_BUNDLE_DIR_SIGNED), \
SUBDIR := $(JRE_BUNDLE_SUBDIR), \
))
LEGACY_TARGETS += $(BUILD_JRE_BUNDLE)
else
# Not a Macosx release build or code signing not available.
$(eval $(call SetupBundleFile, BUILD_JDK_BUNDLE, \
BUNDLE_NAME := $(JDK_BUNDLE_NAME), \
FILES := $(JDK_BUNDLE_FILES), \
SPECIAL_INCLUDES := $(JDK_SPECIAL_INCLUDES), \
BASE_DIRS := $(JDK_IMAGE_DIR), \
SUBDIR := $(JDK_BUNDLE_SUBDIR), \
))
PRODUCT_TARGETS += $(BUILD_JDK_BUNDLE)
$(eval $(call SetupBundleFile, BUILD_JRE_BUNDLE, \
BUNDLE_NAME := $(JRE_BUNDLE_NAME), \
FILES := $(JRE_BUNDLE_FILES), \
BASE_DIRS := $(JRE_IMAGE_DIR), \
SUBDIR := $(JRE_BUNDLE_SUBDIR), \
))
LEGACY_TARGETS += $(BUILD_JRE_BUNDLE)
endif
$(eval $(call SetupBundleFile, BUILD_JDK_SYMBOLS_BUNDLE, \
BUNDLE_NAME := $(JDK_SYMBOLS_BUNDLE_NAME), \
@@ -266,7 +339,7 @@ endif
################################################################################
ifneq ($(filter test-bundles, $(MAKECMDGOALS)), )
TEST_BUNDLE_FILES := $(call CacheFind, $(TEST_IMAGE_DIR))
TEST_BUNDLE_FILES := $(call FindFiles, $(TEST_IMAGE_DIR))
$(eval $(call SetupBundleFile, BUILD_TEST_BUNDLE, \
BUNDLE_NAME := $(TEST_BUNDLE_NAME), \
@@ -280,7 +353,7 @@ endif
################################################################################
ifneq ($(filter docs-bundles, $(MAKECMDGOALS)), )
DOCS_BUNDLE_FILES := $(call CacheFind, $(DOCS_IMAGE_DIR))
DOCS_BUNDLE_FILES := $(call FindFiles, $(DOCS_IMAGE_DIR))
$(eval $(call SetupBundleFile, BUILD_DOCS_BUNDLE, \
BUNDLE_NAME := $(DOCS_BUNDLE_NAME), \

60
make/CompileCommands.gmk Normal file
View File

@@ -0,0 +1,60 @@
#
# Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
default: all
include $(SPEC)
include MakeBase.gmk
# When FIXPATH is set, let it process the file to make sure all paths are usable
# by system native tools. The FIXPATH tool assumes arguments preceeded by an @
# character points to a text file containing further arguments (similar to a
# linker). It replaces any such arguments with a different temporary filename,
# whose contents has been processed to make any paths native. To obtain a
# properly processed compile_commands.json, FIXPATH is then made to invoke an
# AWK script with the unprocessed json file as the only argument, prepended with
# an @ character. The AWK script simply copies the contents of this processed
# file.
#
# The sed command encloses the fragments inside brackets and removes the final
# trailing comma.
$(OUTPUTDIR)/compile_commands.json: $(wildcard $(MAKESUPPORT_OUTPUTDIR)/compile-commands/*.json)
$(call LogWarn, Updating compile_commands.json)
$(RM) $@
$(FIND) $(MAKESUPPORT_OUTPUTDIR)/compile-commands/ -name \*.json | \
$(SORT) | $(XARGS) $(CAT) >> $@.tmp
$(if $(FIXPATH),$(FIXPATH) $(AWK) 'BEGIN { \
tmpfile = substr(ARGV[2],2); \
cmd = "$(CP) " "\047" tmpfile "\047" " $@.tmp"; \
system(cmd); \
}' -- @$@.tmp)
$(SED) -e '1s/^/[\$(NEWLINE)/' -e '$(DOLLAR)s/,\s\{0,\}$(DOLLAR)/\$(NEWLINE)]/' $@.tmp > $@
$(RM) $@.tmp
TARGETS += $(OUTPUTDIR)/compile_commands.json
all: $(TARGETS)
.PHONY: all

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -43,7 +43,7 @@ $(eval $(call IncludeCustomExtension, CompileDemos-pre.gmk))
# Prepare the find cache.
DEMO_SRC_DIRS += $(TOPDIR)/src/demo
$(eval $(call FillCacheFind, $(wildcard $(DEMO_SRC_DIRS))))
$(call FillFindCache, $(DEMO_SRC_DIRS))
# Append demo goals to this variable.
TARGETS =
@@ -237,11 +237,11 @@ $(SUPPORT_OUTPUTDIR)/demos/image/nbproject/%: $(DEMO_SHARE_SRC)/nbproject/%
ifeq ($(OPENJDK_TARGET_OS), solaris)
TARGETS += $(patsubst $(DEMO_SHARE_SRC)/nbproject/%, \
$(SUPPORT_OUTPUTDIR)/demos/image/nbproject/%, \
$(call CacheFind, $(DEMO_SHARE_SRC)/nbproject))
$(call FindFiles, $(DEMO_SHARE_SRC)/nbproject))
else
TARGETS += $(patsubst $(DEMO_SHARE_SRC)/nbproject/%, \
$(SUPPORT_OUTPUTDIR)/demos/image/nbproject/%, \
$(call CacheFind, $(DEMO_SHARE_SRC)/nbproject))
$(call FindFiles, $(DEMO_SHARE_SRC)/nbproject))
endif
################################################################################
@@ -250,7 +250,7 @@ ifneq ($(filter images, $(MAKECMDGOALS)), )
$(eval $(call SetupCopyFiles, COPY_TO_TEST_IMAGE, \
SRC := $(SUPPORT_OUTPUTDIR)/demos/image, \
DEST := $(TEST_IMAGE_DIR)/jdk/demos, \
FILES := $(call CacheFind, $(SUPPORT_OUTPUTDIR)/demos/image), \
FILES := $(call FindFiles, $(SUPPORT_OUTPUTDIR)/demos/image), \
))
IMAGES_TARGETS := $(COPY_TO_TEST_IMAGE)

View File

@@ -644,7 +644,7 @@ endif
ifneq ($(wildcard $(IMPORT_MODULES_CLASSES)/$(MODULE)), )
$(JDK_OUTPUTDIR)/modules/$(MODULE)/_imported.marker: \
$(call CacheFind, $(IMPORT_MODULES_CLASSES)/$(MODULE))
$(call FindFiles, $(IMPORT_MODULES_CLASSES)/$(MODULE))
$(call MakeDir, $(@D))
# Do not delete marker and build meta data files
$(RM) -r $(filter-out $(@D)/_%, $(wildcard $(@D)/*))

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -35,7 +35,7 @@ LIBS_DIR := $(wildcard $(addsuffix /$(MODULE), $(IMPORT_MODULES_LIBS)))
CMDS_DIR := $(wildcard $(addsuffix /$(MODULE), $(IMPORT_MODULES_CMDS)))
CONF_DIR := $(wildcard $(addsuffix /$(MODULE), $(IMPORT_MODULES_CONF)))
$(eval $(call FillCacheFind, $(LIBS_DIR) $(CMDS_DIR) $(CONF_DIR)))
$(call FillFindCache, $(LIBS_DIR) $(CMDS_DIR) $(CONF_DIR))
ifneq ($(LIBS_DIR), )
ifeq ($(OPENJDK_TARGET_OS), windows)
@@ -45,21 +45,21 @@ ifneq ($(LIBS_DIR), )
SRC := $(LIBS_DIR), \
DEST := $(JDK_OUTPUTDIR)/bin, \
FILES := $(filter $(TO_BIN_FILTER), \
$(call CacheFind, $(LIBS_DIR))) \
$(call FindFiles, $(LIBS_DIR))) \
))
$(eval $(call SetupCopyFiles, COPY_LIBS_TO_LIB, \
SRC := $(LIBS_DIR), \
DEST := $(JDK_OUTPUTDIR)/lib, \
FILES := $(filter-out $(TO_BIN_FILTER), \
$(call CacheFind, $(LIBS_DIR))) \
$(call FindFiles, $(LIBS_DIR))) \
))
TARGETS += $(COPY_LIBS_TO_BIN) $(COPY_LIBS_TO_LIB)
else
$(eval $(call SetupCopyFiles, COPY_LIBS, \
SRC := $(LIBS_DIR), \
DEST := $(JDK_OUTPUTDIR)/lib, \
FILES := $(filter %$(SHARED_LIBRARY_SUFFIX), $(call CacheFind, $(LIBS_DIR))), \
FILES := $(filter %$(SHARED_LIBRARY_SUFFIX), $(call FindFiles, $(LIBS_DIR))), \
))
# Use relative links if the import dir is inside the OUTPUTDIR, otherwise
@@ -75,7 +75,7 @@ ifneq ($(LIBS_DIR), )
$(eval $(call SetupCopyFiles, LINK_LIBS, \
SRC := $(LIBS_DIR), \
DEST := $(JDK_OUTPUTDIR)/lib, \
FILES := $(filter-out %$(SHARED_LIBRARY_SUFFIX), $(call CacheFind, $(LIBS_DIR))), \
FILES := $(filter-out %$(SHARED_LIBRARY_SUFFIX), $(call FindFiles, $(LIBS_DIR))), \
MACRO := $(LINK_MACRO), \
LOG_ACTION := $(LOG_ACTION), \
))
@@ -87,7 +87,7 @@ ifneq ($(CMDS_DIR), )
$(eval $(call SetupCopyFiles, COPY_CMDS, \
SRC := $(CMDS_DIR), \
DEST := $(JDK_OUTPUTDIR)/bin, \
FILES := $(call CacheFind, $(CMDS_DIR)), \
FILES := $(call FindFiles, $(CMDS_DIR)), \
))
TARGETS += $(COPY_CMDS)
endif
@@ -96,7 +96,7 @@ ifneq ($(CONF_DIR), )
$(eval $(call SetupCopyFiles, COPY_CONF, \
SRC := $(CONF_DIR), \
DEST := $(JDK_OUTPUTDIR)/lib, \
FILES := $(call CacheFind, $(CONF_DIR)), \
FILES := $(call FindFiles, $(CONF_DIR)), \
))
TARGETS += $(COPY_CONF)
endif

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -39,7 +39,7 @@ MODULES_TO_COPY := $(sort \
COPY_CLASSES_TARGET := $(BUILDJDK_OUTPUTDIR)/jdk/modules/java.base/_the.buildjdk-copy-marker
$(COPY_CLASSES_TARGET): $(call CacheFind, $(wildcard \
$(COPY_CLASSES_TARGET): $(call FindFiles, $(wildcard \
$(addprefix $(JDK_OUTPUTDIR)/modules/, $(MODULES_TO_COPY))))
$(ECHO) $(LOG_INFO) "Copying java modules to buildjdk: $(MODULES_TO_COPY)"
$(RM) -r $(BUILDJDK_OUTPUTDIR)/jdk/modules
@@ -56,7 +56,7 @@ TARGETS += $(COPY_CLASSES_TARGET)
$(eval $(call SetupCopyFiles, COPY_SUPPORT_HEADERS, \
SRC := $(OUTPUTDIR), \
DEST := $(BUILDJDK_OUTPUTDIR), \
FILES := $(call CacheFind, $(wildcard \
FILES := $(call FindFiles, $(wildcard \
$(addprefix $(SUPPORT_OUTPUTDIR)/headers/, $(MODULES_TO_COPY)))), \
))

View File

@@ -51,33 +51,33 @@ INCLUDE_HEADERS_DIR ?= $(firstword $(wildcard $(addsuffix /$(MODULE), \
MAN_DIR ?= $(firstword $(wildcard $(addsuffix /$(MODULE), \
$(SUPPORT_OUTPUTDIR)/modules_man $(IMPORT_MODULES_MAN))))
$(eval $(call FillCacheFind, \
$(call FillFindCache, \
$(LIBS_DIR) $(CMDS_DIR) $(CONF_DIR) $(CLASSES_DIR) \
))
)
ifneq ($(LIBS_DIR), )
JMOD_FLAGS += --libs $(LIBS_DIR)
DEPS += $(call CacheFind, $(LIBS_DIR))
DEPS += $(call FindFiles, $(LIBS_DIR))
endif
ifneq ($(CMDS_DIR), )
JMOD_FLAGS += --cmds $(CMDS_DIR)
DEPS += $(call CacheFind, $(CMDS_DIR))
DEPS += $(call FindFiles, $(CMDS_DIR))
endif
ifneq ($(CONF_DIR), )
JMOD_FLAGS += --config $(CONF_DIR)
DEPS += $(call CacheFind, $(CONF_DIR))
DEPS += $(call FindFiles, $(CONF_DIR))
endif
ifneq ($(CLASSES_DIR), )
JMOD_FLAGS += --class-path $(CLASSES_DIR)
DEPS += $(call CacheFind, $(CLASSES_DIR))
DEPS += $(call FindFiles, $(CLASSES_DIR))
endif
ifneq ($(INCLUDE_HEADERS_DIR), )
JMOD_FLAGS += --header-files $(INCLUDE_HEADERS_DIR)
DEPS += $(call CacheFind, $(INCLUDE_HEADERS_DIR))
DEPS += $(call FindFiles, $(INCLUDE_HEADERS_DIR))
endif
ifneq ($(MAN_DIR), )
JMOD_FLAGS += --man-pages $(MAN_DIR)
DEPS += $(call CacheFind, $(MAN_DIR))
DEPS += $(call FindFiles, $(MAN_DIR))
endif
# If a specific modules_legal dir exists for this module, only pick up files
@@ -91,7 +91,7 @@ LEGAL_NOTICES := \
)
LEGAL_NOTICES_PATH := $(call PathList, $(LEGAL_NOTICES))
DEPS += $(call CacheFind, $(LEGAL_NOTICES))
DEPS += $(call FindFiles, $(LEGAL_NOTICES))
JMOD_FLAGS += --legal-notices $(LEGAL_NOTICES_PATH)
@@ -145,7 +145,7 @@ endif
# the actual command. Filter that out using wildcard before adding to DEPS.
DEPS += $(wildcard $(JMOD_CMD))
ifeq ($(EXTERNAL_BUILDJDK), false)
DEPS += $(call CacheFind, $(JDK_OUTPUTDIR)/modules/jdk.jlink/jdk/tools/jmod)
DEPS += $(call FindFiles, $(JDK_OUTPUTDIR)/modules/jdk.jlink/jdk/tools/jmod)
endif
# If creating interim versions of jmods, certain files need to be filtered out

View File

@@ -341,7 +341,7 @@ define SetupApiDocsGenerationBody
$$(SUPPORT_OUTPUTDIR)/docs/$1.vardeps)
# Get a list of all files in all the source dirs for all included modules
$1_SOURCE_DEPS := $$(call CacheFind, $$(wildcard $$(foreach module, \
$1_SOURCE_DEPS := $$(call FindFiles, $$(wildcard $$(foreach module, \
$$($1_ALL_MODULES), $$(call FindModuleSrcDirs, $$(module)))))
# Javadoc creates a lot of files but use index.html as a marker
@@ -496,7 +496,7 @@ JDK_INDEX_TARGETS += $(JDK_INDEX_HTML)
GLOBAL_SPECS_RESOURCES_DIR := $(TOPDIR)/make/data/docs-resources/
$(eval $(call SetupCopyFiles, COPY_GLOBAL_RESOURCES, \
SRC := $(GLOBAL_SPECS_RESOURCES_DIR), \
FILES := $(call CacheFind, $(GLOBAL_SPECS_RESOURCES_DIR)), \
FILES := $(call FindFiles, $(GLOBAL_SPECS_RESOURCES_DIR)), \
DEST := $(DOCS_OUTPUTDIR), \
))
JDK_INDEX_TARGETS += $(COPY_GLOBAL_RESOURCES)
@@ -521,10 +521,10 @@ COPY_SPEC_FILTER := %.html %.gif %.jpg %.mib %.css
$(foreach m, $(ALL_MODULES), \
$(eval SPECS_$m := $(call FindModuleSpecsDirs, $m)) \
$(foreach d, $(SPECS_$m), \
$(if $(filter $(COPY_SPEC_FILTER), $(call CacheFind, $d)), \
$(if $(filter $(COPY_SPEC_FILTER), $(call FindFiles, $d)), \
$(eval $(call SetupCopyFiles, COPY_$m, \
SRC := $d, \
FILES := $(filter $(COPY_SPEC_FILTER), $(call CacheFind, $d)), \
FILES := $(filter $(COPY_SPEC_FILTER), $(call FindFiles, $d)), \
DEST := $(DOCS_OUTPUTDIR)/specs/, \
)) \
$(eval JDK_SPECS_TARGETS += $(COPY_$m)) \
@@ -541,11 +541,11 @@ ifeq ($(ENABLE_FULL_DOCS), true)
$(foreach m, $(ALL_MODULES), \
$(eval SPECS_$m := $(call FindModuleSpecsDirs, $m)) \
$(foreach d, $(SPECS_$m), \
$(if $(filter %.md, $(call CacheFind, $d)), \
$(if $(filter %.md, $(call FindFiles, $d)), \
$(eval $m_$d_NAME := CONVERT_MARKDOWN_$m_$(strip $(call RelativePath, $d, $(TOPDIR)))) \
$(eval $(call SetupProcessMarkdown, $($m_$d_NAME), \
SRC := $d, \
FILES := $(filter %.md, $(call CacheFind, $d)), \
FILES := $(filter %.md, $(call FindFiles, $d)), \
DEST := $(DOCS_OUTPUTDIR)/specs/, \
CSS := $(GLOBAL_SPECS_DEFAULT_CSS_FILE), \
)) \

View File

@@ -276,21 +276,14 @@ endif
ifeq ($(GCOV_ENABLED), true)
GCOV_FIND_EXPR := -type f -name "*.gcno"
$(eval $(call SetupCopyFiles,COPY_HOTSPOT_GCOV_GCNO, \
$(eval $(call SetupCopyFiles,COPY_GCOV_GCNO, \
SRC := $(OUTPUTDIR), \
DEST := $(SYMBOLS_IMAGE_DIR)/gcov, \
FILES := $(shell $(FIND) $(HOTSPOT_OUTPUTDIR) $(GCOV_FIND_EXPR))))
FILES := $(call FindFiles, $(HOTSPOT_OUTPUTDIR) \
$(SUPPORT_OUTPUTDIR)/native, *.gcno) \
))
SYMBOLS_TARGETS += $(COPY_HOTSPOT_GCOV_GCNO)
$(eval $(call SetupCopyFiles,COPY_JDK_GCOV_GCNO, \
SRC := $(OUTPUTDIR), \
DEST := $(SYMBOLS_IMAGE_DIR)/gcov, \
FILES := $(shell $(FIND) $(SUPPORT_OUTPUTDIR)/native $(GCOV_FIND_EXPR))))
SYMBOLS_TARGETS += $(COPY_JDK_GCOV_GCNO)
SYMBOLS_TARGETS += $(COPY_GCOV_GCNO)
endif
@@ -323,10 +316,10 @@ else
# On Macosx, if debug symbols have not been zipped, find all files inside *.dSYM
# dirs.
ifeq ($(OPENJDK_TARGET_OS), macosx)
$(eval $(call FillCacheFind, \
$(SUPPORT_OUTPUTDIR)/modules_cmds $(SUPPORT_OUTPUTDIR)/modules_libs))
$(call FillFindCache, \
$(SUPPORT_OUTPUTDIR)/modules_cmds $(SUPPORT_OUTPUTDIR)/modules_libs)
FindDebuginfoFiles = \
$(if $(wildcard $1), $(call containing, .dSYM/, $(call CacheFind, $1)))
$(if $(wildcard $1), $(call containing, .dSYM/, $(call FindFiles, $1)))
endif
endif

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -52,13 +52,13 @@ ifeq ($(OPENJDK_TARGET_OS), macosx)
$(eval $(call SetupCopyFiles, COPY_JDK_IMAGE, \
SRC := $(JDK_IMAGE_DIR), \
DEST := $(JDK_MACOSX_CONTENTS_DIR)/Home, \
FILES := $(call CacheFind, $(JDK_IMAGE_DIR)), \
FILES := $(call FindFiles, $(JDK_IMAGE_DIR)), \
))
$(eval $(call SetupCopyFiles, COPY_JRE_IMAGE, \
SRC := $(JRE_IMAGE_DIR), \
DEST := $(JRE_MACOSX_CONTENTS_DIR)/Home, \
FILES := $(call CacheFind, $(JRE_IMAGE_DIR)), \
FILES := $(call FindFiles, $(JRE_IMAGE_DIR)), \
))
$(eval $(call SetupCopyFiles, COPY_LIBJLI_JDK, \

View File

@@ -80,7 +80,7 @@ ifneq ($(CREATING_BUILDJDK), true)
interim-cldrconverter:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CopyInterimCLDRConverter.gmk)
interim-tzdb:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CopyInterimTZDB.gmk)
@@ -140,7 +140,7 @@ ifneq ($(CREATING_BUILDJDK), true)
define DeclareModuleInfoRecipe
$1-gensrc-moduleinfo:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) \
-f GensrcModuleInfo.gmk MODULE=$1)
-f gensrc/GensrcModuleInfo.gmk MODULE=$1)
$1-gensrc: $1-gensrc-moduleinfo
endef
@@ -266,6 +266,52 @@ hotspot-ide-project:
ALL_TARGETS += $(HOTSPOT_VARIANT_TARGETS) $(HOTSPOT_VARIANT_GENSRC_TARGETS) \
$(HOTSPOT_VARIANT_LIBS_TARGETS) hotspot-ide-project
################################################################################
# Generate libs and launcher targets for creating compile_commands.json fragments
define DeclareCompileCommandsRecipe
$1-compile-commands:
$$(call LogInfo, Generating compile_commands.json fragments for $1)
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Main.gmk $1-only \
GENERATE_COMPILE_COMMANDS_ONLY=true)
COMPILE_COMMANDS_TARGETS_$2 += $1-compile-commands
endef
$(foreach t, $(HOTSPOT_VARIANT_LIBS_TARGETS), \
$(eval $(call DeclareCompileCommandsRecipe,$t,HOTSPOT)) \
)
$(foreach t, $(LIBS_TARGETS) $(LAUNCHER_TARGETS), \
$(eval $(call DeclareCompileCommandsRecipe,$t,JDK)) \
)
compile-commands compile-commands-hotspot:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileCommands.gmk)
ALL_TARGETS += $(COMPILE_COMMANDS_TARGETS_HOTSPOT) $(COMPILE_COMMANDS_TARGETS_JDK)
ALL_TARGETS += compile-commands compile-commands-hotspot
################################################################################
# VS Code projects
vscode-project:
+($(CD) $(TOPDIR)/make/vscode && $(MAKE) $(MAKE_ARGS) -f CreateVSCodeProject.gmk \
VSCODE_INDEXER=cpptools)
vscode-project-clangd:
+($(CD) $(TOPDIR)/make/vscode && $(MAKE) $(MAKE_ARGS) -f CreateVSCodeProject.gmk \
VSCODE_INDEXER=clangd)
vscode-project-rtags:
+($(CD) $(TOPDIR)/make/vscode && $(MAKE) $(MAKE_ARGS) -f CreateVSCodeProject.gmk \
VSCODE_INDEXER=rtags)
vscode-project-ccls:
+($(CD) $(TOPDIR)/make/vscode && $(MAKE) $(MAKE_ARGS) -f CreateVSCodeProject.gmk \
VSCODE_INDEXER=ccls)
ALL_TARGETS += vscode-project vscode-project-clangd vscode-project-rtags \
vscode-project-ccls
################################################################################
# Build demos targets
@@ -563,8 +609,12 @@ test-jdk-jtreg-native:
test-make:
($(CD) $(TOPDIR)/test/make && $(MAKE) $(MAKE_ARGS) -f TestMake.gmk $(TEST_TARGET))
test-compile-commands:
($(CD) $(TOPDIR)/test/make && $(MAKE) $(MAKE_ARGS) -f TestMake.gmk test-compile-commands)
ALL_TARGETS += test test-hotspot-jtreg test-hotspot-jtreg-native \
test-hotspot-internal test-hotspot-gtest test-jdk-jtreg-native test-make
test-hotspot-internal test-hotspot-gtest test-jdk-jtreg-native test-make \
test-compile-commands
################################################################################
# Bundles
@@ -636,7 +686,6 @@ else
# Declare dependencies between hotspot-<variant>* targets
$(foreach v, $(JVM_VARIANTS), \
$(eval hotspot-$v: hotspot-$v-gensrc hotspot-$v-libs) \
$(eval hotspot-$v-gensrc: java.base-copy) \
$(eval hotspot-$v-libs: hotspot-$v-gensrc java.base-copy) \
)
@@ -699,16 +748,17 @@ else
# copied and processed.
java.desktop-gensrc-src: java.base-gensrc java.base-copy
# The annotation processing for jdk.internal.vm.ci and jdk.internal.vm.compiler
# needs classes from the current JDK.
jdk.internal.vm.ci-gensrc-src: $(addsuffix -java, \
$(call FindTransitiveDepsForModule, jdk.internal.vm.ci))
# The annotation processing for jdk.internal.vm.compiler
# and jdk.internal.vm.compiler.management needs classes from the current JDK.
jdk.internal.vm.compiler-gensrc-src: $(addsuffix -java, \
$(call FindTransitiveDepsForModule, jdk.internal.vm.compiler))
jdk.internal.vm.compiler.management-gensrc-src: $(addsuffix -java, \
$(call FindTransitiveDepsForModule, jdk.internal.vm.compiler.management))
# For jdk.internal.vm.compiler, the gensrc step is generating a module-info.java.extra
# For these modules, the gensrc step is generating a module-info.java.extra
# file to be processed by the gensrc-moduleinfo target.
jdk.internal.vm.compiler-gensrc-moduleinfo: jdk.internal.vm.compiler-gensrc-src
jdk.internal.vm.compiler.management-gensrc-moduleinfo: jdk.internal.vm.compiler.management-gensrc-src
jdk.jdeps-gendata: java rmic
@@ -743,6 +793,25 @@ else
$(foreach m, $(ALL_MODULES), $(eval $m-jmod: $($(m)_JMOD_DEPS)))
$(foreach m, $(INTERIM_IMAGE_MODULES), $(eval $m-interim-jmod: $($(m)_JMOD_DEPS)))
# Setup the minimal set of generated native source dependencies for hotspot
$(foreach v, $(JVM_VARIANTS), \
$(eval hotspot-$v-libs-compile-commands: hotspot-$v-gensrc) \
$(foreach m, $(filter java.desktop jdk.hotspot.agent, $(GENSRC_MODULES)), \
$(eval hotspot-$v-libs-compile-commands: $m-gensrc)) \
)
# For the full JDK compile commands, create all possible generated sources
$(foreach m, $(GENSRC_MODULES), $(eval $m-libs-compile-commands: $m-gensrc))
$(foreach m, $(filter $(JAVA_MODULES), $(LIBS_MODULES)), $(eval $m-libs-compile-commands: $m-java))
compile-commands-hotspot: $(COMPILE_COMMANDS_TARGETS_HOTSPOT)
compile-commands: $(COMPILE_COMMANDS_TARGETS_HOTSPOT) $(COMPILE_COMMANDS_TARGETS_JDK)
vscode-project: compile-commands
vscode-project-clangd: compile-commands
vscode-project-rtags: compile-commands
vscode-project-ccls: compile-commands
# Jmods cannot be created until we have the jmod tool ready to run. During
# a normal build we run it from the exploded image, but when cross compiling
# it's run from the buildjdk, which is either created at build time or user
@@ -857,6 +926,8 @@ else
test-make: clean-test-make
test-compile-commands: compile-commands
build-test-lib: exploded-image-optimize
build-test-failure-handler: interim-langtools
@@ -910,6 +981,10 @@ JVM_TOOLS_TARGETS ?= buildtools-hotspot
buildtools: buildtools-langtools interim-langtools interim-rmic \
buildtools-jdk $(JVM_TOOLS_TARGETS)
# Declare dependencies from hotspot-<variant> targets
$(foreach v, $(JVM_VARIANTS), \
$(eval hotspot-$v: hotspot-$v-gensrc hotspot-$v-libs) \
)
hotspot: $(HOTSPOT_VARIANT_TARGETS)
# Create targets hotspot-libs and hotspot-gensrc.
@@ -1086,7 +1161,7 @@ CLEAN_MODULE_PHASE_TARGETS := $(addprefix clean-, $(foreach m, $(ALL_MODULES), \
# Remove everything, except the output from configure.
clean: $(CLEAN_DIR_TARGETS)
($(CD) $(OUTPUTDIR) && $(RM) -r build*.log*)
($(CD) $(OUTPUTDIR) && $(RM) -r build*.log* compile_commands.json)
$(ECHO) Cleaned all build artifacts.
clean-docs:

View File

@@ -100,5 +100,9 @@ $(eval $(call SetupCopyFiles, COPY_CONF, \
$(TARGETS)), \
))
all: $(TARGETS) $(COPY_LIBS_TO_BIN) $(COPY_LIBS_TO_LIB) \
$(COPY_INCLUDE) $(COPY_CMDS) $(COPY_CONF) $(LINK_LIBS_TO_LIB)
ifeq ($(GENERATE_COMPILE_COMMANDS_ONLY), true)
all: $(filter $(MAKESUPPORT_OUTPUTDIR)/compile-commands/%, $(TARGETS))
else
all: $(TARGETS) $(COPY_LIBS_TO_BIN) $(COPY_LIBS_TO_LIB) \
$(COPY_INCLUDE) $(COPY_CMDS) $(COPY_CONF) $(LINK_LIBS_TO_LIB)
endif

View File

@@ -83,7 +83,7 @@ endif
$(eval $(call ParseKeywordVariable, TEST_OPTS, \
SINGLE_KEYWORDS := JOBS TIMEOUT_FACTOR, \
STRING_KEYWORDS := VM_OPTIONS JAVA_OPTIONS, \
STRING_KEYWORDS := VM_OPTIONS JAVA_OPTIONS AOT_MODULES, \
))
# Helper function to propagate TEST_OPTS values.
@@ -141,8 +141,93 @@ ifneq ($(wildcard $(JTREG_FAILURE_HANDLER)), )
-timeoutHandlerTimeout:0
endif
GTEST_LAUNCHER_DIRS := $(patsubst %/gtestLauncher, %, $(wildcard $(TEST_IMAGE_DIR)/hotspot/gtest/*/gtestLauncher))
GTEST_VARIANTS := $(strip $(patsubst $(TEST_IMAGE_DIR)/hotspot/gtest/%, %, $(GTEST_LAUNCHER_DIRS)))
GTEST_LAUNCHER_DIRS := $(patsubst %/gtestLauncher, %, \
$(wildcard $(TEST_IMAGE_DIR)/hotspot/gtest/*/gtestLauncher))
GTEST_VARIANTS := $(strip $(patsubst $(TEST_IMAGE_DIR)/hotspot/gtest/%, %, \
$(GTEST_LAUNCHER_DIRS)))
################################################################################
# Optionally create AOT libraries for specified modules before running tests.
# Note, this could not be done during JDK build time.
################################################################################
# Note, this could not be done during JDK build time.
# Parameter 1 is the name of the rule.
#
# Remaining parameters are named arguments.
# MODULE The module to generate a library for
# BIN Output directory in which to put the library
# VM_OPTIONS List of JVM arguments to use when creating library
# OPTIONS_VAR Name of variable to put AOT java options in
# PREREQS_VAR Name of variable to put all AOT prerequisite rule targets in
# for test rules to depend on
#
SetupAotModule = $(NamedParamsMacroTemplate)
define SetupAotModuleBody
$1_AOT_LIB := $$($1_BIN)/$$(call SHARED_LIBRARY,$$($1_MODULE))
$1_AOT_CCLIST := $$(wildcard $$(TOPDIR)/test/hotspot/jtreg/compiler/aot/scripts/$$($1_MODULE)-list.txt)
# Create jaotc flags.
# VM flags which don't affect AOT code generation are filtered out:
# -Xcomp, -XX:+-TieredCompilation
$1_JAOTC_OPTS := \
-J-Xmx4g --info \
$$(addprefix -J, $$(filter-out -Xcomp %TieredCompilation, $$($1_VM_OPTIONS))) \
$$(addprefix --compile-commands$(SPACE), $$($1_AOT_CCLIST)) \
--linker-path $$(LD_JAOTC) \
#
ifneq ($$(filter -ea, $$($1_VM_OPTIONS)), )
$1_JAOTC_OPTS += --compile-with-assertions
endif
$$($1_AOT_LIB): $$(JDK_IMAGE_DIR)/release \
$$(call DependOnVariable, $1_JAOTC_OPTS) \
$$(call DependOnVariable, JDK_IMAGE_DIR)
$$(call LogWarn, Generating $$(patsubst $$(OUTPUTDIR)/%, %, $$@))
$$(call MakeTargetDir)
$$(call ExecuteWithLog, $$@, ( \
$$(FIXPATH) $$(JDK_IMAGE_DIR)/bin/jaotc \
$$($1_JAOTC_OPTS) --output $$@ --module $$($1_MODULE) \
))
$$(call ExecuteWithLog, $$@.check, ( \
$$(FIXPATH) $$(JDK_IMAGE_DIR)/bin/java \
$$($1_VM_OPTIONS) -XX:+UnlockDiagnosticVMOptions \
-XX:+PrintAOT -XX:+UseAOTStrictLoading \
-XX:AOTLibrary=$$@ -version \
> $$@.verify-aot \
))
$1_AOT_OPTIONS += -XX:AOTLibrary=$$($1_AOT_LIB)
$1_AOT_TARGETS += $$($1_AOT_LIB)
endef
# Parameter 1 is the name of the rule.
#
# Remaining parameters are named arguments.
# MODULES The modules to generate a library for
# VM_OPTIONS List of JVM arguments to use when creating libraries
#
# After calling this, the following variables are defined
# $1_AOT_OPTIONS List of all java options needed to use the AOT libraries
# $1_AOT_TARGETS List of all targets that the test rule will need to depend on
#
SetupAot = $(NamedParamsMacroTemplate)
define SetupAotBody
$$(info Running with AOTd libraries for $$($1_MODULES))
# Put aot libraries in a separate directory so they are not deleted between
# test runs and may be reused between make invocations.
$$(foreach m, $$($1_MODULES), \
$$(eval $$(call SetupAotModule, $1_$$m, \
MODULE := $$m, \
BIN := $$(TEST_SUPPORT_DIR)/aot/$1, \
VM_OPTIONS := $$($1_VM_OPTIONS), \
)) \
$$(eval $1_AOT_OPTIONS += $$($1_$$m_AOT_OPTIONS)) \
$$(eval $1_AOT_TARGETS += $$($1_$$m_AOT_TARGETS)) \
)
endef
################################################################################
# Setup global test running parameters
@@ -183,13 +268,17 @@ $(eval $(call SetTestOpt,JAVA_OPTIONS,JTREG))
$(eval $(call SetTestOpt,VM_OPTIONS,GTEST))
$(eval $(call SetTestOpt,JAVA_OPTIONS,GTEST))
$(eval $(call SetTestOpt,AOT_MODULES,JTREG))
$(eval $(call SetTestOpt,AOT_MODULES,GTEST))
$(eval $(call SetTestOpt,JOBS,JTREG))
$(eval $(call SetTestOpt,TIMEOUT_FACTOR,JTREG))
$(eval $(call ParseKeywordVariable, JTREG, \
SINGLE_KEYWORDS := JOBS TIMEOUT_FACTOR TEST_MODE ASSERT VERBOSE RETAIN MAX_MEM \
EXTRA_PROBLEM_LISTS KEYWORDS, \
STRING_KEYWORDS := OPTIONS JAVA_OPTIONS VM_OPTIONS, \
SINGLE_KEYWORDS := JOBS TIMEOUT_FACTOR TEST_MODE ASSERT VERBOSE RETAIN \
MAX_MEM, \
STRING_KEYWORDS := OPTIONS JAVA_OPTIONS VM_OPTIONS KEYWORDS \
EXTRA_PROBLEM_LISTS AOT_MODULES, \
))
ifneq ($(JTREG), )
@@ -199,7 +288,7 @@ endif
$(eval $(call ParseKeywordVariable, GTEST, \
SINGLE_KEYWORDS := REPEAT, \
STRING_KEYWORDS := OPTIONS VM_OPTIONS JAVA_OPTIONS, \
STRING_KEYWORDS := OPTIONS VM_OPTIONS JAVA_OPTIONS AOT_MODULES, \
))
ifneq ($(GTEST), )
@@ -337,7 +426,7 @@ endef
# Helper function to determine if a test specification is a special test
#
# It is a special test if it is "special:" followed by a test name.
# It is a special test if it is "special:" followed by a test name,
define ParseSpecialTestSelection
$(if $(filter special:%, $1), \
$1 \
@@ -428,20 +517,27 @@ define SetupRunGtestTestBody
$1_GTEST_REPEAT :=--gtest_repeat=$$(GTEST_REPEAT)
endif
run-test-$1: $(TEST_PREREQS)
ifneq ($$(GTEST_AOT_MODULES), )
$$(eval $$(call SetupAot, $1, \
MODULES := $$(GTEST_AOT_MODULES), \
VM_OPTIONS := $$(GTEST_VM_OPTIONS) $$(GTEST_JAVA_OPTIONS), \
))
endif
run-test-$1: $$($1_AOT_TARGETS)
$$(call LogWarn)
$$(call LogWarn, Running test '$$($1_TEST)')
$$(call MakeDir, $$($1_TEST_RESULTS_DIR) $$($1_TEST_SUPPORT_DIR))
$$(call ExecuteWithLog, $$($1_TEST_SUPPORT_DIR)/gtest, \
$$(call ExecuteWithLog, $$($1_TEST_SUPPORT_DIR)/gtest, ( \
$$(FIXPATH) $$(TEST_IMAGE_DIR)/hotspot/gtest/$$($1_VARIANT)/gtestLauncher \
-jdk $(JDK_IMAGE_DIR) $$($1_GTEST_FILTER) \
--gtest_output=xml:$$($1_TEST_RESULTS_DIR)/gtest.xml \
$$($1_GTEST_REPEAT) $$(GTEST_OPTIONS) $$(GTEST_VM_OPTIONS) \
$$($1_GTEST_JAVA_OPTIONS) \
$$(GTEST_JAVA_OPTIONS) $$($1_AOT_OPTIONS) \
> >($(TEE) $$($1_TEST_RESULTS_DIR)/gtest.txt) \
&& $$(ECHO) $$$$? > $$($1_EXITCODE) \
|| $$(ECHO) $$$$? > $$($1_EXITCODE) \
)
))
$1_RESULT_FILE := $$($1_TEST_RESULTS_DIR)/gtest.txt
@@ -609,7 +705,8 @@ define SetupRunJtregTestBody
$1_JTREG_BASIC_OPTIONS += -e:JIB_HOME=$$(JIB_HOME)
endif
$1_JTREG_BASIC_OPTIONS += -e:TEST_IMAGE_GRAAL_DIR=${TEST_IMAGE_DIR}/hotspot/jtreg/graal
$1_JTREG_BASIC_OPTIONS += -e:TEST_IMAGE_DIR=$(TEST_IMAGE_DIR)
$1_JTREG_BASIC_OPTIONS += -e:TEST_IMAGE_GRAAL_DIR=$(TEST_IMAGE_DIR)/hotspot/jtreg/graal
ifneq ($$(JTREG_FAILURE_HANDLER_OPTIONS), )
$1_JTREG_LAUNCHER_OPTIONS += -Djava.library.path="$(JTREG_FAILURE_HANDLER_DIR)"
@@ -626,14 +723,25 @@ define SetupRunJtregTestBody
endif
endif
ifneq ($$(JTREG_AOT_MODULES), )
$$(eval $$(call SetupAot, $1, \
MODULES := $$(JTREG_AOT_MODULES), \
VM_OPTIONS := $$(JTREG_VM_OPTIONS) $$(JTREG_JAVA_OPTIONS), \
))
endif
ifneq ($$($1_AOT_OPTIONS), )
$1_JTREG_BASIC_OPTIONS += -vmoptions:"$$($1_AOT_OPTIONS)"
endif
clean-workdir-$1:
$$(RM) -r $$($1_TEST_SUPPORT_DIR)
run-test-$1: clean-workdir-$1 $(TEST_PREREQS)
run-test-$1: clean-workdir-$1 $$($1_AOT_TARGETS)
$$(call LogWarn)
$$(call LogWarn, Running test '$$($1_TEST)')
$$(call MakeDir, $$($1_TEST_RESULTS_DIR) $$($1_TEST_SUPPORT_DIR))
$$(call ExecuteWithLog, $$($1_TEST_SUPPORT_DIR)/jtreg, \
$$(call ExecuteWithLog, $$($1_TEST_SUPPORT_DIR)/jtreg, ( \
$$(JAVA) $$($1_JTREG_LAUNCHER_OPTIONS) \
-Dprogram=jtreg -jar $$(JT_HOME)/lib/jtreg.jar \
$$($1_JTREG_BASIC_OPTIONS) \
@@ -646,7 +754,7 @@ define SetupRunJtregTestBody
$$($1_TEST_NAME) \
&& $$(ECHO) $$$$? > $$($1_EXITCODE) \
|| $$(ECHO) $$$$? > $$($1_EXITCODE) \
)
))
$1_RESULT_FILE := $$($1_TEST_RESULTS_DIR)/text/stats.txt
@@ -720,12 +828,12 @@ define SetupRunSpecialTestBody
$$(call LogWarn)
$$(call LogWarn, Running test '$$($1_TEST)')
$$(call MakeDir, $$($1_TEST_RESULTS_DIR) $$($1_TEST_SUPPORT_DIR))
$$(call ExecuteWithLog, $$($1_TEST_SUPPORT_DIR)/test-execution, \
$$(call ExecuteWithLog, $$($1_TEST_SUPPORT_DIR)/test-execution, ( \
$$($1_TEST_COMMAND_LINE) \
> >($(TEE) $$($1_TEST_RESULTS_DIR)/test-output.txt) \
&& $$(ECHO) $$$$? > $$($1_EXITCODE) \
|| $$(ECHO) $$$$? > $$($1_EXITCODE) \
)
))
$1_RESULT_FILE := $$($1_TEST_RESULTS_DIR)/gtest.txt

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -95,12 +95,12 @@ endef
# $1: The output file name
# $2..$N: The lines to output to the file
define CreateNewSpec
$(if $(strip $(27)), \
$(if $(strip $(31)), \
$(error Internal makefile error: \
Too many arguments to macro, please update CreateNewSpec in RunTestsPrebuilt.gmk) \
) \
$(shell $(RM) $1) \
$(foreach i, $(call sequence, 2, 26), \
$(foreach i, $(call sequence, 2, 30), \
$(if $(strip $($i)), \
$(call AppendFile, $(strip $($i)), $1) \
) \
@@ -250,6 +250,30 @@ ifeq ($(MEMORY_SIZE), )
MEMORY_SIZE := 1024
endif
# Setup LD for AOT support
ifneq ($(DEVKIT_HOME), )
ifeq ($(OPENJDK_TARGET_OS), windows)
LD_JAOTC := $(DEVKIT_HOME)/VC/bin/x64/link.exe
LIBRARY_PREFIX :=
SHARED_LIBRARY_SUFFIX := .dll
else ifeq ($(OPENJDK_TARGET_OS), linux)
LD_JAOTC := $(DEVKIT_HOME)/bin/ld
LIBRARY_PREFIX := lib
SHARED_LIBRARY_SUFFIX := .so
else ifeq ($(OPENJDK_TARGET_OS), macosx)
LD_JAOTC := $(DEVKIT_HOME)/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
LIBRARY_PREFIX := lib
SHARED_LIBRARY_SUFFIX := .dylib
else ifeq ($(OPENJDK_TARGET_OS), solaris)
# Prefer system linker for AOT on Solaris.
LD_JAOTC := ld
LIBRARY_PREFIX := lib
SHARED_LIBRARY_SUFFIX := .so
endif
else
LD := ld
endif
################################################################################
# Generate the ephemeral spec file
################################################################################
@@ -286,6 +310,9 @@ $(call CreateNewSpec, $(NEW_SPEC), \
OPENJDK_TARGET_CPU_ENDIAN := $(OPENJDK_TARGET_CPU_ENDIAN), \
NUM_CORES := $(NUM_CORES), \
MEMORY_SIZE := $(MEMORY_SIZE), \
LD_JAOTC := $(LD_JAOTC), \
LIBRARY_PREFIX := $(LIBRARY_PREFIX), \
SHARED_LIBRARY_SUFFIX := $(SHARED_LIBRARY_SUFFIX), \
include $(TOPDIR)/make/RunTestsPrebuiltSpec.gmk, \
$(CUSTOM_NEW_SPEC_LINE), \
)

View File

@@ -186,3 +186,7 @@ endif
ifeq ($(OPENJDK_BUILD_OS), windows)
CYGPATH := cygpath
endif
################################################################################
# Simple macros from spec.gmk.in
SHARED_LIBRARY=$(LIBRARY_PREFIX)$1$(SHARED_LIBRARY_SUFFIX)

View File

@@ -37,10 +37,22 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
$(call install-file)
endif
prepare-test-image: $(FIXPATH_COPY)
BUILD_INFO_PROPERTIES := $(TEST_IMAGE_DIR)/build-info.properties
FIXPATH_ECHO := $(FIXPATH) $(call FixPath, $(ECHO))
$(BUILD_INFO_PROPERTIES):
$(call MakeTargetDir)
$(ECHO) "# Build info properties for JDK tests" > $@
$(FIXPATH_ECHO) "build.workspace.root=$(WORKSPACE_ROOT)" >> $@
$(FIXPATH_ECHO) "build.output.root=$(OUTPUTDIR)" >> $@
prepare-test-image: $(FIXPATH_COPY) $(BUILD_INFO_PROPERTIES)
$(call MakeDir, $(TEST_IMAGE_DIR))
$(ECHO) > $(TEST_IMAGE_DIR)/Readme.txt 'JDK test image'
################################################################################
all: prepare-test-image
.PHONY: default all prepare-test-image

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2017, 2019, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -45,21 +45,13 @@ GLOBAL_SPECS_DEFAULT_CSS_FILE := $(TOPDIR)/make/data/docs-resources/resources/jd
DOCS_DIR := $(TOPDIR)/doc
$(eval $(call SetupProcessMarkdown, building, \
FILES := $(DOCS_DIR)/building.md, \
$(eval $(call SetupProcessMarkdown, md_docs, \
FILES := $(call FindFiles, $(DOCS_DIR), *.md), \
DEST := $(DOCS_DIR), \
CSS := $(GLOBAL_SPECS_DEFAULT_CSS_FILE), \
OPTIONS := --toc, \
))
TARGETS += $(building)
$(eval $(call SetupProcessMarkdown, testing, \
FILES := $(DOCS_DIR)/testing.md, \
DEST := $(DOCS_DIR), \
CSS := $(GLOBAL_SPECS_DEFAULT_CSS_FILE), \
OPTIONS := --toc, \
))
TARGETS += $(testing)
TARGETS += $(md_docs)
################################################################################

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -87,6 +87,7 @@ ifeq ($(SRC_GENERATED), true)
EXCLUDE_FILES := $(SRC_ZIP_EXCLUDE_FILES), \
SUFFIXES := .java, \
ZIP := $(SUPPORT_OUTPUTDIR)/src.zip, \
FOLLOW_SYMLINKS := true, \
))
do-zip: $(BUILD_SRC_ZIP)

View File

@@ -641,6 +641,13 @@ AC_DEFUN_ONCE([BASIC_SETUP_PATHS],
AC_MSG_RESULT([$TOPDIR])
AC_SUBST(TOPDIR)
if test "x$CUSTOM_ROOT" != x; then
WORKSPACE_ROOT="${CUSTOM_ROOT}"
else
WORKSPACE_ROOT="${TOPDIR}"
fi
AC_SUBST(WORKSPACE_ROOT)
# We can only call BASIC_FIXUP_PATH after BASIC_CHECK_PATHS_WINDOWS.
BASIC_FIXUP_PATH(CURDIR)
BASIC_FIXUP_PATH(TOPDIR)
@@ -867,11 +874,7 @@ AC_DEFUN_ONCE([BASIC_SETUP_OUTPUT_DIR],
AC_MSG_RESULT([in build directory with custom name])
fi
if test "x$CUSTOM_ROOT" != x; then
OUTPUTDIR="${CUSTOM_ROOT}/build/${CONF_NAME}"
else
OUTPUTDIR="${TOPDIR}/build/${CONF_NAME}"
fi
OUTPUTDIR="${WORKSPACE_ROOT}/build/${CONF_NAME}"
$MKDIR -p "$OUTPUTDIR"
if test ! -d "$OUTPUTDIR"; then
AC_MSG_ERROR([Could not create build directory $OUTPUTDIR])

View File

@@ -75,6 +75,8 @@ JVM_LDFLAGS := @OPENJDK_BUILD_JVM_LDFLAGS@
JVM_ASFLAGS := @OPENJDK_BUILD_JVM_ASFLAGS@
JVM_LIBS := @OPENJDK_BUILD_JVM_LIBS@
FDLIBM_CFLAGS := @OPENJDK_BUILD_FDLIBM_CFLAGS@
# The compiler for the build platform is likely not warning compatible with the official
# compiler.
WARNINGS_AS_ERRORS := false

View File

@@ -1,5 +1,5 @@
SRC#
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -98,6 +98,9 @@ HOTSPOT_SETUP_JVM_VARIANTS
# With basic setup done, call the custom early hook.
CUSTOM_EARLY_HOOK
# This only needs debug level to be setup
JDKOPT_ALLOW_ABSOLUTE_PATHS_IN_OUTPUT
# Check if we have devkits, extra paths or sysroot set.
BASIC_SETUP_DEVKIT

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -371,21 +371,7 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS],
FLAGS_CPU_LEGACY=$OPENJDK_BUILD_CPU_LEGACY
FLAGS_CPU_LEGACY_LIB=$OPENJDK_BUILD_CPU_LEGACY_LIB
FLAGS_SETUP_CFLAGS_CPU_DEP([BUILD], [OPENJDK_BUILD_])
COMPILER_FP_CONTRACT_OFF_FLAG="-ffp-contract=off"
# Check that the compiler supports -ffp-contract=off flag
# Set FDLIBM_CFLAGS to -ffp-contract=off if it does. Empty
# otherwise.
# These flags are required for GCC-based builds of
# fdlibm with optimization without losing precision.
# Notably, -ffp-contract=off needs to be added for GCC >= 4.6.
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [${COMPILER_FP_CONTRACT_OFF_FLAG}],
IF_TRUE: [FDLIBM_CFLAGS=${COMPILER_FP_CONTRACT_OFF_FLAG}],
IF_FALSE: [FDLIBM_CFLAGS=""])
fi
AC_SUBST(FDLIBM_CFLAGS)
FLAGS_SETUP_CFLAGS_CPU_DEP([BUILD], [OPENJDK_BUILD_], [BUILD_])
# Tests are only ever compiled for TARGET
CFLAGS_TESTLIB="$CFLAGS_JDKLIB"
@@ -496,15 +482,14 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
if test "x$TOOLCHAIN_TYPE" = xgcc; then
TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -fcheck-new -fstack-protector"
TOOLCHAIN_CFLAGS_JDK="-pipe -fstack-protector"
TOOLCHAIN_CFLAGS_JDK_CONLY="-fno-strict-aliasing" # technically NOT for CXX (but since this gives *worse* performance, use no-strict-aliasing everywhere!)
CXXSTD_CXXFLAG="-std=gnu++98"
FLAGS_CXX_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$CXXSTD_CXXFLAG -Werror],
IF_FALSE: [CXXSTD_CXXFLAG=""])
TOOLCHAIN_CFLAGS_JDK_CXXONLY="$CXXSTD_CXXFLAG"
TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM $CXXSTD_CXXFLAG"
ADLC_CXXFLAG="$CXXSTD_CXXFLAG"
# reduce lib size on s390x in link step, this needs also special compile flags
if test "x$OPENJDK_TARGET_CPU" = xs390x; then
TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -ffunction-sections -fdata-sections"
TOOLCHAIN_CFLAGS_JDK="$TOOLCHAIN_CFLAGS_JDK -ffunction-sections -fdata-sections"
fi
# technically NOT for CXX (but since this gives *worse* performance, use
# no-strict-aliasing everywhere!)
TOOLCHAIN_CFLAGS_JDK_CONLY="-fno-strict-aliasing"
elif test "x$TOOLCHAIN_TYPE" = xclang; then
# Restrict the debug information created by Clang to avoid
@@ -595,6 +580,7 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
# Where does this really belong??
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
PICFLAG="-fPIC"
PIEFLAG="-fPIE"
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
PICFLAG="-KPIC"
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
@@ -646,15 +632,13 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
OS_CFLAGS_JVM="$OS_CFLAGS_JVM -DNEEDS_LIBRT"
fi
fi
# EXPORT
AC_SUBST(ADLC_CXXFLAG)
])
################################################################################
# $1 - Either BUILD or TARGET to pick the correct OS/CPU variables to check
# conditionals against.
# $2 - Optional prefix for each variable defined.
# $3 - Optional prefix for compiler variables (either BUILD_ or nothing).
AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
[
#### CPU DEFINES, these should (in theory) be independent on toolchain
@@ -748,6 +732,13 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
$1_CFLAGS_CPU_JDK="${$1_CFLAGS_CPU_JDK} -fno-omit-frame-pointer"
fi
$1_CXXSTD_CXXFLAG="-std=gnu++98"
FLAGS_CXX_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [${$1_CXXSTD_CXXFLAG} -Werror],
PREFIX: $3, IF_FALSE: [$1_CXXSTD_CXXFLAG=""])
$1_TOOLCHAIN_CFLAGS_JDK_CXXONLY="${$1_CXXSTD_CXXFLAG}"
$1_TOOLCHAIN_CFLAGS_JVM="${$1_TOOLCHAIN_CFLAGS_JVM} ${$1_CXXSTD_CXXFLAG}"
$2ADLC_CXXFLAG="${$1_CXXSTD_CXXFLAG}"
elif test "x$TOOLCHAIN_TYPE" = xclang; then
if test "x$FLAGS_OS" = xlinux; then
# ppc test not really needed for clang
@@ -784,20 +775,44 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
fi
if test "x$TOOLCHAIN_TYPE" = xgcc; then
TOOLCHAIN_CHECK_COMPILER_VERSION(VERSION: 6, PREFIX: $2, IF_AT_LEAST: FLAGS_SETUP_GCC6_COMPILER_FLAGS($1))
FLAGS_SETUP_GCC6_COMPILER_FLAGS($1, $3)
$1_TOOLCHAIN_CFLAGS="${$1_GCC6_CFLAGS}"
$1_WARNING_CFLAGS_JVM="-Wno-format-zero-length -Wtype-limits -Wuninitialized"
fi
# Prevent the __FILE__ macro from generating absolute paths into the built
# binaries. Depending on toolchain, different mitigations are possible.
# * GCC and Clang of new enough versions have -fmacro-prefix-map.
# * For most other toolchains, supplying all source files and -I flags as
# relative paths fixes the issue.
FILE_MACRO_CFLAGS=
if test "x$ALLOW_ABSOLUTE_PATHS_IN_OUTPUT" = "xfalse"; then
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
# Check if compiler supports -fmacro-prefix-map. If so, use that to make
# the __FILE__ macro resolve to paths relative to the workspace root.
workspace_root_trailing_slash="${WORKSPACE_ROOT%/}/"
FILE_MACRO_CFLAGS="-fmacro-prefix-map=${workspace_root_trailing_slash}="
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [${FILE_MACRO_CFLAGS}],
PREFIX: $3,
IF_FALSE: [
FILE_MACRO_CFLAGS=
]
)
fi
fi
AC_SUBST(FILE_MACRO_CFLAGS)
# EXPORT to API
CFLAGS_JVM_COMMON="$ALWAYS_CFLAGS_JVM $ALWAYS_DEFINES_JVM $TOOLCHAIN_CFLAGS_JVM \
CFLAGS_JVM_COMMON="$ALWAYS_CFLAGS_JVM $ALWAYS_DEFINES_JVM \
$TOOLCHAIN_CFLAGS_JVM ${$1_TOOLCHAIN_CFLAGS_JVM} \
$OS_CFLAGS $OS_CFLAGS_JVM $CFLAGS_OS_DEF_JVM $DEBUG_CFLAGS_JVM \
$WARNING_CFLAGS $WARNING_CFLAGS_JVM $JVM_PICFLAG"
$WARNING_CFLAGS $WARNING_CFLAGS_JVM $JVM_PICFLAG $FILE_MACRO_CFLAGS"
CFLAGS_JDK_COMMON="$ALWAYS_CFLAGS_JDK $ALWAYS_DEFINES_JDK $TOOLCHAIN_CFLAGS_JDK \
$OS_CFLAGS $CFLAGS_OS_DEF_JDK $DEBUG_CFLAGS_JDK $DEBUG_OPTIONS_FLAGS_JDK \
$WARNING_CFLAGS $WARNING_CFLAGS_JDK $DEBUG_SYMBOLS_CFLAGS_JDK"
$WARNING_CFLAGS $WARNING_CFLAGS_JDK $DEBUG_SYMBOLS_CFLAGS_JDK \
$FILE_MACRO_CFLAGS"
# Use ${$2EXTRA_CFLAGS} to block EXTRA_CFLAGS to be added to build flags.
# (Currently we don't have any OPENJDK_BUILD_EXTRA_CFLAGS, but that might
@@ -805,7 +820,9 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
CFLAGS_JDK_COMMON_CONLY="$TOOLCHAIN_CFLAGS_JDK_CONLY \
$WARNING_CFLAGS_JDK_CONLY ${$2EXTRA_CFLAGS}"
CFLAGS_JDK_COMMON_CXXONLY="$ALWAYS_DEFINES_JDK_CXXONLY $TOOLCHAIN_CFLAGS_JDK_CXXONLY \
CFLAGS_JDK_COMMON_CXXONLY="$ALWAYS_DEFINES_JDK_CXXONLY \
$TOOLCHAIN_CFLAGS_JDK_CXXONLY \
${$1_TOOLCHAIN_CFLAGS_JDK_CXXONLY} \
$WARNING_CFLAGS_JDK_CXXONLY ${$2EXTRA_CXXFLAGS}"
$1_CFLAGS_JVM="${$1_DEFINES_CPU_JVM} ${$1_CFLAGS_CPU} ${$1_CFLAGS_CPU_JVM} ${$1_TOOLCHAIN_CFLAGS} ${$1_WARNING_CFLAGS_JVM}"
@@ -813,21 +830,40 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
$2JVM_CFLAGS="$CFLAGS_JVM_COMMON ${$1_CFLAGS_JVM} ${$2EXTRA_CXXFLAGS}"
$2CFLAGS_JDKEXE="$CFLAGS_JDK_COMMON $CFLAGS_JDK_COMMON_CONLY ${$1_CFLAGS_JDK}"
$2CXXFLAGS_JDKEXE="$CFLAGS_JDK_COMMON $CFLAGS_JDK_COMMON_CXXONLY ${$1_CFLAGS_JDK}"
$2CFLAGS_JDKLIB="${$2CFLAGS_JDKEXE} $JDK_PICFLAG ${$1_CFLAGS_CPU_JDK_LIBONLY}"
$2CXXFLAGS_JDKLIB="${$2CXXFLAGS_JDKEXE} $JDK_PICFLAG ${$1_CFLAGS_CPU_JDK_LIBONLY}"
$2CFLAGS_JDKEXE="$CFLAGS_JDK_COMMON $CFLAGS_JDK_COMMON_CONLY ${$1_CFLAGS_JDK} $PIEFLAG"
$2CXXFLAGS_JDKEXE="$CFLAGS_JDK_COMMON $CFLAGS_JDK_COMMON_CXXONLY ${$1_CFLAGS_JDK} $PIEFLAG"
$2CFLAGS_JDKLIB="$CFLAGS_JDK_COMMON $CFLAGS_JDK_COMMON_CONLY ${$1_CFLAGS_JDK} \
$JDK_PICFLAG ${$1_CFLAGS_CPU_JDK_LIBONLY}"
$2CXXFLAGS_JDKLIB="$CFLAGS_JDK_COMMON $CFLAGS_JDK_COMMON_CXXONLY ${$1_CFLAGS_JDK} \
$JDK_PICFLAG ${$1_CFLAGS_CPU_JDK_LIBONLY}"
AC_SUBST($2JVM_CFLAGS)
AC_SUBST($2CFLAGS_JDKLIB)
AC_SUBST($2CFLAGS_JDKEXE)
AC_SUBST($2CXXFLAGS_JDKLIB)
AC_SUBST($2CXXFLAGS_JDKEXE)
AC_SUBST($2ADLC_CXXFLAG)
COMPILER_FP_CONTRACT_OFF_FLAG="-ffp-contract=off"
# Check that the compiler supports -ffp-contract=off flag
# Set FDLIBM_CFLAGS to -ffp-contract=off if it does. Empty
# otherwise.
# These flags are required for GCC-based builds of
# fdlibm with optimization without losing precision.
# Notably, -ffp-contract=off needs to be added for GCC >= 4.6.
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [${COMPILER_FP_CONTRACT_OFF_FLAG}],
PREFIX: $3,
IF_TRUE: [$2FDLIBM_CFLAGS=${COMPILER_FP_CONTRACT_OFF_FLAG}],
IF_FALSE: [$2FDLIBM_CFLAGS=""])
fi
AC_SUBST($2FDLIBM_CFLAGS)
])
# FLAGS_SETUP_GCC6_COMPILER_FLAGS([PREFIX])
# Arguments:
# $1 - Prefix for each variable defined.
# $2 - Prefix for compiler variables (either BUILD_ or nothing).
AC_DEFUN([FLAGS_SETUP_GCC6_COMPILER_FLAGS],
[
# These flags are required for GCC 6 builds as undefined behaviour in OpenJDK code
@@ -835,14 +871,11 @@ AC_DEFUN([FLAGS_SETUP_GCC6_COMPILER_FLAGS],
# Notably, value range propagation now assumes that the this pointer of C++
# member functions is non-null.
NO_DELETE_NULL_POINTER_CHECKS_CFLAG="-fno-delete-null-pointer-checks"
dnl Argument check is disabled until FLAGS_COMPILER_CHECK_ARGUMENTS handles cross-compilation
dnl FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$NO_DELETE_NULL_POINTER_CHECKS_CFLAG -Werror],
dnl IF_FALSE: [NO_DELETE_NULL_POINTER_CHECKS_CFLAG=""])
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$NO_DELETE_NULL_POINTER_CHECKS_CFLAG -Werror],
PREFIX: $2, IF_FALSE: [NO_DELETE_NULL_POINTER_CHECKS_CFLAG=""])
NO_LIFETIME_DSE_CFLAG="-fno-lifetime-dse"
dnl Argument check is disabled until FLAGS_COMPILER_CHECK_ARGUMENTS handles cross-compilation
dnl FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$NO_LIFETIME_DSE_CFLAG -Werror],
dnl IF_FALSE: [NO_LIFETIME_DSE_CFLAG=""])
AC_MSG_NOTICE([GCC >= 6 detected; adding ${NO_DELETE_NULL_POINTER_CHECKS_CFLAG} and ${NO_LIFETIME_DSE_CFLAG}])
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$NO_LIFETIME_DSE_CFLAG -Werror],
PREFIX: $2, IF_FALSE: [NO_LIFETIME_DSE_CFLAG=""])
$1_GCC6_CFLAGS="${NO_DELETE_NULL_POINTER_CHECKS_CFLAG} ${NO_LIFETIME_DSE_CFLAG}"
])

View File

@@ -72,12 +72,14 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
fi
# Add -z defs, to forbid undefined symbols in object files.
BASIC_LDFLAGS="$BASIC_LDFLAGS -Wl,-z,defs"
# add relro (mark relocations read only) for all libs
BASIC_LDFLAGS="$BASIC_LDFLAGS -Wl,-z,defs -Wl,-z,relro"
# s390x : remove unused code+data in link step
if test "x$OPENJDK_TARGET_CPU" = xs390x; then
BASIC_LDFLAGS="$BASIC_LDFLAGS -Wl,--gc-sections -Wl,--print-gc-sections"
fi
BASIC_LDFLAGS_JVM_ONLY="-Wl,-z,noexecstack -Wl,-O1 -Wl,-z,relro"
BASIC_LDFLAGS_JDK_LIB_ONLY="-Wl,-z,noexecstack"
LIBJSIG_NOEXECSTACK_LDFLAGS="-Wl,-z,noexecstack"
BASIC_LDFLAGS_JVM_ONLY="-Wl,-O1"
elif test "x$TOOLCHAIN_TYPE" = xclang; then
BASIC_LDFLAGS_JVM_ONLY="-mno-omit-leaf-frame-pointer -mstack-alignment=16 \
@@ -103,6 +105,12 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
BASIC_LDFLAGS_JVM_ONLY="-opt:icf,8 -subsystem:windows"
fi
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
if test -n "$HAS_NOEXECSTACK"; then
BASIC_LDFLAGS="$BASIC_LDFLAGS -Wl,-z,noexecstack"
fi
fi
# Setup OS-dependent LDFLAGS
if test "x$TOOLCHAIN_TYPE" = xclang || test "x$TOOLCHAIN_TYPE" = xgcc; then
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
@@ -118,9 +126,6 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
if test "x$OPENJDK_TARGET_OS" = xlinux; then
if test x$DEBUG_LEVEL = xrelease; then
DEBUGLEVEL_LDFLAGS_JDK_ONLY="$DEBUGLEVEL_LDFLAGS_JDK_ONLY -Wl,-O1"
else
# mark relocations read only on (fast/slow) debug builds
DEBUGLEVEL_LDFLAGS_JDK_ONLY="-Wl,-z,relro"
fi
if test x$DEBUG_LEVEL = xslowdebug; then
# do relocations at load
@@ -140,6 +145,17 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
# Setup LDFLAGS for linking executables
if test "x$TOOLCHAIN_TYPE" = xgcc; then
EXECUTABLE_LDFLAGS="$EXECUTABLE_LDFLAGS -Wl,--allow-shlib-undefined"
# Enabling pie on 32 bit builds prevents the JVM from allocating a continuous
# java heap.
if test "x$OPENJDK_TARGET_CPU_BITS" != "x32"; then
EXECUTABLE_LDFLAGS="$EXECUTABLE_LDFLAGS -pie"
fi
fi
if test "x$ALLOW_ABSOLUTE_PATHS_IN_OUTPUT" = "xfalse"; then
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
BASIC_LDFLAGS="$BASIC_LDFLAGS -pdbaltpath:%_PDB%"
fi
fi
# Export some intermediate variables for compatibility

View File

@@ -416,17 +416,20 @@ AC_DEFUN([FLAGS_SETUP_FLAGS],
# ------------------------------------------------------------
# Check that the C compiler supports an argument
BASIC_DEFUN_NAMED([FLAGS_C_COMPILER_CHECK_ARGUMENTS],
[*ARGUMENT IF_TRUE IF_FALSE], [$@],
[*ARGUMENT IF_TRUE IF_FALSE PREFIX], [$@],
[
AC_MSG_CHECKING([if the C compiler supports "ARG_ARGUMENT"])
AC_MSG_CHECKING([if ARG_PREFIX[CC] supports "ARG_ARGUMENT"])
supports=yes
saved_cflags="$CFLAGS"
saved_cc="$CC"
CFLAGS="$CFLAGS ARG_ARGUMENT"
CC="$ARG_PREFIX[CC]"
AC_LANG_PUSH([C])
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int i;]])], [],
[supports=no])
AC_LANG_POP([C])
CC="$saved_cc"
CFLAGS="$saved_cflags"
AC_MSG_RESULT([$supports])
@@ -444,17 +447,20 @@ BASIC_DEFUN_NAMED([FLAGS_C_COMPILER_CHECK_ARGUMENTS],
# ------------------------------------------------------------
# Check that the C++ compiler supports an argument
BASIC_DEFUN_NAMED([FLAGS_CXX_COMPILER_CHECK_ARGUMENTS],
[*ARGUMENT IF_TRUE IF_FALSE], [$@],
[*ARGUMENT IF_TRUE IF_FALSE PREFIX], [$@],
[
AC_MSG_CHECKING([if the C++ compiler supports "ARG_ARGUMENT"])
AC_MSG_CHECKING([if ARG_PREFIX[CXX] supports "ARG_ARGUMENT"])
supports=yes
saved_cxxflags="$CXXFLAGS"
saved_cxx="$CXX"
CXXFLAGS="$CXXFLAG ARG_ARGUMENT"
CXX="$ARG_PREFIX[CXX]"
AC_LANG_PUSH([C++])
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int i;]])], [],
[supports=no])
AC_LANG_POP([C++])
CXX="$saved_cxx"
CXXFLAGS="$saved_cxxflags"
AC_MSG_RESULT([$supports])
@@ -472,18 +478,22 @@ BASIC_DEFUN_NAMED([FLAGS_CXX_COMPILER_CHECK_ARGUMENTS],
# ------------------------------------------------------------
# Check that the C and C++ compilers support an argument
BASIC_DEFUN_NAMED([FLAGS_COMPILER_CHECK_ARGUMENTS],
[*ARGUMENT IF_TRUE IF_FALSE], [$@],
[*ARGUMENT IF_TRUE IF_FALSE PREFIX], [$@],
[
FLAGS_C_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [ARG_ARGUMENT],
IF_TRUE: [C_COMP_SUPPORTS="yes"],
IF_FALSE: [C_COMP_SUPPORTS="no"])
IF_TRUE: [C_COMP_SUPPORTS="yes"],
IF_FALSE: [C_COMP_SUPPORTS="no"],
PREFIX: [ARG_PREFIX])
FLAGS_CXX_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [ARG_ARGUMENT],
IF_TRUE: [CXX_COMP_SUPPORTS="yes"],
IF_FALSE: [CXX_COMP_SUPPORTS="no"])
IF_TRUE: [CXX_COMP_SUPPORTS="yes"],
IF_FALSE: [CXX_COMP_SUPPORTS="no"],
PREFIX: [ARG_PREFIX])
AC_MSG_CHECKING([if both compilers support "ARG_ARGUMENT"])
AC_MSG_CHECKING([if both ARG_PREFIX[CC] and ARG_PREFIX[CXX] support "ARG_ARGUMENT"])
supports=no
if test "x$C_COMP_SUPPORTS" = "xyes" -a "x$CXX_COMP_SUPPORTS" = "xyes"; then supports=yes; fi
if test "x$C_COMP_SUPPORTS" = "xyes" -a "x$CXX_COMP_SUPPORTS" = "xyes"; then
supports=yes;
fi
AC_MSG_RESULT([$supports])
if test "x$supports" = "xyes" ; then

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -295,15 +295,21 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
if test "x$withval" = xexternal || test "x$withval" = xzipped; then
AC_MSG_ERROR([AIX only supports the parameters 'none' and 'internal' for --with-native-debug-symbols])
fi
else
if test "x$OPENJDK_TARGET_OS" = xwindows; then
if test "x$withval" = xinternal; then
AC_MSG_ERROR([Windows does not support the parameter 'internal' for --with-native-debug-symbols])
fi
fi
fi
],
[
if test "x$OPENJDK_TARGET_OS" = xaix; then
# AIX doesn't support 'external' so use 'internal' as default
with_native_debug_symbols="internal"
if test "x$STATIC_BUILD" = xtrue; then
with_native_debug_symbols="none"
else
if test "x$STATIC_BUILD" = xtrue; then
with_native_debug_symbols="none"
if test "x$OPENJDK_TARGET_OS" = xaix; then
# AIX doesn't support 'external' so use 'internal' as default
with_native_debug_symbols="internal"
else
with_native_debug_symbols="external"
fi
@@ -312,20 +318,7 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
NATIVE_DEBUG_SYMBOLS=$with_native_debug_symbols
AC_MSG_RESULT([$NATIVE_DEBUG_SYMBOLS])
if test "x$NATIVE_DEBUG_SYMBOLS" = xzipped; then
if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux; then
if test "x$OBJCOPY" = x; then
# enabling of enable-debug-symbols and can't find objcopy
# this is an error
AC_MSG_ERROR([Unable to find objcopy, cannot enable native debug symbols])
fi
fi
COMPILE_WITH_DEBUG_SYMBOLS=true
COPY_DEBUG_SYMBOLS=true
ZIP_EXTERNAL_DEBUG_SYMBOLS=true
elif test "x$NATIVE_DEBUG_SYMBOLS" = xnone; then
if test "x$NATIVE_DEBUG_SYMBOLS" = xnone; then
COMPILE_WITH_DEBUG_SYMBOLS=false
COPY_DEBUG_SYMBOLS=false
ZIP_EXTERNAL_DEBUG_SYMBOLS=false
@@ -346,6 +339,19 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
COMPILE_WITH_DEBUG_SYMBOLS=true
COPY_DEBUG_SYMBOLS=true
ZIP_EXTERNAL_DEBUG_SYMBOLS=false
elif test "x$NATIVE_DEBUG_SYMBOLS" = xzipped; then
if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux; then
if test "x$OBJCOPY" = x; then
# enabling of enable-debug-symbols and can't find objcopy
# this is an error
AC_MSG_ERROR([Unable to find objcopy, cannot enable native debug symbols])
fi
fi
COMPILE_WITH_DEBUG_SYMBOLS=true
COPY_DEBUG_SYMBOLS=true
ZIP_EXTERNAL_DEBUG_SYMBOLS=true
else
AC_MSG_ERROR([Allowed native debug symbols are: none, internal, external, zipped])
fi
@@ -630,3 +636,35 @@ AC_DEFUN([JDKOPT_ENABLE_DISABLE_MANPAGES],
AC_SUBST(BUILD_MANPAGES)
])
################################################################################
#
# Disallow any output from containing absolute paths from the build system.
# This setting defaults to allowed on debug builds and not allowed on release
# builds.
#
AC_DEFUN([JDKOPT_ALLOW_ABSOLUTE_PATHS_IN_OUTPUT],
[
AC_ARG_ENABLE([absolute-paths-in-output],
[AS_HELP_STRING([--disable-absolute-paths-in-output],
[Set to disable to prevent any absolute paths from the build to end up in
any of the build output. @<:@disabled in release builds, otherwise enabled@:>@])
])
AC_MSG_CHECKING([if absolute paths should be allowed in the build output])
if test "x$enable_absolute_paths_in_output" = "xno"; then
AC_MSG_RESULT([no, forced])
ALLOW_ABSOLUTE_PATHS_IN_OUTPUT="false"
elif test "x$enable_absolute_paths_in_output" = "xyes"; then
AC_MSG_RESULT([yes, forced])
ALLOW_ABSOLUTE_PATHS_IN_OUTPUT="true"
elif test "x$DEBUG_LEVEL" = "xrelease"; then
AC_MSG_RESULT([no, release build])
ALLOW_ABSOLUTE_PATHS_IN_OUTPUT="false"
else
AC_MSG_RESULT([yes, debug build])
ALLOW_ABSOLUTE_PATHS_IN_OUTPUT="true"
fi
AC_SUBST(ALLOW_ABSOLUTE_PATHS_IN_OUTPUT)
])

View File

@@ -130,8 +130,9 @@ SYSROOT_LDFLAGS := @SYSROOT_LDFLAGS@
# The top-level directory of the source repository
TOPDIR:=@TOPDIR@
# Usually the top level directory, but could be something else if a custom
# root is defined.
WORKSPACE_ROOT:=@WORKSPACE_ROOT@
IMPORT_MODULES_CLASSES:=@IMPORT_MODULES_CLASSES@
IMPORT_MODULES_CMDS:=@IMPORT_MODULES_CMDS@
IMPORT_MODULES_LIBS:=@IMPORT_MODULES_LIBS@
@@ -314,6 +315,8 @@ EXCLUDE_TRANSLATIONS := @EXCLUDE_TRANSLATIONS@
BUILD_MANPAGES := @BUILD_MANPAGES@
ALLOW_ABSOLUTE_PATHS_IN_OUTPUT := @ALLOW_ABSOLUTE_PATHS_IN_OUTPUT@
# The boot jdk to use. This is overridden in bootcycle-spec.gmk. Make sure to keep
# it in sync.
BOOT_JDK:=@BOOT_JDK@
@@ -357,6 +360,7 @@ LIBFFI_CFLAGS:=@LIBFFI_CFLAGS@
ENABLE_LIBFFI_BUNDLING:=@ENABLE_LIBFFI_BUNDLING@
LIBFFI_LIB_FILE:=@LIBFFI_LIB_FILE@
GRAALUNIT_LIB := @GRAALUNIT_LIB@
FILE_MACRO_CFLAGS := @FILE_MACRO_CFLAGS@
PACKAGE_PATH=@PACKAGE_PATH@
@@ -474,6 +478,9 @@ CPP:=@FIXPATH@ @CPP@
# The linker can be gcc or ld on unix systems, or link.exe on windows systems.
LD:=@FIXPATH@ @LD@
# Linker used by the jaotc tool for AOT compilation.
LD_JAOTC:=@LD_JAOTC@
# Xcode SDK path
SDKROOT:=@SDKROOT@
@@ -865,10 +872,16 @@ DOCS_OUTPUTDIR := $(DOCS_IMAGE_DIR)
# Macosx bundles directory definitions
JDK_MACOSX_BUNDLE_SUBDIR=jdk-bundle
JRE_MACOSX_BUNDLE_SUBDIR=jre-bundle
JDK_MACOSX_BUNDLE_SUBDIR_SIGNED=jdk-bundle-signed
JRE_MACOSX_BUNDLE_SUBDIR_SIGNED=jre-bundle-signed
JDK_MACOSX_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JDK_MACOSX_BUNDLE_SUBDIR)
JRE_MACOSX_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JRE_MACOSX_BUNDLE_SUBDIR)
JDK_MACOSX_CONTENTS_SUBDIR=jdk-$(VERSION_NUMBER).jdk/Contents
JRE_MACOSX_CONTENTS_SUBDIR=jre-$(VERSION_NUMBER).jre/Contents
JDK_MACOSX_BUNDLE_DIR_SIGNED=$(IMAGES_OUTPUTDIR)/$(JDK_MACOSX_BUNDLE_SUBDIR_SIGNED)
JRE_MACOSX_BUNDLE_DIR_SIGNED=$(IMAGES_OUTPUTDIR)/$(JRE_MACOSX_BUNDLE_SUBDIR_SIGNED)
JDK_MACOSX_BUNDLE_TOP_DIR=jdk-$(VERSION_NUMBER).jdk
JRE_MACOSX_BUNDLE_TOP_DIR=jre-$(VERSION_NUMBER).jre
JDK_MACOSX_CONTENTS_SUBDIR=$(JDK_MACOSX_BUNDLE_TOP_DIR)/Contents
JRE_MACOSX_CONTENTS_SUBDIR=$(JRE_MACOSX_BUNDLE_TOP_DIR)/Contents
JDK_MACOSX_CONTENTS_DIR=$(JDK_MACOSX_BUNDLE_DIR)/$(JDK_MACOSX_CONTENTS_SUBDIR)
JRE_MACOSX_CONTENTS_DIR=$(JRE_MACOSX_BUNDLE_DIR)/$(JRE_MACOSX_CONTENTS_SUBDIR)

View File

@@ -589,7 +589,7 @@ AC_DEFUN([TOOLCHAIN_FIND_COMPILER],
AC_DEFUN([TOOLCHAIN_EXTRACT_LD_VERSION],
[
LINKER=[$]$1
LINKER_NAME=$2
LINKER_NAME="$2"
if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
# cc -Wl,-V output typically looks like
@@ -709,12 +709,18 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_CORE],
AC_MSG_RESULT([yes])
fi
LDCXX="$LD"
# jaotc being a windows program expects the linker to be supplied with exe suffix.
LD_JAOTC="$LD$EXE_SUFFIX"
else
# All other toolchains use the compiler to link.
LD="$CC"
LDCXX="$CXX"
# jaotc expects 'ld' as the linker rather than the compiler.
BASIC_CHECK_TOOLS([LD_JAOTC], ld)
BASIC_FIXUP_EXECUTABLE(LD_JAOTC)
fi
AC_SUBST(LD)
AC_SUBST(LD_JAOTC)
# FIXME: it should be CXXLD, according to standard (cf CXXCPP)
AC_SUBST(LDCXX)
@@ -1022,6 +1028,12 @@ AC_DEFUN_ONCE([TOOLCHAIN_MISC_CHECKS],
# This is later checked when setting flags.
fi
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
# Check if linker has -z noexecstack.
HAS_NOEXECSTACK=`$CC -Wl,--help 2>/dev/null | $GREP 'z noexecstack'`
# This is later checked when setting flags.
fi
# Setup hotspot lecagy names for toolchains
HOTSPOT_TOOLCHAIN_TYPE=$TOOLCHAIN_TYPE
if test "x$TOOLCHAIN_TYPE" = xclang; then

View File

@@ -185,6 +185,8 @@ AC_DEFUN([TOOLCHAIN_FIND_VISUAL_STUDIO_BAT_FILE],
eval SDK_INSTALL_DIR="\${VS_SDK_INSTALLDIR_${VS_VERSION}}"
eval VS_ENV_ARGS="\${VS_ENV_ARGS_${VS_VERSION}}"
VS_ENV_CMD=""
# When using --with-tools-dir, assume it points to the correct and default
# version of Visual Studio or that --with-toolchain-version was also set.
if test "x$with_tools_dir" != x; then
@@ -202,8 +204,6 @@ AC_DEFUN([TOOLCHAIN_FIND_VISUAL_STUDIO_BAT_FILE],
fi
fi
VS_ENV_CMD=""
if test "x$VS_COMNTOOLS" != x; then
TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT([${VS_VERSION}],
[$VS_COMNTOOLS/../..], [$VS_COMNTOOLS_VAR variable])
@@ -693,7 +693,7 @@ AC_DEFUN([TOOLCHAIN_SETUP_VS_RUNTIME_DLLS],
if test "x$USE_UCRT" = "xtrue"; then
AC_MSG_CHECKING([for UCRT DLL dir])
if test "x$with_ucrt_dll_dir" != x; then
if test -z "$(ls -d "$with_ucrt_dll_dir/*.dll" 2> /dev/null)"; then
if test -z "$(ls -d "$with_ucrt_dll_dir/"*.dll 2> /dev/null)"; then
AC_MSG_RESULT([no])
AC_MSG_ERROR([Could not find any dlls in $with_ucrt_dll_dir])
else
@@ -713,8 +713,16 @@ AC_DEFUN([TOOLCHAIN_SETUP_VS_RUNTIME_DLLS],
fi
UCRT_DLL_DIR="$CYGWIN_WINDOWSSDKDIR/Redist/ucrt/DLLs/$dll_subdir"
if test -z "$(ls -d "$UCRT_DLL_DIR/"*.dll 2> /dev/null)"; then
AC_MSG_RESULT([no])
AC_MSG_ERROR([Could not find any dlls in $UCRT_DLL_DIR])
# Try with version subdir
UCRT_DLL_DIR="`ls -d $CYGWIN_WINDOWSSDKDIR/Redist/*/ucrt/DLLs/$dll_subdir \
2> /dev/null | $SORT -d | $HEAD -n1`"
if test -z "$UCRT_DLL_DIR" \
|| test -z "$(ls -d "$UCRT_DLL_DIR/"*.dll 2> /dev/null)"; then
AC_MSG_RESULT([no])
AC_MSG_ERROR([Could not find any dlls in $UCRT_DLL_DIR])
else
AC_MSG_RESULT($UCRT_DLL_DIR)
fi
else
AC_MSG_RESULT($UCRT_DLL_DIR)
fi

View File

@@ -27,15 +27,16 @@
DEFAULT_VERSION_FEATURE=11
DEFAULT_VERSION_INTERIM=0
DEFAULT_VERSION_UPDATE=6
DEFAULT_VERSION_UPDATE=7
DEFAULT_VERSION_PATCH=0
DEFAULT_VERSION_EXTRA1=0
DEFAULT_VERSION_EXTRA2=0
DEFAULT_VERSION_EXTRA3=0
DEFAULT_VERSION_DATE=2020-01-14
DEFAULT_VERSION_DATE=2020-04-14
DEFAULT_VERSION_CLASSFILE_MAJOR=55 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
DEFAULT_VERSION_CLASSFILE_MINOR=0
DEFAULT_ACCEPTABLE_BOOT_VERSIONS="10 11"
DEFAULT_PROMOTED_VERSION_PRE=ea
LAUNCHER_NAME=openjdk
PRODUCT_NAME=OpenJDK

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -122,9 +122,9 @@ define SetupJarArchiveBody
ifeq ($$($1_DEPENDENCIES), )
# Add all source roots to the find cache since we are likely going to run find
# on these more than once. The cache will only be updated if necessary.
$$(eval $$(call FillCacheFind, $$($1_FIND_LIST)))
$$(call FillFindCache, $$($1_FIND_LIST))
$1_DEPENDENCIES:=$$(filter $$(addprefix %,$$($1_SUFFIXES)), \
$$(call CacheFind,$$($1_SRCS)))
$$(call FindFiles,$$($1_SRCS)))
ifneq (,$$($1_GREP_INCLUDE_PATTERNS))
$1_DEPENDENCIES:=$$(filter $$(addsuffix %,$$($1_GREP_INCLUDE_PATTERNS)),$$($1_DEPENDENCIES))
endif
@@ -135,7 +135,7 @@ define SetupJarArchiveBody
$1_DEPENDENCIES+=$$(wildcard $$(foreach src, $$($1_SRCS), \
$$(addprefix $$(src)/, $$($1_EXTRA_FILES))) $$($1_EXTRA_FILES))
ifeq (,$$($1_SKIP_METAINF))
$1_DEPENDENCIES+=$$(call CacheFind,$$(wildcard $$(addsuffix /META-INF,$$($1_SRCS))))
$1_DEPENDENCIES+=$$(call FindFiles,$$(wildcard $$(addsuffix /META-INF,$$($1_SRCS))))
endif
endif
# The dependency list should never be empty

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -221,13 +221,12 @@ define SetupJavaCompilationBody
) \
)
$$(call MakeDir,$$($1_BIN))
# Add all source roots to the find cache since we are likely going to run find
# on these more than once. The cache will only be updated if necessary.
$$(eval $$(call FillCacheFind, $$($1_SRC)))
# Find all files in the source trees. Preserve order of source roots so that
# the first version in case of multiple instances of the same file is selected.
# CacheFind does not preserve order so need to call it for each root.
$1_ALL_SRCS += $$($1_EXTRA_FILES) $$(foreach s, $$($1_SRC), $$(call CacheFind, $$s))
# Order src files according to the order of the src dirs. Correct ordering is
# needed for correct overriding between different source roots.
$1_ALL_SRC_RAW := $$(call FindFiles, $$($1_SRC))
$1_ALL_SRCS := $$($1_EXTRA_FILES) \
$$(foreach d, $$($1_SRC), $$(filter $$d%, $$($1_ALL_SRC_RAW)))
# Extract the java files.
$1_SRCS := $$(filter %.java, $$($1_ALL_SRCS))

View File

@@ -47,6 +47,29 @@ FindSrcDirsForComponent += \
$(TOPDIR)/src/$(strip $1)/$(OPENJDK_TARGET_OS_TYPE)/native/$(strip $2) \
$(TOPDIR)/src/$(strip $1)/share/native/$(strip $2)))
# Find a library
# Param 1 - module name
# Param 2 - library name
# Param 3 - optional subdir for library
FindLib = \
$(call FindLibDirForModule, \
$(strip $1))$(strip $3)/$(LIBRARY_PREFIX)$(strip $2)$(SHARED_LIBRARY_SUFFIX)
# Find a static library
# Param 1 - module name
# Param 2 - library name
# Param 3 - optional subdir for library
FindStaticLib = \
$(addprefix $(SUPPORT_OUTPUTDIR)/native/, \
$(strip $1)$(strip $3)/$(LIBRARY_PREFIX)$(strip $2)$(STATIC_LIBRARY_SUFFIX))
# If only generating compile_commands.json, make these return empty to avoid
# declaring dependencies.
ifeq ($(GENERATE_COMPILE_COMMANDS_ONLY), true)
FindLib =
FindStaticLib =
endif
GetJavaHeaderDir = \
$(wildcard $(SUPPORT_OUTPUTDIR)/headers/$(strip $1))

View File

@@ -64,10 +64,12 @@ define NEWLINE
endef
# In GNU Make 4.0 and higher, there is a file function for writing to files.
# Certain features only work in newer version of GNU Make. The build will still
# function in 3.81, but will be less performant.
ifeq (4.0, $(firstword $(sort 4.0 $(MAKE_VERSION))))
HAS_FILE_FUNCTION := true
CORRECT_FUNCTION_IN_RECIPE_EVALUATION := true
RWILDCARD_WORKS := true
endif
##############################
@@ -466,8 +468,8 @@ endef
################################################################################
# Replace question marks with space in string. This macro needs to be called on
# files from CacheFind in case any of them contains space in their file name,
# since CacheFind replaces space with ?.
# files from FindFiles in case any of them contains space in their file name,
# since FindFiles replaces space with ?.
# Param 1 - String to replace in
DecodeSpace = \
$(subst ?,$(SPACE),$(strip $1))
@@ -611,7 +613,8 @@ DirToDotDot = \
# $2 - Directory to compute the relative path from
RelativePath = \
$(eval $1_prefix := $(call FindCommonPathPrefix, $1, $2)) \
$(eval $1_dotdots := $(call DirToDotDot, $(patsubst $($(strip $1)_prefix)/%, %, $2))) \
$(eval $1_dotdots := $(call DirToDotDot, $(patsubst $($(strip $1)_prefix)%, %, $2))) \
$(eval $1_dotdots := $(if $($(strip $1)_dotdots),$($(strip $1)_dotdots),.)) \
$(eval $1_suffix := $(patsubst $($(strip $1)_prefix)/%, %, $1)) \
$($(strip $1)_dotdots)/$($(strip $1)_suffix)
@@ -685,73 +688,116 @@ uppercase = \
################################################################################
ifneq ($(DISABLE_CACHE_FIND), true)
# In Cygwin, finds are very costly, both because of expensive forks and because
# of bad file system caching. Find is used extensively in $(shell) commands to
# find source files. This makes rerunning make with no or few changes rather
# expensive. To speed this up, these two macros are used to cache the results
# of simple find commands for reuse.
#
# Runs a find and stores both the directories where it was run and the results.
# This macro can be called multiple times to add to the cache. Only finds files
# with no filters.
#
# Files containing space will get spaces replaced with ? because GNU Make
# cannot handle lists of files with space in them. By using ?, make will match
# the wildcard to space in many situations so we don't need to replace back
# to space on every use. While not a complete solution it does allow some uses
# of CacheFind to function with spaces in file names, including for
# SetupCopyFiles.
#
# Needs to be called with $(eval )
#
# Even if the performance benifit is negligible on other platforms, keep the
# functionality active unless explicitly disabled to exercise it more.
#
# Initialize FIND_CACHE_DIRS with := to make it a non recursively-expanded variable
FIND_CACHE_DIRS :=
# Param 1 - Dirs to find in
# Param 2 - (optional) specialization. Normally "-a \( ... \)" expression.
define FillCacheFind
# Filter out already cached dirs. The - is needed when FIND_CACHE_DIRS is empty
# since filter out will then return empty.
FIND_CACHE_NEW_DIRS := $$(filter-out $$(addsuffix /%,\
- $(FIND_CACHE_DIRS)) $(FIND_CACHE_DIRS), $1)
ifneq ($$(FIND_CACHE_NEW_DIRS), )
# Remove any trailing slash from dirs in the cache dir list
FIND_CACHE_DIRS += $$(patsubst %/,%, $$(FIND_CACHE_NEW_DIRS))
FIND_CACHE := $$(sort $$(FIND_CACHE) \
$$(shell $(FIND) $$(wildcard $$(FIND_CACHE_NEW_DIRS)) \
\( -type f -o -type l \) $2 | $(TR) ' ' '?'))
endif
endef
# Mimics find by looking in the cache if all of the directories have been cached.
# Otherwise reverts to shell find. This is safe to call on all platforms, even if
# cache is deactivated.
#
# $1 can be either a directory or a file. If it's a directory, make
# sure we have exactly one trailing slash before the wildcard.
# The extra - is needed when FIND_CACHE_DIRS is empty but should be harmless.
#
# Param 1 - Dirs to find in
# Param 2 - (optional) specialization. Normally "-a \( ... \)" expression.
define CacheFind
$(if $(filter-out $(addsuffix /%,- $(FIND_CACHE_DIRS)) $(FIND_CACHE_DIRS),$1), \
$(if $(wildcard $1), $(shell $(FIND) $(wildcard $1) \( -type f -o -type l \) $2 \
| $(TR) ' ' '?')), \
$(filter $(addsuffix /%,$(patsubst %/,%,$1)) $1,$(FIND_CACHE)))
endef
else
# If CacheFind is disabled, just run the find command.
# Param 1 - Dirs to find in
# Param 2 - (optional) specialization. Normally "-a \( ... \)" expression.
define CacheFind
$(if $(wildcard $1, \
$(shell $(FIND) $(wildcard $1) \( -type f -o -type l \) $2 | $(TR) ' ' '?') \
# Recursive wildcard function. Walks down directories recursively and matches
# files with the search patterns. Patterns use standard file wildcards (* and
# ?).
#
# $1 - Directories to start search in
# $2 - Search patterns
rwildcard = \
$(strip \
$(foreach d, \
$(patsubst %/,%,$(sort $(dir $(wildcard $(addsuffix /*/*, $(strip $1)))))), \
$(call rwildcard,$d,$2) \
) \
$(call DoubleDollar, $(wildcard $(foreach p, $2, $(addsuffix /$(strip $p), $(strip $1))))) \
)
endef
# Find non directories using recursive wildcard function. This function may
# be used directly when a small amount of directories is expected to be
# searched and caching is not expected to be of use.
#
# $1 - Directory to start search in
# $2 - Optional search patterns, defaults to '*'.
WildcardFindFiles = \
$(sort $(strip \
$(eval WildcardFindFiles_result := $(call rwildcard,$(patsubst %/,%,$1),$(if $(strip $2),$2,*))) \
$(filter-out $(patsubst %/,%,$(sort $(dir $(WildcardFindFiles_result)))), \
$(WildcardFindFiles_result) \
) \
))
# Find non directories using the find utility in the shell. Safe to call for
# non existing directories, or directories containing wildcards.
#
# Files containing space will get spaces replaced with ? because GNU Make
# cannot handle lists of files with space in them. By using ?, make will match
# the wildcard to space in many situations so we don't need to replace back
# to space on every use. While not a complete solution it does allow some uses
# of FindFiles to function with spaces in file names, including for
# SetupCopyFiles. Unfortunately this does not work for WildcardFindFiles so
# if files with spaces are anticipated, use ShellFindFiles directly.
#
# $1 - Directories to start search in.
# $2 - Optional search patterns, empty means find everything. Patterns use
# standard file wildcards (* and ?) and should not be quoted.
# $3 - Optional options to find.
ShellFindFiles = \
$(if $(wildcard $1), \
$(sort \
$(shell $(FIND) $3 $(patsubst %/,%,$(wildcard $1)) \( -type f -o -type l \) \
$(if $(strip $2), -a \( -name "$(firstword $2)" \
$(foreach p, $(filter-out $(firstword $2), $2), -o -name "$(p)") \)) \
| $(TR) ' ' '?' \
) \
) \
)
# Find non directories using the method most likely to work best for the
# current build host
#
# $1 - Directory to start search in
# $2 - Optional search patterns, defaults to '*'.
ifeq ($(OPENJDK_BUILD_OS)-$(RWILDCARD_WORKS), windows-true)
DirectFindFiles = $(WildcardFindFiles)
else
DirectFindFiles = $(ShellFindFiles)
endif
# Finds files using a cache that is populated by FillFindCache below. If any of
# the directories given have not been cached, DirectFindFiles is used for
# everything. Caching is especially useful in Cygwin, where file finds are very
# costly.
#
# $1 - Directories to start search in.
# $2 - Optional search patterns. If used, no caching is done.
CacheFindFiles_CACHED_DIRS :=
CacheFindFiles_CACHED_FILES :=
CacheFindFiles = \
$(if $2, \
$(call DirectFindFiles, $1, $2) \
, \
$(if $(filter-out $(addsuffix /%, $(CacheFindFiles_CACHED_DIRS)) \
$(CacheFindFiles_CACHED_DIRS), $1), \
$(call DirectFindFiles, $1) \
, \
$(filter $(addsuffix /%,$(patsubst %/,%,$1)) $1,$(CacheFindFiles_CACHED_FILES)) \
) \
)
# Explicitly adds files to the find cache used by CacheFindFiles.
#
# $1 - Directories to start search in
FillFindCache = \
$(eval CacheFindFiles_NEW_DIRS := $$(filter-out $$(addsuffix /%,\
$$(CacheFindFiles_CACHED_DIRS)) $$(CacheFindFiles_CACHED_DIRS), $1)) \
$(if $(CacheFindFiles_NEW_DIRS), \
$(eval CacheFindFiles_CACHED_DIRS += $$(patsubst %/,%,$$(CacheFindFiles_NEW_DIRS))) \
$(eval CacheFindFiles_CACHED_FILES := $$(sort $$(CacheFindFiles_CACHED_FILES) \
$$(call DirectFindFiles, $$(CacheFindFiles_NEW_DIRS)))) \
)
# Findfiles is the default macro that should be used to find files in the file
# system. This function does not always support files with spaces in the names.
# If files with spaces are anticipated, use ShellFindFiles directly.
#
# $1 - Directories to start search in.
# $2 - Optional search patterns, empty means find everything. Patterns use
# standard file wildcards (* and ?) and should not be quoted.
ifeq ($(DISABLE_CACHE_FIND), true)
FindFiles = $(DirectFindFiles)
else
FindFiles = $(CacheFindFiles)
endif
################################################################################
@@ -937,6 +983,22 @@ else
$(shell $(PRINTF) "%s" $(call ShellQuote, $1) >> $2)
endif
################################################################################
# FixPathList
#
# On Windows, converts a cygwin/unix style path list (colon-separated) into
# the native format (mixed mode, semicolon-separated). On other platforms,
# return the path list unchanged.
################################################################################
ifeq ($(OPENJDK_TARGET_OS), windows)
FixPathList = \
$(subst @,$(SPACE),$(subst $(SPACE),;,$(foreach entry,$(subst :,$(SPACE),\
$(subst $(SPACE),@,$(strip $1))),$(call FixPath, $(entry)))))
else
FixPathList = \
$1
endif
################################################################################
# DependOnVariable
#
@@ -974,15 +1036,16 @@ DependOnVariableFileName = \
# Param 2 - (optional) name of file to store value in
DependOnVariableHelper = \
$(strip \
$(eval -include $(call DependOnVariableFileName, $1, $2)) \
$(eval $1_filename := $(call DependOnVariableFileName, $1, $2)) \
$(if $(wildcard $($1_filename)), $(eval include $($1_filename))) \
$(if $(call equals, $(strip $($1)), $(strip $($1_old))),,\
$(call MakeDir, $(dir $(call DependOnVariableFileName, $1, $2))) \
$(call MakeDir, $(dir $($1_filename))) \
$(if $(findstring $(LOG_LEVEL), trace), \
$(info NewVariable $1: >$(strip $($1))<) \
$(info OldVariable $1: >$(strip $($1_old))<)) \
$(call WriteFile, $1_old:=$(call DoubleDollar,$(call EscapeHash,$($1))), \
$(call DependOnVariableFileName, $1, $2))) \
$(call DependOnVariableFileName, $1, $2) \
$($1_filename))) \
$($1_filename) \
)
# Main macro

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -59,6 +59,29 @@ define GetSymbols
fi
endef
################################################################################
# Creates a recipe that creates a compile_commands.json fragment. Remove any
# occurences of FIXPATH programs from the command to show the actual invocation.
#
# Param 1: Name of file to create
# Param 2: Working directory
# Param 3: Source file
# Param 4: Compile command
# Param 5: Object name
################################################################################
define WriteCompileCommandsFragment
$(call LogInfo, Creating compile commands fragment for $(notdir $3))
$(call MakeDir, $(dir $1))
$(call WriteFile,{ \
"directory": "$(strip $2)"$(COMMA) \
"file": "$(strip $3)"$(COMMA) \
"command": "$(strip $(subst $(DQUOTE),\$(DQUOTE),$(subst \,\\,\
$(subst $(FIXPATH),,$4))))"$(COMMA) \
"output": "$(strip $5)" \
}$(COMMA), \
$1)
endef
################################################################################
# Define a native toolchain configuration that can be used by
# SetupNativeCompilation calls
@@ -183,6 +206,68 @@ DEPENDENCY_TARGET_SED_PATTERN := \
-e 's/$$$$/ :/' \
#
################################################################################
# When absolute paths are not allowed in the output, and the compiler does not
# support any options to avoid it, we need to rewrite compile commands to use
# relative paths. By doing this, the __FILE__ macro will resolve to relative
# paths. The relevant input paths on the command line are the -I flags and the
# path to the source file itself.
#
# The macro MakeCommandRelative is used to rewrite the command line like this:
# 'CD $(WORKSPACE_ROOT) && <cmd>'
# and changes all paths in cmd to be relative to the workspace root. This only
# works properly if the build dir is inside the workspace root. If it's not,
# relative paths are still calculated, but depending on the distance between the
# dirs, paths in the build dir may end up as essentially absolute anyway.
#
# The fix-deps-file macro is used to adjust the contents of the generated make
# dependency files to contain paths compatible with make.
#
ifeq ($(ALLOW_ABSOLUTE_PATHS_IN_OUTPUT)-$(FILE_MACRO_CFLAGS), false-)
# Need to handle -I flags as both '-Ifoo' and '-I foo'.
MakeCommandRelative = \
$(CD) $(WORKSPACE_ROOT) && \
$(foreach o, $1, \
$(if $(filter $(WORKSPACE_ROOT)/% $(OUTPUTDIR)/%, $o), \
$(call RelativePath, $o, $(WORKSPACE_ROOT)) \
, \
$(if $(filter -I$(WORKSPACE_ROOT)/%, $o), \
-I$(call RelativePath, $(patsubst -I%, %, $o), $(WORKSPACE_ROOT)) \
, \
$o \
) \
) \
)
# When compiling with relative paths, the deps file comes out with relative
# paths.
ifeq ($(TOOLCHAIN_TYPE), solstudio)
define fix-deps-file
$(SED) -e 's|\./|$(WORKSPACE_ROOT)/|g' $1.tmp > $1
endef
else
define fix-deps-file
$(SED) -e 's|^\([ ]*\)|\1$(WORKSPACE_ROOT)|' $1.tmp > $1
endef
endif
else
# By default the MakeCommandRelative macro does nothing.
MakeCommandRelative = $1
# Even with absolute paths on the command line, the Solaris studio compiler
# doesn't output the full path to the object file in the generated deps files.
# For other toolchains, no adjustment is needed.
ifeq ($(TOOLCHAIN_TYPE), solstudio)
define fix-deps-file
$(SED) 's|^$$(@F):|$$@:|' $1.tmp > $1
endef
else
define fix-deps-file
$(MV) $1.tmp $1
endef
endif
endif
################################################################################
# Create the recipe needed to compile a single native source file.
#
@@ -193,7 +278,6 @@ DEPENDENCY_TARGET_SED_PATTERN := \
# Remaining parameters are named arguments:
# FILE - The full path of the source file to compiler
# BASE - The name of the rule for the entire binary to build ($1)
# DISABLE_THIS_FILE_DEFINE - Set to true to disable the THIS_FILE define.
#
SetupCompileNativeFile = $(NamedParamsMacroTemplate)
define SetupCompileNativeFileBody
@@ -203,17 +287,18 @@ define SetupCompileNativeFileBody
$1_OBJ := $$($$($1_BASE)_OBJECT_DIR)/$$(call replace_with_obj_extension, \
$$($1_FILENAME))
# Generate the corresponding compile_commands.json fragment.
$1_OBJ_JSON = $$(MAKESUPPORT_OUTPUTDIR)/compile-commands/$$(subst /,_,$$(subst \
$$(OUTPUTDIR)/,,$$($1_OBJ))).json
$$($1_BASE)_ALL_OBJS_JSON += $$($1_OBJ_JSON)
# Only continue if this object file hasn't been processed already. This lets
# the first found source file override any other with the same name.
ifeq ($$(findstring $$($1_OBJ), $$($$($1_BASE)_OBJS_SO_FAR)), )
$$($1_BASE)_OBJS_SO_FAR += $$($1_OBJ)
ifeq ($$($1_OBJ_PROCESSED), )
$1_OBJ_PROCESSED := true
# This is the definite source file to use for $1_FILENAME.
$1_SRC_FILE := $$($1_FILE)
ifneq ($$($1_DISABLE_THIS_FILE_DEFINE), true)
$1_THIS_FILE = -DTHIS_FILE='"$$(<F)"'
endif
ifeq ($$($1_OPTIMIZATION), )
$1_OPT_CFLAGS := $$($$($1_BASE)_OPT_CFLAGS)
$1_OPT_CXXFLAGS := $$($$($1_BASE)_OPT_CXXFLAGS)
@@ -256,13 +341,13 @@ define SetupCompileNativeFileBody
ifneq ($$(filter %.c, $$($1_FILENAME)), )
# Compile as a C file
$1_FLAGS := $(CFLAGS_CCACHE) $$($1_USE_PCH_FLAGS) $$($1_BASE_CFLAGS) \
$$($1_OPT_CFLAGS) $$($1_CFLAGS) $$($1_THIS_FILE) -c
$$($1_OPT_CFLAGS) $$($1_CFLAGS) -c
$1_COMPILER := $$($$($1_BASE)_CC)
$1_DEP_FLAG := $(C_FLAG_DEPS)
else ifneq ($$(filter %.m, $$($1_FILENAME)), )
# Compile as an Objective-C file
$1_FLAGS := -x objective-c $(CFLAGS_CCACHE) $$($1_USE_PCH_FLAGS) \
$$($1_BASE_CFLAGS) $$($1_OPT_CFLAGS) $$($1_CFLAGS) $$($1_THIS_FILE) -c
$$($1_BASE_CFLAGS) $$($1_OPT_CFLAGS) $$($1_CFLAGS) -c
$1_COMPILER := $$($$($1_BASE)_CC)
$1_DEP_FLAG := $(C_FLAG_DEPS)
else ifneq ($$(filter %.s %.S, $$($1_FILENAME)), )
@@ -273,7 +358,7 @@ define SetupCompileNativeFileBody
else ifneq ($$(filter %.cpp %.cc %.mm, $$($1_FILENAME)), )
# Compile as a C++ or Objective-C++ file
$1_FLAGS := $(CFLAGS_CCACHE) $$($1_USE_PCH_FLAGS) $$($1_BASE_CXXFLAGS) \
$$($1_OPT_CXXFLAGS) $$($1_CXXFLAGS) $$($1_THIS_FILE) -c
$$($1_OPT_CXXFLAGS) $$($1_CXXFLAGS) -c
$1_COMPILER := $$($$($1_BASE)_CXX)
$1_DEP_FLAG := $(CXX_FLAG_DEPS)
else
@@ -282,14 +367,18 @@ define SetupCompileNativeFileBody
ifeq ($$(filter %.s %.S, $$($1_FILENAME)), )
# And this is the dependency file for this obj file.
$1_DEP := $$(patsubst %$(OBJ_SUFFIX),%.d,$$($1_OBJ))
$1_DEPS_FILE := $$(patsubst %$(OBJ_SUFFIX),%.d,$$($1_OBJ))
# The dependency target file lists all dependencies as empty targets to
# avoid make error "No rule to make target" for removed files
$1_DEP_TARGETS := $$(patsubst %$(OBJ_SUFFIX),%.d.targets,$$($1_OBJ))
$1_DEPS_TARGETS_FILE := $$(patsubst %$(OBJ_SUFFIX),%.d.targets,$$($1_OBJ))
# Include previously generated dependency information. (if it exists)
-include $$($1_DEP)
-include $$($1_DEP_TARGETS)
# Only try to load individual dependency information files if the global
# file hasn't been loaded (could happen if make was interrupted).
ifneq ($$($$($1_BASE)_DEPS_FILE_LOADED), true)
# Include previously generated dependency information. (if it exists)
-include $$($1_DEPS_FILE)
-include $$($1_DEPS_TARGETS_FILE)
endif
endif
ifneq ($$(strip $$($1_CFLAGS) $$($1_CXXFLAGS) $$($1_OPTIMIZATION)), )
@@ -297,28 +386,29 @@ define SetupCompileNativeFileBody
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, $$($1_OBJ).vardeps)
endif
$$($1_OBJ): $$($1_SRC_FILE) $$($$($1_BASE)_COMPILE_VARDEPS_FILE) \
$$($$($1_BASE)_EXTRA_DEPS) $$($1_VARDEPS_FILE) | $$($$($1_BASE)_BUILD_INFO)
$1_OBJ_DEPS := $$($1_SRC_FILE) $$($$($1_BASE)_COMPILE_VARDEPS_FILE) \
$$($$($1_BASE)_EXTRA_DEPS) $$($1_VARDEPS_FILE)
$1_COMPILE_OPTIONS := $$($1_FLAGS) $(CC_OUT_OPTION)$$($1_OBJ) $$($1_SRC_FILE)
$$($1_OBJ_JSON): $$($1_OBJ_DEPS)
$$(call WriteCompileCommandsFragment, $$@, $$(PWD), $$($1_SRC_FILE), \
$$($1_COMPILER) $$($1_COMPILE_OPTIONS), $$($1_OBJ))
$$($1_OBJ): $$($1_OBJ_DEPS) | $$($$($1_BASE)_BUILD_INFO)
$$(call LogInfo, Compiling $$($1_FILENAME) (for $$($$($1_BASE)_BASENAME)))
$$(call MakeDir, $$(@D))
ifneq ($(TOOLCHAIN_TYPE), microsoft)
ifeq ($(TOOLCHAIN_TYPE)$$(filter %.s, $$($1_FILENAME)), solstudio)
# The Solaris studio compiler doesn't output the full path to the
# object file in the generated deps files. Fixing it with sed. If
# compiling assembly, don't try this.
$$(call ExecuteWithLog, $$@, \
$$($1_COMPILER) $$($1_FLAGS) $$($1_DEP_FLAG) $$($1_DEP).tmp \
$(CC_OUT_OPTION)$$($1_OBJ) $$($1_SRC_FILE))
$(SED) 's|^$$(@F):|$$@:|' $$($1_DEP).tmp > $$($1_DEP)
else
$$(call ExecuteWithLog, $$@, \
$$($1_COMPILER) $$($1_FLAGS) $$($1_DEP_FLAG) $$($1_DEP) \
$(CC_OUT_OPTION)$$($1_OBJ) $$($1_SRC_FILE))
endif
# Create a dependency target file from the dependency file.
# Solution suggested by http://make.mad-scientist.net/papers/advanced-auto-dependency-generation/
ifneq ($$($1_DEP), )
$(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_DEP) > $$($1_DEP_TARGETS)
$$(call ExecuteWithLog, $$@, $$(call MakeCommandRelative, \
$$($1_COMPILER) $$($1_DEP_FLAG) \
$$(addsuffix .tmp, $$($1_DEPS_FILE)) \
$$($1_COMPILE_OPTIONS)))
ifneq ($$($1_DEPS_FILE), )
$$(call fix-deps-file, $$($1_DEPS_FILE))
# Create a dependency target file from the dependency file.
# Solution suggested by:
# http://make.mad-scientist.net/papers/advanced-auto-dependency-generation/
$(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_DEPS_FILE) \
> $$($1_DEPS_TARGETS_FILE)
endif
else
# The Visual Studio compiler lacks a feature for generating make
@@ -328,15 +418,15 @@ define SetupCompileNativeFileBody
# Keep as much as possible on one execution line for best performance
# on Windows. No need to save exit code from compilation since
# pipefail is always active on Windows.
$$(call ExecuteWithLog, $$@, \
$$($1_COMPILER) $$($1_FLAGS) -showIncludes \
$(CC_OUT_OPTION)$$($1_OBJ) $$($1_SRC_FILE)) \
$$(call ExecuteWithLog, $$@, $$(call MakeCommandRelative, \
$$($1_COMPILER) -showIncludes $$($1_COMPILE_OPTIONS))) \
| $(TR) -d '\r' | $(GREP) -v -e "^Note: including file:" \
-e "^$$($1_FILENAME)$$$$" || test "$$$$?" = "1" ; \
$(ECHO) $$@: \\ > $$($1_DEP) ; \
$(ECHO) $$@: \\ > $$($1_DEPS_FILE) ; \
$(SED) $(WINDOWS_SHOWINCLUDE_SED_PATTERN) $$($1_OBJ).log \
| $(SORT) -u >> $$($1_DEP) ; \
$(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_DEP) > $$($1_DEP_TARGETS)
| $(SORT) -u >> $$($1_DEPS_FILE) ; \
$(ECHO) >> $$($1_DEPS_FILE) ; \
$(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_DEPS_FILE) > $$($1_DEPS_TARGETS_FILE)
endif
endif
endef
@@ -456,6 +546,9 @@ define SetupNativeCompilationBody
$1_NOSUFFIX := $$($1_PREFIX)$$($1_NAME)
$1_SAFE_NAME := $$(strip $$(subst /,_, $1))
# Need to make sure TARGET is first on list
$1 := $$($1_TARGET)
# Setup the toolchain to be used
$$(call SetIfEmpty, $1_TOOLCHAIN, TOOLCHAIN_DEFAULT)
$$(call SetIfEmpty, $1_CC, $$($$($1_TOOLCHAIN)_CC))
@@ -476,7 +569,7 @@ define SetupNativeCompilationBody
$$(error SRC specified to SetupNativeCompilation $1 contains missing directory $$d)))
# Find all files in the source trees. Preserve order.
$1_SRCS := $$(foreach s, $$($1_SRC), $$(call CacheFind, $$(s)))
$1_SRCS := $$(foreach s, $$($1_SRC), $$(call FindFiles, $$(s)))
$1_SRCS := $$(filter $$(NATIVE_SOURCE_EXTENSIONS), $$($1_SRCS))
# Extract the C/C++ files.
ifneq ($$($1_EXCLUDE_PATTERNS), )
@@ -660,7 +753,6 @@ define SetupNativeCompilationBody
FILE := $$($1_GENERATED_PCH_SRC), \
BASE := $1, \
EXTRA_CXXFLAGS := -Fp$$($1_PCH_FILE) -Yc$$(notdir $$($1_PRECOMPILED_HEADER)), \
DISABLE_THIS_FILE_DEFINE := true, \
))
$1_USE_PCH_FLAGS := \
@@ -683,27 +775,65 @@ define SetupNativeCompilationBody
$1_PCH_FILE := $$($1_OBJECT_DIR)/precompiled/$$(notdir $$($1_PRECOMPILED_HEADER)).pch
$1_USE_PCH_FLAGS := -include-pch $$($1_PCH_FILE)
endif
$1_PCH_DEP := $$($1_PCH_FILE).d
$1_PCH_DEP_TARGETS := $$($1_PCH_FILE).d.targets
$1_PCH_DEPS_FILE := $$($1_PCH_FILE).d
$1_PCH_DEPS_TARGETS_FILE := $$($1_PCH_FILE).d.targets
-include $$($1_PCH_DEP)
-include $$($1_PCH_DEP_TARGETS)
-include $$($1_PCH_DEPS_FILE)
-include $$($1_PCH_DEPS_TARGETS_FILE)
$1_PCH_COMMAND := $$($1_CC) $$($1_CFLAGS) $$($1_EXTRA_CFLAGS) $$($1_SYSROOT_CFLAGS) \
$$($1_OPT_CFLAGS) -x c++-header -c $(C_FLAG_DEPS) $$($1_PCH_DEPS_FILE)
$$($1_PCH_FILE): $$($1_PRECOMPILED_HEADER) $$($1_COMPILE_VARDEPS_FILE)
$$(call LogInfo, Generating precompiled header)
$$(call MakeDir, $$(@D))
$$(call ExecuteWithLog, $$@, \
$$($1_CC) $$($1_CFLAGS) $$($1_EXTRA_CFLAGS) $$($1_SYSROOT_CFLAGS) \
$$($1_OPT_CFLAGS) \
-x c++-header -c $(C_FLAG_DEPS) $$($1_PCH_DEP) $$< -o $$@)
$(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_PCH_DEP) > $$($1_PCH_DEP_TARGETS)
$$(call ExecuteWithLog, $$@, $$(call MakeCommandRelative, \
$$($1_PCH_COMMAND) $$< -o $$@))
$(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_PCH_DEPS_FILE) \
> $$($1_PCH_DEPS_TARGETS_FILE)
$$($1_ALL_OBJS): $$($1_PCH_FILE)
# Generate the corresponding compile_commands.json fragment.
$1_PCH_FILE_JSON := $$(MAKESUPPORT_OUTPUTDIR)/compile-commands/$$(subst /,_,$$(subst \
$$(OUTPUTDIR)/,,$$($1_PCH_FILE))).json
$1_ALL_OBJS_JSON += $$($1_PCH_FILE_JSON)
$$($1_PCH_FILE_JSON): $$($1_PRECOMPILED_HEADER) $$($1_COMPILE_VARDEPS_FILE)
$$(call WriteCompileCommandsFragment, $$@, $$(PWD), $$<, \
$$($1_PCH_COMMAND) $$< -o $$($1_PCH_FILE), $$($1_PCH_FILE))
endif
endif
endif
# Create a rule to collect all the individual make dependency files into a
# single makefile.
$1_DEPS_FILE := $$($1_OBJECT_DIR)/$1.d
$$($1_DEPS_FILE): $$($1_ALL_OBJS)
$(RM) $$@
# CD into dir to reduce risk of hitting command length limits, which
# could otherwise happen if TOPDIR is a very long path.
$(CD) $$($1_OBJECT_DIR) && $(CAT) *.d > $$@.tmp
$(CD) $$($1_OBJECT_DIR) && $(CAT) *.d.targets | $(SORT) -u >> $$@.tmp
# After generating the file, which happens after all objects have been
# compiled, copy it to .old extension. On the next make invocation, this
# .old file will be included by make.
$(CP) $$@.tmp $$@.old
$(MV) $$@.tmp $$@
$1 += $$($1_DEPS_FILE)
# The include must be on the .old file, which represents the state from the
# previous invocation of make. The file being included must not have a rule
# defined for it as otherwise make will think it has to run the rule before
# being able to include the file, which would be wrong since we specifically
# need the file as it was generated by a previous make invocation.
ifneq ($$(wildcard $$($1_DEPS_FILE).old), )
$1_DEPS_FILE_LOADED := true
-include $$($1_DEPS_FILE).old
endif
# Now call SetupCompileNativeFile for each source file we are going to compile.
$$(foreach file, $$($1_SRCS), \
$$(eval $$(call SetupCompileNativeFile, $1_$$(notdir $$(file)),\
@@ -730,10 +860,10 @@ define SetupNativeCompilationBody
ifeq ($(OPENJDK_TARGET_OS), windows)
ifneq ($$($1_VERSIONINFO_RESOURCE), )
$1_RES := $$($1_OBJECT_DIR)/$$($1_BASENAME).res
$1_RES_DEP := $$($1_RES).d
$1_RES_DEP_TARGETS := $$($1_RES).d.targets
-include $$($1_RES_DEP)
-include $$($1_RES_DEP_TARGETS)
$1_RES_DEPS_FILE := $$($1_RES).d
$1_RES_DEPS_TARGETS_FILE := $$($1_RES).d.targets
-include $$($1_RES_DEPS_FILE)
-include $$($1_RES_DEPS_TARGETS_FILE)
$1_RES_VARDEPS := $$($1_RC) $$($1_RC_FLAGS)
$1_RES_VARDEPS_FILE := $$(call DependOnVariable, $1_RES_VARDEPS, \
@@ -742,24 +872,27 @@ define SetupNativeCompilationBody
$$($1_RES): $$($1_VERSIONINFO_RESOURCE) $$($1_RES_VARDEPS_FILE)
$$(call LogInfo, Compiling resource $$(notdir $$($1_VERSIONINFO_RESOURCE)) (for $$($1_BASENAME)))
$$(call MakeDir, $$(@D) $$($1_OBJECT_DIR))
$$(call ExecuteWithLog, $$@, \
$$(call ExecuteWithLog, $$@, $$(call MakeCommandRelative, \
$$($1_RC) $$($1_RC_FLAGS) $$($1_SYSROOT_CFLAGS) $(CC_OUT_OPTION)$$@ \
$$($1_VERSIONINFO_RESOURCE) 2>&1 )
$$($1_VERSIONINFO_RESOURCE) 2>&1 ))
# Windows RC compiler does not support -showIncludes, so we mis-use CL
# for this. Filter out RC specific arguments that are unknown to CL.
# For some unknown reason, in this case CL actually outputs the show
# includes to stderr so need to redirect it to hide the output from the
# main log.
$$(call ExecuteWithLog, $$($1_RES_DEP).obj, \
$$(call ExecuteWithLog, $$($1_RES_DEPS_FILE).obj, \
$$($1_CC) $$(filter-out -l%, $$($1_RC_FLAGS)) \
$$($1_SYSROOT_CFLAGS) -showIncludes -nologo -TC \
$(CC_OUT_OPTION)$$($1_RES_DEP).obj -P -Fi$$($1_RES_DEP).pp \
$(CC_OUT_OPTION)$$($1_RES_DEPS_FILE).obj -P -Fi$$($1_RES_DEPS_FILE).pp \
$$($1_VERSIONINFO_RESOURCE)) 2>&1 \
| $(TR) -d '\r' | $(GREP) -v -e "^Note: including file:" \
-e "^$$(notdir $$($1_VERSIONINFO_RESOURCE))$$$$" || test "$$$$?" = "1" ; \
$(ECHO) $$($1_RES): \\ > $$($1_RES_DEP) ; \
$(SED) $(WINDOWS_SHOWINCLUDE_SED_PATTERN) $$($1_RES_DEP).obj.log >> $$($1_RES_DEP) ; \
$(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_RES_DEP) > $$($1_RES_DEP_TARGETS)
$(ECHO) $$($1_RES): \\ > $$($1_RES_DEPS_FILE) ; \
$(SED) $(WINDOWS_SHOWINCLUDE_SED_PATTERN) $$($1_RES_DEPS_FILE).obj.log \
>> $$($1_RES_DEPS_FILE) ; \
$(ECHO) >> $$($1_RES_DEPS_FILE) ;\
$(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_RES_DEPS_FILE) \
> $$($1_RES_DEPS_TARGETS_FILE)
endif
endif
@@ -786,9 +919,6 @@ define SetupNativeCompilationBody
$1_EXTRA_LDFLAGS += $(call SET_SHARED_LIBRARY_MAPFILE,$$($1_REAL_MAPFILE))
endif
# Need to make sure TARGET is first on list
$1 := $$($1_TARGET)
ifneq ($$($1_COPY_DEBUG_SYMBOLS), false)
$1_COPY_DEBUG_SYMBOLS := $(COPY_DEBUG_SYMBOLS)
endif
@@ -1019,6 +1149,10 @@ define SetupNativeCompilationBody
--entitlements $(TOPDIR)/make/data/macosxsigning/entitlements.plist $$@
endif
endif
ifeq ($(GENERATE_COMPILE_COMMANDS_ONLY), true)
$1 := $$($1_ALL_OBJS_JSON)
endif
endef
endif # _NATIVE_COMPILATION_GMK

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -75,7 +75,7 @@ define SetupTestFilesCompilationBody
# Locate all files with the matching prefix
$1_FILE_LIST := \
$$(shell $$(FIND) $$($1_SOURCE_DIRS) -type f -name "$$($1_PREFIX)*.c")
$$(call FindFiles, $$($1_SOURCE_DIRS), $$($1_PREFIX)*.c)
$1_EXCLUDE_PATTERN := $$(addprefix %/, $$($1_EXCLUDE))
$1_FILTERED_FILE_LIST := $$(filter-out $$($1_EXCLUDE_PATTERN), $$($1_FILE_LIST))

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -103,7 +103,7 @@ define SetupTextFileProcessingBody
$$(error SOURCE_DIRS contains directory $$(src) outside \
SOURCE_BASE_DIR $$($1_SOURCE_BASE_DIR) (in $1))))
endif
$1_SOURCE_FILES := $$(sort $$(call CacheFind,$$($1_SOURCE_DIRS)))
$1_SOURCE_FILES := $$(sort $$(call FindFiles,$$($1_SOURCE_DIRS)))
$1_EXCLUDE_FILES:=$$(foreach i,$$($1_SOURCE_DIRS),$$(addprefix $$i/,$$($1_EXCLUDE_FILES)))
$1_INCLUDE_FILES:=$$(foreach i,$$($1_SOURCE_DIRS),$$(addprefix $$i/,$$($1_INCLUDE_FILES)))
$1_SOURCE_FILES := $$(filter-out $$($1_EXCLUDE_FILES),$$($1_SOURCE_FILES))

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -48,6 +48,8 @@ endif
# src dir
# SUFFIXES
# EXTRA_DEPS
# FOLLOW_SYMLINKS - Set to explicitly follow symlinks. Affects performance of
# finding files.
# ZIP_OPTIONS extra options to pass to zip
SetupZipArchive = $(NamedParamsMacroTemplate)
define SetupZipArchiveBody
@@ -63,7 +65,13 @@ define SetupZipArchiveBody
endif
# Find all files in the source tree.
$1_ALL_SRCS := $$(call not-containing,_the.,$$(call CacheFind,$$($1_FIND_LIST)))
# If asked to, follow symlinks in this find since that is what zip does. To do
# this, we need to call ShellFindFiles directly.
ifeq ($$($1_FOLLOW_SYMLINKS), true)
$1_ALL_SRCS := $$(call not-containing,_the.,$$(call ShellFindFiles,$$($1_FIND_LIST), , -L))
else
$1_ALL_SRCS := $$(call not-containing,_the.,$$(call FindFiles,$$($1_FIND_LIST)))
endif
# Filter on suffixes if set
ifneq ($$($1_SUFFIXES),)

View File

@@ -522,7 +522,7 @@ var getJibProfilesProfiles = function (input, common, data) {
.forEach(function (name) {
var maketestName = name + "-testmake";
profiles[maketestName] = concatObjects(profiles[name], testmakeBase);
profiles[maketestName].default_make_targets = [ "test-make" ];
profiles[maketestName].default_make_targets = [ "test-make", "test-compile-commands" ];
});
// Profiles for building the zero jvm variant. These are used for verification.
@@ -747,7 +747,8 @@ var getJibProfilesProfiles = function (input, common, data) {
"run-test-prebuilt": {
target_os: input.build_os,
target_cpu: input.build_cpu,
dependencies: [ "jtreg", "gnumake", "boot_jdk", "jib", testedProfile + ".jdk",
dependencies: [
"jtreg", "gnumake", "boot_jdk", "devkit", "jib", testedProfile + ".jdk",
testedProfile + ".test"
],
src: "src.conf",
@@ -781,7 +782,6 @@ var getJibProfilesProfiles = function (input, common, data) {
// This gives us a guaranteed working version of lldb for the jtreg failure handler.
if (input.build_os == "macosx") {
macosxRunTestExtra = {
dependencies: [ "devkit" ],
environment_path: input.get("devkit", "install_path")
+ "/Xcode.app/Contents/Developer/usr/bin"
};
@@ -844,11 +844,11 @@ var getJibProfilesDependencies = function (input, common) {
windows_x64: "VS2017-15.5.5+1.0",
linux_aarch64: (input.profile != null && input.profile.indexOf("arm64") >= 0
? "gcc-linaro-aarch64-linux-gnu-4.8-2013.11_linux+1.0"
: "gcc7.3.0-Fedora27+1.0"),
: "gcc7.3.0-Fedora27+1.1"),
linux_arm: (input.profile != null && input.profile.indexOf("hflt") >= 0
? "gcc-linaro-arm-linux-gnueabihf-raspbian-2012.09-20120921_linux+1.0"
: (input.profile != null && input.profile.indexOf("arm32") >= 0
? "gcc7.3.0-Fedora27+1.0"
? "gcc7.3.0-Fedora27+1.1"
: "arm-linaro-4.7+1.0"
)
)
@@ -882,7 +882,10 @@ var getJibProfilesDependencies = function (input, common) {
organization: common.organization,
ext: "tar.gz",
module: "devkit-" + devkit_platform,
revision: devkit_platform_revisions[devkit_platform]
revision: devkit_platform_revisions[devkit_platform],
environment: {
"DEVKIT_HOME": input.get("devkit", "home_path"),
}
},
build_devkit: {
@@ -983,14 +986,6 @@ var getJibProfilesDependencies = function (input, common) {
},
};
// Need to add a value for the Visual Studio tools variable to make
// jaot be able to pick up the Visual Studio linker in testing.
if (input.target_os == "windows") {
dependencies.devkit.environment = {
VS120COMNTOOLS: input.get("devkit", "install_path") + "/Common7/Tools"
};
}
return dependencies;
};
@@ -1172,10 +1167,16 @@ var versionArgs = function(input, common) {
var args = ["--with-version-build=" + common.build_number];
if (input.build_type == "promoted") {
args = concat(args,
// This needs to be changed when we start building release candidates
// with-version-pre must be set to ea for 'ea' and empty for fcs build
"--with-version-pre=",
"--with-version-pre=" + version_numbers.get("DEFAULT_PROMOTED_VERSION_PRE"),
"--without-version-opt");
} else if (input.build_type == "ci") {
var optString = input.build_id_data.ciBuildNumber;
var preString = input.build_id_data.projectName;
if (preString == "jdk") {
preString = version_numbers.get("DEFAULT_PROMOTED_VERSION_PRE");
}
args = concat(args, "--with-version-pre=" + preString,
"--with-version-opt=" + optString);
} else {
args = concat(args, "--with-version-opt=" + common.build_id);
}

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -40,7 +40,7 @@ ifneq ($(wildcard $(INCLUDE_SOURCE_DIR)/*), )
$(eval $(call SetupCopyFiles, COPY_EXPORTED_INCLUDE, \
SRC := $(INCLUDE_SOURCE_DIR), \
DEST := $(INCLUDE_TARGET_DIR), \
FILES := $(filter %.h, $(call CacheFind, $(INCLUDE_SOURCE_DIR))), \
FILES := $(filter %.h, $(call FindFiles, $(INCLUDE_SOURCE_DIR))), \
))
TARGETS += $(COPY_EXPORTED_INCLUDE)
@@ -56,7 +56,7 @@ ifneq ($(wildcard $(INCLUDE_SOURCE_OS_DIR)/*), )
$(eval $(call SetupCopyFiles, COPY_EXPORTED_INCLUDE_OS, \
SRC := $(INCLUDE_SOURCE_OS_DIR), \
DEST := $(INCLUDE_TARGET_DIR)/$(OPENJDK_TARGET_OS_INCLUDE_SUBDIR), \
FILES := $(filter %.h, $(call CacheFind, $(INCLUDE_SOURCE_OS_DIR))), \
FILES := $(filter %.h, $(call FindFiles, $(INCLUDE_SOURCE_OS_DIR))), \
))
TARGETS += $(COPY_EXPORTED_INCLUDE_OS)

View File

@@ -230,7 +230,7 @@ sequence.dialog.x-MS950-HKSCS-XP=alphabetic,chinese-ms950,chinese-hkscs,dingbats
sequence.dialoginput.x-MS950-HKSCS-XP=alphabetic,chinese-ms950,chinese-hkscs,dingbats,symbol,chinese-ms950-extb
sequence.allfonts.UTF-8.hi=alphabetic/1252,devanagari,dingbats,symbol
sequence.allfonts.UTF-8.ja=alphabetic,japanese,dingbats,symbol
sequence.allfonts.UTF-8.ja=alphabetic,japanese,devanagari,dingbats,symbol
sequence.allfonts.windows-1255=hebrew,alphabetic/1252,dingbats,symbol

View File

@@ -1,4 +1,4 @@
File-Date: 2019-04-03
File-Date: 2019-09-16
%%
Type: language
Subtag: aa
@@ -2096,6 +2096,8 @@ Type: language
Subtag: ais
Description: Nataoran Amis
Added: 2009-07-29
Deprecated: 2019-04-16
Comments: see ami, szy
%%
Type: language
Subtag: ait
@@ -2633,6 +2635,7 @@ Added: 2009-07-29
Type: language
Subtag: ant
Description: Antakarinya
Description: Antikarinya
Added: 2009-07-29
%%
Type: language
@@ -3094,6 +3097,8 @@ Type: language
Subtag: asd
Description: Asas
Added: 2009-07-29
Deprecated: 2019-04-16
Preferred-Value: snz
%%
Type: language
Subtag: ase
@@ -4135,7 +4140,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: bck
Description: Bunaba
Description: Bunuba
Added: 2009-07-29
%%
Type: language
@@ -6930,7 +6935,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: bym
Description: Bidyara
Description: Bidjara
Added: 2009-07-29
%%
Type: language
@@ -7564,6 +7569,11 @@ Description: Centúúm
Added: 2009-07-29
%%
Type: language
Subtag: cey
Description: Ekai Chin
Added: 2019-04-16
%%
Type: language
Subtag: cfa
Description: Dijim-Bwilim
Added: 2009-07-29
@@ -9439,6 +9449,7 @@ Added: 2009-07-29
Type: language
Subtag: dif
Description: Dieri
Description: Diyari
Added: 2009-07-29
%%
Type: language
@@ -9515,6 +9526,8 @@ Type: language
Subtag: dit
Description: Dirari
Added: 2009-07-29
Deprecated: 2019-04-29
Preferred-Value: dif
%%
Type: language
Subtag: diu
@@ -9560,6 +9573,7 @@ Added: 2009-07-29
Type: language
Subtag: djd
Description: Djamindjung
Description: Ngaliwurru
Added: 2009-07-29
%%
Type: language
@@ -9603,6 +9617,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: djn
Description: Jawoyn
Description: Djauan
Added: 2009-07-29
%%
@@ -10191,6 +10206,8 @@ Type: language
Subtag: dud
Description: Hun-Saare
Added: 2009-07-29
Deprecated: 2019-04-16
Comments: see uth, uss
%%
Type: language
Subtag: due
@@ -10382,6 +10399,7 @@ Added: 2009-07-29
Type: language
Subtag: dyn
Description: Dyangadi
Description: Dhanggatti
Added: 2009-07-29
%%
Type: language
@@ -10396,6 +10414,7 @@ Added: 2005-10-16
%%
Type: language
Subtag: dyy
Description: Djabugay
Description: Dyaabugay
Added: 2009-07-29
%%
@@ -11672,7 +11691,7 @@ Comments: see wny, wrk
%%
Type: language
Subtag: gbd
Description: Karadjeri
Description: Karajarri
Added: 2009-07-29
%%
Type: language
@@ -12056,7 +12075,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: gge
Description: Guragone
Description: Gurr-goni
Added: 2009-07-29
%%
Type: language
@@ -12169,7 +12188,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: gia
Description: Kitja
Description: Kija
Added: 2009-07-29
%%
Type: language
@@ -12955,7 +12974,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: gue
Description: Gurinji
Description: Gurindji
Added: 2009-07-29
%%
Type: language
@@ -15292,6 +15311,7 @@ Macrolanguage: ms
Type: language
Subtag: jay
Description: Yan-nhangu
Description: Nhangu
Added: 2009-07-29
%%
Type: language
@@ -15488,6 +15508,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: jig
Description: Jingulu
Description: Djingili
Added: 2009-07-29
%%
@@ -17222,6 +17243,7 @@ Added: 2009-07-29
Type: language
Subtag: kkp
Description: Gugubera
Description: Koko-Bera
Added: 2009-07-29
%%
Type: language
@@ -17266,6 +17288,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: kky
Description: Guugu Yimidhirr
Description: Guguyimidjir
Added: 2009-07-29
%%
@@ -18320,6 +18343,7 @@ Added: 2009-07-29
Type: language
Subtag: ktd
Description: Kokata
Description: Kukatha
Added: 2009-07-29
%%
Type: language
@@ -19341,6 +19365,7 @@ Type: language
Subtag: lba
Description: Lui
Added: 2009-07-29
Deprecated: 2019-04-16
%%
Type: language
Subtag: lbb
@@ -19396,7 +19421,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: lbn
Description: Lamet
Description: Rmeet
Added: 2009-07-29
%%
Type: language
@@ -19446,6 +19471,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: lby
Description: Lamalama
Description: Lamu-Lamu
Added: 2009-07-29
%%
@@ -20162,6 +20188,8 @@ Type: language
Subtag: llo
Description: Khlor
Added: 2009-07-29
Deprecated: 2019-04-16
Preferred-Value: ngt
%%
Type: language
Subtag: llp
@@ -20654,6 +20682,11 @@ Added: 2009-07-29
Macrolanguage: luy
%%
Type: language
Subtag: lsn
Description: Tibetan Sign Language
Added: 2019-04-16
%%
Type: language
Subtag: lso
Description: Laos Sign Language
Added: 2009-07-29
@@ -20680,6 +20713,11 @@ Description: Trinidad and Tobago Sign Language
Added: 2009-07-29
%%
Type: language
Subtag: lsv
Description: Sivia Sign Language
Added: 2019-04-16
%%
Type: language
Subtag: lsy
Description: Mauritian Sign Language
Added: 2010-03-11
@@ -20848,6 +20886,11 @@ Description: Maku'a
Added: 2009-07-29
%%
Type: language
Subtag: lvi
Description: Lavi
Added: 2019-04-16
%%
Type: language
Subtag: lvk
Description: Lavukaleve
Added: 2009-07-29
@@ -21454,7 +21497,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: mec
Description: Mara
Description: Marra
Added: 2009-07-29
%%
Type: language
@@ -21523,7 +21566,7 @@ Macrolanguage: ms
%%
Type: language
Subtag: mep
Description: Miriwung
Description: Miriwoong
Added: 2009-07-29
%%
Type: language
@@ -21660,7 +21703,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: mfr
Description: Marithiel
Description: Marrithiyel
Added: 2009-07-29
%%
Type: language
@@ -22853,12 +22896,13 @@ Added: 2009-07-29
%%
Type: language
Subtag: mpb
Description: Malak Malak
Description: Mullukmulluk
Added: 2009-07-29
%%
Type: language
Subtag: mpc
Description: Mangarayi
Description: Mangarrayi
Added: 2009-07-29
%%
Type: language
@@ -22889,6 +22933,7 @@ Added: 2009-07-29
Type: language
Subtag: mpj
Description: Martu Wangka
Description: Wangkajunga
Added: 2009-07-29
%%
Type: language
@@ -24015,6 +24060,8 @@ Type: language
Subtag: myd
Description: Maramba
Added: 2009-07-29
Deprecated: 2019-04-16
Preferred-Value: aog
%%
Type: language
Subtag: mye
@@ -24040,6 +24087,7 @@ Type: language
Subtag: myi
Description: Mina (India)
Added: 2009-07-29
Deprecated: 2019-04-16
%%
Type: language
Subtag: myj
@@ -24375,7 +24423,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: nay
Description: Narrinyeri
Description: Ngarrindjeri
Added: 2009-07-29
%%
Type: language
@@ -24432,7 +24480,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: nbj
Description: Ngarinman
Description: Ngarinyman
Added: 2009-07-29
%%
Type: language
@@ -24467,7 +24515,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: nbr
Description: Numana-Nunku-Gbantu-Numbu
Description: Numana
Added: 2009-07-29
%%
Type: language
@@ -24559,7 +24607,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: nck
Description: Nakara
Description: Na-kara
Added: 2009-07-29
%%
Type: language
@@ -24931,7 +24979,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: ngh
Description: Nǀu
Description: Nǁng
Added: 2009-07-29
%%
Type: language
@@ -25176,7 +25224,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: nig
Description: Ngalakan
Description: Ngalakgan
Added: 2009-07-29
%%
Type: language
@@ -25798,6 +25846,8 @@ Type: language
Subtag: nns
Description: Ningye
Added: 2009-07-29
Deprecated: 2019-04-16
Preferred-Value: nbr
%%
Type: language
Subtag: nnt
@@ -26658,7 +26708,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: nyh
Description: Nyigina
Description: Nyikina
Added: 2009-07-29
%%
Type: language
@@ -26713,7 +26763,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: nys
Description: Nyunga
Description: Nyungar
Added: 2009-07-29
%%
Type: language
@@ -28707,6 +28757,11 @@ Description: Pannei
Added: 2009-07-29
%%
Type: language
Subtag: pnd
Description: Mpinda
Added: 2019-04-16
%%
Type: language
Subtag: pne
Description: Western Penan
Added: 2009-07-29
@@ -28794,6 +28849,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: pnw
Description: Banyjima
Description: Panytyima
Added: 2009-07-29
%%
@@ -29251,7 +29307,8 @@ Added: 2009-07-29
%%
Type: language
Subtag: pti
Description: Pintiini
Description: Pindiini
Description: Wangkatha
Added: 2009-07-29
%%
Type: language
@@ -30133,6 +30190,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: ril
Description: Riang Lang
Description: Riang (Myanmar)
Added: 2009-07-29
%%
@@ -30153,7 +30211,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: rit
Description: Ritarungo
Description: Ritharrngu
Added: 2009-07-29
%%
Type: language
@@ -30219,7 +30277,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: rmb
Description: Rembarunga
Description: Rembarrnga
Added: 2009-07-29
%%
Type: language
@@ -30641,6 +30699,7 @@ Added: 2013-09-10
Type: language
Subtag: rxw
Description: Karuwali
Description: Garuwali
Added: 2013-09-10
%%
Type: language
@@ -32206,7 +32265,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: snz
Description: Sinsauru
Description: Kou
Added: 2009-07-29
%%
Type: language
@@ -32883,6 +32942,7 @@ Type: language
Subtag: suj
Description: Shubi
Added: 2009-07-29
Comments: see also xsj
%%
Type: language
Subtag: suk
@@ -33312,6 +33372,11 @@ Description: Sawai
Added: 2009-07-29
%%
Type: language
Subtag: szy
Description: Sakizaya
Added: 2019-04-16
%%
Type: language
Subtag: taa
Description: Lower Tanana
Added: 2009-07-29
@@ -33465,6 +33530,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: tbh
Description: Dharawal
Description: Thurawal
Added: 2009-07-29
%%
@@ -33644,6 +33710,7 @@ Added: 2009-07-29
Type: language
Subtag: tcs
Description: Torres Strait Creole
Description: Yumplatok
Added: 2009-07-29
%%
Type: language
@@ -34067,6 +34134,7 @@ Preferred-Value: tpo
%%
Type: language
Subtag: thd
Description: Kuuk Thaayorre
Description: Thayore
Added: 2009-07-29
%%
@@ -34310,6 +34378,11 @@ Description: Northern Tujia
Added: 2009-07-29
%%
Type: language
Subtag: tjj
Description: Tjungundji
Added: 2019-04-16
%%
Type: language
Subtag: tjl
Description: Tai Laing
Added: 2012-08-12
@@ -34330,6 +34403,11 @@ Description: Temacine Tamazight
Added: 2009-07-29
%%
Type: language
Subtag: tjp
Description: Tjupany
Added: 2019-04-16
%%
Type: language
Subtag: tjs
Description: Southern Tujia
Added: 2009-07-29
@@ -35679,6 +35757,11 @@ Description: Sedoa
Added: 2009-07-29
%%
Type: language
Subtag: tvx
Description: Taivoan
Added: 2019-04-16
%%
Type: language
Subtag: tvy
Description: Timor Pidgin
Added: 2009-07-29
@@ -36230,7 +36313,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: ulk
Description: Meriam
Description: Meriam Mir
Added: 2009-07-29
%%
Type: language
@@ -36280,6 +36363,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: umg
Description: Morrobalama
Description: Umbuygamu
Added: 2009-07-29
%%
@@ -36550,6 +36634,11 @@ Description: Uspanteco
Added: 2009-07-29
%%
Type: language
Subtag: uss
Description: us-Saare
Added: 2019-04-16
%%
Type: language
Subtag: usu
Description: Uya
Added: 2009-07-29
@@ -36565,6 +36654,11 @@ Description: Ute-Southern Paiute
Added: 2009-07-29
%%
Type: language
Subtag: uth
Description: ut-Hun
Added: 2019-04-16
%%
Type: language
Subtag: utp
Description: Amba (Solomon Islands)
Added: 2009-07-29
@@ -37178,7 +37272,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: waq
Description: Wageman
Description: Wagiman
Added: 2009-07-29
%%
Type: language
@@ -37301,7 +37395,7 @@ Added: 2017-02-23
%%
Type: language
Subtag: wbt
Description: Wanman
Description: Warnman
Added: 2009-07-29
%%
Type: language
@@ -37448,6 +37542,7 @@ Added: 2010-03-11
%%
Type: language
Subtag: wgg
Description: Wangkangurru
Description: Wangganguru
Added: 2009-07-29
%%
@@ -37521,7 +37616,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: wig
Description: Wik-Ngathana
Description: Wik Ngathan
Added: 2009-07-29
%%
Type: language
@@ -37625,6 +37720,11 @@ Description: Kalanadi
Added: 2009-07-29
%%
Type: language
Subtag: wkr
Description: Keerray-Woorroong
Added: 2019-04-16
%%
Type: language
Subtag: wku
Description: Kunduvadi
Added: 2009-07-29
@@ -37857,10 +37957,12 @@ Added: 2013-09-10
Type: language
Subtag: wny
Description: Wanyi
Description: Waanyi
Added: 2012-08-12
%%
Type: language
Subtag: woa
Description: Kuwema
Description: Tyaraity
Added: 2009-07-29
%%
@@ -37951,6 +38053,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: wrb
Description: Waluwarra
Description: Warluwara
Added: 2009-07-29
%%
@@ -37962,11 +38065,12 @@ Added: 2009-07-29
Type: language
Subtag: wrg
Description: Warungu
Description: Gudjal
Added: 2009-07-29
%%
Type: language
Subtag: wrh
Description: Wiradhuri
Description: Wiradjuri
Added: 2009-07-29
%%
Type: language
@@ -38439,6 +38543,7 @@ Deprecated: 2016-05-30
%%
Type: language
Subtag: xby
Description: Batjala
Description: Batyala
Added: 2013-09-10
%%
@@ -38998,7 +39103,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: xmh
Description: Kuku-Muminh
Description: Kugu-Muminh
Added: 2009-07-29
%%
Type: language
@@ -39423,8 +39528,7 @@ Type: language
Subtag: xsj
Description: Subi
Added: 2009-07-29
Deprecated: 2015-02-12
Preferred-Value: suj
Comments: see also suj
%%
Type: language
Subtag: xsl
@@ -40258,6 +40362,7 @@ Added: 2009-07-29
%%
Type: language
Subtag: yin
Description: Riang Lai
Description: Yinchia
Added: 2009-07-29
%%
@@ -41562,12 +41667,13 @@ Added: 2009-07-29
%%
Type: language
Subtag: zml
Description: Madngele
Description: Matngala
Added: 2009-07-29
%%
Type: language
Subtag: zmm
Description: Marimanindji
Description: Marramaninyshi
Added: 2009-07-29
%%
Type: language
@@ -43019,6 +43125,13 @@ Preferred-Value: lsl
Prefix: sgn
%%
Type: extlang
Subtag: lsn
Description: Tibetan Sign Language
Added: 2019-04-16
Preferred-Value: lsn
Prefix: sgn
%%
Type: extlang
Subtag: lso
Description: Laos Sign Language
Added: 2009-07-29
@@ -43041,6 +43154,13 @@ Preferred-Value: lst
Prefix: sgn
%%
Type: extlang
Subtag: lsv
Description: Sivia Sign Language
Added: 2019-04-16
Preferred-Value: lsv
Prefix: sgn
%%
Type: extlang
Subtag: lsy
Description: Mauritian Sign Language
Added: 2010-03-11
@@ -43966,6 +44086,11 @@ Description: Cherokee
Added: 2005-10-16
%%
Type: script
Subtag: Chrs
Description: Chorasmian
Added: 2019-09-11
%%
Type: script
Subtag: Cirt
Description: Cirth
Added: 2005-10-16
@@ -44002,6 +44127,11 @@ Description: Nagari
Added: 2005-10-16
%%
Type: script
Subtag: Diak
Description: Dives Akuru
Added: 2019-09-11
%%
Type: script
Subtag: Dogr
Description: Dogra
Added: 2017-01-13
@@ -44839,6 +44969,11 @@ Description: Sumero-Akkadian cuneiform
Added: 2005-10-16
%%
Type: script
Subtag: Yezi
Description: Yezidi
Added: 2019-09-11
%%
Type: script
Subtag: Yiii
Description: Yi
Added: 2005-10-16
@@ -45683,7 +45818,7 @@ Added: 2005-10-16
%%
Type: region
Subtag: MK
Description: The Former Yugoslav Republic of Macedonia
Description: North Macedonia
Added: 2005-10-16
%%
Type: region

View File

@@ -1,2 +1,2 @@
Github: https://raw.githubusercontent.com/publicsuffix/list/ce0d1a5fba657e55adea3abde4b7f1e50636ff10/public_suffix_list.dat
Date: 2019-01-28
Github: https://raw.githubusercontent.com/publicsuffix/list/33c1c788decfed1052089fa27e3005fe4088dec3/public_suffix_list.dat
Date: 2019-09-28

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -65,9 +65,9 @@ PROC_SRC_SUBDIRS := \
PROC_SRC_DIRS := $(patsubst %, $(SRC_DIR)/%/src, $(PROC_SRC_SUBDIRS))
PROC_SRCS := $(filter %.java, $(call CacheFind, $(PROC_SRC_DIRS)))
PROC_SRCS := $(filter %.java, $(call FindFiles, $(PROC_SRC_DIRS)))
ALL_SRC_DIRS := $(wildcard $(SRC_DIR)/*/src)
ALL_SRC_DIRS := $(SRC_DIR) $(wildcard $(SRC_DIR)/*/src)
SOURCEPATH := $(call PathList, $(ALL_SRC_DIRS))
PROCESSOR_JARS := \
@@ -81,23 +81,23 @@ PROCESSOR_PATH := $(call PathList, $(PROCESSOR_JARS))
ADD_EXPORTS := \
--add-modules jdk.internal.vm.ci \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.aarch64=ALL-UNNAMED \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.amd64=ALL-UNNAMED \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.code=ALL-UNNAMED \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.code.site=ALL-UNNAMED \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.code.stack=ALL-UNNAMED \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.common=ALL-UNNAMED \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot=ALL-UNNAMED \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=ALL-UNNAMED \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.amd64=ALL-UNNAMED \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.events=ALL-UNNAMED \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.sparc=ALL-UNNAMED \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspotvmconfig=ALL-UNNAMED \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.inittimer=ALL-UNNAMED \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.meta=ALL-UNNAMED \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.runtime=ALL-UNNAMED \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.services=ALL-UNNAMED \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.sparc=ALL-UNNAMED \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.aarch64=jdk.internal.vm.compiler \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.amd64=jdk.internal.vm.compiler \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.code=jdk.internal.vm.compiler \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.code.site=jdk.internal.vm.compiler \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.code.stack=jdk.internal.vm.compiler \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.common=jdk.internal.vm.compiler \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot=jdk.internal.vm.compiler \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=jdk.internal.vm.compiler \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.amd64=jdk.internal.vm.compiler \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.events=jdk.internal.vm.compiler \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.sparc=jdk.internal.vm.compiler \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspotvmconfig=jdk.internal.vm.compiler \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.inittimer=jdk.internal.vm.compiler \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.meta=jdk.internal.vm.compiler \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.runtime=jdk.internal.vm.compiler \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.services=jdk.internal.vm.compiler \
--add-exports jdk.internal.vm.ci/jdk.vm.ci.sparc=jdk.internal.vm.compiler \
#
$(GENSRC_DIR)/_gensrc_proc_done: $(PROC_SRCS) $(PROCESSOR_JARS)
@@ -121,6 +121,7 @@ TARGETS += $(GENSRC_DIR)/_gensrc_proc_done
################################################################################
$(GENSRC_DIR)/module-info.java.extra: $(GENSRC_DIR)/_gensrc_proc_done
$(ECHO) "" > $@;
($(CD) $(GENSRC_DIR)/META-INF/providers && \
p=""; \
for i in $$($(LS) | $(SORT)); do \

View File

@@ -0,0 +1,101 @@
#
# Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
default: all
include $(SPEC)
include MakeBase.gmk
GENSRC_DIR := $(SUPPORT_OUTPUTDIR)/gensrc/$(MODULE)
SRC_DIR := $(TOPDIR)/src/$(MODULE)/share/classes
################################################################################
PROC_SRC_SUBDIRS := \
org.graalvm.compiler.hotspot.management \
#
PROC_SRC_DIRS := $(patsubst %, $(SRC_DIR)/%/src, $(PROC_SRC_SUBDIRS))
PROC_SRCS := $(filter %.java, $(call FindFiles, $(PROC_SRC_DIRS)))
ALL_SRC_DIRS := $(SRC_DIR) $(wildcard $(SRC_DIR)/*/src)
SOURCEPATH := $(call PathList, $(ALL_SRC_DIRS))
PROCESSOR_JARS := \
$(BUILDTOOLS_OUTPUTDIR)/jdk.vm.compiler.serviceprovider.processor.jar \
#
PROCESSOR_PATH := $(call PathList, $(PROCESSOR_JARS))
$(GENSRC_DIR)/_gensrc_proc_done: $(PROC_SRCS) $(PROCESSOR_JARS)
$(call MakeDir, $(@D))
$(eval $(call ListPathsSafely,PROC_SRCS,$(@D)/_gensrc_proc_files))
$(JAVA) $(NEW_JAVAC) \
-XDignore.symbol.file \
--upgrade-module-path $(JDK_OUTPUTDIR)/modules --system none \
-sourcepath $(SOURCEPATH) \
-implicit:none \
-proc:only \
-processorpath $(PROCESSOR_PATH) \
-d $(GENSRC_DIR) \
-s $(GENSRC_DIR) \
@$(@D)/_gensrc_proc_files
$(TOUCH) $@
TARGETS += $(GENSRC_DIR)/_gensrc_proc_done
################################################################################
$(GENSRC_DIR)/module-info.java.extra: $(GENSRC_DIR)/_gensrc_proc_done
$(ECHO) "" > $@;
($(CD) $(GENSRC_DIR)/META-INF/providers && \
p=""; \
impl=""; \
for i in $$($(GREP) '^' * | $(SORT) -t ':' -k 2 | $(SED) 's/:.*//'); do \
c=$$($(CAT) $$i | $(TR) -d '\n\r' | $(TR) '$$' '.' ); \
if test x$$p != x$$c; then \
if test x$$p != x; then \
$(ECHO) " ;" >> $@; \
fi; \
$(ECHO) "provides $$c with" >> $@; \
p=$$c; \
impl=""; \
fi; \
if test x$$impl != x; then \
$(ECHO) " , $$i" >> $@; \
else \
$(ECHO) " $$i" >> $@; \
fi; \
impl=$$i; \
done); \
$(ECHO) " ;" >> $@;
TARGETS += $(GENSRC_DIR)/module-info.java.extra
################################################################################
all: $(TARGETS)
.PHONY: default all

View File

@@ -38,6 +38,7 @@ define SetupCharacterData
$$(call LogInfo, Generating $1.java)
$$(call MakeDir, $$(@D))
$(TOOL_GENERATECHARACTER) $2 \
$(if $(call equals, $(ALLOW_ABSOLUTE_PATHS_IN_OUTPUT), true), -d) \
-template $(CHARACTERDATA)/$1.java.template \
-spec $(UNICODEDATA)/UnicodeData.txt \
-specialcasing $(UNICODEDATA)/SpecialCasing.txt \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -64,7 +64,7 @@ endef
define SetupCompileProperties
# Lookup the properties that need to be compiled into resource bundles.
PROPSOURCES := $2 \
$$(shell $(FIND) $(TOPDIR)/src/$(MODULE)/share/classes -name "*.properties")
$$(call FindFiles, $(TOPDIR)/src/$(MODULE)/share/classes, *.properties)
# Filter out any excluded translations
PROPSOURCES := $$(call FilterExcludedTranslations, $$(PROPSOURCES), .properties)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -28,16 +28,16 @@
# into LocaleDataMetaInfo.java
# First go look for all locale files
LOCALE_FILES := $(shell $(FIND) \
LOCALE_FILES := $(call FindFiles, \
$(TOPDIR)/src/$(MODULE)/share/classes/sun/text/resources \
$(TOPDIR)/src/$(MODULE)/share/classes/sun/util/resources \
-name "FormatData_*.java" -o -name "FormatData_*.properties" -o \
-name "CollationData_*.java" -o -name "CollationData_*.properties" -o \
-name "TimeZoneNames_*.java" -o -name "TimeZoneNames_*.properties" -o \
-name "LocaleNames_*.java" -o -name "LocaleNames_*.properties" -o \
-name "CurrencyNames_*.java" -o -name "CurrencyNames_*.properties" -o \
-name "CalendarData_*.java" -o -name "CalendarData_*.properties" -o \
-name "BreakIteratorInfo_*.java" -o -name "BreakIteratorRules_*.java")
$(TOPDIR)/src/$(MODULE)/share/classes/sun/util/resources, \
FormatData_*.java FormatData_*.properties \
CollationData_*.java CollationData_*.properties \
TimeZoneNames_*.java TimeZoneNames_*.properties \
LocaleNames_*.java LocaleNames_*.properties \
CurrencyNames_*.java CurrencyNames_*.properties \
CalendarData_*.java CalendarData_*.properties \
BreakIteratorInfo_*.java BreakIteratorRules_*.java)
# Then translate the locale files into for example: FormatData_sv
LOCALE_RESOURCES := $(sort $(subst .properties,,$(subst .java,,$(notdir $(LOCALE_FILES)))))

View File

@@ -81,7 +81,9 @@ ifneq ($(MOD_FILES), )
$(call DependOnVariable, ALL_MODULES)
$(MKDIR) -p $(@D)
$(RM) $@ $@.tmp
$(TOOL_GENMODULEINFOSOURCE) -o $@.tmp \
$(TOOL_GENMODULEINFOSOURCE) \
$(if $(call equals, $(ALLOW_ABSOLUTE_PATHS_IN_OUTPUT), true), -d) \
-o $@.tmp \
--source-file $< \
--modules $(call CommaList, $(ALL_MODULES)) \
$(MOD_FILES)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -68,7 +68,7 @@ define SetupCompilePropertiesBody
endif
# Locate all properties files in the given source dirs.
$1_SRC_FILES := $$(filter %.properties, $$(call CacheFind, $$($1_SRC_DIRS)))
$1_SRC_FILES := $$(call FindFiles, $$($1_SRC_DIRS), *.properties)
ifneq ($$($1_EXCLUDE), )
$1_SRC_FILES := $$(filter-out $$($1_EXCLUDE), $$($1_SRC_FILES))

View File

@@ -191,6 +191,9 @@ ifeq ($(call check-jvm-feature, compiler2), true)
$(NAWK) \
'BEGIN { print "#line 1 \"$*\""; } \
/^#line 999999$$/ {print "#line " (NR+1) " \"$*\""; next} \
$(if $(call equals, $(ALLOW_ABSOLUTE_PATHS_IN_OUTPUT), false), \
/^#line .*$$/ {sub("$(WORKSPACE_ROOT)/","")} \
) \
{print}' \
< $(ADLC_SUPPORT_DIR)/$* > $@

View File

@@ -186,15 +186,17 @@ VM_VERSION_OBJ := $(JVM_OUTPUTDIR)/objs/vm_version$(OBJ_SUFFIX)
$(VM_VERSION_OBJ): $(filter-out $(VM_VERSION_OBJ) $(JVM_MAPFILE), \
$(BUILD_LIBJVM_TARGET_DEPS))
ifeq ($(OPENJDK_TARGET_OS), windows)
# It doesn't matter which jvm.lib file gets exported, but we need
# to pick just one.
ifeq ($(JVM_VARIANT), $(JVM_VARIANT_MAIN))
$(eval $(call SetupCopyFiles, COPY_JVM_LIB, \
DEST := $(LIB_OUTPUTDIR), \
FILES :=$(BUILD_LIBJVM_IMPORT_LIBRARY), \
))
TARGETS += $(COPY_JVM_LIB)
ifneq ($(GENERATE_COMPILE_COMMANDS_ONLY), true)
ifeq ($(OPENJDK_TARGET_OS), windows)
# It doesn't matter which jvm.lib file gets exported, but we need
# to pick just one.
ifeq ($(JVM_VARIANT), $(JVM_VARIANT_MAIN))
$(eval $(call SetupCopyFiles, COPY_JVM_LIB, \
DEST := $(LIB_OUTPUTDIR), \
FILES :=$(BUILD_LIBJVM_IMPORT_LIBRARY), \
))
TARGETS += $(COPY_JVM_LIB)
endif
endif
endif
@@ -233,44 +235,46 @@ TARGETS += $(BUILD_LIBJVM)
# Search the output for the operator(s) of interest, to see where they are
# referenced.
ifneq ($(filter $(TOOLCHAIN_TYPE), gcc clang solstudio), )
ifneq ($(GENERATE_COMPILE_COMMANDS_ONLY), true)
ifneq ($(filter $(TOOLCHAIN_TYPE), gcc clang solstudio), )
DEMANGLED_REGEXP := [^:]operator (new|delete)
DEMANGLED_REGEXP := [^:]operator (new|delete)
# Running c++filt to find offending symbols in all files is too expensive,
# especially on Solaris, so use mangled names when looking for symbols.
# Save the demangling for when something is actually found.
ifeq ($(TOOLCHAIN_TYPE), solstudio)
MANGLED_SYMS := \
__1c2n6FL_pv_ \
__1c2N6FL_pv_ \
__1c2k6Fpv_v_ \
__1c2K6Fpv_v_ \
#
UNDEF_PATTERN := UNDEF
else
MANGLED_SYMS := \
_ZdaPv \
_ZdlPv \
_Znam \
_Znwm \
#
UNDEF_PATTERN := ' U '
# Running c++filt to find offending symbols in all files is too expensive,
# especially on Solaris, so use mangled names when looking for symbols.
# Save the demangling for when something is actually found.
ifeq ($(TOOLCHAIN_TYPE), solstudio)
MANGLED_SYMS := \
__1c2n6FL_pv_ \
__1c2N6FL_pv_ \
__1c2k6Fpv_v_ \
__1c2K6Fpv_v_ \
#
UNDEF_PATTERN := UNDEF
else
MANGLED_SYMS := \
_ZdaPv \
_ZdlPv \
_Znam \
_Znwm \
#
UNDEF_PATTERN := ' U '
endif
define SetupOperatorNewDeleteCheck
$1.op_check: $1
if [ -n "`$(NM) $$< | $(GREP) $(addprefix -e , $(MANGLED_SYMS)) \
| $(GREP) $(UNDEF_PATTERN)`" ]; then \
$(ECHO) "$$<: Error: Use of global operators new and delete is not allowed in Hotspot:"; \
$(NM) $$< | $(CXXFILT) | $(EGREP) '$(DEMANGLED_REGEXP)' | $(GREP) $(UNDEF_PATTERN); \
$(ECHO) "See: $(TOPDIR)/make/hotspot/lib/CompileJvm.gmk"; \
exit 1; \
fi
$(TOUCH) $$@
TARGETS += $1.op_check
endef
$(foreach o, $(BUILD_LIBJVM_ALL_OBJS), $(eval $(call SetupOperatorNewDeleteCheck,$o)))
endif
define SetupOperatorNewDeleteCheck
$1.op_check: $1
if [ -n "`$(NM) $$< | $(GREP) $(addprefix -e , $(MANGLED_SYMS)) \
| $(GREP) $(UNDEF_PATTERN)`" ]; then \
$(ECHO) "$$<: Error: Use of global operators new and delete is not allowed in Hotspot:"; \
$(NM) $$< | $(CXXFILT) | $(EGREP) '$(DEMANGLED_REGEXP)' | $(GREP) $(UNDEF_PATTERN); \
$(ECHO) "See: $(TOPDIR)/make/hotspot/lib/CompileJvm.gmk"; \
exit 1; \
fi
$(TOUCH) $$@
TARGETS += $1.op_check
endef
$(foreach o, $(BUILD_LIBJVM_ALL_OBJS), $(eval $(call SetupOperatorNewDeleteCheck,$o)))
endif

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -65,7 +65,7 @@ ifeq ($(OPENJDK_TARGET_OS), linux)
# significantly reduce the GC pause time on 32 bit Linux/Unix platforms by
# compiling without the PIC flag (-fPIC on linux).
# See 6454213 for more details.
ALL_SRC := $(filter %.cpp, $(call CacheFind, $(TOPDIR)/src/hotspot/share))
ALL_SRC := $(call FindFiles, $(TOPDIR)/src/hotspot/share, *.cpp)
NONPIC_FILTER := $(addsuffix %, $(addprefix $(TOPDIR)/src/hotspot/share/, \
memory oops gc))
# Due to what looks like a bug in the old build implementation of this, add a

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -45,12 +45,14 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
FLATTEN := true, \
)) \
$(eval TARGETS += $$(COPY_GTEST_MSVCR_$v)) \
$(eval $(call SetupCopyFiles, COPY_GTEST_PDB_$v, \
SRC := $(HOTSPOT_OUTPUTDIR)/variant-$v/libjvm/gtest, \
DEST := $(TEST_IMAGE_DIR)/hotspot/gtest/$v, \
FILES := jvm.pdb gtestLauncher.pdb, \
)) \
$(eval TARGETS += $$(COPY_GTEST_PDB_$v)) \
$(if $(call equals, $(COPY_DEBUG_SYMBOLS), true), \
$(eval $(call SetupCopyFiles, COPY_GTEST_PDB_$v, \
SRC := $(HOTSPOT_OUTPUTDIR)/variant-$v/libjvm/gtest, \
DEST := $(TEST_IMAGE_DIR)/hotspot/gtest/$v, \
FILES := jvm.pdb gtestLauncher.pdb, \
)) \
$(eval TARGETS += $$(COPY_GTEST_PDB_$v)) \
) \
)
endif

View File

@@ -933,14 +933,15 @@ OUTER: for (int i = 0; i < n; i += m) {
int n = sizes.length;
StringBuffer result = new StringBuffer();
// liu : Add a comment showing the source of this table
result.append(commentStart + " The following tables and code generated using:" +
commentEnd + "\n ");
result.append(commentStart + ' ' + commandLineDescription + commentEnd + "\n ");
if (plane == 0 && bLatin1 == false) {
if (debug) {
result.append(commentStart + " The following tables and code generated using:" +
commentEnd + "\n ");
result.append(commentStart + ' ' + commandLineDescription + commentEnd + "\n ");
}
if (plane == 0 && bLatin1 == false) {
genCaseMapTableDeclaration(result);
genCaseMapTable(initializers, specialCaseMaps);
}
}
int totalBytes = 0;
for (int k = 0; k < n - 1; k++) {
genTable(result, tableNames[k], tables[k], 0, bytes[k]<<3, sizes[k], preshifted[k],
@@ -1603,6 +1604,7 @@ OUTER: for (int i = 0; i < n; i += m) {
*/
static boolean verbose = false;
static boolean debug = false;
static boolean nobidi = false;
static boolean nomirror = false;
static boolean identifiers = false;
@@ -1682,6 +1684,8 @@ OUTER: for (int i = 0; i < n; i += m) {
for (int j = 0; j < args.length; j++) {
if (args[j].equals("-verbose") || args[j].equals("-v"))
verbose = true;
else if (args[j].equals("-d"))
debug = true;
else if (args[j].equals("-nobidi"))
nobidi = true;
else if (args[j].equals("-nomirror"))

View File

@@ -57,11 +57,14 @@ import static java.util.stream.Collectors.*;
*/
public class GenModuleInfoSource {
private final static String USAGE =
"Usage: GenModuleInfoSource -o <output file> \n" +
" --source-file <module-info-java>\n" +
" --modules <module-name>[,<module-name>...]\n" +
" <module-info.java.extra> ...\n";
"Usage: GenModuleInfoSource \n" +
" [-d]\n" +
" -o <output file>\n" +
" --source-file <module-info-java>\n" +
" --modules <module-name>[,<module-name>...]\n" +
" <module-info.java.extra> ...\n";
static boolean debug = false;
static boolean verbose = false;
public static void main(String... args) throws Exception {
Path outfile = null;
@@ -73,6 +76,9 @@ public class GenModuleInfoSource {
String option = args[i];
String arg = i+1 < args.length ? args[i+1] : null;
switch (option) {
case "-d":
debug = true;
break;
case "-o":
outfile = Paths.get(arg);
i++;
@@ -146,10 +152,12 @@ public class GenModuleInfoSource {
for (String l : lines) {
writer.println(l);
if (l.trim().startsWith("module ")) {
// print URI rather than file path to avoid escape
writer.format(" // source file: %s%n", sourceFile.toUri());
for (Path file: extraFiles) {
writer.format(" // %s%n", file.toUri());
if (debug) {
// print URI rather than file path to avoid escape
writer.format(" // source file: %s%n", sourceFile.toUri());
for (Path file : extraFiles) {
writer.format(" // %s%n", file.toUri());
}
}
break;
}

View File

@@ -86,21 +86,15 @@ $(eval $(call SetupJdkExecutable, BUILD_UNPACKEXE, \
CFLAGS_linux := -fPIC, \
CFLAGS_solaris := -KPIC, \
CFLAGS_macosx := -fPIC, \
LDFLAGS := $(UNPACKEXE_ZIPOBJS) \
$(LDFLAGS_JDKEXE) $(LDFLAGS_CXX_JDK) \
LDFLAGS := $(LDFLAGS_JDKEXE) $(LDFLAGS_CXX_JDK) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS := $(UNPACKEXE_LIBS) $(LIBCXX), \
OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/unpackexe, \
MANIFEST := $(TOPDIR)/src/jdk.pack/windows/native/unpack200/unpack200_proto.exe.manifest, \
MANIFEST_VERSION := $(VERSION_NUMBER_FOUR_POSITIONS), \
EXTRA_OBJECT_FILES := $(UNPACKEXE_ZIPOBJS) \
))
ifneq ($(USE_EXTERNAL_LIBZ), true)
$(BUILD_UNPACKEXE): $(UNPACKEXE_ZIPOBJS)
endif
TARGETS += $(BUILD_UNPACKEXE)
################################################################################

View File

@@ -152,7 +152,7 @@ define SetupBuildLauncherBody
$1_LIBS += -lz
endif
$1_WINDOWS_JLI_LIB := $(SUPPORT_OUTPUTDIR)/native/java.base/libjli/jli.lib
$1_WINDOWS_JLI_LIB := $(call FindStaticLib, java.base, jli, /libjli)
$$(eval $$(call SetupJdkExecutable, BUILD_LAUNCHER_$1, \
NAME := $1, \
@@ -164,7 +164,6 @@ define SetupBuildLauncherBody
-DLAUNCHER_NAME='"$(LAUNCHER_NAME)"' \
-DPROGNAME='"$1"' \
$$($1_CFLAGS), \
CFLAGS_linux := -fPIC, \
CFLAGS_solaris := -KPIC -DHAVE_GETHRTIME, \
CFLAGS_windows := $$($1_CFLAGS_windows), \
LDFLAGS := $$(LDFLAGS_JDKEXE) \
@@ -195,11 +194,11 @@ define SetupBuildLauncherBody
TARGETS += $$($1)
ifeq ($(OPENJDK_TARGET_OS), aix)
$$(BUILD_LAUNCHER_$1): $(SUPPORT_OUTPUTDIR)/native/java.base/libjli_static.a
$$(BUILD_LAUNCHER_$1): $(call FindStaticLib, java.base, jli_static)
endif
ifeq ($(OPENJDK_TARGET_OS), windows)
$$(BUILD_LAUNCHER_$1): $(SUPPORT_OUTPUTDIR)/native/java.base/libjava/java.lib \
$$(BUILD_LAUNCHER_$1): $(call FindStaticLib, java.base, java, /libjava) \
$$($1_WINDOWS_JLI_LIB)
endif
endef

View File

@@ -736,11 +736,11 @@ else # OPENJDK_TARGET_OS not windows
ifeq ($(ENABLE_HEADLESS_ONLY), false)
$(BUILD_LIBJAWT): $(BUILD_LIBAWT_XAWT)
else
$(BUILD_LIBJAWT): $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_headless$(SHARED_LIBRARY_SUFFIX)
$(BUILD_LIBJAWT): $(call FindLib, $(MODULE), awt_headless)
endif
ifeq ($(OPENJDK_TARGET_OS), macosx)
$(BUILD_LIBJAWT): $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)awt_lwawt$(SHARED_LIBRARY_SUFFIX)
$(BUILD_LIBJAWT): $(call FindLib, $(MODULE), awt_lwawt)
endif
endif # OPENJDK_TARGET_OS

View File

@@ -148,6 +148,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBZIP, \
CFLAGS := $(CFLAGS_JDKLIB) \
$(LIBZ_CFLAGS), \
CFLAGS_unix := $(BUILD_LIBZIP_MMAP) -UDEBUG, \
DISABLED_WARNINGS_gcc := unused-function implicit-fallthrough, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS_unix := -ljvm -ljava $(LIBZ_LIBS), \
@@ -238,6 +239,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBJLI, \
EXTRA_FILES := $(LIBJLI_EXTRA_FILES), \
OPTIMIZATION := HIGH, \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBJLI_CFLAGS), \
DISABLED_WARNINGS_gcc := unused-function implicit-fallthrough, \
DISABLED_WARNINGS_solstudio := \
E_ASM_DISABLES_OPTIMIZATION \
E_STATEMENT_NOT_REACHED, \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -29,7 +29,7 @@ include LibCommon.gmk
$(eval $(call IncludeCustomExtension, lib/Lib-java.base.gmk))
# Prepare the find cache.
$(eval $(call FillCacheFind, $(wildcard $(TOPDIR)/src/java.base/*/native)))
$(call FillFindCache, $(wildcard $(TOPDIR)/src/java.base/*/native))
################################################################################
# Create all the core libraries

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -29,7 +29,7 @@ include LibCommon.gmk
$(eval $(call IncludeCustomExtension, lib/Lib-java.desktop.gmk))
# Prepare the find cache.
$(eval $(call FillCacheFind, $(wildcard $(TOPDIR)/src/java.desktop/*/native)))
$(call FillFindCache, $(wildcard $(TOPDIR)/src/java.desktop/*/native))
################################################################################
# Create the AWT/2D libraries

View File

@@ -55,7 +55,7 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
VERSIONINFO_RESOURCE := $(ROOT_SRCDIR)/common/AccessBridgeStatusWindow.rc, \
)
$$(BUILD_JAVAACCESSBRIDGE$1): $(SUPPORT_OUTPUTDIR)/native/java.desktop/libjawt/jawt.lib
$$(BUILD_JAVAACCESSBRIDGE$1): $(call FindStaticLib, java.desktop, jawt, /libjawt)
TARGETS += $$(BUILD_JAVAACCESSBRIDGE$1)
endef

View File

@@ -57,24 +57,6 @@ else ifeq ($(TOOLCHAIN_TYPE), solstudio)
EXPORT_ALL_SYMBOLS := -xldscope=global
endif
################################################################################
# Find a library
# Param 1 - module name
# Param 2 - library name
# Param 3 - optional subdir for library
FindLib = \
$(call FindLibDirForModule, \
$(strip $1))$(strip $3)/$(LIBRARY_PREFIX)$(strip $2)$(SHARED_LIBRARY_SUFFIX)
################################################################################
# Find a static library
# Param 1 - module name
# Param 2 - library name
# Param 3 - optional subdir for library
FindStaticLib = \
$(addprefix $(SUPPORT_OUTPUTDIR)/native/, \
$(strip $1)$(strip $3)/$(LIBRARY_PREFIX)$(strip $2)$(STATIC_LIBRARY_SUFFIX))
# Put the libraries here.
INSTALL_LIBRARIES_HERE := $(call FindLibDirForModule, $(MODULE))

View File

@@ -878,7 +878,7 @@ endif
ifeq ($(OPENJDK_TARGET_OS), windows)
BUILD_HOTSPOT_JTREG_EXECUTABLES_CFLAGS_exeFPRegs := -MT
BUILD_HOTSPOT_JTREG_EXCLUDE += exesigtest.c libterminatedThread.c
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libatExit := jvm.lib
else
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libbootclssearch_agent += -lpthread
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libsystemclssearch_agent += -lpthread
@@ -1512,6 +1512,7 @@ else
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libgetphase001 += -lpthread
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libgetphase002 += -lpthread
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libterminatedThread += -lpthread
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libatExit += -ljvm
endif
$(eval $(call SetupTestFilesCompilation, BUILD_HOTSPOT_JTREG_LIBRARIES, \

View File

@@ -48,12 +48,20 @@ BUILD_JDK_JTREG_OUTPUT_DIR := $(OUTPUTDIR)/support/test/jdk/jtreg/native
BUILD_JDK_JTREG_IMAGE_DIR := $(TEST_IMAGE_DIR)/jdk/jtreg
BUILD_JDK_JTREG_EXECUTABLES_CFLAGS_exeJliLaunchTest := \
-I$(TOPDIR)/src/java.base/share/native/libjli \
-I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libjli \
-I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS)/native/libjli \
-DPACKAGE_PATH=\"$(PACKAGE_PATH)\"
# Platform specific setup
ifeq ($(OPENJDK_TARGET_OS), windows)
BUILD_JDK_JTREG_EXCLUDE += libDirectIO.c libInheritedChannel.c
WIN_LIB_JAVA := $(SUPPORT_OUTPUTDIR)/native/java.base/libjava/java.lib
BUILD_JDK_JTREG_LIBRARIES_LIBS_libstringPlatformChars := $(WIN_LIB_JAVA)
WIN_LIB_JLI := $(SUPPORT_OUTPUTDIR)/native/java.base/libjli/jli.lib
BUILD_JDK_JTREG_EXECUTABLES_LIBS_exeJliLaunchTest := $(WIN_LIB_JLI)
else
BUILD_JDK_JTREG_LIBRARIES_LIBS_libstringPlatformChars := -ljava
BUILD_JDK_JTREG_LIBRARIES_LIBS_libDirectIO := -ljava
@@ -62,6 +70,9 @@ else
else ifeq ($(OPENJDK_TARGET_OS), solaris)
BUILD_JDK_JTREG_LIBRARIES_LIBS_libInheritedChannel := -ljava
endif
UNIX_LDFLAGS_JLI := -L$(SUPPORT_OUTPUTDIR)/modules_libs/java.base/jli
BUILD_JDK_JTREG_EXECUTABLES_LDFLAGS_exeJliLaunchTest := $(UNIX_LDFLAGS_JLI)
BUILD_JDK_JTREG_EXECUTABLES_LIBS_exeJliLaunchTest := -ljli
endif
ifeq ($(OPENJDK_TARGET_OS), macosx)

View File

@@ -0,0 +1,113 @@
#
# Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# This must be the first rule
default: all
include $(SPEC)
include MakeBase.gmk
################################################################################
# Return the full path to an indexer-specific file fragment.
#
# Param 1: Fragment name
################################################################################
GetIndexerFragment = \
$(TOPDIR)/make/vscode/indexers/$(VSCODE_INDEXER)-$(1).txt
################################################################################
# Show indexer-specific notes if they exist, otherwise do nothing
################################################################################
ifneq (,$(wildcard $(call GetIndexerFragment,notes)))
ShowIndexerNotes = $(CAT) $(call GetIndexerFragment,notes)
else
ShowIndexerNotes =
endif
################################################################################
# Return the platform-dependent preferred debug engine name.
################################################################################
ifeq ($(OPENJDK_TARGET_OS), windows)
DebugEngineName = cppvsdbg
else
DebugEngineName = cppdbg
endif
################################################################################
# Return an additional configuration fragment if the WORKSPACE_ROOT is different
# from TOPDIR.
################################################################################
ifneq ($(WORKSPACE_ROOT),$(TOPDIR))
GetExtraWorkspaceRoot = $(TOPDIR)/make/vscode/template-workspace-folder.txt
else
GetExtraWorkspaceRoot = /dev/null
endif
################################################################################
# Create a project configuration from a given template, replacing a known set
# of variables.
#
# Param 1: Template
# Param 2: Output
################################################################################
define CreateFromTemplate
$(call LogInfo, Generating $2)
$(call MakeDir, $(dir $2))
$(SED) -e '/{{INDEXER_EXTENSIONS}}/r $(call GetIndexerFragment,extensions)' \
-e '/{{INDEXER_SETTINGS}}/r $(call GetIndexerFragment,settings)' \
-e '/{{EXTRA_WORKSPACE_ROOT}}/r $(call GetExtraWorkspaceRoot)' $1 | \
$(SED) -e 's!{{TOPDIR}}!$(call FixPath,$(TOPDIR))!g' \
-e 's!{{TOPDIR_RELATIVE}}!$(call FixPath,$(strip \
$(call RelativePath,$(OUTPUTDIR),$(TOPDIR))))!g' \
-e 's!{{WORKSPACE_ROOT}}!$(call FixPath,$(WORKSPACE_ROOT))!g' \
-e 's!{{OUTPUTDIR}}!$(call FixPath,$(OUTPUTDIR))!g' \
-e 's!{{CONF_NAME}}!$(CONF_NAME)!g' \
-e 's!{{COMPILER}}!$(call FixPath,$(CXX)) $(SYSROOT_CFLAGS)!g' \
-e 's!{{MAKE}}!$(call FixPath,$(MAKE))!g' \
-e 's!{{PATH}}!$(call FixPathList,$(PATH))!g' \
-e 's!{{DEBUGENGINENAME}}!$(call DebugEngineName)!g' \
-e '/{{INDEXER_EXTENSIONS}}/d' \
-e '/{{INDEXER_SETTINGS}}/d' \
-e '/{{EXTRA_WORKSPACE_ROOT}}/d' \
> $2
endef
$(OUTPUTDIR)/jdk.code-workspace:
$(call LogWarn, Creating workspace $@)
$(call CreateFromTemplate, $(TOPDIR)/make/vscode/template-workspace.jsonc, $@)
$(call ShowIndexerNotes)
$(OUTPUTDIR)/.vscode/tasks.json:
$(call CreateFromTemplate, $(TOPDIR)/make/vscode/template-tasks.jsonc, $@)
$(OUTPUTDIR)/.vscode/launch.json:
$(call CreateFromTemplate, $(TOPDIR)/make/vscode/template-launch.jsonc, $@)
TARGETS := $(OUTPUTDIR)/jdk.code-workspace $(OUTPUTDIR)/.vscode/tasks.json \
$(OUTPUTDIR)/.vscode/launch.json
all: $(TARGETS)
.PHONY: all $(TARGETS)

View File

@@ -0,0 +1,2 @@
"ms-vscode.cpptools",
"ccls-project.ccls"

View File

@@ -0,0 +1,3 @@
* The "ccls" indexer must be present in PATH, or configured with "ccls.launch.command" in user preferences.

View File

@@ -0,0 +1,28 @@
// Configure cpptools IntelliSense
"C_Cpp.intelliSenseCachePath": "{{OUTPUTDIR}}/.vscode",
"C_Cpp.default.compileCommands": "{{OUTPUTDIR}}/compile_commands.json",
"C_Cpp.default.cppStandard": "c++03",
"C_Cpp.default.compilerPath": "{{COMPILER}}",
// Configure ccls
"ccls.misc.compilationDatabaseDirectory": "{{TOPDIR_RELATIVE}}",
"ccls.cache.hierarchicalPath": true,
"ccls.cache.directory": "{{OUTPUTDIR}}/.vscode/ccls",
// Avoid issues with precompiled headers
"ccls.clang.excludeArgs": [
// Windows / MSVC
"-Fp{{OUTPUTDIR}}/hotspot/variant-server/libjvm/objs/BUILD_LIBJVM.pch",
"-Fp{{OUTPUTDIR}}/hotspot/variant-server/libjvm/gtest/objs/BUILD_GTEST_LIBJVM.pch",
"-Yuprecompiled.hpp",
// MacOS / clang
"{{OUTPUTDIR}}/hotspot/variant-server/libjvm/objs/precompiled/precompiled.hpp.pch",
"{{OUTPUTDIR}}/hotspot/variant-server/libjvm/gtest/objs/precompiled/precompiled.hpp.pch",
"-include-pch"
],
// Disable conflicting features from cpptools
"C_Cpp.autocomplete": "Disabled",
"C_Cpp.errorSquiggles": "Disabled",
"C_Cpp.formatting": "Disabled",
"C_Cpp.intelliSenseEngine": "Disabled",

View File

@@ -0,0 +1,2 @@
"ms-vscode.cpptools",
"llvm-vs-code-extensions.vscode-clangd"

View File

@@ -0,0 +1,4 @@
* The "clangd" indexer must be present in PATH, or configured with "clangd.path" in user preferences.
* If building with clang (default on OSX), precompiled headers must be disabled.

View File

@@ -0,0 +1,17 @@
// Configure cpptools IntelliSense
"C_Cpp.intelliSenseCachePath": "{{OUTPUTDIR}}/.vscode",
"C_Cpp.default.compileCommands": "{{OUTPUTDIR}}/compile_commands.json",
"C_Cpp.default.cppStandard": "c++03",
"C_Cpp.default.compilerPath": "{{COMPILER}}",
// Configure clangd
"clangd.arguments": [
"-background-index",
"-compile-commands-dir={{OUTPUTDIR}}"
],
// Disable conflicting features from cpptools
"C_Cpp.autocomplete": "Disabled",
"C_Cpp.errorSquiggles": "Disabled",
"C_Cpp.formatting": "Disabled",
"C_Cpp.intelliSenseEngine": "Disabled",

View File

@@ -0,0 +1 @@
"ms-vscode.cpptools"

View File

@@ -0,0 +1,5 @@
// Configure cpptools IntelliSense
"C_Cpp.intelliSenseCachePath": "{{OUTPUTDIR}}/.vscode",
"C_Cpp.default.compileCommands": "{{OUTPUTDIR}}/compile_commands.json",
"C_Cpp.default.cppStandard": "c++03",
"C_Cpp.default.compilerPath": "{{COMPILER}}",

View File

@@ -0,0 +1,2 @@
"ms-vscode.cpptools",
"jomiller.rtags-client"

View File

@@ -0,0 +1,14 @@
// Configure cpptools IntelliSense
"C_Cpp.intelliSenseCachePath": "{{OUTPUTDIR}}/.vscode",
"C_Cpp.default.compileCommands": "{{OUTPUTDIR}}/compile_commands.json",
"C_Cpp.default.cppStandard": "c++03",
"C_Cpp.default.compilerPath": "{{COMPILER}}",
// Configure RTags
"rtags.misc.compilationDatabaseDirectory": "{{OUTPUTDIR}}",
// Disable conflicting features from cpptools
"C_Cpp.autocomplete": "Disabled",
"C_Cpp.errorSquiggles": "Disabled",
"C_Cpp.formatting": "Disabled",
"C_Cpp.intelliSenseEngine": "Disabled",

View File

@@ -0,0 +1,55 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "gtestLauncher",
"type": "{{DEBUGENGINENAME}}",
"request": "launch",
"program": "{{OUTPUTDIR}}/hotspot/variant-server/libjvm/gtest/gtestLauncher",
"args": ["-jdk:{{OUTPUTDIR}}/jdk"],
"stopAtEntry": false,
"cwd": "{{WORKSPACE_ROOT}}",
"environment": [],
"externalConsole": false,
"preLaunchTask": "Make 'exploded-image'",
"osx": {
"MIMode": "lldb",
"internalConsoleOptions": "openOnSessionStart",
"args": ["--gtest_color=no", "-jdk:{{OUTPUTDIR}}/jdk"]
},
"linux": {
"MIMode": "gdb",
"setupCommands": [
{
"text": "handle SIGSEGV noprint nostop",
"description": "Disable stopping on signals handled by the JVM"
}
]
}
},
{
"name": "java",
"type": "{{DEBUGENGINENAME}}",
"request": "launch",
"program": "{{OUTPUTDIR}}/jdk/bin/java",
"stopAtEntry": false,
"cwd": "{{WORKSPACE_ROOT}}",
"environment": [],
"externalConsole": false,
"preLaunchTask": "Make 'exploded-image'",
"osx": {
"MIMode": "lldb",
"internalConsoleOptions": "openOnSessionStart",
},
"linux": {
"MIMode": "gdb",
"setupCommands": [
{
"text": "handle SIGSEGV noprint nostop",
"description": "Disable stopping on signals handled by the JVM"
}
]
}
}
]
}

View File

@@ -0,0 +1,55 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Update compilation database (compile_commands.json)",
"type": "shell",
"options": {
"env": {
"PATH": "{{PATH}}"
},
"cwd": "{{WORKSPACE_ROOT}}"
},
"command": "{{MAKE}} CONF_NAME={{CONF_NAME}} compile-commands",
"problemMatcher": []
},
{
"label": "Make 'hotspot'",
"type": "shell",
"options": {
"env": {
"PATH": "{{PATH}}"
},
"cwd": "{{WORKSPACE_ROOT}}"
},
"command": "{{MAKE}} CONF_NAME={{CONF_NAME}} hotspot",
"problemMatcher": ["$gcc"]
},
{
"label": "Make 'exploded-image'",
"type": "shell",
"options": {
"env": {
"PATH": "{{PATH}}"
},
"cwd": "{{WORKSPACE_ROOT}}"
},
"command": "{{MAKE}} CONF_NAME={{CONF_NAME}} exploded-image",
"problemMatcher": ["$gcc"]
},
{
"label": "Make 'jdk'",
"type": "shell",
"options": {
"env": {
"PATH": "{{PATH}}"
},
"cwd": "{{WORKSPACE_ROOT}}"
},
"command": "{{MAKE}} CONF_NAME={{CONF_NAME}} jdk",
"problemMatcher": ["$gcc"]
}
]
}

View File

@@ -0,0 +1,4 @@
{
"name": "Additional sources",
"path": "{{WORKSPACE_ROOT}}"
},

View File

@@ -0,0 +1,63 @@
{
"folders": [
{
"name": "Source root",
"path": "{{TOPDIR}}"
},
// {{EXTRA_WORKSPACE_ROOT}}
{
"name": "Build artifacts",
"path": "{{OUTPUTDIR}}"
}
],
"extensions": {
"recommendations": [
// {{INDEXER_EXTENSIONS}}
]
},
"settings": {
// {{INDEXER_SETTINGS}}
// Additional conventions
"files.associations": {
"*.gmk": "makefile"
},
// Having these enabled slow down task execution
"typescript.tsc.autoDetect": "off",
"gulp.autoDetect": "off",
"npm.autoDetect": "off",
"grunt.autoDetect": "off",
"jake.autoDetect": "off",
// Certain types of files are not relevant for the file browser
"files.exclude": {
"**/.git": true,
"**/.hg": true,
"**/.DS_Store": true,
},
// Files that may be interesting to browse manually, but avoided during searches
"search.exclude": {
"**/*.class": true,
"**/*.jsa": true,
"**/*.vardeps": true,
"**/*.o": true,
"**/*.obj": true,
"**/*.d": true,
"**/*.d.*": true,
"**/*_batch*": true,
"**/*.marker": true,
"**/compile-commands/": true,
"**/objs": true,
"**/launcher-objs": true,
"**/*.cmdline": true,
"**/*.log": true,
".vscode": true,
".clangd": true
},
// Trailing whitespace should never be used in this project
"files.trimTrailingWhitespace": true
}
}

View File

@@ -29,6 +29,7 @@ javafx.swing,
javafx.web,
jdk.accessibility,
jdk.aot,
jdk.attach,
jdk.charsets,
jdk.compiler,
jdk.crypto.cryptoki,

Some files were not shown because too many files have changed in this diff Show More