Compare commits

...

1505 Commits

Author SHA1 Message Date
J. Duke
29edd23be2 Merge 2017-07-05 19:22:05 +02:00
J. Duke
5c9ca17001 Merge 2017-07-05 19:22:02 +02:00
J. Duke
a9d5fd755e Merge 2017-07-05 19:21:59 +02:00
J. Duke
69c615c948 Merge 2017-07-05 19:21:56 +02:00
J. Duke
4f71d999e9 Merge 2017-07-05 19:21:53 +02:00
J. Duke
5c26723c31 Merge 2017-07-05 19:21:50 +02:00
J. Duke
e714e302c3 Merge 2017-07-05 19:21:47 +02:00
J. Duke
f81009aa79 Merge 2017-07-05 19:21:44 +02:00
J. Duke
f164e640eb Added tag jdk8-b115 for changeset 3dd9732b1703 2017-07-05 19:21:29 +02:00
J. Duke
805a34ccbe Merge 2017-07-05 19:21:29 +02:00
J. Duke
5c4850b3b8 Merge 2017-07-05 19:21:26 +02:00
J. Duke
7f77736f14 Merge 2017-07-05 19:21:18 +02:00
J. Duke
334ed9bc10 Merge 2017-07-05 19:21:15 +02:00
J. Duke
4f2a6b48ee Merge 2017-07-05 19:21:10 +02:00
J. Duke
7e7cead34a Merge 2017-07-05 19:21:00 +02:00
J. Duke
520ce4119a Merge 2017-07-05 19:20:56 +02:00
J. Duke
74340f3eb1 Merge 2017-07-05 19:20:12 +02:00
J. Duke
10d223c170 Added tag jdk8-b114 for changeset dfa34ab293fa 2017-07-05 19:19:40 +02:00
J. Duke
31a141290b Merge 2017-07-05 19:19:39 +02:00
J. Duke
d05fa2518d Merge 2017-07-05 19:19:36 +02:00
J. Duke
8834b5db66 Merge 2017-07-05 19:19:33 +02:00
J. Duke
a275960dc5 Merge 2017-07-05 19:19:29 +02:00
J. Duke
ed9774f3d9 Merge 2017-07-05 19:19:26 +02:00
J. Duke
8888370f59 Merge 2017-07-05 19:19:23 +02:00
J. Duke
c8e192f730 Merge 2017-07-05 19:19:20 +02:00
J. Duke
2f0be9f630 Merge 2017-07-05 19:19:16 +02:00
J. Duke
2aa30fbbff Added tag jdk8-b113 for changeset 4a4dbcf7cb7d 2017-07-05 19:18:50 +02:00
J. Duke
53fb16b381 Merge 2017-07-05 19:18:50 +02:00
J. Duke
af692ebe47 Merge 2017-07-05 19:18:47 +02:00
J. Duke
7e1312e999 Merge 2017-07-05 19:18:32 +02:00
J. Duke
b9c3c601ec Merge 2017-07-05 19:18:22 +02:00
J. Duke
970b89afee Merge 2017-07-05 19:18:10 +02:00
J. Duke
5002e07a9d Merge 2017-07-05 19:18:01 +02:00
J. Duke
934e3aa528 Merge 2017-07-05 19:17:51 +02:00
J. Duke
b32d3c877e Merge 2017-07-05 19:17:09 +02:00
J. Duke
b6dc1ffefd Added tag jdk8-b112 for changeset ad67c34f79c2 2017-07-05 19:16:32 +02:00
J. Duke
d38a1f186d Merge 2017-07-05 19:16:31 +02:00
J. Duke
e869fe9090 Merge 2017-07-05 19:16:28 +02:00
J. Duke
2a506a4bc3 Merge 2017-07-05 19:16:20 +02:00
J. Duke
173d39e5b8 Merge 2017-07-05 19:16:14 +02:00
J. Duke
4a0d7c5b26 Merge 2017-07-05 19:16:07 +02:00
J. Duke
270b480e98 Merge 2017-07-05 19:15:59 +02:00
J. Duke
a323d70653 Merge 2017-07-05 19:15:55 +02:00
J. Duke
a201156d7e Merge 2017-07-05 19:15:37 +02:00
J. Duke
5e19a4a4ea Added tag jdk8-b111 for changeset b9a0f6c693f3 2017-07-05 19:15:04 +02:00
J. Duke
27cab0e0c8 Merge 2017-07-05 19:15:04 +02:00
J. Duke
2e941607dd Merge 2017-07-05 19:15:01 +02:00
J. Duke
ad7c96af78 Merge 2017-07-05 19:14:57 +02:00
J. Duke
9212c2d707 Merge 2017-07-05 19:14:54 +02:00
J. Duke
4a42454909 Merge 2017-07-05 19:14:50 +02:00
J. Duke
bd877c5e12 Merge 2017-07-05 19:14:47 +02:00
J. Duke
247035b615 Merge 2017-07-05 19:14:44 +02:00
J. Duke
08eb6f225f Merge 2017-07-05 19:14:40 +02:00
J. Duke
f84ac5de52 Added tag jdk8-b110 for changeset b5d2bf482a3e 2017-07-05 19:14:20 +02:00
J. Duke
0290019388 Merge 2017-07-05 19:14:19 +02:00
J. Duke
76bc84e412 Merge 2017-07-05 19:14:16 +02:00
J. Duke
6e634ad503 Merge 2017-07-05 19:14:08 +02:00
J. Duke
7ea7da59ce Merge 2017-07-05 19:14:05 +02:00
J. Duke
046b2e8e1b Merge 2017-07-05 19:14:01 +02:00
J. Duke
decf238aeb Merge 2017-07-05 19:13:54 +02:00
J. Duke
fff9962722 Merge 2017-07-05 19:13:51 +02:00
J. Duke
6d5b2e83e9 Merge 2017-07-05 19:13:29 +02:00
J. Duke
a398cd0275 Added tag jdk8-b109 for changeset af9a674e12a1 2017-07-05 19:13:10 +02:00
David Katleman
9fb345497c Merge 2013-11-11 15:06:35 -08:00
David Katleman
023d4d07fd Merge 2013-11-11 15:06:03 -08:00
David Dehaven
75f943b138 8027912: [macosx] Provide means to force the headful mode on OS X when running via ssh
Bypass AquaSession check if AWT_FORCE_HEADFUL env. variable is set to TRUE

Reviewed-by: anthony, art
2013-11-08 20:07:35 +04:00
Alejandro Murillo
db344926d8 Added tag hs25-b58 for changeset 20483ee5d8d8 2013-11-08 07:02:54 -08:00
Alejandro Murillo
4bfde2eab7 Merge 2013-11-08 07:02:53 -08:00
Magnus Ihse Bursie
dd2b0ab746 8027836: Webrev should handle files that has been moved from a directory which now is removed
Reviewed-by: mduigou, tbell
2013-11-08 09:36:55 +01:00
Christine Lu
f038e13db1 Added tag jdk8-b115 for changeset 5f83d7dc1b34 2013-11-07 08:16:40 -08:00
Christine Lu
ccd53abea1 Added tag jdk8-b115 for changeset 115e1128ce1a 2013-11-07 08:16:38 -08:00
Christine Lu
07c099531f Added tag jdk8-b115 for changeset e408bf58d482 2013-11-07 08:16:26 -08:00
Christine Lu
30a3a7a157 Added tag jdk8-b115 for changeset 708c1fb7aff3 2013-11-07 08:16:23 -08:00
Christine Lu
7819fc1522 Added tag jdk8-b115 for changeset 3136108f4dc4 2013-11-07 08:16:21 -08:00
Christine Lu
684f7fa440 Added tag jdk8-b115 for changeset bafd61947e5d 2013-11-07 08:16:14 -08:00
Christine Lu
cb6219b70c Added tag jdk8-b115 for changeset 45b13f655ef2 2013-11-07 08:16:10 -08:00
Christine Lu
6cc468e251 Added tag jdk8-b115 for changeset 64b71122ab70 2013-11-07 08:16:05 -08:00
David Chase
0ff0678acb Merge 2013-11-07 10:02:28 -05:00
Erik Joelsson
56f6807051 8027406: JDK demos are missing source files
Reviewed-by: alexsch, ihse
2013-11-07 14:06:07 +01:00
Erik Joelsson
af6b8b0b74 8027698: Platform specific jars are not being signed by the sign-jars target
Reviewed-by: ihse, tbell, wetmore
2013-11-07 10:51:13 +01:00
Mikael Vidstedt
e80dce6a4d 8026775: nsk/jvmti/RedefineClasses/StressRedefine crashes due to EXCEPTION_ACCESS_VIOLATION
Uncommon trap blob did not bang all the stack shadow pages

Reviewed-by: kvn, twisti, iveresov, jrose
2013-11-06 06:51:24 -08:00
Alejandro Murillo
930baab448 Merge 2013-11-05 14:06:23 -08:00
Igor Veresov
c78419253b Merge 2013-11-05 02:29:41 -08:00
Igor Veresov
c342a79faf 8017065: C2 allows safepoint checks to leak into G1 pre-barriers
Make all raw loads strictly respect control dependencies, make sure RCE doesn't move raw loads, add verification of G1 pre-barriers.

Reviewed-by: kvn, roland
2013-11-05 01:57:18 -08:00
Igor Veresov
7899a729a9 8027751: C1 crashes in Weblogic with G1 enabled
Keep T_OBJECT operands in registers for logical operations on x64

Reviewed-by: kvn, roland
2013-11-05 00:59:30 -08:00
Roland Westrelin
c8757a5edd 8027445: SIGSEGV at TestFloatingDecimal.testAppendToDouble()I
String.equals() intrinsic shouldn't use integer length input in pointer arithmetic without an i2l.

Reviewed-by: kvn, twisti
2013-11-04 21:59:54 +01:00
Rickard Bäckman
897e6d41f6 8027622: java.time.Instant.create failing since hs25-b56
Reviewed-by: kvn, iveresov
2013-11-04 10:44:46 +01:00
Markus Grönlund
93c7dd5bfd Merge 2013-11-02 20:56:18 +01:00
Markus Grönlund
49dc297cc1 Merge 2013-11-01 17:10:31 +00:00
Alejandro Murillo
38bf4f6aa6 8027580: new hotspot build - hs25-b58
Reviewed-by: jcoomes
2013-11-01 08:35:58 -07:00
Alejandro Murillo
c544fbe101 Added tag hs25-b57 for changeset 6290e790c312 2013-11-01 08:26:55 -07:00
Alejandro Murillo
473901ee62 Merge 2013-11-01 08:26:54 -07:00
Markus Grönlund
6529c5b95b Merge 2013-11-01 15:56:06 +01:00
Coleen Phillimore
b1689ab022 8026946: JvmtiEnv::SetBreakpoint and JvmtiEnv::ClearBreakpoint should use MethodHandle
8026948: JvmtiEnv::SetBreakpoint and JvmtiEnv::ClearBreakpoint might not work with anonymous classes

Walk methods in breakpoints for marking on stack so they aren't deallocated by redefine classes.  Use class_holder rather than class_loader to keep GC from reclaiming class owning the method.

Reviewed-by: sspitsyn, ehelin, sla
2013-11-01 10:32:36 -04:00
Lana Steuck
6b9f81a130 Merge 2013-10-31 16:47:09 -07:00
Lana Steuck
0de31c2237 Merge 2013-10-31 16:46:43 -07:00
Lana Steuck
ac6386468f Merge 2013-10-31 16:44:18 -07:00
Lana Steuck
8f4103529c Merge 2013-10-31 16:31:44 -07:00
Lana Steuck
d0a64fad1b Merge 2013-10-31 16:31:31 -07:00
Lana Steuck
1691400329 Merge 2013-10-31 16:30:42 -07:00
Lana Steuck
8ae4ec9f18 Merge 2013-10-31 16:24:33 -07:00
Lana Steuck
30f9f179d5 Merge 2013-10-31 16:22:30 -07:00
Lana Steuck
be32b11e5b Merge 2013-10-31 15:45:57 -07:00
Igor Veresov
7e10db0ef4 Merge 2013-10-31 15:04:43 -07:00
Igor Veresov
2775c9a68e Merge 2013-10-31 14:54:14 -07:00
Joe Wang
c6fff0de72 8024876: [TEST_BUG] javax/xml/jaxp/parsers/8022548/XOMParserTest.java failed when testbase dir has read only permissions
Reviewed-by: chegar
2013-10-31 13:51:58 -07:00
Erik Helin
81eb5be18f Merge 2013-10-31 21:20:00 +01:00
Christine Lu
d18e2073ae Added tag jdk8-b114 for changeset 348c2258d7bf 2013-10-31 12:36:38 -07:00
Christine Lu
47d505c488 Added tag jdk8-b114 for changeset 7e53ada0d2d4 2013-10-31 12:36:36 -07:00
Christine Lu
ee9e5682a8 Added tag jdk8-b114 for changeset dcec14b84950 2013-10-31 12:36:25 -07:00
Christine Lu
3ae4396a4a Added tag jdk8-b114 for changeset 18b08c4ac28d 2013-10-31 12:36:20 -07:00
Christine Lu
eb9081a5b0 Added tag jdk8-b114 for changeset 021350e22576 2013-10-31 12:36:18 -07:00
Christine Lu
05b28dbe44 Added tag jdk8-b114 for changeset 07a68f9401e4 2013-10-31 12:36:10 -07:00
Christine Lu
509057ce17 Added tag jdk8-b114 for changeset 71655e2f499f 2013-10-31 12:36:05 -07:00
Christine Lu
909453d3c5 Added tag jdk8-b114 for changeset 566723cf1888 2013-10-31 12:36:04 -07:00
Dan Xu
6c3fabc342 8027155: test/java/io/File/NulFile.java failing when test run in othervm mode
Reviewed-by: mchung, alanb
2013-10-31 11:52:30 -07:00
Coleen Phillimore
535b489554 8027616: Off by one error in putback for compressed oops nashorn performance improvement
Should compare bounds greater than or equal 4G when deciding if shift is needed or CDS area + compressed class space are within 4G of each other.

Reviewed-by: stefank, hseigel, zgu
2013-10-31 14:11:02 -04:00
Igor Veresov
7a38dabd09 8024919: G1: SPECjbb2013 crashes due to a broken object reference
Pass correct new value to post_barrer() in Unsafe.getAndSetObject() C1 intrinsic

Reviewed-by: kvn, roland
2013-10-31 04:16:40 -07:00
Athijegannathan Sundararajan
b0dc1b345a Merge 2013-10-31 12:50:17 +05:30
Igor Veresov
e43ac25584 8026735: Stream tests throw java.lang.IncompatibleClassChangeError
Put a band-aid to disable CHA-based inlining for interfaces with default methods in C1

Reviewed-by: kvn, twisti
2013-10-30 22:55:11 -07:00
Vladimir Danushevsky
42e466665d Merge 2013-10-30 16:31:33 -07:00
Calvin Cheung
3a87356f24 Merge 2013-10-30 14:02:27 -07:00
Lana Steuck
fdb505344e Merge 2013-10-30 13:43:16 -07:00
Lana Steuck
bc22aec7d1 Merge 2013-10-30 13:41:36 -07:00
Joseph Provino
3ca0c7e694 Merge 2013-10-30 16:06:48 -04:00
Brian Goetz
6dcdc5b742 8024930: Re-enable disabled bridging tests
Reviewed-by: psandoz, rfield
2013-10-30 14:12:16 -04:00
Vicente Romero
9d30f46219 8027327: jar files related to test test/tools/javac/ExtDirs/ExtDirTest.java should be removed from the repo
Reviewed-by: ksrini
2013-10-30 18:09:49 +00:00
Vinnie Ryan
ddce55a5ed 8027567: JDK 8 build failure: the correct version of GNU make is being rejected
Reviewed-by: chegar, erikj
2013-10-30 17:31:01 +00:00
Leonid Romanov
df6d7277ef 8013581: [macosx] Key Bindings break with awt GraphicsEnvironment setFullScreenWindow
Reviewed-by: anthony, serb
2013-10-30 20:54:42 +04:00
Karen Kinnear
629bbe0188 Merge 2013-10-30 09:26:44 -07:00
Karen Kinnear
ca92769602 8027304: Lambda: inheriting abstract + 1 default -> default, not ICCE
Reviewed-by: hseigel, zgu
2013-10-30 09:11:04 -07:00
Joe Wang
0188a790de 8024378: StAX parser shall support JAXP properties
Reviewed-by: dfuchs, lancea
2013-10-30 08:58:05 -07:00
Mandy Chung
fa729039be 8027481: jdeps to handle classes with the same package name and correct profile for javax.crypto.*
Reviewed-by: alanb, dfuchs
2013-10-30 08:35:52 -07:00
Athijegannathan Sundararajan
e6599626c5 8027562: eval should load second and subsequent arguments for side effect
Reviewed-by: jlaskey, lagergren
2013-10-30 20:09:44 +05:30
Mikael Gerdin
0b4ed553d6 8027252: Crash in interpreter because get_unsigned_2_byte_index_at_bcp reads 4 bytes
Use 2-byte loads to load indexes from the byte code stream to avoid out of bounds reads.

Reviewed-by: coleenp, sspitsyn
2013-10-30 15:35:25 +01:00
James Laskey
2339f59c14 8027532: nashorn should only use jdk8 apis in the compact1 profile
Reviewed-by: sundar, lagergren, hannesw
2013-10-30 11:28:46 -03:00
Rickard Bäckman
612252d7a2 8027444: mathExact: assert(i < _max) failed: oob: i=1, _max=1
Reviewed-by: duke
2013-10-30 13:14:09 +01:00
Petr Pchelko
849b644b8c 8027152: Regression: test closed/java/awt/Serialize/NullSerializationTest/NullSerializationTest.html fails since JDK 8 b112
Reviewed-by: art, serb
2013-10-30 12:00:18 +04:00
David Katleman
572d876a31 Merge 2013-10-29 14:56:30 -07:00
Joe Wang
e54a697aec 8027484: Implementation error in SAX2DOM.java
Reviewed-by: alanb, lancea
2013-10-29 14:52:51 -07:00
Oleg Pekhovskiy
c4d4a7e77c 8027151: AWT_DnD/Basic_DnD/Automated/DnDMerlinQL/MultipleJVM failing on windows machine
Reviewed-by: anthony, pchelko
2013-10-29 21:46:03 +04:00
James Laskey
fe9288637c 8027447: The wrong string buffer is specified for stderr in $EXEC
Reviewed-by: lagergren, sundar
2013-10-29 14:22:44 -03:00
Sergey Kuksenko
e95f428581 8024633: Lambda linkage performance - initialize generated class earlier
Reviewed-by: briangoetz, rfield
2013-10-29 12:45:18 -04:00
Sergey Kuksenko
7055290bbe 8024637: Lambda linkage performance - use reflection instead of ASM to manipulate parameter types
8023984: Lambda linkage performance - use a method ref to a static factory instead of a ctor ref

Reviewed-by: briangoetz, rfield
2013-10-31 10:37:08 -04:00
Jaroslav Bachorik
21a239f4c5 7144200: java/lang/management/ClassLoadingMXBean/LoadCounts.java failed with JFR enabled
Make the test less stringent by not requiring the number of loaded classes to increase by a specific number

Reviewed-by: sla
2013-10-31 11:59:09 +01:00
Paul Sandoz
894f3788d3 8027316: Distinct operation on an unordered stream should not be a barrier
Reviewed-by: henryjen, mduigou, briangoetz
2013-10-31 11:59:04 +01:00
Stuart Marks
b36c00fe92 8023863: deprecate support for statically-generated stubs from RMI (JRMP)
4449028: exportObject() javadoc should specify behavior for null socket factories

Reviewed-by: dfuchs, darcy
2013-10-30 18:39:09 -07:00
Dmitry Nadezhin
9e7ba92bff 6910473: java.math.BigInteger.bitLength() may return negative "int" on large numbers
8021203: BigInteger.doubleValue/floatValue returns 0.0 instead of Infinity
8021204: Constructor BigInteger(String val, int radix) doesn't detect overflow
8022780: Incorrect BigInteger division because of MutableBigInteger.bitLength() overflow

Prevent construction of overflowed BigIntegers.

Reviewed-by: bpb, darcy, psandoz
2013-10-30 17:45:12 -07:00
Joe Darcy
5f3b001859 8005294: Consider default methods for additions to AnnotatedElement
Reviewed-by: jfranck, plevart, mchung, abuckley, sogoel
2013-10-30 17:27:25 -07:00
Bradford Wetmore
1b03814ab7 8027526: CheckTipsAndVersions.java failing occasionally
Reviewed-by: mullan, mchung
2013-10-30 16:49:35 -07:00
Brian Goetz
aee0b5cf88 8027318: Lambda Metafactory: generate serialization-hostile read/writeObject methods for non-serializable lambdas
Reviewed-by: rfield, psandoz
2013-10-29 12:31:27 -04:00
Lana Steuck
f3160929ea Merge 2013-10-30 13:51:07 -07:00
Michael McMahon
9031374301 Merge 2013-10-30 18:38:20 +00:00
Michael McMahon
76f1c66ad5 8027570: NullPointerException in URLPermission.hashCode()
Reviewed-by: chegar
2013-10-30 18:37:50 +00:00
Jaroslav Bachorik
292c14d972 8020467: Inconsistency between usage.getUsed() and isUsageThresholdExceeded() with CMS Old Gen pool
Reviewed-by: mchung, brutisso
2013-10-30 17:54:48 +01:00
Michael Fang
fed302b41d 6931564: Incorrect display name of Locale for south africa
Reviewed-by: yhuang
2013-10-30 09:37:12 -07:00
Michael Fang
839d5ec95d 6192407: s10_70, ko, s1/dvd, minor misspelling under "Select Software Localizations"
Reviewed-by: yhuang
2013-10-30 09:33:23 -07:00
Katja Kantserova
d699dc7582 8022229: Intermittent test failures in sun/tools/jstatd
Reviewed-by: sla, egahlin, jbachorik, allwin
2013-10-30 13:44:40 +01:00
Chris Hegarty
e2589e385e 8026880: NetworkInterface native initializing code should check fieldID values
Reviewed-by: alanb
2013-10-30 14:41:42 +00:00
Jaroslav Bachorik
f05950c786 8027058: sun/management/jmxremote/bootstrap/RmiBootstrapTest.sh Failed to initialize connector
Dynamically discover the first available port instead of hard-coding one

Reviewed-by: sla, chegar, dfuchs
2013-10-30 14:50:46 +01:00
Michael Fang
f5a1c27354 8025521: [de] mnemonic conflict in FileChooser for GTK Style feel&look
Reviewed-by: naoto
2013-10-29 16:59:11 -07:00
Michael Fang
c3aba9e8c8 Merge 2013-10-29 15:32:04 -07:00
Michael Fang
a8e91d1e4d 8008647: [es] minor cosmetic issues in translated java command line outputs
Reviewed-by: naoto
2013-10-29 15:31:07 -07:00
Jaroslav Bachorik
094e46c9d7 8027358: sun/management/jmxremote/bootstrap/LocalManagementTest.java failing since JDK-8004926
Reviewed-by: alanb, egahlin
2013-10-29 21:49:46 +01:00
Michael Fang
534228451b 8025646: [pt_BR] overtranslation of option in java command line output
Reviewed-by: naoto, yhuang
2013-10-29 11:34:30 -07:00
Michael Fang
c72ee25514 8008437: [sv] over-translation in java command line outputs
Reviewed-by: okutsu, yhuang
2013-10-29 11:29:57 -07:00
Michael Fang
0c3cb17b82 8026108: [it, ja, zh_CN] wrong translation in jar example
Reviewed-by: okutsu, yhuang
2013-10-29 11:27:55 -07:00
Chris Hegarty
e1faf4d873 8027466: Revert jdk/THIRD_PARTY_README to known good version
Reviewed-by: alanb
2013-10-29 17:21:26 +00:00
Sergey Malenkov
578f2b5fa6 8027442: JDK compilation fails on MacOS
Reviewed-by: alexsch, pchelko
2013-10-29 19:01:46 +04:00
Jim Laskey
1bbbc2ce50 Merge 2013-10-29 11:48:00 -03:00
Erik Joelsson
8f2b923945 8027298: broken link in jdk8b113 macosx binaries
Reviewed-by: dcubed, ihse
2013-10-29 15:44:30 +01:00
Jim Laskey
cc9077fc49 Merge 2013-10-29 10:40:33 -03:00
Jim Laskey
bd41e14c13 Merge 2013-10-29 10:40:00 -03:00
Sergey Malenkov
c500ed69dc 8022746: List of spelling errors in API doc
Reviewed-by: alexsch, smarks
2013-10-29 17:01:06 +04:00
Anton Tarasov
bbad610f8e 8027157: [SwingNode] needs explicit expose for JWindow
Reviewed-by: art, anthony
2013-10-29 16:35:20 +04:00
David Katleman
82f1f26521 Merge 2013-10-28 16:03:08 -07:00
David Katleman
bcee54554d Merge 2013-10-28 16:02:40 -07:00
David Katleman
3af4cbfd05 Merge 2013-10-28 16:02:32 -07:00
Lana Steuck
9979999118 Merge 2013-10-28 12:29:40 -07:00
Lana Steuck
14d87a0e5a Merge 2013-10-28 12:29:34 -07:00
Lana Steuck
5955eff549 Merge 2013-10-28 12:26:22 -07:00
Lana Steuck
e95dd7d93a Merge 2013-10-28 12:25:44 -07:00
Lana Steuck
8cc1c2704a Merge 2013-10-28 12:22:45 -07:00
Dmitry Samersoff
3e0a2a86bf 8026950: Nits in agent ps_proc.c file breaks compilation of open hotspot
Fixed two compilation-breaking nits

Reviewed-by: sla, dholmes
2013-10-28 21:41:48 +04:00
Bengt Rutisson
f12f991935 8027132: Print deprecation warning message for the flags controlling the CMS foreground collector
Reviewed-by: stefank, ehelin, ysr, tschatzl
2013-10-28 13:27:57 +01:00
Rickard Bäckman
4d9e812aa2 8027353: Exact intrinsics: assert(n != NULL) failed: must not be null
Reviewed-by: kvn, roland
2013-10-28 08:34:10 +01:00
Igor Veresov
1c02aa59c9 Merge 2013-10-28 17:32:02 -07:00
Igor Veresov
bb38912be1 Merge 2013-10-28 15:16:17 -07:00
Roland Westrelin
1a809c454a Merge 2013-10-28 12:21:00 -07:00
Roland Westrelin
9ba485b29f 8027140: Assertion in compiler when running bigapps/Kitchensink/stability
Filter() code for TypeKlassPtr not moved when permgen removal was introduced

Reviewed-by: twisti, iveresov
2013-10-28 09:58:59 +01:00
Joseph Provino
716d7904c5 Merge 2013-10-27 14:11:06 -04:00
Calvin Cheung
bea255ee35 Merge 2013-10-25 22:06:43 -07:00
Albert Noll
87fe2fdf42 8026949: -Xint flag prints wrong warning: Initialization of C1 thread failed (no space to run compilers)
Exit compiler threads early during startup so that wrong error message is not printed

Reviewed-by: iveresov, twisti
2013-10-25 22:57:13 +02:00
Alejandro Murillo
95cb22eb41 8027173: new hotspot build - hs25-b57
Reviewed-by: jcoomes
2013-10-25 13:43:39 -07:00
Alejandro Murillo
854686678b Added tag hs25-b56 for changeset 13045b381bc9 2013-10-25 13:29:18 -07:00
Alejandro Murillo
2fc1606df2 Merge 2013-10-25 13:29:17 -07:00
Niclas Adlertz
651b1c2f84 Merge 2013-10-25 12:40:10 -07:00
Coleen Phillimore
3e6630c07b 8024927: Nashorn performance regression with CompressedOops
Allocate compressed class space at end of Java heap.  For small heap sizes, without CDS, save some space so compressed classes can have the same favorable compression as oops

Reviewed-by: stefank, hseigel, goetz
2013-10-25 15:19:29 -04:00
Lana Steuck
65797af67d Merge 2013-10-25 10:39:13 -07:00
Daniel D. Daugherty
af6dec2648 8027117: adapt JDK-7165611 to new build-infra whitespace/indent policy
Fix whitespace/indent issues.

Reviewed-by: hseigel, coleenp, erikj, ihse
2013-10-25 10:16:40 -07:00
Daniel D. Daugherty
4002278f34 8027117: adapt JDK-7165611 to new build-infra whitespace/indent policy
Fix whitespace/indent issues.

Reviewed-by: hseigel, coleenp, erikj, ihse
2013-10-25 10:15:33 -07:00
Sergey Bylokhov
de4a41f994 7172770: Default Toolkit implementation return null value for property "awt.dynamicLayoutSupported"
Reviewed-by: anthony, art
2013-10-25 19:51:54 +04:00
John Coomes
ca4a0c5c64 Merge 2013-10-25 08:38:42 -07:00
Harold Seigel
4e192289d4 Merge 2013-10-25 11:13:11 -04:00
Harold Seigel
bf7f4866eb 8026822: metaspace/flags/maxMetaspaceSize throws OOM of unexpected type.java.lang.OutOfMemoryError: Compressed class space
Incorporate chunk size when seeing if OutOfMemoryError was caused by Metaspace or Compressed class space.

Reviewed-by: stefank, coleenp
2013-10-25 11:05:32 -04:00
Hannes Wallnöfer
93a855408a 8027301: Optimizations for Function.prototype.apply
Reviewed-by: jlaskey
2013-10-25 15:21:12 +02:00
Sergey Malenkov
9cd10573ae 8026705: [TEST_BUG] java/beans/Introspector/TestTypeResolver.java failed
Reviewed-by: art, jfranck
2013-10-25 16:42:02 +04:00
Magnus Ihse Bursie
320d333208 8027300: configure should use LIBS instead of LDFLAGS when testing freetype
Reviewed-by: erikj
2013-10-25 13:58:09 +02:00
Anton Nashatyrev
7d4c16ece3 8027066: XMLDecoder in java 7 cannot properly deserialize object arrays
Reviewed-by: alexsch, malenkov
2013-10-25 13:41:19 +04:00
Hannes Wallnöfer
3ed1d150a5 8027042: Evaluation order for binary operators can be improved
Reviewed-by: lagergren, jlaskey, attila
2013-10-25 10:20:49 +02:00
Niclas Adlertz
d9f039a458 8026940: assert(n->outcnt() != 0 || C->top() == n || n->is_Proj()) failed: No dead instructions after post-alloc
Remove input to junk phi if they also become dead during post_allocate_copy_removal

Reviewed-by: roland
2013-10-25 10:13:40 +02:00
Jaroslav Bachorik
76ac5b0c28 8027294: Prepare hotspot for non TOD based uptime counter
Use HR timer when available for os::elapsed_counter() on linux/bsd. Add a new counter for the JVM uptime.

Reviewed-by: dholmes, sla
2013-10-25 09:07:58 +02:00
Gerard Ziemski
86cd1aaa73 8020753: JNI_CreateJavaVM on Mac OSX 10.9 Mavericks corrupts the callers stack size
Use hard-coded DEFAULT_MAIN_THREAD_STACK_PAGES = 2048 for 10.9

Reviewed-by: dcubed, iveresov
2013-10-24 22:19:48 -07:00
Lana Steuck
836ba025a1 Merge 2013-10-24 21:52:24 -07:00
David Dehaven
6c747ded77 8025673: [macosx] Disable X11 AWT toolkit
Disable but not completely remove the XAWT and headless toolkits on Mac OS X

Reviewed-by: anthony, art, ihse, erikj
2013-10-24 20:47:41 -04:00
David Dehaven
be6a9b1f9c 8025673: [macosx] Disable X11 AWT toolkit
Disable but not completely remove the XAWT and headless toolkits on Mac OS X

Reviewed-by: dholmes
2013-10-24 20:47:18 -04:00
David Dehaven
93e44cac1e 8016096: [macosx] jawt_md.h shipped with jdk is outdated
Revised build system and added platform specific headers for Mac OS X

Reviewed-by: anthony, art, ihse, erikj
2013-10-24 20:46:23 -04:00
David Dehaven
c1f40ad95d 8016096: [macosx] jawt_md.h shipped with jdk is outdated
Revised build system and added platform specific headers for Mac OS X

Reviewed-by: ihse, erikj
2013-10-24 20:45:43 -04:00
Robert Field
e49bc26ebc 8027220: DefaultMethodsTest: Change test to match spec
Reviewed-by: ksrini
2013-10-24 16:52:27 -07:00
Christian Thalinger
cf3a7f1dcc Merge 2013-10-24 16:26:31 -07:00
Igor Veresov
986d2145ba Merge 2013-10-24 16:25:24 -07:00
Christian Thalinger
9620913796 8026328: Setting a breakpoint on invokedynamic crashes the JVM
Reviewed-by: jrose, roland
2013-10-24 16:23:07 -07:00
Igor Veresov
e1fbf928ef Merge 2013-10-24 16:14:28 -07:00
Calvin Cheung
ded45d0129 Merge 2013-10-24 17:20:39 -04:00
Joe Wang
bc498e30c4 8004476: XSLT Extension Functions Don't Work in WebStart
Reviewed-by: dfuchs, lancea, alanb
2013-10-24 13:43:02 -07:00
Bhavesh Patel
3033b82865 8006248: Since addition of -Xdoclint, javadoc ignores unknown tags
Reviewed-by: jjg
2013-10-24 11:22:50 -07:00
Roland Westrelin
6738fb5c5d 8026978: JSR292: fatal error: Type profiling not implemented on this platform
Force TypeProfileLevel to 0 on non x86

Reviewed-by: twisti
2013-10-24 19:32:34 +02:00
Christine Lu
a394220a72 Added tag jdk8-b113 for changeset a3e196032ce5 2013-10-24 09:10:54 -07:00
Christine Lu
7217e11778 Added tag jdk8-b113 for changeset 220220c28a95 2013-10-24 09:10:52 -07:00
Christine Lu
a2c13f91e0 Added tag jdk8-b113 for changeset 70f69e624fc9 2013-10-24 09:10:42 -07:00
Christine Lu
061b8f083a Added tag jdk8-b113 for changeset e72a161be840 2013-10-24 09:10:37 -07:00
Christine Lu
fdd9983b09 Added tag jdk8-b113 for changeset 8a9716442153 2013-10-24 09:10:35 -07:00
Christine Lu
38700d4889 Added tag jdk8-b113 for changeset 031674170429 2013-10-24 09:10:27 -07:00
Christine Lu
35d37e6057 Added tag jdk8-b113 for changeset 221c3167eb35 2013-10-24 09:10:06 -07:00
Christine Lu
a1abd2bc9d Added tag jdk8-b113 for changeset 0cf466e2de61 2013-10-24 09:10:01 -07:00
Petr Pchelko
45dd0a7642 8027025: [macosx] getLocationOnScreen returns 0 if parent invisible
Reviewed-by: anthony, serb
2013-10-24 19:50:33 +04:00
Petr Pchelko
8dd4be4066 8027030: AWT Multiple JVM DnD Test Failing on Linux (OEL and Ubuntu) and Solaris (Sparc and x64)
Reviewed-by: anthony, serb
2013-10-24 19:23:02 +04:00
Aleksei Efimov
811cefb8f2 8026772: test/sun/util/resources/TimeZone/Bug6317929.java failing
Reviewed-by: okutsu, mfang, alanb
2013-10-24 17:23:26 +04:00
Staffan Larsen
a4c472645e 8027371: Add JDI tests for breakpointing and stepping in lambda code
Reviewed-by: mchung, sspitsyn
2013-10-29 08:10:32 +01:00
Lana Steuck
a76a308ce5 Merge 2013-10-28 12:28:57 -07:00
Daniel Fuchs
482f3cc1b9 8026863: regression in anonymous Logger.setParent method
Restore behaviour of setParent in anonymous logger and clarifies the spec with respect to security permissions.

Reviewed-by: mchung, prr
2013-10-28 10:52:07 +01:00
Stuart Marks
2a5882abfe 5063500: Formatter spec says "char" is not an integral type
7126305: Wrong Unicode value specified for format conversion character 'd'
8027287: incorrect example in Formatter javadoc

Reviewed-by: rriggs, darcy, lancea
2013-10-25 14:53:34 -07:00
Jaroslav Bachorik
b441547010 8004926: sun/management/jmxremote/bootstrap/CustomLauncherTest.sh oftenly times out
Improve reliability by converting the test to Java

Reviewed-by: dsamersoff, dholmes
2013-10-25 13:01:11 +02:00
Eric Wang
18f98bb20e 7079145: Remove java/net/ipv6tests/UdpTest.java from the ProblemList.txt
Reviewed-by: alanb, chegar
2013-10-25 11:01:29 +01:00
Leif Samuelsson
47f35a5166 8026929: remove accelerators from policytool resources
Reviewed-by: alexp, weijun
2013-10-25 08:38:20 +08:00
Joe Wang
53d9506586 8004476: XSLT Extension Functions Don't Work in WebStart
Reviewed-by: dfuchs, lancea, alanb
2013-10-24 14:13:09 -07:00
Xueming Shen
a06b63065d 8025003: Base64 should be less strict with padding
Updated spec and implementation of mime decoder to be lenient for padding

Reviewed-by: alanb
2013-10-24 11:12:59 -07:00
Christian Thalinger
1ac0200394 8026502: java/lang/invoke/MethodHandleConstants.java fails on all platforms
Reviewed-by: iveresov, jrose
2013-10-24 10:52:15 -07:00
Joel Borggrén-Franck
be2d6e6535 8023651: j.l.r.Constructor.getAnnotatedReceiverType() and j.l.r.Constructor.getAnnotatedReturnType() for inner classes return incorrect result
Reviewed-by: darcy
2013-10-24 19:04:27 +02:00
Dan Smith
85dad521d9 8019646: Clarify javadoc contract of LambdaMetafactory
Reviewed-by: briangoetz, rfield
2013-10-24 13:06:05 -04:00
Stuart Marks
2e342ed968 8023862: deprecate HTTP proxying from RMI
Reviewed-by: mchung
2013-10-24 10:13:39 -07:00
Andreas Lundblad
5db9cc7bed 8027170: Annotations declared on super-super-class should be overridden by super-class
Co-authored-by: Peter Levart <peter.levart@gmail.com>
Reviewed-by: jfranck
2013-10-24 18:52:13 +02:00
Sergey Bylokhov
b776817a56 7090424: TestGlyphVectorLayout failed automately with java.lang.StackOverflowError
Reviewed-by: anthony, art
2013-10-24 14:32:07 +04:00
Erik Joelsson
a1a132996a 8009280: JCE jurisdiction policy files not copied into jdk/lib/security
Reviewed-by: tbell, ihse
2013-10-24 10:43:51 +02:00
Erik Joelsson
21748b738f 8009280: JCE jurisdiction policy files not copied into jdk/lib/security
Reviewed-by: tbell, ihse
2013-10-24 10:43:35 +02:00
Fredrik Arvidsson
508272e5f5 8024423: JVMTI: GetLoadedClasses doesn't enumerate anonymous classes
Rewrite of the getLoadedClasses() method implementation to include anonymous classes.

Reviewed-by: coleenp, sspitsyn
2013-10-24 10:02:02 +02:00
Eric McCorkle
e62fb20a59 8023682: Incorrect attributes emitted for anonymous class declaration
Cause javac to emit type annotations on new instruction as well as anonymous class supertype for annotated anonymous classes.

Reviewed-by: jjg, jfranck
2013-10-24 01:27:10 -04:00
David Holmes
33d6b93e22 8026877: Error in opening JAR file when invalid jar specified with -Xbootclasspath/a on OpenJDK build
Reviewed-by: coleenp, twisti
2013-10-24 00:33:14 -04:00
Eric McCorkle
fb5a684124 8006732: support correct bytecode storage of type annotations in multicatch
Fix issue with annotations being added before attribution, which causes multicatch not to work right and several tests to fail.

Reviewed-by: jfranck, jjg
2013-10-23 23:20:32 -04:00
Jan Lahoda
017ea08922 8026936: Initialize LamdbaToMethod lazily and as required
Reviewed-by: jjg, rfield
2013-10-23 15:45:18 -07:00
Niclas Adlertz
fedbc5721f Merge 2013-10-23 19:22:28 +00:00
Vladimir Ivanov
cb5592b08e 8012941: JSR 292: too deep inlining might crash compiler because of stack overflow
Reviewed-by: kvn, twisti
2013-10-23 20:20:03 +04:00
Serguei Spitsyn
3375e14588 8023004: JSR 292: java.lang.RuntimeException: Original target method was called
Reviewed-by: jrose
2013-10-23 20:15:24 +04:00
Erik Joelsson
91102a74e9 8026888: Licensee build failure due to wrong libs being called
Reviewed-by: tbell, ihse, simonis
2013-10-23 17:57:38 +02:00
David Katleman
a9467bf52b Merge 2013-10-23 08:50:36 -07:00
Phil Race
dba4a72be2 8027169: Xrender: Cleaner version of the fix for 7159455 Nimbus scrollbar glitch
Reviewed-by: prr, bae
2013-10-23 08:46:54 -07:00
Sean Coffey
b8a1a58670 5036554: unmarshal error on CORBA alias type in CORBA any
Reviewed-by: chegar, smarks
2013-10-23 16:45:30 +01:00
Erik Joelsson
cc9f5581c4 8026888: Licensee build failure due to wrong libs being called
Reviewed-by: tbell, ihse, simonis
2013-10-23 17:03:19 +02:00
Athijegannathan Sundararajan
5184202107 Merge 2013-10-23 20:21:23 +05:30
Athijegannathan Sundararajan
8a7395c4b8 8027150: ScriptObjectListAdapter won't work as expected
Reviewed-by: jlaskey, attila
2013-10-23 20:15:43 +05:30
Chris Hegarty
a4e294381f 8027059: (sctp) fatal warnings overly restrictive with gcc 4.8.1
Reviewed-by: mduigou, dxu, erikj, ihse
2013-10-23 13:43:12 +01:00
Sergey Bylokhov
09d0694c90 8020851: java.awt.event.WindowEvent spec should state that WINDOW_CLOSED event may not be delivered under certain circumstances
Reviewed-by: anthony, art
2013-10-23 16:24:50 +04:00
Athijegannathan Sundararajan
3e7ce096f9 8027128: jdk.nashorn.api.scripting.JSObject should be an interface
Reviewed-by: hannesw, attila, jlaskey
2013-10-23 17:30:13 +05:30
Ivan Gerasimov
f14e06950e 8024521: (process) Async close issues with Process InputStream
Reviewed-by: psandoz, martin, alanb, robm
2013-10-23 15:37:40 +04:00
Alan Bateman
e1c6970bd6 8026344: j.u.c.a *Adder and *Accumulator extend a package private class that is Serializable
Co-authored-by: Doug Lea <dl@cs.oswego.edu>
Reviewed-by: rriggs, psandoz, chegar
2013-10-24 13:24:32 +01:00
Magnus Ihse Bursie
e4ff601011 8001922: Improve freetype handling
Reviewed-by: erikj
2013-10-23 13:06:37 +02:00
Magnus Ihse Bursie
af31015c79 8001922: Improve freetype handling
Reviewed-by: erikj
2013-10-23 13:05:58 +02:00
Roland Westrelin
1b5bd82335 8024070: C2 needs some form of type speculation
Record unused type profile information with type system, propagate and use it.

Reviewed-by: kvn, twisti
2013-10-23 12:40:23 +02:00
Niclas Adlertz
e608f6fde3 8026939: assert(Reachblock != NULL) failed: Reachblock must be non-NULL
We can reach this state from phi input rematerialization, so pass in the Reaches of the predecessor

Reviewed-by: roland, twisti
2013-10-23 10:44:12 +02:00
Fredrik Arvidsson
e731a6d078 8026808: serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java failed with unexpected exit value
Fixes a bug with vmArgs when using JDKToolLauncher

Reviewed-by: sla, dholmes
2013-10-23 10:24:28 +02:00
Axel Siebenborn
13418d4800 8025728: Missing volatile specifier for field G1AllocRegion::_alloc_region
The field G1AllocRegion::_alloc_region needs to be declared volatile as it is used with that intention. Otherwise the compiler may generate the code that reloads the value which might have changed in the meantime, leading to spurious crashes.

Reviewed-by: iveresov, simonis, tschatzl
2013-10-23 10:23:06 +02:00
Albert Noll
ceb177b16f 8026407: VM crashes on linux-ppc and linux-i586 when there is not enough ReservedCodeCacheSize specified
Ensure currently required generation of AdapterHandlerLibrary::create_native_wrapper()

Reviewed-by: roland, iveresov
2013-10-23 10:00:39 +02:00
Jan Lahoda
14fe29f845 8026861: Wrong LineNumberTable for variable declarations in lambdas
Setting or correcting positions for many trees produced by LambdaToMethod.

Reviewed-by: vromero, rfield
2013-10-23 07:50:04 +02:00
Jan Lahoda
237d1940c6 8027191: Fix for JDK-8026861 refers to an incorrect bug number
Reverting changeset e7c8a164d7bd, so that it can be applied again with a correct bug number

Reviewed-by: jjg
2013-10-23 23:02:17 +02:00
Bhavesh Patel
80787f47a9 8026770: javadoc creates invalid HTML in profile summary pages
Reviewed-by: jjg
2013-10-23 13:54:13 -07:00
Robert Field
c9ceea7ac7 8022720: Method refeerences - private method should be accessible (nested classes)
Reviewed-by: jjg, ksrini
2013-10-23 10:28:10 -07:00
Jan Lahoda
5ea357c66e 8026508: Invokedynamic instructions don't get line number table entries
Setting or correcting positions for many trees produced by LambdaToMethod.

Reviewed-by: vromero, rfield
2013-10-23 07:50:04 +02:00
Vadim Pakhnushev
0c0442200d 8001173: [findbugs] Evaluate FindBug output for sun.font.CompositeFont, sun.font.CompositeFontDescriptor
Reviewed-by: prr, bae
2013-10-23 08:56:56 +04:00
Harold Seigel
286c6a3d50 Merge 2013-10-22 22:14:57 -04:00
Jonathan Gibbons
806a84e4de Merge 2013-10-22 17:44:43 -07:00
Jonathan Gibbons
53d2f8ae31 8027119: Cleanup javadoc comments for taglet API
Reviewed-by: mduigou
2013-10-22 17:42:10 -07:00
Robert Field
69709943c3 8023668: Desugar serializable lambda bodies using more robust naming scheme
Lambda / bridged method-reference naming overhaul

Reviewed-by: ksrini, briangoetz
2013-10-22 16:53:21 -07:00
Tim Bell
ce42afa263 Merge 2013-10-22 16:51:37 -07:00
Tim Bell
a42e54a3e5 Merge 2013-10-22 16:41:34 -07:00
David Katleman
d9328a80c4 8027068: Update to NewMakefile.gmk check of MAKE_VERSION broke jdk8-build nightly builds on windows, saying 3.82.90 is too low
Reviewed-by: ihse, tbell, wetmore
2013-10-22 16:35:09 -07:00
Tim Bell
4c2ade4cc3 8027039: [jprt] Remove 32-bit Solaris from jprt.properties files
Reviewed-by: mduigou, mchung
2013-10-22 16:30:06 -07:00
Tim Bell
8d66261093 8027039: [jprt] Remove 32-bit Solaris from jprt.properties files
Reviewed-by: mduigou, mchung
2013-10-22 16:29:54 -07:00
Tim Bell
80ff340c1d 8027039: [jprt] Remove 32-bit Solaris from jprt.properties files
Reviewed-by: mduigou, mchung
2013-10-22 16:29:42 -07:00
Tim Bell
a4db012457 8027039: [jprt] Remove 32-bit Solaris from jprt.properties files
Reviewed-by: mduigou, mchung
2013-10-22 16:29:33 -07:00
Tim Bell
3c791baa4a 8027039: [jprt] Remove 32-bit Solaris from jprt.properties files
Reviewed-by: mduigou, mchung
2013-10-22 16:29:10 -07:00
Tim Bell
9aa14a6c83 8027039: [jprt] Remove 32-bit Solaris from jprt.properties files
Reviewed-by: mduigou, mchung
2013-10-22 16:28:57 -07:00
David Katleman
3d269310ca Merge 2013-10-22 16:14:34 -07:00
David Katleman
ccb8dc265f Merge 2013-10-22 16:10:31 -07:00
Ioi Lam
8703963160 Merge 2013-10-22 16:09:17 -07:00
Clemens Eisserer
95958a239e 8023098: XRender : AlphaComposite test results are incorrect
Reviewed-by: prr, bae
2013-10-22 15:39:33 -07:00
David Katleman
779bb36744 Merge 2013-10-22 14:53:08 -07:00
Ioi Lam
0e4eda601c 8014910: deadlock between JVM/TI ClassPrepare event handler and CompilerThread
Revert changes in JDK-8008962

Reviewed-by: coleenp, sspitsyn
2013-10-22 14:29:02 -07:00
Alejandro Murillo
0ce7855814 Merge 2013-10-22 13:56:26 -07:00
Alejandro Murillo
e7abfc8023 Merge 2013-10-22 13:56:19 -07:00
Alejandro Murillo
ebac10af51 Merge 2013-10-22 13:56:11 -07:00
Clemens Eisserer
8f5a3f7514 8023483: sun/java2d/DirectX/TransformedPaintTest/TransformedPaintTest.java failed with jdk8 on linux platforms
Reviewed-by: prr, bae
2013-10-22 13:47:45 -07:00
Mikhailo Seledtsov
4ac64cd06d 8026809: [TESTBUG] Create regression test for JDK-8026041
Created simple regression test for the bug

Reviewed-by: hseigel, lfoltan, zgu
2013-10-22 15:54:50 -04:00
John Coomes
7ca427bc4f Merge 2013-10-22 12:03:50 -07:00
Lois Foltan
033c5b68ea 8026394: Eclipse fails with JDK8 build 111
If the resolved interface does not itself contain "clone" or "finalize" methods, the method/interface method resolution looks to the interface's super class, java.lang.Object.  With the JDK 8 interface method accessability check requirement, since these two methods are declared within Object as protected, they must be special cased in LinkResolver::check_method_accessability() in order to avoid an IAE.

Reviewed-by: acorn, dholmes
2013-10-22 14:47:59 -04:00
Athijegannathan Sundararajan
a1f362d179 Merge 2013-10-22 22:12:24 +05:30
Athijegannathan Sundararajan
b9908d60b7 8027020: [regression] java.lang.VerifyError: Bad type on operand stack
Reviewed-by: jlaskey, attila
2013-10-22 22:04:46 +05:30
Attila Szegedi
d24b73ab43 8027037: Make ScriptObjectMirror conversions work for any JSObject
Reviewed-by: jlaskey, lagergren, sundar
2013-10-22 17:52:37 +02:00
Attila Szegedi
806a003cb6 8027031: complete merging of loads and converts
Reviewed-by: jlaskey, lagergren
2013-10-22 16:43:27 +02:00
Rickard Bäckman
4b0c603628 Merge 2013-10-22 14:02:15 +00:00
Vicente Romero
48b6b38e52 8025290: javac implicit versus explicit lambda compilation error
Reviewed-by: jjg, dlsmith
2013-10-22 13:54:49 +01:00
Leonid Romanov
9d1ce9a555 8020209: [macosx] Mac OS X key event confusion for "COMMAND PLUS"
Reviewed-by: anthony, serb
2013-10-22 16:45:08 +04:00
Athijegannathan Sundararajan
471045eb80 Merge 2013-10-22 17:47:56 +05:30
Athijegannathan Sundararajan
0206687c1a 8027024: String.prototype.charAt and charCodeAt do not evaluate 'self' and 'pos' arguments in right order
Reviewed-by: jlaskey, attila, lagergren
2013-10-22 17:38:12 +05:30
Alan Bateman
f28903e129 8021257: com.sun.corba.se.** should be on restricted package list
Co-authored-by: Mark Sheppard <mark.sheppard@oracle.com>
Reviewed-by: chegar, coffeys, smarks
2013-10-22 11:40:27 +01:00
Magnus Ihse Bursie
f46cc723f8 8026864: Deprecate --disable-macosx-runtime-support
Reviewed-by: erikj
2013-10-22 12:29:29 +02:00
Erik Joelsson
7bf42b6627 8026966: Most native libs broken on mac in jdk8/build
Reviewed-by: ihse, anthony
2013-10-22 11:59:30 +02:00
Stefan Johansson
d46d24b7d4 8026848: -XX:+G1SummarizeRSetStats can result in wrong exit code and crash
Changed the use of %d to SIZE_FORMAT macro in format string when printing size_t values.

Reviewed-by: stefank, ehelin
2013-10-22 11:50:12 +02:00
Hannes Wallnöfer
06b32d6fcb 8026955: for-in should convert primitive values to object
Reviewed-by: jlaskey, lagergren
2013-10-22 11:31:03 +02:00
Andrew Brygin
da800e698b 8026780: Crash on PPC and PPC v2 for Java_awt test suit
Reviewed-by: prr, jchen
2013-10-22 13:28:44 +04:00
Magnus Ihse Bursie
dce663f427 8001925: Add useful help messages if freetype is not found on Windows
Reviewed-by: erikj, tbell
2013-10-22 11:12:43 +02:00
Hannes Wallnöfer
405f2da127 8027015: AutoCloseable no longer implements @FunctionalInterface
Reviewed-by: lagergren, sundar
2013-10-22 11:12:36 +02:00
Athijegannathan Sundararajan
fbb9a966b6 8027016: Array.prototype.indexOf should return -1 when array is of length zero
Reviewed-by: lagergren, attila
2013-10-22 14:27:52 +05:30
Joel Borggrén-Franck
d8d3ea2057 8026857: AnnoConstruct.getAnnotationsByType does not search supertype for inherited annotations if @SomeContainer({}) is present
An empty container should not stop javac from looking at supertypes for inherited repeating annotations

Reviewed-by: jjg
2013-10-22 10:08:49 +02:00
Roland Westrelin
b94884a330 8026251: New type profiling points: parameters to methods
X86 interpreter and c1 type profiling for parameters on method entries

Reviewed-by: kvn, twisti
2013-10-22 09:51:47 +02:00
Christine Lu
682ea3f061 8026974: solaris build missing java-rmi.cgi
Reviewed-by: ksrini
2013-10-21 23:33:22 -07:00
Kumar Srinivasan
39fb59399a 8026758: Inefficient code in LambdaToMethod
Reviewed-by: jjg, jlahoda, rfield
2013-10-21 20:10:43 -07:00
David Holmes
d45eace4fa Merge 2013-10-21 22:36:43 -04:00
Joel Borggrén-Franck
4a79e1cec8 8026855: AnnoConstruct.getAnnotationsByType includes inherited indirectly present annotations even when containee type is not inheritable
In AnnoConstruct.getAnnotationByType() check that the annotation sought after is inherited before looking on supertypes.

Reviewed-by: jjg
2013-10-22 03:36:44 +02:00
David Holmes
e88385939f Merge 2013-10-21 21:06:20 -04:00
David Holmes
0eef926855 8026872: [TESTBUG] Classes OOMCrashClass4000_1.class and OOMCrashClass1960_2.class from runtime/ClassFile/ tests won't run on compact profiles
Reviewed-by: sla, sspitsyn
2013-10-21 20:51:03 -04:00
Igor Veresov
4db165a8d7 Merge 2013-10-21 17:34:27 -07:00
Calvin Cheung
9fca48316e Merge 2013-10-21 17:26:46 -07:00
Joe Darcy
7b509ee987 8026984: Clarity intended use of jdk.Exported
Reviewed-by: psandoz, mr, alanb
2013-10-21 15:37:11 -07:00
Alejandro Murillo
81ac3108d4 8023496: [jprt] build and test solaris 64-bits only
Reviewed-by: tbell, jcoomes
2013-10-21 14:38:11 -07:00
Jennifer Godinez
c4dfaa37a2 8026951: Fix for 8025988 breaks jdk build on windows
Reviewed-by: prr, jchen
2013-10-21 13:18:58 -07:00
Vicente Romero
43754fccbd 8026956: test tools/javac/lambda/TargetType58.java is failing after a libs change
Reviewed-by: jfranck
2013-10-21 15:55:02 +01:00
Rickard Bäckman
e2efed4a9b 8026959: assert(!n->pinned() || n->is_MachConstantBase()) failed: only pinned MachConstantBase node is expected here
Reviewed-by: iveresov, roland
2013-10-21 15:31:16 +02:00
Volker Simonis
2144264f74 8026874: During JAXWS build the newly built JAXP classes should be in the bootclasspath (not only in the classpath)
Reviewed-by: erikj
2013-10-21 15:11:05 +02:00
Erik Helin
27f1f8efe6 8025834: NPE in Parallel Scavenge with -XX:+CheckUnhandledOops
Reviewed-by: coleenp, mgerdin, sspitsyn
2013-10-21 14:20:47 +02:00
Erik Joelsson
704c4cc965 8026528: [build] configure does not recognize newer make in cygwin
Reviewed-by: tbell, ksrini, ihse
2013-10-21 11:59:25 +02:00
Konstantin Shefov
7adddc6d26 8026871: NASHORN TEST: Enable possibility to test Nashorn use of JavaFX canvas
Reviewed-by: jlaskey, sundar
2013-10-21 13:31:03 +04:00
Erik Joelsson
4372338e1c Merge 2013-10-21 10:40:16 +02:00
Erik Joelsson
3562cdcbcb Merge 2013-10-21 10:40:13 +02:00
Stefan Karlsson
779c7d398a Merge 2013-10-21 01:04:01 -07:00
Stefan Karlsson
ddd9098a27 8026781: Add missing test to exercise -XX:+UseLargePagesInMetaspace
Reviewed-by: mgerdin, brutisso
2013-10-21 09:34:10 +02:00
Igor Ignatyev
1fbfd1734c 8026865: [TESTBUG] 'compiler/print/PrintInlining.java' should specify -XX:+UnlockDiagnosticVMOptions
Reviewed-by: twisti, iveresov
2013-10-21 09:21:41 +04:00
Athijegannathan Sundararajan
3d0de0f6e8 Merge 2013-10-21 10:09:19 +05:30
Kumar Srinivasan
24394acaea 8026931: MethodParameters tests failing on Windows
Reviewed-by: jjg, vromero
2013-10-20 12:54:17 -07:00
Werner Dietl
29582c0ec0 8026791: wrong type_path encoded for method_return on an inner class constructor
Reviewed-by: jjg
2013-10-20 12:46:12 -07:00
Werner Dietl
84cadf2e45 8025109: Better encapsulation for AnnotatedType
Reviewed-by: jjg
2013-10-20 12:01:43 -07:00
Igor Veresov
9bf565afeb Merge 2013-10-19 22:22:05 -07:00
Karen Kinnear
0e34fa065a 8026893: Push 8026365 to TL early and add test
Reviewed-by: dcubed, kamg
2013-10-19 18:32:34 -04:00
Igor Ignatyev
50b8567c55 8023318: compiler/whitebox tests timeout with enabled TieredCompilation
Reviewed-by: kvn, twisti
2013-10-19 21:54:46 +04:00
Igor Ignatyev
fce1adef81 8026414: [TESTBUG] Tests for Tiered/NonTiered levels
Reviewed-by: twisti, iveresov
2013-10-19 21:54:44 +04:00
Dmitry Samersoff
f6a5cb56ec 8026930: In ManagementAgent.start it should be possible to set the jdp.name parameter (hotspot part)
Pass one more property from Agent to JdpController

Reviewed-by: jbachorik, sla
2013-10-19 21:29:57 +04:00
Vicente Romero
027b935c1b 8024809: javac, some lambda programs are rejected by flow analysis
Reviewed-by: jjg, dlsmith
2013-10-19 17:43:09 +01:00
Alejandro Murillo
801ca669e4 8026928: new hotspot build - hs25-b56
Reviewed-by: jcoomes
2013-10-19 08:52:21 -07:00
Alejandro Murillo
41e6e20273 Merge 2013-10-19 08:51:49 -07:00
Alejandro Murillo
8136f77645 Merge 2013-10-19 08:51:39 -07:00
Roland Westrelin
3f8ae3e9b9 8024069: replace_in_map() should operate on parent maps
Type information gets lost because replace_in_map() doesn't update parent maps

Reviewed-by: kvn, twisti
2013-10-19 12:16:43 +02:00
Alejandro Murillo
b6747accdf Added tag hs25-b55 for changeset 9e1f4b025644 2013-10-18 21:30:43 -07:00
Alejandro Murillo
be7804bbf5 Merge 2013-10-18 21:30:42 -07:00
Calvin Cheung
e187f54e56 Merge 2013-10-18 19:44:40 -07:00
Bhavesh Patel
cee70e2272 8026567: Use meaningful style names for strong and italic styles
Reviewed-by: jjg
2013-10-18 16:34:42 -07:00
Jennifer Godinez
fbb6fe5543 8025988: [macosx] Attribute settings don't work for JobAttributes range
8025990: [macosx] Attribute settings don't work for JobAttributes setOrientationRequested, setMedia

Reviewed-by: prr, jchen
2013-10-18 15:30:10 -07:00
David Katleman
94a1659d6b Merge 2013-10-18 15:03:48 -07:00
Jonathan Gibbons
cf30c20337 8026749: Missing LV table in lambda bodies
Reviewed-by: vromero, jlahoda
2013-10-18 15:03:34 -07:00
David Katleman
074d0fd9dc Merge 2013-10-18 15:03:08 -07:00
Hannes Wallnöfer
ef6f8003c8 8026858: Array length does not handle defined properties correctly
Reviewed-by: jlaskey
2013-10-18 22:42:41 +02:00
Morris Meyer
801b3e680e 8008242: VerifyOops is broken on SPARC
Fixed displacement issues in SPARC macroassembler and ensure that getClass intrinsic temporary result is T_METADATA

Reviewed-by: kvn, twisti
2013-10-18 12:15:32 -07:00
John Coomes
8d381f2b2e Merge 2013-10-18 12:10:44 -07:00
Alexander Zvegintsev
2861048105 8026476: Choice does not get mouse events if it does not have enough place for popup menu
Reviewed-by: anthony, serb
2013-10-18 20:35:36 +04:00
Athijegannathan Sundararajan
a98e63edf4 Merge 2013-10-18 18:26:13 +05:30
Andrei Eremeev
26158306cd 7002846: Fix for 6989505 may be incomplete
Reviewed-by: anthony, art
2013-10-18 15:15:24 +04:00
Hannes Wallnöfer
660aab2c4d 8026805: Array.prototype.length doesn't work as expected
Reviewed-by: sundar, lagergren
2013-10-18 12:50:21 +02:00
Dmitry Samersoff
7b5f358b92 Merge 2013-10-18 10:37:26 +00:00
Niclas Adlertz
8a2c02c416 Merge 2013-10-18 09:36:35 +00:00
Erik Joelsson
6127ab4b86 8025869: make docs doesn't regenerate docs correctly after changing API doc comments in jaxp sources
Reviewed-by: ihse, tbell
2013-10-18 11:34:29 +02:00
Niclas Adlertz
3838ed7b68 8022783: Nashorn test fails with: assert(!def_outside->member(r))
Enables private copies of inputs for recent spill copies as well

Reviewed-by: kvn, twisti
2013-10-18 10:50:17 +02:00
Magnus Ihse Bursie
6599bbfe0d 8001912: Improve detection of msvcr100.dll
Reviewed-by: erikj
2013-10-18 10:41:18 +02:00
Mikael Gerdin
376094224f 8026698: Incorrect error handling in Metaspace::allocate
Reviewed-by: stefank, jwilhelm
2013-10-18 09:31:59 +02:00
Karen Kinnear
4f064cafe6 8026365: NoClassDefinitionFound for anonymous class invokespecial
Reviewed-by: dcubed, kamg
2013-10-17 23:30:17 -04:00
Joe Darcy
f8e08a9965 8026838: Fix new doclint issues in javax.annotation.processing
Reviewed-by: jjg
2013-10-17 19:10:19 -07:00
Leif Samuelsson
a25177c60e 7025699: Policy Tool is not accessible by keyboard
Reviewed-by: alexp, weijun
2013-10-18 08:57:52 +08:00
Lana Steuck
086717d59d Merge 2013-10-17 17:48:51 -07:00
Joe Wang
a630fe0c72 8016500: Unlocalized warnigs
Reviewed-by: lancea
2013-10-17 16:35:28 -07:00
Lana Steuck
ea0f7e197b Merge 2013-10-17 16:19:45 -07:00
Lana Steuck
1761325728 Merge 2013-10-17 16:13:39 -07:00
Lana Steuck
4ea1997a1b Merge 2013-10-17 16:12:58 -07:00
Lana Steuck
b57d193ddd Merge 2013-10-17 15:53:27 -07:00
Lana Steuck
09678fe1a7 Merge 2013-10-17 15:50:28 -07:00
Lana Steuck
46b1320621 Merge 2013-10-17 15:45:23 -07:00
Brian Burkhalter
670a226fcc 8026832: Clean up straggling doclint warnings in java.math
Fix empty paragraph tag warnings.

Reviewed-by: lancea
2013-10-17 15:05:18 -07:00
Lana Steuck
73a4cab3fb Merge 2013-10-17 15:04:55 -07:00
Lana Steuck
c71f3cdbe6 Merge 2013-10-17 14:20:57 -07:00
Lana Steuck
d9f1c55334 Merge 2013-10-17 14:17:54 -07:00
Mike Duigou
4f5a89a546 8026062: webrev.ksh: fix bug title web scraping, remove teamware, sac, "open bug", -l and wxfile support
Reviewed-by: weijun, dsamersoff, darcy, jrose, tbell
2013-10-17 14:07:57 -07:00
Lana Steuck
7e11339ae8 Merge 2013-10-17 13:53:08 -07:00
Mandy Chung
1285dee32b 8015912: jdeps support to output in dot file format
8026255: Switch jdeps to follow traditional Java option style

Reviewed-by: alanb
2013-10-17 13:19:48 -07:00
Doug Lea
3f1d887049 8004138: ForkJoinTask leaks exceptions
Reviewed-by: chegar, mduigou, psandoz, martin
2013-10-17 12:43:32 -07:00
Mandy Chung
71a12d3eef 8015912: jdeps support to output in dot file format
8026255: Switch jdeps to follow traditional Java option style

Reviewed-by: alanb
2013-10-17 13:22:11 -07:00
Lance Andersen
0137840fa9 8026812: doclint clean up for java.sql and javax.sql
Reviewed-by: mduigou
2013-10-17 15:14:58 -04:00
Jason Uh
9419bb4f59 8026233: test/sun/security/tools/keytool/StorePasswords.java needs to clean up files
Reviewed-by: vinnie
2013-10-17 12:00:20 -07:00
Joe Wang
70991c8052 8015243: SchemaFactory does not catch enum. value that is not in the value space of the base type, anyURI
Reviewed-by: lancea
2013-10-17 11:43:44 -07:00
Joe Wang
a45aa286f3 8015243: SchemaFactory does not catch enum. value that is not in the value space of the base type, anyURI
Reviewed-by: lancea
2013-10-17 11:22:39 -07:00
Igor Veresov
d94fef24b5 Merge 2013-10-17 10:58:45 -07:00
Albert Noll
12fb9529af 8026708: guarantee(codelet_size > 0 && (size_t)codelet_size > 2*K) failed: not enough space for interpreter generation
Increase size for the template interpreter accordingly

Reviewed-by: kvn, twisti
2013-10-17 19:47:04 +02:00
Roger Riggs
056189cbbe 8026183: minor documentation problems in java.lang.invoke
8015808: Typo in MethodHandle javadoc

Fix typos and javadoc markup and extraneous paragraph tags

Reviewed-by: lancea
2013-10-17 13:43:46 -04:00
Sergey Bylokhov
44383570a1 8026356: [macosx] Found one Java-level deadlock:"AWT-EventQueue-0" && main
Reviewed-by: anthony, art
2013-10-17 21:22:05 +04:00
Dmitry Samersoff
5594fcb058 Merge 2013-10-17 17:01:04 +00:00
Sergey Bylokhov
96c379d531 8022657: Add FunctionalInterface annotation to awt interfaces
Reviewed-by: anthony, art
2013-10-17 20:54:33 +04:00
Christine Lu
c9440bc8fc Added tag jdk8-b112 for changeset 49f23f00d4e6 2013-10-17 09:41:14 -07:00
Christine Lu
28cd7f48ee Added tag jdk8-b112 for changeset 96faa2507e3a 2013-10-17 09:41:12 -07:00
Christine Lu
8116440024 Added tag jdk8-b112 for changeset 8518304d2097 2013-10-17 09:41:03 -07:00
Christine Lu
8fb3f175e0 Added tag jdk8-b112 for changeset 7ac3e6a52e4c 2013-10-17 09:40:59 -07:00
Christine Lu
997f9fca3a Added tag jdk8-b112 for changeset d0f3600edd98 2013-10-17 09:40:58 -07:00
Christine Lu
1012033130 Added tag jdk8-b112 for changeset 0bbe54dca484 2013-10-17 09:40:51 -07:00
Christine Lu
81f2270469 Added tag jdk8-b112 for changeset 80c546afbfd1 2013-10-17 09:40:47 -07:00
Christine Lu
3d21054d49 Added tag jdk8-b112 for changeset d6efd86ba297 2013-10-17 09:40:42 -07:00
Staffan Larsen
6c0a73c972 Merge 2013-10-17 12:15:14 -04:00
Sean Mullan
b131a44f91 Merge 2013-10-17 11:34:01 -04:00
Hannes Wallnöfer
d681100033 8026701: Array.prototype.splice is slow on dense arrays
Reviewed-by: lagergren, sundar, jlaskey
2013-10-17 17:33:16 +02:00
Sean Mullan
2ef954a0ff Merge 2013-10-17 10:37:27 -04:00
Roger Riggs
e7ec0b2a5d 8026516: javadoc errors in java.time
Corrected links to TemporalQuery and TemporalField.resolve

Reviewed-by: mduigou, darcy, lancea
2013-10-17 10:37:23 -04:00
Sean Mullan
70492e8a66 8026346: test/java/lang/SecurityManager/CheckPackageAccess.java failing
Reviewed-by: vinnie
2013-10-17 10:18:44 -04:00
Erik Joelsson
95ddbab8d9 8019540: licensee reports a JDK8 build failure after 8005849/8005008 fixes integrated
Reviewed-by: dholmes, sla
2013-10-17 16:15:57 +02:00
Erik Joelsson
00982daf40 8026792: HOTSPOT: licensee reports a JDK8 build failure after 8005849/8005008 fixes integrated
Reviewed-by: dholmes, sla
2013-10-17 16:11:26 +02:00
Jon Masamitsu
b49c59f608 8025635: SoftReferences are not cleared before metaspace OOME are thrown
Reviewed-by: jcoomes, tamao, tschatzl, stefank
2013-10-17 06:29:58 -07:00
Eric Mccorkle
2be8957d81 8005810: Update Hotspot Serviceability Agent for Method Parameter Reflection and Generic Type Signature Data
Hotspot was updated to store method parameter reflection and generic type signature data at runtime.  Serviceability agent support was updated for this data

Reviewed-by: coleenp, minqi, sla
2013-10-17 16:45:08 +04:00
Dmitry Samersoff
d6f90baf17 8025812: tmtools/jmap/heap_config tests fail on Linux-ia32 because it Cant attach to the core file
Coredump store memsz elf field rounded up to page

Reviewed-by: dholmes, sla
2013-10-17 16:08:01 +04:00
Matherey Nunez
c57660ca19 8008192: Better ordering checks needed in repeatingAnnotations/combo/ReflectionTest
Reviewed-by: jjg, jfranck
2013-10-17 13:50:00 +02:00
Matherey Nunez
7c6e4696ab 8015372: Update tests for Method Parameter Reflection API to check whether a parameter is final
Reviewed-by: jjg, jfranck
2013-10-17 13:27:36 +02:00
Attila Szegedi
34ad8867bc 8026161: Don't narrow floating-point literals in the lexer
Reviewed-by: hannesw, jlaskey
2013-10-17 12:38:50 +02:00
Athijegannathan Sundararajan
6f18b79fdc Merge 2013-10-17 13:02:07 +05:30
Stefan Karlsson
79199b95bc 8026715: Remove the MetaDataDeallocateALot develop flag
Reviewed-by: coleenp, mgerdin
2013-10-17 08:42:41 +02:00
Stefan Karlsson
7bf2a9861b 8026707: JDK-8026391 broke the optimized build target
Reviewed-by: mgerdin, coleenp
2013-10-17 08:41:35 +02:00
Bradford Wetmore
c0555a7232 8026762: jdk8-tl builds windows builds failing in corba - javac: no source files
Reviewed-by: katleman, dholmes
2013-10-16 23:31:16 -07:00
David Chase
c668ed8f33 8022718: Runtime accessibility checking: protected class, if extended, should be accessible from another package
Modify accessibility check; it was muddled about Java vs JVM protection terminology.

Reviewed-by: jrose
2013-10-16 17:55:49 -04:00
Weijun Wang
286d559a2f 8026712: TEST_BUG: update sun/security/tools/keytool/autotest.sh with a new location to find of libsoftokn3.so
Reviewed-by: vinnie
2013-10-17 20:56:07 +08:00
Bradford Wetmore
91f6f174ae 8026762: jdk8-tl builds windows builds failing in corba - javac: no source files
Reviewed-by: katleman, dholmes
2013-10-16 23:32:19 -07:00
Yuka Kamiya
26af18b426 8025703: Update LSR datafile for BCP 47
Reviewed-by: okutsu
2013-10-17 13:57:42 +09:00
Henry Jen
63f8dbc1d3 8026768: java.util.Map.Entry comparingBy methods missing @since 1.8
Reviewed-by: dholmes
2013-10-16 21:34:26 -07:00
Johnny Chen
e59d238698 8024461: [macosx] Java crashed on mac10.9 for swing and 2d function manual test
Reviewed-by: prr, vadim, serb
2013-10-16 14:00:05 -07:00
Eric McCorkle
b8aff04aa0 8026286: Improper locking of annotation queues causes assertion failures
8026063: Calls to annotate.flush() cause incorrect type annotations to be generated

Fix locking in ClassReader.java

Reviewed-by: jfranck
2013-10-16 16:33:04 -04:00
Harold Seigel
8a70ecee80 Merge 2013-10-16 15:26:12 -04:00
David Katleman
3ff67f3133 Merge 2013-10-16 12:05:13 -07:00
David Katleman
6c2816e717 Merge 2013-10-16 12:05:07 -07:00
David Katleman
4baf6a0be3 Merge 2013-10-16 12:02:43 -07:00
David Katleman
c98f2ff949 Merge 2013-10-16 11:56:53 -07:00
David Katleman
c342262e4a Merge 2013-10-16 11:56:45 -07:00
David Katleman
7fa0ab5a1c Merge 2013-10-16 11:55:46 -07:00
David Katleman
b87ee3c517 Merge 2013-10-16 11:55:44 -07:00
Calvin Cheung
e9b8ae64c9 Merge 2013-10-16 11:48:03 -07:00
Lois Foltan
21627fb02f 8024804: Crash when InterfaceMethodref resolves to Object.registerNatives
Added check for NULL prior to continuation of method look up to avoid runtime crash during look up of Object's superclass' methods.

Reviewed-by: coleenp, hseigel
2013-10-16 14:32:05 -04:00
Magnus Ihse Bursie
a360c92c70 8025715: Split CompileNativeLibraries.gmk
Reviewed-by: erikj
2013-10-16 20:24:46 +02:00
Igor Veresov
64b6d2b5e5 8009303: Tiered: incorrect results in VM tests stringconcat with -Xcomp -XX:+DeoptimizeALot on solaris-amd64
Do memory flow analysis in string concat optimizier to exclude cases when computation of arguments to StringBuffer::append has side effects

Reviewed-by: kvn, twisti
2013-10-16 11:13:15 -07:00
Jonathan Gibbons
ef68cc1fc1 8026704: Build failure with --enable-debug
Reviewed-by: ksrini
2013-10-16 10:47:21 -07:00
Oleg Pekhovskiy
f888e8419e 2228674: Fix failed for CR 7162144
Reviewed-by: art, anthony
2013-10-16 19:02:10 +04:00
Kumar Srinivasan
8a2b60ace2 8026500: [infra] remove extraneous docs in solaris images
Reviewed-by: erikj, mchung, tbell
2013-10-16 07:37:30 -07:00
Andrew Brygin
559aa38445 8026702: Fix for 8025429 breaks jdk build on windows
Reviewed-by: serb
2013-10-16 17:13:15 +04:00
Volker Simonis
56bf9f42e0 8026703: Wrongly placed <xsl:import> element in Event-Based JVM Tracing .xsl files
Reviewed-by: sla, kamg
2013-10-16 15:06:39 +02:00
Erik Joelsson
f1ff8b5c67 6604021: RMIC is defaulting to BOOT jdk version, needs to be rmic.jar
Reviewed-by: dholmes, chegar
2013-10-16 13:50:05 +02:00
Erik Joelsson
14fdc26981 6604021: RMIC is defaulting to BOOT jdk version, needs to be rmic.jar
Reviewed-by: dholmes, chegar
2013-10-16 13:49:59 +02:00
Thomas Schatzl
87c5582bac 8025925: jmap fails with "field _length not found in type HeapRegionSeq"
The change JDK-7163191 changed the data layout of a class that is referenced by the java code of the SA agent. This fix synchronizes the SA agent with that change.

Reviewed-by: sla, mgerdin
2013-10-16 11:46:06 +02:00
Hannes Wallnöfer
d22bf99ead 8026693: getType() called on DISCARD node
Reviewed-by: sundar, lagergren
2013-10-16 10:15:55 +02:00
Hannes Wallnöfer
d41ff60568 8026692: eval() throws NullPointerException with --compile-only
Reviewed-by: sundar, lagergren
2013-10-16 10:12:22 +02:00
Fredrik Arvidsson
ec5d05699e 8025638: jmap returns 0 instead of 1 when it fails
Re-factored some code handling return values and fails/errors during tool execution.

Reviewed-by: sla, kevinw
2013-10-16 09:20:23 +02:00
Werner Dietl
e5c34a89eb 8026564: import changes from type-annotations forest
Co-authored-by: Steve Sides <steve.sides@oracle.com>
Reviewed-by: jjg
2013-10-15 15:57:13 -07:00
Jennifer Godinez
bdd269bb9d 8015586: [macosx] Test closed/java/awt/print/PrinterJob/PrintToDir.java fails on MacOSX
Reviewed-by: prr, jchen
2013-10-15 14:24:49 -07:00
Johnny Chen
3b15010d41 8025429: [parfait] warnings from b107 for sun.java2d.cmm: JNI exception pending
Reviewed-by: prr, bae
2013-10-15 14:16:27 -07:00
Jan Lahoda
912fc38c65 8026510: The name of com.sun.tools.javac.comp.Annotate.Annotator is confusing
A mostly automated rename Annotate.Annotator->Annotate.Worker and enterAnnotation->run.

Reviewed-by: emc, jjg
2013-10-15 22:15:35 +02:00
Chris Hegarty
f5392a9718 Merge 2013-10-15 21:12:33 +01:00
Vicente Romero
1868655b89 8024947: javac should issue the potentially ambiguous overload warning only where the problem appears
Reviewed-by: jjg
2013-10-15 21:02:21 +01:00
Chris Hegarty
0fd34f307d Merge 2013-10-15 20:47:55 +01:00
Vicente Romero
53cc43916a 8025816: javac crash with method reference with a type variable as the site
Reviewed-by: jjg
2013-10-15 19:36:45 +01:00
Bhavesh Patel
99e02c21cd 8026370: javadoc creates empty <span class="italic"></span>
Reviewed-by: jjg
2013-10-15 11:20:27 -07:00
Athijegannathan Sundararajan
1f8726f7e6 Merge 2013-10-15 22:13:56 +05:30
Alexander Zvegintsev
6b7c3f5384 8025225: Window.setAlwaysOnTop documentation should be updated
Reviewed-by: anthony, art
2013-10-15 20:40:21 +04:00
Alexander Zvegintsev
88d5331a54 7059886: 6 JCK manual awt/Desktop tests fail with GTKLookAndFeel - GTK intialization issue
Reviewed-by: anthony, art
2013-10-15 20:37:39 +04:00
James Laskey
4ea77e0979 8026498: Revert: latest runsunspider.js tests contains several bugs
Reviewed-by: sundar, hannesw
2013-10-15 13:14:04 -03:00
Hannes Wallnöfer
fd29d64bfd 8026367: Add a sync keyword to mozilla_compat
Reviewed-by: sundar, attila, lagergren
2013-10-15 17:37:47 +02:00
Daniel D. Daugherty
e54055bbb8 7165611: implement Full Debug Symbols on MacOS X hotspot
Add MacOS X FDS support to hotspot; add minimal MacOS X FDS import support to jdk; add MacOS X FDS support to install; add MacOS X FDS support to root.

Reviewed-by: erikj, sla, dholmes, rdurbin, tbell, ihse
2013-10-15 08:26:38 -07:00
Daniel D. Daugherty
232c4efbdb 7165611: implement Full Debug Symbols on MacOS X hotspot
Add MacOS X FDS support to hotspot; add minimal MacOS X FDS import support to jdk; add MacOS X FDS support to install; add MacOS X FDS support to root.

Reviewed-by: erikj, sla, dholmes, rdurbin, tbell, ihse
2013-10-15 08:25:43 -07:00
Daniel D. Daugherty
00478aa3b7 7165611: implement Full Debug Symbols on MacOS X hotspot
Add MacOS X FDS support to hotspot; add minimal MacOS X FDS import support to jdk; add MacOS X FDS support to install; add MacOS X FDS support to root.

Reviewed-by: erikj, sla, dholmes, rdurbin, tbell, ihse
2013-10-15 08:24:31 -07:00
Jan Lahoda
52d83865b8 8026180: com.sun.source.tree.NewArrayTree refers to com.sun.tools.javac.util.List
Correcting import in NewArrayTree, adding test protecting againts improper types in API signatures

Reviewed-by: jjg
2013-10-15 16:23:18 +02:00
Attila Szegedi
8a727caa63 8026397: Fix ambiguity with array conversion, including passing JS NativeArrays in Java variable arity methods' vararg array position
Reviewed-by: jlaskey, sundar
2013-10-15 15:57:14 +02:00
Chris Hegarty
95866e7e4f Merge 2013-10-15 14:17:11 +01:00
Chris Hegarty
8e9a31e478 Merge 2013-10-15 14:16:49 +01:00
Chris Hegarty
1eef41ef0f Merge 2013-10-15 13:46:18 +01:00
Chris Hegarty
ee31bf9cb4 Merge 2013-10-15 13:39:42 +01:00
Stefan Karlsson
f323c934d7 8026392: Metachunks and Metablocks are using a too large alignment
Reviewed-by: coleenp, jmasa
2013-10-15 14:32:20 +02:00
Stefan Karlsson
f149d47720 8026391: The Metachunk header wastes memory
Reviewed-by: coleenp, jmasa
2013-10-15 14:28:51 +02:00
Stefan Karlsson
9f6e8976d0 Merge 2013-10-15 07:10:09 -07:00
Mikael Gerdin
444a15a09f 8015255: NPG: Don't waste fragment at the end of a VirtualSpaceNode before retiring it
Chunk up the last piece of committed memory in a VSN when getting a new one.

Reviewed-by: stefank, jmasa
2013-10-15 13:56:46 +02:00
Mikael Gerdin
3b3afe75fb Merge 2013-10-15 04:29:21 -07:00
Magnus Ihse Bursie
909a12e572 8001933: Move Gensrc*.gmk and Gendata*.gmk into separate directories
Reviewed-by: erikj, tbell
2013-10-15 13:06:45 +02:00
Mikael Auno
f99959f054 8009681: TEST_BUG: MethodExitReturnValuesTest.java may fail when there are unexpected background threads
Reviewed-by: sla, allwin
2013-10-15 12:53:54 +02:00
Dan Xu
bdb08c592d 7122887: JDK ignores Gnome3 proxy settings
Fix GConf and add to use GProxyResolver to handle network proxy resolution

Reviewed-by: chegar
2013-10-23 22:30:35 -07:00
Robert Field
80ce6f3ec5 8025868: Several lang/LMBD JCK tests fail with java.lang.BootstrapMethodError
Wildcard marker interfaces can cause duplicate implemented interfaces in generated lambda class

Reviewed-by: briangoetz
2013-10-23 15:16:35 -07:00
Mike Duigou
96e2b92fb1 8024688: further split Map and ConcurrentMap defaults eliminating looping from Map defaults, Map.merge fixes and doc fixes
Reviewed-by: psandoz, dholmes
2013-10-23 14:32:41 -07:00
Sean Coffey
d4ba44bc9d 8026405: javax/xml/ws/clientjar/TestWsImport.java failing on JDK 8 nightly aurora test runs
Reviewed-by: chegar
2013-10-23 20:51:14 +01:00
Robert Field
403003d3be 8027176: Remove redundant jdk/lambda/vm/DefaultMethodsTest.java
Reviewed-by: ksrini
2013-10-23 11:36:24 -07:00
Sean Coffey
41dccdf751 5036554: unmarshal error on CORBA alias type in CORBA any
Reviewed-by: chegar, smarks
2013-10-23 16:53:42 +01:00
Alexander Zuev
28f4ef62dd 8020802: Need an ability to create jar files that are invariant to the pack200 packing/unpacking
Reviewed-by: alanb, ksrini
2013-10-23 18:35:47 +04:00
Staffan Larsen
7108f683fc 8026789: Update test/java/lang/instrument/Re(transform|define)BigClass.sh test to use NMT for memory leak detection
Reviewed-by: dcubed
2013-10-23 15:55:31 +02:00
Chris Hegarty
28fc7fbaeb 8020758: HttpCookie constructor does not throw IAE when name contains a space
Reviewed-by: michaelm, msheppar
2013-10-23 14:38:22 +01:00
Jaroslav Bachorik
92bd2a8b2d 7112404: 2 tests in java/lang/management/ManagementFactory fails with G1 because expect non-zero pools
Reviewed-by: mchung, sjiang
2013-10-23 15:03:49 +02:00
Michael McMahon
b7d5f19fe0 8025734: Use literal IP address where possible in SocketPermission generated by HttpURLPermission
Reviewed-by: chegar
2013-10-23 11:00:12 +01:00
Erik Gahlin
eb1b9d5ad8 7105883: JDWP: agent crash if there exists a ThreadGroup with null name
Reviewed-by: sla, jbachorik
2013-10-23 10:50:34 +02:00
Weijun Wang
9132d85a65 8027026: Change keytool -genkeypair to use -keyalg RSA
Reviewed-by: alanb, chegar, mullan
2013-10-23 08:32:03 +08:00
Sean Mullan
6503bf1602 Merge 2013-10-22 19:43:42 -04:00
Anthony Scarpino
c7a8368f64 8025763: Provider does not override new Hashtable methods
Reviewed-by: mullan
2013-10-22 19:37:11 -04:00
Brian Goetz
46736337e0 8025909: Lambda Library Spec Updates
8024179: Document limitations and performance characteristics of stream sources and operations
8024138: (Spec clarification) Lambda Metafacory spec should state DMH constraint on implMethod

Co-authored-by: Paul Sandoz <paul.sandoz@oracle.com>
Reviewed-by: mduigou
2013-10-22 15:12:22 -07:00
Stuart Marks
edcdc443e4 8026427: deprecate obsolete APIs from java.rmi
Reviewed-by: alanb, dfuchs
2013-10-22 14:51:08 -07:00
Michael Fang
19ee265b6b Merge 2013-10-22 14:37:40 -07:00
Michael Fang
fc1eac539e 6607048: clear extra l10n resource files in demo
Reviewed-by: naoto, yhuang
2013-10-22 14:36:43 -07:00
Michael Fang
1d8514b289 8026109: [ja] overtranslation of jarsigner in command line output
Reviewed-by: naoto
2013-10-22 14:26:22 -07:00
Roger Riggs
93dcac6266 8026982: javadoc errors in core libs
Cleanup of javadoc -Xlint errors

Reviewed-by: lancea, mduigou, darcy, mullan, mchung
2013-10-22 17:02:08 -04:00
Roger Riggs
f22752b55e Merge 2013-10-22 15:11:47 -04:00
Roger Riggs
92f2e33296 Merge 2013-10-22 15:06:27 -04:00
Joe Darcy
fbd299b074 8027062: Fix lint and doclint issues in java.lang.{ClassLoader, ClassValue, SecurityManager}
Reviewed-by: chegar, forax, alanb, mduigou
2013-10-22 12:04:30 -07:00
Roger Riggs
eeaf2206bb 8024686: Cleanup of java.time serialization source
Optimize serialized form of OffsetTime, OffsetDateTime; correct order of modifiers

Reviewed-by: sherman
2013-10-22 15:03:12 -04:00
Jason Uh
c6ac4eb557 8025287: NPE in api/java_security/cert/PKIXRevocationChecker/GeneralTests_GeneralTests
Reviewed-by: mullan
2013-10-22 11:57:38 -07:00
Brian Burkhalter
d2d0153dd6 7179567: JCK8 tests: api/java_net/URLClassLoader/index.html#Ctor3 failed with NPE
6445180: URLClassLoader does not describe the behavior of several methods with respect to null arguments

Document when a NPE will be thrown by URLClassLoader constructors, newInstance(), findClass(), and getPermissions().

Reviewed-by: alanb, mduigou, chegar, dholmes, jrose
2013-10-22 11:25:01 -07:00
Alexander Zuev
8c296952e1 8026873: tools/launcher/VersionCheck.java fails in jprt because of jmc.ini
Reviewed-by: ksrini
2013-10-22 22:18:52 +04:00
David Chase
2ebcd75a95 8026818: Defmeth failures with -mode invoke
Added test for IllegalAccessException -> IllegalAccessError path to check if root cause was AbstractMethodError

Reviewed-by: jrose
2013-10-22 12:57:59 -04:00
Brian Burkhalter
7ebab2dbcd 8026806: Incomplete test of getaddrinfo() return value could lead to incorrect exception for Windows Inet 6
Check getaddrinfo return value before calling WSAGetLastError.

Reviewed-by: alanb, dsamersoff
2013-10-22 10:44:22 -07:00
Alan Bateman
11d02a8031 7074436: (sc) SocketChannel can do short gathering writes when channel configured blocking (win)
Reviewed-by: chegar
2013-10-22 14:13:06 +01:00
Sean Mullan
3d8f3459a4 Merge 2013-10-22 09:06:42 -04:00
Tristan Yan
dc564c1a27 8017779: java/net/Authenticator/B4769350.java fails
Co-authored-by: Kurchi Subhra Hazra <kurchisubhra@gmail.com>
Reviewed-by: chegar
2013-10-22 14:00:16 +01:00
Sean Mullan
766d35a814 Merge 2013-10-22 08:17:06 -04:00
Sean Mullan
3854742d69 8021191: Add isAuthorized check to limited doPrivileged methods
Reviewed-by: weijun, xuelei
2013-10-22 08:03:16 -04:00
Chris Dennis
ca4ee27ab5 8024833: (fc) FileChannel.map does not handle async close/interrupt correctly
Reviewed-by: alanb
2013-10-22 12:04:19 +01:00
Alan Bateman
36e36d288c 8021257: com.sun.corba.se.** should be on restricted package list
Co-authored-by: Mark Sheppard <mark.sheppard@oracle.com>
Reviewed-by: chegar, coffeys, smarks, mullan
2013-10-22 11:43:04 +01:00
Andreas Lundblad
24b64e8c23 8004912: Repeating annotations - getAnnotationsByType(Class<T>) is not working as expected for few inheritance scenarios
8019420: Repeatable non-inheritable annotation types are mishandled by Core Reflection

Reviewed-by: jfranck
2013-10-22 12:35:27 +02:00
Katja Kantserova
c8e5afcb70 8026962: Put java/lang/management/ClassLoadingMXBean/LoadCounts.java into ProblemList.txt
Reviewed-by: sla, jbachorik
2013-10-22 10:57:40 +02:00
Joel Borggrén-Franck
415ea4460a 8009411: (reflect) Class.getMethods should not include static methods from interfaces
Update getMethods() and getMethod() to filter out interface statics

Co-authored-by: Andreas Lundblad <andreas.lundblad@oracle.com>
Co-authored-by: Amy Lu <amy.lu@oracle.com>
Co-authored-by: Peter Levart <peter.levart@gmail.com>
Reviewed-by: darcy
2013-10-22 10:34:12 +02:00
Jason Uh
385cf70188 Merge 2013-10-22 03:49:50 +00:00
Staffan Larsen
50a598d507 8025238: nsk/jvmti/scenarios/bcinstr/BI04/bi04t002 crashed with SIGSEGV
Redefined class in stack trace may not be found by method_idnum so handle null.

Reviewed-by: coleenp, dcubed, sspitsyn
2013-10-21 23:32:36 -04:00
Xueming Shen
caf263e5b0 8008386: (cs) Unmappable leading should be decoded to replacement
Updated the unmappable/malformed detecting handling for db charsets

Reviewed-by: naoto
2013-10-21 18:22:39 -07:00
Jason Uh
b501d2e3f5 Merge 2013-10-21 22:05:31 +00:00
Yuka Kamiya
fa9bbd8594 8020037: String.toLowerCase incorrectly increases length, if string contains \u0130 char
Reviewed-by: naoto
2013-10-22 06:13:01 +09:00
Joe Darcy
ce60c35956 8024603: Turn on javac lint checking for auxiliaryclass, empty, and try in jdk build
Reviewed-by: erikj, ihse, chegar
2013-10-21 13:36:04 -07:00
Joe Darcy
f7a8ae1dd7 8022658: Revisit FunctionalInterface on some core libs types
Reviewed-by: briangoetz, mduigou, mr
2013-10-21 12:52:37 -07:00
Xueming Shen
4741adaaf2 8026842: Remove Time-Zone IDs HST/EST/MST
Removed these ids from ZoneId's zid list, supported via short_ids list

Reviewed-by: okutsu
2013-10-21 11:16:02 -07:00
Jaroslav Bachorik
5e52c4d90e 7140929: NotSerializableNotifTest.java fails intermittently
Reviewed-by: sjiang, alanb
2013-10-21 13:57:11 +02:00
Daniel Fuchs
2f8b3bf80a 8026499: Root Logger level can be reset unexpectedly
This fix prevents the logger's level to be re-initialized if it has already been initialized.

Reviewed-by: mchung
2013-10-21 12:00:58 +02:00
Daniel Fuchs
d6fdb0a571 8016344: (props) Properties.storeToXML behaviour has changed from JDK 6 to 7
When storing Properties to XML only locally defined properties must be saved.

Reviewed-by: psandoz, mchung, alanb
2013-10-21 11:15:41 +02:00
Jaroslav Bachorik
1197f7a799 8024613: javax/management/remote/mandatory/connection/RMIConnector_NPETest.java failing intermittently
RMID needs a varying amount of time to start its socket server. We need to cater for it.

Reviewed-by: sjiang, dfuchs, sla
2013-10-21 10:54:46 +02:00
Jaroslav Bachorik
d491a49652 7197919: java/lang/management/ThreadMXBean/ThreadBlockedCount.java has concurency issues
Reviewed-by: sla, mchung
2013-10-21 10:40:03 +02:00
Robert Field
b79a0fda0f 8025631: Enhance Lambda construction
Reviewed-by: ksrini, ahgross
2013-10-20 18:07:40 -07:00
Kumar Srinivasan
e5207fe2b4 8026794: Test tools/pack200/TimeStamp.java fails while opening golden.jar.native.IST on linux-ppc(v2)
Reviewed-by: dholmes
2013-10-19 15:19:40 -07:00
Dmitry Samersoff
3a6305e6c7 8024071: In ManagementAgent.start it should be possible to set the jdp.name parameter
Pass one more property from Agent to JdpController

Reviewed-by: jbachorik, sla
2013-10-19 20:59:42 +04:00
Vicente Romero
ac0dadca7f 8026854: java.time.temporal.TemporalQueries doesn't compile after javac modification to lambda flow analysis
Reviewed-by: psandoz
2013-10-19 17:53:44 +01:00
Roger Riggs
d7f0eeb825 8025828: Late binding of Chronology to appendValueReduced
Add a listener to the parseContext called when the Chronology changes

Reviewed-by: sherman
2013-10-18 16:37:58 -04:00
Dmitry Samersoff
a3fda5b9bc 8004213: JDP packet needs pid, broadcast interval and rmi server hostname fields
Add some extra fileds to jdp packet

Reviewed-by: allwin, sla, hirt
2013-10-19 00:05:42 +04:00
Pavel Punegov
fd2c7a3743 8024660: TEST_BUG: java/lang/ProcessBuilder/*IOHandle.java leaving hotspot.log open in fastdebug builds
Reviewed-by: alanb
2013-10-18 16:28:35 +01:00
Alan Bateman
faec7818a6 Merge 2013-10-18 16:01:26 +01:00
Alan Bateman
d367fc0c17 8026876: (fs) Build issue with src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java
Reviewed-by: psandoz
2013-10-18 15:51:43 +01:00
Shanliang Jiang
ef41b62611 8026028: [findbugs] findbugs report some issue in com.sun.jmx.snmp package
Reviewed-by: psandoz, dfuchs
2013-10-18 16:15:38 +02:00
Alan Bateman
467adb4a7c 7050570: (fs) FileSysteProvider fails to initializes if run with file.encoding set to Cp037
Reviewed-by: sherman, ulfzibis
2013-10-18 13:51:12 +01:00
Ivan Gerasimov
62105105d7 8026756: Test java/util/zip/GZIP/GZIPInZip.java failed
Reviewed-by: alanb
2013-10-18 16:06:20 +04:00
Alan Bateman
0452f7b159 8026859: (fs) test/java/nio/file/Files/StreamTest.java fails to compile intermittently
Reviewed-by: psandoz
2013-10-18 13:45:54 +01:00
Staffan Larsen
d8fad522ed 8021897: EXCEPTION_ACCESS_VIOLATION on debugging String.contentEquals()
Reviewed-by: alanb, sspitsyn
2013-10-18 11:52:24 +02:00
Xueming Shen
73ccbeb833 8025971: Remove ZoneId.OLD_SHORT_IDS
8026197: Slow reading tzdb.dat if the JRE is on a high-latency, remote file system

Removed the compatiblity old short-ids mapping

Reviewed-by: okutsu
2013-10-17 23:43:08 -07:00
Joe Darcy
31f37c1db4 8026840: Fix new doclint issues in javax.naming
Reviewed-by: mchung
2013-10-17 22:22:14 -07:00
Mandy Chung
1d45d9a3c1 8025799: Restore sun.reflect.Reflection.getCallerClass(int) until a replacement API is provided
Reviewed-by: alanb, forax, dholmes, twisti
2013-10-17 19:47:47 -07:00
Ivan Gerasimov
6b2d8a5049 8023390: Test java/net/NetworkInterface/MemLeakTest.java failed with the latest jdk8 build
Removing the test as it is unreliable and fails intermittently

Reviewed-by: chegar
2013-10-15 18:41:23 +04:00
Per Lidén
c6e227a3e6 8024634: gc/startup_warnings tests can fail due to unrelated warnings
Reviewed-by: brutisso, jwilhelm, tamao
2013-10-15 11:44:47 +02:00
Per Lidén
b6426924cf 8024632: Description of InitialSurvivorRatio flag in globals.hpp is incorrect
Reviewed-by: brutisso, tschatzl, kmo, tamao
2013-10-15 11:42:50 +02:00
Per Lidén
908dd54639 8023158: hotspot/test/gc/7168848/HumongousAlloc.java fails 14 full gcs, expect 0 full gcs
Reviewed-by: brutisso, tschatzl
2013-10-15 11:38:47 +02:00
Thomas Schatzl
fa38a2edca 8026186: gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java Compilation failed
After a method rename in JDK-8014905 the mentioned test did not compile any more. Fix the uses of the affected method.

Reviewed-by: jwilhelm, mgerdin, jmasa
2013-10-15 11:18:42 +02:00
Albert Noll
7d4a3ec94e 8025740: Typo. Error line for wrong ReservedCodeCacheSize value is printed twice
Remove duplicate print

Reviewed-by: kvn, twisti
2013-10-15 08:38:35 +02:00
Rickard Bäckman
615376fb9b 8026844: Various Math functions needs intrinsification
Reviewed-by: kvn, twisti
2013-10-18 10:41:56 +02:00
Igor Veresov
073409c543 Merge 2013-10-23 16:25:48 -07:00
Christian Thalinger
be1ae599ee 8026502: java/lang/invoke/MethodHandleConstants.java fails on all platforms
Reviewed-by: iveresov, jrose
2013-10-23 15:44:12 -07:00
Igor Veresov
1c047b640d 8026495: JVM Crashes when started with -XX:+DTraceMethodProbes on Solaris x86_64
Fix wrong calling convention in LIR_Assembler::emit_unwind_handler(), T_METADATA support in calling convention generator, C1 register allocator

Reviewed-by: twisti, jrose
2013-10-23 11:15:24 -07:00
Jonathan Gibbons
0837163643 8025998: Missing LV table in lambda bodies
Reviewed-by: vromero
2013-10-14 23:07:43 -07:00
Jonathan Gibbons
31b34ce39c 8025693: recent javadoc changes cause com/sun/javadoc/testLinkOption/TestLinkOption.java to fail
Reviewed-by: darcy
2013-10-14 22:34:37 -07:00
Joe Wang
75969430ac 8015092: SchemaFactory cannot parse schema if whitespace added within patterns in Selector XPath expression
Reviewed-by: lancea, alanb
2013-10-14 22:07:29 -07:00
Vadim Pakhnushev
26b8f33262 8023590: REGRESSION: large count of graphics artifacts with Java 8 on Windows 8 on Intel HD card
Reviewed-by: prr, bae
2013-10-15 08:39:26 +04:00
Karen Kinnear
72e7308263 8026299: invokespecial gets ICCE when it should get AME
Reviewed-by: ccheung, coleenp
2013-10-14 21:52:42 -04:00
Jonathan Gibbons
fc85ec65d8 8026371: "tidy" issues in langtools/src/**/*.html files
Reviewed-by: darcy
2013-10-14 16:28:44 -07:00
Qi Zuo
289912b26f Merge 2013-10-14 18:53:53 -04:00
Michael McMahon
70e5173968 8014719: HttpClient/ProxyTest.java failing with IAE HttpURLPermission.parseURI
Reviewed-by: alanb, chegar
2013-10-14 22:09:15 +01:00
Jan Lahoda
da21af58f4 8014016: javac is too late detecting invalid annotation usage
Adding new queue to Annotate for validation tasks, performing annotation validation during enter

Reviewed-by: jjg, emc, jfranck
2013-10-14 22:11:09 +02:00
Jonathan Gibbons
09523f2583 8026368: doclint does not report empty tags when tag closed implicitly
Reviewed-by: darcy
2013-10-14 12:38:09 -07:00
Lana Steuck
a2bbd75cda Merge 2013-10-14 09:52:52 -07:00
Lana Steuck
4811b47b2d Merge 2013-10-14 09:52:36 -07:00
Jennifer Godinez
d8f5fe01b2 8022536: closed/javax/print/TextFlavorTest.java fails
Reviewed-by: prr, jchen
2013-10-14 09:15:21 -07:00
Sergey Bylokhov
a2dc296d67 8019591: JCK: testICSEthrowing_fullScreen fails: no ICSE thrown
Reviewed-by: art, anthony
2013-10-14 20:11:56 +04:00
Alexander Scherbatiy
cc97ce7aac 8020708: NLS mnemonics missing in SwingSet2/JInternalFrame demo
Reviewed-by: malenkov, leonidr
2013-10-14 18:52:25 +04:00
Alexander Shusherov
5bcfa111b3 8005391: Floating behavior of HTMLEditorKit parser
Reviewed-by: malenkov, leonidr
2013-10-14 18:19:19 +04:00
Stefan Karlsson
ba1c14b527 7196801: NPG: Fix java/lang/management/MemoryMXBean/LowMemoryTest2
Co-authored-by: Coleen Phillimore <coleen.phillimore@oracle.com>
Reviewed-by: coleenp, sla
2013-10-14 14:28:50 +02:00
Stefan Johansson
3e9df3ecf1 8025661: Ill-formed -Xminf and -Xmaxf options values interpreted as 0
Using strtod() instead of atof() when parsing -Xminf and -Xmaxf.

Reviewed-by: brutisso, pliden
2013-10-14 14:21:34 +02:00
Andrew Brygin
9eb9388a81 7058611: JPG parser bugs found via zzuf fuzzing
Reviewed-by: prr, vadim
2013-10-14 16:00:03 +04:00
Andrew Brygin
a1e06f7eac 7058607: GIF parser bugs found via zzuf fuzzing
Reviewed-by: prr, vadim
2013-10-14 15:49:05 +04:00
Andrew Brygin
89b5a10c5f 7058602: BMP parser bugs found via zzuf fuzzing
Reviewed-by: prr, vadim
2013-10-14 15:32:29 +04:00
Tristan Yan
904f946258 8023555: test/java/net/Socks/SocksProxyVersion.java fails when machine name is localhost
Reviewed-by: chegar, alanb
2013-10-14 11:47:54 +01:00
Attila Szegedi
3538d0af55 8026113: Nashorn arrays should automatically convert to Java arrays
Reviewed-by: jlaskey, sundar
2013-10-14 12:41:11 +02:00
Sergey Malenkov
826ebc04a2 7035495: javax.swing.ImageIcon spec should be clarified
Reviewed-by: alexsch
2013-10-14 14:13:48 +04:00
Sergey Malenkov
0498dd16c0 7016396: (spec) JCK test mentioned in 6735293 is still failing
Reviewed-by: alexsch
2013-10-14 13:59:38 +04:00
Erik Joelsson
1aa36eafd6 8025921: Make LOG=debug output more readable
Reviewed-by: tbell, ihse
2013-10-14 11:54:17 +02:00
Hannes Wallnöfer
3c50f75173 8026016: too many relinks dominate avatar.js http benchmark
Reviewed-by: sundar, jlaskey, attila
2013-10-14 11:45:15 +02:00
Erik Joelsson
545297d64d 8025612: rt.jar still has old specification value in the manifest
Reviewed-by: alanb, dholmes, tbell, wetmore
2013-10-14 11:36:05 +02:00
Sergey Malenkov
05ef4a276b 7165112: Incomprehensible garbage in doc for RootPaneContainer
Reviewed-by: alexsch
2013-10-14 13:22:36 +04:00
Daniel Fuchs
f573ee1917 8024704: Improve API documentation of ClassLoader and ServiceLoader with respect to enumeration of resources
Reviewed-by: alanb, psandoz, mchung
2013-10-14 10:42:36 +02:00
Yuri Nesterenko
ca0d6ea6f7 8025824: [cleanup] Fix tidy errors and warnings in preformatted HTML files related to 2d/awt/swing
Reviewed-by: anthony, alexsch
2013-10-14 11:47:27 +04:00
Xue-Lei Andrew Fan
ec67e938e2 8026119: Regression test DHEKeySizing.java failing intermittently
Reviewed-by: weijun
2013-10-13 21:10:33 -07:00
Chris Hegarty
15bbca2184 Merge 2013-10-13 22:00:30 +01:00
Chris Hegarty
67553272ac Merge 2013-10-13 21:37:17 +01:00
Chris Hegarty
fafe7da1e5 Merge 2013-10-13 21:14:04 +01:00
Aleksei Efimov
a8aaf9f52a 8025255: (tz) Support tzdata2013g
Reviewed-by: okutsu, mfang
2013-10-13 14:19:31 +04:00
Mike Duigou
f1e20eb482 8025910: rename substream(long) -> skip and remove substream(long,long)
Reviewed-by: psandoz, henryjen
2013-10-16 13:03:58 -07:00
Daniel Fuchs
9ef30e9ae7 8013839: Enhance Logger API for handling of resource bundles
4814565: (rb) add method to get basename from a ResourceBundle

Adds Logger.setResourceBundle(ResourceBundle) and ResourceBundle.getBaseBundleName()

Reviewed-by: mchung, naoto
2013-10-16 20:47:30 +02:00
Daniel Fuchs
fb1bcf242f 8011638: Remove deprecated methods in sun.util.logging.PlatformLogger
Reviewed-by: psandoz, mchung, alanb, chegar
2013-10-16 17:19:09 +02:00
Rob McKenna
1fe89b3d70 8026245: InetAddress.getLocalHost crash if IPv6 disabled (macosx)
Reviewed-by: chegar, alanb
2013-10-16 15:06:27 +01:00
Erik Joelsson
d8f2c1b773 Merge 2013-10-16 15:53:06 +02:00
Erik Joelsson
ec06d2fa6c 6604021: RMIC is defaulting to BOOT jdk version, needs to be rmic.jar
Reviewed-by: dholmes, chegar
2013-10-16 13:50:13 +02:00
Weijun Wang
45dc5dd0df 8025124: InitialToken.useNullKey incorrectly applies NULL_KEY in some cases
Reviewed-by: xuelei
2013-10-16 14:39:00 +08:00
David Holmes
04360f139e 8026378: TEST_BUG: Clean up TEST.groups
Reviewed-by: mduigou, mchung, alanb
2013-10-15 20:54:00 -04:00
Brian Burkhalter
3c035b0aac 8010371: getaddrinfo can fail with EAI_SYSTEM/EAGAIN, causes UnknownHostException to be thrown
Modify UHE exception message for EAI_AGAIN failures.

Reviewed-by: alanb, chegar, michaelm, dsamersoff
2013-10-15 16:45:04 -07:00
Chris Hegarty
1f0c182672 Merge 2013-10-15 20:47:21 +01:00
Chris Hegarty
efa036f678 8026513: ProblemList.txt Updates (10/2013)
Reviewed-by: alanb
2013-10-15 20:46:47 +01:00
Ivan Gerasimov
71f3325481 8023431: Test java/util/zip/GZIP/GZIPInZip.java failed
Properly close PipedStreams. Additional testing for malformed input

Reviewed-by: darcy, sherman
2013-10-15 21:15:17 +04:00
Roger Riggs
6532244455 8025722: TemporalAdjusters and TemporalQueries
Move static from interfaces methods to supporting classes

Reviewed-by: sherman
2013-10-15 13:14:03 -04:00
Chris Hegarty
3486abb2c7 Merge 2013-10-15 13:54:01 +01:00
Daniel Fuchs
c630cf1e68 8026404: Logging in Applet can trigger ACE: access denied ("java.lang.RuntimePermission" "modifyThreadGroup")
The test 'threadGroup.getParent() == null' can sometimes throw ACE and needs to be wrapped in doPrivileged.

Reviewed-by: alanb, mchung, dholmes
2013-10-15 13:01:28 +02:00
Alan Bateman
f5ed80ef59 8026398: Can't load jdk.Exported, ClassNotFoundException
Reviewed-by: chegar, mchung
2013-10-15 10:52:09 +01:00
Chris Hegarty
766e77499d Merge 2013-10-15 09:27:32 +01:00
Jaroslav Bachorik
c3a2245bba 6804470: JvmstatCountersTest.java test times out on slower machines
Increasing the default timeout to cater for the slower machines

Reviewed-by: alanb
2013-10-15 10:26:34 +02:00
Joe Wang
c839f538b6 8015092: SchemaFactory cannot parse schema if whitespace added within patterns in Selector XPath expression
Reviewed-by: lancea, alanb
2013-10-14 22:24:49 -07:00
Henry Jen
ca8301dc7d 8026362: java/lang/invoke/lambda/LogGeneratedClassesTest.java failed on windows, jtreg report Fail to org.testng.SkipException
Reviewed-by: chegar
2013-10-14 17:27:20 -07:00
Aleksei Efimov
811bbcded2 8008733: Psr:perf:osb performance regression (18%) in wss_bodyenc
Reviewed-by: alanb, shade
2013-10-13 13:50:16 +04:00
Lana Steuck
ccd23da6c7 Merge 2013-10-12 14:14:24 -07:00
Harold Seigel
7476c45011 8024667: VM crashes with "assert(method() != NULL) failed: must have set method"
Check if data is in shared spaces before deallocating it.

Reviewed-by: coleenp, dcubed
2013-10-12 15:39:16 -04:00
Gerard Ziemski
db171c7b5d 8025942: os::Bsd::available_memory() needs implementation
Implement using the host_statistics64() api.

Reviewed-by: dsamersoff, morris, dholmes, coleenp, hseigel, dcubed
2013-10-12 13:09:18 -04:00
Lana Steuck
a16fc0ce68 Merge 2013-10-11 23:31:18 -07:00
Lana Steuck
27bd2d769e Merge 2013-10-11 23:31:06 -07:00
Lana Steuck
54791de34d Merge 2013-10-11 23:27:23 -07:00
Lana Steuck
160041dbd3 Merge 2013-10-11 21:26:38 -07:00
Lana Steuck
06a05f88a6 Merge 2013-10-11 21:26:31 -07:00
Lana Steuck
4f672209c0 Merge 2013-10-11 21:26:00 -07:00
Calvin Cheung
6e756e193c Merge 2013-10-11 22:22:19 -04:00
Calvin Cheung
b6b00269d9 Merge 2013-10-11 18:23:44 -07:00
Jesper Wilhelmsson
588c91b042 8023643: G1 assert failed when NewSize was specified greater than MaxNewSize
Exit with an error if incompatible NewSize and MaxNeSize are set

Reviewed-by: brutisso, tschatzl
2013-10-12 00:49:19 +02:00
Jesper Wilhelmsson
354de63fbf Merge 2013-10-12 05:08:42 +00:00
Karen Kinnear
1e73553e8c 8026213: Reflection support for private interface methods
Reviewed-by: forax, psandoz, dholmes, jfranck
2013-10-11 15:21:23 -07:00
Dmitry Samersoff
cad4186f29 8025796: hgforest.sh could trigger unbuffered output from hg without complicated machinations
Reviewed-by: mduigou
2013-10-11 15:20:13 -07:00
Lana Steuck
a076cb06a6 Merge 2013-10-11 14:19:50 -07:00
Harold Seigel
f185cdb61e Merge 2013-10-11 17:08:22 -04:00
Alejandro Murillo
7b9107d173 8026265: new hotspot build - hs25-b55
Reviewed-by: jcoomes
2013-10-11 13:14:48 -07:00
Alejandro Murillo
a613a8bf3e Added tag hs25-b54 for changeset aa8bcabd9d44 2013-10-11 13:00:40 -07:00
Alejandro Murillo
87614bfc70 Merge 2013-10-11 13:00:40 -07:00
Vinnie Ryan
60d0612114 Merge 2013-10-11 20:47:16 +01:00
Alan Bateman
68b9f08d49 8019526: (fs) Files.lines, etc without Charset parameter
Reviewed-by: psandoz, henryjen
2013-10-11 20:47:15 +01:00
Morris Meyer
532ecca465 7195597: ThreadStateTest gets different results with -Xcomp
Reviewed-by: kvn
2013-10-11 12:40:14 -07:00
Vinnie Ryan
848f690d01 8026301: DomainKeyStore doesn't cleanup correctly when storing to keystore
Reviewed-by: mullan
2013-10-11 20:35:00 +01:00
Lois Foltan
27c290a969 8026041: JVM crashes with assert "assert(is_updated()) failed: must not be clear" with -XX:+PrintGCApplicationConcurrentTime in -Xcomp mode
Prior to printing the time interval in RuntimeService::record_safepoint_begin(), check first that VM initialization is complete.

Reviewed-by: coleenp, dholmes, sla, ctornqvi
2013-10-11 15:33:08 -04:00
Coleen Phillimore
65286ffc39 Merge 2013-10-11 15:04:53 -04:00
Chris Hegarty
5528179e83 Merge 2013-10-11 19:49:44 +01:00
Chris Hegarty
0e72b0f6bb Merge 2013-10-11 19:24:06 +01:00
Chris Hegarty
0eadafa765 Merge 2013-10-11 19:05:18 +01:00
Dan Xu
4af06813d8 8025712: (props) Possible memory leak in java_props_md.c / ParseLocale
Reviewed-by: naoto, chegar
2013-10-11 09:47:26 -07:00
John Coomes
e61cbf8d69 Merge 2013-10-11 08:27:21 -07:00
Coleen Phillimore
fa72ad21f9 8022592: assert at constantTag.cpp:57: ShouldNotReachHere()
More missing cases for JVM_CONSTANT_Method{Handle,Type}InError

Reviewed-by: hseigel, dcubed
2013-10-11 11:23:49 -04:00
Staffan Larsen
779f946d6b Merge 2013-10-11 14:57:27 +00:00
Jesper Wilhelmsson
d04b304568 8024776: Max/MinHeapFreeRatio descriptions should be more precise
Descriptions for Max/MinHeapFreeRatio updated

Reviewed-by: ehelin, jmasa
2013-10-11 16:18:27 +02:00
Petr Pchelko
11caa358e7 8024329: [macosx] JRadioButtonMenuItem behaves like a checkbox when using the ScreenMenuBar
Reviewed-by: anthony, serb
2013-10-11 18:04:45 +04:00
Petr Pchelko
c002447a5e 8026262: NPE in SystemFlavorMap.getAllNativesForType - regression in jdk8 b110 by fix of #JDK-8024987
Reviewed-by: art, serb
2013-10-11 17:57:50 +04:00
Jan Lahoda
958096d69b 6278240: Exception from AnnotationValue.getValue() should list the found type not the required type
Reviewed-by: darcy, jfranck, jjg
2013-10-11 15:49:15 +02:00
Sean Mullan
0a60664cf1 Merge 2013-10-11 09:17:18 -04:00
James Laskey
e0df3515ce 8026309: latest runsunspider.js tests contains several bugs
Reviewed-by: sundar, lagergren
2013-10-11 14:54:16 +02:00
Srikalyan Chandrashekar
891396b2e8 8022185: Fix Raw and unchecked warnings in classes belonging to java.awt.datatransfer
Reviewed-by: art, pchelko
2013-10-11 16:44:42 +04:00
Sean Mullan
2f923e8804 8007292: Add JavaFX internal packages to package.access
Build hooks to allow closed restricted packages to be added to java.security file

Reviewed-by: erikj, dholmes, tbell
2013-10-11 08:43:07 -04:00
Athijegannathan Sundararajan
2cb1e4ed46 Merge 2013-10-11 14:13:00 +02:00
Athijegannathan Sundararajan
76d698bbf8 8026317: $ in the function name results in wrong function being invoked
Reviewed-by: lagergren, jlaskey
2013-10-11 14:11:14 +02:00
Fredrik Arvidsson
7f0264f548 8024425: VM_HeapDumper doesn't put anonymous classes in the heap dump
Switched from using SystemDictionary to using ClassLoaderDataGraph to get the anonymous classes included.

Reviewed-by: sla, sspitsyn
2013-10-11 14:08:02 +02:00
Fredrik Arvidsson
44c3da1ed0 8026199: serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java Compilation failed
Fixed a compilation failure due to changed method name

Reviewed-by: sla, jbachorik
2013-10-11 13:48:02 +02:00
Konstantin Shefov
9b8906104d 7124338: [macosx] Selection lost if a selected item removed from a java.awt.List
Reviewed-by: serb, anthony
2013-10-11 15:39:40 +04:00
Lana Steuck
cc7c1f2717 Merge 2013-10-11 03:09:54 -07:00
Lana Steuck
7f8a6a5898 Merge 2013-10-11 03:09:42 -07:00
Rickard Bäckman
0e8081e57b 8025657: compiler/intrinsics/mathexact/ConstantTest.java fails on assert in lcm.cpp on solaris x64
Reviewed-by: kvn, twisti
2013-10-11 12:06:14 +02:00
Vladimir Kozlov
9cac113087 Merge 2013-10-15 17:47:46 -07:00
Staffan Friberg
83e635a090 8026293: Schedule part of G1 pre-barrier late
Move rare executed part of G1 write barrier from hot path.

Reviewed-by: kvn, twisti, roland
2013-10-15 12:14:00 -07:00
Christian Thalinger
d03157f2cf 8026376: assert(false) failed: DEBUG MESSAGE: exception pc already set
Reviewed-by: kvn
2013-10-14 19:30:05 -07:00
Igor Veresov
db9a439624 Merge 2013-10-13 13:22:24 -07:00
David Chase
b1d7228bff 8026124: JSR-292 bug: java.nio.file.Path.toString cores dump
Catch problem case, assert it matches valid input, new test

Reviewed-by: jrose, twisti, kvn
2013-10-12 17:26:41 -04:00
Roland Westrelin
c8bfc7e7d7 8026054: New type profiling points: type of return values at calls
X86 interpreter and c1 type profiling for return values at calls

Reviewed-by: kvn, twisti
2013-10-12 12:12:59 +02:00
Christian Thalinger
0fa4a576fd Merge 2013-10-11 19:51:31 -07:00
Niclas Adlertz
b1bfc48aaa Merge 2013-10-12 01:29:27 +00:00
Niclas Adlertz
55780c0bbd Merge 2013-10-11 19:16:52 +00:00
Christian Thalinger
7f46feeee2 8005173: assert(false) failed: DEBUG MESSAGE: exception oop must be empty (macroAssembler_x86.cpp:625)
Reviewed-by: kvn, iveresov
2013-10-11 10:14:02 -07:00
Niclas Adlertz
9215790d61 8011415: CTW on Sparc: assert(lrg.lo_degree()) failed:
Increased the LRG AllStack mask size since the previous size was not big enough when compiling huge methods (60k+ nodes)

Reviewed-by: kvn, roland, twisti
2013-10-11 13:10:22 +02:00
Lana Steuck
c7e190348d Merge 2013-10-11 03:06:10 -07:00
Athijegannathan Sundararajan
a71c4a5390 8026302: source representation of getter and setter methods is wrong
Reviewed-by: lagergren, hannesw, jlaskey
2013-10-11 11:15:59 +02:00
Hannes Wallnöfer
02625b48e3 8026292: Megamorphic setter fails with boolean value
Reviewed-by: jlaskey, sundar
2013-10-11 10:56:08 +02:00
Petr Pchelko
6468414f4a 8026143: [macosx] Maximized state could be inconsistent between peer and frame
Reviewed-by: anthony, serb
2013-10-11 11:48:52 +04:00
Athijegannathan Sundararajan
4c22705313 Merge 2013-10-11 09:09:13 +02:00
Lana Steuck
504155e975 Merge 2013-10-11 00:07:42 -07:00
Lana Steuck
3a74fcb393 Merge 2013-10-11 00:07:23 -07:00
Lana Steuck
1b9e45e38b Merge 2013-10-11 00:06:56 -07:00
Robert Field
a8e63b82f1 8012557: Implement lambda methods on interfaces as private
8016320: Method reference in subinterface of type I.super::foo produces exception at runtime

Now that the VM supports interface instance private methods, lambda methods and lambda bridges are always private. Access is now through invokespecial.

Reviewed-by: vromero, jlahoda
2013-10-10 23:26:56 -07:00
Athijegannathan Sundararajan
36d36b2eda 8026263: [NASHORN] Test test/script/basic/JDK-8025488.js fails in nightly builds
Reviewed-by: jlaskey
2013-10-11 06:50:06 +02:00
Lana Steuck
c40569a58d Merge 2013-10-10 21:23:05 -07:00
Lana Steuck
72b973703f Merge 2013-10-10 21:22:53 -07:00
Lana Steuck
5ff3fdc956 Merge 2013-10-10 21:22:52 -07:00
Lana Steuck
0e3dea7f4f Merge 2013-10-10 21:22:46 -07:00
Lana Steuck
ec2a2f991c Merge 2013-10-10 20:57:36 -07:00
Lana Steuck
aa4594456d Merge 2013-10-10 20:57:27 -07:00
Lana Steuck
f49948fa67 Merge 2013-10-10 20:57:22 -07:00
Jonathan Gibbons
a29d963e53 8026294: 8025633 breaks langtools/test/com/sun/javadoc/testRepeatedAnnotations/TestRepeatedAnnotations.java
Reviewed-by: darcy
2013-10-10 17:13:32 -07:00
Eric McCorkle
a78344ba67 8008762: Type annotation on inner class in anonymous class show up as regular type annotations
8015257: type annotation with TYPE_USE and FIELD attributed differently if repeated
8013409: test failures for type annotations

Fixes to address some problems in type annotations

Reviewed-by: jfranck, jjg
2013-10-10 20:12:08 -04:00
Joe Wang
ea3f63b096 8003262: reverse translation required changes in xalan resource bundles
Reviewed-by: lancea, dfuchs
2013-10-10 17:01:05 -07:00
Eric McCorkle
89352ad3e6 8026011: java.lang.reflect.MalformedParametersException introduces doclint warnings
Add javadoc comments to members of MalformedParametersException

Reviewed-by: darcy
2013-10-10 18:56:09 -04:00
Lana Steuck
717d782836 Merge 2013-10-10 13:41:19 -07:00
Lana Steuck
fb3c32d988 Merge 2013-10-10 13:41:08 -07:00
Lana Steuck
5db317fd23 Merge 2013-10-10 13:33:02 -07:00
Calvin Cheung
3b62cc2221 Merge 2013-10-10 13:25:51 -07:00
Athijegannathan Sundararajan
66bb0d28fa 8026264: Getter, setter function name mangling issues
Reviewed-by: lagergren, jlaskey
2013-10-10 21:43:35 +02:00
Eric McCorkle
ad8c918fb1 8019461: Clean up javac diagnostics
7196553: Review error messages for repeating annotations

Changes to the diagnostic messages to improve clarity and JLS coherence

Reviewed-by: jjg
2013-10-10 13:55:41 -04:00
Bhavesh Patel
a7125b5d2e 8025633: Fix javadoc to generate valid anchor names
Reviewed-by: jjg
2013-10-10 10:51:15 -07:00
Christine Lu
cfdd010545 Added tag jdk8-b111 for changeset 99b8dd0c81a3 2013-10-10 10:09:30 -07:00
Christine Lu
67a4e0fd30 Added tag jdk8-b111 for changeset 9c619baa6191 2013-10-10 10:09:28 -07:00
Christine Lu
5d6172225c Added tag jdk8-b111 for changeset ff73e351b200 2013-10-10 10:09:19 -07:00
Christine Lu
728d3e5b32 Added tag jdk8-b111 for changeset e1123c1187eb 2013-10-10 10:09:16 -07:00
Christine Lu
02c9ba8b0f Added tag jdk8-b111 for changeset 3aaab60d6b93 2013-10-10 10:09:10 -07:00
Christine Lu
373c634bbb Added tag jdk8-b111 for changeset 269723de7103 2013-10-10 10:08:55 -07:00
Christine Lu
216d63ee34 Added tag jdk8-b111 for changeset 24ea7322b779 2013-10-10 10:08:52 -07:00
Christine Lu
85b5a91ea8 Added tag jdk8-b111 for changeset b46e3359ae47 2013-10-10 10:08:45 -07:00
Lana Steuck
5c9fc29d1e Merge 2013-10-10 10:03:29 -07:00
Lana Steuck
52612f8056 Merge 2013-10-10 10:03:21 -07:00
Joel Borggrén-Franck
db556bacff 7044282: (reflect) Class.forName and Array.newInstance are inconsistent regarding multidimensional arrays
Reviewed-by: darcy, psandoz
2013-10-10 18:11:53 +02:00
Lana Steuck
64f1a586df Merge 2013-10-10 08:49:10 -07:00
Shanliang Jiang
bc140e3172 8025204: Intermittent test failure: javax/management/remote/mandatory/connection/IdleTimeoutTest.java
Reviewed-by: dholmes, jbachorik
2013-10-10 17:47:15 +02:00
Petr Pchelko
17c3bb8033 8024864: [macosx] Problems with rendering of controls
Reviewed-by: serb, leonidr
2013-10-10 19:27:21 +04:00
Andrew Brygin
347f54c3e2 7058618: PNG parser bugs found via zzuf fuzzing
Reviewed-by: prr, vadim
2013-10-10 18:59:01 +04:00
Marcus Lagergren
e0aeb3cfb7 8026250: Logging nullpointer bugfix and javadoc warnings
Reviewed-by: hannesw, jlaskey, sundar
2013-10-10 16:16:20 +02:00
Albert Noll
aef0d74e96 8023014: CodeSweeperSweepNoFlushTest.java fails with HS crash
Ensure ensure correct initialization of compiler runtime

Reviewed-by: kvn, twisti
2013-10-10 15:44:12 +02:00
Magnus Ihse Bursie
c0c561895a 8001931: The new build system whitespace cleanup
Reviewed-by: tbell, simonis, erikj
2013-10-10 15:06:21 +02:00
Magnus Ihse Bursie
952d9ce87c 8001931: The new build system whitespace cleanup
Reviewed-by: tbell, simonis, erikj
2013-10-10 14:58:19 +02:00
Magnus Ihse Bursie
75a164f0cd 8001931: The new build system whitespace cleanup
Reviewed-by: tbell, simonis, erikj
2013-10-10 14:58:17 +02:00
Magnus Ihse Bursie
6f2bbea851 8001931: The new build system whitespace cleanup
Reviewed-by: tbell, simonis, erikj
2013-10-10 14:58:15 +02:00
Magnus Ihse Bursie
65be173f17 8001931: The new build system whitespace cleanup
Reviewed-by: tbell, simonis, erikj
2013-10-10 14:58:13 +02:00
Magnus Ihse Bursie
10aa3f5f29 8001931: The new build system whitespace cleanup
Reviewed-by: tbell, simonis, erikj
2013-10-10 14:58:08 +02:00
Magnus Ihse Bursie
a706cda2ed 8001931: The new build system whitespace cleanup
Reviewed-by: tbell, simonis, erikj
2013-10-10 14:58:04 +02:00
Athijegannathan Sundararajan
a577bf4154 8026162: "this" in SAM adapter functions is wrong
Reviewed-by: jlaskey, hannesw
2013-10-10 14:43:22 +02:00
Michael McMahon
2fed0b98f8 7076487: (sctp) SCTP API classes does not exist in JDK for Mac
Reviewed-by: alanb, chegar
2013-10-10 12:36:42 +01:00
Athijegannathan Sundararajan
8cf4738031 8026248: importClass has to be a varargs function
Reviewed-by: jlaskey, hannesw
2013-10-10 13:17:57 +02:00
Athijegannathan Sundararajan
d5dda0a437 8026167: Class cache/reuse of 'eval' scripts results in ClassCastException in some cases
Reviewed-by: lagergren, jlaskey
2013-10-10 11:48:56 +02:00
Doug Lea
2acaedb538 7011859: java/util/concurrent/Semaphore/RacingReleases.java failing
Reviewed-by: alanb, dholmes
2013-10-10 09:57:50 +01:00
David Holmes
5c2cfd8db4 8026232: Move libnpt from profile compact1 to compact3
Reviewed-by: mchung, alanb
2013-10-10 04:57:29 -04:00
Peter Allwin
3723c4691c 8014446: JT_JDK: Wrong detection of test result for test com/sun/jdi/NoLaunchOptionTest.java
Reviewed-by: sla, mgronlun, dholmes, jbachorik, chegar
2013-10-10 10:14:54 +02:00
Petr Pchelko
dafa242f76 8025588: [macosx] Frozen AppKit thread in 7u40
Reviewed-by: anthony, art, serb
2013-10-10 11:40:06 +04:00
Staffan Larsen
4230c58678 8025427: jstat tests fails on 32-bit platforms
Reviewed-by: ehelin, dsamersoff, dholmes, sspitsyn
2013-10-10 09:38:06 +02:00
Weijun Wang
8f5279cf87 8026235: keytool NSS test should use 64 bit lib on Solaris
Reviewed-by: vinnie
2013-10-10 15:24:41 +08:00
Shanliang Jiang
c8a7fb8dce 8025205: Intermittent test failure: javax/management/remote/mandatory/connection/BrokenConnectionTest.java
Reviewed-by: dholmes, dfuchs, jbachorik
2013-10-10 09:01:19 +02:00
Andreas Lundblad
3e4c0741c4 8021237: clean up JavacAnnotatedConstruct
Refactored the static helper methods in JavacAnnoConstructs into ordinary methods and put them in a common superclass (AnnoConstruct) of Symbol and Type.

Reviewed-by: jjg, vromero, jfranck
2013-10-10 08:51:55 +02:00
Shanliang Jiang
5a3e98293d 8025206: Intermittent test failure: javax/management/monitor/NullAttributeValueTest.java
Reviewed-by: dholmes, dfuchs, jbachorik
2013-10-10 08:49:12 +02:00
Shanliang Jiang
65d897864d 8025207: Intermittent test failure: javax/management/monitor/CounterMonitorThresholdTest.java
Reviewed-by: dfuchs, dholmes
2013-10-10 08:37:48 +02:00
Tim Bell
7aa221ebc3 Merge 2013-10-09 23:19:08 -07:00
Coleen Phillimore
24118e5deb Merge 2013-10-09 22:01:59 -04:00
Tim Bell
3cb6eedf9f 8023611: Win32 and win64: Remove all the WARNINGS in JDK 8 builds for Windows 2008 and MSVS 2010 SP1
Reviewed-by: erikj
2013-10-09 18:51:32 -07:00
Tim Bell
25f7d7b91b 8023611: Win32 and win64: Remove all the WARNINGS in JDK 8 builds for Windows 2008 and MSVS 2010 SP1
Reviewed-by: erikj
2013-10-09 18:50:46 -07:00
Coleen Phillimore
62fc4be9cb 8025185: MethodHandleInError and MethodTypeInError not handled in ConstantPool::compare_entry_to and copy_entry_to
Add missing cases.

Reviewed-by: sspitsyn, dcubed
2013-10-09 21:45:28 -04:00
Joe Darcy
e9ef833478 8024354: Explicitly permit DoubleStream.sum()/average() implementations to use higher precision summation
Reviewed-by: mduigou, briangoetz
2013-10-09 18:31:51 -07:00
Sergey Bylokhov
1f3355acb3 7058662: AiffFileReader throws java.lang.ArithmeticException: division by zero when frame size is zero
7058666: Unexpected exception in AU parser code
7058672: Unexpected exceptions and freezes in WAV parser code

Reviewed-by: prr
2013-10-10 02:35:27 +04:00
Karen Kinnear
1514de31eb 8026185: nsk/jvmit/GetMethodDeclaringClass/declcls001 failed
Missed initialization. Thanks Coleen.

Reviewed-by: coleenp, minqi
2013-10-09 17:57:17 -04:00
Christine Lu
1abf520f0d 8026021: more fix of javadoc errors and warnings reported by doclint, see the description
Reviewed-by: anthony, serb
2013-10-09 14:32:15 -07:00
Brent Christian
5edd3cbdfe 8024709: TreeMap.DescendingKeyIterator 'remove' confuses iterator position
Override remove() method in DescendingKeyIterator

Reviewed-by: alanb, mduigou, psandoz
2013-10-09 12:13:31 -07:00
Brian Burkhalter
3b56462097 7189139: BigInteger's staticRandom field can be a source of bottlenecks
Use ThreadLocalRandom instead of SecureRandom.

Reviewed-by: shade, psandoz
2013-10-09 17:22:34 -07:00
Valerie Peng
4ff4823dfc Merge 2013-10-09 13:07:58 -07:00
Brian Burkhalter
4ee6d9bd3a 8016252: More defensive HashSet.readObject
Add data validation checks in readObject().

Reviewed-by: alanb, mduigou, chegar
2013-10-09 11:47:48 -07:00
Christian Thalinger
b90addac58 8020750: Node::get_int: guarantee(t != NULL) failed: must be con
Reviewed-by: kvn, roland
2013-10-09 11:05:17 -07:00
Stephen Colebourne
bc56565f2a 8024076: Incorrect 2 -> 4 year parsing and resolution in DateTimeFormatter
Add appendValueReduced method based on a ChronoLocalDate to provide context for the value

Reviewed-by: sherman
2013-10-09 13:34:37 -04:00
Leonid Romanov
e77075b022 8016551: JMenuItem in WindowsLookAndFeel can't paint default icons
Reviewed-by: alexsch, serb
2013-10-09 21:15:49 +04:00
Leonid Romanov
c0ce231319 8019623: Lack of synchronization in AppContext.getAppContext()
Reviewed-by: anthony, art
2013-10-09 20:59:08 +04:00
Henry Jen
1f02e9968e 8023524: Mechanism to dump generated lambda classes / log lambda code generation
Co-authored-by: Brian Goetz <brian.goetz@oracle.com>
Reviewed-by: plevart, mchung, forax, jjb
2013-10-09 09:41:40 -07:00
Marcus Lagergren
16ce875fc6 8026137: Fix Issues with Binary Evaluation Order
Co-authored-by: Attila Szegedi <attila.szegedi@oracle.com>
Reviewed-by: hannesw, jlaskey
2013-10-09 17:53:22 +02:00
Roland Westrelin
cbd0e9bf96 8023657: New type profiling points: arguments to call
X86 interpreter and c1 type profiling for arguments at calls

Reviewed-by: kvn, twisti
2013-10-09 16:32:21 +02:00
Erik Joelsson
5798b28398 8026144: Missing mkdir in Images.gmk
Reviewed-by: tbell
2013-10-09 16:22:13 +02:00
Hannes Wallnöfer
3ef5f027ce 8026008: Constant folding removes var statement
Reviewed-by: sundar, jlaskey
2013-10-09 14:50:39 +02:00
Niclas Adlertz
e9dbb39270 Merge 2013-10-09 05:03:34 -07:00
Anthony Petrov
8b7ad3288c 7159266: [macosx] ApplicationDelegate should not be set in the headless mode
Don't install ApplicationDelegate in headless mode

Reviewed-by: art, serb
2013-10-09 15:34:53 +04:00
Athijegannathan Sundararajan
a7261c57e0 8026125: Array.prototype.slice.call(Java.type("java.util.HashMap")) throws ClassCastException: jdk.internal.dynalink.beans.StaticClass cannot be cast to jdk.nashorn.internal.runtime.ScriptObject
Reviewed-by: hannesw, jlaskey
2013-10-09 13:26:23 +02:00
Jan Lahoda
5ec0ba7c47 8025087: Annotation processing api returns default modifier for interface static method
ClassReader must not set Flags.DEFAULT for interface static methods

Reviewed-by: vromero, jjg
2013-10-09 13:09:31 +02:00
Jan Lahoda
7de3ec870d 8025141: java.lang.ClassFormatError: Illegal field modifiers in class (...)
Should not generate non-public $assertionsDisabled field into interfaces

Reviewed-by: jjg, vromero
2013-10-09 13:06:49 +02:00
Niclas Adlertz
9c471c0dc0 8013830: [parfait] Uninitialised pointer 'Reachblock' may be used as argument
Replace uninitialised pointer with NULL at argument.

Reviewed-by: kvn, roland, twisti
2013-10-09 13:00:20 +02:00
Oleg Pekhovskiy
c7b9274feb 8016356: Any swing frame resizes ugly
Reviewed-by: art, anthony
2013-10-09 14:12:40 +04:00
Alexander Stepanov
bff389c83b 8025649: need test to cover JDK-8000423
Reviewed-by: anthony, serb
2013-10-09 13:40:55 +04:00
Athijegannathan Sundararajan
1ed2372816 8026112: Function("with(x ? 1e81 : (x2.constructor = 0.1)){}") throws AssertionError: double is not compatible with object
Reviewed-by: lagergren, hannesw
2013-10-09 10:47:47 +02:00
Christian Thalinger
3fc4c7060d 8007923: Tests on references fails
Reviewed-by: kvn, iveresov
2013-10-08 19:57:28 -07:00
Lana Steuck
3078374d13 Merge 2013-10-08 15:00:12 -07:00
Lana Steuck
33306e57d3 Merge 2013-10-08 14:59:46 -07:00
Lana Steuck
b6903ca07e Merge 2013-10-08 14:57:32 -07:00
Lana Steuck
a857e8bfb5 Merge 2013-10-08 14:55:33 -07:00
Lana Steuck
200af8b03c Merge 2013-10-08 14:55:25 -07:00
Lana Steuck
0d4d92b259 Merge 2013-10-08 14:54:53 -07:00
Lana Steuck
14794b79d9 Merge 2013-10-08 14:53:14 -07:00
Valerie Peng
20295341f5 8025967: addition of -Werror broke the old build
Fixed and suppressed compiler warnings on rawtypes

Reviewed-by: vinnie
2013-10-08 14:41:46 -07:00
Lana Steuck
b96364e53b Merge 2013-10-08 14:37:33 -07:00
Leonid Romanov
23cf2b8885 8004050: [macosx] The 'ESC' key does not work with jdk8
Reviewed-by: alexsch, serb
2013-10-09 01:03:33 +04:00
Karen Kinnear
920880a243 8026022: Verifier: allow anon classes to invokespecial host class/intf methods
Reviewed-by: coleenp, bharadwaj
2013-10-08 16:58:23 -04:00
David Katleman
a570fbe483 Merge 2013-10-08 13:10:15 -07:00
David Katleman
7299a32411 Merge 2013-10-08 13:09:20 -07:00
Sergey Bylokhov
5ed7c4d3a2 8025603: Unused methods in the awt text peers should be removed
Reviewed-by: art, anthony
2013-10-08 23:34:20 +04:00
Valerie Peng
ba9b938306 8014374: Cannot initialize "AES/GCM/NoPadding" on wrap/unseal on solaris with OracleUcrypto
Removed OracleUcrypto provider regression tests from OpenJDK

Reviewed-by: xuelei
2013-10-08 11:35:29 -07:00
Valerie Peng
a5add24f51 8012900: CICO ignores AAD in GCM mode
Change GCM decryption to not return result until tag verification passed

Reviewed-by: xuelei
2013-10-08 11:17:53 -07:00
Valerie Peng
2f4af22f17 7196382: PKCS11 provider should support 2048-bit DH
Query and enforce range checking using the values from native PKCS11 library.

Reviewed-by: xuelei
2013-10-08 11:07:31 -07:00
Sergey Bylokhov
eacfa0f773 8022119: test api/javax_sound/sampled/spi/MixerProvider/indexTGF_MixerProviderTests fails
Reviewed-by: art, anthony
2013-10-08 21:24:49 +04:00
Michael Fang
2a53ccda4d Merge 2013-10-08 09:24:52 -07:00
Michael Fang
e4532623a7 8025215: jdk8 l10n resource file translation update 4
Reviewed-by: joehw, yhuang
2013-10-08 09:22:29 -07:00
Athijegannathan Sundararajan
c257318ccc 8026048: Function constructor should convert arguments to String before performing any syntax checks
Reviewed-by: jlaskey, hannesw
2013-10-08 16:46:03 +02:00
Alexander Scherbatiy
9a9e0fd42c 7081594: Windows owned by an always-on-top window DO NOT automatically become always-on-top
Reviewed-by: art, anthony, serb
2013-10-08 18:45:38 +04:00
Sergey Malenkov
a485f88ad9 7172597: java.awt.KeyboardFocusManager.clearFocusOwner() missed javadoc tag @since 1.8
Reviewed-by: art, anthony
2013-10-08 18:19:10 +04:00
Sergey Malenkov
fdd26c3a51 7081584: Specification for Window.isAlwaysOnTopSupported needs to be clarified
Reviewed-by: art, serb
2013-10-08 18:10:13 +04:00
Igor Veresov
f2e6d682a1 Merge 2013-10-08 07:08:27 -07:00
Hannes Wallnöfer
90e3c6f95e 8026042: FoldConstants need to guard against ArrayLiteralNode
Reviewed-by: jlaskey, sundar
2013-10-08 15:53:22 +02:00
Andreas Lundblad
f6875dad27 8024415: Bug in javac Pretty: Wrong precedence in JCConditional trees
Fixed precedence and associativity issues with pretty printing of JCConditional expressions.

Co-authored-by: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: jfranck
2013-10-08 15:33:28 +02:00
Oleg Pekhovskiy
bf733d1947 7199196: Incremental transfer is broken because of a typo
Reviewed-by: anthony, serb
2013-10-08 17:00:44 +04:00
Athijegannathan Sundararajan
21a8fda433 8026039: future strict names are allowed as function name and argument name of a strict function
Reviewed-by: hannesw, jlaskey
2013-10-08 14:57:31 +02:00
Oleg Pekhovskiy
acf636d21c 7068423: Spec for java.awt.GraphicsDevice.getFullScreenWindow() needs clarification
Reviewed-by: art, anthony
2013-10-08 16:56:15 +04:00
Oleg Pekhovskiy
d8c323d038 8000425: FileDialog documentation should be enhanced
Reviewed-by: serb, anthony
2013-10-08 16:04:12 +04:00
Petr Pchelko
419c7a7c32 8025585: Win: Popups in JFXPanel do not receive MouseWheel events
Reviewed-by: anthony, art
2013-10-08 15:54:43 +04:00
Alexander Zvegintsev
ee806b0721 7158311: GraphicsDevice.setDisplayMode(...) leads to hang when DISPLAY variable points to Oracle Linux
8001463: Regression : Deadlock between AWT-XAWT thread and AWT-EventQueue-0 Thread when screen resolution changes

Reviewed-by: art, serb
2013-10-08 15:17:22 +04:00
Hannes Wallnöfer
1c0f202382 8025965: Specialized functions with same weight replace each other in TreeSet
Reviewed-by: jlaskey, sundar
2013-10-08 13:11:15 +02:00
Athijegannathan Sundararajan
d77e1a1701 8026033: Switch should load expression even when there are no cases in it
Reviewed-by: jlaskey, hannesw
2013-10-08 13:02:39 +02:00
Dmitry Ginzburg
241991b07e 8025236: [javadoc] fix some errors in AWT
Reviewed-by: yan, anthony
2013-10-08 13:57:44 +04:00
Hannes Wallnöfer
3d45463461 8025213: Assignment marks variable as defined too early
Reviewed-by: jlaskey, lagergren, sundar
2013-10-08 11:55:19 +02:00
Alan Bateman
31fdd1b27c 8024788: (fs) Files.readAllBytes uses FileChannel which may not be supported by all providers
Reviewed-by: chegar
2013-10-08 10:49:09 +01:00
Kevin Walls
615cf8aecf Merge 2013-10-08 11:37:54 +02:00
Doug Lea
5bc35911d0 8025136: SplittableRandom enchancements
Co-authored-by: Guy Steele <guy.steele@oracle.com>
Reviewed-by: psandoz, martin
2013-10-08 11:17:15 +02:00
Kevin Walls
c3d0e64506 8019375: Internal symbol table size should be tunable
Reviewed-by: coleenp, kamg
2013-10-08 09:33:51 +01:00
Mandy Chung
f9f9dd164a 8026025: JVM_GetCallerClass allows Reflection.getCallerClass(int depth) to use
Reviewed-by: alanb, dholmes, twisti
2013-10-08 02:56:06 -04:00
Xue-Lei Andrew Fan
1d8fbe7d05 6956398: make ephemeral DH key match the length of the certificate key
Reviewed-by: weijun
2013-10-07 18:46:28 -07:00
Joe Darcy
640945b6f3 8026017: Make history of AnnotatedConstruct methods in jx.l.m.e.Element clearer
Reviewed-by: jjg
2013-10-07 16:51:56 -07:00
Henry Jen
6a322383a8 8026009: Changes for 8025968 break all stream tests
Reviewed-by: mduigou
2013-10-07 15:18:37 -07:00
Christine Lu
f00b2dd7ad 8025840: Fix all the doclint warnings about trademark
Reviewed-by: art
2013-10-07 11:34:44 -07:00
Henry Jen
1542ab6eef 8025968: Integrate test improvements made in lambda repo
Reviewed-by: psandoz
2013-10-07 11:25:56 -07:00
Karen Kinnear
088ded71f9 8009130: Lambda: Fix access controls, loader constraints
New default methods list with inherited superinterface methods

Reviewed-by: minqi, sspitsyn, coleenp
2013-10-07 12:20:28 -04:00
Erik Joelsson
e749e35771 8005924: Make it possible to set both --with-user-release-suffix and --with-build-number
Reviewed-by: ihse, tbell
2013-10-07 18:19:15 +02:00
Stefan Karlsson
2cbd654963 8025996: Track metaspace usage when metaspace is expanded
Reviewed-by: coleenp, ehelin
2013-10-07 15:51:17 +02:00
Stefan Karlsson
55cbe80300 8024547: MaxMetaspaceSize should limit the committed memory used by the metaspaces
Reviewed-by: brutisso, jmasa, coleenp
2013-10-07 15:51:08 +02:00
Thomas Schatzl
30ed89669a 8003420: NPG: make new GC root for pd_set
Move protection domain oops from system dictionary entries into a seperate set; the system dictionary references entries in that set now. This allows fast iteration during non-classunloading garbage collection. Implementation based on initial prototype from Ioi Lam (iklam).

Reviewed-by: coleenp, iklam
2013-10-09 10:57:01 +02:00
Tao Mao
2d75de8b05 8010506: Typos and errors in descriptions of vm options in globals.hpp
Fix typos and errors in descriptions of vm options in globals.hpp

Reviewed-by: jmasa, jwilhelm
2013-10-09 11:18:53 -07:00
Mikael Gerdin
7f3b537807 8014555: G1: Memory ordering problem with Conc refinement and card marking
Add a StoreLoad barrier in the G1 post-barrier to fix a race with concurrent refinement. Also-reviewed-by: martin.doerr@sap.com

Reviewed-by: iveresov, tschatzl, brutisso, roland, kvn
2013-10-08 17:35:51 +02:00
Alexander Scherbatiy
3b9db3b7b2 8007219: [macosx] Frame size reverts meaning of maximized attribute if frame size close to display
Reviewed-by: serb, anthony
2013-10-07 16:42:29 +04:00
Alexander Scherbatiy
254c852564 8025438: [macosx] right JNFCall* method should be used in JDK-8008728 fix
Reviewed-by: serb, anthony
2013-10-07 16:13:48 +04:00
Tomas Hurka
af5d94ec71 8025920: webrev.ksh does not provide any details about changes in zip files
Add support for diffs for zip files

Reviewed-by: ksrini, chegar
2013-10-07 13:11:40 +02:00
Alan Bateman
68ef7f0bc3 8025983: Typo in Javadoc of Files.isRegularFile()
Reviewed-by: mchung, chegar
2013-10-07 11:48:55 +01:00
Chris Hegarty
d3158f2d76 8025991: tools/launcher/RunpathTest.java fails
Reviewed-by: erikj
2013-10-07 11:31:37 +01:00
Vladimir Ivanov
bb528dd1d5 8025845: Default methods are unnecessarily marked w/ force_inline directive in some situations
Reviewed-by: acorn, kvn
2013-10-07 14:13:28 +04:00
Vladimir Ivanov
0059da4a6d 8024774: assert(_con < t->is_tuple()->cnt()) failed: ProjNode::_con must be in range
Reviewed-by: iveresov, roland, kvn, twisti
2013-10-07 14:12:23 +04:00
Vladimir Ivanov
9edb09d8fb 8024943: ciReplay: fails to dump replay data during safepointing
Reviewed-by: kvn, twisti
2013-10-07 14:11:49 +04:00
Vladimir Ivanov
9cb5f396ae 8025849: Redundant "pid" in VM log file name (e.g. hotspot_pidpid12345.log)
Reviewed-by: twisti, azeemj
2013-10-07 14:10:29 +04:00
Mikhailo Seledtsov
2b82651ec0 8023796: [TESTBUG] Add -XX:-TransmitErrorReport to runtime/6888954/vmerrors.sh
Added -XX:-TransmitErrorReport to the test

Reviewed-by: stefank, ctornqvi
2013-10-06 16:13:50 +02:00
Staffan Larsen
ca828c9bb8 Merge 2013-10-05 10:56:46 -04:00
Staffan Larsen
dcbbb4d37b 8025922: JNI access to Strings need to check if the value field is non-null
Reviewed-by: dholmes, dcubed
2013-10-05 15:18:57 +02:00
John R Rose
be5df968ee 8024438: JSR 292 API specification maintenance for JDK 8
Add wildcard to unreflectConstructor, various clarifications and minor edits

Reviewed-by: mchung, darcy, twisti
2013-10-05 05:30:40 -07:00
John R Rose
c5b5f0d6c7 8025112: JSR 292 spec updates for security manager and caller sensitivity
Align CONSTANT_MethodHandle and Lookup.find* API calls, clarify security manager & @CallerSensitive interactions

Reviewed-by: mchung, twisti
2013-10-05 05:30:39 -07:00
John R Rose
32e77eaae1 8001110: method handles should have a collectArguments transform, generalizing asCollector
Promote an existing private method; make unit tests on all argument positions to arity 10 with mixed types

Reviewed-by: twisti, vlivanov
2013-10-05 05:30:39 -07:00
John R Rose
4ea5f818b5 8024599: JSR 292 direct method handles need to respect initialization rules for static members
Align MH semantic with bytecode behavior of constructor and static member accesses, regarding <clinit> invocation.

Reviewed-by: twisti, darcy, abuckley, vlivanov
2013-10-05 05:30:39 -07:00
John R Rose
154969a2bc 8001108: an attempt to use "<init>" as a method name should elicit NoSuchMethodException
Add an explicit check for leading "<", upgrade the unit tests

Reviewed-by: twisti, darcy
2013-10-05 05:30:39 -07:00
John R Rose
e4df9dc1ee 8001109: arity mismatch on a call to spreader method handle should elicit IllegalArgumentException
Document error conditions that may occur when calling a "spreader" method handle.  Use IAE in all cases.

Reviewed-by: twisti, vlivanov
2013-10-05 05:30:39 -07:00
John R Rose
77dc59f6ca 8019417: JSR 292 javadoc should clarify method handle arity limits
Clarification of erroneous reading of spec. that led to 7194534

Reviewed-by: twisti, darcy
2013-10-05 05:30:39 -07:00
John R Rose
622186edcb 8001105: findVirtual of Object[].clone produces internal error
Replicate JVM logic for access control that makes Object.clone appear public when applied to an array type.

Reviewed-by: twisti
2013-10-05 05:30:38 -07:00
John R Rose
62ee211c8d 8024761: JSR 292 improve performance of generic invocation
Use a per-MH one element cache for MH.asType to speed up MH.invoke; also cache enough MH constants to cache LMF.metafactory

Reviewed-by: twisti
2013-10-05 05:30:38 -07:00
Sean Coffey
6427a35789 8016271: wsimport -clientjar does not create portable jars on Windows due to hardcoded backslash
Reviewed-by: mkos, chegar
2013-10-05 08:56:34 +01:00
Christian Thalinger
d45a887dca Merge 2013-10-04 19:05:32 -07:00
Steve Sides
03c9c56f88 8005542: jtreg test OverrideBridge.java contains @ignore
Reviewed-by: jjg
2013-10-04 16:23:05 -07:00
Johnny Chen
c1c21c0ff1 8025940: Windows build fails after the fix for 8025280
Reviewed-by: prr, jgodinez
2013-10-04 16:17:59 -07:00
Kumar Srinivasan
74d2e71e10 8003537: javap use internal class name when printing bound of type variable
Reviewed-by: jjg
2013-10-04 16:08:18 -07:00
Bhavesh Patel
80f7d761c6 8025741: Fix jdk/make/docs/Makefile to point to correct docs URL for JDK 8
Reviewed-by: tbell
2013-10-04 15:26:37 -07:00
Jonathan Gibbons
bb2e47a5f4 8025970: Spurious characters in JavaCompiler
Reviewed-by: ksrini
2013-10-04 15:24:42 -07:00
Jonathan Gibbons
6995b57041 6525408: DiagnosticListener should receive MANDATORY_WARNING in standard compiler mode
Reviewed-by: darcy
2013-10-04 14:46:46 -07:00
Alejandro Murillo
52267389a1 8025859: new hotspot build - hs25-b54
Reviewed-by: jcoomes
2013-10-04 14:19:56 -07:00
Alejandro Murillo
91b6c6cb5f Added tag hs25-b53 for changeset 2e003ae41242 2013-10-04 14:10:09 -07:00
Alejandro Murillo
e244a49e78 Merge 2013-10-04 14:10:08 -07:00
Jonathan Gibbons
be225c4b49 8022163: javac exits with 0 status and no messages on error to construct an ann-procesor
Reviewed-by: darcy
2013-10-04 13:59:13 -07:00
Bhavesh Patel
b10f820519 8024756: method grouping tabs are not selectable
Reviewed-by: jjg
2013-10-04 13:41:13 -07:00
John Coomes
875078a4e0 Merge 2013-10-04 13:37:25 -07:00
Bhavesh Patel
7ad9444ac1 8008164: Invisible table captions in javadoc-generated html
Reviewed-by: jjg
2013-10-04 13:32:30 -07:00
Daniel Fuchs
785483b7a9 8025745: Clarify API documentation of JAXP factories
Clarifies usage of ServiceLoader in JAXP factories.

Reviewed-by: alanb, joehw, psandoz
2013-10-04 19:15:10 +02:00
Christian Thalinger
bfc53b6607 8011138: C2: stack overflow in compiler thread because of recursive inlining of lambda form methods
Reviewed-by: kvn, roland
2013-10-04 10:11:48 -07:00
Joe Darcy
e18872a5a9 8025913: Rename jdk.Supported to jdk.Exported
Reviewed-by: psandoz, forax, lancea, alanb, mchung, jjg
2013-10-04 10:00:28 -07:00
Mikhail Cherkasov
798b7d2356 8020688: Broken links in documentation at http://docs.oracle.com/javase/6/docs/api/index
Reviewed-by: anthony, alexsch
2013-10-04 20:13:32 +04:00
Alexander Zuev
bb40243d1a 7096170: should remove unused support for enabling javac logging
Reviewed-by: jjg
2013-10-04 19:38:55 +04:00
Sean Coffey
1d4c1c6ee5 8016271: wsimport -clientjar does not create portable jars on Windows due to hardcoded backslash
Reviewed-by: mkos, chegar
2013-10-04 16:27:12 +01:00
Bhavesh Patel
c855900623 8025741: Fix jdk/make/docs/Makefile to point to correct docs URL for JDK 8
Reviewed-by: tbell
2013-10-04 15:25:18 -07:00
Robert Field
f718e1fa54 8021186: jdk/lambda/vm/DefaultMethodsTest.java fails
Remove DefaultMethodsTest from jdk/test/problemList.txt

Reviewed-by: mduigou
2013-10-04 09:54:43 -07:00
Miroslav Kos
69e3b11c83 8025054: Update JAX-WS RI integration to 2.2.9-b130926.1035
Reviewed-by: chegar
2013-10-04 16:21:34 +01:00
Fredrik Arvidsson
d3094c0e8c 6313383: SA: Update jmap to support HPROF binary format "JAVA PROFILE 1.0.2"
Adds support for large(>4G) heap dumps in hprof format. Adds tests and updates testlibrary.

Reviewed-by: sla, allwin
2013-10-04 13:44:49 +02:00
Mikael Gerdin
2a3f1d56d3 8025526: VirtualSpace should support per-instance disabling of large pages
Add a new initialization function to VirtualSpace which allows the caller to override the max commit granularity.

Reviewed-by: stefank, ehelin, tschatzl
2013-10-04 13:33:02 +02:00
Stefan Karlsson
ab6f813d49 Merge 2013-10-05 08:01:36 -07:00
Stefan Karlsson
3b34e78d20 8024838: Significant slowdown due to transparent huge pages
Don't turn on transparent huge pages (-XX:+UseTransparentHugePages) unless explicitly specified on the command line. This has the effect that large pages are never turned on Linux unless the user has explicitly enabled any of the large pages flags: -XX:+UseLargePages, -XX:+UseTransparentHugePages, -XX:+UseHugeTLBFS, and -XX:+UseSHM.

Reviewed-by: jwilhelm, tschatzl, brutisso
2013-10-05 10:14:58 +02:00
Jesper Wilhelmsson
829ad9332b 8025854: Use "young gen" instead of "eden"
Changed a few descriptions and variable names to young gen.

Reviewed-by: tschatzl, jcoomes
2013-10-04 22:08:37 +02:00
Fredrik Arvidsson
738af149a2 8016845: SA is unable to use hsdis on windows
Added sadis.c to the build to provide missing symbols in sawindbg.dll. Added code to use the correct hsdisXXX.dll filename on different windows platforms.

Reviewed-by: sla, mgerdin
2013-10-04 13:01:07 +02:00
Athijegannathan Sundararajan
be135d2901 8025771: Enhance Nashorn Contexts
Reviewed-by: jlaskey, hannesw
2013-10-04 16:21:29 +05:30
Erik Joelsson
1afb02e222 8007446: Add /MP to cl.exe speeds up windows builds of OpenJDK
Reviewed-by: sla, ctornqvi
2013-10-04 12:45:39 +02:00
Calvin Cheung
48a315bb52 Merge 2013-10-04 21:00:43 -07:00
Coleen Phillimore
afd39d536b Merge 2013-10-05 03:14:53 +02:00
Coleen Phillimore
916c31fb47 Merge 2013-10-05 00:58:43 +02:00
Coleen Phillimore
7527f79e6d Merge 2013-10-05 00:53:02 +02:00
Albert Noll
4f459e644f 8025656: compiler/8013496/Test8013496.sh fails on assert
Ensure the thread is in correct state; rewrote test in Java

Reviewed-by: kvn, twisti
2013-10-04 09:19:13 +02:00
Jan Lahoda
dd031ed38f 8025118: Annotation processing api returns default modifier for interface without default methods
TypeElement.getModifiers() should not contain Modifier.DEFAULT

Reviewed-by: darcy, jjg
2013-10-04 08:29:54 +02:00
Coleen Phillimore
b08778e139 8025238: nsk/jvmti/scenarios/bcinstr/BI04/bi04t002 crashed with SIGSEGV
Redefined class in stack trace may not be found by method_idnum so handle null.

Reviewed-by: sla, dcubed, sspitsyn
2013-10-03 18:53:27 -04:00
Lois Foltan
e2466c1507 8025004: -XX:+CheckUnhandledOops asserts for JDK 8 Solaris fastdebug binaries
Remove unnecessary volatile keyword on stack locals within instanceKlass.cpp to work around Solaris Studio C++ compiler issue

Reviewed-by: coleenp, dcubed
2013-10-03 18:50:58 -04:00
Johnny Chen
7b490635ea 8025294: [parfait] JNI-related warnings from b107 for jdk.src.solaris.native.sun.java2d.x11
Reviewed-by: prr, jgodinez
2013-10-03 13:49:52 -07:00
Johnny Chen
3c27e706c7 8025664: [parfait] warnings from b62 for jdk.src.share.native.sun.font
Reviewed-by: prr, jgodinez
2013-10-03 13:41:53 -07:00
Johnny Chen
3a01c9493e 8025309: [parfait] JNI-related warnings from b107 for jdk.src.share.native.sun.java2d.pipe
Reviewed-by: prr, jgodinez
2013-10-03 13:35:26 -07:00
Johnny Chen
fa90ce8bf8 8025480: [parfait] "JNI exception pending" warnings from b107 for jdk.src.share.native.sun.java2d
Reviewed-by: prr, jgodinez
2013-10-03 13:26:45 -07:00
Johnny Chen
85c942f353 8025280: [parfait] warnings from b107 for jdk.src.share.native.sun.java2d.loops: JNI exception pending, JNI critical region violation
Reviewed-by: prr, jgodinez
2013-10-03 13:16:31 -07:00
Jesper Wilhelmsson
582aa55e4d 8025852: Remove unnecessary setters in collector policy classes
Use instance variables directly within the collector policy classes and remove unused setters.

Reviewed-by: tschatzl, jcoomes
2013-10-03 21:36:29 +02:00
Chris Hegarty
85829db5d3 Merge 2013-10-03 19:28:07 +01:00
Robert Field
1705cfa533 8020849: jdk/lambda/vm/DefaultMethodsTest.java
Bridge generation has been removed from the VM. Fix is to remove tests that no longer make sense.

Reviewed-by: ksrini
2013-10-03 11:26:53 -07:00
Chris Hegarty
29f3da323a Merge 2013-10-03 19:18:54 +01:00
Chris Hegarty
9a4fe1d38e Merge 2013-10-03 19:11:30 +01:00
Chris Hegarty
6088b141e2 Merge 2013-10-03 19:06:43 +01:00
Vladimir Danushevsky
09f1f55883 Merge 2013-10-03 10:35:32 -07:00
Robert Field
551b5e50c6 8010433: Remove lambda metafactory work-around to JDK-8005119
Restore invokespecial to lambda metafactory

Reviewed-by: ksrini
2013-10-03 10:23:48 -07:00
Jesper Wilhelmsson
11da59e506 8025853: Remove unnecessary uses of GenerationSizer
Removed stray includes and some minor cleanup of GenerationSizer

Reviewed-by: tschatzl, jcoomes
2013-10-03 17:16:23 +02:00
Alexander Scherbatiy
5520d11d0c 7092283: Property Window.locationByPlatform is not cleared by calling setVisible(false)
Reviewed-by: anthony, serb
2013-10-03 19:02:45 +04:00
Joseph Provino
a1c9c2fe6f Merge 2013-10-03 10:25:54 -04:00
Anthony Petrov
5319e7da59 7174704: [macosx] New issue in 7u6 b12: HeadlessPrintingTest failure
Load the lwawt native library on Mac regardless of the headless/headful mode. Also, some minor cleanup.

Reviewed-by: art, serb
2013-10-03 18:01:25 +04:00
Pranav Bhat
29a16ab81c Merge 2013-10-03 09:52:21 -04:00
Alexander Zuev
ccbfbe8736 8025738: locale related test fails on langtools mac 10.7 test host
Reviewed-by: ksrini
2013-10-03 17:40:45 +04:00
Dmitry Samersoff
d95f70f9d3 8009213: sun/management/jdp/JdpTest.sh fails with exit code 1
There's no guarantee that the java process has executed far enough to be found by jps when we try to obtain it's pid.

Reviewed-by: sla
2013-10-03 16:54:55 +04:00
Oleg Pekhovskiy
cea15b4dee 8013553: [macosx] java.awt.FileDialog removes file extensions
Reviewed-by: leonidr, serb
2013-10-03 16:51:56 +04:00
Igor Veresov
51a9303c03 Merge 2013-10-03 16:38:21 +04:00
Jesper Wilhelmsson
ed022aded1 8025855: Simplify GenRemSet code slightly
Remove a few redundant switch-statements

Reviewed-by: jcoomes, tschatzl
2013-10-03 13:19:19 +02:00
Erik Joelsson
0d88315d61 8024522: java.time packages missing from src.zip
Reviewed-by: tbell
2013-10-03 11:27:16 +02:00
Magnus Ihse Bursie
46ad112b4d 8008944: Correct typos
Reviewed-by: tbell, erikj
2013-10-03 11:26:11 +02:00
Paul Sandoz
1604846c44 8025567: Mark relevant public stream tests as serialization hostile
Reviewed-by: alanb
2013-10-03 10:59:51 +02:00
Roland Westrelin
59adc04ee5 8024067: Missing replace_in_map() calls following null checks
Add replace_in_map() calls following some null checks in type checks

Reviewed-by: kvn
2013-10-03 10:55:07 +02:00
Christian Thalinger
619948a8f1 8025566: EXCEPTION_ACCESS_VIOLATION in compiled by C1 String.valueOf method
Reviewed-by: kvn
2013-10-07 10:41:56 -07:00
Dmitry Samersoff
13b13b1aed 8022616: u4 should not be used as a type for thread_id
Usage of u4 as a type for thread_id cause a compilation error on platform, where thread_id is a pointer

Reviewed-by: sla, sspitsyn, minqi
2013-10-03 12:39:58 +04:00
Andrew Brygin
88a74de88a 8022632: Reading a PNG file fails because of WBMPImageReaderSpi.canDecodeInput()
Reviewed-by: prr, jgodinez
2013-10-03 11:28:37 +04:00
Dmitry Samersoff
ae3d003298 Merge 2013-10-03 04:42:57 +02:00
Dmitry Samersoff
d71ad98145 Merge 2013-10-03 01:12:27 +02:00
David Katleman
62f7e57e93 Added tag jdk8-b110 for changeset 95df1088d4af 2013-10-02 13:26:56 -07:00
David Katleman
31995e22ba Added tag jdk8-b110 for changeset f5f4ff5ce376 2013-10-02 13:26:54 -07:00
David Katleman
78e2738c5a Added tag jdk8-b110 for changeset e78392f8a04b 2013-10-02 13:26:45 -07:00
David Katleman
844ccf771b Added tag jdk8-b110 for changeset f5f4a0ff651d 2013-10-02 13:26:41 -07:00
David Katleman
dcf803b6fe Added tag jdk8-b110 for changeset 8bf1be227a28 2013-10-02 13:26:39 -07:00
David Katleman
360b472d7f Added tag jdk8-b110 for changeset 5feed41054de 2013-10-02 13:26:31 -07:00
David Katleman
b6c2a8b135 Added tag jdk8-b110 for changeset 14f8ce49437e 2013-10-02 13:26:26 -07:00
David Katleman
dd6a63a087 Added tag jdk8-b110 for changeset 6766207925ff 2013-10-02 13:26:25 -07:00
Coleen Phillimore
eb84a65af0 Merge 2013-10-02 15:06:38 -04:00
Christine Lu
e32c2618aa 8025409: Fix javadoc comments errors and warning reported by doclint report
Reviewed-by: anthony, yan
2013-10-02 11:28:07 -07:00
Dmitry Samersoff
5a67ff2d74 8025250: SA: Sync linux and bsd versions of ps_core file
Linux/ps_core.c and bsd/ps_core.c share most of code, but it has different formatting, comments etc.

Reviewed-by: sla, minqi
2013-10-02 22:27:23 +04:00
Phil Race
e43112a8ad 7179526: xrender : closed/sun/java2d/volatileImage/LineClipTest.java failed since jdk8b36
Reviewed-by: prr, jchen
2013-10-02 11:22:07 -07:00
Phil Race
d7d6a07617 8025837: Extraneous changes in the fix for 8007386
Reviewed-by: jgodinez, jchen
2013-10-02 11:16:07 -07:00
Lois Foltan
cc862a249a 8025569: -XX:+CheckUnhandledOops crashes on Windows
Disable CHECK_UNHANDLED_OOPS in fastdebug builds for JDK 8 on WIndows 32 & 64 bit machines

Reviewed-by: coleenp, ctornqvi, zgu
2013-10-02 13:02:40 -04:00
Sergey Bylokhov
12a7707961 8013563: Memory leak in JFrame on Linux
Reviewed-by: anthony, art
2013-10-02 21:02:04 +04:00
Dmitry Samersoff
259468dd26 8025283: Nits in os_bsd file breaks compilation of open hotspot
Couple of nits in os_bsd.cpp brake compilation of open hotspot on non-apple platforms

Reviewed-by: sla, sspitsyn
2013-10-02 20:58:44 +04:00
Erik Helin
ac15ca0d6a Merge 2013-10-02 18:24:58 +02:00
Mikael Vidstedt
a9927a8ee9 8024087: Remove dead JVM_{Get,Set}PrimitiveFieldValues functions
The two functions were used to support JDK 1.3 but are no longer in use

Reviewed-by: coleenp, ctornqvi, twisti, dsamersoff
2013-10-02 09:18:56 -07:00
Vicente Romero
696179bbda 8023679: Improve error message for '_' used as a lambda parameter name
Reviewed-by: jjg, dlsmith
2013-10-02 17:04:51 +01:00
Paul Sandoz
10a6fcc8a0 8025534: Unsafe typecast in java.util.stream.Streams.Nodes
8025538: Unsafe typecast in java.util.stream.SpinedBuffer
8025533: Unsafe typecast in java.util.stream.Streams.RangeIntSpliterator.splitPoint()
8025525: Unsafe typecast in java.util.stream.Node.OfPrimitive.asArray()

Reviewed-by: chegar
2013-10-02 16:34:12 +02:00
Eric McCorkle
367fa5ac0e 8020981: Update methods of java.lang.reflect.Parameter to throw correct exceptions
Fix behavior of parameter reflection API for malformed class files.

Reviewed-by: darcy
2013-10-02 19:13:42 -04:00
Bradford Wetmore
47f46da3fa 8025694: Rename getStrongSecureRandom based on feedback
8014838: getStrongSecureRandom() should require at least one implementation

Reviewed-by: mullan, darcy
2013-10-02 09:38:57 -07:00
Mikhailo Seledtsov
a97a2ad3c6 8025671: Test name changed, test list not updated. Test6878713.sh
Removed the obsolete test from the test group file

Reviewed-by: sla, ctornqvi, dholmes
2013-10-02 15:17:20 +02:00
Vladimir Ivanov
02e57a0152 8025233: Move sun.invoke.Stable into java.lang.invoke package
Reviewed-by: twisti, iveresov
2013-10-02 06:17:10 -07:00
Erik Joelsson
d834c5b854 Merge 2013-10-02 15:08:29 +02:00
Erik Joelsson
f4bb418d8a Merge 2013-10-02 15:08:03 +02:00
Leonid Romanov
33ff5ac952 8023994: Right click on the icon added to the system tray for the first time, java.lang.IllegalArgumentException thrown
Reviewed-by: anthony, serb
2013-10-02 17:06:09 +04:00
Petr Pchelko
efe326ede9 8024158: [macosx] java/awt/EventDispatchThread/LoopRobustness/LoopRobustness still failed after fix JDK-8022247; since jdk8b96
Reviewed-by: art, leonidr
2013-10-02 16:58:13 +04:00
Mikael Gerdin
9204842093 8012525: gc/metaspace/G1AddMetaspaceDependency.java Test fails a safepoint timeout assertion or hangs
Reviewed-by: brutisso, tschatzl
2013-10-02 14:33:32 +02:00
Petr Pchelko
a8abc64da9 8024600: [macosx] code prevents use of -Xlint:auxiliaryclass,empty in jdk build
Reviewed-by: anthony, serb
2013-10-02 11:50:58 +04:00
Petr Pchelko
d5ec67a6e5 8024163: [macosx] NullPointerException at javax.swing.TransferHandler$DropHandler.handleDrag since jdk8b93, 7u40b28
Reviewed-by: anthony, serb
2013-10-02 11:32:56 +04:00
Petr Pchelko
195b490063 7124363: [macosx] ClassCastException: CFileDialog cannot be cast to LWWindowPeer
Reviewed-by: anthony, serb
2013-10-02 11:18:17 +04:00
Vadim Pakhnushev
e5260cc564 8024343: Change different color with the "The XOR alternation color" combobox, the color of the image can not shown immediately
Reviewed-by: ceisserer, prr, bae
2013-10-02 10:06:28 +04:00
Alan Bateman
fd4113c58e 8006843: org.w3c.dom.events.UIEvent.getView is specified to return type that is not in the Java SE specification
Reviewed-by: mduigou, tbell
2013-10-02 04:21:42 +01:00
Phil Race
4ff41501d1 8007386: On physical machine (video card is Intel Q45) the text is blank
Reviewed-by: prr, jchen
2013-10-01 15:36:53 -07:00
Eric McCorkle
d9502c856a 8021339: Compile-time error during casting array to intersection
Add ability to have arrays in intersection types.

Reviewed-by: jjg, vromero
2013-10-01 17:41:57 -04:00
David Katleman
b4c28b3b28 Merge 2013-10-01 12:45:47 -07:00
David Katleman
781ece6073 Merge 2013-10-01 12:43:21 -07:00
Coleen Phillimore
6281e9bd76 Merge 2013-10-01 15:41:39 -04:00
Lois Foltan
67639e0b1a 8025570: Naked oop in test/serviceability/ParserTest
Fix for two naked objArrayOop(s) oops causing test failure

Reviewed-by: coleenp, ctornqvi
2013-10-01 14:23:07 -04:00
Erik Gahlin
65580cea43 6696975: JTop plugin fails if connected readonly to target JVM
Reviewed-by: mchung, jbachorik, sla, sjiang
2013-10-01 17:48:01 +02:00
Paul Sandoz
7ee60c366e 8025535: Unsafe typecast in java.util.stream.SortedOps
Reviewed-by: mduigou, chegar
2013-10-01 18:20:03 +02:00
Masayoshi Okutsu
f640e20e65 8022666: java.util.Calendar.set(int,int,int,int,int,int) documentation typo
Reviewed-by: peytoia
2013-10-02 17:57:04 +09:00
Sean Coffey
8d0e77641f 8024952: ClassCastException in PlainSocketImpl.accept() when using custom socketImpl
Reviewed-by: chegar
2013-10-02 09:21:02 +01:00
Masayoshi Okutsu
824b25cc94 6902861: (cal) GregorianCalendar roll WEEK_OF_YEAR is broken for January 1 2010
Reviewed-by: peytoia
2013-10-02 15:31:35 +09:00
Artem Smotrakov
54ebd8d42e 8025123: SNI support in Kerberos cipher suites
Reviewed-by: weijun, xuelei
2013-10-01 20:25:44 -07:00
Zhengyu Gu
876ecd9acf Merge 2013-10-01 11:06:35 -04:00
Anton Nashatyrev
70a279fde5 8025145: [macosx]: java 7 does not recognize tiff image on clipboard
Reviewed-by: anthony, serb
2013-10-01 18:40:35 +04:00
Zhengyu Gu
81d4345cb8 Merge 2013-10-01 09:21:43 -04:00
Erik Helin
ce8f16808b 8025313: MetaspaceMemoryPool incorrectly reports undefined size for max
Reviewed-by: stefank, tschatzl
2013-10-01 15:21:14 +02:00
Aleksei Efimov
6c9d2e5e04 8024707: TransformerException : item() return null with node list of length != 1
Reviewed-by: joehw, lancea
2013-10-01 17:14:08 +04:00
Magnus Ihse Bursie
e5459d3fec 8016024: Remove solaris path from FillCacheFind
Reviewed-by: erikj
2013-10-01 15:13:16 +02:00
Alexander Zuev
2f3d9d1376 7118749: NPE in CreateSymbols caused by bad diagnostic
Reviewed-by: jjg
2013-10-01 17:03:31 +04:00
Zhengyu Gu
fb39220608 8022187: Missing ResourceMark crash when assertion using FormatBufferResource fails
Uses stack for the format buffer instead of resource memory

Reviewed-by: kvn, coleenp
2013-10-01 08:54:05 -04:00
Karen Kinnear
71a3a55630 8011311: Private interface methods. Default conflicts:ICCE. no erased_super_default
Reviewed-by: coleenp, bharadwaj, minqi
2013-10-01 08:10:42 -04:00
Vera Akulova
f5caf587e7 8025707: Frogot to add a file to fix for JDK-8012461
Reviewed-by: serb, alexsch
2013-10-01 14:38:47 +04:00
Vera Akulova
c1c753d0f8 7133532: [macosx] closed/javax/swing/JScrollBar/bug4202954/bug4202954.java fails on MacOS
Reviewed-by: serb, alexsch
2013-10-01 13:47:50 +04:00
Vera Akulova
401b226ad5 7133545: [macosx] closed/javax/swing/JSplitPane/4514858/bug4514858.java fails on MacOS
Reviewed-by: serb, alexsch
2013-10-01 13:46:53 +04:00
Vera Akulova
920c1d844f 8012461: [TEST_BUG] closed/javax/swing/plaf/synth/SynthButtonUI/6276188/bug6276188.java doesn't release mouse button
Reviewed-by: serb, alexsch
2013-10-01 13:45:51 +04:00
Vera Akulova
0307ac32a2 8004294: [TEST_BUG] javax/swing/JSpinner/4973721/bug4973721.java failed on win2003
Reviewed-by: serb, alexsch
2013-10-01 13:40:26 +04:00
Vera Akulova
28fa075d75 8012466: [TEST_BUG] javax/swing/JInternalFrame/Test6505027.java doesn't release mouse button
Reviewed-by: serb, alexsch
2013-10-01 13:38:07 +04:00
Vera Akulova
c4d57a676d 8012468: [TEST_BUG] javax/swing/PopupFactory/6276087/NonOpaquePopupMenuTest.java doesn't release mouse button
Reviewed-by: serb, alexsch
2013-10-01 13:30:37 +04:00
Vera Akulova
6d63827a99 7125471: [macosx] NofocusListDblClickTest should wait between doublr clicks
Reviewed-by: anthony, serb
2013-10-01 13:19:07 +04:00
Athijegannathan Sundararajan
04d4458ef8 8025488: Error.captureStackTrace should not format error stack
Reviewed-by: hannesw, attila
2013-10-01 14:38:56 +05:30
Magnus Ihse Bursie
91c55cc45e 8019219: Fix typo in jdk/makefiles "default" targets
Reviewed-by: erikj
2013-10-01 11:08:23 +02:00
Magnus Ihse Bursie
a5369d4610 8006661: Use LC_ALL=C instead of LANG=C compare.sh
Reviewed-by: tbell
2013-10-01 10:58:24 +02:00
Bengt Rutisson
ac3d344514 8025605: G1: Heap expansion logging misleading for fully expanded heap
Reviewed-by: tschatzl, jwilhelm, jmasa
2013-10-01 07:52:52 +02:00
Sergey Bylokhov
0c7604f2bc 7150100: [macosx] "0123456789" is selected in the TextField
Reviewed-by: anthony, art
2013-10-01 04:29:50 +04:00
James Laskey
aa48b7426d 8025689: fx:base.js classes not loading
Reviewed-by: sundar
2013-09-30 18:09:33 -03:00
Sergey Malenkov
557d4e977b 8025652: [macos] build failed
Reviewed-by: serb
2013-09-30 22:08:45 +04:00
Athijegannathan Sundararajan
5c16d54797 8025629: load function should support a way to load scripts from classpath
Reviewed-by: lagergren, hannesw, attila
2013-09-30 21:33:38 +05:30
Jim Laskey
77d2612584 Merge 2013-09-30 12:06:43 -03:00
Hannes Wallnöfer
c9fc9b4c9c 8025589: Array.prototype.shift should only copy defined elements in generic mode
Reviewed-by: sundar, attila
2013-09-30 15:54:05 +02:00
Jim Laskey
fc9a002082 Merge 2013-09-30 10:24:42 -03:00
Jim Laskey
930c3d39f1 Merge 2013-09-30 10:24:23 -03:00
Jim Laskey
ad9a76630c Merge 2013-09-30 10:23:52 -03:00
Staffan Larsen
938247e8f4 8023492: jfr.jar gets loaded even though it's not used
Reviewed-by: erikj, mgronlun
2013-09-30 12:58:18 +02:00
Thomas Schatzl
f144f37f49 8025441: G1: assert "assert(thread < _num_vtimes) failed: just checking" fails when G1ConcRefinementThreads > ParallelGCThreads
The initialization for the remembered set summary data structures used the wrong thread count, i.e. number of worker threads instead of number of refinement threads.

Reviewed-by: brutisso
2013-09-30 12:43:59 +02:00
Joel Borggrén-Franck
738a5097a7 8009719: core reflection should get type annotation data from the VM lazily
Remove typeAnnotations field from Method, Constructor, and Field, update  Executable and Field to fetch data on demand.

Reviewed-by: darcy, erikj
2013-09-30 12:19:48 +02:00
Erik Helin
2722c5d966 8025226: TestPerfCountersAndMemoryPools.java fails with -Xmixed or -Xcomp
Reviewed-by: brutisso, mgerdin
2013-09-30 11:39:07 +02:00
Joel Borggrén-Franck
279576cf17 8007072: Update Core Reflection for Type Annotations to match latest spec
8022324: j.l.Class.getAnnotatedInterfaces() for array type returns wrong value
8024915: j.l.r.Executable.getAnnotatedReceiverType() should return null for static methods

Update javadoc and implementation of reflection for type annotations to match latest spec

Reviewed-by: darcy
2013-09-30 11:18:18 +02:00
Vadim Pakhnushev
b75899e391 8001119: [fingbugs] Evaluate necessity to make some arrays package protected
Reviewed-by: prr, bae
2013-09-30 12:50:52 +04:00
Eric McCorkle
d03ac9784a 8025413: NPE in Type.java due to recent change
IsCompound throws a NPE for noType and other types.  Made it return a reasonable result instead.

Reviewed-by: jjg, vromero
2013-09-28 13:46:14 -04:00
Lana Steuck
6425959e4b Merge 2013-09-27 18:38:35 -07:00
Lana Steuck
cb1bbba5c8 Merge 2013-09-27 18:38:29 -07:00
Lana Steuck
8d63f86697 Merge 2013-09-27 18:38:00 -07:00
Mike Duigou
230478592d 8025610: Add explicit @throws NPE documentation to Optional constructor and Optional.of
Reviewed-by: briangoetz, chegar, alanb
2013-09-27 17:27:15 -07:00
Dan Xu
512fbc2a59 8025128: File.createTempFile fails if prefix is absolute path
Use only the file name from the supplied prefix for backward compatibility

Reviewed-by: alanb, chegar
2013-09-27 17:09:25 -07:00
Kumar Srinivasan
a210a6a74e 8020552: [launcher] changes to support removal of Solaris 32-bit distribution
8023495: [infra] create 64-bit solaris bits with symlinks

Reviewed-by: ihse, tbell, dholmes, darcy, alanb, erikj, sla, martin
2013-09-27 16:29:44 -07:00
Kumar Srinivasan
4baf04a849 8023495: [infra] create 64-bit solaris bits with symlinks
Reviewed-by: ihse, tbell, erikj
2013-09-27 16:27:34 -07:00
Kumar Srinivasan
b43acfee98 8015073: c.s.t.javac.api.JavacTool.getTask() - more informative exception
Reviewed-by: jjg
2013-09-27 16:05:56 -07:00
Mike Duigou
114ccbddf8 8023340: Clarify that unmodifiable List.replaceAll() may not throw UOE if there are no items to be replaced
Reviewed-by: psandoz, jjg
2013-09-27 13:30:35 -07:00
Paul Sandoz
ea739968d2 8023339: Refined Collection.removeIf UOE conditions
Reviewed-by: mduigou
2013-09-27 13:30:31 -07:00
Phil Race
7001d7b786 8020190: Fatal: Bug in native code: jfieldID must match object
Reviewed-by: jgodinez, vadim
2013-09-27 13:06:47 -07:00
Robert Field
9a6f8e8463 8025548: langtools test tools/javac/lambda/methodReference/BridgeMethod.java incorrectly assumes no other methods generated in lambda class
Reviewed-by: vromero
2013-09-27 13:06:38 -07:00
Patrick Reinhart
2c516bc7b4 6870661: Setting a custom PrintService on a PrinterJob leads to a PrinterException
Reviewed-by: prr, jgodinez
2013-09-27 13:04:54 -07:00
Mike Duigou
e3e8d44bd7 8024842: Define ABS_TEST_OUTPUT_DIR via TEST_OUTPUT_DIR
Reviewed-by: ihse, erikj, vromero
2013-09-27 11:34:32 -07:00
Sergey Malenkov
e37d16f11b 7117595: ArrayIndexOutOfBoundsException in Win32GraphicsEnvironment if display is removed
Reviewed-by: anthony, serb
2013-09-27 22:25:58 +04:00
Sergey Malenkov
dd224c8deb 8012716: java.beans.EventHandler.create method should check if the given listenerInterface is a public interface
Reviewed-by: art, mchung
2013-09-27 22:17:24 +04:00
Jiangli Zhou
b49de4da48 Merge 2013-09-27 13:53:43 -04:00
Jiangli Zhou
b364358afe 8024990: JT_JDK: 11 failures with SIGSEGV on arm-sflt platforms in nightly fastdebug build
Enable patching for load_appendix_id.

Reviewed-by: kvn, dlong, bdelsart
2013-09-27 13:49:57 -04:00
Sonali Goel
475b209cf7 8025537: Convert 2 javac/enumdeclarations tests in jtreg for regression ws
Reviewed-by: jjg
2013-09-27 10:39:52 -07:00
David Chase
02f6818d8f 8025260: Methodhandles/JSR292: NullPointerException (NPE) thrown instead of AbstractMethodError (AME)
Copied null-checks from templateInterpreter_CPU into methodHandles_CPU

Reviewed-by: jrose, twisti
2013-09-27 13:36:25 -04:00
Axel Siebenborn
0c588fa80b 8025599: Missing store barrier with OptimizeStringConcat
Reviewed-by: kvn, twisti
2013-09-30 15:42:39 -07:00
David Chase
fdf6a159f5 8022701: Accessibility checking: InvocationTargetException is thrown instead of IllegalAccessError
Inserted code to convert specific exceptions, case-by-case, plus a test.

Reviewed-by: jrose, twisti
2013-09-27 13:32:32 -04:00
Kumar Srinivasan
de7eca4a39 8025342: NLS: unsupported translation format in jar/pack/DriverResource.java
Reviewed-by: naoto, mfang
2013-10-01 15:40:34 -07:00
Eric McCorkle
e92da66e0b 8021398: j.l.r.Parameter.getAnnotatedType().getType() for not annotated use of type returns null
Fixed issue with type annotation reflection framework that would cause getType of AnnotatedTypes to be null if no annotations were present.

Reviewed-by: darcy, jfranck
2013-10-01 17:35:32 -04:00
Mike Duigou
e68f7e9564 8025595: Remove alt-rt.jar, used by +AggressiveOps (jdk repo portion of JDK-8024826)
Reviewed-by: alanb, chegar, dholmes, ksrini
2013-09-27 10:21:04 -07:00
Alexander Zuev
e0f4378a6c 6978886: javadoc shows stacktrace after print error resulting from disk full
Reviewed-by: jjg
2013-09-27 21:20:01 +04:00
Jan Lahoda
6c9b134b12 8022765: Compiler crashes with exception on wrong usage of an annotation
Error recovery for incorrect annotation attribute values - ensure the values are always attributed appropriately

Reviewed-by: jfranck, jjg
2013-09-27 17:28:31 +02:00
Hannes Wallnöfer
bf815f12fa 8025520: Array.prototype.slice should only copy defined elements
Reviewed-by: sundar, lagergren
2013-09-27 17:00:37 +02:00
Hannes Wallnöfer
1240bd8a48 8025515: Performance issues with Source.getLine()
Reviewed-by: sundar, lagergren
2013-09-27 16:59:01 +02:00
Petr Pchelko
247ec6ca80 8016563: Test closed/java/awt/dnd/ImageTransferTest/ImageTransferTest.html fails
Reviewed-by: anthony, serb
2013-09-27 18:35:00 +04:00
Zhengyu Gu
bfafab7b47 Merge 2013-09-27 10:08:56 -04:00
Petr Pchelko
9d67cb2e94 8025503: [macosx] FileDialog allows file selection with apple.awt.fileDialogForDirectories = true
Reviewed-by: serb, anthony
2013-09-27 17:04:16 +04:00
Alexander Stepanov
c49c083729 8024122: [TEST] need test to cover JDK-7146572
Reviewed-by: anthony, yan
2013-09-27 14:29:27 +04:00
Vicente Romero
cae732b133 8024497: crash returning this-referencing lambda from default method
Reviewed-by: jjg, rfield
2013-09-27 10:24:56 +01:00
Taras Ledkov
7569765f7e 8025249: [javadoc] fix some javadoc errors in javax/swing/
Reviewed-by: alexsch, yan
2013-09-27 12:35:43 +04:00
Aleksey Shipilev
84fd9150e2 8014447: Object.hashCode intrinsic breaks inline caches
Try to inline as normal method first, then fall back to intrinsic.

Reviewed-by: kvn, twisti
2013-09-27 11:52:24 +04:00
Christian Thalinger
9376d94e6c 8025613: clang: remove -Wno-unused-value
Reviewed-by: iveresov
2013-09-28 12:42:22 -07:00
Igor Ignatyev
30874d35f1 8023452: TestCase$Helper(java.lang.Object) must be osr_compiled
Reviewed-by: kvn
2013-09-28 12:32:10 +04:00
Igor Ignatyev
74b0d053ee 8024678: Java source files in hotspot/test/testlibrary should not use @author tag in JavaDoc
Reviewed-by: twisti
2013-09-28 12:32:09 +04:00
Niclas Adlertz
f9b1731815 Merge 2013-09-27 15:43:03 -07:00
Niclas Adlertz
562ce20154 Merge 2013-09-27 12:43:51 -07:00
Albert Noll
0dee555ead 8020151: PSR:PERF Large performance regressions when code cache is filled
Code cache sweeping based on method hotness; removed speculatively disconnect

Reviewed-by: kvn, iveresov
2013-09-27 10:50:55 +02:00
Rickard Bäckman
441f1d74cf 8024924: Intrinsify java.lang.Math.addExact
Reviewed-by: kvn, twisti
2013-09-27 08:39:19 +02:00
Lana Steuck
57f8c70159 Merge 2013-09-26 17:23:22 -07:00
Lana Steuck
87d0ea84c1 Merge 2013-09-26 17:23:00 -07:00
Lana Steuck
65dd56bc16 Merge 2013-09-26 17:21:47 -07:00
Lana Steuck
5f840f6118 Merge 2013-09-26 17:18:12 -07:00
Lana Steuck
b99232819c Merge 2013-09-26 17:13:39 -07:00
Clemens Eisserer
00c37e4e9e 8024895: xrender MaskImage cache isn't accounting for change in alpha
Reviewed-by: prr, jchen
2013-09-26 16:30:38 -07:00
Stephen Colebourne
242f0dd3c2 8025718: Enhance error messages for parsing
Add values and types to exception messages

Reviewed-by: lancea
2013-09-26 15:19:27 -07:00
Roger Riggs
c9982055b4 8024612: java/time/tck/java/time/format/TCKDateTimeFormatters.java failed
The test should be using the Locale.Category.FORMAT to verify the test data

Reviewed-by: lancea
2013-10-09 11:02:55 -04:00
Mandy Chung
18f83d0a7c 8026027: Level.parse should return the custom Level instance instead of the mirrored Level
Reviewed-by: dfuchs, chegar
2013-10-09 06:24:42 -07:00
Paul Sandoz
ad959161e4 8020061: Clarify reporting characteristics between splits
Reviewed-by: alanb, chegar
2013-10-09 15:19:56 +02:00
Vinnie Ryan
f36ff9e467 8008171: Refactor KeyStore.DomainLoadStoreParameter as a standalone class
Reviewed-by: mullan, weijun
2013-10-09 10:48:44 +01:00
Alan Bateman
508933e418 8008662: Add @jdk.Exported to JDK-specific/exported APIs
Reviewed-by: chegar, vinnie, dfuchs, mchung, mullan, darcy
2013-10-09 09:20:12 +01:00
Rob McKenna
9916c42ef7 7180557: InetAddress.getLocalHost throws UnknownHostException on java7u5 on OSX webbugs
Reviewed-by: chegar, dsamersoff
2013-10-09 00:10:02 +01:00
Phil Race
d0ef16f2c3 7092764: java.awt.font.TransformAttribute.equals(null) throws NPE
Reviewed-by: jgodinez, jchen
2013-09-26 15:06:39 -07:00
Sonali Goel
e60e01be01 8011738: Write test to check for bootstrap attributes for lambda expressions in class file
Reviewed-by: mcimadamore
2013-09-26 15:04:15 -07:00
Alejandro Murillo
a47169e435 8025536: new hotspot build - hs25-b53
Reviewed-by: jcoomes
2013-09-26 13:41:34 -07:00
Alejandro Murillo
66672ae1e2 Added tag hs25-b52 for changeset 54bdf1f141cb 2013-09-26 13:33:02 -07:00
Alejandro Murillo
af2833b77e Merge 2013-09-26 13:33:01 -07:00
Christian Thalinger
cd7bfac363 8024545: make develop and notproduct flag values available in product builds
Reviewed-by: dholmes, kvn
2013-09-26 12:07:53 -07:00
Brent Christian
587ef317c6 8025173: HashMap.put() replacing an existing key can trigger a resize()
Ensure that HashMap is not resized if we're just replacing a value

Reviewed-by: alanb, martin
2013-09-26 11:13:34 -07:00
Vicente Romero
f5a3e39f94 8025139: javac patch for using bootstrap compiler for debugging is not working properly
Reviewed-by: jjg
2013-09-26 19:06:09 +01:00
Jan Lahoda
26b536e23d 8025491: Javac regression test tools/javac/T8003967/DetectMutableStaticFields.java failing
Making HtmlTree.NONENCODING_CHARS final

Reviewed-by: jjg
2013-09-26 20:07:43 +02:00
Christine Lu
a1c24bd839 Added tag jdk8-b109 for changeset a9c63e60bf10 2013-09-26 10:43:59 -07:00
Christine Lu
58d873f65a Added tag jdk8-b109 for changeset 70dd6db0a869 2013-09-26 10:43:55 -07:00
Christine Lu
19c90edea2 Added tag jdk8-b109 for changeset 93c4cdf60be2 2013-09-26 10:43:34 -07:00
Christine Lu
eff5402043 Added tag jdk8-b109 for changeset 839c7fc1db4c 2013-09-26 10:43:28 -07:00
Christine Lu
109e02b793 Added tag jdk8-b109 for changeset 927782ec0a1e 2013-09-26 10:43:25 -07:00
Christine Lu
8f4a717c02 Added tag jdk8-b109 for changeset fbc092143b0b 2013-09-26 10:43:15 -07:00
Christine Lu
b79d965bf3 Added tag jdk8-b109 for changeset 663d34cd5856 2013-09-26 10:43:08 -07:00
Christine Lu
8b333a9914 Added tag jdk8-b109 for changeset 00aead1c2023 2013-09-26 10:43:04 -07:00
Pranav Bhat
b45693ed43 Merge 2013-09-26 11:20:57 -04:00
Lois Foltan
7bf953d005 7195622: CheckUnhandledOops has limited usefulness now
Enable CHECK_UNHANDLED_OOPS in fastdebug builds across all supported platforms.

Reviewed-by: coleenp, hseigel, dholmes, stefank, twisti, ihse, rdurbin
2013-09-26 10:25:02 -04:00
Erik Helin
d057b2bd9a 8025502: Exclude tests due to JDK-8025427
Reviewed-by: ksrini
2013-09-26 16:23:45 +02:00
Weijun Wang
b16be80c6b 8024861: Incomplete token triggers GSS-API NullPointerException
Reviewed-by: mullan
2013-09-27 15:25:18 +08:00
Christian Thalinger
4d086fe704 8019192: StringIndexOutOfBoundsException: in Class.getSimpleName()
Reviewed-by: jrose
2013-09-26 18:20:25 -07:00
Thomas Schatzl
dac5a0401a Merge 2013-09-26 06:34:10 -07:00
Dmitry Zinkevich
e866ac23f9 8025218: [javadoc] some errors in java/awt classes
Reviewed-by: yan
2013-09-26 16:10:36 +04:00
Athijegannathan Sundararajan
34bd48765e Merge 2013-09-26 16:37:21 +05:30
Bertrand Delsart
bc89e6b93f Merge 2013-09-26 04:00:09 -07:00
Thomas Schatzl
4abf168208 Merge 2013-09-26 12:18:21 +02:00
Hannes Wallnöfer
2e8063226d 8025486: RegExp constructor arguments are not evaluated in right order
Reviewed-by: sundar
2013-09-26 11:47:24 +02:00
Pete Brunet
b535463fe4 8025160: Recent Java Accessibility Bridge push has make failures
Reviewed-by: tbell, erikj
2013-09-26 10:48:56 +02:00
Bertrand Delsart
4cbb893adf Merge 2013-09-26 01:30:01 -07:00
Hannes Wallnöfer
abc7352b43 8025197: String replace method fails with regexp /$/gi
Reviewed-by: sundar
2013-09-26 10:14:24 +02:00
Niclas Adlertz
3554ed5490 Merge 2013-09-26 08:48:15 +02:00
Bhavesh Patel
a949e946ab 8004825: javadoc crash DocletAbortException
Reviewed-by: jjg
2013-09-25 22:26:42 -07:00
Jonathan Gibbons
fd9a09c390 8025412: Add legal header and comments to test/tools/doclint/tidy/util/Main.java
Reviewed-by: bpatel
2013-09-25 14:04:24 -07:00
Michael Fang
33c36e737b Merge 2013-09-25 14:02:16 -07:00
Jonathan Gibbons
9692733c7a 8025407: TypeAnnotations does not use Context
Reviewed-by: jfranck
2013-09-25 11:07:05 -07:00
Zhengyu Gu
8aadcd5b28 Merge 2013-09-25 13:03:21 -04:00
Christian Tornqvist
18550f7774 8024492: [TESTBUG] Test library class Platform.java needs to include methods for missing OS's and architectures
Added methods for 32bit, arm, ppc, x64 and x86

Reviewed-by: zgu, hseigel, mseledtsov
2013-09-25 17:47:51 +02:00
Christian Tornqvist
81505a6a57 8024677: [TESTBUG] Move tests for classes in /testlibrary
Moved the tests to /testlibrary_tests and updated TEST.groups

Reviewed-by: dholmes, sla
2013-09-25 17:47:22 +02:00
Bengt Rutisson
dc5131c84d 8025228: assert(new_entry->reserved_words() == vs_word_size) fails in nightly
Reviewed-by: mgerdin, tschatzl, jmasa
2013-09-25 17:23:41 +02:00
William Harnois
3fceb1f277 8025262: new64jre/new64jdk wrappers should be removed, build 32-bit AU during windows-amd64 builds instead
Reviewed-by: amenkov, jqzuo
2013-09-25 10:50:37 -04:00
Hannes Wallnöfer
0414dcb01d 8025434: RegExp lastIndex can exceed int range
Reviewed-by: lagergren, sundar
2013-09-25 16:37:56 +02:00
Michael Fang
ad5dc502a5 Merge 2013-09-25 07:36:37 -07:00
Michael Fang
7fcb1eb269 Merge 2013-09-25 07:36:29 -07:00
Alexander Scherbatiy
b909162f85 7083457: Incomplete specification for javax/swing/text/DefaultCaret.html#setVisible(boolean)
Reviewed-by: malenkov, serb
2013-09-25 17:42:15 +04:00
Dmitry Zinkevich
a9d180056b 8025085: [javadoc] some errors in javax/swing
Reviewed-by: alexsch
2013-09-25 17:35:22 +04:00
Alexander Stepanov
9056e0008c 8025070: [javadoc] fix some javadoc errors in javax/swing/plaf/synth
Reviewed-by: serb, alexsch
2013-09-25 17:08:31 +04:00
Konstantin Shefov
c3a64bea84 8004032: [TEST_BUG] [macosx] There is no effect when double clicking on the Icon, after right clicking on the Icon and the Icon disappear
Reviewed-by: anthony, serb
2013-09-25 16:52:46 +04:00
Petr Pchelko
fe092e9cf3 8024987: Copy/paste regression since JDK8 b86
Reviewed-by: serb, anthony
2013-09-25 16:12:07 +04:00
Alexander Scherbatiy
c0720f17f6 8007155: [macosx] Disabled panel takes mouse input in JLayeredPane
Reviewed-by: serb, anthony
2013-09-25 16:17:42 +04:00
David Simms
d5157be0e8 8023956: Provide a work-around to broken Linux 32 bit "Exec Shield" using CS for NX emulation (crashing with SI_KERNEL)
Execute some code at a high virtual address value, and keep mapped

Reviewed-by: coleenp, zgu
2013-09-25 13:58:13 +02:00
Thomas Schatzl
ab5637182c 7163191: G1: introduce a "heap spanning table" abstraction
Add G1BiasedArray<T> that is an array where each element represents a fixed-sized subdivision of the heap. Use this abstraction to refactor the HeapRegionSeq class.

Reviewed-by: brutisso
2013-09-25 13:25:24 +02:00
Sergey Malenkov
0587e46215 8023310: Thread contention in the method Beans.IsDesignTime()
Reviewed-by: art, sfriberg
2013-09-25 14:06:15 +04:00
Daniel Fuchs
ddddd1d31f 8025140: TEST_BUG: java/util/logging/Logger/getGlobal tests fail due to timeout
Arbitrary timeouts in the tests @run lines where too agressive for some configurations. The tests will now run with default timeout.

Reviewed-by: alanb, mchung
2013-09-25 09:47:24 +02:00
Athijegannathan Sundararajan
f8d5db06b9 8025325: parseFloat does not handle '.' in exponent part
Reviewed-by: hannesw
2013-09-25 08:17:37 +05:30
Bhavesh Patel
2233312946 8016328: Regression : Javadoc i18n regression caused by fix for 8012375
Reviewed-by: jjg
2013-09-24 16:12:06 -07:00
Vladimir Kozlov
0ccb2841ea 8022585: VM crashes when ran with -XX:+PrintInlining
Use adr_at() to access inline info structures in growableArray. Add ability to specify print inlining per method.

Reviewed-by: twisti
2013-09-24 16:08:00 -07:00
Michael Fang
7dac5a00c3 Merge 2013-09-24 14:35:24 -07:00
Michael Fang
6c7b18ed04 Merge 2013-09-24 14:34:55 -07:00
Michael Fang
072f43e117 8025215: jdk8 l10n resource file translation update 4
Reviewed-by: naoto, yhuang
2013-09-24 14:20:33 -07:00
Michael Fang
c5bb090fff 8025215: jdk8 l10n resource file translation update 4
Reviewed-by: naoto, yhuang
2013-09-24 14:17:42 -07:00
Jonathan Gibbons
48d1808d53 8002154: [doclint] doclint should check for issues which are errors in javadoc
Reviewed-by: bpatel
2013-09-24 13:48:12 -07:00
Jonathan Gibbons
e762b2997d 8025272: doclint needs to check for valid usage of @value tag
Reviewed-by: bpatel
2013-09-24 11:46:25 -07:00
Jonathan Gibbons
026c5d7620 8025246: [doclint] doclint is showing error on anchor already defined when it's not
Reviewed-by: bpatel
2013-09-24 10:51:28 -07:00
Jonathan Gibbons
14ceb05e0e 8025050: Doclint doesn't recognize <dfn> tag
Reviewed-by: bpatel
2013-09-24 10:48:11 -07:00
Athijegannathan Sundararajan
93c8cbec9c 8025312: parseInt should convert 'radix' argument to ToInt32 even if empty string is parsed
Reviewed-by: jlaskey, hannesw
2013-09-24 20:43:42 +05:30
Leonid Romanov
c31deb38ac 8022555: [macosx] AppleScriptEngine.jar MUST call java.awt.Toolkit.getDefaultToolkit() lazily
Reviewed-by: anthony, serb
2013-09-24 18:24:03 +04:00
Konstantin Shefov
bdcfc36ee6 8015599: [TEST_BUG] [macosx] Test closed/javax/swing/Popup/TaskbarPositionTest.java fails since JDK 8 b75 on MacOSX
Reviewed-by: alexsch, serb
2013-09-24 18:20:31 +04:00
Vera Akulova
91047d3b07 7133146: [macosx] closed/javax/swing/JInternalFrame/4193219/IconCoord fails on MacOS
Reviewed-by: alexsch, serb
2013-09-24 18:13:24 +04:00
Vera Akulova
036eee0473 7133154: [TEST_BUG] [macosx] closed/javax/swing/JInternalFrame/4251301/bug4251301.java fails on MacOS
Reviewed-by: alexsch, serb
2013-09-24 17:56:32 +04:00
Albert Noll
a2889becd9 7009641: Don't fail VM when CodeCache is full
Allocation in the code cache returns NULL instead of failing the entire VM

Reviewed-by: kvn, iveresov
2013-09-24 15:56:25 +02:00
Vera Akulova
602931b7ce 7124320: [TEST_BUG] [macosx] JComboBox doesn't change selection on mouse over
Reviewed-by: alexsch, serb
2013-09-24 17:46:19 +04:00
Yuri Nesterenko
cde6d64f60 8025117: [cleanup] Eliminate doclint errors in javax/swing/text classes
Reviewed-by: alexsch
2013-09-24 17:04:47 +04:00
Mikael Gerdin
b8363e6615 8025305: Cleanup CardTableModRefBS usage in G1
Move some G1 specific code from CardTableModRefBS to G1SATBCardTableModRefBS.

Reviewed-by: brutisso, tschatzl, ehelin
2013-09-24 14:46:29 +02:00
Thomas Schatzl
b23e1e15a3 Merge 2013-09-27 13:41:07 +02:00
Thomas Schatzl
9149bde0f3 Merge 2013-09-27 11:18:26 +02:00
Mikael Gerdin
27565b7f5d 8025279: metaspace/flags/maxMetaspaceSize throws OOM: out of Compressed Klass space
Only put "Compressed class space" as OOM cause if actually using Compressed class space

Reviewed-by: jwilhelm, stefank, ehelin, coleenp
2013-09-27 10:23:12 +02:00
Thomas Schatzl
bd9ffce267 8014078: G1: improve remembered set summary information by providing per region type information
Add memory consumption breakdown on a per region type in the G1 remembered set summary statistics. This simplifies remembered set memory consumption analysis.

Reviewed-by: brutisso
2013-09-26 12:49:45 +02:00
Yuri Nesterenko
560d55440f 8025230: [cleanup] some more javadoc formatting fixes for swing
Reviewed-by: alexsch
2013-09-24 16:36:00 +04:00
Yuri Nesterenko
af333dc7bb 8025114: Eliminate doclint errors in java.awt.dnd package javadoc
Reviewed-by: serb, alexsch
2013-09-24 12:25:50 +04:00
Thomas Schatzl
83ed895a75 Merge 2013-09-24 10:14:02 +02:00
Eric McCorkle
c101eca6bb 6499673: Assertion check for TypeVariable.getUpperBound() fails
Fix TypeVariable.getUpperBound to return results as specified

Reviewed-by: jjg
2013-09-23 15:37:59 -04:00
Alexander Zvegintsev
b99f593316 8019282: keyRelesed is reached even though key was NOT released
Reviewed-by: serb, anthony
2013-09-23 21:24:34 +04:00
Ioi Lam
522051490c 8025088: Missing cases for JVM_CONSTANT_MethodHandleInError cause crash if debugger steps into error-tagged method handle
Need to refetch each method from InstanceKlass after all safepoints.  Removed leaky PreviousVersionInfo code.

Reviewed-by: coleenp, sspitsyn
2013-09-23 08:56:19 -07:00
Alexander Zuev
e815841576 4881267: improve diagnostic for "instanceof T" for type parameter T
Reviewed-by: vromero, jjg
2013-09-23 18:29:27 +04:00
Sergey Bylokhov
10ff8a3aa4 7172833: For default java.awt.Toolkit impl methods java.awt.Toolkit.is/setDynamicLayout() are not consistent
Reviewed-by: alexsch, anthony
2013-09-23 17:55:36 +04:00
Alexander Zuev
eacd2bcb72 7154966: CRs found to be in Fixed state with no test and no noreg- keyword
Reviewed-by: ksrini
2013-09-23 17:27:38 +04:00
Sergey Bylokhov
cac6b55e4e 8005255: [macosx] Cleanup warnings in sun.lwawt
Reviewed-by: alexsch, anthony
2013-09-23 16:17:26 +04:00
Konstantin Shefov
9ca087d600 8015600: [TEST_BUG] [macosx] Test closed/javax/swing/plaf/basic/BasicMenuUI/4983388/bug4983388.java fails since JDK 8 b75 on MacOSX
Reviewed-by: alexsch, serb
2013-09-23 16:14:42 +04:00
Athijegannathan Sundararajan
d4102fea81 Merge 2013-09-23 14:20:45 +05:30
Andreas Lundblad
48774216f2 6386236: Please rename com.sun.tools.javac.util.ListBuffer.lb()
Static factory method ListBuffer.lb removed. Replaced by constructor calls.

Reviewed-by: jfranck, jjg
2013-09-23 10:42:38 +02:00
Andreas Lundblad
a2a38c6b65 8024988: javac, LVT test harness should generate tests .class files in the scratch folder
Set the CLASS_OUTPUT location to the scratch directory. Changed the argument to checkClassFile accordingly.

Reviewed-by: jjg, vromero
2013-09-23 10:10:07 +02:00
Lana Steuck
186556ad21 Merge 2013-09-22 20:20:38 -07:00
Dmitry Samersoff
401160ea8a Merge 2013-09-22 18:07:43 +02:00
Dmitry Samersoff
4d6a0655f9 7133122: SA throws sun.jvm.hotspot.debugger.UnmappedAddressException when it should not
Replace PT_LOAD segment with library segment when necessary

Reviewed-by: dholmes, sla
2013-09-22 18:49:09 +04:00
Yasumasa Suenaga
5bc8cd08aa 6989981: jstack causes "fatal error: ExceptionMark destructor expects no pending exceptions"
Reviewed-by: sla, dsamersoff
2013-09-22 06:31:43 -07:00
Vicente Romero
70e873ec73 8024696: Missing null check in bound method reference capture
Reviewed-by: jjg, briangoetz
2013-09-22 12:53:03 +01:00
Hannes Wallnöfer
1508b37a51 8025163: Date methods should not return -0
Reviewed-by: lagergren, jlaskey
2013-09-21 10:11:15 +02:00
Stefan Karlsson
22272f5043 8025096: Move the ChunkManager instances out of the VirtualSpaceLists
Reviewed-by: coleenp, mgerdin, jmasa
2013-09-21 10:09:42 +02:00
Jiangli Zhou
624cd5b34a Merge 2013-09-20 20:19:52 -07:00
Lana Steuck
89fc1030c1 Merge 2013-09-20 19:17:04 -07:00
Lana Steuck
e432d5256a Merge 2013-09-20 19:16:55 -07:00
Daniel D. Daugherty
80b2573b1c Merge 2013-09-20 18:19:07 -07:00
Coleen Phillimore
8b0c5e2524 Merge 2013-09-21 01:45:29 +02:00
Coleen Phillimore
42589e0f11 8014956: nashorn/api/javaaccess/MethodAccessTest.java test fails on sparc-solaris 64
Reference_map[] array had uninitialized junk that was causing a bogus bootstrap method to be found.

Reviewed-by: hseigel, dcubed, sspitsyn
2013-09-20 18:34:00 -04:00
Daniel D. Daugherty
156b06d897 Merge 2013-09-20 12:58:35 -07:00
Bill Pittore
3f2082ef80 8014911: Should use SUPPORTS_NATIVE_CX8 define to help C/C++ compiler elide blocks of code
If SUPPORTS_NATIVE_CX8 true then supports_cx8() function hard coded to return 'true'

Reviewed-by: kvn, twisti, dholmes
2013-09-20 15:06:23 -04:00
Alejandro Murillo
c368a33bf7 8025127: new hotspot build - hs25-b52
Reviewed-by: jcoomes
2013-09-20 11:17:04 -07:00
Mikael Gerdin
04f41894db Merge 2013-09-20 10:34:41 -07:00
Athijegannathan Sundararajan
e259f89913 8025149: JSON.stringify does not handle 'space' argument as per the spec
Reviewed-by: jlaskey, hannesw
2013-09-20 22:37:08 +05:30
Athijegannathan Sundararajan
f996a92b3b 8025147: Trailing comma is not allowed in JSONArray and JSONObject
Reviewed-by: hannesw, jlaskey
2013-09-20 20:55:43 +05:30
Sergey Malenkov
e4e708cefd 7024235: Nimbus L&F: wrong "packing" of a frame containing tabbed pane
Reviewed-by: alexsch
2013-09-20 18:56:41 +04:00
Jan Lahoda
9f6d1df747 8023835: TreeMaker.QualIdent() too leafy
Reviewed-by: jjg
2013-09-20 16:33:35 +02:00
Coleen Phillimore
ffb0a9d569 Merge 2013-09-20 09:44:04 -04:00
Vera Akulova
d35ad4fbaf 7124232: [TEST_BUG] [macosx] JSplitPane has wrong divider location
Reviewed-by: alexsch, serb
2013-09-20 17:35:45 +04:00
Coleen Phillimore
ec5e07f810 8022887: Assertion hit while using class and redefining it with RedefineClasses simultaneously
Need to refetch each method from InstanceKlass after all safepoints.  Removed leaky PreviousVersionInfo code.

Reviewed-by: dcubed, sspitsyn
2013-09-20 09:30:02 -04:00
Vera Akulova
ae556f32b9 8017180: [macosx] [TEST_BUG] alt-key doesn't work on macos for menu
Reviewed-by: alexsch, serb
2013-09-20 17:16:45 +04:00
Vera Akulova
62b5b716a0 7124314: [TEST_BUG] [macosx] Aqua LAF: JTree doesn't select element by keyboards left and right keys
Reviewed-by: alexsch, serb
2013-09-20 17:07:11 +04:00
Hannes Wallnöfer
82156b393c 8022587: ClassCache is not optimal and leaks Source instances
Reviewed-by: lagergren, attila
2013-09-20 12:11:08 +02:00
Stefan Karlsson
bbb009b580 8025059: Metspace::should_expand mixes bytes and words in check against MaxMetaspaceSize
Reviewed-by: coleenp, brutisso, mgerdin, jmasa
2013-09-20 11:00:38 +02:00
Per Liden
de71bd1049 8024974: Incorrect use of GC_locker::is_active()
SymbolTable and StringTable can make calls to GC_locker::is_active() outside a safepoint. This isn't safe because the GC_locker active state (lock count) is only updated at a safepoint and only remains valid as long as _needs_gc is true. However, outside a safepoint_needs_gc can change to false at any time, which makes it impossible to do a correct call to is_active() in that context. In this case these calls can just be removed since the input argument to basic_add() should never be on the heap and so there's no need to check the GC_locker state. This change also adjusts the assert() in is_active() to makes sure all calls to this function are always done under a safepoint.

Reviewed-by: brutisso, dcubed
2013-09-20 10:53:28 +02:00
Athijegannathan Sundararajan
337cfe593f 8025111: undefined or null 'with' expression in empty with block should throw TypeError
Reviewed-by: lagergren, hannesw
2013-09-20 12:56:07 +05:30
Werner Dietl
8b909ba558 8025110: TreeCopier does not correctly copy LabeledStatementTree
Reviewed-by: jjg
2013-09-19 19:18:37 -07:00
Vicente Romero
e3d450e3d3 8024437: Inferring the exception thrown: sometimes fails to compile
Reviewed-by: jjg
2013-09-19 20:57:37 +01:00
Leonid Romanov
bf404f9ad8 7129133: [macosx] Accelerators are displayed as Meta instead of the Command symbol
Reviewed-by: anthony, serb
2013-09-19 23:46:15 +04:00
Alexander Potochkin
721272b6c0 7144065: [macosx] Orphaned Choice popup window
Reviewed-by: anthony, serb
2013-09-19 22:33:21 +04:00
Athijegannathan Sundararajan
996bf0feef 8025090: 'while' statement with 'test' using var before being declared in body results in VerifyError
Reviewed-by: jlaskey
2013-09-19 23:48:37 +05:30
Pranav Bhat
327876cd30 Merge 2013-09-19 14:01:25 -04:00
Athijegannathan Sundararajan
d6f64ae009 8025080: Object literal getter, setter function with number format property name results in ClassFormatError
Reviewed-by: lagergren, hannesw
2013-09-19 21:20:47 +05:30
Fredrik Öhrström
5db62ec900 8024609: sjavac assertion fails during call to BuildState.collectArtifacts
Reviewed-by: jjg
2013-09-19 08:26:26 -07:00
Jan Lahoda
1c9e7a8edc 8022567: Javac Should Generate Warnings For Raw Array Type
Reviewed-by: jjg
2013-09-19 17:05:08 +02:00
Harold Seigel
a1f3a95880 8024517: runtime/CDSCompressedKPtrs/XShareAuto.java failed with RuntimeException
Make sure CDS is off by default when running server compiler.

Reviewed-by: dholmes, coleenp
2013-09-19 11:04:23 -04:00
Hannes Wallnöfer
3d49dcdd9a 8023154: compileAllTests fails with: 2 tests failed to compile
Reviewed-by: sundar, jlaskey
2013-09-19 15:39:01 +02:00
Alexander Zuev
ca51d27ee3 8017248: Compiler Diacritics Issue
Reviewed-by: naoto
2013-09-19 17:05:32 +04:00
Athijegannathan Sundararajan
c2859f0bca 8025048: true as case label results in ClassCastException
Reviewed-by: lagergren
2013-09-19 13:34:01 +05:30
Kevin Walls
d2b68f0d0f Merge 2013-09-19 08:47:46 +02:00
Bhavesh Patel
2be05076f8 8024096: some javadoc tests may contain false positive results
Reviewed-by: jjg
2013-09-18 22:47:06 -07:00
Bhavesh Patel
484e378a9d 8015249: javadoc fails to document static final fields in annotation types
Reviewed-by: jjg
2013-09-18 17:13:26 -07:00
Mike Duigou
82705bda51 8024826: (s) : Remove alt-rt.jar, used by +AggressiveOps
Reviewed-by: alanb, chegar, dholmes, ksrini
2013-09-18 20:08:00 -04:00
Lana Steuck
e05ff03241 Merge 2013-09-18 16:01:37 -07:00
Kevin Walls
191f6c346d Merge 2013-09-18 19:50:44 +02:00
Vladimir Ivanov
8e924e70a6 8024616: JSR292: lazily initialize core NamedFunctions used for bootstrapping
Reviewed-by: jrose
2013-09-18 20:12:05 +04:00
Vladimir Ivanov
b91ee23895 8001107: @Stable annotation for constant folding of lazily evaluated variables
Co-authored-by: John Rose <john.r.rose@oracle.com>
Reviewed-by: twisti, kvn, rbackman
2013-09-23 19:51:40 +04:00
Mike Duigou
2a3c1e97b2 8025686: Update jdk repo netbeans projects to support NetBeans 7.4 for Java 8 support
Reviewed-by: lancea, chegar
2013-10-01 10:37:05 -07:00
Mike Duigou
bf70514208 8025067: Unconditionally throw NPE if null op provided to Arrays.parallelPrefix
Reviewed-by: henryjen, chegar, psandoz
2013-10-01 10:23:00 -07:00
Stephen Colebourne
8fd60ce581 7057785: Add note about optional support of recursive methods for self-referential Collection/Map
Reviewed-by: scolebourne, darcy, mduigou
2013-09-30 15:50:06 -07:00
Aleksei Efimov
2a5d8d6d8c 8024707: TransformerException : item() return null with node list of length != 1
Reviewed-by: joehw, lancea
2013-10-01 17:15:43 +04:00
Paul Sandoz
223c6bf379 8024408: Specifications for Collection/List/Set/SortedSet.spliterator() need to document if all the (subclass) instances are required to return SIZED spliterators
Reviewed-by: alanb
2013-10-01 12:19:20 +02:00
Naoto Sato
3debf156b1 8016110: Japanese char (MS932) 0x5C cannot be used as an argument when quoted
Reviewed-by: ksrini, akhil
2013-09-30 16:15:49 -07:00
Leonid Romanov
5108c579fe 7188071: closed/java/awt/TrayIcon/TrayIconSecurity/GrantedTrayIconTest fails
Reviewed-by: anthony, serb
2013-09-18 18:36:57 +04:00
Daniel D. Daugherty
41bce440a4 8019835: Strings interned in different threads equal but does not ==
Add -XX:+VerifyStringTableAtExit option and code to verify StringTable invariants.

Reviewed-by: rdurbin, sspitsyn, coleenp
2013-09-18 07:02:10 -07:00
Sergey Gabdurakhmanov
c5c705217b 8022836: JVM crashes in JVMTIENVBASE::GET_CURRENT_CONTENDED_MONITOR and GET_OWNED_MONITOR
Check that the _java_thread parameter is valid when it is possible that the JavaThread has exited after the initial checks were made in generated/jvmtifiles/jvmtiEnter.cpp: jvmti_GetCurrentContendedMonitor()

Reviewed-by: dcubed, dsamersoff
2013-09-18 16:48:49 +04:00
Andreas Lundblad
775822bed7 8024127: javac, Code_attribute.exception_table_langth should be Code_attribute.exception_table_length
Exception_table_langth renamed to exception_table_length

Reviewed-by: jfranck, jjg
2013-09-18 14:39:27 +02:00
Mikhail Cherkasov
dae6feeefd 8016746: Test javax/swing/JTable/7068740/bug7068740.java fails
Reviewed-by: serb, alexsch
2013-09-18 15:12:13 +04:00
Athijegannathan Sundararajan
8f90571322 8024973: Using a different ScriptContext with a CompiledScript results in ScriptException
Reviewed-by: jlaskey, hannesw
2013-09-18 16:36:25 +05:30
Anton Tarasov
cebaf1314e 8024839: [Unified Swing/Fx threading] don't schedule an event dispatching from the event dispatch thread
Reviewed-by: anthony, pchelko
2013-09-18 12:25:13 +04:00
Athijegannathan Sundararajan
e287ff4ec9 8024972: for (LeftHandSideExpression in Expression) crashes the compiler
Reviewed-by: lagergren, hannesw
2013-09-18 13:06:17 +05:30
Jonathan Gibbons
7cc012b008 8024538: -Xdoclint + -Xprefer:source + incremental compilation == FAIL
Reviewed-by: darcy
2013-09-17 14:17:13 -07:00
Peter Allwin
86d8a77b06 7196151: ParserTest SEGv on solaris
Reviewed-by: sla, coleenp, ctornqvi, dsamersoff
2013-09-17 17:16:28 +02:00
Omair Majid
38fb96b8d1 8024863: X11: Support GNOME Shell as mutter
Reviewed-by: anthony
2013-09-16 15:43:06 -04:00
Petr Pchelko
cc5b6c903d 8024485: For 5-1 step: if input something into the 'File:' and 'Dir:', the dir output isn't empty in the output window after showing and canceling the file dialog
Reviewed-by: serb, anthony
2013-09-16 19:44:47 +04:00
Petr Pchelko
9d4a780ccd 8024779: [macosx] SwingNode crashes on exit
Reviewed-by: anthony, ant
2013-09-16 19:38:32 +04:00
Konstantin Shefov
441fa0cc1d 8015588: [TEST_BUG] [macosx] Test java/awt/MenuBar/MenuBarSetFont/MenuBarSetFont.java fails on MacOSX
Reviewed-by: anthony, serb
2013-09-16 19:21:50 +04:00
Konstantin Shefov
52cf3b81e7 7020060: [TEST_BUG] java/awt/FullScreen/TranslucentWindow/TranslucentWindow.java failed
Reviewed-by: anthony, serb
2013-09-16 19:15:53 +04:00
Anton Tarasov
70ab336e38 8022512: JLightweightFrame: the content pane should be transparent
Reviewed-by: anthony
2013-09-16 18:00:06 +04:00
Alexander Scherbatiy
5b376db4f0 8008728: [macosx] Swing. JDialog. Modal dialog goes to background
Reviewed-by: serb
2013-09-16 17:45:07 +04:00
Stephen Colebourne
ea9e3930af 8024834: Better return type for TemporalField resolve
Allow resolve method to return more than just ChronoLocalDate

Reviewed-by: sherman
2013-09-14 22:54:38 +01:00
Stephen Colebourne
2040c66b16 8024807: Add getChronlogy() to CLDT/CZDT
Alternative to method is clunky and hard to find

Reviewed-by: sherman
2013-09-14 22:50:40 +01:00
Roger Riggs
d18aae693d 8024999: Instant.Parse typo in example
Javadoc only fix to correct example to use "." and "Z"

Reviewed-by: sherman
2013-10-04 12:01:29 -04:00
Stephen Colebourne
c492e4ef1f 8024835: Change until() to accept any compatible temporal
Method until(Temporal,TemporalUnit) now uses from() to convert; Enhance from() methods where necessary

Reviewed-by: sherman
2013-09-14 22:46:49 +01:00
Chris Hegarty
db6134b0fa Merge 2013-09-14 20:46:37 +01:00
Chris Hegarty
4ba170ec9c Merge 2013-09-14 20:43:34 +01:00
Chris Hegarty
7c654a1c98 Merge 2013-09-14 19:40:07 +01:00
Chris Hegarty
485899f51a Merge 2013-09-14 19:21:07 +01:00
Petr Pchelko
a7d4eaed9a 8012026: [macosx] Component.getMousePosition() does not work in an applet on MacOS
Reviewed-by: anthony, serb
2013-09-13 18:02:18 +04:00
Konstantin Shefov
6578d6acad 8015597: [TEST_BUG] [macosx] Test closed/javax/swing/JMenuBar/4750590/bug4750590.java fails since JDK 8 b75 on MacOSX
Reviewed-by: alexsch, serb
2013-09-13 17:58:05 +04:00
Konstantin Shefov
fee5a04c7b 8006087: [TEST_BUG] The BACKSPACE key doesn't work and after pressing 'cancel' and 'DONE' button, the case pass automatically
Reviewed-by: alexsch, serb
2013-09-13 17:54:45 +04:00
Mikhail Cherkasov
d52e73dc35 8015601: [macosx] Test javax/swing/JInternalFrame/InternalFrameIsNotCollectedTest.java fails on MacOS X
Reviewed-by: alexp, alexsch
2013-09-13 17:48:37 +04:00
Petr Pchelko
2527551f1d 8015455: java/awt/dnd/DisposeFrameOnDragCrash/DisposeFrameOnDragTest.java hangs on windows
Reviewed-by: serb, anthony
2013-09-13 17:41:47 +04:00
Petr Pchelko
d6a839a638 8015371: The HTML text without tags does not appear inside the WordPad application, and we try to click the button, but the case exits
Reviewed-by: anthony, serb
2013-09-13 17:38:28 +04:00
Petr Pchelko
0960c5ec56 8015453: java/awt/DataFlavor/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.java failed on windows with jdk8 since b86
Reviewed-by: art, serb
2013-09-13 17:25:31 +04:00
Jim Laskey
0c591dfd13 Merge 2013-09-13 10:15:36 -03:00
Jim Laskey
d068fafe89 Merge 2013-09-13 10:14:55 -03:00
Petr Pchelko
295225d57e 8024170: [SwingNode] Implement cursor change
Reviewed-by: anthony, ant
2013-09-13 11:58:39 +04:00
Pranav Bhat
2ecb8771a8 Merge 2013-09-12 12:08:55 -04:00
Dmitry Markov
1ef8009ccf 8024395: Improve fix for line break calculations
Reviewed-by: alexp, alexsch
2013-09-12 18:44:14 +04:00
Sergey Bylokhov
d8c5dcc1fc 7124537: [macosx] Menu shortcuts for all menu items should be disabled if a menu itself is disabled
Reviewed-by: anthony, leonidr
2013-09-12 18:21:06 +04:00
Oleg Pekhovskiy
fcb6d58798 7064312: Cleanup: avoid using unsafe string function
Reviewed-by: serb, pchelko
2013-09-12 15:50:25 +04:00
Oleg Pekhovskiy
9c2e380d22 8003965: Toolkit.beep() documentation is ambiguous
Reviewed-by: anthony
2013-09-12 14:56:20 +04:00
Leonid Romanov
e9128877e7 8003901: [macosx] Need test for JDK-8002114
Reviewed-by: anthony, serb
2013-09-10 20:42:15 +04:00
Sergey Malenkov
4ac63f2df4 8024407: [macosx] javax/swing/JScrollBar/7163696/Test7163696.java failed intermittently on macos
Reviewed-by: alexsch
2013-09-10 17:12:32 +04:00
Sergey Malenkov
1568ef9e85 7057770: (spec)Scrollbar spec should specify that unit increment & decrement functionality may not be present
Reviewed-by: alexsch
2013-09-10 17:06:38 +04:00
Alexander Scherbatiy
92bfcc0db0 8021253: JFileChooser does not react on pressing enter since java 7
Reviewed-by: malenkov
2013-09-10 14:33:48 +04:00
Petr Pchelko
1a1a6829fa 8024381: The test for 8020210 does not have @bug tag
Reviewed-by: anthony, serb
2013-09-10 11:00:21 +04:00
Sergey Bylokhov
cda1bfff5a 8023042: Inaccuracy in documentation in a sound area
Reviewed-by: prr
2013-09-09 21:03:07 +04:00
Alexander Scherbatiy
dfacc4e272 8020060: MoleculeViewerTest demo doesn't work due to SecurityPermissions
Reviewed-by: malenkov, erikj
2013-09-09 18:34:12 +04:00
Alexander Scherbatiy
51205b7e55 8024413: Add tests for issues JDK-8002077 and JDK-7199708
Reviewed-by: malenkov, leonidr
2013-09-09 17:14:51 +04:00
Lana Steuck
54a198badd Merge 2013-09-06 15:09:44 -07:00
Chris Hegarty
0983a5be41 Merge 2013-09-06 10:05:08 +01:00
Chris Hegarty
dad1968ad6 Merge 2013-09-06 09:55:59 +01:00
Chris Hegarty
f2c84abdb4 Merge 2013-09-06 09:48:54 +01:00
Chris Hegarty
18f0e54e81 Merge 2013-09-06 09:41:21 +01:00
Pranav Bhat
3a70caa025 Merge 2013-09-05 11:23:45 -04:00
Anton Nashatyrev
8053376ea2 8023392: Swing text components printed with spaces between chars
Reviewed-by: alexsch, alexp
2013-09-05 15:37:40 +04:00
Stephen Colebourne
61fc7dfe0c 8023762: Add ChronoPeriod interface and bind period to Chronology
Make Period ISO-only, adding a Chronology-specific period concept

Reviewed-by: sherman
2013-09-04 15:18:54 +01:00
Mikhail Cherkasov
b33bcb9185 8023565: JPG causes javax.imageio.IIOException: ICC APP2 encoutered without prior JFIF
Reviewed-by: bae, vadim
2013-09-04 18:12:49 +04:00
Alexander Zvegintsev
1530a30f52 8021943: FileDialog getFile returns corrupted string after previous setFile
Reviewed-by: anthony, serb
2013-09-04 14:32:13 +04:00
Sergey Malenkov
22039ebd3e 7172865: PropertyDescriptor fails to work with setter method name if setter is non-void
Reviewed-by: art, alexsch
2013-09-03 21:53:14 +04:00
Alexander Scherbatiy
6ffe7bb513 8007156: [macosx] Wrong events in processKeyBinding of JTable Submit Date
Reviewed-by: leonidr
2013-09-03 17:27:20 +04:00
Sergey Malenkov
4247113e6a 6943780: JTabbedPane throws ArrayIndexOutOfBoundsException sometimes
Reviewed-by: alexsch
2013-09-03 11:00:06 +04:00
Anthony Scarpino
e9806ae426 8009438: sun/security/pkcs11/Secmod tests failing on Ubuntu 12.04
Reviewed-by: vinnie
2013-09-02 09:52:08 -07:00
Anthony Scarpino
cf7cbcdce8 8004283: test/sun/security/pkcs11/KeyStore/SecretKeysBasic.sh failing intermittently
Reviewed-by: vinnie
2013-09-18 14:57:29 -07:00
Anthony Scarpino
bae7582243 7122707: Security Providers need to have their version numbers updated for JDK8
Reviewed-by: xuelei
2013-09-19 11:59:14 -07:00
Peter Allwin
2f5f83e38c 8012923: [parfait] File Descriptor Leak in jdk/src/windows/demo/jvmti/hprof/hprof_md.c
Reviewed-by: chegar, sla, sspitsyn, mgronlun
2013-09-30 14:28:53 +02:00
Srikalyan Chandrashekar
a0509f709c 8022184: Fix static , Raw warnings in classes belonging to java.awt
Reviewed-by: art, anthony
2013-09-02 16:48:51 +04:00
Sergey Malenkov
24f316c861 7156658: JTextComponent.setFocusAccelerator() spec does not state that focus accelerator is L&F dependent
Reviewed-by: alexsch
2013-09-02 14:06:24 +04:00
Pranav Bhat
ab1bd7e7e3 Merge 2013-08-30 10:14:15 -04:00
Stephen Colebourne
75fb106fec 8023763: Rename ChronoDateImpl
Rename ChronoDateImpl to ChronoLocalDateImpl

Reviewed-by: sherman
2013-08-30 11:43:57 +01:00
Alexander Scherbatiy
f8b0bf1b23 8022401: [macosx] javax/swing/text/JTextComponent/5074573/bug5074573.java fails
Reviewed-by: anthony
2013-08-30 13:28:15 +04:00
Chris Hegarty
bed1164562 Merge 2013-08-30 10:17:10 +01:00
Chris Hegarty
574a7e7427 Merge 2013-08-30 10:15:43 +01:00
Chris Hegarty
b0869ac186 Merge 2013-08-30 09:48:22 +01:00
Chris Hegarty
369c079b32 Merge 2013-08-30 09:37:29 +01:00
Petr Pchelko
2e5604d06b 8023966: JViewPort.BLIT_SCROLL_MODE does not work in JLightweightFrame
Reviewed-by: anthony, ant
2013-08-30 11:11:53 +04:00
Stephen Colebourne
c762984485 8023764: Optimize Period addition
Optimise plus/minus for common cases

Reviewed-by: sherman
2013-08-29 20:38:46 +01:00
Vinnie Ryan
cbe29b7b72 8008296: keytool utility doesn't support '-importpassword' command
Reviewed-by: weijun
2013-10-04 16:05:55 +01:00
Peter Allwin
f426e35d99 8025829: Add java/lang/instrument/RetransformBigClass.sh to problemlist
Reviewed-by: sla, jbachorik
2013-10-04 15:00:42 +02:00
Roger Riggs
1e581e11ea 8024427: Missing java.time.chrono serialization tests
Add tests and cleanup existing serialization tests

Reviewed-by: sherman
2013-10-03 15:16:14 -04:00
Erik Helin
ef64db06e2 8014659: NPG: performance counters for compressed klass space
Reviewed-by: jmasa, sla
2013-08-29 11:08:42 +02:00
Lana Steuck
e1e880abee Merge 2013-09-22 20:21:11 -07:00
Ivan Gerasimov
06571ae862 8023130: (process) ProcessBuilder#inheritIO does not work on Windows
Reviewed-by: alanb, martin
2013-09-23 04:05:42 +01:00
Lana Steuck
170f727b62 Merge 2013-09-20 19:15:59 -07:00
Paul Sandoz
57f84d8637 8024341: j.u.regex.Pattern.splitAsStream() doesn't correspond to split() method if using an example from the spec
Reviewed-by: alanb
2013-09-20 17:11:32 -07:00
Brian Burkhalter
ca9e74c63d 8024331: j.u.Map.computeIfPresent() default/nondefault implementations don't throw NPE if the remappingFunction is null and the key is absent
Explicitly check for null remappingFunction parameter.

Reviewed-by: mduigou, forax, psandoz
2013-09-20 15:12:05 -07:00
Doug Lea
851fd0447e 8024253: ThreadLocal random can use SecureRandom for the initial seed
Co-authored-by: Peter Levart <peter.levart@gmail.com>
Co-authored-by: Guy Steele <guy.steele@oracle.com>
Reviewed-by: psandoz, chegar, alanb
2013-09-20 11:07:06 -07:00
Staffan Larsen
fdef74ade2 7200277: [parfait] potential buffer overflow in npt/utf.c
Reviewed-by: dsamersoff, dcubed
2013-09-20 16:40:32 +02:00
Alexander Zuev
e5fa00ffb5 8025076: Fix for JDK-8017248 breaks jprt submission for non-unicode locales
Reviewed-by: naoto, ksrini
2013-09-20 17:56:54 +04:00
Staffan Larsen
a066da5d4d 8024416: TESTBUG: com/sun/jdi/MethodEntryExitEvents.java: method entry count mismatch
Reviewed-by: dcubed
2013-09-20 10:15:02 +02:00
Staffan Larsen
6de8695342 8024985: com/sun/jdi/StepTest.java failed since jdk8b107
Reviewed-by: dcubed
2013-09-20 10:14:35 +02:00
Paul Sandoz
0f59d418d8 8024405: Spliterators.spliterator should support CONCURRENT characteristic
Reviewed-by: martin
2013-09-19 20:41:54 -07:00
Paul Sandoz
3a559a7ea0 8025002: "".codePoints().sorted().iterator().hasNext() causes NegativeArraySizeException
Reviewed-by: henryjen, alanb
2013-09-18 10:49:34 -07:00
Xueming Shen
6ea068de3a 8023113: tools/jar/ChangeDir.java fails if /tmp/a exists
Updated the test case

Reviewed-by: alanb
2013-09-19 10:06:30 -07:00
Peter Levart
c7759dc643 8011940: java.lang.Class.getAnnotations() always enters synchronized method
Reviewed-by: jfranck, chegar, psandoz, shade
2013-09-19 16:14:13 +02:00
Alexander Zuev
100b98aafa 8017248: Compiler Diacritics Issue
Reviewed-by: naoto
2013-09-19 17:04:45 +04:00
Eric Wang
8290ada96c 8015762: TEST_BUG: java/nio/channels/DatagramChannel/AdaptDatagramSocket.java failing intermittently [win]
Reviewed-by: chegar, alanb
2013-09-18 15:13:10 +01:00
Weijun Wang
ac8db73a7c 8011402: Move blacklisting certificate logic from hard code to data
Reviewed-by: erikj, mullan
2013-09-18 21:37:45 +08:00
Alan Bateman
2785e7d00a 8024883: (se) SelectableChannel.register throws NPE if fd >= 64k (lnx)
Co-authored-by: Norman Maurer <nmaurer@redhat.com>
Reviewed-by: alanb, coffeys
2013-09-18 14:10:24 +01:00
Weijun Wang
5ae304e238 8012615: Realm.getRealmsList returns realms list in wrong
Reviewed-by: valeriep, xuelei
2013-09-18 18:22:49 +08:00
Shanliang Jiang
81cd0a8738 8023954: MBean*Info.equals: throw NPE
Reviewed-by: dfuchs, dholmes
2013-09-18 08:51:23 +02:00
Sergey Malenkov
0628977a7a 6968363: ClassCastException while entering HINDI characters with CustomDocument
Reviewed-by: alexsch
2013-08-28 17:32:25 +04:00
Pete Brunet
25d12a300b 8011955: Lunar screen reader crashes intermittently in WindowsAccessBridge-32.DLL
6995891: JAWS will occasionally stop speaking focused objects as user TABs -> problem with message queue
8014738: Combobox menu items are not announced with JAWS
8011938: Java Ferret example corrupts JCombobox of the running application
8012011: JAB 2.0.2 incompletely shows kbd accelerator in menus
8022966: Java Access Bridge no longer usable with screen magnifiers

Reviewed-by: raginip, tbell, erikj, art
2013-08-28 17:25:35 +04:00
Lana Steuck
a9582521c6 Merge 2013-08-27 21:46:00 -07:00
Jim Laskey
18aaeb732d Merge 2013-08-27 16:06:01 -03:00
Jim Laskey
151b1b6186 Merge 2013-08-27 16:05:30 -03:00
Sergey Malenkov
e304fd35a0 8022398: javax/swing/JFileChooser/8013442/Test8013442.java fails
Reviewed-by: alexsch
2013-08-27 13:37:38 +04:00
Sergey Malenkov
6dd078f94a 8021379: JFileChooser Create New Folder button enabled in write proteced directory
Reviewed-by: alexsch
2013-08-27 13:13:32 +04:00
Sergey Malenkov
6018c4e07f 7195179: ClassCastException for null values in JComboBox
Reviewed-by: alexsch
2013-08-27 12:53:46 +04:00
Dmitry Markov
670c332996 8023474: First mousepress doesn't start editing in JTree
Reviewed-by: alexp, anthony
2013-08-26 17:21:48 +04:00
Ioi Lam
e412d7e8d1 8023683: Enhance class file parsing
Use the value returned by REALLOC_RESOURCE_ARRAY()

Reviewed-by: coleenp, ahgross
2013-08-24 00:14:46 -07:00
Chris Hegarty
e3149a4bcb Merge 2013-08-30 09:50:49 +01:00
Chris Hegarty
9b9f3253d3 Merge 2013-08-23 22:12:54 +01:00
Chris Hegarty
5f297ddc8d Merge 2013-08-23 22:12:39 +01:00
Chris Hegarty
8a6df7dcad Merge 2013-08-23 22:12:35 +01:00
Chris Hegarty
23d732b2ec Merge 2013-08-23 22:12:18 +01:00
Chris Hegarty
87251c406a Merge 2013-08-23 22:11:59 +01:00
Sergey Malenkov
a7e60f4913 7080613: java.beans.DefaultPersistenceDelegate.instantiate(..) doesn't throw NPE
Reviewed-by: alexsch
2013-08-23 19:29:39 +04:00
Pranav Bhat
03a4f0cd79 Merge 2013-08-23 09:45:35 -04:00
Chris Hegarty
8a04810f35 Merge 2013-08-23 12:32:18 +01:00
Sergey Malenkov
df7849845e 7057769: JScrollBar spec should specify that unit increment & decrement functionality may not be present
Reviewed-by: alexsch
2013-08-22 21:05:11 +04:00
Paul Rank
a4b39faa4f 8024896: Refactor java.time serialization tests into separate subpackage
Move serialization tests to .serial subpackage

Reviewed-by: sherman
2013-08-22 10:01:47 -07:00
Sergey Malenkov
eaece57c8d 8023536: Some regression tests have a wrong header
Reviewed-by: alexsch
2013-08-22 17:17:25 +04:00
Joe Wang
b3505de640 8022682: Supporting XOM
Reviewed-by: alanb, chegar, lancea
2013-08-20 09:02:25 -07:00
Erik Joelsson
1b5eaa621e 8015614: Update build settings
Reviewed-by: tbell, dholmes, ahgross
2013-08-19 17:47:21 +02:00
Mark Sheppard
49058214db 8022940: Enhance CORBA translations
Reviewed-by: coffeys, alanb, skoivu
2013-08-19 15:22:59 +01:00
Erik Joelsson
c130ed3660 8023231: Remove comma from jtreg bug line
Reviewed-by: alanb, chegar
2013-08-19 14:48:08 +02:00
Erik Joelsson
73ddb82395 8022719: tools/launcher/RunpathTest.java fails after 8012146
Reviewed-by: chegar
2013-08-19 12:30:48 +02:00
Pranav Bhat
224979435b Merge 2013-08-16 14:33:34 -04:00
Chris Hegarty
42ebef739f Merge 2013-08-15 21:34:46 +01:00
Chris Hegarty
e6df16e109 Merge 2013-08-15 21:33:56 +01:00
Chris Hegarty
3013cb3238 Merge 2013-08-15 21:33:52 +01:00
Chris Hegarty
972c8c9fb0 Merge 2013-08-15 21:33:37 +01:00
Chris Hegarty
64c38bd7e0 Merge 2013-08-15 21:33:19 +01:00
Weijun Wang
9b8991f944 8022931: Enhance Kerberos exceptions
Reviewed-by: xuelei, ahgross
2013-08-14 15:25:16 +08:00
Chris Hegarty
60e31c0960 Merge 2013-08-15 21:44:35 +01:00
Kumar Srinivasan
73aa07b6c5 8021355: REGRESSION: Five closed/java/awt/SplashScreen tests fail since 7u45 b01 on Linux, Solaris
Reviewed-by: dholmes, anthony, ahgross, erikj
2013-08-14 10:17:57 -07:00
Christian Thalinger
53b5f75095 8022066: Evaluation of method reference to signature polymorphic method crashes VM
Reviewed-by: jrose
2013-08-12 13:47:21 -07:00
Sergey Bylokhov
ac42104fef 8021275: Better screening for ScreenMenu
Reviewed-by: art
2013-08-12 19:57:21 +04:00
Pranav Bhat
6a6c3f5aed Merge 2013-08-09 14:54:09 -04:00
Chris Hegarty
bea82c70dc Merge 2013-08-09 14:44:53 +01:00
Chris Hegarty
533cdad97a Merge 2013-08-09 14:43:19 +01:00
Chris Hegarty
7c2a0e40ae Merge 2013-08-09 14:31:17 +01:00
Chris Hegarty
3a453a7988 Merge 2013-08-09 14:31:12 +01:00
Chris Hegarty
9b9263731c Merge 2013-08-09 14:30:08 +01:00
Chris Hegarty
58b5cc27a7 Merge 2013-08-09 14:24:17 +01:00
Sergey Gabdurakhmanov
b2e34525ab 8020789: Disable exporting of gc.heap_dump diagnostic command
Reviewed-by: fparain, ahgross
2013-08-09 11:03:33 +04:00
Jaroslav Bachorik
046a6fa8e2 8021360: object not exported" on start of JMXConnectorServer for RMI-IIOP protocol with security manager
Reviewed-by: alanb, ahgross, smarks, coffeys
2013-08-08 19:16:27 +02:00
Sergey Malenkov
68d1aae1be 8021969: The index_AccessAllowed jnlp can not load successfully with exception thrown in the log
Reviewed-by: art, skoivu
2013-08-07 14:37:22 +04:00
Shanliang Jiang
a3b45465c6 8019292: Better Attribute Value Exceptions
Reviewed-by: dfuchs, dholmes, ahgross
2013-08-06 10:33:42 +02:00
Sergey Bylokhov
10738dc298 8021282: Better recycling of object instances
Reviewed-by: art
2013-08-04 02:50:02 +04:00
Pranav Bhat
7d552fe9bc Merge 2013-08-02 09:41:11 -04:00
Chris Hegarty
e1c0d5e0cc Merge 2013-08-02 11:11:28 +01:00
Chris Hegarty
bcb3207f9e Merge 2013-08-02 11:11:12 +01:00
Chris Hegarty
ab98905b84 Merge 2013-08-02 11:11:03 +01:00
Chris Hegarty
8a6d887ff6 Merge 2013-08-02 11:10:59 +01:00
Chris Hegarty
856809eb94 Merge 2013-08-02 11:10:39 +01:00
Chris Hegarty
fa694d54f7 Merge 2013-08-02 09:38:09 +01:00
Naoto Sato
adf52d0164 8021286: Improve MacOS resourcing
Reviewed-by: okutsu
2013-08-01 14:09:39 -07:00
Miroslav Kos
b520de4e1e 8017505: Better Client Service
Reviewed-by: mullan, ahgross, mgrebac
2013-08-01 16:09:17 -04:00
Joe Wang
d590d5e7d8 8021366: java_util/Properties/PropertiesWithOtherEncodings fails during 7u45 nightly testing
Reviewed-by: lancea, alanb, dfuchs, mullan
2013-07-31 10:54:46 -07:00
Joe Wang
298bc01387 8014530: Better digital signature processing
Reviewed-by: alanb, dfuchs, mullan, lancea
2013-07-31 00:37:01 -07:00
Chris Hegarty
63af2166ea Merge 2013-07-29 14:58:48 +01:00
Chris Hegarty
2846fd8194 Merge 2013-07-29 14:07:44 +01:00
Jaroslav Bachorik
7abc885152 8021577: JCK test api/javax_management/jmx_serial/modelmbean/ModelMBeanNotificationInfo/serial/index.html#Input has failed since jdk 7u45 b01
Reviewed-by: alanb, dfuchs, ahgross
2013-07-29 04:43:41 -07:00
Pranav Bhat
5db54d1d4d Merge 2013-07-25 17:26:09 -04:00
Chris Hegarty
3ec24e3419 Merge 2013-07-25 19:06:03 +01:00
Chris Hegarty
1bdfa7bf9f Merge 2013-07-25 19:03:29 +01:00
Chris Hegarty
ada722b193 Merge 2013-07-25 17:35:33 +01:00
Chris Hegarty
ef59f08886 Merge 2013-07-25 17:32:23 +01:00
Bhavesh Patel
dd0661e5ad 8016675: Make Javadoc pages more robust
Reviewed-by: jlaskey, ksrini
2013-07-24 15:18:33 -07:00
Johnny Chen
99860de3cd 8020293: JVM crash
Reviewed-by: prr, jgodinez
2013-07-24 12:03:57 -07:00
Jim Laskey
4c479e2776 Merge 2013-07-24 08:23:13 -03:00
Jim Laskey
1317528aef Merge 2013-07-24 08:22:32 -03:00
Mandy Chung
5b17a5cd6d 8017196: Ensure Proxies are handled appropriately
Reviewed-by: dfuchs, jrose, jdn, ahgross, chegar
2013-07-22 19:38:08 -07:00
Chris Hegarty
d638c1ca04 Merge 2013-07-22 14:02:14 +01:00
Chris Hegarty
f35203444c Merge 2013-07-22 14:01:39 +01:00
Chris Hegarty
389f1a0fa2 Merge 2013-07-22 13:59:51 +01:00
Jaroslav Bachorik
eef8299094 8019584: javax/management/remote/mandatory/loading/MissingClassTest.java failed in nightly against jdk7u45: java.io.InvalidObjectException: Invalid notification: null
Reviewed-by: mchung, sjiang, dfuchs, ahgross
2013-07-19 16:29:26 +02:00
Pranav Bhat
dc46a8c30e Merge 2013-07-18 16:49:18 -04:00
Daniel Fuchs
dee5d80756 8013502: Improve stream factories
Reviewed-by: joehw, mullan, lancea
2013-07-17 18:46:28 +02:00
Joe Wang
8b314fcc50 8017298: Better XML support
Reviewed-by: alanb, dfuchs, mullan, lancea
2013-07-17 09:31:39 -07:00
Weijun Wang
2fac55ced5 8020696: Merge problem for KdcComm.java
Reviewed-by: chegar
2013-07-17 18:46:00 +08:00
Sergey Gabdurakhmanov
ff1d4ae905 8016357: Update hotspot diagnostic class
Add security check to HotSpotDiagnostic.dumpHeap

Reviewed-by: fparain, sla, ahgross
2013-07-23 09:30:58 +04:00
Mandy Chung
bd41c425d2 8017196: Ensure Proxies are handled appropriately
Reviewed-by: dfuchs, jrose, jdn, ahgross, chegar
2013-07-22 19:41:07 -07:00
Chris Hegarty
89a0f0a731 Merge 2013-07-22 14:02:38 +01:00
Shanliang Jiang
2051164993 8014534: Better profiling support
Validation of parameters

Reviewed-by: sspitsyn, skoivu, mchung
2013-07-19 13:35:01 +02:00
Masayoshi Okutsu
3d9f33759d 8001029: Add new date/time capability
Reviewed-by: mchung, hawtin
2013-07-19 12:14:34 +09:00
Michael McMahon
a775b1ae8d 8015743: Address internet addresses
Reviewed-by: alanb, khazra, skoivu
2013-07-18 18:52:14 +01:00
Joe Wang
b9c256373a 8012425: Transform TransformerFactory
Reviewed-by: alanb, dfuchs, mullan
2013-07-16 14:06:04 -07:00
Sergey Malenkov
fb90cdbe87 8019617: Better view of objects
Reviewed-by: art, skoivu
2013-07-16 21:11:54 +04:00
Jim Laskey
d64877bdca Merge 2013-07-16 09:09:09 -03:00
Jim Laskey
3b32af2ff9 Merge 2013-07-16 09:08:46 -03:00
Chris Hegarty
2ac18d4ae9 Merge 2013-07-16 12:23:54 +01:00
Mandy Chung
1f15243012 8017291: Cast Proxies Aside
Reviewed-by: alanb, ahgross
2013-07-15 20:24:39 -07:00
Chris Hegarty
a08435f4ac Merge 2013-07-15 18:17:23 +01:00
Joel Borggrén-Franck
79bda234fe 8014349: (cl) Class.getDeclaredClass problematic in some class loader configurations
Reviewed-by: mchung, ahgross, darcy
2013-07-15 14:44:50 +02:00
Chris Hegarty
bab40e7b54 Merge 2013-07-15 11:07:03 +01:00
Chris Hegarty
9ee9b15f88 Merge 2013-07-15 11:04:53 +01:00
Stuart Marks
be5469fc71 8014987: Augment serialization handling
Reviewed-by: alanb, coffeys, skoivu
2013-07-11 13:32:36 -07:00
Harold Seigel
8379a071b6 8016256: Make finalization final
Add private methods to final methods check

Reviewed-by: coleenp, acorn, ahgross
2013-07-11 12:59:03 -04:00
Stephen Colebourne
f2ea6795a7 8025719: Change Chronology to an interface
Split Chronology and add AbstractChronology

Reviewed-by: darcy
2013-07-09 21:35:04 +01:00
Stephen Colebourne
c11a760a1b 8025720: Separate temporal interface layer
Remove ZoneId and Chronology from TemporalField interface

Reviewed-by: sherman
2013-09-26 23:05:29 -07:00
Dmitry Samersoff
455cd24c95 8008589: Better MBean permission validation
Better MBean permission validation

Reviewed-by: skoivu, dfuchs, mchung, sjiang
2013-07-08 16:15:39 +04:00
Pranav Bhat
a4ccbc5e36 Merge 2013-07-05 11:00:42 -04:00
Anthony Scarpino
f0b7243841 8011071: Better crypto provider handling
Reviewed-by: hawtin, valeriep
2013-07-03 15:10:11 -07:00
Erik Joelsson
2fc3e67418 8012146: Improve tool support
Reviewed-by: ksrini, dholmes, alanb, anthony
2013-07-03 10:14:02 +02:00
Andrew Brygin
d0a47b3b30 8017287: Better resource disposal
Reviewed-by: prr, vadim, skoivu
2013-07-01 15:17:24 +04:00
Chris Hegarty
b21570e015 Merge 2013-06-27 10:37:08 +01:00
Pranav Bhat
34b45746c0 Merge 2013-06-21 18:56:49 -04:00
Jaroslav Bachorik
ccc1dc9103 8014085: Better serialization support in JMX classes
Reviewed-by: alanb, dfuchs, skoivu
2013-06-20 08:51:47 +02:00
Mark Sheppard
3f85c00fb2 8011157: Improve CORBA portablility
Fix also reviewed by Alexander Fomin

Reviewed-by: alanb, coffeys, skoivu
2013-06-14 16:31:55 +01:00
Mark Sheppard
ae96f935a2 8011157: Improve CORBA portablility
Fix also reviewed by Alexander Fomin

Reviewed-by: alanb, coffeys, skoivu
2013-06-14 15:49:54 +01:00
Mark Sheppard
a968eabd50 8011157: Improve CORBA portablility
Fix also reviewed by Alexander Fomin

Reviewed-by: alanb, coffeys, skoivu
2013-06-14 15:49:41 +01:00
Johnny Chen
73c5ae165c 8014098: Better profile validation
Reviewed-by: bae, mschoene, prr
2013-06-13 12:14:37 -07:00
Weijun Wang
0be0627640 8015731: Subject java.security.auth.subject to improvements
Reviewed-by: skoivu, mullan
2013-06-13 10:31:21 +08:00
Weijun Wang
c7d65c4207 8013739: Better LDAP resource management
Reviewed-by: ahgross, mchung, xuelei
2013-06-13 10:21:06 +08:00
Qi Zuo
44b54066f2 Merge 2013-06-10 16:15:16 -04:00
Jim Laskey
1b836e60bf Merge 2013-06-05 13:10:11 -03:00
Jim Laskey
1357c19ede Merge 2013-06-05 13:08:59 -03:00
Pranav Bhat
23f21ac5e8 Merge 2013-05-30 16:00:16 -04:00
Jim Laskey
2baad1c966 Merge 2013-05-29 13:22:58 -03:00
Jim Laskey
bb21ba8071 Merge 2013-05-23 09:48:44 -03:00
Jim Laskey
0a3c6d1917 Merge 2013-05-23 09:48:10 -03:00
Jim Laskey
aa97855019 Merge 2013-05-14 09:04:35 -03:00
Jim Laskey
069da2255d Merge 2013-05-14 09:04:02 -03:00
Weijun Wang
81621f63ca 8014341: Better service from Kerberos servers
Read incoming data safely and take care of null return value

Reviewed-by: valeriep, ahgross
2013-05-08 09:21:59 +08:00
Sergey Malenkov
d86660d21b 8012277: Improve AWT DataFlavor
Reviewed-by: art, skoivu
2013-05-31 21:25:42 +04:00
Sergey Malenkov
5c6c0246cc 8012071: Better Building of Beans
Reviewed-by: art, skoivu
2013-05-20 19:49:20 +04:00
Andrew Brygin
9a9e180fdd 8014102: Improve image conversion
Reviewed-by: mschoene, prr, jgodinez
2013-05-20 15:26:42 +04:00
Alexander Scherbatiy
38c8e922af 8013744: Better tabling for AWT
Reviewed-by: art, malenkov, skoivu
2013-05-20 14:39:17 +04:00
Andrew Brygin
7dacefeca1 8014093: Improve parsing of images
Reviewed-by: prr, jgodinez
2013-05-14 12:51:59 +04:00
Johnny Chen
e8457abad4 8013510: Augment image writing code
Reviewed-by: bae, prr
2013-05-09 09:52:55 -07:00
Kumar Srinivasan
7ca524c5cd 8013506: Better Pack200 data handling
Reviewed-by: jrose, kizune, mschoene
2013-05-07 13:37:03 -07:00
Jim Laskey
15bfc21f2d Merge 2013-04-29 21:37:46 -03:00
Jim Laskey
1347bd291b Merge 2013-04-29 21:37:25 -03:00
Jaroslav Bachorik
8f734f4dcf 8011081: Improve jhat
Properly escape HTML output

Reviewed-by: alanb, mschoene, sundar
2013-04-23 09:37:31 +02:00
Jim Laskey
38a55108e2 Merge 2013-04-22 14:00:05 -03:00
Jim Laskey
1b3bbc7d37 Merge 2013-04-22 13:59:37 -03:00
Jim Laskey
a78419356c Merge 2013-04-17 08:47:44 -03:00
Jim Laskey
9332fed8dc Merge 2013-04-17 08:47:07 -03:00
Jim Laskey
29cb755ef8 Merge 2013-04-15 08:27:37 -03:00
Jim Laskey
65fa95389b Merge 2013-04-15 08:06:34 -03:00
Jim Laskey
39b0b4a4df Merge 2013-04-09 08:36:20 -03:00
Jim Laskey
c8ee352824 Merge 2013-04-09 08:35:31 -03:00
Jim Laskey
14d76a6773 Merge 2013-04-01 10:09:27 -03:00
Jim Laskey
2710d71387 Merge 2013-03-26 09:13:00 -03:00
Jim Laskey
3c549ea93f Merge 2013-03-26 09:12:41 -03:00
Jim Laskey
7589a75f60 Merge 2013-03-15 11:51:02 -03:00
Jim Laskey
a1d45d2d2a Merge 2013-03-15 11:50:23 -03:00
Jim Laskey
a04a7bcfa9 Merge 2013-03-08 14:44:31 -04:00
Jim Laskey
badf40f582 Merge 2013-03-02 11:06:58 -04:00
Jim Laskey
2b750c479b Merge 2013-03-02 10:28:16 -04:00
James Laskey
b5a3cc405b 8008775: Remove non-ascii from jdk/THIRD_PARTY_README
Reviewed-by: jjh
2013-02-22 23:36:47 -04:00
James Laskey
636021664a 8008774: nashorn missing from dependencies after merge with tl
Reviewed-by: jjh
2013-02-22 22:58:48 -04:00
James Laskey
22e895a897 8008757: NEWBUILD=true has separate launcher code for jjs
Reviewed-by: jjh
2013-02-22 18:03:07 -04:00
James Laskey
e99848e82d 8008756: THIRD_PARTY_README contains Unicode
Reviewed-by: jjh
2013-02-22 17:45:37 -04:00
Jim Laskey
9c729d5e62 Merge 2013-02-22 14:05:39 -04:00
Jim Laskey
fd695a8a83 Merge 2013-02-22 13:09:37 -04:00
James Laskey
ff7ec1f667 8008721: Tweaks to make all NEWBUILD=false round 4
Reviewed-by: jjh
2013-02-22 10:23:11 -04:00
James Laskey
9f4d8efb22 8008447: Tweaks to make all NEWBUILD=false round 3
Reviewed-by: jjh, sundar
2013-02-21 15:25:31 -04:00
James Laskey
9441d55bca 8008447: Tweaks to make all NEWBUILD=false round 3
Reviewed-by: jjh, sundar
2013-02-21 15:25:07 -04:00
James Laskey
6ac18a4c3b 8008446: Tweaks to make all NEWBUILD=false round 2
Reviewed-by: jjh
2013-02-19 10:02:55 -04:00
James Laskey
eba603edcf 8008420: Fix Nashorn forest to build with NEWBUILD=false
Reviewed-by: jjh
2013-02-18 19:01:59 -04:00
James Laskey
383e963093 8007666: nashorn missing from hgforest.sh
Reviewed-by: jlaskey
2013-02-06 13:37:03 -04:00
Jim Laskey
2bf8eb7e4f Merge 2013-02-04 17:30:09 -04:00
Jim Laskey
5bf561a95d Merge 2013-02-04 17:29:58 -04:00
James Laskey
d56ceaa96b 8006676: Integrate Nashorn into new build system
Reviewed-by: jlaskey
2013-01-28 16:29:34 -04:00
James Laskey
813d9e8175 8006676: Integrate Nashorn into new build system
Reviewed-by: jlaskey
2013-01-28 16:29:10 -04:00
4450 changed files with 152108 additions and 65522 deletions

View File

@@ -230,3 +230,10 @@ b5ed503c26ad38869c247c5e32debec217fd056b jdk8-b104
514b0b69fb9683ef52062fd962a3e0644431f64d jdk8-b106
892889f445755790ae90e61775bfb59ddc6182b5 jdk8-b107
74049f7a28b48c14910106a75d9f2504169c352e jdk8-b108
af9a674e12a16da1a4bd53e4990ddb1121a21ef1 jdk8-b109
b5d2bf482a3ea1cca08c994512804ffbc73de0a1 jdk8-b110
b9a0f6c693f347a6f4b9bb994957f4eaa05bdedd jdk8-b111
ad67c34f79c28a8e755f4a49f313868619d6702c jdk8-b112
4a4dbcf7cb7d3e1a81beaa3b11cd909f69ebc79a jdk8-b113
dfa34ab293faad9b543a24646dbb381bc3ab5586 jdk8-b114
3dd9732b17034f45d111996d1d50287b05a3998c jdk8-b115

View File

@@ -230,3 +230,10 @@ b7e64be81c8a7690703df5711f4fc2375da8a9cb jdk8-b103
8e7b4d9fb00fdf1334376aeac050c9bca6d1b383 jdk8-b106
0874bb4707b723d5bb108d379c557cf41529d1a7 jdk8-b107
9286a6e61291246d88af713f1ef79adeea30fe2e jdk8-b108
91f47e8da5c60de58ed195e9b57f3bf192a18f83 jdk8-b109
4faa09c7fe555de086dd9048d3c5cc92317d6f45 jdk8-b110
d086227bfc45d124f09b3bd72a07956b4073bf71 jdk8-b111
547316ea137d83d9c63083a9b83db64198fe0c81 jdk8-b112
6ba4c7cb623ec612031e05cf8bf279d8f407bd1e jdk8-b113
4f2011496393a26dcfd7b1f7787a3673ddd32599 jdk8-b114
763ada2a1d8c5962bc8c3d297e57c562d2e95338 jdk8-b115

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2012, 2013, 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
@@ -36,17 +36,15 @@ default:
TEST_FOR_NON_GNUMAKE:sh=echo You are not using GNU make/gmake, this is a requirement. Check your path. 1>&2 && exit 1
# Assume we have GNU make, but check version.
ifeq (,$(findstring 3.81,$(MAKE_VERSION)))
ifeq (,$(findstring 3.82,$(MAKE_VERSION)))
$(error This version of GNU Make is too low ($(MAKE_VERSION)). Check your path, or upgrade to 3.81 or newer.)
endif
ifeq ($(strip $(foreach v, 3.81% 3.82% 4.%, $(filter $v, $(MAKE_VERSION)))), )
$(error This version of GNU Make is too low ($(MAKE_VERSION)). Check your path, or upgrade to 3.81 or newer.)
endif
# Locate this Makefile
ifeq ($(filter /%,$(lastword $(MAKEFILE_LIST))),)
makefile_path:=$(CURDIR)/$(lastword $(MAKEFILE_LIST))
makefile_path:=$(CURDIR)/$(lastword $(MAKEFILE_LIST))
else
makefile_path:=$(lastword $(MAKEFILE_LIST))
makefile_path:=$(lastword $(MAKEFILE_LIST))
endif
root_dir:=$(dir $(makefile_path))
@@ -58,27 +56,27 @@ $(eval $(call ParseConfAndSpec))
# Now determine if we have zero, one or several configurations to build.
ifeq ($(SPEC),)
# Since we got past ParseConfAndSpec, we must be building a global target. Do nothing.
# Since we got past ParseConfAndSpec, we must be building a global target. Do nothing.
else
ifeq ($(words $(SPEC)),1)
# We are building a single configuration. This is the normal case. Execute the Main.gmk file.
include $(root_dir)/common/makefiles/Main.gmk
else
# We are building multiple configurations.
# First, find out the valid targets
# Run the makefile with an arbitraty SPEC using -p -q (quiet dry-run and dump rules) to find
# available PHONY targets. Use this list as valid targets to pass on to the repeated calls.
all_phony_targets=$(filter-out $(global_targets) bundles-only, $(strip $(shell \
$(MAKE) -p -q -f common/makefiles/Main.gmk FRC SPEC=$(firstword $(SPEC)) | \
grep ^.PHONY: | head -n 1 | cut -d " " -f 2-)))
ifeq ($(words $(SPEC)),1)
# We are building a single configuration. This is the normal case. Execute the Main.gmk file.
include $(root_dir)/common/makefiles/Main.gmk
else
# We are building multiple configurations.
# First, find out the valid targets
# Run the makefile with an arbitrary SPEC using -p -q (quiet dry-run and dump rules) to find
# available PHONY targets. Use this list as valid targets to pass on to the repeated calls.
all_phony_targets=$(filter-out $(global_targets) bundles-only, $(strip $(shell \
$(MAKE) -p -q -f common/makefiles/Main.gmk FRC SPEC=$(firstword $(SPEC)) | \
grep ^.PHONY: | head -n 1 | cut -d " " -f 2-)))
$(all_phony_targets):
@$(foreach spec,$(SPEC),($(MAKE) -f NewMakefile.gmk SPEC=$(spec) \
$(VERBOSE) VERBOSE=$(VERBOSE) LOG_LEVEL=$(LOG_LEVEL) $@) &&) true
$(all_phony_targets):
@$(foreach spec,$(SPEC),($(MAKE) -f NewMakefile.gmk SPEC=$(spec) \
$(VERBOSE) VERBOSE=$(VERBOSE) LOG_LEVEL=$(LOG_LEVEL) $@) &&) true
.PHONY: $(all_phony_targets)
.PHONY: $(all_phony_targets)
endif
endif
endif
# Include this after a potential spec file has been included so that the bundles target

View File

@@ -62,7 +62,7 @@ if test -e $custom_hook; then
# We have custom sources available; also generate configure script
# with custom hooks compiled in.
cat $script_dir/configure.ac | sed -e "s|@DATE_WHEN_GENERATED@|$TIMESTAMP|" | \
sed -e "s|#CUSTOM_AUTOCONF_INCLUDE|m4_include([$custom_hook])|" | ${AUTOCONF} -W all -I$script_dir - > $custom_script_dir/generated-configure.sh
sed -e "s|#CUSTOM_AUTOCONF_INCLUDE|m4_include([$custom_hook])|" | ${AUTOCONF} -W all -I$script_dir - > $custom_script_dir/generated-configure.sh
rm -rf autom4te.cache
else
echo No custom hook found: $custom_hook

View File

@@ -24,23 +24,23 @@
#
# Test if $1 is a valid argument to $3 (often is $JAVA passed as $3)
# If so, then append $1 to $2\
# If so, then append $1 to $2 \
# Also set JVM_ARG_OK to true/false depending on outcome.
AC_DEFUN([ADD_JVM_ARG_IF_OK],
[
$ECHO "Check if jvm arg is ok: $1" >&AS_MESSAGE_LOG_FD
$ECHO "Command: $3 $1 -version" >&AS_MESSAGE_LOG_FD
OUTPUT=`$3 $1 -version 2>&1`
FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
$2="[$]$2 $1"
JVM_ARG_OK=true
else
$ECHO "Arg failed:" >&AS_MESSAGE_LOG_FD
$ECHO "$OUTPUT" >&AS_MESSAGE_LOG_FD
JVM_ARG_OK=false
fi
$ECHO "Check if jvm arg is ok: $1" >&AS_MESSAGE_LOG_FD
$ECHO "Command: $3 $1 -version" >&AS_MESSAGE_LOG_FD
OUTPUT=`$3 $1 -version 2>&1`
FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
$2="[$]$2 $1"
JVM_ARG_OK=true
else
$ECHO "Arg failed:" >&AS_MESSAGE_LOG_FD
$ECHO "$OUTPUT" >&AS_MESSAGE_LOG_FD
JVM_ARG_OK=false
fi
])
# Appends a string to a path variable, only adding the : when needed.
@@ -82,7 +82,7 @@ AC_DEFUN([BASIC_FIXUP_PATH],
AC_MSG_ERROR([The path of $1, which resolves as "$path", is not found.])
fi
$1="`cd "$path"; $THEPWDCMD -L`"
$1="`cd "$path"; $THEPWDCMD -L`"
fi
])
@@ -129,78 +129,78 @@ AC_DEFUN([BASIC_FIXUP_EXECUTABLE],
AC_MSG_NOTICE([Resolving $1 (as $path) failed, using $path directly.])
new_path="$path"
fi
if test "x$new_path" = x; then
AC_MSG_NOTICE([The path of $1, which resolves as "$complete", is not found.])
has_space=`$ECHO "$complete" | $GREP " "`
if test "x$has_space" != x; then
AC_MSG_NOTICE([This might be caused by spaces in the path, which is not allowed.])
fi
AC_MSG_ERROR([Cannot locate the the path of $1])
AC_MSG_NOTICE([The path of $1, which resolves as "$complete", is not found.])
has_space=`$ECHO "$complete" | $GREP " "`
if test "x$has_space" != x; then
AC_MSG_NOTICE([This might be caused by spaces in the path, which is not allowed.])
fi
AC_MSG_ERROR([Cannot locate the the path of $1])
fi
fi
# Now join together the path and the arguments once again
if test "x$arguments" != xEOL; then
new_complete="$new_path ${arguments% *}"
else
new_complete="$new_path"
fi
# Now join together the path and the arguments once again
if test "x$arguments" != xEOL; then
new_complete="$new_path ${arguments% *}"
else
new_complete="$new_path"
fi
if test "x$complete" != "x$new_complete"; then
$1="$new_complete"
AC_MSG_NOTICE([Rewriting $1 to "$new_complete"])
fi
$1="$new_complete"
AC_MSG_NOTICE([Rewriting $1 to "$new_complete"])
fi
])
AC_DEFUN([BASIC_REMOVE_SYMBOLIC_LINKS],
[
if test "x$OPENJDK_BUILD_OS" != xwindows; then
# Follow a chain of symbolic links. Use readlink
# where it exists, else fall back to horribly
# complicated shell code.
if test "x$READLINK_TESTED" != yes; then
# On MacOSX there is a readlink tool with a different
# purpose than the GNU readlink tool. Check the found readlink.
ISGNU=`$READLINK --version 2>&1 | $GREP GNU`
if test "x$ISGNU" = x; then
# A readlink that we do not know how to use.
# Are there other non-GNU readlinks out there?
READLINK_TESTED=yes
READLINK=
fi
fi
if test "x$READLINK" != x; then
$1=`$READLINK -f [$]$1`
else
# Save the current directory for restoring afterwards
STARTDIR=$PWD
COUNTER=0
sym_link_dir=`$DIRNAME [$]$1`
sym_link_file=`$BASENAME [$]$1`
cd $sym_link_dir
# Use -P flag to resolve symlinks in directories.
cd `$THEPWDCMD -P`
sym_link_dir=`$THEPWDCMD -P`
# Resolve file symlinks
while test $COUNTER -lt 20; do
ISLINK=`$LS -l $sym_link_dir/$sym_link_file | $GREP '\->' | $SED -e 's/.*-> \(.*\)/\1/'`
if test "x$ISLINK" == x; then
# This is not a symbolic link! We are done!
break
fi
# Again resolve directory symlinks since the target of the just found
# link could be in a different directory
cd `$DIRNAME $ISLINK`
sym_link_dir=`$THEPWDCMD -P`
sym_link_file=`$BASENAME $ISLINK`
let COUNTER=COUNTER+1
done
cd $STARTDIR
$1=$sym_link_dir/$sym_link_file
fi
if test "x$OPENJDK_BUILD_OS" != xwindows; then
# Follow a chain of symbolic links. Use readlink
# where it exists, else fall back to horribly
# complicated shell code.
if test "x$READLINK_TESTED" != yes; then
# On MacOSX there is a readlink tool with a different
# purpose than the GNU readlink tool. Check the found readlink.
ISGNU=`$READLINK --version 2>&1 | $GREP GNU`
if test "x$ISGNU" = x; then
# A readlink that we do not know how to use.
# Are there other non-GNU readlinks out there?
READLINK_TESTED=yes
READLINK=
fi
fi
if test "x$READLINK" != x; then
$1=`$READLINK -f [$]$1`
else
# Save the current directory for restoring afterwards
STARTDIR=$PWD
COUNTER=0
sym_link_dir=`$DIRNAME [$]$1`
sym_link_file=`$BASENAME [$]$1`
cd $sym_link_dir
# Use -P flag to resolve symlinks in directories.
cd `$THEPWDCMD -P`
sym_link_dir=`$THEPWDCMD -P`
# Resolve file symlinks
while test $COUNTER -lt 20; do
ISLINK=`$LS -l $sym_link_dir/$sym_link_file | $GREP '\->' | $SED -e 's/.*-> \(.*\)/\1/'`
if test "x$ISLINK" == x; then
# This is not a symbolic link! We are done!
break
fi
# Again resolve directory symlinks since the target of the just found
# link could be in a different directory
cd `$DIRNAME $ISLINK`
sym_link_dir=`$THEPWDCMD -P`
sym_link_file=`$BASENAME $ISLINK`
let COUNTER=COUNTER+1
done
cd $STARTDIR
$1=$sym_link_dir/$sym_link_file
fi
fi
])
# Register a --with argument but mark it as deprecated
@@ -212,14 +212,26 @@ AC_DEFUN([BASIC_DEPRECATED_ARG_WITH],
[AC_MSG_WARN([Option --with-$1 is deprecated and will be ignored.])])
])
# Register a --enable argument but mark it as deprecated
# $1: The name of the with argument to deprecate, not including --enable-
# $2: The name of the argument to deprecate, in shell variable style (i.e. with _ instead of -)
AC_DEFUN([BASIC_DEPRECATED_ARG_ENABLE],
[
AC_ARG_ENABLE($1, [AS_HELP_STRING([--enable-$1],
[Deprecated. Option is kept for backwards compatibility and is ignored])])
if test "x$enable_$2" != x; then
AC_MSG_WARN([Option --enable-$1 is deprecated and will be ignored.])
fi
])
AC_DEFUN_ONCE([BASIC_INIT],
[
# Save the original command line. This is passed to us by the wrapper configure script.
AC_SUBST(CONFIGURE_COMMAND_LINE)
DATE_WHEN_CONFIGURED=`LANG=C date`
AC_SUBST(DATE_WHEN_CONFIGURED)
AC_MSG_NOTICE([Configuration created at $DATE_WHEN_CONFIGURED.])
AC_MSG_NOTICE([configure script generated at timestamp $DATE_WHEN_GENERATED.])
# Save the original command line. This is passed to us by the wrapper configure script.
AC_SUBST(CONFIGURE_COMMAND_LINE)
DATE_WHEN_CONFIGURED=`LANG=C date`
AC_SUBST(DATE_WHEN_CONFIGURED)
AC_MSG_NOTICE([Configuration created at $DATE_WHEN_CONFIGURED.])
AC_MSG_NOTICE([configure script generated at timestamp $DATE_WHEN_GENERATED.])
])
# Test that variable $1 denoting a program is not empty. If empty, exit with an error.
@@ -227,15 +239,15 @@ AC_MSG_NOTICE([configure script generated at timestamp $DATE_WHEN_GENERATED.])
# $2: executable name to print in warning (optional)
AC_DEFUN([BASIC_CHECK_NONEMPTY],
[
if test "x[$]$1" = x; then
if test "x$2" = x; then
PROG_NAME=translit($1,A-Z,a-z)
else
PROG_NAME=$2
fi
AC_MSG_NOTICE([Could not find $PROG_NAME!])
AC_MSG_ERROR([Cannot continue])
if test "x[$]$1" = x; then
if test "x$2" = x; then
PROG_NAME=translit($1,A-Z,a-z)
else
PROG_NAME=$2
fi
AC_MSG_NOTICE([Could not find $PROG_NAME!])
AC_MSG_ERROR([Cannot continue])
fi
])
# Does AC_PATH_PROG followed by BASIC_CHECK_NONEMPTY.
@@ -244,8 +256,8 @@ AC_DEFUN([BASIC_CHECK_NONEMPTY],
# $2: executable name to look for
AC_DEFUN([BASIC_REQUIRE_PROG],
[
AC_PATH_PROGS($1, $2)
BASIC_CHECK_NONEMPTY($1, $2)
AC_PATH_PROGS($1, $2)
BASIC_CHECK_NONEMPTY($1, $2)
])
# Setup the most fundamental tools that relies on not much else to set up,
@@ -253,171 +265,171 @@ AC_DEFUN([BASIC_REQUIRE_PROG],
AC_DEFUN_ONCE([BASIC_SETUP_FUNDAMENTAL_TOOLS],
[
# Start with tools that do not need have cross compilation support
# and can be expected to be found in the default PATH. These tools are
# used by configure. Nor are these tools expected to be found in the
# devkit from the builddeps server either, since they are
# needed to download the devkit.
# Start with tools that do not need have cross compilation support
# and can be expected to be found in the default PATH. These tools are
# used by configure. Nor are these tools expected to be found in the
# devkit from the builddeps server either, since they are
# needed to download the devkit.
# First are all the simple required tools.
BASIC_REQUIRE_PROG(BASENAME, basename)
BASIC_REQUIRE_PROG(BASH, bash)
BASIC_REQUIRE_PROG(CAT, cat)
BASIC_REQUIRE_PROG(CHMOD, chmod)
BASIC_REQUIRE_PROG(CMP, cmp)
BASIC_REQUIRE_PROG(COMM, comm)
BASIC_REQUIRE_PROG(CP, cp)
BASIC_REQUIRE_PROG(CPIO, cpio)
BASIC_REQUIRE_PROG(CUT, cut)
BASIC_REQUIRE_PROG(DATE, date)
BASIC_REQUIRE_PROG(DIFF, [gdiff diff])
BASIC_REQUIRE_PROG(DIRNAME, dirname)
BASIC_REQUIRE_PROG(ECHO, echo)
BASIC_REQUIRE_PROG(EXPR, expr)
BASIC_REQUIRE_PROG(FILE, file)
BASIC_REQUIRE_PROG(FIND, find)
BASIC_REQUIRE_PROG(HEAD, head)
BASIC_REQUIRE_PROG(LN, ln)
BASIC_REQUIRE_PROG(LS, ls)
BASIC_REQUIRE_PROG(MKDIR, mkdir)
BASIC_REQUIRE_PROG(MKTEMP, mktemp)
BASIC_REQUIRE_PROG(MV, mv)
BASIC_REQUIRE_PROG(PRINTF, printf)
BASIC_REQUIRE_PROG(RM, rm)
BASIC_REQUIRE_PROG(SH, sh)
BASIC_REQUIRE_PROG(SORT, sort)
BASIC_REQUIRE_PROG(TAIL, tail)
BASIC_REQUIRE_PROG(TAR, tar)
BASIC_REQUIRE_PROG(TEE, tee)
BASIC_REQUIRE_PROG(TOUCH, touch)
BASIC_REQUIRE_PROG(TR, tr)
BASIC_REQUIRE_PROG(UNAME, uname)
BASIC_REQUIRE_PROG(UNIQ, uniq)
BASIC_REQUIRE_PROG(WC, wc)
BASIC_REQUIRE_PROG(WHICH, which)
BASIC_REQUIRE_PROG(XARGS, xargs)
# First are all the simple required tools.
BASIC_REQUIRE_PROG(BASENAME, basename)
BASIC_REQUIRE_PROG(BASH, bash)
BASIC_REQUIRE_PROG(CAT, cat)
BASIC_REQUIRE_PROG(CHMOD, chmod)
BASIC_REQUIRE_PROG(CMP, cmp)
BASIC_REQUIRE_PROG(COMM, comm)
BASIC_REQUIRE_PROG(CP, cp)
BASIC_REQUIRE_PROG(CPIO, cpio)
BASIC_REQUIRE_PROG(CUT, cut)
BASIC_REQUIRE_PROG(DATE, date)
BASIC_REQUIRE_PROG(DIFF, [gdiff diff])
BASIC_REQUIRE_PROG(DIRNAME, dirname)
BASIC_REQUIRE_PROG(ECHO, echo)
BASIC_REQUIRE_PROG(EXPR, expr)
BASIC_REQUIRE_PROG(FILE, file)
BASIC_REQUIRE_PROG(FIND, find)
BASIC_REQUIRE_PROG(HEAD, head)
BASIC_REQUIRE_PROG(LN, ln)
BASIC_REQUIRE_PROG(LS, ls)
BASIC_REQUIRE_PROG(MKDIR, mkdir)
BASIC_REQUIRE_PROG(MKTEMP, mktemp)
BASIC_REQUIRE_PROG(MV, mv)
BASIC_REQUIRE_PROG(PRINTF, printf)
BASIC_REQUIRE_PROG(RM, rm)
BASIC_REQUIRE_PROG(SH, sh)
BASIC_REQUIRE_PROG(SORT, sort)
BASIC_REQUIRE_PROG(TAIL, tail)
BASIC_REQUIRE_PROG(TAR, tar)
BASIC_REQUIRE_PROG(TEE, tee)
BASIC_REQUIRE_PROG(TOUCH, touch)
BASIC_REQUIRE_PROG(TR, tr)
BASIC_REQUIRE_PROG(UNAME, uname)
BASIC_REQUIRE_PROG(UNIQ, uniq)
BASIC_REQUIRE_PROG(WC, wc)
BASIC_REQUIRE_PROG(WHICH, which)
BASIC_REQUIRE_PROG(XARGS, xargs)
# Then required tools that require some special treatment.
AC_PROG_AWK
BASIC_CHECK_NONEMPTY(AWK)
AC_PROG_GREP
BASIC_CHECK_NONEMPTY(GREP)
AC_PROG_EGREP
BASIC_CHECK_NONEMPTY(EGREP)
AC_PROG_FGREP
BASIC_CHECK_NONEMPTY(FGREP)
AC_PROG_SED
BASIC_CHECK_NONEMPTY(SED)
# Then required tools that require some special treatment.
AC_PROG_AWK
BASIC_CHECK_NONEMPTY(AWK)
AC_PROG_GREP
BASIC_CHECK_NONEMPTY(GREP)
AC_PROG_EGREP
BASIC_CHECK_NONEMPTY(EGREP)
AC_PROG_FGREP
BASIC_CHECK_NONEMPTY(FGREP)
AC_PROG_SED
BASIC_CHECK_NONEMPTY(SED)
AC_PATH_PROGS(NAWK, [nawk gawk awk])
BASIC_CHECK_NONEMPTY(NAWK)
AC_PATH_PROGS(NAWK, [nawk gawk awk])
BASIC_CHECK_NONEMPTY(NAWK)
# Always force rm.
RM="$RM -f"
# Always force rm.
RM="$RM -f"
# pwd behaves differently on various platforms and some don't support the -L flag.
# Always use the bash builtin pwd to get uniform behavior.
THEPWDCMD=pwd
# pwd behaves differently on various platforms and some don't support the -L flag.
# Always use the bash builtin pwd to get uniform behavior.
THEPWDCMD=pwd
# These are not required on all platforms
AC_PATH_PROG(CYGPATH, cygpath)
AC_PATH_PROG(READLINK, readlink)
AC_PATH_PROG(DF, df)
AC_PATH_PROG(SETFILE, SetFile)
# These are not required on all platforms
AC_PATH_PROG(CYGPATH, cygpath)
AC_PATH_PROG(READLINK, readlink)
AC_PATH_PROG(DF, df)
AC_PATH_PROG(SETFILE, SetFile)
])
# Setup basic configuration paths, and platform-specific stuff related to PATHs.
AC_DEFUN_ONCE([BASIC_SETUP_PATHS],
[
# Locate the directory of this script.
SCRIPT="[$]0"
AUTOCONF_DIR=`cd \`$DIRNAME $SCRIPT\`; $THEPWDCMD -L`
# Locate the directory of this script.
SCRIPT="[$]0"
AUTOCONF_DIR=`cd \`$DIRNAME $SCRIPT\`; $THEPWDCMD -L`
# Where is the source? It is located two levels above the configure script.
CURDIR="$PWD"
cd "$AUTOCONF_DIR/../.."
SRC_ROOT="`$THEPWDCMD -L`"
# Where is the source? It is located two levels above the configure script.
CURDIR="$PWD"
cd "$AUTOCONF_DIR/../.."
SRC_ROOT="`$THEPWDCMD -L`"
if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
PATH_SEP=";"
BASIC_CHECK_PATHS_WINDOWS
else
PATH_SEP=":"
fi
if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
PATH_SEP=";"
BASIC_CHECK_PATHS_WINDOWS
else
PATH_SEP=":"
fi
AC_SUBST(SRC_ROOT)
AC_SUBST(PATH_SEP)
cd "$CURDIR"
AC_SUBST(SRC_ROOT)
AC_SUBST(PATH_SEP)
cd "$CURDIR"
BASIC_FIXUP_PATH(SRC_ROOT)
BASIC_FIXUP_PATH(CURDIR)
BASIC_FIXUP_PATH(SRC_ROOT)
BASIC_FIXUP_PATH(CURDIR)
if test "x$OPENJDK_BUILD_OS" = "xsolaris"; then
if test "x$OPENJDK_BUILD_OS" = "xsolaris"; then
# Add extra search paths on solaris for utilities like ar and as etc...
PATH="$PATH:/usr/ccs/bin:/usr/sfw/bin:/opt/csw/bin"
fi
fi
# You can force the sys-root if the sys-root encoded into the cross compiler tools
# is not correct.
AC_ARG_WITH(sys-root, [AS_HELP_STRING([--with-sys-root],
[pass this sys-root to the compilers and tools (for cross-compiling)])])
# You can force the sys-root if the sys-root encoded into the cross compiler tools
# is not correct.
AC_ARG_WITH(sys-root, [AS_HELP_STRING([--with-sys-root],
[pass this sys-root to the compilers and tools (for cross-compiling)])])
if test "x$with_sys_root" != x; then
SYS_ROOT=$with_sys_root
else
SYS_ROOT=/
fi
AC_SUBST(SYS_ROOT)
if test "x$with_sys_root" != x; then
SYS_ROOT=$with_sys_root
else
SYS_ROOT=/
fi
AC_SUBST(SYS_ROOT)
AC_ARG_WITH([tools-dir], [AS_HELP_STRING([--with-tools-dir],
[search this directory for compilers and tools (for cross-compiling)])],
[TOOLS_DIR=$with_tools_dir]
)
AC_ARG_WITH([tools-dir], [AS_HELP_STRING([--with-tools-dir],
[search this directory for compilers and tools (for cross-compiling)])],
[TOOLS_DIR=$with_tools_dir]
)
AC_ARG_WITH([devkit], [AS_HELP_STRING([--with-devkit],
[use this directory as base for tools-dir and sys-root (for cross-compiling)])],
[
if test "x$with_sys_root" != x; then
AC_MSG_ERROR([Cannot specify both --with-devkit and --with-sys-root at the same time])
fi
BASIC_FIXUP_PATH([with_devkit])
BASIC_APPEND_TO_PATH([TOOLS_DIR],$with_devkit/bin)
if test -d "$with_devkit/$host_alias/libc"; then
SYS_ROOT=$with_devkit/$host_alias/libc
elif test -d "$with_devkit/$host/sys-root"; then
SYS_ROOT=$with_devkit/$host/sys-root
fi
])
AC_ARG_WITH([devkit], [AS_HELP_STRING([--with-devkit],
[use this directory as base for tools-dir and sys-root (for cross-compiling)])],
[
if test "x$with_sys_root" != x; then
AC_MSG_ERROR([Cannot specify both --with-devkit and --with-sys-root at the same time])
fi
BASIC_FIXUP_PATH([with_devkit])
BASIC_APPEND_TO_PATH([TOOLS_DIR],$with_devkit/bin)
if test -d "$with_devkit/$host_alias/libc"; then
SYS_ROOT=$with_devkit/$host_alias/libc
elif test -d "$with_devkit/$host/sys-root"; then
SYS_ROOT=$with_devkit/$host/sys-root
fi
])
])
AC_DEFUN_ONCE([BASIC_SETUP_OUTPUT_DIR],
[
AC_ARG_WITH(conf-name, [AS_HELP_STRING([--with-conf-name],
[use this as the name of the configuration @<:@generated from important configuration options@:>@])],
[ CONF_NAME=${with_conf_name} ])
AC_ARG_WITH(conf-name, [AS_HELP_STRING([--with-conf-name],
[use this as the name of the configuration @<:@generated from important configuration options@:>@])],
[ CONF_NAME=${with_conf_name} ])
# Test from where we are running configure, in or outside of src root.
if test "x$CURDIR" = "x$SRC_ROOT" || test "x$CURDIR" = "x$SRC_ROOT/common" \
|| test "x$CURDIR" = "x$SRC_ROOT/common/autoconf" \
|| test "x$CURDIR" = "x$SRC_ROOT/common/makefiles" ; then
# Test from where we are running configure, in or outside of src root.
if test "x$CURDIR" = "x$SRC_ROOT" || test "x$CURDIR" = "x$SRC_ROOT/common" \
|| test "x$CURDIR" = "x$SRC_ROOT/common/autoconf" \
|| test "x$CURDIR" = "x$SRC_ROOT/common/makefiles" ; then
# We are running configure from the src root.
# Create a default ./build/target-variant-debuglevel output root.
if test "x${CONF_NAME}" = x; then
CONF_NAME="${OPENJDK_TARGET_OS}-${OPENJDK_TARGET_CPU}-${JDK_VARIANT}-${ANDED_JVM_VARIANTS}-${DEBUG_LEVEL}"
CONF_NAME="${OPENJDK_TARGET_OS}-${OPENJDK_TARGET_CPU}-${JDK_VARIANT}-${ANDED_JVM_VARIANTS}-${DEBUG_LEVEL}"
fi
OUTPUT_ROOT="$SRC_ROOT/build/${CONF_NAME}"
$MKDIR -p "$OUTPUT_ROOT"
if test ! -d "$OUTPUT_ROOT"; then
AC_MSG_ERROR([Could not create build directory $OUTPUT_ROOT])
AC_MSG_ERROR([Could not create build directory $OUTPUT_ROOT])
fi
else
else
# We are running configure from outside of the src dir.
# Then use the current directory as output dir!
# If configuration is situated in normal build directory, just use the build
# directory name as configuration name, otherwise use the complete path.
if test "x${CONF_NAME}" = x; then
CONF_NAME=`$ECHO $CURDIR | $SED -e "s!^${SRC_ROOT}/build/!!"`
CONF_NAME=`$ECHO $CURDIR | $SED -e "s!^${SRC_ROOT}/build/!!"`
fi
OUTPUT_ROOT="$CURDIR"
@@ -428,10 +440,10 @@ else
# If we have a spec.gmk, we have run here before and we are OK. Otherwise, check for
# other files
files_present=`$LS $OUTPUT_ROOT`
# Configure has already touched config.log and confdefs.h in the current dir when this check
# Configure has already touched config.log and confdefs.h in the current dir when this check
# is performed.
filtered_files=`$ECHO "$files_present" | $SED -e 's/config.log//g' -e 's/confdefs.h//g' -e 's/ //g' \
| $TR -d '\n'`
| $TR -d '\n'`
if test "x$filtered_files" != x; then
AC_MSG_NOTICE([Current directory is $CURDIR.])
AC_MSG_NOTICE([Since this is not the source root, configure will output the configuration here])
@@ -443,46 +455,46 @@ else
AC_MSG_ERROR([Will not continue creating configuration in $CURDIR])
fi
fi
fi
AC_MSG_CHECKING([what configuration name to use])
AC_MSG_RESULT([$CONF_NAME])
fi
AC_MSG_CHECKING([what configuration name to use])
AC_MSG_RESULT([$CONF_NAME])
BASIC_FIXUP_PATH(OUTPUT_ROOT)
BASIC_FIXUP_PATH(OUTPUT_ROOT)
AC_SUBST(SPEC, $OUTPUT_ROOT/spec.gmk)
AC_SUBST(CONF_NAME, $CONF_NAME)
AC_SUBST(OUTPUT_ROOT, $OUTPUT_ROOT)
AC_SUBST(SPEC, $OUTPUT_ROOT/spec.gmk)
AC_SUBST(CONF_NAME, $CONF_NAME)
AC_SUBST(OUTPUT_ROOT, $OUTPUT_ROOT)
# Most of the probed defines are put into config.h
AC_CONFIG_HEADERS([$OUTPUT_ROOT/config.h:$AUTOCONF_DIR/config.h.in])
# The spec.gmk file contains all variables for the make system.
AC_CONFIG_FILES([$OUTPUT_ROOT/spec.gmk:$AUTOCONF_DIR/spec.gmk.in])
# The hotspot-spec.gmk file contains legacy variables for the hotspot make system.
AC_CONFIG_FILES([$OUTPUT_ROOT/hotspot-spec.gmk:$AUTOCONF_DIR/hotspot-spec.gmk.in])
# The bootcycle-spec.gmk file contains support for boot cycle builds.
AC_CONFIG_FILES([$OUTPUT_ROOT/bootcycle-spec.gmk:$AUTOCONF_DIR/bootcycle-spec.gmk.in])
# The compare.sh is used to compare the build output to other builds.
AC_CONFIG_FILES([$OUTPUT_ROOT/compare.sh:$AUTOCONF_DIR/compare.sh.in])
# Spec.sh is currently used by compare-objects.sh
AC_CONFIG_FILES([$OUTPUT_ROOT/spec.sh:$AUTOCONF_DIR/spec.sh.in])
# The generated Makefile knows where the spec.gmk is and where the source is.
# You can run make from the OUTPUT_ROOT, or from the top-level Makefile
# which will look for generated configurations
AC_CONFIG_FILES([$OUTPUT_ROOT/Makefile:$AUTOCONF_DIR/Makefile.in])
# Most of the probed defines are put into config.h
AC_CONFIG_HEADERS([$OUTPUT_ROOT/config.h:$AUTOCONF_DIR/config.h.in])
# The spec.gmk file contains all variables for the make system.
AC_CONFIG_FILES([$OUTPUT_ROOT/spec.gmk:$AUTOCONF_DIR/spec.gmk.in])
# The hotspot-spec.gmk file contains legacy variables for the hotspot make system.
AC_CONFIG_FILES([$OUTPUT_ROOT/hotspot-spec.gmk:$AUTOCONF_DIR/hotspot-spec.gmk.in])
# The bootcycle-spec.gmk file contains support for boot cycle builds.
AC_CONFIG_FILES([$OUTPUT_ROOT/bootcycle-spec.gmk:$AUTOCONF_DIR/bootcycle-spec.gmk.in])
# The compare.sh is used to compare the build output to other builds.
AC_CONFIG_FILES([$OUTPUT_ROOT/compare.sh:$AUTOCONF_DIR/compare.sh.in])
# Spec.sh is currently used by compare-objects.sh
AC_CONFIG_FILES([$OUTPUT_ROOT/spec.sh:$AUTOCONF_DIR/spec.sh.in])
# The generated Makefile knows where the spec.gmk is and where the source is.
# You can run make from the OUTPUT_ROOT, or from the top-level Makefile
# which will look for generated configurations
AC_CONFIG_FILES([$OUTPUT_ROOT/Makefile:$AUTOCONF_DIR/Makefile.in])
# Save the arguments given to us
echo "$CONFIGURE_COMMAND_LINE" > $OUTPUT_ROOT/configure-arguments
# Save the arguments given to us
echo "$CONFIGURE_COMMAND_LINE" > $OUTPUT_ROOT/configure-arguments
])
AC_DEFUN_ONCE([BASIC_SETUP_LOGGING],
[
# Setup default logging of stdout and stderr to build.log in the output root.
BUILD_LOG='$(OUTPUT_ROOT)/build.log'
BUILD_LOG_PREVIOUS='$(OUTPUT_ROOT)/build.log.old'
BUILD_LOG_WRAPPER='$(BASH) $(SRC_ROOT)/common/bin/logger.sh $(BUILD_LOG)'
AC_SUBST(BUILD_LOG)
AC_SUBST(BUILD_LOG_PREVIOUS)
AC_SUBST(BUILD_LOG_WRAPPER)
# Setup default logging of stdout and stderr to build.log in the output root.
BUILD_LOG='$(OUTPUT_ROOT)/build.log'
BUILD_LOG_PREVIOUS='$(OUTPUT_ROOT)/build.log.old'
BUILD_LOG_WRAPPER='$(BASH) $(SRC_ROOT)/common/bin/logger.sh $(BUILD_LOG)'
AC_SUBST(BUILD_LOG)
AC_SUBST(BUILD_LOG_PREVIOUS)
AC_SUBST(BUILD_LOG_WRAPPER)
])
@@ -502,7 +514,7 @@ AC_DEFUN([BASIC_CHECK_MAKE_VERSION],
if test "x$IS_GNU_MAKE" = x; then
AC_MSG_NOTICE([Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring.])
else
IS_MODERN_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP '3.8[[12346789]]'`
IS_MODERN_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP -e '3\.8[[12]]' -e '4\.'`
if test "x$IS_MODERN_MAKE" = x; then
AC_MSG_NOTICE([Found GNU make at $MAKE_CANDIDATE, however this is not version 3.81 or later. (it is: $MAKE_VERSION_STRING). Ignoring.])
else
@@ -581,85 +593,86 @@ AC_DEFUN([BASIC_CHECK_GNU_MAKE],
AC_DEFUN([BASIC_CHECK_FIND_DELETE],
[
# Test if find supports -delete
AC_MSG_CHECKING([if find supports -delete])
FIND_DELETE="-delete"
# Test if find supports -delete
AC_MSG_CHECKING([if find supports -delete])
FIND_DELETE="-delete"
DELETEDIR=`$MKTEMP -d tmp.XXXXXXXXXX` || (echo Could not create temporary directory!; exit $?)
DELETEDIR=`$MKTEMP -d tmp.XXXXXXXXXX` || (echo Could not create temporary directory!; exit $?)
echo Hejsan > $DELETEDIR/TestIfFindSupportsDelete
echo Hejsan > $DELETEDIR/TestIfFindSupportsDelete
TEST_DELETE=`$FIND "$DELETEDIR" -name TestIfFindSupportsDelete $FIND_DELETE 2>&1`
if test -f $DELETEDIR/TestIfFindSupportsDelete; then
# No, it does not.
rm $DELETEDIR/TestIfFindSupportsDelete
FIND_DELETE="-exec rm \{\} \+"
AC_MSG_RESULT([no])
else
AC_MSG_RESULT([yes])
fi
rmdir $DELETEDIR
AC_SUBST(FIND_DELETE)
TEST_DELETE=`$FIND "$DELETEDIR" -name TestIfFindSupportsDelete $FIND_DELETE 2>&1`
if test -f $DELETEDIR/TestIfFindSupportsDelete; then
# No, it does not.
rm $DELETEDIR/TestIfFindSupportsDelete
FIND_DELETE="-exec rm \{\} \+"
AC_MSG_RESULT([no])
else
AC_MSG_RESULT([yes])
fi
rmdir $DELETEDIR
AC_SUBST(FIND_DELETE)
])
AC_DEFUN_ONCE([BASIC_SETUP_COMPLEX_TOOLS],
[
BASIC_CHECK_GNU_MAKE
BASIC_CHECK_GNU_MAKE
BASIC_CHECK_FIND_DELETE
BASIC_CHECK_FIND_DELETE
# These tools might not be installed by default,
# need hint on how to install them.
BASIC_REQUIRE_PROG(UNZIP, unzip)
BASIC_REQUIRE_PROG(ZIP, zip)
# These tools might not be installed by default,
# need hint on how to install them.
BASIC_REQUIRE_PROG(UNZIP, unzip)
BASIC_REQUIRE_PROG(ZIP, zip)
# Non-required basic tools
# Non-required basic tools
AC_PATH_PROG(LDD, ldd)
if test "x$LDD" = "x"; then
AC_PATH_PROG(LDD, ldd)
if test "x$LDD" = "x"; then
# List shared lib dependencies is used for
# debug output and checking for forbidden dependencies.
# We can build without it.
LDD="true"
fi
AC_PATH_PROG(OTOOL, otool)
if test "x$OTOOL" = "x"; then
OTOOL="true"
fi
AC_PATH_PROGS(READELF, [readelf greadelf])
AC_PATH_PROG(HG, hg)
AC_PATH_PROG(STAT, stat)
AC_PATH_PROG(TIME, time)
# Check if it's GNU time
IS_GNU_TIME=`$TIME --version 2>&1 | $GREP 'GNU time'`
if test "x$IS_GNU_TIME" != x; then
IS_GNU_TIME=yes
else
IS_GNU_TIME=no
fi
AC_SUBST(IS_GNU_TIME)
fi
AC_PATH_PROG(OTOOL, otool)
if test "x$OTOOL" = "x"; then
OTOOL="true"
fi
AC_PATH_PROGS(READELF, [readelf greadelf])
AC_PATH_PROG(HG, hg)
AC_PATH_PROG(STAT, stat)
AC_PATH_PROG(TIME, time)
# Check if it's GNU time
IS_GNU_TIME=`$TIME --version 2>&1 | $GREP 'GNU time'`
if test "x$IS_GNU_TIME" != x; then
IS_GNU_TIME=yes
else
IS_GNU_TIME=no
fi
AC_SUBST(IS_GNU_TIME)
if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
BASIC_REQUIRE_PROG(COMM, comm)
fi
if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
BASIC_REQUIRE_PROG(COMM, comm)
fi
if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
BASIC_REQUIRE_PROG(XATTR, xattr)
AC_PATH_PROG(CODESIGN, codesign)
if test "x$CODESIGN" != "x"; then
# Verify that the openjdk_codesign certificate is present
AC_MSG_CHECKING([if openjdk_codesign certificate is present])
rm -f codesign-testfile
touch codesign-testfile
codesign -s openjdk_codesign codesign-testfile 2>&AS_MESSAGE_LOG_FD >&AS_MESSAGE_LOG_FD || CODESIGN=
rm -f codesign-testfile
if test "x$CODESIGN" = x; then
AC_MSG_RESULT([no])
else
AC_MSG_RESULT([yes])
if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
BASIC_REQUIRE_PROG(DSYMUTIL, dsymutil)
BASIC_REQUIRE_PROG(XATTR, xattr)
AC_PATH_PROG(CODESIGN, codesign)
if test "x$CODESIGN" != "x"; then
# Verify that the openjdk_codesign certificate is present
AC_MSG_CHECKING([if openjdk_codesign certificate is present])
rm -f codesign-testfile
touch codesign-testfile
codesign -s openjdk_codesign codesign-testfile 2>&AS_MESSAGE_LOG_FD >&AS_MESSAGE_LOG_FD || CODESIGN=
rm -f codesign-testfile
if test "x$CODESIGN" = x; then
AC_MSG_RESULT([no])
else
AC_MSG_RESULT([yes])
fi
fi
fi
fi
])
# Check if build directory is on local disk. If not possible to determine,
@@ -669,8 +682,8 @@ fi
# Argument 3: what to do otherwise (remote disk or failure)
AC_DEFUN([BASIC_CHECK_DIR_ON_LOCAL_DISK],
[
# df -l lists only local disks; if the given directory is not found then
# a non-zero exit code is given
# df -l lists only local disks; if the given directory is not found then
# a non-zero exit code is given
if test "x$DF" = x; then
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
# msys does not have df; use Windows "net use" instead.
@@ -707,32 +720,30 @@ AC_DEFUN_ONCE([BASIC_CHECK_SRC_PERMS],
AC_DEFUN_ONCE([BASIC_TEST_USABILITY_ISSUES],
[
AC_MSG_CHECKING([if build directory is on local disk])
BASIC_CHECK_DIR_ON_LOCAL_DISK($OUTPUT_ROOT,
[OUTPUT_DIR_IS_LOCAL="yes"],
[OUTPUT_DIR_IS_LOCAL="no"])
AC_MSG_RESULT($OUTPUT_DIR_IS_LOCAL)
AC_MSG_CHECKING([if build directory is on local disk])
BASIC_CHECK_DIR_ON_LOCAL_DISK($OUTPUT_ROOT,
[OUTPUT_DIR_IS_LOCAL="yes"],
[OUTPUT_DIR_IS_LOCAL="no"])
AC_MSG_RESULT($OUTPUT_DIR_IS_LOCAL)
BASIC_CHECK_SRC_PERMS
BASIC_CHECK_SRC_PERMS
# Check if the user has any old-style ALT_ variables set.
FOUND_ALT_VARIABLES=`env | grep ^ALT_`
# Check if the user has any old-style ALT_ variables set.
FOUND_ALT_VARIABLES=`env | grep ^ALT_`
# Before generating output files, test if they exist. If they do, this is a reconfigure.
# Since we can't properly handle the dependencies for this, warn the user about the situation
if test -e $OUTPUT_ROOT/spec.gmk; then
IS_RECONFIGURE=yes
else
IS_RECONFIGURE=no
fi
if test -e $SRC_ROOT/build/.hide-configure-performance-hints; then
HIDE_PERFORMANCE_HINTS=yes
else
HIDE_PERFORMANCE_HINTS=no
# Hide it the next time around...
$TOUCH $SRC_ROOT/build/.hide-configure-performance-hints > /dev/null 2>&1
fi
# Before generating output files, test if they exist. If they do, this is a reconfigure.
# Since we can't properly handle the dependencies for this, warn the user about the situation
if test -e $OUTPUT_ROOT/spec.gmk; then
IS_RECONFIGURE=yes
else
IS_RECONFIGURE=no
fi
if test -e $SRC_ROOT/build/.hide-configure-performance-hints; then
HIDE_PERFORMANCE_HINTS=yes
else
HIDE_PERFORMANCE_HINTS=no
# Hide it the next time around...
$TOUCH $SRC_ROOT/build/.hide-configure-performance-hints > /dev/null 2>&1
fi
])

View File

@@ -145,7 +145,7 @@ AC_DEFUN([BASIC_FIXUP_PATH_MSYS],
# Not in mixed or Windows style, start by that.
new_path=`cmd //c echo $path`
fi
BASIC_MAKE_WINDOWS_SPACE_SAFE_MSYS([$new_path])
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(new_path)
if test "x$path" != "x$new_path"; then
@@ -175,8 +175,8 @@ AC_DEFUN([BASIC_FIXUP_EXECUTABLE_CYGWIN],
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
&& test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
&& test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
if test "x$new_path" = x; then
@@ -191,8 +191,8 @@ AC_DEFUN([BASIC_FIXUP_EXECUTABLE_CYGWIN],
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
&& test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
&& test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path=`$CYGPATH -u "$path"`
fi
if test "x$new_path" = x; then
@@ -218,9 +218,9 @@ AC_DEFUN([BASIC_FIXUP_EXECUTABLE_CYGWIN],
# Short path failed, file does not exist as specified.
# Try adding .exe or .cmd
if test -f "${new_path}.exe"; then
input_to_shortpath="${new_path}.exe"
input_to_shortpath="${new_path}.exe"
elif test -f "${new_path}.cmd"; then
input_to_shortpath="${new_path}.cmd"
input_to_shortpath="${new_path}.cmd"
else
AC_MSG_NOTICE([The path of $1, which resolves as "$new_path", is invalid.])
AC_MSG_NOTICE([Neither "$new_path" nor "$new_path.exe/cmd" can be found])
@@ -254,7 +254,7 @@ AC_DEFUN([BASIC_FIXUP_EXECUTABLE_MSYS],
# Now try to locate executable using which
new_path=`$WHICH "$new_path" 2> /dev/null`
if test "x$new_path" = x; then
# Oops. Which didn't find the executable.
# The splitting of arguments from the executable at a space might have been incorrect,
@@ -264,9 +264,9 @@ AC_DEFUN([BASIC_FIXUP_EXECUTABLE_MSYS],
arguments="EOL"
new_path="$path"
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(new_path)
new_path=`$WHICH "$new_path" 2> /dev/null`
if test "x$new_path" = x; then
# It's still not found. Now this is an unrecoverable error.
AC_MSG_NOTICE([The path of $1, which resolves as "$complete", is not found.])
@@ -302,7 +302,7 @@ AC_DEFUN([BASIC_CHECK_PATHS_WINDOWS],
[
SRC_ROOT_LENGTH=`$THEPWDCMD -L|$WC -m`
if test $SRC_ROOT_LENGTH -gt 100; then
AC_MSG_ERROR([Your base path is too long. It is $SRC_ROOT_LENGTH characters long, but only 100 is supported])
AC_MSG_ERROR([Your base path is too long. It is $SRC_ROOT_LENGTH characters long, but only 100 is supported])
fi
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
@@ -311,14 +311,14 @@ AC_DEFUN([BASIC_CHECK_PATHS_WINDOWS],
AC_MSG_RESULT([$CYGWIN_VERSION])
WINDOWS_ENV_VENDOR='cygwin'
WINDOWS_ENV_VERSION="$CYGWIN_VERSION"
CYGWIN_VERSION_OK=`$ECHO $CYGWIN_VERSION | $GREP ^1.7.`
if test "x$CYGWIN_VERSION_OK" = x; then
AC_MSG_NOTICE([Your cygwin is too old. You are running $CYGWIN_VERSION, but at least cygwin 1.7 is required. Please upgrade.])
AC_MSG_ERROR([Cannot continue])
fi
if test "x$CYGPATH" = x; then
AC_MSG_ERROR([Something is wrong with your cygwin installation since I cannot find cygpath.exe in your path])
AC_MSG_ERROR([Something is wrong with your cygwin installation since I cannot find cygpath.exe in your path])
fi
AC_MSG_CHECKING([cygwin root directory as unix-style path])
# The cmd output ends with Windows line endings (CR/LF), the grep command will strip that away
@@ -329,13 +329,13 @@ AC_DEFUN([BASIC_CHECK_PATHS_WINDOWS],
WINDOWS_ENV_ROOT_PATH="$CYGWIN_ROOT_PATH"
test_cygdrive_prefix=`$ECHO $CYGWIN_ROOT_PATH | $GREP ^/cygdrive/`
if test "x$test_cygdrive_prefix" = x; then
AC_MSG_ERROR([Your cygdrive prefix is not /cygdrive. This is currently not supported. Change with mount -c.])
AC_MSG_ERROR([Your cygdrive prefix is not /cygdrive. This is currently not supported. Change with mount -c.])
fi
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
AC_MSG_CHECKING([msys release])
MSYS_VERSION=`$UNAME -r`
AC_MSG_RESULT([$MSYS_VERSION])
WINDOWS_ENV_VENDOR='msys'
WINDOWS_ENV_VERSION="$MSYS_VERSION"
@@ -367,12 +367,12 @@ AC_DEFUN([BASIC_CHECK_PATHS_WINDOWS],
AC_DEFUN_ONCE([BASIC_COMPILE_FIXPATH],
[
# When using cygwin or msys, we need a wrapper binary that renames
# /cygdrive/c/ arguments into c:/ arguments and peeks into
# @files and rewrites these too! This wrapper binary is
# called fixpath.
FIXPATH=
if test "x$OPENJDK_BUILD_OS" = xwindows; then
# When using cygwin or msys, we need a wrapper binary that renames
# /cygdrive/c/ arguments into c:/ arguments and peeks into
# @files and rewrites these too! This wrapper binary is
# called fixpath.
FIXPATH=
if test "x$OPENJDK_BUILD_OS" = xwindows; then
AC_MSG_CHECKING([if fixpath can be created])
FIXPATH_SRC="$SRC_ROOT/common/src/fixpath.c"
FIXPATH_BIN="$OUTPUT_ROOT/fixpath.exe"
@@ -389,7 +389,7 @@ if test "x$OPENJDK_BUILD_OS" = xwindows; then
# @ was chosen as separator to minimize risk of other tools messing around with it
all_unique_prefixes=`echo "${all_fixpath_prefixes@<:@@@:>@}" | tr ' ' '\n' | grep '^/./' | sort | uniq`
fixpath_argument_list=`echo $all_unique_prefixes | tr ' ' '@'`
FIXPATH="$OUTPUT_ROOT/fixpath -m$fixpath_argument_list"
fi
rm -f $OUTPUT_ROOT/fixpath*
@@ -397,24 +397,24 @@ if test "x$OPENJDK_BUILD_OS" = xwindows; then
$CC $FIXPATH_SRC -Fe$FIXPATH_BIN > $OUTPUT_ROOT/fixpath1.log 2>&1
cd $CURDIR
if test ! -x $OUTPUT_ROOT/fixpath.exe; then
AC_MSG_RESULT([no])
cat $OUTPUT_ROOT/fixpath1.log
AC_MSG_ERROR([Could not create $OUTPUT_ROOT/fixpath.exe])
if test ! -x $OUTPUT_ROOT/fixpath.exe; then
AC_MSG_RESULT([no])
cat $OUTPUT_ROOT/fixpath1.log
AC_MSG_ERROR([Could not create $OUTPUT_ROOT/fixpath.exe])
fi
AC_MSG_RESULT([yes])
AC_MSG_CHECKING([if fixpath.exe works])
cd $OUTPUT_ROOT
$FIXPATH $CC $SRC_ROOT/common/src/fixpath.c -Fe$OUTPUT_ROOT/fixpath2.exe > $OUTPUT_ROOT/fixpath2.log 2>&1
$FIXPATH $CC $SRC_ROOT/common/src/fixpath.c -Fe$OUTPUT_ROOT/fixpath2.exe > $OUTPUT_ROOT/fixpath2.log 2>&1
cd $CURDIR
if test ! -x $OUTPUT_ROOT/fixpath2.exe; then
AC_MSG_RESULT([no])
cat $OUTPUT_ROOT/fixpath2.log
AC_MSG_ERROR([fixpath did not work!])
if test ! -x $OUTPUT_ROOT/fixpath2.exe; then
AC_MSG_RESULT([no])
cat $OUTPUT_ROOT/fixpath2.log
AC_MSG_ERROR([fixpath did not work!])
fi
AC_MSG_RESULT([yes])
rm -f $OUTPUT_ROOT/fixpath?.??? $OUTPUT_ROOT/fixpath.obj
fi
fi
AC_SUBST(FIXPATH)
AC_SUBST(FIXPATH)
])

View File

@@ -44,7 +44,7 @@ AC_DEFUN([BOOTJDK_DO_CHECK],
AC_MSG_NOTICE([Potential Boot JDK found at $BOOT_JDK did not contain bin/javac; ignoring])
AC_MSG_NOTICE([(This might be an JRE instead of an JDK)])
BOOT_JDK_FOUND=no
else
else
# Do we have an rt.jar? (On MacOSX it is called classes.jar)
if test ! -f "$BOOT_JDK/jre/lib/rt.jar" && test ! -f "$BOOT_JDK/../Classes/classes.jar"; then
AC_MSG_NOTICE([Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring])
@@ -79,70 +79,70 @@ AC_DEFUN([BOOTJDK_DO_CHECK],
# Test: Is bootjdk explicitely set by command line arguments?
AC_DEFUN([BOOTJDK_CHECK_ARGUMENTS],
[
if test "x$with_boot_jdk" != x; then
if test "x$with_boot_jdk" != x; then
BOOT_JDK=$with_boot_jdk
BOOT_JDK_FOUND=maybe
AC_MSG_NOTICE([Found potential Boot JDK using configure arguments])
fi
fi
])
# Test: Is bootjdk available from builddeps?
AC_DEFUN([BOOTJDK_CHECK_BUILDDEPS],
[
BDEPS_CHECK_MODULE(BOOT_JDK, bootjdk, xxx, [BOOT_JDK_FOUND=maybe], [BOOT_JDK_FOUND=no])
BDEPS_CHECK_MODULE(BOOT_JDK, bootjdk, xxx, [BOOT_JDK_FOUND=maybe], [BOOT_JDK_FOUND=no])
])
# Test: Is $JAVA_HOME set?
AC_DEFUN([BOOTJDK_CHECK_JAVA_HOME],
[
if test "x$JAVA_HOME" != x; then
JAVA_HOME_PROCESSED="$JAVA_HOME"
BASIC_FIXUP_PATH(JAVA_HOME_PROCESSED)
if test ! -d "$JAVA_HOME_PROCESSED"; then
AC_MSG_NOTICE([Your JAVA_HOME points to a non-existing directory!])
else
# Aha, the user has set a JAVA_HOME
# let us use that as the Boot JDK.
BOOT_JDK="$JAVA_HOME_PROCESSED"
BOOT_JDK_FOUND=maybe
AC_MSG_NOTICE([Found potential Boot JDK using JAVA_HOME])
fi
if test "x$JAVA_HOME" != x; then
JAVA_HOME_PROCESSED="$JAVA_HOME"
BASIC_FIXUP_PATH(JAVA_HOME_PROCESSED)
if test ! -d "$JAVA_HOME_PROCESSED"; then
AC_MSG_NOTICE([Your JAVA_HOME points to a non-existing directory!])
else
# Aha, the user has set a JAVA_HOME
# let us use that as the Boot JDK.
BOOT_JDK="$JAVA_HOME_PROCESSED"
BOOT_JDK_FOUND=maybe
AC_MSG_NOTICE([Found potential Boot JDK using JAVA_HOME])
fi
fi
])
# Test: Is there a java or javac in the PATH, which is a symlink to the JDK?
AC_DEFUN([BOOTJDK_CHECK_JAVA_IN_PATH_IS_SYMLINK],
[
AC_PATH_PROG(JAVAC_CHECK, javac)
AC_PATH_PROG(JAVA_CHECK, java)
BINARY="$JAVAC_CHECK"
if test "x$JAVAC_CHECK" = x; then
BINARY="$JAVA_CHECK"
fi
if test "x$BINARY" != x; then
# So there is a java(c) binary, it might be part of a JDK.
# Lets find the JDK/JRE directory by following symbolic links.
# Linux/GNU systems often have links from /usr/bin/java to
# /etc/alternatives/java to the real JDK binary.
BASIC_REMOVE_SYMBOLIC_LINKS(BINARY)
BOOT_JDK=`dirname "$BINARY"`
BOOT_JDK=`cd "$BOOT_JDK/.."; pwd`
if test -x "$BOOT_JDK/bin/javac" && test -x "$BOOT_JDK/bin/java"; then
# Looks like we found ourselves an JDK
BOOT_JDK_FOUND=maybe
AC_MSG_NOTICE([Found potential Boot JDK using java(c) in PATH])
fi
AC_PATH_PROG(JAVAC_CHECK, javac)
AC_PATH_PROG(JAVA_CHECK, java)
BINARY="$JAVAC_CHECK"
if test "x$JAVAC_CHECK" = x; then
BINARY="$JAVA_CHECK"
fi
if test "x$BINARY" != x; then
# So there is a java(c) binary, it might be part of a JDK.
# Lets find the JDK/JRE directory by following symbolic links.
# Linux/GNU systems often have links from /usr/bin/java to
# /etc/alternatives/java to the real JDK binary.
BASIC_REMOVE_SYMBOLIC_LINKS(BINARY)
BOOT_JDK=`dirname "$BINARY"`
BOOT_JDK=`cd "$BOOT_JDK/.."; pwd`
if test -x "$BOOT_JDK/bin/javac" && test -x "$BOOT_JDK/bin/java"; then
# Looks like we found ourselves an JDK
BOOT_JDK_FOUND=maybe
AC_MSG_NOTICE([Found potential Boot JDK using java(c) in PATH])
fi
fi
])
# Test: Is there a /usr/libexec/java_home? (Typically on MacOSX)
AC_DEFUN([BOOTJDK_CHECK_LIBEXEC_JAVA_HOME],
[
if test -x /usr/libexec/java_home; then
BOOT_JDK=`/usr/libexec/java_home`
BOOT_JDK_FOUND=maybe
AC_MSG_NOTICE([Found potential Boot JDK using /usr/libexec/java_home])
fi
if test -x /usr/libexec/java_home; then
BOOT_JDK=`/usr/libexec/java_home`
BOOT_JDK_FOUND=maybe
AC_MSG_NOTICE([Found potential Boot JDK using /usr/libexec/java_home])
fi
])
# Look for a jdk in the given path. If there are multiple, try to select the newest.
@@ -204,123 +204,123 @@ AC_DEFUN([BOOTJDK_CHECK_TOOL_IN_BOOTJDK],
AC_MSG_CHECKING([for $2 in Boot JDK])
$1=$BOOT_JDK/bin/$2
if test ! -x [$]$1; then
AC_MSG_RESULT(not found)
AC_MSG_NOTICE([Your Boot JDK seems broken. This might be fixed by explicitely setting --with-boot-jdk])
AC_MSG_ERROR([Could not find $2 in the Boot JDK])
AC_MSG_RESULT(not found)
AC_MSG_NOTICE([Your Boot JDK seems broken. This might be fixed by explicitely setting --with-boot-jdk])
AC_MSG_ERROR([Could not find $2 in the Boot JDK])
fi
AC_MSG_RESULT(ok)
])
###############################################################################
#
# We need a Boot JDK to bootstrap the build.
# We need a Boot JDK to bootstrap the build.
#
AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK],
[
BOOT_JDK_FOUND=no
AC_ARG_WITH(boot-jdk, [AS_HELP_STRING([--with-boot-jdk],
[path to Boot JDK (used to bootstrap build) @<:@probed@:>@])])
BOOT_JDK_FOUND=no
AC_ARG_WITH(boot-jdk, [AS_HELP_STRING([--with-boot-jdk],
[path to Boot JDK (used to bootstrap build) @<:@probed@:>@])])
# We look for the Boot JDK through various means, going from more certain to
# more of a guess-work. After each test, BOOT_JDK_FOUND is set to "yes" if
# we detected something (if so, the path to the jdk is in BOOT_JDK). But we
# must check if this is indeed valid; otherwise we'll continue looking.
# We look for the Boot JDK through various means, going from more certain to
# more of a guess-work. After each test, BOOT_JDK_FOUND is set to "yes" if
# we detected something (if so, the path to the jdk is in BOOT_JDK). But we
# must check if this is indeed valid; otherwise we'll continue looking.
# Test: Is bootjdk explicitely set by command line arguments?
BOOTJDK_DO_CHECK([BOOTJDK_CHECK_ARGUMENTS])
if test "x$with_boot_jdk" != x && test "x$BOOT_JDK_FOUND" = xno; then
# Having specified an argument which is incorrect will produce an instant failure;
# we should not go on looking
AC_MSG_ERROR([The path given by --with-boot-jdk does not contain a valid Boot JDK])
fi
# Test: Is bootjdk explicitely set by command line arguments?
BOOTJDK_DO_CHECK([BOOTJDK_CHECK_ARGUMENTS])
if test "x$with_boot_jdk" != x && test "x$BOOT_JDK_FOUND" = xno; then
# Having specified an argument which is incorrect will produce an instant failure;
# we should not go on looking
AC_MSG_ERROR([The path given by --with-boot-jdk does not contain a valid Boot JDK])
fi
# Test: Is bootjdk available from builddeps?
BOOTJDK_DO_CHECK([BOOTJDK_CHECK_BUILDDEPS])
# Test: Is bootjdk available from builddeps?
BOOTJDK_DO_CHECK([BOOTJDK_CHECK_BUILDDEPS])
# Test: Is $JAVA_HOME set?
BOOTJDK_DO_CHECK([BOOTJDK_CHECK_JAVA_HOME])
# Test: Is $JAVA_HOME set?
BOOTJDK_DO_CHECK([BOOTJDK_CHECK_JAVA_HOME])
# Test: Is there a /usr/libexec/java_home? (Typically on MacOSX)
BOOTJDK_DO_CHECK([BOOTJDK_CHECK_LIBEXEC_JAVA_HOME])
# Test: Is there a /usr/libexec/java_home? (Typically on MacOSX)
BOOTJDK_DO_CHECK([BOOTJDK_CHECK_LIBEXEC_JAVA_HOME])
# Test: Is there a java or javac in the PATH, which is a symlink to the JDK?
BOOTJDK_DO_CHECK([BOOTJDK_CHECK_JAVA_IN_PATH_IS_SYMLINK])
# Test: Is there a java or javac in the PATH, which is a symlink to the JDK?
BOOTJDK_DO_CHECK([BOOTJDK_CHECK_JAVA_IN_PATH_IS_SYMLINK])
# Test: Is there a JDK installed in default, well-known locations?
BOOTJDK_DO_CHECK([BOOTJDK_CHECK_WELL_KNOWN_LOCATIONS])
# Test: Is there a JDK installed in default, well-known locations?
BOOTJDK_DO_CHECK([BOOTJDK_CHECK_WELL_KNOWN_LOCATIONS])
# If we haven't found anything yet, we've truly lost. Give up.
if test "x$BOOT_JDK_FOUND" = xno; then
HELP_MSG_MISSING_DEPENDENCY([openjdk])
AC_MSG_NOTICE([Could not find a valid Boot JDK. $HELP_MSG])
AC_MSG_NOTICE([This might be fixed by explicitely setting --with-boot-jdk])
AC_MSG_ERROR([Cannot continue])
fi
# If we haven't found anything yet, we've truly lost. Give up.
if test "x$BOOT_JDK_FOUND" = xno; then
HELP_MSG_MISSING_DEPENDENCY([openjdk])
AC_MSG_NOTICE([Could not find a valid Boot JDK. $HELP_MSG])
AC_MSG_NOTICE([This might be fixed by explicitely setting --with-boot-jdk])
AC_MSG_ERROR([Cannot continue])
fi
# Setup proper paths for what we found
BOOT_RTJAR="$BOOT_JDK/jre/lib/rt.jar"
if test ! -f "$BOOT_RTJAR"; then
# Setup proper paths for what we found
BOOT_RTJAR="$BOOT_JDK/jre/lib/rt.jar"
if test ! -f "$BOOT_RTJAR"; then
# On MacOSX it is called classes.jar
BOOT_RTJAR="$BOOT_JDK/../Classes/classes.jar"
if test -f "$BOOT_RTJAR"; then
# Remove the ..
# Remove the ..
BOOT_RTJAR="`cd ${BOOT_RTJAR%/*} && pwd`/${BOOT_RTJAR##*/}"
fi
fi
BOOT_TOOLSJAR="$BOOT_JDK/lib/tools.jar"
BOOT_JDK="$BOOT_JDK"
AC_SUBST(BOOT_RTJAR)
AC_SUBST(BOOT_TOOLSJAR)
AC_SUBST(BOOT_JDK)
fi
BOOT_TOOLSJAR="$BOOT_JDK/lib/tools.jar"
BOOT_JDK="$BOOT_JDK"
AC_SUBST(BOOT_RTJAR)
AC_SUBST(BOOT_TOOLSJAR)
AC_SUBST(BOOT_JDK)
# Setup tools from the Boot JDK.
BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAVA,java)
BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAVAC,javac)
BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAVAH,javah)
BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAVAP,javap)
BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAR,jar)
BOOTJDK_CHECK_TOOL_IN_BOOTJDK(RMIC,rmic)
BOOTJDK_CHECK_TOOL_IN_BOOTJDK(NATIVE2ASCII,native2ascii)
# Setup tools from the Boot JDK.
BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAVA,java)
BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAVAC,javac)
BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAVAH,javah)
BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAVAP,javap)
BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAR,jar)
BOOTJDK_CHECK_TOOL_IN_BOOTJDK(RMIC,rmic)
BOOTJDK_CHECK_TOOL_IN_BOOTJDK(NATIVE2ASCII,native2ascii)
# Finally, set some other options...
# Finally, set some other options...
# When compiling code to be executed by the Boot JDK, force jdk7 compatibility.
BOOT_JDK_SOURCETARGET="-source 7 -target 7"
AC_SUBST(BOOT_JDK_SOURCETARGET)
AC_SUBST(JAVAC_FLAGS)
# When compiling code to be executed by the Boot JDK, force jdk7 compatibility.
BOOT_JDK_SOURCETARGET="-source 7 -target 7"
AC_SUBST(BOOT_JDK_SOURCETARGET)
AC_SUBST(JAVAC_FLAGS)
])
AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS],
[
##############################################################################
#
# Specify options for anything that is run with the Boot JDK.
#
AC_ARG_WITH(boot-jdk-jvmargs, [AS_HELP_STRING([--with-boot-jdk-jvmargs],
[specify JVM arguments to be passed to all invocations of the Boot JDK, overriding the default values,
e.g --with-boot-jdk-jvmargs="-Xmx8G -enableassertions"])])
##############################################################################
#
# Specify options for anything that is run with the Boot JDK.
#
AC_ARG_WITH(boot-jdk-jvmargs, [AS_HELP_STRING([--with-boot-jdk-jvmargs],
[specify JVM arguments to be passed to all invocations of the Boot JDK, overriding the default values,
e.g --with-boot-jdk-jvmargs="-Xmx8G -enableassertions"])])
if test "x$with_boot_jdk_jvmargs" = x; then
if test "x$with_boot_jdk_jvmargs" = x; then
# Not all JVM:s accept the same arguments on the command line.
# OpenJDK specific increase in thread stack for JDK build,
# well more specifically, when running javac.
if test "x$BUILD_NUM_BITS" = x32; then
STACK_SIZE=768
STACK_SIZE=768
else
# Running Javac on a JVM on a 64-bit machine, the stack takes more space
# since 64-bit pointers are pushed on the stach. Apparently, we need
# to increase the stack space when javacing the JDK....
STACK_SIZE=1536
# Running Javac on a JVM on a 64-bit machine, the stack takes more space
# since 64-bit pointers are pushed on the stach. Apparently, we need
# to increase the stack space when javacing the JDK....
STACK_SIZE=1536
fi
# Minimum amount of heap memory.
ADD_JVM_ARG_IF_OK([-Xms64M],boot_jdk_jvmargs,[$JAVA])
if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
# Why does macosx need more heap? Its the huge JDK batch.
ADD_JVM_ARG_IF_OK([-Xmx1600M],boot_jdk_jvmargs,[$JAVA])
# Why does macosx need more heap? Its the huge JDK batch.
ADD_JVM_ARG_IF_OK([-Xmx1600M],boot_jdk_jvmargs,[$JAVA])
else
ADD_JVM_ARG_IF_OK([-Xmx1100M],boot_jdk_jvmargs,[$JAVA])
ADD_JVM_ARG_IF_OK([-Xmx1100M],boot_jdk_jvmargs,[$JAVA])
fi
# When is adding -client something that speeds up the JVM?
# ADD_JVM_ARG_IF_OK([-client],boot_jdk_jvmargs,[$JAVA])
@@ -329,7 +329,7 @@ if test "x$with_boot_jdk_jvmargs" = x; then
ADD_JVM_ARG_IF_OK([-XX:ThreadStackSize=$STACK_SIZE],boot_jdk_jvmargs,[$JAVA])
# Disable special log output when a debug build is used as Boot JDK...
ADD_JVM_ARG_IF_OK([-XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput],boot_jdk_jvmargs,[$JAVA])
fi
fi
AC_SUBST(BOOT_JDK_JVMARGS, $boot_jdk_jvmargs)
AC_SUBST(BOOT_JDK_JVMARGS, $boot_jdk_jvmargs)
])

View File

@@ -36,7 +36,7 @@ else
JAVA_EXEC_POS=1
endif
ifneq ($(word $(JAVA_EXEC_POS),$(SJAVAC_SERVER_JAVA)),$(word $(JAVA_EXEC_POS),$(JAVA)))
$(error Bootcycle builds are not possible if --with-sjavac-server-java is specified)
$(error Bootcycle builds are not possible if --with-sjavac-server-java is specified)
endif

View File

@@ -58,6 +58,6 @@ if test $? = 0; then
OUT=$REAL_CPU`echo $OUT | sed -e 's/[^-]*//'`
;;
esac
fi
fi
echo $OUT

View File

@@ -25,78 +25,77 @@
AC_DEFUN([BPERF_CHECK_CORES],
[
AC_MSG_CHECKING([for number of cores])
NUM_CORES=1
FOUND_CORES=no
if test -f /proc/cpuinfo; then
# Looks like a Linux (or cygwin) system
NUM_CORES=`cat /proc/cpuinfo | grep -c processor`
FOUND_CORES=yes
elif test -x /usr/sbin/psrinfo; then
# Looks like a Solaris system
NUM_CORES=`LC_MESSAGES=C /usr/sbin/psrinfo -v | grep -c on-line`
FOUND_CORES=yes
elif test -x /usr/sbin/system_profiler; then
# Looks like a MacOSX system
NUM_CORES=`/usr/sbin/system_profiler -detailLevel full SPHardwareDataType | grep 'Cores' | awk '{print [$]5}'`
FOUND_CORES=yes
elif test -n "$NUMBER_OF_PROCESSORS"; then
# On windows, look in the env
NUM_CORES=$NUMBER_OF_PROCESSORS
FOUND_CORES=yes
fi
AC_MSG_CHECKING([for number of cores])
NUM_CORES=1
FOUND_CORES=no
if test "x$FOUND_CORES" = xyes; then
AC_MSG_RESULT([$NUM_CORES])
else
AC_MSG_RESULT([could not detect number of cores, defaulting to 1])
AC_MSG_WARN([This will disable all parallelism from build!])
fi
if test -f /proc/cpuinfo; then
# Looks like a Linux (or cygwin) system
NUM_CORES=`cat /proc/cpuinfo | grep -c processor`
FOUND_CORES=yes
elif test -x /usr/sbin/psrinfo; then
# Looks like a Solaris system
NUM_CORES=`LC_MESSAGES=C /usr/sbin/psrinfo -v | grep -c on-line`
FOUND_CORES=yes
elif test -x /usr/sbin/system_profiler; then
# Looks like a MacOSX system
NUM_CORES=`/usr/sbin/system_profiler -detailLevel full SPHardwareDataType | grep 'Cores' | awk '{print [$]5}'`
FOUND_CORES=yes
elif test -n "$NUMBER_OF_PROCESSORS"; then
# On windows, look in the env
NUM_CORES=$NUMBER_OF_PROCESSORS
FOUND_CORES=yes
fi
if test "x$FOUND_CORES" = xyes; then
AC_MSG_RESULT([$NUM_CORES])
else
AC_MSG_RESULT([could not detect number of cores, defaulting to 1])
AC_MSG_WARN([This will disable all parallelism from build!])
fi
])
AC_DEFUN([BPERF_CHECK_MEMORY_SIZE],
[
AC_MSG_CHECKING([for memory size])
# Default to 1024 MB
MEMORY_SIZE=1024
FOUND_MEM=no
if test -f /proc/meminfo; then
# Looks like a Linux (or cygwin) system
MEMORY_SIZE=`cat /proc/meminfo | grep MemTotal | awk '{print [$]2}'`
MEMORY_SIZE=`expr $MEMORY_SIZE / 1024`
FOUND_MEM=yes
elif test -x /usr/sbin/prtconf; then
# Looks like a Solaris system
MEMORY_SIZE=`/usr/sbin/prtconf | grep "Memory size" | awk '{ print [$]3 }'`
FOUND_MEM=yes
elif test -x /usr/sbin/system_profiler; then
# Looks like a MacOSX system
MEMORY_SIZE=`/usr/sbin/system_profiler -detailLevel full SPHardwareDataType | grep 'Memory' | awk '{print [$]2}'`
MEMORY_SIZE=`expr $MEMORY_SIZE \* 1024`
FOUND_MEM=yes
elif test "x$OPENJDK_BUILD_OS" = xwindows; then
# Windows, but without cygwin
MEMORY_SIZE=`wmic computersystem get totalphysicalmemory -value | grep = | cut -d "=" -f 2-`
MEMORY_SIZE=`expr $MEMORY_SIZE / 1024 / 1024`
FOUND_MEM=yes
fi
AC_MSG_CHECKING([for memory size])
# Default to 1024 MB
MEMORY_SIZE=1024
FOUND_MEM=no
if test "x$FOUND_MEM" = xyes; then
AC_MSG_RESULT([$MEMORY_SIZE MB])
else
AC_MSG_RESULT([could not detect memory size, defaulting to 1024 MB])
AC_MSG_WARN([This might seriously impact build performance!])
fi
if test -f /proc/meminfo; then
# Looks like a Linux (or cygwin) system
MEMORY_SIZE=`cat /proc/meminfo | grep MemTotal | awk '{print [$]2}'`
MEMORY_SIZE=`expr $MEMORY_SIZE / 1024`
FOUND_MEM=yes
elif test -x /usr/sbin/prtconf; then
# Looks like a Solaris system
MEMORY_SIZE=`/usr/sbin/prtconf | grep "Memory size" | awk '{ print [$]3 }'`
FOUND_MEM=yes
elif test -x /usr/sbin/system_profiler; then
# Looks like a MacOSX system
MEMORY_SIZE=`/usr/sbin/system_profiler -detailLevel full SPHardwareDataType | grep 'Memory' | awk '{print [$]2}'`
MEMORY_SIZE=`expr $MEMORY_SIZE \* 1024`
FOUND_MEM=yes
elif test "x$OPENJDK_BUILD_OS" = xwindows; then
# Windows, but without cygwin
MEMORY_SIZE=`wmic computersystem get totalphysicalmemory -value | grep = | cut -d "=" -f 2-`
MEMORY_SIZE=`expr $MEMORY_SIZE / 1024 / 1024`
FOUND_MEM=yes
fi
if test "x$FOUND_MEM" = xyes; then
AC_MSG_RESULT([$MEMORY_SIZE MB])
else
AC_MSG_RESULT([could not detect memory size, defaulting to 1024 MB])
AC_MSG_WARN([This might seriously impact build performance!])
fi
])
AC_DEFUN_ONCE([BPERF_SETUP_BUILD_CORES],
[
# How many cores do we have on this build system?
AC_ARG_WITH(num-cores, [AS_HELP_STRING([--with-num-cores],
[number of cores in the build system, e.g. --with-num-cores=8 @<:@probed@:>@])])
[number of cores in the build system, e.g. --with-num-cores=8 @<:@probed@:>@])])
if test "x$with_num_cores" = x; then
# The number of cores were not specified, try to probe them.
BPERF_CHECK_CORES
@@ -110,7 +109,7 @@ AC_DEFUN_ONCE([BPERF_SETUP_BUILD_MEMORY],
[
# How much memory do we have on this build system?
AC_ARG_WITH(memory-size, [AS_HELP_STRING([--with-memory-size],
[memory (in MB) available in the build system, e.g. --with-memory-size=1024 @<:@probed@:>@])])
[memory (in MB) available in the build system, e.g. --with-memory-size=1024 @<:@probed@:>@])])
if test "x$with_memory_size" = x; then
# The memory size was not specified, try to probe it.
BPERF_CHECK_MEMORY_SIZE
@@ -122,10 +121,10 @@ AC_DEFUN_ONCE([BPERF_SETUP_BUILD_MEMORY],
AC_DEFUN_ONCE([BPERF_SETUP_BUILD_JOBS],
[
# Provide a decent default number of parallel jobs for make depending on
# Provide a decent default number of parallel jobs for make depending on
# number of cores, amount of memory and machine architecture.
AC_ARG_WITH(jobs, [AS_HELP_STRING([--with-jobs],
[number of parallel jobs to let make run @<:@calculated based on cores and memory@:>@])])
[number of parallel jobs to let make run @<:@calculated based on cores and memory@:>@])])
if test "x$with_jobs" = x; then
# Number of jobs was not specified, calculate.
AC_MSG_CHECKING([for appropriate number of jobs to run in parallel])
@@ -157,179 +156,178 @@ AC_DEFUN_ONCE([BPERF_SETUP_BUILD_JOBS],
AC_DEFUN([BPERF_SETUP_CCACHE],
[
AC_ARG_ENABLE([ccache],
[AS_HELP_STRING([--disable-ccache],
[disable using ccache to speed up recompilations @<:@enabled@:>@])],
[ENABLE_CCACHE=${enable_ccache}], [ENABLE_CCACHE=yes])
if test "x$ENABLE_CCACHE" = xyes; then
OLD_PATH="$PATH"
if test "x$TOOLS_DIR" != x; then
PATH=$TOOLS_DIR:$PATH
fi
AC_PATH_PROG(CCACHE, ccache)
PATH="$OLD_PATH"
else
AC_MSG_CHECKING([for ccache])
AC_MSG_RESULT([explicitly disabled])
CCACHE=
fi
AC_SUBST(CCACHE)
AC_ARG_WITH([ccache-dir],
[AS_HELP_STRING([--with-ccache-dir],
[where to store ccache files @<:@~/.ccache@:>@])])
if test "x$with_ccache_dir" != x; then
# When using a non home ccache directory, assume the use is to share ccache files
# with other users. Thus change the umask.
SET_CCACHE_DIR="CCACHE_DIR=$with_ccache_dir CCACHE_UMASK=002"
AC_ARG_ENABLE([ccache],
[AS_HELP_STRING([--disable-ccache],
[disable using ccache to speed up recompilations @<:@enabled@:>@])],
[ENABLE_CCACHE=${enable_ccache}], [ENABLE_CCACHE=yes])
if test "x$ENABLE_CCACHE" = xyes; then
OLD_PATH="$PATH"
if test "x$TOOLS_DIR" != x; then
PATH=$TOOLS_DIR:$PATH
fi
CCACHE_FOUND=""
if test "x$CCACHE" != x; then
BPERF_SETUP_CCACHE_USAGE
fi
AC_PATH_PROG(CCACHE, ccache)
PATH="$OLD_PATH"
else
AC_MSG_CHECKING([for ccache])
AC_MSG_RESULT([explicitly disabled])
CCACHE=
fi
AC_SUBST(CCACHE)
AC_ARG_WITH([ccache-dir],
[AS_HELP_STRING([--with-ccache-dir],
[where to store ccache files @<:@~/.ccache@:>@])])
if test "x$with_ccache_dir" != x; then
# When using a non home ccache directory, assume the use is to share ccache files
# with other users. Thus change the umask.
SET_CCACHE_DIR="CCACHE_DIR=$with_ccache_dir CCACHE_UMASK=002"
fi
CCACHE_FOUND=""
if test "x$CCACHE" != x; then
BPERF_SETUP_CCACHE_USAGE
fi
])
AC_DEFUN([BPERF_SETUP_CCACHE_USAGE],
[
if test "x$CCACHE" != x; then
CCACHE_FOUND="true"
# Only use ccache if it is 3.1.4 or later, which supports
# precompiled headers.
AC_MSG_CHECKING([if ccache supports precompiled headers])
HAS_GOOD_CCACHE=`($CCACHE --version | head -n 1 | grep -E 3.1.@<:@456789@:>@) 2> /dev/null`
if test "x$HAS_GOOD_CCACHE" = x; then
AC_MSG_RESULT([no, disabling ccache])
CCACHE=
else
AC_MSG_RESULT([yes])
AC_MSG_CHECKING([if C-compiler supports ccache precompiled headers])
PUSHED_FLAGS="$CXXFLAGS"
CXXFLAGS="-fpch-preprocess $CXXFLAGS"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])], [CC_KNOWS_CCACHE_TRICK=yes], [CC_KNOWS_CCACHE_TRICK=no])
CXXFLAGS="$PUSHED_FLAGS"
if test "x$CC_KNOWS_CCACHE_TRICK" = xyes; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no, disabling ccaching of precompiled headers])
CCACHE=
fi
fi
if test "x$CCACHE" != x; then
CCACHE_FOUND="true"
# Only use ccache if it is 3.1.4 or later, which supports
# precompiled headers.
AC_MSG_CHECKING([if ccache supports precompiled headers])
HAS_GOOD_CCACHE=`($CCACHE --version | head -n 1 | grep -E 3.1.@<:@456789@:>@) 2> /dev/null`
if test "x$HAS_GOOD_CCACHE" = x; then
AC_MSG_RESULT([no, disabling ccache])
CCACHE=
else
AC_MSG_RESULT([yes])
AC_MSG_CHECKING([if C-compiler supports ccache precompiled headers])
PUSHED_FLAGS="$CXXFLAGS"
CXXFLAGS="-fpch-preprocess $CXXFLAGS"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [])], [CC_KNOWS_CCACHE_TRICK=yes], [CC_KNOWS_CCACHE_TRICK=no])
CXXFLAGS="$PUSHED_FLAGS"
if test "x$CC_KNOWS_CCACHE_TRICK" = xyes; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no, disabling ccaching of precompiled headers])
CCACHE=
fi
fi
fi
if test "x$CCACHE" != x; then
CCACHE_SLOPPINESS=time_macros
CCACHE="CCACHE_COMPRESS=1 $SET_CCACHE_DIR CCACHE_SLOPPINESS=$CCACHE_SLOPPINESS $CCACHE"
CCACHE_FLAGS=-fpch-preprocess
if test "x$CCACHE" != x; then
CCACHE_SLOPPINESS=time_macros
CCACHE="CCACHE_COMPRESS=1 $SET_CCACHE_DIR CCACHE_SLOPPINESS=$CCACHE_SLOPPINESS $CCACHE"
CCACHE_FLAGS=-fpch-preprocess
if test "x$SET_CCACHE_DIR" != x; then
mkdir -p $CCACHE_DIR > /dev/null 2>&1
chmod a+rwxs $CCACHE_DIR > /dev/null 2>&1
fi
if test "x$SET_CCACHE_DIR" != x; then
mkdir -p $CCACHE_DIR > /dev/null 2>&1
chmod a+rwxs $CCACHE_DIR > /dev/null 2>&1
fi
fi
])
AC_DEFUN_ONCE([BPERF_SETUP_PRECOMPILED_HEADERS],
[
###############################################################################
#
# Can the C/C++ compiler use precompiled headers?
#
AC_ARG_ENABLE([precompiled-headers], [AS_HELP_STRING([--disable-precompiled-headers],
[disable using precompiled headers when compiling C++ @<:@enabled@:>@])],
[ENABLE_PRECOMPH=${enable_precompiled_headers}], [ENABLE_PRECOMPH=yes])
USE_PRECOMPILED_HEADER=1
if test "x$ENABLE_PRECOMPH" = xno; then
###############################################################################
#
# Can the C/C++ compiler use precompiled headers?
#
AC_ARG_ENABLE([precompiled-headers], [AS_HELP_STRING([--disable-precompiled-headers],
[disable using precompiled headers when compiling C++ @<:@enabled@:>@])],
[ENABLE_PRECOMPH=${enable_precompiled_headers}], [ENABLE_PRECOMPH=yes])
USE_PRECOMPILED_HEADER=1
if test "x$ENABLE_PRECOMPH" = xno; then
USE_PRECOMPILED_HEADER=0
fi
fi
if test "x$ENABLE_PRECOMPH" = xyes; then
if test "x$ENABLE_PRECOMPH" = xyes; then
# Check that the compiler actually supports precomp headers.
if test "x$GCC" = xyes; then
AC_MSG_CHECKING([that precompiled headers work])
echo "int alfa();" > conftest.h
$CXX -x c++-header conftest.h -o conftest.hpp.gch 2>&AS_MESSAGE_LOG_FD >&AS_MESSAGE_LOG_FD
if test ! -f conftest.hpp.gch; then
USE_PRECOMPILED_HEADER=0
AC_MSG_RESULT([no])
else
AC_MSG_RESULT([yes])
fi
rm -f conftest.h conftest.hpp.gch
AC_MSG_CHECKING([that precompiled headers work])
echo "int alfa();" > conftest.h
$CXX -x c++-header conftest.h -o conftest.hpp.gch 2>&AS_MESSAGE_LOG_FD >&AS_MESSAGE_LOG_FD
if test ! -f conftest.hpp.gch; then
USE_PRECOMPILED_HEADER=0
AC_MSG_RESULT([no])
else
AC_MSG_RESULT([yes])
fi
rm -f conftest.h conftest.hpp.gch
fi
fi
fi
AC_SUBST(USE_PRECOMPILED_HEADER)
AC_SUBST(USE_PRECOMPILED_HEADER)
])
AC_DEFUN_ONCE([BPERF_SETUP_SMART_JAVAC],
[
AC_ARG_WITH(sjavac-server-java, [AS_HELP_STRING([--with-sjavac-server-java],
[use this java binary for running the sjavac background server @<:@Boot JDK java@:>@])])
AC_ARG_WITH(sjavac-server-java, [AS_HELP_STRING([--with-sjavac-server-java],
[use this java binary for running the sjavac background server @<:@Boot JDK java@:>@])])
if test "x$with_sjavac_server_java" != x; then
if test "x$with_sjavac_server_java" != x; then
SJAVAC_SERVER_JAVA="$with_sjavac_server_java"
FOUND_VERSION=`$SJAVAC_SERVER_JAVA -version 2>&1 | grep " version \""`
if test "x$FOUND_VERSION" = x; then
AC_MSG_ERROR([Could not execute server java: $SJAVAC_SERVER_JAVA])
AC_MSG_ERROR([Could not execute server java: $SJAVAC_SERVER_JAVA])
fi
else
else
SJAVAC_SERVER_JAVA=""
# Hotspot specific options.
ADD_JVM_ARG_IF_OK([-verbosegc],SJAVAC_SERVER_JAVA,[$JAVA])
# JRockit specific options.
ADD_JVM_ARG_IF_OK([-Xverbose:gc],SJAVAC_SERVER_JAVA,[$JAVA])
SJAVAC_SERVER_JAVA="$JAVA $SJAVAC_SERVER_JAVA"
fi
AC_SUBST(SJAVAC_SERVER_JAVA)
fi
AC_SUBST(SJAVAC_SERVER_JAVA)
if test "$MEMORY_SIZE" -gt "2500"; then
if test "$MEMORY_SIZE" -gt "2500"; then
ADD_JVM_ARG_IF_OK([-d64],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
if test "$JVM_ARG_OK" = true; then
JVM_64BIT=true
JVM_ARG_OK=false
fi
JVM_64BIT=true
JVM_ARG_OK=false
fi
fi
if test "$JVM_64BIT" = true; then
if test "$JVM_64BIT" = true; then
if test "$MEMORY_SIZE" -gt "17000"; then
ADD_JVM_ARG_IF_OK([-Xms10G -Xmx10G],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
ADD_JVM_ARG_IF_OK([-Xms10G -Xmx10G],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
fi
if test "$MEMORY_SIZE" -gt "10000" && test "$JVM_ARG_OK" = false; then
ADD_JVM_ARG_IF_OK([-Xms6G -Xmx6G],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
ADD_JVM_ARG_IF_OK([-Xms6G -Xmx6G],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
fi
if test "$MEMORY_SIZE" -gt "5000" && test "$JVM_ARG_OK" = false; then
ADD_JVM_ARG_IF_OK([-Xms1G -Xmx3G],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
ADD_JVM_ARG_IF_OK([-Xms1G -Xmx3G],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
fi
if test "$MEMORY_SIZE" -gt "3800" && test "$JVM_ARG_OK" = false; then
ADD_JVM_ARG_IF_OK([-Xms1G -Xmx2500M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
ADD_JVM_ARG_IF_OK([-Xms1G -Xmx2500M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
fi
fi
if test "$MEMORY_SIZE" -gt "2500" && test "$JVM_ARG_OK" = false; then
fi
if test "$MEMORY_SIZE" -gt "2500" && test "$JVM_ARG_OK" = false; then
ADD_JVM_ARG_IF_OK([-Xms1000M -Xmx1500M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
fi
if test "$MEMORY_SIZE" -gt "1000" && test "$JVM_ARG_OK" = false; then
fi
if test "$MEMORY_SIZE" -gt "1000" && test "$JVM_ARG_OK" = false; then
ADD_JVM_ARG_IF_OK([-Xms400M -Xmx1100M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
fi
if test "$JVM_ARG_OK" = false; then
fi
if test "$JVM_ARG_OK" = false; then
ADD_JVM_ARG_IF_OK([-Xms256M -Xmx512M],SJAVAC_SERVER_JAVA,[$SJAVAC_SERVER_JAVA])
fi
fi
AC_MSG_CHECKING([whether to use sjavac])
AC_ARG_ENABLE([sjavac], [AS_HELP_STRING([--enable-sjavac],
[use sjavac to do fast incremental compiles @<:@disabled@:>@])],
[ENABLE_SJAVAC="${enableval}"], [ENABLE_SJAVAC='no'])
AC_MSG_RESULT([$ENABLE_SJAVAC])
AC_SUBST(ENABLE_SJAVAC)
AC_MSG_CHECKING([whether to use sjavac])
AC_ARG_ENABLE([sjavac], [AS_HELP_STRING([--enable-sjavac],
[use sjavac to do fast incremental compiles @<:@disabled@:>@])],
[ENABLE_SJAVAC="${enableval}"], [ENABLE_SJAVAC='no'])
AC_MSG_RESULT([$ENABLE_SJAVAC])
AC_SUBST(ENABLE_SJAVAC)
if test "x$ENABLE_SJAVAC" = xyes; then
if test "x$ENABLE_SJAVAC" = xyes; then
SJAVAC_SERVER_DIR="$OUTPUT_ROOT/javacservers"
else
else
SJAVAC_SERVER_DIR=
fi
AC_SUBST(SJAVAC_SERVER_DIR)
fi
AC_SUBST(SJAVAC_SERVER_DIR)
])

View File

@@ -34,7 +34,7 @@
# If no rewrite was found, then rewritten_target=${OPENJDK_TARGET_AUTOCONF_NAME}
REWRITE_i686_pc_linux_gnu=i686-unknown-linux-gnu
REWRITE_i386_pc_solaris2_10=i686-sun-solaris2_10
# The needed cups builddeps are platform independent header files.
# I.e. they need not be part of the devkit.
builddep_cups=lib/cups_1_3_9.zip

View File

@@ -29,7 +29,7 @@
REWRITE_i686_pc_linux_gnu=i686-unknown-linux-gnu
REWRITE_i386_pc_solaris2_10=i686-sun-solaris2_10
DEVTOOLS=/java/devtools
builddep_cups=${DEVTOOLS}/linux/cups/include

View File

@@ -25,223 +25,223 @@
AC_DEFUN_ONCE([BDEPS_SCAN_FOR_BUILDDEPS],
[
define(LIST_OF_BUILD_DEPENDENCIES,)
if test "x$with_builddeps_server" != x || test "x$with_builddeps_conf" != x; then
if test "x$with_builddeps_conf" != x; then
AC_MSG_CHECKING([for supplied builddeps configuration file])
builddepsfile=$with_builddeps_conf
if test -s $builddepsfile; then
. $builddepsfile
AC_MSG_RESULT([loaded!])
else
AC_MSG_ERROR([The given builddeps conf file $with_builddeps_conf could not be loaded!])
fi
else
AC_MSG_CHECKING([for builddeps.conf files in sources...])
builddepsfile=`mktemp`
touch $builddepsfile
# Put all found confs into a single file.
find ${SRC_ROOT} -name builddeps.conf -exec cat \{\} \; >> $builddepsfile
# Source the file to acquire the variables
if test -s $builddepsfile; then
. $builddepsfile
AC_MSG_RESULT([found at least one!])
else
AC_MSG_ERROR([Could not find any builddeps.conf at all!])
fi
fi
# Create build and target names that use _ instead of "-" and ".".
# This is necessary to use them in variable names.
build_var=`echo ${OPENJDK_BUILD_AUTOCONF_NAME} | tr '-' '_' | tr '.' '_'`
target_var=`echo ${OPENJDK_TARGET_AUTOCONF_NAME} | tr '-' '_' | tr '.' '_'`
# Extract rewrite information for build and target
eval rewritten_build=\${REWRITE_${build_var}}
if test "x$rewritten_build" = x; then
rewritten_build=${OPENJDK_BUILD_AUTOCONF_NAME}
echo Build stays the same $rewritten_build
else
echo Rewriting build for builddeps into $rewritten_build
fi
eval rewritten_target=\${REWRITE_${target_var}}
if test "x$rewritten_target" = x; then
rewritten_target=${OPENJDK_TARGET_AUTOCONF_NAME}
echo Target stays the same $rewritten_target
else
echo Rewriting target for builddeps into $rewritten_target
fi
rewritten_build_var=`echo ${rewritten_build} | tr '-' '_' | tr '.' '_'`
rewritten_target_var=`echo ${rewritten_target} | tr '-' '_' | tr '.' '_'`
define(LIST_OF_BUILD_DEPENDENCIES,)
if test "x$with_builddeps_server" != x || test "x$with_builddeps_conf" != x; then
if test "x$with_builddeps_conf" != x; then
AC_MSG_CHECKING([for supplied builddeps configuration file])
builddepsfile=$with_builddeps_conf
if test -s $builddepsfile; then
. $builddepsfile
AC_MSG_RESULT([loaded!])
else
AC_MSG_ERROR([The given builddeps conf file $with_builddeps_conf could not be loaded!])
fi
else
AC_MSG_CHECKING([for builddeps.conf files in sources...])
builddepsfile=`mktemp`
touch $builddepsfile
# Put all found confs into a single file.
find ${SRC_ROOT} -name builddeps.conf -exec cat \{\} \; >> $builddepsfile
# Source the file to acquire the variables
if test -s $builddepsfile; then
. $builddepsfile
AC_MSG_RESULT([found at least one!])
else
AC_MSG_ERROR([Could not find any builddeps.conf at all!])
fi
fi
AC_CHECK_PROGS(BDEPS_UNZIP, [7z unzip])
if test "x$BDEPS_UNZIP" = x7z; then
BDEPS_UNZIP="7z x"
# Create build and target names that use _ instead of "-" and ".".
# This is necessary to use them in variable names.
build_var=`echo ${OPENJDK_BUILD_AUTOCONF_NAME} | tr '-' '_' | tr '.' '_'`
target_var=`echo ${OPENJDK_TARGET_AUTOCONF_NAME} | tr '-' '_' | tr '.' '_'`
# Extract rewrite information for build and target
eval rewritten_build=\${REWRITE_${build_var}}
if test "x$rewritten_build" = x; then
rewritten_build=${OPENJDK_BUILD_AUTOCONF_NAME}
echo Build stays the same $rewritten_build
else
echo Rewriting build for builddeps into $rewritten_build
fi
eval rewritten_target=\${REWRITE_${target_var}}
if test "x$rewritten_target" = x; then
rewritten_target=${OPENJDK_TARGET_AUTOCONF_NAME}
echo Target stays the same $rewritten_target
else
echo Rewriting target for builddeps into $rewritten_target
fi
rewritten_build_var=`echo ${rewritten_build} | tr '-' '_' | tr '.' '_'`
rewritten_target_var=`echo ${rewritten_target} | tr '-' '_' | tr '.' '_'`
fi
AC_CHECK_PROGS(BDEPS_UNZIP, [7z unzip])
if test "x$BDEPS_UNZIP" = x7z; then
BDEPS_UNZIP="7z x"
fi
AC_CHECK_PROGS(BDEPS_FTP, [wget lftp ftp])
AC_CHECK_PROGS(BDEPS_FTP, [wget lftp ftp])
])
AC_DEFUN([BDEPS_FTPGET],
[
# $1 is the ftp://abuilddeps.server.com/libs/cups.zip
# $2 is the local file name for the downloaded file.
VALID_TOOL=no
if test "x$BDEPS_FTP" = xwget; then
VALID_TOOL=yes
wget -O $2 $1
fi
if test "x$BDEPS_FTP" = xlftp; then
VALID_TOOL=yes
lftp -c "get $1 -o $2"
fi
if test "x$BDEPS_FTP" = xftp; then
VALID_TOOL=yes
FTPSERVER=`echo $1 | cut -f 3 -d '/'`
FTPPATH=`echo $1 | cut -f 4- -d '/'`
FTPUSERPWD=${FTPSERVER%%@*}
if test "x$FTPSERVER" != "x$FTPUSERPWD"; then
FTPUSER=${userpwd%%:*}
FTPPWD=${userpwd#*@}
FTPSERVER=${FTPSERVER#*@}
else
FTPUSER=ftp
FTPPWD=ftp
fi
# the "pass" command does not work on some
# ftp clients (read ftp.exe) but if it works,
# passive mode is better!
(\
echo "user $FTPUSER $FTPPWD" ;\
echo "pass" ;\
echo "bin" ;\
echo "get $FTPPATH $2" ;\
) | ftp -in $FTPSERVER
fi
if test "x$VALID_TOOL" != xyes; then
AC_MSG_ERROR([I do not know how to use the tool: $BDEPS_FTP])
# $1 is the ftp://abuilddeps.server.com/libs/cups.zip
# $2 is the local file name for the downloaded file.
VALID_TOOL=no
if test "x$BDEPS_FTP" = xwget; then
VALID_TOOL=yes
wget -O $2 $1
fi
if test "x$BDEPS_FTP" = xlftp; then
VALID_TOOL=yes
lftp -c "get $1 -o $2"
fi
if test "x$BDEPS_FTP" = xftp; then
VALID_TOOL=yes
FTPSERVER=`echo $1 | cut -f 3 -d '/'`
FTPPATH=`echo $1 | cut -f 4- -d '/'`
FTPUSERPWD=${FTPSERVER%%@*}
if test "x$FTPSERVER" != "x$FTPUSERPWD"; then
FTPUSER=${userpwd%%:*}
FTPPWD=${userpwd#*@}
FTPSERVER=${FTPSERVER#*@}
else
FTPUSER=ftp
FTPPWD=ftp
fi
# the "pass" command does not work on some
# ftp clients (read ftp.exe) but if it works,
# passive mode is better!
( \
echo "user $FTPUSER $FTPPWD" ; \
echo "pass" ; \
echo "bin" ; \
echo "get $FTPPATH $2" ; \
) | ftp -in $FTPSERVER
fi
if test "x$VALID_TOOL" != xyes; then
AC_MSG_ERROR([I do not know how to use the tool: $BDEPS_FTP])
fi
])
AC_DEFUN([BDEPS_CHECK_MODULE],
[
define([LIST_OF_BUILD_DEPENDENCIES],LIST_OF_BUILD_DEPENDENCIES[$2=$3'\n'])
if test "x$with_builddeps_server" != x || test "x$with_builddeps_conf" != x; then
# Source the builddeps file again, to make sure it uses the latest variables!
. $builddepsfile
# Look for a target and build machine specific resource!
eval resource=\${builddep_$2_BUILD_${rewritten_build_var}_TARGET_${rewritten_target_var}}
if test "x$resource" = x; then
# Ok, lets instead look for a target specific resource
eval resource=\${builddep_$2_TARGET_${rewritten_target_var}}
fi
if test "x$resource" = x; then
# Ok, lets instead look for a build specific resource
eval resource=\${builddep_$2_BUILD_${rewritten_build_var}}
fi
if test "x$resource" = x; then
# Ok, lets instead look for a generic resource
# (The $2 comes from M4 and not the shell, thus no need for eval here.)
resource=${builddep_$2}
fi
if test "x$resource" != x; then
AC_MSG_NOTICE([Using builddeps $resource for $2])
# If the resource in the builddeps.conf file is an existing directory,
# for example /java/linux/cups
if test -d ${resource}; then
depdir=${resource}
else
BDEPS_FETCH($2, $resource, $with_builddeps_server, $with_builddeps_dir, depdir)
fi
# Source the builddeps file again, because in the previous command, the depdir
# was updated to point at the current build dependency install directory.
. $builddepsfile
# Now extract variables from the builddeps.conf files.
theroot=${builddep_$2_ROOT}
thecflags=${builddep_$2_CFLAGS}
thelibs=${builddep_$2_LIBS}
if test "x$depdir" = x; then
AC_MSG_ERROR([Could not download build dependency $2])
fi
$1=$depdir
if test "x$theroot" != x; then
$1="$theroot"
fi
if test "x$thecflags" != x; then
$1_CFLAGS="$thecflags"
fi
if test "x$thelibs" != x; then
$1_LIBS="$thelibs"
fi
m4_default([$4], [:])
m4_ifvaln([$5], [else $5])
fi
m4_ifvaln([$5], [else $5])
define([LIST_OF_BUILD_DEPENDENCIES],LIST_OF_BUILD_DEPENDENCIES[$2=$3'\n'])
if test "x$with_builddeps_server" != x || test "x$with_builddeps_conf" != x; then
# Source the builddeps file again, to make sure it uses the latest variables!
. $builddepsfile
# Look for a target and build machine specific resource!
eval resource=\${builddep_$2_BUILD_${rewritten_build_var}_TARGET_${rewritten_target_var}}
if test "x$resource" = x; then
# Ok, lets instead look for a target specific resource
eval resource=\${builddep_$2_TARGET_${rewritten_target_var}}
fi
if test "x$resource" = x; then
# Ok, lets instead look for a build specific resource
eval resource=\${builddep_$2_BUILD_${rewritten_build_var}}
fi
if test "x$resource" = x; then
# Ok, lets instead look for a generic resource
# (The $2 comes from M4 and not the shell, thus no need for eval here.)
resource=${builddep_$2}
fi
if test "x$resource" != x; then
AC_MSG_NOTICE([Using builddeps $resource for $2])
# If the resource in the builddeps.conf file is an existing directory,
# for example /java/linux/cups
if test -d ${resource}; then
depdir=${resource}
else
BDEPS_FETCH($2, $resource, $with_builddeps_server, $with_builddeps_dir, depdir)
fi
# Source the builddeps file again, because in the previous command, the depdir
# was updated to point at the current build dependency install directory.
. $builddepsfile
# Now extract variables from the builddeps.conf files.
theroot=${builddep_$2_ROOT}
thecflags=${builddep_$2_CFLAGS}
thelibs=${builddep_$2_LIBS}
if test "x$depdir" = x; then
AC_MSG_ERROR([Could not download build dependency $2])
fi
$1=$depdir
if test "x$theroot" != x; then
$1="$theroot"
fi
if test "x$thecflags" != x; then
$1_CFLAGS="$thecflags"
fi
if test "x$thelibs" != x; then
$1_LIBS="$thelibs"
fi
m4_default([$4], [:])
m4_ifvaln([$5], [else $5])
fi
m4_ifvaln([$5], [else $5])
fi
])
AC_DEFUN([BDEPS_FETCH],
[
# $1 is for example mymodule
# $2 is for example libs/general/libmymod_1_2_3.zip
# $3 is for example ftp://mybuilddeps.myserver.com/builddeps
# $4 is for example /localhome/builddeps
# $5 is the name of the variable into which we store the depdir, eg MYMOD
# Will download ftp://mybuilddeps.myserver.com/builddeps/libs/general/libmymod_1_2_3.zip and
# unzip into the directory: /localhome/builddeps/libmymod_1_2_3
filename=`basename $2`
filebase=`echo $filename | sed 's/\.[[^\.]]*$//'`
filebase=${filename%%.*}
extension=${filename#*.}
installdir=$4/$filebase
if test ! -f $installdir/$filename.unpacked; then
AC_MSG_NOTICE([Downloading build dependency $1 from $3/$2 and installing into $installdir])
if test ! -d $installdir; then
mkdir -p $installdir
fi
if test ! -d $installdir; then
AC_MSG_ERROR([Could not create directory $installdir])
fi
tmpfile=`mktemp $installdir/$1.XXXXXXXXX`
touch $tmpfile
if test ! -f $tmpfile; then
AC_MSG_ERROR([Could not create files in directory $installdir])
fi
BDEPS_FTPGET([$3/$2] , [$tmpfile])
mv $tmpfile $installdir/$filename
if test ! -s $installdir/$filename; then
AC_MSG_ERROR([Could not download $3/$2])
fi
case "$extension" in
zip) echo "Unzipping $installdir/$filename..."
(cd $installdir ; rm -f $installdir/$filename.unpacked ; $BDEPS_UNZIP $installdir/$filename > /dev/null && touch $installdir/$filename.unpacked)
;;
tar.gz) echo "Untaring $installdir/$filename..."
(cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked)
;;
tgz) echo "Untaring $installdir/$filename..."
(cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked)
;;
*) AC_MSG_ERROR([Cannot handle build depency archive with extension $extension])
;;
esac
# $1 is for example mymodule
# $2 is for example libs/general/libmymod_1_2_3.zip
# $3 is for example ftp://mybuilddeps.myserver.com/builddeps
# $4 is for example /localhome/builddeps
# $5 is the name of the variable into which we store the depdir, eg MYMOD
# Will download ftp://mybuilddeps.myserver.com/builddeps/libs/general/libmymod_1_2_3.zip and
# unzip into the directory: /localhome/builddeps/libmymod_1_2_3
filename=`basename $2`
filebase=`echo $filename | sed 's/\.[[^\.]]*$//'`
filebase=${filename%%.*}
extension=${filename#*.}
installdir=$4/$filebase
if test ! -f $installdir/$filename.unpacked; then
AC_MSG_NOTICE([Downloading build dependency $1 from $3/$2 and installing into $installdir])
if test ! -d $installdir; then
mkdir -p $installdir
fi
if test -f $installdir/$filename.unpacked; then
$5=$installdir
if test ! -d $installdir; then
AC_MSG_ERROR([Could not create directory $installdir])
fi
tmpfile=`mktemp $installdir/$1.XXXXXXXXX`
touch $tmpfile
if test ! -f $tmpfile; then
AC_MSG_ERROR([Could not create files in directory $installdir])
fi
BDEPS_FTPGET([$3/$2] , [$tmpfile])
mv $tmpfile $installdir/$filename
if test ! -s $installdir/$filename; then
AC_MSG_ERROR([Could not download $3/$2])
fi
case "$extension" in
zip) echo "Unzipping $installdir/$filename..."
(cd $installdir ; rm -f $installdir/$filename.unpacked ; $BDEPS_UNZIP $installdir/$filename > /dev/null && touch $installdir/$filename.unpacked)
;;
tar.gz) echo "Untaring $installdir/$filename..."
(cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked)
;;
tgz) echo "Untaring $installdir/$filename..."
(cd $installdir ; rm -f $installdir/$filename.unpacked ; tar xzf $installdir/$filename && touch $installdir/$filename.unpacked)
;;
*) AC_MSG_ERROR([Cannot handle build depency archive with extension $extension])
;;
esac
fi
if test -f $installdir/$filename.unpacked; then
$5=$installdir
fi
])
AC_DEFUN_ONCE([BDEPS_CONFIGURE_BUILDDEPS],
[
AC_ARG_WITH(builddeps-conf, [AS_HELP_STRING([--with-builddeps-conf],
[use this configuration file for the builddeps])])
AC_ARG_WITH(builddeps-conf, [AS_HELP_STRING([--with-builddeps-conf],
[use this configuration file for the builddeps])])
AC_ARG_WITH(builddeps-server, [AS_HELP_STRING([--with-builddeps-server],
[download and use build dependencies from this server url])])
AC_ARG_WITH(builddeps-server, [AS_HELP_STRING([--with-builddeps-server],
[download and use build dependencies from this server url])])
AC_ARG_WITH(builddeps-dir, [AS_HELP_STRING([--with-builddeps-dir],
[store downloaded build dependencies here @<:@/localhome/builddeps@:>@])],
[],
[with_builddeps_dir=/localhome/builddeps])
AC_ARG_WITH(builddeps-dir, [AS_HELP_STRING([--with-builddeps-dir],
[store downloaded build dependencies here @<:@/localhome/builddeps@:>@])],
[],
[with_builddeps_dir=/localhome/builddeps])
AC_ARG_WITH(builddeps-group, [AS_HELP_STRING([--with-builddeps-group],
[chgrp the downloaded build dependencies to this group])])
AC_ARG_WITH(builddeps-group, [AS_HELP_STRING([--with-builddeps-group],
[chgrp the downloaded build dependencies to this group])])
])

View File

@@ -22,7 +22,7 @@
# questions.
#
# This script is processed by configure before it's usable. It is run from
# This script is processed by configure before it's usable. It is run from
# the root of the build directory.
@@ -67,14 +67,14 @@ UNZIP="@UNZIP@"
SRC_ROOT="@SRC_ROOT@"
if [ "$OPENJDK_TARGET_OS" = "windows" ]; then
PATH="@VS_PATH@"
PATH="@VS_PATH@"
fi
# Now locate the main script and run it.
REAL_COMPARE_SCRIPT="$SRC_ROOT/common/bin/compare.sh"
if [ ! -e "$REAL_COMPARE_SCRIPT" ]; then
echo "Error: Cannot locate compare script, it should have been in $REAL_COMPARE_SCRIPT"
exit 1
echo "Error: Cannot locate compare script, it should have been in $REAL_COMPARE_SCRIPT"
exit 1
fi
. "$REAL_COMPARE_SCRIPT" "$@"

View File

@@ -46,4 +46,4 @@
#define HAVE_LIBGIF
#define HAVE_LIBZ
#define HAVE_LIBM
#define HAVE_ALTZONE
#define HAVE_ALTZONE

View File

@@ -88,7 +88,6 @@ check_hg_updates() {
check_autoconf_timestamps
fi
fi
fi
}
@@ -106,7 +105,7 @@ if test -e $conf_custom_script_dir/generated-configure.sh; then
fi
fi
# Autoconf calls the configure script recursively sometimes.
# Autoconf calls the configure script recursively sometimes.
# Don't start logging twice in that case
if test "x$conf_debug_configure" = xtrue; then
conf_debug_configure=recursive
@@ -120,28 +119,28 @@ conf_openjdk_target=
for conf_option
do
case $conf_option in
--openjdk-target=*)
conf_openjdk_target=`expr "X$conf_option" : '[^=]*=\(.*\)'`
continue ;;
--debug-configure)
if test "x$conf_debug_configure" != xrecursive; then
conf_debug_configure=true
export conf_debug_configure
fi
continue ;;
*)
conf_processed_arguments=("${conf_processed_arguments[@]}" "$conf_option") ;;
--openjdk-target=*)
conf_openjdk_target=`expr "X$conf_option" : '[^=]*=\(.*\)'`
continue ;;
--debug-configure)
if test "x$conf_debug_configure" != xrecursive; then
conf_debug_configure=true
export conf_debug_configure
fi
continue ;;
*)
conf_processed_arguments=("${conf_processed_arguments[@]}" "$conf_option") ;;
esac
case $conf_option in
-build | --build | --buil | --bui | --bu |-build=* | --build=* | --buil=* | --bui=* | --bu=*)
conf_legacy_crosscompile="$conf_legacy_crosscompile $conf_option" ;;
-target | --target | --targe | --targ | --tar | --ta | --t | -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
conf_legacy_crosscompile="$conf_legacy_crosscompile $conf_option" ;;
-host | --host | --hos | --ho | -host=* | --host=* | --hos=* | --ho=*)
conf_legacy_crosscompile="$conf_legacy_crosscompile $conf_option" ;;
-help | --help | --hel | --he | -h)
conf_print_help=true ;;
-build | --build | --buil | --bui | --bu |-build=* | --build=* | --buil=* | --bui=* | --bu=*)
conf_legacy_crosscompile="$conf_legacy_crosscompile $conf_option" ;;
-target | --target | --targe | --targ | --tar | --ta | --t | -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
conf_legacy_crosscompile="$conf_legacy_crosscompile $conf_option" ;;
-host | --host | --hos | --ho | -host=* | --host=* | --hos=* | --ho=*)
conf_legacy_crosscompile="$conf_legacy_crosscompile $conf_option" ;;
-help | --help | --hel | --he | -h)
conf_print_help=true ;;
esac
done
@@ -179,7 +178,7 @@ if test -e $conf_custom_script_dir/generated-configure.sh; then
else
echo Running generated-configure.sh
conf_script_to_run=$conf_script_dir/generated-configure.sh
fi
fi
if test "x$conf_debug_configure" != x; then
# Turn on shell debug output if requested (initial or recursive)

View File

@@ -177,6 +177,9 @@ JDKOPT_SETUP_DEBUG_SYMBOLS
#
###############################################################################
# After we have toolchain, we can compile fixpath. It's needed by the lib checks.
BASIC_COMPILE_FIXPATH
LIB_SETUP_INIT
LIB_SETUP_X11
LIB_SETUP_CUPS
@@ -185,8 +188,6 @@ LIB_SETUP_ALSA
LIB_SETUP_MISC_LIBS
LIB_SETUP_STATIC_LINK_LIBSTDCPP
# After we have toolchain and the paths to all libraries (needed by msys), we can compile the fixpath helper
BASIC_COMPILE_FIXPATH
###############################################################################
#
@@ -236,7 +237,7 @@ CONFIG_STATUS="$OUTPUT_ROOT/config.status"
# Create the actual output files. Now the main work of configure is done.
AC_OUTPUT
# Try to move the config.log file to the output directory.
# Try to move the config.log file to the output directory.
if test -e ./config.log; then
$MV -f ./config.log "$OUTPUT_ROOT/config.log" 2> /dev/null
fi

File diff suppressed because it is too large Load Diff

View File

@@ -25,194 +25,227 @@
AC_DEFUN_ONCE([HELP_SETUP_DEPENDENCY_HELP],
[
AC_CHECK_PROGS(PKGHANDLER, apt-get yum port pkgutil pkgadd)
AC_CHECK_PROGS(PKGHANDLER, apt-get yum port pkgutil pkgadd)
])
AC_DEFUN([HELP_MSG_MISSING_DEPENDENCY],
[
# Print a helpful message on how to acquire the necessary build dependency.
# $1 is the help tag: freetyp2, cups, pulse, alsa etc
MISSING_DEPENDENCY=$1
# Print a helpful message on how to acquire the necessary build dependency.
# $1 is the help tag: freetype, cups, pulse, alsa etc
MISSING_DEPENDENCY=$1
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
cygwin_help $MISSING_DEPENDENCY
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
msys_help $MISSING_DEPENDENCY
else
PKGHANDLER_COMMAND=
case $PKGHANDLER in
apt-get)
apt_help $MISSING_DEPENDENCY ;;
yum)
yum_help $MISSING_DEPENDENCY ;;
port)
port_help $MISSING_DEPENDENCY ;;
pkgutil)
pkgutil_help $MISSING_DEPENDENCY ;;
pkgadd)
pkgadd_help $MISSING_DEPENDENCY ;;
* )
break ;;
apt-get)
apt_help $MISSING_DEPENDENCY ;;
yum)
yum_help $MISSING_DEPENDENCY ;;
port)
port_help $MISSING_DEPENDENCY ;;
pkgutil)
pkgutil_help $MISSING_DEPENDENCY ;;
pkgadd)
pkgadd_help $MISSING_DEPENDENCY ;;
* )
break ;;
esac
if test "x$PKGHANDLER_COMMAND" != x; then
HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
fi
fi
])
cygwin_help() {
case $1 in
case $1 in
unzip)
PKGHANDLER_COMMAND="cd <location of cygwin setup.exe> && cmd /c setup -q -P unzip" ;;
PKGHANDLER_COMMAND="( cd <location of cygwin setup.exe> && cmd /c setup -q -P unzip )"
HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
;;
zip)
PKGHANDLER_COMMAND="cd <location of cygwin setup.exe> && cmd /c setup -q -P zip" ;;
PKGHANDLER_COMMAND="( cd <location of cygwin setup.exe> && cmd /c setup -q -P zip )"
HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
;;
make)
PKGHANDLER_COMMAND="cd <location of cygwin setup.exe> && cmd /c setup -q -P make" ;;
PKGHANDLER_COMMAND="( cd <location of cygwin setup.exe> && cmd /c setup -q -P make )"
HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
;;
freetype)
if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
HELP_MSG="To install freetype, run:
wget \"http://gnuwin32.sourceforge.net/downlinks/freetype.php\" -O /tmp/freetype-setup.exe
chmod +x /tmp/freetype-setup.exe
/tmp/freetype-setup.exe
Follow GUI prompts, and install to default directory \"C:\Program Files (x86)\GnuWin32\".
After installation, locate lib/libfreetype.dll.a and make a copy with the name freetype.dll."
else
HELP_MSG="You need to build a 64-bit version of freetype.
This is not readily available.
You can find source code and build instructions on
http://www.freetype.org/
If you put the resulting build in \"C:\Program Files\GnuWin32\", it will be found automatically."
fi
;;
* )
break ;;
esac
break ;;
esac
}
msys_help() {
PKGHANDLER_COMMAND=""
}
apt_help() {
case $1 in
case $1 in
devkit)
PKGHANDLER_COMMAND="sudo apt-get install build-essential" ;;
PKGHANDLER_COMMAND="sudo apt-get install build-essential" ;;
openjdk)
PKGHANDLER_COMMAND="sudo apt-get install openjdk-7-jdk" ;;
PKGHANDLER_COMMAND="sudo apt-get install openjdk-7-jdk" ;;
alsa)
PKGHANDLER_COMMAND="sudo apt-get install libasound2-dev" ;;
PKGHANDLER_COMMAND="sudo apt-get install libasound2-dev" ;;
cups)
PKGHANDLER_COMMAND="sudo apt-get install libcups2-dev" ;;
freetype2)
PKGHANDLER_COMMAND="sudo apt-get install libfreetype6-dev" ;;
PKGHANDLER_COMMAND="sudo apt-get install libcups2-dev" ;;
freetype)
PKGHANDLER_COMMAND="sudo apt-get install libfreetype6-dev" ;;
pulse)
PKGHANDLER_COMMAND="sudo apt-get install libpulse-dev" ;;
PKGHANDLER_COMMAND="sudo apt-get install libpulse-dev" ;;
x11)
PKGHANDLER_COMMAND="sudo apt-get install libX11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev" ;;
PKGHANDLER_COMMAND="sudo apt-get install libX11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev" ;;
ccache)
PKGHANDLER_COMMAND="sudo apt-get install ccache" ;;
PKGHANDLER_COMMAND="sudo apt-get install ccache" ;;
* )
break ;;
esac
break ;;
esac
}
yum_help() {
case $1 in
case $1 in
devkit)
PKGHANDLER_COMMAND="sudo yum groupinstall \"Development Tools\"" ;;
PKGHANDLER_COMMAND="sudo yum groupinstall \"Development Tools\"" ;;
openjdk)
PKGHANDLER_COMMAND="sudo yum install java-1.7.0-openjdk" ;;
PKGHANDLER_COMMAND="sudo yum install java-1.7.0-openjdk" ;;
alsa)
PKGHANDLER_COMMAND="sudo yum install alsa-lib-devel" ;;
PKGHANDLER_COMMAND="sudo yum install alsa-lib-devel" ;;
cups)
PKGHANDLER_COMMAND="sudo yum install cups-devel" ;;
freetype2)
PKGHANDLER_COMMAND="sudo yum install freetype-devel" ;;
PKGHANDLER_COMMAND="sudo yum install cups-devel" ;;
freetype)
PKGHANDLER_COMMAND="sudo yum install freetype-devel" ;;
pulse)
PKGHANDLER_COMMAND="sudo yum install pulseaudio-libs-devel" ;;
PKGHANDLER_COMMAND="sudo yum install pulseaudio-libs-devel" ;;
x11)
PKGHANDLER_COMMAND="sudo yum install libXtst-devel libXt-devel libXrender-devel" ;;
PKGHANDLER_COMMAND="sudo yum install libXtst-devel libXt-devel libXrender-devel" ;;
ccache)
PKGHANDLER_COMMAND="sudo yum install ccache" ;;
PKGHANDLER_COMMAND="sudo yum install ccache" ;;
* )
break ;;
esac
break ;;
esac
}
port_help() {
PKGHANDLER_COMMAND=""
PKGHANDLER_COMMAND=""
}
pkgutil_help() {
PKGHANDLER_COMMAND=""
PKGHANDLER_COMMAND=""
}
pkgadd_help() {
PKGHANDLER_COMMAND=""
PKGHANDLER_COMMAND=""
}
AC_DEFUN_ONCE([HELP_PRINT_SUMMARY_AND_WARNINGS],
[
# Finally output some useful information to the user
# Finally output some useful information to the user
if test "x$CCACHE_FOUND" != x; then
if test "x$HAS_GOOD_CCACHE" = x; then
CCACHE_STATUS="installed, but disabled (version older than 3.1.4)"
CCACHE_HELP_MSG="You have ccache installed, but it is a version prior to 3.1.4. Try upgrading."
else
CCACHE_STATUS="installed and in use"
fi
else
if test "x$GCC" = xyes; then
CCACHE_STATUS="not installed (consider installing)"
CCACHE_HELP_MSG="You do not have ccache installed. Try installing it."
else
CCACHE_STATUS="not available for your system"
fi
fi
if test "x$CCACHE_FOUND" != x; then
if test "x$HAS_GOOD_CCACHE" = x; then
CCACHE_STATUS="installed, but disabled (version older than 3.1.4)"
CCACHE_HELP_MSG="You have ccache installed, but it is a version prior to 3.1.4. Try upgrading."
else
CCACHE_STATUS="installed and in use"
fi
else
if test "x$GCC" = xyes; then
CCACHE_STATUS="not installed (consider installing)"
CCACHE_HELP_MSG="You do not have ccache installed. Try installing it."
else
CCACHE_STATUS="not available for your system"
fi
fi
printf "\n"
printf "====================================================\n"
printf "A new configuration has been successfully created in\n"
printf "$OUTPUT_ROOT\n"
if test "x$CONFIGURE_COMMAND_LINE" != x; then
printf "using configure arguments '$CONFIGURE_COMMAND_LINE'.\n"
else
printf "using default settings.\n"
fi
printf "\n"
printf "====================================================\n"
printf "A new configuration has been successfully created in\n"
printf "$OUTPUT_ROOT\n"
if test "x$CONFIGURE_COMMAND_LINE" != x; then
printf "using configure arguments '$CONFIGURE_COMMAND_LINE'.\n"
else
printf "using default settings.\n"
fi
printf "\n"
printf "Configuration summary:\n"
printf "* Debug level: $DEBUG_LEVEL\n"
printf "* JDK variant: $JDK_VARIANT\n"
printf "* JVM variants: $with_jvm_variants\n"
printf "* OpenJDK target: OS: $OPENJDK_TARGET_OS, CPU architecture: $OPENJDK_TARGET_CPU_ARCH, address length: $OPENJDK_TARGET_CPU_BITS\n"
printf "\n"
printf "Configuration summary:\n"
printf "* Debug level: $DEBUG_LEVEL\n"
printf "* JDK variant: $JDK_VARIANT\n"
printf "* JVM variants: $with_jvm_variants\n"
printf "* OpenJDK target: OS: $OPENJDK_TARGET_OS, CPU architecture: $OPENJDK_TARGET_CPU_ARCH, address length: $OPENJDK_TARGET_CPU_BITS\n"
printf "\n"
printf "Tools summary:\n"
if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
printf "* Environment: $WINDOWS_ENV_VENDOR version $WINDOWS_ENV_VERSION (root at $WINDOWS_ENV_ROOT_PATH)\n"
fi
printf "* Boot JDK: $BOOT_JDK_VERSION (at $BOOT_JDK)\n"
printf "* C Compiler: $CC_VENDOR version $CC_VERSION (at $CC)\n"
printf "* C++ Compiler: $CXX_VENDOR version $CXX_VERSION (at $CXX)\n"
printf "\n"
printf "Tools summary:\n"
if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
printf "* Environment: $WINDOWS_ENV_VENDOR version $WINDOWS_ENV_VERSION (root at $WINDOWS_ENV_ROOT_PATH)\n"
fi
printf "* Boot JDK: $BOOT_JDK_VERSION (at $BOOT_JDK)\n"
printf "* C Compiler: $CC_VENDOR version $CC_VERSION (at $CC)\n"
printf "* C++ Compiler: $CXX_VENDOR version $CXX_VERSION (at $CXX)\n"
printf "\n"
printf "Build performance summary:\n"
printf "* Cores to use: $JOBS\n"
printf "* Memory limit: $MEMORY_SIZE MB\n"
printf "* ccache status: $CCACHE_STATUS\n"
printf "\n"
printf "\n"
printf "Build performance summary:\n"
printf "* Cores to use: $JOBS\n"
printf "* Memory limit: $MEMORY_SIZE MB\n"
printf "* ccache status: $CCACHE_STATUS\n"
printf "\n"
if test "x$CCACHE_HELP_MSG" != x && test "x$HIDE_PERFORMANCE_HINTS" = "xno"; then
printf "Build performance tip: ccache gives a tremendous speedup for C++ recompilations.\n"
printf "$CCACHE_HELP_MSG\n"
HELP_MSG_MISSING_DEPENDENCY([ccache])
printf "$HELP_MSG\n"
printf "\n"
fi
if test "x$CCACHE_HELP_MSG" != x && test "x$HIDE_PERFORMANCE_HINTS" = "xno"; then
printf "Build performance tip: ccache gives a tremendous speedup for C++ recompilations.\n"
printf "$CCACHE_HELP_MSG\n"
HELP_MSG_MISSING_DEPENDENCY([ccache])
printf "$HELP_MSG\n"
printf "\n"
fi
if test "x$BUILDING_MULTIPLE_JVM_VARIANTS" = "xyes"; then
printf "NOTE: You have requested to build more than one version of the JVM, which\n"
printf "will result in longer build times.\n"
printf "\n"
fi
if test "x$BUILDING_MULTIPLE_JVM_VARIANTS" = "xyes"; then
printf "NOTE: You have requested to build more than one version of the JVM, which\n"
printf "will result in longer build times.\n"
printf "\n"
fi
if test "x$FOUND_ALT_VARIABLES" != "x"; then
printf "WARNING: You have old-style ALT_ environment variables set.\n"
printf "These are not respected, and will be ignored. It is recommended\n"
printf "that you clean your environment. The following variables are set:\n"
printf "$FOUND_ALT_VARIABLES\n"
printf "\n"
fi
if test "x$FOUND_ALT_VARIABLES" != "x"; then
printf "WARNING: You have old-style ALT_ environment variables set.\n"
printf "These are not respected, and will be ignored. It is recommended\n"
printf "that you clean your environment. The following variables are set:\n"
printf "$FOUND_ALT_VARIABLES\n"
printf "\n"
fi
if test "x$OUTPUT_DIR_IS_LOCAL" != "xyes"; then
printf "WARNING: Your build output directory is not on a local disk.\n"
printf "This will severely degrade build performance!\n"
printf "It is recommended that you create an output directory on a local disk,\n"
printf "and run the configure script again from that directory.\n"
printf "\n"
fi
if test "x$OUTPUT_DIR_IS_LOCAL" != "xyes"; then
printf "WARNING: Your build output directory is not on a local disk.\n"
printf "This will severely degrade build performance!\n"
printf "It is recommended that you create an output directory on a local disk,\n"
printf "and run the configure script again from that directory.\n"
printf "\n"
fi
if test "x$IS_RECONFIGURE" = "xyes"; then
printf "WARNING: The result of this configuration has overridden an older\n"
printf "configuration. You *should* run 'make clean' to make sure you get a\n"
printf "proper build. Failure to do so might result in strange build problems.\n"
printf "\n"
fi
if test "x$IS_RECONFIGURE" = "xyes"; then
printf "WARNING: The result of this configuration has overridden an older\n"
printf "configuration. You *should* run 'make clean' to make sure you get a\n"
printf "proper build. Failure to do so might result in strange build problems.\n"
printf "\n"
fi
])

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2013, 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
@@ -111,20 +111,19 @@ EXTRA_LDFLAGS=@LEGACY_EXTRA_LDFLAGS@
USE_PRECOMPILED_HEADER=@USE_PRECOMPILED_HEADER@
# Hotspot expects the variable FULL_DEBUG_SYMBOLS=1/0 to control debug symbols
# creation.
ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
# creation.
ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
FULL_DEBUG_SYMBOLS=1
# Ensure hotspot uses the objcopy that configure located
ALT_OBJCOPY:=$(OBJCOPY)
else
# Ensure hotspot uses the objcopy that configure located
ALT_OBJCOPY:=$(OBJCOPY)
else
FULL_DEBUG_SYMBOLS=0
endif
# Hotspot expects the variable ZIP_DEBUGINFO_FILES=1/0 and not true/false.
ifeq ($(ZIP_DEBUGINFO_FILES)$(ENABLE_DEBUG_SYMBOLS), truetrue)
ZIP_DEBUGINFO_FILES:=1
endif
ifeq ($(ZIP_DEBUGINFO_FILES), false)
else
ZIP_DEBUGINFO_FILES:=0
endif

View File

@@ -25,235 +25,234 @@
AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_VARIANT],
[
###############################################################################
#
# Check which variant of the JDK that we want to build.
# Currently we have:
# normal: standard edition
# but the custom make system may add other variants
#
# Effectively the JDK variant gives a name to a specific set of
# modules to compile into the JDK. In the future, these modules
# might even be Jigsaw modules.
#
AC_MSG_CHECKING([which variant of the JDK to build])
AC_ARG_WITH([jdk-variant], [AS_HELP_STRING([--with-jdk-variant],
[JDK variant to build (normal) @<:@normal@:>@])])
###############################################################################
#
# Check which variant of the JDK that we want to build.
# Currently we have:
# normal: standard edition
# but the custom make system may add other variants
#
# Effectively the JDK variant gives a name to a specific set of
# modules to compile into the JDK. In the future, these modules
# might even be Jigsaw modules.
#
AC_MSG_CHECKING([which variant of the JDK to build])
AC_ARG_WITH([jdk-variant], [AS_HELP_STRING([--with-jdk-variant],
[JDK variant to build (normal) @<:@normal@:>@])])
if test "x$with_jdk_variant" = xnormal || test "x$with_jdk_variant" = x; then
if test "x$with_jdk_variant" = xnormal || test "x$with_jdk_variant" = x; then
JDK_VARIANT="normal"
else
else
AC_MSG_ERROR([The available JDK variants are: normal])
fi
fi
AC_SUBST(JDK_VARIANT)
AC_SUBST(JDK_VARIANT)
AC_MSG_RESULT([$JDK_VARIANT])
AC_MSG_RESULT([$JDK_VARIANT])
])
AC_DEFUN_ONCE([JDKOPT_SETUP_JVM_VARIANTS],
[
###############################################################################
#
# Check which variants of the JVM that we want to build.
# Currently we have:
# server: normal interpreter and a tiered C1/C2 compiler
# client: normal interpreter and C1 (no C2 compiler) (only 32-bit platforms)
# minimal1: reduced form of client with optional VM services and features stripped out
# kernel: kernel footprint JVM that passes the TCK without major performance problems,
# ie normal interpreter and C1, only the serial GC, kernel jvmti etc
# zero: no machine code interpreter, no compiler
# zeroshark: zero interpreter and shark/llvm compiler backend
AC_MSG_CHECKING([which variants of the JVM to build])
AC_ARG_WITH([jvm-variants], [AS_HELP_STRING([--with-jvm-variants],
[JVM variants (separated by commas) to build (server, client, minimal1, kernel, zero, zeroshark) @<:@server@:>@])])
###############################################################################
#
# Check which variants of the JVM that we want to build.
# Currently we have:
# server: normal interpreter and a tiered C1/C2 compiler
# client: normal interpreter and C1 (no C2 compiler) (only 32-bit platforms)
# minimal1: reduced form of client with optional VM services and features stripped out
# kernel: kernel footprint JVM that passes the TCK without major performance problems,
# ie normal interpreter and C1, only the serial GC, kernel jvmti etc
# zero: no machine code interpreter, no compiler
# zeroshark: zero interpreter and shark/llvm compiler backend
AC_MSG_CHECKING([which variants of the JVM to build])
AC_ARG_WITH([jvm-variants], [AS_HELP_STRING([--with-jvm-variants],
[JVM variants (separated by commas) to build (server, client, minimal1, kernel, zero, zeroshark) @<:@server@:>@])])
if test "x$with_jvm_variants" = x; then
with_jvm_variants="server"
fi
if test "x$with_jvm_variants" = x; then
with_jvm_variants="server"
fi
JVM_VARIANTS=",$with_jvm_variants,"
TEST_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,//' -e 's/client,//' -e 's/minimal1,//' -e 's/kernel,//' -e 's/zero,//' -e 's/zeroshark,//'`
JVM_VARIANTS=",$with_jvm_variants,"
TEST_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,//' -e 's/client,//' -e 's/minimal1,//' -e 's/kernel,//' -e 's/zero,//' -e 's/zeroshark,//'`
if test "x$TEST_VARIANTS" != "x,"; then
AC_MSG_ERROR([The available JVM variants are: server, client, minimal1, kernel, zero, zeroshark])
fi
AC_MSG_RESULT([$with_jvm_variants])
if test "x$TEST_VARIANTS" != "x,"; then
AC_MSG_ERROR([The available JVM variants are: server, client, minimal1, kernel, zero, zeroshark])
fi
AC_MSG_RESULT([$with_jvm_variants])
JVM_VARIANT_SERVER=`$ECHO "$JVM_VARIANTS" | $SED -e '/,server,/!s/.*/false/g' -e '/,server,/s/.*/true/g'`
JVM_VARIANT_CLIENT=`$ECHO "$JVM_VARIANTS" | $SED -e '/,client,/!s/.*/false/g' -e '/,client,/s/.*/true/g'`
JVM_VARIANT_MINIMAL1=`$ECHO "$JVM_VARIANTS" | $SED -e '/,minimal1,/!s/.*/false/g' -e '/,minimal1,/s/.*/true/g'`
JVM_VARIANT_KERNEL=`$ECHO "$JVM_VARIANTS" | $SED -e '/,kernel,/!s/.*/false/g' -e '/,kernel,/s/.*/true/g'`
JVM_VARIANT_ZERO=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zero,/!s/.*/false/g' -e '/,zero,/s/.*/true/g'`
JVM_VARIANT_ZEROSHARK=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zeroshark,/!s/.*/false/g' -e '/,zeroshark,/s/.*/true/g'`
JVM_VARIANT_SERVER=`$ECHO "$JVM_VARIANTS" | $SED -e '/,server,/!s/.*/false/g' -e '/,server,/s/.*/true/g'`
JVM_VARIANT_CLIENT=`$ECHO "$JVM_VARIANTS" | $SED -e '/,client,/!s/.*/false/g' -e '/,client,/s/.*/true/g'`
JVM_VARIANT_MINIMAL1=`$ECHO "$JVM_VARIANTS" | $SED -e '/,minimal1,/!s/.*/false/g' -e '/,minimal1,/s/.*/true/g'`
JVM_VARIANT_KERNEL=`$ECHO "$JVM_VARIANTS" | $SED -e '/,kernel,/!s/.*/false/g' -e '/,kernel,/s/.*/true/g'`
JVM_VARIANT_ZERO=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zero,/!s/.*/false/g' -e '/,zero,/s/.*/true/g'`
JVM_VARIANT_ZEROSHARK=`$ECHO "$JVM_VARIANTS" | $SED -e '/,zeroshark,/!s/.*/false/g' -e '/,zeroshark,/s/.*/true/g'`
if test "x$JVM_VARIANT_CLIENT" = xtrue; then
if test "x$JVM_VARIANT_CLIENT" = xtrue; then
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
AC_MSG_ERROR([You cannot build a client JVM for a 64-bit machine.])
AC_MSG_ERROR([You cannot build a client JVM for a 64-bit machine.])
fi
fi
if test "x$JVM_VARIANT_KERNEL" = xtrue; then
fi
if test "x$JVM_VARIANT_KERNEL" = xtrue; then
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
AC_MSG_ERROR([You cannot build a kernel JVM for a 64-bit machine.])
AC_MSG_ERROR([You cannot build a kernel JVM for a 64-bit machine.])
fi
fi
if test "x$JVM_VARIANT_MINIMAL1" = xtrue; then
fi
if test "x$JVM_VARIANT_MINIMAL1" = xtrue; then
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
AC_MSG_ERROR([You cannot build a minimal JVM for a 64-bit machine.])
AC_MSG_ERROR([You cannot build a minimal JVM for a 64-bit machine.])
fi
fi
fi
# Replace the commas with AND for use in the build directory name.
ANDED_JVM_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/^,//' -e 's/,$//' -e 's/,/AND/'`
COUNT_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,/1/' -e 's/client,/1/' -e 's/minimal1,/1/' -e 's/kernel,/1/' -e 's/zero,/1/' -e 's/zeroshark,/1/'`
if test "x$COUNT_VARIANTS" != "x,1"; then
# Replace the commas with AND for use in the build directory name.
ANDED_JVM_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/^,//' -e 's/,$//' -e 's/,/AND/'`
COUNT_VARIANTS=`$ECHO "$JVM_VARIANTS" | $SED -e 's/server,/1/' -e 's/client,/1/' -e 's/minimal1,/1/' -e 's/kernel,/1/' -e 's/zero,/1/' -e 's/zeroshark,/1/'`
if test "x$COUNT_VARIANTS" != "x,1"; then
BUILDING_MULTIPLE_JVM_VARIANTS=yes
else
else
BUILDING_MULTIPLE_JVM_VARIANTS=no
fi
fi
AC_SUBST(JVM_VARIANTS)
AC_SUBST(JVM_VARIANT_SERVER)
AC_SUBST(JVM_VARIANT_CLIENT)
AC_SUBST(JVM_VARIANT_MINIMAL1)
AC_SUBST(JVM_VARIANT_KERNEL)
AC_SUBST(JVM_VARIANT_ZERO)
AC_SUBST(JVM_VARIANT_ZEROSHARK)
AC_SUBST(JVM_VARIANTS)
AC_SUBST(JVM_VARIANT_SERVER)
AC_SUBST(JVM_VARIANT_CLIENT)
AC_SUBST(JVM_VARIANT_MINIMAL1)
AC_SUBST(JVM_VARIANT_KERNEL)
AC_SUBST(JVM_VARIANT_ZERO)
AC_SUBST(JVM_VARIANT_ZEROSHARK)
INCLUDE_SA=true
if test "x$JVM_VARIANT_ZERO" = xtrue ; then
INCLUDE_SA=true
if test "x$JVM_VARIANT_ZERO" = xtrue ; then
INCLUDE_SA=false
fi
if test "x$JVM_VARIANT_ZEROSHARK" = xtrue ; then
fi
if test "x$JVM_VARIANT_ZEROSHARK" = xtrue ; then
INCLUDE_SA=false
fi
AC_SUBST(INCLUDE_SA)
fi
AC_SUBST(INCLUDE_SA)
if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
MACOSX_UNIVERSAL="true"
fi
AC_SUBST(MACOSX_UNIVERSAL)
if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
MACOSX_UNIVERSAL="true"
fi
AC_SUBST(MACOSX_UNIVERSAL)
])
AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_LEVEL],
[
###############################################################################
#
# Set the debug level
# release: no debug information, all optimizations, no asserts.
# fastdebug: debug information (-g), all optimizations, all asserts
# slowdebug: debug information (-g), no optimizations, all asserts
#
DEBUG_LEVEL="release"
AC_MSG_CHECKING([which debug level to use])
AC_ARG_ENABLE([debug], [AS_HELP_STRING([--enable-debug],
[set the debug level to fastdebug (shorthand for --with-debug-level=fastdebug) @<:@disabled@:>@])],
[
###############################################################################
#
# Set the debug level
# release: no debug information, all optimizations, no asserts.
# fastdebug: debug information (-g), all optimizations, all asserts
# slowdebug: debug information (-g), no optimizations, all asserts
#
DEBUG_LEVEL="release"
AC_MSG_CHECKING([which debug level to use])
AC_ARG_ENABLE([debug], [AS_HELP_STRING([--enable-debug],
[set the debug level to fastdebug (shorthand for --with-debug-level=fastdebug) @<:@disabled@:>@])],
[
ENABLE_DEBUG="${enableval}"
DEBUG_LEVEL="fastdebug"
], [ENABLE_DEBUG="no"])
], [ENABLE_DEBUG="no"])
AC_ARG_WITH([debug-level], [AS_HELP_STRING([--with-debug-level],
[set the debug level (release, fastdebug, slowdebug) @<:@release@:>@])],
[
AC_ARG_WITH([debug-level], [AS_HELP_STRING([--with-debug-level],
[set the debug level (release, fastdebug, slowdebug) @<:@release@:>@])],
[
DEBUG_LEVEL="${withval}"
if test "x$ENABLE_DEBUG" = xyes; then
AC_MSG_ERROR([You cannot use both --enable-debug and --with-debug-level at the same time.])
AC_MSG_ERROR([You cannot use both --enable-debug and --with-debug-level at the same time.])
fi
])
AC_MSG_RESULT([$DEBUG_LEVEL])
])
AC_MSG_RESULT([$DEBUG_LEVEL])
if test "x$DEBUG_LEVEL" != xrelease && \
test "x$DEBUG_LEVEL" != xfastdebug && \
test "x$DEBUG_LEVEL" != xslowdebug; then
AC_MSG_ERROR([Allowed debug levels are: release, fastdebug and slowdebug])
fi
if test "x$DEBUG_LEVEL" != xrelease && \
test "x$DEBUG_LEVEL" != xfastdebug && \
test "x$DEBUG_LEVEL" != xslowdebug; then
AC_MSG_ERROR([Allowed debug levels are: release, fastdebug and slowdebug])
fi
###############################################################################
#
# Setup legacy vars/targets and new vars to deal with different debug levels.
#
###############################################################################
#
# Setup legacy vars/targets and new vars to deal with different debug levels.
#
case $DEBUG_LEVEL in
release )
VARIANT="OPT"
FASTDEBUG="false"
DEBUG_CLASSFILES="false"
BUILD_VARIANT_RELEASE=""
HOTSPOT_DEBUG_LEVEL="product"
HOTSPOT_EXPORT="product"
;;
fastdebug )
VARIANT="DBG"
FASTDEBUG="true"
DEBUG_CLASSFILES="true"
BUILD_VARIANT_RELEASE="-fastdebug"
HOTSPOT_DEBUG_LEVEL="fastdebug"
HOTSPOT_EXPORT="fastdebug"
;;
slowdebug )
VARIANT="DBG"
FASTDEBUG="false"
DEBUG_CLASSFILES="true"
BUILD_VARIANT_RELEASE="-debug"
HOTSPOT_DEBUG_LEVEL="jvmg"
HOTSPOT_EXPORT="debug"
;;
esac
case $DEBUG_LEVEL in
release )
VARIANT="OPT"
FASTDEBUG="false"
DEBUG_CLASSFILES="false"
BUILD_VARIANT_RELEASE=""
HOTSPOT_DEBUG_LEVEL="product"
HOTSPOT_EXPORT="product"
;;
fastdebug )
VARIANT="DBG"
FASTDEBUG="true"
DEBUG_CLASSFILES="true"
BUILD_VARIANT_RELEASE="-fastdebug"
HOTSPOT_DEBUG_LEVEL="fastdebug"
HOTSPOT_EXPORT="fastdebug"
;;
slowdebug )
VARIANT="DBG"
FASTDEBUG="false"
DEBUG_CLASSFILES="true"
BUILD_VARIANT_RELEASE="-debug"
HOTSPOT_DEBUG_LEVEL="jvmg"
HOTSPOT_EXPORT="debug"
;;
esac
#####
# Generate the legacy makefile targets for hotspot.
# The hotspot api for selecting the build artifacts, really, needs to be improved.
# JDK-7195896 will fix this on the hotspot side by using the JVM_VARIANT_* variables to
# determine what needs to be built. All we will need to set here is all_product, all_fastdebug etc
# But until then ...
HOTSPOT_TARGET=""
#####
# Generate the legacy makefile targets for hotspot.
# The hotspot api for selecting the build artifacts, really, needs to be improved.
# JDK-7195896 will fix this on the hotspot side by using the JVM_VARIANT_* variables to
# determine what needs to be built. All we will need to set here is all_product, all_fastdebug etc
# But until then ...
HOTSPOT_TARGET=""
if test "x$JVM_VARIANT_SERVER" = xtrue; then
if test "x$JVM_VARIANT_SERVER" = xtrue; then
HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL} "
fi
fi
if test "x$JVM_VARIANT_CLIENT" = xtrue; then
if test "x$JVM_VARIANT_CLIENT" = xtrue; then
HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}1 "
fi
fi
if test "x$JVM_VARIANT_MINIMAL1" = xtrue; then
if test "x$JVM_VARIANT_MINIMAL1" = xtrue; then
HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}minimal1 "
fi
fi
if test "x$JVM_VARIANT_KERNEL" = xtrue; then
if test "x$JVM_VARIANT_KERNEL" = xtrue; then
HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}kernel "
fi
fi
if test "x$JVM_VARIANT_ZERO" = xtrue; then
if test "x$JVM_VARIANT_ZERO" = xtrue; then
HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}zero "
fi
fi
if test "x$JVM_VARIANT_ZEROSHARK" = xtrue; then
if test "x$JVM_VARIANT_ZEROSHARK" = xtrue; then
HOTSPOT_TARGET="$HOTSPOT_TARGET${HOTSPOT_DEBUG_LEVEL}shark "
fi
fi
HOTSPOT_TARGET="$HOTSPOT_TARGET docs export_$HOTSPOT_EXPORT"
HOTSPOT_TARGET="$HOTSPOT_TARGET docs export_$HOTSPOT_EXPORT"
# On Macosx universal binaries are produced, but they only contain
# 64 bit intel. This invalidates control of which jvms are built
# from configure, but only server is valid anyway. Fix this
# when hotspot makefiles are rewritten.
if test "x$MACOSX_UNIVERSAL" = xtrue; then
# On Macosx universal binaries are produced, but they only contain
# 64 bit intel. This invalidates control of which jvms are built
# from configure, but only server is valid anyway. Fix this
# when hotspot makefiles are rewritten.
if test "x$MACOSX_UNIVERSAL" = xtrue; then
HOTSPOT_TARGET=universal_${HOTSPOT_EXPORT}
fi
fi
#####
#####
AC_SUBST(DEBUG_LEVEL)
AC_SUBST(VARIANT)
AC_SUBST(FASTDEBUG)
AC_SUBST(DEBUG_CLASSFILES)
AC_SUBST(BUILD_VARIANT_RELEASE)
AC_SUBST(DEBUG_LEVEL)
AC_SUBST(VARIANT)
AC_SUBST(FASTDEBUG)
AC_SUBST(DEBUG_CLASSFILES)
AC_SUBST(BUILD_VARIANT_RELEASE)
])
@@ -264,7 +263,7 @@ AC_SUBST(BUILD_VARIANT_RELEASE)
AC_DEFUN_ONCE([JDKOPT_SETUP_OPEN_OR_CUSTOM],
[
AC_ARG_ENABLE([openjdk-only], [AS_HELP_STRING([--enable-openjdk-only],
[suppress building custom source even if present @<:@disabled@:>@])],,[enable_openjdk_only="no"])
[suppress building custom source even if present @<:@disabled@:>@])],,[enable_openjdk_only="no"])
AC_MSG_CHECKING([for presence of closed sources])
if test -d "$SRC_ROOT/jdk/src/closed"; then
@@ -301,100 +300,100 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_OPEN_OR_CUSTOM],
AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS],
[
###############################################################################
#
# Should we build a JDK/JVM with headful support (ie a graphical ui)?
# We always build headless support.
#
AC_MSG_CHECKING([headful support])
AC_ARG_ENABLE([headful], [AS_HELP_STRING([--disable-headful],
[disable building headful support (graphical UI support) @<:@enabled@:>@])],
[SUPPORT_HEADFUL=${enable_headful}], [SUPPORT_HEADFUL=yes])
###############################################################################
#
# Should we build a JDK/JVM with headful support (ie a graphical ui)?
# We always build headless support.
#
AC_MSG_CHECKING([headful support])
AC_ARG_ENABLE([headful], [AS_HELP_STRING([--disable-headful],
[disable building headful support (graphical UI support) @<:@enabled@:>@])],
[SUPPORT_HEADFUL=${enable_headful}], [SUPPORT_HEADFUL=yes])
SUPPORT_HEADLESS=yes
BUILD_HEADLESS="BUILD_HEADLESS:=true"
SUPPORT_HEADLESS=yes
BUILD_HEADLESS="BUILD_HEADLESS:=true"
if test "x$SUPPORT_HEADFUL" = xyes; then
if test "x$SUPPORT_HEADFUL" = xyes; then
# We are building both headful and headless.
headful_msg="inlude support for both headful and headless"
fi
headful_msg="include support for both headful and headless"
fi
if test "x$SUPPORT_HEADFUL" = xno; then
if test "x$SUPPORT_HEADFUL" = xno; then
# Thus we are building headless only.
BUILD_HEADLESS="BUILD_HEADLESS:=true"
headful_msg="headless only"
fi
fi
AC_MSG_RESULT([$headful_msg])
AC_MSG_RESULT([$headful_msg])
AC_SUBST(SUPPORT_HEADLESS)
AC_SUBST(SUPPORT_HEADFUL)
AC_SUBST(BUILD_HEADLESS)
AC_SUBST(SUPPORT_HEADLESS)
AC_SUBST(SUPPORT_HEADFUL)
AC_SUBST(BUILD_HEADLESS)
# Control wether Hotspot runs Queens test after build.
AC_ARG_ENABLE([hotspot-test-in-build], [AS_HELP_STRING([--enable-hotspot-test-in-build],
[run the Queens test after Hotspot build @<:@disabled@:>@])],,
[enable_hotspot_test_in_build=no])
if test "x$enable_hotspot_test_in_build" = "xyes"; then
# Control wether Hotspot runs Queens test after build.
AC_ARG_ENABLE([hotspot-test-in-build], [AS_HELP_STRING([--enable-hotspot-test-in-build],
[run the Queens test after Hotspot build @<:@disabled@:>@])],,
[enable_hotspot_test_in_build=no])
if test "x$enable_hotspot_test_in_build" = "xyes"; then
TEST_IN_BUILD=true
else
else
TEST_IN_BUILD=false
fi
AC_SUBST(TEST_IN_BUILD)
fi
AC_SUBST(TEST_IN_BUILD)
###############################################################################
#
# Choose cacerts source file
#
AC_ARG_WITH(cacerts-file, [AS_HELP_STRING([--with-cacerts-file],
[specify alternative cacerts file])])
if test "x$with_cacerts_file" != x; then
###############################################################################
#
# Choose cacerts source file
#
AC_ARG_WITH(cacerts-file, [AS_HELP_STRING([--with-cacerts-file],
[specify alternative cacerts file])])
if test "x$with_cacerts_file" != x; then
CACERTS_FILE=$with_cacerts_file
else
else
CACERTS_FILE=${SRC_ROOT}/jdk/src/share/lib/security/cacerts
fi
AC_SUBST(CACERTS_FILE)
fi
AC_SUBST(CACERTS_FILE)
###############################################################################
#
# Enable or disable unlimited crypto
#
AC_ARG_ENABLE(unlimited-crypto, [AS_HELP_STRING([--enable-unlimited-crypto],
[Enable unlimited crypto policy @<:@disabled@:>@])],,
[enable_unlimited_crypto=no])
if test "x$enable_unlimited_crypto" = "xyes"; then
###############################################################################
#
# Enable or disable unlimited crypto
#
AC_ARG_ENABLE(unlimited-crypto, [AS_HELP_STRING([--enable-unlimited-crypto],
[Enable unlimited crypto policy @<:@disabled@:>@])],,
[enable_unlimited_crypto=no])
if test "x$enable_unlimited_crypto" = "xyes"; then
UNLIMITED_CRYPTO=true
else
else
UNLIMITED_CRYPTO=false
fi
AC_SUBST(UNLIMITED_CRYPTO)
fi
AC_SUBST(UNLIMITED_CRYPTO)
###############################################################################
#
# Enable or disable the elliptic curve crypto implementation
#
AC_DEFUN_ONCE([JDKOPT_DETECT_INTREE_EC],
[
AC_MSG_CHECKING([if elliptic curve crypto implementation is present])
###############################################################################
#
# Enable or disable the elliptic curve crypto implementation
#
AC_DEFUN_ONCE([JDKOPT_DETECT_INTREE_EC],
[
AC_MSG_CHECKING([if elliptic curve crypto implementation is present])
if test -d "${SRC_ROOT}/jdk/src/share/native/sun/security/ec/impl"; then
ENABLE_INTREE_EC=yes
AC_MSG_RESULT([yes])
else
ENABLE_INTREE_EC=no
AC_MSG_RESULT([no])
fi
if test -d "${SRC_ROOT}/jdk/src/share/native/sun/security/ec/impl"; then
ENABLE_INTREE_EC=yes
AC_MSG_RESULT([yes])
else
ENABLE_INTREE_EC=no
AC_MSG_RESULT([no])
fi
AC_SUBST(ENABLE_INTREE_EC)
])
AC_SUBST(ENABLE_INTREE_EC)
])
###############################################################################
#
# Compress jars
#
COMPRESS_JARS=false
###############################################################################
#
# Compress jars
#
COMPRESS_JARS=false
AC_SUBST(COMPRESS_JARS)
AC_SUBST(COMPRESS_JARS)
])
###############################################################################
@@ -403,151 +402,152 @@ AC_SUBST(COMPRESS_JARS)
#
AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_VERSION_NUMBERS],
[
# Source the version numbers
. $AUTOCONF_DIR/version-numbers
# Source the version numbers
. $AUTOCONF_DIR/version-numbers
# Get the settings from parameters
AC_ARG_WITH(milestone, [AS_HELP_STRING([--with-milestone],
[Set milestone value for build @<:@internal@:>@])])
if test "x$with_milestone" = xyes; then
AC_MSG_ERROR([Milestone must have a value])
elif test "x$with_milestone" != x; then
# Get the settings from parameters
AC_ARG_WITH(milestone, [AS_HELP_STRING([--with-milestone],
[Set milestone value for build @<:@internal@:>@])])
if test "x$with_milestone" = xyes; then
AC_MSG_ERROR([Milestone must have a value])
elif test "x$with_milestone" != x; then
MILESTONE="$with_milestone"
fi
if test "x$MILESTONE" = x; then
MILESTONE=internal
fi
fi
if test "x$MILESTONE" = x; then
MILESTONE=internal
fi
AC_ARG_WITH(update-version, [AS_HELP_STRING([--with-update-version],
[Set update version value for build @<:@b00@:>@])])
if test "x$with_update_version" = xyes; then
AC_MSG_ERROR([Update version must have a value])
elif test "x$with_update_version" != x; then
JDK_UPDATE_VERSION="$with_update_version"
fi
AC_ARG_WITH(update-version, [AS_HELP_STRING([--with-update-version],
[Set update version value for build @<:@b00@:>@])])
if test "x$with_update_version" = xyes; then
AC_MSG_ERROR([Update version must have a value])
elif test "x$with_update_version" != x; then
JDK_UPDATE_VERSION="$with_update_version"
fi
AC_ARG_WITH(build-number, [AS_HELP_STRING([--with-build-number],
[Set build number value for build @<:@b00@:>@])])
if test "x$with_build_number" = xyes; then
AC_MSG_ERROR([Build number must have a value])
elif test "x$with_build_number" != x; then
JDK_BUILD_NUMBER="$with_build_number"
fi
if test "x$JDK_BUILD_NUMBER" = x; then
JDK_BUILD_NUMBER=b00
fi
AC_ARG_WITH(user-release-suffix, [AS_HELP_STRING([--with-user-release-suffix],
[Add a custom string to the version string if build number isn't set.@<:@username_builddateb00@:>@])])
if test "x$with_user_release_suffix" = xyes; then
AC_MSG_ERROR([Release suffix must have a value])
elif test "x$with_user_release_suffix" != x; then
USER_RELEASE_SUFFIX="$with_user_release_suffix"
fi
AC_ARG_WITH(user-release-suffix, [AS_HELP_STRING([--with-user-release-suffix],
[Add a custom string to the version string if build number isn't set.@<:@username_builddateb00@:>@])])
if test "x$with_user_release_suffix" = xyes; then
AC_MSG_ERROR([Release suffix must have a value])
elif test "x$with_user_release_suffix" != x; then
USER_RELEASE_SUFFIX="$with_user_release_suffix"
else
BUILD_DATE=`date '+%Y_%m_%d_%H_%M'`
# Avoid [:alnum:] since it depends on the locale.
CLEAN_USERNAME=`echo "$USER" | $TR -d -c 'abcdefghijklmnopqrstuvqxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'`
USER_RELEASE_SUFFIX=`echo "${CLEAN_USERNAME}_${BUILD_DATE}" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
fi
AC_SUBST(USER_RELEASE_SUFFIX)
AC_ARG_WITH(build-number, [AS_HELP_STRING([--with-build-number],
[Set build number value for build @<:@b00@:>@])])
if test "x$with_build_number" = xyes; then
AC_MSG_ERROR([Build number must have a value])
elif test "x$with_build_number" != x; then
JDK_BUILD_NUMBER="$with_build_number"
fi
# Define default USER_RELEASE_SUFFIX if BUILD_NUMBER and USER_RELEASE_SUFFIX are not set
if test "x$JDK_BUILD_NUMBER" = x; then
JDK_BUILD_NUMBER=b00
if test "x$USER_RELEASE_SUFFIX" = x; then
BUILD_DATE=`date '+%Y_%m_%d_%H_%M'`
# Avoid [:alnum:] since it depends on the locale.
CLEAN_USERNAME=`echo "$USER" | $TR -d -c 'abcdefghijklmnopqrstuvqxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'`
USER_RELEASE_SUFFIX=`echo "${CLEAN_USERNAME}_${BUILD_DATE}" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
fi
fi
# Now set the JDK version, milestone, build number etc.
AC_SUBST(JDK_MAJOR_VERSION)
AC_SUBST(JDK_MINOR_VERSION)
AC_SUBST(JDK_MICRO_VERSION)
AC_SUBST(JDK_UPDATE_VERSION)
AC_SUBST(JDK_BUILD_NUMBER)
AC_SUBST(MILESTONE)
AC_SUBST(LAUNCHER_NAME)
AC_SUBST(PRODUCT_NAME)
AC_SUBST(PRODUCT_SUFFIX)
AC_SUBST(JDK_RC_PLATFORM_NAME)
AC_SUBST(COMPANY_NAME)
AC_SUBST(MACOSX_BUNDLE_NAME_BASE)
AC_SUBST(MACOSX_BUNDLE_ID_BASE)
# Now set the JDK version, milestone, build number etc.
AC_SUBST(USER_RELEASE_SUFFIX)
AC_SUBST(JDK_MAJOR_VERSION)
AC_SUBST(JDK_MINOR_VERSION)
AC_SUBST(JDK_MICRO_VERSION)
AC_SUBST(JDK_UPDATE_VERSION)
AC_SUBST(JDK_BUILD_NUMBER)
AC_SUBST(MILESTONE)
AC_SUBST(LAUNCHER_NAME)
AC_SUBST(PRODUCT_NAME)
AC_SUBST(PRODUCT_SUFFIX)
AC_SUBST(JDK_RC_PLATFORM_NAME)
AC_SUBST(COMPANY_NAME)
AC_SUBST(MACOSX_BUNDLE_NAME_BASE)
AC_SUBST(MACOSX_BUNDLE_ID_BASE)
COPYRIGHT_YEAR=`date +'%Y'`
AC_SUBST(COPYRIGHT_YEAR)
COPYRIGHT_YEAR=`date +'%Y'`
AC_SUBST(COPYRIGHT_YEAR)
if test "x$JDK_UPDATE_VERSION" != x; then
JDK_VERSION="${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_MICRO_VERSION}_${JDK_UPDATE_VERSION}"
else
JDK_VERSION="${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_MICRO_VERSION}"
fi
AC_SUBST(JDK_VERSION)
if test "x$JDK_UPDATE_VERSION" != x; then
JDK_VERSION="${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_MICRO_VERSION}_${JDK_UPDATE_VERSION}"
else
JDK_VERSION="${JDK_MAJOR_VERSION}.${JDK_MINOR_VERSION}.${JDK_MICRO_VERSION}"
fi
AC_SUBST(JDK_VERSION)
COOKED_BUILD_NUMBER=`$ECHO $JDK_BUILD_NUMBER | $SED -e 's/^b//' -e 's/^0//'`
AC_SUBST(COOKED_BUILD_NUMBER)
COOKED_BUILD_NUMBER=`$ECHO $JDK_BUILD_NUMBER | $SED -e 's/^b//' -e 's/^0//'`
AC_SUBST(COOKED_BUILD_NUMBER)
])
AC_DEFUN_ONCE([JDKOPT_SETUP_BUILD_TWEAKS],
[
HOTSPOT_MAKE_ARGS="$HOTSPOT_TARGET"
AC_SUBST(HOTSPOT_MAKE_ARGS)
# The name of the Service Agent jar.
SALIB_NAME="${LIBRARY_PREFIX}saproc${SHARED_LIBRARY_SUFFIX}"
if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
SALIB_NAME="${LIBRARY_PREFIX}sawindbg${SHARED_LIBRARY_SUFFIX}"
fi
AC_SUBST(SALIB_NAME)
HOTSPOT_MAKE_ARGS="$HOTSPOT_TARGET"
AC_SUBST(HOTSPOT_MAKE_ARGS)
# The name of the Service Agent jar.
SALIB_NAME="${LIBRARY_PREFIX}saproc${SHARED_LIBRARY_SUFFIX}"
if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
SALIB_NAME="${LIBRARY_PREFIX}sawindbg${SHARED_LIBRARY_SUFFIX}"
fi
AC_SUBST(SALIB_NAME)
])
AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
[
#
# ENABLE_DEBUG_SYMBOLS
# This must be done after the toolchain is setup, since we're looking at objcopy.
#
AC_ARG_ENABLE([debug-symbols],
[AS_HELP_STRING([--disable-debug-symbols],[disable generation of debug symbols @<:@enabled@:>@])])
#
# ENABLE_DEBUG_SYMBOLS
# This must be done after the toolchain is setup, since we're looking at objcopy.
#
AC_ARG_ENABLE([debug-symbols],
[AS_HELP_STRING([--disable-debug-symbols],[disable generation of debug symbols @<:@enabled@:>@])])
AC_MSG_CHECKING([if we should generate debug symbols])
AC_MSG_CHECKING([if we should generate debug symbols])
if test "x$enable_debug_symbols" = "xyes" && test "x$OBJCOPY" = x; then
# explicit enabling of enable-debug-symbols and can't find objcopy
# this is an error
AC_MSG_ERROR([Unable to find objcopy, cannot enable debug-symbols])
fi
if test "x$enable_debug_symbols" = "xyes"; then
ENABLE_DEBUG_SYMBOLS=true
elif test "x$enable_debug_symbols" = "xno"; then
ENABLE_DEBUG_SYMBOLS=false
else
# default on macosx is false
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
ENABLE_DEBUG_SYMBOLS=false
# Default is on if objcopy is found, otherwise off
elif test "x$OBJCOPY" != x || test "x$OPENJDK_TARGET_OS" = xwindows; then
ENABLE_DEBUG_SYMBOLS=true
else
ENABLE_DEBUG_SYMBOLS=false
if test "x$enable_debug_symbols" = "xyes" && test "x$OBJCOPY" = x; then
# explicit enabling of enable-debug-symbols and can't find objcopy
# this is an error
AC_MSG_ERROR([Unable to find objcopy, cannot enable debug-symbols])
fi
fi
AC_MSG_RESULT([$ENABLE_DEBUG_SYMBOLS])
if test "x$enable_debug_symbols" = "xyes"; then
ENABLE_DEBUG_SYMBOLS=true
elif test "x$enable_debug_symbols" = "xno"; then
ENABLE_DEBUG_SYMBOLS=false
else
# Default is on if objcopy is found
if test "x$OBJCOPY" != x; then
ENABLE_DEBUG_SYMBOLS=true
# MacOS X and Windows don't use objcopy but default is on for those OSes
elif test "x$OPENJDK_TARGET_OS" = xmacosx || test "x$OPENJDK_TARGET_OS" = xwindows; then
ENABLE_DEBUG_SYMBOLS=true
else
ENABLE_DEBUG_SYMBOLS=false
fi
fi
#
# ZIP_DEBUGINFO_FILES
#
AC_MSG_CHECKING([if we should zip debug-info files])
AC_ARG_ENABLE([zip-debug-info],
[AS_HELP_STRING([--disable-zip-debug-info],[disable zipping of debug-info files @<:@enabled@:>@])],
[enable_zip_debug_info="${enableval}"], [enable_zip_debug_info="yes"])
AC_MSG_RESULT([${enable_zip_debug_info}])
AC_MSG_RESULT([$ENABLE_DEBUG_SYMBOLS])
if test "x${enable_zip_debug_info}" = "xno"; then
ZIP_DEBUGINFO_FILES=false
else
ZIP_DEBUGINFO_FILES=true
fi
#
# ZIP_DEBUGINFO_FILES
#
AC_MSG_CHECKING([if we should zip debug-info files])
AC_ARG_ENABLE([zip-debug-info],
[AS_HELP_STRING([--disable-zip-debug-info],[disable zipping of debug-info files @<:@enabled@:>@])],
[enable_zip_debug_info="${enableval}"], [enable_zip_debug_info="yes"])
AC_MSG_RESULT([${enable_zip_debug_info}])
AC_SUBST(ENABLE_DEBUG_SYMBOLS)
AC_SUBST(ZIP_DEBUGINFO_FILES)
AC_SUBST(CFLAGS_DEBUG_SYMBOLS)
AC_SUBST(CXXFLAGS_DEBUG_SYMBOLS)
if test "x${enable_zip_debug_info}" = "xno"; then
ZIP_DEBUGINFO_FILES=false
else
ZIP_DEBUGINFO_FILES=true
fi
AC_SUBST(ENABLE_DEBUG_SYMBOLS)
AC_SUBST(ZIP_DEBUGINFO_FILES)
AC_SUBST(CFLAGS_DEBUG_SYMBOLS)
AC_SUBST(CXXFLAGS_DEBUG_SYMBOLS)
])
# Support for customization of the build process. Some build files
@@ -555,5 +555,5 @@ AC_SUBST(CXXFLAGS_DEBUG_SYMBOLS)
# for a degree of customization of the build targets and the rules/recipes
# to create them
AC_ARG_WITH([custom-make-dir], [AS_HELP_STRING([--with-custom-make-dir],
[use this directory for custom build/make files])], [CUSTOM_MAKE_DIR=$with_custom_make_dir])
[use this directory for custom build/make files])], [CUSTOM_MAKE_DIR=$with_custom_make_dir])
AC_SUBST(CUSTOM_MAKE_DIR)

File diff suppressed because it is too large Load Diff

View File

@@ -53,37 +53,37 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU],
VAR_CPU_ARCH=ppc
VAR_CPU_BITS=32
VAR_CPU_ENDIAN=big
;;
;;
powerpc64)
VAR_CPU=ppc64
VAR_CPU_ARCH=ppc
VAR_CPU_BITS=64
VAR_CPU_ENDIAN=big
;;
;;
s390)
VAR_CPU=s390
VAR_CPU_ARCH=s390
VAR_CPU_BITS=32
VAR_CPU_ENDIAN=big
;;
;;
s390x)
VAR_CPU=s390x
VAR_CPU_ARCH=s390
VAR_CPU_BITS=64
VAR_CPU_ENDIAN=big
;;
;;
sparc)
VAR_CPU=sparc
VAR_CPU_ARCH=sparc
VAR_CPU_BITS=32
VAR_CPU_ENDIAN=big
;;
;;
sparcv9)
VAR_CPU=sparcv9
VAR_CPU_ARCH=sparc
VAR_CPU_BITS=64
VAR_CPU_ENDIAN=big
;;
;;
*)
AC_MSG_ERROR([unsupported cpu $1])
;;
@@ -140,56 +140,56 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_OS],
# OPENJDK_BUILD_OS, etc.
AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
[
# Copy the autoconf trip/quadruplet verbatim to OPENJDK_TARGET_AUTOCONF_NAME
# (from the autoconf "host") and OPENJDK_BUILD_AUTOCONF_NAME
# Note that we might later on rewrite e.g. OPENJDK_TARGET_CPU due to reduced build,
# but this will not change the value of OPENJDK_TARGET_AUTOCONF_NAME.
OPENJDK_TARGET_AUTOCONF_NAME="$host"
OPENJDK_BUILD_AUTOCONF_NAME="$build"
AC_SUBST(OPENJDK_TARGET_AUTOCONF_NAME)
AC_SUBST(OPENJDK_BUILD_AUTOCONF_NAME)
# Copy the autoconf trip/quadruplet verbatim to OPENJDK_TARGET_AUTOCONF_NAME
# (from the autoconf "host") and OPENJDK_BUILD_AUTOCONF_NAME
# Note that we might later on rewrite e.g. OPENJDK_TARGET_CPU due to reduced build,
# but this will not change the value of OPENJDK_TARGET_AUTOCONF_NAME.
OPENJDK_TARGET_AUTOCONF_NAME="$host"
OPENJDK_BUILD_AUTOCONF_NAME="$build"
AC_SUBST(OPENJDK_TARGET_AUTOCONF_NAME)
AC_SUBST(OPENJDK_BUILD_AUTOCONF_NAME)
# Convert the autoconf OS/CPU value to our own data, into the VAR_OS/CPU variables.
PLATFORM_EXTRACT_VARS_FROM_OS($build_os)
PLATFORM_EXTRACT_VARS_FROM_CPU($build_cpu)
# ..and setup our own variables. (Do this explicitely to facilitate searching)
OPENJDK_BUILD_OS="$VAR_OS"
OPENJDK_BUILD_OS_API="$VAR_OS_API"
OPENJDK_BUILD_OS_ENV="$VAR_OS_ENV"
OPENJDK_BUILD_CPU="$VAR_CPU"
OPENJDK_BUILD_CPU_ARCH="$VAR_CPU_ARCH"
OPENJDK_BUILD_CPU_BITS="$VAR_CPU_BITS"
OPENJDK_BUILD_CPU_ENDIAN="$VAR_CPU_ENDIAN"
AC_SUBST(OPENJDK_BUILD_OS)
AC_SUBST(OPENJDK_BUILD_OS_API)
AC_SUBST(OPENJDK_BUILD_CPU)
AC_SUBST(OPENJDK_BUILD_CPU_ARCH)
AC_SUBST(OPENJDK_BUILD_CPU_BITS)
AC_SUBST(OPENJDK_BUILD_CPU_ENDIAN)
# Convert the autoconf OS/CPU value to our own data, into the VAR_OS/CPU variables.
PLATFORM_EXTRACT_VARS_FROM_OS($build_os)
PLATFORM_EXTRACT_VARS_FROM_CPU($build_cpu)
# ..and setup our own variables. (Do this explicitely to facilitate searching)
OPENJDK_BUILD_OS="$VAR_OS"
OPENJDK_BUILD_OS_API="$VAR_OS_API"
OPENJDK_BUILD_OS_ENV="$VAR_OS_ENV"
OPENJDK_BUILD_CPU="$VAR_CPU"
OPENJDK_BUILD_CPU_ARCH="$VAR_CPU_ARCH"
OPENJDK_BUILD_CPU_BITS="$VAR_CPU_BITS"
OPENJDK_BUILD_CPU_ENDIAN="$VAR_CPU_ENDIAN"
AC_SUBST(OPENJDK_BUILD_OS)
AC_SUBST(OPENJDK_BUILD_OS_API)
AC_SUBST(OPENJDK_BUILD_CPU)
AC_SUBST(OPENJDK_BUILD_CPU_ARCH)
AC_SUBST(OPENJDK_BUILD_CPU_BITS)
AC_SUBST(OPENJDK_BUILD_CPU_ENDIAN)
AC_MSG_CHECKING([openjdk-build os-cpu])
AC_MSG_RESULT([$OPENJDK_BUILD_OS-$OPENJDK_BUILD_CPU])
AC_MSG_CHECKING([openjdk-build os-cpu])
AC_MSG_RESULT([$OPENJDK_BUILD_OS-$OPENJDK_BUILD_CPU])
# Convert the autoconf OS/CPU value to our own data, into the VAR_OS/CPU variables.
PLATFORM_EXTRACT_VARS_FROM_OS($host_os)
PLATFORM_EXTRACT_VARS_FROM_CPU($host_cpu)
# ... and setup our own variables. (Do this explicitely to facilitate searching)
OPENJDK_TARGET_OS="$VAR_OS"
OPENJDK_TARGET_OS_API="$VAR_OS_API"
OPENJDK_TARGET_OS_ENV="$VAR_OS_ENV"
OPENJDK_TARGET_CPU="$VAR_CPU"
OPENJDK_TARGET_CPU_ARCH="$VAR_CPU_ARCH"
OPENJDK_TARGET_CPU_BITS="$VAR_CPU_BITS"
OPENJDK_TARGET_CPU_ENDIAN="$VAR_CPU_ENDIAN"
AC_SUBST(OPENJDK_TARGET_OS)
AC_SUBST(OPENJDK_TARGET_OS_API)
AC_SUBST(OPENJDK_TARGET_CPU)
AC_SUBST(OPENJDK_TARGET_CPU_ARCH)
AC_SUBST(OPENJDK_TARGET_CPU_BITS)
AC_SUBST(OPENJDK_TARGET_CPU_ENDIAN)
# Convert the autoconf OS/CPU value to our own data, into the VAR_OS/CPU variables.
PLATFORM_EXTRACT_VARS_FROM_OS($host_os)
PLATFORM_EXTRACT_VARS_FROM_CPU($host_cpu)
# ... and setup our own variables. (Do this explicitely to facilitate searching)
OPENJDK_TARGET_OS="$VAR_OS"
OPENJDK_TARGET_OS_API="$VAR_OS_API"
OPENJDK_TARGET_OS_ENV="$VAR_OS_ENV"
OPENJDK_TARGET_CPU="$VAR_CPU"
OPENJDK_TARGET_CPU_ARCH="$VAR_CPU_ARCH"
OPENJDK_TARGET_CPU_BITS="$VAR_CPU_BITS"
OPENJDK_TARGET_CPU_ENDIAN="$VAR_CPU_ENDIAN"
AC_SUBST(OPENJDK_TARGET_OS)
AC_SUBST(OPENJDK_TARGET_OS_API)
AC_SUBST(OPENJDK_TARGET_CPU)
AC_SUBST(OPENJDK_TARGET_CPU_ARCH)
AC_SUBST(OPENJDK_TARGET_CPU_BITS)
AC_SUBST(OPENJDK_TARGET_CPU_ENDIAN)
AC_MSG_CHECKING([openjdk-target os-cpu])
AC_MSG_RESULT([$OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU])
AC_MSG_CHECKING([openjdk-target os-cpu])
AC_MSG_RESULT([$OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU])
])
# Check if a reduced build (32-bit on 64-bit platforms) is requested, and modify behaviour
@@ -198,7 +198,7 @@ AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
AC_DEFUN([PLATFORM_SETUP_TARGET_CPU_BITS],
[
AC_ARG_WITH(target-bits, [AS_HELP_STRING([--with-target-bits],
[build 32-bit or 64-bit binaries (for platforms that support it), e.g. --with-target-bits=32 @<:@guessed@:>@])])
[build 32-bit or 64-bit binaries (for platforms that support it), e.g. --with-target-bits=32 @<:@guessed@:>@])])
# We have three types of compiles:
# native == normal compilation, target system == build system
@@ -227,7 +227,7 @@ AC_DEFUN([PLATFORM_SETUP_TARGET_CPU_BITS],
OPENJDK_TARGET_CPU=sparc
else
AC_MSG_ERROR([Reduced build (--with-target-bits=32) is only supported on x86_64 and sparcv9])
fi
fi
elif test "x$with_target_bits" = x64 && test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
AC_MSG_ERROR([It is not possible to use --with-target-bits=64 on a 32 bit system. Use proper cross-compilation instead.])
elif test "x$with_target_bits" = "x$OPENJDK_TARGET_CPU_BITS"; then
@@ -238,184 +238,190 @@ AC_DEFUN([PLATFORM_SETUP_TARGET_CPU_BITS],
fi
AC_SUBST(COMPILE_TYPE)
AC_MSG_CHECKING([compilation type])
AC_MSG_RESULT([$COMPILE_TYPE])
AC_MSG_CHECKING([compilation type])
AC_MSG_RESULT([$COMPILE_TYPE])
])
# Setup the legacy variables, for controlling the old makefiles.
#
# Setup the legacy variables, for controlling the old makefiles.
#
AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS],
[
# Also store the legacy naming of the cpu.
# Ie i586 and amd64 instead of x86 and x86_64
OPENJDK_TARGET_CPU_LEGACY="$OPENJDK_TARGET_CPU"
if test "x$OPENJDK_TARGET_CPU" = xx86; then
OPENJDK_TARGET_CPU_LEGACY="i586"
elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
# On all platforms except MacOSX replace x86_64 with amd64.
OPENJDK_TARGET_CPU_LEGACY="amd64"
fi
AC_SUBST(OPENJDK_TARGET_CPU_LEGACY)
# Also store the legacy naming of the cpu.
# Ie i586 and amd64 instead of x86 and x86_64
OPENJDK_TARGET_CPU_LEGACY="$OPENJDK_TARGET_CPU"
if test "x$OPENJDK_TARGET_CPU" = xx86; then
OPENJDK_TARGET_CPU_LEGACY="i586"
elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
# On all platforms except MacOSX replace x86_64 with amd64.
OPENJDK_TARGET_CPU_LEGACY="amd64"
fi
AC_SUBST(OPENJDK_TARGET_CPU_LEGACY)
# And the second legacy naming of the cpu.
# Ie i386 and amd64 instead of x86 and x86_64.
OPENJDK_TARGET_CPU_LEGACY_LIB="$OPENJDK_TARGET_CPU"
if test "x$OPENJDK_TARGET_CPU" = xx86; then
OPENJDK_TARGET_CPU_LEGACY_LIB="i386"
elif test "x$OPENJDK_TARGET_CPU" = xx86_64; then
OPENJDK_TARGET_CPU_LEGACY_LIB="amd64"
fi
AC_SUBST(OPENJDK_TARGET_CPU_LEGACY_LIB)
# And the second legacy naming of the cpu.
# Ie i386 and amd64 instead of x86 and x86_64.
OPENJDK_TARGET_CPU_LEGACY_LIB="$OPENJDK_TARGET_CPU"
if test "x$OPENJDK_TARGET_CPU" = xx86; then
OPENJDK_TARGET_CPU_LEGACY_LIB="i386"
elif test "x$OPENJDK_TARGET_CPU" = xx86_64; then
OPENJDK_TARGET_CPU_LEGACY_LIB="amd64"
fi
AC_SUBST(OPENJDK_TARGET_CPU_LEGACY_LIB)
# This is the name of the cpu (but using i386 and amd64 instead of
# x86 and x86_64, respectively), preceeded by a /, to be used when
# locating libraries. On macosx, it's empty, though.
OPENJDK_TARGET_CPU_LIBDIR="/$OPENJDK_TARGET_CPU_LEGACY_LIB"
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
OPENJDK_TARGET_CPU_LIBDIR=""
fi
AC_SUBST(OPENJDK_TARGET_CPU_LIBDIR)
# This is the name of the cpu (but using i386 and amd64 instead of
# x86 and x86_64, respectively), preceeded by a /, to be used when
# locating libraries. On macosx, it's empty, though.
OPENJDK_TARGET_CPU_LIBDIR="/$OPENJDK_TARGET_CPU_LEGACY_LIB"
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
OPENJDK_TARGET_CPU_LIBDIR=""
fi
AC_SUBST(OPENJDK_TARGET_CPU_LIBDIR)
# OPENJDK_TARGET_CPU_ISADIR is normally empty. On 64-bit Solaris systems, it is set to
# /amd64 or /sparcv9. This string is appended to some library paths, like this:
# /usr/lib${OPENJDK_TARGET_CPU_ISADIR}/libexample.so
OPENJDK_TARGET_CPU_ISADIR=""
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
if test "x$OPENJDK_TARGET_CPU" = xx86_64; then
OPENJDK_TARGET_CPU_ISADIR="/amd64"
elif test "x$OPENJDK_TARGET_CPU" = xsparcv9; then
OPENJDK_TARGET_CPU_ISADIR="/sparcv9"
fi
# OPENJDK_TARGET_CPU_ISADIR is normally empty. On 64-bit Solaris systems, it is set to
# /amd64 or /sparcv9. This string is appended to some library paths, like this:
# /usr/lib${OPENJDK_TARGET_CPU_ISADIR}/libexample.so
OPENJDK_TARGET_CPU_ISADIR=""
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
if test "x$OPENJDK_TARGET_CPU" = xx86_64; then
OPENJDK_TARGET_CPU_ISADIR="/amd64"
elif test "x$OPENJDK_TARGET_CPU" = xsparcv9; then
OPENJDK_TARGET_CPU_ISADIR="/sparcv9"
fi
AC_SUBST(OPENJDK_TARGET_CPU_ISADIR)
fi
AC_SUBST(OPENJDK_TARGET_CPU_ISADIR)
# Setup OPENJDK_TARGET_CPU_OSARCH, which is used to set the os.arch Java system property
OPENJDK_TARGET_CPU_OSARCH="$OPENJDK_TARGET_CPU"
if test "x$OPENJDK_TARGET_OS" = xlinux && test "x$OPENJDK_TARGET_CPU" = xx86; then
# On linux only, we replace x86 with i386.
OPENJDK_TARGET_CPU_OSARCH="i386"
elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
# On all platforms except macosx, we replace x86_64 with amd64.
OPENJDK_TARGET_CPU_OSARCH="amd64"
fi
AC_SUBST(OPENJDK_TARGET_CPU_OSARCH)
# Setup OPENJDK_TARGET_CPU_OSARCH, which is used to set the os.arch Java system property
OPENJDK_TARGET_CPU_OSARCH="$OPENJDK_TARGET_CPU"
if test "x$OPENJDK_TARGET_OS" = xlinux && test "x$OPENJDK_TARGET_CPU" = xx86; then
# On linux only, we replace x86 with i386.
OPENJDK_TARGET_CPU_OSARCH="i386"
elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
# On all platforms except macosx, we replace x86_64 with amd64.
OPENJDK_TARGET_CPU_OSARCH="amd64"
fi
AC_SUBST(OPENJDK_TARGET_CPU_OSARCH)
OPENJDK_TARGET_CPU_JLI="$OPENJDK_TARGET_CPU"
if test "x$OPENJDK_TARGET_CPU" = xx86; then
OPENJDK_TARGET_CPU_JLI="i386"
elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
# On all platforms except macosx, we replace x86_64 with amd64.
OPENJDK_TARGET_CPU_JLI="amd64"
OPENJDK_TARGET_CPU_JLI="$OPENJDK_TARGET_CPU"
if test "x$OPENJDK_TARGET_CPU" = xx86; then
OPENJDK_TARGET_CPU_JLI="i386"
elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then
# On all platforms except macosx, we replace x86_64 with amd64.
OPENJDK_TARGET_CPU_JLI="amd64"
fi
# Now setup the -D flags for building libjli.
OPENJDK_TARGET_CPU_JLI_CFLAGS="-DLIBARCHNAME='\"$OPENJDK_TARGET_CPU_JLI\"'"
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
if test "x$OPENJDK_TARGET_CPU_ARCH" = xsparc; then
OPENJDK_TARGET_CPU_JLI_CFLAGS="$OPENJDK_TARGET_CPU_JLI_CFLAGS -DLIBARCH32NAME='\"sparc\"' -DLIBARCH64NAME='\"sparcv9\"'"
elif test "x$OPENJDK_TARGET_CPU_ARCH" = xx86; then
OPENJDK_TARGET_CPU_JLI_CFLAGS="$OPENJDK_TARGET_CPU_JLI_CFLAGS -DLIBARCH32NAME='\"i386\"' -DLIBARCH64NAME='\"amd64\"'"
fi
# Now setup the -D flags for building libjli.
OPENJDK_TARGET_CPU_JLI_CFLAGS="-DLIBARCHNAME='\"$OPENJDK_TARGET_CPU_JLI\"'"
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
if test "x$OPENJDK_TARGET_CPU_ARCH" = xsparc; then
OPENJDK_TARGET_CPU_JLI_CFLAGS="$OPENJDK_TARGET_CPU_JLI_CFLAGS -DLIBARCH32NAME='\"sparc\"' -DLIBARCH64NAME='\"sparcv9\"'"
elif test "x$OPENJDK_TARGET_CPU_ARCH" = xx86; then
OPENJDK_TARGET_CPU_JLI_CFLAGS="$OPENJDK_TARGET_CPU_JLI_CFLAGS -DLIBARCH32NAME='\"i386\"' -DLIBARCH64NAME='\"amd64\"'"
fi
fi
AC_SUBST(OPENJDK_TARGET_CPU_JLI_CFLAGS)
fi
AC_SUBST(OPENJDK_TARGET_CPU_JLI_CFLAGS)
# Setup OPENJDK_TARGET_OS_API_DIR, used in source paths.
if test "x$OPENJDK_TARGET_OS_API" = xposix; then
OPENJDK_TARGET_OS_API_DIR="solaris"
fi
if test "x$OPENJDK_TARGET_OS_API" = xwinapi; then
OPENJDK_TARGET_OS_API_DIR="windows"
fi
AC_SUBST(OPENJDK_TARGET_OS_API_DIR)
# Setup OPENJDK_TARGET_OS_API_DIR, used in source paths.
if test "x$OPENJDK_TARGET_OS_API" = xposix; then
OPENJDK_TARGET_OS_API_DIR="solaris"
fi
if test "x$OPENJDK_TARGET_OS_API" = xwinapi; then
OPENJDK_TARGET_OS_API_DIR="windows"
fi
AC_SUBST(OPENJDK_TARGET_OS_API_DIR)
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
A_LP64="LP64:="
# -D_LP64=1 is only set on linux and mac. Setting on windows causes diff in
# unpack200.exe
if test "x$OPENJDK_TARGET_OS" = xlinux || test "x$OPENJDK_TARGET_OS" = xmacosx; then
ADD_LP64="-D_LP64=1"
fi
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
OPENJDK_TARGET_OS_EXPORT_DIR=macosx
else
OPENJDK_TARGET_OS_EXPORT_DIR=${OPENJDK_TARGET_OS_API_DIR}
fi
AC_SUBST(OPENJDK_TARGET_OS_EXPORT_DIR)
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
A_LP64="LP64:="
# -D_LP64=1 is only set on linux and mac. Setting on windows causes diff in
# unpack200.exe
if test "x$OPENJDK_TARGET_OS" = xlinux || test "x$OPENJDK_TARGET_OS" = xmacosx; then
ADD_LP64="-D_LP64=1"
fi
AC_SUBST(LP64,$A_LP64)
fi
AC_SUBST(LP64,$A_LP64)
if test "x$COMPILE_TYPE" = "xcross"; then
# FIXME: ... or should this include reduced builds..?
DEFINE_CROSS_COMPILE_ARCH="CROSS_COMPILE_ARCH:=$OPENJDK_TARGET_CPU_LEGACY"
else
DEFINE_CROSS_COMPILE_ARCH=""
fi
AC_SUBST(DEFINE_CROSS_COMPILE_ARCH)
# ZERO_ARCHDEF is used to enable architecture-specific code
case "${OPENJDK_TARGET_CPU}" in
ppc*) ZERO_ARCHDEF=PPC ;;
s390*) ZERO_ARCHDEF=S390 ;;
sparc*) ZERO_ARCHDEF=SPARC ;;
x86_64*) ZERO_ARCHDEF=AMD64 ;;
x86) ZERO_ARCHDEF=IA32 ;;
*) ZERO_ARCHDEF=$(echo "${OPENJDK_TARGET_CPU_LEGACY_LIB}" | tr a-z A-Z)
esac
AC_SUBST(ZERO_ARCHDEF)
if test "x$COMPILE_TYPE" = "xcross"; then
# FIXME: ... or should this include reduced builds..?
DEFINE_CROSS_COMPILE_ARCH="CROSS_COMPILE_ARCH:=$OPENJDK_TARGET_CPU_LEGACY"
else
DEFINE_CROSS_COMPILE_ARCH=""
fi
AC_SUBST(DEFINE_CROSS_COMPILE_ARCH)
# ZERO_ARCHDEF is used to enable architecture-specific code
case "${OPENJDK_TARGET_CPU}" in
ppc*) ZERO_ARCHDEF=PPC ;;
s390*) ZERO_ARCHDEF=S390 ;;
sparc*) ZERO_ARCHDEF=SPARC ;;
x86_64*) ZERO_ARCHDEF=AMD64 ;;
x86) ZERO_ARCHDEF=IA32 ;;
*) ZERO_ARCHDEF=$(echo "${OPENJDK_TARGET_CPU_LEGACY_LIB}" | tr a-z A-Z)
esac
AC_SUBST(ZERO_ARCHDEF)
])
AC_DEFUN([PLATFORM_SET_RELEASE_FILE_OS_VALUES],
[
if test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
REQUIRED_OS_NAME=SunOS
REQUIRED_OS_VERSION=5.10
fi
if test "x$OPENJDK_TARGET_OS" = "xlinux"; then
REQUIRED_OS_NAME=Linux
REQUIRED_OS_VERSION=2.6
fi
if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
REQUIRED_OS_NAME=Windows
if test "x$OPENJDK_TARGET_CPU_BITS" = "x64"; then
REQUIRED_OS_VERSION=5.2
else
REQUIRED_OS_VERSION=5.1
fi
fi
if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
REQUIRED_OS_NAME=Darwin
REQUIRED_OS_VERSION=11.2
if test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
REQUIRED_OS_NAME=SunOS
REQUIRED_OS_VERSION=5.10
fi
if test "x$OPENJDK_TARGET_OS" = "xlinux"; then
REQUIRED_OS_NAME=Linux
REQUIRED_OS_VERSION=2.6
fi
if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
REQUIRED_OS_NAME=Windows
if test "x$OPENJDK_TARGET_CPU_BITS" = "x64"; then
REQUIRED_OS_VERSION=5.2
else
REQUIRED_OS_VERSION=5.1
fi
fi
if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
REQUIRED_OS_NAME=Darwin
REQUIRED_OS_VERSION=11.2
fi
AC_SUBST(REQUIRED_OS_NAME)
AC_SUBST(REQUIRED_OS_VERSION)
AC_SUBST(REQUIRED_OS_NAME)
AC_SUBST(REQUIRED_OS_VERSION)
])
#%%% Build and target systems %%%
AC_DEFUN_ONCE([PLATFORM_SETUP_OPENJDK_BUILD_AND_TARGET],
[
# Figure out the build and target systems. # Note that in autoconf terminology, "build" is obvious, but "target"
# is confusing; it assumes you are cross-compiling a cross-compiler (!) and "target" is thus the target of the
# product you're building. The target of this build is called "host". Since this is confusing to most people, we
# have not adopted that system, but use "target" as the platform we are building for. In some places though we need
# to use the configure naming style.
AC_CANONICAL_BUILD
AC_CANONICAL_HOST
AC_CANONICAL_TARGET
# Figure out the build and target systems. # Note that in autoconf terminology, "build" is obvious, but "target"
# is confusing; it assumes you are cross-compiling a cross-compiler (!) and "target" is thus the target of the
# product you're building. The target of this build is called "host". Since this is confusing to most people, we
# have not adopted that system, but use "target" as the platform we are building for. In some places though we need
# to use the configure naming style.
AC_CANONICAL_BUILD
AC_CANONICAL_HOST
AC_CANONICAL_TARGET
PLATFORM_EXTRACT_TARGET_AND_BUILD
PLATFORM_SETUP_TARGET_CPU_BITS
PLATFORM_SET_RELEASE_FILE_OS_VALUES
PLATFORM_SETUP_LEGACY_VARS
PLATFORM_EXTRACT_TARGET_AND_BUILD
PLATFORM_SETUP_TARGET_CPU_BITS
PLATFORM_SET_RELEASE_FILE_OS_VALUES
PLATFORM_SETUP_LEGACY_VARS
])
AC_DEFUN_ONCE([PLATFORM_SETUP_OPENJDK_BUILD_OS_VERSION],
[
###############################################################################
###############################################################################
# Note that this is the build platform OS version!
# Note that this is the build platform OS version!
OS_VERSION="`uname -r | ${SED} 's!\.! !g' | ${SED} 's!-! !g'`"
OS_VERSION_MAJOR="`${ECHO} ${OS_VERSION} | ${CUT} -f 1 -d ' '`"
OS_VERSION_MINOR="`${ECHO} ${OS_VERSION} | ${CUT} -f 2 -d ' '`"
OS_VERSION_MICRO="`${ECHO} ${OS_VERSION} | ${CUT} -f 3 -d ' '`"
AC_SUBST(OS_VERSION_MAJOR)
AC_SUBST(OS_VERSION_MINOR)
AC_SUBST(OS_VERSION_MICRO)
OS_VERSION="`uname -r | ${SED} 's!\.! !g' | ${SED} 's!-! !g'`"
OS_VERSION_MAJOR="`${ECHO} ${OS_VERSION} | ${CUT} -f 1 -d ' '`"
OS_VERSION_MINOR="`${ECHO} ${OS_VERSION} | ${CUT} -f 2 -d ' '`"
OS_VERSION_MICRO="`${ECHO} ${OS_VERSION} | ${CUT} -f 3 -d ' '`"
AC_SUBST(OS_VERSION_MAJOR)
AC_SUBST(OS_VERSION_MINOR)
AC_SUBST(OS_VERSION_MICRO)
])
# Support macro for PLATFORM_SETUP_OPENJDK_TARGET_BITS.
@@ -441,68 +447,68 @@ AC_DEFUN([PLATFORM_SET_COMPILER_TARGET_BITS_FLAGS],
AC_DEFUN_ONCE([PLATFORM_SETUP_OPENJDK_TARGET_BITS],
[
###############################################################################
#
# Now we check if libjvm.so will use 32 or 64 bit pointers for the C/C++ code.
# (The JVM can use 32 or 64 bit Java pointers but that decision
# is made at runtime.)
#
###############################################################################
#
# Now we check if libjvm.so will use 32 or 64 bit pointers for the C/C++ code.
# (The JVM can use 32 or 64 bit Java pointers but that decision
# is made at runtime.)
#
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
# Always specify -m flags on Solaris
PLATFORM_SET_COMPILER_TARGET_BITS_FLAGS
elif test "x$COMPILE_TYPE" = xreduced; then
if test "x$OPENJDK_TARGET_OS" != xwindows; then
# Specify -m if running reduced on other Posix platforms
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
# Always specify -m flags on Solaris
PLATFORM_SET_COMPILER_TARGET_BITS_FLAGS
elif test "x$COMPILE_TYPE" = xreduced; then
if test "x$OPENJDK_TARGET_OS" != xwindows; then
# Specify -m if running reduced on other Posix platforms
PLATFORM_SET_COMPILER_TARGET_BITS_FLAGS
fi
fi
fi
# Make compilation sanity check
AC_CHECK_HEADERS([stdio.h], , [
AC_MSG_NOTICE([Failed to compile stdio.h. This likely implies missing compile dependencies.])
if test "x$COMPILE_TYPE" = xreduced; then
AC_MSG_NOTICE([You are doing a reduced build. Check that you have 32-bit libraries installed.])
elif test "x$COMPILE_TYPE" = xcross; then
AC_MSG_NOTICE([You are doing a cross-compilation. Check that you have all target platform libraries installed.])
# Make compilation sanity check
AC_CHECK_HEADERS([stdio.h], , [
AC_MSG_NOTICE([Failed to compile stdio.h. This likely implies missing compile dependencies.])
if test "x$COMPILE_TYPE" = xreduced; then
AC_MSG_NOTICE([You are doing a reduced build. Check that you have 32-bit libraries installed.])
elif test "x$COMPILE_TYPE" = xcross; then
AC_MSG_NOTICE([You are doing a cross-compilation. Check that you have all target platform libraries installed.])
fi
AC_MSG_ERROR([Cannot continue.])
])
AC_CHECK_SIZEOF([int *], [1111])
if test "x$SIZEOF_INT_P" != "x$ac_cv_sizeof_int_p"; then
# Workaround autoconf bug, see http://lists.gnu.org/archive/html/autoconf/2010-07/msg00004.html
SIZEOF_INT_P="$ac_cv_sizeof_int_p"
fi
AC_MSG_ERROR([Cannot continue.])
])
AC_CHECK_SIZEOF([int *], [1111])
if test "x$SIZEOF_INT_P" != "x$ac_cv_sizeof_int_p"; then
# Workaround autoconf bug, see http://lists.gnu.org/archive/html/autoconf/2010-07/msg00004.html
SIZEOF_INT_P="$ac_cv_sizeof_int_p"
fi
if test "x$SIZEOF_INT_P" = x; then
if test "x$SIZEOF_INT_P" = x; then
# The test failed, lets stick to the assumed value.
AC_MSG_WARN([The number of bits in the target could not be determined, using $OPENJDK_TARGET_CPU_BITS.])
else
else
TESTED_TARGET_CPU_BITS=`expr 8 \* $SIZEOF_INT_P`
if test "x$TESTED_TARGET_CPU_BITS" != "x$OPENJDK_TARGET_CPU_BITS"; then
AC_MSG_ERROR([The tested number of bits in the target ($TESTED_TARGET_CPU_BITS) differs from the number of bits expected to be found in the target ($OPENJDK_TARGET_CPU_BITS)])
AC_MSG_ERROR([The tested number of bits in the target ($TESTED_TARGET_CPU_BITS) differs from the number of bits expected to be found in the target ($OPENJDK_TARGET_CPU_BITS)])
fi
fi
fi
AC_MSG_CHECKING([for target address size])
AC_MSG_RESULT([$OPENJDK_TARGET_CPU_BITS bits])
AC_MSG_CHECKING([for target address size])
AC_MSG_RESULT([$OPENJDK_TARGET_CPU_BITS bits])
])
AC_DEFUN_ONCE([PLATFORM_SETUP_OPENJDK_TARGET_ENDIANNESS],
[
###############################################################################
#
# Is the target little of big endian?
#
AC_C_BIGENDIAN([ENDIAN="big"],[ENDIAN="little"],[ENDIAN="unknown"],[ENDIAN="universal_endianness"])
###############################################################################
#
# Is the target little of big endian?
#
AC_C_BIGENDIAN([ENDIAN="big"],[ENDIAN="little"],[ENDIAN="unknown"],[ENDIAN="universal_endianness"])
if test "x$ENDIAN" = xuniversal_endianness; then
if test "x$ENDIAN" = xuniversal_endianness; then
AC_MSG_ERROR([Building with both big and little endianness is not supported])
fi
if test "x$ENDIAN" != "x$OPENJDK_TARGET_CPU_ENDIAN"; then
fi
if test "x$ENDIAN" != "x$OPENJDK_TARGET_CPU_ENDIAN"; then
AC_MSG_ERROR([The tested endian in the target ($ENDIAN) differs from the endian expected to be found in the target ($OPENJDK_TARGET_CPU_ENDIAN)])
fi
fi
])

View File

@@ -25,55 +25,54 @@
AC_DEFUN_ONCE([SRCDIRS_SETUP_TOPDIRS],
[
# Where are the sources. Any of these can be overridden
# using --with-override-corba and the likes.
LANGTOOLS_TOPDIR="$SRC_ROOT/langtools"
CORBA_TOPDIR="$SRC_ROOT/corba"
JAXP_TOPDIR="$SRC_ROOT/jaxp"
JAXWS_TOPDIR="$SRC_ROOT/jaxws"
HOTSPOT_TOPDIR="$SRC_ROOT/hotspot"
NASHORN_TOPDIR="$SRC_ROOT/nashorn"
JDK_TOPDIR="$SRC_ROOT/jdk"
AC_SUBST(LANGTOOLS_TOPDIR)
AC_SUBST(CORBA_TOPDIR)
AC_SUBST(JAXP_TOPDIR)
AC_SUBST(JAXWS_TOPDIR)
AC_SUBST(HOTSPOT_TOPDIR)
AC_SUBST(NASHORN_TOPDIR)
AC_SUBST(JDK_TOPDIR)
# Where are the sources. Any of these can be overridden
# using --with-override-corba and the likes.
LANGTOOLS_TOPDIR="$SRC_ROOT/langtools"
CORBA_TOPDIR="$SRC_ROOT/corba"
JAXP_TOPDIR="$SRC_ROOT/jaxp"
JAXWS_TOPDIR="$SRC_ROOT/jaxws"
HOTSPOT_TOPDIR="$SRC_ROOT/hotspot"
NASHORN_TOPDIR="$SRC_ROOT/nashorn"
JDK_TOPDIR="$SRC_ROOT/jdk"
AC_SUBST(LANGTOOLS_TOPDIR)
AC_SUBST(CORBA_TOPDIR)
AC_SUBST(JAXP_TOPDIR)
AC_SUBST(JAXWS_TOPDIR)
AC_SUBST(HOTSPOT_TOPDIR)
AC_SUBST(NASHORN_TOPDIR)
AC_SUBST(JDK_TOPDIR)
])
AC_DEFUN_ONCE([SRCDIRS_SETUP_ALTERNATIVE_TOPDIRS],
[
###############################################################################
#
# Pickup additional source for a component from outside of the source root
# or override source for a component.
#
AC_ARG_WITH(add-source-root, [AS_HELP_STRING([--with-add-source-root],
[for each and every source directory, look in this additional source root for
the same directory; if it exists and have files in it, include it in the build])])
AC_ARG_WITH(override-source-root, [AS_HELP_STRING([--with-override-source-root],
[for each and every source directory, look in this override source root for
the same directory; if it exists, use that directory instead and
ignore the directory in the original source root])])
###############################################################################
#
# Pickup additional source for a component from outside of the source root
# or override source for a component.
#
AC_ARG_WITH(add-source-root, [AS_HELP_STRING([--with-add-source-root],
[for each and every source directory, look in this additional source root for
the same directory; if it exists and have files in it, include it in the build])])
AC_ARG_WITH(adds-and-overrides, [AS_HELP_STRING([--with-adds-and-overrides],
[use the subdirs 'adds' and 'overrides' in the specified directory as
add-source-root and override-source-root])])
AC_ARG_WITH(override-source-root, [AS_HELP_STRING([--with-override-source-root],
[for each and every source directory, look in this override source root for
the same directory; if it exists, use that directory instead and
ignore the directory in the original source root])])
if test "x$with_adds_and_overrides" != x; then
AC_ARG_WITH(adds-and-overrides, [AS_HELP_STRING([--with-adds-and-overrides],
[use the subdirs 'adds' and 'overrides' in the specified directory as
add-source-root and override-source-root])])
if test "x$with_adds_and_overrides" != x; then
with_add_source_root="$with_adds_and_overrides/adds"
with_override_source_root="$with_adds_and_overrides/overrides"
fi
fi
if test "x$with_add_source_root" != x; then
if test "x$with_add_source_root" != x; then
if ! test -d $with_add_source_root; then
AC_MSG_ERROR([Trying to use a non-existant add-source-root $with_add_source_root])
AC_MSG_ERROR([Trying to use a non-existant add-source-root $with_add_source_root])
fi
CURDIR="$PWD"
cd "$with_add_source_root"
@@ -82,219 +81,218 @@ if test "x$with_add_source_root" != x; then
# Verify that the addon source root does not have any root makefiles.
# If it does, then it is usually an error, prevent this.
if test -f $with_add_source_root/langtools/makefiles/Makefile || \
test -f $with_add_source_root/langtools/make/Makefile; then
AC_MSG_ERROR([Your add source root seems to contain a full langtools repo! An add source root should only contain additional sources.])
test -f $with_add_source_root/langtools/make/Makefile; then
AC_MSG_ERROR([Your add source root seems to contain a full langtools repo! An add source root should only contain additional sources.])
fi
if test -f $with_add_source_root/corba/makefiles/Makefile || \
test -f $with_add_source_root/corba/make/Makefile; then
AC_MSG_ERROR([Your add source root seems to contain a full corba repo! An add source root should only contain additional sources.])
test -f $with_add_source_root/corba/make/Makefile; then
AC_MSG_ERROR([Your add source root seems to contain a full corba repo! An add source root should only contain additional sources.])
fi
if test -f $with_add_source_root/jaxp/makefiles/Makefile || \
test -f $with_add_source_root/jaxp/make/Makefile; then
AC_MSG_ERROR([Your add source root seems to contain a full jaxp repo! An add source root should only contain additional sources.])
test -f $with_add_source_root/jaxp/make/Makefile; then
AC_MSG_ERROR([Your add source root seems to contain a full jaxp repo! An add source root should only contain additional sources.])
fi
if test -f $with_add_source_root/jaxws/makefiles/Makefile || \
test -f $with_add_source_root/jaxws/make/Makefile; then
AC_MSG_ERROR([Your add source root seems to contain a full jaxws repo! An add source root should only contain additional sources.])
test -f $with_add_source_root/jaxws/make/Makefile; then
AC_MSG_ERROR([Your add source root seems to contain a full jaxws repo! An add source root should only contain additional sources.])
fi
if test -f $with_add_source_root/hotspot/makefiles/Makefile || \
test -f $with_add_source_root/hotspot/make/Makefile; then
AC_MSG_ERROR([Your add source root seems to contain a full hotspot repo! An add source root should only contain additional sources.])
test -f $with_add_source_root/hotspot/make/Makefile; then
AC_MSG_ERROR([Your add source root seems to contain a full hotspot repo! An add source root should only contain additional sources.])
fi
if test -f $with_add_source_root/nashorn/makefiles/Makefile || \
test -f $with_add_source_root/nashorn/make/Makefile; then
AC_MSG_ERROR([Your add source root seems to contain a full nashorn repo! An add source root should only contain additional sources.])
test -f $with_add_source_root/nashorn/make/Makefile; then
AC_MSG_ERROR([Your add source root seems to contain a full nashorn repo! An add source root should only contain additional sources.])
fi
if test -f $with_add_source_root/jdk/makefiles/Makefile || \
test -f $with_add_source_root/jdk/make/Makefile; then
AC_MSG_ERROR([Your add source root seems to contain a full JDK repo! An add source root should only contain additional sources.])
test -f $with_add_source_root/jdk/make/Makefile; then
AC_MSG_ERROR([Your add source root seems to contain a full JDK repo! An add source root should only contain additional sources.])
fi
fi
AC_SUBST(ADD_SRC_ROOT)
fi
AC_SUBST(ADD_SRC_ROOT)
if test "x$with_override_source_root" != x; then
if test "x$with_override_source_root" != x; then
if ! test -d $with_override_source_root; then
AC_MSG_ERROR([Trying to use a non-existant override-source-root $with_override_source_root])
AC_MSG_ERROR([Trying to use a non-existant override-source-root $with_override_source_root])
fi
CURDIR="$PWD"
cd "$with_override_source_root"
OVERRIDE_SRC_ROOT="`pwd`"
cd "$CURDIR"
if test -f $with_override_source_root/langtools/makefiles/Makefile || \
test -f $with_override_source_root/langtools/make/Makefile; then
AC_MSG_ERROR([Your override source root seems to contain a full langtools repo! An override source root should only contain sources that override.])
test -f $with_override_source_root/langtools/make/Makefile; then
AC_MSG_ERROR([Your override source root seems to contain a full langtools repo! An override source root should only contain sources that override.])
fi
if test -f $with_override_source_root/corba/makefiles/Makefile || \
test -f $with_override_source_root/corba/make/Makefile; then
AC_MSG_ERROR([Your override source root seems to contain a full corba repo! An override source root should only contain sources that override.])
test -f $with_override_source_root/corba/make/Makefile; then
AC_MSG_ERROR([Your override source root seems to contain a full corba repo! An override source root should only contain sources that override.])
fi
if test -f $with_override_source_root/jaxp/makefiles/Makefile || \
test -f $with_override_source_root/jaxp/make/Makefile; then
AC_MSG_ERROR([Your override source root seems to contain a full jaxp repo! An override source root should only contain sources that override.])
test -f $with_override_source_root/jaxp/make/Makefile; then
AC_MSG_ERROR([Your override source root seems to contain a full jaxp repo! An override source root should only contain sources that override.])
fi
if test -f $with_override_source_root/jaxws/makefiles/Makefile || \
test -f $with_override_source_root/jaxws/make/Makefile; then
AC_MSG_ERROR([Your override source root seems to contain a full jaxws repo! An override source root should only contain sources that override.])
test -f $with_override_source_root/jaxws/make/Makefile; then
AC_MSG_ERROR([Your override source root seems to contain a full jaxws repo! An override source root should only contain sources that override.])
fi
if test -f $with_override_source_root/hotspot/makefiles/Makefile || \
test -f $with_override_source_root/hotspot/make/Makefile; then
AC_MSG_ERROR([Your override source root seems to contain a full hotspot repo! An override source root should only contain sources that override.])
test -f $with_override_source_root/hotspot/make/Makefile; then
AC_MSG_ERROR([Your override source root seems to contain a full hotspot repo! An override source root should only contain sources that override.])
fi
if test -f $with_override_source_root/nashorn/makefiles/Makefile || \
test -f $with_override_source_root/nashorn/make/Makefile; then
AC_MSG_ERROR([Your override source root seems to contain a full nashorn repo! An override source root should only contain sources that override.])
test -f $with_override_source_root/nashorn/make/Makefile; then
AC_MSG_ERROR([Your override source root seems to contain a full nashorn repo! An override source root should only contain sources that override.])
fi
if test -f $with_override_source_root/jdk/makefiles/Makefile || \
test -f $with_override_source_root/jdk/make/Makefile; then
AC_MSG_ERROR([Your override source root seems to contain a full JDK repo! An override source root should only contain sources that override.])
test -f $with_override_source_root/jdk/make/Makefile; then
AC_MSG_ERROR([Your override source root seems to contain a full JDK repo! An override source root should only contain sources that override.])
fi
fi
AC_SUBST(OVERRIDE_SRC_ROOT)
fi
AC_SUBST(OVERRIDE_SRC_ROOT)
###############################################################################
#
# Override a repo completely, this is used for example when you have 3 small
# development sandboxes of the langtools sources and want to avoid having 3 full
# OpenJDK sources checked out on disk.
#
# Assuming that the 3 langtools sandboxes are located here:
# /home/fredrik/sandbox1/langtools
# /home/fredrik/sandbox2/langtools
# /home/fredrik/sandbox3/langtools
#
# From the source root you create build subdirs manually:
# mkdir -p build1 build2 build3
# in each build directory run:
# (cd build1 && ../configure --with-override-langtools=/home/fredrik/sandbox1 && make)
# (cd build2 && ../configure --with-override-langtools=/home/fredrik/sandbox2 && make)
# (cd build3 && ../configure --with-override-langtools=/home/fredrik/sandbox3 && make)
#
###############################################################################
#
# Override a repo completely, this is used for example when you have 3 small
# development sandboxes of the langtools sources and want to avoid having 3 full
# OpenJDK sources checked out on disk.
#
# Assuming that the 3 langtools sandboxes are located here:
# /home/fredrik/sandbox1/langtools
# /home/fredrik/sandbox2/langtools
# /home/fredrik/sandbox3/langtools
#
# From the source root you create build subdirs manually:
# mkdir -p build1 build2 build3
# in each build directory run:
# (cd build1 && ../configure --with-override-langtools=/home/fredrik/sandbox1 && make)
# (cd build2 && ../configure --with-override-langtools=/home/fredrik/sandbox2 && make)
# (cd build3 && ../configure --with-override-langtools=/home/fredrik/sandbox3 && make)
#
AC_ARG_WITH(override-langtools, [AS_HELP_STRING([--with-override-langtools],
[use this langtools dir for the build])])
AC_ARG_WITH(override-langtools, [AS_HELP_STRING([--with-override-langtools],
[use this langtools dir for the build])])
AC_ARG_WITH(override-corba, [AS_HELP_STRING([--with-override-corba],
[use this corba dir for the build])])
AC_ARG_WITH(override-corba, [AS_HELP_STRING([--with-override-corba],
[use this corba dir for the build])])
AC_ARG_WITH(override-jaxp, [AS_HELP_STRING([--with-override-jaxp],
[use this jaxp dir for the build])])
AC_ARG_WITH(override-jaxp, [AS_HELP_STRING([--with-override-jaxp],
[use this jaxp dir for the build])])
AC_ARG_WITH(override-jaxws, [AS_HELP_STRING([--with-override-jaxws],
[use this jaxws dir for the build])])
AC_ARG_WITH(override-jaxws, [AS_HELP_STRING([--with-override-jaxws],
[use this jaxws dir for the build])])
AC_ARG_WITH(override-hotspot, [AS_HELP_STRING([--with-override-hotspot],
[use this hotspot dir for the build])])
AC_ARG_WITH(override-hotspot, [AS_HELP_STRING([--with-override-hotspot],
[use this hotspot dir for the build])])
AC_ARG_WITH(override-nashorn, [AS_HELP_STRING([--with-override-nashorn],
[use this nashorn dir for the build])])
AC_ARG_WITH(override-nashorn, [AS_HELP_STRING([--with-override-nashorn],
[use this nashorn dir for the build])])
AC_ARG_WITH(override-jdk, [AS_HELP_STRING([--with-override-jdk],
[use this jdk dir for the build])])
AC_ARG_WITH(override-jdk, [AS_HELP_STRING([--with-override-jdk],
[use this jdk dir for the build])])
if test "x$with_override_langtools" != x; then
if test "x$with_override_langtools" != x; then
CURDIR="$PWD"
cd "$with_override_langtools"
LANGTOOLS_TOPDIR="`pwd`"
cd "$CURDIR"
if ! test -f $LANGTOOLS_TOPDIR/makefiles/Makefile; then
AC_MSG_ERROR([You have to override langtools with a full langtools repo!])
AC_MSG_ERROR([You have to override langtools with a full langtools repo!])
fi
AC_MSG_CHECKING([if langtools should be overridden])
AC_MSG_RESULT([yes with $LANGTOOLS_TOPDIR])
fi
if test "x$with_override_corba" != x; then
fi
if test "x$with_override_corba" != x; then
CURDIR="$PWD"
cd "$with_override_corba"
CORBA_TOPDIR="`pwd`"
cd "$CURDIR"
if ! test -f $CORBA_TOPDIR/makefiles/Makefile; then
AC_MSG_ERROR([You have to override corba with a full corba repo!])
AC_MSG_ERROR([You have to override corba with a full corba repo!])
fi
AC_MSG_CHECKING([if corba should be overridden])
AC_MSG_RESULT([yes with $CORBA_TOPDIR])
fi
if test "x$with_override_jaxp" != x; then
fi
if test "x$with_override_jaxp" != x; then
CURDIR="$PWD"
cd "$with_override_jaxp"
JAXP_TOPDIR="`pwd`"
cd "$CURDIR"
if ! test -f $JAXP_TOPDIR/makefiles/Makefile; then
AC_MSG_ERROR([You have to override jaxp with a full jaxp repo!])
AC_MSG_ERROR([You have to override jaxp with a full jaxp repo!])
fi
AC_MSG_CHECKING([if jaxp should be overridden])
AC_MSG_RESULT([yes with $JAXP_TOPDIR])
fi
if test "x$with_override_jaxws" != x; then
fi
if test "x$with_override_jaxws" != x; then
CURDIR="$PWD"
cd "$with_override_jaxws"
JAXWS_TOPDIR="`pwd`"
cd "$CURDIR"
if ! test -f $JAXWS_TOPDIR/makefiles/Makefile; then
AC_MSG_ERROR([You have to override jaxws with a full jaxws repo!])
AC_MSG_ERROR([You have to override jaxws with a full jaxws repo!])
fi
AC_MSG_CHECKING([if jaxws should be overridden])
AC_MSG_RESULT([yes with $JAXWS_TOPDIR])
fi
if test "x$with_override_hotspot" != x; then
fi
if test "x$with_override_hotspot" != x; then
CURDIR="$PWD"
cd "$with_override_hotspot"
HOTSPOT_TOPDIR="`pwd`"
cd "$CURDIR"
if ! test -f $HOTSPOT_TOPDIR/make/Makefile && \
! test -f $HOTSPOT_TOPDIR/makefiles/Makefile; then
AC_MSG_ERROR([You have to override hotspot with a full hotspot repo!])
! test -f $HOTSPOT_TOPDIR/makefiles/Makefile; then
AC_MSG_ERROR([You have to override hotspot with a full hotspot repo!])
fi
AC_MSG_CHECKING([if hotspot should be overridden])
AC_MSG_RESULT([yes with $HOTSPOT_TOPDIR])
fi
if test "x$with_override_nashorn" != x; then
fi
if test "x$with_override_nashorn" != x; then
CURDIR="$PWD"
cd "$with_override_nashorn"
NASHORN_TOPDIR="`pwd`"
cd "$CURDIR"
if ! test -f $NASHORN_TOPDIR/makefiles/Makefile; then
AC_MSG_ERROR([You have to override nashorn with a full nashorn repo!])
AC_MSG_ERROR([You have to override nashorn with a full nashorn repo!])
fi
AC_MSG_CHECKING([if nashorn should be overridden])
AC_MSG_RESULT([yes with $NASHORN_TOPDIR])
fi
if test "x$with_override_jdk" != x; then
fi
if test "x$with_override_jdk" != x; then
CURDIR="$PWD"
cd "$with_override_jdk"
JDK_TOPDIR="`pwd`"
cd "$CURDIR"
if ! test -f $JDK_TOPDIR/makefiles/Makefile; then
AC_MSG_ERROR([You have to override JDK with a full JDK repo!])
AC_MSG_ERROR([You have to override JDK with a full JDK repo!])
fi
AC_MSG_CHECKING([if JDK should be overridden])
AC_MSG_RESULT([yes with $JDK_TOPDIR])
fi
fi
])
AC_DEFUN_ONCE([SRCDIRS_SETUP_OUTPUT_DIRS],
[
BUILD_OUTPUT="$OUTPUT_ROOT"
AC_SUBST(BUILD_OUTPUT)
BUILD_OUTPUT="$OUTPUT_ROOT"
AC_SUBST(BUILD_OUTPUT)
HOTSPOT_DIST="$OUTPUT_ROOT/hotspot/dist"
BUILD_HOTSPOT=true
AC_SUBST(HOTSPOT_DIST)
AC_SUBST(BUILD_HOTSPOT)
AC_ARG_WITH(import-hotspot, [AS_HELP_STRING([--with-import-hotspot],
[import hotspot binaries from this jdk image or hotspot build dist dir instead of building from source])])
if test "x$with_import_hotspot" != x; then
HOTSPOT_DIST="$OUTPUT_ROOT/hotspot/dist"
BUILD_HOTSPOT=true
AC_SUBST(HOTSPOT_DIST)
AC_SUBST(BUILD_HOTSPOT)
AC_ARG_WITH(import-hotspot, [AS_HELP_STRING([--with-import-hotspot],
[import hotspot binaries from this jdk image or hotspot build dist dir instead of building from source])])
if test "x$with_import_hotspot" != x; then
CURDIR="$PWD"
cd "$with_import_hotspot"
HOTSPOT_DIST="`pwd`"
cd "$CURDIR"
if ! (test -d $HOTSPOT_DIST/lib && test -d $HOTSPOT_DIST/jre/lib); then
AC_MSG_ERROR([You have to import hotspot from a full jdk image or hotspot build dist dir!])
AC_MSG_ERROR([You have to import hotspot from a full jdk image or hotspot build dist dir!])
fi
AC_MSG_CHECKING([if hotspot should be imported])
AC_MSG_RESULT([yes from $HOTSPOT_DIST])
BUILD_HOTSPOT=false
fi
fi
JDK_OUTPUTDIR="$OUTPUT_ROOT/jdk"
JDK_OUTPUTDIR="$OUTPUT_ROOT/jdk"
])

View File

@@ -30,8 +30,8 @@
# (called @OPENJDK_BUILD_AUTOCONF_NAME@ by autoconf)
# using 'configure @CONFIGURE_COMMAND_LINE@'
# When calling macros, the spaces between arguments are
# often semantically important! Sometimes we need to subst
# When calling macros, the spaces between arguments are
# often semantically important! Sometimes we need to subst
# spaces and commas, therefore we need the following macros.
X:=
SPACE:=$(X) $(X)
@@ -56,17 +56,17 @@ MAKE:=@MAKE@
# Pass along the verbosity and log level settings.
ifeq (,$(findstring VERBOSE=,$(MAKE)))
MAKE:=$(MAKE) $(VERBOSE) VERBOSE="$(VERBOSE)" LOG_LEVEL="$(LOG_LEVEL)"
MAKE:=$(MAKE) $(VERBOSE) VERBOSE="$(VERBOSE)" LOG_LEVEL="$(LOG_LEVEL)"
endif
# No implicit variables or rules!
ifeq (,$(findstring -R,$(MAKE)))
MAKE:=$(MAKE) -R
MAKE:=$(MAKE) -R
endif
# Specify where the common include directory for makefiles is.
ifeq (,$(findstring -I @SRC_ROOT@/common/makefiles,$(MAKE)))
MAKE:=$(MAKE) -I @SRC_ROOT@/common/makefiles
MAKE:=$(MAKE) -I @SRC_ROOT@/common/makefiles
endif
# The "human readable" name of this configuration
@@ -92,6 +92,7 @@ OPENJDK_TARGET_CPU_LEGACY_LIB:=@OPENJDK_TARGET_CPU_LEGACY_LIB@
OPENJDK_TARGET_CPU_OSARCH:=@OPENJDK_TARGET_CPU_OSARCH@
OPENJDK_TARGET_CPU_JLI_CFLAGS:=@OPENJDK_TARGET_CPU_JLI_CFLAGS@
OPENJDK_TARGET_OS_API_DIR:=@OPENJDK_TARGET_OS_API_DIR@
OPENJDK_TARGET_OS_EXPORT_DIR:=@OPENJDK_TARGET_OS_EXPORT_DIR@
# We are building on this build system.
# When not cross-compiling, it is the same as the target.
@@ -161,6 +162,7 @@ JDK_RC_PLATFORM_NAME:=@JDK_RC_PLATFORM_NAME@
COMPANY_NAME:=@COMPANY_NAME@
MACOSX_BUNDLE_NAME_BASE=@MACOSX_BUNDLE_NAME_BASE@
MACOSX_BUNDLE_ID_BASE=@MACOSX_BUNDLE_ID_BASE@
USER_RELEASE_SUFFIX=@USER_RELEASE_SUFFIX@
# Different version strings generated from the above information.
JDK_VERSION:=@JDK_VERSION@
@@ -173,8 +175,8 @@ ifeq ($(MILESTONE),)
else
RELEASE=$(JDK_VERSION)-$(MILESTONE)$(BUILD_VARIANT_RELEASE)
endif
ifeq ($(JDK_BUILD_NUMBER),b00)
USER_RELEASE_SUFFIX=@USER_RELEASE_SUFFIX@
ifneq ($(USER_RELEASE_SUFFIX), )
FULL_VERSION=$(RELEASE)-$(USER_RELEASE_SUFFIX)-$(JDK_BUILD_NUMBER)
else
FULL_VERSION=$(RELEASE)-$(JDK_BUILD_NUMBER)
@@ -267,13 +269,9 @@ SJAVAC_SERVER_DIR:=@SJAVAC_SERVER_DIR@
# Number of parallel jobs to use for compilation
JOBS?=@JOBS@
# The OpenJDK makefiles should be changed to using the standard
# configure output ..._CFLAGS and ..._LIBS. In the meantime we
# extract the information here.
FREETYPE2_LIB_PATH:=@FREETYPE2_LIB_PATH@
FREETYPE2_LIBS:=@FREETYPE2_LIBS@
FREETYPE2_CFLAGS:=@FREETYPE2_CFLAGS@
USING_SYSTEM_FT_LIB=@USING_SYSTEM_FT_LIB@
FREETYPE_LIBS:=@FREETYPE_LIBS@
FREETYPE_CFLAGS:=@FREETYPE_CFLAGS@
FREETYPE_BUNDLE_LIB_PATH=@FREETYPE_BUNDLE_LIB_PATH@
CUPS_CFLAGS:=@CUPS_CFLAGS@
ALSA_LIBS:=@ALSA_LIBS@
ALSA_CFLAGS:=@ALSA_CFLAGS@
@@ -286,7 +284,7 @@ CACERTS_FILE=@CACERTS_FILE@
# Enable unlimited crypto policy
UNLIMITED_CRYPTO=@UNLIMITED_CRYPTO@
# Necessary additional compiler flags to compile X11
# Necessary additional compiler flags to compile X11
X_CFLAGS:=@X_CFLAGS@
X_LIBS:=@X_LIBS@
OPENWIN_HOME:=@OPENWIN_HOME@
@@ -387,7 +385,7 @@ LIPO:=@LIPO@
# Command to create a shared library
SHARED_LIBRARY_FLAGS:=@SHARED_LIBRARY_FLAGS@
# Options to linker to specify a mapfile.
# Options to linker to specify a mapfile.
# (Note absence of := assignment, because we do not want to evaluate the macro body here)
SET_SHARED_LIBRARY_MAPFILE=@SET_SHARED_LIBRARY_MAPFILE@
@@ -460,7 +458,7 @@ NEW_JAVADOC = $(BOOTSTRAP_JAVAC_ARGS) com.sun.tools.javadoc.Main
# Guarding this against resetting value. Legacy make files include spec multiple
# times.
ifndef RC_FLAGS
RC_FLAGS:=@RC_FLAGS@
RC_FLAGS:=@RC_FLAGS@
endif
# A specific java binary with specific options can be used to run
@@ -484,6 +482,7 @@ CUT:=@CUT@
DATE:=@DATE@
DIFF:=@DIFF@
DIRNAME:=@DIRNAME@
DSYMUTIL:=@DSYMUTIL@
FIND:=@FIND@
FIND_DELETE:=@FIND_DELETE@
ECHO:=@ECHO@
@@ -540,9 +539,9 @@ BUILD_LOG_PREVIOUS:=@BUILD_LOG_PREVIOUS@
# we have solved how to prevent the log wrapper to wait
# for the background sjavac server process.
ifeq (@ENABLE_SJAVAC@X@OPENJDK_BUILD_OS_API@,yesXwinapi)
BUILD_LOG_WRAPPER:=
BUILD_LOG_WRAPPER:=
else
BUILD_LOG_WRAPPER:=@BUILD_LOG_WRAPPER@
BUILD_LOG_WRAPPER:=@BUILD_LOG_WRAPPER@
endif
# Build setup
@@ -562,12 +561,12 @@ MSVCR_DLL:=@MSVCR_DLL@
# of the next macro to get rid of superfluous files.
ADD_SRCS=$1
ifneq (,$(ADD_SRC_ROOT))
# Append wildcard rule to pickup any matching source roots found below ADD_SRC_ROOT
ADD_SRCS+=$(wildcard $(subst $(SRC_ROOT),$(ADD_SRC_ROOT),$1))
# Append wildcard rule to pickup any matching source roots found below ADD_SRC_ROOT
ADD_SRCS+=$(wildcard $(subst $(SRC_ROOT),$(ADD_SRC_ROOT),$1))
endif
ifneq (,$(OVERRIDE_SRC_ROOT))
# Append wildcard rule to pickup any matching source roots found below OVERRIDE_SRC_ROOT
ADD_SRCS+=$(wildcard $(subst $(SRC_ROOT),$(OVERRIDE_SRC_ROOT),$1))
# Append wildcard rule to pickup any matching source roots found below OVERRIDE_SRC_ROOT
ADD_SRCS+=$(wildcard $(subst $(SRC_ROOT),$(OVERRIDE_SRC_ROOT),$1))
endif
# OVR_SRCS creates a filter expression to filter out sources in
@@ -577,9 +576,9 @@ endif
# We cannot do the scan in configure, since that would force us to rerun configure when
# we add overridden sources.
ifneq (,$(OVERRIDE_SRC_ROOT))
OVR_SRCS:=$(addsuffix %,$(subst $(OVERRIDE_SRC_ROOT),$(SRC_ROOT),$(sort $(dir $(shell $(FIND) $(OVERRIDE_SRC_ROOT) -type f)))))
OVR_SRCS:=$(addsuffix %,$(subst $(OVERRIDE_SRC_ROOT),$(SRC_ROOT),$(sort $(dir $(shell $(FIND) $(OVERRIDE_SRC_ROOT) -type f)))))
else
OVR_SRCS:=
OVR_SRCS:=
endif
####################################################
@@ -588,7 +587,7 @@ endif
#
# Common prefix for all installed files. Defaults to /usr/local,
# but /opt/myjdk is another common version.
# but /opt/myjdk is another common version.
INSTALL_PREFIX=@prefix@
# Directories containing architecture-dependent files should be relative to exec_prefix
@@ -618,7 +617,7 @@ INSTALL_INCLUDEDIR=@libdir@
# Executables that other programs run.
INSTALL_LIBEXECDIR=@libexecdir@
# Locale-dependent but architecture-independent data, such as message catalogs.
# Locale-dependent but architecture-independent data, such as message catalogs.
INSTALL_LOCALEDIR=@localedir@
# Modifiable single-machine data

File diff suppressed because it is too large Load Diff

View File

@@ -75,7 +75,7 @@ AC_DEFUN([TOOLCHAIN_FIND_VISUAL_STUDIO_BAT_FILE],
VCVARSFILE="vc/bin/vcvars32.bat"
else
VCVARSFILE="vc/bin/amd64/vcvars64.bat"
fi
fi
VS_ENV_CMD=""
VS_ENV_ARGS=""
@@ -89,7 +89,7 @@ AC_DEFUN([TOOLCHAIN_FIND_VISUAL_STUDIO_BAT_FILE],
AC_MSG_NOTICE([The path given by --with-tools-dir does not contain a valid Visual Studio installation])
AC_MSG_NOTICE([Please point to the VC/bin directory within the Visual Studio installation])
AC_MSG_ERROR([Cannot locate a valid Visual Studio installation])
fi
fi
if test "x$VS100COMNTOOLS" != x; then
TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT([$VS100COMNTOOLS/../..], [VS100COMNTOOLS variable])
@@ -118,7 +118,7 @@ AC_DEFUN([TOOLCHAIN_FIND_VISUAL_STUDIO_BAT_FILE],
# the set env variables into the spec file.
AC_DEFUN([TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV],
[
# Store path to cygwin link.exe to help excluding it when searching for
# Store path to cygwin link.exe to help excluding it when searching for
# VS linker. This must be done before changing the PATH when looking for VS.
AC_PATH_PROG(CYGWIN_LINK, link)
if test "x$CYGWIN_LINK" != x; then
@@ -187,7 +187,7 @@ AC_DEFUN([TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV],
AC_MSG_ERROR([Cannot continue])
fi
# Now set all paths and other env variables. This will allow the rest of
# Now set all paths and other env variables. This will allow the rest of
# the configure script to find and run the compiler in the proper way.
AC_MSG_NOTICE([Setting extracted environment variables])
. $OUTPUT_ROOT/localdevenv.sh
@@ -198,7 +198,7 @@ AC_DEFUN([TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV],
# At this point, we should have corrent variables in the environment, or we can't continue.
AC_MSG_CHECKING([for Visual Studio variables])
if test "x$VCINSTALLDIR" != x || test "x$WindowsSDKDir" != x || test "x$WINDOWSSDKDIR" != x; then
if test "x$INCLUDE" = x || test "x$LIB" = x; then
AC_MSG_RESULT([present but broken])
@@ -228,52 +228,113 @@ AC_DEFUN([TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV],
AC_MSG_NOTICE([or run "bash.exe -l" from a VS command prompt and then run configure from there.])
AC_MSG_ERROR([Cannot continue])
fi
AC_MSG_CHECKING([for msvcr100.dll])
])
AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_MSVCR_DLL],
[
POSSIBLE_MSVCR_DLL="$1"
METHOD="$2"
if test -e "$POSSIBLE_MSVCR_DLL"; then
AC_MSG_NOTICE([Found msvcr100.dll at $POSSIBLE_MSVCR_DLL using $METHOD])
# Need to check if the found msvcr is correct architecture
AC_MSG_CHECKING([found msvcr100.dll architecture])
MSVCR_DLL_FILETYPE=`$FILE -b "$POSSIBLE_MSVCR_DLL"`
if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
CORRECT_MSVCR_ARCH=386
else
CORRECT_MSVCR_ARCH=x86-64
fi
if $ECHO "$MSVCR_DLL_FILETYPE" | $GREP $CORRECT_MSVCR_ARCH 2>&1 > /dev/null; then
AC_MSG_RESULT([ok])
MSVCR_DLL="$POSSIBLE_MSVCR_DLL"
AC_MSG_CHECKING([for msvcr100.dll])
AC_MSG_RESULT([$MSVCR_DLL])
else
AC_MSG_RESULT([incorrect, ignoring])
AC_MSG_NOTICE([The file type of the located msvcr100.dll is $MSVCR_DLL_FILETYPE])
fi
fi
])
AC_DEFUN([TOOLCHAIN_SETUP_MSVCR_DLL],
[
AC_ARG_WITH(msvcr-dll, [AS_HELP_STRING([--with-msvcr-dll],
[copy this msvcr100.dll into the built JDK (Windows only) @<:@probed@:>@])])
if test "x$with_msvcr_dll" != x; then
MSVCR_DLL="$with_msvcr_dll"
else
if test "x$VCINSTALLDIR" != x; then
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
MSVCR_DLL=`find "$VCINSTALLDIR" -name msvcr100.dll | grep x64 | head --lines 1`
else
MSVCR_DLL=`find "$VCINSTALLDIR" -name msvcr100.dll | grep x86 | grep -v ia64 | grep -v x64 | head --lines 1`
if test "x$MSVCR_DLL" = x; then
MSVCR_DLL=`find "$VCINSTALLDIR" -name msvcr100.dll | head --lines 1`
fi
fi
if test "x$MSVCR_DLL" != x; then
AC_MSG_NOTICE([msvcr100.dll found in VCINSTALLDIR: $VCINSTALLDIR])
else
AC_MSG_NOTICE([Warning: msvcr100.dll not found in VCINSTALLDIR: $VCINSTALLDIR])
fi
fi
# Try some fallback alternatives
# If given explicitely by user, do not probe. If not present, fail directly.
TOOLCHAIN_CHECK_POSSIBLE_MSVCR_DLL([$with_msvcr_dll], [--with-msvcr-dll])
if test "x$MSVCR_DLL" = x; then
# If visual studio express is installed, there is usually one with the debugger
if test "x$VS100COMNTOOLS" != x; then
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
MSVCR_DLL=`find "$VS100COMNTOOLS/.." -name msvcr100.dll | grep -i x64 | head --lines 1`
AC_MSG_NOTICE([msvcr100.dll found in $VS100COMNTOOLS..: $VS100COMNTOOLS..])
fi
fi
fi
if test "x$MSVCR_DLL" = x; then
if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
# Fallback for 32bit builds, look in the windows directory.
if test -f "$SYSTEMROOT/system32/msvcr100.dll"; then
AC_MSG_NOTICE([msvcr100.dll found in $SYSTEMROOT/system32])
MSVCR_DLL="$SYSTEMROOT/system32/msvcr100.dll"
fi
fi
AC_MSG_ERROR([Could not find a proper msvcr100.dll as specified by --with-msvcr-dll])
fi
fi
if test "x$MSVCR_DLL" = x; then
AC_MSG_RESULT([no])
AC_MSG_ERROR([Could not find msvcr100.dll !])
# Probe: Using well-known location from Visual Studio 10.0
if test "x$VCINSTALLDIR" != x; then
CYGWIN_VC_INSTALL_DIR="$VCINSTALLDIR"
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(CYGWIN_VC_INSTALL_DIR)
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
POSSIBLE_MSVCR_DLL="$CYGWIN_VC_INSTALL_DIR/redist/x64/Microsoft.VC100.CRT/msvcr100.dll"
else
POSSIBLE_MSVCR_DLL="$CYGWIN_VC_INSTALL_DIR/redist/x86/Microsoft.VC100.CRT/msvcr100.dll"
fi
TOOLCHAIN_CHECK_POSSIBLE_MSVCR_DLL([$POSSIBLE_MSVCR_DLL], [well-known location in VCINSTALLDIR])
fi
fi
AC_MSG_RESULT([$MSVCR_DLL])
if test "x$MSVCR_DLL" = x; then
# Probe: Check in the Boot JDK directory.
POSSIBLE_MSVCR_DLL="$BOOT_JDK/bin/msvcr100.dll"
TOOLCHAIN_CHECK_POSSIBLE_MSVCR_DLL([$POSSIBLE_MSVCR_DLL], [well-known location in Boot JDK])
fi
if test "x$MSVCR_DLL" = x; then
# Probe: Look in the Windows system32 directory
CYGWIN_SYSTEMROOT="$SYSTEMROOT"
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(CYGWIN_SYSTEMROOT)
POSSIBLE_MSVCR_DLL="$CYGWIN_SYSTEMROOT/system32/msvcr100.dll"
TOOLCHAIN_CHECK_POSSIBLE_MSVCR_DLL([$POSSIBLE_MSVCR_DLL], [well-known location in SYSTEMROOT])
fi
if test "x$MSVCR_DLL" = x; then
# Probe: If Visual Studio Express is installed, there is usually one with the debugger
if test "x$VS100COMNTOOLS" != x; then
CYGWIN_VS_TOOLS_DIR="$VS100COMNTOOLS/.."
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(CYGWIN_VS_TOOLS_DIR)
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
POSSIBLE_MSVCR_DLL=`$FIND "$CYGWIN_VS_TOOLS_DIR" -name msvcr100.dll | $GREP -i /x64/ | $HEAD --lines 1`
else
POSSIBLE_MSVCR_DLL=`$FIND "$CYGWIN_VS_TOOLS_DIR" -name msvcr100.dll | $GREP -i /x86/ | $HEAD --lines 1`
fi
TOOLCHAIN_CHECK_POSSIBLE_MSVCR_DLL([$POSSIBLE_MSVCR_DLL], [search of VS100COMNTOOLS])
fi
fi
if test "x$MSVCR_DLL" = x; then
# Probe: Search wildly in the VCINSTALLDIR. We've probably lost by now.
# (This was the original behaviour; kept since it might turn up something)
if test "x$CYGWIN_VC_INSTALL_DIR" != x; then
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
POSSIBLE_MSVCR_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name msvcr100.dll | $GREP x64 | $HEAD --lines 1`
else
POSSIBLE_MSVCR_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name msvcr100.dll | $GREP x86 | $GREP -v ia64 | $GREP -v x64 | $HEAD --lines 1`
if test "x$POSSIBLE_MSVCR_DLL" = x; then
# We're grasping at straws now...
POSSIBLE_MSVCR_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name msvcr100.dll | $HEAD --lines 1`
fi
fi
TOOLCHAIN_CHECK_POSSIBLE_MSVCR_DLL([$POSSIBLE_MSVCR_DLL], [search of VCINSTALLDIR])
fi
fi
if test "x$MSVCR_DLL" = x; then
AC_MSG_CHECKING([for msvcr100.dll])
AC_MSG_RESULT([no])
AC_MSG_ERROR([Could not find msvcr100.dll. Please specify using --with-msvcr-dll.])
fi
BASIC_FIXUP_PATH(MSVCR_DLL)
])

View File

@@ -76,13 +76,13 @@ diff_text() {
TMP=1
if [[ "$THIS_FILE" = *"META-INF/MANIFEST.MF" ]]; then
TMP=$(LANG=C $DIFF $OTHER_FILE $THIS_FILE | \
TMP=$(LC_ALL=C $DIFF $OTHER_FILE $THIS_FILE | \
$GREP '^[<>]' | \
$SED -e '/[<>] Ant-Version: Apache Ant .*/d' \
-e '/[<>] Created-By: .* (Oracle Corporation).*/d')
fi
if test "x$SUFFIX" = "xjava"; then
TMP=$(LANG=C $DIFF $OTHER_FILE $THIS_FILE | \
TMP=$(LC_ALL=C $DIFF $OTHER_FILE $THIS_FILE | \
$GREP '^[<>]' | \
$SED -e '/[<>] \* from.*\.idl/d' \
-e '/[<>] \*.*[0-9]\{4\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}-b[0-9]\{2\}.*/d' \
@@ -121,8 +121,8 @@ diff_text() {
# | $SED -e '/^#/d' -e '/^$/d' \
# -e :a -e '/\\$/N; s/\\\n//; ta' \
# -e 's/^[ \t]*//;s/[ \t]*$//' \
# -e 's/\\=/=/' | LANG=C $SORT > $OTHER_FILE.cleaned
TMP=$(LANG=C $DIFF $OTHER_FILE.cleaned $THIS_FILE)
# -e 's/\\=/=/' | LC_ALL=C $SORT > $OTHER_FILE.cleaned
TMP=$(LC_ALL=C $DIFF $OTHER_FILE.cleaned $THIS_FILE)
fi
if test -n "$TMP"; then
echo Files $OTHER_FILE and $THIS_FILE differ
@@ -410,11 +410,11 @@ compare_zip_file() {
CONTENTS_DIFF_FILE=$WORK_DIR/$ZIP_FILE.diff
# On solaris, there is no -q option.
if [ "$OPENJDK_TARGET_OS" = "solaris" ]; then
LANG=C $DIFF -r $OTHER_UNZIPDIR $THIS_UNZIPDIR \
LC_ALL=C $DIFF -r $OTHER_UNZIPDIR $THIS_UNZIPDIR \
| $GREP -v -e "^<" -e "^>" -e "^Common subdirectories:" \
> $CONTENTS_DIFF_FILE
else
LANG=C $DIFF -rq $OTHER_UNZIPDIR $THIS_UNZIPDIR > $CONTENTS_DIFF_FILE
LC_ALL=C $DIFF -rq $OTHER_UNZIPDIR $THIS_UNZIPDIR > $CONTENTS_DIFF_FILE
fi
ONLY_OTHER=$($GREP "^Only in $OTHER_UNZIPDIR" $CONTENTS_DIFF_FILE)
@@ -459,11 +459,11 @@ compare_zip_file() {
if [ -n "$SHOW_DIFFS" ]; then
for i in $(cat $WORK_DIR/$ZIP_FILE.difflist) ; do
if [ -f "${OTHER_UNZIPDIR}/$i.javap" ]; then
LANG=C $DIFF ${OTHER_UNZIPDIR}/$i.javap ${THIS_UNZIPDIR}/$i.javap
LC_ALL=C $DIFF ${OTHER_UNZIPDIR}/$i.javap ${THIS_UNZIPDIR}/$i.javap
elif [ -f "${OTHER_UNZIPDIR}/$i.cleaned" ]; then
LANG=C $DIFF ${OTHER_UNZIPDIR}/$i.cleaned ${THIS_UNZIPDIR}/$i
LC_ALL=C $DIFF ${OTHER_UNZIPDIR}/$i.cleaned ${THIS_UNZIPDIR}/$i
else
LANG=C $DIFF ${OTHER_UNZIPDIR}/$i ${THIS_UNZIPDIR}/$i
LC_ALL=C $DIFF ${OTHER_UNZIPDIR}/$i ${THIS_UNZIPDIR}/$i
fi
done
fi
@@ -703,7 +703,7 @@ compare_bin_file() {
$NM -a $ORIG_THIS_FILE 2> /dev/null | $GREP -v $NAME | $AWK '{print $2, $3, $4, $5}' | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.this
fi
LANG=C $DIFF $WORK_FILE_BASE.symbols.other $WORK_FILE_BASE.symbols.this > $WORK_FILE_BASE.symbols.diff
LC_ALL=C $DIFF $WORK_FILE_BASE.symbols.other $WORK_FILE_BASE.symbols.this > $WORK_FILE_BASE.symbols.diff
if [ -s $WORK_FILE_BASE.symbols.diff ]; then
SYM_MSG=" diff "
if [[ "$ACCEPTED_SYM_DIFF" != *"$BIN_FILE"* ]]; then
@@ -732,8 +732,8 @@ compare_bin_file() {
(cd $FILE_WORK_DIR && $CP $THIS_FILE . && $LDD_CMD $NAME 2</dev/null | $AWK '{ print $1;}' | $SORT | $TEE $WORK_FILE_BASE.deps.this | $UNIQ > $WORK_FILE_BASE.deps.this.uniq)
(cd $FILE_WORK_DIR && $RM -f $NAME)
LANG=C $DIFF $WORK_FILE_BASE.deps.other $WORK_FILE_BASE.deps.this > $WORK_FILE_BASE.deps.diff
LANG=C $DIFF $WORK_FILE_BASE.deps.other.uniq $WORK_FILE_BASE.deps.this.uniq > $WORK_FILE_BASE.deps.diff.uniq
LC_ALL=C $DIFF $WORK_FILE_BASE.deps.other $WORK_FILE_BASE.deps.this > $WORK_FILE_BASE.deps.diff
LC_ALL=C $DIFF $WORK_FILE_BASE.deps.other.uniq $WORK_FILE_BASE.deps.this.uniq > $WORK_FILE_BASE.deps.diff.uniq
if [ -s $WORK_FILE_BASE.deps.diff ]; then
if [ -s $WORK_FILE_BASE.deps.diff.uniq ]; then
@@ -768,7 +768,7 @@ compare_bin_file() {
if [ -n "$FULLDUMP_CMD" ] && [ -z "$SKIP_FULLDUMP_DIFF" ]; then
$FULLDUMP_CMD $OTHER_FILE > $WORK_FILE_BASE.fulldump.other 2>&1
$FULLDUMP_CMD $THIS_FILE > $WORK_FILE_BASE.fulldump.this 2>&1
LANG=C $DIFF $WORK_FILE_BASE.fulldump.other $WORK_FILE_BASE.fulldump.this > $WORK_FILE_BASE.fulldump.diff
LC_ALL=C $DIFF $WORK_FILE_BASE.fulldump.other $WORK_FILE_BASE.fulldump.this > $WORK_FILE_BASE.fulldump.diff
if [ -s $WORK_FILE_BASE.fulldump.diff ]; then
ELF_DIFF_SIZE=$(ls -n $WORK_FILE_BASE.fulldump.diff | awk '{print $5}')
@@ -802,7 +802,7 @@ compare_bin_file() {
$DIS_CMD $OTHER_FILE | $GREP -v $NAME | $DIS_DIFF_FILTER > $WORK_FILE_BASE.dis.other 2>&1
$DIS_CMD $THIS_FILE | $GREP -v $NAME | $DIS_DIFF_FILTER > $WORK_FILE_BASE.dis.this 2>&1
LANG=C $DIFF $WORK_FILE_BASE.dis.other $WORK_FILE_BASE.dis.this > $WORK_FILE_BASE.dis.diff
LC_ALL=C $DIFF $WORK_FILE_BASE.dis.other $WORK_FILE_BASE.dis.this > $WORK_FILE_BASE.dis.diff
if [ -s $WORK_FILE_BASE.dis.diff ]; then
DIS_DIFF_SIZE=$(ls -n $WORK_FILE_BASE.dis.diff | awk '{print $5}')

View File

@@ -1,7 +1,7 @@
#!/bin/sh
#
# Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2009, 2013, 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
@@ -27,37 +27,11 @@
command="$1"
pull_extra_base="$2"
# Python always buffers stdout significantly, thus we will not see any output from hg clone jdk,
# until a lot of time has passed! By passing -u to python, we get incremental updates
# on stdout. Much nicer.
whichhg="`which hg 2> /dev/null | grep -v '^no hg in'`"
if [ "${whichhg}" = "" ] ; then
echo Cannot find hg!
exit 1
fi
if [ "" = "$command" ] ; then
echo No command to hg supplied!
exit 1
fi
has_hash_bang="`head -n 1 "${whichhg}" | cut -b 1-2`"
python=""
bpython=""
if [ "#!" = "$has_hash_bang" ] ; then
python="`head -n 1 ${whichhg} | cut -b 3- | sed -e 's/^[ \t]*//;s/[ \t]*$//'`"
bpython="`basename "$python"`"
fi
if [ -x "$python" -a ! -d "$python" -a "`${python} -V 2>&1 | cut -f 1 -d ' '`" = "Python" ] ; then
hg="${python} -u ${whichhg}"
else
echo Cannot find python from hg launcher. Running plain hg, which probably has buffered stdout.
hg="hg"
fi
# Clean out the temporary directory that stores the pid files.
tmp=/tmp/forest.$$
rm -f -r ${tmp}
@@ -171,7 +145,7 @@ for i in ${repos} ${repos_extra} ; do
(
if [ "${command}" = "clone" -o "${command}" = "fclone" ] ; then
pull_newrepo="`echo ${pull_base}/${i} | sed -e 's@\([^:]/\)//*@\1@g'`"
echo ${hg} clone ${pull_newrepo} ${i}
echo hg clone ${pull_newrepo} ${i}
path="`dirname ${i}`"
if [ "${path}" != "." ] ; then
times=0
@@ -184,10 +158,10 @@ for i in ${repos} ${repos_extra} ; do
sleep 5
done
fi
(${hg} clone ${pull_newrepo} ${i}; echo "$?" > ${tmp}/${repopidfile}.pid.rc )&
(PYTHONUNBUFFERED=true hg clone ${pull_newrepo} ${i}; echo "$?" > ${tmp}/${repopidfile}.pid.rc )&
else
echo "cd ${i} && ${hg} $*"
cd ${i} && (${hg} "$@"; echo "$?" > ${tmp}/${repopidfile}.pid.rc )&
echo "cd ${i} && hg $*"
cd ${i} && (PYTHONUNBUFFERED=true hg "$@"; echo "$?" > ${tmp}/${repopidfile}.pid.rc )&
fi
echo $! > ${tmp}/${repopidfile}.pid
) 2>&1 | sed -e "s@^@${reponame}: @") &

View File

@@ -36,7 +36,7 @@ include MakeBase.gmk
default: all
# Get all files except .hg in the hotspot directory.
HOTSPOT_FILES := $(shell $(FIND) -L $(HOTSPOT_TOPDIR) -name ".hg" -prune -o -print)
HOTSPOT_FILES := $(shell $(FIND) -L $(HOTSPOT_TOPDIR) -name ".hg" -prune -o -print)
# The old build creates hotspot output dir before calling hotspot and
# not doing it breaks builds on msys.

View File

@@ -23,52 +23,52 @@
# questions.
#
PREFIXES=-pkgPrefix CORBA org.omg \
-pkgPrefix CosNaming org.omg \
-pkgPrefix CosTransactions org.omg \
-pkgPrefix CosTSInteroperation org.omg \
-pkgPrefix DynamicAny org.omg \
-pkgPrefix Dynamic org.omg \
-pkgPrefix IOP org.omg \
-pkgPrefix Messaging org.omg \
-pkgPrefix PortableInterceptor org.omg \
-pkgPrefix PortableServer org.omg \
-pkgPrefix activation com.sun.corba.se.spi \
-pkgPrefix GIOP com.sun.corba.se \
-pkgPrefix PortableActivationIDL com.sun.corba.se \
-pkgPrefix messages com.sun.corba.se
PREFIXES=-pkgPrefix CORBA org.omg \
-pkgPrefix CosNaming org.omg \
-pkgPrefix CosTransactions org.omg \
-pkgPrefix CosTSInteroperation org.omg \
-pkgPrefix DynamicAny org.omg \
-pkgPrefix Dynamic org.omg \
-pkgPrefix IOP org.omg \
-pkgPrefix Messaging org.omg \
-pkgPrefix PortableInterceptor org.omg \
-pkgPrefix PortableServer org.omg \
-pkgPrefix activation com.sun.corba.se.spi \
-pkgPrefix GIOP com.sun.corba.se \
-pkgPrefix PortableActivationIDL com.sun.corba.se \
-pkgPrefix messages com.sun.corba.se
define add_idl_package
# param 1 = MYPACKAGE
# param 2 = src root
# param 3 = gensrc root
# param 4 = source idl to compile
# param 5 = target idl package
# param 6 = delete these files that were output from the idlj
# param 7 = idls that match these patterns should be compiled with -oldImplBase
# param 8 = the idlj command
# Save the generated java files to a temporary directory so
# that we can find them and create proper dependencies.
# After that, we move them to the real gensrc target dir.
$4_TMPDIR:=tmp___$(subst /,_,$(patsubst $2/%,%,$4))___
ifneq ($$(filter $7,$4),)
$4_OLDIMPLBASE:=-oldImplBase
$4_OLDIMPLBASE_MSG:=with -oldImplBase
endif
$5 : $4
# param 1 = MYPACKAGE
# param 2 = src root
# param 3 = gensrc root
# param 4 = source idl to compile
# param 5 = target idl package
# param 6 = delete these files that were output from the idlj
# param 7 = idls that match these patterns should be compiled with -oldImplBase
# param 8 = the idlj command
# Save the generated java files to a temporary directory so
# that we can find them and create proper dependencies.
# After that, we move them to the real gensrc target dir.
$4_TMPDIR:=tmp___$(subst /,_,$(patsubst $2/%,%,$4))___
ifneq ($$(filter $7,$4),)
$4_OLDIMPLBASE:=-oldImplBase
$4_OLDIMPLBASE_MSG:=with -oldImplBase
endif
$5 : $4
$(MKDIR) -p $3/$$($4_TMPDIR)
$(RM) -rf $3/$$($4_TMPDIR)
$(MKDIR) -p $(dir $5)
$(ECHO) $(LOG_INFO) Compiling IDL $(patsubst $2/%,%,$4)
$(ECHO) $(LOG_INFO) Compiling IDL $(patsubst $2/%,%,$4)
$8 -td $3/$$($4_TMPDIR) \
-i $2/org/omg/CORBA \
-i $2/org/omg/PortableInterceptor \
-i $2/org/omg/PortableServer \
-D CORBA3 -corba 3.0 \
-fall \
$$($4_OLDIMPLBASE) \
$(PREFIXES) \
$4
-i $2/org/omg/CORBA \
-i $2/org/omg/PortableInterceptor \
-i $2/org/omg/PortableServer \
-D CORBA3 -corba 3.0 \
-fall \
$$($4_OLDIMPLBASE) \
$(PREFIXES) \
$4
$(RM) -f $$(addprefix $3/$$($4_TMPDIR)/,$6)
$(CP) -r $3/$$($4_TMPDIR)/* $3
($(CD) $3/$$($4_TMPDIR) && $(FIND) . -type f | $(SED) 's!\./!$3/!g' | $(NAWK) '{ print $$$$1 ": $4" }' > $5)
@@ -76,31 +76,31 @@ define add_idl_package
endef
define SetupIdlCompilation
# param 1 is for example BUILD_IDLS
# param 2,3,4,5,6,7,8 are named args.
# IDLJ,SRC,BIN,INCLUDES,EXCLUDES,OLDIMPLBASES,DELETES
$(foreach i,2 3 4 5 6 7 8 9 10 11 12 13 14 15, $(if $($i),$1_$(strip $($i)))$(NEWLINE))
$(call LogSetupMacroEntry,SetupIdlCompilation($1),$2,$3,$4,$5,$6,$7,$8,$9,$(10),$(11),$(12),$(13),$(14),$(15))
$(if $(16),$(error Internal makefile error: Too many arguments to SetupIdlCompilation, please update IdlCompilation.gmk))
# param 1 is for example BUILD_IDLS
# param 2,3,4,5,6,7,8 are named args.
# IDLJ,SRC,BIN,INCLUDES,EXCLUDES,OLDIMPLBASES,DELETES
$(foreach i,2 3 4 5 6 7 8 9 10 11 12 13 14 15, $(if $($i),$1_$(strip $($i)))$(NEWLINE))
$(call LogSetupMacroEntry,SetupIdlCompilation($1),$2,$3,$4,$5,$6,$7,$8,$9,$(10),$(11),$(12),$(13),$(14),$(15))
$(if $(16),$(error Internal makefile error: Too many arguments to SetupIdlCompilation, please update IdlCompilation.gmk))
# Find all existing java files and existing class files.
$$(eval $$(call MakeDir,$$($1_BIN)))
$1_SRCS := $$(shell find $$($1_SRC) -name "*.idl")
$1_BINS := $$(shell find $$($1_BIN) -name "*.java")
# Prepend the source/bin path to the filter expressions.
$1_SRC_INCLUDES := $$(addprefix $$($1_SRC)/,$$($1_INCLUDES))
$1_SRC_EXCLUDES := $$(addprefix $$($1_SRC)/,$$($1_EXCLUDES))
$1_BIN_INCLUDES := $$(addprefix $$($1_BIN)/,$$($1_INCLUDES))
$1_BIN_EXCLUDES := $$(addprefix $$($1_BIN)/,$$($1_EXCLUDES))
$1_OLDIMPLBASES := $$(addprefix $$($1_SRC)/,$$($1_OLDIMPLBASES))
# Now remove unwanted java/class files.
$1_SRCS := $$(filter $$($1_SRC_INCLUDES),$$($1_SRCS))
$1_SRCS := $$(filter-out $$($1_SRC_EXCLUDES),$$($1_SRCS))
$1_BINS := $$(filter $$($1_BIN_INCLUDES),$$($1_BINS))
$1_BINS := $$(filter-out $$($1_BIN_EXCLUDES),$$($1_BINS))
$1 := $$(sort $$(patsubst $$($1_SRC)/%.idl,$$($1_BIN)/%.idl.d,$$($1_SRCS)))
# Now create the dependencies for each idl target.
$$(foreach p,$$($1),$$(eval $$(call add_idl_package,$1,$$($1_SRC),$$($1_BIN),$$(patsubst $$($1_BIN)/%.idl.d,$$($1_SRC)/%.idl,$$p),$$p,$$($1_DELETES),$$($1_OLDIMPLBASES),$$($1_IDLJ))))
# Find all existing java files and existing class files.
$$(eval $$(call MakeDir,$$($1_BIN)))
$1_SRCS := $$(shell find $$($1_SRC) -name "*.idl")
$1_BINS := $$(shell find $$($1_BIN) -name "*.java")
# Prepend the source/bin path to the filter expressions.
$1_SRC_INCLUDES := $$(addprefix $$($1_SRC)/,$$($1_INCLUDES))
$1_SRC_EXCLUDES := $$(addprefix $$($1_SRC)/,$$($1_EXCLUDES))
$1_BIN_INCLUDES := $$(addprefix $$($1_BIN)/,$$($1_INCLUDES))
$1_BIN_EXCLUDES := $$(addprefix $$($1_BIN)/,$$($1_EXCLUDES))
$1_OLDIMPLBASES := $$(addprefix $$($1_SRC)/,$$($1_OLDIMPLBASES))
# Now remove unwanted java/class files.
$1_SRCS := $$(filter $$($1_SRC_INCLUDES),$$($1_SRCS))
$1_SRCS := $$(filter-out $$($1_SRC_EXCLUDES),$$($1_SRCS))
$1_BINS := $$(filter $$($1_BIN_INCLUDES),$$($1_BINS))
$1_BINS := $$(filter-out $$($1_BIN_EXCLUDES),$$($1_BINS))
$1 := $$(sort $$(patsubst $$($1_SRC)/%.idl,$$($1_BIN)/%.idl.d,$$($1_SRCS)))
# Now create the dependencies for each idl target.
$$(foreach p,$$($1),$$(eval $$(call add_idl_package,$1,$$($1_SRC),$$($1_BIN),$$(patsubst $$($1_BIN)/%.idl.d,$$($1_SRC)/%.idl,$$p),$$p,$$($1_DELETES),$$($1_OLDIMPLBASES),$$($1_IDLJ))))
endef
.SUFFIXES: .java .class .package

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2012, 2013, 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
@@ -23,7 +23,7 @@
# questions.
#
# This file is included by the root NewerMakefile and contains targets
# This file is included by the root NewerMakefile and contains targets
# and utilities needed by JPRT.
# Utilities used in this Makefile. Most of this makefile executes without
@@ -36,7 +36,7 @@ MKDIR=mkdir
PRINTF=printf
PWD=pwd
# Insure we have a path that looks like it came from pwd
# (This is mostly for Windows sake and drive letters)
# (This is mostly for Windows sake and drive letters)
define UnixPath # path
$(shell (cd "$1" && $(PWD)))
endef
@@ -47,19 +47,19 @@ ifdef OPENJDK
OPEN_BUILD=true
else
OPEN_BUILD := $(if $(or $(wildcard $(root_dir)/jdk/src/closed), \
$(wildcard $(root_dir)/jdk/make/closed), \
$(wildcard $(root_dir)/jdk/test/closed), \
$(wildcard $(root_dir)/hotspot/src/closed), \
$(wildcard $(root_dir)/hotspot/make/closed), \
$(wildcard $(root_dir)/hotspot/test/closed)), \
false,true)
$(wildcard $(root_dir)/jdk/make/closed), \
$(wildcard $(root_dir)/jdk/test/closed), \
$(wildcard $(root_dir)/hotspot/src/closed), \
$(wildcard $(root_dir)/hotspot/make/closed), \
$(wildcard $(root_dir)/hotspot/test/closed)), \
false,true)
endif
HOTSPOT_AVAILABLE := $(if $(wildcard $(root_dir)/hotspot),true,false)
###########################################################################
# To help in adoption of the new configure&&make build process, a bridge
# build will use the old settings to run configure and do the build.
# build will use the old settings to run configure and do the build.
# Build with the configure bridge. After running configure, restart make
# to parse the new spec file.
@@ -85,80 +85,80 @@ $(BUILD_DIR_ROOT)/.bridge2configureOptsLatest: FRC
$(RM) $@.tmp
$(MKDIR) -p $(BUILD_DIR_ROOT)
@$(ECHO) " --with-debug-level=$(if $(DEBUG_LEVEL),$(DEBUG_LEVEL),release) " >> $@.tmp
ifdef ARCH_DATA_MODEL
@$(ECHO) " --with-target-bits=$(ARCH_DATA_MODEL) " >> $@.tmp
endif
ifeq ($(ARCH_DATA_MODEL),32)
@$(ECHO) " --with-jvm-variants=client,server " >> $@.tmp
endif
ifdef ALT_PARALLEL_COMPILE_JOBS
@$(ECHO) " --with-num-cores=$(ALT_PARALLEL_COMPILE_JOBS) " >> $@.tmp
endif
ifdef ALT_BOOTDIR
@$(ECHO) " --with-boot-jdk=$(call UnixPath,$(ALT_BOOTDIR)) " >> $@.tmp
endif
ifdef ALT_CUPS_HEADERS_PATH
@$(ECHO) " --with-cups-include=$(call UnixPath,$(ALT_CUPS_HEADERS_PATH)) " >> $@.tmp
endif
ifdef ALT_FREETYPE_HEADERS_PATH
@$(ECHO) " --with-freetype=$(call UnixPath,$(ALT_FREETYPE_HEADERS_PATH)/..) " >> $@.tmp
endif
ifdef ENABLE_SJAVAC
@$(ECHO) " --enable-sjavac" >> $@.tmp
endif
ifeq ($(HOTSPOT_AVAILABLE),false)
ifdef ALT_JDK_IMPORT_PATH
@$(ECHO) " --with-import-hotspot=$(call UnixPath,$(ALT_JDK_IMPORT_PATH)) " >> $@.tmp
endif
endif
ifeq ($(OPEN_BUILD),true)
@$(ECHO) " --enable-openjdk-only " >> $@.tmp
else
# Todo: move to closed?
ifdef ALT_MOZILLA_HEADERS_PATH
@$(ECHO) " --with-mozilla-headers=$(call UnixPath,$(ALT_MOZILLA_HEADERS_PATH)) " >> $@.tmp
endif
ifdef ALT_JUNIT_DIR
@$(ECHO) " --with-junit-dir=$(call UnixPath,$(ALT_JUNIT_DIR)) " >> $@.tmp
endif
ifdef ANT_HOME
@$(ECHO) " --with-ant-home=$(call UnixPath,$(ANT_HOME)) " >> $@.tmp
endif
ifdef ALT_JAVAFX_ZIP_DIR
@$(ECHO) " --with-javafx-zip-dir=$(call UnixPath,$(ALT_JAVAFX_ZIP_DIR)) " >> $@.tmp
endif
ifdef ALT_JMC_ZIP_DIR
@$(ECHO) " --with-jmc-zip-dir=$(call UnixPath,$(ALT_JMC_ZIP_DIR)) " >> $@.tmp
endif
ifdef ALT_WIXDIR
@$(ECHO) " --with-wix=$(call UnixPath,$(ALT_WIXDIR)) " >> $@.tmp
endif
ifdef ALT_INSTALL_LZMA_PATH
@$(ECHO) " --with-lzma-path=$(call UnixPath,$(ALT_INSTALL_LZMA_PATH)) " >> $@.tmp
endif
ifdef ALT_INSTALL_UPX_PATH
@$(ECHO) " --with-upx-path=$(call UnixPath,$(ALT_INSTALL_UPX_PATH)) " >> $@.tmp
endif
ifdef ALT_INSTALL_UPX_FILENAME
@$(ECHO) " --with-upx-filename=$(call UnixPath,$(ALT_INSTALL_UPX_FILENAME)) " >> $@.tmp
endif
ifdef ALT_CCSS_SIGNING_DIR
@$(ECHO) " --with-ccss-signing=$(call UnixPath,$(ALT_CCSS_SIGNING_DIR)) " >> $@.tmp
endif
ifdef ALT_SLASH_JAVA
@$(ECHO) " --with-java-devtools=$(call UnixPath,$(ALT_SLASH_JAVA)/devtools) " >> $@.tmp
endif
ifdef ALT_SPARKLE_FRAMEWORK_DIR
@$(ECHO) " --with-sparkle-framework=$(call UnixPath,$(ALT_SPARKLE_FRAMEWORK_DIR)) " >> $@.tmp
endif
endif
ifdef ARCH_DATA_MODEL
@$(ECHO) " --with-target-bits=$(ARCH_DATA_MODEL) " >> $@.tmp
endif
ifeq ($(ARCH_DATA_MODEL),32)
@$(ECHO) " --with-jvm-variants=client,server " >> $@.tmp
endif
ifdef ALT_PARALLEL_COMPILE_JOBS
@$(ECHO) " --with-num-cores=$(ALT_PARALLEL_COMPILE_JOBS) " >> $@.tmp
endif
ifdef ALT_BOOTDIR
@$(ECHO) " --with-boot-jdk=$(call UnixPath,$(ALT_BOOTDIR)) " >> $@.tmp
endif
ifdef ALT_CUPS_HEADERS_PATH
@$(ECHO) " --with-cups-include=$(call UnixPath,$(ALT_CUPS_HEADERS_PATH)) " >> $@.tmp
endif
ifdef ALT_FREETYPE_HEADERS_PATH
@$(ECHO) " --with-freetype=$(call UnixPath,$(ALT_FREETYPE_HEADERS_PATH)/..) " >> $@.tmp
endif
ifdef ENABLE_SJAVAC
@$(ECHO) " --enable-sjavac" >> $@.tmp
endif
ifeq ($(HOTSPOT_AVAILABLE),false)
ifdef ALT_JDK_IMPORT_PATH
@$(ECHO) " --with-import-hotspot=$(call UnixPath,$(ALT_JDK_IMPORT_PATH)) " >> $@.tmp
endif
endif
ifeq ($(OPEN_BUILD),true)
@$(ECHO) " --enable-openjdk-only " >> $@.tmp
else
# Todo: move to closed?
ifdef ALT_MOZILLA_HEADERS_PATH
@$(ECHO) " --with-mozilla-headers=$(call UnixPath,$(ALT_MOZILLA_HEADERS_PATH)) " >> $@.tmp
endif
ifdef ALT_JUNIT_DIR
@$(ECHO) " --with-junit-dir=$(call UnixPath,$(ALT_JUNIT_DIR)) " >> $@.tmp
endif
ifdef ANT_HOME
@$(ECHO) " --with-ant-home=$(call UnixPath,$(ANT_HOME)) " >> $@.tmp
endif
ifdef ALT_JAVAFX_ZIP_DIR
@$(ECHO) " --with-javafx-zip-dir=$(call UnixPath,$(ALT_JAVAFX_ZIP_DIR)) " >> $@.tmp
endif
ifdef ALT_JMC_ZIP_DIR
@$(ECHO) " --with-jmc-zip-dir=$(call UnixPath,$(ALT_JMC_ZIP_DIR)) " >> $@.tmp
endif
ifdef ALT_WIXDIR
@$(ECHO) " --with-wix=$(call UnixPath,$(ALT_WIXDIR)) " >> $@.tmp
endif
ifdef ALT_INSTALL_LZMA_PATH
@$(ECHO) " --with-lzma-path=$(call UnixPath,$(ALT_INSTALL_LZMA_PATH)) " >> $@.tmp
endif
ifdef ALT_INSTALL_UPX_PATH
@$(ECHO) " --with-upx-path=$(call UnixPath,$(ALT_INSTALL_UPX_PATH)) " >> $@.tmp
endif
ifdef ALT_INSTALL_UPX_FILENAME
@$(ECHO) " --with-upx-filename=$(call UnixPath,$(ALT_INSTALL_UPX_FILENAME)) " >> $@.tmp
endif
ifdef ALT_CCSS_SIGNING_DIR
@$(ECHO) " --with-ccss-signing=$(call UnixPath,$(ALT_CCSS_SIGNING_DIR)) " >> $@.tmp
endif
ifdef ALT_SLASH_JAVA
@$(ECHO) " --with-java-devtools=$(call UnixPath,$(ALT_SLASH_JAVA)/devtools) " >> $@.tmp
endif
ifdef ALT_SPARKLE_FRAMEWORK_DIR
@$(ECHO) " --with-sparkle-framework=$(call UnixPath,$(ALT_SPARKLE_FRAMEWORK_DIR)) " >> $@.tmp
endif
endif
@if [ -f $@ ] ; then \
if ! $(CMP) $@ $@.tmp > /dev/null ; then \
$(CP) $@.tmp $@ ; \
fi ; \
else \
$(CP) $@.tmp $@ ; \
fi
if ! $(CMP) $@ $@.tmp > /dev/null ; then \
$(CP) $@.tmp $@ ; \
fi ; \
else \
$(CP) $@.tmp $@ ; \
fi
$(RM) $@.tmp
PHONY_LIST += bridge2configure bridgeBuild
@@ -170,7 +170,7 @@ ifndef JPRT_ARCHIVE_BUNDLE
JPRT_ARCHIVE_BUNDLE=/tmp/jprt_bundles/j2sdk-image.zip
endif
ifndef JPRT_ARCHIVE_INSTALL_BUNDLE
JPRT_ARCHIVE_INSTALL_BUNDLE=/tmp/jprt_bundles/product-install.zip
JPRT_ARCHIVE_INSTALL_BUNDLE=/tmp/jprt_bundles/product-install.zip
endif
# These targets execute in a SPEC free context, before calling bridgeBuild
@@ -200,13 +200,8 @@ $(JPRT_ARCHIVE_BUNDLE): bundles
$(RM) $@
$(CP) $(BUILD_OUTPUT)/bundles/$(JDK_IMAGE_SUBDIR).zip $@
ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_BITS),solaris-64)
SRC_JDK_IMAGE_DIR := $(JDK_OVERLAY_IMAGE_DIR)
SRC_JRE_IMAGE_DIR := $(JRE_OVERLAY_IMAGE_DIR)
else
SRC_JDK_IMAGE_DIR := $(JDK_IMAGE_DIR)
SRC_JRE_IMAGE_DIR := $(JRE_IMAGE_DIR)
endif
SRC_JDK_IMAGE_DIR := $(JDK_IMAGE_DIR)
SRC_JRE_IMAGE_DIR := $(JRE_IMAGE_DIR)
SRC_JDK_BUNDLE_DIR := $(JDK_BUNDLE_DIR)
SRC_JRE_BUNDLE_DIR := $(JRE_BUNDLE_DIR)
@@ -215,11 +210,11 @@ bundles: all bundles-only
bundles-only: start-make
@$(call TargetEnter)
$(MKDIR) -p $(BUILD_OUTPUT)/bundles
$(CD) $(SRC_JDK_IMAGE_DIR) && $(ZIP) -q -r $(BUILD_OUTPUT)/bundles/$(JDK_IMAGE_SUBDIR).zip .
$(CD) $(SRC_JRE_IMAGE_DIR) && $(ZIP) -q -r $(BUILD_OUTPUT)/bundles/$(JRE_IMAGE_SUBDIR).zip .
if [ -d $(BUILD_OUTPUT)/install/bundles ] ; then \
$(CD) $(BUILD_OUTPUT)/install/bundles && $(ZIP) -q -r $(JPRT_ARCHIVE_INSTALL_BUNDLE) . ; \
fi
$(CD) $(SRC_JDK_IMAGE_DIR) && $(ZIP) -y -q -r $(BUILD_OUTPUT)/bundles/$(JDK_IMAGE_SUBDIR).zip .
$(CD) $(SRC_JRE_IMAGE_DIR) && $(ZIP) -y -q -r $(BUILD_OUTPUT)/bundles/$(JRE_IMAGE_SUBDIR).zip .
if [ -d $(BUILD_OUTPUT)/install/bundles ] ; then \
$(CD) $(BUILD_OUTPUT)/install/bundles && $(ZIP) -y -q -r $(JPRT_ARCHIVE_INSTALL_BUNDLE) . ; \
fi
@$(call TargetExit)
# Copy images to one unified location regardless of platform etc.
@@ -231,19 +226,19 @@ final-images-only: start-make
$(MKDIR) -p $(BUILD_OUTPUT)/final-images/$(JRE_IMAGE_SUBDIR)
$(CP) -R -P $(SRC_JDK_IMAGE_DIR)/* $(BUILD_OUTPUT)/final-images/$(JDK_IMAGE_SUBDIR)/
$(CP) -R -P $(SRC_JRE_IMAGE_DIR)/* $(BUILD_OUTPUT)/final-images/$(JRE_IMAGE_SUBDIR)/
ifeq ($(OPENJDK_TARGET_OS),macosx)
$(MKDIR) -p $(BUILD_OUTPUT)/final-images/$(JDK_BUNDLE_SUBDIR)
$(MKDIR) -p $(BUILD_OUTPUT)/final-images/$(JRE_BUNDLE_SUBDIR)
$(CP) -R -P $(SRC_JDK_BUNDLE_DIR)/* $(BUILD_OUTPUT)/final-images/$(JDK_BUNDLE_SUBDIR)/
$(CP) -R -P $(SRC_JRE_BUNDLE_DIR)/* $(BUILD_OUTPUT)/final-images/$(JRE_BUNDLE_SUBDIR)/
endif
ifeq ($(OPENJDK_TARGET_OS),macosx)
$(MKDIR) -p $(BUILD_OUTPUT)/final-images/$(JDK_BUNDLE_SUBDIR)
$(MKDIR) -p $(BUILD_OUTPUT)/final-images/$(JRE_BUNDLE_SUBDIR)
$(CP) -R -P $(SRC_JDK_BUNDLE_DIR)/* $(BUILD_OUTPUT)/final-images/$(JDK_BUNDLE_SUBDIR)/
$(CP) -R -P $(SRC_JRE_BUNDLE_DIR)/* $(BUILD_OUTPUT)/final-images/$(JRE_BUNDLE_SUBDIR)/
endif
@$(call TargetExit)
# Keep track of phony targets
PHONY_LIST += jprt_build_product jprt_build_fastdebug jprt_build_debug \
jprt_build_generic bundles jprt_bundle \
final-images final-images-only
jprt_build_generic bundles jprt_bundle \
final-images final-images-only
###########################################################################
# Phony targets

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2013, 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,7 +28,7 @@
# Now load the spec
include $(SPEC)
# Load the vital tools for all the makefiles.
# Load the vital tools for all the makefiles.
include $(SRC_ROOT)/common/makefiles/MakeBase.gmk
# Include the corresponding custom file, if present.
@@ -38,19 +38,19 @@ include $(SRC_ROOT)/common/makefiles/MakeBase.gmk
# Remove any build.log from a previous run, if they exist
ifneq (,$(BUILD_LOG))
ifneq (,$(BUILD_LOG_PREVIOUS))
# Rotate old log
$(shell $(RM) $(BUILD_LOG_PREVIOUS) 2> /dev/null)
$(shell $(MV) $(BUILD_LOG) $(BUILD_LOG_PREVIOUS) 2> /dev/null)
else
$(shell $(RM) $(BUILD_LOG) 2> /dev/null)
endif
$(shell $(RM) $(OUTPUT_ROOT)/build-trace-time.log 2> /dev/null)
ifneq (,$(BUILD_LOG_PREVIOUS))
# Rotate old log
$(shell $(RM) $(BUILD_LOG_PREVIOUS) 2> /dev/null)
$(shell $(MV) $(BUILD_LOG) $(BUILD_LOG_PREVIOUS) 2> /dev/null)
else
$(shell $(RM) $(BUILD_LOG) 2> /dev/null)
endif
$(shell $(RM) $(OUTPUT_ROOT)/build-trace-time.log 2> /dev/null)
endif
# Remove any javac server logs and port files. This
# prevents a new make run to reuse the previous servers.
ifneq (,$(SJAVAC_SERVER_DIR))
$(shell $(MKDIR) -p $(SJAVAC_SERVER_DIR) && $(RM) -rf $(SJAVAC_SERVER_DIR)/*)
$(shell $(MKDIR) -p $(SJAVAC_SERVER_DIR) && $(RM) -rf $(SJAVAC_SERVER_DIR)/*)
endif
# Reset the build timers.
@@ -68,10 +68,6 @@ default: jdk
all: images docs
@$(call CheckIfMakeAtEnd)
ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_BITS),solaris-64)
all: overlay-images
endif
# Setup a rule for SPEC file that fails if executed. This check makes sure the configuration
# is up to date after changes to configure
$(SPEC): $(wildcard $(SRC_ROOT)/common/autoconf/*)
@@ -107,8 +103,8 @@ jaxws-only: start-make
@$(call TargetExit)
ifeq ($(BUILD_HOTSPOT),true)
hotspot: hotspot-only
hotspot-only: start-make
hotspot: hotspot-only
hotspot-only: start-make
@$(call TargetEnter)
@($(CD) $(SRC_ROOT)/common/makefiles && $(BUILD_LOG_WRAPPER) $(MAKE) $(MAKE_ARGS) -f HotspotWrapper.gmk)
@$(call TargetExit)
@@ -153,9 +149,9 @@ profiles-only: start-make
@$(call TargetExit)
profiles-oscheck:
ifneq ($(OPENJDK_TARGET_OS), linux)
@echo "Error: The Java SE 8 Compact Profiles are only implemented for Linux at this time" && exit 1
endif
ifneq ($(OPENJDK_TARGET_OS), linux)
@echo "Error: The Java SE 8 Compact Profiles are only implemented for Linux at this time" && exit 1
endif
install: images install-only
install-only: start-make
@@ -206,12 +202,12 @@ clean: clean-langtools clean-corba clean-jaxp clean-jaxws clean-hotspot clean-jd
dist-clean: clean
@($(CD) $(OUTPUT_ROOT) && $(RM) -r *spec.gmk config.* configure-arguments Makefile compare.sh spec.sh tmp javacservers)
@$(if $(filter $(CONF_NAME),$(notdir $(OUTPUT_ROOT))), \
if test "x`$(LS) $(OUTPUT_ROOT)`" != x; then \
$(ECHO) "Warning: Not removing non-empty configuration directory for '$(CONF_NAME)'" ;\
else \
($(CD) $(SRC_ROOT) && $(ECHO) "Removing configuration directory for '$(CONF_NAME)'" && $(RM) -r $(OUTPUT_ROOT)) \
fi \
)
if test "x`$(LS) $(OUTPUT_ROOT)`" != x; then \
$(ECHO) "Warning: Not removing non-empty configuration directory for '$(CONF_NAME)'" ; \
else \
($(CD) $(SRC_ROOT) && $(ECHO) "Removing configuration directory for '$(CONF_NAME)'" && $(RM) -r $(OUTPUT_ROOT)) \
fi \
)
@$(ECHO) Cleaned everything, you will have to re-run configure.
clean-langtools:

View File

@@ -48,314 +48,316 @@ $(subst $(SPACE),\n,$(strip $1)))))\
$(compress_post)
decompress_paths=$(SED) -f $(SRC_ROOT)/common/makefiles/support/ListPathsSafely-uncompress.sed -e 's|X99|\\n|g' \
-e 's|X98|$(OUTPUT_ROOT)|g' -e 's|X97|$(SRC_ROOT)|g' \
-e 's|X00|X|g' | tr '\n' '$2'
-e 's|X98|$(OUTPUT_ROOT)|g' -e 's|X97|$(SRC_ROOT)|g' \
-e 's|X00|X|g' | tr '\n' '$2'
define ListPathsSafely_If
$(if $(word $3,$($1)),$(eval $1_LPS$3:=$(call compress_paths,$(wordlist $3,$4,$($1)))))
$(if $(word $3,$($1)),$(eval $1_LPS$3:=$(call compress_paths,$(wordlist $3,$4,$($1)))))
endef
define ListPathsSafely_Printf
$(if $(strip $($1_LPS$4)),printf -- "$(strip $($1_LPS$4))\n" | $(decompress_paths) $3)
$(if $(strip $($1_LPS$4)),$(if $(findstring $(LOG_LEVEL),trace),,@)printf \
-- "$(strip $($1_LPS$4))\n" | $(decompress_paths) $3)
endef
# Receipt example:
# rm -f thepaths
# $(call ListPathsSafely,THEPATHS,\n, >> thepaths)
# The \n argument means translate spaces into \n
# if instead , , (a space) is supplied, then spaces remain spaces.
# rm -f thepaths
# $(call ListPathsSafely,THEPATHS,\n, >> thepaths)
# The \n argument means translate spaces into \n
# if instead , , (a space) is supplied, then spaces remain spaces.
define ListPathsSafely
$(if $(word 16001,$($1)),$(error Cannot list safely more than 16000 paths. $1 has $(words $($1)) paths!))
$(call ListPathsSafely_If,$1,$2,1,250)
$(call ListPathsSafely_If,$1,$2,251,500)
$(call ListPathsSafely_If,$1,$2,501,750)
$(call ListPathsSafely_If,$1,$2,751,1000)
$(if $(word 16001,$($1)),$(error Cannot list safely more than 16000 paths. $1 has $(words $($1)) paths!))
$(ECHO) $(LOG_DEBUG) Writing $(words $($1)) paths to '$3'
$(call ListPathsSafely_If,$1,$2,1,250)
$(call ListPathsSafely_If,$1,$2,251,500)
$(call ListPathsSafely_If,$1,$2,501,750)
$(call ListPathsSafely_If,$1,$2,751,1000)
$(call ListPathsSafely_If,$1,$2,1001,1250)
$(call ListPathsSafely_If,$1,$2,1251,1500)
$(call ListPathsSafely_If,$1,$2,1501,1750)
$(call ListPathsSafely_If,$1,$2,1751,2000)
$(call ListPathsSafely_If,$1,$2,1001,1250)
$(call ListPathsSafely_If,$1,$2,1251,1500)
$(call ListPathsSafely_If,$1,$2,1501,1750)
$(call ListPathsSafely_If,$1,$2,1751,2000)
$(call ListPathsSafely_If,$1,$2,2001,2250)
$(call ListPathsSafely_If,$1,$2,2251,2500)
$(call ListPathsSafely_If,$1,$2,2501,2750)
$(call ListPathsSafely_If,$1,$2,2751,3000)
$(call ListPathsSafely_If,$1,$2,2001,2250)
$(call ListPathsSafely_If,$1,$2,2251,2500)
$(call ListPathsSafely_If,$1,$2,2501,2750)
$(call ListPathsSafely_If,$1,$2,2751,3000)
$(call ListPathsSafely_If,$1,$2,3001,3250)
$(call ListPathsSafely_If,$1,$2,3251,3500)
$(call ListPathsSafely_If,$1,$2,3501,3750)
$(call ListPathsSafely_If,$1,$2,3751,4000)
$(call ListPathsSafely_If,$1,$2,3001,3250)
$(call ListPathsSafely_If,$1,$2,3251,3500)
$(call ListPathsSafely_If,$1,$2,3501,3750)
$(call ListPathsSafely_If,$1,$2,3751,4000)
$(call ListPathsSafely_If,$1,$2,4001,4250)
$(call ListPathsSafely_If,$1,$2,4251,4500)
$(call ListPathsSafely_If,$1,$2,4501,4750)
$(call ListPathsSafely_If,$1,$2,4751,5000)
$(call ListPathsSafely_If,$1,$2,4001,4250)
$(call ListPathsSafely_If,$1,$2,4251,4500)
$(call ListPathsSafely_If,$1,$2,4501,4750)
$(call ListPathsSafely_If,$1,$2,4751,5000)
$(call ListPathsSafely_If,$1,$2,5001,5250)
$(call ListPathsSafely_If,$1,$2,5251,5500)
$(call ListPathsSafely_If,$1,$2,5501,5750)
$(call ListPathsSafely_If,$1,$2,5751,6000)
$(call ListPathsSafely_If,$1,$2,5001,5250)
$(call ListPathsSafely_If,$1,$2,5251,5500)
$(call ListPathsSafely_If,$1,$2,5501,5750)
$(call ListPathsSafely_If,$1,$2,5751,6000)
$(call ListPathsSafely_If,$1,$2,6001,6250)
$(call ListPathsSafely_If,$1,$2,6251,6500)
$(call ListPathsSafely_If,$1,$2,6501,6750)
$(call ListPathsSafely_If,$1,$2,6751,7000)
$(call ListPathsSafely_If,$1,$2,6001,6250)
$(call ListPathsSafely_If,$1,$2,6251,6500)
$(call ListPathsSafely_If,$1,$2,6501,6750)
$(call ListPathsSafely_If,$1,$2,6751,7000)
$(call ListPathsSafely_If,$1,$2,7001,7250)
$(call ListPathsSafely_If,$1,$2,7251,7500)
$(call ListPathsSafely_If,$1,$2,7501,7750)
$(call ListPathsSafely_If,$1,$2,7751,8000)
$(call ListPathsSafely_If,$1,$2,7001,7250)
$(call ListPathsSafely_If,$1,$2,7251,7500)
$(call ListPathsSafely_If,$1,$2,7501,7750)
$(call ListPathsSafely_If,$1,$2,7751,8000)
$(call ListPathsSafely_If,$1,$2,8001,8250)
$(call ListPathsSafely_If,$1,$2,8251,8500)
$(call ListPathsSafely_If,$1,$2,8501,8750)
$(call ListPathsSafely_If,$1,$2,8751,9000)
$(call ListPathsSafely_If,$1,$2,8001,8250)
$(call ListPathsSafely_If,$1,$2,8251,8500)
$(call ListPathsSafely_If,$1,$2,8501,8750)
$(call ListPathsSafely_If,$1,$2,8751,9000)
$(call ListPathsSafely_If,$1,$2,9001,9250)
$(call ListPathsSafely_If,$1,$2,9251,9500)
$(call ListPathsSafely_If,$1,$2,9501,9750)
$(call ListPathsSafely_If,$1,$2,9751,10000)
$(call ListPathsSafely_If,$1,$2,9001,9250)
$(call ListPathsSafely_If,$1,$2,9251,9500)
$(call ListPathsSafely_If,$1,$2,9501,9750)
$(call ListPathsSafely_If,$1,$2,9751,10000)
$(call ListPathsSafely_If,$1,$2,10001,10250)
$(call ListPathsSafely_If,$1,$2,10251,10500)
$(call ListPathsSafely_If,$1,$2,10501,10750)
$(call ListPathsSafely_If,$1,$2,10751,11000)
$(call ListPathsSafely_If,$1,$2,10001,10250)
$(call ListPathsSafely_If,$1,$2,10251,10500)
$(call ListPathsSafely_If,$1,$2,10501,10750)
$(call ListPathsSafely_If,$1,$2,10751,11000)
$(call ListPathsSafely_If,$1,$2,11001,11250)
$(call ListPathsSafely_If,$1,$2,11251,11500)
$(call ListPathsSafely_If,$1,$2,11501,11750)
$(call ListPathsSafely_If,$1,$2,11751,12000)
$(call ListPathsSafely_If,$1,$2,11001,11250)
$(call ListPathsSafely_If,$1,$2,11251,11500)
$(call ListPathsSafely_If,$1,$2,11501,11750)
$(call ListPathsSafely_If,$1,$2,11751,12000)
$(call ListPathsSafely_If,$1,$2,12001,12250)
$(call ListPathsSafely_If,$1,$2,12251,12500)
$(call ListPathsSafely_If,$1,$2,12501,12750)
$(call ListPathsSafely_If,$1,$2,12751,13000)
$(call ListPathsSafely_If,$1,$2,12001,12250)
$(call ListPathsSafely_If,$1,$2,12251,12500)
$(call ListPathsSafely_If,$1,$2,12501,12750)
$(call ListPathsSafely_If,$1,$2,12751,13000)
$(call ListPathsSafely_If,$1,$2,13001,13250)
$(call ListPathsSafely_If,$1,$2,13251,13500)
$(call ListPathsSafely_If,$1,$2,13501,13750)
$(call ListPathsSafely_If,$1,$2,13751,14000)
$(call ListPathsSafely_If,$1,$2,13001,13250)
$(call ListPathsSafely_If,$1,$2,13251,13500)
$(call ListPathsSafely_If,$1,$2,13501,13750)
$(call ListPathsSafely_If,$1,$2,13751,14000)
$(call ListPathsSafely_If,$1,$2,14001,14250)
$(call ListPathsSafely_If,$1,$2,14251,14500)
$(call ListPathsSafely_If,$1,$2,14501,14750)
$(call ListPathsSafely_If,$1,$2,14751,15000)
$(call ListPathsSafely_If,$1,$2,14001,14250)
$(call ListPathsSafely_If,$1,$2,14251,14500)
$(call ListPathsSafely_If,$1,$2,14501,14750)
$(call ListPathsSafely_If,$1,$2,14751,15000)
$(call ListPathsSafely_If,$1,$2,15001,15250)
$(call ListPathsSafely_If,$1,$2,15251,15500)
$(call ListPathsSafely_If,$1,$2,15501,15750)
$(call ListPathsSafely_If,$1,$2,15751,16000)
$(call ListPathsSafely_If,$1,$2,15001,15250)
$(call ListPathsSafely_If,$1,$2,15251,15500)
$(call ListPathsSafely_If,$1,$2,15501,15750)
$(call ListPathsSafely_If,$1,$2,15751,16000)
$(call ListPathsSafely_Printf,$1,$2,$3,1)
$(call ListPathsSafely_Printf,$1,$2,$3,251)
$(call ListPathsSafely_Printf,$1,$2,$3,501)
$(call ListPathsSafely_Printf,$1,$2,$3,751)
$(call ListPathsSafely_Printf,$1,$2,$3,1)
$(call ListPathsSafely_Printf,$1,$2,$3,251)
$(call ListPathsSafely_Printf,$1,$2,$3,501)
$(call ListPathsSafely_Printf,$1,$2,$3,751)
$(call ListPathsSafely_Printf,$1,$2,$3,1001)
$(call ListPathsSafely_Printf,$1,$2,$3,1251)
$(call ListPathsSafely_Printf,$1,$2,$3,1501)
$(call ListPathsSafely_Printf,$1,$2,$3,1751)
$(call ListPathsSafely_Printf,$1,$2,$3,1001)
$(call ListPathsSafely_Printf,$1,$2,$3,1251)
$(call ListPathsSafely_Printf,$1,$2,$3,1501)
$(call ListPathsSafely_Printf,$1,$2,$3,1751)
$(call ListPathsSafely_Printf,$1,$2,$3,2001)
$(call ListPathsSafely_Printf,$1,$2,$3,2251)
$(call ListPathsSafely_Printf,$1,$2,$3,2501)
$(call ListPathsSafely_Printf,$1,$2,$3,2751)
$(call ListPathsSafely_Printf,$1,$2,$3,2001)
$(call ListPathsSafely_Printf,$1,$2,$3,2251)
$(call ListPathsSafely_Printf,$1,$2,$3,2501)
$(call ListPathsSafely_Printf,$1,$2,$3,2751)
$(call ListPathsSafely_Printf,$1,$2,$3,3001)
$(call ListPathsSafely_Printf,$1,$2,$3,3251)
$(call ListPathsSafely_Printf,$1,$2,$3,3501)
$(call ListPathsSafely_Printf,$1,$2,$3,3751)
$(call ListPathsSafely_Printf,$1,$2,$3,3001)
$(call ListPathsSafely_Printf,$1,$2,$3,3251)
$(call ListPathsSafely_Printf,$1,$2,$3,3501)
$(call ListPathsSafely_Printf,$1,$2,$3,3751)
$(call ListPathsSafely_Printf,$1,$2,$3,4001)
$(call ListPathsSafely_Printf,$1,$2,$3,4251)
$(call ListPathsSafely_Printf,$1,$2,$3,4501)
$(call ListPathsSafely_Printf,$1,$2,$3,4751)
$(call ListPathsSafely_Printf,$1,$2,$3,4001)
$(call ListPathsSafely_Printf,$1,$2,$3,4251)
$(call ListPathsSafely_Printf,$1,$2,$3,4501)
$(call ListPathsSafely_Printf,$1,$2,$3,4751)
$(call ListPathsSafely_Printf,$1,$2,$3,5001)
$(call ListPathsSafely_Printf,$1,$2,$3,5251)
$(call ListPathsSafely_Printf,$1,$2,$3,5501)
$(call ListPathsSafely_Printf,$1,$2,$3,5751)
$(call ListPathsSafely_Printf,$1,$2,$3,5001)
$(call ListPathsSafely_Printf,$1,$2,$3,5251)
$(call ListPathsSafely_Printf,$1,$2,$3,5501)
$(call ListPathsSafely_Printf,$1,$2,$3,5751)
$(call ListPathsSafely_Printf,$1,$2,$3,6001)
$(call ListPathsSafely_Printf,$1,$2,$3,6251)
$(call ListPathsSafely_Printf,$1,$2,$3,6501)
$(call ListPathsSafely_Printf,$1,$2,$3,6751)
$(call ListPathsSafely_Printf,$1,$2,$3,6001)
$(call ListPathsSafely_Printf,$1,$2,$3,6251)
$(call ListPathsSafely_Printf,$1,$2,$3,6501)
$(call ListPathsSafely_Printf,$1,$2,$3,6751)
$(call ListPathsSafely_Printf,$1,$2,$3,7001)
$(call ListPathsSafely_Printf,$1,$2,$3,7251)
$(call ListPathsSafely_Printf,$1,$2,$3,7501)
$(call ListPathsSafely_Printf,$1,$2,$3,7751)
$(call ListPathsSafely_Printf,$1,$2,$3,7001)
$(call ListPathsSafely_Printf,$1,$2,$3,7251)
$(call ListPathsSafely_Printf,$1,$2,$3,7501)
$(call ListPathsSafely_Printf,$1,$2,$3,7751)
$(call ListPathsSafely_Printf,$1,$2,$3,8001)
$(call ListPathsSafely_Printf,$1,$2,$3,8251)
$(call ListPathsSafely_Printf,$1,$2,$3,8501)
$(call ListPathsSafely_Printf,$1,$2,$3,8751)
$(call ListPathsSafely_Printf,$1,$2,$3,8001)
$(call ListPathsSafely_Printf,$1,$2,$3,8251)
$(call ListPathsSafely_Printf,$1,$2,$3,8501)
$(call ListPathsSafely_Printf,$1,$2,$3,8751)
$(call ListPathsSafely_Printf,$1,$2,$3,9001)
$(call ListPathsSafely_Printf,$1,$2,$3,9251)
$(call ListPathsSafely_Printf,$1,$2,$3,9501)
$(call ListPathsSafely_Printf,$1,$2,$3,9751)
$(call ListPathsSafely_Printf,$1,$2,$3,9001)
$(call ListPathsSafely_Printf,$1,$2,$3,9251)
$(call ListPathsSafely_Printf,$1,$2,$3,9501)
$(call ListPathsSafely_Printf,$1,$2,$3,9751)
$(call ListPathsSafely_Printf,$1,$2,$3,10001)
$(call ListPathsSafely_Printf,$1,$2,$3,10251)
$(call ListPathsSafely_Printf,$1,$2,$3,10501)
$(call ListPathsSafely_Printf,$1,$2,$3,10751)
$(call ListPathsSafely_Printf,$1,$2,$3,10001)
$(call ListPathsSafely_Printf,$1,$2,$3,10251)
$(call ListPathsSafely_Printf,$1,$2,$3,10501)
$(call ListPathsSafely_Printf,$1,$2,$3,10751)
$(call ListPathsSafely_Printf,$1,$2,$3,11001)
$(call ListPathsSafely_Printf,$1,$2,$3,11251)
$(call ListPathsSafely_Printf,$1,$2,$3,11501)
$(call ListPathsSafely_Printf,$1,$2,$3,11751)
$(call ListPathsSafely_Printf,$1,$2,$3,11001)
$(call ListPathsSafely_Printf,$1,$2,$3,11251)
$(call ListPathsSafely_Printf,$1,$2,$3,11501)
$(call ListPathsSafely_Printf,$1,$2,$3,11751)
$(call ListPathsSafely_Printf,$1,$2,$3,12001)
$(call ListPathsSafely_Printf,$1,$2,$3,12251)
$(call ListPathsSafely_Printf,$1,$2,$3,12501)
$(call ListPathsSafely_Printf,$1,$2,$3,12751)
$(call ListPathsSafely_Printf,$1,$2,$3,12001)
$(call ListPathsSafely_Printf,$1,$2,$3,12251)
$(call ListPathsSafely_Printf,$1,$2,$3,12501)
$(call ListPathsSafely_Printf,$1,$2,$3,12751)
$(call ListPathsSafely_Printf,$1,$2,$3,13001)
$(call ListPathsSafely_Printf,$1,$2,$3,13251)
$(call ListPathsSafely_Printf,$1,$2,$3,13501)
$(call ListPathsSafely_Printf,$1,$2,$3,13751)
$(call ListPathsSafely_Printf,$1,$2,$3,13001)
$(call ListPathsSafely_Printf,$1,$2,$3,13251)
$(call ListPathsSafely_Printf,$1,$2,$3,13501)
$(call ListPathsSafely_Printf,$1,$2,$3,13751)
$(call ListPathsSafely_Printf,$1,$2,$3,14001)
$(call ListPathsSafely_Printf,$1,$2,$3,14251)
$(call ListPathsSafely_Printf,$1,$2,$3,14501)
$(call ListPathsSafely_Printf,$1,$2,$3,14751)
$(call ListPathsSafely_Printf,$1,$2,$3,14001)
$(call ListPathsSafely_Printf,$1,$2,$3,14251)
$(call ListPathsSafely_Printf,$1,$2,$3,14501)
$(call ListPathsSafely_Printf,$1,$2,$3,14751)
$(call ListPathsSafely_Printf,$1,$2,$3,15001)
$(call ListPathsSafely_Printf,$1,$2,$3,15251)
$(call ListPathsSafely_Printf,$1,$2,$3,15501)
$(call ListPathsSafely_Printf,$1,$2,$3,15751)
$(call ListPathsSafely_Printf,$1,$2,$3,15001)
$(call ListPathsSafely_Printf,$1,$2,$3,15251)
$(call ListPathsSafely_Printf,$1,$2,$3,15501)
$(call ListPathsSafely_Printf,$1,$2,$3,15751)
endef
define ListPathsSafelyNow_IfPrintf
ifneq (,$$(word $4,$$($1)))
$$(eval $1_LPS$4:=$$(call compress_paths,$$(wordlist $4,$5,$$($1))))
$$(shell printf -- "$$(strip $$($1_LPS$4))\n" | $(decompress_paths) $3)
endif
ifneq (,$$(word $4,$$($1)))
$$(eval $1_LPS$4:=$$(call compress_paths,$$(wordlist $4,$5,$$($1))))
$$(shell printf -- "$$(strip $$($1_LPS$4))\n" | $(decompress_paths) $3)
endif
endef
# And an non-receipt version:
define ListPathsSafelyNow
ifneq (,$$(word 10001,$$($1)))
$$(error Cannot list safely more than 10000 paths. $1 has $$(words $$($1)) paths!)
endif
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1,250)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,251,500)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,501,750)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,751,1000)
ifneq (,$$(word 10001,$$($1)))
$$(error Cannot list safely more than 10000 paths. $1 has $$(words $$($1)) paths!)
endif
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1,250)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,251,500)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,501,750)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,751,1000)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1001,1250)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1251,1500)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1501,1750)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1751,2000)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1001,1250)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1251,1500)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1501,1750)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1751,2000)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,2001,2250)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,2251,2500)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,2501,2750)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,2751,3000)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,2001,2250)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,2251,2500)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,2501,2750)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,2751,3000)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,3001,3250)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,3251,3500)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,3501,3750)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,3751,4000)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,3001,3250)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,3251,3500)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,3501,3750)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,3751,4000)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,4001,4250)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,4251,4500)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,4501,4750)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,4751,5000)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,4001,4250)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,4251,4500)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,4501,4750)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,4751,5000)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,5001,5250)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,5251,5500)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,5501,5750)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,5751,6000)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,5001,5250)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,5251,5500)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,5501,5750)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,5751,6000)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,6001,6250)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,6251,6500)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,6501,6750)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,6751,7000)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,6001,6250)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,6251,6500)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,6501,6750)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,6751,7000)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,7001,7250)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,7251,7500)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,7501,7750)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,7751,8000)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,7001,7250)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,7251,7500)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,7501,7750)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,7751,8000)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,8001,8250)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,8251,8500)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,8501,8750)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,8751,9000)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,8001,8250)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,8251,8500)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,8501,8750)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,8751,9000)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,9001,9250)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,9251,9500)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,9501,9750)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,9751,10000)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,9001,9250)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,9251,9500)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,9501,9750)
$(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,9751,10000)
endef
# The source tips can come from the Mercurial repository, or in the files
# $(HGTIP_FILENAME) which contains the tip but is also positioned in the same
# directory as the original $(HGDIR) directory.
# These should not be := assignments, only used from the root Makefile.
# $(HGTIP_FILENAME) which contains the tip but is also positioned in the same
# directory as the original $(HGDIR) directory.
# These should not be := assignments, only used from the root Makefile.
HG_VERSION = $(shell $(HG) version 2> /dev/null)
HG_DIRECTORY=.hg
HGTIP_FILENAME=.hgtip
HG_SEARCH = ./REPO ./*/REPO ./*/*/REPO ./*/*/*/REPO
REPO_LIST = $(patsubst ./%,%,$(patsubst %/,%,$(sort $(dir \
$(shell $(CD) $(SRC_ROOT) ; ( $(LS) -d $(HG_SEARCH:%/REPO=%/$(HG_DIRECTORY)) ; \
$(LS) $(HG_SEARCH:%/REPO=%/$(HGTIP_FILENAME)) ) \
2> /dev/null)))))
$(LS) $(HG_SEARCH:%/REPO=%/$(HGTIP_FILENAME)) ) \
2> /dev/null)))))
# Emit the repo:tip pairs to $@
define GetSourceTips
$(CD) $(SRC_ROOT) ; \
for i in $(REPO_LIST) IGNORE ; do \
if [ "$${i}" = "IGNORE" ] ; then \
continue; \
elif [ -d $${i}/$(HG_DIRECTORY) -a "$(HG_VERSION)" != "" ] ; then \
$(PRINTF) " %s:%s" \
"$${i}" `$(HG) tip --repository $${i} --template '{node|short}\n'` ; \
elif [ -f $${i}/$(HGTIP_FILENAME) ] ; then \
$(PRINTF) " %s:%s" \
"$${i}" `$(CAT) $${i}/$(HGTIP_FILENAME)` ; \
fi; \
done >> $@
$(PRINTF) "\n" >> $@
$(CD) $(SRC_ROOT) ; \
for i in $(REPO_LIST) IGNORE ; do \
if [ "$${i}" = "IGNORE" ] ; then \
continue; \
elif [ -d $${i}/$(HG_DIRECTORY) -a "$(HG_VERSION)" != "" ] ; then \
$(PRINTF) " %s:%s" \
"$${i}" `$(HG) tip --repository $${i} --template '{node|short}\n'` ; \
elif [ -f $${i}/$(HGTIP_FILENAME) ] ; then \
$(PRINTF) " %s:%s" \
"$${i}" `$(CAT) $${i}/$(HGTIP_FILENAME)` ; \
fi; \
done >> $@
$(PRINTF) "\n" >> $@
endef
# Create the HGTIP_FILENAME file. Called from jdk/make/closed/bundles.gmk
define CreateHgTip
$(HG) tip --repository $1 --template '{node|short}\n' > $1/$(HGTIP_FILENAME);\
$(ECHO) $1/$(HGTIP_FILENAME)
$(HG) tip --repository $1 --template '{node|short}\n' > $1/$(HGTIP_FILENAME); \
$(ECHO) $1/$(HGTIP_FILENAME)
endef
define SetupLogging
ifeq ($$(LOG_LEVEL),trace)
# Shell redefinition trick inspired by http://www.cmcrossroads.com/ask-mr-make/6535-tracing-rule-execution-in-gnu-make
# For each target executed, will print
# Building <TARGET> (from <FIRST PREREQUISITE>) (<ALL NEWER PREREQUISITES> newer)
# but with a limit of 20 on <ALL NEWER PREREQUISITES>, to avoid cluttering logs too much
# (and causing a crash on Cygwin).
# Default shell seems to always be /bin/sh. Must override with bash to get this to work on Solaris.
# Only use time if it's GNU time which supports format and output file.
WRAPPER_SHELL:=/bin/bash $$(SRC_ROOT)/common/bin/shell-tracer.sh $$(if $$(findstring yes,$$(IS_GNU_TIME)),$$(TIME),-) $$(OUTPUT_ROOT)/build-trace-time.log /bin/bash
SHELL=$$(warning $$(if $$@,Building $$@,Running shell command) $$(if $$<, (from $$<))$$(if $$?, ($$(wordlist 1, 20, $$?) $$(if $$(wordlist 21, 22, $$?), ... [in total $$(words $$?) files]) newer)))$$(WRAPPER_SHELL)
endif
# Never remove warning messages; this is just for completeness
LOG_WARN=
ifneq ($$(findstring $$(LOG_LEVEL),info debug trace),)
LOG_INFO=
else
LOG_INFO=> /dev/null
endif
ifneq ($$(findstring $$(LOG_LEVEL),debug trace),)
LOG_DEBUG=
else
LOG_DEBUG=> /dev/null
endif
ifneq ($$(findstring $$(LOG_LEVEL),trace),)
LOG_TRACE=
else
LOG_TRACE=> /dev/null
endif
ifeq ($$(LOG_LEVEL),trace)
# Shell redefinition trick inspired by http://www.cmcrossroads.com/ask-mr-make/6535-tracing-rule-execution-in-gnu-make
# For each target executed, will print
# Building <TARGET> (from <FIRST PREREQUISITE>) (<ALL NEWER PREREQUISITES> newer)
# but with a limit of 20 on <ALL NEWER PREREQUISITES>, to avoid cluttering logs too much
# (and causing a crash on Cygwin).
# Default shell seems to always be /bin/sh. Must override with bash to get this to work on Solaris.
# Only use time if it's GNU time which supports format and output file.
WRAPPER_SHELL:=/bin/bash $$(SRC_ROOT)/common/bin/shell-tracer.sh $$(if $$(findstring yes,$$(IS_GNU_TIME)),$$(TIME),-) $$(OUTPUT_ROOT)/build-trace-time.log /bin/bash
SHELL=$$(warning $$(if $$@,Building $$@,Running shell command) $$(if $$<, (from $$<))$$(if $$?, ($$(wordlist 1, 20, $$?) $$(if $$(wordlist 21, 22, $$?), ... [in total $$(words $$?) files]) newer)))$$(WRAPPER_SHELL)
endif
# Never remove warning messages; this is just for completeness
LOG_WARN=
ifneq ($$(findstring $$(LOG_LEVEL),info debug trace),)
LOG_INFO=
else
LOG_INFO=> /dev/null
endif
ifneq ($$(findstring $$(LOG_LEVEL),debug trace),)
LOG_DEBUG=
else
LOG_DEBUG=> /dev/null
endif
ifneq ($$(findstring $$(LOG_LEVEL),trace),)
LOG_TRACE=
else
LOG_TRACE=> /dev/null
endif
endef
# Make sure logging is setup for everyone that includes MakeBase.gmk.
@@ -363,43 +365,43 @@ $(eval $(call SetupLogging))
# This is to be called by all SetupFoo macros
define LogSetupMacroEntry
$(if $(27),$(error Internal makefile error: Too many arguments to LogSetupMacroEntry, please update MakeBase.gmk))
$(if $(findstring $(LOG_LEVEL),debug trace), $(info $1 $(foreach i,2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26,$(if $($i),$(NEWLINE) $(strip [$i] $($i))))))
$(if $(27),$(error Internal makefile error: Too many arguments to LogSetupMacroEntry, please update MakeBase.gmk))
$(if $(findstring $(LOG_LEVEL),debug trace), $(info $1 $(foreach i,2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26,$(if $($i),$(NEWLINE) $(strip [$i] $($i))))))
endef
# Make directory without forking mkdir if not needed
define MakeDir
ifneq ($$(wildcard $1 $2 $3 $4 $5 $6 $7 $8 $9),$$(strip $1 $2 $3 $4 $5 $6 $7 $8 $9))
$$(shell $(MKDIR) -p $1 $2 $3 $4 $5 $6 $7 $8 $9)
endif
ifneq ($$(wildcard $1 $2 $3 $4 $5 $6 $7 $8 $9),$$(strip $1 $2 $3 $4 $5 $6 $7 $8 $9))
$$(shell $(MKDIR) -p $1 $2 $3 $4 $5 $6 $7 $8 $9)
endif
endef
ifeq ($(OPENJDK_TARGET_OS),solaris)
# On Solaris, if the target is a symlink and exists, cp won't overwrite.
# Cp has to operate in recursive mode to allow for -P flag, to preserve soft links. If the
# name of the target file differs from the source file, rename after copy.
define install-file
# On Solaris, if the target is a symlink and exists, cp won't overwrite.
# Cp has to operate in recursive mode to allow for -P flag, to preserve soft links. If the
# name of the target file differs from the source file, rename after copy.
define install-file
$(MKDIR) -p $(@D)
$(RM) '$@'
$(CP) -f -r -P '$<' '$(@D)'
if [ "$(@F)" != "$(<F)" ]; then $(MV) '$(@D)/$(<F)' '$@'; fi
endef
endef
else ifeq ($(OPENJDK_TARGET_OS),macosx)
# On mac, extended attributes sometimes creep into the source files, which may later
# cause the creation of ._* files which confuses testing. Clear these with xattr if
# set. Some files get their write permissions removed after being copied to the
# output dir. When these are copied again to images, xattr would fail. By only clearing
# attributes when they are present, failing on this is avoided.
define install-file
# On mac, extended attributes sometimes creep into the source files, which may later
# cause the creation of ._* files which confuses testing. Clear these with xattr if
# set. Some files get their write permissions removed after being copied to the
# output dir. When these are copied again to images, xattr would fail. By only clearing
# attributes when they are present, failing on this is avoided.
define install-file
$(MKDIR) -p $(@D)
$(CP) -fRP '$<' '$@'
if [ -n "`$(XATTR) -l '$@'`" ]; then $(XATTR) -c '$@'; fi
endef
endef
else
define install-file
define install-file
$(MKDIR) -p $(@D)
$(CP) -fP '$<' '$@'
endef
endef
endif
# Convenience functions for working around make's limitations with $(filter ).
@@ -409,25 +411,25 @@ not-containing = $(foreach v,$2,$(if $(findstring $1,$v),,$v))
################################################################################
# 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
# 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.
#
# Needs to be called with $(eval )
#
#
# Param 1 - Dir to find in
ifeq ($(OPENJDK_BUILD_OS),windows)
define FillCacheFind
define FillCacheFind
FIND_CACHE_DIR += $1
FIND_CACHE := $$(sort $$(FIND_CACHE) $$(shell $(FIND) $1 -type f -o -type l))
endef
endef
else
define FillCacheFind
endef
define FillCacheFind
endef
endif
# Mimics find by looking in the cache if all of the directories have been cached.
@@ -437,9 +439,9 @@ endif
# The extra - is needed when FIND_CACHE_DIR is empty but should be harmless.
# Param 1 - Dirs to find in
define CacheFind
$(if $(filter-out $(addsuffix %,- $(FIND_CACHE_DIR)),$1),\
$(shell $(FIND) $1 -type f -o -type l),\
$(filter $(addsuffix %,$1),$(FIND_CACHE)))
$(if $(filter-out $(addsuffix %,- $(FIND_CACHE_DIR)),$1), \
$(shell $(FIND) $1 -type f -o -type l), \
$(filter $(addsuffix %,$1),$(FIND_CACHE)))
endef
################################################################################

View File

@@ -26,7 +26,7 @@
################################################################
#
# This file contains helper functions for the top-level Makefile that does
# not depend on the spec.gmk file having been read. (The purpose of this
# not depend on the spec.gmk file having been read. (The purpose of this
# file is ju to avoid cluttering the top-level Makefile.)
#
################################################################
@@ -49,7 +49,7 @@ list_alt_overrides=$(subst =command,,$(subst =environment,,$(list_alt_overrides_
BUILDTIMESDIR=$(OUTPUT_ROOT)/tmp/buildtimes
# Global targets are possible to run either with or without a SPEC. The prototypical
# global target is "help".
# global target is "help".
global_targets=help jprt% bridgeBuild
##############################
@@ -57,55 +57,55 @@ global_targets=help jprt% bridgeBuild
##############################
define CheckEnvironment
# Find all environment or command line variables that begin with ALT.
$(if $(list_alt_overrides),
@$(PRINTF) "\nWARNING: You have the following ALT_ variables set:\n"
@$(PRINTF) "$(foreach var,$(list_alt_overrides),$(var)=$$$(var))\n"
@$(PRINTF) "ALT_ variables are deprecated and will be ignored. Please clean your environment.\n\n"
)
# Find all environment or command line variables that begin with ALT.
$(if $(list_alt_overrides),
@$(PRINTF) "\nWARNING: You have the following ALT_ variables set:\n"
@$(PRINTF) "$(foreach var,$(list_alt_overrides),$(var)=$$$(var))\n"
@$(PRINTF) "ALT_ variables are deprecated and will be ignored. Please clean your environment.\n\n"
)
endef
### Functions for timers
# Record starting time for build of a sub repository.
define RecordStartTime
$(MKDIR) -p $(BUILDTIMESDIR)
$(DATE) '+%Y %m %d %H %M %S' | $(NAWK) '{ print $$1,$$2,$$3,$$4,$$5,$$6,($$4*3600+$$5*60+$$6) }' > $(BUILDTIMESDIR)/build_time_start_$1
$(DATE) '+%Y-%m-%d %H:%M:%S' > $(BUILDTIMESDIR)/build_time_start_$1_human_readable
$(MKDIR) -p $(BUILDTIMESDIR)
$(DATE) '+%Y %m %d %H %M %S' | $(NAWK) '{ print $$1,$$2,$$3,$$4,$$5,$$6,($$4*3600+$$5*60+$$6) }' > $(BUILDTIMESDIR)/build_time_start_$1
$(DATE) '+%Y-%m-%d %H:%M:%S' > $(BUILDTIMESDIR)/build_time_start_$1_human_readable
endef
# Record ending time and calculate the difference and store it in a
# easy to read format. Handles builds that cross midnight. Expects
# that a build will never take 24 hours or more.
# that a build will never take 24 hours or more.
define RecordEndTime
$(DATE) '+%Y %m %d %H %M %S' | $(NAWK) '{ print $$1,$$2,$$3,$$4,$$5,$$6,($$4*3600+$$5*60+$$6) }' > $(BUILDTIMESDIR)/build_time_end_$1
$(DATE) '+%Y-%m-%d %H:%M:%S' > $(BUILDTIMESDIR)/build_time_end_$1_human_readable
$(ECHO) `$(CAT) $(BUILDTIMESDIR)/build_time_start_$1` `$(CAT) $(BUILDTIMESDIR)/build_time_end_$1` $1 | \
$(NAWK) '{ F=$$7; T=$$14; if (F > T) { T+=3600*24 }; D=T-F; H=int(D/3600); \
M=int((D-H*3600)/60); S=D-H*3600-M*60; printf("%02d:%02d:%02d %s\n",H,M,S,$$15); }' \
> $(BUILDTIMESDIR)/build_time_diff_$1
$(DATE) '+%Y %m %d %H %M %S' | $(NAWK) '{ print $$1,$$2,$$3,$$4,$$5,$$6,($$4*3600+$$5*60+$$6) }' > $(BUILDTIMESDIR)/build_time_end_$1
$(DATE) '+%Y-%m-%d %H:%M:%S' > $(BUILDTIMESDIR)/build_time_end_$1_human_readable
$(ECHO) `$(CAT) $(BUILDTIMESDIR)/build_time_start_$1` `$(CAT) $(BUILDTIMESDIR)/build_time_end_$1` $1 | \
$(NAWK) '{ F=$$7; T=$$14; if (F > T) { T+=3600*24 }; D=T-F; H=int(D/3600); \
M=int((D-H*3600)/60); S=D-H*3600-M*60; printf("%02d:%02d:%02d %s\n",H,M,S,$$15); }' \
> $(BUILDTIMESDIR)/build_time_diff_$1
endef
# Find all build_time_* files and print their contents in a list sorted
# on the name of the sub repository.
define ReportBuildTimes
$(BUILD_LOG_WRAPPER) $(PRINTF) -- "----- Build times -------\nStart %s\nEnd %s\n%s\n%s\n-------------------------\n" \
"`$(CAT) $(BUILDTIMESDIR)/build_time_start_TOTAL_human_readable`" \
"`$(CAT) $(BUILDTIMESDIR)/build_time_end_TOTAL_human_readable`" \
"`$(LS) $(BUILDTIMESDIR)/build_time_diff_* | $(GREP) -v _TOTAL | $(XARGS) $(CAT) | $(SORT) -k 2`" \
"`$(CAT) $(BUILDTIMESDIR)/build_time_diff_TOTAL`"
$(BUILD_LOG_WRAPPER) $(PRINTF) -- "----- Build times -------\nStart %s\nEnd %s\n%s\n%s\n-------------------------\n" \
"`$(CAT) $(BUILDTIMESDIR)/build_time_start_TOTAL_human_readable`" \
"`$(CAT) $(BUILDTIMESDIR)/build_time_end_TOTAL_human_readable`" \
"`$(LS) $(BUILDTIMESDIR)/build_time_diff_* | $(GREP) -v _TOTAL | $(XARGS) $(CAT) | $(SORT) -k 2`" \
"`$(CAT) $(BUILDTIMESDIR)/build_time_diff_TOTAL`"
endef
define ResetAllTimers
$$(shell $(MKDIR) -p $(BUILDTIMESDIR) && $(RM) $(BUILDTIMESDIR)/build_time_*)
$$(shell $(MKDIR) -p $(BUILDTIMESDIR) && $(RM) $(BUILDTIMESDIR)/build_time_*)
endef
define StartGlobalTimer
$(call RecordStartTime,TOTAL)
$(call RecordStartTime,TOTAL)
endef
define StopGlobalTimer
$(call RecordEndTime,TOTAL)
$(call RecordEndTime,TOTAL)
endef
### Functions for managing makefile structure (start/end of makefile and individual targets)
@@ -123,184 +123,184 @@ endef
# Check if the current target is the final target, as specified by
# the user on the command line. If so, call AtRootMakeEnd.
define CheckIfMakeAtEnd
# Check if the current target is the last goal
$(if $(filter $@,$(call LastGoal)),$(call AtMakeEnd))
# If the target is 'foo-only', check if our goal was stated as 'foo'
$(if $(filter $@,$(call LastGoal)-only),$(call AtMakeEnd))
# Check if the current target is the last goal
$(if $(filter $@,$(call LastGoal)),$(call AtMakeEnd))
# If the target is 'foo-only', check if our goal was stated as 'foo'
$(if $(filter $@,$(call LastGoal)-only),$(call AtMakeEnd))
endef
# Hook to be called when starting to execute a top-level target
define TargetEnter
$(BUILD_LOG_WRAPPER) $(PRINTF) "## Starting $(patsubst %-only,%,$@)\n"
$(call RecordStartTime,$(patsubst %-only,%,$@))
$(BUILD_LOG_WRAPPER) $(PRINTF) "## Starting $(patsubst %-only,%,$@)\n"
$(call RecordStartTime,$(patsubst %-only,%,$@))
endef
# Hook to be called when finish executing a top-level target
define TargetExit
$(call RecordEndTime,$(patsubst %-only,%,$@))
$(BUILD_LOG_WRAPPER) $(PRINTF) "## Finished $(patsubst %-only,%,$@) (build time %s)\n\n" \
"`$(CAT) $(BUILDTIMESDIR)/build_time_diff_$(patsubst %-only,%,$@) | $(CUT) -f 1 -d ' '`"
$(call CheckIfMakeAtEnd)
$(call RecordEndTime,$(patsubst %-only,%,$@))
$(BUILD_LOG_WRAPPER) $(PRINTF) "## Finished $(patsubst %-only,%,$@) (build time %s)\n\n" \
"`$(CAT) $(BUILDTIMESDIR)/build_time_diff_$(patsubst %-only,%,$@) | $(CUT) -f 1 -d ' '`"
$(call CheckIfMakeAtEnd)
endef
# Hook to be called as the very first thing when running a normal build
define AtMakeStart
$(if $(findstring --jobserver,$(MAKEFLAGS)),$(error make -j is not supported, use make JOBS=n))
$(call CheckEnvironment)
@$(PRINTF) $(LOG_INFO) "Running make as '$(MAKE) $(MFLAGS) $(MAKE_ARGS)'\n"
@$(PRINTF) "Building $(PRODUCT_NAME) for target '$(call GetRealTarget)' in configuration '$(CONF_NAME)'\n\n"
$(call StartGlobalTimer)
$(if $(findstring --jobserver,$(MAKEFLAGS)),$(error make -j is not supported, use make JOBS=n))
$(call CheckEnvironment)
@$(PRINTF) $(LOG_INFO) "Running make as '$(MAKE) $(MFLAGS) $(MAKE_ARGS)'\n"
@$(PRINTF) "Building $(PRODUCT_NAME) for target '$(call GetRealTarget)' in configuration '$(CONF_NAME)'\n\n"
$(call StartGlobalTimer)
endef
# Hook to be called as the very last thing for targets that are "top level" targets
define AtMakeEnd
[ -f $(SJAVAC_SERVER_DIR)/server.port ] && echo Stopping sjavac server && $(TOUCH) $(SJAVAC_SERVER_DIR)/server.port.stop; true
$(call StopGlobalTimer)
$(call ReportBuildTimes)
@$(PRINTF) "Finished building $(PRODUCT_NAME) for target '$(call GetRealTarget)'\n"
$(call CheckEnvironment)
[ -f $(SJAVAC_SERVER_DIR)/server.port ] && echo Stopping sjavac server && $(TOUCH) $(SJAVAC_SERVER_DIR)/server.port.stop; true
$(call StopGlobalTimer)
$(call ReportBuildTimes)
@$(PRINTF) "Finished building $(PRODUCT_NAME) for target '$(call GetRealTarget)'\n"
$(call CheckEnvironment)
endef
### Functions for parsing and setting up make options from command-line
define FatalError
# If the user specificed a "global" target (e.g. 'help'), do not exit but continue running
$$(if $$(filter-out $(global_targets),$$(call GetRealTarget)),$$(error Cannot continue))
# If the user specificed a "global" target (e.g. 'help'), do not exit but continue running
$$(if $$(filter-out $(global_targets),$$(call GetRealTarget)),$$(error Cannot continue))
endef
define ParseLogLevel
ifeq ($$(origin VERBOSE),undefined)
# Setup logging according to LOG (but only if VERBOSE is not given)
ifeq ($$(origin VERBOSE),undefined)
# Setup logging according to LOG (but only if VERBOSE is not given)
# If the "nofile" argument is given, act on it and strip it away
ifneq ($$(findstring nofile,$$(LOG)),)
# Reset the build log wrapper, regardless of other values
override BUILD_LOG_WRAPPER=
# COMMA is defined in spec.gmk, but that is not included yet
COMMA=,
# First try to remove ",nofile" if it exists
LOG_STRIPPED1=$$(subst $$(COMMA)nofile,,$$(LOG))
# Otherwise just remove "nofile"
LOG_STRIPPED2=$$(subst nofile,,$$(LOG_STRIPPED1))
# We might have ended up with a leading comma. Remove it
LOG_STRIPPED3=$$(strip $$(patsubst $$(COMMA)%,%,$$(LOG_STRIPPED2)))
LOG_LEVEL:=$$(LOG_STRIPPED3)
else
LOG_LEVEL:=$$(LOG)
endif
ifeq ($$(LOG_LEVEL),)
# Set LOG to "warn" as default if not set (and no VERBOSE given)
override LOG_LEVEL=warn
endif
ifeq ($$(LOG_LEVEL),warn)
VERBOSE=-s
else ifeq ($$(LOG_LEVEL),info)
VERBOSE=-s
else ifeq ($$(LOG_LEVEL),debug)
VERBOSE=
else ifeq ($$(LOG_LEVEL),trace)
VERBOSE=
else
$$(info Error: LOG must be one of: warn, info, debug or trace.)
$$(eval $$(call FatalError))
endif
# If the "nofile" argument is given, act on it and strip it away
ifneq ($$(findstring nofile,$$(LOG)),)
# Reset the build log wrapper, regardless of other values
override BUILD_LOG_WRAPPER=
# COMMA is defined in spec.gmk, but that is not included yet
COMMA=,
# First try to remove ",nofile" if it exists
LOG_STRIPPED1=$$(subst $$(COMMA)nofile,,$$(LOG))
# Otherwise just remove "nofile"
LOG_STRIPPED2=$$(subst nofile,,$$(LOG_STRIPPED1))
# We might have ended up with a leading comma. Remove it
LOG_STRIPPED3=$$(strip $$(patsubst $$(COMMA)%,%,$$(LOG_STRIPPED2)))
LOG_LEVEL:=$$(LOG_STRIPPED3)
else
# Provide resonable interpretations of LOG_LEVEL if VERBOSE is given.
ifeq ($(VERBOSE),)
LOG_LEVEL:=debug
else
LOG_LEVEL:=warn
endif
ifneq ($$(LOG),)
# We have both a VERBOSE and a LOG argument. This is OK only if this is a repeated call by ourselves,
# but complain if this is the top-level make call.
ifeq ($$(MAKELEVEL),0)
$$(info Cannot use LOG=$$(LOG) and VERBOSE=$$(VERBOSE) at the same time. Choose one.)
$$(eval $$(call FatalError))
endif
endif
LOG_LEVEL:=$$(LOG)
endif
ifeq ($$(LOG_LEVEL),)
# Set LOG to "warn" as default if not set (and no VERBOSE given)
override LOG_LEVEL=warn
endif
ifeq ($$(LOG_LEVEL),warn)
VERBOSE=-s
else ifeq ($$(LOG_LEVEL),info)
VERBOSE=-s
else ifeq ($$(LOG_LEVEL),debug)
VERBOSE=
else ifeq ($$(LOG_LEVEL),trace)
VERBOSE=
else
$$(info Error: LOG must be one of: warn, info, debug or trace.)
$$(eval $$(call FatalError))
endif
else
# Provide resonable interpretations of LOG_LEVEL if VERBOSE is given.
ifeq ($(VERBOSE),)
LOG_LEVEL:=debug
else
LOG_LEVEL:=warn
endif
ifneq ($$(LOG),)
# We have both a VERBOSE and a LOG argument. This is OK only if this is a repeated call by ourselves,
# but complain if this is the top-level make call.
ifeq ($$(MAKELEVEL),0)
$$(info Cannot use LOG=$$(LOG) and VERBOSE=$$(VERBOSE) at the same time. Choose one.)
$$(eval $$(call FatalError))
endif
endif
endif
endef
define ParseConfAndSpec
ifneq ($$(filter-out $(global_targets),$$(call GetRealTarget)),)
# If we only have global targets, no need to bother with SPEC or CONF
ifneq ($$(origin SPEC),undefined)
# We have been given a SPEC, check that it works out properly
ifeq ($$(wildcard $$(SPEC)),)
$$(info Cannot locate spec.gmk, given by SPEC=$$(SPEC))
$$(eval $$(call FatalError))
endif
ifneq ($$(origin CONF),undefined)
# We also have a CONF argument. This is OK only if this is a repeated call by ourselves,
# but complain if this is the top-level make call.
ifeq ($$(MAKELEVEL),0)
$$(info Cannot use CONF=$$(CONF) and SPEC=$$(SPEC) at the same time. Choose one.)
$$(eval $$(call FatalError))
endif
endif
# ... OK, we're satisfied, we'll use this SPEC later on
else
# Find all spec.gmk files in the build output directory
output_dir=$$(root_dir)/build
all_spec_files=$$(wildcard $$(output_dir)/*/spec.gmk)
ifeq ($$(all_spec_files),)
$$(info No configurations found for $$(root_dir)! Please run configure to create a configuration.)
$$(eval $$(call FatalError))
endif
# Extract the configuration names from the path
all_confs=$$(patsubst %/spec.gmk,%,$$(patsubst $$(output_dir)/%,%,$$(all_spec_files)))
ifneq ($$(origin CONF),undefined)
# User have given a CONF= argument.
ifeq ($$(CONF),)
# If given CONF=, match all configurations
matching_confs=$$(strip $$(all_confs))
else
# Otherwise select those that contain the given CONF string
matching_confs=$$(strip $$(foreach var,$$(all_confs),$$(if $$(findstring $$(CONF),$$(var)),$$(var))))
endif
ifeq ($$(matching_confs),)
$$(info No configurations found matching CONF=$$(CONF))
$$(info Available configurations:)
$$(foreach var,$$(all_confs),$$(info * $$(var)))
$$(eval $$(call FatalError))
else
ifeq ($$(words $$(matching_confs)),1)
$$(info Building '$$(matching_confs)' (matching CONF=$$(CONF)))
else
$$(info Building target '$(call GetRealTarget)' in the following configurations (matching CONF=$$(CONF)):)
$$(foreach var,$$(matching_confs),$$(info * $$(var)))
endif
endif
# Create a SPEC definition. This will contain the path to one or more spec.gmk files.
SPEC=$$(addsuffix /spec.gmk,$$(addprefix $$(output_dir)/,$$(matching_confs)))
else
# No CONF or SPEC given, check the available configurations
ifneq ($$(words $$(all_spec_files)),1)
$$(info No CONF given, but more than one configuration found in $$(output_dir).)
$$(info Available configurations:)
$$(foreach var,$$(all_confs),$$(info * $$(var)))
$$(info Please retry building with CONF=<config pattern> (or SPEC=<specfile>))
$$(eval $$(call FatalError))
endif
# We found exactly one configuration, use it
SPEC=$$(strip $$(all_spec_files))
endif
ifneq ($$(filter-out $(global_targets),$$(call GetRealTarget)),)
# If we only have global targets, no need to bother with SPEC or CONF
ifneq ($$(origin SPEC),undefined)
# We have been given a SPEC, check that it works out properly
ifeq ($$(wildcard $$(SPEC)),)
$$(info Cannot locate spec.gmk, given by SPEC=$$(SPEC))
$$(eval $$(call FatalError))
endif
ifneq ($$(origin CONF),undefined)
# We also have a CONF argument. This is OK only if this is a repeated call by ourselves,
# but complain if this is the top-level make call.
ifeq ($$(MAKELEVEL),0)
$$(info Cannot use CONF=$$(CONF) and SPEC=$$(SPEC) at the same time. Choose one.)
$$(eval $$(call FatalError))
endif
endif
# ... OK, we're satisfied, we'll use this SPEC later on
else
# Find all spec.gmk files in the build output directory
output_dir=$$(root_dir)/build
all_spec_files=$$(wildcard $$(output_dir)/*/spec.gmk)
ifeq ($$(all_spec_files),)
$$(info No configurations found for $$(root_dir)! Please run configure to create a configuration.)
$$(eval $$(call FatalError))
endif
# Extract the configuration names from the path
all_confs=$$(patsubst %/spec.gmk,%,$$(patsubst $$(output_dir)/%,%,$$(all_spec_files)))
ifneq ($$(origin CONF),undefined)
# User have given a CONF= argument.
ifeq ($$(CONF),)
# If given CONF=, match all configurations
matching_confs=$$(strip $$(all_confs))
else
# Otherwise select those that contain the given CONF string
matching_confs=$$(strip $$(foreach var,$$(all_confs),$$(if $$(findstring $$(CONF),$$(var)),$$(var))))
endif
ifeq ($$(matching_confs),)
$$(info No configurations found matching CONF=$$(CONF))
$$(info Available configurations:)
$$(foreach var,$$(all_confs),$$(info * $$(var)))
$$(eval $$(call FatalError))
else
ifeq ($$(words $$(matching_confs)),1)
$$(info Building '$$(matching_confs)' (matching CONF=$$(CONF)))
else
$$(info Building target '$(call GetRealTarget)' in the following configurations (matching CONF=$$(CONF)):)
$$(foreach var,$$(matching_confs),$$(info * $$(var)))
endif
endif
# Create a SPEC definition. This will contain the path to one or more spec.gmk files.
SPEC=$$(addsuffix /spec.gmk,$$(addprefix $$(output_dir)/,$$(matching_confs)))
else
# No CONF or SPEC given, check the available configurations
ifneq ($$(words $$(all_spec_files)),1)
$$(info No CONF given, but more than one configuration found in $$(output_dir).)
$$(info Available configurations:)
$$(foreach var,$$(all_confs),$$(info * $$(var)))
$$(info Please retry building with CONF=<config pattern> (or SPEC=<specfile>))
$$(eval $$(call FatalError))
endif
# We found exactly one configuration, use it
SPEC=$$(strip $$(all_spec_files))
endif
endif
endif
endef
### Convenience functions from Main.gmk
# Cleans the component given as $1
define CleanComponent
@$(PRINTF) "Cleaning $1 build artifacts ..."
@($(CD) $(OUTPUT_ROOT) && $(RM) -r $1)
@$(PRINTF) " done\n"
@$(PRINTF) "Cleaning $1 build artifacts ..."
@($(CD) $(OUTPUT_ROOT) && $(RM) -r $1)
@$(PRINTF) " done\n"
endef
endif # _MAKEHELPERS_GMK

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2013, 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
@@ -24,74 +24,73 @@
#
define SetupRMICompilation
# param 1 is a name for a variable to depend on.
# param 2 and up are named args.
# CLASSES:=List of classes to generate stubs for
# CLASSES_DIR:=Directory where to look for classes
# STUB_CLASSES_DIR:=Directory in where to put stub classes
# RUN_V11:=Set to run rmic with -v1.1
# RUN_V12:=Set to run rmic with -v1.2
# RUN_IIOP:=Set to run rmic with -iiop
# RUN_IIOP_STDPKG:=Set to run rmic with -iiop -standardPackage
# KEEP_GENERATED:=Set to keep generated sources around
$(foreach i,2 3 4 5 6 7 8 9 10 11 12 13 14 15, $(if $($i),$1_$(strip $($i)))$(NEWLINE))
$(call LogSetupMacroEntry,SetupRMICompilation($1),$2,$3,$4,$5,$6,$7,$8,$9,$(10),$(11),$(12),$(13),$(14),$(15))
$(if $(16),$(error Internal makefile error: Too many arguments to SetupRMICompilation, please update RMICompilation.gmk))
# param 1 is a name for a variable to depend on.
# param 2 and up are named args.
# CLASSES:=List of classes to generate stubs for
# CLASSES_DIR:=Directory where to look for classes
# STUB_CLASSES_DIR:=Directory in where to put stub classes
# RUN_V11:=Set to run rmic with -v1.1
# RUN_V12:=Set to run rmic with -v1.2
# RUN_IIOP:=Set to run rmic with -iiop
# RUN_IIOP_STDPKG:=Set to run rmic with -iiop -standardPackage
# KEEP_GENERATED:=Set to keep generated sources around
$(foreach i,2 3 4 5 6 7 8 9 10 11 12 13 14 15, $(if $($i),$1_$(strip $($i)))$(NEWLINE))
$(call LogSetupMacroEntry,SetupRMICompilation($1),$2,$3,$4,$5,$6,$7,$8,$9,$(10),$(11),$(12),$(13),$(14),$(15))
$(if $(16),$(error Internal makefile error: Too many arguments to SetupRMICompilation, please update RMICompilation.gmk))
$1_DEP_FILE := $$($1_STUB_CLASSES_DIR)/$1_rmic
$1_DEP_FILE := $$($1_STUB_CLASSES_DIR)/_the.$1_rmic.generated
$1_CLASSES_SLASH := $$(subst .,/,$$($1_CLASSES))
$1_CLASS_FILES := $$(addprefix $$($1_CLASSES_DIR)/,$$(addsuffix .class,$$($1_CLASSES_SLASH)))
$1_STUB_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/,$$(addsuffix _Stub.class,$$($1_CLASSES_SLASH)))
$1_TARGETS := $$($1_STUB_FILES)
$1_ARGS :=
ifneq (,$$($1_RUN_V11))
$1_SKEL_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/,$$(addsuffix _Skel.class,$$($1_CLASSES_SLASH)))
$1_TARGETS += $$($1_SKEL_FILES)
$1_ARGS += -v1.1
endif
ifneq (,$$($1_RUN_V12))
$1_ARGS += -v1.2
endif
$1_CLASSES_SLASH := $$(subst .,/,$$($1_CLASSES))
$1_CLASS_FILES := $$(addprefix $$($1_CLASSES_DIR)/,$$(addsuffix .class,$$($1_CLASSES_SLASH)))
$1_STUB_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/,$$(addsuffix _Stub.class,$$($1_CLASSES_SLASH)))
$1_TARGETS := $$($1_STUB_FILES)
$1_ARGS :=
ifneq (,$$($1_RUN_V11))
$1_SKEL_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/,$$(addsuffix _Skel.class,$$($1_CLASSES_SLASH)))
$1_TARGETS += $$($1_SKEL_FILES)
$1_ARGS += -v1.1
endif
ifneq (,$$($1_RUN_V12))
$1_ARGS += -v1.2
endif
$1_TIE_BASE_FILES := $$(foreach f,$$($1_CLASSES_SLASH),$$(dir $$f)_$$(notdir $$f))
$1_TIE_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/org/omg/stub/,$$(addsuffix _Tie.class,$$($1_TIE_BASE_FILES)))
$1_TIE_STDPKG_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/,$$(addsuffix _Tie.class,$$($1_TIE_BASE_FILES)))
$1_TIE_BASE_FILES := $$(foreach f,$$($1_CLASSES_SLASH),$$(dir $$f)_$$(notdir $$f))
$1_TIE_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/org/omg/stub/,$$(addsuffix _Tie.class,$$($1_TIE_BASE_FILES)))
$1_TIE_STDPKG_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/,$$(addsuffix _Tie.class,$$($1_TIE_BASE_FILES)))
ifneq (,$$($1_RUN_IIOP))
$1_TARGETS += $$($1_TIE_FILES)
$1_ARGS += -iiop
endif
ifneq (,$$($1_RUN_IIOP_STDPKG))
$1_TARGETS += $$($1_TIE_STDPKG_FILES)
$1_ARGS2 := -iiop -standardPackage
endif
ifneq (,$$($1_RUN_IIOP))
$1_TARGETS += $$($1_TIE_FILES)
$1_ARGS += -iiop -emitPermissionCheck
endif
ifneq (,$$($1_RUN_IIOP_STDPKG))
$1_TARGETS += $$($1_TIE_STDPKG_FILES)
$1_ARGS2 := -iiop -emitPermissionCheck -standardPackage
endif
ifneq (,$$($1_KEEP_GENERATED))
$1_ARGS += -keepgenerated
$1_TARGETS += $$(subst .class,.java,$$($1_TARGETS))
endif
ifneq (,$$($1_KEEP_GENERATED))
$1_ARGS += -keepgenerated
$1_TARGETS += $$(subst .class,.java,$$($1_TARGETS))
endif
$1_DOLLAR_SAFE_CLASSES := $$(subst $$$$,\$$$$,$$($1_CLASSES))
$1_DOLLAR_SAFE_CLASSES := $$(subst $$$$,\$$$$,$$($1_CLASSES))
$$($1_TARGETS): $$($1_DEP_FILE) $$($1_CLASS_FILES)
$$($1_TARGETS): $$($1_DEP_FILE) $$($1_CLASS_FILES)
$$($1_DEP_FILE): $$($1_CLASS_FILES)
$$($1_DEP_FILE): $$($1_CLASS_FILES)
$(MKDIR) -p $$($1_STUB_CLASSES_DIR)
if [ "x$$($1_ARGS)" != "x" ]; then \
$(ECHO) $(LOG_INFO) Running rmic $$($1_ARGS) for $$($1_DOLLAR_SAFE_CLASSES) &&\
$(RMIC) $$($1_ARGS) -classpath "$$($1_CLASSES_DIR)" \
-d $$($1_STUB_CLASSES_DIR) $$($1_DOLLAR_SAFE_CLASSES);\
$(ECHO) $(LOG_INFO) Running rmic $$($1_ARGS) for $$($1_DOLLAR_SAFE_CLASSES) && \
$(RMIC) $$($1_ARGS) -classpath "$$($1_CLASSES_DIR)" \
-d $$($1_STUB_CLASSES_DIR) $$($1_DOLLAR_SAFE_CLASSES); \
fi;
if [ "x$$($1_ARGS2)" != "x" ]; then \
$(ECHO) $(LOG_INFO) Running rmic $$($1_ARGS2) for $$($1_DOLLAR_SAFE_CLASSES) &&\
$(RMIC) $$($1_ARGS2) -classpath "$$($1_CLASSES_DIR)" \
-d $$($1_STUB_CLASSES_DIR) $$($1_DOLLAR_SAFE_CLASSES);\
$(ECHO) $(LOG_INFO) Running rmic $$($1_ARGS2) for $$($1_DOLLAR_SAFE_CLASSES) && \
$(RMIC) $$($1_ARGS2) -classpath "$$($1_CLASSES_DIR)" \
-d $$($1_STUB_CLASSES_DIR) $$($1_DOLLAR_SAFE_CLASSES); \
fi;
$(TOUCH) $$@
$1 := $$($1_TARGETS)
$1 := $$($1_TARGETS) $$($1_DEP_FILE)
# By marking as secondary, this "touch" file doesn't need to be touched and will never exist.
.SECONDARY: $$($1_DEP_FILE)
endef

View File

@@ -25,12 +25,12 @@
##########################################################################################
#
# This Makefile, together with Tools.gmk, can be used to compile a set of
# gcc based cross compilation, portable, self contained packages, capable
# This Makefile, together with Tools.gmk, can be used to compile a set of
# gcc based cross compilation, portable, self contained packages, capable
# of building OpenJDK.
#
# In addition to the makefiles, access to Oracle Linux installation
# media is required. This has been tested against Oracle Enterprise Linux
#
# In addition to the makefiles, access to Oracle Linux installation
# media is required. This has been tested against Oracle Enterprise Linux
# 5.5. Set variables RPM_DIR_x86_64 and RPM_DIR_i686 respectively to point
# to directory containing the RPMs.
#
@@ -43,9 +43,9 @@
#
# To build the full set of crosstools, use a command line looking like this:
#
# make tars RPM_DIR_x86_64=/tmp/oel55-x86_64/Server/ RPM_DIR_i686=/tmp/oel55-i686/Server/
# make tars RPM_DIR_x86_64=/tmp/oel55-x86_64/Server/ RPM_DIR_i686=/tmp/oel55-i686/Server/
#
# To create a x86_64 package without the redundant i686 cross compiler, do
# To create a x86_64 package without the redundant i686 cross compiler, do
# like this:
#
# make tars platforms=x86_64-unknown-linux-gnu RPM_DIR_x86_64=/tmp/oel55-x86_64/Server/ RPM_DIR_i686=/tmp/oel55-i686/Server/
@@ -54,70 +54,68 @@
# Main makefile which iterates over all host and target platforms.
#
os := $(shell uname -o)
cpu := x86_64
os := $(shell uname -o)
cpu := x86_64
#$(shell uname -p)
#
# This wrapper script can handle exactly these platforms
#
platforms := $(foreach p,x86_64 i686,$(p)-unknown-linux-gnu)
#platforms := $(foreach p,x86_64,$(p)-unknown-linux-gnu)
platforms := $(foreach p,x86_64 i686,$(p)-unknown-linux-gnu)
#platforms := $(foreach p,x86_64,$(p)-unknown-linux-gnu)
# Figure out what platform this is building on.
me := $(cpu)-$(if $(findstring Linux,$(os)),unknown-linux-gnu)
me := $(cpu)-$(if $(findstring Linux,$(os)),unknown-linux-gnu)
$(info Building on platform $(me))
all compile : $(platforms)
all compile : $(platforms)
ifeq (,$(SKIP_ME))
$(foreach p,$(filter-out $(me),$(platforms)),$(eval $(p) : $$(me)))
$(foreach p,$(filter-out $(me),$(platforms)),$(eval $(p) : $$(me)))
endif
OUTPUT_ROOT = $(abspath ../../../build/devkit)
RESULT = $(OUTPUT_ROOT)/result
OUTPUT_ROOT = $(abspath ../../../build/devkit)
RESULT = $(OUTPUT_ROOT)/result
submakevars = HOST=$@ BUILD=$(me) \
RESULT=$(RESULT) PREFIX=$(RESULT)/$@ \
OUTPUT_ROOT=$(OUTPUT_ROOT)
$(platforms) :
@echo 'Building compilers for $@'
@echo 'Targets: $(platforms)'
for p in $@ $(filter-out $@,$(platforms)); do \
$(MAKE) -f Tools.gmk all $(submakevars) \
TARGET=$$p || exit 1 ; \
done
@echo 'Building ccache program for $@'
$(MAKE) -f Tools.gmk ccache $(submakevars) TARGET=$@
@echo 'All done"'
submakevars = HOST=$@ BUILD=$(me) \
RESULT=$(RESULT) PREFIX=$(RESULT)/$@ \
OUTPUT_ROOT=$(OUTPUT_ROOT)
$(platforms) :
@echo 'Building compilers for $@'
@echo 'Targets: $(platforms)'
for p in $@ $(filter-out $@,$(platforms)); do \
$(MAKE) -f Tools.gmk all $(submakevars) \
TARGET=$$p || exit 1 ; \
done
@echo 'Building ccache program for $@'
$(MAKE) -f Tools.gmk ccache $(submakevars) TARGET=$@
@echo 'All done"'
$(foreach a,i686 x86_64,$(eval $(a) : $(filter $(a)%,$(platforms))))
ia32 : i686
today := $(shell date +%Y%m%d)
ia32 : i686
today := $(shell date +%Y%m%d)
define Mktar
$(1)_tar = $$(RESULT)/sdk-$(1)-$$(today).tar.gz
$$($(1)_tar) : PLATFORM = $(1)
TARFILES += $$($(1)_tar)
$$($(1)_tar) : $(1) $$(shell find $$(RESULT)/$(1))
$(1)_tar = $$(RESULT)/sdk-$(1)-$$(today).tar.gz
$$($(1)_tar) : PLATFORM = $(1)
TARFILES += $$($(1)_tar)
$$($(1)_tar) : $(1) $$(shell find $$(RESULT)/$(1))
endef
$(foreach p,$(platforms),$(eval $(call Mktar,$(p))))
tars : all $(TARFILES)
onlytars : $(TARFILES)
%.tar.gz :
@echo 'Creating compiler package $@'
cd $(RESULT)/$(PLATFORM) && tar -czf $@ *
touch $@
tars : all $(TARFILES)
onlytars : $(TARFILES)
%.tar.gz :
@echo 'Creating compiler package $@'
cd $(RESULT)/$(PLATFORM) && tar -czf $@ *
touch $@
clean :
clean :
rm -rf build result
FORCE :
.PHONY : $(configs) $(platforms)
FORCE :
.PHONY : $(configs) $(platforms)

View File

@@ -26,15 +26,15 @@
##########################################################################################
#
# Workhorse makefile for creating ONE cross compiler
# Needs either to be from BUILD -> BUILD OR have
# Needs either to be from BUILD -> BUILD OR have
# BUILD -> HOST prebuilt
#
# NOTE: There is a bug here. We don't limit the
# PATH when building BUILD -> BUILD, which means that
# NOTE: There is a bug here. We don't limit the
# PATH when building BUILD -> BUILD, which means that
# if you configure after you've once build the BUILD->BUILD
# compiler THAT one will be picked up as the compiler for itself.
# This is not so great, especially if you did a partial delete
# of the target tree.
# of the target tree.
#
# Fix this...
#
@@ -43,45 +43,45 @@ $(info TARGET=$(TARGET))
$(info HOST=$(HOST))
$(info BUILD=$(BUILD))
ARCH := $(word 1,$(subst -, ,$(TARGET)))
ARCH := $(word 1,$(subst -, ,$(TARGET)))
##########################################################################################
# Define external dependencies
# Latest that could be made to work.
gcc_ver := gcc-4.7.3
binutils_ver := binutils-2.22
ccache_ver := ccache-3.1.9
mpfr_ver := mpfr-3.0.1
gmp_ver := gmp-4.3.2
mpc_ver := mpc-1.0.1
gcc_ver := gcc-4.7.3
binutils_ver := binutils-2.22
ccache_ver := ccache-3.1.9
mpfr_ver := mpfr-3.0.1
gmp_ver := gmp-4.3.2
mpc_ver := mpc-1.0.1
GCC := http://ftp.gnu.org/pub/gnu/gcc/$(gcc_ver)/$(gcc_ver).tar.bz2
BINUTILS := http://ftp.gnu.org/pub/gnu/binutils/$(binutils_ver).tar.bz2
CCACHE := http://samba.org/ftp/ccache/$(ccache_ver).tar.gz
MPFR := http://www.mpfr.org/${mpfr_ver}/${mpfr_ver}.tar.bz2
GMP := http://ftp.gnu.org/pub/gnu/gmp/${gmp_ver}.tar.bz2
MPC := http://www.multiprecision.org/mpc/download/${mpc_ver}.tar.gz
GCC := http://ftp.gnu.org/pub/gnu/gcc/$(gcc_ver)/$(gcc_ver).tar.bz2
BINUTILS := http://ftp.gnu.org/pub/gnu/binutils/$(binutils_ver).tar.bz2
CCACHE := http://samba.org/ftp/ccache/$(ccache_ver).tar.gz
MPFR := http://www.mpfr.org/${mpfr_ver}/${mpfr_ver}.tar.bz2
GMP := http://ftp.gnu.org/pub/gnu/gmp/${gmp_ver}.tar.bz2
MPC := http://www.multiprecision.org/mpc/download/${mpc_ver}.tar.gz
# RPMs in OEL5.5
RPM_LIST := \
kernel-headers \
glibc-2 glibc-headers glibc-devel \
cups-libs cups-devel \
libX11 libX11-devel \
xorg-x11-proto-devel \
alsa-lib alsa-lib-devel \
libXext libXext-devel \
libXtst libXtst-devel \
libXrender libXrender-devel \
freetype freetype-devel \
libXt libXt-devel \
libSM libSM-devel \
libICE libICE-devel \
libXi libXi-devel \
libXdmcp libXdmcp-devel \
libXau libXau-devel \
libgcc
RPM_LIST := \
kernel-headers \
glibc-2 glibc-headers glibc-devel \
cups-libs cups-devel \
libX11 libX11-devel \
xorg-x11-proto-devel \
alsa-lib alsa-lib-devel \
libXext libXext-devel \
libXtst libXtst-devel \
libXrender libXrender-devel \
freetype freetype-devel \
libXt libXt-devel \
libSM libSM-devel \
libICE libICE-devel \
libXi libXi-devel \
libXdmcp libXdmcp-devel \
libXau libXau-devel \
libgcc
ifeq ($(ARCH),x86_64)
@@ -90,7 +90,7 @@ ifeq ($(ARCH),x86_64)
ifeq ($(BUILD),$(HOST))
ifeq ($(TARGET),$(HOST))
# When building the native compiler for x86_64, enable mixed mode.
RPM_ARCHS += i386 i686
RPM_ARCHS += i386 i686
endif
endif
else
@@ -110,47 +110,47 @@ endif
# Ensure we have 32-bit libs also for x64. We enable mixed-mode.
ifeq (x86_64,$(ARCH))
LIBDIRS := lib64 lib
CFLAGS_lib := -m32
LIBDIRS := lib64 lib
CFLAGS_lib := -m32
else
LIBDIRS := lib
LIBDIRS := lib
endif
# Define directories
RESULT := $(OUTPUT_ROOT)/result
BUILDDIR := $(OUTPUT_ROOT)/$(HOST)/$(TARGET)
PREFIX := $(RESULT)/$(HOST)
TARGETDIR := $(PREFIX)/$(TARGET)
SYSROOT := $(TARGETDIR)/sys-root
DOWNLOAD := $(OUTPUT_ROOT)/download
SRCDIR := $(OUTPUT_ROOT)/src
RESULT := $(OUTPUT_ROOT)/result
BUILDDIR := $(OUTPUT_ROOT)/$(HOST)/$(TARGET)
PREFIX := $(RESULT)/$(HOST)
TARGETDIR := $(PREFIX)/$(TARGET)
SYSROOT := $(TARGETDIR)/sys-root
DOWNLOAD := $(OUTPUT_ROOT)/download
SRCDIR := $(OUTPUT_ROOT)/src
# Marker file for unpacking rpms
rpms := $(SYSROOT)/rpms_unpacked
rpms := $(SYSROOT)/rpms_unpacked
# Need to patch libs that are linker scripts to use non-absolute paths
libs := $(SYSROOT)/libs_patched
# Need to patch libs that are linker scripts to use non-absolute paths
libs := $(SYSROOT)/libs_patched
##########################################################################################
# Unpack source packages
# Generate downloading + unpacking of sources.
# Generate downloading + unpacking of sources.
define Download
$(1)_DIR = $(abspath $(SRCDIR)/$(basename $(basename $(notdir $($(1))))))
$(1)_CFG = $$($(1)_DIR)/configure
$(1)_FILE = $(DOWNLOAD)/$(notdir $($(1)))
$(1)_DIR = $(abspath $(SRCDIR)/$(basename $(basename $(notdir $($(1))))))
$(1)_CFG = $$($(1)_DIR)/configure
$(1)_FILE = $(DOWNLOAD)/$(notdir $($(1)))
$$($(1)_CFG) : $$($(1)_FILE)
mkdir -p $$(SRCDIR)
tar -C $$(SRCDIR) -x$$(if $$(findstring .gz, $$<),z,j)f $$<
$$(foreach p,$$(abspath $$(wildcard $$(notdir $$($(1)_DIR)).patch)), \
echo PATCHING $$(p) ; \
patch -d $$($(1)_DIR) -p1 -i $$(p) ; \
)
touch $$@
$$($(1)_CFG) : $$($(1)_FILE)
mkdir -p $$(SRCDIR)
tar -C $$(SRCDIR) -x$$(if $$(findstring .gz, $$<),z,j)f $$<
$$(foreach p,$$(abspath $$(wildcard $$(notdir $$($(1)_DIR)).patch)), \
echo PATCHING $$(p) ; \
patch -d $$($(1)_DIR) -p1 -i $$(p) ; \
)
touch $$@
$$($(1)_FILE) :
wget -P $(DOWNLOAD) $$($(1))
$$($(1)_FILE) :
wget -P $(DOWNLOAD) $$($(1))
endef
# Download and unpack all source packages
@@ -159,48 +159,48 @@ $(foreach p,GCC BINUTILS CCACHE MPFR GMP MPC,$(eval $(call Download,$(p))))
##########################################################################################
# Unpack RPMS
# Note. For building linux you should install rpm2cpio.
# Note. For building linux you should install rpm2cpio.
define unrpm
$(SYSROOT)/$(notdir $(1)).unpacked \
: $(1)
$$(rpms) : $(SYSROOT)/$(notdir $(1)).unpacked
$(SYSROOT)/$(notdir $(1)).unpacked \
: $(1)
$$(rpms) : $(SYSROOT)/$(notdir $(1)).unpacked
endef
%.unpacked :
$(info Unpacking target rpms and libraries from $<)
@(mkdir -p $(@D); \
cd $(@D); \
rpm2cpio $< | \
cpio --extract --make-directories \
-f \
"./usr/share/doc/*" \
"./usr/share/man/*" \
"./usr/X11R6/man/*" \
"*/X11/locale/*" \
|| die ; )
touch $@
%.unpacked :
$(info Unpacking target rpms and libraries from $<)
@(mkdir -p $(@D); \
cd $(@D); \
rpm2cpio $< | \
cpio --extract --make-directories \
-f \
"./usr/share/doc/*" \
"./usr/share/man/*" \
"./usr/X11R6/man/*" \
"*/X11/locale/*" \
|| die ; )
touch $@
$(foreach p,$(RPM_FILE_LIST),$(eval $(call unrpm,$(p))))
##########################################################################################
# Note: MUST create a <sys-root>/usr/lib even if not really needed.
# gcc will use a path relative to it to resolve lib64. (x86_64).
# we're creating multi-lib compiler with 32bit libc as well, so we should
# Note: MUST create a <sys-root>/usr/lib even if not really needed.
# gcc will use a path relative to it to resolve lib64. (x86_64).
# we're creating multi-lib compiler with 32bit libc as well, so we should
# have it anyway, but just to make sure...
# Patch libc.so and libpthread.so to force linking against libraries in sysroot
# and not the ones installed on the build machine.
$(libs) : $(rpms)
@echo Patching libc and pthreads
@(for f in `find $(SYSROOT) -name libc.so -o -name libpthread.so`; do \
(cat $$f | sed -e 's|/usr/lib64/||g' \
-e 's|/usr/lib/||g' \
-e 's|/lib64/||g' \
-e 's|/lib/||g' ) > $$f.tmp ; \
mv $$f.tmp $$f ; \
done)
@mkdir -p $(SYSROOT)/usr/lib
@touch $@
$(libs) : $(rpms)
@echo Patching libc and pthreads
@(for f in `find $(SYSROOT) -name libc.so -o -name libpthread.so`; do \
(cat $$f | sed -e 's|/usr/lib64/||g' \
-e 's|/usr/lib/||g' \
-e 's|/lib64/||g' \
-e 's|/lib/||g' ) > $$f.tmp ; \
mv $$f.tmp $$f ; \
done)
@mkdir -p $(SYSROOT)/usr/lib
@touch $@
##########################################################################################
@@ -210,264 +210,264 @@ $(foreach t,binutils mpfr gmp mpc gcc ccache,$(eval $(t) = $(TARGETDIR)/$($(t)_v
##########################################################################################
# Default base config
CONFIG = --target=$(TARGET) \
--host=$(HOST) --build=$(BUILD) \
--prefix=$(PREFIX)
CONFIG = --target=$(TARGET) \
--host=$(HOST) --build=$(BUILD) \
--prefix=$(PREFIX)
PATHEXT = $(RESULT)/$(BUILD)/bin:
PATHEXT = $(RESULT)/$(BUILD)/bin:
PATHPRE = PATH=$(PATHEXT)$(PATH)
BUILDPAR = -j16
PATHPRE = PATH=$(PATHEXT)$(PATH)
BUILDPAR = -j16
# Default commands to when making
MAKECMD =
INSTALLCMD = install
MAKECMD =
INSTALLCMD = install
declare_tools = CC$(1)=$(2)gcc LD$(1)=$(2)ld AR$(1)=$(2)ar AS$(1)=$(2)as RANLIB$(1)=$(2)ranlib CXX$(1)=$(2)g++ OBJDUMP$(1)=$(2)objdump
declare_tools = CC$(1)=$(2)gcc LD$(1)=$(2)ld AR$(1)=$(2)ar AS$(1)=$(2)as RANLIB$(1)=$(2)ranlib CXX$(1)=$(2)g++ OBJDUMP$(1)=$(2)objdump
ifeq ($(HOST),$(BUILD))
ifeq ($(HOST),$(TARGET))
TOOLS = $(call declare_tools,_FOR_TARGET,)
endif
ifeq ($(HOST),$(TARGET))
TOOLS = $(call declare_tools,_FOR_TARGET,)
endif
endif
TOOLS ?= $(call declare_tools,_FOR_TARGET,$(TARGET)-)
TOOLS ?= $(call declare_tools,_FOR_TARGET,$(TARGET)-)
##########################################################################################
# Create a TARGET bfd + libiberty only.
# Create a TARGET bfd + libiberty only.
# Configure one or two times depending on mulitlib arch.
# If multilib, the second should be 32-bit, and we resolve
# If multilib, the second should be 32-bit, and we resolve
# CFLAG_<name> to most likely -m32.
define mk_bfd
$$(info Libs for $(1))
$$(BUILDDIR)/$$(binutils_ver)-$(subst /,-,$(1))/Makefile \
: CFLAGS += $$(CFLAGS_$(1))
$$(BUILDDIR)/$$(binutils_ver)-$(subst /,-,$(1))/Makefile \
: LIBDIRS = --libdir=$(TARGETDIR)/$(1)
$$(info Libs for $(1))
$$(BUILDDIR)/$$(binutils_ver)-$(subst /,-,$(1))/Makefile \
: CFLAGS += $$(CFLAGS_$(1))
$$(BUILDDIR)/$$(binutils_ver)-$(subst /,-,$(1))/Makefile \
: LIBDIRS = --libdir=$(TARGETDIR)/$(1)
bfdlib += $$(TARGETDIR)/$$(binutils_ver)-$(subst /,-,$(1)).done
bfdmakes += $$(BUILDDIR)/$$(binutils_ver)-$(subst /,-,$(1))/Makefile
bfdlib += $$(TARGETDIR)/$$(binutils_ver)-$(subst /,-,$(1)).done
bfdmakes += $$(BUILDDIR)/$$(binutils_ver)-$(subst /,-,$(1))/Makefile
endef
# Create one set of bfds etc for each multilib arch
$(foreach l,$(LIBDIRS),$(eval $(call mk_bfd,$(l))))
# Only build these two libs.
$(bfdlib) : MAKECMD = all-libiberty all-bfd
$(bfdlib) : INSTALLCMD = install-libiberty install-bfd
$(bfdlib) : MAKECMD = all-libiberty all-bfd
$(bfdlib) : INSTALLCMD = install-libiberty install-bfd
# Building targets libbfd + libiberty. HOST==TARGET, i.e not
# for a cross env.
$(bfdmakes) : CONFIG = --target=$(TARGET) \
--host=$(TARGET) --build=$(BUILD) \
--prefix=$(TARGETDIR) \
--with-sysroot=$(SYSROOT) \
$(LIBDIRS)
# Building targets libbfd + libiberty. HOST==TARGET, i.e not
# for a cross env.
$(bfdmakes) : CONFIG = --target=$(TARGET) \
--host=$(TARGET) --build=$(BUILD) \
--prefix=$(TARGETDIR) \
--with-sysroot=$(SYSROOT) \
$(LIBDIRS)
$(bfdmakes) : TOOLS = $(call declare_tools,_FOR_TARGET,$(TARGET)-) $(call declare_tools,,$(TARGET)-)
$(bfdmakes) : TOOLS = $(call declare_tools,_FOR_TARGET,$(TARGET)-) $(call declare_tools,,$(TARGET)-)
##########################################################################################
$(gcc) \
$(binutils) \
$(gmp) \
$(mpfr) \
$(mpc) \
$(bfdmakes) \
$(ccache) : ENVS += $(TOOLS)
$(gcc) \
$(binutils) \
$(gmp) \
$(mpfr) \
$(mpc) \
$(bfdmakes) \
$(ccache) : ENVS += $(TOOLS)
# libdir to work around hateful bfd stuff installing into wrong dirs...
# ensure we have 64 bit bfd support in the HOST library. I.e our
# ensure we have 64 bit bfd support in the HOST library. I.e our
# compiler on i686 will know 64 bit symbols, BUT later
# we build just the libs again for TARGET, then with whatever the arch
# we build just the libs again for TARGET, then with whatever the arch
# wants.
$(BUILDDIR)/$(binutils_ver)/Makefile : CONFIG += --enable-64-bit-bfd --libdir=$(PREFIX)/$(word 1,$(LIBDIRS))
# Makefile creation. Simply run configure in build dir.
$(bfdmakes) \
$(BUILDDIR)/$(binutils_ver)/Makefile \
: $(BINUTILS_CFG)
$(info Configuring $@. Log in $(@D)/log.config)
@mkdir -p $(@D)
( \
cd $(@D) ; \
$(PATHPRE) $(ENVS) CFLAGS="$(CFLAGS)" \
$(BINUTILS_CFG) \
$(CONFIG) \
--with-sysroot=$(SYSROOT) \
--disable-nls \
--program-prefix=$(TARGET)- \
--enable-multilib \
) > $(@D)/log.config 2>&1
@echo 'done'
$(bfdmakes) \
$(BUILDDIR)/$(binutils_ver)/Makefile \
: $(BINUTILS_CFG)
$(info Configuring $@. Log in $(@D)/log.config)
@mkdir -p $(@D)
( \
cd $(@D) ; \
$(PATHPRE) $(ENVS) CFLAGS="$(CFLAGS)" \
$(BINUTILS_CFG) \
$(CONFIG) \
--with-sysroot=$(SYSROOT) \
--disable-nls \
--program-prefix=$(TARGET)- \
--enable-multilib \
) > $(@D)/log.config 2>&1
@echo 'done'
$(BUILDDIR)/$(mpfr_ver)/Makefile \
: $(MPFR_CFG)
$(info Configuring $@. Log in $(@D)/log.config)
@mkdir -p $(@D)
( \
cd $(@D) ; \
$(PATHPRE) $(ENVS) CFLAGS="$(CFLAGS)" \
$(MPFR_CFG) \
$(CONFIG) \
--program-prefix=$(TARGET)- \
--enable-shared=no \
--with-gmp=$(PREFIX) \
) > $(@D)/log.config 2>&1
@echo 'done'
$(BUILDDIR)/$(mpfr_ver)/Makefile \
: $(MPFR_CFG)
$(info Configuring $@. Log in $(@D)/log.config)
@mkdir -p $(@D)
( \
cd $(@D) ; \
$(PATHPRE) $(ENVS) CFLAGS="$(CFLAGS)" \
$(MPFR_CFG) \
$(CONFIG) \
--program-prefix=$(TARGET)- \
--enable-shared=no \
--with-gmp=$(PREFIX) \
) > $(@D)/log.config 2>&1
@echo 'done'
$(BUILDDIR)/$(gmp_ver)/Makefile \
: $(GMP_CFG)
$(info Configuring $@. Log in $(@D)/log.config)
@mkdir -p $(@D)
( \
cd $(@D) ; \
$(PATHPRE) $(ENVS) CFLAGS="$(CFLAGS)" \
$(GMP_CFG) \
--host=$(HOST) --build=$(BUILD) \
--prefix=$(PREFIX) \
--disable-nls \
--program-prefix=$(TARGET)- \
--enable-shared=no \
--with-mpfr=$(PREFIX) \
) > $(@D)/log.config 2>&1
@echo 'done'
$(BUILDDIR)/$(gmp_ver)/Makefile \
: $(GMP_CFG)
$(info Configuring $@. Log in $(@D)/log.config)
@mkdir -p $(@D)
( \
cd $(@D) ; \
$(PATHPRE) $(ENVS) CFLAGS="$(CFLAGS)" \
$(GMP_CFG) \
--host=$(HOST) --build=$(BUILD) \
--prefix=$(PREFIX) \
--disable-nls \
--program-prefix=$(TARGET)- \
--enable-shared=no \
--with-mpfr=$(PREFIX) \
) > $(@D)/log.config 2>&1
@echo 'done'
$(BUILDDIR)/$(mpc_ver)/Makefile \
: $(MPC_CFG)
$(info Configuring $@. Log in $(@D)/log.config)
@mkdir -p $(@D)
( \
cd $(@D) ; \
$(PATHPRE) $(ENVS) CFLAGS="$(CFLAGS)" \
$(MPC_CFG) \
$(CONFIG) \
--program-prefix=$(TARGET)- \
--enable-shared=no \
--with-mpfr=$(PREFIX) \
--with-gmp=$(PREFIX) \
) > $(@D)/log.config 2>&1
@echo 'done'
$(BUILDDIR)/$(mpc_ver)/Makefile \
: $(MPC_CFG)
$(info Configuring $@. Log in $(@D)/log.config)
@mkdir -p $(@D)
( \
cd $(@D) ; \
$(PATHPRE) $(ENVS) CFLAGS="$(CFLAGS)" \
$(MPC_CFG) \
$(CONFIG) \
--program-prefix=$(TARGET)- \
--enable-shared=no \
--with-mpfr=$(PREFIX) \
--with-gmp=$(PREFIX) \
) > $(@D)/log.config 2>&1
@echo 'done'
# Only valid if glibc target -> linux
# proper destructor handling for c++
ifneq (,$(findstring linux,$(TARGET)))
$(BUILDDIR)/$(gcc_ver)/Makefile : CONFIG += --enable-__cxa_atexit
$(BUILDDIR)/$(gcc_ver)/Makefile : CONFIG += --enable-__cxa_atexit
endif
# Want:
# c,c++
# shared libs
# multilib (-m32/-m64 on x64)
# skip native language.
# and link and assemble with the binutils we created
# earlier, so --with-gnu*
$(BUILDDIR)/$(gcc_ver)/Makefile \
: $(GCC_CFG)
$(info Configuring $@. Log in $(@D)/log.config)
mkdir -p $(@D)
( \
cd $(@D) ; \
$(PATHPRE) $(ENVS) $(GCC_CFG) $(EXTRA_CFLAGS) \
$(CONFIG) \
--with-sysroot=$(SYSROOT) \
--enable-languages=c,c++ \
--enable-shared \
--enable-multilib \
--disable-nls \
--with-gnu-as \
--with-gnu-ld \
--with-mpfr=$(PREFIX) \
--with-gmp=$(PREFIX) \
--with-mpc=$(PREFIX) \
) > $(@D)/log.config 2>&1
@echo 'done'
# c,c++
# shared libs
# multilib (-m32/-m64 on x64)
# skip native language.
# and link and assemble with the binutils we created
# earlier, so --with-gnu*
$(BUILDDIR)/$(gcc_ver)/Makefile \
: $(GCC_CFG)
$(info Configuring $@. Log in $(@D)/log.config)
mkdir -p $(@D)
( \
cd $(@D) ; \
$(PATHPRE) $(ENVS) $(GCC_CFG) $(EXTRA_CFLAGS) \
$(CONFIG) \
--with-sysroot=$(SYSROOT) \
--enable-languages=c,c++ \
--enable-shared \
--enable-multilib \
--disable-nls \
--with-gnu-as \
--with-gnu-ld \
--with-mpfr=$(PREFIX) \
--with-gmp=$(PREFIX) \
--with-mpc=$(PREFIX) \
) > $(@D)/log.config 2>&1
@echo 'done'
# need binutils for gcc
$(gcc) : $(binutils)
$(gcc) : $(binutils)
# as of 4.3 or so need these for doing config
$(BUILDDIR)/$(gcc_ver)/Makefile : $(gmp) $(mpfr) $(mpc)
$(mpfr) : $(gmp)
$(mpc) : $(gmp) $(mpfr)
$(mpfr) : $(gmp)
$(mpc) : $(gmp) $(mpfr)
##########################################################################################
# very straightforward. just build a ccache. it is only for host.
$(BUILDDIR)/$(ccache_ver)/Makefile \
: $(CCACHE_CFG)
$(info Configuring $@. Log in $(@D)/log.config)
@mkdir -p $(@D)
@( \
cd $(@D) ; \
$(PATHPRE) $(ENVS) $(CCACHE_CFG) \
$(CONFIG) \
) > $(@D)/log.config 2>&1
@echo 'done'
# very straightforward. just build a ccache. it is only for host.
$(BUILDDIR)/$(ccache_ver)/Makefile \
: $(CCACHE_CFG)
$(info Configuring $@. Log in $(@D)/log.config)
@mkdir -p $(@D)
@( \
cd $(@D) ; \
$(PATHPRE) $(ENVS) $(CCACHE_CFG) \
$(CONFIG) \
) > $(@D)/log.config 2>&1
@echo 'done'
gccpatch = $(TARGETDIR)/gcc-patched
gccpatch = $(TARGETDIR)/gcc-patched
##########################################################################################
# For some reason cpp is not created as a target-compiler
# For some reason cpp is not created as a target-compiler
ifeq ($(HOST),$(TARGET))
$(gccpatch) : $(gcc) link_libs
@echo -n 'Creating compiler symlinks...'
@for f in cpp; do \
if [ ! -e $(PREFIX)/bin/$(TARGET)-$$f ];\
then \
cd $(PREFIX)/bin && \
ln -s $$f $(TARGET)-$$f ; \
fi \
done
@touch $@
@echo 'done'
$(gccpatch) : $(gcc) link_libs
@echo -n 'Creating compiler symlinks...'
@for f in cpp; do \
if [ ! -e $(PREFIX)/bin/$(TARGET)-$$f ]; \
then \
cd $(PREFIX)/bin && \
ln -s $$f $(TARGET)-$$f ; \
fi \
done
@touch $@
@echo 'done'
##########################################################################################
# Ugly at best. Seems that when we compile host->host compiler, that are NOT
# the BUILD compiler, the result will not try searching for libs in package root.
# "Solve" this by create links from the target libdirs to where they are.
link_libs:
@echo -n 'Creating library symlinks...'
@$(foreach l,$(LIBDIRS), \
for f in `cd $(PREFIX)/$(l) && ls`; do \
if [ ! -e $(TARGETDIR)/$(l)/$$f ]; then \
mkdir -p $(TARGETDIR)/$(l) && \
cd $(TARGETDIR)/$(l)/ && \
ln -s $(if $(findstring /,$(l)),../,)../../$(l)/$$f $$f; \
fi \
done;)
@echo 'done'
##########################################################################################
# Ugly at best. Seems that when we compile host->host compiler, that are NOT
# the BUILD compiler, the result will not try searching for libs in package root.
# "Solve" this by create links from the target libdirs to where they are.
link_libs:
@echo -n 'Creating library symlinks...'
@$(foreach l,$(LIBDIRS), \
for f in `cd $(PREFIX)/$(l) && ls`; do \
if [ ! -e $(TARGETDIR)/$(l)/$$f ]; then \
mkdir -p $(TARGETDIR)/$(l) && \
cd $(TARGETDIR)/$(l)/ && \
ln -s $(if $(findstring /,$(l)),../,)../../$(l)/$$f $$f; \
fi \
done;)
@echo 'done'
else
$(gccpatch) :
@echo 'done'
$(gccpatch) :
@echo 'done'
endif
##########################################################################################
# Build in two steps.
# Build in two steps.
# make <default>
# make install.
# make install.
# Use path to our build hosts cross tools
# Always need to build cross tools for build host self.
$(TARGETDIR)/%.done : $(BUILDDIR)/%/Makefile
$(info Building $(basename $@). Log in $(<D)/log.build)
$(PATHPRE) $(ENVS) $(MAKE) $(BUILDPAR) -f $< -C $(<D) $(MAKECMD) $(MAKECMD.$(notdir $@)) > $(<D)/log.build 2>&1
@echo -n 'installing...'
$(PATHPRE) $(MAKE) $(INSTALLPAR) -f $< -C $(<D) $(INSTALLCMD) $(MAKECMD.$(notdir $@)) > $(<D)/log.install 2>&1
@touch $@
@echo 'done'
# Always need to build cross tools for build host self.
$(TARGETDIR)/%.done : $(BUILDDIR)/%/Makefile
$(info Building $(basename $@). Log in $(<D)/log.build)
$(PATHPRE) $(ENVS) $(MAKE) $(BUILDPAR) -f $< -C $(<D) $(MAKECMD) $(MAKECMD.$(notdir $@)) > $(<D)/log.build 2>&1
@echo -n 'installing...'
$(PATHPRE) $(MAKE) $(INSTALLPAR) -f $< -C $(<D) $(INSTALLCMD) $(MAKECMD.$(notdir $@)) > $(<D)/log.install 2>&1
@touch $@
@echo 'done'
##########################################################################################
bfdlib : $(bfdlib)
binutils : $(binutils)
rpms : $(rpms)
libs : $(libs)
sysroot : rpms libs
gcc : sysroot $(gcc) $(gccpatch)
all : binutils gcc bfdlib
bfdlib : $(bfdlib)
binutils : $(binutils)
rpms : $(rpms)
libs : $(libs)
sysroot : rpms libs
gcc : sysroot $(gcc) $(gccpatch)
all : binutils gcc bfdlib
# this is only built for host. so separate.
ccache : $(ccache)
# this is only built for host. so separate.
ccache : $(ccache)
.PHONY : gcc all binutils bfdlib link_libs rpms libs sysroot
.PHONY : gcc all binutils bfdlib link_libs rpms libs sysroot

View File

@@ -24,49 +24,48 @@
#
# EXCLUDE_PKGS is the list of packages to exclude from the
# Java API Specification. Do not add these to CORE_PKGS.
# Java API Specification. Do not add these to CORE_PKGS.
# The concatenation of EXCLUDE_PKGS and CORE_PKGS
# should make up the list of all packages under the
# src/shared/classes directory of the JDK source tree.
#
EXCLUDE_PKGS = \
java.awt.peer \
java.awt.dnd.peer \
sun.* \
com.sun.* \
org.apache.* \
org.jcp.* \
org.w3c.dom.css \
org.w3c.dom.html \
org.w3c.dom.stylesheets \
org.w3c.dom.traversal \
org.w3c.dom.ranges \
org.w3c.dom.views \
org.omg.stub.javax.management.remote.rmi
EXCLUDE_PKGS = \
java.awt.peer \
java.awt.dnd.peer \
sun.* \
com.sun.* \
org.apache.* \
org.jcp.* \
org.w3c.dom.css \
org.w3c.dom.html \
org.w3c.dom.stylesheets \
org.w3c.dom.traversal \
org.w3c.dom.ranges \
org.omg.stub.javax.management.remote.rmi
#
# ACTIVE_JSR_PKGS are packages that are part of an active JSR process--
# one that is doing its own review. These packages are not included when
# creating diff pages for the platform's JCP process.
#
# (see /java/pubs/apisrc/jdk/6.0/beta/make/docs/active_jsr_pkgs)
#
# (see /java/pubs/apisrc/jdk/6.0/beta/make/docs/active_jsr_pkgs)
# Note:
# This is a list of regular expressions. So foo.* matches "foo" and "foo.bar".
#
ACTIVE_JSR_PKGS= \
java.lang.invoke \
java.sql \
javax.activation \
javax.annotation.* \
javax.jws.* \
javax.lang.* \
javax.management.* \
javax.script \
javax.sql.* \
javax.tools.* \
javax.xml.* \
org.w3c.* \
org.xml.sax
java.lang.invoke \
java.sql \
javax.activation \
javax.annotation.* \
javax.jws.* \
javax.lang.* \
javax.management.* \
javax.script \
javax.sql.* \
javax.tools.* \
javax.xml.* \
org.w3c.* \
org.xml.sax
#
# CORE_PKGS is the list of packages that form the
@@ -77,224 +76,225 @@ ACTIVE_JSR_PKGS= \
### determines which table the packages go in on the main page.
### Currently, there is only table ("Platform Packages") and
### everything goes in it, so REGEXP is "*". But if that policy
### changes, packages added will need to be reflected in that
### changes, packages added will need to be reflected in that
### list of wildcard expressions, as well.
###
CORE_PKGS = \
java.applet \
java.awt \
java.awt.color \
java.awt.datatransfer \
java.awt.dnd \
java.awt.event \
java.awt.font \
java.awt.geom \
java.awt.im \
java.awt.im.spi \
java.awt.image \
java.awt.image.renderable \
java.awt.print \
java.beans \
java.beans.beancontext \
java.io \
java.lang \
java.lang.annotation \
java.lang.instrument \
java.lang.invoke \
java.lang.management \
java.lang.ref \
java.lang.reflect \
java.math \
java.net \
java.nio \
java.nio.channels \
java.nio.channels.spi \
java.nio.charset \
java.nio.charset.spi \
java.nio.file \
java.nio.file.attribute \
java.nio.file.spi \
java.rmi \
java.rmi.activation \
java.rmi.dgc \
java.rmi.registry \
java.rmi.server \
java.security \
java.security.acl \
java.security.cert \
java.security.interfaces \
java.security.spec \
java.sql \
java.text \
java.text.spi \
java.time \
java.time.chrono \
java.time.format \
java.time.temporal \
java.time.zone \
java.util \
java.util.concurrent \
java.util.concurrent.atomic \
java.util.concurrent.locks \
java.util.function \
java.util.jar \
java.util.logging \
java.util.prefs \
java.util.regex \
java.util.spi \
java.util.stream \
java.util.zip \
javax.accessibility \
javax.activation \
javax.activity \
javax.annotation \
javax.annotation.processing \
javax.crypto \
javax.crypto.interfaces \
javax.crypto.spec \
javax.imageio \
javax.imageio.event \
javax.imageio.metadata \
javax.imageio.plugins.jpeg \
javax.imageio.plugins.bmp \
javax.imageio.spi \
javax.imageio.stream \
javax.jws \
javax.jws.soap \
javax.lang.model \
javax.lang.model.element \
javax.lang.model.type \
javax.lang.model.util \
javax.management \
javax.management.loading \
javax.management.monitor \
javax.management.relation \
javax.management.openmbean \
javax.management.timer \
javax.management.modelmbean \
javax.management.remote \
javax.management.remote.rmi \
javax.naming \
javax.naming.directory \
javax.naming.event \
javax.naming.ldap \
javax.naming.spi \
javax.net \
javax.net.ssl \
javax.print \
javax.print.attribute \
javax.print.attribute.standard \
javax.print.event \
javax.rmi \
javax.rmi.CORBA \
javax.rmi.ssl \
javax.script \
javax.security.auth \
javax.security.auth.callback \
javax.security.auth.kerberos \
javax.security.auth.login \
javax.security.auth.spi \
javax.security.auth.x500 \
javax.security.cert \
javax.security.sasl \
javax.sound.sampled \
javax.sound.sampled.spi \
javax.sound.midi \
javax.sound.midi.spi \
javax.sql \
javax.sql.rowset \
javax.sql.rowset.serial \
javax.sql.rowset.spi \
javax.swing \
javax.swing.border \
javax.swing.colorchooser \
javax.swing.filechooser \
javax.swing.event \
javax.swing.table \
javax.swing.text \
javax.swing.text.html \
javax.swing.text.html.parser \
javax.swing.text.rtf \
javax.swing.tree \
javax.swing.undo \
javax.swing.plaf \
javax.swing.plaf.basic \
javax.swing.plaf.metal \
javax.swing.plaf.multi \
javax.swing.plaf.nimbus \
javax.swing.plaf.synth \
javax.tools \
javax.tools.annotation \
javax.transaction \
javax.transaction.xa \
javax.xml.parsers \
javax.xml.bind \
javax.xml.bind.annotation \
javax.xml.bind.annotation.adapters \
javax.xml.bind.attachment \
javax.xml.bind.helpers \
javax.xml.bind.util \
javax.xml.soap \
javax.xml.ws \
javax.xml.ws.handler \
javax.xml.ws.handler.soap \
javax.xml.ws.http \
javax.xml.ws.soap \
javax.xml.ws.spi \
javax.xml.ws.spi.http \
javax.xml.ws.wsaddressing \
javax.xml.transform \
javax.xml.transform.sax \
javax.xml.transform.dom \
javax.xml.transform.stax \
javax.xml.transform.stream \
javax.xml \
javax.xml.crypto \
javax.xml.crypto.dom \
javax.xml.crypto.dsig \
javax.xml.crypto.dsig.dom \
javax.xml.crypto.dsig.keyinfo \
javax.xml.crypto.dsig.spec \
javax.xml.datatype \
javax.xml.validation \
javax.xml.namespace \
javax.xml.xpath \
javax.xml.stream \
javax.xml.stream.events \
javax.xml.stream.util \
org.ietf.jgss \
org.omg.CORBA \
org.omg.CORBA.DynAnyPackage \
org.omg.CORBA.ORBPackage \
org.omg.CORBA.TypeCodePackage \
org.omg.stub.java.rmi \
org.omg.CORBA.portable \
org.omg.CORBA_2_3 \
org.omg.CORBA_2_3.portable \
org.omg.CosNaming \
org.omg.CosNaming.NamingContextExtPackage \
org.omg.CosNaming.NamingContextPackage \
org.omg.SendingContext \
org.omg.PortableServer \
org.omg.PortableServer.CurrentPackage \
org.omg.PortableServer.POAPackage \
org.omg.PortableServer.POAManagerPackage \
org.omg.PortableServer.ServantLocatorPackage \
org.omg.PortableServer.portable \
org.omg.PortableInterceptor \
org.omg.PortableInterceptor.ORBInitInfoPackage \
org.omg.Messaging \
org.omg.IOP \
org.omg.IOP.CodecFactoryPackage \
org.omg.IOP.CodecPackage \
org.omg.Dynamic \
org.omg.DynamicAny \
org.omg.DynamicAny.DynAnyPackage \
org.omg.DynamicAny.DynAnyFactoryPackage \
org.w3c.dom \
org.w3c.dom.events \
org.w3c.dom.bootstrap \
org.w3c.dom.ls \
org.xml.sax \
org.xml.sax.ext \
org.xml.sax.helpers
CORE_PKGS = \
java.applet \
java.awt \
java.awt.color \
java.awt.datatransfer \
java.awt.dnd \
java.awt.event \
java.awt.font \
java.awt.geom \
java.awt.im \
java.awt.im.spi \
java.awt.image \
java.awt.image.renderable \
java.awt.print \
java.beans \
java.beans.beancontext \
java.io \
java.lang \
java.lang.annotation \
java.lang.instrument \
java.lang.invoke \
java.lang.management \
java.lang.ref \
java.lang.reflect \
java.math \
java.net \
java.nio \
java.nio.channels \
java.nio.channels.spi \
java.nio.charset \
java.nio.charset.spi \
java.nio.file \
java.nio.file.attribute \
java.nio.file.spi \
java.rmi \
java.rmi.activation \
java.rmi.dgc \
java.rmi.registry \
java.rmi.server \
java.security \
java.security.acl \
java.security.cert \
java.security.interfaces \
java.security.spec \
java.sql \
java.text \
java.text.spi \
java.time \
java.time.chrono \
java.time.format \
java.time.temporal \
java.time.zone \
java.util \
java.util.concurrent \
java.util.concurrent.atomic \
java.util.concurrent.locks \
java.util.function \
java.util.jar \
java.util.logging \
java.util.prefs \
java.util.regex \
java.util.spi \
java.util.stream \
java.util.zip \
javax.accessibility \
javax.activation \
javax.activity \
javax.annotation \
javax.annotation.processing \
javax.crypto \
javax.crypto.interfaces \
javax.crypto.spec \
javax.imageio \
javax.imageio.event \
javax.imageio.metadata \
javax.imageio.plugins.jpeg \
javax.imageio.plugins.bmp \
javax.imageio.spi \
javax.imageio.stream \
javax.jws \
javax.jws.soap \
javax.lang.model \
javax.lang.model.element \
javax.lang.model.type \
javax.lang.model.util \
javax.management \
javax.management.loading \
javax.management.monitor \
javax.management.relation \
javax.management.openmbean \
javax.management.timer \
javax.management.modelmbean \
javax.management.remote \
javax.management.remote.rmi \
javax.naming \
javax.naming.directory \
javax.naming.event \
javax.naming.ldap \
javax.naming.spi \
javax.net \
javax.net.ssl \
javax.print \
javax.print.attribute \
javax.print.attribute.standard \
javax.print.event \
javax.rmi \
javax.rmi.CORBA \
javax.rmi.ssl \
javax.script \
javax.security.auth \
javax.security.auth.callback \
javax.security.auth.kerberos \
javax.security.auth.login \
javax.security.auth.spi \
javax.security.auth.x500 \
javax.security.cert \
javax.security.sasl \
javax.sound.sampled \
javax.sound.sampled.spi \
javax.sound.midi \
javax.sound.midi.spi \
javax.sql \
javax.sql.rowset \
javax.sql.rowset.serial \
javax.sql.rowset.spi \
javax.swing \
javax.swing.border \
javax.swing.colorchooser \
javax.swing.filechooser \
javax.swing.event \
javax.swing.table \
javax.swing.text \
javax.swing.text.html \
javax.swing.text.html.parser \
javax.swing.text.rtf \
javax.swing.tree \
javax.swing.undo \
javax.swing.plaf \
javax.swing.plaf.basic \
javax.swing.plaf.metal \
javax.swing.plaf.multi \
javax.swing.plaf.nimbus \
javax.swing.plaf.synth \
javax.tools \
javax.tools.annotation \
javax.transaction \
javax.transaction.xa \
javax.xml.parsers \
javax.xml.bind \
javax.xml.bind.annotation \
javax.xml.bind.annotation.adapters \
javax.xml.bind.attachment \
javax.xml.bind.helpers \
javax.xml.bind.util \
javax.xml.soap \
javax.xml.ws \
javax.xml.ws.handler \
javax.xml.ws.handler.soap \
javax.xml.ws.http \
javax.xml.ws.soap \
javax.xml.ws.spi \
javax.xml.ws.spi.http \
javax.xml.ws.wsaddressing \
javax.xml.transform \
javax.xml.transform.sax \
javax.xml.transform.dom \
javax.xml.transform.stax \
javax.xml.transform.stream \
javax.xml \
javax.xml.crypto \
javax.xml.crypto.dom \
javax.xml.crypto.dsig \
javax.xml.crypto.dsig.dom \
javax.xml.crypto.dsig.keyinfo \
javax.xml.crypto.dsig.spec \
javax.xml.datatype \
javax.xml.validation \
javax.xml.namespace \
javax.xml.xpath \
javax.xml.stream \
javax.xml.stream.events \
javax.xml.stream.util \
org.ietf.jgss \
org.omg.CORBA \
org.omg.CORBA.DynAnyPackage \
org.omg.CORBA.ORBPackage \
org.omg.CORBA.TypeCodePackage \
org.omg.stub.java.rmi \
org.omg.CORBA.portable \
org.omg.CORBA_2_3 \
org.omg.CORBA_2_3.portable \
org.omg.CosNaming \
org.omg.CosNaming.NamingContextExtPackage \
org.omg.CosNaming.NamingContextPackage \
org.omg.SendingContext \
org.omg.PortableServer \
org.omg.PortableServer.CurrentPackage \
org.omg.PortableServer.POAPackage \
org.omg.PortableServer.POAManagerPackage \
org.omg.PortableServer.ServantLocatorPackage \
org.omg.PortableServer.portable \
org.omg.PortableInterceptor \
org.omg.PortableInterceptor.ORBInitInfoPackage \
org.omg.Messaging \
org.omg.IOP \
org.omg.IOP.CodecFactoryPackage \
org.omg.IOP.CodecPackage \
org.omg.Dynamic \
org.omg.DynamicAny \
org.omg.DynamicAny.DynAnyPackage \
org.omg.DynamicAny.DynAnyFactoryPackage \
org.w3c.dom \
org.w3c.dom.events \
org.w3c.dom.bootstrap \
org.w3c.dom.ls \
org.w3c.dom.views \
org.xml.sax \
org.xml.sax.ext \
org.xml.sax.helpers

File diff suppressed because it is too large Load Diff

View File

@@ -24,87 +24,87 @@
#
#
# This file contains the package names of all the "non-core"
# API published in the Java 2 SDK documentation. "Non-core" means
# This file contains the package names of all the "non-core"
# API published in the Java 2 SDK documentation. "Non-core" means
# it includes all published API outside of the JDK API specification.
#
# These environment variables are used by javadoc in
# These environment variables are used by javadoc in
# make/docs/Makefile and are referenced by the localization
# team when determining which APIs to extract javadoc
# comments from.
DOMAPI_PKGS = com.sun.java.browser.dom \
org.w3c.dom \
org.w3c.dom.bootstrap \
org.w3c.dom.ls \
org.w3c.dom.ranges \
org.w3c.dom.traversal \
org.w3c.dom.html \
org.w3c.dom.stylesheets \
org.w3c.dom.css \
org.w3c.dom.events \
org.w3c.dom.views
DOMAPI_PKGS = com.sun.java.browser.dom \
org.w3c.dom \
org.w3c.dom.bootstrap \
org.w3c.dom.ls \
org.w3c.dom.ranges \
org.w3c.dom.traversal \
org.w3c.dom.html \
org.w3c.dom.stylesheets \
org.w3c.dom.css \
org.w3c.dom.events \
org.w3c.dom.views
JDI_PKGS = com.sun.jdi \
com.sun.jdi.event \
com.sun.jdi.request \
com.sun.jdi.connect \
com.sun.jdi.connect.spi
JDI_PKGS = com.sun.jdi \
com.sun.jdi.event \
com.sun.jdi.request \
com.sun.jdi.connect \
com.sun.jdi.connect.spi
MGMT_PKGS = com.sun.management
MGMT_PKGS = com.sun.management
JAAS_PKGS = com.sun.security.auth \
com.sun.security.auth.callback \
com.sun.security.auth.login \
com.sun.security.auth.module
JAAS_PKGS = com.sun.security.auth \
com.sun.security.auth.callback \
com.sun.security.auth.login \
com.sun.security.auth.module
JGSS_PKGS = com.sun.security.jgss
JGSS_PKGS = com.sun.security.jgss
OLD_JSSE_PKGS = com.sun.net.ssl
OLD_JSSE_PKGS = com.sun.net.ssl
HTTPSERVER_PKGS = com.sun.net.httpserver \
com.sun.net.httpserver.spi
HTTPSERVER_PKGS = com.sun.net.httpserver \
com.sun.net.httpserver.spi
NIO_PKGS = com.sun.nio.file
NIO_PKGS = com.sun.nio.file
DOCLETAPI_PKGS = com.sun.javadoc
DOCLETAPI_PKGS = com.sun.javadoc
TAGLETAPI_FILE = com/sun/tools/doclets/Taglet.java
TAGLETAPI_FILE = com/sun/tools/doclets/Taglet.java
TAGLETAPI_PKGS = com.sun.tools.doclets
TAGLETAPI_PKGS = com.sun.tools.doclets
ATTACH_PKGS = com.sun.tools.attach \
com.sun.tools.attach.spi
ATTACH_PKGS = com.sun.tools.attach \
com.sun.tools.attach.spi
JCONSOLE_PKGS = com.sun.tools.jconsole
JCONSOLE_PKGS = com.sun.tools.jconsole
TREEAPI_PKGS = com.sun.source.doctree \
com.sun.source.tree \
com.sun.source.util \
jdk
TREEAPI_PKGS = com.sun.source.doctree \
com.sun.source.tree \
com.sun.source.util \
jdk
SMARTCARDIO_PKGS = javax.smartcardio
SCTPAPI_PKGS = com.sun.nio.sctp
SCTPAPI_PKGS = com.sun.nio.sctp
ifeq ($(PLATFORM), macosx)
APPLE_EXT_PKGS = com.apple.concurrent \
com.apple.eawt \
com.apple.eawt.event \
com.apple.eio
APPLE_EXT_PKGS = com.apple.concurrent \
com.apple.eawt \
com.apple.eawt.event \
com.apple.eio
endif
JDK_PKGS = jdk
JDK_PKGS = jdk
# non-core packages in rt.jar
NON_CORE_PKGS = $(DOMAPI_PKGS) \
$(MGMT_PKGS) \
$(JAAS_PKGS) \
$(JGSS_PKGS) \
$(NIO_PKGS) \
$(OLD_JSSE_PKGS) \
$(HTTPSERVER_PKGS) \
$(SMARTCARDIO_PKGS) \
$(SCTPAPI_PKGS) \
$(APPLE_EXT_PKGS) \
$(JDK_PKGS)
NON_CORE_PKGS = $(DOMAPI_PKGS) \
$(MGMT_PKGS) \
$(JAAS_PKGS) \
$(JGSS_PKGS) \
$(NIO_PKGS) \
$(OLD_JSSE_PKGS) \
$(HTTPSERVER_PKGS) \
$(SMARTCARDIO_PKGS) \
$(SCTPAPI_PKGS) \
$(APPLE_EXT_PKGS) \
$(JDK_PKGS)

View File

@@ -8,42 +8,42 @@
<body>
<h3><a name="REGEXP"></a><br>
REGEXP</h3>
<p> REGEXP is a list of wildcard patterns that determines which packages listed
in CORE_PKGS.gmk go into which summary-table on the main API index page. It
was motivated by the need to divide the world into &quot;core packages&quot;
(java.*) and &quot;extension packages&quot; (javax.*). In time, the distinction
went away. The whole table is now called &quot;Platform Packages&quot;--which
eliminated the need for this list of regular expressions. But it lingered on,
accreting all of the packages in the JVM, one by one. I pruned it back to &quot;*&quot;,
so it now covers every package in the Java platform API docs. If some separation
is needed in the future, it can grow back into a colon-separated list, starting
with this, which is in all respects equivalent to &quot;*&quot; at this point
<p> REGEXP is a list of wildcard patterns that determines which packages listed
in CORE_PKGS.gmk go into which summary-table on the main API index page. It
was motivated by the need to divide the world into &quot;core packages&quot;
(java.*) and &quot;extension packages&quot; (javax.*). In time, the distinction
went away. The whole table is now called &quot;Platform Packages&quot;--which
eliminated the need for this list of regular expressions. But it lingered on,
accreting all of the packages in the JVM, one by one. I pruned it back to &quot;*&quot;,
so it now covers every package in the Java platform API docs. If some separation
is needed in the future, it can grow back into a colon-separated list, starting
with this, which is in all respects equivalent to &quot;*&quot; at this point
in time:</p>
<blockquote>
<blockquote>
<pre>REGEXP = &quot;java.*:javax.*:org.ietf*:org.omg.</pre>
</blockquote>
<h3><a name="releaseTargets"></a><br>
Release Targets</h3>
<p> (Thanks to Kelly O'Hair for this info.)</p>
<p> The <tt>rel-coredocs</tt> and <tt>rel-docs</tt> targets were added by Eric
Armstrong. <tt>rel-coredocs</tt> assumes the kind of large, 32-bit machine used
in the javapubs group's docs-release process. It specifies memory settings accordingly
<p> The <tt>rel-coredocs</tt> and <tt>rel-docs</tt> targets were added by Eric
Armstrong. <tt>rel-coredocs</tt> assumes the kind of large, 32-bit machine used
in the javapubs group's docs-release process. It specifies memory settings accordingly
to maximize performance.</p>
<p> The performance settings, like the sanity check, are most important for the
core docs--the platform APIs. Running javadoc on those APIs takes a significant
amount of time and memory. Setting the initial heap size as large as possible
is important to prevent thrashing as the heap grows. Setting the maximum as
<p> The performance settings, like the sanity check, are most important for the
core docs--the platform APIs. Running javadoc on those APIs takes a significant
amount of time and memory. Setting the initial heap size as large as possible
is important to prevent thrashing as the heap grows. Setting the maximum as
large as necessary is also important to keep the job from failing.</p>
<blockquote>
<p> <tt>-J-Xmx512</tt> sets a maximum of 512, which became necessary in 6.0<br>
<tt>-J-Xms256</tt> sets starting size to 256 (default is 8)</p>
</blockquote>
<p> <tt>rel-coredocs</tt> also includes a sanity check to help ensure that <tt>BUILD_NUMBER</tt>
and <tt>MILESTONE</tt> are specified properly when docs are built outside of
the normal release engineering process, with the intention of releasing them
on the web or in a downloaded docs bundle. (When invoked in release engineering's
control build, the values are always set properly. But when the targets are
run by themselves, they default to b00 and &quot;internal&quot;--which silently
<p> <tt>rel-coredocs</tt> also includes a sanity check to help ensure that <tt>BUILD_NUMBER</tt>
and <tt>MILESTONE</tt> are specified properly when docs are built outside of
the normal release engineering process, with the intention of releasing them
on the web or in a downloaded docs bundle. (When invoked in release engineering's
control build, the values are always set properly. But when the targets are
run by themselves, they default to b00 and &quot;internal&quot;--which silently
sabotage the result of a build that can take many hours to complete.</p>
</body>
</html>

View File

@@ -230,3 +230,10 @@ d411c60a8c2fe8fdc572af907775e90f7eefd513 jdk8-b104
2e3a056c84a71eba78945c18b05397858ffd7ad0 jdk8-b106
23fc34133152692b725db4bd617b4c8dfd6ccb05 jdk8-b107
a4bb3b4500164748a9c33b2283cfda76d89f25ab jdk8-b108
428428cf5e06163322144cfb5367e1faa86acf20 jdk8-b109
3d2b7ce93c5c2e3db748f29c3d29620a8b3b748a jdk8-b110
85c1c94e723582f9a1dd0251502c42b73d6deea7 jdk8-b111
43cec76d1d62587a07af07e2d9bec93aba2a506b jdk8-b112
a259ff3e42d91da68f4d4f09d7eb9dc22bc024fc jdk8-b113
0bbccf77c23e566170b88b52c2cf28e5d31ce927 jdk8-b114
8d07115924b7d703a5048adb24e8aba751442f13 jdk8-b115

View File

@@ -33,9 +33,7 @@ jprt.build.flavors=product,fastdebug
# Standard list of jprt build targets for this source tree
jprt.build.targets= \
solaris_sparc_5.10-{product|fastdebug}, \
solaris_sparcv9_5.10-{product|fastdebug}, \
solaris_i586_5.10-{product|fastdebug}, \
solaris_x64_5.10-{product|fastdebug}, \
linux_i586_2.6-{product|fastdebug}, \
linux_x64_2.6-{product|fastdebug}, \

File diff suppressed because one or more lines are too long

View File

@@ -24,19 +24,19 @@
#
# Locate this Makefile
ifeq ($(filter /%,$(lastword $(MAKEFILE_LIST))),)
makefile_path:=$(CURDIR)/$(lastword $(MAKEFILE_LIST))
ifeq ($(filter /%, $(lastword $(MAKEFILE_LIST))), )
makefile_path := $(CURDIR)/$(lastword $(MAKEFILE_LIST))
else
makefile_path:=$(lastword $(MAKEFILE_LIST))
makefile_path := $(lastword $(MAKEFILE_LIST))
endif
repo_dir:=$(patsubst %/makefiles/Makefile,%,$(makefile_path))
repo_dir := $(patsubst %/makefiles/Makefile, %, $(makefile_path))
# What is the name of this subsystem (langtools, corba, etc)?
subsystem_name:=$(notdir $(repo_dir))
subsystem_name := $(notdir $(repo_dir))
# Try to locate top-level makefile
top_level_makefile:=$(repo_dir)/../common/makefiles/Makefile
ifneq ($(wildcard $(top_level_makefile)),)
top_level_makefile := $(repo_dir)/../common/makefiles/Makefile
ifneq ($(wildcard $(top_level_makefile)), )
$(info Will run $(subsystem_name) target on top-level Makefile)
$(info WARNING: This is a non-recommended way of building!)
$(info ===================================================)

View File

@@ -580,7 +580,7 @@ public class AnyImpl extends Any
java.lang.Object[] objholder = new java.lang.Object[1];
objholder[0] = object;
long[] longholder = new long[1];
TCUtility.unmarshalIn(in, typeCode, longholder, objholder);
TCUtility.unmarshalIn(in, realType(), longholder, objholder);
value = longholder[0];
object = objholder[0];
stream = null;

View File

@@ -905,28 +905,4 @@ public class IDLNameTranslatorImpl implements IDLNameTranslator {
return contents.toString();
}
public static void main(String[] args) {
Class remoteInterface = java.rmi.Remote.class;
if( args.length > 0 ) {
String className = args[0];
try {
remoteInterface = Class.forName(className);
} catch(Exception e) {
e.printStackTrace();
System.exit(-1);
}
}
System.out.println("Building name translation for " + remoteInterface);
try {
IDLNameTranslator nameTranslator =
IDLNameTranslatorImpl.get(remoteInterface);
System.out.println(nameTranslator);
} catch(IllegalStateException ise) {
ise.printStackTrace();
}
}
}

View File

@@ -43,6 +43,8 @@ import com.sun.corba.se.spi.orbutil.proxy.InvocationHandlerFactory ;
import com.sun.corba.se.spi.orbutil.proxy.DelegateInvocationHandlerImpl ;
import com.sun.corba.se.spi.orbutil.proxy.CompositeInvocationHandler ;
import com.sun.corba.se.spi.orbutil.proxy.CompositeInvocationHandlerImpl ;
import java.security.AccessController;
import java.security.PrivilegedAction;
public class InvocationHandlerFactoryImpl implements InvocationHandlerFactory
{
@@ -114,24 +116,32 @@ public class InvocationHandlerFactoryImpl implements InvocationHandlerFactory
// which extends org.omg.CORBA.Object. This handler delegates all
// calls directly to a DynamicStubImpl, which extends
// org.omg.CORBA.portable.ObjectImpl.
InvocationHandler dynamicStubHandler =
final InvocationHandler dynamicStubHandler =
DelegateInvocationHandlerImpl.create( stub ) ;
// Create an invocation handler that handles any remote interface
// methods.
InvocationHandler stubMethodHandler = new StubInvocationHandlerImpl(
final InvocationHandler stubMethodHandler = new StubInvocationHandlerImpl(
pm, classData, stub ) ;
// Create a composite handler that handles the DynamicStub interface
// as well as the remote interfaces.
final CompositeInvocationHandler handler =
new CustomCompositeInvocationHandlerImpl( stub ) ;
AccessController.doPrivileged(new PrivilegedAction<Void>() {
@Override
public Void run() {
handler.addInvocationHandler( DynamicStub.class,
dynamicStubHandler ) ;
handler.addInvocationHandler( org.omg.CORBA.Object.class,
dynamicStubHandler ) ;
handler.addInvocationHandler( Object.class,
dynamicStubHandler ) ;
return null;
}
});
// If the method passed to invoke is not from DynamicStub or its superclasses,
// it must be from an implemented interface, so we just handle

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2013, 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
@@ -55,7 +55,7 @@ import com.sun.corba.se.impl.orbutil.ORBUtility;
/**
* @author Harold Carr
*/
public class SelectorImpl
class SelectorImpl
extends
Thread
implements

View File

@@ -36,6 +36,7 @@ import java.lang.reflect.InvocationHandler ;
import com.sun.corba.se.spi.logging.CORBALogDomains ;
import com.sun.corba.se.impl.logging.ORBUtilSystemException ;
import com.sun.corba.se.impl.presentation.rmi.DynamicAccessPermission;
public class CompositeInvocationHandlerImpl implements
CompositeInvocationHandler
@@ -46,11 +47,13 @@ public class CompositeInvocationHandlerImpl implements
public void addInvocationHandler( Class interf,
InvocationHandler handler )
{
checkAccess();
classToInvocationHandler.put( interf, handler ) ;
}
public void setDefaultHandler( InvocationHandler handler )
{
checkAccess();
defaultHandler = handler ;
}
@@ -78,4 +81,12 @@ public class CompositeInvocationHandlerImpl implements
return handler.invoke( proxy, method, args ) ;
}
private static final DynamicAccessPermission perm = new DynamicAccessPermission("access");
private void checkAccess() {
final SecurityManager sm = System.getSecurityManager();
if (sm != null) {
sm.checkPermission(perm);
}
}
}

View File

@@ -61,13 +61,11 @@ public abstract class Stub extends ObjectImpl
private transient StubDelegate stubDelegate = null;
private static Class stubDelegateClass = null;
private static final String StubClassKey = "javax.rmi.CORBA.StubClass";
private static final String defaultStubImplName = "com.sun.corba.se.impl.javax.rmi.CORBA.StubDelegateImpl";
static {
Object stubDelegateInstance = (Object) createDelegateIfSpecified(StubClassKey, defaultStubImplName);
Object stubDelegateInstance = createDelegate(StubClassKey);
if (stubDelegateInstance != null)
stubDelegateClass = stubDelegateInstance.getClass();
}
@@ -207,7 +205,7 @@ public abstract class Stub extends ObjectImpl
// are in different packages and the visibility needs to be package for
// security reasons. If you know a better solution how to share this code
// then remove it from PortableRemoteObject. Also in Util.java
private static Object createDelegateIfSpecified(String classKey, String defaultClassName) {
private static Object createDelegate(String classKey) {
String className = (String)
AccessController.doPrivileged(new GetPropertyAction(classKey));
if (className == null) {
@@ -218,7 +216,7 @@ public abstract class Stub extends ObjectImpl
}
if (className == null) {
className = defaultClassName;
return new com.sun.corba.se.impl.javax.rmi.CORBA.StubDelegateImpl();
}
try {

View File

@@ -60,14 +60,11 @@ import com.sun.corba.se.impl.orbutil.GetPropertyAction;
public class Util {
// This can only be set at static initialization time (no sync necessary).
private static javax.rmi.CORBA.UtilDelegate utilDelegate = null;
private static final javax.rmi.CORBA.UtilDelegate utilDelegate;
private static final String UtilClassKey = "javax.rmi.CORBA.UtilClass";
private static final String defaultUtilImplName =
"com.sun.corba.se.impl.javax.rmi.CORBA.Util";
static {
utilDelegate = (javax.rmi.CORBA.UtilDelegate)
createDelegateIfSpecified(UtilClassKey, defaultUtilImplName);
utilDelegate = (javax.rmi.CORBA.UtilDelegate)createDelegate(UtilClassKey);
}
private Util(){}
@@ -338,9 +335,7 @@ Tie#deactivate}
// are in different packages and the visibility needs to be package for
// security reasons. If you know a better solution how to share this code
// then remove it from PortableRemoteObject. Also in Stub.java
private static Object createDelegateIfSpecified(String classKey,
String defaultClassName)
{
private static Object createDelegate(String classKey) {
String className = (String)
AccessController.doPrivileged(new GetPropertyAction(classKey));
if (className == null) {
@@ -351,7 +346,7 @@ Tie#deactivate}
}
if (className == null) {
className = defaultClassName;
return new com.sun.corba.se.impl.javax.rmi.CORBA.Util();
}
try {

View File

@@ -65,17 +65,14 @@ import com.sun.corba.se.impl.orbutil.GetPropertyAction;
*/
public class PortableRemoteObject {
private static javax.rmi.CORBA.PortableRemoteObjectDelegate proDelegate = null;
private static final javax.rmi.CORBA.PortableRemoteObjectDelegate proDelegate;
private static final String PortableRemoteObjectClassKey =
"javax.rmi.CORBA.PortableRemoteObjectClass";
private static final String defaultPortableRemoteObjectImplName =
"com.sun.corba.se.impl.javax.rmi.PortableRemoteObject";
static {
proDelegate = (javax.rmi.CORBA.PortableRemoteObjectDelegate)
createDelegateIfSpecified(PortableRemoteObjectClassKey);
createDelegate(PortableRemoteObjectClassKey);
}
/**
@@ -181,7 +178,7 @@ public class PortableRemoteObject {
// are in different packages and the visibility needs to be package for
// security reasons. If you know a better solution how to share this code
// then remove it from here.
private static Object createDelegateIfSpecified(String classKey) {
private static Object createDelegate(String classKey) {
String className = (String)
AccessController.doPrivileged(new GetPropertyAction(classKey));
if (className == null) {
@@ -191,7 +188,7 @@ public class PortableRemoteObject {
}
}
if (className == null) {
className = defaultPortableRemoteObjectImplName;
return new com.sun.corba.se.impl.javax.rmi.PortableRemoteObject();
}
try {

View File

@@ -173,15 +173,6 @@ abstract public class ORB {
private static final String ORBClassKey = "org.omg.CORBA.ORBClass";
private static final String ORBSingletonClassKey = "org.omg.CORBA.ORBSingletonClass";
//
// The last resort fallback ORB implementation classes in case
// no ORB implementation class is dynamically configured through
// properties or applet parameters. Change these values to
// vendor-specific class names.
//
private static final String defaultORB = "com.sun.corba.se.impl.orb.ORBImpl";
private static final String defaultORBSingleton = "com.sun.corba.se.impl.orb.ORBSingleton";
//
// The global instance of the singleton ORB implementation which
// acts as a factory for typecodes for generated Helper classes.
@@ -294,10 +285,11 @@ abstract public class ORB {
String className = getSystemProperty(ORBSingletonClassKey);
if (className == null)
className = getPropertyFromFile(ORBSingletonClassKey);
if (className == null)
className = defaultORBSingleton;
singleton = create_impl(className);
if (className == null) {
singleton = new com.sun.corba.se.impl.orb.ORBSingleton();
} else {
singleton = create_impl(className);
}
}
return singleton;
}
@@ -347,10 +339,12 @@ abstract public class ORB {
className = getSystemProperty(ORBClassKey);
if (className == null)
className = getPropertyFromFile(ORBClassKey);
if (className == null)
className = defaultORB;
if (className == null) {
orb = new com.sun.corba.se.impl.orb.ORBImpl();
} else {
orb = create_impl(className);
}
orb = create_impl(className);
orb.set_parameters(args, props);
return orb;
}
@@ -375,10 +369,12 @@ abstract public class ORB {
className = getSystemProperty(ORBClassKey);
if (className == null)
className = getPropertyFromFile(ORBClassKey);
if (className == null)
className = defaultORB;
if (className == null) {
orb = new com.sun.corba.se.impl.orb.ORBImpl();
} else {
orb = create_impl(className);
}
orb = create_impl(className);
orb.set_parameters(app, props);
return orb;
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1998, 2013, 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
@@ -34,6 +34,9 @@ package sun.rmi.rmic.iiop;
import java.io.File;
import java.io.IOException;
import java.io.SerializablePermission;
import java.security.AccessController;
import java.security.PrivilegedAction;
import java.util.Vector;
import java.util.Hashtable;
import java.util.Enumeration;
@@ -49,6 +52,7 @@ import com.sun.corba.se.impl.util.Utility;
import com.sun.corba.se.impl.util.PackagePrefixChecker;
import sun.rmi.rmic.Main;
/**
* An IIOP stub/tie generator for rmic.
*
@@ -78,6 +82,7 @@ public class StubGenerator extends sun.rmi.rmic.iiop.Generator {
protected boolean castArray = false;
protected Hashtable transactionalObjects = new Hashtable() ;
protected boolean POATie = false ;
protected boolean emitPermissionCheck = false;
/**
* Default constructor for Main to use.
@@ -193,6 +198,9 @@ public class StubGenerator extends sun.rmi.rmic.iiop.Generator {
} else if (argv[i].equals("-standardPackage")) {
standardPackage = true;
argv[i] = null;
} else if (argv[i].equals("-emitPermissionCheck")) {
emitPermissionCheck = true;
argv[i] = null;
} else if (arg.equals("-xstubbase")) {
argv[i] = null;
if (++i < argv.length && argv[i] != null && !argv[i].startsWith("-")) {
@@ -390,9 +398,22 @@ public class StubGenerator extends sun.rmi.rmic.iiop.Generator {
writePackageAndImports(p);
// generate
// import java.security.AccessController;
// import java.security.PrivilegedAction;
// import java.io.SerializablePermission;
if (emitPermissionCheck) {
p.pln("import java.security.AccessController;");
p.pln("import java.security.PrivilegedAction;");
p.pln("import java.io.SerializablePermission;");
p.pln();
p.pln();
}
// Declare the stub class; implement all remote interfaces.
p.p("public class " + currentClass);
p.p(" extends " + getName(stubBaseClass));
p.p(" implements ");
if (remoteInterfaces.length > 0) {
@@ -422,6 +443,57 @@ public class StubGenerator extends sun.rmi.rmic.iiop.Generator {
writeIds( p, theType, false );
p.pln();
if (emitPermissionCheck) {
// produce the following generated code for example
// private static Void checkPermission() {
// SecurityManager sm = System.getSecurityManager();
// if (sm != null) {
// sm.checkPermission(new SerializablePermission(
// "enableSubclassImplementation")); // testing
// }
// return null;
// }
//
// private _XXXXX_Stub(Void ignore) {
// }
//
// public _XXXXX_Stub() {
// this(checkPermission());
// }
//
// where XXXXX is the name of the remote interface
p.pln();
p.plnI("private static Void checkPermission() {");
p.plnI("SecurityManager sm = System.getSecurityManager();");
p.pln("if (sm != null) {");
p.pI();
p.plnI("sm.checkPermission(new SerializablePermission(");
p.plnI("\"enableSubclassImplementation\"));");
p.pO();
p.pO();
p.pOln("}");
p.pln("return null;");
p.pO();
p.pOln("}");
p.pln();
p.pO();
p.pI();
p.pln("private " + currentClass + "(Void ignore) { }");
p.pln();
p.plnI("public " + currentClass + "() { ");
p.pln("this(checkPermission());");
p.pOln("}");
p.pln();
}
if (!emitPermissionCheck) {
p.pI();
}
// Write the _ids() method...
p.plnI("public String[] _ids() { ");
@@ -815,7 +887,6 @@ public class StubGenerator extends sun.rmi.rmic.iiop.Generator {
CompoundType theType) throws IOException {
// Wtite the method declaration and opening brace...
String methodName = method.getName();
String methodIDLName = method.getIDLName();

View File

@@ -379,3 +379,17 @@ aed585cafc0d9655726af6d1e1081d1c94cb3b5c jdk8-b106
a09fe9d1e016c285307507a5793bc4fa6215e9c9 hs25-b50
85072013aad46050a362d10ab78e963121c8014c jdk8-b108
566db1b0e6efca31f181456e54c8911d0192410d hs25-b51
c81dd5393a5e333df7cb1f6621f5897ada6522b5 jdk8-b109
58043478c26d4e8bf48700acea5f97aba8b417d4 hs25-b52
6209b0ed51c086d4127bac0e086c8f326d1764d7 jdk8-b110
562a3d356de67670b4172b82aca2d30743449e04 hs25-b53
f6962730bbde82f279a0ae3a1c14bc5e58096c6e jdk8-b111
4a845c7a463844cead9e1e1641d6bcfb8a77f1c7 hs25-b54
0ed9a90f45e1b392c671005f9ee22ce1acf02984 jdk8-b112
23b8db5ea31d3079f1326afde4cd5c67b1dac49c hs25-b55
4589b398ab03aba6a5da8c06ff53603488d1b8f4 jdk8-b113
82a9cdbf683e374a76f2009352de53e16bed5a91 hs25-b56
7fd913010dbbf75260688fd2fa8964763fa49a09 jdk8-b114
3b32d287da89a47a45d16f6d9ba5bd3cd9bf4b3e hs25-b57
9ebaac78a8a0061fb9597e07f806498cb626cdeb jdk8-b115
e510dfdec6dd701410f3398ed86ebcdff0cca63a hs25-b58

View File

@@ -44,6 +44,7 @@
// close all file descriptors
static void close_files(struct ps_prochandle* ph) {
lib_info* lib = NULL;
// close core file descriptor
if (ph->core->core_fd >= 0)
close(ph->core->core_fd);
@@ -149,8 +150,7 @@ static map_info* add_class_share_map_info(struct ps_prochandle* ph, off_t offset
// Return the map_info for the given virtual address. We keep a sorted
// array of pointers in ph->map_array, so we can binary search.
static map_info* core_lookup(struct ps_prochandle *ph, uintptr_t addr)
{
static map_info* core_lookup(struct ps_prochandle *ph, uintptr_t addr) {
int mid, lo = 0, hi = ph->core->num_maps - 1;
map_info *mp;
@@ -230,9 +230,9 @@ struct FileMapHeader {
size_t _used; // for setting space top on read
// 4991491 NOTICE These are C++ bool's in filemap.hpp and must match up with
// the C type matching the C++ bool type on any given platform. For
// Hotspot on BSD we assume the corresponding C type is char but
// licensees on BSD versions may need to adjust the type of these fields.
// the C type matching the C++ bool type on any given platform.
// We assume the corresponding C type is char but licensees
// may need to adjust the type of these fields.
char _read_only; // read only space?
char _allow_exec; // executable code in space?
@@ -286,10 +286,12 @@ static bool read_string(struct ps_prochandle* ph, uintptr_t addr, char* buf, siz
#define USE_SHARED_SPACES_SYM "_UseSharedSpaces"
// mangled name of Arguments::SharedArchivePath
#define SHARED_ARCHIVE_PATH_SYM "_ZN9Arguments17SharedArchivePathE"
#define LIBJVM_NAME "/libjvm.dylib"
#else
#define USE_SHARED_SPACES_SYM "UseSharedSpaces"
// mangled name of Arguments::SharedArchivePath
#define SHARED_ARCHIVE_PATH_SYM "__ZN9Arguments17SharedArchivePathE"
#define LIBJVM_NAME "/libjvm.so"
#endif // __APPLE_
static bool init_classsharing_workaround(struct ps_prochandle* ph) {
@@ -300,12 +302,7 @@ static bool init_classsharing_workaround(struct ps_prochandle* ph) {
// we are iterating over shared objects from the core dump. look for
// libjvm.so.
const char *jvm_name = 0;
#ifdef __APPLE__
if ((jvm_name = strstr(lib->name, "/libjvm.dylib")) != 0)
#else
if ((jvm_name = strstr(lib->name, "/libjvm.so")) != 0)
#endif // __APPLE__
{
if ((jvm_name = strstr(lib->name, LIBJVM_NAME)) != 0) {
char classes_jsa[PATH_MAX];
struct FileMapHeader header;
int fd = -1;
@@ -399,8 +396,8 @@ static bool init_classsharing_workaround(struct ps_prochandle* ph) {
}
}
return true;
}
lib = lib->next;
}
lib = lib->next;
}
return true;
}
@@ -432,8 +429,8 @@ static bool sort_map_array(struct ps_prochandle* ph) {
// allocate map_array
map_info** array;
if ( (array = (map_info**) malloc(sizeof(map_info*) * num_maps)) == NULL) {
print_debug("can't allocate memory for map array\n");
return false;
print_debug("can't allocate memory for map array\n");
return false;
}
// add maps to array
@@ -450,7 +447,7 @@ static bool sort_map_array(struct ps_prochandle* ph) {
ph->core->map_array = array;
// sort the map_info array by base virtual address.
qsort(ph->core->map_array, ph->core->num_maps, sizeof (map_info*),
core_cmp_mapping);
core_cmp_mapping);
// print map
if (is_debug()) {
@@ -458,7 +455,7 @@ static bool sort_map_array(struct ps_prochandle* ph) {
print_debug("---- sorted virtual address map ----\n");
for (j = 0; j < ph->core->num_maps; j++) {
print_debug("base = 0x%lx\tsize = %d\n", ph->core->map_array[j]->vaddr,
ph->core->map_array[j]->memsz);
ph->core->map_array[j]->memsz);
}
}
@@ -1091,9 +1088,9 @@ static bool core_handle_note(struct ps_prochandle* ph, ELF_PHDR* note_phdr) {
notep->n_type, notep->n_descsz);
if (notep->n_type == NT_PRSTATUS) {
if (core_handle_prstatus(ph, descdata, notep->n_descsz) != true) {
return false;
}
if (core_handle_prstatus(ph, descdata, notep->n_descsz) != true) {
return false;
}
}
p = descdata + ROUNDUP(notep->n_descsz, 4);
}
@@ -1121,7 +1118,7 @@ static bool read_core_segments(struct ps_prochandle* ph, ELF_EHDR* core_ehdr) {
* contains a set of saved /proc structures), and PT_LOAD (which
* represents a memory mapping from the process's address space).
*
* Difference b/w Solaris PT_NOTE and BSD PT_NOTE:
* Difference b/w Solaris PT_NOTE and Linux/BSD PT_NOTE:
*
* In Solaris there are two PT_NOTE segments the first PT_NOTE (if present)
* contains /proc structs in the pre-2.6 unstructured /proc format. the last
@@ -1167,32 +1164,61 @@ err:
// read segments of a shared object
static bool read_lib_segments(struct ps_prochandle* ph, int lib_fd, ELF_EHDR* lib_ehdr, uintptr_t lib_base) {
int i = 0;
ELF_PHDR* phbuf;
ELF_PHDR* lib_php = NULL;
int i = 0;
ELF_PHDR* phbuf;
ELF_PHDR* lib_php = NULL;
if ((phbuf = read_program_header_table(lib_fd, lib_ehdr)) == NULL)
return false;
int page_size=sysconf(_SC_PAGE_SIZE);
// we want to process only PT_LOAD segments that are not writable.
// i.e., text segments. The read/write/exec (data) segments would
// have been already added from core file segments.
for (lib_php = phbuf, i = 0; i < lib_ehdr->e_phnum; i++) {
if ((lib_php->p_type == PT_LOAD) && !(lib_php->p_flags & PF_W) && (lib_php->p_filesz != 0)) {
if (add_map_info(ph, lib_fd, lib_php->p_offset, lib_php->p_vaddr + lib_base, lib_php->p_filesz) == NULL)
goto err;
if ((phbuf = read_program_header_table(lib_fd, lib_ehdr)) == NULL) {
return false;
}
// we want to process only PT_LOAD segments that are not writable.
// i.e., text segments. The read/write/exec (data) segments would
// have been already added from core file segments.
for (lib_php = phbuf, i = 0; i < lib_ehdr->e_phnum; i++) {
if ((lib_php->p_type == PT_LOAD) && !(lib_php->p_flags & PF_W) && (lib_php->p_filesz != 0)) {
uintptr_t target_vaddr = lib_php->p_vaddr + lib_base;
map_info *existing_map = core_lookup(ph, target_vaddr);
if (existing_map == NULL){
if (add_map_info(ph, lib_fd, lib_php->p_offset,
target_vaddr, lib_php->p_filesz) == NULL) {
goto err;
}
} else {
if ((existing_map->memsz != page_size) &&
(existing_map->fd != lib_fd) &&
(existing_map->memsz != lib_php->p_filesz)){
print_debug("address conflict @ 0x%lx (size = %ld, flags = %d\n)",
target_vaddr, lib_php->p_filesz, lib_php->p_flags);
goto err;
}
/* replace PT_LOAD segment with library segment */
print_debug("overwrote with new address mapping (memsz %ld -> %ld)\n",
existing_map->memsz, lib_php->p_filesz);
existing_map->fd = lib_fd;
existing_map->offset = lib_php->p_offset;
existing_map->memsz = lib_php->p_filesz;
}
lib_php++;
}
}
free(phbuf);
return true;
lib_php++;
}
free(phbuf);
return true;
err:
free(phbuf);
return false;
free(phbuf);
return false;
}
// process segments from interpreter (ld-elf.so.1)
// process segments from interpreter (ld.so or ld-linux.so or ld-elf.so)
static bool read_interp_segments(struct ps_prochandle* ph) {
ELF_EHDR interp_ehdr;
@@ -1303,32 +1329,34 @@ static bool read_shared_lib_info(struct ps_prochandle* ph) {
debug_base = dyn.d_un.d_ptr;
// at debug_base we have struct r_debug. This has first link map in r_map field
if (ps_pread(ph, (psaddr_t) debug_base + FIRST_LINK_MAP_OFFSET,
&first_link_map_addr, sizeof(uintptr_t)) != PS_OK) {
&first_link_map_addr, sizeof(uintptr_t)) != PS_OK) {
print_debug("can't read first link map address\n");
return false;
}
// read ld_base address from struct r_debug
// XXX: There is no r_ldbase member on BSD
/*
#if 0 // There is no r_ldbase member on BSD
if (ps_pread(ph, (psaddr_t) debug_base + LD_BASE_OFFSET, &ld_base_addr,
sizeof(uintptr_t)) != PS_OK) {
print_debug("can't read ld base address\n");
return false;
}
ph->core->ld_base_addr = ld_base_addr;
*/
#else
ph->core->ld_base_addr = 0;
#endif
print_debug("interpreter base address is 0x%lx\n", ld_base_addr);
// now read segments from interp (i.e ld-elf.so.1)
if (read_interp_segments(ph) != true)
// now read segments from interp (i.e ld.so or ld-linux.so or ld-elf.so)
if (read_interp_segments(ph) != true) {
return false;
}
// after adding interpreter (ld.so) mappings sort again
if (sort_map_array(ph) != true)
if (sort_map_array(ph) != true) {
return false;
}
print_debug("first link map is at 0x%lx\n", first_link_map_addr);
@@ -1380,8 +1408,9 @@ static bool read_shared_lib_info(struct ps_prochandle* ph) {
add_lib_info_fd(ph, lib_name, lib_fd, lib_base);
// Map info is added for the library (lib_name) so
// we need to re-sort it before calling the p_pdread.
if (sort_map_array(ph) != true)
if (sort_map_array(ph) != true) {
return false;
}
} else {
print_debug("can't read ELF header for shared object %s\n", lib_name);
close(lib_fd);
@@ -1392,7 +1421,7 @@ static bool read_shared_lib_info(struct ps_prochandle* ph) {
// read next link_map address
if (ps_pread(ph, (psaddr_t) link_map_addr + LINK_MAP_NEXT_OFFSET,
&link_map_addr, sizeof(uintptr_t)) != PS_OK) {
&link_map_addr, sizeof(uintptr_t)) != PS_OK) {
print_debug("can't read next link in link_map\n");
return false;
}
@@ -1408,7 +1437,7 @@ struct ps_prochandle* Pgrab_core(const char* exec_file, const char* core_file) {
struct ps_prochandle* ph = (struct ps_prochandle*) calloc(1, sizeof(struct ps_prochandle));
if (ph == NULL) {
print_debug("cant allocate ps_prochandle\n");
print_debug("can't allocate ps_prochandle\n");
return NULL;
}
@@ -1444,38 +1473,45 @@ struct ps_prochandle* Pgrab_core(const char* exec_file, const char* core_file) {
}
if (read_elf_header(ph->core->exec_fd, &exec_ehdr) != true || exec_ehdr.e_type != ET_EXEC) {
print_debug("executable file is not a valid ELF ET_EXEC file\n");
goto err;
print_debug("executable file is not a valid ELF ET_EXEC file\n");
goto err;
}
// process core file segments
if (read_core_segments(ph, &core_ehdr) != true)
goto err;
if (read_core_segments(ph, &core_ehdr) != true) {
goto err;
}
// process exec file segments
if (read_exec_segments(ph, &exec_ehdr) != true)
goto err;
if (read_exec_segments(ph, &exec_ehdr) != true) {
goto err;
}
// exec file is also treated like a shared object for symbol search
if (add_lib_info_fd(ph, exec_file, ph->core->exec_fd,
(uintptr_t)0 + find_base_address(ph->core->exec_fd, &exec_ehdr)) == NULL)
goto err;
(uintptr_t)0 + find_base_address(ph->core->exec_fd, &exec_ehdr)) == NULL) {
goto err;
}
// allocate and sort maps into map_array, we need to do this
// here because read_shared_lib_info needs to read from debuggee
// address space
if (sort_map_array(ph) != true)
if (sort_map_array(ph) != true) {
goto err;
}
if (read_shared_lib_info(ph) != true)
if (read_shared_lib_info(ph) != true) {
goto err;
}
// sort again because we have added more mappings from shared objects
if (sort_map_array(ph) != true)
if (sort_map_array(ph) != true) {
goto err;
}
if (init_classsharing_workaround(ph) != true)
if (init_classsharing_workaround(ph) != true) {
goto err;
}
print_debug("Leave Pgrab_core\n");
return ph;

View File

@@ -131,7 +131,7 @@ static bool process_get_lwp_info(struct ps_prochandle *ph, lwpid_t lwp_id, void
static bool ptrace_continue(pid_t pid, int signal) {
// pass the signal to the process so we don't swallow it
if (ptrace(PTRACE_CONT, pid, NULL, signal) < 0) {
if (ptrace(PT_CONTINUE, pid, NULL, signal) < 0) {
print_debug("ptrace(PTRACE_CONT, ..) failed for %d\n", pid);
return false;
}
@@ -434,7 +434,6 @@ static ps_prochandle_ops process_ops = {
// attach to the process. One and only one exposed stuff
struct ps_prochandle* Pgrab(pid_t pid) {
struct ps_prochandle* ph = NULL;
thread_info* thr = NULL;
if ( (ph = (struct ps_prochandle*) calloc(1, sizeof(struct ps_prochandle))) == NULL) {
print_debug("can't allocate memory for ps_prochandle\n");

View File

@@ -29,6 +29,7 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>
@@ -80,7 +81,7 @@ JNIEXPORT void JNICALL Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLocal_in
(JNIEnv *env, jclass cls) {
jclass listClass;
if (init_libproc(getenv("LIBSAPROC_DEBUG")) != true) {
if (init_libproc(getenv("LIBSAPROC_DEBUG") != NULL) != true) {
THROW_NEW_DEBUGGER_EXCEPTION("can't initialize libproc");
}

File diff suppressed because it is too large Load Diff

View File

@@ -27,6 +27,8 @@
#include <string.h>
#include <signal.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <sys/ptrace.h>
#include "libproc_impl.h"

View File

@@ -25,6 +25,7 @@
#include "salibelf.h"
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
extern void print_debug(const char*,...);

View File

@@ -305,7 +305,7 @@ static struct symtab* build_symtab_from_build_id(Elf64_Nhdr *note)
unsigned char *bytes
= (unsigned char*)(note+1) + note->n_namesz;
unsigned char *filename
char *filename
= (build_id_to_debug_filename (note->n_descsz, bytes));
fd = pathmap_open(filename);

View File

@@ -67,6 +67,13 @@ public class Disassembler {
String libname = "hsdis";
String arch = System.getProperty("os.arch");
if (os.lastIndexOf("Windows", 0) != -1) {
if (arch.equals("x86")) {
libname += "-i386";
} else if (arch.equals("amd64")) {
libname += "-amd64";
} else {
libname += "-" + arch;
}
path.append(sep + "bin" + sep);
libname += ".dll";
} else if (os.lastIndexOf("SunOS", 0) != -1) {

View File

@@ -0,0 +1,119 @@
/*
* Copyright (c) 2013, 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.
*
* 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.
*
*/
package sun.jvm.hotspot.gc_implementation.g1;
import java.util.Iterator;
import java.util.Observable;
import java.util.Observer;
import sun.jvm.hotspot.debugger.Address;
import sun.jvm.hotspot.runtime.VM;
import sun.jvm.hotspot.runtime.VMObject;
import sun.jvm.hotspot.runtime.VMObjectFactory;
import sun.jvm.hotspot.types.AddressField;
import sun.jvm.hotspot.types.CIntegerField;
import sun.jvm.hotspot.types.Type;
import sun.jvm.hotspot.types.TypeDataBase;
// Mirror class for G1HeapRegionTable. It's essentially an index -> HeapRegion map.
public class G1HeapRegionTable extends VMObject {
// HeapRegion** _base;
static private AddressField baseField;
// uint _length;
static private CIntegerField lengthField;
// HeapRegion** _biased_base
static private AddressField biasedBaseField;
// size_t _bias
static private CIntegerField biasField;
// uint _shift_by
static private CIntegerField shiftByField;
static {
VM.registerVMInitializedObserver(new Observer() {
public void update(Observable o, Object data) {
initialize(VM.getVM().getTypeDataBase());
}
});
}
static private synchronized void initialize(TypeDataBase db) {
Type type = db.lookupType("G1HeapRegionTable");
baseField = type.getAddressField("_base");
lengthField = type.getCIntegerField("_length");
biasedBaseField = type.getAddressField("_biased_base");
biasField = type.getCIntegerField("_bias");
shiftByField = type.getCIntegerField("_shift_by");
}
private HeapRegion at(long index) {
Address arrayAddr = baseField.getValue(addr);
// Offset of &_base[index]
long offset = index * VM.getVM().getAddressSize();
Address regionAddr = arrayAddr.getAddressAt(offset);
return (HeapRegion) VMObjectFactory.newObject(HeapRegion.class,
regionAddr);
}
public long length() {
return lengthField.getValue(addr);
}
public long bias() {
return biasField.getValue(addr);
}
public long shiftBy() {
return shiftByField.getValue(addr);
}
private class HeapRegionIterator implements Iterator<HeapRegion> {
private long index;
private long length;
@Override
public boolean hasNext() { return index < length; }
@Override
public HeapRegion next() { return at(index++); }
@Override
public void remove() { /* not supported */ }
HeapRegionIterator(Address addr) {
index = 0;
length = length();
}
}
public Iterator<HeapRegion> heapRegionIterator() {
return new HeapRegionIterator(addr);
}
public G1HeapRegionTable(Address addr) {
super(addr);
}
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2011, 2013, 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
@@ -37,13 +37,11 @@ import sun.jvm.hotspot.types.CIntegerField;
import sun.jvm.hotspot.types.Type;
import sun.jvm.hotspot.types.TypeDataBase;
// Mirror class for HeapRegionSeq. It's essentially an index -> HeapRegion map.
// Mirror class for HeapRegionSeq. It essentially encapsulates the G1HeapRegionTable.
public class HeapRegionSeq extends VMObject {
// HeapRegion** _regions;
static private AddressField regionsField;
// uint _length;
static private CIntegerField lengthField;
// G1HeapRegionTable _regions
static private long regionsFieldOffset;
static {
VM.registerVMInitializedObserver(new Observer() {
@@ -56,44 +54,21 @@ public class HeapRegionSeq extends VMObject {
static private synchronized void initialize(TypeDataBase db) {
Type type = db.lookupType("HeapRegionSeq");
regionsField = type.getAddressField("_regions");
lengthField = type.getCIntegerField("_length");
regionsFieldOffset = type.getField("_regions").getOffset();
}
private HeapRegion at(long index) {
Address arrayAddr = regionsField.getValue(addr);
// Offset of &_region[index]
long offset = index * VM.getVM().getAddressSize();
Address regionAddr = arrayAddr.getAddressAt(offset);
return (HeapRegion) VMObjectFactory.newObject(HeapRegion.class,
regionAddr);
private G1HeapRegionTable regions() {
Address regionsAddr = addr.addOffsetTo(regionsFieldOffset);
return (G1HeapRegionTable) VMObjectFactory.newObject(G1HeapRegionTable.class,
regionsAddr);
}
public long length() {
return lengthField.getValue(addr);
}
private class HeapRegionIterator implements Iterator<HeapRegion> {
private long index;
private long length;
@Override
public boolean hasNext() { return index < length; }
@Override
public HeapRegion next() { return at(index++); }
@Override
public void remove() { /* not supported */ }
HeapRegionIterator(Address addr) {
index = 0;
length = length();
}
return regions().length();
}
public Iterator<HeapRegion> heapRegionIterator() {
return new HeapRegionIterator(addr);
return regions().heapRegionIterator();
}
public HeapRegionSeq(Address addr) {

View File

@@ -0,0 +1,56 @@
/*
* Copyright (c) 2001, 2013, 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.
*
* 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.
*
*/
package sun.jvm.hotspot.memory;
import java.util.*;
import sun.jvm.hotspot.debugger.*;
import sun.jvm.hotspot.oops.*;
import sun.jvm.hotspot.runtime.*;
import sun.jvm.hotspot.types.*;
public class ProtectionDomainCacheEntry extends VMObject {
private static sun.jvm.hotspot.types.OopField protectionDomainField;
static {
VM.registerVMInitializedObserver(new Observer() {
public void update(Observable o, Object data) {
initialize(VM.getVM().getTypeDataBase());
}
});
}
private static synchronized void initialize(TypeDataBase db) {
Type type = db.lookupType("ProtectionDomainCacheEntry");
protectionDomainField = type.getOopField("_literal");
}
public ProtectionDomainCacheEntry(Address addr) {
super(addr);
}
public Oop protectionDomain() {
return VM.getVM().getObjectHeap().newOop(protectionDomainField.getValue(addr));
}
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2001, 2013, 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
@@ -32,7 +32,7 @@ import sun.jvm.hotspot.types.*;
public class ProtectionDomainEntry extends VMObject {
private static AddressField nextField;
private static sun.jvm.hotspot.types.OopField protectionDomainField;
private static AddressField pdCacheField;
static {
VM.registerVMInitializedObserver(new Observer() {
@@ -46,7 +46,7 @@ public class ProtectionDomainEntry extends VMObject {
Type type = db.lookupType("ProtectionDomainEntry");
nextField = type.getAddressField("_next");
protectionDomainField = type.getOopField("_protection_domain");
pdCacheField = type.getAddressField("_pd_cache");
}
public ProtectionDomainEntry(Address addr) {
@@ -54,10 +54,12 @@ public class ProtectionDomainEntry extends VMObject {
}
public ProtectionDomainEntry next() {
return (ProtectionDomainEntry) VMObjectFactory.newObject(ProtectionDomainEntry.class, addr);
return (ProtectionDomainEntry) VMObjectFactory.newObject(ProtectionDomainEntry.class, nextField.getValue(addr));
}
public Oop protectionDomain() {
return VM.getVM().getObjectHeap().newOop(protectionDomainField.getValue(addr));
ProtectionDomainCacheEntry pd_cache = (ProtectionDomainCacheEntry)
VMObjectFactory.newObject(ProtectionDomainCacheEntry.class, pdCacheField.getValue(addr));
return pd_cache.protectionDomain();
}
}

View File

@@ -44,12 +44,10 @@ public class SymbolTable extends sun.jvm.hotspot.utilities.Hashtable {
private static synchronized void initialize(TypeDataBase db) {
Type type = db.lookupType("SymbolTable");
theTableField = type.getAddressField("_the_table");
symbolTableSize = db.lookupIntConstant("SymbolTable::symbol_table_size").intValue();
}
// Fields
private static AddressField theTableField;
private static int symbolTableSize;
// Accessors
public static SymbolTable getTheTable() {
@@ -57,10 +55,6 @@ public class SymbolTable extends sun.jvm.hotspot.utilities.Hashtable {
return (SymbolTable) VMObjectFactory.newObject(SymbolTable.class, tmp);
}
public static int getSymbolTableSize() {
return symbolTableSize;
}
public SymbolTable(Address addr) {
super(addr);
}

View File

@@ -51,6 +51,7 @@ public class ConstMethod extends VMObject {
private static int HAS_GENERIC_SIGNATURE;
private static int HAS_METHOD_ANNOTATIONS;
private static int HAS_PARAMETER_ANNOTATIONS;
private static int HAS_METHOD_PARAMETERS;
private static int HAS_DEFAULT_ANNOTATIONS;
private static int HAS_TYPE_ANNOTATIONS;
@@ -70,6 +71,7 @@ public class ConstMethod extends VMObject {
HAS_GENERIC_SIGNATURE = db.lookupIntConstant("ConstMethod::_has_generic_signature").intValue();
HAS_METHOD_ANNOTATIONS = db.lookupIntConstant("ConstMethod::_has_method_annotations").intValue();
HAS_PARAMETER_ANNOTATIONS = db.lookupIntConstant("ConstMethod::_has_parameter_annotations").intValue();
HAS_METHOD_PARAMETERS = db.lookupIntConstant("ConstMethod::_has_method_parameters").intValue();
HAS_DEFAULT_ANNOTATIONS = db.lookupIntConstant("ConstMethod::_has_default_annotations").intValue();
HAS_TYPE_ANNOTATIONS = db.lookupIntConstant("ConstMethod::_has_type_annotations").intValue();
@@ -85,6 +87,9 @@ public class ConstMethod extends VMObject {
// start of byte code
bytecodeOffset = type.getSize();
type = db.lookupType("MethodParametersElement");
methodParametersElementSize = type.getSize();
type = db.lookupType("CheckedExceptionElement");
checkedExceptionElementSize = type.getSize();
@@ -113,7 +118,7 @@ public class ConstMethod extends VMObject {
// start of bytecode
private static long bytecodeOffset;
private static long methodParametersElementSize;
private static long checkedExceptionElementSize;
private static long localVariableTableElementSize;
private static long exceptionTableElementSize;
@@ -387,6 +392,10 @@ public class ConstMethod extends VMObject {
return ret;
}
private boolean hasMethodParameters() {
return (getFlags() & HAS_METHOD_PARAMETERS) != 0;
}
private boolean hasGenericSignature() {
return (getFlags() & HAS_GENERIC_SIGNATURE) != 0;
}
@@ -442,11 +451,41 @@ public class ConstMethod extends VMObject {
return offsetOfLastU2Element();
}
private long offsetOfCheckedExceptionsLength() {
private long offsetOfMethodParametersLength() {
if (Assert.ASSERTS_ENABLED) {
Assert.that(hasMethodParameters(), "should only be called if table is present");
}
return hasGenericSignature() ? offsetOfLastU2Element() - sizeofShort :
offsetOfLastU2Element();
}
private int getMethodParametersLength() {
if (hasMethodParameters())
return (int) getAddress().getCIntegerAt(offsetOfMethodParametersLength(), 2, true);
else
return 0;
}
// Offset of start of checked exceptions
private long offsetOfMethodParameters() {
long offset = offsetOfMethodParametersLength();
long length = getMethodParametersLength();
if (Assert.ASSERTS_ENABLED) {
Assert.that(length > 0, "should only be called if method parameter information is present");
}
offset -= length * methodParametersElementSize;
return offset;
}
private long offsetOfCheckedExceptionsLength() {
if (hasMethodParameters())
return offsetOfMethodParameters() - sizeofShort;
else {
return hasGenericSignature() ? offsetOfLastU2Element() - sizeofShort :
offsetOfLastU2Element();
}
}
private int getCheckedExceptionsLength() {
if (hasCheckedExceptions()) {
return (int) getAddress().getCIntegerAt(offsetOfCheckedExceptionsLength(), 2, true);
@@ -496,6 +535,8 @@ public class ConstMethod extends VMObject {
return offsetOfExceptionTable() - sizeofShort;
} else if (hasCheckedExceptions()) {
return offsetOfCheckedExceptions() - sizeofShort;
} else if (hasMethodParameters()) {
return offsetOfMethodParameters() - sizeofShort;
} else {
return hasGenericSignature() ? offsetOfLastU2Element() - sizeofShort :
offsetOfLastU2Element();
@@ -526,6 +567,8 @@ public class ConstMethod extends VMObject {
}
if (hasCheckedExceptions()) {
return offsetOfCheckedExceptions() - sizeofShort;
} else if (hasMethodParameters()) {
return offsetOfMethodParameters() - sizeofShort;
} else {
return hasGenericSignature() ? offsetOfLastU2Element() - sizeofShort :
offsetOfLastU2Element();

View File

@@ -134,15 +134,13 @@ public class VM {
private String type;
private String name;
private Address addr;
private String kind;
private int origin;
private int flags;
private Flag(String type, String name, Address addr, String kind, int origin) {
private Flag(String type, String name, Address addr, int flags) {
this.type = type;
this.name = name;
this.addr = addr;
this.kind = kind;
this.origin = origin;
this.flags = flags;
}
public String getType() {
@@ -157,12 +155,8 @@ public class VM {
return addr;
}
public String getKind() {
return kind;
}
public int getOrigin() {
return origin;
return flags & 0xF; // XXX can we get the mask bits from somewhere?
}
public boolean isBool() {
@@ -173,8 +167,7 @@ public class VM {
if (Assert.ASSERTS_ENABLED) {
Assert.that(isBool(), "not a bool flag!");
}
return addr.getCIntegerAt(0, boolType.getSize(), boolType.isUnsigned())
!= 0;
return addr.getCIntegerAt(0, boolType.getSize(), boolType.isUnsigned()) != 0;
}
public boolean isIntx() {
@@ -843,11 +836,10 @@ public class VM {
Address flagAddr = flagType.getAddressField("flags").getValue();
AddressField typeFld = flagType.getAddressField("type");
AddressField nameFld = flagType.getAddressField("name");
AddressField addrFld = flagType.getAddressField("addr");
AddressField kindFld = flagType.getAddressField("kind");
CIntField originFld = new CIntField(flagType.getCIntegerField("origin"), 0);
AddressField typeFld = flagType.getAddressField("_type");
AddressField nameFld = flagType.getAddressField("_name");
AddressField addrFld = flagType.getAddressField("_addr");
CIntField flagsFld = new CIntField(flagType.getCIntegerField("_flags"), 0);
long flagSize = flagType.getSize(); // sizeof(Flag)
@@ -856,9 +848,8 @@ public class VM {
String type = CStringUtilities.getString(typeFld.getValue(flagAddr));
String name = CStringUtilities.getString(nameFld.getValue(flagAddr));
Address addr = addrFld.getValue(flagAddr);
String kind = CStringUtilities.getString(kindFld.getValue(flagAddr));
int origin = (int)originFld.getValue(flagAddr);
commandLineFlags[f] = new Flag(type, name, addr, kind, origin);
int flags = (int)flagsFld.getValue(flagAddr);
commandLineFlags[f] = new Flag(type, name, addr, flags);
flagAddr = flagAddr.addOffsetTo(flagSize);
}

View File

@@ -51,8 +51,7 @@ public class ClassLoaderStats extends Tool {
public static void main(String[] args) {
ClassLoaderStats cls = new ClassLoaderStats();
cls.start(args);
cls.stop();
cls.execute(args);
}
private static class ClassData {

View File

@@ -54,8 +54,7 @@ public class FinalizerInfo extends Tool {
public static void main(String[] args) {
FinalizerInfo finfo = new FinalizerInfo();
finfo.start(args);
finfo.stop();
finfo.execute(args);
}
public void run() {

View File

@@ -54,7 +54,6 @@ public class FlagDumper extends Tool {
public static void main(String[] args) {
FlagDumper fd = new FlagDumper();
fd.start(args);
fd.stop();
fd.execute(args);
}
}

View File

@@ -80,8 +80,7 @@ public class HeapDumper extends Tool {
}
HeapDumper dumper = new HeapDumper(file);
dumper.start(args);
dumper.stop();
dumper.execute(args);
}
}

View File

@@ -46,8 +46,7 @@ public class HeapSummary extends Tool {
public static void main(String[] args) {
HeapSummary hs = new HeapSummary();
hs.start(args);
hs.stop();
hs.execute(args);
}
public void run() {

View File

@@ -134,8 +134,7 @@ public class JInfo extends Tool {
}
JInfo jinfo = new JInfo(mode);
jinfo.start(args);
jinfo.stop();
jinfo.execute(args);
}
private void printVMFlags() {

View File

@@ -136,7 +136,9 @@ public class JMap extends Tool {
mode = MODE_HEAP_GRAPH_GXL;
} else {
System.err.println("unknown heap format:" + format);
return;
// Exit with error status
System.exit(1);
}
} else {
copyArgs = false;
@@ -153,8 +155,7 @@ public class JMap extends Tool {
}
JMap jmap = new JMap(mode);
jmap.start(args);
jmap.stop();
jmap.execute(args);
}
public boolean writeHeapHprofBin(String fileName) {

View File

@@ -64,7 +64,6 @@ public class JSnap extends Tool {
public static void main(String[] args) {
JSnap js = new JSnap();
js.start(args);
js.stop();
js.execute(args);
}
}

View File

@@ -89,8 +89,7 @@ public class JStack extends Tool {
}
JStack jstack = new JStack(mixedMode, concurrentLocks);
jstack.start(args);
jstack.stop();
jstack.execute(args);
}
private boolean mixedMode;

View File

@@ -61,7 +61,6 @@ public class ObjectHistogram extends Tool {
public static void main(String[] args) {
ObjectHistogram oh = new ObjectHistogram();
oh.start(args);
oh.stop();
oh.execute(args);
}
}

View File

@@ -69,7 +69,6 @@ public class PMap extends Tool {
public static void main(String[] args) throws Exception {
PMap t = new PMap();
t.start(args);
t.stop();
t.execute(args);
}
}

View File

@@ -182,8 +182,7 @@ public class PStack extends Tool {
public static void main(String[] args) throws Exception {
PStack t = new PStack();
t.start(args);
t.stop();
t.execute(args);
}
// -- Internals only below this point

View File

@@ -137,8 +137,7 @@ public class StackTrace extends Tool {
public static void main(String[] args) {
StackTrace st = new StackTrace();
st.start(args);
st.stop();
st.execute(args);
}
private boolean verbose;

View File

@@ -58,7 +58,6 @@ public class SysPropsDumper extends Tool {
public static void main(String[] args) {
SysPropsDumper pd = new SysPropsDumper();
pd.start(args);
pd.stop();
pd.execute(args);
}
}

View File

@@ -26,6 +26,7 @@ package sun.jvm.hotspot.tools;
import java.io.PrintStream;
import java.util.Hashtable;
import sun.jvm.hotspot.*;
import sun.jvm.hotspot.runtime.*;
import sun.jvm.hotspot.debugger.*;
@@ -105,26 +106,44 @@ public abstract class Tool implements Runnable {
public static void main(String[] args) {
<derived class> obj = new <derived class>;
obj.start(args);
obj.execute(args);
}
*/
protected void stop() {
protected void execute(String[] args) {
int returnStatus = 1;
try {
returnStatus = start(args);
} finally {
stop();
}
// Exit with 0 or 1
System.exit(returnStatus);
}
public void stop() {
if (agent != null) {
agent.detach();
}
}
protected void start(String[] args) {
private int start(String[] args) {
if ((args.length < 1) || (args.length > 2)) {
usage();
return;
return 1;
}
// Attempt to handle -h or -help or some invalid flag
if (args[0].startsWith("-")) {
if (args[0].startsWith("-h")) {
usage();
return 0;
} else if (args[0].startsWith("-")) {
usage();
return 1;
}
PrintStream err = System.err;
@@ -154,6 +173,7 @@ public abstract class Tool implements Runnable {
default:
usage();
return 1;
}
agent = new HotSpotAgent();
@@ -191,15 +211,16 @@ public abstract class Tool implements Runnable {
break;
}
if (e.getMessage() != null) {
err.print(e.getMessage());
err.println(e.getMessage());
e.printStackTrace();
}
err.println();
return;
return 1;
}
err.println("Debugger attached successfully.");
startInternal();
return 0;
}
// When using an existing JVMDebugger.

View File

@@ -177,7 +177,6 @@ public class ClassDump extends Tool {
public static void main(String[] args) {
ClassDump cd = new ClassDump();
cd.start(args);
cd.stop();
cd.execute(args);
}
}

View File

@@ -42,8 +42,7 @@ public class JSDB extends Tool {
public static void main(String[] args) {
JSDB jsdb = new JSDB();
jsdb.start(args);
jsdb.stop();
jsdb.execute(args);
}
public void run() {

View File

@@ -40,8 +40,7 @@ import sun.jvm.hotspot.utilities.soql.*;
public class SOQL extends Tool {
public static void main(String[] args) {
SOQL soql = new SOQL();
soql.start(args);
soql.stop();
soql.execute(args);
}
public SOQL() {

View File

@@ -59,6 +59,7 @@ public abstract class AbstractHeapGraphWriter implements HeapGraphWriter {
public boolean doObj(Oop oop) {
try {
writeHeapRecordPrologue();
if (oop instanceof TypeArray) {
writePrimitiveArray((TypeArray)oop);
} else if (oop instanceof ObjArray) {
@@ -97,6 +98,7 @@ public abstract class AbstractHeapGraphWriter implements HeapGraphWriter {
// not-a-Java-visible oop
writeInternalObject(oop);
}
writeHeapRecordEpilogue();
} catch (IOException exp) {
throw new RuntimeException(exp);
}
@@ -416,6 +418,12 @@ public abstract class AbstractHeapGraphWriter implements HeapGraphWriter {
protected void writeHeapFooter() throws IOException {
}
protected void writeHeapRecordPrologue() throws IOException {
}
protected void writeHeapRecordEpilogue() throws IOException {
}
// HeapVisitor, OopVisitor methods can't throw any non-runtime
// exception. But, derived class write methods (which are called
// from visitor callbacks) may throw IOException. Hence, we throw

View File

@@ -44,7 +44,7 @@ import sun.jvm.hotspot.runtime.*;
* WARNING: This format is still under development, and is subject to
* change without notice.
*
* header "JAVA PROFILE 1.0.1" (0-terminated)
* header "JAVA PROFILE 1.0.1" or "JAVA PROFILE 1.0.2" (0-terminated)
* u4 size of identifiers. Identifiers are used to represent
* UTF8 strings, objects, stack traces, etc. They usually
* have the same size as host pointers. For example, on
@@ -292,11 +292,34 @@ import sun.jvm.hotspot.runtime.*;
* 0x00000002: cpu sampling on/off
* u2 stack trace depth
*
*
* When the header is "JAVA PROFILE 1.0.2" a heap dump can optionally
* be generated as a sequence of heap dump segments. This sequence is
* terminated by an end record. The additional tags allowed by format
* "JAVA PROFILE 1.0.2" are:
*
* HPROF_HEAP_DUMP_SEGMENT denote a heap dump segment
*
* [heap dump sub-records]*
* The same sub-record types allowed by HPROF_HEAP_DUMP
*
* HPROF_HEAP_DUMP_END denotes the end of a heap dump
*
*/
public class HeapHprofBinWriter extends AbstractHeapGraphWriter {
// The heap size threshold used to determine if segmented format
// ("JAVA PROFILE 1.0.2") should be used.
private static final long HPROF_SEGMENTED_HEAP_DUMP_THRESHOLD = 2L * 0x40000000;
// The approximate size of a heap segment. Used to calculate when to create
// a new segment.
private static final long HPROF_SEGMENTED_HEAP_DUMP_SEGMENT_SIZE = 1L * 0x40000000;
// hprof binary file header
private static final String HPROF_HEADER = "JAVA PROFILE 1.0.1";
private static final String HPROF_HEADER_1_0_1 = "JAVA PROFILE 1.0.1";
private static final String HPROF_HEADER_1_0_2 = "JAVA PROFILE 1.0.2";
// constants in enum HprofTag
private static final int HPROF_UTF8 = 0x01;
@@ -312,6 +335,10 @@ public class HeapHprofBinWriter extends AbstractHeapGraphWriter {
private static final int HPROF_CPU_SAMPLES = 0x0D;
private static final int HPROF_CONTROL_SETTINGS = 0x0E;
// 1.0.2 record types
private static final int HPROF_HEAP_DUMP_SEGMENT = 0x1C;
private static final int HPROF_HEAP_DUMP_END = 0x2C;
// Heap dump constants
// constants in enum HprofGcTag
private static final int HPROF_GC_ROOT_UNKNOWN = 0xFF;
@@ -352,11 +379,9 @@ public class HeapHprofBinWriter extends AbstractHeapGraphWriter {
private static final int JVM_SIGNATURE_ARRAY = '[';
private static final int JVM_SIGNATURE_CLASS = 'L';
public synchronized void write(String fileName) throws IOException {
// open file stream and create buffered data output stream
FileOutputStream fos = new FileOutputStream(fileName);
FileChannel chn = fos.getChannel();
fos = new FileOutputStream(fileName);
out = new DataOutputStream(new BufferedOutputStream(fos));
VM vm = VM.getVM();
@@ -385,6 +410,9 @@ public class HeapHprofBinWriter extends AbstractHeapGraphWriter {
FLOAT_SIZE = objectHeap.getFloatSize();
DOUBLE_SIZE = objectHeap.getDoubleSize();
// Check weather we should dump the heap as segments
useSegmentedHeapDump = vm.getUniverse().heap().used() > HPROF_SEGMENTED_HEAP_DUMP_THRESHOLD;
// hprof bin format header
writeFileHeader();
@@ -394,38 +422,87 @@ public class HeapHprofBinWriter extends AbstractHeapGraphWriter {
// hprof UTF-8 symbols section
writeSymbols();
// HPROF_LOAD_CLASS records for all classes
writeClasses();
// write heap data now
out.writeByte((byte)HPROF_HEAP_DUMP);
out.writeInt(0); // relative timestamp
// remember position of dump length, we will fixup
// length later - hprof format requires length.
out.flush();
long dumpStart = chn.position();
// write dummy length of 0 and we'll fix it later.
out.writeInt(0);
// write CLASS_DUMP records
writeClassDumpRecords();
// this will write heap data into the buffer stream
super.write();
// flush buffer stream.
out.flush();
// Fill in final length
fillInHeapRecordLength();
if (useSegmentedHeapDump) {
// Write heap segment-end record
out.writeByte((byte) HPROF_HEAP_DUMP_END);
out.writeInt(0);
out.writeInt(0);
}
// flush buffer stream and throw it.
out.flush();
out = null;
// close the file stream
fos.close();
}
@Override
protected void writeHeapRecordPrologue() throws IOException {
if (currentSegmentStart == 0) {
// write heap data header, depending on heap size use segmented heap
// format
out.writeByte((byte) (useSegmentedHeapDump ? HPROF_HEAP_DUMP_SEGMENT
: HPROF_HEAP_DUMP));
out.writeInt(0);
// remember position of dump length, we will fixup
// length later - hprof format requires length.
out.flush();
currentSegmentStart = fos.getChannel().position();
// write dummy length of 0 and we'll fix it later.
out.writeInt(0);
}
}
@Override
protected void writeHeapRecordEpilogue() throws IOException {
if (useSegmentedHeapDump) {
out.flush();
if ((fos.getChannel().position() - currentSegmentStart - 4) >= HPROF_SEGMENTED_HEAP_DUMP_SEGMENT_SIZE) {
fillInHeapRecordLength();
currentSegmentStart = 0;
}
}
}
private void fillInHeapRecordLength() throws IOException {
// now get current position to calculate length
long dumpEnd = chn.position();
long dumpEnd = fos.getChannel().position();
// calculate length of heap data
int dumpLen = (int) (dumpEnd - dumpStart - 4);
long dumpLenLong = (dumpEnd - currentSegmentStart - 4L);
// Check length boundary, overflow could happen but is _very_ unlikely
if(dumpLenLong >= (4L * 0x40000000)){
throw new RuntimeException("Heap segment size overflow.");
}
// Save the current position
long currentPosition = fos.getChannel().position();
// seek the position to write length
chn.position(dumpStart);
fos.getChannel().position(currentSegmentStart);
int dumpLen = (int) dumpLenLong;
// write length as integer
fos.write((dumpLen >>> 24) & 0xFF);
@@ -433,8 +510,8 @@ public class HeapHprofBinWriter extends AbstractHeapGraphWriter {
fos.write((dumpLen >>> 8) & 0xFF);
fos.write((dumpLen >>> 0) & 0xFF);
// close the file stream
fos.close();
//Reset to previous current position
fos.getChannel().position(currentPosition);
}
private void writeClassDumpRecords() throws IOException {
@@ -443,7 +520,9 @@ public class HeapHprofBinWriter extends AbstractHeapGraphWriter {
sysDict.allClassesDo(new SystemDictionary.ClassVisitor() {
public void visit(Klass k) {
try {
writeHeapRecordPrologue();
writeClassDumpRecord(k);
writeHeapRecordEpilogue();
} catch (IOException e) {
throw new RuntimeException(e);
}
@@ -884,7 +963,12 @@ public class HeapHprofBinWriter extends AbstractHeapGraphWriter {
// writes hprof binary file header
private void writeFileHeader() throws IOException {
// version string
out.writeBytes(HPROF_HEADER);
if(useSegmentedHeapDump) {
out.writeBytes(HPROF_HEADER_1_0_2);
}
else {
out.writeBytes(HPROF_HEADER_1_0_1);
}
out.writeByte((byte)'\0');
// write identifier size. we use pointers as identifiers.
@@ -976,6 +1060,7 @@ public class HeapHprofBinWriter extends AbstractHeapGraphWriter {
private static final int EMPTY_FRAME_DEPTH = -1;
private DataOutputStream out;
private FileOutputStream fos;
private Debugger dbg;
private ObjectHeap objectHeap;
private SymbolTable symTbl;
@@ -983,6 +1068,10 @@ public class HeapHprofBinWriter extends AbstractHeapGraphWriter {
// oopSize of the debuggee
private int OBJ_ID_SIZE;
// Added for hprof file format 1.0.2 support
private boolean useSegmentedHeapDump;
private long currentSegmentStart;
private long BOOLEAN_BASE_OFFSET;
private long BYTE_BASE_OFFSET;
private long CHAR_BASE_OFFSET;
@@ -1005,6 +1094,7 @@ public class HeapHprofBinWriter extends AbstractHeapGraphWriter {
private static class ClassData {
int instSize;
List fields;
ClassData(int instSize, List fields) {
this.instSize = instSize;
this.fields = fields;

View File

@@ -334,6 +334,11 @@ $(EXPORT_JRE_LIB_ARCH_DIR)/%.diz: $(C2_BUILD_DIR)/%.diz
$(install-file)
$(EXPORT_SERVER_DIR)/64/%.diz: $(C2_BUILD_DIR)/%.diz
$(install-file)
# MacOS X
$(EXPORT_JRE_LIB_ARCH_DIR)/%.dSYM: $(C2_BUILD_DIR)/%.dSYM
$(install-dir)
$(EXPORT_SERVER_DIR)/%.dSYM: $(C2_BUILD_DIR)/%.dSYM
$(install-dir)
endif
# Client (C1)
@@ -379,6 +384,11 @@ $(EXPORT_JRE_LIB_ARCH_DIR)/%.diz: $(C1_BUILD_DIR)/%.diz
$(install-file)
$(EXPORT_CLIENT_DIR)/64/%.diz: $(C1_BUILD_DIR)/%.diz
$(install-file)
# MacOS X
$(EXPORT_JRE_LIB_ARCH_DIR)/%.dSYM: $(C1_BUILD_DIR)/%.dSYM
$(install-dir)
$(EXPORT_CLIENT_DIR)/%.dSYM: $(C1_BUILD_DIR)/%.dSYM
$(install-dir)
endif
# Minimal1
@@ -424,6 +434,7 @@ $(EXPORT_JRE_LIB_ARCH_DIR)/%.diz: $(MINIMAL1_BUILD_DIR)/%.diz
$(install-file)
$(EXPORT_MINIMAL_DIR)/64/%.diz: $(MINIMAL1_BUILD_DIR)/%.diz
$(install-file)
# MacOS X does not support Minimal1 config
endif
# Zero
@@ -446,6 +457,11 @@ $(EXPORT_SERVER_DIR)/%.debuginfo: $(ZERO_BUILD_DIR)/%.debuginfo
$(install-file)
$(EXPORT_SERVER_DIR)/%.diz: $(ZERO_BUILD_DIR)/%.diz
$(install-file)
# MacOS X
$(EXPORT_JRE_LIB_ARCH_DIR)/%.dSYM: $(ZERO_BUILD_DIR)/%.dSYM
$(install-dir)
$(EXPORT_SERVER_DIR)/%.dSYM: $(ZERO_BUILD_DIR)/%.dSYM
$(install-dir)
endif
# Shark
@@ -468,6 +484,11 @@ $(EXPORT_SERVER_DIR)/%.debuginfo: $(SHARK_BUILD_DIR)/%.debuginfo
$(install-file)
$(EXPORT_SERVER_DIR)/%.diz: $(SHARK_BUILD_DIR)/%.diz
$(install-file)
# MacOS X
$(EXPORT_JRE_LIB_ARCH_DIR)/%.dSYM: $(SHARK_BUILD_DIR)/%.dSYM
$(install-dir)
$(EXPORT_SERVER_DIR)/%.dSYM: $(SHARK_BUILD_DIR)/%.dSYM
$(install-dir)
endif
$(EXPORT_INCLUDE_DIR)/%: $(HS_SRC_DIR)/share/vm/code/%

View File

@@ -204,6 +204,7 @@ TARGETS_MINIMAL1 = $(addsuffix minimal1,$(TARGETS))
BUILDTREE_MAKE = $(GAMMADIR)/make/$(OSNAME)/makefiles/buildtree.make
BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OSNAME) SRCARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH) LIBRARY_SUFFIX=$(LIBRARY_SUFFIX)
BUILDTREE_VARS += HOTSPOT_RELEASE_VERSION=$(HOTSPOT_RELEASE_VERSION) HOTSPOT_BUILD_VERSION=$(HOTSPOT_BUILD_VERSION) JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION)
BUILDTREE_VARS += ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS) OBJCOPY=$(OBJCOPY) STRIP_POLICY=$(STRIP_POLICY) ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES) ZIPEXE=$(ZIPEXE)
BUILDTREE = $(MAKE) -f $(BUILDTREE_MAKE) $(BUILDTREE_VARS)
@@ -337,9 +338,11 @@ treeminimal1: $(SUBDIRS_MINIMAL1)
# Doc target. This is the same for all build options.
# Hence create a docs directory beside ...$(ARCH)_[...]
# We specify 'BUILD_FLAVOR=product' so that the proper
# ENABLE_FULL_DEBUG_SYMBOLS value is used.
docs: checks
$(QUIETLY) mkdir -p $(SUBDIR_DOCS)
$(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/makefiles/jvmti.make $(MFLAGS) $(BUILDTREE_VARS) JvmtiOutDir=$(SUBDIR_DOCS) jvmtidocs
$(MAKE) -f $(GAMMADIR)/make/$(OSNAME)/makefiles/jvmti.make $(MFLAGS) $(BUILDTREE_VARS) JvmtiOutDir=$(SUBDIR_DOCS) BUILD_FLAVOR=product jvmtidocs
# Synonyms for win32-like targets.
compiler2: debug product

View File

@@ -261,6 +261,16 @@ flags.make: $(BUILDTREE_MAKE) ../shared_dirs.lst
echo "$(call gamma-path,commonsrc,os/posix/vm)"; \
[ -n "$(CFLAGS_BROWSE)" ] && \
echo && echo "CFLAGS_BROWSE = $(CFLAGS_BROWSE)"; \
[ -n "$(ENABLE_FULL_DEBUG_SYMBOLS)" ] && \
echo && echo "ENABLE_FULL_DEBUG_SYMBOLS = $(ENABLE_FULL_DEBUG_SYMBOLS)"; \
[ -n "$(OBJCOPY)" ] && \
echo && echo "OBJCOPY = $(OBJCOPY)"; \
[ -n "$(STRIP_POLICY)" ] && \
echo && echo "STRIP_POLICY = $(STRIP_POLICY)"; \
[ -n "$(ZIP_DEBUGINFO_FILES)" ] && \
echo && echo "ZIP_DEBUGINFO_FILES = $(ZIP_DEBUGINFO_FILES)"; \
[ -n "$(ZIPEXE)" ] && \
echo && echo "ZIPEXE = $(ZIPEXE)"; \
[ -n "$(HOTSPOT_EXTRA_SYSDEFS)" ] && \
echo && \
echo "HOTSPOT_EXTRA_SYSDEFS\$$(HOTSPOT_EXTRA_SYSDEFS) = $(HOTSPOT_EXTRA_SYSDEFS)" && \

View File

@@ -136,10 +136,127 @@ ifeq ($(JVM_VARIANTS),)
endif
endif
OS_VENDOR:=$(shell uname -s)
# determine if HotSpot is being built in JDK6 or earlier version
JDK6_OR_EARLIER=0
ifeq "$(shell expr \( '$(JDK_MAJOR_VERSION)' != '' \& '$(JDK_MINOR_VERSION)' != '' \& '$(JDK_MICRO_VERSION)' != '' \))" "1"
# if the longer variable names (newer build style) are set, then check those
ifeq "$(shell expr \( $(JDK_MAJOR_VERSION) = 1 \& $(JDK_MINOR_VERSION) \< 7 \))" "1"
JDK6_OR_EARLIER=1
endif
else
# the longer variables aren't set so check the shorter variable names
ifeq "$(shell expr \( '$(JDK_MAJOR_VER)' = 1 \& '$(JDK_MINOR_VER)' \< 7 \))" "1"
JDK6_OR_EARLIER=1
endif
endif
ifeq ($(JDK6_OR_EARLIER),0)
# Full Debug Symbols is supported on JDK7 or newer.
# The Full Debug Symbols (FDS) default for BUILD_FLAVOR == product
# builds is enabled with debug info files ZIP'ed to save space. For
# BUILD_FLAVOR != product builds, FDS is always enabled, after all a
# debug build without debug info isn't very useful.
# The ZIP_DEBUGINFO_FILES option only has meaning when FDS is enabled.
#
# If you invoke a build with FULL_DEBUG_SYMBOLS=0, then FDS will be
# disabled for a BUILD_FLAVOR == product build.
#
# Note: Use of a different variable name for the FDS override option
# versus the FDS enabled check is intentional (FULL_DEBUG_SYMBOLS
# versus ENABLE_FULL_DEBUG_SYMBOLS). For auto build systems that pass
# in options via environment variables, use of distinct variables
# prevents strange behaviours. For example, in a BUILD_FLAVOR !=
# product build, the FULL_DEBUG_SYMBOLS environment variable will be
# 0, but the ENABLE_FULL_DEBUG_SYMBOLS make variable will be 1. If
# the same variable name is used, then different values can be picked
# up by different parts of the build. Just to be clear, we only need
# two variable names because the incoming option value can be
# overridden in some situations, e.g., a BUILD_FLAVOR != product
# build.
# Due to the multiple sub-make processes that occur this logic gets
# executed multiple times. We reduce the noise by at least checking that
# BUILD_FLAVOR has been set.
ifneq ($(BUILD_FLAVOR),)
ifeq ($(BUILD_FLAVOR), product)
FULL_DEBUG_SYMBOLS ?= 1
ENABLE_FULL_DEBUG_SYMBOLS = $(FULL_DEBUG_SYMBOLS)
else
# debug variants always get Full Debug Symbols (if available)
ENABLE_FULL_DEBUG_SYMBOLS = 1
endif
_JUNK_ := $(shell \
echo >&2 "INFO: ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)")
# since objcopy is optional, we set ZIP_DEBUGINFO_FILES later
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
ifeq ($(OS_VENDOR), Darwin)
# MacOS X doesn't use OBJCOPY or STRIP_POLICY
OBJCOPY=
STRIP_POLICY=
ZIP_DEBUGINFO_FILES ?= 1
else
# Default OBJCOPY comes from GNU Binutils on BSD
ifeq ($(CROSS_COMPILE_ARCH),)
DEF_OBJCOPY=/usr/bin/objcopy
else
# Assume objcopy is part of the cross-compilation toolset
ifneq ($(ALT_COMPILER_PATH),)
DEF_OBJCOPY=$(ALT_COMPILER_PATH)/objcopy
endif
endif
OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
ifneq ($(ALT_OBJCOPY),)
_JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)")
OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
endif
ifeq ($(OBJCOPY),)
_JUNK_ := $(shell \
echo >&2 "INFO: no objcopy cmd found so cannot create .debuginfo" \
"files. You may need to set ALT_OBJCOPY.")
ENABLE_FULL_DEBUG_SYMBOLS=0
_JUNK_ := $(shell \
echo >&2 "INFO:" \
"ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS)")
else
_JUNK_ := $(shell \
echo >&2 "INFO: $(OBJCOPY) cmd found so will create .debuginfo" \
"files.")
# Library stripping policies for .debuginfo configs:
# all_strip - strips everything from the library
# min_strip - strips most stuff from the library; leaves
# minimum symbols
# no_strip - does not strip the library at all
#
# Oracle security policy requires "all_strip". A waiver was
# granted on 2011.09.01 that permits using "min_strip" in the
# Java JDK and Java JRE.
#
# Currently, STRIP_POLICY is only used when Full Debug Symbols
# is enabled.
#
STRIP_POLICY ?= min_strip
_JUNK_ := $(shell \
echo >&2 "INFO: STRIP_POLICY=$(STRIP_POLICY)")
ZIP_DEBUGINFO_FILES ?= 1
endif
_JUNK_ := $(shell \
echo >&2 "INFO: ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES)")
endif
endif # ENABLE_FULL_DEBUG_SYMBOLS=1
endif # BUILD_FLAVOR
endif # JDK_6_OR_EARLIER
JDK_INCLUDE_SUBDIR=bsd
# Library suffix
OS_VENDOR:=$(shell uname -s)
ifeq ($(OS_VENDOR),Darwin)
LIBRARY_SUFFIX=dylib
else
@@ -150,6 +267,19 @@ EXPORT_LIST += $(EXPORT_DOCS_DIR)/platform/jvmti/jvmti.html
# client and server subdirectories have symbolic links to ../libjsig.so
EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX)
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
ifeq ($(ZIP_DEBUGINFO_FILES),1)
EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.diz
else
ifeq ($(OS_VENDOR), Darwin)
EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX).dSYM
else
EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.debuginfo
endif
endif
endif
EXPORT_SERVER_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/server
EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client
EXPORT_MINIMAL_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/minimal
@@ -157,34 +287,76 @@ EXPORT_MINIMAL_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/minimal
ifeq ($(findstring true, $(JVM_VARIANT_SERVER) $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true)
EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt
EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.$(LIBRARY_SUFFIX)
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
ifeq ($(ZIP_DEBUGINFO_FILES),1)
EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.diz
else
ifeq ($(OS_VENDOR), Darwin)
EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.$(LIBRARY_SUFFIX).dSYM
else
EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.debuginfo
endif
endif
endif
endif
ifeq ($(JVM_VARIANT_CLIENT),true)
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX)
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
ifeq ($(ZIP_DEBUGINFO_FILES),1)
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.diz
else
ifeq ($(OS_VENDOR), Darwin)
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX).dSYM
else
EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.debuginfo
endif
endif
endif
endif
ifeq ($(JVM_VARIANT_MINIMAL1),true)
EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/Xusage.txt
EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/libjvm.$(LIBRARY_SUFFIX)
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
ifeq ($(ZIP_DEBUGINFO_FILES),1)
EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/libjvm.diz
else
EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/libjvm.debuginfo
endif
endif
endif
# Serviceability Binaries
# No SA Support for PPC, IA64, ARM or zero
ADD_SA_BINARIES/x86 = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \
$(EXPORT_LIB_DIR)/sa-jdi.jar
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
ifeq ($(ZIP_DEBUGINFO_FILES),1)
ADD_SA_BINARIES/x86 += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.diz
else
ifeq ($(OS_VENDOR), Darwin)
ADD_SA_BINARIES/x86 += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX).dSYM
else
ADD_SA_BINARIES/x86 += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo
endif
endif
endif
ADD_SA_BINARIES/sparc = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \
$(EXPORT_LIB_DIR)/sa-jdi.jar
ADD_SA_BINARIES/universal = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \
$(EXPORT_LIB_DIR)/sa-jdi.jar
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
ifeq ($(ZIP_DEBUGINFO_FILES),1)
ADD_SA_BINARIES/universal += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.diz
else
ifeq ($(OS_VENDOR), Darwin)
ADD_SA_BINARIES/universal += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX).dSYM
else
ADD_SA_BINARIES/universal += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo
endif
endif
endif
ADD_SA_BINARIES/ppc =
ADD_SA_BINARIES/ia64 =
ADD_SA_BINARIES/arm =
@@ -225,6 +397,19 @@ ifeq ($(OS_VENDOR), Darwin)
# Files to simply copy in place
UNIVERSAL_COPY_LIST += $(EXPORT_JRE_LIB_DIR)/server/Xusage.txt
UNIVERSAL_COPY_LIST += $(EXPORT_JRE_LIB_DIR)/client/Xusage.txt
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
ifeq ($(ZIP_DEBUGINFO_FILES),1)
UNIVERSAL_COPY_LIST += $(EXPORT_JRE_LIB_DIR)/server/libjvm.diz
UNIVERSAL_COPY_LIST += $(EXPORT_JRE_LIB_DIR)/client/libjvm.diz
UNIVERSAL_COPY_LIST += $(EXPORT_JRE_LIB_DIR)/libjsig.diz
UNIVERSAL_COPY_LIST += $(EXPORT_JRE_LIB_DIR)/libsaproc.diz
else
UNIVERSAL_COPY_LIST += $(EXPORT_JRE_LIB_DIR)/server/libjvm.$(LIBRARY_SUFFIX).dSYM
UNIVERSAL_COPY_LIST += $(EXPORT_JRE_LIB_DIR)/client/libjvm.$(LIBRARY_SUFFIX).dSYM
UNIVERSAL_COPY_LIST += $(EXPORT_JRE_LIB_DIR)/libjsig.$(LIBRARY_SUFFIX).dSYM
UNIVERSAL_COPY_LIST += $(EXPORT_JRE_LIB_DIR)/libsaproc.$(LIBRARY_SUFFIX).dSYM
endif
endif
endif
endif

View File

@@ -39,9 +39,15 @@ DtraceOutDir = $(GENERATED)/dtracefiles
JVM_DB = libjvm_db
LIBJVM_DB = libjvm_db.dylib
LIBJVM_DB_DEBUGINFO = libjvm_db.dylib.dSYM
LIBJVM_DB_DIZ = libjvm_db.diz
JVM_DTRACE = jvm_dtrace
LIBJVM_DTRACE = libjvm_dtrace.dylib
LIBJVM_DTRACE_DEBUGINFO = libjvm_dtrace.dylib.dSYM
LIBJVM_DTRACE_DIZ = libjvm_dtrace.diz
JVMOFFS = JvmOffsets
JVMOFFS.o = $(JVMOFFS).o
GENOFFS = generate$(JVMOFFS)
@@ -76,21 +82,87 @@ ISA = $(subst i386,i486,$(BUILDARCH))
# Making 64/libjvm_db.so: 64-bit version of libjvm_db.so which handles 32-bit libjvm.so
ifneq ("${ISA}","${BUILDARCH}")
XLIBJVM_DB = 64/$(LIBJVM_DB)
XLIBJVM_DTRACE = 64/$(LIBJVM_DTRACE)
XLIBJVM_DIR = 64
XLIBJVM_DB = $(XLIBJVM_DIR)/$(LIBJVM_DB)
XLIBJVM_DTRACE = $(XLIBJVM_DIR)/$(LIBJVM_DTRACE)
XARCH = $(subst sparcv9,v9,$(shell echo $(ISA)))
XLIBJVM_DB_DEBUGINFO = $(XLIBJVM_DIR)/$(LIBJVM_DB_DEBUGINFO)
XLIBJVM_DB_DIZ = $(XLIBJVM_DIR)/$(LIBJVM_DB_DIZ)
XLIBJVM_DTRACE_DEBUGINFO = $(XLIBJVM_DIR)/$(LIBJVM_DTRACE_DEBUGINFO)
XLIBJVM_DTRACE_DIZ = $(XLIBJVM_DIR)/$(LIBJVM_DTRACE_DIZ)
$(XLIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS).h $(LIBJVM_DB_MAPFILE)
@echo Making $@
$(QUIETLY) mkdir -p 64/ ; \
$(QUIETLY) mkdir -p $(XLIBJVM_DIR) ; \
$(CC) $(SYMFLAG) -xarch=$(XARCH) -D$(TYPE) -I. -I$(GENERATED) \
$(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c #-lc
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
ifeq ($(OS_VENDOR), Darwin)
$(DSYMUTIL) $@
ifeq ($(ZIP_DEBUGINFO_FILES),1)
# Do this part in the $(XLIBJVM_DIR) subdir so $(XLIBJVM_DIR)
# is not in the archived name:
( cd $(XLIBJVM_DIR) && $(ZIPEXE) -q -r -y $(LIBJVM_DB_DIZ) $(LIBJVM_DB_DEBUGINFO) )
$(RM) -r $(XLIBJVM_DB_DEBUGINFO)
endif
else
$(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(XLIBJVM_DB_DEBUGINFO)
# Do this part in the $(XLIBJVM_DIR) subdir so $(XLIBJVM_DIR)
# is not in the link name:
$(QUIETLY) ( cd $(XLIBJVM_DIR) && $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DB_DEBUGINFO) $(LIBJVM_DB) )
ifeq ($(STRIP_POLICY),all_strip)
$(QUIETLY) $(STRIP) $@
else
ifeq ($(STRIP_POLICY),min_strip)
$(QUIETLY) $(STRIP) -x $@
# implied else here is no stripping at all
endif
endif
ifeq ($(ZIP_DEBUGINFO_FILES),1)
# Do this part in the $(XLIBJVM_DIR) subdir so $(XLIBJVM_DIR)
# is not in the archived name:
( cd $(XLIBJVM_DIR) && $(ZIPEXE) -q -y $(LIBJVM_DB_DIZ) $(LIBJVM_DB_DEBUGINFO) )
$(RM) $(XLIBJVM_DB_DEBUGINFO)
endif
endif
endif
$(XLIBJVM_DTRACE): $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE)
@echo Making $@
$(QUIETLY) mkdir -p 64/ ; \
$(QUIETLY) mkdir -p $(XLIBJVM_DIR) ; \
$(CC) $(SYMFLAG) -xarch=$(XARCH) -D$(TYPE) -I. \
$(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c #-lc -lthread -ldoor
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
ifeq ($(OS_VENDOR), Darwin)
$(DSYMUTIL) $@
ifeq ($(ZIP_DEBUGINFO_FILES),1)
# Do this part in the $(XLIBJVM_DIR) subdir so $(XLIBJVM_DIR)
# is not in the archived name:
( cd $(XLIBJVM_DIR) && $(ZIPEXE) -q -r -y $(LIBJVM_DTRACE_DIZ) $(LIBJVM_DTRACE_DEBUGINFO) )
$(RM) -r $(XLIBJVM_DTRACE_DEBUGINFO)
endif
else
$(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(XLIBJVM_DTRACE_DEBUGINFO)
# Do this part in the $(XLIBJVM_DIR) subdir so $(XLIBJVM_DIR)
# is not in the link name:
( cd $(XLIBJVM_DIR) && $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DTRACE_DEBUGINFO) $(LIBJVM_DTRACE) )
ifeq ($(STRIP_POLICY),all_strip)
$(QUIETLY) $(STRIP) $@
else
ifeq ($(STRIP_POLICY),min_strip)
$(QUIETLY) $(STRIP) -x $@
# implied else here is no stripping at all
endif
endif
ifeq ($(ZIP_DEBUGINFO_FILES),1)
# Do this part in the $(XLIBJVM_DIR) subdir so $(XLIBJVM_DIR)
# is not in the archived name:
( cd $(XLIBJVM_DIR) && $(ZIPEXE) -q -y $(LIBJVM_DTRACE_DIZ) $(LIBJVM_DTRACE_DEBUGINFO) )
$(RM) $(XLIBJVM_DTRACE_DEBUGINFO)
endif
endif
endif
endif # ifneq ("${ISA}","${BUILDARCH}")
@@ -134,11 +206,59 @@ $(LIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS.o) $(XLIBJVM_DB) $(LIBJVM_D
@echo Making $@
$(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I. -I$(GENERATED) \
$(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c -Wall # -lc
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
ifeq ($(OS_VENDOR), Darwin)
$(DSYMUTIL) $@
ifeq ($(ZIP_DEBUGINFO_FILES),1)
$(ZIPEXE) -q -r -y $(LIBJVM_DB_DIZ) $(LIBJVM_DB_DEBUGINFO)
$(RM) -r $(LIBJVM_DB_DEBUGINFO)
endif
else
$(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DB_DEBUGINFO)
$(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DB_DEBUGINFO) $@
ifeq ($(STRIP_POLICY),all_strip)
$(QUIETLY) $(STRIP) $@
else
ifeq ($(STRIP_POLICY),min_strip)
$(QUIETLY) $(STRIP) -x $@
# implied else here is no stripping at all
endif
endif
ifeq ($(ZIP_DEBUGINFO_FILES),1)
$(ZIPEXE) -q -y $(LIBJVM_DB_DIZ) $(LIBJVM_DB_DEBUGINFO)
$(RM) $(LIBJVM_DB_DEBUGINFO)
endif
endif
endif
$(LIBJVM_DTRACE): $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(XLIBJVM_DTRACE) $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE)
@echo Making $@
$(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I. \
$(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c #-lc -lthread -ldoor
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
ifeq ($(OS_VENDOR), Darwin)
$(DSYMUTIL) $@
ifeq ($(ZIP_DEBUGINFO_FILES),1)
$(ZIPEXE) -q -r -y $(LIBJVM_DTRACE_DIZ) $(LIBJVM_DTRACE_DEBUGINFO)
$(RM) -r $(LIBJVM_DTRACE_DEBUGINFO)
endif
else
$(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJVM_DTRACE_DEBUGINFO)
$(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJVM_DTRACE_DEBUGINFO) $@
ifeq ($(STRIP_POLICY),all_strip)
$(QUIETLY) $(STRIP) $@
else
ifeq ($(STRIP_POLICY),min_strip)
$(QUIETLY) $(STRIP) -x $@
# implied else here is no stripping at all
endif
endif
ifeq ($(ZIP_DEBUGINFO_FILES),1)
$(ZIPEXE) -q -y $(LIBJVM_DTRACE_DIZ) $(LIBJVM_DTRACE_DEBUGINFO)
$(RM) $(LIBJVM_DTRACE_DEBUGINFO)
endif
endif
endif
#$(DTRACE).d: $(DTRACE_SRCDIR)/hotspot.d $(DTRACE_SRCDIR)/hotspot_jni.d \
# $(DTRACE_SRCDIR)/hs_private.d $(DTRACE_SRCDIR)/jhelper.d

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 1999, 2013, 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,5 +59,5 @@ CFLAGS$(HOTSPARC_GENERIC) += $(OPT_CFLAGS/BYFILE)
MAPFILE = $(GAMMADIR)/make/bsd/makefiles/mapfile-vers-debug
VERSION = fastdebug
SYSDEFS += -DASSERT
SYSDEFS += -DASSERT -DCHECK_UNHANDLED_OOPS
PICFLAGS = DEFAULT

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