Browse Source

Upgrade openjdk bootstrap for jdk 17

master
mid-kid 3 years ago
parent
commit
9045b4db45
  1. BIN
      java/backup/ecj-4.9.jar
  2. 57
      java/backup/javac.in
  3. 17
      java/build.sh
  4. 4
      java/build_ant.sh
  5. 21
      java/build_icedtea7.sh
  6. 10
      java/build_icedtea8.sh
  7. 73
      java/build_jdk.sh
  8. 21
      java/build_make42.sh
  9. 34
      java/download.sh
  10. 47
      java/download.sha256
  11. 48
      java/files/apache-ant-1.9.16-fix-java4.patch
  12. 16
      java/files/icedtea-2.6.28-fix-bootstrap.patch
  13. 11
      java/files/icedtea-2.6.28-fix-includes.patch
  14. 11
      java/files/jdk-10.0.2+13-fix-pointer-comparison.patch
  15. 22
      java/files/jdk-9+181-fix-pointer-comparison.patch
  16. 7
      java/icedtea7-newerror.txt
  17. 3
      java/strip.sh

BIN
java/backup/ecj-4.9.jar

Binary file not shown.

57
java/backup/javac.in

@ -0,0 +1,57 @@
#!/usr/bin/perl -w
use strict;
use constant NO_DUP_ARGS => qw(-source -target -d -encoding);
use constant STRIP_ARGS => qw(-Werror -implicit:none -J-Xbootclasspath/p:);
my $ECJ_WARNINGS="-nowarn";
my ( @bcoption, @source15, @target15, @cp );
push @bcoption, '-bootclasspath', '@RT_JAR@:@TOOLS_JAR@'
unless grep {$_ eq '-bootclasspath'} @ARGV;
push @source15, '-source', '1.5'
unless grep {$_ eq '-source'} @ARGV;
push @target15, '-target', '1.5'
unless grep {$_ eq '-target'} @ARGV;
push @cp, '-cp', '.'
unless grep {$_ =~ '\-c(p|lasspath)'} @ARGV or $ENV{CLASSPATH};
my @ecj_parms = ($ECJ_WARNINGS, @bcoption, @source15, @target15, @cp);
# Work around ecj's inability to handle duplicate command-line
# options and unknown javac options.
sub gen_ecj_opts
{
my @new_args = @{$_[0]};
for my $opt (NO_DUP_ARGS)
{
my @indices = reverse grep {$new_args[$_] eq $opt} 0..$#new_args;
if (@indices > 1) {
shift @indices; # keep last instance only
splice @new_args, $_, 2 for @indices;
}
}
for my $opt (STRIP_ARGS)
{
my @indices = reverse grep {$new_args[$_] eq $opt} 0..$#new_args;
splice @new_args, $_, 1 for @indices;
}
return \@new_args;
}
sub split_vm_args
{
my @new_args = @{$_[0]};
my @vm_args = map { substr $_, 2 } grep $_ =~ /^-J/, @new_args;
my @javac_args = grep $_ !~ /^-J/, @new_args;
return (\@vm_args, \@javac_args);
}
my ($vm_args, $javac_args) = split_vm_args (gen_ecj_opts( \@ARGV ));
my @CLASSPATH = ('@ECJ_JAR@');
push @CLASSPATH, split /:/, $ENV{"CLASSPATH"} if exists $ENV{"CLASSPATH"};
$ENV{"CLASSPATH"} = join ':', @CLASSPATH;
exec '@JAVA@', @$vm_args, 'org.eclipse.jdt.internal.compiler.batch.Main', @ecj_parms, @$javac_args;

17
java/build.sh

@ -1,9 +1,15 @@
#!/bin/sh
set -eu
export MAKEFLAGS="-j$(nproc)"
export MAKEFLAGS="-j${NPROC:-$(nproc)}"
version_jdk11=11.0.9.1+1
version_jdk17=17.0.1+12
version_jdk16=16.0.2+7
version_jdk15=15.0.3+3
version_jdk14=14.0.2+12
version_jdk13=13.0.5.1+1
version_jdk12=12.0.2+10
version_jdk11=11.0.12+7
version_jdk10=10.0.2+13
version_jdk9=9+181
@ -11,6 +17,13 @@ version_jdk9=9+181
[ ! -d build/install-ant ] && ./build_ant.sh
[ ! -d build/install-icedtea7 ] && ./build_icedtea7.sh
[ ! -d build/install-icedtea8 ] && ./build_icedtea8.sh
[ ! -d build/install-make42 ] && ./build_make42.sh
[ ! -d build/install-jdk9 ] && ./build_jdk.sh icedtea8 jdk9 "$version_jdk9"
[ ! -d build/install-jdk10 ] && ./build_jdk.sh jdk9 jdk10 "$version_jdk10"
[ ! -d build/install-jdk11 ] && ./build_jdk.sh jdk10 jdk11 "$version_jdk11"
[ ! -d build/install-jdk12 ] && ./build_jdk.sh jdk11 jdk12 "$version_jdk12"
[ ! -d build/install-jdk13 ] && ./build_jdk.sh jdk12 jdk13 "$version_jdk13"
[ ! -d build/install-jdk14 ] && ./build_jdk.sh jdk13 jdk14 "$version_jdk14"
[ ! -d build/install-jdk15 ] && ./build_jdk.sh jdk14 jdk15 "$version_jdk15"
[ ! -d build/install-jdk16 ] && ./build_jdk.sh jdk15 jdk16 "$version_jdk16"
[ ! -d build/install-jdk17 ] && ./build_jdk.sh jdk16 jdk17 "$version_jdk17"

4
java/build_ant.sh

@ -1,15 +1,17 @@
#!/bin/sh
set -eu
version_ant=1.9.13
version_ant=1.9.16
dir_download="$PWD/download"
dir_files="$PWD/files"
mkdir -p build; cd build
dir_install="$PWD/install-ant"
# Prepare source
tar xf "$dir_download/apache-ant-$version_ant-src.tar.bz2"
cd "apache-ant-$version_ant"
patch -p1 -i "$dir_files/apache-ant-1.9.16-fix-java4.patch"
# Build and install
unset JAVAC JAVACMD CLASSPATH

21
java/build_icedtea7.sh

@ -11,27 +11,28 @@ makeopts_jobs() {
echo ${jobs:-1}
}
version_icedtea7=2.6.17
version_icedtea7=2.6.28
dir_download="$PWD/download"
dir_files="$PWD/files"
mkdir -p build; cd build
dir_install="$PWD/install-icedtea7"
# Prepare source
## Prepare source
tar xf "$dir_download/icedtea-$version_icedtea7.tar.xz"
cd "icedtea-$version_icedtea7"
cp ../../icedtea7-fixes.patch .
for part in corba.tar.bz2 hotspot.tar.bz2 jaxp.tar.bz2 jaxws.tar.bz2 jdk.tar.bz2 langtools.tar.bz2 openjdk.tar.bz2; do
cp "$dir_download/icedtea-$version_icedtea7-$part" "$part"
for part in corba hotspot jaxp jaxws jdk langtools openjdk; do
cp "$dir_download/icedtea-$version_icedtea7-$part.tar.bz2" "$part.tar.bz2"
done
cp "$dir_files/icedtea-2.6.28-fix-includes.patch" .
cp "$dir_files/icedtea-2.6.28-fix-bootstrap.patch" .
unset _JAVA_OPTIONS
unset JAVA_HOME BOOTDIR ALT_BOOTDIR # openjdk-boot/hotspot/make/linux/makefiles/sa.make
export PATH="$PWD/../install-ant/bin:$PWD/../install-gcc/lib/jvm/bin:$PWD/../install-gcc/bin:$PATH"
# Configure source
./configure \
CONFIG_SHELL=/bin/bash ./configure \
--prefix="$dir_install" \
--with-jdk-home="$PWD/../install-gcc/lib/jvm" \
--with-parallel-jobs="$(makeopts_jobs)" \
@ -44,5 +45,7 @@ export PATH="$PWD/../install-ant/bin:$PWD/../install-gcc/lib/jvm/bin:$PWD/../ins
--disable-system-sctp
# Build and install
make DISTRIBUTION_PATCHES=icedtea7-fixes.patch
make \
DISTRIBUTION_PATCHES=icedtea-2.6.28-fix-includes.patch \
DISTRIBUTION_BOOT_PATCHES=icedtea-2.6.28-fix-bootstrap.patch
make install

10
java/build_icedtea8.sh

@ -11,7 +11,7 @@ makeopts_jobs() {
echo ${jobs:-1}
}
version_icedtea8=3.17.0
version_icedtea8=3.21.0
dir_download="$PWD/download"
mkdir -p build; cd build
@ -20,15 +20,15 @@ dir_install="$PWD/install-icedtea8"
# Prepare source
tar xf "$dir_download/icedtea-$version_icedtea8.tar.xz"
cd "icedtea-$version_icedtea8"
for part in corba.tar.xz hotspot.tar.xz jaxp.tar.xz jaxws.tar.xz jdk.tar.xz langtools.tar.xz nashorn.tar.xz openjdk.tar.xz; do
cp "$dir_download/icedtea-$version_icedtea8-$part" "$part"
for part in corba hotspot jaxp jaxws jdk langtools nashorn openjdk; do
cp "$dir_download/icedtea-$version_icedtea8-$part.tar.xz" "$part.tar.xz"
done
unset _JAVA_OPTIONS
export PATH="$PWD/../install-icedtea7/bin:$PATH"
# Configure source
./configure \
CONFIG_SHELL=/bin/bash ./configure \
--prefix="$dir_install" \
--with-jdk-home="$PWD/../install-icedtea7" \
--with-parallel-jobs="$(makeopts_jobs)" \

73
java/build_jdk.sh

@ -16,29 +16,90 @@ version_jdk_major="$2"
version_jdk="$3"
dir_download="$PWD/download"
dir_files="$PWD/files"
mkdir -p build; cd build
dir_install="$PWD/install-$version_jdk_major"
case "$version_jdk_major" in
jdk9) name="jdk" ;;
*) name="${version_jdk_major}u" ;;
jdk9)
archive="jdk-jdk-$version_jdk.tar.bz2"
srcdir="jdk-jdk-$version_jdk"
;;
jdk10|jdk11|jdk12|jdk13|jdk14|jdk15)
archive="${version_jdk_major}u-jdk-$version_jdk.tar.bz2"
srcdir="${version_jdk_major}u-jdk-$version_jdk"
;;
*)
archive="${version_jdk_major}u-jdk-$version_jdk.tar.gz"
srcdir="${version_jdk_major}u-jdk-$(echo $version_jdk | tr + -)"
;;
esac
# Prepare source
tar xf "$dir_download/$name-jdk-$version_jdk.tar.bz2"
cd "$name-jdk-$version_jdk"
tar xf "$dir_download/$archive"
cd "$srcdir"
chmod +x configure
# Some jdk versions require fixing up things
CFLAGS=""
CXXFLAGS=""
case "$version_jdk_major" in
jdk9)
patch -p1 -i "$dir_files/jdk-9+181-fix-pointer-comparison.patch"
sed -i -e '/^ *COMPILER_VERSION_NUMBER=/{N;s/\[1-9\]/&[0-9]*/}' \
common/autoconf/generated-configure.sh
export PATH="$PWD/../install-make42:$PATH"
export MAKE="$PWD/../install-make42/make"
CFLAGS="$CFLAGS -fcommon"
CXXFLAGS="$CFLAGS -fcommon"
;;
jdk10)
patch -p1 -i "$dir_files/jdk-10.0.2+13-fix-pointer-comparison.patch"
sed -i -e '/^ *COMPILER_VERSION_NUMBER=/{N;s/\[1-9\]/&[0-9]*/}' \
make/autoconf/generated-configure.sh
export PATH="$PWD/../install-make42:$PATH"
export MAKE="$PWD/../install-make42/make"
CFLAGS="$CFLAGS -fcommon"
CXXFLAGS="$CFLAGS -fcommon"
;;
jdk12)
sed -i -e '/^ *COMPILER_VERSION_NUMBER=/{N;s/@<:@1-9@:>@/&@<:@0-9@:>@*/}' \
make/autoconf/toolchain.m4
export PATH="$PWD/../install-make42:$PATH"
export MAKE="$PWD/../install-make42/make"
CFLAGS="$CFLAGS -fcommon"
CXXFLAGS="$CFLAGS -fcommon"
;;
jdk13)
sed -i -e '/^ *COMPILER_VERSION_NUMBER=/{N;s/@<:@1-9@:>@/&@<:@0-9@:>@*/}' \
make/autoconf/toolchain.m4
CFLAGS="$CFLAGS -fcommon"
CXXFLAGS="$CFLAGS -fcommon"
;;
jdk14)
CFLAGS="$CFLAGS -fcommon"
CXXFLAGS="$CFLAGS -fcommon"
;;
jdk16)
sed -i -e 's/\<prefix\>/fixpath_prefix/g' \
make/autoconf/util_paths.m4
;;
esac
unset _JAVA_OPTIONS JAVAC
# Configure source
./configure \
CONFIG_SHELL=/bin/bash ./configure \
--prefix="$dir_install" \
--with-boot-jdk="$PWD/../install-$version_jdk_bootstrap" \
--with-jobs="$(makeopts_jobs)" \
--with-extra-cflags="$CFLAGS -w" \
--with-extra-cxxflags="$CXXFLAGS -w" \
--disable-full-docs \
--enable-headless-only \
--disable-warnings-as-errors
echo "$version_jdk" > .src-rev
# Build and install
unset MAKEFLAGS
make product-images
make install

21
java/build_make42.sh

@ -0,0 +1,21 @@
#!/bin/sh
set -eu
version_make42=4.2.1
dir_download="$PWD/download"
mkdir -p build; cd build
dir_install="$PWD/install-make42"
# Prepare source
tar xf "$dir_download/make-$version_make42.tar.bz2"
cd "make-$version_make42"
# Configure source
CFLAGS="-D__alloca=alloca -D__stat=stat" \
./configure \
--prefix="$dir_install"
# Build and install
make
install -Dm755 make "$dir_install/make"

34
java/download.sh

@ -1,33 +1,47 @@
#!/bin/sh
set -eu
version_jdk11=11.0.9.1+1 # https://hg.openjdk.java.net/jdk-updates/jdk11u/tags
version_jdk17=17.0.1+12 # https://github.com/openjdk/jdk17u/tags
version_jdk16=16.0.2+7 # https://github.com/openjdk/jdk16u/tags
version_jdk15=15.0.3+3 # https://hg.openjdk.java.net/jdk-updates/jdk15u/tags
version_jdk14=14.0.2+12 # https://hg.openjdk.java.net/jdk-updates/jdk14u/tags
version_jdk13=13.0.5.1+1 # https://hg.openjdk.java.net/jdk-updates/jdk13u/tags
version_jdk12=12.0.2+10 # https://hg.openjdk.java.net/jdk-updates/jdk12u/tags
version_jdk11=11.0.12+7 # https://hg.openjdk.java.net/jdk-updates/jdk11u/tags
version_jdk10=10.0.2+13 # https://hg.openjdk.java.net/jdk-updates/jdk10u/tags
version_jdk9=9+181 # https://hg.openjdk.java.net/jdk/jdk/tags
version_icedtea8=3.17.0 # https://icedtea.classpath.org/wiki/Main_Page#Getting_IcedTea
version_icedtea7=2.6.17 # https://icedtea.classpath.org/wiki/Main_Page#Getting_IcedTea (2.6.18+ seems to fail)
version_ant=1.9.13 # https://ant.apache.org/manual-1.9.x/index.html (1.9.14+ seems to fail)
version_make42=4.2.1 # https://ftp.gnu.org/gnu/make/
version_icedtea8=3.21.0 # https://icedtea.classpath.org/wiki/Main_Page#Getting_IcedTea
version_icedtea7=2.6.28 # https://icedtea.classpath.org/wiki/Main_Page#Getting_IcedTea (2.6.18+ seems to fail)
version_ant=1.9.16 # https://ant.apache.org/manual-1.9.x/index.html
version_gcc=6.5.0 # Final version
version_ecj=4.9 # Final version
mkdir -p download
cd download
wget -O "jdk17u-jdk-$version_jdk17.tar.gz" -c "https://github.com/openjdk/jdk17u/archive/refs/tags/jdk-$version_jdk17.tar.gz"
wget -O "jdk16u-jdk-$version_jdk16.tar.gz" -c "https://github.com/openjdk/jdk16u/archive/refs/tags/jdk-$version_jdk16.tar.gz"
wget -O "jdk15u-jdk-$version_jdk15.tar.bz2" -c "https://hg.openjdk.java.net/jdk-updates/jdk15u/archive/jdk-$version_jdk15.tar.bz2"
wget -O "jdk14u-jdk-$version_jdk14.tar.bz2" -c "https://hg.openjdk.java.net/jdk-updates/jdk14u/archive/jdk-$version_jdk14.tar.bz2"
wget -O "jdk13u-jdk-$version_jdk13.tar.bz2" -c "https://hg.openjdk.java.net/jdk-updates/jdk13u/archive/jdk-$version_jdk13.tar.bz2"
wget -O "jdk12u-jdk-$version_jdk12.tar.bz2" -c "https://hg.openjdk.java.net/jdk-updates/jdk12u/archive/jdk-$version_jdk12.tar.bz2"
wget -O "jdk11u-jdk-$version_jdk11.tar.bz2" -c "https://hg.openjdk.java.net/jdk-updates/jdk11u/archive/jdk-$version_jdk11.tar.bz2"
wget -O "jdk10u-jdk-$version_jdk10.tar.bz2" -c "https://hg.openjdk.java.net/jdk-updates/jdk10u/archive/jdk-$version_jdk10.tar.bz2"
wget -O "jdk-jdk-$version_jdk9.tar.bz2" -c "https://hg.openjdk.java.net/jdk/jdk/archive/jdk-$version_jdk9.tar.bz2"
wget -c "http://icedtea.wildebeest.org/download/source/icedtea-$version_icedtea8.tar.xz"
wget -c "http://icedtea.wildebeest.org/download/source/icedtea-$version_icedtea7.tar.xz"
wget -c "https://ftp.gnu.org/gnu/make/make-$version_make42.tar.bz2"
wget -c "http://icedtea.classpath.org/download/source/icedtea-$version_icedtea8.tar.xz"
wget -c "http://icedtea.classpath.org/download/source/icedtea-$version_icedtea7.tar.xz"
wget -c "https://archive.apache.org/dist/ant/source/apache-ant-$version_ant-src.tar.bz2"
wget -c "https://ftp.gnu.org/gnu/gcc/gcc-$version_gcc/gcc-$version_gcc.tar.xz"
wget -c "ftp://sourceware.org/pub/java/ecj-$version_ecj.jar"
wget -O javac.in -c 'https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-java/gcj-jdk/files/javac.in?id=56bd759df1d0c750a065b8c845e93d5dfa6b549d'
for part in corba.tar.bz2 hotspot.tar.bz2 jaxp.tar.bz2 jaxws.tar.bz2 jdk.tar.bz2 langtools.tar.bz2 openjdk.tar.bz2; do
wget -O "icedtea-$version_icedtea7-$part" -c "http://icedtea.wildebeest.org/download/drops/icedtea7/$version_icedtea7/$part"
for part in corba hotspot jaxp jaxws jdk langtools openjdk; do
wget -O "icedtea-$version_icedtea7-$part.tar.bz2" -c "http://icedtea.classpath.org/download/drops/icedtea7/$version_icedtea7/$part.tar.bz2"
done
for part in corba.tar.xz hotspot.tar.xz jaxp.tar.xz jaxws.tar.xz jdk.tar.xz langtools.tar.xz nashorn.tar.xz openjdk.tar.xz; do
wget -O "icedtea-$version_icedtea8-$part" -c "http://icedtea.wildebeest.org/download/drops/icedtea8/$version_icedtea8/$part"
for part in corba hotspot jaxp jaxws jdk langtools nashorn openjdk; do
wget -O "icedtea-$version_icedtea8-$part.tar.xz" -c "http://icedtea.classpath.org/download/drops/icedtea8/$version_icedtea8/$part.tar.xz"
done
sha256sum -c ../download.sha256

47
java/download.sha256

@ -1,24 +1,31 @@
fdefd01c909a69fbeab1c45a815e3a80d86351f61b992dfe2e2191d9b009aaaf apache-ant-1.9.13-src.tar.bz2
965489b1caca437b3c60f3885f7a671c8ea88610a650b4af883bf2b39e21530c apache-ant-1.9.16-src.tar.bz2
9506e75b862f782213df61af67338eb7a23c35ff425d328affc65585477d34cd ecj-4.9.jar
7ef1796ce497e89479183702635b14bb7a46b53249209a5e0f999bebf4740945 gcc-6.5.0.tar.xz
808e6120513aa15e6b219899c1189e2d591c3984454d7db4b239556d437cf764 icedtea-2.6.17-corba.tar.bz2
b22bca4cd64c18750b7e31c0cbf97919f9f5df610916cfa5e01e80832f139496 icedtea-2.6.17-hotspot.tar.bz2
4aa64f80dd103ebece1aaaa6d126f751eafabb2f677537dbb25c0e0c350ad3fb icedtea-2.6.17-jaxp.tar.bz2
0703a48a420932fb62288c211ccb27596db4e3f1cfd0701321abcca259c93e97 icedtea-2.6.17-jaxws.tar.bz2
236180ad395eb5036cc8577aad7c4cdc2a96dc79da717fe37673a43ba26e08ee icedtea-2.6.17-jdk.tar.bz2
b3c9130e6e813d12376cf685f1726988bad04b256390b00a5ef403a5619e6698 icedtea-2.6.17-langtools.tar.bz2
7627e8483566b1eec4dd52c5f5052a46139529d68335c10d8ac8b0ff11215455 icedtea-2.6.17-openjdk.tar.bz2
56360402eabda81200439485a60f0fdb3790000f957651757ea688b336cdab57 icedtea-2.6.17.tar.xz
8cd38fecfeceea5b4f342702d9d527c8485691984e3a0e1e69253ba62a58397d icedtea-3.17.0-corba.tar.xz
874a81943dbba0e00d1586f200f132c72417781f437910f448ed7af244e9e9a0 icedtea-3.17.0-hotspot.tar.xz
b987fb2ab789e55d312c9b955e441fb5f39443e3bb57967c3ea03961e68cac41 icedtea-3.17.0-jaxp.tar.xz
4c58d1e7c1aa2291d90a9f5881ef918e3ac5a947c355df4be275fedf82fe55db icedtea-3.17.0-jaxws.tar.xz
39e77d08e322c2d60af2254743867dde50bbf6bf4f39d5b46df1eb311ba14af4 icedtea-3.17.0-jdk.tar.xz
b6f28501eafc5b35396ed9e265c9f7f1e764a8cb11f910b85481048fae78bfbb icedtea-3.17.0-langtools.tar.xz
0d1dd7128a3503063589be89d775221508bfa87a31f5cf12f8497bac30cbe459 icedtea-3.17.0-nashorn.tar.xz
fec83cb0e6e0df32799c60a0980deb5ecd7612004af82c76320d1c3c1bc4baf0 icedtea-3.17.0-openjdk.tar.xz
089e85d6046775fc565cda87eba2c0245efd38b1bf713bc0b773f6dd40a49288 icedtea-3.17.0.tar.xz
b002240621be404783ed0117fe052552b4ef86adade4f2c8561ccee60ecba845 icedtea-2.6.28-corba.tar.bz2
b6897cd5dd70af201e6ca107b2759217f92ca207643c5128dcca9e0a33b34cfc icedtea-2.6.28-hotspot.tar.bz2
fd93e65a4692593c2100963be2c75d697a32ba51ee2c02c7e7dccc524dfb1788 icedtea-2.6.28-jaxp.tar.bz2
23b2c621752608f03f8b61753e19b21246dd5850648bcdfa49f2c6b8cd930a2f icedtea-2.6.28-jaxws.tar.bz2
0812269b1f8a3884d2c2659d944e20fcfb054d916a5712e405d7a54fab2b5167 icedtea-2.6.28-jdk.tar.bz2
24799d5ebebfb1e316f9434db1db5a360ac7c86e5783ce58693536f978a0aa47 icedtea-2.6.28-langtools.tar.bz2
78e5e89fc510280401e227d980abe30d49ea508c3eec537035481fd21a3b2c32 icedtea-2.6.28-openjdk.tar.bz2
951188e6c0e3599de22f5cb2d95b5da9bf480763b5c8c600dae9fec88cff1735 icedtea-2.6.28.tar.xz
ab0bff4445822c5e5741088da0e83a9bc20d059b8a95fcffd5885c03969bbeeb icedtea-3.21.0-corba.tar.xz
4231a4b534b1c44aaf5e0b51833f0e40f0654dcaa41c6259cf65037eccd427ae icedtea-3.21.0-hotspot.tar.xz
c5bb8b86a8d24ca7abde8f6cf15dec18c6e9a5201e4942a7ef117b28c960f54f icedtea-3.21.0-jaxp.tar.xz
6a1244d4b8c0f78d34e44edb92a96cb127ec4b43847a6d5a176c37f392499993 icedtea-3.21.0-jaxws.tar.xz
eab27c3ad455b68b29fec2f59730d48c97f53699000da21a5e1640b825840385 icedtea-3.21.0-jdk.tar.xz
499c749aa8dbe120bde899d0712d47e3cebc7d4a0a4b4c9b6afb2b0bdda98b82 icedtea-3.21.0-langtools.tar.xz
495276d1e1e6b3a5a0d257c21b2e6349b000ac083be209a47a01b45894a65d59 icedtea-3.21.0-nashorn.tar.xz
ea3fe2097a0ce02e6781e8a0cc1b923ab52803a527cc34ef686779c04a3e1c21 icedtea-3.21.0-openjdk.tar.xz
f83ee85d39f39a304dbd6c79aaeb4fa04257fc2e61031d0a28587a1953ba2459 icedtea-3.21.0.tar.xz
3bb23cff0a6e5a7a820e19cce4b9b0f51a7b84ee9e0eeb048b463a5f3e996db0 javac.in
8df9102cd985df96733cd7b6e58136681bd6df8812698393d6fcf5049b0dc7e3 jdk-jdk-9+181.tar.bz2
374f7ae35f0a7439a40bd2c765d1f410607c75c6c1e788f1a344a42e59431f51 jdk10u-jdk-10.0.2+13.tar.bz2
1bfcf63e0be8fc37517856e6181b97ed1d83a2436949ad21855ffc6ce14a5a0e jdk11u-jdk-11.0.9.1+1.tar.bz2
03531735116e74644b729fc0b8663ed72f7c83ebe093c02f1887be89264d8b92 jdk11u-jdk-11.0.12+7.tar.bz2
f7242b56e0292bc7ec5795bbaeb98552ef30d7a686cd7ca0a877fe37b399f384 jdk12u-jdk-12.0.2+10.tar.bz2
f7b2b121f4badb9da8167bda48d74b01cee39c19c4148e0eba383812c7258c8e jdk13u-jdk-13.0.5.1+1.tar.bz2
a2e858dcce16fe89c20e265d9735e2cf1ae68a81b79cf55deb658ffc9de44c25 jdk14u-jdk-14.0.2+12.tar.bz2
4caca47081a23e4ec4d558f7649a9a3f0f34d300f4e6fde5767325c76214e19b jdk15u-jdk-15.0.3+3.tar.bz2
b4a0e71e41a11175e8a7c1dba86ed5b0aa878413158c8d48813db1b64ac9536c jdk16u-jdk-16.0.2+7.tar.gz
8c076203a6f85ab916b3e54de1992bcbcc5ffe580c52b1ac8d52ca7afb9f02d1 jdk17u-jdk-17.0.1+12.tar.gz
8df9102cd985df96733cd7b6e58136681bd6df8812698393d6fcf5049b0dc7e3 jdk-jdk-9+181.tar.bz2
d6e262bf3601b42d2b1e4ef8310029e1dcf20083c5446b4b7aa67081fdffc589 make-4.2.1.tar.bz2

48
java/files/apache-ant-1.9.16-fix-java4.patch

@ -0,0 +1,48 @@
--- apache-ant-1.9.16.orig/src/main/org/apache/tools/ant/taskdefs/condition/IsReachable.java
+++ apache-ant-1.9.16/src/main/org/apache/tools/ant/taskdefs/condition/IsReachable.java
@@ -131,6 +131,8 @@
return string == null || string.length() == 0;
}
+ private static Class[] parameterTypes = {Integer.TYPE};
+
/**
* Evaluate the condition.
*
@@ -173,11 +175,32 @@
log("Host address = " + address.getHostAddress(),
Project.MSG_VERBOSE);
boolean reachable;
+ //Java1.5: reachable = address.isReachable(timeout * 1000);
+ Method reachableMethod = null;
try {
- reachable = address.isReachable(timeout * SECOND);
- } catch (final IOException ioe) {
- reachable = false;
- log(ERROR_ON_NETWORK + target + ": " + ioe.toString());
+ reachableMethod = InetAddress.class.getMethod(METHOD_NAME,
+ parameterTypes);
+ final Object[] params = new Object[1];
+ params[0] = new Integer(timeout * SECOND);
+ try {
+ reachable = ((Boolean) reachableMethod.invoke(address, params))
+ .booleanValue();
+ } catch (final IllegalAccessException e) {
+ //utterly implausible, but catered for anyway
+ throw new BuildException("When calling " + reachableMethod);
+ } catch (final InvocationTargetException e) {
+ //assume this is an IOException about un readability
+ final Throwable nested = e.getTargetException();
+ log(ERROR_ON_NETWORK + target + ": " + nested.toString());
+ //any kind of fault: not reachable.
+ reachable = false;
+ }
+ } catch (final NoSuchMethodException e) {
+ //java1.4
+ log("Not found: InetAddress." + METHOD_NAME, Project.MSG_VERBOSE);
+ log(MSG_NO_REACHABLE_TEST);
+ reachable = true;
+
}
log("host is" + (reachable ? "" : " not") + " reachable", Project.MSG_VERBOSE);

16
java/files/icedtea-2.6.28-fix-bootstrap.patch

@ -0,0 +1,16 @@
--- openjdk-boot/jdk/src/share/classes/sun/security/util/Optional.java.orig
+++ openjdk-boot/jdk/src/share/classes/sun/security/util/Optional.java
@@ -189,12 +189,7 @@
* @throws NullPointerException if the mapping function is null
*/
public<U> Optional<U> map(Function<? super T, ? extends U> mapper) {
- Objects.requireNonNull(mapper);
- if (!isPresent())
- return empty();
- else {
- return Optional.ofNullable(mapper.apply(value));
- }
+ return empty();
}
/**

11
java/icedtea7-fixes.patch → java/files/icedtea-2.6.28-fix-includes.patch

@ -1,3 +1,4 @@
--- openjdk/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c.orig
+++ openjdk/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c
@@ -41,7 +41,6 @@
#endif
@ -7,6 +8,7 @@
#include <sys/utsname.h>
#include <netinet/ip.h>
--- openjdk/jdk/src/solaris/native/java/net/PlainSocketImpl.c.orig
+++ openjdk/jdk/src/solaris/native/java/net/PlainSocketImpl.c
@@ -43,7 +43,6 @@
#endif
@ -16,12 +18,3 @@
#endif
#include "jvm.h"
+++ openjdk/jdk/make/tools/freetypecheck/Makefile
@@ -64,7 +64,6 @@ FT_LD_OPTIONS += $(LFLAGS_$(COMPILER_VER
# Create test program
all: $(FT_TEST)
- $(FT_TEST)
# On windows we need to copy dll to test dir to ensure it will be found
# at runtime

11
java/files/jdk-10.0.2+13-fix-pointer-comparison.patch

@ -0,0 +1,11 @@
--- jdk10u-jdk-10.0.2+13.orig/src/hotspot/os/linux/os_linux.cpp
+++ jdk10u-jdk-10.0.2+13/src/hotspot/os/linux/os_linux.cpp
@@ -2155,7 +2155,7 @@
}
p = OSContainer::cpu_cpuset_memory_nodes();
- if (p < 0)
+ if (p < (void *)0)
st->print("cpu_memory_nodes() failed\n");
else {
st->print("cpu_memory_nodes: %s\n", p);

22
java/files/jdk-9+181-fix-pointer-comparison.patch

@ -0,0 +1,22 @@
--- jdk-jdk-9+181.orig/hotspot/src/share/vm/memory/virtualspace.cpp
+++ jdk-jdk-9+181/hotspot/src/share/vm/memory/virtualspace.cpp
@@ -581,7 +581,7 @@
assert(markOopDesc::encode_pointer_as_mark(&_base[size])->decode_pointer() == &_base[size],
"area must be distinguishable from marks for mark-sweep");
- if (base() > 0) {
+ if (base() > (void *)0) {
MemTracker::record_virtual_memory_type((address)base(), mtJavaHeap);
}
}
--- jdk-jdk-9+181.orig/hotspot/src/share/vm/opto/lcm.cpp
+++ jdk-jdk-9+181/hotspot/src/share/vm/opto/lcm.cpp
@@ -39,7 +39,7 @@
// Check whether val is not-null-decoded compressed oop,
// i.e. will grab into the base of the heap if it represents NULL.
static bool accesses_heap_base_zone(Node *val) {
- if (Universe::narrow_oop_base() > 0) { // Implies UseCompressedOops.
+ if (Universe::narrow_oop_base() > (void *)0) { // Implies UseCompressedOops.
if (val && val->is_Mach()) {
if (val->as_Mach()->ideal_Opcode() == Op_DecodeN) {
// This assumes all Decodes with TypePtr::NotNull are matched to nodes that

7
java/icedtea7-newerror.txt

@ -1,7 +0,0 @@
----------
1. ERROR in /root/java/build/icedtea-2.6.19/openjdk-boot/jdk/src/share/classes/sun/security/util/Optional.java (at line 196)
return Optional.ofNullable(mapper.apply(value));
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Type mismatch: cannot convert from Optional<capture#5-of ? extends U> to Optional<U>
----------
1 problem (1 error)gmake[6]: *** [/root/java/build/icedtea-2.6.19/openjdk-boot/jdk/make/common/Rules.gmk:254: .compile.classlist] Error 255

3
java/strip.sh

@ -0,0 +1,3 @@
#!/bin/sh
set -eu
find "$1" -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs -L1 -t strip --strip-unneeded
Loading…
Cancel
Save