8244224: Implementation of JEP 381: Remove the Solaris and SPARC Ports
Reviewed-by: alanb, bchristi, dcubed, dfuchs, eosterlund, erikj, glaubitz, ihse, iignatyev, jjiang, kbarrett, ksrini, kvn, naoto, prr, rriggs, serb, sspitsyn, stefank, tschatzl, valeriep, weijun, weijun
This commit is contained in:
parent
9fe4b69c1a
commit
071bd521bc
@ -58,7 +58,6 @@ src/jdk.compiler : jdk/src/jdk.compiler langtools/src/jdk.compiler
|
|||||||
src/jdk.crypto.cryptoki : jdk/src/jdk.crypto.cryptoki
|
src/jdk.crypto.cryptoki : jdk/src/jdk.crypto.cryptoki
|
||||||
src/jdk.crypto.ec : jdk/src/jdk.crypto.ec
|
src/jdk.crypto.ec : jdk/src/jdk.crypto.ec
|
||||||
src/jdk.crypto.mscapi : jdk/src/jdk.crypto.mscapi
|
src/jdk.crypto.mscapi : jdk/src/jdk.crypto.mscapi
|
||||||
src/jdk.crypto.ucrypto : jdk/src/jdk.crypto.ucrypto
|
|
||||||
src/jdk.dynalink : nashorn/src/jdk.dynalink
|
src/jdk.dynalink : nashorn/src/jdk.dynalink
|
||||||
src/jdk.editpad : jdk/src/jdk.editpad
|
src/jdk.editpad : jdk/src/jdk.editpad
|
||||||
src/jdk.hotspot.agent : hotspot/src/jdk.hotspot.agent
|
src/jdk.hotspot.agent : hotspot/src/jdk.hotspot.agent
|
||||||
@ -101,13 +100,11 @@ src/jdk.zipfs : jdk/src/jdk.zipfs
|
|||||||
src/langtools/sample : langtools/src/sample
|
src/langtools/sample : langtools/src/sample
|
||||||
src/linux : jdk/src/linux
|
src/linux : jdk/src/linux
|
||||||
src/sample : jdk/src/sample
|
src/sample : jdk/src/sample
|
||||||
src/solaris : jdk/src/solaris
|
|
||||||
src/hotspot/share : hotspot/src/share/vm
|
src/hotspot/share : hotspot/src/share/vm
|
||||||
src/hotspot/cpu/aarch64 : hotspot/src/cpu/aarch64/vm
|
src/hotspot/cpu/aarch64 : hotspot/src/cpu/aarch64/vm
|
||||||
src/hotspot/cpu/arm : hotspot/src/cpu/arm/vm
|
src/hotspot/cpu/arm : hotspot/src/cpu/arm/vm
|
||||||
src/hotspot/cpu/ppc : hotspot/src/cpu/ppc/vm
|
src/hotspot/cpu/ppc : hotspot/src/cpu/ppc/vm
|
||||||
src/hotspot/cpu/s390 : hotspot/src/cpu/s390/vm
|
src/hotspot/cpu/s390 : hotspot/src/cpu/s390/vm
|
||||||
src/hotspot/cpu/sparc : hotspot/src/cpu/sparc/vm
|
|
||||||
src/hotspot/cpu/x86 : hotspot/src/cpu/x86/vm
|
src/hotspot/cpu/x86 : hotspot/src/cpu/x86/vm
|
||||||
src/hotspot/cpu/zero : hotspot/src/cpu/zero/vm
|
src/hotspot/cpu/zero : hotspot/src/cpu/zero/vm
|
||||||
src/hotspot/os/aix : hotspot/src/os/aix/vm
|
src/hotspot/os/aix : hotspot/src/os/aix/vm
|
||||||
@ -115,7 +112,6 @@ src/hotspot/os/bsd : hotspot/src/os/bsd/vm
|
|||||||
src/hotspot/os/linux : hotspot/src/os/linux/vm
|
src/hotspot/os/linux : hotspot/src/os/linux/vm
|
||||||
src/hotspot/os/posix/dtrace : hotspot/src/os/posix/dtrace
|
src/hotspot/os/posix/dtrace : hotspot/src/os/posix/dtrace
|
||||||
src/hotspot/os/posix : hotspot/src/os/posix/vm
|
src/hotspot/os/posix : hotspot/src/os/posix/vm
|
||||||
src/hotspot/os/solaris : hotspot/src/os/solaris/vm
|
|
||||||
src/hotspot/os/windows : hotspot/src/os/windows/vm
|
src/hotspot/os/windows : hotspot/src/os/windows/vm
|
||||||
src/hotspot/os_cpu/aix_ppc : hotspot/src/os_cpu/aix_ppc/vm
|
src/hotspot/os_cpu/aix_ppc : hotspot/src/os_cpu/aix_ppc/vm
|
||||||
src/hotspot/os_cpu/bsd_x86 : hotspot/src/os_cpu/bsd_x86/vm
|
src/hotspot/os_cpu/bsd_x86 : hotspot/src/os_cpu/bsd_x86/vm
|
||||||
@ -124,11 +120,8 @@ src/hotspot/os_cpu/linux_aarch64 : hotspot/src/os_cpu/linux_aarch64/vm
|
|||||||
src/hotspot/os_cpu/linux_arm : hotspot/src/os_cpu/linux_arm/vm
|
src/hotspot/os_cpu/linux_arm : hotspot/src/os_cpu/linux_arm/vm
|
||||||
src/hotspot/os_cpu/linux_ppc : hotspot/src/os_cpu/linux_ppc/vm
|
src/hotspot/os_cpu/linux_ppc : hotspot/src/os_cpu/linux_ppc/vm
|
||||||
src/hotspot/os_cpu/linux_s390 : hotspot/src/os_cpu/linux_s390/vm
|
src/hotspot/os_cpu/linux_s390 : hotspot/src/os_cpu/linux_s390/vm
|
||||||
src/hotspot/os_cpu/linux_sparc : hotspot/src/os_cpu/linux_sparc/vm
|
|
||||||
src/hotspot/os_cpu/linux_x86 : hotspot/src/os_cpu/linux_x86/vm
|
src/hotspot/os_cpu/linux_x86 : hotspot/src/os_cpu/linux_x86/vm
|
||||||
src/hotspot/os_cpu/linux_zero : hotspot/src/os_cpu/linux_zero/vm
|
src/hotspot/os_cpu/linux_zero : hotspot/src/os_cpu/linux_zero/vm
|
||||||
src/hotspot/os_cpu/solaris_sparc : hotspot/src/os_cpu/solaris_sparc/vm
|
|
||||||
src/hotspot/os_cpu/solaris_x86 : hotspot/src/os_cpu/solaris_x86/vm
|
|
||||||
src/hotspot/os_cpu/windows_x86 : hotspot/src/os_cpu/windows_x86/vm
|
src/hotspot/os_cpu/windows_x86 : hotspot/src/os_cpu/windows_x86/vm
|
||||||
src/hotspot : hotspot/src
|
src/hotspot : hotspot/src
|
||||||
src/utils/IdealGraphVisualizer : hotspot/src/share/tools/IdealGraphVisualizer
|
src/utils/IdealGraphVisualizer : hotspot/src/share/tools/IdealGraphVisualizer
|
||||||
|
@ -30,13 +30,11 @@
|
|||||||
</ul></li>
|
</ul></li>
|
||||||
<li><a href="#build-hardware-requirements">Build Hardware Requirements</a><ul>
|
<li><a href="#build-hardware-requirements">Build Hardware Requirements</a><ul>
|
||||||
<li><a href="#building-on-x86">Building on x86</a></li>
|
<li><a href="#building-on-x86">Building on x86</a></li>
|
||||||
<li><a href="#building-on-sparc">Building on sparc</a></li>
|
|
||||||
<li><a href="#building-on-aarch64">Building on aarch64</a></li>
|
<li><a href="#building-on-aarch64">Building on aarch64</a></li>
|
||||||
<li><a href="#building-on-32-bit-arm">Building on 32-bit arm</a></li>
|
<li><a href="#building-on-32-bit-arm">Building on 32-bit arm</a></li>
|
||||||
</ul></li>
|
</ul></li>
|
||||||
<li><a href="#operating-system-requirements">Operating System Requirements</a><ul>
|
<li><a href="#operating-system-requirements">Operating System Requirements</a><ul>
|
||||||
<li><a href="#windows">Windows</a></li>
|
<li><a href="#windows">Windows</a></li>
|
||||||
<li><a href="#solaris">Solaris</a></li>
|
|
||||||
<li><a href="#macos">macOS</a></li>
|
<li><a href="#macos">macOS</a></li>
|
||||||
<li><a href="#linux">Linux</a></li>
|
<li><a href="#linux">Linux</a></li>
|
||||||
<li><a href="#aix">AIX</a></li>
|
<li><a href="#aix">AIX</a></li>
|
||||||
@ -45,7 +43,6 @@
|
|||||||
<li><a href="#gcc">gcc</a></li>
|
<li><a href="#gcc">gcc</a></li>
|
||||||
<li><a href="#clang">clang</a></li>
|
<li><a href="#clang">clang</a></li>
|
||||||
<li><a href="#apple-xcode">Apple Xcode</a></li>
|
<li><a href="#apple-xcode">Apple Xcode</a></li>
|
||||||
<li><a href="#oracle-solaris-studio">Oracle Solaris Studio</a></li>
|
|
||||||
<li><a href="#microsoft-visual-studio">Microsoft Visual Studio</a></li>
|
<li><a href="#microsoft-visual-studio">Microsoft Visual Studio</a></li>
|
||||||
<li><a href="#ibm-xl-cc">IBM XL C/C++</a></li>
|
<li><a href="#ibm-xl-cc">IBM XL C/C++</a></li>
|
||||||
</ul></li>
|
</ul></li>
|
||||||
@ -157,18 +154,15 @@
|
|||||||
<p>The JDK is a massive project, and require machines ranging from decent to powerful to be able to build in a reasonable amount of time, or to be able to complete a build at all.</p>
|
<p>The JDK is a massive project, and require machines ranging from decent to powerful to be able to build in a reasonable amount of time, or to be able to complete a build at all.</p>
|
||||||
<p>We <em>strongly</em> recommend usage of an SSD disk for the build, since disk speed is one of the limiting factors for build performance.</p>
|
<p>We <em>strongly</em> recommend usage of an SSD disk for the build, since disk speed is one of the limiting factors for build performance.</p>
|
||||||
<h3 id="building-on-x86">Building on x86</h3>
|
<h3 id="building-on-x86">Building on x86</h3>
|
||||||
<p>At a minimum, a machine with 2-4 cores is advisable, as well as 2-4 GB of RAM. (The more cores to use, the more memory you need.) At least 6 GB of free disk space is required (8 GB minimum for building on Solaris).</p>
|
<p>At a minimum, a machine with 2-4 cores is advisable, as well as 2-4 GB of RAM. (The more cores to use, the more memory you need.) At least 6 GB of free disk space is required.</p>
|
||||||
<p>Even for 32-bit builds, it is recommended to use a 64-bit build machine, and instead create a 32-bit target using <code>--with-target-bits=32</code>.</p>
|
<p>Even for 32-bit builds, it is recommended to use a 64-bit build machine, and instead create a 32-bit target using <code>--with-target-bits=32</code>.</p>
|
||||||
<h3 id="building-on-sparc">Building on sparc</h3>
|
|
||||||
<p>At a minimum, a machine with 4 cores is advisable, as well as 4 GB of RAM. (The more cores to use, the more memory you need.) At least 8 GB of free disk space is required.</p>
|
|
||||||
<p>Note: The sparc port is deprecated.</p>
|
|
||||||
<h3 id="building-on-aarch64">Building on aarch64</h3>
|
<h3 id="building-on-aarch64">Building on aarch64</h3>
|
||||||
<p>At a minimum, a machine with 8 cores is advisable, as well as 8 GB of RAM. (The more cores to use, the more memory you need.) At least 6 GB of free disk space is required.</p>
|
<p>At a minimum, a machine with 8 cores is advisable, as well as 8 GB of RAM. (The more cores to use, the more memory you need.) At least 6 GB of free disk space is required.</p>
|
||||||
<p>If you do not have access to sufficiently powerful hardware, it is also possible to use <a href="#cross-compiling">cross-compiling</a>.</p>
|
<p>If you do not have access to sufficiently powerful hardware, it is also possible to use <a href="#cross-compiling">cross-compiling</a>.</p>
|
||||||
<h3 id="building-on-32-bit-arm">Building on 32-bit arm</h3>
|
<h3 id="building-on-32-bit-arm">Building on 32-bit arm</h3>
|
||||||
<p>This is not recommended. Instead, see the section on <a href="#cross-compiling">Cross-compiling</a>.</p>
|
<p>This is not recommended. Instead, see the section on <a href="#cross-compiling">Cross-compiling</a>.</p>
|
||||||
<h2 id="operating-system-requirements">Operating System Requirements</h2>
|
<h2 id="operating-system-requirements">Operating System Requirements</h2>
|
||||||
<p>The mainline JDK project supports Linux, Solaris, macOS, AIX and Windows. Support for other operating system, e.g. BSD, exists in separate "port" projects.</p>
|
<p>The mainline JDK project supports Linux, macOS, AIX and Windows. Support for other operating system, e.g. BSD, exists in separate "port" projects.</p>
|
||||||
<p>In general, the JDK can be built on a wide range of versions of these operating systems, but the further you deviate from what is tested on a daily basis, the more likely you are to run into problems.</p>
|
<p>In general, the JDK can be built on a wide range of versions of these operating systems, but the further you deviate from what is tested on a daily basis, the more likely you are to run into problems.</p>
|
||||||
<p>This table lists the OS versions used by Oracle when building the JDK. Such information is always subject to change, but this table is up to date at the time of writing.</p>
|
<p>This table lists the OS versions used by Oracle when building the JDK. Such information is always subject to change, but this table is up to date at the time of writing.</p>
|
||||||
<table>
|
<table>
|
||||||
@ -184,20 +178,16 @@
|
|||||||
<td style="text-align: left;">Oracle Enterprise Linux 6.4 / 7.6</td>
|
<td style="text-align: left;">Oracle Enterprise Linux 6.4 / 7.6</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="even">
|
<tr class="even">
|
||||||
<td style="text-align: left;">Solaris</td>
|
|
||||||
<td style="text-align: left;">Solaris 11.3 SRU 20</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td style="text-align: left;">macOS</td>
|
<td style="text-align: left;">macOS</td>
|
||||||
<td style="text-align: left;">Mac OS X 10.13 (High Sierra)</td>
|
<td style="text-align: left;">Mac OS X 10.13 (High Sierra)</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="even">
|
<tr class="odd">
|
||||||
<td style="text-align: left;">Windows</td>
|
<td style="text-align: left;">Windows</td>
|
||||||
<td style="text-align: left;">Windows Server 2012 R2</td>
|
<td style="text-align: left;">Windows Server 2012 R2</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<p>The double version numbers for Linux and Solaris are due to the hybrid model used at Oracle, where header files and external libraries from an older version are used when building on a more modern version of the OS.</p>
|
<p>The double version numbers for Linux are due to the hybrid model used at Oracle, where header files and external libraries from an older version are used when building on a more modern version of the OS.</p>
|
||||||
<p>The Build Group has a wiki page with <a href="https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms">Supported Build Platforms</a>. From time to time, this is updated by contributors to list successes or failures of building on different platforms.</p>
|
<p>The Build Group has a wiki page with <a href="https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms">Supported Build Platforms</a>. From time to time, this is updated by contributors to list successes or failures of building on different platforms.</p>
|
||||||
<h3 id="windows">Windows</h3>
|
<h3 id="windows">Windows</h3>
|
||||||
<p>Windows XP is not a supported platform, but all newer Windows should be able to build the JDK.</p>
|
<p>Windows XP is not a supported platform, but all newer Windows should be able to build the JDK.</p>
|
||||||
@ -223,10 +213,6 @@
|
|||||||
<p>It's possible to build both Windows and Linux binaries from WSL. To build Windows binaries, you must use a Windows boot JDK (located in a Windows-accessible directory). To build Linux binaries, you must use a Linux boot JDK. The default behavior is to build for Windows. To build for Linux, pass <code>--build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu</code> to <code>configure</code>.</p>
|
<p>It's possible to build both Windows and Linux binaries from WSL. To build Windows binaries, you must use a Windows boot JDK (located in a Windows-accessible directory). To build Linux binaries, you must use a Linux boot JDK. The default behavior is to build for Windows. To build for Linux, pass <code>--build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu</code> to <code>configure</code>.</p>
|
||||||
<p>If building Windows binaries, the source code must be located in a Windows- accessible directory. This is because Windows executables (such as Visual Studio and the boot JDK) must be able to access the source code. Also, the drive where the source is stored must be mounted as case-insensitive by changing either /etc/fstab or /etc/wsl.conf in WSL. Individual directories may be corrected using the fsutil tool in case the source was cloned before changing the mount options.</p>
|
<p>If building Windows binaries, the source code must be located in a Windows- accessible directory. This is because Windows executables (such as Visual Studio and the boot JDK) must be able to access the source code. Also, the drive where the source is stored must be mounted as case-insensitive by changing either /etc/fstab or /etc/wsl.conf in WSL. Individual directories may be corrected using the fsutil tool in case the source was cloned before changing the mount options.</p>
|
||||||
<p>Note that while it's possible to build on WSL, testing is still not fully supported.</p>
|
<p>Note that while it's possible to build on WSL, testing is still not fully supported.</p>
|
||||||
<h3 id="solaris">Solaris</h3>
|
|
||||||
<p>See <code>make/devkit/solaris11.1-package-list.txt</code> for a list of recommended packages to install when building on Solaris. The versions specified in this list is the versions used by the daily builds at Oracle, and is likely to work properly.</p>
|
|
||||||
<p>Older versions of Solaris shipped a broken version of <code>objcopy</code>. At least version 2.21.1 is needed, which is provided by Solaris 11 Update 1. Objcopy is needed if you want to have external debug symbols. Please make sure you are using at least version 2.21.1 of objcopy, or that you disable external debug symbols.</p>
|
|
||||||
<p>Note: The Solaris port is deprecated.</p>
|
|
||||||
<h3 id="macos">macOS</h3>
|
<h3 id="macos">macOS</h3>
|
||||||
<p>Apple is using a quite aggressive scheme of pushing OS updates, and coupling these updates with required updates of Xcode. Unfortunately, this makes it difficult for a project such as the JDK to keep pace with a continuously updated machine running macOS. See the section on <a href="#apple-xcode">Apple Xcode</a> on some strategies to deal with this.</p>
|
<p>Apple is using a quite aggressive scheme of pushing OS updates, and coupling these updates with required updates of Xcode. Unfortunately, this makes it difficult for a project such as the JDK to keep pace with a continuously updated machine running macOS. See the section on <a href="#apple-xcode">Apple Xcode</a> on some strategies to deal with this.</p>
|
||||||
<p>It is recommended that you use at least Mac OS X 10.13 (High Sierra). At the time of writing, the JDK has been successfully compiled on macOS 10.12 (Sierra).</p>
|
<p>It is recommended that you use at least Mac OS X 10.13 (High Sierra). At the time of writing, the JDK has been successfully compiled on macOS 10.12 (Sierra).</p>
|
||||||
@ -259,14 +245,10 @@
|
|||||||
<td style="text-align: left;">Apple Xcode (using clang)</td>
|
<td style="text-align: left;">Apple Xcode (using clang)</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="odd">
|
<tr class="odd">
|
||||||
<td style="text-align: left;">Solaris</td>
|
|
||||||
<td style="text-align: left;">Oracle Solaris Studio</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td style="text-align: left;">AIX</td>
|
<td style="text-align: left;">AIX</td>
|
||||||
<td style="text-align: left;">IBM XL C/C++</td>
|
<td style="text-align: left;">IBM XL C/C++</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="odd">
|
<tr class="even">
|
||||||
<td style="text-align: left;">Windows</td>
|
<td style="text-align: left;">Windows</td>
|
||||||
<td style="text-align: left;">Microsoft Visual Studio</td>
|
<td style="text-align: left;">Microsoft Visual Studio</td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -290,10 +272,6 @@
|
|||||||
<td style="text-align: left;">Apple Xcode 10.1 (using clang 10.0.0)</td>
|
<td style="text-align: left;">Apple Xcode 10.1 (using clang 10.0.0)</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="odd">
|
<tr class="odd">
|
||||||
<td style="text-align: left;">Solaris</td>
|
|
||||||
<td style="text-align: left;">Oracle Solaris Studio 12.6 (with compiler version 5.15)</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td style="text-align: left;">Windows</td>
|
<td style="text-align: left;">Windows</td>
|
||||||
<td style="text-align: left;">Microsoft Visual Studio 2019 update 16.5.3</td>
|
<td style="text-align: left;">Microsoft Visual Studio 2019 update 16.5.3</td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -313,64 +291,6 @@
|
|||||||
<pre><code>xcode-select --install</code></pre>
|
<pre><code>xcode-select --install</code></pre>
|
||||||
<p>It is advisable to keep an older version of Xcode for building the JDK when updating Xcode. This <a href="http://iosdevelopertips.com/xcode/install-multiple-versions-of-xcode.html">blog page</a> has good suggestions on managing multiple Xcode versions. To use a specific version of Xcode, use <code>xcode-select -s</code> before running <code>configure</code>, or use <code>--with-toolchain-path</code> to point to the version of Xcode to use, e.g. <code>configure --with-toolchain-path=/Applications/Xcode8.app/Contents/Developer/usr/bin</code></p>
|
<p>It is advisable to keep an older version of Xcode for building the JDK when updating Xcode. This <a href="http://iosdevelopertips.com/xcode/install-multiple-versions-of-xcode.html">blog page</a> has good suggestions on managing multiple Xcode versions. To use a specific version of Xcode, use <code>xcode-select -s</code> before running <code>configure</code>, or use <code>--with-toolchain-path</code> to point to the version of Xcode to use, e.g. <code>configure --with-toolchain-path=/Applications/Xcode8.app/Contents/Developer/usr/bin</code></p>
|
||||||
<p>If you have recently (inadvertently) updated your OS and/or Xcode version, and the JDK can no longer be built, please see the section on <a href="#problems-with-the-build-environment">Problems with the Build Environment</a>, and <a href="#getting-help">Getting Help</a> to find out if there are any recent, non-merged patches available for this update.</p>
|
<p>If you have recently (inadvertently) updated your OS and/or Xcode version, and the JDK can no longer be built, please see the section on <a href="#problems-with-the-build-environment">Problems with the Build Environment</a>, and <a href="#getting-help">Getting Help</a> to find out if there are any recent, non-merged patches available for this update.</p>
|
||||||
<h3 id="oracle-solaris-studio">Oracle Solaris Studio</h3>
|
|
||||||
<p>The minimum accepted version of the Solaris Studio compilers is 5.13 (corresponding to Solaris Studio 12.4). Older versions will not be accepted by configure.</p>
|
|
||||||
<p>The Solaris Studio installation should contain at least these packages:</p>
|
|
||||||
<table>
|
|
||||||
<thead>
|
|
||||||
<tr class="header">
|
|
||||||
<th style="text-align: left;">Package</th>
|
|
||||||
<th style="text-align: left;">Version</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr class="odd">
|
|
||||||
<td style="text-align: left;">developer/solarisstudio-124/backend</td>
|
|
||||||
<td style="text-align: left;">12.4-1.0.6.0</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td style="text-align: left;">developer/solarisstudio-124/c++</td>
|
|
||||||
<td style="text-align: left;">12.4-1.0.10.0</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td style="text-align: left;">developer/solarisstudio-124/cc</td>
|
|
||||||
<td style="text-align: left;">12.4-1.0.4.0</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td style="text-align: left;">developer/solarisstudio-124/library/c++-libs</td>
|
|
||||||
<td style="text-align: left;">12.4-1.0.10.0</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td style="text-align: left;">developer/solarisstudio-124/library/math-libs</td>
|
|
||||||
<td style="text-align: left;">12.4-1.0.0.1</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td style="text-align: left;">developer/solarisstudio-124/library/studio-gccrt</td>
|
|
||||||
<td style="text-align: left;">12.4-1.0.0.1</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td style="text-align: left;">developer/solarisstudio-124/studio-common</td>
|
|
||||||
<td style="text-align: left;">12.4-1.0.0.1</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td style="text-align: left;">developer/solarisstudio-124/studio-ja</td>
|
|
||||||
<td style="text-align: left;">12.4-1.0.0.1</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="odd">
|
|
||||||
<td style="text-align: left;">developer/solarisstudio-124/studio-legal</td>
|
|
||||||
<td style="text-align: left;">12.4-1.0.0.1</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="even">
|
|
||||||
<td style="text-align: left;">developer/solarisstudio-124/studio-zhCN</td>
|
|
||||||
<td style="text-align: left;">12.4-1.0.0.1</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<p>Compiling with Solaris Studio can sometimes be finicky. This is the exact version used by Oracle, which worked correctly at the time of writing:</p>
|
|
||||||
<pre><code>$ cc -V
|
|
||||||
cc: Sun C 5.13 SunOS_i386 2014/10/20
|
|
||||||
$ CC -V
|
|
||||||
CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
|
|
||||||
<h3 id="microsoft-visual-studio">Microsoft Visual Studio</h3>
|
<h3 id="microsoft-visual-studio">Microsoft Visual Studio</h3>
|
||||||
<p>The minimum accepted version of Visual Studio is 2010. Older versions will not be accepted by <code>configure</code>. The maximum accepted version of Visual Studio is 2019. Versions older than 2017 are unlikely to continue working for long.</p>
|
<p>The minimum accepted version of Visual Studio is 2010. Older versions will not be accepted by <code>configure</code>. The maximum accepted version of Visual Studio is 2019. Versions older than 2017 are unlikely to continue working for long.</p>
|
||||||
<p>If you have multiple versions of Visual Studio installed, <code>configure</code> will by default pick the latest. You can request a specific version to be used by setting <code>--with-toolchain-version</code>, e.g. <code>--with-toolchain-version=2015</code>.</p>
|
<p>If you have multiple versions of Visual Studio installed, <code>configure</code> will by default pick the latest. You can request a specific version to be used by setting <code>--with-toolchain-version</code>, e.g. <code>--with-toolchain-version=2015</code>.</p>
|
||||||
@ -394,7 +314,6 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
|
|||||||
<ul>
|
<ul>
|
||||||
<li>To install on an apt-based Linux, try running <code>sudo apt-get install libfreetype6-dev</code>.</li>
|
<li>To install on an apt-based Linux, try running <code>sudo apt-get install libfreetype6-dev</code>.</li>
|
||||||
<li>To install on an rpm-based Linux, try running <code>sudo yum install freetype-devel</code>.</li>
|
<li>To install on an rpm-based Linux, try running <code>sudo yum install freetype-devel</code>.</li>
|
||||||
<li>To install on Solaris, try running <code>pkg install system/library/freetype-2</code>.</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
<p>Use <code>--with-freetype-include=<path></code> and <code>--with-freetype-lib=<path></code> if <code>configure</code> does not automatically locate the platform FreeType files.</p>
|
<p>Use <code>--with-freetype-include=<path></code> and <code>--with-freetype-lib=<path></code> if <code>configure</code> does not automatically locate the platform FreeType files.</p>
|
||||||
<h3 id="cups">CUPS</h3>
|
<h3 id="cups">CUPS</h3>
|
||||||
@ -402,15 +321,13 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
|
|||||||
<ul>
|
<ul>
|
||||||
<li>To install on an apt-based Linux, try running <code>sudo apt-get install libcups2-dev</code>.</li>
|
<li>To install on an apt-based Linux, try running <code>sudo apt-get install libcups2-dev</code>.</li>
|
||||||
<li>To install on an rpm-based Linux, try running <code>sudo yum install cups-devel</code>.</li>
|
<li>To install on an rpm-based Linux, try running <code>sudo yum install cups-devel</code>.</li>
|
||||||
<li>To install on Solaris, try running <code>pkg install print/cups</code>.</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
<p>Use <code>--with-cups=<path></code> if <code>configure</code> does not properly locate your CUPS files.</p>
|
<p>Use <code>--with-cups=<path></code> if <code>configure</code> does not properly locate your CUPS files.</p>
|
||||||
<h3 id="x11">X11</h3>
|
<h3 id="x11">X11</h3>
|
||||||
<p>Certain <a href="http://www.x.org/">X11</a> libraries and include files are required on Linux and Solaris.</p>
|
<p>Certain <a href="http://www.x.org/">X11</a> libraries and include files are required on Linux.</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>To install on an apt-based Linux, try running <code>sudo apt-get install libx11-dev libxext-dev libxrender-dev libxrandr-dev libxtst-dev libxt-dev</code>.</li>
|
<li>To install on an apt-based Linux, try running <code>sudo apt-get install libx11-dev libxext-dev libxrender-dev libxrandr-dev libxtst-dev libxt-dev</code>.</li>
|
||||||
<li>To install on an rpm-based Linux, try running <code>sudo yum install libXtst-devel libXt-devel libXrender-devel libXrandr-devel libXi-devel</code>.</li>
|
<li>To install on an rpm-based Linux, try running <code>sudo yum install libXtst-devel libXt-devel libXrender-devel libXrandr-devel libXi-devel</code>.</li>
|
||||||
<li>To install on Solaris, try running <code>pkg install x11/header/x11-protocols x11/library/libice x11/library/libpthread-stubs x11/library/libsm x11/library/libx11 x11/library/libxau x11/library/libxcb x11/library/libxdmcp x11/library/libxevie x11/library/libxext x11/library/libxrender x11/library/libxrandr x11/library/libxscrnsaver x11/library/libxtst x11/library/toolkit/libxt</code>.</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
<p>Use <code>--with-x=<path></code> if <code>configure</code> does not properly locate your X11 files.</p>
|
<p>Use <code>--with-x=<path></code> if <code>configure</code> does not properly locate your X11 files.</p>
|
||||||
<h3 id="alsa">ALSA</h3>
|
<h3 id="alsa">ALSA</h3>
|
||||||
@ -443,7 +360,6 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
|
|||||||
<p>At least version 3.81 of GNU Make must be used. For distributions supporting GNU Make 4.0 or above, we strongly recommend it. GNU Make 4.0 contains useful functionality to handle parallel building (supported by <code>--with-output-sync</code>) and speed and stability improvements.</p>
|
<p>At least version 3.81 of GNU Make must be used. For distributions supporting GNU Make 4.0 or above, we strongly recommend it. GNU Make 4.0 contains useful functionality to handle parallel building (supported by <code>--with-output-sync</code>) and speed and stability improvements.</p>
|
||||||
<p>Note that <code>configure</code> locates and verifies a properly functioning version of <code>make</code> and stores the path to this <code>make</code> binary in the configuration. If you start a build using <code>make</code> on the command line, you will be using the version of make found first in your <code>PATH</code>, and not necessarily the one stored in the configuration. This initial make will be used as "bootstrap make", and in a second stage, the make located by <code>configure</code> will be called. Normally, this will present no issues, but if you have a very old <code>make</code>, or a non-GNU Make <code>make</code> in your path, this might cause issues.</p>
|
<p>Note that <code>configure</code> locates and verifies a properly functioning version of <code>make</code> and stores the path to this <code>make</code> binary in the configuration. If you start a build using <code>make</code> on the command line, you will be using the version of make found first in your <code>PATH</code>, and not necessarily the one stored in the configuration. This initial make will be used as "bootstrap make", and in a second stage, the make located by <code>configure</code> will be called. Normally, this will present no issues, but if you have a very old <code>make</code>, or a non-GNU Make <code>make</code> in your path, this might cause issues.</p>
|
||||||
<p>If you want to override the default make found by <code>configure</code>, use the <code>MAKE</code> configure variable, e.g. <code>configure MAKE=/opt/gnu/make</code>.</p>
|
<p>If you want to override the default make found by <code>configure</code>, use the <code>MAKE</code> configure variable, e.g. <code>configure MAKE=/opt/gnu/make</code>.</p>
|
||||||
<p>On Solaris, it is common to call the GNU version of make by using <code>gmake</code>.</p>
|
|
||||||
<h3 id="gnu-bash">GNU Bash</h3>
|
<h3 id="gnu-bash">GNU Bash</h3>
|
||||||
<p>The JDK requires <a href="http://www.gnu.org/software/bash">GNU Bash</a>. No other shells are supported.</p>
|
<p>The JDK requires <a href="http://www.gnu.org/software/bash">GNU Bash</a>. No other shells are supported.</p>
|
||||||
<p>At least version 3.2 of GNU Bash must be used.</p>
|
<p>At least version 3.2 of GNU Bash must be used.</p>
|
||||||
@ -865,9 +781,6 @@ Clock skew detected. Your build may be incomplete.</code></pre>
|
|||||||
<p>then the clock on your build machine is out of sync with the timestamps on the source files. Other errors, apparently unrelated but in fact caused by the clock skew, can occur along with the clock skew warnings. These secondary errors may tend to obscure the fact that the true root cause of the problem is an out-of-sync clock.</p>
|
<p>then the clock on your build machine is out of sync with the timestamps on the source files. Other errors, apparently unrelated but in fact caused by the clock skew, can occur along with the clock skew warnings. These secondary errors may tend to obscure the fact that the true root cause of the problem is an out-of-sync clock.</p>
|
||||||
<p>If you see these warnings, reset the clock on the build machine, run <code>make clean</code> and restart the build.</p>
|
<p>If you see these warnings, reset the clock on the build machine, run <code>make clean</code> and restart the build.</p>
|
||||||
<h4 id="out-of-memory-errors">Out of Memory Errors</h4>
|
<h4 id="out-of-memory-errors">Out of Memory Errors</h4>
|
||||||
<p>On Solaris, you might get an error message like this:</p>
|
|
||||||
<pre><code>Trouble writing out table to disk</code></pre>
|
|
||||||
<p>To solve this, increase the amount of swap space on your build machine.</p>
|
|
||||||
<p>On Windows, you might get error messages like this:</p>
|
<p>On Windows, you might get error messages like this:</p>
|
||||||
<pre><code>fatal error - couldn't allocate heap
|
<pre><code>fatal error - couldn't allocate heap
|
||||||
cannot create ... Permission denied
|
cannot create ... Permission denied
|
||||||
@ -919,7 +832,7 @@ sudo mv /tmp/configure /usr/local/bin</code></pre>
|
|||||||
<p>If you are prepared to take some risk of an incorrect build, and know enough of the system to understand how things build and interact, you can speed up the build process considerably by instructing make to only build a portion of the product.</p>
|
<p>If you are prepared to take some risk of an incorrect build, and know enough of the system to understand how things build and interact, you can speed up the build process considerably by instructing make to only build a portion of the product.</p>
|
||||||
<h4 id="building-individual-modules">Building Individual Modules</h4>
|
<h4 id="building-individual-modules">Building Individual Modules</h4>
|
||||||
<p>The safe way to use fine-grained make targets is to use the module specific make targets. All source code in the JDK is organized so it belongs to a module, e.g. <code>java.base</code> or <code>jdk.jdwp.agent</code>. You can build only a specific module, by giving it as make target: <code>make jdk.jdwp.agent</code>. If the specified module depends on other modules (e.g. <code>java.base</code>), those modules will be built first.</p>
|
<p>The safe way to use fine-grained make targets is to use the module specific make targets. All source code in the JDK is organized so it belongs to a module, e.g. <code>java.base</code> or <code>jdk.jdwp.agent</code>. You can build only a specific module, by giving it as make target: <code>make jdk.jdwp.agent</code>. If the specified module depends on other modules (e.g. <code>java.base</code>), those modules will be built first.</p>
|
||||||
<p>You can also specify a set of modules, just as you can always specify a set of make targets: <code>make jdk.crypto.cryptoki jdk.crypto.ec jdk.crypto.mscapi jdk.crypto.ucrypto</code></p>
|
<p>You can also specify a set of modules, just as you can always specify a set of make targets: <code>make jdk.crypto.cryptoki jdk.crypto.ec jdk.crypto.mscapi</code></p>
|
||||||
<h4 id="building-individual-module-phases">Building Individual Module Phases</h4>
|
<h4 id="building-individual-module-phases">Building Individual Module Phases</h4>
|
||||||
<p>The build process for each module is divided into separate phases. Not all modules need all phases. Which are needed depends on what kind of source code and other artifact the module consists of. The phases are:</p>
|
<p>The build process for each module is divided into separate phases. Not all modules need all phases. Which are needed depends on what kind of source code and other artifact the module consists of. The phases are:</p>
|
||||||
<ul>
|
<ul>
|
||||||
|
@ -109,19 +109,11 @@ one of the limiting factors for build performance.
|
|||||||
|
|
||||||
At a minimum, a machine with 2-4 cores is advisable, as well as 2-4 GB of RAM.
|
At a minimum, a machine with 2-4 cores is advisable, as well as 2-4 GB of RAM.
|
||||||
(The more cores to use, the more memory you need.) At least 6 GB of free disk
|
(The more cores to use, the more memory you need.) At least 6 GB of free disk
|
||||||
space is required (8 GB minimum for building on Solaris).
|
space is required.
|
||||||
|
|
||||||
Even for 32-bit builds, it is recommended to use a 64-bit build machine, and
|
Even for 32-bit builds, it is recommended to use a 64-bit build machine, and
|
||||||
instead create a 32-bit target using `--with-target-bits=32`.
|
instead create a 32-bit target using `--with-target-bits=32`.
|
||||||
|
|
||||||
### Building on sparc
|
|
||||||
|
|
||||||
At a minimum, a machine with 4 cores is advisable, as well as 4 GB of RAM. (The
|
|
||||||
more cores to use, the more memory you need.) At least 8 GB of free disk space
|
|
||||||
is required.
|
|
||||||
|
|
||||||
Note: The sparc port is deprecated.
|
|
||||||
|
|
||||||
### Building on aarch64
|
### Building on aarch64
|
||||||
|
|
||||||
At a minimum, a machine with 8 cores is advisable, as well as 8 GB of RAM.
|
At a minimum, a machine with 8 cores is advisable, as well as 8 GB of RAM.
|
||||||
@ -138,7 +130,7 @@ This is not recommended. Instead, see the section on [Cross-compiling](
|
|||||||
|
|
||||||
## Operating System Requirements
|
## Operating System Requirements
|
||||||
|
|
||||||
The mainline JDK project supports Linux, Solaris, macOS, AIX and Windows.
|
The mainline JDK project supports Linux, macOS, AIX and Windows.
|
||||||
Support for other operating system, e.g. BSD, exists in separate "port"
|
Support for other operating system, e.g. BSD, exists in separate "port"
|
||||||
projects.
|
projects.
|
||||||
|
|
||||||
@ -153,11 +145,10 @@ time of writing.
|
|||||||
Operating system Vendor/version used
|
Operating system Vendor/version used
|
||||||
----------------- -------------------------------------------------------
|
----------------- -------------------------------------------------------
|
||||||
Linux Oracle Enterprise Linux 6.4 / 7.6
|
Linux Oracle Enterprise Linux 6.4 / 7.6
|
||||||
Solaris Solaris 11.3 SRU 20
|
|
||||||
macOS Mac OS X 10.13 (High Sierra)
|
macOS Mac OS X 10.13 (High Sierra)
|
||||||
Windows Windows Server 2012 R2
|
Windows Windows Server 2012 R2
|
||||||
|
|
||||||
The double version numbers for Linux and Solaris are due to the hybrid model
|
The double version numbers for Linux are due to the hybrid model
|
||||||
used at Oracle, where header files and external libraries from an older version
|
used at Oracle, where header files and external libraries from an older version
|
||||||
are used when building on a more modern version of the OS.
|
are used when building on a more modern version of the OS.
|
||||||
|
|
||||||
@ -247,21 +238,6 @@ options.
|
|||||||
Note that while it's possible to build on WSL, testing is still not fully
|
Note that while it's possible to build on WSL, testing is still not fully
|
||||||
supported.
|
supported.
|
||||||
|
|
||||||
### Solaris
|
|
||||||
|
|
||||||
See `make/devkit/solaris11.1-package-list.txt` for a list of recommended
|
|
||||||
packages to install when building on Solaris. The versions specified in this
|
|
||||||
list is the versions used by the daily builds at Oracle, and is likely to work
|
|
||||||
properly.
|
|
||||||
|
|
||||||
Older versions of Solaris shipped a broken version of `objcopy`. At least
|
|
||||||
version 2.21.1 is needed, which is provided by Solaris 11 Update 1. Objcopy is
|
|
||||||
needed if you want to have external debug symbols. Please make sure you are
|
|
||||||
using at least version 2.21.1 of objcopy, or that you disable external debug
|
|
||||||
symbols.
|
|
||||||
|
|
||||||
Note: The Solaris port is deprecated.
|
|
||||||
|
|
||||||
### macOS
|
### macOS
|
||||||
|
|
||||||
Apple is using a quite aggressive scheme of pushing OS updates, and coupling
|
Apple is using a quite aggressive scheme of pushing OS updates, and coupling
|
||||||
@ -314,7 +290,6 @@ one-to-one correlation between target operating system and toolchain.
|
|||||||
------------------ -------------------------
|
------------------ -------------------------
|
||||||
Linux gcc, clang
|
Linux gcc, clang
|
||||||
macOS Apple Xcode (using clang)
|
macOS Apple Xcode (using clang)
|
||||||
Solaris Oracle Solaris Studio
|
|
||||||
AIX IBM XL C/C++
|
AIX IBM XL C/C++
|
||||||
Windows Microsoft Visual Studio
|
Windows Microsoft Visual Studio
|
||||||
|
|
||||||
@ -329,7 +304,6 @@ issues.
|
|||||||
------------------ -------------------------------------------------------
|
------------------ -------------------------------------------------------
|
||||||
Linux gcc 9.2.0
|
Linux gcc 9.2.0
|
||||||
macOS Apple Xcode 10.1 (using clang 10.0.0)
|
macOS Apple Xcode 10.1 (using clang 10.0.0)
|
||||||
Solaris Oracle Solaris Studio 12.6 (with compiler version 5.15)
|
|
||||||
Windows Microsoft Visual Studio 2019 update 16.5.3
|
Windows Microsoft Visual Studio 2019 update 16.5.3
|
||||||
|
|
||||||
All compilers are expected to be able to compile to the C99 language standard,
|
All compilers are expected to be able to compile to the C99 language standard,
|
||||||
@ -379,36 +353,6 @@ Build Environment](#problems-with-the-build-environment), and [Getting
|
|||||||
Help](#getting-help) to find out if there are any recent, non-merged patches
|
Help](#getting-help) to find out if there are any recent, non-merged patches
|
||||||
available for this update.
|
available for this update.
|
||||||
|
|
||||||
### Oracle Solaris Studio
|
|
||||||
|
|
||||||
The minimum accepted version of the Solaris Studio compilers is 5.13
|
|
||||||
(corresponding to Solaris Studio 12.4). Older versions will not be accepted by
|
|
||||||
configure.
|
|
||||||
|
|
||||||
The Solaris Studio installation should contain at least these packages:
|
|
||||||
|
|
||||||
Package Version
|
|
||||||
-------------------------------------------------- -------------
|
|
||||||
developer/solarisstudio-124/backend 12.4-1.0.6.0
|
|
||||||
developer/solarisstudio-124/c++ 12.4-1.0.10.0
|
|
||||||
developer/solarisstudio-124/cc 12.4-1.0.4.0
|
|
||||||
developer/solarisstudio-124/library/c++-libs 12.4-1.0.10.0
|
|
||||||
developer/solarisstudio-124/library/math-libs 12.4-1.0.0.1
|
|
||||||
developer/solarisstudio-124/library/studio-gccrt 12.4-1.0.0.1
|
|
||||||
developer/solarisstudio-124/studio-common 12.4-1.0.0.1
|
|
||||||
developer/solarisstudio-124/studio-ja 12.4-1.0.0.1
|
|
||||||
developer/solarisstudio-124/studio-legal 12.4-1.0.0.1
|
|
||||||
developer/solarisstudio-124/studio-zhCN 12.4-1.0.0.1
|
|
||||||
|
|
||||||
Compiling with Solaris Studio can sometimes be finicky. This is the exact
|
|
||||||
version used by Oracle, which worked correctly at the time of writing:
|
|
||||||
```
|
|
||||||
$ cc -V
|
|
||||||
cc: Sun C 5.13 SunOS_i386 2014/10/20
|
|
||||||
$ CC -V
|
|
||||||
CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30
|
|
||||||
```
|
|
||||||
|
|
||||||
### Microsoft Visual Studio
|
### Microsoft Visual Studio
|
||||||
|
|
||||||
The minimum accepted version of Visual Studio is 2010. Older versions will not
|
The minimum accepted version of Visual Studio is 2010. Older versions will not
|
||||||
@ -494,7 +438,6 @@ rather than bundling the JDK's own copy.
|
|||||||
libfreetype6-dev`.
|
libfreetype6-dev`.
|
||||||
* To install on an rpm-based Linux, try running `sudo yum install
|
* To install on an rpm-based Linux, try running `sudo yum install
|
||||||
freetype-devel`.
|
freetype-devel`.
|
||||||
* To install on Solaris, try running `pkg install system/library/freetype-2`.
|
|
||||||
|
|
||||||
Use `--with-freetype-include=<path>` and `--with-freetype-lib=<path>`
|
Use `--with-freetype-include=<path>` and `--with-freetype-lib=<path>`
|
||||||
if `configure` does not automatically locate the platform FreeType files.
|
if `configure` does not automatically locate the platform FreeType files.
|
||||||
@ -509,7 +452,6 @@ your operating system.
|
|||||||
libcups2-dev`.
|
libcups2-dev`.
|
||||||
* To install on an rpm-based Linux, try running `sudo yum install
|
* To install on an rpm-based Linux, try running `sudo yum install
|
||||||
cups-devel`.
|
cups-devel`.
|
||||||
* To install on Solaris, try running `pkg install print/cups`.
|
|
||||||
|
|
||||||
Use `--with-cups=<path>` if `configure` does not properly locate your CUPS
|
Use `--with-cups=<path>` if `configure` does not properly locate your CUPS
|
||||||
files.
|
files.
|
||||||
@ -517,18 +459,12 @@ files.
|
|||||||
### X11
|
### X11
|
||||||
|
|
||||||
Certain [X11](http://www.x.org/) libraries and include files are required on
|
Certain [X11](http://www.x.org/) libraries and include files are required on
|
||||||
Linux and Solaris.
|
Linux.
|
||||||
|
|
||||||
* To install on an apt-based Linux, try running `sudo apt-get install
|
* To install on an apt-based Linux, try running `sudo apt-get install
|
||||||
libx11-dev libxext-dev libxrender-dev libxrandr-dev libxtst-dev libxt-dev`.
|
libx11-dev libxext-dev libxrender-dev libxrandr-dev libxtst-dev libxt-dev`.
|
||||||
* To install on an rpm-based Linux, try running `sudo yum install
|
* To install on an rpm-based Linux, try running `sudo yum install
|
||||||
libXtst-devel libXt-devel libXrender-devel libXrandr-devel libXi-devel`.
|
libXtst-devel libXt-devel libXrender-devel libXrandr-devel libXi-devel`.
|
||||||
* To install on Solaris, try running `pkg install x11/header/x11-protocols
|
|
||||||
x11/library/libice x11/library/libpthread-stubs x11/library/libsm
|
|
||||||
x11/library/libx11 x11/library/libxau x11/library/libxcb
|
|
||||||
x11/library/libxdmcp x11/library/libxevie x11/library/libxext
|
|
||||||
x11/library/libxrender x11/library/libxrandr x11/library/libxscrnsaver
|
|
||||||
x11/library/libxtst x11/library/toolkit/libxt`.
|
|
||||||
|
|
||||||
Use `--with-x=<path>` if `configure` does not properly locate your X11 files.
|
Use `--with-x=<path>` if `configure` does not properly locate your X11 files.
|
||||||
|
|
||||||
@ -603,8 +539,6 @@ will present no issues, but if you have a very old `make`, or a non-GNU Make
|
|||||||
If you want to override the default make found by `configure`, use the `MAKE`
|
If you want to override the default make found by `configure`, use the `MAKE`
|
||||||
configure variable, e.g. `configure MAKE=/opt/gnu/make`.
|
configure variable, e.g. `configure MAKE=/opt/gnu/make`.
|
||||||
|
|
||||||
On Solaris, it is common to call the GNU version of make by using `gmake`.
|
|
||||||
|
|
||||||
### GNU Bash
|
### GNU Bash
|
||||||
|
|
||||||
The JDK requires [GNU Bash](http://www.gnu.org/software/bash). No other shells
|
The JDK requires [GNU Bash](http://www.gnu.org/software/bash). No other shells
|
||||||
@ -1460,12 +1394,6 @@ clean` and restart the build.
|
|||||||
|
|
||||||
#### Out of Memory Errors
|
#### Out of Memory Errors
|
||||||
|
|
||||||
On Solaris, you might get an error message like this:
|
|
||||||
```
|
|
||||||
Trouble writing out table to disk
|
|
||||||
```
|
|
||||||
To solve this, increase the amount of swap space on your build machine.
|
|
||||||
|
|
||||||
On Windows, you might get error messages like this:
|
On Windows, you might get error messages like this:
|
||||||
```
|
```
|
||||||
fatal error - couldn't allocate heap
|
fatal error - couldn't allocate heap
|
||||||
@ -1604,8 +1532,7 @@ module depends on other modules (e.g. `java.base`), those modules will be built
|
|||||||
first.
|
first.
|
||||||
|
|
||||||
You can also specify a set of modules, just as you can always specify a set of
|
You can also specify a set of modules, just as you can always specify a set of
|
||||||
make targets: `make jdk.crypto.cryptoki jdk.crypto.ec jdk.crypto.mscapi
|
make targets: `make jdk.crypto.cryptoki jdk.crypto.ec jdk.crypto.mscapi`
|
||||||
jdk.crypto.ucrypto`
|
|
||||||
|
|
||||||
#### Building Individual Module Phases
|
#### Building Individual Module Phases
|
||||||
|
|
||||||
|
@ -133,7 +133,7 @@ TEST FAILURE</code></pre>
|
|||||||
<h3 id="jtreg-keywords">JTReg keywords</h3>
|
<h3 id="jtreg-keywords">JTReg keywords</h3>
|
||||||
<h4 id="jobs-1">JOBS</h4>
|
<h4 id="jobs-1">JOBS</h4>
|
||||||
<p>The test concurrency (<code>-concurrency</code>).</p>
|
<p>The test concurrency (<code>-concurrency</code>).</p>
|
||||||
<p>Defaults to TEST_JOBS (if set by <code>--with-test-jobs=</code>), otherwise it defaults to JOBS, except for Hotspot, where the default is <em>number of CPU cores/2</em> (for sparc, if more than 16 cpus, then <em>number of CPU cores/5</em>, otherwise <em>number of CPU cores/4</em>), but never more than <em>memory size in GB/2</em>.</p>
|
<p>Defaults to TEST_JOBS (if set by <code>--with-test-jobs=</code>), otherwise it defaults to JOBS, except for Hotspot, where the default is <em>number of CPU cores/2</em>, but never more than <em>memory size in GB/2</em>.</p>
|
||||||
<h4 id="timeout_factor-1">TIMEOUT_FACTOR</h4>
|
<h4 id="timeout_factor-1">TIMEOUT_FACTOR</h4>
|
||||||
<p>The timeout factor (<code>-timeoutFactor</code>).</p>
|
<p>The timeout factor (<code>-timeoutFactor</code>).</p>
|
||||||
<p>Defaults to 4.</p>
|
<p>Defaults to 4.</p>
|
||||||
|
@ -261,9 +261,8 @@ file.
|
|||||||
The test concurrency (`-concurrency`).
|
The test concurrency (`-concurrency`).
|
||||||
|
|
||||||
Defaults to TEST_JOBS (if set by `--with-test-jobs=`), otherwise it defaults to
|
Defaults to TEST_JOBS (if set by `--with-test-jobs=`), otherwise it defaults to
|
||||||
JOBS, except for Hotspot, where the default is *number of CPU cores/2* (for
|
JOBS, except for Hotspot, where the default is *number of CPU cores/2*,
|
||||||
sparc, if more than 16 cpus, then *number of CPU cores/5*, otherwise *number of
|
but never more than *memory size in GB/2*.
|
||||||
CPU cores/4*), but never more than *memory size in GB/2*.
|
|
||||||
|
|
||||||
#### TIMEOUT_FACTOR
|
#### TIMEOUT_FACTOR
|
||||||
The timeout factor (`-timeoutFactor`).
|
The timeout factor (`-timeoutFactor`).
|
||||||
|
@ -101,7 +101,7 @@ define SetupBundleFileBody
|
|||||||
# If no subdir is specified and only one BASE_DIR, tar.gz can be done
|
# If no subdir is specified and only one BASE_DIR, tar.gz can be done
|
||||||
# directly from BASE_DIR.
|
# directly from BASE_DIR.
|
||||||
$(CD) $$($1_BASE_DIRS) \
|
$(CD) $$($1_BASE_DIRS) \
|
||||||
&& ( $(TAR) cf - $(TAR_CREATE_EXTRA_PARAM) \
|
&& ( $(TAR) cf - \
|
||||||
-$(TAR_INCLUDE_PARAM) $$($1_$$($1_BASE_DIRS)_LIST_FILE) \
|
-$(TAR_INCLUDE_PARAM) $$($1_$$($1_BASE_DIRS)_LIST_FILE) \
|
||||||
$(TAR_IGNORE_EXIT_VALUE) ) \
|
$(TAR_IGNORE_EXIT_VALUE) ) \
|
||||||
| $(GZIP) > $$@
|
| $(GZIP) > $$@
|
||||||
@ -110,7 +110,7 @@ define SetupBundleFileBody
|
|||||||
# If only one BASE_DIR, but with a SUBDIR set, tar.gz can use the
|
# If only one BASE_DIR, but with a SUBDIR set, tar.gz can use the
|
||||||
# transform option to create bundle directly from the BASE_DIR.
|
# transform option to create bundle directly from the BASE_DIR.
|
||||||
$(CD) $$($1_BASE_DIRS) \
|
$(CD) $$($1_BASE_DIRS) \
|
||||||
&& ( $(TAR) cf - $(TAR_CREATE_EXTRA_PARAM) \
|
&& ( $(TAR) cf - \
|
||||||
-$(TAR_INCLUDE_PARAM) $$($1_$$($1_BASE_DIRS)_LIST_FILE) \
|
-$(TAR_INCLUDE_PARAM) $$($1_$$($1_BASE_DIRS)_LIST_FILE) \
|
||||||
$$(if $$($1_SUBDIR), --transform 's|^|$$($1_SUBDIR)/|S') \
|
$$(if $$($1_SUBDIR), --transform 's|^|$$($1_SUBDIR)/|S') \
|
||||||
$(TAR_IGNORE_EXIT_VALUE) ) \
|
$(TAR_IGNORE_EXIT_VALUE) ) \
|
||||||
@ -140,7 +140,7 @@ define SetupBundleFileBody
|
|||||||
endif
|
endif
|
||||||
ifeq ($$($1_TYPE), tar.gz)
|
ifeq ($$($1_TYPE), tar.gz)
|
||||||
$(CD) $(SUPPORT_OUTPUTDIR)/bundles/$1 && \
|
$(CD) $(SUPPORT_OUTPUTDIR)/bundles/$1 && \
|
||||||
( $(TAR) cf - $(TAR_CREATE_EXTRA_PARAM) \
|
( $(TAR) cf - \
|
||||||
$$(if $$($1_SUBDIR), $$($1_SUBDIR), .) $(TAR_IGNORE_EXIT_VALUE) ) \
|
$$(if $$($1_SUBDIR), $$($1_SUBDIR), .) $(TAR_IGNORE_EXIT_VALUE) ) \
|
||||||
| $(GZIP) > $$@
|
| $(GZIP) > $$@
|
||||||
else ifeq ($$($1_TYPE), zip)
|
else ifeq ($$($1_TYPE), zip)
|
||||||
|
@ -240,15 +240,9 @@ $(SUPPORT_OUTPUTDIR)/demos/image/nbproject/%: $(DEMO_SHARE_SRC)/nbproject/%
|
|||||||
$(call install-file)
|
$(call install-file)
|
||||||
$(CHMOD) -f ug+w $@
|
$(CHMOD) -f ug+w $@
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, solaris), true)
|
TARGETS += $(patsubst $(DEMO_SHARE_SRC)/nbproject/%, \
|
||||||
TARGETS += $(patsubst $(DEMO_SHARE_SRC)/nbproject/%, \
|
$(SUPPORT_OUTPUTDIR)/demos/image/nbproject/%, \
|
||||||
$(SUPPORT_OUTPUTDIR)/demos/image/nbproject/%, \
|
$(call FindFiles, $(DEMO_SHARE_SRC)/nbproject))
|
||||||
$(call FindFiles, $(DEMO_SHARE_SRC)/nbproject))
|
|
||||||
else
|
|
||||||
TARGETS += $(patsubst $(DEMO_SHARE_SRC)/nbproject/%, \
|
|
||||||
$(SUPPORT_OUTPUTDIR)/demos/image/nbproject/%, \
|
|
||||||
$(call FindFiles, $(DEMO_SHARE_SRC)/nbproject))
|
|
||||||
endif
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
|
@ -53,14 +53,7 @@ java.base_EXCLUDES += java/lang/doc-files
|
|||||||
# data files and shouldn't go in the product
|
# data files and shouldn't go in the product
|
||||||
java.base_EXCLUDE_FILES += sun/text/resources/BreakIteratorRules.java
|
java.base_EXCLUDE_FILES += sun/text/resources/BreakIteratorRules.java
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, solaris), false)
|
ifeq ($(call isTargetOs, macosx aix), false)
|
||||||
java.base_EXCLUDE_FILES += \
|
|
||||||
SolarisLoginModule.java \
|
|
||||||
SolarisSystem.java \
|
|
||||||
#
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, solaris macosx aix), false)
|
|
||||||
java.base_EXCLUDE_FILES += sun/nio/fs/PollingWatchService.java
|
java.base_EXCLUDE_FILES += sun/nio/fs/PollingWatchService.java
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@ -448,10 +441,8 @@ jdk.internal.vm.compiler_JAVAC_FLAGS += -parameters -XDstringConcat=inline \
|
|||||||
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot=jdk.internal.vm.compiler \
|
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot=jdk.internal.vm.compiler \
|
||||||
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=jdk.internal.vm.compiler \
|
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=jdk.internal.vm.compiler \
|
||||||
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.amd64=jdk.internal.vm.compiler \
|
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.amd64=jdk.internal.vm.compiler \
|
||||||
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.sparc=jdk.internal.vm.compiler \
|
|
||||||
--add-exports jdk.internal.vm.ci/jdk.vm.ci.meta=jdk.internal.vm.compiler \
|
--add-exports jdk.internal.vm.ci/jdk.vm.ci.meta=jdk.internal.vm.compiler \
|
||||||
--add-exports jdk.internal.vm.ci/jdk.vm.ci.runtime=jdk.internal.vm.compiler \
|
--add-exports jdk.internal.vm.ci/jdk.vm.ci.runtime=jdk.internal.vm.compiler \
|
||||||
--add-exports jdk.internal.vm.ci/jdk.vm.ci.sparc=jdk.internal.vm.compiler \
|
|
||||||
#
|
#
|
||||||
|
|
||||||
jdk.internal.vm.compiler_EXCLUDES += \
|
jdk.internal.vm.compiler_EXCLUDES += \
|
||||||
@ -461,7 +452,6 @@ jdk.internal.vm.compiler_EXCLUDES += \
|
|||||||
org.graalvm.compiler.api.test \
|
org.graalvm.compiler.api.test \
|
||||||
org.graalvm.compiler.asm.aarch64.test \
|
org.graalvm.compiler.asm.aarch64.test \
|
||||||
org.graalvm.compiler.asm.amd64.test \
|
org.graalvm.compiler.asm.amd64.test \
|
||||||
org.graalvm.compiler.asm.sparc.test \
|
|
||||||
org.graalvm.compiler.asm.test \
|
org.graalvm.compiler.asm.test \
|
||||||
org.graalvm.compiler.core.aarch64.test \
|
org.graalvm.compiler.core.aarch64.test \
|
||||||
org.graalvm.compiler.core.amd64.test \
|
org.graalvm.compiler.core.amd64.test \
|
||||||
@ -475,7 +465,6 @@ jdk.internal.vm.compiler_EXCLUDES += \
|
|||||||
org.graalvm.compiler.hotspot.jdk15.test \
|
org.graalvm.compiler.hotspot.jdk15.test \
|
||||||
org.graalvm.compiler.hotspot.jdk9.test \
|
org.graalvm.compiler.hotspot.jdk9.test \
|
||||||
org.graalvm.compiler.hotspot.lir.test \
|
org.graalvm.compiler.hotspot.lir.test \
|
||||||
org.graalvm.compiler.hotspot.sparc.test \
|
|
||||||
org.graalvm.compiler.hotspot.test \
|
org.graalvm.compiler.hotspot.test \
|
||||||
org.graalvm.compiler.jtt \
|
org.graalvm.compiler.jtt \
|
||||||
org.graalvm.compiler.lir.jtt \
|
org.graalvm.compiler.lir.jtt \
|
||||||
@ -517,10 +506,8 @@ jdk.aot_JAVAC_FLAGS += -parameters -XDstringConcat=inline \
|
|||||||
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot=jdk.internal.vm.compiler,jdk.aot \
|
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot=jdk.internal.vm.compiler,jdk.aot \
|
||||||
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=jdk.internal.vm.compiler,jdk.aot \
|
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=jdk.internal.vm.compiler,jdk.aot \
|
||||||
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.amd64=jdk.internal.vm.compiler,jdk.aot \
|
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.amd64=jdk.internal.vm.compiler,jdk.aot \
|
||||||
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.sparc=jdk.internal.vm.compiler,jdk.aot \
|
|
||||||
--add-exports jdk.internal.vm.ci/jdk.vm.ci.meta=jdk.internal.vm.compiler,jdk.aot \
|
--add-exports jdk.internal.vm.ci/jdk.vm.ci.meta=jdk.internal.vm.compiler,jdk.aot \
|
||||||
--add-exports jdk.internal.vm.ci/jdk.vm.ci.runtime=jdk.internal.vm.compiler,jdk.aot \
|
--add-exports jdk.internal.vm.ci/jdk.vm.ci.runtime=jdk.internal.vm.compiler,jdk.aot \
|
||||||
--add-exports jdk.internal.vm.ci/jdk.vm.ci.sparc=jdk.internal.vm.compiler,jdk.aot \
|
|
||||||
#
|
#
|
||||||
|
|
||||||
jdk.aot_EXCLUDES += \
|
jdk.aot_EXCLUDES += \
|
||||||
|
@ -237,16 +237,6 @@ TEST_JOBS_FACTOR_MACHINE ?= 1
|
|||||||
|
|
||||||
ifeq ($(TEST_JOBS), 0)
|
ifeq ($(TEST_JOBS), 0)
|
||||||
CORES_DIVIDER := 2
|
CORES_DIVIDER := 2
|
||||||
ifeq ($(call isTargetCpuArch, sparc), true)
|
|
||||||
# For smaller SPARC machines we see reasonable scaling of throughput up to
|
|
||||||
# cpus/4 without affecting test reliability. On the bigger machines, cpus/4
|
|
||||||
# causes intermittent timeouts.
|
|
||||||
ifeq ($(shell $(EXPR) $(NUM_CORES) \> 16), 1)
|
|
||||||
CORES_DIVIDER := 5
|
|
||||||
else
|
|
||||||
CORES_DIVIDER := 4
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
# For some big multi-core machines with low ulimit -u setting we hit the max
|
# For some big multi-core machines with low ulimit -u setting we hit the max
|
||||||
# threads/process limit. In such a setup the memory/cores-only-guided
|
# threads/process limit. In such a setup the memory/cores-only-guided
|
||||||
# TEST_JOBS config is insufficient. From experience a concurrency setting of
|
# TEST_JOBS config is insufficient. From experience a concurrency setting of
|
||||||
@ -843,12 +833,8 @@ define SetupRunJtregTestBody
|
|||||||
# we may end up with a lot of JVM's
|
# we may end up with a lot of JVM's
|
||||||
$1_JTREG_MAX_RAM_PERCENTAGE := $$(shell $$(EXPR) 25 / $$($1_JTREG_JOBS))
|
$1_JTREG_MAX_RAM_PERCENTAGE := $$(shell $$(EXPR) 25 / $$($1_JTREG_JOBS))
|
||||||
|
|
||||||
# SPARC is in general slower per core so need to scale up timeouts a bit.
|
JTREG_TIMEOUT_FACTOR ?= 4
|
||||||
ifeq ($(call isTargetCpuArch, sparc), true)
|
|
||||||
JTREG_TIMEOUT_FACTOR ?= 8
|
|
||||||
else
|
|
||||||
JTREG_TIMEOUT_FACTOR ?= 4
|
|
||||||
endif
|
|
||||||
JTREG_VERBOSE ?= fail,error,summary
|
JTREG_VERBOSE ?= fail,error,summary
|
||||||
JTREG_RETAIN ?= fail,error
|
JTREG_RETAIN ?= fail,error
|
||||||
JTREG_RUN_PROBLEM_LISTS ?= false
|
JTREG_RUN_PROBLEM_LISTS ?= false
|
||||||
|
@ -163,8 +163,6 @@ else
|
|||||||
OPENJDK_TARGET_OS := linux
|
OPENJDK_TARGET_OS := linux
|
||||||
else ifeq ($(UNAME_OS), Darwin)
|
else ifeq ($(UNAME_OS), Darwin)
|
||||||
OPENJDK_TARGET_OS := macosx
|
OPENJDK_TARGET_OS := macosx
|
||||||
else ifeq ($(UNAME_OS), SunOS)
|
|
||||||
OPENJDK_TARGET_OS := solaris
|
|
||||||
else
|
else
|
||||||
OPENJDK_TARGET_OS := $(UNAME_OS)
|
OPENJDK_TARGET_OS := $(UNAME_OS)
|
||||||
endif
|
endif
|
||||||
@ -174,38 +172,20 @@ endif
|
|||||||
# Assume little endian unless otherwise specified
|
# Assume little endian unless otherwise specified
|
||||||
OPENJDK_TARGET_CPU_ENDIAN := little
|
OPENJDK_TARGET_CPU_ENDIAN := little
|
||||||
|
|
||||||
ifeq ($(OPENJDK_TARGET_OS), solaris)
|
UNAME_CPU := $(shell $(UNAME) -m)
|
||||||
# On solaris, use uname -p
|
ifeq ($(UNAME_CPU), i686)
|
||||||
UNAME_CPU := $(shell $(UNAME) -p)
|
OPENJDK_TARGET_CPU := x86
|
||||||
# Assume 64-bit platform
|
OPENJDK_TARGET_CPU_BITS := 32
|
||||||
OPENJDK_TARGET_CPU_BITS := 64
|
|
||||||
ifeq ($(UNAME_CPU), i386)
|
|
||||||
OPENJDK_TARGET_CPU := x86_64
|
|
||||||
else ifeq ($(UNAME_CPU), sparc)
|
|
||||||
OPENJDK_TARGET_CPU := sparcv9
|
|
||||||
OPENJDK_TARGET_CPU_ENDIAN := big
|
|
||||||
else
|
|
||||||
OPENJDK_TARGET_CPU := $(UNAME_CPU)
|
|
||||||
endif
|
|
||||||
else
|
else
|
||||||
# ... all others use uname -m
|
# Assume all others are 64-bit. We use the same CPU name as uname for
|
||||||
UNAME_CPU := $(shell $(UNAME) -m)
|
# at least x86_64 and aarch64.
|
||||||
ifeq ($(UNAME_CPU), i686)
|
OPENJDK_TARGET_CPU := $(UNAME_CPU)
|
||||||
OPENJDK_TARGET_CPU := x86
|
OPENJDK_TARGET_CPU_BITS := 64
|
||||||
OPENJDK_TARGET_CPU_BITS := 32
|
|
||||||
else
|
|
||||||
# Assume all others are 64-bit. We use the same CPU name as uname for
|
|
||||||
# at least x86_64 and aarch64.
|
|
||||||
OPENJDK_TARGET_CPU := $(UNAME_CPU)
|
|
||||||
OPENJDK_TARGET_CPU_BITS := 64
|
|
||||||
endif
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
OPENJDK_TARGET_CPU_ARCH := $(OPENJDK_TARGET_CPU)
|
OPENJDK_TARGET_CPU_ARCH := $(OPENJDK_TARGET_CPU)
|
||||||
ifeq ($(OPENJDK_TARGET_CPU), x86_64)
|
ifeq ($(OPENJDK_TARGET_CPU), x86_64)
|
||||||
OPENJDK_TARGET_CPU_ARCH := x86
|
OPENJDK_TARGET_CPU_ARCH := x86
|
||||||
else ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
|
|
||||||
OPENJDK_TARGET_CPU_ARCH := sparc
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||||
@ -229,11 +209,6 @@ ifeq ($(OPENJDK_TARGET_OS), linux)
|
|||||||
else ifeq ($(OPENJDK_TARGET_OS), macosx)
|
else ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||||
NUM_CORES := $(shell /usr/sbin/sysctl -n hw.ncpu)
|
NUM_CORES := $(shell /usr/sbin/sysctl -n hw.ncpu)
|
||||||
MEMORY_SIZE := $(shell $(EXPR) `/usr/sbin/sysctl -n hw.memsize` / 1024 / 1024)
|
MEMORY_SIZE := $(shell $(EXPR) `/usr/sbin/sysctl -n hw.memsize` / 1024 / 1024)
|
||||||
else ifeq ($(OPENJDK_TARGET_OS), solaris)
|
|
||||||
NUM_CORES := $(shell /usr/sbin/psrinfo -v | $(GREP) -c on-line)
|
|
||||||
MEMORY_SIZE := $(shell \
|
|
||||||
/usr/sbin/prtconf 2> /dev/null | $(GREP) "^Memory [Ss]ize" | $(AWK) '{print $$3}' \
|
|
||||||
)
|
|
||||||
else ifeq ($(OPENJDK_TARGET_OS), windows)
|
else ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||||
NUM_CORES := $(NUMBER_OF_PROCESSORS)
|
NUM_CORES := $(NUMBER_OF_PROCESSORS)
|
||||||
MEMORY_SIZE := $(shell \
|
MEMORY_SIZE := $(shell \
|
||||||
@ -265,11 +240,6 @@ ifneq ($(DEVKIT_HOME), )
|
|||||||
LD_JAOTC := $(DEVKIT_HOME)/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
|
LD_JAOTC := $(DEVKIT_HOME)/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
|
||||||
LIBRARY_PREFIX := lib
|
LIBRARY_PREFIX := lib
|
||||||
SHARED_LIBRARY_SUFFIX := .dylib
|
SHARED_LIBRARY_SUFFIX := .dylib
|
||||||
else ifeq ($(OPENJDK_TARGET_OS), solaris)
|
|
||||||
# Prefer system linker for AOT on Solaris.
|
|
||||||
LD_JAOTC := ld
|
|
||||||
LIBRARY_PREFIX := lib
|
|
||||||
SHARED_LIBRARY_SUFFIX := .so
|
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
LD := ld
|
LD := ld
|
||||||
|
@ -178,16 +178,6 @@ FILE := file
|
|||||||
HG := hg
|
HG := hg
|
||||||
ULIMIT := ulimit
|
ULIMIT := ulimit
|
||||||
|
|
||||||
# On Solaris gnu versions of some tools are required.
|
|
||||||
ifeq ($(OPENJDK_BUILD_OS), solaris)
|
|
||||||
AWK := gawk
|
|
||||||
GREP := ggrep
|
|
||||||
EGREP := ggrep -E
|
|
||||||
FGREP := grep -F
|
|
||||||
SED := gsed
|
|
||||||
TAR := gtar
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(OPENJDK_BUILD_OS), windows)
|
ifeq ($(OPENJDK_BUILD_OS), windows)
|
||||||
CYGPATH := cygpath
|
CYGPATH := cygpath
|
||||||
endif
|
endif
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2014, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -45,7 +45,6 @@ $(eval $(call SetupZipArchive,BUILD_SEC_BIN_ZIP, \
|
|||||||
modules/jdk.crypto.mscapi/sun/security/mscapi \
|
modules/jdk.crypto.mscapi/sun/security/mscapi \
|
||||||
modules/jdk.crypto.cryptoki/sun/security/pkcs11 \
|
modules/jdk.crypto.cryptoki/sun/security/pkcs11 \
|
||||||
modules/jdk.crypto.cryptoki/sun/security/pkcs11/wrapper \
|
modules/jdk.crypto.cryptoki/sun/security/pkcs11/wrapper \
|
||||||
modules/jdk.crypto.ucrypto/com/oracle/security/ucrypto \
|
|
||||||
modules/java.base/javax/net \
|
modules/java.base/javax/net \
|
||||||
modules/java.base/javax/security/cert \
|
modules/java.base/javax/security/cert \
|
||||||
modules/java.base/com/sun/net/ssl \
|
modules/java.base/com/sun/net/ssl \
|
||||||
|
@ -270,23 +270,15 @@ AC_DEFUN([BASIC_CHECK_TAR],
|
|||||||
TAR_TYPE="bsd"
|
TAR_TYPE="bsd"
|
||||||
elif test "x$($TAR -v | $GREP "bsdtar")" != "x"; then
|
elif test "x$($TAR -v | $GREP "bsdtar")" != "x"; then
|
||||||
TAR_TYPE="bsd"
|
TAR_TYPE="bsd"
|
||||||
elif test "x$OPENJDK_BUILD_OS" = "xsolaris"; then
|
|
||||||
TAR_TYPE="solaris"
|
|
||||||
elif test "x$OPENJDK_BUILD_OS" = "xaix"; then
|
elif test "x$OPENJDK_BUILD_OS" = "xaix"; then
|
||||||
TAR_TYPE="aix"
|
TAR_TYPE="aix"
|
||||||
fi
|
fi
|
||||||
AC_MSG_CHECKING([what type of tar was found])
|
AC_MSG_CHECKING([what type of tar was found])
|
||||||
AC_MSG_RESULT([$TAR_TYPE])
|
AC_MSG_RESULT([$TAR_TYPE])
|
||||||
|
|
||||||
TAR_CREATE_FILE_PARAM=""
|
|
||||||
|
|
||||||
if test "x$TAR_TYPE" = "xgnu"; then
|
if test "x$TAR_TYPE" = "xgnu"; then
|
||||||
TAR_INCLUDE_PARAM="T"
|
TAR_INCLUDE_PARAM="T"
|
||||||
TAR_SUPPORTS_TRANSFORM="true"
|
TAR_SUPPORTS_TRANSFORM="true"
|
||||||
if test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
|
|
||||||
# When using gnu tar for Solaris targets, need to use compatibility mode
|
|
||||||
TAR_CREATE_EXTRA_PARAM="--format=ustar"
|
|
||||||
fi
|
|
||||||
elif test "x$TAR_TYPE" = "aix"; then
|
elif test "x$TAR_TYPE" = "aix"; then
|
||||||
# -L InputList of aix tar: name of file listing the files and directories
|
# -L InputList of aix tar: name of file listing the files and directories
|
||||||
# that need to be archived or extracted
|
# that need to be archived or extracted
|
||||||
@ -297,7 +289,6 @@ AC_DEFUN([BASIC_CHECK_TAR],
|
|||||||
TAR_SUPPORTS_TRANSFORM="false"
|
TAR_SUPPORTS_TRANSFORM="false"
|
||||||
fi
|
fi
|
||||||
AC_SUBST(TAR_TYPE)
|
AC_SUBST(TAR_TYPE)
|
||||||
AC_SUBST(TAR_CREATE_EXTRA_PARAM)
|
|
||||||
AC_SUBST(TAR_INCLUDE_PARAM)
|
AC_SUBST(TAR_INCLUDE_PARAM)
|
||||||
AC_SUBST(TAR_SUPPORTS_TRANSFORM)
|
AC_SUBST(TAR_SUPPORTS_TRANSFORM)
|
||||||
])
|
])
|
||||||
@ -359,7 +350,7 @@ AC_DEFUN_ONCE([BASIC_SETUP_COMPLEX_TOOLS],
|
|||||||
UTIL_PATH_PROGS(STAT, stat)
|
UTIL_PATH_PROGS(STAT, stat)
|
||||||
UTIL_PATH_PROGS(TIME, time)
|
UTIL_PATH_PROGS(TIME, time)
|
||||||
UTIL_PATH_PROGS(FLOCK, flock)
|
UTIL_PATH_PROGS(FLOCK, flock)
|
||||||
# Dtrace is usually found in /usr/sbin on Solaris, but that directory may not
|
# Dtrace is usually found in /usr/sbin, but that directory may not
|
||||||
# be in the user path.
|
# be in the user path.
|
||||||
UTIL_PATH_PROGS(DTRACE, dtrace, $PATH:/usr/sbin)
|
UTIL_PATH_PROGS(DTRACE, dtrace, $PATH:/usr/sbin)
|
||||||
UTIL_PATH_PROGS(PATCH, [gpatch patch])
|
UTIL_PATH_PROGS(PATCH, [gpatch patch])
|
||||||
@ -415,8 +406,6 @@ AC_DEFUN_ONCE([BASIC_SETUP_COMPLEX_TOOLS],
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
UTIL_REQUIRE_PROGS(SETFILE, SetFile)
|
UTIL_REQUIRE_PROGS(SETFILE, SetFile)
|
||||||
elif test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
|
|
||||||
UTIL_REQUIRE_PROGS(ELFEDIT, elfedit)
|
|
||||||
fi
|
fi
|
||||||
if ! test "x$OPENJDK_TARGET_OS" = "xwindows"; then
|
if ! test "x$OPENJDK_TARGET_OS" = "xwindows"; then
|
||||||
UTIL_REQUIRE_BUILTIN_PROGS(ULIMIT, ulimit)
|
UTIL_REQUIRE_BUILTIN_PROGS(ULIMIT, ulimit)
|
||||||
|
18
make/autoconf/build-aux/config.guess
vendored
18
make/autoconf/build-aux/config.guess
vendored
@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
#
|
#
|
||||||
# Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2012, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -30,22 +30,6 @@
|
|||||||
DIR=`dirname $0`
|
DIR=`dirname $0`
|
||||||
OUT=`. $DIR/autoconf-config.guess`
|
OUT=`. $DIR/autoconf-config.guess`
|
||||||
|
|
||||||
# Test and fix solaris on x86_64
|
|
||||||
echo $OUT | grep i386-pc-solaris > /dev/null 2> /dev/null
|
|
||||||
if test $? = 0; then
|
|
||||||
# isainfo -n returns either i386 or amd64
|
|
||||||
REAL_CPU=`isainfo -n`
|
|
||||||
OUT=$REAL_CPU`echo $OUT | sed -e 's/[^-]*//'`
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Test and fix solaris on sparcv9
|
|
||||||
echo $OUT | grep sparc-sun-solaris > /dev/null 2> /dev/null
|
|
||||||
if test $? = 0; then
|
|
||||||
# isainfo -n returns either sparc or sparcv9
|
|
||||||
REAL_CPU=`isainfo -n`
|
|
||||||
OUT=$REAL_CPU`echo $OUT | sed -e 's/[^-]*//'`
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Test and fix cygwin on x86_64
|
# Test and fix cygwin on x86_64
|
||||||
echo $OUT | grep 86-pc-cygwin > /dev/null 2> /dev/null
|
echo $OUT | grep 86-pc-cygwin > /dev/null 2> /dev/null
|
||||||
if test $? != 0; then
|
if test $? != 0; then
|
||||||
|
@ -38,10 +38,6 @@ AC_DEFUN([BPERF_CHECK_CORES],
|
|||||||
if test "$NUM_CORES" -ne "0"; then
|
if test "$NUM_CORES" -ne "0"; then
|
||||||
FOUND_CORES=yes
|
FOUND_CORES=yes
|
||||||
fi
|
fi
|
||||||
elif test -x /usr/sbin/psrinfo; then
|
|
||||||
# Looks like a Solaris system
|
|
||||||
NUM_CORES=`/usr/sbin/psrinfo -v | grep -c on-line`
|
|
||||||
FOUND_CORES=yes
|
|
||||||
elif test -x /usr/sbin/sysctl; then
|
elif test -x /usr/sbin/sysctl; then
|
||||||
# Looks like a MacOSX system
|
# Looks like a MacOSX system
|
||||||
NUM_CORES=`/usr/sbin/sysctl -n hw.ncpu`
|
NUM_CORES=`/usr/sbin/sysctl -n hw.ncpu`
|
||||||
@ -79,7 +75,7 @@ AC_DEFUN([BPERF_CHECK_MEMORY_SIZE],
|
|||||||
MEMORY_SIZE=`expr $MEMORY_SIZE / 1024`
|
MEMORY_SIZE=`expr $MEMORY_SIZE / 1024`
|
||||||
FOUND_MEM=yes
|
FOUND_MEM=yes
|
||||||
elif test -x /usr/sbin/prtconf; then
|
elif test -x /usr/sbin/prtconf; then
|
||||||
# Looks like a Solaris or AIX system
|
# Looks like an AIX system
|
||||||
MEMORY_SIZE=`/usr/sbin/prtconf 2> /dev/null | grep "^Memory [[Ss]]ize" | awk '{ print [$]3 }'`
|
MEMORY_SIZE=`/usr/sbin/prtconf 2> /dev/null | grep "^Memory [[Ss]]ize" | awk '{ print [$]3 }'`
|
||||||
FOUND_MEM=yes
|
FOUND_MEM=yes
|
||||||
elif test -x /usr/sbin/sysctl; then
|
elif test -x /usr/sbin/sysctl; then
|
||||||
@ -370,9 +366,6 @@ AC_DEFUN_ONCE([BPERF_SETUP_PRECOMPILED_HEADERS],
|
|||||||
if test "x$ICECC" != "x"; then
|
if test "x$ICECC" != "x"; then
|
||||||
AC_MSG_RESULT([no, does not work effectively with icecc])
|
AC_MSG_RESULT([no, does not work effectively with icecc])
|
||||||
PRECOMPILED_HEADERS_AVAILABLE=false
|
PRECOMPILED_HEADERS_AVAILABLE=false
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
|
|
||||||
AC_MSG_RESULT([no, does not work with Solaris Studio])
|
|
||||||
PRECOMPILED_HEADERS_AVAILABLE=false
|
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
|
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
|
||||||
AC_MSG_RESULT([no, does not work with xlc])
|
AC_MSG_RESULT([no, does not work with xlc])
|
||||||
PRECOMPILED_HEADERS_AVAILABLE=false
|
PRECOMPILED_HEADERS_AVAILABLE=false
|
||||||
|
@ -35,8 +35,6 @@
|
|||||||
AC_DEFUN([FLAGS_SETUP_SHARED_LIBS],
|
AC_DEFUN([FLAGS_SETUP_SHARED_LIBS],
|
||||||
[
|
[
|
||||||
if test "x$TOOLCHAIN_TYPE" = xgcc; then
|
if test "x$TOOLCHAIN_TYPE" = xgcc; then
|
||||||
C_FLAG_REORDER=''
|
|
||||||
|
|
||||||
# Default works for linux, might work on other platforms as well.
|
# Default works for linux, might work on other platforms as well.
|
||||||
SHARED_LIBRARY_FLAGS='-shared'
|
SHARED_LIBRARY_FLAGS='-shared'
|
||||||
SET_EXECUTABLE_ORIGIN='-Wl,-rpath,\$$ORIGIN[$]1'
|
SET_EXECUTABLE_ORIGIN='-Wl,-rpath,\$$ORIGIN[$]1'
|
||||||
@ -45,8 +43,6 @@ AC_DEFUN([FLAGS_SETUP_SHARED_LIBS],
|
|||||||
SET_SHARED_LIBRARY_MAPFILE='-Wl,-version-script=[$]1'
|
SET_SHARED_LIBRARY_MAPFILE='-Wl,-version-script=[$]1'
|
||||||
|
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xclang; then
|
elif test "x$TOOLCHAIN_TYPE" = xclang; then
|
||||||
C_FLAG_REORDER=''
|
|
||||||
|
|
||||||
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
||||||
# Linking is different on MacOSX
|
# Linking is different on MacOSX
|
||||||
SHARED_LIBRARY_FLAGS="-dynamiclib -compatibility_version 1.0.0 -current_version 1.0.0"
|
SHARED_LIBRARY_FLAGS="-dynamiclib -compatibility_version 1.0.0 -current_version 1.0.0"
|
||||||
@ -71,16 +67,7 @@ AC_DEFUN([FLAGS_SETUP_SHARED_LIBS],
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
|
|
||||||
C_FLAG_REORDER='-xF'
|
|
||||||
SHARED_LIBRARY_FLAGS="-G"
|
|
||||||
SET_EXECUTABLE_ORIGIN='-R\$$ORIGIN[$]1'
|
|
||||||
SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN"
|
|
||||||
SET_SHARED_LIBRARY_NAME='-h [$]1'
|
|
||||||
SET_SHARED_LIBRARY_MAPFILE='-M[$]1'
|
|
||||||
|
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
|
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
|
||||||
C_FLAG_REORDER=''
|
|
||||||
SHARED_LIBRARY_FLAGS="-qmkshrobj -bM:SRE -bnoentry"
|
SHARED_LIBRARY_FLAGS="-qmkshrobj -bM:SRE -bnoentry"
|
||||||
SET_EXECUTABLE_ORIGIN=""
|
SET_EXECUTABLE_ORIGIN=""
|
||||||
SET_SHARED_LIBRARY_ORIGIN=''
|
SET_SHARED_LIBRARY_ORIGIN=''
|
||||||
@ -88,7 +75,6 @@ AC_DEFUN([FLAGS_SETUP_SHARED_LIBS],
|
|||||||
SET_SHARED_LIBRARY_MAPFILE=''
|
SET_SHARED_LIBRARY_MAPFILE=''
|
||||||
|
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
|
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
|
||||||
C_FLAG_REORDER=''
|
|
||||||
SHARED_LIBRARY_FLAGS="-dll"
|
SHARED_LIBRARY_FLAGS="-dll"
|
||||||
SET_EXECUTABLE_ORIGIN=''
|
SET_EXECUTABLE_ORIGIN=''
|
||||||
SET_SHARED_LIBRARY_ORIGIN=''
|
SET_SHARED_LIBRARY_ORIGIN=''
|
||||||
@ -96,7 +82,6 @@ AC_DEFUN([FLAGS_SETUP_SHARED_LIBS],
|
|||||||
SET_SHARED_LIBRARY_MAPFILE='-def:[$]1'
|
SET_SHARED_LIBRARY_MAPFILE='-def:[$]1'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_SUBST(C_FLAG_REORDER)
|
|
||||||
AC_SUBST(SET_EXECUTABLE_ORIGIN)
|
AC_SUBST(SET_EXECUTABLE_ORIGIN)
|
||||||
AC_SUBST(SET_SHARED_LIBRARY_ORIGIN)
|
AC_SUBST(SET_SHARED_LIBRARY_ORIGIN)
|
||||||
AC_SUBST(SET_SHARED_LIBRARY_NAME)
|
AC_SUBST(SET_SHARED_LIBRARY_NAME)
|
||||||
@ -117,9 +102,6 @@ AC_DEFUN([FLAGS_SETUP_DEBUG_SYMBOLS],
|
|||||||
elif test "x$TOOLCHAIN_TYPE" = xclang; then
|
elif test "x$TOOLCHAIN_TYPE" = xclang; then
|
||||||
CFLAGS_DEBUG_SYMBOLS="-g"
|
CFLAGS_DEBUG_SYMBOLS="-g"
|
||||||
ASFLAGS_DEBUG_SYMBOLS="-g"
|
ASFLAGS_DEBUG_SYMBOLS="-g"
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
|
|
||||||
# -g0 enables debug symbols without disabling inlining.
|
|
||||||
CFLAGS_DEBUG_SYMBOLS="-g0 -xs"
|
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
|
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
|
||||||
CFLAGS_DEBUG_SYMBOLS="-g1"
|
CFLAGS_DEBUG_SYMBOLS="-g1"
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
|
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
|
||||||
@ -154,17 +136,6 @@ AC_DEFUN([FLAGS_SETUP_WARNINGS],
|
|||||||
DISABLED_WARNINGS="4800"
|
DISABLED_WARNINGS="4800"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
solstudio)
|
|
||||||
DISABLE_WARNING_PREFIX="-erroff="
|
|
||||||
CFLAGS_WARNINGS_ARE_ERRORS="-errwarn=%all"
|
|
||||||
|
|
||||||
WARNINGS_ENABLE_ALL_CFLAGS="-v -fd -xtransition"
|
|
||||||
WARNINGS_ENABLE_ALL_CXXFLAGS="+w +w2"
|
|
||||||
|
|
||||||
DISABLED_WARNINGS_C="E_OLD_STYLE_FUNC_DECL E_OLD_STYLE_FUNC_DEF E_SEMANTICS_OF_OP_CHG_IN_ANSI_C E_NO_REPLACEMENT_IN_STRING E_DECLARATION_IN_CODE"
|
|
||||||
DISABLED_WARNINGS_CXX="inllargeuse inllargeint notused wemptydecl notemsource"
|
|
||||||
;;
|
|
||||||
|
|
||||||
gcc)
|
gcc)
|
||||||
DISABLE_WARNING_PREFIX="-Wno-"
|
DISABLE_WARNING_PREFIX="-Wno-"
|
||||||
CFLAGS_WARNINGS_ARE_ERRORS="-Werror"
|
CFLAGS_WARNINGS_ARE_ERRORS="-Werror"
|
||||||
@ -244,25 +215,7 @@ AC_DEFUN([FLAGS_SETUP_QUALITY_CHECKS],
|
|||||||
|
|
||||||
AC_DEFUN([FLAGS_SETUP_OPTIMIZATION],
|
AC_DEFUN([FLAGS_SETUP_OPTIMIZATION],
|
||||||
[
|
[
|
||||||
if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
|
if test "x$TOOLCHAIN_TYPE" = xgcc; then
|
||||||
CC_HIGHEST="-fns -fsimple -fsingle -xbuiltin=%all -xdepend -xrestrict -xlibmil"
|
|
||||||
|
|
||||||
C_O_FLAG_HIGHEST_JVM="-xO4"
|
|
||||||
C_O_FLAG_DEBUG_JVM=""
|
|
||||||
C_O_FLAG_SIZE=""
|
|
||||||
C_O_FLAG_DEBUG=""
|
|
||||||
C_O_FLAG_NONE=""
|
|
||||||
if test "x$OPENJDK_TARGET_CPU_ARCH" = "xx86"; then
|
|
||||||
C_O_FLAG_HIGHEST="-xO4 -Wu,-O4~yz $CC_HIGHEST"
|
|
||||||
C_O_FLAG_HI="-xO4 -Wu,-O4~yz"
|
|
||||||
C_O_FLAG_NORM="-xO2 -Wu,-O2~yz"
|
|
||||||
elif test "x$OPENJDK_TARGET_CPU_ARCH" = "xsparc"; then
|
|
||||||
C_O_FLAG_HIGHEST="-xO4 -Wc,-Qrm-s -Wc,-Qiselect-T0 \
|
|
||||||
-xprefetch=auto,explicit $CC_HIGHEST"
|
|
||||||
C_O_FLAG_HI="-xO4 -Wc,-Qrm-s -Wc,-Qiselect-T0"
|
|
||||||
C_O_FLAG_NORM="-xO2 -Wc,-Qrm-s -Wc,-Qiselect-T0"
|
|
||||||
fi
|
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xgcc; then
|
|
||||||
C_O_FLAG_HIGHEST_JVM="-O3"
|
C_O_FLAG_HIGHEST_JVM="-O3"
|
||||||
C_O_FLAG_HIGHEST="-O3"
|
C_O_FLAG_HIGHEST="-O3"
|
||||||
C_O_FLAG_HI="-O3"
|
C_O_FLAG_HI="-O3"
|
||||||
@ -334,11 +287,6 @@ AC_DEFUN([FLAGS_SETUP_OPTIMIZATION],
|
|||||||
CXX_O_FLAG_NONE="$C_O_FLAG_NONE"
|
CXX_O_FLAG_NONE="$C_O_FLAG_NONE"
|
||||||
CXX_O_FLAG_SIZE="$C_O_FLAG_SIZE"
|
CXX_O_FLAG_SIZE="$C_O_FLAG_SIZE"
|
||||||
|
|
||||||
if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
|
|
||||||
# In solstudio, also add this to C (but not C++) flags...
|
|
||||||
C_O_FLAG_HIGHEST="$C_O_FLAG_HIGHEST -xalias_level=basic"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Adjust optimization flags according to debug level.
|
# Adjust optimization flags according to debug level.
|
||||||
case $DEBUG_LEVEL in
|
case $DEBUG_LEVEL in
|
||||||
release )
|
release )
|
||||||
@ -431,9 +379,6 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
|
|||||||
if test "x$OPENJDK_TARGET_OS" = xlinux; then
|
if test "x$OPENJDK_TARGET_OS" = xlinux; then
|
||||||
CFLAGS_OS_DEF_JVM="-DLINUX"
|
CFLAGS_OS_DEF_JVM="-DLINUX"
|
||||||
CFLAGS_OS_DEF_JDK="-D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE"
|
CFLAGS_OS_DEF_JDK="-D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE"
|
||||||
elif test "x$OPENJDK_TARGET_OS" = xsolaris; then
|
|
||||||
CFLAGS_OS_DEF_JVM="-DSOLARIS"
|
|
||||||
CFLAGS_OS_DEF_JDK="-D__solaris__"
|
|
||||||
elif test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
elif test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
||||||
CFLAGS_OS_DEF_JVM="-D_ALLBSD_SOURCE -D_DARWIN_C_SOURCE -D_XOPEN_SOURCE"
|
CFLAGS_OS_DEF_JVM="-D_ALLBSD_SOURCE -D_DARWIN_C_SOURCE -D_XOPEN_SOURCE"
|
||||||
CFLAGS_OS_DEF_JDK="-D_ALLBSD_SOURCE -D_DARWIN_UNLIMITED_SELECT"
|
CFLAGS_OS_DEF_JDK="-D_ALLBSD_SOURCE -D_DARWIN_UNLIMITED_SELECT"
|
||||||
@ -469,9 +414,6 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
|
|||||||
# Setup debug/release defines
|
# Setup debug/release defines
|
||||||
if test "x$DEBUG_LEVEL" = xrelease; then
|
if test "x$DEBUG_LEVEL" = xrelease; then
|
||||||
DEBUG_CFLAGS_JDK="-DNDEBUG"
|
DEBUG_CFLAGS_JDK="-DNDEBUG"
|
||||||
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
|
|
||||||
DEBUG_CFLAGS_JDK="$DEBUG_CFLAGS_JDK -DTRIMMED"
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
DEBUG_CFLAGS_JDK="-DDEBUG"
|
DEBUG_CFLAGS_JDK="-DDEBUG"
|
||||||
|
|
||||||
@ -494,10 +436,6 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
|
|||||||
ALWAYS_DEFINES_JVM="-D_GNU_SOURCE -D_REENTRANT"
|
ALWAYS_DEFINES_JVM="-D_GNU_SOURCE -D_REENTRANT"
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xclang; then
|
elif test "x$TOOLCHAIN_TYPE" = xclang; then
|
||||||
ALWAYS_DEFINES_JVM="-D_GNU_SOURCE"
|
ALWAYS_DEFINES_JVM="-D_GNU_SOURCE"
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
|
|
||||||
ALWAYS_DEFINES_JVM="-DSPARC_WORKS -D_Crun_inline_placement"
|
|
||||||
ALWAYS_DEFINES_JDK="-DTRACING -DMACRO_MEMSYS_OPS -DBREAKPTS"
|
|
||||||
ALWAYS_DEFINES_JDK_CXXONLY="-DCC_NOEX"
|
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
|
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
|
||||||
ALWAYS_DEFINES_JVM="-D_REENTRANT"
|
ALWAYS_DEFINES_JVM="-D_REENTRANT"
|
||||||
ALWAYS_DEFINES_JDK="-D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE -DSTDC"
|
ALWAYS_DEFINES_JDK="-D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE -DSTDC"
|
||||||
@ -554,20 +492,6 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
|
|||||||
TOOLCHAIN_CFLAGS_JDK="-pipe"
|
TOOLCHAIN_CFLAGS_JDK="-pipe"
|
||||||
TOOLCHAIN_CFLAGS_JDK_CONLY="-fno-strict-aliasing" # technically NOT for CXX
|
TOOLCHAIN_CFLAGS_JDK_CONLY="-fno-strict-aliasing" # technically NOT for CXX
|
||||||
fi
|
fi
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
|
|
||||||
TOOLCHAIN_FLAGS="-errtags -errfmt"
|
|
||||||
TOOLCHAIN_CFLAGS="-errshort=tags"
|
|
||||||
|
|
||||||
TOOLCHAIN_CFLAGS_JDK="-mt $TOOLCHAIN_FLAGS"
|
|
||||||
TOOLCHAIN_CFLAGS_JDK_CONLY="-W0,-noglobal $TOOLCHAIN_CFLAGS" # C only
|
|
||||||
TOOLCHAIN_CFLAGS_JDK_CXXONLY="-features=no%except -norunpath -xnolib" # CXX only
|
|
||||||
TOOLCHAIN_CFLAGS_JVM="-template=no%extdef -features=no%split_init \
|
|
||||||
-library=stlport4 -mt -features=no%except $TOOLCHAIN_FLAGS"
|
|
||||||
if test "x$DEBUG_LEVEL" = xslowdebug; then
|
|
||||||
# Previously -g was used instead of -g0 for slowdebug; this is equivalent
|
|
||||||
# to setting +d.
|
|
||||||
TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM +d"
|
|
||||||
fi
|
|
||||||
|
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
|
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
|
||||||
# Suggested additions: -qsrcmsg to get improved error reporting
|
# Suggested additions: -qsrcmsg to get improved error reporting
|
||||||
@ -588,11 +512,6 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
|
|||||||
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang || test "x$TOOLCHAIN_TYPE" = xxlc; then
|
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang || test "x$TOOLCHAIN_TYPE" = xxlc; then
|
||||||
# Explicitly set C99. clang and xlclang support the same flag.
|
# Explicitly set C99. clang and xlclang support the same flag.
|
||||||
LANGSTD_CFLAGS="-std=c99"
|
LANGSTD_CFLAGS="-std=c99"
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
|
|
||||||
# We can't turn on -std=c99 without breaking compilation of the splashscreen/png
|
|
||||||
# utilities. But we can enable c99 as below (previously achieved by using -Xa).
|
|
||||||
# It is the no_lib that makes the difference.
|
|
||||||
LANGSTD_CFLAGS="-xc99=all,no_lib"
|
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
|
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
|
||||||
# MSVC doesn't support C99/C11 explicitly, unless you compile as C++:
|
# MSVC doesn't support C99/C11 explicitly, unless you compile as C++:
|
||||||
# LANGSTD_CFLAGS="-TP"
|
# LANGSTD_CFLAGS="-TP"
|
||||||
@ -613,11 +532,6 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
|
|||||||
elif test "x$TOOLCHAIN_TYPE" = xclang; then
|
elif test "x$TOOLCHAIN_TYPE" = xclang; then
|
||||||
WARNING_CFLAGS="$WARNINGS_ENABLE_ALL"
|
WARNING_CFLAGS="$WARNINGS_ENABLE_ALL"
|
||||||
|
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
|
|
||||||
WARNING_CFLAGS_JDK_CONLY="$WARNINGS_ENABLE_ALL_CFLAGS"
|
|
||||||
WARNING_CFLAGS_JDK_CXXONLY="$WARNINGS_ENABLE_ALL_CXXFLAGS"
|
|
||||||
WARNING_CFLAGS_JVM="$WARNINGS_ENABLE_ALL_CXXFLAGS"
|
|
||||||
|
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
|
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
|
||||||
WARNING_CFLAGS="$WARNINGS_ENABLE_ALL"
|
WARNING_CFLAGS="$WARNINGS_ENABLE_ALL"
|
||||||
|
|
||||||
@ -642,8 +556,6 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
|
|||||||
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
|
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
|
||||||
PICFLAG="-fPIC"
|
PICFLAG="-fPIC"
|
||||||
PIEFLAG="-fPIE"
|
PIEFLAG="-fPIE"
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
|
|
||||||
PICFLAG="-KPIC"
|
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
|
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
|
||||||
# '-qpic' defaults to 'qpic=small'. This means that the compiler generates only
|
# '-qpic' defaults to 'qpic=small'. This means that the compiler generates only
|
||||||
# one instruction for accessing the TOC. If the TOC grows larger than 64K, the linker
|
# one instruction for accessing the TOC. If the TOC grows larger than 64K, the linker
|
||||||
@ -725,21 +637,9 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
|
|||||||
# Setup endianness
|
# Setup endianness
|
||||||
if test "x$FLAGS_CPU_ENDIAN" = xlittle; then
|
if test "x$FLAGS_CPU_ENDIAN" = xlittle; then
|
||||||
$1_DEFINES_CPU_JVM="-DVM_LITTLE_ENDIAN"
|
$1_DEFINES_CPU_JVM="-DVM_LITTLE_ENDIAN"
|
||||||
fi
|
$1_DEFINES_CPU_JDK="-D_LITTLE_ENDIAN"
|
||||||
if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
|
|
||||||
# The macro _LITTLE_ENDIAN needs to be defined the same to avoid the
|
|
||||||
# Sun C compiler warning message: warning: macro redefined: _LITTLE_ENDIAN
|
|
||||||
if test "x$FLAGS_CPU_ENDIAN" = xlittle; then
|
|
||||||
$1_DEFINES_CPU_JDK="-D_LITTLE_ENDIAN="
|
|
||||||
else
|
|
||||||
$1_DEFINES_CPU_JDK="-D_BIG_ENDIAN="
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
if test "x$FLAGS_CPU_ENDIAN" = xlittle; then
|
$1_DEFINES_CPU_JDK="-D_BIG_ENDIAN"
|
||||||
$1_DEFINES_CPU_JDK="-D_LITTLE_ENDIAN"
|
|
||||||
else
|
|
||||||
$1_DEFINES_CPU_JDK="-D_BIG_ENDIAN"
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# setup CPU bit size
|
# setup CPU bit size
|
||||||
@ -752,19 +652,14 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
|
|||||||
if test "x$FLAGS_OS" = xlinux || test "x$FLAGS_OS" = xmacosx; then
|
if test "x$FLAGS_OS" = xlinux || test "x$FLAGS_OS" = xmacosx; then
|
||||||
$1_DEFINES_CPU_JDK="${$1_DEFINES_CPU_JDK} -D_LP64=1"
|
$1_DEFINES_CPU_JDK="${$1_DEFINES_CPU_JDK} -D_LP64=1"
|
||||||
fi
|
fi
|
||||||
if test "x$FLAGS_OS" != xsolaris && test "x$FLAGS_OS" != xaix; then
|
if test "x$FLAGS_OS" != xaix; then
|
||||||
# Solaris does not have _LP64=1 in the old build.
|
|
||||||
# xlc on AIX defines _LP64=1 by default and issues a warning if we redefine it.
|
# xlc on AIX defines _LP64=1 by default and issues a warning if we redefine it.
|
||||||
$1_DEFINES_CPU_JVM="${$1_DEFINES_CPU_JVM} -D_LP64=1"
|
$1_DEFINES_CPU_JVM="${$1_DEFINES_CPU_JVM} -D_LP64=1"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# toolchain dependend, per-cpu
|
# toolchain dependend, per-cpu
|
||||||
if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
|
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
|
||||||
if test "x$FLAGS_CPU_ARCH" = xx86; then
|
|
||||||
$1_DEFINES_CPU_JDK="${$1_DEFINES_CPU_JDK} -DcpuIntel -Di586 -D$FLAGS_CPU_LEGACY_LIB"
|
|
||||||
fi
|
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
|
|
||||||
if test "x$FLAGS_CPU" = xx86_64; then
|
if test "x$FLAGS_CPU" = xx86_64; then
|
||||||
$1_DEFINES_CPU_JDK="${$1_DEFINES_CPU_JDK} -D_AMD64_ -Damd64"
|
$1_DEFINES_CPU_JDK="${$1_DEFINES_CPU_JDK} -D_AMD64_ -Damd64"
|
||||||
else
|
else
|
||||||
@ -825,15 +720,6 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
|
|
||||||
if test "x$FLAGS_CPU" = xx86_64; then
|
|
||||||
# NOTE: -xregs=no%frameptr is supposed to be default on x64
|
|
||||||
$1_CFLAGS_CPU_JDK="-xregs=no%frameptr"
|
|
||||||
elif test "x$FLAGS_CPU" = xsparcv9; then
|
|
||||||
$1_CFLAGS_CPU_JVM="-xarch=sparc"
|
|
||||||
$1_CFLAGS_CPU_JDK_LIBONLY="-xregs=no%appl"
|
|
||||||
fi
|
|
||||||
|
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
|
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
|
||||||
if test "x$FLAGS_CPU" = xppc64; then
|
if test "x$FLAGS_CPU" = xppc64; then
|
||||||
$1_CFLAGS_CPU_JVM="-qarch=ppc64"
|
$1_CFLAGS_CPU_JVM="-qarch=ppc64"
|
||||||
@ -955,27 +841,3 @@ AC_DEFUN([FLAGS_SETUP_GCC6_COMPILER_FLAGS],
|
|||||||
PREFIX: $2, IF_FALSE: [NO_LIFETIME_DSE_CFLAG=""])
|
PREFIX: $2, IF_FALSE: [NO_LIFETIME_DSE_CFLAG=""])
|
||||||
$1_GCC6_CFLAGS="${NO_DELETE_NULL_POINTER_CHECKS_CFLAG} ${NO_LIFETIME_DSE_CFLAG}"
|
$1_GCC6_CFLAGS="${NO_DELETE_NULL_POINTER_CHECKS_CFLAG} ${NO_LIFETIME_DSE_CFLAG}"
|
||||||
])
|
])
|
||||||
|
|
||||||
# Documentation on common flags used for solstudio in HIGHEST.
|
|
||||||
#
|
|
||||||
# WARNING: Use of OPTIMIZATION_LEVEL=HIGHEST in your Makefile needs to be
|
|
||||||
# done with care, there are some assumptions below that need to
|
|
||||||
# be understood about the use of pointers, and IEEE behavior.
|
|
||||||
#
|
|
||||||
# -fns: Use non-standard floating point mode (not IEEE 754)
|
|
||||||
# -fsimple: Do some simplification of floating point arithmetic (not IEEE 754)
|
|
||||||
# -fsingle: Use single precision floating point with 'float'
|
|
||||||
# -xalias_level=basic: Assume memory references via basic pointer types do not alias
|
|
||||||
# (Source with excessing pointer casting and data access with mixed
|
|
||||||
# pointer types are not recommended)
|
|
||||||
# -xbuiltin=%all: Use intrinsic or inline versions for math/std functions
|
|
||||||
# (If you expect perfect errno behavior, do not use this)
|
|
||||||
# -xdepend: Loop data dependency optimizations (need -xO3 or higher)
|
|
||||||
# -xrestrict: Pointer parameters to functions do not overlap
|
|
||||||
# (Similar to -xalias_level=basic usage, but less obvious sometimes.
|
|
||||||
# If you pass in multiple pointers to the same data, do not use this)
|
|
||||||
# -xlibmil: Inline some library routines
|
|
||||||
# (If you expect perfect errno behavior, do not use this)
|
|
||||||
# -xlibmopt: Use optimized math routines (CURRENTLY DISABLED)
|
|
||||||
# (If you expect perfect errno behavior, do not use this)
|
|
||||||
# Can cause undefined external on Solaris 8 X86 on __sincos, removing for now
|
|
||||||
|
@ -88,14 +88,6 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
|
|||||||
BASIC_LDFLAGS_JVM_ONLY="-mno-omit-leaf-frame-pointer -mstack-alignment=16 \
|
BASIC_LDFLAGS_JVM_ONLY="-mno-omit-leaf-frame-pointer -mstack-alignment=16 \
|
||||||
-fPIC"
|
-fPIC"
|
||||||
|
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
|
|
||||||
BASIC_LDFLAGS="-Wl,-z,defs"
|
|
||||||
BASIC_LDFLAGS_ONLYCXX="-norunpath"
|
|
||||||
BASIC_LDFLAGS_ONLYCXX_JDK_ONLY="-xnolib"
|
|
||||||
|
|
||||||
BASIC_LDFLAGS_JDK_ONLY="-ztext"
|
|
||||||
BASIC_LDFLAGS_JVM_ONLY="-library=%none -mt -z noversion"
|
|
||||||
|
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
|
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
|
||||||
BASIC_LDFLAGS="-b64 -brtl -bnorwexec -bnolibpath -bexpall -bernotok -btextpsize:64K \
|
BASIC_LDFLAGS="-b64 -brtl -bnorwexec -bnolibpath -bexpall -bernotok -btextpsize:64K \
|
||||||
-bdatapsize:64K -bstackpsize:64K"
|
-bdatapsize:64K -bstackpsize:64K"
|
||||||
@ -141,14 +133,6 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Setup warning flags
|
|
||||||
if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
|
|
||||||
LDFLAGS_WARNINGS_ARE_ERRORS="-Wl,-z,fatal-warnings"
|
|
||||||
else
|
|
||||||
LDFLAGS_WARNINGS_ARE_ERRORS=""
|
|
||||||
fi
|
|
||||||
AC_SUBST(LDFLAGS_WARNINGS_ARE_ERRORS)
|
|
||||||
|
|
||||||
# Setup LDFLAGS for linking executables
|
# Setup LDFLAGS for linking executables
|
||||||
if test "x$TOOLCHAIN_TYPE" = xgcc; then
|
if test "x$TOOLCHAIN_TYPE" = xgcc; then
|
||||||
EXECUTABLE_LDFLAGS="$EXECUTABLE_LDFLAGS -Wl,--allow-shlib-undefined"
|
EXECUTABLE_LDFLAGS="$EXECUTABLE_LDFLAGS -Wl,--allow-shlib-undefined"
|
||||||
@ -188,11 +172,6 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_CPU_DEP],
|
|||||||
$1_CPU_LDFLAGS="$ARM_ARCH_TYPE_FLAGS $ARM_FLOAT_TYPE_FLAGS"
|
$1_CPU_LDFLAGS="$ARM_ARCH_TYPE_FLAGS $ARM_FLOAT_TYPE_FLAGS"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
|
|
||||||
if test "x${OPENJDK_$1_CPU}" = "xsparcv9"; then
|
|
||||||
$1_CPU_LDFLAGS_JVM_ONLY="-xarch=sparc"
|
|
||||||
fi
|
|
||||||
|
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
|
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
|
||||||
if test "x${OPENJDK_$1_CPU}" = "xx86"; then
|
if test "x${OPENJDK_$1_CPU}" = "xx86"; then
|
||||||
$1_CPU_LDFLAGS="-safeseh"
|
$1_CPU_LDFLAGS="-safeseh"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -47,12 +47,10 @@ AC_DEFUN([FLAGS_SETUP_STRIPFLAGS],
|
|||||||
[
|
[
|
||||||
## Setup strip.
|
## Setup strip.
|
||||||
# FIXME: should this really be per platform, or should it be per toolchain type?
|
# FIXME: should this really be per platform, or should it be per toolchain type?
|
||||||
# strip is not provided by clang or solstudio; so guessing platform makes most sense.
|
# strip is not provided by clang; so guessing platform makes most sense.
|
||||||
# FIXME: we should really only export STRIPFLAGS from here, not POST_STRIP_CMD.
|
# FIXME: we should really only export STRIPFLAGS from here, not POST_STRIP_CMD.
|
||||||
if test "x$OPENJDK_TARGET_OS" = xlinux; then
|
if test "x$OPENJDK_TARGET_OS" = xlinux; then
|
||||||
STRIPFLAGS="-g"
|
STRIPFLAGS="-g"
|
||||||
elif test "x$OPENJDK_TARGET_OS" = xsolaris; then
|
|
||||||
STRIPFLAGS="-x"
|
|
||||||
elif test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
elif test "x$OPENJDK_TARGET_OS" = xmacosx; then
|
||||||
STRIPFLAGS="-S"
|
STRIPFLAGS="-S"
|
||||||
elif test "x$OPENJDK_TARGET_OS" = xaix; then
|
elif test "x$OPENJDK_TARGET_OS" = xaix; then
|
||||||
|
@ -205,27 +205,7 @@ AC_DEFUN_ONCE([FLAGS_SETUP_USER_SUPPLIED_FLAGS],
|
|||||||
AC_DEFUN([FLAGS_SETUP_SYSROOT_FLAGS],
|
AC_DEFUN([FLAGS_SETUP_SYSROOT_FLAGS],
|
||||||
[
|
[
|
||||||
if test "x[$]$1SYSROOT" != "x"; then
|
if test "x[$]$1SYSROOT" != "x"; then
|
||||||
if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
|
if test "x$TOOLCHAIN_TYPE" = xgcc; then
|
||||||
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
|
|
||||||
# Solaris Studio does not have a concept of sysroot. Instead we must
|
|
||||||
# make sure the default include and lib dirs are appended to each
|
|
||||||
# compile and link command line. Must also add -I-xbuiltin to enable
|
|
||||||
# inlining of system functions and intrinsics.
|
|
||||||
$1SYSROOT_CFLAGS="-I-xbuiltin -I[$]$1SYSROOT/usr/include"
|
|
||||||
$1SYSROOT_LDFLAGS="-L[$]$1SYSROOT/usr/lib$OPENJDK_TARGET_CPU_ISADIR \
|
|
||||||
-L[$]$1SYSROOT/lib$OPENJDK_TARGET_CPU_ISADIR"
|
|
||||||
# If the devkit contains the ld linker, make sure we use it.
|
|
||||||
AC_PATH_PROG(SOLARIS_LD, ld, , $DEVKIT_TOOLCHAIN_PATH:$DEVKIT_EXTRA_PATH)
|
|
||||||
# Make sure this ld is runnable.
|
|
||||||
if test -f "$SOLARIS_LD"; then
|
|
||||||
if "$SOLARIS_LD" -V > /dev/null 2> /dev/null; then
|
|
||||||
$1SYSROOT_LDFLAGS="[$]$1SYSROOT_LDFLAGS -Yl,$(dirname $SOLARIS_LD)"
|
|
||||||
else
|
|
||||||
AC_MSG_WARN([Could not run $SOLARIS_LD found in devkit, reverting to system ld])
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xgcc; then
|
|
||||||
$1SYSROOT_CFLAGS="--sysroot=[$]$1SYSROOT"
|
$1SYSROOT_CFLAGS="--sysroot=[$]$1SYSROOT"
|
||||||
$1SYSROOT_LDFLAGS="--sysroot=[$]$1SYSROOT"
|
$1SYSROOT_LDFLAGS="--sysroot=[$]$1SYSROOT"
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xclang; then
|
elif test "x$TOOLCHAIN_TYPE" = xclang; then
|
||||||
@ -255,17 +235,14 @@ AC_DEFUN_ONCE([FLAGS_PRE_TOOLCHAIN],
|
|||||||
# The sysroot flags are needed for configure to be able to run the compilers
|
# The sysroot flags are needed for configure to be able to run the compilers
|
||||||
FLAGS_SETUP_SYSROOT_FLAGS
|
FLAGS_SETUP_SYSROOT_FLAGS
|
||||||
|
|
||||||
# For solstudio and xlc, the word size flag is required for correct behavior.
|
# For xlc, the word size flag is required for correct behavior.
|
||||||
# For clang/gcc, the flag is only strictly required for reduced builds, but
|
# For clang/gcc, the flag is only strictly required for reduced builds, but
|
||||||
# set it always where possible (x86, sparc and ppc).
|
# set it always where possible (x86 and ppc).
|
||||||
if test "x$TOOLCHAIN_TYPE" = xxlc; then
|
if test "x$TOOLCHAIN_TYPE" = xxlc; then
|
||||||
MACHINE_FLAG="-q${OPENJDK_TARGET_CPU_BITS}"
|
MACHINE_FLAG="-q${OPENJDK_TARGET_CPU_BITS}"
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
|
|
||||||
MACHINE_FLAG="-m${OPENJDK_TARGET_CPU_BITS}"
|
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
|
elif test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
|
||||||
if test "x$OPENJDK_TARGET_CPU_ARCH" = xx86 &&
|
if test "x$OPENJDK_TARGET_CPU_ARCH" = xx86 &&
|
||||||
test "x$OPENJDK_TARGET_CPU" != xx32 ||
|
test "x$OPENJDK_TARGET_CPU" != xx32 ||
|
||||||
test "x$OPENJDK_TARGET_CPU_ARCH" = xsparc ||
|
|
||||||
test "x$OPENJDK_TARGET_CPU_ARCH" = xppc; then
|
test "x$OPENJDK_TARGET_CPU_ARCH" = xppc; then
|
||||||
MACHINE_FLAG="-m${OPENJDK_TARGET_CPU_BITS}"
|
MACHINE_FLAG="-m${OPENJDK_TARGET_CPU_BITS}"
|
||||||
fi
|
fi
|
||||||
@ -318,11 +295,6 @@ AC_DEFUN([FLAGS_SETUP_TOOLCHAIN_CONTROL],
|
|||||||
COMPILER_COMMAND_FILE_FLAG="@"
|
COMPILER_COMMAND_FILE_FLAG="@"
|
||||||
COMPILER_BINDCMD_FILE_FLAG=""
|
COMPILER_BINDCMD_FILE_FLAG=""
|
||||||
|
|
||||||
# The solstudio linker does not support @-files.
|
|
||||||
if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
|
|
||||||
COMPILER_COMMAND_FILE_FLAG=
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Check if @file is supported by gcc
|
# Check if @file is supported by gcc
|
||||||
if test "x$TOOLCHAIN_TYPE" = xgcc; then
|
if test "x$TOOLCHAIN_TYPE" = xgcc; then
|
||||||
AC_MSG_CHECKING([if @file is supported by gcc])
|
AC_MSG_CHECKING([if @file is supported by gcc])
|
||||||
@ -376,8 +348,6 @@ AC_DEFUN([FLAGS_SETUP_TOOLCHAIN_CONTROL],
|
|||||||
C_FLAG_DEPS="-MMD -MF"
|
C_FLAG_DEPS="-MMD -MF"
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xclang; then
|
elif test "x$TOOLCHAIN_TYPE" = xclang; then
|
||||||
C_FLAG_DEPS="-MMD -MF"
|
C_FLAG_DEPS="-MMD -MF"
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
|
|
||||||
C_FLAG_DEPS="-xMMD -xMF"
|
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
|
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
|
||||||
C_FLAG_DEPS="-qmakedep=gcc -MF"
|
C_FLAG_DEPS="-qmakedep=gcc -MF"
|
||||||
fi
|
fi
|
||||||
|
@ -126,18 +126,6 @@ AC_DEFUN_ONCE([HOTSPOT_ENABLE_DISABLE_GTEST],
|
|||||||
GTEST_AVAILABLE=false
|
GTEST_AVAILABLE=false
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# On solaris, we also must have the libstlport.so.1 library, setup in
|
|
||||||
# LIB_SETUP_LIBRARIES.
|
|
||||||
if test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
|
|
||||||
AC_MSG_CHECKING([if the libstlport.so.1 library is present])
|
|
||||||
if test "x$STLPORT_LIB" != "x"; then
|
|
||||||
AC_MSG_RESULT([yes])
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT([no, cannot build gtest])
|
|
||||||
GTEST_AVAILABLE=false
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
UTIL_ARG_ENABLE(NAME: hotspot-gtest, DEFAULT: auto,
|
UTIL_ARG_ENABLE(NAME: hotspot-gtest, DEFAULT: auto,
|
||||||
RESULT: BUILD_GTEST, AVAILABLE: $GTEST_AVAILABLE,
|
RESULT: BUILD_GTEST, AVAILABLE: $GTEST_AVAILABLE,
|
||||||
DEFAULT_DESC: [enabled if possible to build],
|
DEFAULT_DESC: [enabled if possible to build],
|
||||||
|
@ -291,7 +291,7 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
|
|||||||
ZIP_EXTERNAL_DEBUG_SYMBOLS=false
|
ZIP_EXTERNAL_DEBUG_SYMBOLS=false
|
||||||
elif test "x$with_native_debug_symbols" = xexternal; then
|
elif test "x$with_native_debug_symbols" = xexternal; then
|
||||||
|
|
||||||
if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux; then
|
if test "x$OPENJDK_TARGET_OS" = xlinux; then
|
||||||
if test "x$OBJCOPY" = x; then
|
if test "x$OBJCOPY" = x; then
|
||||||
# enabling of enable-debug-symbols and can't find objcopy
|
# enabling of enable-debug-symbols and can't find objcopy
|
||||||
# this is an error
|
# this is an error
|
||||||
@ -304,7 +304,7 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
|
|||||||
ZIP_EXTERNAL_DEBUG_SYMBOLS=false
|
ZIP_EXTERNAL_DEBUG_SYMBOLS=false
|
||||||
elif test "x$with_native_debug_symbols" = xzipped; then
|
elif test "x$with_native_debug_symbols" = xzipped; then
|
||||||
|
|
||||||
if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux; then
|
if test "x$OPENJDK_TARGET_OS" = xlinux; then
|
||||||
if test "x$OBJCOPY" = x; then
|
if test "x$OBJCOPY" = x; then
|
||||||
# enabling of enable-debug-symbols and can't find objcopy
|
# enabling of enable-debug-symbols and can't find objcopy
|
||||||
# this is an error
|
# this is an error
|
||||||
|
@ -320,8 +320,7 @@ AC_DEFUN_ONCE([JVM_FEATURES_CHECK_JFR],
|
|||||||
[
|
[
|
||||||
JVM_FEATURES_CHECK_AVAILABILITY(jfr, [
|
JVM_FEATURES_CHECK_AVAILABILITY(jfr, [
|
||||||
AC_MSG_CHECKING([if platform is supported by JFR])
|
AC_MSG_CHECKING([if platform is supported by JFR])
|
||||||
if test "x$OPENJDK_TARGET_OS" = xaix || \
|
if test "x$OPENJDK_TARGET_OS" = xaix; then
|
||||||
test "x$OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU" = "xlinux-sparcv9"; then
|
|
||||||
AC_MSG_RESULT([no, $OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU])
|
AC_MSG_RESULT([no, $OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU])
|
||||||
AVAILABLE=false
|
AVAILABLE=false
|
||||||
else
|
else
|
||||||
@ -447,10 +446,6 @@ AC_DEFUN_ONCE([JVM_FEATURES_PREPARE_PLATFORM],
|
|||||||
if test "x$OPENJDK_TARGET_OS" = xaix; then
|
if test "x$OPENJDK_TARGET_OS" = xaix; then
|
||||||
JVM_FEATURES_PLATFORM_FILTER="$JVM_FEATURES_PLATFORM_FILTER jfr"
|
JVM_FEATURES_PLATFORM_FILTER="$JVM_FEATURES_PLATFORM_FILTER jfr"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "x$OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU" = "xlinux-sparcv9"; then
|
|
||||||
JVM_FEATURES_PLATFORM_FILTER="$JVM_FEATURES_PLATFORM_FILTER jfr"
|
|
||||||
fi
|
|
||||||
])
|
])
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
@ -53,13 +53,6 @@ AC_DEFUN([LIB_CHECK_POTENTIAL_FREETYPE],
|
|||||||
if ! test -s "$POTENTIAL_FREETYPE_LIB_PATH/$FREETYPE_LIB_NAME"; then
|
if ! test -s "$POTENTIAL_FREETYPE_LIB_PATH/$FREETYPE_LIB_NAME"; then
|
||||||
AC_MSG_NOTICE([Could not find $POTENTIAL_FREETYPE_LIB_PATH/$FREETYPE_LIB_NAME. Ignoring location.])
|
AC_MSG_NOTICE([Could not find $POTENTIAL_FREETYPE_LIB_PATH/$FREETYPE_LIB_NAME. Ignoring location.])
|
||||||
FOUND_FREETYPE=no
|
FOUND_FREETYPE=no
|
||||||
else
|
|
||||||
if test "x$OPENJDK_TARGET_OS" = "xsolaris" \
|
|
||||||
&& test -s "$POTENTIAL_FREETYPE_LIB_PATH$OPENJDK_TARGET_CPU_ISADIR/$FREETYPE_LIB_NAME"; then
|
|
||||||
# Found lib in isa dir, use that instead.
|
|
||||||
POTENTIAL_FREETYPE_LIB_PATH="$POTENTIAL_FREETYPE_LIB_PATH$OPENJDK_TARGET_CPU_ISADIR"
|
|
||||||
AC_MSG_NOTICE([Rewriting to use $POTENTIAL_FREETYPE_LIB_PATH instead])
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -92,11 +85,11 @@ AC_DEFUN_ONCE([LIB_SETUP_FREETYPE],
|
|||||||
|
|
||||||
# This setup is to verify access to system installed freetype header and
|
# This setup is to verify access to system installed freetype header and
|
||||||
# libraries. On Windows and MacOS this does not apply and using these options
|
# libraries. On Windows and MacOS this does not apply and using these options
|
||||||
# will report an error. On other platforms (Linux, Solaris), they will
|
# will report an error. On other platforms they will default to using the
|
||||||
# default to using the system libraries. If they are found automatically,
|
# system libraries. If they are found automatically, nothing need be done.
|
||||||
# nothing need be done. If they are not found, the configure
|
# If they are not found, the configure "--with-freetype-*" options may be
|
||||||
# "--with-freetype-*" options may be used to fix that. If the preference is
|
# used to fix that. If the preference is to bundle on these platforms then
|
||||||
# to bundle on these platforms then use --with-freetype=bundled.
|
# use --with-freetype=bundled.
|
||||||
|
|
||||||
FREETYPE_BASE_NAME=freetype
|
FREETYPE_BASE_NAME=freetype
|
||||||
FREETYPE_CFLAGS=
|
FREETYPE_CFLAGS=
|
||||||
@ -167,15 +160,6 @@ AC_DEFUN_ONCE([LIB_SETUP_FREETYPE],
|
|||||||
if test "x$PKG_CONFIG" != "x" ; then
|
if test "x$PKG_CONFIG" != "x" ; then
|
||||||
PKG_CHECK_MODULES(FREETYPE, freetype2, [FOUND_FREETYPE=yes], [FOUND_FREETYPE=no])
|
PKG_CHECK_MODULES(FREETYPE, freetype2, [FOUND_FREETYPE=yes], [FOUND_FREETYPE=no])
|
||||||
if test "x$FOUND_FREETYPE" = "xyes" ; then
|
if test "x$FOUND_FREETYPE" = "xyes" ; then
|
||||||
# On solaris, pkg_check adds -lz to freetype libs, which isn't
|
|
||||||
# necessary for us.
|
|
||||||
FREETYPE_LIBS=`$ECHO $FREETYPE_LIBS | $SED 's/-lz//g'`
|
|
||||||
# 64-bit libs for Solaris x86 are installed in the amd64
|
|
||||||
# subdirectory, change lib to lib/amd64
|
|
||||||
if test "x$OPENJDK_TARGET_OS" = "xsolaris" && \
|
|
||||||
test "x$OPENJDK_TARGET_CPU" = "xx86_64" ; then
|
|
||||||
FREETYPE_LIBS=`$ECHO $FREETYPE_LIBS | $SED 's?/lib?/lib/amd64?g'`
|
|
||||||
fi
|
|
||||||
AC_MSG_CHECKING([for freetype])
|
AC_MSG_CHECKING([for freetype])
|
||||||
AC_MSG_RESULT([yes (using pkg-config)])
|
AC_MSG_RESULT([yes (using pkg-config)])
|
||||||
fi
|
fi
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -77,14 +77,6 @@ AC_DEFUN_ONCE([LIB_SETUP_STD_LIBS],
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# libCrun is the c++ runtime-library with SunStudio (roughly the equivalent of gcc's libstdc++.so)
|
|
||||||
if test "x$TOOLCHAIN_TYPE" = xsolstudio && test "x$LIBCXX" = x; then
|
|
||||||
LIBCXX="${SYSROOT}/usr/lib${OPENJDK_TARGET_CPU_ISADIR}/libCrun.so.1"
|
|
||||||
fi
|
|
||||||
if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
|
|
||||||
LIBCXX_JVM="-lCrun"
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_SUBST(LIBCXX)
|
AC_SUBST(LIBCXX)
|
||||||
|
|
||||||
# Setup Windows runtime dlls
|
# Setup Windows runtime dlls
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -88,13 +88,6 @@ AC_DEFUN_ONCE([LIB_SETUP_X11],
|
|||||||
AC_MSG_ERROR([Could not find X11 libraries. $HELP_MSG])
|
AC_MSG_ERROR([Could not find X11 libraries. $HELP_MSG])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
|
|
||||||
OPENWIN_HOME="/usr/openwin"
|
|
||||||
X_CFLAGS="-I$SYSROOT$OPENWIN_HOME/include -I$SYSROOT$OPENWIN_HOME/include/X11/extensions"
|
|
||||||
X_LIBS="-L$SYSROOT$OPENWIN_HOME/lib$OPENJDK_TARGET_CPU_ISADIR \
|
|
||||||
-R$OPENWIN_HOME/lib$OPENJDK_TARGET_CPU_ISADIR"
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_LANG_PUSH(C)
|
AC_LANG_PUSH(C)
|
||||||
OLD_CFLAGS="$CFLAGS"
|
OLD_CFLAGS="$CFLAGS"
|
||||||
CFLAGS="$CFLAGS $SYSROOT_CFLAGS $X_CFLAGS"
|
CFLAGS="$CFLAGS $SYSROOT_CFLAGS $X_CFLAGS"
|
||||||
@ -122,16 +115,6 @@ AC_DEFUN_ONCE([LIB_SETUP_X11],
|
|||||||
AC_MSG_ERROR([Could not find all X11 headers (shape.h Xrender.h Xrandr.h XTest.h Intrinsic.h). $HELP_MSG])
|
AC_MSG_ERROR([Could not find all X11 headers (shape.h Xrender.h Xrandr.h XTest.h Intrinsic.h). $HELP_MSG])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# If XLinearGradient isn't available in Xrender.h, signal that it needs to be
|
|
||||||
# defined in libawt_xawt.
|
|
||||||
AC_MSG_CHECKING([if XlinearGradient is defined in Xrender.h])
|
|
||||||
AC_COMPILE_IFELSE(
|
|
||||||
[AC_LANG_PROGRAM([[#include <X11/extensions/Xrender.h>]],
|
|
||||||
[[XLinearGradient x;]])],
|
|
||||||
[AC_MSG_RESULT([yes])],
|
|
||||||
[AC_MSG_RESULT([no])
|
|
||||||
X_CFLAGS="$X_CFLAGS -DSOLARIS10_NO_XRENDER_STRUCTS"])
|
|
||||||
|
|
||||||
CFLAGS="$OLD_CFLAGS"
|
CFLAGS="$OLD_CFLAGS"
|
||||||
AC_LANG_POP(C)
|
AC_LANG_POP(C)
|
||||||
fi # NEEDS_LIB_X11
|
fi # NEEDS_LIB_X11
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -101,15 +101,8 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
|
|||||||
LIB_SETUP_LIBFFI
|
LIB_SETUP_LIBFFI
|
||||||
LIB_SETUP_BUNDLED_LIBS
|
LIB_SETUP_BUNDLED_LIBS
|
||||||
LIB_SETUP_MISC_LIBS
|
LIB_SETUP_MISC_LIBS
|
||||||
LIB_SETUP_SOLARIS_STLPORT
|
|
||||||
LIB_TESTS_SETUP_GRAALUNIT
|
LIB_TESTS_SETUP_GRAALUNIT
|
||||||
|
|
||||||
if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
|
|
||||||
GLOBAL_LIBS="-lc"
|
|
||||||
else
|
|
||||||
GLOBAL_LIBS=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
BASIC_JDKLIB_LIBS=""
|
BASIC_JDKLIB_LIBS=""
|
||||||
if test "x$TOOLCHAIN_TYPE" != xmicrosoft; then
|
if test "x$TOOLCHAIN_TYPE" != xmicrosoft; then
|
||||||
BASIC_JDKLIB_LIBS="-ljava -ljvm"
|
BASIC_JDKLIB_LIBS="-ljava -ljvm"
|
||||||
@ -119,15 +112,13 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
|
|||||||
BASIC_JVM_LIBS="$LIBM"
|
BASIC_JVM_LIBS="$LIBM"
|
||||||
|
|
||||||
# Dynamic loading library
|
# Dynamic loading library
|
||||||
if test "x$OPENJDK_TARGET_OS" = xlinux || test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xaix; then
|
if test "x$OPENJDK_TARGET_OS" = xlinux || test "x$OPENJDK_TARGET_OS" = xaix; then
|
||||||
BASIC_JVM_LIBS="$BASIC_JVM_LIBS $LIBDL"
|
BASIC_JVM_LIBS="$BASIC_JVM_LIBS $LIBDL"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Threading library
|
# Threading library
|
||||||
if test "x$OPENJDK_TARGET_OS" = xlinux || test "x$OPENJDK_TARGET_OS" = xaix; then
|
if test "x$OPENJDK_TARGET_OS" = xlinux || test "x$OPENJDK_TARGET_OS" = xaix; then
|
||||||
BASIC_JVM_LIBS="$BASIC_JVM_LIBS -lpthread"
|
BASIC_JVM_LIBS="$BASIC_JVM_LIBS -lpthread"
|
||||||
elif test "x$OPENJDK_TARGET_OS" = xsolaris; then
|
|
||||||
BASIC_JVM_LIBS="$BASIC_JVM_LIBS -lthread"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# perfstat lib
|
# perfstat lib
|
||||||
@ -135,12 +126,6 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
|
|||||||
BASIC_JVM_LIBS="$BASIC_JVM_LIBS -lperfstat"
|
BASIC_JVM_LIBS="$BASIC_JVM_LIBS -lperfstat"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
|
|
||||||
BASIC_JVM_LIBS="$BASIC_JVM_LIBS -lsocket -lsched -ldoor -ldemangle -lnsl \
|
|
||||||
-lrt -lkstat"
|
|
||||||
BASIC_JVM_LIBS="$BASIC_JVM_LIBS $LIBCXX_JVM"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x$OPENJDK_TARGET_OS" = xwindows; then
|
if test "x$OPENJDK_TARGET_OS" = xwindows; then
|
||||||
BASIC_JVM_LIBS="$BASIC_JVM_LIBS kernel32.lib user32.lib gdi32.lib winspool.lib \
|
BASIC_JVM_LIBS="$BASIC_JVM_LIBS kernel32.lib user32.lib gdi32.lib winspool.lib \
|
||||||
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib \
|
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib \
|
||||||
@ -158,7 +143,6 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
|
|||||||
AC_SUBST(JVM_LIBS)
|
AC_SUBST(JVM_LIBS)
|
||||||
AC_SUBST(OPENJDK_BUILD_JDKLIB_LIBS)
|
AC_SUBST(OPENJDK_BUILD_JDKLIB_LIBS)
|
||||||
AC_SUBST(OPENJDK_BUILD_JVM_LIBS)
|
AC_SUBST(OPENJDK_BUILD_JVM_LIBS)
|
||||||
AC_SUBST(GLOBAL_LIBS)
|
|
||||||
])
|
])
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
@ -189,28 +173,3 @@ AC_DEFUN_ONCE([LIB_SETUP_MISC_LIBS],
|
|||||||
LIBZIP_CAN_USE_MMAP=true
|
LIBZIP_CAN_USE_MMAP=true
|
||||||
AC_SUBST(LIBZIP_CAN_USE_MMAP)
|
AC_SUBST(LIBZIP_CAN_USE_MMAP)
|
||||||
])
|
])
|
||||||
|
|
||||||
################################################################################
|
|
||||||
# libstlport.so.1 is needed for running gtest on Solaris. Find it to
|
|
||||||
# redistribute it in the test image.
|
|
||||||
################################################################################
|
|
||||||
AC_DEFUN_ONCE([LIB_SETUP_SOLARIS_STLPORT],
|
|
||||||
[
|
|
||||||
if test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
|
|
||||||
# Find the root of the Solaris Studio installation from the compiler path
|
|
||||||
SOLARIS_STUDIO_DIR="$(dirname $CC)/.."
|
|
||||||
STLPORT_LIB="$SOLARIS_STUDIO_DIR/lib/stlport4$OPENJDK_TARGET_CPU_ISADIR/libstlport.so.1"
|
|
||||||
AC_MSG_CHECKING([for libstlport.so.1])
|
|
||||||
if ! test -f "$STLPORT_LIB" && test "x$OPENJDK_TARGET_CPU_ISADIR" = "x/sparcv9"; then
|
|
||||||
# SS12u3 has libstlport under 'stlport4/v9' instead of 'stlport4/sparcv9'
|
|
||||||
STLPORT_LIB="$SOLARIS_STUDIO_DIR/lib/stlport4/v9/libstlport.so.1"
|
|
||||||
fi
|
|
||||||
if test -f "$STLPORT_LIB"; then
|
|
||||||
AC_MSG_RESULT([yes, $STLPORT_LIB])
|
|
||||||
UTIL_FIXUP_PATH([STLPORT_LIB])
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT([no, not found at $STLPORT_LIB, cannot build Hotspot gtests])
|
|
||||||
fi
|
|
||||||
AC_SUBST(STLPORT_LIB)
|
|
||||||
fi
|
|
||||||
])
|
|
||||||
|
@ -162,6 +162,18 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU],
|
|||||||
VAR_CPU_BITS=64
|
VAR_CPU_BITS=64
|
||||||
VAR_CPU_ENDIAN=big
|
VAR_CPU_ENDIAN=big
|
||||||
;;
|
;;
|
||||||
|
sparc)
|
||||||
|
VAR_CPU=sparc
|
||||||
|
VAR_CPU_ARCH=sparc
|
||||||
|
VAR_CPU_BITS=32
|
||||||
|
VAR_CPU_ENDIAN=big
|
||||||
|
;;
|
||||||
|
sparcv9|sparc64)
|
||||||
|
VAR_CPU=sparcv9
|
||||||
|
VAR_CPU_ARCH=sparc
|
||||||
|
VAR_CPU_BITS=64
|
||||||
|
VAR_CPU_ENDIAN=big
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
AC_MSG_ERROR([unsupported cpu $1])
|
AC_MSG_ERROR([unsupported cpu $1])
|
||||||
;;
|
;;
|
||||||
@ -178,10 +190,6 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_OS],
|
|||||||
VAR_OS=linux
|
VAR_OS=linux
|
||||||
VAR_OS_TYPE=unix
|
VAR_OS_TYPE=unix
|
||||||
;;
|
;;
|
||||||
*solaris*)
|
|
||||||
VAR_OS=solaris
|
|
||||||
VAR_OS_TYPE=unix
|
|
||||||
;;
|
|
||||||
*darwin*)
|
*darwin*)
|
||||||
VAR_OS=macosx
|
VAR_OS=macosx
|
||||||
VAR_OS_TYPE=unix
|
VAR_OS_TYPE=unix
|
||||||
@ -381,19 +389,6 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS_HELPER],
|
|||||||
fi
|
fi
|
||||||
AC_SUBST(OPENJDK_$1_CPU_LEGACY_LIB)
|
AC_SUBST(OPENJDK_$1_CPU_LEGACY_LIB)
|
||||||
|
|
||||||
# OPENJDK_$1_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_$1_CPU_ISADIR}/libexample.so
|
|
||||||
OPENJDK_$1_CPU_ISADIR=""
|
|
||||||
if test "x$OPENJDK_$1_OS" = xsolaris; then
|
|
||||||
if test "x$OPENJDK_$1_CPU" = xx86_64; then
|
|
||||||
OPENJDK_$1_CPU_ISADIR="/amd64"
|
|
||||||
elif test "x$OPENJDK_$1_CPU" = xsparcv9; then
|
|
||||||
OPENJDK_$1_CPU_ISADIR="/sparcv9"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
AC_SUBST(OPENJDK_$1_CPU_ISADIR)
|
|
||||||
|
|
||||||
# Setup OPENJDK_$1_CPU_OSARCH, which is used to set the os.arch Java system property
|
# Setup OPENJDK_$1_CPU_OSARCH, which is used to set the os.arch Java system property
|
||||||
OPENJDK_$1_CPU_OSARCH="$OPENJDK_$1_CPU"
|
OPENJDK_$1_CPU_OSARCH="$OPENJDK_$1_CPU"
|
||||||
if test "x$OPENJDK_$1_OS" = xlinux && test "x$OPENJDK_$1_CPU" = xx86; then
|
if test "x$OPENJDK_$1_OS" = xlinux && test "x$OPENJDK_$1_CPU" = xx86; then
|
||||||
@ -510,9 +505,6 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS_HELPER],
|
|||||||
|
|
||||||
AC_DEFUN([PLATFORM_SET_RELEASE_FILE_OS_VALUES],
|
AC_DEFUN([PLATFORM_SET_RELEASE_FILE_OS_VALUES],
|
||||||
[
|
[
|
||||||
if test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
|
|
||||||
RELEASE_FILE_OS_NAME=SunOS
|
|
||||||
fi
|
|
||||||
if test "x$OPENJDK_TARGET_OS" = "xlinux"; then
|
if test "x$OPENJDK_TARGET_OS" = "xlinux"; then
|
||||||
RELEASE_FILE_OS_NAME=Linux
|
RELEASE_FILE_OS_NAME=Linux
|
||||||
fi
|
fi
|
||||||
@ -566,25 +558,9 @@ AC_DEFUN_ONCE([PLATFORM_SETUP_OPENJDK_BUILD_AND_TARGET],
|
|||||||
PLATFORM_SET_MODULE_TARGET_OS_VALUES
|
PLATFORM_SET_MODULE_TARGET_OS_VALUES
|
||||||
PLATFORM_SET_RELEASE_FILE_OS_VALUES
|
PLATFORM_SET_RELEASE_FILE_OS_VALUES
|
||||||
PLATFORM_SETUP_LEGACY_VARS
|
PLATFORM_SETUP_LEGACY_VARS
|
||||||
PLATFORM_CHECK_DEPRECATION
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([PLATFORM_CHECK_DEPRECATION],
|
# Deprecated in JDK 15
|
||||||
[
|
UTIL_DEPRECATED_ARG_ENABLE(deprecated-ports)
|
||||||
UTIL_ARG_ENABLE(NAME: deprecated-ports, DEFAULT: false,
|
|
||||||
RESULT: ENABLE_DEPRECATED_PORTS,
|
|
||||||
DESC: [suppress the error when configuring for a deprecated port])
|
|
||||||
|
|
||||||
if test "x$OPENJDK_TARGET_OS" = xsolaris || \
|
|
||||||
(test "x$OPENJDK_TARGET_CPU_ARCH" = xsparc && \
|
|
||||||
test "x$with_jvm_variants" != xzero); then
|
|
||||||
if test "x$ENABLE_DEPRECATED_PORTS" = "xtrue"; then
|
|
||||||
AC_MSG_WARN([The Solaris and SPARC ports are deprecated and may be removed in a future release.])
|
|
||||||
else
|
|
||||||
AC_MSG_ERROR(m4_normalize([The Solaris and SPARC ports are deprecated and may be removed in a
|
|
||||||
future release. Use --enable-deprecated-ports=yes to suppress this error.]))
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
])
|
])
|
||||||
|
|
||||||
AC_DEFUN_ONCE([PLATFORM_SETUP_OPENJDK_BUILD_OS_VERSION],
|
AC_DEFUN_ONCE([PLATFORM_SETUP_OPENJDK_BUILD_OS_VERSION],
|
||||||
|
@ -83,7 +83,6 @@ OPENJDK_TARGET_CPU_ENDIAN:=@OPENJDK_TARGET_CPU_ENDIAN@
|
|||||||
COMPILE_TYPE:=@COMPILE_TYPE@
|
COMPILE_TYPE:=@COMPILE_TYPE@
|
||||||
|
|
||||||
# Legacy support
|
# Legacy support
|
||||||
OPENJDK_TARGET_CPU_ISADIR:=@OPENJDK_TARGET_CPU_ISADIR@
|
|
||||||
OPENJDK_TARGET_CPU_LEGACY:=@OPENJDK_TARGET_CPU_LEGACY@
|
OPENJDK_TARGET_CPU_LEGACY:=@OPENJDK_TARGET_CPU_LEGACY@
|
||||||
OPENJDK_TARGET_CPU_LEGACY_LIB:=@OPENJDK_TARGET_CPU_LEGACY_LIB@
|
OPENJDK_TARGET_CPU_LEGACY_LIB:=@OPENJDK_TARGET_CPU_LEGACY_LIB@
|
||||||
OPENJDK_TARGET_CPU_OSARCH:=@OPENJDK_TARGET_CPU_OSARCH@
|
OPENJDK_TARGET_CPU_OSARCH:=@OPENJDK_TARGET_CPU_OSARCH@
|
||||||
@ -427,7 +426,7 @@ MACOSX_VERSION_MAX=@MACOSX_VERSION_MAX@
|
|||||||
# The macosx code signing identity to use
|
# The macosx code signing identity to use
|
||||||
MACOSX_CODESIGN_IDENTITY=@MACOSX_CODESIGN_IDENTITY@
|
MACOSX_CODESIGN_IDENTITY=@MACOSX_CODESIGN_IDENTITY@
|
||||||
|
|
||||||
# Toolchain type: gcc, clang, solstudio, lxc, microsoft...
|
# Toolchain type: gcc, clang, xlc, microsoft...
|
||||||
TOOLCHAIN_TYPE:=@TOOLCHAIN_TYPE@
|
TOOLCHAIN_TYPE:=@TOOLCHAIN_TYPE@
|
||||||
TOOLCHAIN_VERSION := @TOOLCHAIN_VERSION@
|
TOOLCHAIN_VERSION := @TOOLCHAIN_VERSION@
|
||||||
CC_VERSION_NUMBER := @CC_VERSION_NUMBER@
|
CC_VERSION_NUMBER := @CC_VERSION_NUMBER@
|
||||||
@ -470,7 +469,6 @@ CXX_FLAG_DEPS:=@CXX_FLAG_DEPS@
|
|||||||
|
|
||||||
DISABLE_WARNING_PREFIX := @DISABLE_WARNING_PREFIX@
|
DISABLE_WARNING_PREFIX := @DISABLE_WARNING_PREFIX@
|
||||||
CFLAGS_WARNINGS_ARE_ERRORS:=@CFLAGS_WARNINGS_ARE_ERRORS@
|
CFLAGS_WARNINGS_ARE_ERRORS:=@CFLAGS_WARNINGS_ARE_ERRORS@
|
||||||
LDFLAGS_WARNINGS_ARE_ERRORS:=@LDFLAGS_WARNINGS_ARE_ERRORS@
|
|
||||||
DISABLED_WARNINGS := @DISABLED_WARNINGS@
|
DISABLED_WARNINGS := @DISABLED_WARNINGS@
|
||||||
DISABLED_WARNINGS_C := @DISABLED_WARNINGS_C@
|
DISABLED_WARNINGS_C := @DISABLED_WARNINGS_C@
|
||||||
DISABLED_WARNINGS_CXX := @DISABLED_WARNINGS_CXX@
|
DISABLED_WARNINGS_CXX := @DISABLED_WARNINGS_CXX@
|
||||||
@ -524,7 +522,6 @@ SDKROOT:=@SDKROOT@
|
|||||||
# LDFLAGS used to link the jdk native libraries (C-code)
|
# LDFLAGS used to link the jdk native libraries (C-code)
|
||||||
LDFLAGS_JDKLIB:=@LDFLAGS_JDKLIB@
|
LDFLAGS_JDKLIB:=@LDFLAGS_JDKLIB@
|
||||||
JDKLIB_LIBS:=@JDKLIB_LIBS@
|
JDKLIB_LIBS:=@JDKLIB_LIBS@
|
||||||
GLOBAL_LIBS:=@GLOBAL_LIBS@
|
|
||||||
|
|
||||||
# LDFLAGS used to link the jdk native launchers (C-code)
|
# LDFLAGS used to link the jdk native launchers (C-code)
|
||||||
LDFLAGS_JDKEXE:=@LDFLAGS_JDKEXE@
|
LDFLAGS_JDKEXE:=@LDFLAGS_JDKEXE@
|
||||||
@ -574,10 +571,6 @@ INSTALL_NAME_TOOL:=@INSTALL_NAME_TOOL@
|
|||||||
# (Note absence of := assignment, because we do not want to evaluate the macro body here)
|
# (Note absence of := assignment, because we do not want to evaluate the macro body here)
|
||||||
SET_SHARED_LIBRARY_MAPFILE=@SET_SHARED_LIBRARY_MAPFILE@
|
SET_SHARED_LIBRARY_MAPFILE=@SET_SHARED_LIBRARY_MAPFILE@
|
||||||
|
|
||||||
# Options for C/CXX compiler to be used if linking is performed
|
|
||||||
# using reorder file
|
|
||||||
C_FLAG_REORDER:=@C_FLAG_REORDER@
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Options for generating debug symbols
|
# Options for generating debug symbols
|
||||||
COMPILE_WITH_DEBUG_SYMBOLS := @COMPILE_WITH_DEBUG_SYMBOLS@
|
COMPILE_WITH_DEBUG_SYMBOLS := @COMPILE_WITH_DEBUG_SYMBOLS@
|
||||||
@ -746,7 +739,6 @@ WSLPATH:=@WSLPATH@
|
|||||||
LDD:=@LDD@
|
LDD:=@LDD@
|
||||||
OTOOL:=@OTOOL@
|
OTOOL:=@OTOOL@
|
||||||
READELF:=@READELF@
|
READELF:=@READELF@
|
||||||
ELFEDIT:=@ELFEDIT@
|
|
||||||
EXPR:=@EXPR@
|
EXPR:=@EXPR@
|
||||||
FILE:=@FILE@
|
FILE:=@FILE@
|
||||||
DOT:=@DOT@
|
DOT:=@DOT@
|
||||||
@ -763,7 +755,6 @@ FIXPATH:=@FIXPATH@
|
|||||||
ULIMIT:=@ULIMIT@
|
ULIMIT:=@ULIMIT@
|
||||||
|
|
||||||
TAR_TYPE:=@TAR_TYPE@
|
TAR_TYPE:=@TAR_TYPE@
|
||||||
TAR_CREATE_EXTRA_PARAM:=@TAR_CREATE_EXTRA_PARAM@
|
|
||||||
TAR_INCLUDE_PARAM:=@TAR_INCLUDE_PARAM@
|
TAR_INCLUDE_PARAM:=@TAR_INCLUDE_PARAM@
|
||||||
TAR_SUPPORTS_TRANSFORM:=@TAR_SUPPORTS_TRANSFORM@
|
TAR_SUPPORTS_TRANSFORM:=@TAR_SUPPORTS_TRANSFORM@
|
||||||
|
|
||||||
@ -780,7 +771,6 @@ MSVCR_DLL:=@MSVCR_DLL@
|
|||||||
VCRUNTIME_1_DLL:=@VCRUNTIME_1_DLL@
|
VCRUNTIME_1_DLL:=@VCRUNTIME_1_DLL@
|
||||||
MSVCP_DLL:=@MSVCP_DLL@
|
MSVCP_DLL:=@MSVCP_DLL@
|
||||||
UCRT_DLL_DIR:=@UCRT_DLL_DIR@
|
UCRT_DLL_DIR:=@UCRT_DLL_DIR@
|
||||||
STLPORT_LIB:=@STLPORT_LIB@
|
|
||||||
ENABLE_PANDOC:=@ENABLE_PANDOC@
|
ENABLE_PANDOC:=@ENABLE_PANDOC@
|
||||||
PANDOC_MARKDOWN_FLAG:=@PANDOC_MARKDOWN_FLAG@
|
PANDOC_MARKDOWN_FLAG:=@PANDOC_MARKDOWN_FLAG@
|
||||||
|
|
||||||
|
@ -35,11 +35,10 @@
|
|||||||
m4_include([toolchain_windows.m4])
|
m4_include([toolchain_windows.m4])
|
||||||
|
|
||||||
# All valid toolchains, regardless of platform (used by help.m4)
|
# All valid toolchains, regardless of platform (used by help.m4)
|
||||||
VALID_TOOLCHAINS_all="gcc clang solstudio xlc microsoft"
|
VALID_TOOLCHAINS_all="gcc clang xlc microsoft"
|
||||||
|
|
||||||
# These toolchains are valid on different platforms
|
# These toolchains are valid on different platforms
|
||||||
VALID_TOOLCHAINS_linux="gcc clang"
|
VALID_TOOLCHAINS_linux="gcc clang"
|
||||||
VALID_TOOLCHAINS_solaris="solstudio"
|
|
||||||
VALID_TOOLCHAINS_macosx="gcc clang"
|
VALID_TOOLCHAINS_macosx="gcc clang"
|
||||||
VALID_TOOLCHAINS_aix="xlc"
|
VALID_TOOLCHAINS_aix="xlc"
|
||||||
VALID_TOOLCHAINS_windows="microsoft"
|
VALID_TOOLCHAINS_windows="microsoft"
|
||||||
@ -48,14 +47,12 @@ VALID_TOOLCHAINS_windows="microsoft"
|
|||||||
TOOLCHAIN_DESCRIPTION_clang="clang/LLVM"
|
TOOLCHAIN_DESCRIPTION_clang="clang/LLVM"
|
||||||
TOOLCHAIN_DESCRIPTION_gcc="GNU Compiler Collection"
|
TOOLCHAIN_DESCRIPTION_gcc="GNU Compiler Collection"
|
||||||
TOOLCHAIN_DESCRIPTION_microsoft="Microsoft Visual Studio"
|
TOOLCHAIN_DESCRIPTION_microsoft="Microsoft Visual Studio"
|
||||||
TOOLCHAIN_DESCRIPTION_solstudio="Oracle Solaris Studio"
|
|
||||||
TOOLCHAIN_DESCRIPTION_xlc="IBM XL C/C++"
|
TOOLCHAIN_DESCRIPTION_xlc="IBM XL C/C++"
|
||||||
|
|
||||||
# Minimum supported versions, empty means unspecified
|
# Minimum supported versions, empty means unspecified
|
||||||
TOOLCHAIN_MINIMUM_VERSION_clang="3.2"
|
TOOLCHAIN_MINIMUM_VERSION_clang="3.2"
|
||||||
TOOLCHAIN_MINIMUM_VERSION_gcc="5.0"
|
TOOLCHAIN_MINIMUM_VERSION_gcc="5.0"
|
||||||
TOOLCHAIN_MINIMUM_VERSION_microsoft="16.00.30319.01" # VS2010
|
TOOLCHAIN_MINIMUM_VERSION_microsoft="16.00.30319.01" # VS2010
|
||||||
TOOLCHAIN_MINIMUM_VERSION_solstudio="5.13"
|
|
||||||
TOOLCHAIN_MINIMUM_VERSION_xlc=""
|
TOOLCHAIN_MINIMUM_VERSION_xlc=""
|
||||||
|
|
||||||
# Minimum supported linker versions, empty means unspecified
|
# Minimum supported linker versions, empty means unspecified
|
||||||
@ -296,13 +293,11 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETERMINE_TOOLCHAIN_TYPE],
|
|||||||
TOOLCHAIN_CC_BINARY_clang="clang"
|
TOOLCHAIN_CC_BINARY_clang="clang"
|
||||||
TOOLCHAIN_CC_BINARY_gcc="gcc"
|
TOOLCHAIN_CC_BINARY_gcc="gcc"
|
||||||
TOOLCHAIN_CC_BINARY_microsoft="cl$EXE_SUFFIX"
|
TOOLCHAIN_CC_BINARY_microsoft="cl$EXE_SUFFIX"
|
||||||
TOOLCHAIN_CC_BINARY_solstudio="cc"
|
|
||||||
TOOLCHAIN_CC_BINARY_xlc="xlclang"
|
TOOLCHAIN_CC_BINARY_xlc="xlclang"
|
||||||
|
|
||||||
TOOLCHAIN_CXX_BINARY_clang="clang++"
|
TOOLCHAIN_CXX_BINARY_clang="clang++"
|
||||||
TOOLCHAIN_CXX_BINARY_gcc="g++"
|
TOOLCHAIN_CXX_BINARY_gcc="g++"
|
||||||
TOOLCHAIN_CXX_BINARY_microsoft="cl$EXE_SUFFIX"
|
TOOLCHAIN_CXX_BINARY_microsoft="cl$EXE_SUFFIX"
|
||||||
TOOLCHAIN_CXX_BINARY_solstudio="CC"
|
|
||||||
TOOLCHAIN_CXX_BINARY_xlc="xlclang++"
|
TOOLCHAIN_CXX_BINARY_xlc="xlclang++"
|
||||||
|
|
||||||
# Use indirect variable referencing
|
# Use indirect variable referencing
|
||||||
@ -409,28 +404,7 @@ AC_DEFUN([TOOLCHAIN_EXTRACT_COMPILER_VERSION],
|
|||||||
COMPILER=[$]$1
|
COMPILER=[$]$1
|
||||||
COMPILER_NAME=$2
|
COMPILER_NAME=$2
|
||||||
|
|
||||||
if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
|
if test "x$TOOLCHAIN_TYPE" = xxlc; then
|
||||||
# cc -V output typically looks like
|
|
||||||
# cc: Sun C 5.12 Linux_i386 2011/11/16
|
|
||||||
# or
|
|
||||||
# cc: Studio 12.5 Sun C 5.14 SunOS_sparc 2016/05/31
|
|
||||||
COMPILER_VERSION_OUTPUT=`$COMPILER -V 2>&1`
|
|
||||||
# Check that this is likely to be the Solaris Studio cc.
|
|
||||||
$ECHO "$COMPILER_VERSION_OUTPUT" | $GREP "^.* Sun $COMPILER_NAME" > /dev/null
|
|
||||||
if test $? -ne 0; then
|
|
||||||
ALT_VERSION_OUTPUT=`$COMPILER --version 2>&1`
|
|
||||||
AC_MSG_NOTICE([The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler.])
|
|
||||||
AC_MSG_NOTICE([The result from running with -V was: "$COMPILER_VERSION_OUTPUT"])
|
|
||||||
AC_MSG_NOTICE([The result from running with --version was: "$ALT_VERSION_OUTPUT"])
|
|
||||||
AC_MSG_ERROR([A $TOOLCHAIN_TYPE compiler is required. Try setting --with-tools-dir.])
|
|
||||||
fi
|
|
||||||
# Remove usage instructions (if present), and
|
|
||||||
# collapse compiler output into a single line
|
|
||||||
COMPILER_VERSION_STRING=`$ECHO $COMPILER_VERSION_OUTPUT | \
|
|
||||||
$SED -e 's/ *@<:@Uu@:>@sage:.*//'`
|
|
||||||
COMPILER_VERSION_NUMBER=`$ECHO $COMPILER_VERSION_OUTPUT | \
|
|
||||||
$SED -e "s/^.*@<:@ ,\t@:>@$COMPILER_NAME@<:@ ,\t@:>@\(@<:@1-9@:>@\.@<:@0-9@:>@@<:@0-9@:>@*\).*/\1/"`
|
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
|
|
||||||
# xlc -qversion output typically looks like
|
# xlc -qversion output typically looks like
|
||||||
# IBM XL C/C++ for AIX, V11.1 (5724-X13)
|
# IBM XL C/C++ for AIX, V11.1 (5724-X13)
|
||||||
# Version: 11.01.0000.0015
|
# Version: 11.01.0000.0015
|
||||||
@ -615,19 +589,7 @@ AC_DEFUN([TOOLCHAIN_EXTRACT_LD_VERSION],
|
|||||||
LINKER=[$]$1
|
LINKER=[$]$1
|
||||||
LINKER_NAME="$2"
|
LINKER_NAME="$2"
|
||||||
|
|
||||||
if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
|
if test "x$TOOLCHAIN_TYPE" = xxlc; then
|
||||||
# cc -Wl,-V output typically looks like
|
|
||||||
# ld: Software Generation Utilities - Solaris Link Editors: 5.11-1.2329
|
|
||||||
|
|
||||||
# solstudio cc requires us to have an existing file to pass as argument,
|
|
||||||
# but it need not be a syntactically correct C file, so just use
|
|
||||||
# ourself. :) The intermediate 'cat' is needed to stop ld from leaving
|
|
||||||
# a lingering a.out (!).
|
|
||||||
LINKER_VERSION_STRING=`$LD -Wl,-V $TOPDIR/configure 2>&1 | $CAT | $HEAD -n 1 | $SED -e 's/ld: //'`
|
|
||||||
# Extract version number
|
|
||||||
[ LINKER_VERSION_NUMBER=`$ECHO $LINKER_VERSION_STRING | \
|
|
||||||
$SED -e 's/.* \([0-9][0-9]*\.[0-9][0-9]*\)-\([0-9][0-9]*\.[0-9][0-9]*\)/\1.\2/'` ]
|
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
|
|
||||||
LINKER_VERSION_STRING="Unknown"
|
LINKER_VERSION_STRING="Unknown"
|
||||||
LINKER_VERSION_NUMBER="0.0"
|
LINKER_VERSION_NUMBER="0.0"
|
||||||
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
|
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
|
||||||
@ -784,16 +746,8 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_CORE],
|
|||||||
#
|
#
|
||||||
# Setup the assembler (AS)
|
# Setup the assembler (AS)
|
||||||
#
|
#
|
||||||
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
|
# FIXME: is this correct for microsoft?
|
||||||
UTIL_PATH_PROGS(AS, as)
|
AS="$CC -c"
|
||||||
UTIL_FIXUP_EXECUTABLE(AS)
|
|
||||||
if test "x$AS" = x; then
|
|
||||||
AC_MSG_ERROR([Solaris assembler (as) is required. Please install via "pkg install pkg:/developer/assembler".])
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
# FIXME: is this correct for microsoft?
|
|
||||||
AS="$CC -c"
|
|
||||||
fi
|
|
||||||
AC_SUBST(AS)
|
AC_SUBST(AS)
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -842,15 +796,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_EXTRA],
|
|||||||
AC_CHECK_PROG([MSBUILD], [msbuild$EXE_SUFFIX], [msbuild$EXE_SUFFIX],,,)
|
AC_CHECK_PROG([MSBUILD], [msbuild$EXE_SUFFIX], [msbuild$EXE_SUFFIX],,,)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
|
if test "x$OPENJDK_TARGET_OS" != xwindows; then
|
||||||
UTIL_PATH_PROGS(STRIP, strip)
|
|
||||||
UTIL_FIXUP_EXECUTABLE(STRIP)
|
|
||||||
UTIL_PATH_PROGS(NM, nm)
|
|
||||||
UTIL_FIXUP_EXECUTABLE(NM)
|
|
||||||
UTIL_PATH_PROGS(GNM, gnm)
|
|
||||||
UTIL_FIXUP_EXECUTABLE(GNM)
|
|
||||||
elif test "x$OPENJDK_TARGET_OS" != xwindows; then
|
|
||||||
# FIXME: we should unify this with the solaris case above.
|
|
||||||
UTIL_CHECK_TOOLS(STRIP, strip)
|
UTIL_CHECK_TOOLS(STRIP, strip)
|
||||||
UTIL_FIXUP_EXECUTABLE(STRIP)
|
UTIL_FIXUP_EXECUTABLE(STRIP)
|
||||||
if test "x$TOOLCHAIN_TYPE" = xgcc; then
|
if test "x$TOOLCHAIN_TYPE" = xgcc; then
|
||||||
@ -865,48 +811,11 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_EXTRA],
|
|||||||
|
|
||||||
# objcopy is used for moving debug symbols to separate files when
|
# objcopy is used for moving debug symbols to separate files when
|
||||||
# full debug symbols are enabled.
|
# full debug symbols are enabled.
|
||||||
if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux; then
|
if test "x$OPENJDK_TARGET_OS" = xlinux; then
|
||||||
UTIL_CHECK_TOOLS(OBJCOPY, [gobjcopy objcopy])
|
UTIL_CHECK_TOOLS(OBJCOPY, [gobjcopy objcopy])
|
||||||
# Only call fixup if objcopy was found.
|
# Only call fixup if objcopy was found.
|
||||||
if test -n "$OBJCOPY"; then
|
if test -n "$OBJCOPY"; then
|
||||||
UTIL_FIXUP_EXECUTABLE(OBJCOPY)
|
UTIL_FIXUP_EXECUTABLE(OBJCOPY)
|
||||||
if test "x$OPENJDK_BUILD_OS" = xsolaris; then
|
|
||||||
# objcopy prior to 2.21.1 on solaris is broken and is not usable.
|
|
||||||
# Rewrite objcopy version output to VALID_VERSION or BAD_VERSION.
|
|
||||||
# - version number is last blank separate word on first line
|
|
||||||
# - version number formats that have been seen:
|
|
||||||
# - <major>.<minor>
|
|
||||||
# - <major>.<minor>.<micro>
|
|
||||||
OBJCOPY_VERSION=`$OBJCOPY --version | $HEAD -n 1`
|
|
||||||
# The outer [ ] is to prevent m4 from eating the [] in the sed expression.
|
|
||||||
[ OBJCOPY_VERSION_CHECK=`$ECHO $OBJCOPY_VERSION | $SED -n \
|
|
||||||
-e 's/.* //' \
|
|
||||||
-e '/^[01]\./b bad' \
|
|
||||||
-e '/^2\./{' \
|
|
||||||
-e ' s/^2\.//' \
|
|
||||||
-e ' /^[0-9]$/b bad' \
|
|
||||||
-e ' /^[0-9]\./b bad' \
|
|
||||||
-e ' /^1[0-9]$/b bad' \
|
|
||||||
-e ' /^1[0-9]\./b bad' \
|
|
||||||
-e ' /^20\./b bad' \
|
|
||||||
-e ' /^21\.0$/b bad' \
|
|
||||||
-e ' /^21\.0\./b bad' \
|
|
||||||
-e '}' \
|
|
||||||
-e ':good' \
|
|
||||||
-e 's/.*/VALID_VERSION/p' \
|
|
||||||
-e 'q' \
|
|
||||||
-e ':bad' \
|
|
||||||
-e 's/.*/BAD_VERSION/p' \
|
|
||||||
-e 'q'` ]
|
|
||||||
if test "x$OBJCOPY_VERSION_CHECK" = xBAD_VERSION; then
|
|
||||||
OBJCOPY=
|
|
||||||
AC_MSG_WARN([Ignoring found objcopy since it is broken (prior to 2.21.1). No debug symbols will be generated.])
|
|
||||||
AC_MSG_NOTICE([objcopy reports version $OBJCOPY_VERSION])
|
|
||||||
AC_MSG_NOTICE([Note: patch 149063-01 or newer contains the correct Solaris 10 SPARC version])
|
|
||||||
AC_MSG_NOTICE([Note: patch 149064-01 or newer contains the correct Solaris 10 X86 version])
|
|
||||||
AC_MSG_NOTICE([Note: Solaris 11 Update 1 contains the correct version])
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -918,7 +827,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_EXTRA],
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
case $TOOLCHAIN_TYPE in
|
case $TOOLCHAIN_TYPE in
|
||||||
gcc|clang|solstudio)
|
gcc|clang)
|
||||||
UTIL_CHECK_TOOLS(CXXFILT, [c++filt])
|
UTIL_CHECK_TOOLS(CXXFILT, [c++filt])
|
||||||
UTIL_CHECK_NONEMPTY(CXXFILT)
|
UTIL_CHECK_NONEMPTY(CXXFILT)
|
||||||
UTIL_FIXUP_EXECUTABLE(CXXFILT)
|
UTIL_FIXUP_EXECUTABLE(CXXFILT)
|
||||||
|
@ -261,33 +261,7 @@ MakeTargetDir = \
|
|||||||
################################################################################
|
################################################################################
|
||||||
# All install-file and related macros automatically call DecodeSpace when needed.
|
# All install-file and related macros automatically call DecodeSpace when needed.
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, solaris), true)
|
ifeq ($(call isTargetOs, macosx), true)
|
||||||
# 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.
|
|
||||||
# If the source and target parent directories are the same, recursive copy doesn't work
|
|
||||||
# so we fall back on regular copy, which isn't preserving symlinks.
|
|
||||||
define install-file
|
|
||||||
$(call MakeTargetDir)
|
|
||||||
$(RM) '$(call DecodeSpace, $@)'
|
|
||||||
if [ '$(call DecodeSpace, $(dir $(call EncodeSpace, $@)))' != \
|
|
||||||
'$(call DecodeSpace, $(dir $(call EncodeSpace, $<)))' ]; then \
|
|
||||||
$(CP) -f -r -P '$(call DecodeSpace, $<)' \
|
|
||||||
'$(call DecodeSpace, $(dir $(call EncodeSpace, $@)))'; \
|
|
||||||
if [ '$(call DecodeSpace, $(notdir $(call EncodeSpace, $@)))' != \
|
|
||||||
'$(call DecodeSpace, $(notdir $(call EncodeSpace, $(<))))' ]; then \
|
|
||||||
$(MV) '$(call DecodeSpace, $(dir $(call EncodeSpace, $@))/$(notdir $(call EncodeSpace, $<)))' \
|
|
||||||
'$(call DecodeSpace, $@)'; \
|
|
||||||
fi; \
|
|
||||||
else \
|
|
||||||
if [ -L '$(call DecodeSpace, $<)' ]; then \
|
|
||||||
$(ECHO) "Source file is a symlink and target is in the same directory: $< $@" ; \
|
|
||||||
exit 1; \
|
|
||||||
fi; \
|
|
||||||
$(CP) -f '$(call DecodeSpace, $<)' '$(call DecodeSpace, $@)'; \
|
|
||||||
fi
|
|
||||||
endef
|
|
||||||
else ifeq ($(call isTargetOs, macosx), true)
|
|
||||||
# On mac, extended attributes sometimes creep into the source files, which may later
|
# 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
|
# 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
|
# set. Some files get their write permissions removed after being copied to the
|
||||||
|
@ -122,10 +122,6 @@ ifeq ($(call isTargetOs, windows), true)
|
|||||||
PLATFORM_MODULES += jdk.crypto.mscapi
|
PLATFORM_MODULES += jdk.crypto.mscapi
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, solaris), true)
|
|
||||||
PLATFORM_MODULES += jdk.crypto.ucrypto
|
|
||||||
endif
|
|
||||||
|
|
||||||
JRE_TOOL_MODULES += \
|
JRE_TOOL_MODULES += \
|
||||||
jdk.jdwp.agent \
|
jdk.jdwp.agent \
|
||||||
jdk.incubator.jpackage \
|
jdk.incubator.jpackage \
|
||||||
|
@ -239,31 +239,17 @@ ifeq ($(ALLOW_ABSOLUTE_PATHS_IN_OUTPUT)-$(FILE_MACRO_CFLAGS), false-)
|
|||||||
|
|
||||||
# When compiling with relative paths, the deps file comes out with relative
|
# When compiling with relative paths, the deps file comes out with relative
|
||||||
# paths.
|
# paths.
|
||||||
ifeq ($(TOOLCHAIN_TYPE), solstudio)
|
define fix-deps-file
|
||||||
define fix-deps-file
|
|
||||||
$(SED) -e 's|\./|$(WORKSPACE_ROOT)/|g' $1.tmp > $1
|
|
||||||
endef
|
|
||||||
else
|
|
||||||
define fix-deps-file
|
|
||||||
$(SED) -e 's|^\([ ]*\)|\1$(WORKSPACE_ROOT)|' $1.tmp > $1
|
$(SED) -e 's|^\([ ]*\)|\1$(WORKSPACE_ROOT)|' $1.tmp > $1
|
||||||
endef
|
endef
|
||||||
endif
|
|
||||||
else
|
else
|
||||||
# By default the MakeCommandRelative macro does nothing.
|
# By default the MakeCommandRelative macro does nothing.
|
||||||
MakeCommandRelative = $1
|
MakeCommandRelative = $1
|
||||||
|
|
||||||
# Even with absolute paths on the command line, the Solaris studio compiler
|
# No adjustment is needed.
|
||||||
# doesn't output the full path to the object file in the generated deps files.
|
define fix-deps-file
|
||||||
# For other toolchains, no adjustment is needed.
|
|
||||||
ifeq ($(TOOLCHAIN_TYPE), solstudio)
|
|
||||||
define fix-deps-file
|
|
||||||
$(SED) 's|^$$(@F):|$$@:|' $1.tmp > $1
|
|
||||||
endef
|
|
||||||
else
|
|
||||||
define fix-deps-file
|
|
||||||
$(MV) $1.tmp $1
|
$(MV) $1.tmp $1
|
||||||
endef
|
endef
|
||||||
endif
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
@ -474,7 +460,6 @@ endef
|
|||||||
# RC_FLAGS flags for RC.
|
# RC_FLAGS flags for RC.
|
||||||
# EMBED_MANIFEST if true, embed manifest on Windows.
|
# EMBED_MANIFEST if true, embed manifest on Windows.
|
||||||
# MAPFILE mapfile
|
# MAPFILE mapfile
|
||||||
# REORDER reorder file
|
|
||||||
# USE_MAPFILE_FOR_SYMBOLS if true and this is a STATIC_BUILD, just copy the
|
# USE_MAPFILE_FOR_SYMBOLS if true and this is a STATIC_BUILD, just copy the
|
||||||
# mapfile for the output symbols file
|
# mapfile for the output symbols file
|
||||||
# CC the compiler to use, default is $(CC)
|
# CC the compiler to use, default is $(CC)
|
||||||
@ -712,11 +697,6 @@ define SetupNativeCompilationBody
|
|||||||
$1_EXTRA_ASFLAGS += $$(ASFLAGS_DEBUG_SYMBOLS)
|
$1_EXTRA_ASFLAGS += $$(ASFLAGS_DEBUG_SYMBOLS)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq ($$($1_REORDER), )
|
|
||||||
$1_EXTRA_CFLAGS += $$(C_FLAG_REORDER)
|
|
||||||
$1_EXTRA_CXXFLAGS += $$(C_FLAG_REORDER)
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Pass the library name for static JNI library naming
|
# Pass the library name for static JNI library naming
|
||||||
ifeq ($$($1_TYPE), STATIC_LIBRARY)
|
ifeq ($$($1_TYPE), STATIC_LIBRARY)
|
||||||
$1_EXTRA_CFLAGS += -DLIBRARY_NAME=$$($1_NAME)
|
$1_EXTRA_CFLAGS += -DLIBRARY_NAME=$$($1_NAME)
|
||||||
@ -750,7 +730,6 @@ define SetupNativeCompilationBody
|
|||||||
ifeq ($$($1_WARNINGS_AS_ERRORS_$(TOOLCHAIN_TYPE)), true)
|
ifeq ($$($1_WARNINGS_AS_ERRORS_$(TOOLCHAIN_TYPE)), true)
|
||||||
$1_EXTRA_CFLAGS += $(CFLAGS_WARNINGS_ARE_ERRORS)
|
$1_EXTRA_CFLAGS += $(CFLAGS_WARNINGS_ARE_ERRORS)
|
||||||
$1_EXTRA_CXXFLAGS += $(CFLAGS_WARNINGS_ARE_ERRORS)
|
$1_EXTRA_CXXFLAGS += $(CFLAGS_WARNINGS_ARE_ERRORS)
|
||||||
$1_EXTRA_LDFLAGS += $(LDFLAGS_WARNINGS_ARE_ERRORS)
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq (NONE, $$($1_OPTIMIZATION))
|
ifeq (NONE, $$($1_OPTIMIZATION))
|
||||||
@ -942,17 +921,6 @@ define SetupNativeCompilationBody
|
|||||||
|
|
||||||
ifneq ($(DISABLE_MAPFILES), true)
|
ifneq ($(DISABLE_MAPFILES), true)
|
||||||
$1_REAL_MAPFILE := $$($1_MAPFILE)
|
$1_REAL_MAPFILE := $$($1_MAPFILE)
|
||||||
ifeq ($(call isTargetOs, windows), false)
|
|
||||||
ifneq ($$($1_REORDER), )
|
|
||||||
$1_REAL_MAPFILE := $$($1_OBJECT_DIR)/mapfile
|
|
||||||
|
|
||||||
$$($1_REAL_MAPFILE) : $$($1_MAPFILE) $$($1_REORDER)
|
|
||||||
$$(call MakeDir, $$(@D))
|
|
||||||
$$(CP) $$($1_MAPFILE) $$@.tmp
|
|
||||||
$$(SED) -e 's=OUTPUTDIR=$$($1_OBJECT_DIR)=' $$($1_REORDER) >> $$@.tmp
|
|
||||||
$$(MV) $$@.tmp $$@
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Pickup extra OPENJDK_TARGET_OS_TYPE and/or OPENJDK_TARGET_OS dependent variables
|
# Pickup extra OPENJDK_TARGET_OS_TYPE and/or OPENJDK_TARGET_OS dependent variables
|
||||||
@ -986,7 +954,7 @@ define SetupNativeCompilationBody
|
|||||||
$1_DEBUGINFO_FILES := $$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).pdb \
|
$1_DEBUGINFO_FILES := $$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).pdb \
|
||||||
$$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).map
|
$$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).map
|
||||||
|
|
||||||
else ifeq ($(call isTargetOs, linux solaris), true)
|
else ifeq ($(call isTargetOs, linux), true)
|
||||||
$1_DEBUGINFO_FILES := $$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).debuginfo
|
$1_DEBUGINFO_FILES := $$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).debuginfo
|
||||||
# Setup the command line creating debuginfo files, to be run after linking.
|
# Setup the command line creating debuginfo files, to be run after linking.
|
||||||
# It cannot be run separately since it updates the original target file
|
# It cannot be run separately since it updates the original target file
|
||||||
@ -1113,7 +1081,7 @@ define SetupNativeCompilationBody
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
$1_VARDEPS := $$($1_LD) $$($1_SYSROOT_LDFLAGS) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) \
|
$1_VARDEPS := $$($1_LD) $$($1_SYSROOT_LDFLAGS) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) \
|
||||||
$$(GLOBAL_LIBS) $$($1_LIBS) $$($1_EXTRA_LIBS) $$($1_MT) \
|
$$($1_LIBS) $$($1_EXTRA_LIBS) $$($1_MT) \
|
||||||
$$($1_CREATE_DEBUGINFO_CMDS) $$($1_MANIFEST_VERSION) \
|
$$($1_CREATE_DEBUGINFO_CMDS) $$($1_MANIFEST_VERSION) \
|
||||||
$$($1_STRIP_CMD)
|
$$($1_STRIP_CMD)
|
||||||
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
|
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
|
||||||
@ -1172,7 +1140,7 @@ define SetupNativeCompilationBody
|
|||||||
|
|
||||||
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_link, \
|
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_link, \
|
||||||
$$($1_LD) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $$($1_SYSROOT_LDFLAGS) \
|
$$($1_LD) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $$($1_SYSROOT_LDFLAGS) \
|
||||||
$(LD_OUT_OPTION)$$($1_TARGET) $$($1_LD_OBJ_ARG) $$($1_RES) $$(GLOBAL_LIBS) \
|
$(LD_OUT_OPTION)$$($1_TARGET) $$($1_LD_OBJ_ARG) $$($1_RES) \
|
||||||
$$($1_LIBS) $$($1_EXTRA_LIBS)) \
|
$$($1_LIBS) $$($1_EXTRA_LIBS)) \
|
||||||
| $(GREP) -v "^ Creating library .*\.lib and object .*\.exp" || \
|
| $(GREP) -v "^ Creating library .*\.lib and object .*\.exp" || \
|
||||||
test "$$$$?" = "1" ; \
|
test "$$$$?" = "1" ; \
|
||||||
@ -1182,7 +1150,7 @@ define SetupNativeCompilationBody
|
|||||||
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_link, \
|
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_link, \
|
||||||
$$(if $$($1_LINK_OBJS_RELATIVE), $$(CD) $$(OUTPUTDIR) ; ) \
|
$$(if $$($1_LINK_OBJS_RELATIVE), $$(CD) $$(OUTPUTDIR) ; ) \
|
||||||
$$($1_LD) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $$($1_SYSROOT_LDFLAGS) \
|
$$($1_LD) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $$($1_SYSROOT_LDFLAGS) \
|
||||||
$(LD_OUT_OPTION)$$($1_TARGET) $$($1_LD_OBJ_ARG) $$($1_RES) $$(GLOBAL_LIBS) \
|
$(LD_OUT_OPTION)$$($1_TARGET) $$($1_LD_OBJ_ARG) $$($1_RES) \
|
||||||
$$($1_LIBS) $$($1_EXTRA_LIBS)) ; \
|
$$($1_LIBS) $$($1_EXTRA_LIBS)) ; \
|
||||||
$$($1_CREATE_DEBUGINFO_CMDS)
|
$$($1_CREATE_DEBUGINFO_CMDS)
|
||||||
$$($1_STRIP_CMD)
|
$$($1_STRIP_CMD)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -98,7 +98,6 @@ define SetupTestFilesCompilationBody
|
|||||||
DISABLED_WARNINGS_gcc := format undef unused-function unused-value, \
|
DISABLED_WARNINGS_gcc := format undef unused-function unused-value, \
|
||||||
DISABLED_WARNINGS_clang := undef format-nonliteral \
|
DISABLED_WARNINGS_clang := undef format-nonliteral \
|
||||||
missing-field-initializers sometimes-uninitialized, \
|
missing-field-initializers sometimes-uninitialized, \
|
||||||
DISABLED_WARNINGS_CXX_solstudio := wvarhidenmem doubunder, \
|
|
||||||
LIBS := $$($1_LIBS_$$(name)), \
|
LIBS := $$($1_LIBS_$$(name)), \
|
||||||
TOOLCHAIN := $(if $$(filter %.cpp, $$(file)), TOOLCHAIN_LINK_CXX, TOOLCHAIN_DEFAULT), \
|
TOOLCHAIN := $(if $$(filter %.cpp, $$(file)), TOOLCHAIN_LINK_CXX, TOOLCHAIN_DEFAULT), \
|
||||||
OPTIMIZATION := $$(if $$($1_OPTIMIZATION_$$(name)),$$($1_OPTIMIZATION_$$(name)),LOW), \
|
OPTIMIZATION := $$(if $$($1_OPTIMIZATION_$$(name)),$$($1_OPTIMIZATION_$$(name)),LOW), \
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -296,8 +296,8 @@ check-jvm-variant = \
|
|||||||
# Returns true if the actual property matches one of the properties in the list,
|
# Returns true if the actual property matches one of the properties in the list,
|
||||||
# and false otherwise.
|
# and false otherwise.
|
||||||
#
|
#
|
||||||
# Examples: $(call isTargetOs, linux solaris) will return true when executed
|
# Examples: $(call isTargetOs, linux windows) will return true when executed
|
||||||
# on either linux or solaris, and false otherwise.
|
# on either linux or windows, and false otherwise.
|
||||||
# $(call isBuildCpuArch, x86) will return true iff the build CPU Arch is x86.
|
# $(call isBuildCpuArch, x86) will return true iff the build CPU Arch is x86.
|
||||||
|
|
||||||
isTargetOs = \
|
isTargetOs = \
|
||||||
|
@ -40,8 +40,6 @@ ifeq ($(TOOLCHAIN_TYPE), gcc)
|
|||||||
LDFLAGS_JDKEXE += -Wl,--exclude-libs,ALL
|
LDFLAGS_JDKEXE += -Wl,--exclude-libs,ALL
|
||||||
else ifeq ($(TOOLCHAIN_TYPE), clang)
|
else ifeq ($(TOOLCHAIN_TYPE), clang)
|
||||||
LAUNCHER_CFLAGS += -fvisibility=hidden
|
LAUNCHER_CFLAGS += -fvisibility=hidden
|
||||||
else ifeq ($(TOOLCHAIN_TYPE), solstudio)
|
|
||||||
LAUNCHER_CFLAGS += -xldscope=hidden
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
LAUNCHER_SRC := $(TOPDIR)/src/java.base/share/native/launcher
|
LAUNCHER_SRC := $(TOPDIR)/src/java.base/share/native/launcher
|
||||||
@ -143,7 +141,6 @@ define SetupBuildLauncherBody
|
|||||||
-DLAUNCHER_NAME='"$$(LAUNCHER_NAME)"' \
|
-DLAUNCHER_NAME='"$$(LAUNCHER_NAME)"' \
|
||||||
-DPROGNAME='"$1"' \
|
-DPROGNAME='"$1"' \
|
||||||
$$($1_CFLAGS), \
|
$$($1_CFLAGS), \
|
||||||
CFLAGS_solaris := -KPIC, \
|
|
||||||
CFLAGS_windows := $$($1_CFLAGS_windows), \
|
CFLAGS_windows := $$($1_CFLAGS_windows), \
|
||||||
DISABLED_WARNINGS_gcc := unused-function, \
|
DISABLED_WARNINGS_gcc := unused-function, \
|
||||||
LDFLAGS := $$(LDFLAGS_JDKEXE) \
|
LDFLAGS := $$(LDFLAGS_JDKEXE) \
|
||||||
@ -153,14 +150,11 @@ define SetupBuildLauncherBody
|
|||||||
-L$(call FindLibDirForModule, java.base), \
|
-L$(call FindLibDirForModule, java.base), \
|
||||||
LDFLAGS_macosx := $$(call SET_EXECUTABLE_ORIGIN,/../lib) \
|
LDFLAGS_macosx := $$(call SET_EXECUTABLE_ORIGIN,/../lib) \
|
||||||
-L$(call FindLibDirForModule, java.base), \
|
-L$(call FindLibDirForModule, java.base), \
|
||||||
LDFLAGS_solaris := $$(call SET_EXECUTABLE_ORIGIN,/../lib) \
|
|
||||||
-L$(call FindLibDirForModule, java.base), \
|
|
||||||
LDFLAGS_aix := -L$(SUPPORT_OUTPUTDIR)/native/java.base, \
|
LDFLAGS_aix := -L$(SUPPORT_OUTPUTDIR)/native/java.base, \
|
||||||
LIBS := $(JDKEXE_LIBS) $$($1_LIBS), \
|
LIBS := $(JDKEXE_LIBS) $$($1_LIBS), \
|
||||||
LIBS_linux := -ljli -lpthread $(LIBDL), \
|
LIBS_linux := -ljli -lpthread $(LIBDL), \
|
||||||
LIBS_macosx := -ljli -framework Cocoa -framework Security \
|
LIBS_macosx := -ljli -framework Cocoa -framework Security \
|
||||||
-framework ApplicationServices, \
|
-framework ApplicationServices, \
|
||||||
LIBS_solaris := -ljli -lthread $(LIBDL), \
|
|
||||||
LIBS_aix := -ljli_static, \
|
LIBS_aix := -ljli_static, \
|
||||||
LIBS_windows := $$($1_WINDOWS_JLI_LIB) \
|
LIBS_windows := $$($1_WINDOWS_JLI_LIB) \
|
||||||
$(SUPPORT_OUTPUTDIR)/native/java.base/libjava/java.lib, \
|
$(SUPPORT_OUTPUTDIR)/native/java.base/libjava/java.lib, \
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -49,10 +49,6 @@ else ifeq ($(TOOLCHAIN_TYPE), clang)
|
|||||||
CFLAGS_JDKLIB += -fvisibility=hidden
|
CFLAGS_JDKLIB += -fvisibility=hidden
|
||||||
CXXFLAGS_JDKLIB += -fvisibility=hidden
|
CXXFLAGS_JDKLIB += -fvisibility=hidden
|
||||||
EXPORT_ALL_SYMBOLS := -fvisibility=default
|
EXPORT_ALL_SYMBOLS := -fvisibility=default
|
||||||
else ifeq ($(TOOLCHAIN_TYPE), solstudio)
|
|
||||||
CFLAGS_JDKLIB += -xldscope=hidden
|
|
||||||
CXXFLAGS_JDKLIB += -xldscope=hidden
|
|
||||||
EXPORT_ALL_SYMBOLS := -xldscope=global
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Put the libraries here.
|
# Put the libraries here.
|
||||||
|
@ -239,8 +239,8 @@ var getJibProfilesCommon = function (input, data) {
|
|||||||
|
|
||||||
// List of the main profile names used for iteration
|
// List of the main profile names used for iteration
|
||||||
common.main_profile_names = [
|
common.main_profile_names = [
|
||||||
"linux-x64", "linux-x86", "macosx-x64", "solaris-x64",
|
"linux-x64", "linux-x86", "macosx-x64",
|
||||||
"solaris-sparcv9", "windows-x64", "windows-x86",
|
"windows-x64", "windows-x86",
|
||||||
"linux-aarch64", "linux-arm32", "linux-ppc64le", "linux-s390x"
|
"linux-aarch64", "linux-arm32", "linux-ppc64le", "linux-s390x"
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -429,22 +429,6 @@ var getJibProfilesProfiles = function (input, common, data) {
|
|||||||
"--with-macosx-version-max=10.9.0"),
|
"--with-macosx-version-max=10.9.0"),
|
||||||
},
|
},
|
||||||
|
|
||||||
"solaris-x64": {
|
|
||||||
target_os: "solaris",
|
|
||||||
target_cpu: "x64",
|
|
||||||
dependencies: ["devkit", "cups"],
|
|
||||||
configure_args: concat(common.configure_args_64bit,
|
|
||||||
"--with-zlib=system", "--enable-dtrace", "--enable-deprecated-ports=yes"),
|
|
||||||
},
|
|
||||||
|
|
||||||
"solaris-sparcv9": {
|
|
||||||
target_os: "solaris",
|
|
||||||
target_cpu: "sparcv9",
|
|
||||||
dependencies: ["devkit", "cups"],
|
|
||||||
configure_args: concat(common.configure_args_64bit,
|
|
||||||
"--with-zlib=system", "--enable-dtrace", "--enable-deprecated-ports=yes"),
|
|
||||||
},
|
|
||||||
|
|
||||||
"windows-x64": {
|
"windows-x64": {
|
||||||
target_os: "windows",
|
target_os: "windows",
|
||||||
target_cpu: "x64",
|
target_cpu: "x64",
|
||||||
@ -533,7 +517,7 @@ var getJibProfilesProfiles = function (input, common, data) {
|
|||||||
"ANT_HOME": input.get("ant", "home_path")
|
"ANT_HOME": input.get("ant", "home_path")
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
[ "linux-x64", "macosx-x64", "solaris-sparcv9", "solaris-x64", "windows-x64"]
|
[ "linux-x64", "macosx-x64", "windows-x64"]
|
||||||
.forEach(function (name) {
|
.forEach(function (name) {
|
||||||
var maketestName = name + "-testmake";
|
var maketestName = name + "-testmake";
|
||||||
profiles[maketestName] = concatObjects(profiles[name], testmakeBase);
|
profiles[maketestName] = concatObjects(profiles[name], testmakeBase);
|
||||||
@ -607,7 +591,7 @@ var getJibProfilesProfiles = function (input, common, data) {
|
|||||||
// Bootcycle profiles runs the build with itself as the boot jdk. This can
|
// Bootcycle profiles runs the build with itself as the boot jdk. This can
|
||||||
// be done in two ways. Either using the builtin bootcycle target in the
|
// be done in two ways. Either using the builtin bootcycle target in the
|
||||||
// build system. Or by supplying the main jdk build as bootjdk to configure.
|
// build system. Or by supplying the main jdk build as bootjdk to configure.
|
||||||
[ "linux-x64", "macosx-x64", "solaris-sparcv9", "windows-x64"]
|
[ "linux-x64", "macosx-x64", "windows-x64" ]
|
||||||
.forEach(function (name) {
|
.forEach(function (name) {
|
||||||
var bootcycleName = name + "-bootcycle";
|
var bootcycleName = name + "-bootcycle";
|
||||||
var bootcyclePrebuiltName = name + "-bootcycle-prebuilt";
|
var bootcyclePrebuiltName = name + "-bootcycle-prebuilt";
|
||||||
@ -634,7 +618,7 @@ var getJibProfilesProfiles = function (input, common, data) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// JCov profiles build JCov-instrumented JDK image based on images provided through dependencies.
|
// JCov profiles build JCov-instrumented JDK image based on images provided through dependencies.
|
||||||
[ "linux-aarch64", "linux-x64", "macosx-x64", "solaris-sparcv9", "windows-x64"]
|
[ "linux-aarch64", "linux-x64", "macosx-x64", "windows-x64" ]
|
||||||
.forEach(function (name) {
|
.forEach(function (name) {
|
||||||
var jcovName = name + "-jcov";
|
var jcovName = name + "-jcov";
|
||||||
profiles[jcovName] = clone(common.main_profile_base);
|
profiles[jcovName] = clone(common.main_profile_base);
|
||||||
@ -663,12 +647,6 @@ var getJibProfilesProfiles = function (input, common, data) {
|
|||||||
platform: "osx-x64",
|
platform: "osx-x64",
|
||||||
jdk_subdir: "jdk-" + data.version + ".jdk/Contents/Home",
|
jdk_subdir: "jdk-" + data.version + ".jdk/Contents/Home",
|
||||||
},
|
},
|
||||||
"solaris-x64": {
|
|
||||||
platform: "solaris-x64",
|
|
||||||
},
|
|
||||||
"solaris-sparcv9": {
|
|
||||||
platform: "solaris-sparcv9",
|
|
||||||
},
|
|
||||||
"windows-x64": {
|
"windows-x64": {
|
||||||
platform: "windows-x64",
|
platform: "windows-x64",
|
||||||
jdk_suffix: "zip",
|
jdk_suffix: "zip",
|
||||||
@ -795,7 +773,7 @@ var getJibProfilesProfiles = function (input, common, data) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Artifacts of JCov profiles
|
// Artifacts of JCov profiles
|
||||||
[ "linux-aarch64", "linux-x64", "macosx-x64", "solaris-sparcv9", "windows-x64"]
|
[ "linux-aarch64", "linux-x64", "macosx-x64", "windows-x64" ]
|
||||||
.forEach(function (name) {
|
.forEach(function (name) {
|
||||||
var o = artifactData[name]
|
var o = artifactData[name]
|
||||||
var jdk_subdir = (o.jdk_subdir != null ? o.jdk_subdir : "jdk-" + data.version);
|
var jdk_subdir = (o.jdk_subdir != null ? o.jdk_subdir : "jdk-" + data.version);
|
||||||
@ -984,8 +962,6 @@ var getJibProfilesDependencies = function (input, common) {
|
|||||||
var devkit_platform_revisions = {
|
var devkit_platform_revisions = {
|
||||||
linux_x64: "gcc9.2.0-OL6.4+1.0",
|
linux_x64: "gcc9.2.0-OL6.4+1.0",
|
||||||
macosx_x64: "Xcode10.1-MacOSX10.14+1.0",
|
macosx_x64: "Xcode10.1-MacOSX10.14+1.0",
|
||||||
solaris_x64: "SS12u4-Solaris11u1+1.0",
|
|
||||||
solaris_sparcv9: "SS12u6-Solaris11u3+1.0",
|
|
||||||
windows_x64: "VS2019-16.5.3+1.0",
|
windows_x64: "VS2019-16.5.3+1.0",
|
||||||
linux_aarch64: "gcc9.2.0-OL7.6+1.0",
|
linux_aarch64: "gcc9.2.0-OL7.6+1.0",
|
||||||
linux_arm: "gcc8.2.0-Fedora27+1.0",
|
linux_arm: "gcc8.2.0-Fedora27+1.0",
|
||||||
@ -1040,11 +1016,6 @@ var getJibProfilesDependencies = function (input, common) {
|
|||||||
environment_path: common.boot_jdk_home + "/bin"
|
environment_path: common.boot_jdk_home + "/bin"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (input.build_cpu == 'sparcv9') {
|
|
||||||
boot_jdk.file = "bundles/openjdk/GPL/" + boot_jdk_platform
|
|
||||||
+ "/openjdk-" + common.boot_jdk_version + "_"
|
|
||||||
+ boot_jdk_platform + "_bin" + boot_jdk_ext;
|
|
||||||
}
|
|
||||||
|
|
||||||
var dependencies = {
|
var dependencies = {
|
||||||
boot_jdk: boot_jdk,
|
boot_jdk: boot_jdk,
|
||||||
|
@ -1,516 +0,0 @@
|
|||||||
#
|
|
||||||
#
|
|
||||||
# Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
#
|
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
|
||||||
# under the terms of the GNU General Public License version 2 only, as
|
|
||||||
# published by the Free Software Foundation. Oracle designates this
|
|
||||||
# particular file as subject to the "Classpath" exception as provided
|
|
||||||
# by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
#
|
|
||||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
# version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
# accompanied this code).
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License version
|
|
||||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
#
|
|
||||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
# or visit www.oracle.com if you need additional information or have any
|
|
||||||
# questions.
|
|
||||||
#
|
|
||||||
|
|
||||||
# Version
|
|
||||||
|
|
||||||
version=1
|
|
||||||
|
|
||||||
# Component Font Mappings
|
|
||||||
|
|
||||||
allfonts.chinese-gb2312=-arphic-uming-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
allfonts.chinese-gbk=-arphic-uming-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
allfonts.chinese-gb18030-0=-arphic-uming-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
allfonts.chinese-gb18030-1=-arphic-uming-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
allfonts.chinese-cns11643-1=-arphic-uming-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
allfonts.chinese-cns11643-2=-arphic-uming-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
allfonts.chinese-cns11643-3=-arphic-uming-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
allfonts.chinese-big5=-arphic-uming-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
allfonts.chinese-hkscs=-arphic-uming-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
allfonts.dingbats=-microsoft-wingdings-medium-r-normal--*-%d-*-*-p-*-adobe-fontspecific
|
|
||||||
allfonts.japanese-x0212=-misc-ipagothic-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
allfonts.korean=-hanyang-gothic-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
allfonts.korean-johab=-hanyang-gothic-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
allfonts.symbol=-monotype-symbol-medium-r-normal--*-%d-*-*-p-*-adobe-symbol
|
|
||||||
allfonts.bengali=-misc-lohit bengali-medium-r-normal--0-0-0-0-p-0-iso10646-1
|
|
||||||
allfonts.gujarati=-misc-lohit gujarati-medium-r-normal--0-0-0-0-p-0-iso10646-1
|
|
||||||
allfonts.hindi=-misc-lohit hindi-medium-r-normal--0-0-0-0-p-0-iso10646-1
|
|
||||||
allfonts.kannada=-misc-lohit kannada-medium-r-normal--0-0-0-0-p-0-iso10646-1
|
|
||||||
allfonts.malayalam=-misc-lohit malayalam-medium-r-normal--0-0-0-0-p-0-iso10646-1
|
|
||||||
allfonts.marathi=-misc-lohit marathi-medium-r-normal--0-0-0-0-p-0-iso10646-1
|
|
||||||
allfonts.tamil=-misc-lohit tamil-medium-r-normal--0-0-0-0-p-0-iso10646-1
|
|
||||||
allfonts.telugu=-misc-lohit telugu-medium-r-normal--0-0-0-0-p-0-iso10646-1
|
|
||||||
allfonts.dejavusans=-misc-dejavu sans-medium-r-normal--0-0-0-0-p-0-iso10646-1
|
|
||||||
|
|
||||||
serif.plain.arabic=-monotype-times new roman-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.plain.cyrillic-iso8859-5=-monotype-times new roman-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.plain.cyrillic-cp1251=-monotype-times new roman-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.plain.cyrillic-koi8-r=-monotype-times new roman-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.plain.greek=-monotype-times new roman-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.plain.hebrew=-monotype-times new roman-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.plain.japanese-x0201=-misc-ipamincho-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
serif.plain.japanese-x0208=-misc-ipamincho-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
serif.plain.latin-1=-monotype-times new roman-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.plain.latin-2=-monotype-times new roman-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.plain.latin-5=-monotype-times new roman-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.plain.latin-7=-monotype-times new roman-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.plain.latin-9=-monotype-times new roman-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.plain.thai=-monotype-angsana new-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
|
|
||||||
serif.bold.arabic=-monotype-times new roman-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.bold.cyrillic-iso8859-5=-monotype-times new roman-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.bold.cyrillic-cp1251=-monotype-times new roman-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.bold.cyrillic-koi8-r=-monotype-times new roman-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.bold.greek=-monotype-times new roman-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.bold.hebrew=-monotype-times new roman-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.bold.japanese-x0201=-misc-ipamincho-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
serif.bold.japanese-x0208=-misc-ipamincho-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
serif.bold.latin-1=-monotype-times new roman-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.bold.latin-2=-monotype-times new roman-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.bold.latin-5=-monotype-times new roman-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.bold.latin-7=-monotype-times new roman-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.bold.latin-9=-monotype-times new roman-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.bold.thai=-monotype-angsana new-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
|
|
||||||
serif.italic.arabic=-monotype-times new roman-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.italic.cyrillic-iso8859-5=-monotype-times new roman-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.italic.cyrillic-cp1251=-monotype-times new roman-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.italic.cyrillic-koi8-r=-monotype-times new roman-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.italic.greek=-monotype-times new roman-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.italic.hebrew=-monotype-times new roman-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.italic.japanese-x0201=-misc-ipamincho-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
serif.italic.japanese-x0208=-misc-ipamincho-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
serif.italic.latin-1=-monotype-times new roman-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.italic.latin-2=-monotype-times new roman-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.italic.latin-5=-monotype-times new roman-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.italic.latin-7=-monotype-times new roman-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.italic.latin-9=-monotype-times new roman-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.italic.thai=-monotype-angsana new-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
|
|
||||||
serif.bolditalic.arabic=-monotype-times new roman-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.bolditalic.cyrillic-iso8859-5=-monotype-times new roman-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.bolditalic.cyrillic-cp1251=-monotype-times new roman-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.bolditalic.cyrillic-koi8-r=-monotype-times new roman-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.bolditalic.greek=-monotype-times new roman-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.bolditalic.hebrew=-monotype-times new roman-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.bolditalic.japanese-x0201=-misc-ipamincho-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
serif.bolditalic.japanese-x0208=-misc-ipamincho-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
serif.bolditalic.latin-1=-monotype-times new roman-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.bolditalic.latin-2=-monotype-times new roman-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.bolditalic.latin-5=-monotype-times new roman-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.bolditalic.latin-7=-monotype-times new roman-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.bolditalic.latin-9=-monotype-times new roman-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
serif.bolditalic.thai=-monotype-angsana new-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
|
|
||||||
sansserif.plain.arabic=-monotype-arial-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.plain.cyrillic-iso8859-5=-monotype-arial-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.plain.cyrillic-cp1251=-monotype-arial-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.plain.cyrillic-koi8-r=-monotype-arial-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.plain.greek=-monotype-arial-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.plain.hebrew=-monotype-arial-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.plain.japanese-x0201=-misc-ipagothic-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
sansserif.plain.japanese-x0208=-misc-ipagothic-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
sansserif.plain.latin-1=-monotype-arial-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.plain.latin-2=-monotype-arial-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.plain.latin-5=-monotype-arial-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.plain.latin-7=-monotype-arial-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.plain.latin-9=-monotype-arial-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.plain.thai=-monotype-browallia new-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
|
|
||||||
sansserif.bold.arabic=-monotype-arial-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.bold.cyrillic-iso8859-5=-monotype-arial-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.bold.cyrillic-cp1251=-monotype-arial-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.bold.cyrillic-koi8-r=-monotype-arial-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.bold.greek=-monotype-arial-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.bold.hebrew=-monotype-arial-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.bold.japanese-x0201=-misc-ipagothic-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
sansserif.bold.japanese-x0208=-misc-ipagothic-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
sansserif.bold.latin-1=-monotype-arial-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.bold.latin-2=-monotype-arial-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.bold.latin-5=-monotype-arial-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.bold.latin-7=-monotype-arial-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.bold.latin-9=-monotype-arial-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.bold.thai=-monotype-browallia new-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
|
|
||||||
sansserif.italic.arabic=-monotype-arial-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.italic.cyrillic-iso8859-5=-monotype-arial-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.italic.cyrillic-cp1251=-monotype-arial-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.italic.cyrillic-koi8-r=-monotype-arial-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.italic.greek=-monotype-arial-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.italic.hebrew=-monotype-arial-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.italic.japanese-x0201=-misc-ipagothic-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
sansserif.italic.japanese-x0208=-misc-ipagothic-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
sansserif.italic.latin-1=-monotype-arial-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.italic.latin-2=-monotype-arial-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.italic.latin-5=-monotype-arial-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.italic.latin-7=-monotype-arial-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.italic.latin-9=-monotype-arial-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.italic.thai=-monotype-browallia new-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
|
|
||||||
sansserif.bolditalic.arabic=-monotype-arial-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.bolditalic.cyrillic-iso8859-5=-monotype-arial-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.bolditalic.cyrillic-cp1251=-monotype-arial-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.bolditalic.cyrillic-koi8-r=-monotype-arial-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.bolditalic.greek=-monotype-arial-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.bolditalic.hebrew=-monotype-arial-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.bolditalic.japanese-x0201=-misc-ipagothic-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
sansserif.bolditalic.japanese-x0208=-misc-ipagothic-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
sansserif.bolditalic.latin-1=-monotype-arial-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.bolditalic.latin-2=-monotype-arial-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.bolditalic.latin-5=-monotype-arial-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.bolditalic.latin-7=-monotype-arial-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.bolditalic.latin-9=-monotype-arial-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
sansserif.bolditalic.thai=-monotype-browallia new-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
|
|
||||||
monospaced.plain.arabic=-monotype-courier new-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.plain.cyrillic-iso8859-5=-monotype-courier new-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.plain.cyrillic-cp1251=-monotype-courier new-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.plain.cyrillic-koi8-r=-monotype-courier new-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.plain.greek=-monotype-courier new-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.plain.hebrew=-monotype-courier new-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.plain.japanese-x0201=-misc-ipamincho-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
monospaced.plain.japanese-x0208=-misc-ipamincho-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
monospaced.plain.latin-1=-monotype-courier new-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.plain.latin-2=-monotype-courier new-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.plain.latin-5=-monotype-courier new-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.plain.latin-7=-monotype-courier new-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.plain.latin-9=-monotype-courier new-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.plain.thai=-monotype-cordia new-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
|
|
||||||
monospaced.bold.arabic=-monotype-courier new-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.bold.cyrillic-iso8859-5=-monotype-courier new-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.bold.cyrillic-cp1251=-monotype-courier new-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.bold.cyrillic-koi8-r=-monotype-courier new-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.bold.greek=-monotype-courier new-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.bold.hebrew=-monotype-courier new-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.bold.japanese-x0201=-misc-ipamincho-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
monospaced.bold.japanese-x0208=-misc-ipamincho-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
monospaced.bold.latin-1=-monotype-courier new-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.bold.latin-2=-monotype-courier new-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.bold.latin-5=-monotype-courier new-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.bold.latin-7=-monotype-courier new-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.bold.latin-9=-monotype-courier new-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.bold.thai=-monotype-cordia new-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
|
|
||||||
monospaced.italic.arabic=-monotype-courier new-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.italic.cyrillic-iso8859-5=-monotype-courier new-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.italic.cyrillic-cp1251=-monotype-courier new-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.italic.cyrillic-koi8-r=-monotype-courier new-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.italic.greek=-monotype-courier new-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.italic.hebrew=-monotype-courier new-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.italic.japanese-x0201=-misc-ipamincho-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
monospaced.italic.japanese-x0208=-misc-ipamincho-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
monospaced.italic.latin-1=-monotype-courier new-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.italic.latin-2=-monotype-courier new-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.italic.latin-5=-monotype-courier new-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.italic.latin-7=-monotype-courier new-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.italic.latin-9=-monotype-courier new-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.italic.thai=-monotype-cordia new-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
|
|
||||||
monospaced.bolditalic.arabic=-monotype-courier new-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.bolditalic.cyrillic-iso8859-5=-monotype-courier new-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.bolditalic.cyrillic-cp1251=-monotype-courier new-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.bolditalic.cyrillic-koi8-r=-monotype-courier new-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.bolditalic.greek=-monotype-courier new-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.bolditalic.hebrew=-monotype-courier new-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.bolditalic.japanese-x0201=-misc-ipamincho-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
monospaced.bolditalic.japanese-x0208=-misc-ipamincho-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
monospaced.bolditalic.latin-1=-monotype-courier new-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.bolditalic.latin-2=-monotype-courier new-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.bolditalic.latin-5=-monotype-courier new-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.bolditalic.latin-7=-monotype-courier new-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.bolditalic.latin-9=-monotype-courier new-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
monospaced.bolditalic.thai=-monotype-cordia new-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
|
|
||||||
dialog.plain.arabic=-monotype-arial-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.plain.cyrillic-iso8859-5=-monotype-arial-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.plain.cyrillic-cp1251=-monotype-arial-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.plain.cyrillic-koi8-r=-monotype-arial-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.plain.greek=-monotype-arial-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.plain.hebrew=-monotype-arial-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.plain.japanese-x0201=-misc-ipagothic-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
dialog.plain.japanese-x0208=-misc-ipagothic-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
dialog.plain.latin-1=-monotype-arial-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.plain.latin-2=-monotype-arial-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.plain.latin-5=-monotype-arial-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.plain.latin-7=-monotype-arial-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.plain.latin-9=-monotype-arial-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.plain.thai=-monotype-browallia new-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
|
|
||||||
dialog.bold.arabic=-monotype-arial-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.bold.cyrillic-iso8859-5=-monotype-arial-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.bold.cyrillic-cp1251=-monotype-arial-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.bold.cyrillic-koi8-r=-monotype-arial-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.bold.greek=-monotype-arial-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.bold.hebrew=-monotype-arial-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.bold.japanese-x0201=-misc-ipagothic-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
dialog.bold.japanese-x0208=-misc-ipagothic-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
dialog.bold.latin-1=-monotype-arial-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.bold.latin-2=-monotype-arial-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.bold.latin-5=-monotype-arial-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.bold.latin-7=-monotype-arial-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.bold.latin-9=-monotype-arial-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.bold.thai=-monotype-browallia new-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
|
|
||||||
dialog.italic.arabic=-monotype-arial-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.italic.cyrillic-iso8859-5=-monotype-arial-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.italic.cyrillic-cp1251=-monotype-arial-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.italic.cyrillic-koi8-r=-monotype-arial-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.italic.greek=-monotype-arial-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.italic.hebrew=-monotype-arial-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.italic.japanese-x0201=-misc-ipagothic-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
dialog.italic.japanese-x0208=-misc-ipagothic-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
dialog.italic.latin-1=-monotype-arial-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.italic.latin-2=-monotype-arial-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.italic.latin-5=-monotype-arial-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.italic.latin-7=-monotype-arial-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.italic.latin-9=-monotype-arial-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.italic.thai=-monotype-browallia new-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
|
|
||||||
dialog.bolditalic.arabic=-monotype-arial-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.bolditalic.cyrillic-iso8859-5=-monotype-arial-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.bolditalic.cyrillic-cp1251=-monotype-arial-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.bolditalic.cyrillic-koi8-r=-monotype-arial-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.bolditalic.greek=-monotype-arial-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.bolditalic.hebrew=-monotype-arial-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.bolditalic.japanese-x0201=-misc-ipagothic-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
dialog.bolditalic.japanese-x0208=-misc-ipagothic-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
dialog.bolditalic.latin-1=-monotype-arial-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.bolditalic.latin-2=-monotype-arial-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.bolditalic.latin-5=-monotype-arial-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.bolditalic.latin-7=-monotype-arial-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.bolditalic.latin-9=-monotype-arial-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialog.bolditalic.thai=-monotype-browallia new-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
|
|
||||||
dialoginput.plain.arabic=-monotype-courier new-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.plain.cyrillic-iso8859-5=-monotype-courier new-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.plain.cyrillic-cp1251=-monotype-courier new-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.plain.cyrillic-koi8-r=-monotype-courier new-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.plain.greek=-monotype-courier new-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.plain.hebrew=-monotype-courier new-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.plain.japanese-x0201=-misc-ipamincho-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
dialoginput.plain.japanese-x0208=-misc-ipamincho-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
dialoginput.plain.latin-1=-monotype-courier new-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.plain.latin-2=-monotype-courier new-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.plain.latin-5=-monotype-courier new-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.plain.latin-7=-monotype-courier new-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.plain.latin-9=-monotype-courier new-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.plain.thai=-monotype-cordia new-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
|
|
||||||
dialoginput.bold.arabic=-monotype-courier new-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.bold.cyrillic-iso8859-5=-monotype-courier new-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.bold.cyrillic-cp1251=-monotype-courier new-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.bold.cyrillic-koi8-r=-monotype-courier new-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.bold.greek=-monotype-courier new-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.bold.hebrew=-monotype-courier new-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.bold.japanese-x0201=-misc-ipamincho-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
dialoginput.bold.japanese-x0208=-misc-ipamincho-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
dialoginput.bold.latin-1=-monotype-courier new-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.bold.latin-2=-monotype-courier new-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.bold.latin-5=-monotype-courier new-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.bold.latin-7=-monotype-courier new-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.bold.latin-9=-monotype-courier new-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.bold.thai=-monotype-cordia new-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
|
|
||||||
dialoginput.italic.arabic=-monotype-courier new-medium-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.italic.cyrillic-iso8859-5=-monotype-courier new-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.italic.cyrillic-cp1251=-monotype-courier new-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.italic.cyrillic-koi8-r=-monotype-courier new-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.italic.greek=-monotype-courier new-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.italic.hebrew=-monotype-courier new-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.italic.japanese-x0201=-misc-ipamincho-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
dialoginput.italic.japanese-x0208=-misc-ipamincho-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
dialoginput.italic.latin-1=-monotype-courier new-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.italic.latin-2=-monotype-courier new-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.italic.latin-5=-monotype-courier new-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.italic.latin-7=-monotype-courier new-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.italic.latin-9=-monotype-courier new-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.italic.thai=-monotype-cordia new-medium-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
|
|
||||||
dialoginput.bolditalic.arabic=-monotype-courier new-bold-r-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.bolditalic.cyrillic-iso8859-5=-monotype-courier new-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.bolditalic.cyrillic-cp1251=-monotype-courier new-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.bolditalic.cyrillic-koi8-r=-monotype-courier new-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.bolditalic.greek=-monotype-courier new-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.bolditalic.hebrew=-monotype-courier new-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.bolditalic.japanese-x0201=-misc-ipamincho-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
dialoginput.bolditalic.japanese-x0208=-misc-ipamincho-medium-r-normal--*-%d-*-*-m-*-iso10646-1
|
|
||||||
dialoginput.bolditalic.latin-1=-monotype-courier new-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.bolditalic.latin-2=-monotype-courier new-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.bolditalic.latin-5=-monotype-courier new-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.bolditalic.latin-7=-monotype-courier new-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.bolditalic.latin-9=-monotype-courier new-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
dialoginput.bolditalic.thai=-monotype-cordia new-bold-i-normal--*-%d-*-*-p-*-iso10646-1
|
|
||||||
|
|
||||||
# Search Sequences
|
|
||||||
|
|
||||||
sequence.allfonts=latin-1
|
|
||||||
|
|
||||||
sequence.allfonts.Big5=latin-1,chinese-big5
|
|
||||||
|
|
||||||
sequence.allfonts.Big5-HKSCS-2001=latin-1,chinese-big5,chinese-hkscs
|
|
||||||
|
|
||||||
sequence.allfonts.windows-1251=cyrillic-cp1251,latin-1
|
|
||||||
|
|
||||||
sequence.allfonts.GB2312=latin-1,chinese-gb2312
|
|
||||||
|
|
||||||
sequence.allfonts.x-eucJP-Open=latin-1,japanese-x0201,japanese-x0208,japanese-x0212
|
|
||||||
|
|
||||||
sequence.allfonts.EUC-KR=latin-1,korean
|
|
||||||
|
|
||||||
sequence.allfonts.x-EUC-TW=latin-1,chinese-cns11643-1,chinese-cns11643-2,chinese-cns11643-3
|
|
||||||
|
|
||||||
sequence.allfonts.GBK=latin-1,chinese-gbk
|
|
||||||
|
|
||||||
sequence.allfonts.GB18030=latin-1,chinese-gb18030-0,chinese-gb18030-1
|
|
||||||
|
|
||||||
sequence.allfonts.ISO-8859-2=latin-2,latin-1
|
|
||||||
|
|
||||||
sequence.allfonts.ISO-8859-5=cyrillic-iso8859-5,latin-1
|
|
||||||
|
|
||||||
sequence.allfonts.ISO-8859-6=arabic,latin-1
|
|
||||||
|
|
||||||
sequence.allfonts.ISO-8859-7=latin-1,greek
|
|
||||||
|
|
||||||
sequence.allfonts.ISO-8859-8=latin-1,hebrew
|
|
||||||
|
|
||||||
sequence.allfonts.ISO-8859-9=latin-5,latin-1
|
|
||||||
|
|
||||||
sequence.allfonts.ISO-8859-13=latin-7,latin-1
|
|
||||||
|
|
||||||
sequence.allfonts.ISO-8859-15=latin-9
|
|
||||||
|
|
||||||
sequence.allfonts.KOI8-R=cyrillic-koi8-r,latin-1
|
|
||||||
|
|
||||||
sequence.allfonts.x-PCK=latin-1,japanese-x0201,japanese-x0208,japanese-x0212
|
|
||||||
|
|
||||||
sequence.allfonts.TIS-620=latin-1,thai
|
|
||||||
|
|
||||||
sequence.allfonts.UTF-8=latin-1
|
|
||||||
sequence.allfonts.UTF-8.en=latin-1
|
|
||||||
sequence.allfonts.UTF-8.hi=latin-1,hindi
|
|
||||||
sequence.allfonts.UTF-8.be=latin-1,bengali
|
|
||||||
sequence.allfonts.UTF-8.te=latin-1,telugu
|
|
||||||
sequence.allfonts.UTF-8.mr=latin-1,marathi
|
|
||||||
sequence.allfonts.UTF-8.ta=latin-1,tamil
|
|
||||||
sequence.allfonts.UTF-8.gu=latin-1,gujarati
|
|
||||||
sequence.allfonts.UTF-8.kn=latin-1,kannada
|
|
||||||
sequence.allfonts.UTF-8.ma=latin-1,malayalam
|
|
||||||
|
|
||||||
sequence.allfonts.UTF-8.ko=latin-1,korean-johab,japanese-x0201,japanese-x0208,japanese-x0212
|
|
||||||
|
|
||||||
sequence.allfonts.UTF-8.th=latin-1,thai
|
|
||||||
|
|
||||||
sequence.allfonts.UTF-8.zh.CN=latin-1,chinese-gb18030-0,chinese-gb18030-1,chinese-big5,chinese-hkscs
|
|
||||||
|
|
||||||
sequence.allfonts.UTF-8.zh.HK=latin-1,chinese-big5,chinese-hkscs,chinese-gb18030-0,chinese-gb18030-1
|
|
||||||
|
|
||||||
sequence.allfonts.UTF-8.zh.TW=latin-1,chinese-big5,chinese-hkscs,chinese-gb18030-0,chinese-gb18030-1
|
|
||||||
|
|
||||||
# the fallback sequence omits the following character subsets:
|
|
||||||
# - chinese: all same file : just use chinese-gb18030-0
|
|
||||||
# - japanese-x0208: same files as japanese-x0201
|
|
||||||
# - japanese-x0212: same files as japanese-x0201
|
|
||||||
# - korean: same file as korean-johab
|
|
||||||
sequence.fallback=latin-1,latin-2,latin-7,cyrillic-iso8859-5,greek,latin-5,latin-9,\
|
|
||||||
arabic,hebrew,thai,\
|
|
||||||
chinese-gb18030-0,\
|
|
||||||
japanese-x0201,korean-johab,\
|
|
||||||
hindi,bengali,telugu,marathi,tamil,gujarati,kannada,malayalam,\
|
|
||||||
dejavusans,dingbats,symbol
|
|
||||||
|
|
||||||
# Font File Names
|
|
||||||
|
|
||||||
filename.-monotype-arial-medium-r-normal--*-%d-*-*-p-*-iso10646-1=/usr/share/fonts/TrueType/core/arial.ttf
|
|
||||||
filename.-monotype-arial-medium-i-normal--*-%d-*-*-p-*-iso10646-1=/usr/share/fonts/TrueType/core/ariali.ttf
|
|
||||||
filename.-monotype-arial-bold-r-normal--*-%d-*-*-p-*-iso10646-1=/usr/share/fonts/TrueType/core/arialbd.ttf
|
|
||||||
filename.-monotype-arial-bold-i-normal--*-%d-*-*-p-*-iso10646-1=/usr/share/fonts/TrueType/core/arialbi.ttf
|
|
||||||
filename.-monotype-courier_new-medium-r-normal--*-%d-*-*-p-*-iso10646-1=/usr/share/fonts/TrueType/core/cour.ttf
|
|
||||||
filename.-monotype-courier_new-medium-i-normal--*-%d-*-*-p-*-iso10646-1=/usr/share/fonts/TrueType/core/couri.ttf
|
|
||||||
filename.-monotype-courier_new-bold-r-normal--*-%d-*-*-p-*-iso10646-1=/usr/share/fonts/TrueType/core/courbd.ttf
|
|
||||||
filename.-monotype-courier_new-bold-i-normal--*-%d-*-*-p-*-iso10646-1=/usr/share/fonts/TrueType/core/courbi.ttf
|
|
||||||
filename.-monotype-times_new_roman-medium-r-normal--*-%d-*-*-p-*-iso10646-1=/usr/share/fonts/TrueType/core/times.ttf
|
|
||||||
filename.-monotype-times_new_roman-medium-i-normal--*-%d-*-*-p-*-iso10646-1=/usr/share/fonts/TrueType/core/timesi.ttf
|
|
||||||
filename.-monotype-times_new_roman-bold-r-normal--*-%d-*-*-p-*-iso10646-1=/usr/share/fonts/TrueType/core/timesbd.ttf
|
|
||||||
filename.-monotype-times_new_roman-bold-i-normal--*-%d-*-*-p-*-iso10646-1=/usr/share/fonts/TrueType/core/timesbi.ttf
|
|
||||||
|
|
||||||
filename.-monotype-angsana_new-medium-r-normal--*-%d-*-*-p-*-iso10646-1=/usr/share/fonts/TrueType/core/angsa.ttf
|
|
||||||
filename.-monotype-angsana_new-medium-i-normal--*-%d-*-*-p-*-iso10646-1=/usr/share/fonts/TrueType/core/angsai.ttf
|
|
||||||
filename.-monotype-angsana_new-bold-r-normal--*-%d-*-*-p-*-iso10646-1=/usr/share/fonts/TrueType/core/angsab.ttf
|
|
||||||
filename.-monotype-angsana_new-bold-i-normal--*-%d-*-*-p-*-iso10646-1=/usr/share/fonts/TrueType/core/angsaz.ttf
|
|
||||||
filename.-monotype-browallia_new-medium-r-normal--*-%d-*-*-p-*-iso10646-1=/usr/share/fonts/TrueType/core/browa.ttf
|
|
||||||
filename.-monotype-browallia_new-medium-i-normal--*-%d-*-*-p-*-iso10646-1=/usr/share/fonts/TrueType/core/browai.ttf
|
|
||||||
filename.-monotype-browallia_new-bold-r-normal--*-%d-*-*-p-*-iso10646-1=/usr/share/fonts/TrueType/core/browab.ttf
|
|
||||||
filename.-monotype-browallia_new-bold-i-normal--*-%d-*-*-p-*-iso10646-1=/usr/share/fonts/TrueType/core/browaz.ttf
|
|
||||||
filename.-monotype-cordia_new-medium-r-normal--*-%d-*-*-p-*-iso10646-1=/usr/share/fonts/TrueType/core/cordia.ttf
|
|
||||||
filename.-monotype-cordia_new-medium-i-normal--*-%d-*-*-p-*-iso10646-1=/usr/share/fonts/TrueType/core/cordiai.ttf
|
|
||||||
filename.-monotype-cordia_new-bold-r-normal--*-%d-*-*-p-*-iso10646-1=/usr/share/fonts/TrueType/core/cordiab.ttf
|
|
||||||
filename.-monotype-cordia_new-bold-i-normal--*-%d-*-*-p-*-iso10646-1=/usr/share/fonts/TrueType/core/cordiaz.ttf
|
|
||||||
|
|
||||||
filename.-misc-ipagothic-medium-r-normal--*-%d-*-*-m-*-iso10646-1=/usr/share/fonts/TrueType/ipafont/ipag.otf
|
|
||||||
filename.-misc-ipamincho-medium-r-normal--*-%d-*-*-m-*-iso10646-1=/usr/share/fonts/TrueType/ipafont/ipam.otf
|
|
||||||
filename.-hanyang-gothic-medium-r-normal--*-%d-*-*-m-*-iso10646-1=/usr/share/fonts/TrueType/hanyang/h2gtrm.ttf
|
|
||||||
filename.-arphic-uming-medium-r-normal--*-%d-*-*-m-*-iso10646-1=/usr/share/fonts/TrueType/arphic/uming.ttf
|
|
||||||
filename.-monotype-symbol-medium-r-normal--*-%d-*-*-p-*-adobe-symbol=/usr/share/fonts/TrueType/core/symbol.ttf
|
|
||||||
filename.-microsoft-wingdings-medium-r-normal--*-%d-*-*-p-*-adobe-fontspecific=/usr/share/fonts/TrueType/core/wingdings.ttf
|
|
||||||
filename.-misc-lohit_bengali-medium-r-normal--0-0-0-0-p-0-iso10646-1=/usr/share/fonts/TrueType/lohit/Lohit-Bengali.ttf
|
|
||||||
filename.-misc-lohit_gujarati-medium-r-normal--0-0-0-0-p-0-iso10646-1=/usr/share/fonts/TrueType/lohit/Lohit-Gujarati.ttf
|
|
||||||
filename.-misc-lohit_hindi-medium-r-normal--0-0-0-0-p-0-iso10646-1=/usr/share/fonts/TrueType/lohit/Lohit-Hindi.ttf
|
|
||||||
filename.-misc-lohit_kannada-medium-r-normal--0-0-0-0-p-0-iso10646-1=/usr/share/fonts/TrueType/lohit/Lohit-Kannada.ttf
|
|
||||||
filename.-misc-lohit_malayalam-medium-r-normal--0-0-0-0-p-0-iso10646-1=/usr/share/fonts/TrueType/lohit/Lohit-Malayalam.ttf
|
|
||||||
filename.-misc-lohit_marathi-medium-r-normal--0-0-0-0-p-0-iso10646-1=/usr/share/fonts/TrueType/lohit/Lohit-Marathi.ttf
|
|
||||||
filename.-misc-lohit_tamil-medium-r-normal--0-0-0-0-p-0-iso10646-1=/usr/share/fonts/TrueType/lohit/Lohit-Tamil.ttf
|
|
||||||
filename.-misc-lohit_telugu-medium-r-normal--0-0-0-0-p-0-iso10646-1=/usr/share/fonts/TrueType/lohit/Lohit-Telugu.ttf
|
|
||||||
filename.-misc-dejavu_sans-medium-r-normal--0-0-0-0-p-0-iso10646-1=/usr/share/fonts/TrueType/dejavu/DejaVuSans.ttf
|
|
||||||
|
|
||||||
# AWT X11 font paths
|
|
||||||
awtfontpath.latin-1=/usr/share/fonts/TrueType/core
|
|
||||||
awtfontpath.latin-2=/usr/share/fonts/TrueType/core
|
|
||||||
awtfontpath.latin-5=/usr/share/fonts/TrueType/core
|
|
||||||
awtfontpath.latin-7=/usr/share/fonts/TrueType/core
|
|
||||||
awtfontpath.latin-9=/usr/share/fonts/TrueType/core
|
|
||||||
awtfontpath.hebrew=/usr/share/fonts/TrueType/core
|
|
||||||
awtfontpath.arabic=/usr/share/fonts/TrueType/core
|
|
||||||
awtfontpath.thai=/usr/share/fonts/TrueType/core
|
|
||||||
awtfontpath.greek=/usr/share/fonts/TrueType/core
|
|
||||||
awtfontpath.cyrillic-iso8859-5=/usr/share/fonts/TrueType/core
|
|
||||||
awtfontpath.cyrillic-cp1251=/usr/share/fonts/TrueType/core
|
|
||||||
awtfontpath.cyrillic-koi8-r=/usr/share/fonts/TrueType/core
|
|
||||||
awtfontpath.korean=/usr/share/fonts/TrueType/hanyang
|
|
||||||
awtfontpath.korean-johab=/usr/share/fonts/TrueType/hanyang
|
|
||||||
awtfontpath.japanese-x0201=/usr/share/fonts/TrueType/ipafont
|
|
||||||
awtfontpath.japanese-x0208=/usr/share/fonts/TrueType/ipafont
|
|
||||||
awtfontpath.japanese-x0212=/usr/share/fonts/TrueType/ipafont
|
|
||||||
awtfontpath.chinese-gbk=/usr/share/fonts/TrueType/arphic
|
|
||||||
awtfontpath.chinese-cns11643-1=/usr/share/fonts/TrueType/arphic
|
|
||||||
awtfontpath.chinese-cns11643-2=/usr/share/fonts/TrueType/arphic
|
|
||||||
awtfontpath.chinese-cns11643-3=/usr/share/fonts/TrueType/arphic
|
|
||||||
awtfontpath.chinese-big5=/usr/share/fonts/TrueType/arphic
|
|
||||||
awtfontpath.chinese-gb2312=/usr/share/fonts/TrueType/arphic
|
|
||||||
awtfontpath.chinese-gb18030-0=/usr/share/fonts/TrueType/arphic
|
|
||||||
awtfontpath.chinese-gb18030-1=/usr/share/fonts/TrueType/arphic
|
|
||||||
awtfontpath.chinese-hkscs=/usr/share/fonts/TrueType/arphic
|
|
||||||
awtfontpath.bengali=/usr/share/fonts/TrueType/lohit
|
|
||||||
awtfontpath.gujarati=/usr/share/fonts/TrueType/lohit
|
|
||||||
awtfontpath.hindi=/usr/share/fonts/TrueType/lohit
|
|
||||||
awtfontpath.kannada=/usr/share/fonts/TrueType/lohit
|
|
||||||
awtfontpath.malayalam=/usr/share/fonts/TrueType/lohit
|
|
||||||
awtfontpath.marathi=/usr/share/fonts/TrueType/lohit
|
|
||||||
awtfontpath.tamil=/usr/share/fonts/TrueType/lohit
|
|
||||||
awtfontpath.telugu=/usr/share/fonts/TrueType/lohit
|
|
||||||
awtfontpath.dejavusans=/usr/share/fonts/TrueType/dejavu
|
|
||||||
|
|
||||||
# Appended Font Path
|
|
||||||
|
|
@ -1,184 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
#
|
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
|
||||||
# under the terms of the GNU General Public License version 2 only, as
|
|
||||||
# published by the Free Software Foundation. Oracle designates this
|
|
||||||
# particular file as subject to the "Classpath" exception as provided
|
|
||||||
# by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
#
|
|
||||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
# version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
# accompanied this code).
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License version
|
|
||||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
#
|
|
||||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
# or visit www.oracle.com if you need additional information or have any
|
|
||||||
# questions.
|
|
||||||
#
|
|
||||||
|
|
||||||
# This script creates a devkit for building OpenJDK on Solaris by copying
|
|
||||||
# part of a Solaris Studio installation and cretaing a sysroot by installing
|
|
||||||
# a limited set of system packages. It is assumed that a suitable pkg
|
|
||||||
# publisher is configured for the system where the script is executed.
|
|
||||||
#
|
|
||||||
# The Solaris Studio installation must contain at least these packages:
|
|
||||||
# developer/solarisstudio-124/backend 12.4-1.0.6.0 i--
|
|
||||||
# developer/solarisstudio-124/c++ 12.4-1.0.10.0 i--
|
|
||||||
# developer/solarisstudio-124/cc 12.4-1.0.4.0 i--
|
|
||||||
# developer/solarisstudio-124/library/c++-libs 12.4-1.0.10.0 i--
|
|
||||||
# developer/solarisstudio-124/library/math-libs 12.4-1.0.0.1 i--
|
|
||||||
# developer/solarisstudio-124/library/studio-gccrt 12.4-1.0.0.1 i--
|
|
||||||
# developer/solarisstudio-124/studio-common 12.4-1.0.0.1 i--
|
|
||||||
# developer/solarisstudio-124/studio-ja 12.4-1.0.0.1 i--
|
|
||||||
# developer/solarisstudio-124/studio-legal 12.4-1.0.0.1 i--
|
|
||||||
# developer/solarisstudio-124/studio-zhCN 12.4-1.0.0.1 i--
|
|
||||||
# In particular backend 12.4-1.0.6.0 contains a critical patch for the sparc
|
|
||||||
# version.
|
|
||||||
#
|
|
||||||
# erik.joelsson@oracle.com
|
|
||||||
|
|
||||||
USAGE="$0 <Solaris Studio installation> <Path to gnu make binary>"
|
|
||||||
|
|
||||||
if [ "$1" = "" ] || [ "$2" = "" ]; then
|
|
||||||
echo $USAGE
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
SOLARIS_STUDIO_VERSION=12u4
|
|
||||||
SOLARIS_VERSION=11u1
|
|
||||||
case `uname -p` in
|
|
||||||
i*)
|
|
||||||
ARCH=x86
|
|
||||||
;;
|
|
||||||
sparc*)
|
|
||||||
ARCH=sparc
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
SOLARIS_STUDIO_SRC=$1
|
|
||||||
GNU_MAKE=$2
|
|
||||||
|
|
||||||
SCRIPT_DIR="$(cd "$(dirname $0)" > /dev/null && pwd)"
|
|
||||||
BUILD_DIR="${SCRIPT_DIR}/../../build/devkit"
|
|
||||||
|
|
||||||
DEVKIT_NAME=SS${SOLARIS_STUDIO_VERSION}-Solaris${SOLARIS_VERSION}
|
|
||||||
DEVKIT_ROOT=${BUILD_DIR}/${DEVKIT_NAME}
|
|
||||||
BUNDLE_NAME=${DEVKIT_NAME}.tar.gz
|
|
||||||
BUNDLE=${BUILD_DIR}/${BUNDLE_NAME}
|
|
||||||
INSTALL_ROOT=${BUILD_DIR}/install-root-$SOLARIS_VERSION
|
|
||||||
INSTALL_ROOT_TOOLS=${BUILD_DIR}/install-root-tools-$SOLARIS_VERSION
|
|
||||||
SYSROOT=${DEVKIT_ROOT}/sysroot
|
|
||||||
SOLARIS_STUDIO_SUBDIR=SS${SOLARIS_STUDIO_VERSION}
|
|
||||||
SOLARIS_STUDIO_DIR=${DEVKIT_ROOT}/${SOLARIS_STUDIO_SUBDIR}
|
|
||||||
|
|
||||||
# Extract the publisher from the system
|
|
||||||
if [ -z "${PUBLISHER_URI}" ]; then
|
|
||||||
PUBLISHER_URI="$(pkg publisher solaris | grep URI | awk '{ print $3 }')"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -d $INSTALL_ROOT ]; then
|
|
||||||
echo "Creating $INSTALL_ROOT and installing packages"
|
|
||||||
pkg image-create $INSTALL_ROOT
|
|
||||||
pkg -R $INSTALL_ROOT set-publisher -P -g ${PUBLISHER_URI} solaris
|
|
||||||
pkg -R $INSTALL_ROOT install --accept $(cat solaris11.1-package-list.txt)
|
|
||||||
else
|
|
||||||
echo "Skipping installing packages"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Since we have implicitly been running 11.2 tools for a long time, we need
|
|
||||||
# to pick them for the tools dir in the devkit. Create a separate install-root
|
|
||||||
# for it.
|
|
||||||
if [ ! -d $INSTALL_ROOT_TOOLS ]; then
|
|
||||||
echo "Creating $INSTALL_ROOT_TOOLS and installing packages"
|
|
||||||
pkg image-create $INSTALL_ROOT_TOOLS
|
|
||||||
pkg -R $INSTALL_ROOT_TOOLS set-publisher -P -g ${PUBLISHER_URI} solaris
|
|
||||||
sudo pkg -R $INSTALL_ROOT_TOOLS install --accept \
|
|
||||||
entire@0.5.11-0.175.2.5.0.5.0 \
|
|
||||||
system/linker \
|
|
||||||
developer/base-developer-utilities \
|
|
||||||
developer/gnu-binutils
|
|
||||||
else
|
|
||||||
echo "Skipping installing tools packages"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -d $SYSROOT ]; then
|
|
||||||
echo "Copying from $INSTALL_ROOT to $SYSROOT"
|
|
||||||
mkdir -p $SYSROOT
|
|
||||||
cp -rH $INSTALL_ROOT/lib $SYSROOT/
|
|
||||||
mkdir $SYSROOT/usr
|
|
||||||
cp -rH $INSTALL_ROOT/usr/lib $SYSROOT/usr/
|
|
||||||
cp -rH $INSTALL_ROOT/usr/include $SYSROOT/usr/
|
|
||||||
pkg -R $INSTALL_ROOT list > $SYSROOT/pkg-list.txt
|
|
||||||
else
|
|
||||||
echo "Skipping copying to $SYSROOT"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -d $DEVKIT_ROOT/tools ]; then
|
|
||||||
echo "Copying from $INSTALL_ROOT_TOOLS to $DEVKIT_ROOT/tools"
|
|
||||||
# Some of the tools in sysroot are needed in the OpenJDK build. We need
|
|
||||||
# to copy them into a tools dir, including their specific libraries.
|
|
||||||
mkdir -p $DEVKIT_ROOT/tools/usr/bin/sparcv9 $DEVKIT_ROOT/tools/lib/sparcv9 \
|
|
||||||
$DEVKIT_ROOT/tools/usr/gnu/bin
|
|
||||||
cp $INSTALL_ROOT_TOOLS/usr/bin/{ar,nm,strip,ld,ldd} \
|
|
||||||
$DEVKIT_ROOT/tools/usr/bin/
|
|
||||||
cp $INSTALL_ROOT_TOOLS/usr/bin/sparcv9/{ar,nm,strip,ld,ldd} \
|
|
||||||
$DEVKIT_ROOT/tools/usr/bin/sparcv9/
|
|
||||||
cp $INSTALL_ROOT_TOOLS/usr/sbin/dtrace $DEVKIT_ROOT/tools/usr/bin/
|
|
||||||
cp $INSTALL_ROOT_TOOLS/usr/sbin/sparcv9/dtrace $DEVKIT_ROOT/tools/usr/bin/sparcv9/
|
|
||||||
cp -rH $INSTALL_ROOT_TOOLS/usr/gnu/bin/* $DEVKIT_ROOT/tools/usr/gnu/bin/
|
|
||||||
cp $INSTALL_ROOT_TOOLS/lib/{libelf.so*,libld.so*,liblddbg.so*} \
|
|
||||||
$DEVKIT_ROOT/tools/lib/
|
|
||||||
cp $INSTALL_ROOT_TOOLS/lib/sparcv9/{libelf.so*,libld.so*,liblddbg.so*} \
|
|
||||||
$DEVKIT_ROOT/tools/lib/sparcv9/
|
|
||||||
for t in $(ls $DEVKIT_ROOT/tools/usr/gnu/bin); do
|
|
||||||
if [ -f $DEVKIT_ROOT/tools/usr/gnu/bin/$t ]; then
|
|
||||||
ln -s ../gnu/bin/$t $DEVKIT_ROOT/tools/usr/bin/g$t
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
else
|
|
||||||
echo "Skipping copying to tools dir $DEVKIT_ROOT/tools"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -d $SOLARIS_STUDIO_DIR ]; then
|
|
||||||
echo "Copying Solaris Studio from $SOLARIS_STUDIO_SRC"
|
|
||||||
mkdir -p ${SOLARIS_STUDIO_DIR}
|
|
||||||
cp -rH $SOLARIS_STUDIO_SRC/. ${SOLARIS_STUDIO_DIR}/
|
|
||||||
# Solaris Studio 12.4 requires /lib/libmmheap.so.1 to run, but this lib is not
|
|
||||||
# installed by default on all Solaris systems. Sneak it in from the sysroot to
|
|
||||||
# make it run OOTB on more systems.
|
|
||||||
cp $SYSROOT/lib/libmmheap.so.1 $SOLARIS_STUDIO_DIR/lib/compilers/sys/
|
|
||||||
else
|
|
||||||
echo "Skipping copying of Solaris Studio"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Copying gnu make to $DEVKIT_ROOT/bin"
|
|
||||||
cp $GNU_MAKE $DEVKIT_ROOT/tools/usr/bin/
|
|
||||||
if [ ! -e $DEVKIT_ROOT/tools/usr/bin/gmake ]; then
|
|
||||||
ln -s make $DEVKIT_ROOT/tools/usr/bin/gmake
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Create the devkit.info file
|
|
||||||
echo Creating devkit.info
|
|
||||||
INFO_FILE=$DEVKIT_ROOT/devkit.info
|
|
||||||
rm -f $INFO_FILE
|
|
||||||
echo "# This file describes to configure how to interpret the contents of this devkit" >> $INFO_FILE
|
|
||||||
echo "DEVKIT_NAME=\"Solaris Studio $SOLARIS_STUDIO_VERSION - Solaris $SOLARIS_VERSION - $ARCH\"" >> $INFO_FILE
|
|
||||||
echo "DEVKIT_TOOLCHAIN_PATH=\"\$DEVKIT_ROOT/$SOLARIS_STUDIO_SUBDIR/bin:\$DEVKIT_ROOT/bin\"" >> $INFO_FILE
|
|
||||||
echo "DEVKIT_EXTRA_PATH=\"\$DEVKIT_ROOT/tools/usr/bin\"" >> $INFO_FILE
|
|
||||||
echo "DEVKIT_SYSROOT=\"\$DEVKIT_ROOT/sysroot\"" >> $INFO_FILE
|
|
||||||
|
|
||||||
if [ ! -e $BUNDLE ]; then
|
|
||||||
echo "Creating $BUNDLE from $DEVKIT_ROOT"
|
|
||||||
cd $DEVKIT_ROOT/..
|
|
||||||
tar zcf $BUNDLE $DEVKIT_NAME
|
|
||||||
else
|
|
||||||
echo "Skipping creation of $BUNDLE"
|
|
||||||
fi
|
|
@ -1,168 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
#
|
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
|
||||||
# under the terms of the GNU General Public License version 2 only, as
|
|
||||||
# published by the Free Software Foundation. Oracle designates this
|
|
||||||
# particular file as subject to the "Classpath" exception as provided
|
|
||||||
# by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
#
|
|
||||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
# version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
# accompanied this code).
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License version
|
|
||||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
#
|
|
||||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
# or visit www.oracle.com if you need additional information or have any
|
|
||||||
# questions.
|
|
||||||
#
|
|
||||||
|
|
||||||
# This script creates a devkit for building OpenJDK on Solaris by copying
|
|
||||||
# part of a Solaris Studio installation and cretaing a sysroot by installing
|
|
||||||
# a limited set of system packages. It is assumed that a suitable pkg
|
|
||||||
# publisher is configured for the system where the script is executed.
|
|
||||||
#
|
|
||||||
# Note that you will need to be able to sudo to root to run the pkg install
|
|
||||||
# part of this script. It should not affect the running system, but only
|
|
||||||
# install in a separate temporary image.
|
|
||||||
#
|
|
||||||
# The Solaris Studio installation must contain at least these packages:
|
|
||||||
#developer/developerstudio-126/backend 12.6-1.0.0.1
|
|
||||||
#developer/developerstudio-126/c++ 12.6-1.0.2.0
|
|
||||||
#developer/developerstudio-126/cc 12.6-1.0.1.0
|
|
||||||
#developer/developerstudio-126/dbx 12.6-1.0.0.1
|
|
||||||
#developer/developerstudio-126/library/c++-libs 12.6-1.0.2.0
|
|
||||||
#developer/developerstudio-126/library/c-libs 12.6-1.0.0.1
|
|
||||||
#developer/developerstudio-126/library/f90-libs 12.6-1.0.0.1
|
|
||||||
#developer/developerstudio-126/library/math-libs 12.6-1.0.0.1
|
|
||||||
#developer/developerstudio-126/library/studio-gccrt 12.6-1.0.0.1
|
|
||||||
#developer/developerstudio-126/studio-common 12.6-1.0.0.1
|
|
||||||
#developer/developerstudio-126/studio-ja 12.6-1.0.0.1
|
|
||||||
#developer/developerstudio-126/studio-legal 12.6-1.0.0.1
|
|
||||||
#developer/developerstudio-126/studio-zhCN 12.6-1.0.0.1
|
|
||||||
#
|
|
||||||
# erik.joelsson@oracle.com
|
|
||||||
|
|
||||||
USAGE="$0 <Solaris Studio installation>"
|
|
||||||
|
|
||||||
if [ "$1" = "" ]; then
|
|
||||||
echo $USAGE
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
SOLARIS_STUDIO_VERSION=12u6
|
|
||||||
SOLARIS_VERSION=11u3
|
|
||||||
SOLARIS_ENTIRE_VERSION=0.5.11-0.175.3.20.0.6.0
|
|
||||||
case `uname -p` in
|
|
||||||
i*)
|
|
||||||
ARCH=x86
|
|
||||||
;;
|
|
||||||
sparc*)
|
|
||||||
ARCH=sparc
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
SOLARIS_STUDIO_SRC=$1
|
|
||||||
|
|
||||||
SCRIPT_DIR="$(cd "$(dirname $0)" > /dev/null && pwd)"
|
|
||||||
BUILD_DIR="${SCRIPT_DIR}/../../build/devkit"
|
|
||||||
|
|
||||||
DEVKIT_NAME=SS${SOLARIS_STUDIO_VERSION}-Solaris${SOLARIS_VERSION}
|
|
||||||
DEVKIT_ROOT=${BUILD_DIR}/${DEVKIT_NAME}
|
|
||||||
BUNDLE_NAME=${DEVKIT_NAME}.tar.gz
|
|
||||||
BUNDLE=${BUILD_DIR}/${BUNDLE_NAME}
|
|
||||||
INSTALL_ROOT=${BUILD_DIR}/install-root-$SOLARIS_VERSION
|
|
||||||
SYSROOT=${DEVKIT_ROOT}/sysroot
|
|
||||||
SOLARIS_STUDIO_SUBDIR=SS${SOLARIS_STUDIO_VERSION}
|
|
||||||
SOLARIS_STUDIO_DIR=${DEVKIT_ROOT}/${SOLARIS_STUDIO_SUBDIR}
|
|
||||||
|
|
||||||
# Extract the publisher from the system
|
|
||||||
if [ -z "${PUBLISHER_URI}" ]; then
|
|
||||||
PUBLISHER_URI="$(pkg publisher solaris | grep URI | awk '{ print $3 }')"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -d $INSTALL_ROOT ]; then
|
|
||||||
echo "Creating $INSTALL_ROOT and installing packages"
|
|
||||||
pkg image-create $INSTALL_ROOT
|
|
||||||
pkg -R $INSTALL_ROOT set-publisher -P -g ${PUBLISHER_URI} solaris
|
|
||||||
sudo pkg -R $INSTALL_ROOT install --accept entire@$SOLARIS_ENTIRE_VERSION \
|
|
||||||
system/install developer/gnu-binutils system/library/mmheap system/picl \
|
|
||||||
developer/assembler system/library/freetype-2
|
|
||||||
else
|
|
||||||
echo "Skipping installing packages"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -d $SYSROOT ]; then
|
|
||||||
echo "Copying from $INSTALL_ROOT to $SYSROOT"
|
|
||||||
mkdir -p $SYSROOT
|
|
||||||
cp -rH $INSTALL_ROOT/lib $SYSROOT/
|
|
||||||
mkdir $SYSROOT/usr
|
|
||||||
cp -rH $INSTALL_ROOT/usr/lib $SYSROOT/usr/
|
|
||||||
cp -rH $INSTALL_ROOT/usr/include $SYSROOT/usr/
|
|
||||||
pkg -R $INSTALL_ROOT list > $SYSROOT/pkg-list.txt
|
|
||||||
else
|
|
||||||
echo "Skipping copying to $SYSROOT"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -d $DEVKIT_ROOT/tools ]; then
|
|
||||||
# Some of the tools in sysroot are needed in the OpenJDK build. We need
|
|
||||||
# to copy them into a tools dir, including their specific libraries.
|
|
||||||
mkdir -p $DEVKIT_ROOT/tools/usr/bin $DEVKIT_ROOT/tools/lib/sparcv9 \
|
|
||||||
$DEVKIT_ROOT/tools/usr/gnu/bin $DEVKIT_ROOT/tools/usr/bin/sparcv9
|
|
||||||
cp $INSTALL_ROOT/usr/bin/{as,ar,nm,strip,ld,pigz,ldd} \
|
|
||||||
$DEVKIT_ROOT/tools/usr/bin/
|
|
||||||
cp $INSTALL_ROOT/usr/sbin/dtrace $DEVKIT_ROOT/tools/usr/bin/
|
|
||||||
cp $INSTALL_ROOT/usr/sbin/sparcv9/dtrace $DEVKIT_ROOT/tools/usr/bin/sparcv9/
|
|
||||||
cp -rH $INSTALL_ROOT/usr/gnu/bin/* $DEVKIT_ROOT/tools/usr/gnu/bin/
|
|
||||||
cp $INSTALL_ROOT/lib/sparcv9/{libelf.so*,libld.so*,liblddbg.so*} $DEVKIT_ROOT/tools/lib/sparcv9/
|
|
||||||
for t in $(ls $DEVKIT_ROOT/tools/usr/gnu/bin); do
|
|
||||||
if [ -f $DEVKIT_ROOT/tools/usr/gnu/bin/$t ]; then
|
|
||||||
ln -s ../gnu/bin/$t $DEVKIT_ROOT/tools/usr/bin/g$t
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
else
|
|
||||||
echo "Skipping copying to tools dir $DEVKIT_ROOT/tools"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -d $SOLARIS_STUDIO_DIR ]; then
|
|
||||||
echo "Copying Solaris Studio from $SOLARIS_STUDIO_SRC"
|
|
||||||
mkdir -p ${SOLARIS_STUDIO_DIR}
|
|
||||||
cp -rH $SOLARIS_STUDIO_SRC/. ${SOLARIS_STUDIO_DIR}/
|
|
||||||
# Solaris Studio 12.6 requires libmmheap.so.1 and libsunmath.so.1 to run, but
|
|
||||||
# these libs are not installed by default on all Solaris systems.
|
|
||||||
# Sneak them in from the sysroot to make it run OOTB on more systems.
|
|
||||||
cp $SYSROOT/lib/libsunmath.so.1 $SOLARIS_STUDIO_DIR/lib/compilers/sys/
|
|
||||||
cp $SYSROOT/lib/sparcv9/libsunmath.so.1 $SOLARIS_STUDIO_DIR/lib/compilers/sys/sparcv9/
|
|
||||||
cp $SYSROOT/lib/libmmheap.so.1 $SOLARIS_STUDIO_DIR/lib/compilers/sys/
|
|
||||||
cp $SYSROOT/lib/sparcv9/libmmheap.so.1 $SOLARIS_STUDIO_DIR/lib/compilers/sys/sparcv9/
|
|
||||||
else
|
|
||||||
echo "Skipping copying of Solaris Studio"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Create the devkit.info file
|
|
||||||
echo Creating devkit.info
|
|
||||||
INFO_FILE=$DEVKIT_ROOT/devkit.info
|
|
||||||
rm -f $INFO_FILE
|
|
||||||
echo "# This file describes to configure how to interpret the contents of this devkit" >> $INFO_FILE
|
|
||||||
echo "DEVKIT_NAME=\"Solaris Studio $SOLARIS_STUDIO_VERSION - Solaris $SOLARIS_VERSION - $ARCH\"" >> $INFO_FILE
|
|
||||||
echo "DEVKIT_TOOLCHAIN_PATH=\"\$DEVKIT_ROOT/$SOLARIS_STUDIO_SUBDIR/bin:\$DEVKIT_ROOT/bin\"" >> $INFO_FILE
|
|
||||||
echo "DEVKIT_EXTRA_PATH=\"\$DEVKIT_ROOT/tools/usr/bin\"" >> $INFO_FILE
|
|
||||||
echo "DEVKIT_SYSROOT=\"\$DEVKIT_ROOT/sysroot\"" >> $INFO_FILE
|
|
||||||
|
|
||||||
if [ ! -e $BUNDLE ]; then
|
|
||||||
GZIP=$(command -v pigz)
|
|
||||||
if [ -z "$GZIP" ]; then
|
|
||||||
GZIP="gzip"
|
|
||||||
fi
|
|
||||||
echo "Creating $BUNDLE from $DEVKIT_ROOT"
|
|
||||||
(cd $DEVKIT_ROOT && tar cf - . | $GZIP - > "$BUNDLE")
|
|
||||||
else
|
|
||||||
echo "Skipping creation of $BUNDLE"
|
|
||||||
fi
|
|
@ -1,157 +0,0 @@
|
|||||||
compress/bzip2@1.0.6-0.175.1.0.0.24.0
|
|
||||||
consolidation/X/X-incorporation@0.5.11-0.175.1.21.0.3.1357
|
|
||||||
consolidation/desktop/desktop-incorporation@0.5.11-0.175.1.21.0.4.0
|
|
||||||
consolidation/install/install-incorporation@0.5.11-0.175.2.0.0.5.0
|
|
||||||
consolidation/ips/ips-incorporation@0.5.11-0.175.1.20.0.3.0
|
|
||||||
consolidation/l10n/l10n-incorporation@0.5.11-0.175.1.16.0.2.2
|
|
||||||
consolidation/osnet/osnet-incorporation@0.5.11-0.175.1.21.0.4.2
|
|
||||||
consolidation/sic_team/sic_team-incorporation@0.5.11-0.175.2.0.0.39.0
|
|
||||||
consolidation/solaris_re/solaris_re-incorporation@0.5.11-0.175.2.4.0.4.0
|
|
||||||
consolidation/sunpro/sunpro-incorporation@0.5.11-0.175.1.19.0.4.0
|
|
||||||
crypto/ca-certificates@0.5.11-0.175.1.0.0.24.2
|
|
||||||
database/berkeleydb-5@5.1.25-0.175.1.0.0.24.0
|
|
||||||
database/mysql-51/library@5.1.37-0.175.1.10.0.5.0
|
|
||||||
database/sqlite-3@3.7.14.1-0.175.1.10.0.4.0
|
|
||||||
developer/base-developer-utilities@0.5.11-0.175.1.11.0.1.2
|
|
||||||
developer/gnu-binutils@2.21.1-0.175.1.0.0.24.0
|
|
||||||
developer/macro/cpp@0.5.11-0.175.1.19.0.4.0
|
|
||||||
driver/management/bmc@0.5.11-0.175.1.0.0.24.2
|
|
||||||
driver/management/ipmi@0.5.11-0.175.1.6.0.3.2
|
|
||||||
driver/serial/usbser@0.5.11-0.175.1.0.0.24.2
|
|
||||||
driver/storage/mpt@0.5.11-0.175.1.18.0.3.2
|
|
||||||
image/library/libjpeg@6.0.2-0.175.0.0.0.0.0
|
|
||||||
image/library/libpng@1.4.11-0.175.1.0.0.16.0
|
|
||||||
image/library/libtiff@3.9.5-0.175.1.15.0.2.0
|
|
||||||
library/apr-13@1.3.9-0.175.1.0.0.24.0
|
|
||||||
library/apr-util-13@1.3.9-0.175.1.0.0.24.0
|
|
||||||
library/apr-util-13/apr-ldap@1.3.9-0.175.1.0.0.24.0
|
|
||||||
library/apr-util-13/dbd-mysql@1.3.9-0.175.1.0.0.24.0
|
|
||||||
library/apr-util-13/dbd-sqlite@1.3.9-0.175.1.0.0.24.0
|
|
||||||
library/database/gdbm@1.8.3-0.175.1.0.0.24.0
|
|
||||||
library/expat@2.1.0-0.175.1.0.0.24.0
|
|
||||||
library/libffi@3.0.9-0.175.0.0.0.0.0
|
|
||||||
library/libidn@1.19-0.175.1.0.0.24.0
|
|
||||||
library/libtecla@1.6.1-0.175.1.0.0.24.0
|
|
||||||
library/libxml2@2.7.6-0.175.1.7.0.3.0
|
|
||||||
library/libxslt@1.1.26-0.175.1.11.0.4.0
|
|
||||||
library/ncurses@5.7-0.175.1.0.0.15.0
|
|
||||||
library/nspr@4.9.5-0.175.2.0.0.39.0
|
|
||||||
library/perl-5/sun-solaris-512@0.5.11-0.175.1.11.0.1.2
|
|
||||||
library/print/cups-libs@1.4.5-0.175.1.8.0.3.0
|
|
||||||
library/python-2/cherrypy@3.1.2-0.175.1.0.0.24.0
|
|
||||||
library/python-2/cherrypy-26@3.1.2-0.175.1.0.0.24.0
|
|
||||||
library/python-2/jsonrpclib@0.1.3-0.175.2.0.0.42.1
|
|
||||||
library/python-2/jsonrpclib-26@0.1.3-0.175.2.0.0.42.1
|
|
||||||
library/python-2/libxml2-26@2.7.6-0.175.1.7.0.3.0
|
|
||||||
library/python-2/libxsl-26@1.1.26-0.175.1.11.0.4.0
|
|
||||||
library/python-2/lxml@2.3.3-0.175.1.0.0.24.0
|
|
||||||
library/python-2/lxml-26@2.3.3-0.175.1.0.0.24.0
|
|
||||||
library/python-2/m2crypto@0.21.1-0.175.1.0.0.24.0
|
|
||||||
library/python-2/m2crypto-26@0.21.1-0.175.1.0.0.24.0
|
|
||||||
library/python-2/mako@0.4.1-0.175.1.0.0.24.0
|
|
||||||
library/python-2/mako-26@0.4.1-0.175.1.0.0.24.0
|
|
||||||
library/python-2/ply@3.1-0.175.1.0.0.24.0
|
|
||||||
library/python-2/ply-26@3.1-0.175.1.0.0.24.0
|
|
||||||
library/python-2/pybonjour@1.1.1-0.175.1.0.0.24.0
|
|
||||||
library/python-2/pybonjour-26@1.1.1-0.175.1.0.0.24.0
|
|
||||||
library/python-2/pycurl@7.19.0.1-0.175.1.0.0.24.0
|
|
||||||
library/python-2/pycurl-26@7.19.0.1-0.175.1.0.0.24.0
|
|
||||||
library/python-2/pyopenssl@0.11-0.175.1.0.0.24.0
|
|
||||||
library/python-2/pyopenssl-26@0.11-0.175.1.0.0.24.0
|
|
||||||
library/python-2/python-extra-26@2.6.4-0.175.1.0.0.15.0
|
|
||||||
library/python-2/simplejson-26@2.1.2-0.175.1.7.0.4.0
|
|
||||||
library/readline@5.2-0.175.1.0.0.24.0
|
|
||||||
library/security/nss@4.14.3-0.175.2.0.0.39.0
|
|
||||||
library/security/openssl@1.0.0.13-0.175.1.21.0.2.0
|
|
||||||
library/security/trousers@0.3.6-0.175.1.0.0.24.0
|
|
||||||
library/zlib@1.2.3-0.175.1.0.0.24.0
|
|
||||||
media/cdrtools@3.0-0.175.1.21.0.4.0
|
|
||||||
media/xorriso@0.6.0-0.175.1.0.0.24.0
|
|
||||||
network/bridging@0.5.11-0.175.1.12.0.3.2
|
|
||||||
package/pkg@0.5.11-0.175.1.20.0.3.0
|
|
||||||
package/pkg/system-repository@0.5.11-0.175.1.9.0.1.0
|
|
||||||
package/pkg/zones-proxy@0.5.11-0.175.1.0.0.24.0
|
|
||||||
package/svr4@0.5.11-0.175.1.7.0.3.2
|
|
||||||
print/cups@1.4.5-0.175.1.8.0.3.0
|
|
||||||
release/name@0.5.11-0.175.2.4.0.4.0
|
|
||||||
runtime/perl-512@5.12.5-0.175.1.8.0.4.0
|
|
||||||
runtime/python-26@2.6.8-0.175.1.17.0.4.0
|
|
||||||
service/network/dns/mdns@0.5.11-0.175.1.0.0.24.2
|
|
||||||
service/network/slp@0.5.11-0.175.1.0.0.24.2
|
|
||||||
service/security/gss@0.5.11-0.175.1.0.0.24.2
|
|
||||||
service/security/kerberos-5@0.5.11-0.175.1.18.0.2.2
|
|
||||||
shell/bash@4.1.9-0.175.1.13.0.1.0
|
|
||||||
shell/ksh93@93.21.0.20110208-0.175.1.19.0.2.0
|
|
||||||
system/boot-environment-utilities@0.5.11-0.175.1.9.0.1.2
|
|
||||||
system/boot/grub@1.99-0.175.1.14.0.2.2
|
|
||||||
system/boot/wanboot@0.5.11-0.175.1.0.0.24.2
|
|
||||||
system/core-os@0.5.11-0.175.1.20.0.4.2
|
|
||||||
system/data/keyboard/keytables@0.5.11-0.175.1.0.0.24.2
|
|
||||||
system/data/terminfo/terminfo-core@0.5.11-0.175.1.14.0.3.2
|
|
||||||
system/data/timezone@0.5.11-0.175.2.5.0.2.0
|
|
||||||
system/device-administration@0.5.11-0.175.1.9.0.2.2
|
|
||||||
system/dtrace@0.5.11-0.175.1.20.0.4.2
|
|
||||||
system/dynamic-reconfiguration@0.5.11-0.175.1.13.0.2.2
|
|
||||||
system/fault-management@0.5.11-0.175.1.18.0.4.2
|
|
||||||
system/file-system/hsfs@0.5.11-0.175.1.0.0.24.2
|
|
||||||
system/file-system/pcfs@0.5.11-0.175.1.0.0.24.2
|
|
||||||
system/file-system/ufs@0.5.11-0.175.1.18.0.3.2
|
|
||||||
system/file-system/zfs@0.5.11-0.175.1.21.0.3.2
|
|
||||||
system/header@0.5.11-0.175.1.20.0.4.2
|
|
||||||
system/install@0.5.11-0.175.1.0.0.24.1736
|
|
||||||
system/install/auto-install/auto-install-common@0.5.11-0.175.1.18.0.3.1736
|
|
||||||
system/install/configuration@0.5.11-0.175.1.10.0.3.1736
|
|
||||||
system/install/locale@0.5.11-0.175.1.0.0.23.1134
|
|
||||||
system/io/infiniband@0.5.11-0.175.1.20.0.4.2
|
|
||||||
system/io/ultra-wideband@0.5.11-0.175.1.0.0.24.2
|
|
||||||
system/io/usb@0.5.11-0.175.1.19.0.2.2
|
|
||||||
system/kernel@0.5.11-0.175.1.21.0.4.2
|
|
||||||
system/kernel/cpu-counters@0.5.11-0.175.1.17.0.1.2
|
|
||||||
system/kernel/platform@0.5.11-0.175.1.21.0.4.2
|
|
||||||
system/keyboard/keyboard-utilities@0.5.11-0.175.1.0.0.24.2
|
|
||||||
system/library@0.5.11-0.175.1.20.0.3.2
|
|
||||||
system/library/boot-management@0.5.11-0.175.1.19.0.1.2
|
|
||||||
system/library/c++-runtime@0.5.11-0.175.1.19.0.4.0
|
|
||||||
system/library/freetype-2@2.4.11-0.175.1.18.0.1.1350
|
|
||||||
system/library/gcc-3-runtime@3.4.3-0.175.1.0.0.24.0
|
|
||||||
system/library/iconv/utf-8@0.5.11-0.175.1.9.0.1.1150
|
|
||||||
system/library/install@0.5.11-0.175.1.18.0.3.1736
|
|
||||||
system/library/libdbus@1.2.28-0.175.1.16.0.2.0
|
|
||||||
system/library/math@0.5.11-0.175.1.19.0.4.0
|
|
||||||
system/library/mmheap@0.5.11-0.175.1.19.0.4.0
|
|
||||||
system/library/security/gss@0.5.11-0.175.1.18.0.3.2
|
|
||||||
system/library/security/gss/diffie-hellman@0.5.11-0.175.1.0.0.24.2
|
|
||||||
system/library/security/gss/spnego@0.5.11-0.175.1.16.0.1.2
|
|
||||||
system/library/security/libsasl@0.5.11-0.175.1.0.0.24.2
|
|
||||||
system/library/storage/libdiskmgt@0.5.11-0.175.1.5.0.3.2
|
|
||||||
system/library/storage/scsi-plugins@0.5.11-0.175.1.0.0.24.2
|
|
||||||
system/library/storage/snia-ima@0.5.11-0.175.1.0.0.24.2
|
|
||||||
system/library/storage/suri@0.5.11-0.175.1.0.0.24.2
|
|
||||||
system/linker@0.5.11-0.175.1.20.0.1.2
|
|
||||||
system/network@0.5.11-0.175.1.20.0.3.2
|
|
||||||
system/picl@0.5.11-0.175.1.17.0.3.2
|
|
||||||
system/resource-mgmt/resource-pools@0.5.11-0.175.1.0.0.24.2
|
|
||||||
system/storage/iscsi/iscsi-initiator@0.5.11-0.175.1.19.0.3.2
|
|
||||||
system/storage/iscsi/iscsi-iser@0.5.11-0.175.1.20.0.3.2
|
|
||||||
system/system-events@0.5.11-0.175.1.0.0.24.2
|
|
||||||
system/xopen/xcu4@0.5.11-0.175.1.13.0.4.2
|
|
||||||
system/zones@0.5.11-0.175.1.17.0.4.2
|
|
||||||
system/zones/brand/brand-solaris@0.5.11-0.175.1.17.0.4.2
|
|
||||||
text/spelling-utilities@0.5.11-0.175.1.0.0.24.2
|
|
||||||
web/curl@7.21.2-0.175.1.18.0.3.0
|
|
||||||
web/server/apache-22@2.2.27-0.175.1.19.0.4.0
|
|
||||||
web/server/apache-22/module/apache-wsgi-26@3.3-0.175.1.0.0.24.0
|
|
||||||
x11/header/x11-protocols@7.7-0.175.1.0.0.24.1317
|
|
||||||
x11/library/libice@1.0.8-0.175.1.0.0.24.1317
|
|
||||||
x11/library/libpthread-stubs@0.3-0.175.1.0.0.24.1317
|
|
||||||
x11/library/libsm@1.2.1-0.175.1.0.0.24.1317
|
|
||||||
x11/library/libx11@1.5.0-0.175.1.8.0.4.1336
|
|
||||||
x11/library/libxau@1.0.7-0.175.1.0.0.24.1317
|
|
||||||
x11/library/libxcb@1.8.1-0.175.1.8.0.3.1332
|
|
||||||
x11/library/libxdmcp@1.1.1-0.175.1.0.0.24.1317
|
|
||||||
x11/library/libxevie@1.0.3-0.175.1.0.0.24.1317
|
|
||||||
x11/library/libxext@1.3.1-0.175.1.8.0.3.1332
|
|
||||||
x11/library/libxrender@0.9.7-0.175.1.8.0.3.1332
|
|
||||||
x11/library/libxscrnsaver@1.2.2-0.175.1.0.0.24.1317
|
|
||||||
x11/library/libxtst@1.2.1-0.175.1.8.0.3.1332
|
|
||||||
x11/library/toolkit/libxt@1.1.3-0.175.1.8.0.3.1332
|
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -36,10 +36,6 @@ ifeq ($(call check-jvm-feature, compiler2), true)
|
|||||||
# NOTE: No optimization or debug flags set here
|
# NOTE: No optimization or debug flags set here
|
||||||
ifeq ($(call isBuildOs, linux), true)
|
ifeq ($(call isBuildOs, linux), true)
|
||||||
ADLC_CFLAGS := -fno-exceptions -DLINUX
|
ADLC_CFLAGS := -fno-exceptions -DLINUX
|
||||||
else ifeq ($(call isBuildOs, solaris), true)
|
|
||||||
ADLC_LDFLAGS := -m64
|
|
||||||
ADLC_CFLAGS := -m64
|
|
||||||
ADLC_CFLAGS_WARNINGS := +w
|
|
||||||
else ifeq ($(call isBuildOs, aix), true)
|
else ifeq ($(call isBuildOs, aix), true)
|
||||||
ADLC_LDFLAGS := -q64
|
ADLC_LDFLAGS := -q64
|
||||||
ADLC_CFLAGS := -qnortti -qeh -q64 -DAIX
|
ADLC_CFLAGS := -qnortti -qeh -q64 -DAIX
|
||||||
@ -88,8 +84,6 @@ ifeq ($(call check-jvm-feature, compiler2), true)
|
|||||||
# ADLC flags depending on target OS
|
# ADLC flags depending on target OS
|
||||||
ifeq ($(call isTargetOs, linux), true)
|
ifeq ($(call isTargetOs, linux), true)
|
||||||
ADLCFLAGS += -DLINUX=1 -D_GNU_SOURCE=1
|
ADLCFLAGS += -DLINUX=1 -D_GNU_SOURCE=1
|
||||||
else ifeq ($(call isTargetOs, solaris), true)
|
|
||||||
ADLCFLAGS += -DSOLARIS=1 -DSPARC_WORKS=1
|
|
||||||
else ifeq ($(call isTargetOs, aix), true)
|
else ifeq ($(call isTargetOs, aix), true)
|
||||||
ADLCFLAGS += -DAIX=1
|
ADLCFLAGS += -DAIX=1
|
||||||
else ifeq ($(call isTargetOs, macosx), true)
|
else ifeq ($(call isTargetOs, macosx), true)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -28,10 +28,7 @@
|
|||||||
|
|
||||||
ifeq ($(call check-jvm-feature, dtrace), true)
|
ifeq ($(call check-jvm-feature, dtrace), true)
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, solaris), true)
|
ifeq ($(call isTargetOs, macosx), true)
|
||||||
DTRACE_FLAGS := -64
|
|
||||||
DTRACE_CPP_FLAGS := -D_LP64
|
|
||||||
else ifeq ($(call isTargetOs, macosx), true)
|
|
||||||
DTRACE_CPP_FLAGS := -D_LP64 -x c
|
DTRACE_CPP_FLAGS := -D_LP64 -x c
|
||||||
else ifeq ($(call isTargetOs, linux), true)
|
else ifeq ($(call isTargetOs, linux), true)
|
||||||
DTRACE_CPP_FLAGS := -x c
|
DTRACE_CPP_FLAGS := -x c
|
||||||
@ -54,61 +51,4 @@ ifeq ($(call check-jvm-feature, dtrace), true)
|
|||||||
TARGETS += $(patsubst $(DTRACE_SOURCE_DIR)/%.d, \
|
TARGETS += $(patsubst $(DTRACE_SOURCE_DIR)/%.d, \
|
||||||
$(DTRACE_GENSRC_DIR)/%.h, $(wildcard $(DTRACE_SOURCE_DIR)/*.d))
|
$(DTRACE_GENSRC_DIR)/%.h, $(wildcard $(DTRACE_SOURCE_DIR)/*.d))
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, solaris), true)
|
|
||||||
############################################################################
|
|
||||||
# First we need to generate the dtraceGenOffsets tool. When run, this will
|
|
||||||
# produce two header files and a C++ file. Note that generateJvmOffsets.cpp
|
|
||||||
# is using the same JVM_CFLAGS as libjvm.so.
|
|
||||||
|
|
||||||
# Include support files that will setup JVM compiler flags.
|
|
||||||
include lib/JvmFeatures.gmk
|
|
||||||
include lib/JvmFlags.gmk
|
|
||||||
|
|
||||||
# We cannot compile until the JVMTI and JFR gensrc has finished.
|
|
||||||
# JFR_FILES is defined in GensrcJfr.gmk.
|
|
||||||
JVMTI_H := $(JVM_VARIANT_OUTPUTDIR)/gensrc/jvmtifiles/jvmti.h
|
|
||||||
|
|
||||||
$(eval $(call SetupNativeCompilation, BUILD_DTRACE_GEN_OFFSETS, \
|
|
||||||
NAME := dtraceGenOffsets, \
|
|
||||||
TYPE := EXECUTABLE, \
|
|
||||||
SRC := $(TOPDIR)/make/hotspot/src/native/dtrace, \
|
|
||||||
TOOLCHAIN := $(TOOLCHAIN_BUILD), \
|
|
||||||
LDFLAGS := -m64, \
|
|
||||||
CFLAGS := -m64 $(JVM_CFLAGS), \
|
|
||||||
DISABLED_WARNINGS_solstudio := hidef w_novirtualdescr unknownpragma \
|
|
||||||
doubunder nokeyworddefine wunreachable, \
|
|
||||||
EXTRA_DEPS := $(JVMTI_H) $(JFR_FILES), \
|
|
||||||
OBJECT_DIR := $(JVM_VARIANT_OUTPUTDIR)/tools/dtrace-gen-offsets/objs, \
|
|
||||||
OUTPUT_DIR := $(JVM_VARIANT_OUTPUTDIR)/tools/dtrace-gen-offsets, \
|
|
||||||
))
|
|
||||||
|
|
||||||
DTRACE_GEN_OFFSETS_TOOL := $(BUILD_DTRACE_GEN_OFFSETS_TARGET)
|
|
||||||
|
|
||||||
# Argument 1: Output filename
|
|
||||||
# Argument 2: dtrace-gen-offset tool command line option
|
|
||||||
define SetupDtraceOffsetsGeneration
|
|
||||||
$$(eval $$(call SetupExecute, dtrace_offset_$$(strip $2), \
|
|
||||||
INFO := Generating dtrace $2 file, \
|
|
||||||
DEPS := $$(BUILD_DTRACE_GEN_OFFSETS), \
|
|
||||||
OUTPUT_FILE := $1, \
|
|
||||||
COMMAND := ( $$(DTRACE_GEN_OFFSETS_TOOL) -$$(strip $2) > $1 ), \
|
|
||||||
))
|
|
||||||
|
|
||||||
TARGETS += $$(dtrace_offset_$$(strip $2)_TARGET)
|
|
||||||
endef
|
|
||||||
|
|
||||||
JVM_OFFSETS_H := $(DTRACE_GENSRC_DIR)/JvmOffsets.h
|
|
||||||
JVM_OFFSETS_CPP := $(DTRACE_GENSRC_DIR)/JvmOffsets.cpp
|
|
||||||
JVM_OFFSETS_INDEX_H := $(DTRACE_GENSRC_DIR)/JvmOffsetsIndex.h
|
|
||||||
|
|
||||||
############################################################################
|
|
||||||
# Run the dtrace-gen-offset tool to generate these three files.
|
|
||||||
# The generated JvmOffsets.cpp is compiled with the rest of libjvm.
|
|
||||||
# The header files are used by libjvm_db and jhelper.d, respectively.
|
|
||||||
|
|
||||||
$(eval $(call SetupDtraceOffsetsGeneration, $(JVM_OFFSETS_H), header))
|
|
||||||
$(eval $(call SetupDtraceOffsetsGeneration, $(JVM_OFFSETS_INDEX_H), index))
|
|
||||||
$(eval $(call SetupDtraceOffsetsGeneration, $(JVM_OFFSETS_CPP), table))
|
|
||||||
endif
|
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
@ -1,62 +0,0 @@
|
|||||||
#
|
|
||||||
# Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
#
|
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
|
||||||
# under the terms of the GNU General Public License version 2 only, as
|
|
||||||
# published by the Free Software Foundation. Oracle designates this
|
|
||||||
# particular file as subject to the "Classpath" exception as provided
|
|
||||||
# by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
#
|
|
||||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
# version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
# accompanied this code).
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License version
|
|
||||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
#
|
|
||||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
# or visit www.oracle.com if you need additional information or have any
|
|
||||||
# questions.
|
|
||||||
#
|
|
||||||
|
|
||||||
ifeq ($(call check-jvm-feature, dtrace), true)
|
|
||||||
ifeq ($(call isTargetOs, solaris), true)
|
|
||||||
JNI_INCLUDE_FLAGS := \
|
|
||||||
-I$(SUPPORT_OUTPUTDIR)/modules_include/java.base \
|
|
||||||
-I$(SUPPORT_OUTPUTDIR)/modules_include/java.base/$(OPENJDK_TARGET_OS_INCLUDE_SUBDIR) \
|
|
||||||
#
|
|
||||||
|
|
||||||
############################################################################
|
|
||||||
# Build the stand-alone dtrace libraries.
|
|
||||||
|
|
||||||
LIBJVM_DTRACE_OUTPUTDIR := $(JVM_VARIANT_OUTPUTDIR)/libjvm_dtrace
|
|
||||||
$(eval $(call SetupNativeCompilation, BUILD_LIBJVM_DTRACE, \
|
|
||||||
NAME := jvm_dtrace, \
|
|
||||||
OUTPUT_DIR := $(JVM_LIB_OUTPUTDIR), \
|
|
||||||
SRC := $(TOPDIR)/src/java.base/solaris/native/libjvm_dtrace, \
|
|
||||||
CFLAGS := $(JNI_INCLUDE_FLAGS) -m64 -G -mt -KPIC -xldscope=hidden, \
|
|
||||||
LDFLAGS := -m64 -mt -xnolib $(SHARED_LIBRARY_FLAGS), \
|
|
||||||
LIBS := $(LIBDL) -lthread -ldoor, \
|
|
||||||
OBJECT_DIR := $(LIBJVM_DTRACE_OUTPUTDIR)/objs, \
|
|
||||||
))
|
|
||||||
|
|
||||||
# Note that libjvm_db.c has tests for COMPILER2, but this was never set by
|
|
||||||
# the old build.
|
|
||||||
LIBJVM_DB_OUTPUTDIR := $(JVM_VARIANT_OUTPUTDIR)/libjvm_db
|
|
||||||
$(eval $(call SetupNativeCompilation, BUILD_LIBJVM_DB, \
|
|
||||||
NAME := jvm_db, \
|
|
||||||
OUTPUT_DIR := $(JVM_LIB_OUTPUTDIR), \
|
|
||||||
SRC := $(TOPDIR)/src/java.base/solaris/native/libjvm_db, \
|
|
||||||
CFLAGS := -I$(DTRACE_GENSRC_DIR) $(JNI_INCLUDE_FLAGS) -m64 -G -mt -KPIC -xldscope=hidden, \
|
|
||||||
LDFLAGS := -m64 -mt -xnolib $(SHARED_LIBRARY_FLAGS), \
|
|
||||||
OBJECT_DIR := $(LIBJVM_DB_OUTPUTDIR)/objs, \
|
|
||||||
))
|
|
||||||
|
|
||||||
TARGETS += $(BUILD_LIBJVM_DTRACE) $(BUILD_LIBJVM_DB)
|
|
||||||
|
|
||||||
endif
|
|
||||||
endif
|
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -76,17 +76,13 @@ $(eval $(call SetupNativeCompilation, BUILD_GTEST_LIBJVM, \
|
|||||||
-I$(GTEST_FRAMEWORK_SRC)/googlemock/include \
|
-I$(GTEST_FRAMEWORK_SRC)/googlemock/include \
|
||||||
$(addprefix -I,$(GTEST_TEST_SRC)), \
|
$(addprefix -I,$(GTEST_TEST_SRC)), \
|
||||||
CFLAGS_windows := -EHsc, \
|
CFLAGS_windows := -EHsc, \
|
||||||
CFLAGS_solaris := -DGTEST_HAS_EXCEPTIONS=0 -library=stlport4, \
|
|
||||||
CFLAGS_macosx := -DGTEST_OS_MAC=1, \
|
CFLAGS_macosx := -DGTEST_OS_MAC=1, \
|
||||||
DISABLED_WARNINGS_gcc := $(DISABLED_WARNINGS_gcc) \
|
DISABLED_WARNINGS_gcc := $(DISABLED_WARNINGS_gcc) \
|
||||||
undef, \
|
undef, \
|
||||||
DISABLED_WARNINGS_clang := $(DISABLED_WARNINGS_clang) \
|
DISABLED_WARNINGS_clang := $(DISABLED_WARNINGS_clang) \
|
||||||
undef switch format-nonliteral tautological-undefined-compare \
|
undef switch format-nonliteral tautological-undefined-compare \
|
||||||
self-assign-overloaded, \
|
self-assign-overloaded, \
|
||||||
DISABLED_WARNINGS_solstudio := $(DISABLED_WARNINGS_solstudio) \
|
|
||||||
identexpected, \
|
|
||||||
LDFLAGS := $(JVM_LDFLAGS), \
|
LDFLAGS := $(JVM_LDFLAGS), \
|
||||||
LDFLAGS_solaris := -library=stlport4 $(call SET_SHARED_LIBRARY_ORIGIN), \
|
|
||||||
LIBS := $(JVM_LIBS), \
|
LIBS := $(JVM_LIBS), \
|
||||||
OPTIMIZATION := $(JVM_OPTIMIZATION), \
|
OPTIMIZATION := $(JVM_OPTIMIZATION), \
|
||||||
MAPFILE := $(GTEST_JVM_MAPFILE), \
|
MAPFILE := $(GTEST_JVM_MAPFILE), \
|
||||||
@ -116,7 +112,6 @@ $(eval $(call SetupNativeCompilation, BUILD_GTEST_LAUNCHER, \
|
|||||||
-I$(GTEST_FRAMEWORK_SRC)/googlemock/include, \
|
-I$(GTEST_FRAMEWORK_SRC)/googlemock/include, \
|
||||||
LDFLAGS := $(LDFLAGS_JDKEXE), \
|
LDFLAGS := $(LDFLAGS_JDKEXE), \
|
||||||
LDFLAGS_unix := -L$(JVM_OUTPUTDIR)/gtest $(call SET_SHARED_LIBRARY_ORIGIN), \
|
LDFLAGS_unix := -L$(JVM_OUTPUTDIR)/gtest $(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||||
LDFLAGS_solaris := -library=stlport4, \
|
|
||||||
LIBS_linux := $(LIBCXX), \
|
LIBS_linux := $(LIBCXX), \
|
||||||
LIBS_unix := -ljvm, \
|
LIBS_unix := -ljvm, \
|
||||||
LIBS_windows := $(JVM_OUTPUTDIR)/gtest/objs/jvm.lib, \
|
LIBS_windows := $(JVM_OUTPUTDIR)/gtest/objs/jvm.lib, \
|
||||||
|
@ -29,9 +29,6 @@ include lib/JvmFeatures.gmk
|
|||||||
include lib/JvmOverrideFiles.gmk
|
include lib/JvmOverrideFiles.gmk
|
||||||
include lib/JvmFlags.gmk
|
include lib/JvmFlags.gmk
|
||||||
|
|
||||||
# Include support files that will setup DTRACE_EXTRA_OBJECT_FILES.
|
|
||||||
include lib/JvmDtraceObjects.gmk
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Setup compilation of the main Hotspot native library (libjvm).
|
# Setup compilation of the main Hotspot native library (libjvm).
|
||||||
|
|
||||||
@ -60,8 +57,6 @@ JVM_EXCLUDES += adlc
|
|||||||
# Needed by abstract_vm_version.cpp
|
# Needed by abstract_vm_version.cpp
|
||||||
ifeq ($(call isTargetCpu, x86_64), true)
|
ifeq ($(call isTargetCpu, x86_64), true)
|
||||||
OPENJDK_TARGET_CPU_VM_VERSION := amd64
|
OPENJDK_TARGET_CPU_VM_VERSION := amd64
|
||||||
else ifeq ($(call isTargetCpu, sparcv9), true)
|
|
||||||
OPENJDK_TARGET_CPU_VM_VERSION := sparc
|
|
||||||
else
|
else
|
||||||
OPENJDK_TARGET_CPU_VM_VERSION := $(OPENJDK_TARGET_CPU)
|
OPENJDK_TARGET_CPU_VM_VERSION := $(OPENJDK_TARGET_CPU)
|
||||||
endif
|
endif
|
||||||
@ -97,10 +92,6 @@ DISABLED_WARNINGS_clang := tautological-compare \
|
|||||||
delete-non-virtual-dtor missing-braces char-subscripts \
|
delete-non-virtual-dtor missing-braces char-subscripts \
|
||||||
ignored-qualifiers missing-field-initializers mismatched-tags
|
ignored-qualifiers missing-field-initializers mismatched-tags
|
||||||
|
|
||||||
DISABLED_WARNINGS_solstudio := labelnotused hidef w_novirtualdescr inlafteruse \
|
|
||||||
unknownpragma doubunder w_enumnotused w_toomanyenumnotused \
|
|
||||||
wvarhidenmem wunreachable wnoretvalue notemsource
|
|
||||||
|
|
||||||
DISABLED_WARNINGS_xlc := tautological-compare shift-negative-value
|
DISABLED_WARNINGS_xlc := tautological-compare shift-negative-value
|
||||||
|
|
||||||
DISABLED_WARNINGS_microsoft :=
|
DISABLED_WARNINGS_microsoft :=
|
||||||
@ -134,29 +125,6 @@ else ifeq ($(call isTargetCpu, x86_64), true)
|
|||||||
JVM_EXCLUDE_PATTERNS += x86_32
|
JVM_EXCLUDE_PATTERNS += x86_32
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Inline assembly for solaris
|
|
||||||
ifeq ($(call isTargetOs, solaris), true)
|
|
||||||
ifeq ($(call isTargetCpu, x86_64), true)
|
|
||||||
JVM_CFLAGS += $(TOPDIR)/src/hotspot/os_cpu/solaris_x86/solaris_x86_64.il
|
|
||||||
else ifeq ($(call isTargetCpu, sparcv9), true)
|
|
||||||
JVM_CFLAGS += $(TOPDIR)/src/hotspot/os_cpu/solaris_sparc/solaris_sparc.il
|
|
||||||
endif
|
|
||||||
# Exclude warnings in devstudio 12.6
|
|
||||||
ifeq ($(CC_VERSION_NUMBER), 5.15)
|
|
||||||
DISABLED_WARNINGS_solstudio += SEC_ARR_OUTSIDE_BOUND_READ \
|
|
||||||
SEC_ARR_OUTSIDE_BOUND_WRITE
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(call And, $(call isTargetOs, solaris) $(call isTargetCpu, sparcv9)), true)
|
|
||||||
ifeq ($(COMPILE_WITH_DEBUG_SYMBOLS), false)
|
|
||||||
# NOTE: In the old build, we weirdly enough set -g/-g0 always, regardless
|
|
||||||
# of if debug symbols were needed. Without it, compilation fails on
|
|
||||||
# sparc! :-(
|
|
||||||
JVM_CFLAGS += -g0
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, windows), true)
|
ifeq ($(call isTargetOs, windows), true)
|
||||||
ifeq ($(call isTargetCpuBits, 64), true)
|
ifeq ($(call isTargetCpuBits, 64), true)
|
||||||
RC_DESC := 64-Bit$(SPACE)
|
RC_DESC := 64-Bit$(SPACE)
|
||||||
@ -185,13 +153,11 @@ $(eval $(call SetupNativeCompilation, BUILD_LIBJVM, \
|
|||||||
EXCLUDES := $(JVM_EXCLUDES), \
|
EXCLUDES := $(JVM_EXCLUDES), \
|
||||||
EXCLUDE_FILES := $(JVM_EXCLUDE_FILES), \
|
EXCLUDE_FILES := $(JVM_EXCLUDE_FILES), \
|
||||||
EXCLUDE_PATTERNS := $(JVM_EXCLUDE_PATTERNS), \
|
EXCLUDE_PATTERNS := $(JVM_EXCLUDE_PATTERNS), \
|
||||||
EXTRA_OBJECT_FILES := $(DTRACE_EXTRA_OBJECT_FILES), \
|
|
||||||
CFLAGS := $(JVM_CFLAGS), \
|
CFLAGS := $(JVM_CFLAGS), \
|
||||||
abstract_vm_version.cpp_CXXFLAGS := $(CFLAGS_VM_VERSION), \
|
abstract_vm_version.cpp_CXXFLAGS := $(CFLAGS_VM_VERSION), \
|
||||||
arguments.cpp_CXXFLAGS := $(CFLAGS_VM_VERSION), \
|
arguments.cpp_CXXFLAGS := $(CFLAGS_VM_VERSION), \
|
||||||
DISABLED_WARNINGS_gcc := $(DISABLED_WARNINGS_gcc), \
|
DISABLED_WARNINGS_gcc := $(DISABLED_WARNINGS_gcc), \
|
||||||
DISABLED_WARNINGS_clang := $(DISABLED_WARNINGS_clang), \
|
DISABLED_WARNINGS_clang := $(DISABLED_WARNINGS_clang), \
|
||||||
DISABLED_WARNINGS_solstudio := $(DISABLED_WARNINGS_solstudio), \
|
|
||||||
DISABLED_WARNINGS_xlc := $(DISABLED_WARNINGS_xlc), \
|
DISABLED_WARNINGS_xlc := $(DISABLED_WARNINGS_xlc), \
|
||||||
DISABLED_WARNINGS_microsoft := $(DISABLED_WARNINGS_microsoft), \
|
DISABLED_WARNINGS_microsoft := $(DISABLED_WARNINGS_microsoft), \
|
||||||
ASFLAGS := $(JVM_ASFLAGS), \
|
ASFLAGS := $(JVM_ASFLAGS), \
|
||||||
@ -275,30 +241,20 @@ TARGETS += $(BUILD_LIBJVM)
|
|||||||
# one) then the global definition will be used, triggering this check.
|
# one) then the global definition will be used, triggering this check.
|
||||||
|
|
||||||
ifneq ($(GENERATE_COMPILE_COMMANDS_ONLY), true)
|
ifneq ($(GENERATE_COMPILE_COMMANDS_ONLY), true)
|
||||||
ifneq ($(filter $(TOOLCHAIN_TYPE), gcc clang solstudio), )
|
ifneq ($(filter $(TOOLCHAIN_TYPE), gcc clang), )
|
||||||
|
|
||||||
DEMANGLED_REGEXP := [^:]operator (new|delete)
|
DEMANGLED_REGEXP := [^:]operator (new|delete)
|
||||||
|
|
||||||
# Running c++filt to find offending symbols in all files is too expensive,
|
# Running c++filt to find offending symbols in all files is too expensive,
|
||||||
# especially on Solaris, so use mangled names when looking for symbols.
|
# so use mangled names when looking for symbols.
|
||||||
# Save the demangling for when something is actually found.
|
# Save the demangling for when something is actually found.
|
||||||
ifeq ($(TOOLCHAIN_TYPE), solstudio)
|
MANGLED_SYMS := \
|
||||||
MANGLED_SYMS := \
|
_ZdaPv \
|
||||||
__1c2n6FL_pv_ \
|
_ZdlPv \
|
||||||
__1c2N6FL_pv_ \
|
_Znam \
|
||||||
__1c2k6Fpv_v_ \
|
_Znwm \
|
||||||
__1c2K6Fpv_v_ \
|
#
|
||||||
#
|
UNDEF_PATTERN := ' U '
|
||||||
UNDEF_PATTERN := UNDEF
|
|
||||||
else
|
|
||||||
MANGLED_SYMS := \
|
|
||||||
_ZdaPv \
|
|
||||||
_ZdlPv \
|
|
||||||
_Znam \
|
|
||||||
_Znwm \
|
|
||||||
#
|
|
||||||
UNDEF_PATTERN := ' U '
|
|
||||||
endif
|
|
||||||
|
|
||||||
define SetupOperatorNewDeleteCheck
|
define SetupOperatorNewDeleteCheck
|
||||||
$1.op_check: $1
|
$1.op_check: $1
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -32,7 +32,6 @@ include NativeCompilation.gmk
|
|||||||
include HotspotCommon.gmk
|
include HotspotCommon.gmk
|
||||||
|
|
||||||
include lib/CompileJvm.gmk
|
include lib/CompileJvm.gmk
|
||||||
include lib/CompileDtraceLibraries.gmk
|
|
||||||
|
|
||||||
ifeq ($(BUILD_GTEST), true)
|
ifeq ($(BUILD_GTEST), true)
|
||||||
include lib/CompileGtest.gmk
|
include lib/CompileGtest.gmk
|
||||||
|
@ -1,135 +0,0 @@
|
|||||||
#
|
|
||||||
# Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
#
|
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
|
||||||
# under the terms of the GNU General Public License version 2 only, as
|
|
||||||
# published by the Free Software Foundation. Oracle designates this
|
|
||||||
# particular file as subject to the "Classpath" exception as provided
|
|
||||||
# by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
#
|
|
||||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
# version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
# accompanied this code).
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License version
|
|
||||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
#
|
|
||||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
# or visit www.oracle.com if you need additional information or have any
|
|
||||||
# questions.
|
|
||||||
#
|
|
||||||
|
|
||||||
ifeq ($(call check-jvm-feature, dtrace), true)
|
|
||||||
ifeq ($(call isTargetOs, solaris), true)
|
|
||||||
|
|
||||||
############################################################################
|
|
||||||
# Integrate with libjvm. Here we generate two object files which are
|
|
||||||
# linked with libjvm.so. This step is complicated from a dependency
|
|
||||||
# perspective. We add these two files to the linking of libjvm using
|
|
||||||
# EXTRA_OBJECT_FILES, but they need to be created outside the call to
|
|
||||||
# SetupNativeCompilation. Also, one of the files is dependent on compiled
|
|
||||||
# object files from the libjvm compilation, so this generation must happen
|
|
||||||
# as a part of the libjvm compilation.
|
|
||||||
|
|
||||||
DTRACE_OBJ := $(JVM_OUTPUTDIR)/objs/dtrace.o
|
|
||||||
DTRACE_JHELPER_OBJ := $(JVM_OUTPUTDIR)/objs/dtrace_jhelper.o
|
|
||||||
|
|
||||||
DTRACE_EXTRA_OBJECT_FILES := $(DTRACE_OBJ) $(DTRACE_JHELPER_OBJ)
|
|
||||||
|
|
||||||
############################################################################
|
|
||||||
# Generate DTRACE_OBJ which is linked with libjvm.so. It depends on a set of
|
|
||||||
# object files from the compilation.
|
|
||||||
|
|
||||||
# Concatenate all *.d files into a single file
|
|
||||||
DTRACE_SOURCE_FILES := $(addprefix $(TOPDIR)/src/hotspot/os/posix/dtrace/, \
|
|
||||||
hotspot_jni.d \
|
|
||||||
hotspot.d \
|
|
||||||
hs_private.d \
|
|
||||||
)
|
|
||||||
|
|
||||||
# *.d in the objs dir is used for generated make dependency files, so use
|
|
||||||
# *.dt for dtrace files to avoid clashes.
|
|
||||||
$(JVM_OUTPUTDIR)/objs/dtrace.dt: $(DTRACE_SOURCE_FILES)
|
|
||||||
$(call LogInfo, Generating $(@F))
|
|
||||||
$(call MakeDir, $(@D))
|
|
||||||
$(CAT) $^ > $@
|
|
||||||
|
|
||||||
DTRACE_INSTRUMENTED_OBJS := $(addprefix $(JVM_OUTPUTDIR)/objs/, \
|
|
||||||
ciEnv.o \
|
|
||||||
classLoadingService.o \
|
|
||||||
compileBroker.o \
|
|
||||||
gcVMOperations.o \
|
|
||||||
hashtable.o \
|
|
||||||
instanceKlass.o \
|
|
||||||
java.o \
|
|
||||||
jni.o \
|
|
||||||
jvm.o \
|
|
||||||
memoryManager.o \
|
|
||||||
nmethod.o \
|
|
||||||
objectMonitor.o \
|
|
||||||
runtimeService.o \
|
|
||||||
sharedRuntime.o \
|
|
||||||
synchronizer.o \
|
|
||||||
thread.o \
|
|
||||||
unsafe.o \
|
|
||||||
vmThread.o \
|
|
||||||
)
|
|
||||||
|
|
||||||
ifeq ($(call check-jvm-feature, parallelgc), true)
|
|
||||||
DTRACE_INSTRUMENTED_OBJS += $(addprefix $(JVM_OUTPUTDIR)/objs/, \
|
|
||||||
psVMOperations.o \
|
|
||||||
)
|
|
||||||
endif
|
|
||||||
|
|
||||||
DTRACE_FLAGS := -64 -G
|
|
||||||
DTRACE_CPP_FLAGS := -D_LP64
|
|
||||||
|
|
||||||
# Make sure we run our selected compiler for preprocessing instead of letting
|
|
||||||
# the dtrace tool pick it on it's own.
|
|
||||||
$(DTRACE_OBJ): $(JVM_OUTPUTDIR)/objs/dtrace.dt $(DTRACE_INSTRUMENTED_OBJS)
|
|
||||||
$(call LogInfo, Generating $(@F) from $(<F) and object files)
|
|
||||||
$(call MakeDir, $(DTRACE_SUPPORT_DIR))
|
|
||||||
$(call ExecuteWithLog, $(DTRACE_SUPPORT_DIR)/$(@F).dt, \
|
|
||||||
($(CPP) $(DTRACE_CPP_FLAGS) $< > $(DTRACE_SUPPORT_DIR)/$(@F).dt))
|
|
||||||
$(call ExecuteWithLog, $@, $(DTRACE) $(DTRACE_FLAGS) -xlazyload -o $@ \
|
|
||||||
-s $(DTRACE_SUPPORT_DIR)/$(@F).dt $(sort $(DTRACE_INSTRUMENTED_OBJS)))
|
|
||||||
|
|
||||||
############################################################################
|
|
||||||
# Generate DTRACE_JHELPER_OBJ which is linked with libjvm.so.
|
|
||||||
|
|
||||||
JHELPER_DTRACE_SRC := $(TOPDIR)/src/hotspot/os/solaris/dtrace/jhelper.d
|
|
||||||
|
|
||||||
# jhelper.d includes JvmOffsetsIndex.h which was created by the gensrc step.
|
|
||||||
DTRACE_GENSRC_DIR := $(JVM_VARIANT_OUTPUTDIR)/gensrc/dtracefiles
|
|
||||||
JVM_OFFSETS_INDEX_H := $(DTRACE_GENSRC_DIR)/JvmOffsetsIndex.h
|
|
||||||
|
|
||||||
# Unfortunately dtrace generates incorrect types for some symbols in
|
|
||||||
# dtrace_jhelper.o, resulting in "warning: symbol X has differing types"
|
|
||||||
# See JDK-6890703 for details.
|
|
||||||
# We work around this by fixing the types for these symbols using elfedit,
|
|
||||||
# after dtrace has generated the .o file.
|
|
||||||
GetElfeditCommands = \
|
|
||||||
$(foreach symbol, \
|
|
||||||
$(shell $(GREP) ^extern $(JHELPER_DTRACE_SRC) | $(AWK) '{ gsub(";","") ; print $$3 }'), \
|
|
||||||
-e 'sym:st_type $(symbol) 1')
|
|
||||||
|
|
||||||
# Make sure we run our selected compiler for preprocessing instead of letting
|
|
||||||
# the dtrace tool pick it on it's own.
|
|
||||||
$(DTRACE_JHELPER_OBJ): $(JHELPER_DTRACE_SRC) $(JVM_OFFSETS_INDEX_H)
|
|
||||||
$(call LogInfo, Running dtrace for $(<F))
|
|
||||||
$(call MakeDir, $(DTRACE_SUPPORT_DIR))
|
|
||||||
$(call ExecuteWithLog, $(DTRACE_SUPPORT_DIR)/$(@F).dt, \
|
|
||||||
($(CPP) $(DTRACE_CPP_FLAGS) -I$(DTRACE_GENSRC_DIR) $^ \
|
|
||||||
> $(DTRACE_SUPPORT_DIR)/$(@F).dt))
|
|
||||||
$(call ExecuteWithLog, $@, $(DTRACE) $(DTRACE_FLAGS) -o $@ \
|
|
||||||
-s $(DTRACE_SUPPORT_DIR)/$(@F).dt)
|
|
||||||
ifeq ($(call isTargetCpuArch, sparc), true)
|
|
||||||
$(call ExecuteWithLog, $@.elfedit, $(ELFEDIT) $(call GetElfeditCommands) $@)
|
|
||||||
endif
|
|
||||||
|
|
||||||
endif
|
|
||||||
endif
|
|
@ -50,9 +50,6 @@ ifeq ($(call check-jvm-feature, zero), true)
|
|||||||
ifeq ($(ENABLE_LIBFFI_BUNDLING), true)
|
ifeq ($(ENABLE_LIBFFI_BUNDLING), true)
|
||||||
JVM_LDFLAGS_FEATURES += $(call SET_EXECUTABLE_ORIGIN,/..)
|
JVM_LDFLAGS_FEATURES += $(call SET_EXECUTABLE_ORIGIN,/..)
|
||||||
endif
|
endif
|
||||||
ifeq ($(call isTargetCpu, sparcv9), true)
|
|
||||||
BUILD_LIBJVM_EXTRA_FILES := $(TOPDIR)/src/hotspot/cpu/sparc/memset_with_concurrent_readers_sparc.cpp
|
|
||||||
endif
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(JVM_VARIANT), custom)
|
ifeq ($(JVM_VARIANT), custom)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -48,18 +48,6 @@ ifneq ($(findstring debug, $(DEBUG_LEVEL)), )
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, solaris), true)
|
|
||||||
ifeq ($(call check-jvm-feature, dtrace), true)
|
|
||||||
# Additional mapfiles that are only used when dtrace is enabled
|
|
||||||
ifeq ($(call check-jvm-feature, compiler2), true)
|
|
||||||
# This also covers the case of compiler1+compiler2.
|
|
||||||
SYMBOLS_SRC += $(TOPDIR)/make/hotspot/symbols/symbols-solaris-dtrace-compiler2
|
|
||||||
else ifeq ($(call check-jvm-feature, compiler1), true)
|
|
||||||
SYMBOLS_SRC += $(TOPDIR)/make/hotspot/symbols/symbols-solaris-dtrace-compiler1
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Create a dynamic list of symbols from the built object files. This is highly
|
# Create a dynamic list of symbols from the built object files. This is highly
|
||||||
# platform dependent.
|
# platform dependent.
|
||||||
@ -76,20 +64,6 @@ ifeq ($(call isTargetOs, linux), true)
|
|||||||
if ($$3 ~ /$(FILTER_SYMBOLS_PATTERN)/) print $$3; \
|
if ($$3 ~ /$(FILTER_SYMBOLS_PATTERN)/) print $$3; \
|
||||||
}'
|
}'
|
||||||
|
|
||||||
else ifeq ($(call isTargetOs, solaris), true)
|
|
||||||
DUMP_SYMBOLS_CMD := $(NM) -p *.o
|
|
||||||
ifneq ($(FILTER_SYMBOLS_PATTERN), )
|
|
||||||
FILTER_SYMBOLS_PATTERN := $(FILTER_SYMBOLS_PATTERN)|
|
|
||||||
endif
|
|
||||||
FILTER_SYMBOLS_PATTERN := $(FILTER_SYMBOLS_PATTERN)^__1c.*__vtbl_$$|^gHotSpotVM
|
|
||||||
FILTER_SYMBOLS_PATTERN := $(FILTER_SYMBOLS_PATTERN)|^UseSharedSpaces$$
|
|
||||||
FILTER_SYMBOLS_PATTERN := $(FILTER_SYMBOLS_PATTERN)|^__1cJArgumentsRSharedArchivePath_$$
|
|
||||||
FILTER_SYMBOLS_AWK_SCRIPT := \
|
|
||||||
'{ \
|
|
||||||
if ($$2 == "U") next; \
|
|
||||||
if ($$3 ~ /$(FILTER_SYMBOLS_PATTERN)/) print $$3; \
|
|
||||||
}'
|
|
||||||
|
|
||||||
else ifeq ($(call isTargetOs, macosx), true)
|
else ifeq ($(call isTargetOs, macosx), true)
|
||||||
# nm on macosx prints out "warning: nm: no name list" to stderr for
|
# nm on macosx prints out "warning: nm: no name list" to stderr for
|
||||||
# files without symbols. Hide this, even at the expense of hiding real errors.
|
# files without symbols. Hide this, even at the expense of hiding real errors.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -83,52 +83,6 @@ ifeq ($(call isTargetOs, linux), true)
|
|||||||
$(foreach s, $(NONPIC_SRC), $(eval BUILD_LIBJVM_$(notdir $s)_CXXFLAGS := -fno-PIC))
|
$(foreach s, $(NONPIC_SRC), $(eval BUILD_LIBJVM_$(notdir $s)_CXXFLAGS := -fno-PIC))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
else ifeq ($(call isTargetOs, solaris), true)
|
|
||||||
ifneq ($(DEBUG_LEVEL), slowdebug)
|
|
||||||
# dev studio 12.6 workaround
|
|
||||||
BUILD_LIBJVM_arguments.cpp_OPTIMIZATION := LOW
|
|
||||||
# Workaround for a bug in dtrace. If ciEnv::post_compiled_method_load_event()
|
|
||||||
# is inlined, the resulting dtrace object file needs a reference to this
|
|
||||||
# function, whose symbol name is too long for dtrace. So disable inlining
|
|
||||||
# for this method for now. (fix this when dtrace bug 6258412 is fixed)
|
|
||||||
BUILD_LIBJVM_ciEnv.cpp_CXXFLAGS := \
|
|
||||||
-xinline=no%__1cFciEnvbFpost_compiled_method_load_event6MpnHnmethod__v_
|
|
||||||
# dtrace cannot handle tail call optimization (6672627, 6693876)
|
|
||||||
BUILD_LIBJVM_jni.cpp_CXXFLAGS := -Qoption ube -O~yz
|
|
||||||
BUILD_LIBJVM_stubGenerator_$(HOTSPOT_TARGET_CPU).cpp_CXXFLAGS := -xspace
|
|
||||||
|
|
||||||
ifeq ($(call isTargetCpu, x86_64), true)
|
|
||||||
# Temporary until SS10 C++ compiler is fixed
|
|
||||||
BUILD_LIBJVM_generateOptoStub.cpp_CXXFLAGS := -xO2
|
|
||||||
# Temporary util SS12u1 C++ compiler is fixed
|
|
||||||
BUILD_LIBJVM_c1_LinearScan.cpp_CXXFLAGS := -xO2
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Need extra inlining to get oop_ps_push_contents functions to perform well enough.
|
|
||||||
ifeq ($(DEBUG_LEVEL),release)
|
|
||||||
BUILD_LIBJVM_psPromotionManager.cpp_CXXFLAGS := -W2,-Ainline:inc=1000
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(DEBUG_LEVEL), fastdebug)
|
|
||||||
# this hangs in iropt now (7113504)
|
|
||||||
BUILD_LIBJVM_compileBroker.cpp_CXXFLAGS := -xO2
|
|
||||||
|
|
||||||
# Frame size > 100k if we allow inlining via -g0!
|
|
||||||
BUILD_LIBJVM_bytecodeInterpreter.cpp_CXXFLAGS := +d
|
|
||||||
BUILD_LIBJVM_bytecodeInterpreterWithChecks.cpp_CXXFLAGS := +d
|
|
||||||
|
|
||||||
ifeq ($(call isTargetCpuArch, x86), true)
|
|
||||||
# ube explodes on x86
|
|
||||||
BUILD_LIBJVM_bytecodeInterpreter.cpp_CXXFLAGS += -xO1
|
|
||||||
BUILD_LIBJVM_bytecodeInterpreterWithChecks.cpp_CXXFLAGS += -xO1
|
|
||||||
endif
|
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Workaround for jvmciCompilerToVM.cpp long compilation time
|
|
||||||
BUILD_LIBJVM_jvmciCompilerToVMInit.cpp_OPTIMIZATION := NONE
|
|
||||||
|
|
||||||
else ifeq ($(call isTargetOs, macosx), true)
|
else ifeq ($(call isTargetOs, macosx), true)
|
||||||
# The copied fdlibm routines in these files must not be optimized
|
# The copied fdlibm routines in these files must not be optimized
|
||||||
BUILD_LIBJVM_sharedRuntimeTrig.cpp_CXXFLAGS := $(FDLIBM_CFLAGS) $(LIBJVM_FDLIBM_COPY_OPT_FLAG)
|
BUILD_LIBJVM_sharedRuntimeTrig.cpp_CXXFLAGS := $(FDLIBM_CFLAGS) $(LIBJVM_FDLIBM_COPY_OPT_FLAG)
|
||||||
|
@ -1,321 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
*
|
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
|
||||||
* under the terms of the GNU General Public License version 2 only, as
|
|
||||||
* published by the Free Software Foundation.
|
|
||||||
*
|
|
||||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
* version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
* accompanied this code).
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License version
|
|
||||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
*
|
|
||||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
* or visit www.oracle.com if you need additional information or have any
|
|
||||||
* questions.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This is to provide sanity check in jhelper.d which compares SCCS
|
|
||||||
* versions of generateJvmOffsets.cpp used to create and extract
|
|
||||||
* contents of __JvmOffsets[] table.
|
|
||||||
* The __JvmOffsets[] table is located in generated JvmOffsets.cpp.
|
|
||||||
*
|
|
||||||
* GENOFFS_SCCS_VER 34
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <strings.h>
|
|
||||||
|
|
||||||
/* A workaround for private and protected fields */
|
|
||||||
#define private public
|
|
||||||
#define protected public
|
|
||||||
|
|
||||||
#include <proc_service.h>
|
|
||||||
#include "gc/shared/collectedHeap.hpp"
|
|
||||||
#include "memory/heap.hpp"
|
|
||||||
#include "oops/compressedOops.hpp"
|
|
||||||
#include "runtime/vmStructs.hpp"
|
|
||||||
|
|
||||||
typedef enum GEN_variant {
|
|
||||||
GEN_OFFSET = 0,
|
|
||||||
GEN_INDEX = 1,
|
|
||||||
GEN_TABLE = 2
|
|
||||||
} GEN_variant;
|
|
||||||
|
|
||||||
#ifdef COMPILER1
|
|
||||||
#ifdef ASSERT
|
|
||||||
|
|
||||||
/*
|
|
||||||
* To avoid the most part of potential link errors
|
|
||||||
* we link this program with -z nodefs .
|
|
||||||
*
|
|
||||||
* But for 'debug1' and 'fastdebug1' we still have to provide
|
|
||||||
* a particular workaround for the following symbols below.
|
|
||||||
* It will be good to find out a generic way in the future.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#pragma weak tty
|
|
||||||
|
|
||||||
#if defined(i386) || defined(__i386) || defined(__amd64)
|
|
||||||
#pragma weak noreg
|
|
||||||
#endif /* i386 */
|
|
||||||
|
|
||||||
LIR_Opr LIR_OprFact::illegalOpr = (LIR_Opr) 0;
|
|
||||||
|
|
||||||
address StubRoutines::_call_stub_return_address = NULL;
|
|
||||||
|
|
||||||
StubQueue* AbstractInterpreter::_code = NULL;
|
|
||||||
|
|
||||||
#endif /* ASSERT */
|
|
||||||
#endif /* COMPILER1 */
|
|
||||||
|
|
||||||
#define GEN_OFFS_NAME(Type,Name,OutputType) \
|
|
||||||
switch(gen_variant) { \
|
|
||||||
case GEN_OFFSET: \
|
|
||||||
printf("#define OFFSET_%-33s %ld\n", \
|
|
||||||
#OutputType #Name, offset_of(Type, Name)); \
|
|
||||||
break; \
|
|
||||||
case GEN_INDEX: \
|
|
||||||
printf("#define IDX_OFFSET_%-33s %d\n", \
|
|
||||||
#OutputType #Name, index++); \
|
|
||||||
break; \
|
|
||||||
case GEN_TABLE: \
|
|
||||||
printf("\tOFFSET_%s,\n", #OutputType #Name); \
|
|
||||||
break; \
|
|
||||||
}
|
|
||||||
|
|
||||||
#define GEN_OFFS(Type,Name) \
|
|
||||||
GEN_OFFS_NAME(Type,Name,Type)
|
|
||||||
|
|
||||||
#define GEN_SIZE(Type) \
|
|
||||||
switch(gen_variant) { \
|
|
||||||
case GEN_OFFSET: \
|
|
||||||
printf("#define SIZE_%-35s %ld\n", \
|
|
||||||
#Type, sizeof(Type)); \
|
|
||||||
break; \
|
|
||||||
case GEN_INDEX: \
|
|
||||||
printf("#define IDX_SIZE_%-35s %d\n", \
|
|
||||||
#Type, index++); \
|
|
||||||
break; \
|
|
||||||
case GEN_TABLE: \
|
|
||||||
printf("\tSIZE_%s,\n", #Type); \
|
|
||||||
break; \
|
|
||||||
}
|
|
||||||
|
|
||||||
#define GEN_VALUE(String,Value) \
|
|
||||||
switch(gen_variant) { \
|
|
||||||
case GEN_OFFSET: \
|
|
||||||
printf("#define %-40s %d\n", #String, Value); \
|
|
||||||
break; \
|
|
||||||
case GEN_INDEX: \
|
|
||||||
printf("#define IDX_%-40s %d\n", #String, index++); \
|
|
||||||
break; \
|
|
||||||
case GEN_TABLE: \
|
|
||||||
printf("\t" #String ",\n"); \
|
|
||||||
break; \
|
|
||||||
}
|
|
||||||
|
|
||||||
void gen_prologue(GEN_variant gen_variant) {
|
|
||||||
const char *suffix = "Undefined-Suffix";
|
|
||||||
|
|
||||||
switch(gen_variant) {
|
|
||||||
case GEN_OFFSET: suffix = ".h"; break;
|
|
||||||
case GEN_INDEX: suffix = "Index.h"; break;
|
|
||||||
case GEN_TABLE: suffix = ".cpp"; break;
|
|
||||||
}
|
|
||||||
|
|
||||||
printf("/*\n");
|
|
||||||
printf(" * JvmOffsets%s !!!DO NOT EDIT!!! \n", suffix);
|
|
||||||
printf(" * The generateJvmOffsets program generates this file!\n");
|
|
||||||
printf(" */\n\n");
|
|
||||||
switch(gen_variant) {
|
|
||||||
|
|
||||||
case GEN_OFFSET:
|
|
||||||
case GEN_INDEX:
|
|
||||||
break;
|
|
||||||
|
|
||||||
case GEN_TABLE:
|
|
||||||
printf("#include \"JvmOffsets.h\"\n");
|
|
||||||
printf("\n");
|
|
||||||
printf("int __JvmOffsets[] = {\n");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void gen_epilogue(GEN_variant gen_variant) {
|
|
||||||
if (gen_variant != GEN_TABLE) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
printf("};\n\n");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
int generateJvmOffsets(GEN_variant gen_variant) {
|
|
||||||
int index = 0; /* It is used to generate JvmOffsetsIndex.h */
|
|
||||||
int pointer_size = sizeof(void *);
|
|
||||||
int data_model = (pointer_size == 4) ? PR_MODEL_ILP32 : PR_MODEL_LP64;
|
|
||||||
|
|
||||||
gen_prologue(gen_variant);
|
|
||||||
|
|
||||||
GEN_VALUE(DATA_MODEL, data_model);
|
|
||||||
GEN_VALUE(POINTER_SIZE, pointer_size);
|
|
||||||
#if defined(TIERED)
|
|
||||||
GEN_VALUE(COMPILER, 3);
|
|
||||||
#elif COMPILER1
|
|
||||||
GEN_VALUE(COMPILER, 1);
|
|
||||||
#elif COMPILER2
|
|
||||||
GEN_VALUE(COMPILER, 2);
|
|
||||||
#else
|
|
||||||
GEN_VALUE(COMPILER, 0);
|
|
||||||
#endif // COMPILER1 && COMPILER2
|
|
||||||
printf("\n");
|
|
||||||
|
|
||||||
GEN_OFFS(CollectedHeap, _reserved);
|
|
||||||
GEN_OFFS(MemRegion, _start);
|
|
||||||
GEN_OFFS(MemRegion, _word_size);
|
|
||||||
GEN_SIZE(HeapWord);
|
|
||||||
printf("\n");
|
|
||||||
|
|
||||||
GEN_OFFS(VMStructEntry, typeName);
|
|
||||||
GEN_OFFS(VMStructEntry, fieldName);
|
|
||||||
GEN_OFFS(VMStructEntry, address);
|
|
||||||
GEN_SIZE(VMStructEntry);
|
|
||||||
printf("\n");
|
|
||||||
|
|
||||||
GEN_VALUE(MAX_METHOD_CODE_SIZE, max_method_code_size);
|
|
||||||
#if defined(sparc) || defined(__sparc)
|
|
||||||
GEN_VALUE(OFFSET_interpreter_frame_method, 2 * pointer_size); /* L2 in saved window */
|
|
||||||
GEN_VALUE(OFFSET_interpreter_frame_sender_sp, 13 * pointer_size); /* I5 in saved window */
|
|
||||||
// Fake value for consistency. It is not going to be used.
|
|
||||||
GEN_VALUE(OFFSET_interpreter_frame_bcp_offset, 0xFFFF);
|
|
||||||
#elif defined(i386) || defined(__i386) || defined(__amd64)
|
|
||||||
GEN_VALUE(OFFSET_interpreter_frame_sender_sp, -1 * pointer_size);
|
|
||||||
GEN_VALUE(OFFSET_interpreter_frame_method, -3 * pointer_size);
|
|
||||||
GEN_VALUE(OFFSET_interpreter_frame_bcp_offset, -7 * pointer_size);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
GEN_OFFS(Klass, _name);
|
|
||||||
GEN_OFFS(ConstantPool, _pool_holder);
|
|
||||||
printf("\n");
|
|
||||||
|
|
||||||
GEN_VALUE(OFFSET_HeapBlockHeader_used, (int) offset_of(HeapBlock::Header, _used));
|
|
||||||
GEN_OFFS(oopDesc, _metadata);
|
|
||||||
printf("\n");
|
|
||||||
|
|
||||||
GEN_VALUE(AccessFlags_NATIVE, JVM_ACC_NATIVE);
|
|
||||||
GEN_VALUE(ConstMethod_has_linenumber_table, ConstMethod::_has_linenumber_table);
|
|
||||||
GEN_OFFS(AccessFlags, _flags);
|
|
||||||
GEN_OFFS(Symbol, _length);
|
|
||||||
GEN_OFFS(Symbol, _body);
|
|
||||||
printf("\n");
|
|
||||||
|
|
||||||
GEN_OFFS(Method, _constMethod);
|
|
||||||
GEN_OFFS(Method, _access_flags);
|
|
||||||
printf("\n");
|
|
||||||
|
|
||||||
GEN_OFFS(ConstMethod, _constants);
|
|
||||||
GEN_OFFS(ConstMethod, _flags);
|
|
||||||
GEN_OFFS(ConstMethod, _code_size);
|
|
||||||
GEN_OFFS(ConstMethod, _name_index);
|
|
||||||
GEN_OFFS(ConstMethod, _signature_index);
|
|
||||||
printf("\n");
|
|
||||||
|
|
||||||
GEN_OFFS(CodeHeap, _memory);
|
|
||||||
GEN_OFFS(CodeHeap, _segmap);
|
|
||||||
GEN_OFFS(CodeHeap, _log2_segment_size);
|
|
||||||
printf("\n");
|
|
||||||
|
|
||||||
GEN_OFFS(VirtualSpace, _low_boundary);
|
|
||||||
GEN_OFFS(VirtualSpace, _high_boundary);
|
|
||||||
GEN_OFFS(VirtualSpace, _low);
|
|
||||||
GEN_OFFS(VirtualSpace, _high);
|
|
||||||
printf("\n");
|
|
||||||
|
|
||||||
/* We need to use different names here because of the template parameter */
|
|
||||||
GEN_OFFS_NAME(GrowableArray<CodeHeap*>, _data, GrowableArray_CodeHeap);
|
|
||||||
GEN_OFFS_NAME(GrowableArray<CodeHeap*>, _len, GrowableArray_CodeHeap);
|
|
||||||
printf("\n");
|
|
||||||
|
|
||||||
GEN_OFFS(CodeBlob, _name);
|
|
||||||
GEN_OFFS(CodeBlob, _header_size);
|
|
||||||
GEN_OFFS(CodeBlob, _content_begin);
|
|
||||||
GEN_OFFS(CodeBlob, _code_begin);
|
|
||||||
GEN_OFFS(CodeBlob, _code_end);
|
|
||||||
GEN_OFFS(CodeBlob, _data_offset);
|
|
||||||
GEN_OFFS(CodeBlob, _frame_size);
|
|
||||||
printf("\n");
|
|
||||||
|
|
||||||
GEN_OFFS(nmethod, _method);
|
|
||||||
GEN_OFFS(nmethod, _dependencies_offset);
|
|
||||||
GEN_OFFS(nmethod, _metadata_offset);
|
|
||||||
GEN_OFFS(nmethod, _scopes_data_begin);
|
|
||||||
GEN_OFFS(nmethod, _scopes_pcs_offset);
|
|
||||||
GEN_OFFS(nmethod, _handler_table_offset);
|
|
||||||
GEN_OFFS(nmethod, _deopt_handler_begin);
|
|
||||||
GEN_OFFS(nmethod, _orig_pc_offset);
|
|
||||||
|
|
||||||
GEN_OFFS(PcDesc, _pc_offset);
|
|
||||||
GEN_OFFS(PcDesc, _scope_decode_offset);
|
|
||||||
|
|
||||||
printf("\n");
|
|
||||||
|
|
||||||
GEN_OFFS(NarrowPtrStruct, _base);
|
|
||||||
GEN_OFFS(NarrowPtrStruct, _shift);
|
|
||||||
printf("\n");
|
|
||||||
|
|
||||||
GEN_VALUE(SIZE_HeapBlockHeader, (int) sizeof(HeapBlock::Header));
|
|
||||||
GEN_SIZE(oopDesc);
|
|
||||||
GEN_SIZE(ConstantPool);
|
|
||||||
printf("\n");
|
|
||||||
|
|
||||||
GEN_SIZE(PcDesc);
|
|
||||||
GEN_SIZE(Method);
|
|
||||||
GEN_SIZE(ConstMethod);
|
|
||||||
GEN_SIZE(nmethod);
|
|
||||||
GEN_SIZE(CodeBlob);
|
|
||||||
GEN_SIZE(BufferBlob);
|
|
||||||
GEN_SIZE(SingletonBlob);
|
|
||||||
GEN_SIZE(RuntimeStub);
|
|
||||||
GEN_SIZE(SafepointBlob);
|
|
||||||
|
|
||||||
gen_epilogue(gen_variant);
|
|
||||||
printf("\n");
|
|
||||||
|
|
||||||
fflush(stdout);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
const char *HELP =
|
|
||||||
"HELP: generateJvmOffsets {-header | -index | -table} \n";
|
|
||||||
|
|
||||||
int main(int argc, const char *argv[]) {
|
|
||||||
GEN_variant gen_var;
|
|
||||||
|
|
||||||
if (argc != 2) {
|
|
||||||
printf("%s", HELP);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (0 == strcmp(argv[1], "-header")) {
|
|
||||||
gen_var = GEN_OFFSET;
|
|
||||||
}
|
|
||||||
else if (0 == strcmp(argv[1], "-index")) {
|
|
||||||
gen_var = GEN_INDEX;
|
|
||||||
}
|
|
||||||
else if (0 == strcmp(argv[1], "-table")) {
|
|
||||||
gen_var = GEN_TABLE;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
printf("%s", HELP);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
return generateJvmOffsets(gen_var);
|
|
||||||
}
|
|
@ -1,25 +0,0 @@
|
|||||||
#
|
|
||||||
# Copyright (c) 2016, 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.
|
|
||||||
#
|
|
||||||
|
|
||||||
JVM_handle_solaris_signal
|
|
||||||
sysThreadAvailableStackWithSlack
|
|
@ -1,34 +0,0 @@
|
|||||||
#
|
|
||||||
# Copyright (c) 2016, 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.
|
|
||||||
#
|
|
||||||
|
|
||||||
__1cGMethodG__vtbl_
|
|
||||||
__1cHnmethodG__vtbl_
|
|
||||||
__1cICodeBlobG__vtbl_
|
|
||||||
__1cIUniverseO_collectedHeap_
|
|
||||||
__1cJCodeCacheG_heaps_
|
|
||||||
__1cKBufferBlobG__vtbl_
|
|
||||||
__1cLRuntimeStubG__vtbl_
|
|
||||||
__1cNSafepointBlobG__vtbl_
|
|
||||||
__1cSDeoptimizationBlobG__vtbl_
|
|
||||||
|
|
||||||
__JvmOffsets
|
|
@ -1,36 +0,0 @@
|
|||||||
#
|
|
||||||
# Copyright (c) 2016, 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.
|
|
||||||
#
|
|
||||||
|
|
||||||
__1cGMethodG__vtbl_
|
|
||||||
__1cHnmethodG__vtbl_
|
|
||||||
__1cICodeBlobG__vtbl_
|
|
||||||
__1cIUniverseO_collectedHeap_
|
|
||||||
__1cJCodeCacheG_heaps_
|
|
||||||
__1cKBufferBlobG__vtbl_
|
|
||||||
__1cLRuntimeStubG__vtbl_
|
|
||||||
__1cNSafepointBlobG__vtbl_
|
|
||||||
__1cSDeoptimizationBlobG__vtbl_
|
|
||||||
__1cNExceptionBlobG__vtbl_
|
|
||||||
__1cQUncommonTrapBlobG__vtbl_
|
|
||||||
|
|
||||||
__JvmOffsets
|
|
@ -56,14 +56,4 @@ ifeq ($(call isTargetOs, windows), true)
|
|||||||
)
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, solaris), true)
|
|
||||||
$(foreach v, $(JVM_VARIANTS), \
|
|
||||||
$(eval $(call SetupCopyFiles, COPY_GTEST_STLPORT_$v, \
|
|
||||||
DEST := $(TEST_IMAGE_DIR)/hotspot/gtest/$v, \
|
|
||||||
FILES := $(STLPORT_LIB), \
|
|
||||||
)) \
|
|
||||||
$(eval TARGETS += $$(COPY_GTEST_STLPORT_$v)) \
|
|
||||||
)
|
|
||||||
endif
|
|
||||||
|
|
||||||
all: $(TARGETS)
|
all: $(TARGETS)
|
||||||
|
@ -42,19 +42,6 @@
|
|||||||
</preBuild>
|
</preBuild>
|
||||||
</makefileType>
|
</makefileType>
|
||||||
</conf>
|
</conf>
|
||||||
<conf name="Solaris_64" type="0">
|
|
||||||
<makefileType>
|
|
||||||
<makeTool>
|
|
||||||
<buildCommandWorkingDir>../..</buildCommandWorkingDir>
|
|
||||||
<buildCommand>gmake -f Makefile images</buildCommand>
|
|
||||||
<cleanCommand>gmake -f Makefile clean</cleanCommand>
|
|
||||||
</makeTool>
|
|
||||||
<preBuild>
|
|
||||||
<preBuildCommandWorkingDir>../..</preBuildCommandWorkingDir>
|
|
||||||
<preBuildCommand>sh configure --with-debug-level=slowdebug</preBuildCommand>
|
|
||||||
</preBuild>
|
|
||||||
</makefileType>
|
|
||||||
</conf>
|
|
||||||
<conf name="Windws64" type="0">
|
<conf name="Windws64" type="0">
|
||||||
<makefileType>
|
<makefileType>
|
||||||
<makeTool>
|
<makeTool>
|
||||||
|
@ -21,10 +21,6 @@
|
|||||||
<name>Linux_64</name>
|
<name>Linux_64</name>
|
||||||
<type>0</type>
|
<type>0</type>
|
||||||
</confElem>
|
</confElem>
|
||||||
<confElem>
|
|
||||||
<name>Solaris_64</name>
|
|
||||||
<type>0</type>
|
|
||||||
</confElem>
|
|
||||||
<confElem>
|
<confElem>
|
||||||
<name>Windws64</name>
|
<name>Windws64</name>
|
||||||
<type>0</type>
|
<type>0</type>
|
||||||
|
@ -84,8 +84,6 @@ ifeq ($(call isTargetOs, windows), true)
|
|||||||
-ignorePath linux \
|
-ignorePath linux \
|
||||||
-ignorePath posix \
|
-ignorePath posix \
|
||||||
-ignorePath ppc \
|
-ignorePath ppc \
|
||||||
-ignorePath solaris \
|
|
||||||
-ignorePath sparc \
|
|
||||||
-ignorePath x86_32 \
|
-ignorePath x86_32 \
|
||||||
-ignorePath zero \
|
-ignorePath zero \
|
||||||
#
|
#
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!--
|
<!--
|
||||||
~ Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
|
~ Copyright (c) 2007, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
~ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
~ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
~
|
~
|
||||||
~ This code is free software; you can redistribute it and/or modify it
|
~ This code is free software; you can redistribute it and/or modify it
|
||||||
@ -100,7 +100,7 @@
|
|||||||
<property name="xpatch.noquotes.cmd" value="--patch-module=${xpatch.noquotes.rest}"/>
|
<property name="xpatch.noquotes.cmd" value="--patch-module=${xpatch.noquotes.rest}"/>
|
||||||
|
|
||||||
<!-- java.marker is set to a marker file to check for within a Java install dir.
|
<!-- java.marker is set to a marker file to check for within a Java install dir.
|
||||||
The best file to check for across Solaris/Linux/Windows/MacOS is one of the
|
The best file to check for across Linux/Windows/MacOS is one of the
|
||||||
executables; regrettably, that is OS-specific. -->
|
executables; regrettably, that is OS-specific. -->
|
||||||
<condition property="java.marker" value="bin/java">
|
<condition property="java.marker" value="bin/java">
|
||||||
<os family="unix"/>
|
<os family="unix"/>
|
||||||
|
@ -149,7 +149,7 @@ DEF_POLICY_DST := $(LIB_DST_DIR)/security/default.policy
|
|||||||
DEF_POLICY_SRC_LIST := $(DEF_POLICY_SRC)
|
DEF_POLICY_SRC_LIST := $(DEF_POLICY_SRC)
|
||||||
DEF_POLICY_SRC_LIST += $(CUSTOM_POLICY_SRC_LIST)
|
DEF_POLICY_SRC_LIST += $(CUSTOM_POLICY_SRC_LIST)
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, windows solaris), true)
|
ifeq ($(call isTargetOs, windows), true)
|
||||||
DEF_POLICY_SRC_LIST += $(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS)/lib/security/default.policy
|
DEF_POLICY_SRC_LIST += $(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS)/lib/security/default.policy
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@ -189,7 +189,7 @@ $(eval $(call SetupCopyFiles, COPY_NET_PROPERTIES, \
|
|||||||
|
|
||||||
TARGETS += $(COPY_NET_PROPERTIES)
|
TARGETS += $(COPY_NET_PROPERTIES)
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, solaris linux), true)
|
ifeq ($(call isTargetOs, linux), true)
|
||||||
$(eval $(call SetupCopyFiles, COPY_SDP_CONF, \
|
$(eval $(call SetupCopyFiles, COPY_SDP_CONF, \
|
||||||
FILES := $(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/conf/sdp/sdp.conf.template, \
|
FILES := $(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/conf/sdp/sdp.conf.template, \
|
||||||
DEST := $(CONF_DST_DIR)/sdp, \
|
DEST := $(CONF_DST_DIR)/sdp, \
|
||||||
|
@ -65,7 +65,6 @@ ifeq ($(call isTargetOs, linux), true)
|
|||||||
CFLAGS := $(CFLAGS_JDKEXE) \
|
CFLAGS := $(CFLAGS_JDKEXE) \
|
||||||
-I$(TOPDIR)/src/$(MODULE)/share/native/libjli, \
|
-I$(TOPDIR)/src/$(MODULE)/share/native/libjli, \
|
||||||
CFLAGS_linux := -fPIC, \
|
CFLAGS_linux := -fPIC, \
|
||||||
CFLAGS_solaris := -KPIC, \
|
|
||||||
LDFLAGS := $(LDFLAGS_JDKEXE), \
|
LDFLAGS := $(LDFLAGS_JDKEXE), \
|
||||||
OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/modules_libs/$(MODULE), \
|
OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/modules_libs/$(MODULE), \
|
||||||
))
|
))
|
||||||
@ -75,7 +74,7 @@ endif
|
|||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, macosx solaris aix linux), true)
|
ifeq ($(call isTargetOs, macosx aix linux), true)
|
||||||
$(eval $(call SetupJdkExecutable, BUILD_JSPAWNHELPER, \
|
$(eval $(call SetupJdkExecutable, BUILD_JSPAWNHELPER, \
|
||||||
NAME := jspawnhelper, \
|
NAME := jspawnhelper, \
|
||||||
SRC := $(TOPDIR)/src/$(MODULE)/unix/native/jspawnhelper, \
|
SRC := $(TOPDIR)/src/$(MODULE)/unix/native/jspawnhelper, \
|
||||||
|
@ -47,13 +47,11 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBNET, \
|
|||||||
DISABLED_WARNINGS_clang := parentheses-equality constant-logical-operand \
|
DISABLED_WARNINGS_clang := parentheses-equality constant-logical-operand \
|
||||||
format-nonliteral undef, \
|
format-nonliteral undef, \
|
||||||
DISABLED_WARNINGS_microsoft := 4244 4047 4133 4996, \
|
DISABLED_WARNINGS_microsoft := 4244 4047 4133 4996, \
|
||||||
DISABLED_WARNINGS_solstudio := E_ARG_INCOMPATIBLE_WITH_ARG_L, \
|
|
||||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||||
LDFLAGS_windows := -delayload:secur32.dll -delayload:iphlpapi.dll, \
|
LDFLAGS_windows := -delayload:secur32.dll -delayload:iphlpapi.dll, \
|
||||||
LIBS_unix := -ljvm -ljava, \
|
LIBS_unix := -ljvm -ljava, \
|
||||||
LIBS_linux := $(LIBDL) -lpthread, \
|
LIBS_linux := $(LIBDL) -lpthread, \
|
||||||
LIBS_solaris := -lnsl -lsocket $(LIBDL), \
|
|
||||||
LIBS_aix := $(LIBDL),\
|
LIBS_aix := $(LIBDL),\
|
||||||
LIBS_windows := ws2_32.lib jvm.lib secur32.lib iphlpapi.lib winhttp.lib \
|
LIBS_windows := ws2_32.lib jvm.lib secur32.lib iphlpapi.lib winhttp.lib \
|
||||||
delayimp.lib $(WIN_JAVA_LIB) advapi32.lib, \
|
delayimp.lib $(WIN_JAVA_LIB) advapi32.lib, \
|
||||||
@ -82,8 +80,6 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBNIO, \
|
|||||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||||
LIBS_unix := -ljava -lnet, \
|
LIBS_unix := -ljava -lnet, \
|
||||||
LIBS_linux := -lpthread $(LIBDL), \
|
LIBS_linux := -lpthread $(LIBDL), \
|
||||||
LIBS_solaris := -ljvm -lsocket -lposix4 $(LIBDL) \
|
|
||||||
-lsendfile, \
|
|
||||||
LIBS_aix := $(LIBDL), \
|
LIBS_aix := $(LIBDL), \
|
||||||
LIBS_macosx := \
|
LIBS_macosx := \
|
||||||
-framework CoreFoundation -framework CoreServices, \
|
-framework CoreFoundation -framework CoreServices, \
|
||||||
@ -140,7 +136,6 @@ ifeq ($(call isTargetOsType, unix), true)
|
|||||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||||
LIBS_linux := $(LIBDL), \
|
LIBS_linux := $(LIBDL), \
|
||||||
LIBS_solaris := $(LIBDL), \
|
|
||||||
LIBS_aix := $(LIBDL), \
|
LIBS_aix := $(LIBDL), \
|
||||||
))
|
))
|
||||||
|
|
||||||
|
@ -104,21 +104,6 @@ ifeq ($(call isTargetOs, windows), false)
|
|||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, solaris), true)
|
|
||||||
|
|
||||||
GENSRC_SC_FILE := $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/nio/fs/SolarisConstants.java
|
|
||||||
|
|
||||||
$(GENSRC_SC_FILE): \
|
|
||||||
$(TOPDIR)/src/java.base/solaris/classes/sun/nio/fs/SolarisConstants.java.template
|
|
||||||
$(generate-preproc-src)
|
|
||||||
|
|
||||||
TARGETS += $(GENSRC_SC_FILE)
|
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
# Create the javax/crypto/JceSecurity.class, using the build default.
|
# Create the javax/crypto/JceSecurity.class, using the build default.
|
||||||
#
|
#
|
||||||
ifeq ($(UNLIMITED_CRYPTO), true)
|
ifeq ($(UNLIMITED_CRYPTO), true)
|
||||||
|
@ -29,10 +29,6 @@
|
|||||||
|
|
||||||
BUILD_LIBFDLIBM_OPTIMIZATION := NONE
|
BUILD_LIBFDLIBM_OPTIMIZATION := NONE
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, solaris), true)
|
|
||||||
BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
|
|
||||||
endif
|
|
||||||
|
|
||||||
# If FDLIBM_CFLAGS is non-empty we know that we can optimize
|
# If FDLIBM_CFLAGS is non-empty we know that we can optimize
|
||||||
# fdlibm when adding those extra C flags. Currently GCC,
|
# fdlibm when adding those extra C flags. Currently GCC,
|
||||||
# and clang only.
|
# and clang only.
|
||||||
@ -62,7 +58,7 @@ $(eval $(call SetupNativeCompilation, BUILD_LIBFDLIBM, \
|
|||||||
##########################################################################################
|
##########################################################################################
|
||||||
|
|
||||||
LIBVERIFY_OPTIMIZATION := HIGH
|
LIBVERIFY_OPTIMIZATION := HIGH
|
||||||
ifeq ($(call isTargetOs, solaris linux), true)
|
ifeq ($(call isTargetOs, linux), true)
|
||||||
ifeq ($(COMPILE_WITH_DEBUG_SYMBOLS), true)
|
ifeq ($(COMPILE_WITH_DEBUG_SYMBOLS), true)
|
||||||
LIBVERIFY_OPTIMIZATION := LOW
|
LIBVERIFY_OPTIMIZATION := LOW
|
||||||
endif
|
endif
|
||||||
@ -98,7 +94,6 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBJAVA, \
|
|||||||
EXTRA_HEADER_DIRS := libfdlibm, \
|
EXTRA_HEADER_DIRS := libfdlibm, \
|
||||||
WARNINGS_AS_ERRORS_xlc := false, \
|
WARNINGS_AS_ERRORS_xlc := false, \
|
||||||
DISABLED_WARNINGS_gcc := unused-result unused-function, \
|
DISABLED_WARNINGS_gcc := unused-result unused-function, \
|
||||||
DISABLED_WARNINGS_solstudio := E_STATEMENT_NOT_REACHED, \
|
|
||||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||||
LDFLAGS_macosx := -L$(SUPPORT_OUTPUTDIR)/native/$(MODULE)/, \
|
LDFLAGS_macosx := -L$(SUPPORT_OUTPUTDIR)/native/$(MODULE)/, \
|
||||||
@ -106,7 +101,6 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBJAVA, \
|
|||||||
LIBS := $(BUILD_LIBFDLIBM_TARGET), \
|
LIBS := $(BUILD_LIBFDLIBM_TARGET), \
|
||||||
LIBS_unix := -ljvm, \
|
LIBS_unix := -ljvm, \
|
||||||
LIBS_linux := $(LIBDL), \
|
LIBS_linux := $(LIBDL), \
|
||||||
LIBS_solaris := -lsocket -lnsl -lscf $(LIBDL), \
|
|
||||||
LIBS_aix := $(LIBDL) $(LIBM),\
|
LIBS_aix := $(LIBDL) $(LIBM),\
|
||||||
LIBS_macosx := -framework CoreFoundation \
|
LIBS_macosx := -framework CoreFoundation \
|
||||||
-framework Foundation \
|
-framework Foundation \
|
||||||
@ -215,7 +209,6 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBJLI, \
|
|||||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||||
LIBS_unix := $(LIBZ_LIBS), \
|
LIBS_unix := $(LIBZ_LIBS), \
|
||||||
LIBS_linux := $(LIBDL) -lpthread, \
|
LIBS_linux := $(LIBDL) -lpthread, \
|
||||||
LIBS_solaris := $(LIBDL), \
|
|
||||||
LIBS_aix := $(LIBDL),\
|
LIBS_aix := $(LIBDL),\
|
||||||
LIBS_macosx := -framework Cocoa -framework Security -framework ApplicationServices, \
|
LIBS_macosx := -framework Cocoa -framework Security -framework ApplicationServices, \
|
||||||
LIBS_windows := advapi32.lib comctl32.lib user32.lib, \
|
LIBS_windows := advapi32.lib comctl32.lib user32.lib, \
|
||||||
|
@ -32,7 +32,7 @@ ifeq ($(call isTargetOs, windows), false)
|
|||||||
include gensrc/GensrcIcons.gmk
|
include gensrc/GensrcIcons.gmk
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, linux solaris aix), true)
|
ifeq ($(call isTargetOs, linux aix), true)
|
||||||
include gensrc/GensrcX11Wrappers.gmk
|
include gensrc/GensrcX11Wrappers.gmk
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -46,15 +46,10 @@ ifeq ($(call isTargetOs, aix), false)
|
|||||||
-DX_PLATFORM=X_$(OPENJDK_TARGET_OS_UPPERCASE) \
|
-DX_PLATFORM=X_$(OPENJDK_TARGET_OS_UPPERCASE) \
|
||||||
-DUSE_PORTS=TRUE \
|
-DUSE_PORTS=TRUE \
|
||||||
-DUSE_DAUDIO=TRUE \
|
-DUSE_DAUDIO=TRUE \
|
||||||
|
-DUSE_PLATFORM_MIDI_OUT=TRUE \
|
||||||
|
-DUSE_PLATFORM_MIDI_IN=TRUE \
|
||||||
#
|
#
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, solaris), false)
|
|
||||||
LIBJSOUND_CFLAGS += \
|
|
||||||
-DUSE_PLATFORM_MIDI_OUT=TRUE \
|
|
||||||
-DUSE_PLATFORM_MIDI_IN=TRUE \
|
|
||||||
#
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, macosx), true)
|
ifeq ($(call isTargetOs, macosx), true)
|
||||||
LIBJSOUND_TOOLCHAIN := TOOLCHAIN_LINK_CXX
|
LIBJSOUND_TOOLCHAIN := TOOLCHAIN_LINK_CXX
|
||||||
endif
|
endif
|
||||||
|
@ -67,10 +67,6 @@ LIBAWT_EXTRA_SRC := \
|
|||||||
$(TOPDIR)/src/$(MODULE)/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \
|
$(TOPDIR)/src/$(MODULE)/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \
|
||||||
#
|
#
|
||||||
|
|
||||||
ifeq ($(call And, $(call isTargetOs, solaris) $(call isTargetCpuArch, sparc)), true)
|
|
||||||
LIBAWT_EXTRA_SRC += $(TOPDIR)/src/$(MODULE)/share/native/common/awt/medialib
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, windows), true)
|
ifeq ($(call isTargetOs, windows), true)
|
||||||
LIBAWT_EXTRA_SRC += \
|
LIBAWT_EXTRA_SRC += \
|
||||||
$(TOPDIR)/src/$(MODULE)/share/native/common/awt/utility \
|
$(TOPDIR)/src/$(MODULE)/share/native/common/awt/utility \
|
||||||
@ -80,7 +76,7 @@ ifeq ($(call isTargetOs, windows), true)
|
|||||||
#
|
#
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, solaris linux macosx aix), true)
|
ifeq ($(call isTargetOs, linux macosx aix), true)
|
||||||
LIBAWT_EXFILES += awt_Font.c CUPSfuncs.c fontpath.c X11Color.c
|
LIBAWT_EXFILES += awt_Font.c CUPSfuncs.c fontpath.c X11Color.c
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@ -112,13 +108,7 @@ LIBAWT_EXTRA_HEADER_DIRS := \
|
|||||||
|
|
||||||
LIBAWT_CFLAGS += -D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES $(X_CFLAGS)
|
LIBAWT_CFLAGS += -D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES $(X_CFLAGS)
|
||||||
|
|
||||||
ifeq ($(call And, $(call isTargetOs, solaris) $(call isTargetCpu, sparcv9)), true)
|
LIBAWT_CFLAGS += -DMLIB_NO_LIBSUNMATH
|
||||||
LIBAWT_ASFLAGS = -P -xarch=v9a
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, solaris), false)
|
|
||||||
LIBAWT_CFLAGS += -DMLIB_NO_LIBSUNMATH
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, windows), true)
|
ifeq ($(call isTargetOs, windows), true)
|
||||||
LIBAWT_CFLAGS += -EHsc -DUNICODE -D_UNICODE
|
LIBAWT_CFLAGS += -EHsc -DUNICODE -D_UNICODE
|
||||||
@ -157,7 +147,6 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBAWT, \
|
|||||||
DISABLED_WARNINGS_clang := logical-op-parentheses extern-initializer \
|
DISABLED_WARNINGS_clang := logical-op-parentheses extern-initializer \
|
||||||
sign-compare format-nonliteral, \
|
sign-compare format-nonliteral, \
|
||||||
DISABLED_WARNINGS_microsoft := 4244 4267 4996, \
|
DISABLED_WARNINGS_microsoft := 4244 4267 4996, \
|
||||||
ASFLAGS := $(LIBAWT_ASFLAGS), \
|
|
||||||
LDFLAGS := $(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN), \
|
LDFLAGS := $(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||||
LDFLAGS_macosx := -L$(INSTALL_LIBRARIES_HERE), \
|
LDFLAGS_macosx := -L$(INSTALL_LIBRARIES_HERE), \
|
||||||
LDFLAGS_windows := -delayload:user32.dll -delayload:gdi32.dll \
|
LDFLAGS_windows := -delayload:user32.dll -delayload:gdi32.dll \
|
||||||
@ -167,7 +156,6 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBAWT, \
|
|||||||
-delayload:comctl32.dll -delayload:shlwapi.dll, \
|
-delayload:comctl32.dll -delayload:shlwapi.dll, \
|
||||||
LIBS_unix := -ljvm -ljava $(LIBM), \
|
LIBS_unix := -ljvm -ljava $(LIBM), \
|
||||||
LIBS_linux := $(LIBDL), \
|
LIBS_linux := $(LIBDL), \
|
||||||
LIBS_solaris := $(LIBDL), \
|
|
||||||
LIBS_aix := $(LIBDL),\
|
LIBS_aix := $(LIBDL),\
|
||||||
LIBS_macosx := -lmlib_image \
|
LIBS_macosx := -lmlib_image \
|
||||||
-framework Cocoa \
|
-framework Cocoa \
|
||||||
@ -223,10 +211,6 @@ ifeq ($(call isTargetOs, windows macosx), false)
|
|||||||
$(FONTCONFIG_CFLAGS) \
|
$(FONTCONFIG_CFLAGS) \
|
||||||
$(CUPS_CFLAGS)
|
$(CUPS_CFLAGS)
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, solaris), true)
|
|
||||||
LIBAWT_XAWT_CFLAGS += -DFUNCPROTO=15
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, linux), true)
|
ifeq ($(call isTargetOs, linux), true)
|
||||||
ifeq ($(DISABLE_XRENDER), true)
|
ifeq ($(DISABLE_XRENDER), true)
|
||||||
LIBAWT_XAWT_CFLAGS += -DDISABLE_XRENDER_BY_DEFAULT=true
|
LIBAWT_XAWT_CFLAGS += -DDISABLE_XRENDER_BY_DEFAULT=true
|
||||||
@ -265,8 +249,6 @@ ifeq ($(call isTargetOs, windows macosx), false)
|
|||||||
implicit-fallthrough undef unused-function, \
|
implicit-fallthrough undef unused-function, \
|
||||||
DISABLED_WARNINGS_clang := parentheses format undef \
|
DISABLED_WARNINGS_clang := parentheses format undef \
|
||||||
logical-op-parentheses format-nonliteral int-conversion, \
|
logical-op-parentheses format-nonliteral int-conversion, \
|
||||||
DISABLED_WARNINGS_solstudio := E_ASSIGNMENT_TYPE_MISMATCH \
|
|
||||||
E_NON_CONST_INIT, \
|
|
||||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||||
$(call SET_SHARED_LIBRARY_ORIGIN) \
|
$(call SET_SHARED_LIBRARY_ORIGIN) \
|
||||||
-L$(INSTALL_LIBRARIES_HERE), \
|
-L$(INSTALL_LIBRARIES_HERE), \
|
||||||
@ -312,7 +294,6 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBLCMS, \
|
|||||||
DISABLED_WARNINGS_gcc := format-nonliteral type-limits \
|
DISABLED_WARNINGS_gcc := format-nonliteral type-limits \
|
||||||
misleading-indentation undef unused-function stringop-truncation, \
|
misleading-indentation undef unused-function stringop-truncation, \
|
||||||
DISABLED_WARNINGS_clang := tautological-compare format-nonliteral undef, \
|
DISABLED_WARNINGS_clang := tautological-compare format-nonliteral undef, \
|
||||||
DISABLED_WARNINGS_solstudio := E_STATEMENT_NOT_REACHED, \
|
|
||||||
DISABLED_WARNINGS_microsoft := 4819, \
|
DISABLED_WARNINGS_microsoft := 4819, \
|
||||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||||
@ -397,13 +378,11 @@ ifeq ($(call isTargetOs, windows macosx), false)
|
|||||||
$(LIBAWT_HEADLESS_CFLAGS), \
|
$(LIBAWT_HEADLESS_CFLAGS), \
|
||||||
EXTRA_HEADER_DIRS := $(LIBAWT_HEADLESS_EXTRA_HEADER_DIRS), \
|
EXTRA_HEADER_DIRS := $(LIBAWT_HEADLESS_EXTRA_HEADER_DIRS), \
|
||||||
DISABLED_WARNINGS_gcc := unused-function, \
|
DISABLED_WARNINGS_gcc := unused-function, \
|
||||||
DISABLED_WARNINGS_solstudio := E_EMPTY_TRANSLATION_UNIT, \
|
|
||||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||||
LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
|
LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
|
||||||
LIBS_unix := -lawt -ljvm -ljava, \
|
LIBS_unix := -lawt -ljvm -ljava, \
|
||||||
LIBS_linux := $(LIBM) $(LIBDL), \
|
LIBS_linux := $(LIBM) $(LIBDL), \
|
||||||
LIBS_solaris := $(LIBM) $(LIBDL) $(LIBCXX), \
|
|
||||||
))
|
))
|
||||||
|
|
||||||
$(BUILD_LIBAWT_HEADLESS): $(BUILD_LIBAWT)
|
$(BUILD_LIBAWT_HEADLESS): $(BUILD_LIBAWT)
|
||||||
@ -438,9 +417,6 @@ else
|
|||||||
CFLAGS := $(CFLAGS_JDKLIB) \
|
CFLAGS := $(CFLAGS_JDKLIB) \
|
||||||
$(BUILD_LIBFREETYPE_CFLAGS), \
|
$(BUILD_LIBFREETYPE_CFLAGS), \
|
||||||
EXTRA_HEADER_DIRS := $(BUILD_LIBFREETYPE_HEADER_DIRS), \
|
EXTRA_HEADER_DIRS := $(BUILD_LIBFREETYPE_HEADER_DIRS), \
|
||||||
DISABLED_WARNINGS_solstudio := \
|
|
||||||
E_STATEMENT_NOT_REACHED \
|
|
||||||
E_END_OF_LOOP_CODE_NOT_REACHED, \
|
|
||||||
DISABLED_WARNINGS_microsoft := 4018 4267 4244 4312 4819, \
|
DISABLED_WARNINGS_microsoft := 4018 4267 4244 4312 4819, \
|
||||||
DISABLED_WARNINGS_gcc := implicit-fallthrough cast-function-type bad-function-cast, \
|
DISABLED_WARNINGS_gcc := implicit-fallthrough cast-function-type bad-function-cast, \
|
||||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||||
@ -464,9 +440,6 @@ endif
|
|||||||
ifeq ($(call isTargetOs, linux macosx), true)
|
ifeq ($(call isTargetOs, linux macosx), true)
|
||||||
HARFBUZZ_CFLAGS += -DHAVE_INTEL_ATOMIC_PRIMITIVES
|
HARFBUZZ_CFLAGS += -DHAVE_INTEL_ATOMIC_PRIMITIVES
|
||||||
endif
|
endif
|
||||||
ifeq ($(call isTargetOs, solaris), true)
|
|
||||||
HARFBUZZ_CFLAGS += -DHAVE_SOLARIS_ATOMIC_OPS
|
|
||||||
endif
|
|
||||||
ifeq ($(call isTargetOs, macosx), true)
|
ifeq ($(call isTargetOs, macosx), true)
|
||||||
HARFBUZZ_CFLAGS += -DHAVE_CORETEXT
|
HARFBUZZ_CFLAGS += -DHAVE_CORETEXT
|
||||||
endif
|
endif
|
||||||
@ -540,14 +513,6 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBFONTMANAGER, \
|
|||||||
DISABLED_WARNINGS_clang := unused-value incompatible-pointer-types \
|
DISABLED_WARNINGS_clang := unused-value incompatible-pointer-types \
|
||||||
tautological-constant-out-of-range-compare int-to-pointer-cast \
|
tautological-constant-out-of-range-compare int-to-pointer-cast \
|
||||||
sign-compare undef missing-field-initializers, \
|
sign-compare undef missing-field-initializers, \
|
||||||
DISABLED_WARNINGS_C_solstudio = \
|
|
||||||
E_INTEGER_OVERFLOW_DETECTED \
|
|
||||||
E_ARG_INCOMPATIBLE_WITH_ARG_L \
|
|
||||||
E_ENUM_VAL_OVERFLOWS_INT_MAX, \
|
|
||||||
DISABLED_WARNINGS_CXX_solstudio := \
|
|
||||||
truncwarn wvarhidenmem wvarhidemem wbadlkginit identexpected \
|
|
||||||
hidevf w_novirtualdescr arrowrtn2 refmemnoconstr_aggr unknownpragma \
|
|
||||||
doubunder wunreachable, \
|
|
||||||
DISABLED_WARNINGS_microsoft := 4267 4244 4018 4090 4996 4146 4334 4819 4101 4068 4805 4138, \
|
DISABLED_WARNINGS_microsoft := 4267 4244 4018 4090 4996 4146 4334 4819 4101 4068 4805 4138, \
|
||||||
LDFLAGS := $(subst -Xlinker -z -Xlinker defs,, \
|
LDFLAGS := $(subst -Xlinker -z -Xlinker defs,, \
|
||||||
$(subst -Wl$(COMMA)-z$(COMMA)defs,,$(LDFLAGS_JDKLIB))) $(LDFLAGS_CXX_JDK) \
|
$(subst -Wl$(COMMA)-z$(COMMA)defs,,$(LDFLAGS_JDKLIB))) $(LDFLAGS_CXX_JDK) \
|
||||||
@ -626,10 +591,7 @@ else # not windows
|
|||||||
ifeq ($(call isTargetOs, macosx), true)
|
ifeq ($(call isTargetOs, macosx), true)
|
||||||
JAWT_LIBS := -lawt_lwawt
|
JAWT_LIBS := -lawt_lwawt
|
||||||
else
|
else
|
||||||
JAWT_LIBS :=
|
JAWT_LIBS := -lawt
|
||||||
ifeq ($(call isTargetOs, solaris), false)
|
|
||||||
JAWT_LIBS += -lawt
|
|
||||||
endif
|
|
||||||
ifeq ($(ENABLE_HEADLESS_ONLY), false)
|
ifeq ($(ENABLE_HEADLESS_ONLY), false)
|
||||||
JAWT_LIBS += -lawt_xawt
|
JAWT_LIBS += -lawt_xawt
|
||||||
else
|
else
|
||||||
@ -656,7 +618,6 @@ else # not windows
|
|||||||
LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
|
LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
|
||||||
LDFLAGS_macosx := -Wl$(COMMA)-rpath$(COMMA)@loader_path, \
|
LDFLAGS_macosx := -Wl$(COMMA)-rpath$(COMMA)@loader_path, \
|
||||||
LIBS_unix := $(JAWT_LIBS) $(JDKLIB_LIBS), \
|
LIBS_unix := $(JAWT_LIBS) $(JDKLIB_LIBS), \
|
||||||
LIBS_solaris := $(X_LIBS) -lXrender, \
|
|
||||||
LIBS_macosx := -framework Cocoa, \
|
LIBS_macosx := -framework Cocoa, \
|
||||||
))
|
))
|
||||||
|
|
||||||
@ -775,7 +736,6 @@ ifeq ($(ENABLE_HEADLESS_ONLY), false)
|
|||||||
maybe-uninitialized shift-negative-value implicit-fallthrough \
|
maybe-uninitialized shift-negative-value implicit-fallthrough \
|
||||||
unused-function, \
|
unused-function, \
|
||||||
DISABLED_WARNINGS_clang := incompatible-pointer-types sign-compare, \
|
DISABLED_WARNINGS_clang := incompatible-pointer-types sign-compare, \
|
||||||
DISABLED_WARNINGS_solstudio := E_STATEMENT_NOT_REACHED, \
|
|
||||||
DISABLED_WARNINGS_microsoft := 4018 4244 4267, \
|
DISABLED_WARNINGS_microsoft := 4018 4244 4267, \
|
||||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||||
|
@ -45,13 +45,11 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBINSTRUMENT, \
|
|||||||
$(call SET_SHARED_LIBRARY_ORIGIN) \
|
$(call SET_SHARED_LIBRARY_ORIGIN) \
|
||||||
$(LIBINSTRUMENT_LDFLAGS), \
|
$(LIBINSTRUMENT_LDFLAGS), \
|
||||||
LDFLAGS_linux := -L$(call FindLibDirForModule, java.base), \
|
LDFLAGS_linux := -L$(call FindLibDirForModule, java.base), \
|
||||||
LDFLAGS_solaris := -L$(call FindLibDirForModule, java.base), \
|
|
||||||
LDFLAGS_macosx := -L$(call FindLibDirForModule, java.base), \
|
LDFLAGS_macosx := -L$(call FindLibDirForModule, java.base), \
|
||||||
LDFLAGS_aix := -L$(SUPPORT_OUTPUTDIR)/native/java.base, \
|
LDFLAGS_aix := -L$(SUPPORT_OUTPUTDIR)/native/java.base, \
|
||||||
LIBS := $(JDKLIB_LIBS), \
|
LIBS := $(JDKLIB_LIBS), \
|
||||||
LIBS_unix := -ljava -ljvm $(LIBZ_LIBS), \
|
LIBS_unix := -ljava -ljvm $(LIBZ_LIBS), \
|
||||||
LIBS_linux := -ljli $(LIBDL), \
|
LIBS_linux := -ljli $(LIBDL), \
|
||||||
LIBS_solaris := -ljli $(LIBDL), \
|
|
||||||
LIBS_aix := -liconv -ljli_static $(LIBDL), \
|
LIBS_aix := -liconv -ljli_static $(LIBDL), \
|
||||||
LIBS_macosx := -ljli -liconv -framework Cocoa -framework Security \
|
LIBS_macosx := -ljli -liconv -framework Cocoa -framework Security \
|
||||||
-framework ApplicationServices, \
|
-framework ApplicationServices, \
|
||||||
|
@ -28,7 +28,7 @@ include LibCommon.gmk
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
LIBMANAGEMENT_OPTIMIZATION := HIGH
|
LIBMANAGEMENT_OPTIMIZATION := HIGH
|
||||||
ifeq ($(call isTargetOs, solaris linux), true)
|
ifeq ($(call isTargetOs, linux), true)
|
||||||
ifeq ($(COMPILE_WITH_DEBUG_SYMBOLS), true)
|
ifeq ($(COMPILE_WITH_DEBUG_SYMBOLS), true)
|
||||||
LIBMANAGEMENT_OPTIMIZATION := LOW
|
LIBMANAGEMENT_OPTIMIZATION := LOW
|
||||||
endif
|
endif
|
||||||
@ -41,7 +41,6 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBMANAGEMENT, \
|
|||||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||||
LIBS := $(JDKLIB_LIBS), \
|
LIBS := $(JDKLIB_LIBS), \
|
||||||
LIBS_solaris := -lkstat, \
|
|
||||||
LIBS_aix := -lperfstat,\
|
LIBS_aix := -lperfstat,\
|
||||||
LIBS_windows := jvm.lib psapi.lib $(WIN_JAVA_LIB) advapi32.lib, \
|
LIBS_windows := jvm.lib psapi.lib $(WIN_JAVA_LIB) advapi32.lib, \
|
||||||
))
|
))
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -41,7 +41,6 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBPREFS, \
|
|||||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||||
LIBS_unix := -ljvm, \
|
LIBS_unix := -ljvm, \
|
||||||
LIBS_linux := -ljava, \
|
LIBS_linux := -ljava, \
|
||||||
LIBS_solaris := -ljava, \
|
|
||||||
LIBS_aix := -ljava, \
|
LIBS_aix := -ljava, \
|
||||||
LIBS_macosx := -framework CoreFoundation -framework Foundation, \
|
LIBS_macosx := -framework CoreFoundation -framework Foundation, \
|
||||||
LIBS_windows := advapi32.lib jvm.lib $(WIN_JAVA_LIB), \
|
LIBS_windows := advapi32.lib jvm.lib $(WIN_JAVA_LIB), \
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -42,10 +42,8 @@ $(eval $(call SetupBuildLauncher, jaotc, \
|
|||||||
JAVA_ARGS := --add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
|
JAVA_ARGS := --add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
|
||||||
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.amd64=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
|
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.amd64=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
|
||||||
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
|
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
|
||||||
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.sparc=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
|
|
||||||
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.meta=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
|
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.meta=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
|
||||||
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.runtime=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
|
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.runtime=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
|
||||||
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.sparc=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
|
|
||||||
-XX:+UnlockExperimentalVMOptions -XX:+UseAOT \
|
-XX:+UnlockExperimentalVMOptions -XX:+UseAOT \
|
||||||
-XX:+CalculateClassFingerprint \
|
-XX:+CalculateClassFingerprint \
|
||||||
-Djvmci.UseProfilingInformation=false \
|
-Djvmci.UseProfilingInformation=false \
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -42,7 +42,6 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBATTACH, \
|
|||||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||||
LIBS := $(JDKLIB_LIBS), \
|
LIBS := $(JDKLIB_LIBS), \
|
||||||
LIBS_solaris := -ldoor, \
|
|
||||||
LIBS_windows := $(WIN_JAVA_LIB) advapi32.lib psapi.lib, \
|
LIBS_windows := $(WIN_JAVA_LIB) advapi32.lib psapi.lib, \
|
||||||
))
|
))
|
||||||
|
|
||||||
|
@ -1,45 +0,0 @@
|
|||||||
#
|
|
||||||
# Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
#
|
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
|
||||||
# under the terms of the GNU General Public License version 2 only, as
|
|
||||||
# published by the Free Software Foundation. Oracle designates this
|
|
||||||
# particular file as subject to the "Classpath" exception as provided
|
|
||||||
# by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
#
|
|
||||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
# version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
# accompanied this code).
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License version
|
|
||||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
#
|
|
||||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
# or visit www.oracle.com if you need additional information or have any
|
|
||||||
# questions.
|
|
||||||
#
|
|
||||||
|
|
||||||
include CopyCommon.gmk
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, solaris), true)
|
|
||||||
|
|
||||||
SUNPKCS11_CFG_SRC := \
|
|
||||||
$(TOPDIR)/src/jdk.crypto.cryptoki/solaris/conf/security/sunpkcs11-solaris.cfg
|
|
||||||
SUNPKCS11_CFG_DST := $(CONF_DST_DIR)/security/sunpkcs11-solaris.cfg
|
|
||||||
|
|
||||||
$(SUNPKCS11_CFG_DST): $(SUNPKCS11_CFG_SRC)
|
|
||||||
$(call install-file)
|
|
||||||
|
|
||||||
SECURITY_PKCS11_CONF_FILES += $(SUNPKCS11_CFG_DST)
|
|
||||||
|
|
||||||
TARGETS := $(SUNPKCS11_CFG_DST)
|
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
################################################################################
|
|
@ -1,42 +0,0 @@
|
|||||||
#
|
|
||||||
# Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
#
|
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
|
||||||
# under the terms of the GNU General Public License version 2 only, as
|
|
||||||
# published by the Free Software Foundation. Oracle designates this
|
|
||||||
# particular file as subject to the "Classpath" exception as provided
|
|
||||||
# by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
#
|
|
||||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
# version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
# accompanied this code).
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License version
|
|
||||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
#
|
|
||||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
# or visit www.oracle.com if you need additional information or have any
|
|
||||||
# questions.
|
|
||||||
#
|
|
||||||
|
|
||||||
include CopyCommon.gmk
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, solaris), true)
|
|
||||||
|
|
||||||
UCRYPTO_CFG_SRC := $(TOPDIR)/src/jdk.crypto.ucrypto/solaris/conf/security/ucrypto-solaris.cfg
|
|
||||||
UCRYPTO_CFG_DST := $(CONF_DST_DIR)/security/ucrypto-solaris.cfg
|
|
||||||
|
|
||||||
$(UCRYPTO_CFG_DST): $(UCRYPTO_CFG_SRC)
|
|
||||||
$(call install-file)
|
|
||||||
|
|
||||||
TARGETS += $(UCRYPTO_CFG_DST)
|
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
################################################################################
|
|
@ -1,46 +0,0 @@
|
|||||||
#
|
|
||||||
# Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
#
|
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
|
||||||
# under the terms of the GNU General Public License version 2 only, as
|
|
||||||
# published by the Free Software Foundation. Oracle designates this
|
|
||||||
# particular file as subject to the "Classpath" exception as provided
|
|
||||||
# by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
#
|
|
||||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
||||||
# version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
# accompanied this code).
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License version
|
|
||||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
#
|
|
||||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
# or visit www.oracle.com if you need additional information or have any
|
|
||||||
# questions.
|
|
||||||
#
|
|
||||||
|
|
||||||
include LibCommon.gmk
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, solaris), true)
|
|
||||||
|
|
||||||
$(eval $(call SetupJdkLibrary, BUILD_LIBJ2UCRYPTO, \
|
|
||||||
NAME := j2ucrypto, \
|
|
||||||
OPTIMIZATION := LOW, \
|
|
||||||
CFLAGS := $(CFLAGS_JDKLIB), \
|
|
||||||
LDFLAGS := $(LDFLAGS_JDKLIB), \
|
|
||||||
LIBS := $(LIBDL), \
|
|
||||||
))
|
|
||||||
|
|
||||||
$(BUILD_LIBJ2UCRYPTO): $(call FindLib, java.base, java)
|
|
||||||
|
|
||||||
TARGETS += $(BUILD_LIBJ2UCRYPTO)
|
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
################################################################################
|
|
@ -30,9 +30,6 @@ include LibCommon.gmk
|
|||||||
ifeq ($(call isTargetOs, linux), true)
|
ifeq ($(call isTargetOs, linux), true)
|
||||||
SA_CFLAGS := -D_FILE_OFFSET_BITS=64
|
SA_CFLAGS := -D_FILE_OFFSET_BITS=64
|
||||||
|
|
||||||
else ifeq ($(call isTargetOs, solaris), true)
|
|
||||||
SA_LDFLAGS := -mt
|
|
||||||
|
|
||||||
else ifeq ($(call isTargetOs, macosx), true)
|
else ifeq ($(call isTargetOs, macosx), true)
|
||||||
SA_CFLAGS := -Damd64 -D_GNU_SOURCE -mno-omit-leaf-frame-pointer \
|
SA_CFLAGS := -Damd64 -D_GNU_SOURCE -mno-omit-leaf-frame-pointer \
|
||||||
-mstack-alignment=16 -fPIC
|
-mstack-alignment=16 -fPIC
|
||||||
@ -65,13 +62,11 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBSA, \
|
|||||||
DISABLED_WARNINGS_microsoft := 4267, \
|
DISABLED_WARNINGS_microsoft := 4267, \
|
||||||
DISABLED_WARNINGS_gcc := sign-compare pointer-arith, \
|
DISABLED_WARNINGS_gcc := sign-compare pointer-arith, \
|
||||||
DISABLED_WARNINGS_clang := sign-compare pointer-arith format-nonliteral, \
|
DISABLED_WARNINGS_clang := sign-compare pointer-arith format-nonliteral, \
|
||||||
DISABLED_WARNINGS_CXX_solstudio := truncwarn unknownpragma doubunder, \
|
|
||||||
CFLAGS := $(CFLAGS_JDKLIB) $(SA_CFLAGS), \
|
CFLAGS := $(CFLAGS_JDKLIB) $(SA_CFLAGS), \
|
||||||
CXXFLAGS := $(CXXFLAGS_JDKLIB) $(SA_CFLAGS) $(SA_CXXFLAGS), \
|
CXXFLAGS := $(CXXFLAGS_JDKLIB) $(SA_CFLAGS) $(SA_CXXFLAGS), \
|
||||||
EXTRA_SRC := $(LIBSA_EXTRA_SRC), \
|
EXTRA_SRC := $(LIBSA_EXTRA_SRC), \
|
||||||
LDFLAGS := $(LDFLAGS_JDKLIB) $(SA_LDFLAGS), \
|
LDFLAGS := $(LDFLAGS_JDKLIB), \
|
||||||
LIBS_linux := $(LIBDL), \
|
LIBS_linux := $(LIBDL), \
|
||||||
LIBS_solaris := -ldl -ldemangle -lthread -lproc, \
|
|
||||||
LIBS_macosx := -framework Foundation -framework JavaNativeFoundation \
|
LIBS_macosx := -framework Foundation -framework JavaNativeFoundation \
|
||||||
-framework JavaRuntimeSupport -framework Security -framework CoreFoundation, \
|
-framework JavaRuntimeSupport -framework Security -framework CoreFoundation, \
|
||||||
LIBS_windows := dbgeng.lib, \
|
LIBS_windows := dbgeng.lib, \
|
||||||
|
@ -35,12 +35,10 @@ PROC_SRC_SUBDIRS := \
|
|||||||
org.graalvm.compiler.core.aarch64 \
|
org.graalvm.compiler.core.aarch64 \
|
||||||
org.graalvm.compiler.core.amd64 \
|
org.graalvm.compiler.core.amd64 \
|
||||||
org.graalvm.compiler.core.common \
|
org.graalvm.compiler.core.common \
|
||||||
org.graalvm.compiler.core.sparc \
|
|
||||||
org.graalvm.compiler.debug \
|
org.graalvm.compiler.debug \
|
||||||
org.graalvm.compiler.hotspot \
|
org.graalvm.compiler.hotspot \
|
||||||
org.graalvm.compiler.hotspot.aarch64 \
|
org.graalvm.compiler.hotspot.aarch64 \
|
||||||
org.graalvm.compiler.hotspot.amd64 \
|
org.graalvm.compiler.hotspot.amd64 \
|
||||||
org.graalvm.compiler.hotspot.sparc \
|
|
||||||
org.graalvm.compiler.graph \
|
org.graalvm.compiler.graph \
|
||||||
org.graalvm.compiler.java \
|
org.graalvm.compiler.java \
|
||||||
org.graalvm.compiler.lir \
|
org.graalvm.compiler.lir \
|
||||||
@ -85,13 +83,11 @@ ADD_EXPORTS := \
|
|||||||
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=jdk.internal.vm.compiler \
|
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=jdk.internal.vm.compiler \
|
||||||
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.amd64=jdk.internal.vm.compiler \
|
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.amd64=jdk.internal.vm.compiler \
|
||||||
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.events=jdk.internal.vm.compiler \
|
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.events=jdk.internal.vm.compiler \
|
||||||
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspot.sparc=jdk.internal.vm.compiler \
|
|
||||||
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspotvmconfig=jdk.internal.vm.compiler \
|
--add-exports jdk.internal.vm.ci/jdk.vm.ci.hotspotvmconfig=jdk.internal.vm.compiler \
|
||||||
--add-exports jdk.internal.vm.ci/jdk.vm.ci.inittimer=jdk.internal.vm.compiler \
|
--add-exports jdk.internal.vm.ci/jdk.vm.ci.inittimer=jdk.internal.vm.compiler \
|
||||||
--add-exports jdk.internal.vm.ci/jdk.vm.ci.meta=jdk.internal.vm.compiler \
|
--add-exports jdk.internal.vm.ci/jdk.vm.ci.meta=jdk.internal.vm.compiler \
|
||||||
--add-exports jdk.internal.vm.ci/jdk.vm.ci.runtime=jdk.internal.vm.compiler \
|
--add-exports jdk.internal.vm.ci/jdk.vm.ci.runtime=jdk.internal.vm.compiler \
|
||||||
--add-exports jdk.internal.vm.ci/jdk.vm.ci.services=jdk.internal.vm.compiler \
|
--add-exports jdk.internal.vm.ci/jdk.vm.ci.services=jdk.internal.vm.compiler \
|
||||||
--add-exports jdk.internal.vm.ci/jdk.vm.ci.sparc=jdk.internal.vm.compiler \
|
|
||||||
#
|
#
|
||||||
|
|
||||||
$(GENSRC_DIR)/_gensrc_proc_done: $(PROC_SRCS) $(PROCESSOR_JARS)
|
$(GENSRC_DIR)/_gensrc_proc_done: $(PROC_SRCS) $(PROCESSOR_JARS)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -37,7 +37,6 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBDT_SOCKET, \
|
|||||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||||
LIBS_linux := -lpthread, \
|
LIBS_linux := -lpthread, \
|
||||||
LIBS_solaris := -lnsl -lsocket, \
|
|
||||||
LIBS_windows := $(JDKLIB_LIBS) ws2_32.lib iphlpapi.lib, \
|
LIBS_windows := $(JDKLIB_LIBS) ws2_32.lib iphlpapi.lib, \
|
||||||
))
|
))
|
||||||
|
|
||||||
@ -63,7 +62,6 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBJDWP, \
|
|||||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||||
LIBS := $(JDKLIB_LIBS), \
|
LIBS := $(JDKLIB_LIBS), \
|
||||||
LIBS_linux := $(LIBDL), \
|
LIBS_linux := $(LIBDL), \
|
||||||
LIBS_solaris := $(LIBDL), \
|
|
||||||
LIBS_macosx := -liconv, \
|
LIBS_macosx := -liconv, \
|
||||||
LIBS_aix := -liconv, \
|
LIBS_aix := -liconv, \
|
||||||
LIBS_windows := $(WIN_JAVA_LIB), \
|
LIBS_windows := $(WIN_JAVA_LIB), \
|
||||||
|
@ -35,7 +35,7 @@ ifeq ($(call isTargetOs, windows), true)
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
LIBMANAGEMENT_EXT_OPTIMIZATION := HIGH
|
LIBMANAGEMENT_EXT_OPTIMIZATION := HIGH
|
||||||
ifeq ($(call isTargetOs, solaris linux), true)
|
ifeq ($(call isTargetOs, linux), true)
|
||||||
ifeq ($(COMPILE_WITH_DEBUG_SYMBOLS), true)
|
ifeq ($(COMPILE_WITH_DEBUG_SYMBOLS), true)
|
||||||
LIBMANAGEMENT_EXT_OPTIMIZATION := LOW
|
LIBMANAGEMENT_EXT_OPTIMIZATION := LOW
|
||||||
endif
|
endif
|
||||||
@ -49,7 +49,6 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBMANAGEMENT_EXT, \
|
|||||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||||
LIBS := $(JDKLIB_LIBS), \
|
LIBS := $(JDKLIB_LIBS), \
|
||||||
LIBS_solaris := -lkstat, \
|
|
||||||
LIBS_aix := -lperfstat,\
|
LIBS_aix := -lperfstat,\
|
||||||
LIBS_windows := jvm.lib psapi.lib $(WIN_JAVA_LIB) advapi32.lib, \
|
LIBS_windows := jvm.lib psapi.lib $(WIN_JAVA_LIB) advapi32.lib, \
|
||||||
))
|
))
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -27,7 +27,7 @@ include LibCommon.gmk
|
|||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, solaris linux macosx), true)
|
ifeq ($(call isTargetOs, linux macosx), true)
|
||||||
|
|
||||||
$(eval $(call SetupJdkLibrary, BUILD_LIBEXTNET, \
|
$(eval $(call SetupJdkLibrary, BUILD_LIBEXTNET, \
|
||||||
NAME := extnet, \
|
NAME := extnet, \
|
||||||
@ -36,7 +36,6 @@ ifeq ($(call isTargetOs, solaris linux macosx), true)
|
|||||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||||
LIBS := -ljava, \
|
LIBS := -ljava, \
|
||||||
LIBS_solaris := -lsocket, \
|
|
||||||
LIBS_linux := -ljvm, \
|
LIBS_linux := -ljvm, \
|
||||||
))
|
))
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -44,7 +44,6 @@ ifeq ($(call isTargetOsType, unix), true)
|
|||||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||||
LIBS_unix := -lnio -lnet -ljava -ljvm, \
|
LIBS_unix := -lnio -lnet -ljava -ljvm, \
|
||||||
LIBS_linux := -lpthread $(LIBDL), \
|
LIBS_linux := -lpthread $(LIBDL), \
|
||||||
LIBS_solaris := -lsocket, \
|
|
||||||
))
|
))
|
||||||
|
|
||||||
TARGETS += $(BUILD_LIBSCTP)
|
TARGETS += $(BUILD_LIBSCTP)
|
||||||
|
@ -72,26 +72,7 @@ fi
|
|||||||
# Disassembly diff filters. These filters try to filter out ephemeral parts of the
|
# Disassembly diff filters. These filters try to filter out ephemeral parts of the
|
||||||
# disassembly, such as hard-coded addresses, to be able to catch "actual" differences.
|
# disassembly, such as hard-coded addresses, to be able to catch "actual" differences.
|
||||||
|
|
||||||
if [ "$OPENJDK_TARGET_OS" = "solaris" ]; then
|
if [ "$OPENJDK_TARGET_OS" = "windows" ]; then
|
||||||
if [ "$OPENJDK_TARGET_CPU" = "sparcv9" ]; then
|
|
||||||
DIS_DIFF_FILTER="$SED \
|
|
||||||
-e 's/^[0-9a-f]\{16\}/<ADDR>:/' \
|
|
||||||
-e 's/^ *[0-9a-f]\{3,12\}:/ <ADDR>:/' \
|
|
||||||
-e 's/: [0-9a-f][0-9a-f]\( [0-9a-f][0-9a-f]\)\{2,10\}/: <NUMS>/' \
|
|
||||||
-e 's/\$[a-zA-Z0-9_\$]\{15\}\./<SYM>./' \
|
|
||||||
-e 's/, [0-9a-fx\-]\{1,8\}/, <ADDR>/g' \
|
|
||||||
-e 's/0x[0-9a-f]\{1,8\}/<HEX>/g' \
|
|
||||||
-e 's/\! [0-9a-f]\{1,8\} /! <ADDR> /' \
|
|
||||||
-e 's/call [0-9a-f]\{4,7\}/call <ADDR>/' \
|
|
||||||
-e 's/%hi(0),/%hi(<HEX>),/' \
|
|
||||||
"
|
|
||||||
elif [ "$OPENJDK_TARGET_CPU" = "x86_64" ]; then
|
|
||||||
# Random strings looking like this differ: <.XAKoKoPIac2W0OA.
|
|
||||||
DIS_DIFF_FILTER="$SED \
|
|
||||||
-e 's/<\.[A-Za-z0-9]\{\15}\./<.SYM./' \
|
|
||||||
"
|
|
||||||
fi
|
|
||||||
elif [ "$OPENJDK_TARGET_OS" = "windows" ]; then
|
|
||||||
if [ "$OPENJDK_TARGET_CPU" = "x86" ]; then
|
if [ "$OPENJDK_TARGET_CPU" = "x86" ]; then
|
||||||
DIS_DIFF_FILTER="$SED -r \
|
DIS_DIFF_FILTER="$SED -r \
|
||||||
-e 's/^ [0-9A-F]{16}: //' \
|
-e 's/^ [0-9A-F]{16}: //' \
|
||||||
@ -458,14 +439,7 @@ compare_zip_file() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
CONTENTS_DIFF_FILE=$WORK_DIR/$ZIP_FILE.diff
|
CONTENTS_DIFF_FILE=$WORK_DIR/$ZIP_FILE.diff
|
||||||
# On solaris, there is no -q option.
|
$DIFF -rq $OTHER_UNZIPDIR $THIS_UNZIPDIR > $CONTENTS_DIFF_FILE
|
||||||
if [ "$OPENJDK_TARGET_OS" = "solaris" ]; then
|
|
||||||
$DIFF -r $OTHER_UNZIPDIR $THIS_UNZIPDIR \
|
|
||||||
| $GREP -v -e "^<" -e "^>" -e "^Common subdirectories:" \
|
|
||||||
> $CONTENTS_DIFF_FILE
|
|
||||||
else
|
|
||||||
$DIFF -rq $OTHER_UNZIPDIR $THIS_UNZIPDIR > $CONTENTS_DIFF_FILE
|
|
||||||
fi
|
|
||||||
|
|
||||||
ONLY_OTHER=$($GREP "^Only in $OTHER_UNZIPDIR" $CONTENTS_DIFF_FILE)
|
ONLY_OTHER=$($GREP "^Only in $OTHER_UNZIPDIR" $CONTENTS_DIFF_FILE)
|
||||||
ONLY_THIS=$($GREP "^Only in $THIS_UNZIPDIR" $CONTENTS_DIFF_FILE)
|
ONLY_THIS=$($GREP "^Only in $THIS_UNZIPDIR" $CONTENTS_DIFF_FILE)
|
||||||
@ -485,14 +459,8 @@ compare_zip_file() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$CMP_ZIPS_CONTENTS" = "true" ]; then
|
if [ "$CMP_ZIPS_CONTENTS" = "true" ]; then
|
||||||
if [ "$OPENJDK_TARGET_OS" = "solaris" ]; then
|
DIFFING_FILES=$($GREP -e "differ$" $CONTENTS_DIFF_FILE \
|
||||||
DIFFING_FILES=$($GREP -e 'differ$' -e '^diff ' $CONTENTS_DIFF_FILE \
|
| $CUT -f 2 -d ' ' | $SED "s|$OTHER_UNZIPDIR/||g")
|
||||||
| $SED -e 's/^Files //g' -e 's/diff -r //g' | $CUT -f 1 -d ' ' \
|
|
||||||
| $SED "s|$OTHER_UNZIPDIR/||g")
|
|
||||||
else
|
|
||||||
DIFFING_FILES=$($GREP -e "differ$" $CONTENTS_DIFF_FILE \
|
|
||||||
| $CUT -f 2 -d ' ' | $SED "s|$OTHER_UNZIPDIR/||g")
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Separate executable/library files from other files in zip.
|
# Separate executable/library files from other files in zip.
|
||||||
DIFFING_TEXT_FILES=
|
DIFFING_TEXT_FILES=
|
||||||
@ -829,10 +797,6 @@ compare_bin_file() {
|
|||||||
# to filter out that extra information.
|
# to filter out that extra information.
|
||||||
$DUMPBIN -exports $OTHER_FILE | $GREP -E '^ +[0-9A-F]+ +[0-9A-F]+ [0-9A-F]+' | sed 's/ = .*//g' | cut -c27- | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.other
|
$DUMPBIN -exports $OTHER_FILE | $GREP -E '^ +[0-9A-F]+ +[0-9A-F]+ [0-9A-F]+' | sed 's/ = .*//g' | cut -c27- | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.other
|
||||||
$DUMPBIN -exports $THIS_FILE | $GREP -E '^ +[0-9A-F]+ +[0-9A-F]+ [0-9A-F]+' | sed 's/ = .*//g' | cut -c27- | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.this
|
$DUMPBIN -exports $THIS_FILE | $GREP -E '^ +[0-9A-F]+ +[0-9A-F]+ [0-9A-F]+' | sed 's/ = .*//g' | cut -c27- | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.this
|
||||||
elif [ "$OPENJDK_TARGET_OS" = "solaris" ]; then
|
|
||||||
# Some symbols get seemingly random 15 character prefixes. Filter them out.
|
|
||||||
$NM -a $ORIG_OTHER_FILE 2> /dev/null | $GREP -v $NAME | $AWK '{print $2, $3, $4, $5}' | $SED 's/^\([a-zA-Z] [\.\$]\)[a-zA-Z0-9_\$]\{15,15\}\./\1./g' | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.other
|
|
||||||
$NM -a $ORIG_THIS_FILE 2> /dev/null | $GREP -v $NAME | $AWK '{print $2, $3, $4, $5}' | $SED 's/^\([a-zA-Z] [\.\$]\)[a-zA-Z0-9_\$]\{15,15\}\./\1./g' | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.this
|
|
||||||
elif [ "$OPENJDK_TARGET_OS" = "aix" ]; then
|
elif [ "$OPENJDK_TARGET_OS" = "aix" ]; then
|
||||||
$OBJDUMP -T $ORIG_OTHER_FILE 2> /dev/null | $GREP -v $NAME | $AWK '{print $2, $3, $4, $5}' | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.other
|
$OBJDUMP -T $ORIG_OTHER_FILE 2> /dev/null | $GREP -v $NAME | $AWK '{print $2, $3, $4, $5}' | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.other
|
||||||
$OBJDUMP -T $ORIG_THIS_FILE 2> /dev/null | $GREP -v $NAME | $AWK '{print $2, $3, $4, $5}' | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.this
|
$OBJDUMP -T $ORIG_THIS_FILE 2> /dev/null | $GREP -v $NAME | $AWK '{print $2, $3, $4, $5}' | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.this
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#
|
#
|
||||||
# Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2012, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -45,21 +45,6 @@ if [ "$OPENJDK_TARGET_OS" = "linux" ]; then
|
|||||||
./hotspot/gtest/server/libjvm.so
|
./hotspot/gtest/server/libjvm.so
|
||||||
"
|
"
|
||||||
fi
|
fi
|
||||||
elif [ "$OPENJDK_TARGET_OS" = "solaris" ]; then
|
|
||||||
SKIP_BIN_DIFF="true"
|
|
||||||
SKIP_FULLDUMP_DIFF="true"
|
|
||||||
MAX_KNOWN_DIS_DIFF_SIZE="3000"
|
|
||||||
SORT_SYMBOLS="
|
|
||||||
./lib/libfontmanager.so
|
|
||||||
./lib/libjimage.so
|
|
||||||
./lib/server/libjvm.so
|
|
||||||
./hotspot/gtest/server/libjvm.so
|
|
||||||
"
|
|
||||||
KNOWN_DIS_DIFF="
|
|
||||||
./lib/libfontmanager.so
|
|
||||||
./lib/libsaproc.so
|
|
||||||
"
|
|
||||||
STRIP_TESTS_BEFORE_COMPARE="true"
|
|
||||||
elif [ "$OPENJDK_TARGET_OS" = "windows" ]; then
|
elif [ "$OPENJDK_TARGET_OS" = "windows" ]; then
|
||||||
SKIP_BIN_DIFF="true"
|
SKIP_BIN_DIFF="true"
|
||||||
SKIP_FULLDUMP_DIFF="true"
|
SKIP_FULLDUMP_DIFF="true"
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#
|
#
|
||||||
# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2012, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -22,13 +22,8 @@
|
|||||||
# questions.
|
# questions.
|
||||||
#
|
#
|
||||||
|
|
||||||
if [ -x /usr/bin/ggrep ] ; then
|
GREP=grep
|
||||||
# Gnu grep on Solaris
|
|
||||||
# (reference configure and build/solaris-i586-clientANDserver-release/spec.gmk
|
|
||||||
GREP=/usr/bin/ggrep
|
|
||||||
else
|
|
||||||
GREP=grep
|
|
||||||
fi
|
|
||||||
#
|
#
|
||||||
EXP="Note: Some input files use or override a deprecated API."
|
EXP="Note: Some input files use or override a deprecated API."
|
||||||
EXP="${EXP}|Note: Recompile with -Xlint:deprecation for details."
|
EXP="${EXP}|Note: Recompile with -Xlint:deprecation for details."
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash -f
|
#!/bin/bash -f
|
||||||
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2010, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -26,11 +26,7 @@
|
|||||||
# Script to update the Copyright YEAR range in Mercurial sources.
|
# Script to update the Copyright YEAR range in Mercurial sources.
|
||||||
# (Originally from xdono, Thanks!)
|
# (Originally from xdono, Thanks!)
|
||||||
|
|
||||||
if [ "`uname -s`" = "SunOS" ] ; then
|
awk=awk
|
||||||
awk=nawk
|
|
||||||
else
|
|
||||||
awk=awk
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Stop on any error
|
# Stop on any error
|
||||||
set -e
|
set -e
|
||||||
|
@ -85,7 +85,6 @@ ifeq ($(INCLUDE_GRAAL), true)
|
|||||||
$(SRC_DIR)/org.graalvm.compiler.api.test/src \
|
$(SRC_DIR)/org.graalvm.compiler.api.test/src \
|
||||||
$(SRC_DIR)/org.graalvm.compiler.asm.aarch64.test/src \
|
$(SRC_DIR)/org.graalvm.compiler.asm.aarch64.test/src \
|
||||||
$(SRC_DIR)/org.graalvm.compiler.asm.amd64.test/src \
|
$(SRC_DIR)/org.graalvm.compiler.asm.amd64.test/src \
|
||||||
$(SRC_DIR)/org.graalvm.compiler.asm.sparc.test/src \
|
|
||||||
$(SRC_DIR)/org.graalvm.compiler.asm.test/src \
|
$(SRC_DIR)/org.graalvm.compiler.asm.test/src \
|
||||||
$(SRC_DIR)/org.graalvm.compiler.core.aarch64.test/src \
|
$(SRC_DIR)/org.graalvm.compiler.core.aarch64.test/src \
|
||||||
$(SRC_DIR)/org.graalvm.compiler.core.amd64.test/src \
|
$(SRC_DIR)/org.graalvm.compiler.core.amd64.test/src \
|
||||||
@ -98,7 +97,6 @@ ifeq ($(INCLUDE_GRAAL), true)
|
|||||||
$(SRC_DIR)/org.graalvm.compiler.hotspot.jdk15.test/src \
|
$(SRC_DIR)/org.graalvm.compiler.hotspot.jdk15.test/src \
|
||||||
$(SRC_DIR)/org.graalvm.compiler.hotspot.jdk9.test/src \
|
$(SRC_DIR)/org.graalvm.compiler.hotspot.jdk9.test/src \
|
||||||
$(SRC_DIR)/org.graalvm.compiler.hotspot.lir.test/src \
|
$(SRC_DIR)/org.graalvm.compiler.hotspot.lir.test/src \
|
||||||
$(SRC_DIR)/org.graalvm.compiler.hotspot.sparc.test/src \
|
|
||||||
$(SRC_DIR)/org.graalvm.compiler.hotspot.test/src \
|
$(SRC_DIR)/org.graalvm.compiler.hotspot.test/src \
|
||||||
$(SRC_DIR)/org.graalvm.compiler.jtt/src \
|
$(SRC_DIR)/org.graalvm.compiler.jtt/src \
|
||||||
$(SRC_DIR)/org.graalvm.compiler.lir.jtt/src \
|
$(SRC_DIR)/org.graalvm.compiler.lir.jtt/src \
|
||||||
|
@ -850,10 +850,6 @@ BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libVirtualMachine09agent00 := $(NSK_AOD_INC
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
# Platform specific setup
|
# Platform specific setup
|
||||||
ifeq ($(call And, $(call isTargetOs, solaris) $(call isTargetCpuArch, sparc)), false)
|
|
||||||
BUILD_HOTSPOT_JTREG_EXCLUDE += liboverflow.c exeThreadSignalMask.c
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, linux), true)
|
ifeq ($(call isTargetOs, linux), true)
|
||||||
BUILD_HOTSPOT_JTREG_LIBRARIES_LDFLAGS_libtest-rw := -z noexecstack
|
BUILD_HOTSPOT_JTREG_LIBRARIES_LDFLAGS_libtest-rw := -z noexecstack
|
||||||
BUILD_HOTSPOT_JTREG_LIBRARIES_LDFLAGS_libtest-rwx := -z execstack
|
BUILD_HOTSPOT_JTREG_LIBRARIES_LDFLAGS_libtest-rwx := -z execstack
|
||||||
@ -873,10 +869,6 @@ endif
|
|||||||
|
|
||||||
BUILD_HOTSPOT_JTREG_EXECUTABLES_LIBS_exesigtest := -ljvm
|
BUILD_HOTSPOT_JTREG_EXECUTABLES_LIBS_exesigtest := -ljvm
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, solaris), true)
|
|
||||||
BUILD_HOTSPOT_JTREG_EXCLUDE += libterminatedThread.c
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(call isTargetOs, windows), true)
|
ifeq ($(call isTargetOs, windows), true)
|
||||||
BUILD_HOTSPOT_JTREG_EXECUTABLES_CFLAGS_exeFPRegs := -MT
|
BUILD_HOTSPOT_JTREG_EXECUTABLES_CFLAGS_exeFPRegs := -MT
|
||||||
BUILD_HOTSPOT_JTREG_EXCLUDE += exesigtest.c libterminatedThread.c
|
BUILD_HOTSPOT_JTREG_EXCLUDE += exesigtest.c libterminatedThread.c
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
|
# Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
#
|
#
|
||||||
# This code is free software; you can redistribute it and/or modify it
|
# This code is free software; you can redistribute it and/or modify it
|
||||||
@ -70,9 +70,6 @@ else
|
|||||||
ifeq ($(call isTargetOs, linux), true)
|
ifeq ($(call isTargetOs, linux), true)
|
||||||
BUILD_JDK_JTREG_LIBRARIES_LIBS_libInheritedChannel := -ljava
|
BUILD_JDK_JTREG_LIBRARIES_LIBS_libInheritedChannel := -ljava
|
||||||
BUILD_JDK_JTREG_EXECUTABLES_LIBS_exelauncher := -ldl
|
BUILD_JDK_JTREG_EXECUTABLES_LIBS_exelauncher := -ldl
|
||||||
else ifeq ($(call isTargetOs, solaris), true)
|
|
||||||
BUILD_JDK_JTREG_LIBRARIES_LIBS_libInheritedChannel := -ljava -lsocket -lnsl
|
|
||||||
BUILD_JDK_JTREG_EXECUTABLES_LIBS_exelauncher := -lthread -ldl
|
|
||||||
endif
|
endif
|
||||||
BUILD_JDK_JTREG_EXECUTABLES_LIBS_exeJliLaunchTest := -ljli
|
BUILD_JDK_JTREG_EXECUTABLES_LIBS_exeJliLaunchTest := -ljli
|
||||||
BUILD_JDK_JTREG_EXECUTABLES_LIBS_exeCallerAccessTest := -ljvm
|
BUILD_JDK_JTREG_EXECUTABLES_LIBS_exeCallerAccessTest := -ljvm
|
||||||
|
@ -387,7 +387,7 @@ def _jvmci_gate_runner(args, tasks):
|
|||||||
if t: _runmultimake(['--jdk-jvm-variants', 'server', '--jdk-debug-levels', 'fastdebug'])
|
if t: _runmultimake(['--jdk-jvm-variants', 'server', '--jdk-debug-levels', 'fastdebug'])
|
||||||
|
|
||||||
with Task('CleanAndBuildIdealGraphVisualizer', tasks, disableJacoco=True) as t:
|
with Task('CleanAndBuildIdealGraphVisualizer', tasks, disableJacoco=True) as t:
|
||||||
if t and platform.processor() != 'sparc':
|
if t:
|
||||||
buildxml = mx._cygpathU2W(join(_suite.dir, 'src', 'share', 'tools', 'IdealGraphVisualizer', 'build.xml'))
|
buildxml = mx._cygpathU2W(join(_suite.dir, 'src', 'share', 'tools', 'IdealGraphVisualizer', 'build.xml'))
|
||||||
mx.run(['ant', '-f', buildxml, '-q', 'clean', 'build'], env=_igvBuildEnv())
|
mx.run(['ant', '-f', buildxml, '-q', 'clean', 'build'], env=_igvBuildEnv())
|
||||||
|
|
||||||
@ -486,8 +486,6 @@ def hsdis(args, copyToDir=None):
|
|||||||
flavor = 'intel'
|
flavor = 'intel'
|
||||||
if 'att' in args:
|
if 'att' in args:
|
||||||
flavor = 'att'
|
flavor = 'att'
|
||||||
if mx.get_arch() == "sparcv9":
|
|
||||||
flavor = "sparcv9"
|
|
||||||
lib = mx.add_lib_suffix('hsdis-' + mx.get_arch())
|
lib = mx.add_lib_suffix('hsdis-' + mx.get_arch())
|
||||||
path = join(_suite.dir, 'lib', lib)
|
path = join(_suite.dir, 'lib', lib)
|
||||||
|
|
||||||
@ -497,7 +495,6 @@ def hsdis(args, copyToDir=None):
|
|||||||
'intel/hsdis-amd64.dll' : '6a388372cdd5fe905c1a26ced614334e405d1f30',
|
'intel/hsdis-amd64.dll' : '6a388372cdd5fe905c1a26ced614334e405d1f30',
|
||||||
'intel/hsdis-amd64.so' : '844ed9ffed64fe9599638f29a8450c50140e3192',
|
'intel/hsdis-amd64.so' : '844ed9ffed64fe9599638f29a8450c50140e3192',
|
||||||
'intel/hsdis-amd64.dylib' : 'fdb13ef0d7d23d93dacaae9c98837bea0d4fc5a2',
|
'intel/hsdis-amd64.dylib' : 'fdb13ef0d7d23d93dacaae9c98837bea0d4fc5a2',
|
||||||
'sparcv9/hsdis-sparcv9.so': '970640a9af0bd63641f9063c11275b371a59ee60',
|
|
||||||
}
|
}
|
||||||
|
|
||||||
flavoredLib = flavor + "/" + lib
|
flavoredLib = flavor + "/" + lib
|
||||||
@ -579,8 +576,6 @@ def _get_openjdk_os():
|
|||||||
os = 'macosx'
|
os = 'macosx'
|
||||||
elif 'linux' in os:
|
elif 'linux' in os:
|
||||||
os = 'linux'
|
os = 'linux'
|
||||||
elif 'solaris' in os:
|
|
||||||
os = 'solaris'
|
|
||||||
elif 'cygwin' in os or 'mingw' in os:
|
elif 'cygwin' in os or 'mingw' in os:
|
||||||
os = 'windows'
|
os = 'windows'
|
||||||
return os
|
return os
|
||||||
@ -589,8 +584,6 @@ def _get_openjdk_cpu():
|
|||||||
cpu = mx.get_arch()
|
cpu = mx.get_arch()
|
||||||
if cpu == 'amd64':
|
if cpu == 'amd64':
|
||||||
cpu = 'x86_64'
|
cpu = 'x86_64'
|
||||||
elif cpu == 'sparcv9':
|
|
||||||
cpu = 'sparcv9'
|
|
||||||
return cpu
|
return cpu
|
||||||
|
|
||||||
def _get_openjdk_os_cpu():
|
def _get_openjdk_os_cpu():
|
||||||
|
@ -87,7 +87,6 @@ suite = {
|
|||||||
"dependencies" : [
|
"dependencies" : [
|
||||||
"mx:JUNIT",
|
"mx:JUNIT",
|
||||||
"jdk.vm.ci.amd64",
|
"jdk.vm.ci.amd64",
|
||||||
"jdk.vm.ci.sparc",
|
|
||||||
"jdk.vm.ci.code",
|
"jdk.vm.ci.code",
|
||||||
"jdk.vm.ci.hotspot",
|
"jdk.vm.ci.hotspot",
|
||||||
],
|
],
|
||||||
@ -141,15 +140,6 @@ suite = {
|
|||||||
"workingSets" : "JVMCI,AMD64",
|
"workingSets" : "JVMCI,AMD64",
|
||||||
},
|
},
|
||||||
|
|
||||||
"jdk.vm.ci.sparc" : {
|
|
||||||
"subDir" : "../jdk.internal.vm.ci/share/classes",
|
|
||||||
"sourceDirs" : ["src"],
|
|
||||||
"dependencies" : ["jdk.vm.ci.code"],
|
|
||||||
"checkstyle" : "jdk.vm.ci.services",
|
|
||||||
"javaCompliance" : "9+",
|
|
||||||
"workingSets" : "JVMCI,SPARC",
|
|
||||||
},
|
|
||||||
|
|
||||||
"jdk.vm.ci.hotspot" : {
|
"jdk.vm.ci.hotspot" : {
|
||||||
"subDir" : "../jdk.internal.vm.ci/share/classes",
|
"subDir" : "../jdk.internal.vm.ci/share/classes",
|
||||||
"sourceDirs" : ["src"],
|
"sourceDirs" : ["src"],
|
||||||
@ -205,18 +195,6 @@ suite = {
|
|||||||
"workingSets" : "JVMCI,HotSpot,AMD64",
|
"workingSets" : "JVMCI,HotSpot,AMD64",
|
||||||
},
|
},
|
||||||
|
|
||||||
"jdk.vm.ci.hotspot.sparc" : {
|
|
||||||
"subDir" : "../jdk.internal.vm.ci/share/classes",
|
|
||||||
"sourceDirs" : ["src"],
|
|
||||||
"dependencies" : [
|
|
||||||
"jdk.vm.ci.sparc",
|
|
||||||
"jdk.vm.ci.hotspot",
|
|
||||||
],
|
|
||||||
"checkstyle" : "jdk.vm.ci.services",
|
|
||||||
"javaCompliance" : "9+",
|
|
||||||
"workingSets" : "JVMCI,HotSpot,SPARC",
|
|
||||||
},
|
|
||||||
|
|
||||||
"hotspot" : {
|
"hotspot" : {
|
||||||
"native" : True,
|
"native" : True,
|
||||||
"class" : "HotSpotProject",
|
"class" : "HotSpotProject",
|
||||||
@ -239,7 +217,6 @@ suite = {
|
|||||||
"jdk.vm.ci.common",
|
"jdk.vm.ci.common",
|
||||||
"jdk.vm.ci.aarch64",
|
"jdk.vm.ci.aarch64",
|
||||||
"jdk.vm.ci.amd64",
|
"jdk.vm.ci.amd64",
|
||||||
"jdk.vm.ci.sparc",
|
|
||||||
],
|
],
|
||||||
"distDependencies" : [
|
"distDependencies" : [
|
||||||
"JVMCI_SERVICES",
|
"JVMCI_SERVICES",
|
||||||
@ -251,7 +228,6 @@ suite = {
|
|||||||
"dependencies" : [
|
"dependencies" : [
|
||||||
"jdk.vm.ci.hotspot.aarch64",
|
"jdk.vm.ci.hotspot.aarch64",
|
||||||
"jdk.vm.ci.hotspot.amd64",
|
"jdk.vm.ci.hotspot.amd64",
|
||||||
"jdk.vm.ci.hotspot.sparc",
|
|
||||||
],
|
],
|
||||||
"distDependencies" : [
|
"distDependencies" : [
|
||||||
"JVMCI_SERVICES",
|
"JVMCI_SERVICES",
|
||||||
|
@ -1,297 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 1997, 2017, 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.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "precompiled.hpp"
|
|
||||||
#include "interpreter/interpreter.hpp"
|
|
||||||
#include "oops/constMethod.hpp"
|
|
||||||
#include "oops/klass.inline.hpp"
|
|
||||||
#include "oops/method.hpp"
|
|
||||||
#include "runtime/arguments.hpp"
|
|
||||||
#include "runtime/frame.inline.hpp"
|
|
||||||
#include "runtime/synchronizer.hpp"
|
|
||||||
#include "utilities/align.hpp"
|
|
||||||
#include "utilities/macros.hpp"
|
|
||||||
|
|
||||||
|
|
||||||
int AbstractInterpreter::BasicType_as_index(BasicType type) {
|
|
||||||
int i = 0;
|
|
||||||
switch (type) {
|
|
||||||
case T_BOOLEAN: i = 0; break;
|
|
||||||
case T_CHAR : i = 1; break;
|
|
||||||
case T_BYTE : i = 2; break;
|
|
||||||
case T_SHORT : i = 3; break;
|
|
||||||
case T_INT : i = 4; break;
|
|
||||||
case T_LONG : i = 5; break;
|
|
||||||
case T_VOID : i = 6; break;
|
|
||||||
case T_FLOAT : i = 7; break;
|
|
||||||
case T_DOUBLE : i = 8; break;
|
|
||||||
case T_OBJECT : i = 9; break;
|
|
||||||
case T_ARRAY : i = 9; break;
|
|
||||||
default : ShouldNotReachHere();
|
|
||||||
}
|
|
||||||
assert(0 <= i && i < AbstractInterpreter::number_of_result_handlers, "index out of bounds");
|
|
||||||
return i;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int size_activation_helper(int callee_extra_locals, int max_stack, int monitor_size) {
|
|
||||||
|
|
||||||
// Figure out the size of an interpreter frame (in words) given that we have a fully allocated
|
|
||||||
// expression stack, the callee will have callee_extra_locals (so we can account for
|
|
||||||
// frame extension) and monitor_size for monitors. Basically we need to calculate
|
|
||||||
// this exactly like generate_fixed_frame/generate_compute_interpreter_state.
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// The big complicating thing here is that we must ensure that the stack stays properly
|
|
||||||
// aligned. This would be even uglier if monitor size wasn't modulo what the stack
|
|
||||||
// needs to be aligned for). We are given that the sp (fp) is already aligned by
|
|
||||||
// the caller so we must ensure that it is properly aligned for our callee.
|
|
||||||
//
|
|
||||||
const int rounded_vm_local_words =
|
|
||||||
align_up((int)frame::interpreter_frame_vm_local_words,WordsPerLong);
|
|
||||||
// callee_locals and max_stack are counts, not the size in frame.
|
|
||||||
const int locals_size =
|
|
||||||
align_up(callee_extra_locals * Interpreter::stackElementWords, WordsPerLong);
|
|
||||||
const int max_stack_words = max_stack * Interpreter::stackElementWords;
|
|
||||||
return (align_up((max_stack_words
|
|
||||||
+ rounded_vm_local_words
|
|
||||||
+ frame::memory_parameter_word_sp_offset), WordsPerLong)
|
|
||||||
// already rounded
|
|
||||||
+ locals_size + monitor_size);
|
|
||||||
}
|
|
||||||
|
|
||||||
// How much stack a method top interpreter activation needs in words.
|
|
||||||
int AbstractInterpreter::size_top_interpreter_activation(Method* method) {
|
|
||||||
|
|
||||||
// See call_stub code
|
|
||||||
int call_stub_size = align_up(7 + frame::memory_parameter_word_sp_offset,
|
|
||||||
WordsPerLong); // 7 + register save area
|
|
||||||
|
|
||||||
// Save space for one monitor to get into the interpreted method in case
|
|
||||||
// the method is synchronized
|
|
||||||
int monitor_size = method->is_synchronized() ?
|
|
||||||
1*frame::interpreter_frame_monitor_size() : 0;
|
|
||||||
return size_activation_helper(method->max_locals(), method->max_stack(),
|
|
||||||
monitor_size) + call_stub_size;
|
|
||||||
}
|
|
||||||
|
|
||||||
int AbstractInterpreter::size_activation(int max_stack,
|
|
||||||
int temps,
|
|
||||||
int extra_args,
|
|
||||||
int monitors,
|
|
||||||
int callee_params,
|
|
||||||
int callee_locals,
|
|
||||||
bool is_top_frame) {
|
|
||||||
// Note: This calculation must exactly parallel the frame setup
|
|
||||||
// in TemplateInterpreterGenerator::generate_fixed_frame.
|
|
||||||
|
|
||||||
int monitor_size = monitors * frame::interpreter_frame_monitor_size();
|
|
||||||
|
|
||||||
assert(is_aligned(monitor_size, WordsPerLong), "must align");
|
|
||||||
|
|
||||||
//
|
|
||||||
// Note: if you look closely this appears to be doing something much different
|
|
||||||
// than generate_fixed_frame. What is happening is this. On sparc we have to do
|
|
||||||
// this dance with interpreter_sp_adjustment because the window save area would
|
|
||||||
// appear just below the bottom (tos) of the caller's java expression stack. Because
|
|
||||||
// the interpreter want to have the locals completely contiguous generate_fixed_frame
|
|
||||||
// will adjust the caller's sp for the "extra locals" (max_locals - parameter_size).
|
|
||||||
// Now in generate_fixed_frame the extension of the caller's sp happens in the callee.
|
|
||||||
// In this code the opposite occurs the caller adjusts it's own stack base on the callee.
|
|
||||||
// This is mostly ok but it does cause a problem when we get to the initial frame (the oldest)
|
|
||||||
// because the oldest frame would have adjust its callers frame and yet that frame
|
|
||||||
// already exists and isn't part of this array of frames we are unpacking. So at first
|
|
||||||
// glance this would seem to mess up that frame. However Deoptimization::fetch_unroll_info_helper()
|
|
||||||
// will after it calculates all of the frame's on_stack_size()'s will then figure out the
|
|
||||||
// amount to adjust the caller of the initial (oldest) frame and the calculation will all
|
|
||||||
// add up. It does seem like it simpler to account for the adjustment here (and remove the
|
|
||||||
// callee... parameters here). However this would mean that this routine would have to take
|
|
||||||
// the caller frame as input so we could adjust its sp (and set it's interpreter_sp_adjustment)
|
|
||||||
// and run the calling loop in the reverse order. This would also would appear to mean making
|
|
||||||
// this code aware of what the interactions are when that initial caller fram was an osr or
|
|
||||||
// other adapter frame. deoptimization is complicated enough and hard enough to debug that
|
|
||||||
// there is no sense in messing working code.
|
|
||||||
//
|
|
||||||
|
|
||||||
int rounded_cls = align_up((callee_locals - callee_params), WordsPerLong);
|
|
||||||
assert(is_aligned(rounded_cls, WordsPerLong), "must align");
|
|
||||||
|
|
||||||
int raw_frame_size = size_activation_helper(rounded_cls, max_stack, monitor_size);
|
|
||||||
|
|
||||||
return raw_frame_size;
|
|
||||||
}
|
|
||||||
|
|
||||||
void AbstractInterpreter::layout_activation(Method* method,
|
|
||||||
int tempcount,
|
|
||||||
int popframe_extra_args,
|
|
||||||
int moncount,
|
|
||||||
int caller_actual_parameters,
|
|
||||||
int callee_param_count,
|
|
||||||
int callee_local_count,
|
|
||||||
frame* caller,
|
|
||||||
frame* interpreter_frame,
|
|
||||||
bool is_top_frame,
|
|
||||||
bool is_bottom_frame) {
|
|
||||||
// Set up the following variables:
|
|
||||||
// - Lmethod
|
|
||||||
// - Llocals
|
|
||||||
// - Lmonitors (to the indicated number of monitors)
|
|
||||||
// - Lesp (to the indicated number of temps)
|
|
||||||
// The frame caller on entry is a description of the caller of the
|
|
||||||
// frame we are about to layout. We are guaranteed that we will be
|
|
||||||
// able to fill in a new interpreter frame as its callee (i.e. the
|
|
||||||
// stack space is allocated and the amount was determined by an
|
|
||||||
// earlier call to the size_activation() method). On return caller
|
|
||||||
// while describe the interpreter frame we just layed out.
|
|
||||||
|
|
||||||
// The skeleton frame must already look like an interpreter frame
|
|
||||||
// even if not fully filled out.
|
|
||||||
assert(interpreter_frame->is_interpreted_frame(), "Must be interpreted frame");
|
|
||||||
|
|
||||||
int rounded_vm_local_words = align_up((int)frame::interpreter_frame_vm_local_words,WordsPerLong);
|
|
||||||
int monitor_size = moncount * frame::interpreter_frame_monitor_size();
|
|
||||||
assert(is_aligned(monitor_size, WordsPerLong), "must align");
|
|
||||||
|
|
||||||
intptr_t* fp = interpreter_frame->fp();
|
|
||||||
|
|
||||||
JavaThread* thread = JavaThread::current();
|
|
||||||
RegisterMap map(thread, false);
|
|
||||||
// More verification that skeleton frame is properly walkable
|
|
||||||
assert(fp == caller->sp(), "fp must match");
|
|
||||||
|
|
||||||
intptr_t* montop = fp - rounded_vm_local_words;
|
|
||||||
|
|
||||||
// preallocate monitors (cf. __ add_monitor_to_stack)
|
|
||||||
intptr_t* monitors = montop - monitor_size;
|
|
||||||
|
|
||||||
// preallocate stack space
|
|
||||||
intptr_t* esp = monitors - 1 -
|
|
||||||
(tempcount * Interpreter::stackElementWords) -
|
|
||||||
popframe_extra_args;
|
|
||||||
|
|
||||||
int local_words = method->max_locals() * Interpreter::stackElementWords;
|
|
||||||
NEEDS_CLEANUP;
|
|
||||||
intptr_t* locals;
|
|
||||||
if (caller->is_interpreted_frame()) {
|
|
||||||
// Can force the locals area to end up properly overlapping the top of the expression stack.
|
|
||||||
intptr_t* Lesp_ptr = caller->interpreter_frame_tos_address() - 1;
|
|
||||||
// Note that this computation means we replace size_of_parameters() values from the caller
|
|
||||||
// interpreter frame's expression stack with our argument locals
|
|
||||||
int parm_words = caller_actual_parameters * Interpreter::stackElementWords;
|
|
||||||
locals = Lesp_ptr + parm_words;
|
|
||||||
int delta = local_words - parm_words;
|
|
||||||
int computed_sp_adjustment = (delta > 0) ? align_up(delta, WordsPerLong) : 0;
|
|
||||||
*interpreter_frame->register_addr(I5_savedSP) = (intptr_t) (fp + computed_sp_adjustment) - STACK_BIAS;
|
|
||||||
if (!is_bottom_frame) {
|
|
||||||
// Llast_SP is set below for the current frame to SP (with the
|
|
||||||
// extra space for the callee's locals). Here we adjust
|
|
||||||
// Llast_SP for the caller's frame, removing the extra space
|
|
||||||
// for the current method's locals.
|
|
||||||
*caller->register_addr(Llast_SP) = *interpreter_frame->register_addr(I5_savedSP);
|
|
||||||
} else {
|
|
||||||
assert(*caller->register_addr(Llast_SP) >= *interpreter_frame->register_addr(I5_savedSP), "strange Llast_SP");
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
assert(caller->is_compiled_frame() || caller->is_entry_frame(), "only possible cases");
|
|
||||||
// Don't have Lesp available; lay out locals block in the caller
|
|
||||||
// adjacent to the register window save area.
|
|
||||||
//
|
|
||||||
// Compiled frames do not allocate a varargs area which is why this if
|
|
||||||
// statement is needed.
|
|
||||||
//
|
|
||||||
if (caller->is_compiled_frame()) {
|
|
||||||
locals = fp + frame::register_save_words + local_words - 1;
|
|
||||||
} else {
|
|
||||||
locals = fp + frame::memory_parameter_word_sp_offset + local_words - 1;
|
|
||||||
}
|
|
||||||
if (!caller->is_entry_frame()) {
|
|
||||||
// Caller wants his own SP back
|
|
||||||
int caller_frame_size = caller->cb()->frame_size();
|
|
||||||
*interpreter_frame->register_addr(I5_savedSP) = (intptr_t)(caller->fp() - caller_frame_size) - STACK_BIAS;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (TraceDeoptimization) {
|
|
||||||
if (caller->is_entry_frame()) {
|
|
||||||
// make sure I5_savedSP and the entry frames notion of saved SP
|
|
||||||
// agree. This assertion duplicate a check in entry frame code
|
|
||||||
// but catches the failure earlier.
|
|
||||||
assert(*caller->register_addr(Lscratch) == *interpreter_frame->register_addr(I5_savedSP),
|
|
||||||
"would change callers SP");
|
|
||||||
}
|
|
||||||
if (caller->is_entry_frame()) {
|
|
||||||
tty->print("entry ");
|
|
||||||
}
|
|
||||||
if (caller->is_compiled_frame()) {
|
|
||||||
tty->print("compiled ");
|
|
||||||
if (caller->is_deoptimized_frame()) {
|
|
||||||
tty->print("(deopt) ");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (caller->is_interpreted_frame()) {
|
|
||||||
tty->print("interpreted ");
|
|
||||||
}
|
|
||||||
tty->print_cr("caller fp=" INTPTR_FORMAT " sp=" INTPTR_FORMAT, p2i(caller->fp()), p2i(caller->sp()));
|
|
||||||
tty->print_cr("save area = " INTPTR_FORMAT ", " INTPTR_FORMAT, p2i(caller->sp()), p2i(caller->sp() + 16));
|
|
||||||
tty->print_cr("save area = " INTPTR_FORMAT ", " INTPTR_FORMAT, p2i(caller->fp()), p2i(caller->fp() + 16));
|
|
||||||
tty->print_cr("interpreter fp=" INTPTR_FORMAT ", " INTPTR_FORMAT, p2i(interpreter_frame->fp()), p2i(interpreter_frame->sp()));
|
|
||||||
tty->print_cr("save area = " INTPTR_FORMAT ", " INTPTR_FORMAT, p2i(interpreter_frame->sp()), p2i(interpreter_frame->sp() + 16));
|
|
||||||
tty->print_cr("save area = " INTPTR_FORMAT ", " INTPTR_FORMAT, p2i(interpreter_frame->fp()), p2i(interpreter_frame->fp() + 16));
|
|
||||||
tty->print_cr("Llocals = " INTPTR_FORMAT, p2i(locals));
|
|
||||||
tty->print_cr("Lesp = " INTPTR_FORMAT, p2i(esp));
|
|
||||||
tty->print_cr("Lmonitors = " INTPTR_FORMAT, p2i(monitors));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (method->max_locals() > 0) {
|
|
||||||
assert(locals < caller->sp() || locals >= (caller->sp() + 16), "locals in save area");
|
|
||||||
assert(locals < caller->fp() || locals > (caller->fp() + 16), "locals in save area");
|
|
||||||
assert(locals < interpreter_frame->sp() || locals > (interpreter_frame->sp() + 16), "locals in save area");
|
|
||||||
assert(locals < interpreter_frame->fp() || locals >= (interpreter_frame->fp() + 16), "locals in save area");
|
|
||||||
}
|
|
||||||
assert(*interpreter_frame->register_addr(I5_savedSP) & 1, "must be odd");
|
|
||||||
|
|
||||||
*interpreter_frame->register_addr(Lmethod) = (intptr_t) method;
|
|
||||||
*interpreter_frame->register_addr(Llocals) = (intptr_t) locals;
|
|
||||||
*interpreter_frame->register_addr(Lmonitors) = (intptr_t) monitors;
|
|
||||||
*interpreter_frame->register_addr(Lesp) = (intptr_t) esp;
|
|
||||||
// Llast_SP will be same as SP as there is no adapter space
|
|
||||||
*interpreter_frame->register_addr(Llast_SP) = (intptr_t) interpreter_frame->sp() - STACK_BIAS;
|
|
||||||
*interpreter_frame->register_addr(LcpoolCache) = (intptr_t) method->constants()->cache();
|
|
||||||
// save the mirror in the interpreter frame
|
|
||||||
*interpreter_frame->interpreter_frame_mirror_addr() = method->method_holder()->java_mirror();
|
|
||||||
|
|
||||||
#ifdef ASSERT
|
|
||||||
BasicObjectLock* mp = (BasicObjectLock*)monitors;
|
|
||||||
|
|
||||||
assert(interpreter_frame->interpreter_frame_method() == method, "method matches");
|
|
||||||
assert(interpreter_frame->interpreter_frame_local_at(9) == (intptr_t *)((intptr_t)locals - (9 * Interpreter::stackElementSize)), "locals match");
|
|
||||||
assert(interpreter_frame->interpreter_frame_monitor_end() == mp, "monitor_end matches");
|
|
||||||
assert(((intptr_t *)interpreter_frame->interpreter_frame_monitor_begin()) == ((intptr_t *)mp)+monitor_size, "monitor_begin matches");
|
|
||||||
assert(interpreter_frame->interpreter_frame_tos_address()-1 == esp, "esp matches");
|
|
||||||
|
|
||||||
// check bounds
|
|
||||||
intptr_t* lo = interpreter_frame->sp() + (frame::memory_parameter_word_sp_offset - 1);
|
|
||||||
intptr_t* hi = interpreter_frame->fp() - rounded_vm_local_words;
|
|
||||||
assert(lo < monitors && montop <= hi, "monitors in bounds");
|
|
||||||
assert(lo <= esp && esp < monitors, "esp in bounds");
|
|
||||||
#endif // ASSERT
|
|
||||||
}
|
|
@ -1,309 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2002, 2006, 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.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
static const int R_O0_num = 1000;
|
|
||||||
static const int R_I0_num = 2000;
|
|
||||||
static const int R_F0_num = 3000;
|
|
||||||
static const int R_F1_num = R_F0_num + 1;
|
|
||||||
static const int R_F2_num = R_F0_num + 2;
|
|
||||||
static const int STACK_num= 4000;
|
|
||||||
|
|
||||||
static bool LP64 = false;
|
|
||||||
static bool LONGS_IN_ONE_ENTRY = false;
|
|
||||||
|
|
||||||
static const int Op_RegI = 'I';
|
|
||||||
static const int Op_RegP = 'P';
|
|
||||||
static const int Op_RegF = 'F';
|
|
||||||
static const int Op_RegD = 'D';
|
|
||||||
static const int Op_RegL = 'L';
|
|
||||||
static const int SPARC_ARGS_IN_REGS_NUM=6;
|
|
||||||
|
|
||||||
static void print_reg( int reg ) {
|
|
||||||
if( reg == 0 )
|
|
||||||
printf("__"); // halve's
|
|
||||||
else if( reg >= STACK_num && reg < STACK_num+100 )
|
|
||||||
printf("S%d_",reg - STACK_num);
|
|
||||||
else if( reg >= R_F0_num && reg < R_F0_num+100 )
|
|
||||||
printf("F%d_",reg - R_F0_num);
|
|
||||||
else if( reg >= R_O0_num && reg < R_O0_num+100 ) {
|
|
||||||
if( LONGS_IN_ONE_ENTRY ) {
|
|
||||||
reg -= R_O0_num;
|
|
||||||
printf("O%d",reg>>1);
|
|
||||||
printf(reg&1 ? "H" : "L");
|
|
||||||
} else
|
|
||||||
printf("O%d_",reg - R_O0_num);
|
|
||||||
} else
|
|
||||||
printf("Wretched: %d\n", reg);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void print_convention( int *sig, const char *s, int length ) {
|
|
||||||
// Print it out
|
|
||||||
for( int i = 0; i < length; i++) {
|
|
||||||
if( sig[i] == 0 ) continue; // do not print 'halves'
|
|
||||||
print_reg( sig[i] & 0xFFFF );
|
|
||||||
int reg = sig[i] >> 16;
|
|
||||||
if( reg ) {
|
|
||||||
printf(":");
|
|
||||||
print_reg( reg );
|
|
||||||
} else {
|
|
||||||
printf(" ");
|
|
||||||
}
|
|
||||||
printf(" ");
|
|
||||||
}
|
|
||||||
printf("\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
static int INT_SCALE( int x ) {
|
|
||||||
return LONGS_IN_ONE_ENTRY ? (x<<1) : x;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void java_convention( int *sig, const char *s, int length ) {
|
|
||||||
if( LP64 && !LONGS_IN_ONE_ENTRY ) {
|
|
||||||
printf("LP64 and 2-reg longs not supported\n");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
for( int i = 0; i < length; i++ )
|
|
||||||
sig[i] = s[i]; // Reset sig array
|
|
||||||
bool is_outgoing = true;
|
|
||||||
|
|
||||||
int int_base = (is_outgoing ? R_O0_num : R_I0_num);
|
|
||||||
|
|
||||||
// Convention is to pack the first 6 int/oop args into the first 6
|
|
||||||
// registers (I0-I5), extras spill to the stack. Then pack the first
|
|
||||||
// 32 float args into F0-F31, extras spill to the stack. Then pad
|
|
||||||
// all register sets to align. Then put longs and doubles into the
|
|
||||||
// same registers as they fit, else spill to the stack.
|
|
||||||
int int_reg_max = SPARC_ARGS_IN_REGS_NUM;
|
|
||||||
int flt_reg_max = 32;
|
|
||||||
|
|
||||||
// Count int/oop and float args. See how many stack slots we'll need
|
|
||||||
// and where the longs & doubles will go.
|
|
||||||
int int_reg_cnt = 0;
|
|
||||||
int flt_reg_cnt = 0;
|
|
||||||
int stk_reg_pairs = 0;
|
|
||||||
for( int i = 0; i < length; i++) {
|
|
||||||
switch( sig[i] ) {
|
|
||||||
case Op_RegL: // Longs-in-1-reg compete with int args
|
|
||||||
if( LONGS_IN_ONE_ENTRY ) {
|
|
||||||
if( int_reg_cnt < int_reg_max ) int_reg_cnt++;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case Op_RegP:
|
|
||||||
if( int_reg_cnt < int_reg_max ) int_reg_cnt++;
|
|
||||||
else if( !LP64 ) stk_reg_pairs++;
|
|
||||||
break;
|
|
||||||
case Op_RegI:
|
|
||||||
if( int_reg_cnt < int_reg_max ) int_reg_cnt++;
|
|
||||||
else stk_reg_pairs++;
|
|
||||||
break;
|
|
||||||
case Op_RegF:
|
|
||||||
if( flt_reg_cnt < flt_reg_max ) flt_reg_cnt++;
|
|
||||||
else stk_reg_pairs++;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// This is where the longs/doubles start on the stack.
|
|
||||||
stk_reg_pairs = (stk_reg_pairs+1) & ~1; // Round
|
|
||||||
|
|
||||||
int int_reg_pairs = (int_reg_cnt+1) & ~1; // 32-bit 2-reg longs only
|
|
||||||
int flt_reg_pairs = (flt_reg_cnt+1) & ~1;
|
|
||||||
|
|
||||||
int stk_reg = 0;
|
|
||||||
int int_reg = 0;
|
|
||||||
int flt_reg = 0;
|
|
||||||
|
|
||||||
// Now do the signature layout
|
|
||||||
for( int i = 0; i < length; i++) {
|
|
||||||
int tmp = sig[i];
|
|
||||||
if( tmp == Op_RegP )
|
|
||||||
tmp = LP64 ? Op_RegL : Op_RegI; // Treat ptrs and ints or long accordingly
|
|
||||||
switch( tmp ) {
|
|
||||||
case Op_RegI:
|
|
||||||
// case Op_RegP:
|
|
||||||
if( int_reg < int_reg_max) tmp = INT_SCALE(int_reg++) + int_base;
|
|
||||||
else tmp = STACK_num + stk_reg++;
|
|
||||||
sig[i] = tmp;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case Op_RegL:
|
|
||||||
if( sig[i] != Op_RegP && sig[i+1] != 'h' ) { printf("expecting (h)alf, found %c\n", sig[i+1]); return; }
|
|
||||||
// case Op_RegP:
|
|
||||||
if( LONGS_IN_ONE_ENTRY ) {
|
|
||||||
if( int_reg < int_reg_max ) {
|
|
||||||
tmp = INT_SCALE(int_reg++) + int_base;
|
|
||||||
} else {
|
|
||||||
tmp = STACK_num + stk_reg_pairs;
|
|
||||||
stk_reg_pairs += 2;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if( int_reg_pairs < int_reg_max ) {
|
|
||||||
tmp = int_reg_pairs + int_base;
|
|
||||||
int_reg_pairs += 2;
|
|
||||||
} else {
|
|
||||||
tmp = STACK_num + stk_reg_pairs;
|
|
||||||
stk_reg_pairs += 2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
sig[i] = tmp | (tmp+1)<<16; // Smear to pair
|
|
||||||
break;
|
|
||||||
|
|
||||||
case Op_RegF:
|
|
||||||
sig[i] = (flt_reg < flt_reg_max) ? (R_F0_num + flt_reg++) : STACK_num + stk_reg++;
|
|
||||||
break;
|
|
||||||
case Op_RegD:
|
|
||||||
if( sig[i+1] != 'h' ) { printf("expecting (h)alf, found %c\n", sig[i+1]); return; }
|
|
||||||
if( flt_reg_pairs < flt_reg_max ) {
|
|
||||||
tmp = R_F0_num + flt_reg_pairs;
|
|
||||||
flt_reg_pairs += 2;
|
|
||||||
} else {
|
|
||||||
tmp = STACK_num + stk_reg_pairs;
|
|
||||||
stk_reg_pairs += 2;
|
|
||||||
}
|
|
||||||
sig[i] = tmp | (tmp+1)<<16; // Smear to pair
|
|
||||||
break;
|
|
||||||
case 'h': sig[i] = 0; break;
|
|
||||||
default:
|
|
||||||
printf("Bad character: %c\n", sig[i] );
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
printf("java ");
|
|
||||||
printf(LP64 ? "LP64 " : "LP32 ");
|
|
||||||
printf(LONGS_IN_ONE_ENTRY ? "long1: " : "long2: ");
|
|
||||||
print_convention(sig,s,length);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int int_stk_helper( int i ) {
|
|
||||||
if( i < 6 ) return R_O0_num + (LONGS_IN_ONE_ENTRY ? i<<1 : i);
|
|
||||||
else return STACK_num + (LP64 ? i<<1 : i);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void native_convention( int *sig, const char *s, int length ) {
|
|
||||||
if( LP64 && !LONGS_IN_ONE_ENTRY ) {
|
|
||||||
printf("LP64 and 2-reg longs not supported\n");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
for( int i = 0; i < length; i++ )
|
|
||||||
sig[i] = s[i]; // Reset sig array
|
|
||||||
|
|
||||||
// The native convention is V8 if !LP64, which means the V8 convention is
|
|
||||||
// used both with and without LONGS_IN_ONE_ENTRY, an unfortunate split. The
|
|
||||||
// same actual machine registers are used, but they are named differently in
|
|
||||||
// the LONGS_IN_ONE_ENTRY mode. The LP64 convention is the V9 convention
|
|
||||||
// which is slightly more sane.
|
|
||||||
|
|
||||||
if( LP64 ) {
|
|
||||||
// V9 convention: All things "as-if" on double-wide stack slots.
|
|
||||||
// Hoist any int/ptr/long's in the first 6 to int regs.
|
|
||||||
// Hoist any flt/dbl's in the first 16 dbl regs.
|
|
||||||
int j = 0; // Count of actual args, not HALVES
|
|
||||||
for( int i=0; i<length; i++, j++ ) {
|
|
||||||
int tmp;
|
|
||||||
switch( sig[i] ) {
|
|
||||||
case Op_RegI:
|
|
||||||
sig[i] = int_stk_helper( j );
|
|
||||||
break;
|
|
||||||
case Op_RegL:
|
|
||||||
if( sig[i+1] != 'h' ) { printf("expecting (h)alf, found %c\n", sig[i+1]); return; }
|
|
||||||
case Op_RegP:
|
|
||||||
tmp = int_stk_helper( j );
|
|
||||||
sig[i] = tmp | ((tmp+1) << 16); // Smear to pair
|
|
||||||
break;
|
|
||||||
case Op_RegF: // V9ism: floats go in ODD registers
|
|
||||||
sig[i] = ((j < 16) ? R_F1_num : (STACK_num + 1)) + (j<<1);
|
|
||||||
break;
|
|
||||||
case Op_RegD: // V9ism: doubles go in EVEN/ODD regs
|
|
||||||
tmp = ((j < 16) ? R_F0_num : STACK_num) + (j<<1);
|
|
||||||
sig[i] = tmp | ((tmp+1) << 16); // Smear to pair
|
|
||||||
break;
|
|
||||||
case 'h': sig[i] = 0; j--; break; // Do not count HALVES
|
|
||||||
default:
|
|
||||||
printf("Bad character: %c\n", sig[i] );
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
// V8 convention: first 6 things in O-regs, rest on stack.
|
|
||||||
// Alignment is willy-nilly.
|
|
||||||
for( int i=0; i<length; i++ ) {
|
|
||||||
int tmp;
|
|
||||||
switch( sig[i] ) {
|
|
||||||
case Op_RegI:
|
|
||||||
case Op_RegP:
|
|
||||||
case Op_RegF:
|
|
||||||
sig[i] = int_stk_helper( i );
|
|
||||||
break;
|
|
||||||
case Op_RegL:
|
|
||||||
case Op_RegD:
|
|
||||||
if( sig[i+1] != 'h' ) { printf("expecting (h)alf, found %c\n", sig[i+1]); return; }
|
|
||||||
tmp = int_stk_helper( i );
|
|
||||||
sig[i] = tmp | (int_stk_helper( i+1 ) << 16);
|
|
||||||
break;
|
|
||||||
case 'h': sig[i] = 0; break;
|
|
||||||
default:
|
|
||||||
printf("Bad character: %c\n", sig[i] );
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
printf("natv ");
|
|
||||||
printf(LP64 ? "LP64 " : "LP32 ");
|
|
||||||
printf(LONGS_IN_ONE_ENTRY ? "long1: " : "long2: ");
|
|
||||||
print_convention(sig,s,length);
|
|
||||||
}
|
|
||||||
|
|
||||||
int main( int argc, char **argv ) {
|
|
||||||
|
|
||||||
if( argc != 2 ) {
|
|
||||||
printf("Usage: args IPFLhDh... (Java argument string)\n");
|
|
||||||
printf("Returns argument layout\n");
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
const char *s = argv[1];
|
|
||||||
int length = strlen(s);
|
|
||||||
int sig[1000];
|
|
||||||
|
|
||||||
LP64 = false; LONGS_IN_ONE_ENTRY = false;
|
|
||||||
java_convention( sig, s, length );
|
|
||||||
LP64 = false; LONGS_IN_ONE_ENTRY = true;
|
|
||||||
java_convention( sig, s, length );
|
|
||||||
LP64 = true ; LONGS_IN_ONE_ENTRY = true;
|
|
||||||
java_convention( sig, s, length );
|
|
||||||
|
|
||||||
LP64 = false; LONGS_IN_ONE_ENTRY = false;
|
|
||||||
native_convention( sig, s, length );
|
|
||||||
LP64 = false; LONGS_IN_ONE_ENTRY = true;
|
|
||||||
native_convention( sig, s, length );
|
|
||||||
LP64 = true ; LONGS_IN_ONE_ENTRY = true;
|
|
||||||
native_convention( sig, s, length );
|
|
||||||
}
|
|
||||||
|
|
@ -1,61 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 1997, 2012, 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.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "precompiled.hpp"
|
|
||||||
#include "asm/assembler.hpp"
|
|
||||||
#include "asm/assembler.inline.hpp"
|
|
||||||
|
|
||||||
#include "assembler_sparc.hpp"
|
|
||||||
|
|
||||||
int AbstractAssembler::code_fill_byte() {
|
|
||||||
return 0x00; // illegal instruction 0x00000000
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef VALIDATE_PIPELINE
|
|
||||||
/* Walk over the current code section and verify that there are no obvious
|
|
||||||
* pipeline hazards exposed in the code generated.
|
|
||||||
*/
|
|
||||||
void Assembler::validate_no_pipeline_hazards() {
|
|
||||||
const CodeSection* csect = code_section();
|
|
||||||
|
|
||||||
address addr0 = csect->start();
|
|
||||||
address addrN = csect->end();
|
|
||||||
uint32_t prev = 0;
|
|
||||||
|
|
||||||
assert((addrN - addr0) % BytesPerInstWord == 0, "must be");
|
|
||||||
|
|
||||||
for (address pc = addr0; pc != addrN; pc += BytesPerInstWord) {
|
|
||||||
uint32_t insn = *reinterpret_cast<uint32_t*>(pc);
|
|
||||||
|
|
||||||
// 1. General case: No CTI immediately after other CTI
|
|
||||||
assert(!(is_cti(prev) && is_cti(insn)), "CTI-CTI not allowed.");
|
|
||||||
|
|
||||||
// 2. Special case: No CTI immediately after/before RDPC
|
|
||||||
assert(!(is_cti(prev) && is_rdpc(insn)), "CTI-RDPC not allowed.");
|
|
||||||
assert(!(is_rdpc(prev) && is_cti(insn)), "RDPC-CTI not allowed.");
|
|
||||||
|
|
||||||
prev = insn;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,160 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
*
|
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
|
||||||
* under the terms of the GNU General Public License version 2 only, as
|
|
||||||
* published by the Free Software Foundation.
|
|
||||||
*
|
|
||||||
* 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.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef CPU_SPARC_BYTES_SPARC_HPP
|
|
||||||
#define CPU_SPARC_BYTES_SPARC_HPP
|
|
||||||
|
|
||||||
#include "memory/allocation.hpp"
|
|
||||||
|
|
||||||
class Bytes: AllStatic {
|
|
||||||
public:
|
|
||||||
// Efficient reading and writing of unaligned unsigned data in platform-specific byte ordering
|
|
||||||
// Sparc needs to check for alignment.
|
|
||||||
|
|
||||||
// can I count on address always being a pointer to an unsigned char? Yes
|
|
||||||
|
|
||||||
// Thus, a swap between native and Java ordering is always a no-op:
|
|
||||||
static inline u2 swap_u2(u2 x) { return x; }
|
|
||||||
static inline u4 swap_u4(u4 x) { return x; }
|
|
||||||
static inline u8 swap_u8(u8 x) { return x; }
|
|
||||||
|
|
||||||
static inline u2 get_native_u2(address p){
|
|
||||||
return (intptr_t(p) & 1) == 0
|
|
||||||
? *(u2*)p
|
|
||||||
: ( u2(p[0]) << 8 )
|
|
||||||
| ( u2(p[1]) );
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline u4 get_native_u4(address p) {
|
|
||||||
switch (intptr_t(p) & 3) {
|
|
||||||
case 0: return *(u4*)p;
|
|
||||||
|
|
||||||
case 2: return ( u4( ((u2*)p)[0] ) << 16 )
|
|
||||||
| ( u4( ((u2*)p)[1] ) );
|
|
||||||
|
|
||||||
default: return ( u4(p[0]) << 24 )
|
|
||||||
| ( u4(p[1]) << 16 )
|
|
||||||
| ( u4(p[2]) << 8 )
|
|
||||||
| u4(p[3]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline u8 get_native_u8(address p) {
|
|
||||||
switch (intptr_t(p) & 7) {
|
|
||||||
case 0: return *(u8*)p;
|
|
||||||
|
|
||||||
case 4: return ( u8( ((u4*)p)[0] ) << 32 )
|
|
||||||
| ( u8( ((u4*)p)[1] ) );
|
|
||||||
|
|
||||||
case 2: return ( u8( ((u2*)p)[0] ) << 48 )
|
|
||||||
| ( u8( ((u2*)p)[1] ) << 32 )
|
|
||||||
| ( u8( ((u2*)p)[2] ) << 16 )
|
|
||||||
| ( u8( ((u2*)p)[3] ) );
|
|
||||||
|
|
||||||
default: return ( u8(p[0]) << 56 )
|
|
||||||
| ( u8(p[1]) << 48 )
|
|
||||||
| ( u8(p[2]) << 40 )
|
|
||||||
| ( u8(p[3]) << 32 )
|
|
||||||
| ( u8(p[4]) << 24 )
|
|
||||||
| ( u8(p[5]) << 16 )
|
|
||||||
| ( u8(p[6]) << 8 )
|
|
||||||
| u8(p[7]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static inline void put_native_u2(address p, u2 x) {
|
|
||||||
if ( (intptr_t(p) & 1) == 0 ) *(u2*)p = x;
|
|
||||||
else {
|
|
||||||
p[0] = x >> 8;
|
|
||||||
p[1] = x;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void put_native_u4(address p, u4 x) {
|
|
||||||
switch ( intptr_t(p) & 3 ) {
|
|
||||||
case 0: *(u4*)p = x;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 2: ((u2*)p)[0] = x >> 16;
|
|
||||||
((u2*)p)[1] = x;
|
|
||||||
break;
|
|
||||||
|
|
||||||
default: ((u1*)p)[0] = x >> 24;
|
|
||||||
((u1*)p)[1] = x >> 16;
|
|
||||||
((u1*)p)[2] = x >> 8;
|
|
||||||
((u1*)p)[3] = x;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void put_native_u8(address p, u8 x) {
|
|
||||||
switch ( intptr_t(p) & 7 ) {
|
|
||||||
case 0: *(u8*)p = x;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 4: ((u4*)p)[0] = x >> 32;
|
|
||||||
((u4*)p)[1] = x;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 2: ((u2*)p)[0] = x >> 48;
|
|
||||||
((u2*)p)[1] = x >> 32;
|
|
||||||
((u2*)p)[2] = x >> 16;
|
|
||||||
((u2*)p)[3] = x;
|
|
||||||
break;
|
|
||||||
|
|
||||||
default: ((u1*)p)[0] = x >> 56;
|
|
||||||
((u1*)p)[1] = x >> 48;
|
|
||||||
((u1*)p)[2] = x >> 40;
|
|
||||||
((u1*)p)[3] = x >> 32;
|
|
||||||
((u1*)p)[4] = x >> 24;
|
|
||||||
((u1*)p)[5] = x >> 16;
|
|
||||||
((u1*)p)[6] = x >> 8;
|
|
||||||
((u1*)p)[7] = x;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Efficient reading and writing of unaligned unsigned data in Java byte ordering (i.e. big-endian ordering)
|
|
||||||
// (no byte-order reversal is needed since SPARC CPUs are big-endian oriented)
|
|
||||||
static inline u2 get_Java_u2(address p) { return get_native_u2(p); }
|
|
||||||
static inline u4 get_Java_u4(address p) { return get_native_u4(p); }
|
|
||||||
static inline u8 get_Java_u8(address p) { return get_native_u8(p); }
|
|
||||||
|
|
||||||
static inline void put_Java_u2(address p, u2 x) { put_native_u2(p, x); }
|
|
||||||
static inline void put_Java_u4(address p, u4 x) { put_native_u4(p, x); }
|
|
||||||
static inline void put_Java_u8(address p, u8 x) { put_native_u8(p, x); }
|
|
||||||
};
|
|
||||||
|
|
||||||
//Reconciliation History
|
|
||||||
// 1.7 98/02/24 10:18:41 bytes_i486.hpp
|
|
||||||
// 1.10 98/04/08 18:47:57 bytes_i486.hpp
|
|
||||||
// 1.13 98/07/15 17:10:03 bytes_i486.hpp
|
|
||||||
// 1.14 98/08/13 10:38:23 bytes_i486.hpp
|
|
||||||
// 1.15 98/10/05 16:30:21 bytes_i486.hpp
|
|
||||||
// 1.17 99/06/22 16:37:35 bytes_i486.hpp
|
|
||||||
//End
|
|
||||||
|
|
||||||
#endif // CPU_SPARC_BYTES_SPARC_HPP
|
|
@ -1,458 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
*
|
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
|
||||||
* under the terms of the GNU General Public License version 2 only, as
|
|
||||||
* published by the Free Software Foundation.
|
|
||||||
*
|
|
||||||
* 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.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "precompiled.hpp"
|
|
||||||
#include "asm/macroAssembler.inline.hpp"
|
|
||||||
#include "c1/c1_CodeStubs.hpp"
|
|
||||||
#include "c1/c1_FrameMap.hpp"
|
|
||||||
#include "c1/c1_LIRAssembler.hpp"
|
|
||||||
#include "c1/c1_MacroAssembler.hpp"
|
|
||||||
#include "c1/c1_Runtime1.hpp"
|
|
||||||
#include "nativeInst_sparc.hpp"
|
|
||||||
#include "runtime/sharedRuntime.hpp"
|
|
||||||
#include "utilities/macros.hpp"
|
|
||||||
#include "vmreg_sparc.inline.hpp"
|
|
||||||
|
|
||||||
#define __ ce->masm()->
|
|
||||||
|
|
||||||
RangeCheckStub::RangeCheckStub(CodeEmitInfo* info, LIR_Opr index, LIR_Opr array)
|
|
||||||
: _throw_index_out_of_bounds_exception(false), _index(index), _array(array) {
|
|
||||||
assert(info != NULL, "must have info");
|
|
||||||
_info = new CodeEmitInfo(info);
|
|
||||||
}
|
|
||||||
|
|
||||||
RangeCheckStub::RangeCheckStub(CodeEmitInfo* info, LIR_Opr index)
|
|
||||||
: _throw_index_out_of_bounds_exception(true), _index(index), _array(NULL) {
|
|
||||||
assert(info != NULL, "must have info");
|
|
||||||
_info = new CodeEmitInfo(info);
|
|
||||||
}
|
|
||||||
|
|
||||||
void RangeCheckStub::emit_code(LIR_Assembler* ce) {
|
|
||||||
__ bind(_entry);
|
|
||||||
|
|
||||||
if (_info->deoptimize_on_exception()) {
|
|
||||||
address a = Runtime1::entry_for(Runtime1::predicate_failed_trap_id);
|
|
||||||
__ call(a, relocInfo::runtime_call_type);
|
|
||||||
__ delayed()->nop();
|
|
||||||
ce->add_call_info_here(_info);
|
|
||||||
ce->verify_oop_map(_info);
|
|
||||||
debug_only(__ should_not_reach_here());
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (_index->is_register()) {
|
|
||||||
__ mov(_index->as_register(), G4);
|
|
||||||
} else {
|
|
||||||
__ set(_index->as_jint(), G4);
|
|
||||||
}
|
|
||||||
if (_throw_index_out_of_bounds_exception) {
|
|
||||||
__ call(Runtime1::entry_for(Runtime1::throw_index_exception_id), relocInfo::runtime_call_type);
|
|
||||||
} else {
|
|
||||||
__ mov(_array->as_pointer_register(), G5);
|
|
||||||
__ call(Runtime1::entry_for(Runtime1::throw_range_check_failed_id), relocInfo::runtime_call_type);
|
|
||||||
}
|
|
||||||
__ delayed()->nop();
|
|
||||||
ce->add_call_info_here(_info);
|
|
||||||
ce->verify_oop_map(_info);
|
|
||||||
debug_only(__ should_not_reach_here());
|
|
||||||
}
|
|
||||||
|
|
||||||
PredicateFailedStub::PredicateFailedStub(CodeEmitInfo* info) {
|
|
||||||
_info = new CodeEmitInfo(info);
|
|
||||||
}
|
|
||||||
|
|
||||||
void PredicateFailedStub::emit_code(LIR_Assembler* ce) {
|
|
||||||
__ bind(_entry);
|
|
||||||
address a = Runtime1::entry_for(Runtime1::predicate_failed_trap_id);
|
|
||||||
__ call(a, relocInfo::runtime_call_type);
|
|
||||||
__ delayed()->nop();
|
|
||||||
ce->add_call_info_here(_info);
|
|
||||||
ce->verify_oop_map(_info);
|
|
||||||
debug_only(__ should_not_reach_here());
|
|
||||||
}
|
|
||||||
|
|
||||||
void CounterOverflowStub::emit_code(LIR_Assembler* ce) {
|
|
||||||
__ bind(_entry);
|
|
||||||
__ set(_bci, G4);
|
|
||||||
Metadata *m = _method->as_constant_ptr()->as_metadata();
|
|
||||||
__ set_metadata_constant(m, G5);
|
|
||||||
__ call(Runtime1::entry_for(Runtime1::counter_overflow_id), relocInfo::runtime_call_type);
|
|
||||||
__ delayed()->nop();
|
|
||||||
ce->add_call_info_here(_info);
|
|
||||||
ce->verify_oop_map(_info);
|
|
||||||
|
|
||||||
__ br(Assembler::always, true, Assembler::pt, _continuation);
|
|
||||||
__ delayed()->nop();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void DivByZeroStub::emit_code(LIR_Assembler* ce) {
|
|
||||||
if (_offset != -1) {
|
|
||||||
ce->compilation()->implicit_exception_table()->append(_offset, __ offset());
|
|
||||||
}
|
|
||||||
__ bind(_entry);
|
|
||||||
__ call(Runtime1::entry_for(Runtime1::throw_div0_exception_id), relocInfo::runtime_call_type);
|
|
||||||
__ delayed()->nop();
|
|
||||||
ce->add_call_info_here(_info);
|
|
||||||
ce->verify_oop_map(_info);
|
|
||||||
#ifdef ASSERT
|
|
||||||
__ should_not_reach_here();
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void ImplicitNullCheckStub::emit_code(LIR_Assembler* ce) {
|
|
||||||
address a;
|
|
||||||
if (_info->deoptimize_on_exception()) {
|
|
||||||
// Deoptimize, do not throw the exception, because it is probably wrong to do it here.
|
|
||||||
a = Runtime1::entry_for(Runtime1::predicate_failed_trap_id);
|
|
||||||
} else {
|
|
||||||
a = Runtime1::entry_for(Runtime1::throw_null_pointer_exception_id);
|
|
||||||
}
|
|
||||||
|
|
||||||
ce->compilation()->implicit_exception_table()->append(_offset, __ offset());
|
|
||||||
__ bind(_entry);
|
|
||||||
__ call(a, relocInfo::runtime_call_type);
|
|
||||||
__ delayed()->nop();
|
|
||||||
ce->add_call_info_here(_info);
|
|
||||||
ce->verify_oop_map(_info);
|
|
||||||
#ifdef ASSERT
|
|
||||||
__ should_not_reach_here();
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Implementation of SimpleExceptionStub
|
|
||||||
// Note: %g1 and %g3 are already in use
|
|
||||||
void SimpleExceptionStub::emit_code(LIR_Assembler* ce) {
|
|
||||||
__ bind(_entry);
|
|
||||||
__ call(Runtime1::entry_for(_stub), relocInfo::runtime_call_type);
|
|
||||||
|
|
||||||
if (_obj->is_valid()) {
|
|
||||||
__ delayed()->mov(_obj->as_register(), G4); // _obj contains the optional argument to the stub
|
|
||||||
} else {
|
|
||||||
__ delayed()->mov(G0, G4);
|
|
||||||
}
|
|
||||||
ce->add_call_info_here(_info);
|
|
||||||
#ifdef ASSERT
|
|
||||||
__ should_not_reach_here();
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Implementation of NewInstanceStub
|
|
||||||
|
|
||||||
NewInstanceStub::NewInstanceStub(LIR_Opr klass_reg, LIR_Opr result, ciInstanceKlass* klass, CodeEmitInfo* info, Runtime1::StubID stub_id) {
|
|
||||||
_result = result;
|
|
||||||
_klass = klass;
|
|
||||||
_klass_reg = klass_reg;
|
|
||||||
_info = new CodeEmitInfo(info);
|
|
||||||
assert(stub_id == Runtime1::new_instance_id ||
|
|
||||||
stub_id == Runtime1::fast_new_instance_id ||
|
|
||||||
stub_id == Runtime1::fast_new_instance_init_check_id,
|
|
||||||
"need new_instance id");
|
|
||||||
_stub_id = stub_id;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void NewInstanceStub::emit_code(LIR_Assembler* ce) {
|
|
||||||
__ bind(_entry);
|
|
||||||
__ call(Runtime1::entry_for(_stub_id), relocInfo::runtime_call_type);
|
|
||||||
__ delayed()->mov_or_nop(_klass_reg->as_register(), G5);
|
|
||||||
ce->add_call_info_here(_info);
|
|
||||||
ce->verify_oop_map(_info);
|
|
||||||
__ br(Assembler::always, false, Assembler::pt, _continuation);
|
|
||||||
__ delayed()->mov_or_nop(O0, _result->as_register());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Implementation of NewTypeArrayStub
|
|
||||||
NewTypeArrayStub::NewTypeArrayStub(LIR_Opr klass_reg, LIR_Opr length, LIR_Opr result, CodeEmitInfo* info) {
|
|
||||||
_klass_reg = klass_reg;
|
|
||||||
_length = length;
|
|
||||||
_result = result;
|
|
||||||
_info = new CodeEmitInfo(info);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void NewTypeArrayStub::emit_code(LIR_Assembler* ce) {
|
|
||||||
__ bind(_entry);
|
|
||||||
|
|
||||||
__ mov(_length->as_register(), G4);
|
|
||||||
__ call(Runtime1::entry_for(Runtime1::new_type_array_id), relocInfo::runtime_call_type);
|
|
||||||
__ delayed()->mov_or_nop(_klass_reg->as_register(), G5);
|
|
||||||
ce->add_call_info_here(_info);
|
|
||||||
ce->verify_oop_map(_info);
|
|
||||||
__ br(Assembler::always, false, Assembler::pt, _continuation);
|
|
||||||
__ delayed()->mov_or_nop(O0, _result->as_register());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Implementation of NewObjectArrayStub
|
|
||||||
|
|
||||||
NewObjectArrayStub::NewObjectArrayStub(LIR_Opr klass_reg, LIR_Opr length, LIR_Opr result, CodeEmitInfo* info) {
|
|
||||||
_klass_reg = klass_reg;
|
|
||||||
_length = length;
|
|
||||||
_result = result;
|
|
||||||
_info = new CodeEmitInfo(info);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void NewObjectArrayStub::emit_code(LIR_Assembler* ce) {
|
|
||||||
__ bind(_entry);
|
|
||||||
|
|
||||||
__ mov(_length->as_register(), G4);
|
|
||||||
__ call(Runtime1::entry_for(Runtime1::new_object_array_id), relocInfo::runtime_call_type);
|
|
||||||
__ delayed()->mov_or_nop(_klass_reg->as_register(), G5);
|
|
||||||
ce->add_call_info_here(_info);
|
|
||||||
ce->verify_oop_map(_info);
|
|
||||||
__ br(Assembler::always, false, Assembler::pt, _continuation);
|
|
||||||
__ delayed()->mov_or_nop(O0, _result->as_register());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Implementation of MonitorAccessStubs
|
|
||||||
MonitorEnterStub::MonitorEnterStub(LIR_Opr obj_reg, LIR_Opr lock_reg, CodeEmitInfo* info)
|
|
||||||
: MonitorAccessStub(obj_reg, lock_reg) {
|
|
||||||
_info = new CodeEmitInfo(info);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void MonitorEnterStub::emit_code(LIR_Assembler* ce) {
|
|
||||||
__ bind(_entry);
|
|
||||||
__ mov(_obj_reg->as_register(), G4);
|
|
||||||
if (ce->compilation()->has_fpu_code()) {
|
|
||||||
__ call(Runtime1::entry_for(Runtime1::monitorenter_id), relocInfo::runtime_call_type);
|
|
||||||
} else {
|
|
||||||
__ call(Runtime1::entry_for(Runtime1::monitorenter_nofpu_id), relocInfo::runtime_call_type);
|
|
||||||
}
|
|
||||||
__ delayed()->mov_or_nop(_lock_reg->as_register(), G5);
|
|
||||||
ce->add_call_info_here(_info);
|
|
||||||
ce->verify_oop_map(_info);
|
|
||||||
__ br(Assembler::always, true, Assembler::pt, _continuation);
|
|
||||||
__ delayed()->nop();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void MonitorExitStub::emit_code(LIR_Assembler* ce) {
|
|
||||||
__ bind(_entry);
|
|
||||||
if (_compute_lock) {
|
|
||||||
ce->monitor_address(_monitor_ix, _lock_reg);
|
|
||||||
}
|
|
||||||
if (ce->compilation()->has_fpu_code()) {
|
|
||||||
__ call(Runtime1::entry_for(Runtime1::monitorexit_id), relocInfo::runtime_call_type);
|
|
||||||
} else {
|
|
||||||
__ call(Runtime1::entry_for(Runtime1::monitorexit_nofpu_id), relocInfo::runtime_call_type);
|
|
||||||
}
|
|
||||||
|
|
||||||
__ delayed()->mov_or_nop(_lock_reg->as_register(), G4);
|
|
||||||
__ br(Assembler::always, true, Assembler::pt, _continuation);
|
|
||||||
__ delayed()->nop();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Implementation of patching:
|
|
||||||
// - Copy the code at given offset to an inlined buffer (first the bytes, then the number of bytes)
|
|
||||||
// - Replace original code with a call to the stub
|
|
||||||
// At Runtime:
|
|
||||||
// - call to stub, jump to runtime
|
|
||||||
// - in runtime: preserve all registers (especially objects, i.e., source and destination object)
|
|
||||||
// - in runtime: after initializing class, restore original code, reexecute instruction
|
|
||||||
|
|
||||||
int PatchingStub::_patch_info_offset = -NativeGeneralJump::instruction_size;
|
|
||||||
|
|
||||||
void PatchingStub::align_patch_site(MacroAssembler* ) {
|
|
||||||
// patch sites on sparc are always properly aligned.
|
|
||||||
}
|
|
||||||
|
|
||||||
void PatchingStub::emit_code(LIR_Assembler* ce) {
|
|
||||||
// copy original code here
|
|
||||||
assert(NativeCall::instruction_size <= _bytes_to_copy && _bytes_to_copy <= 0xFF,
|
|
||||||
"not enough room for call");
|
|
||||||
assert((_bytes_to_copy & 0x3) == 0, "must copy a multiple of four bytes");
|
|
||||||
|
|
||||||
Label call_patch;
|
|
||||||
|
|
||||||
int being_initialized_entry = __ offset();
|
|
||||||
|
|
||||||
if (_id == load_klass_id) {
|
|
||||||
// produce a copy of the load klass instruction for use by the being initialized case
|
|
||||||
#ifdef ASSERT
|
|
||||||
address start = __ pc();
|
|
||||||
#endif
|
|
||||||
AddressLiteral addrlit(NULL, metadata_Relocation::spec(_index));
|
|
||||||
__ patchable_set(addrlit, _obj);
|
|
||||||
|
|
||||||
#ifdef ASSERT
|
|
||||||
for (int i = 0; i < _bytes_to_copy; i++) {
|
|
||||||
address ptr = (address)(_pc_start + i);
|
|
||||||
int a_byte = (*ptr) & 0xFF;
|
|
||||||
assert(a_byte == *start++, "should be the same code");
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
} else if (_id == load_mirror_id || _id == load_appendix_id) {
|
|
||||||
// produce a copy of the load mirror instruction for use by the being initialized case
|
|
||||||
#ifdef ASSERT
|
|
||||||
address start = __ pc();
|
|
||||||
#endif
|
|
||||||
AddressLiteral addrlit(NULL, oop_Relocation::spec(_index));
|
|
||||||
__ patchable_set(addrlit, _obj);
|
|
||||||
|
|
||||||
#ifdef ASSERT
|
|
||||||
for (int i = 0; i < _bytes_to_copy; i++) {
|
|
||||||
address ptr = (address)(_pc_start + i);
|
|
||||||
int a_byte = (*ptr) & 0xFF;
|
|
||||||
assert(a_byte == *start++, "should be the same code");
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
} else {
|
|
||||||
// make a copy the code which is going to be patched.
|
|
||||||
for (int i = 0; i < _bytes_to_copy; i++) {
|
|
||||||
address ptr = (address)(_pc_start + i);
|
|
||||||
int a_byte = (*ptr) & 0xFF;
|
|
||||||
__ emit_int8 (a_byte);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
address end_of_patch = __ pc();
|
|
||||||
int bytes_to_skip = 0;
|
|
||||||
if (_id == load_mirror_id) {
|
|
||||||
int offset = __ offset();
|
|
||||||
if (CommentedAssembly) {
|
|
||||||
__ block_comment(" being_initialized check");
|
|
||||||
}
|
|
||||||
|
|
||||||
// static field accesses have special semantics while the class
|
|
||||||
// initializer is being run so we emit a test which can be used to
|
|
||||||
// check that this code is being executed by the initializing
|
|
||||||
// thread.
|
|
||||||
assert(_obj != noreg, "must be a valid register");
|
|
||||||
assert(_index >= 0, "must have oop index");
|
|
||||||
__ ld_ptr(_obj, java_lang_Class::klass_offset_in_bytes(), G3);
|
|
||||||
__ ld_ptr(G3, in_bytes(InstanceKlass::init_thread_offset()), G3);
|
|
||||||
__ cmp_and_brx_short(G2_thread, G3, Assembler::notEqual, Assembler::pn, call_patch);
|
|
||||||
|
|
||||||
// load_klass patches may execute the patched code before it's
|
|
||||||
// copied back into place so we need to jump back into the main
|
|
||||||
// code of the nmethod to continue execution.
|
|
||||||
__ br(Assembler::always, false, Assembler::pt, _patch_site_continuation);
|
|
||||||
__ delayed()->nop();
|
|
||||||
|
|
||||||
// make sure this extra code gets skipped
|
|
||||||
bytes_to_skip += __ offset() - offset;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Now emit the patch record telling the runtime how to find the
|
|
||||||
// pieces of the patch. We only need 3 bytes but it has to be
|
|
||||||
// aligned as an instruction so emit 4 bytes.
|
|
||||||
int sizeof_patch_record = 4;
|
|
||||||
bytes_to_skip += sizeof_patch_record;
|
|
||||||
|
|
||||||
// emit the offsets needed to find the code to patch
|
|
||||||
int being_initialized_entry_offset = __ offset() - being_initialized_entry + sizeof_patch_record;
|
|
||||||
|
|
||||||
// Emit the patch record. We need to emit a full word, so emit an extra empty byte
|
|
||||||
__ emit_int8(0);
|
|
||||||
__ emit_int8(being_initialized_entry_offset);
|
|
||||||
__ emit_int8(bytes_to_skip);
|
|
||||||
__ emit_int8(_bytes_to_copy);
|
|
||||||
address patch_info_pc = __ pc();
|
|
||||||
assert(patch_info_pc - end_of_patch == bytes_to_skip, "incorrect patch info");
|
|
||||||
|
|
||||||
address entry = __ pc();
|
|
||||||
NativeGeneralJump::insert_unconditional((address)_pc_start, entry);
|
|
||||||
address target = NULL;
|
|
||||||
relocInfo::relocType reloc_type = relocInfo::none;
|
|
||||||
switch (_id) {
|
|
||||||
case access_field_id: target = Runtime1::entry_for(Runtime1::access_field_patching_id); break;
|
|
||||||
case load_klass_id: target = Runtime1::entry_for(Runtime1::load_klass_patching_id); reloc_type = relocInfo::metadata_type; break;
|
|
||||||
case load_mirror_id: target = Runtime1::entry_for(Runtime1::load_mirror_patching_id); reloc_type = relocInfo::oop_type; break;
|
|
||||||
case load_appendix_id: target = Runtime1::entry_for(Runtime1::load_appendix_patching_id); reloc_type = relocInfo::oop_type; break;
|
|
||||||
default: ShouldNotReachHere();
|
|
||||||
}
|
|
||||||
__ bind(call_patch);
|
|
||||||
|
|
||||||
if (CommentedAssembly) {
|
|
||||||
__ block_comment("patch entry point");
|
|
||||||
}
|
|
||||||
__ call(target, relocInfo::runtime_call_type);
|
|
||||||
__ delayed()->nop();
|
|
||||||
assert(_patch_info_offset == (patch_info_pc - __ pc()), "must not change");
|
|
||||||
ce->add_call_info_here(_info);
|
|
||||||
__ br(Assembler::always, false, Assembler::pt, _patch_site_entry);
|
|
||||||
__ delayed()->nop();
|
|
||||||
if (_id == load_klass_id || _id == load_mirror_id || _id == load_appendix_id) {
|
|
||||||
CodeSection* cs = __ code_section();
|
|
||||||
address pc = (address)_pc_start;
|
|
||||||
RelocIterator iter(cs, pc, pc + 1);
|
|
||||||
relocInfo::change_reloc_info_for_address(&iter, (address) pc, reloc_type, relocInfo::none);
|
|
||||||
|
|
||||||
pc = (address)(_pc_start + NativeMovConstReg::add_offset);
|
|
||||||
RelocIterator iter2(cs, pc, pc+1);
|
|
||||||
relocInfo::change_reloc_info_for_address(&iter2, (address) pc, reloc_type, relocInfo::none);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void DeoptimizeStub::emit_code(LIR_Assembler* ce) {
|
|
||||||
__ bind(_entry);
|
|
||||||
__ set(_trap_request, G4);
|
|
||||||
__ call(Runtime1::entry_for(Runtime1::deoptimize_id), relocInfo::runtime_call_type);
|
|
||||||
__ delayed()->nop();
|
|
||||||
ce->add_call_info_here(_info);
|
|
||||||
DEBUG_ONLY(__ should_not_reach_here());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void ArrayCopyStub::emit_code(LIR_Assembler* ce) {
|
|
||||||
//---------------slow case: call to native-----------------
|
|
||||||
__ bind(_entry);
|
|
||||||
__ mov(src()->as_register(), O0);
|
|
||||||
__ mov(src_pos()->as_register(), O1);
|
|
||||||
__ mov(dst()->as_register(), O2);
|
|
||||||
__ mov(dst_pos()->as_register(), O3);
|
|
||||||
__ mov(length()->as_register(), O4);
|
|
||||||
|
|
||||||
ce->emit_static_call_stub();
|
|
||||||
if (ce->compilation()->bailed_out()) {
|
|
||||||
return; // CodeCache is full
|
|
||||||
}
|
|
||||||
|
|
||||||
__ call(SharedRuntime::get_resolve_static_call_stub(), relocInfo::static_call_type);
|
|
||||||
__ delayed()->nop();
|
|
||||||
ce->add_call_info_here(info());
|
|
||||||
ce->verify_oop_map(info());
|
|
||||||
|
|
||||||
#ifndef PRODUCT
|
|
||||||
__ set((intptr_t)&Runtime1::_arraycopy_slowcase_cnt, O0);
|
|
||||||
__ ld(O0, 0, O1);
|
|
||||||
__ inc(O1);
|
|
||||||
__ st(O1, 0, O0);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
__ br(Assembler::always, false, Assembler::pt, _continuation);
|
|
||||||
__ delayed()->nop();
|
|
||||||
}
|
|
||||||
|
|
||||||
#undef __
|
|
@ -1,72 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
*
|
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
|
||||||
* under the terms of the GNU General Public License version 2 only, as
|
|
||||||
* published by the Free Software Foundation.
|
|
||||||
*
|
|
||||||
* 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.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef CPU_SPARC_C1_DEFS_SPARC_HPP
|
|
||||||
#define CPU_SPARC_C1_DEFS_SPARC_HPP
|
|
||||||
|
|
||||||
// native word offsets from memory address (big endian)
|
|
||||||
enum {
|
|
||||||
pd_lo_word_offset_in_bytes = BytesPerInt,
|
|
||||||
pd_hi_word_offset_in_bytes = 0
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// explicit rounding operations are not required to implement the strictFP mode
|
|
||||||
enum {
|
|
||||||
pd_strict_fp_requires_explicit_rounding = false
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// registers
|
|
||||||
enum {
|
|
||||||
pd_nof_cpu_regs_frame_map = 32, // number of registers used during code emission
|
|
||||||
pd_nof_caller_save_cpu_regs_frame_map = 10, // number of cpu registers killed by calls
|
|
||||||
pd_nof_cpu_regs_reg_alloc = 20, // number of registers that are visible to register allocator
|
|
||||||
pd_nof_cpu_regs_linearscan = 32,// number of registers visible linear scan
|
|
||||||
pd_first_cpu_reg = 0,
|
|
||||||
pd_last_cpu_reg = 31,
|
|
||||||
pd_last_allocatable_cpu_reg = 19,
|
|
||||||
pd_first_callee_saved_reg = 0,
|
|
||||||
pd_last_callee_saved_reg = 13,
|
|
||||||
|
|
||||||
pd_nof_fpu_regs_frame_map = 32, // number of registers used during code emission
|
|
||||||
pd_nof_caller_save_fpu_regs_frame_map = 32, // number of fpu registers killed by calls
|
|
||||||
pd_nof_fpu_regs_reg_alloc = 32, // number of registers that are visible to register allocator
|
|
||||||
pd_nof_fpu_regs_linearscan = 32, // number of registers visible to linear scan
|
|
||||||
pd_first_fpu_reg = pd_nof_cpu_regs_frame_map,
|
|
||||||
pd_last_fpu_reg = pd_nof_cpu_regs_frame_map + pd_nof_fpu_regs_frame_map - 1,
|
|
||||||
|
|
||||||
pd_nof_xmm_regs_linearscan = 0,
|
|
||||||
pd_nof_caller_save_xmm_regs = 0,
|
|
||||||
pd_first_xmm_reg = -1,
|
|
||||||
pd_last_xmm_reg = -1
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// for debug info: a float value in a register is saved in single precision by runtime stubs
|
|
||||||
enum {
|
|
||||||
pd_float_saved_as_double = false
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // CPU_SPARC_C1_DEFS_SPARC_HPP
|
|
@ -1,25 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2005, 2017, 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.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
// No FPU stack on SPARC
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user