diff options
-rw-r--r-- | main/openjdk7/APKBUILD | 290 | ||||
-rw-r--r-- | main/openjdk7/fix-paxctl-args.patch | 15 | ||||
-rw-r--r-- | main/openjdk7/icedtea-hotspot-musl.patch | 55 | ||||
-rw-r--r-- | main/openjdk7/icedtea-hotspot-noagent-musl.patch | 54 | ||||
-rw-r--r-- | main/openjdk7/icedtea-hotspot-uclibc-fixes.patch | 93 | ||||
-rw-r--r-- | main/openjdk7/icedtea-jdk-execinfo.patch | 40 | ||||
-rw-r--r-- | main/openjdk7/icedtea-jdk-fix-build.patch | 56 | ||||
-rw-r--r-- | main/openjdk7/icedtea-jdk-fix-ipv6-init.patch | 42 | ||||
-rw-r--r-- | main/openjdk7/icedtea-jdk-iconv-uclibc.patch | 39 | ||||
-rw-r--r-- | main/openjdk7/icedtea-jdk-musl.patch | 105 | ||||
-rw-r--r-- | main/openjdk7/icedtea-jdk-no-lib-nsl-uclibc.patch | 84 | ||||
-rw-r--r-- | main/openjdk7/icedtea-jdk-no-soname.patch | 12 |
12 files changed, 885 insertions, 0 deletions
diff --git a/main/openjdk7/APKBUILD b/main/openjdk7/APKBUILD new file mode 100644 index 0000000000..895cb0c961 --- /dev/null +++ b/main/openjdk7/APKBUILD @@ -0,0 +1,290 @@ +# Contributor: Timo Teras <timo.teras@iki.fi> +# Maintainer: Timo Teras <timo.teras@iki.fi> +pkgname=openjdk7 +_icedteaver=2.4.5 +_openjdkupdate=51 +pkgver=7.$_openjdkupdate.$_icedteaver +pkgrel=0 +pkgdesc="Sun OpenJDK 7 via IcedTea" +url="http://icedtea.classpath.org/" +arch="x86 x86_64" +license="GPL-2 with Classpath" +depends="$pkgname-jre" +options="sover-namecheck" +makedepends="findutils tar zip paxctl gawk pkgconfig util-linux + autoconf automake nss-dev cups-dev jpeg-dev giflib-dev libpng-dev libxt-dev + lcms2-dev libxp-dev libxtst-dev libxinerama-dev libiconv-dev zlib-dev + libxrender-dev alsa-lib-dev freetype-dev xulrunner-dev fontconfig-dev + gtk+2.0-dev krb5-dev attr-dev ca-certificates libxslt zip" +install="" + +# upstream binary versions +RHINO_VER=1_7R3 +ANT_VER=1.9.2 +# hashes from $_builddir/Makefile.am +_CORBA_CHANGESET=3594dbde270d +_JAXP_CHANGESET=8fe156ad49e2 +_JAXWS_CHANGESET=32ea8b1ed91a +_JDK_CHANGESET=9db88c18e114 +_LANGTOOLS_CHANGESET=dabd37b7e295 +_OPENJDK_CHANGESET=410eb7fef869 +# hash from $_builddir/hotspot.map +_HOTSPOT_CHANGESET=2cb58882dac3 + +case $CARCH in +x86) _jarch=i386;; +x86_64) _jarch=amd64;; +arm*) _jarch=arm;; +esac + +INSTALL_BASE=/usr/lib/jvm/java-1.7-openjdk +_jrelib="$INSTALL_BASE/jre/lib/$_jarch" + +# exclude xawt from ldpath to avoid duplicate provides for libmawt.so +# (also in headless). in future this should be a virtual provides. +ldpath="$_jrelib:$_jrelib/native_threads:$_jrelib/headless:$_jrelib/server:$_jrelib/jli" +somask="libjvm.so" + +subpackages="$pkgname-jre-lib:jrelib $pkgname-jre $pkgname-jre-base:jrebase + $pkgname-doc:doc" + +if [ "$BOOTSTRAP" != "no" ]; then + makedepends="$makedepends java-gcj-compat" + BOOTSTRAP_JAVA_HOME=/usr/lib/jvm/java-1.5-gcj/ +else + makedepends="$makedepends $pkgname" + BOOTSTRAP_JAVA_HOME="$INSTALL_BASE" +fi + +_hgurl=http://icedtea.classpath.org/hg/release/icedtea7-forest-${_icedteaver:0:3} + +source="http://icedtea.classpath.org/download/source/icedtea-$_icedteaver.tar.gz + openjdk-${_OPENJDK_CHANGESET}.tar.gz::$_hgurl/archive/${_OPENJDK_CHANGESET}.tar.gz + corba-${_CORBA_CHANGESET}.tar.gz::$_hgurl/corba/archive/${_CORBA_CHANGESET}.tar.gz + jaxp-${_JAXP_CHANGESET}.tar.gz::$_hgurl/jaxp/archive/${_JAXP_CHANGESET}.tar.gz + jaxws-${_JAXWS_CHANGESET}.tar.gz::$_hgurl/jaxws/archive/${_JAXWS_CHANGESET}.tar.gz + jdk-${_JDK_CHANGESET}.tar.gz::$_hgurl/jdk/archive/${_JDK_CHANGESET}.tar.gz + langools-${_LANGTOOLS_CHANGESET}.tar.gz::$_hgurl/langtools/archive/${_LANGTOOLS_CHANGESET}.tar.gz + hotspot-${_HOTSPOT_CHANGESET}.tar.gz::$_hgurl/hotspot/archive/${_HOTSPOT_CHANGESET}.tar.gz + http://archive.apache.org/dist/ant/binaries/apache-ant-$ANT_VER-bin.tar.gz + ftp://ftp.mozilla.org/pub/mozilla.org/js/rhino$RHINO_VER.zip + + fix-paxctl-args.patch + icedtea-hotspot-musl.patch + icedtea-hotspot-noagent-musl.patch + icedtea-hotspot-uclibc-fixes.patch + icedtea-jdk-fix-build.patch + icedtea-jdk-execinfo.patch + icedtea-jdk-fix-ipv6-init.patch + icedtea-jdk-iconv-uclibc.patch + icedtea-jdk-musl.patch + icedtea-jdk-no-soname.patch + " + +# icedtea6-1.9.7-generate_cacerts-1.patch +# icedtea-jdk-no-lib-nsl-uclibc.patch + +_builddir="$srcdir/icedtea-$_icedteaver" + +unpack() { + if [ -z "$force" ]; then + verify || return 1 + initdcheck || return 1 + fi + mkdir -p "$srcdir" + msg "Unpacking sources..." + tar -C "$srcdir" -zxf icedtea-$_icedteaver.tar.gz || return 1 + tar -C "$srcdir" -zxf apache-ant-$ANT_VER-bin.tar.gz || return 1 + unzip -o -q "rhino$RHINO_VER.zip" -d "$srcdir" || return 1 +} + +prepare() { + cd "$_builddir" + + # Busybox sha256 does not support longopts + sed -e "s/--check/-c/g" -i Makefile.am + + for patch in $source; do + case $patch in + icedtea-*.patch) + cp ../$patch patches + ;; + *.patch) + msg "Applying patch $patch" + patch -p1 -i "$srcdir"/$patch || return 1 + ;; + esac + done + + ./autogen.sh +} + +build() { + [ -z "$JOBS" ] && export JOBS=`echo $MAKEFLAGS | sed -n -e 's/.*-j\([0-9]\+\).*/\1/p'` + export ALT_PARALLEL_COMPILE_JOBS="${JOBS:-2}" + export HOTSPOT_BUILD_JOBS="${JOBS:-2}" + + export JAVA_HOME=$BOOTSTRAP_JAVA_HOME + export PATH=$JAVA_HOME/bin:$srcdir/apache-ant-$ANT_VER/bin:$PATH + export DISTRIBUTION_PATCHES="" + + local patch + for patch in $source; do + case $patch in + icedtea-*.patch) + export DISTRIBUTION_PATCHES="$DISTRIBUTION_PATCHES patches/$patch" + ;; + esac + done + echo "icedtea patches: $DISTRIBUTION_PATCHES" + + cd "$_builddir" + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + --with-parallel-jobs=${JOBS:-2} \ + --disable-dependency-tracking \ + --disable-downloading \ + --with-rhino=$srcdir/rhino$RHINO_VER/js.jar \ + --with-openjdk-src-zip=$srcdir/openjdk-${_OPENJDK_CHANGESET}.tar.gz \ + --with-hotspot-src-zip=$srcdir/hotspot-${_HOTSPOT_CHANGESET}.tar.gz \ + --with-corba-src-zip=$srcdir/corba-${_CORBA_CHANGESET}.tar.gz \ + --with-jaxp-src-zip=$srcdir/jaxp-${_JAXP_CHANGESET}.tar.gz \ + --with-jaxws-src-zip=$srcdir/jaxws-${_JAXWS_CHANGESET}.tar.gz \ + --with-jdk-src-zip=$srcdir/jdk-${_JDK_CHANGESET}.tar.gz \ + --with-langtools-src-zip=$srcdir/langools-${_LANGTOOLS_CHANGESET}.tar.gz \ + --with-pax=paxctl \ + --with-jdk-home=$BOOTSTRAP_JAVA_HOME \ + --with-abs-install-dir=$INSTALL_BASE \ + --with-pkgversion="Alpine ${pkgver}-r${pkgrel}" \ + || return 1 + + make || return 1 +} + +package() { + mkdir -p "$pkgdir"/$INSTALL_BASE + cp -a "$_builddir"/openjdk.build/j2sdk-image/* "$pkgdir"/$INSTALL_BASE + rm "$pkgdir"/$INSTALL_BASE/src.zip +} + +jrelib() { + pkgdesc="OpenJDK 7 Java Runtime (class libraries)" + arch="noarch" + depends="" + + for A in jre/lib/zi jre/lib/images jre/lib/*.jar jre/lib/security \ + jre/lib/ext/*.jar jre/lib/cmm jre/ASSEMBLY_EXCEPTION \ + jre/THIRD_PARTY_README jre/LICENSE ; do + dirname=${A%/*} + mkdir -p "$subpkgdir"/$INSTALL_BASE/$dirname + mv "$pkgdir"/$INSTALL_BASE/$A "$subpkgdir"/$INSTALL_BASE/$dirname + done +} + +jrebase() { + pkgdesc="OpenJDK 7 Java Runtime (no GUI support)" + depends="$pkgname-jre-lib java-common" + # manually provide this to avoid clash with libgcj's libjvm.so + provides="so:openjdk7:libjvm.so=0" + + mkdir -p "$subpkgdir"/$INSTALL_BASE/bin + + for A in java orbd rmid servertool unpack200 keytool \ + pack200 rmiregistry tnameserv ; do + mv "$pkgdir"/$INSTALL_BASE/bin/$A "$subpkgdir"/$INSTALL_BASE/bin + done + + # rest of the jre subdir (which were not taken by -jre subpkg) + mv "$pkgdir"/$INSTALL_BASE/jre "$subpkgdir"/$INSTALL_BASE +} + +jre() { + pkgdesc="OpenJDK 7 Java Runtime" + # manually depend to avoid clash with libgcj's libjvm.so + depends="so:openjdk7:libjvm.so=0" + + mkdir -p "$subpkgdir" + for A in jre/bin/policytool \ + bin/appletviewer \ + bin/policytool \ + jre/lib/$_jarch/xawt \ + jre/lib/$_jarch/libsplashscreen.so ; do + dirname=${A%/*} + mkdir -p "$subpkgdir"/$INSTALL_BASE/$dirname + mv "$pkgdir"/$INSTALL_BASE/$A "$subpkgdir"/$INSTALL_BASE/$dirname + done +} + +doc() { + default_doc + + mkdir -p "$subpkgdir"/$INSTALL_BASE/ + mv "$pkgdir"/$INSTALL_BASE/man "$subpkgdir"/$INSTALL_BASE/ +} + +md5sums="6dcc544657ade213d01017354a6f9858 icedtea-2.4.5.tar.gz +09b9db8ca0b833070326573c3dac56e2 openjdk-410eb7fef869.tar.gz +adf888756629bdcb37f71451269ac42e corba-3594dbde270d.tar.gz +1c42344779d49baed24724535a7e2c9b jaxp-8fe156ad49e2.tar.gz +256148d7e7f5619addde91fd14bc3361 jaxws-32ea8b1ed91a.tar.gz +3370074398071b4104e0e89efc9a4a56 jdk-9db88c18e114.tar.gz +7605555236ffd8ac6bdedc6bc9b61c26 langools-dabd37b7e295.tar.gz +67bb16313215e6da72bda7dc0090bb6a hotspot-2cb58882dac3.tar.gz +9a2826a1819aa128629778217af36c55 apache-ant-1.9.2-bin.tar.gz +99d94103662a8d0b571e247a77432ac5 rhino1_7R3.zip +8139e04d07c765d6255a373985b45eb7 fix-paxctl-args.patch +f87dd2c4c3c97fc3ac33080a65ca9e14 icedtea-hotspot-musl.patch +573e12eeae80a34541f00d5be75d6c0f icedtea-hotspot-noagent-musl.patch +43023861c5f6efc3139a834aa3ec0476 icedtea-hotspot-uclibc-fixes.patch +07c7ab583808e8c8ceb46aff9c265aa4 icedtea-jdk-fix-build.patch +bd623081d5d2e63694c3649975b12412 icedtea-jdk-execinfo.patch +250b0807b59762670954b132e8f8dfba icedtea-jdk-fix-ipv6-init.patch +7c0814181e5adc0763c5c0a24b01d4cb icedtea-jdk-iconv-uclibc.patch +5b1b624b7127434c0c6329d733c917c9 icedtea-jdk-musl.patch +d014431e70cdabb82a75e4b9ae4c28a9 icedtea-jdk-no-soname.patch" +sha256sums="10c08eeffaa0602b23cb957a2595a2ad3ab474cbe47b12743bbdd79037d5883d icedtea-2.4.5.tar.gz +2de151c7275d91ef082e63fcc0957c5f9290404ec6e20ecfa1e752e16bfab707 openjdk-410eb7fef869.tar.gz +d1f97e143fe94ae3a56b45bb5a90f8ab10ec2be4ff770a788f0a1ac677e27a7d corba-3594dbde270d.tar.gz +0a2a40186cedfbeb8f87b0bc86bea2830943943081d4289fc74f7a783b2e1af3 jaxp-8fe156ad49e2.tar.gz +08a169b6b02883759ec7a412aa91aa3e37480761cb50b95d092dbcdb2fc9a3d0 jaxws-32ea8b1ed91a.tar.gz +285e5b8ccbb29f3f9f9ea9ea7856d1ed97465c57d091fbcd9b2e55a1ffbb543e jdk-9db88c18e114.tar.gz +86cb370ce2084c4b699d8c002ebe6c026e86206ffa82a2f3d7906aadb94ed79f langools-dabd37b7e295.tar.gz +d8c1681ae76e660c1888065933cedbbc1309869c7a2fb98f07c424716d5ebaf9 hotspot-2cb58882dac3.tar.gz +cab1b8754e5f1f2aa869e2ba603903ae5e81a585de4eafd00f173531a11b5a45 apache-ant-1.9.2-bin.tar.gz +885b46e24fe5af23ad3712c5e08e8d97d6d92a4b89e1be860e8fe88e4a3dacd1 rhino1_7R3.zip +3d9b9647931b96c6eac2ac23f94f3a6e072ee500613a45ee08ab88c259e24fe0 fix-paxctl-args.patch +a7922430cb767c8a4baae232c8b2e5f377aeb7cfde0c9901cd7774f078e7f92e icedtea-hotspot-musl.patch +fb33409f6700f4ab69ca35f0684a5138f2afe0726ba5de7f9eaf16a18a25a77c icedtea-hotspot-noagent-musl.patch +0ef7592b8f2c954eda0a6cf4dc4a4010942f35ea426f44e34412be6c9a949745 icedtea-hotspot-uclibc-fixes.patch +33b18e827a13cc46be11a4491deefac171c8c2c4fbdd3e0cb4a5fdafa560f958 icedtea-jdk-fix-build.patch +6cebef19d8eec5a4623a96c37ae71b79d124a10478c1db33ad5fc71bc04b30e9 icedtea-jdk-execinfo.patch +632683ec88a6fb250ef043aae9cace605d0c669b7058f8c47b62b09b03ecc6c5 icedtea-jdk-fix-ipv6-init.patch +a36ff13d81a1f1415bedd595b77f2c43574c546938cce7882cb33bbe63464865 icedtea-jdk-iconv-uclibc.patch +6a9f2e7e5f12db53feecaf5bb0afa977e45439722c040842db023c12209c0df2 icedtea-jdk-musl.patch +6c0bbe710395c4ced1359ab279be6a7c36da5bfb9fd60dc47d920f06a0456d82 icedtea-jdk-no-soname.patch" +sha512sums="66d34c858fb477a105c163de4b9d7ecaa086bb2a8f5a45e0e721db8e1b49ce670dd56b36b5dd9db7df80438e03ea9aafb41ebadb911e9de2179c8b4be1713d61 icedtea-2.4.5.tar.gz +135a87d7831d5803b495d8908cab13d9f87134a3eb696684b27aea7fc1ef35677594d4037b44f19b317300555d42c05a569a3a3928458e9787f34cbcf8fce300 openjdk-410eb7fef869.tar.gz +06bfd82b188dbfeb2f05bc4fdc8585a9ce66762f835052a8bfe5f4ebc2d4eb90c966bd6766825b9d68b7425a2d7af27311da1f3c7c37ce4a36e81b85745cb447 corba-3594dbde270d.tar.gz +5bc6e75482976e014e191a4952b6598a979fb440643916f5de741be8662e6dcdb224ac7dcca848cb80f2181e9d175d7cfa6cc678c1472ec5bec1adf249324815 jaxp-8fe156ad49e2.tar.gz +4eaf5af04e65033ad65b04e5d6dd4c91c007d314230990856abb9a551b54c03dc7c26cb8e2da070558b6d2ff5a1c6d5af53dbc966eda352d873771629aca51a6 jaxws-32ea8b1ed91a.tar.gz +3aeacd02af8263b1168c238045973d57e33aea94a13e95527911f993ffd941423d0db667cd5dd786509c7625ceafdc021cb410573744a93b876a8717d47cfc50 jdk-9db88c18e114.tar.gz +f6b650431f20758b0f17bc2760e1426e622def620fff80874146e865e2d87d2ce265926c20282489a245df575a87618265dd83a3eb3d8443938f175a89f2c302 langools-dabd37b7e295.tar.gz +c27c90ab523a0cd438d4850e8762e7047478332fbbee0cf61b07214dafff5db9d6d41c95cc165993458c83ffd91458f1b2f0ff7578f34bfe74a1ff912a587127 hotspot-2cb58882dac3.tar.gz +618c0c3d80f7c44c2bb8cdfdc2b5278ccd926ab1aa0c8f7099bd0ad5cb4c090f023c0b86c8267052a0a6b1ac57076296fcc16042b9e7a72a1482af63c99e0e49 apache-ant-1.9.2-bin.tar.gz +77964485481e22d20459ea094c773e1930c5ef22d69bc449375a1ead31f340b3a652e2dd85c645e210be1abc8e623aeb560a5dc81629f388322af270ce868d36 rhino1_7R3.zip +25b4414f522251529b9f8d69dccac7323abe12bb526d5ad02abf7e9f82b9b49383d6a24f4c1a07c86a0f6b9a44f740c4f7cc58ebdfb44f99915eb965bd1ab5f1 fix-paxctl-args.patch +994e8a79a0a23f26d633bf2ce9dad62198c699892f6e7729cc6e509481330399bb2ba736514b516fd2b3dd125fd6c74a127ae7f16d643c3f6a69776737cdb933 icedtea-hotspot-musl.patch +22eb55b0910d51ff2f3f2ad2d7951d2c1d60ea07e0e9561e1110cc57d75a42cc7629ebdaf70722f3f3b76eb2d977b614249b3383118f7b295648bdfda97c9d95 icedtea-hotspot-noagent-musl.patch +822eee0dc4d3ba677a289dfeb3668b536d2d626708390a9d9702fb4144a481fd443a215a0d2041c6026113837aafa4ba0b5e9ead8589d2da6717a238bbc95a5a icedtea-hotspot-uclibc-fixes.patch +213a537de5f011cb39d608515c3413513ac75fb93593f9a9ef4205f71d72bdd8b097c80db185f7b26021d5bb85045b866f34f3478482dc4189972d8614a13458 icedtea-jdk-fix-build.patch +0391970e6a32946aa3cccf38fdef9c0fe2af26cd0df824b98aa2fcfa1bf661d4a68e339bffcfd16f386c565fc68bb28a29208a67d4bad8a0e847ad02bd8becbb icedtea-jdk-execinfo.patch +48533f87fc2cf29d26b259be0df51087d2fe5b252e72d00c6ea2f4add7b0fb113141718c116279c5905e03f64a1118082e719393786811367cf4d472b5d36774 icedtea-jdk-fix-ipv6-init.patch +a6ee1c63a171859ab1350481bc3e5d464354f1105d80fc72c1d58620672ca5c1a550b954b35917f89537f0aeb28c49470b27522ce53588e42dedff41e074774c icedtea-jdk-iconv-uclibc.patch +2da5596c01317cb6ce0183df0a0d7c1f6ab7b05b8060c5808300e24482ff2772206cbfc733d7b0cd66460f24d9b08b9109afdafcb293c12e98b79d307afd1b51 icedtea-jdk-musl.patch +bf4b184e170f7b0ff64ab30d2162784fe2bd5460d1fa31973259f7065fd4c511c46f97724fe2bd72bb94e9006cb568d0e0c87d1a9c90819e65880f8f44830bb1 icedtea-jdk-no-soname.patch" diff --git a/main/openjdk7/fix-paxctl-args.patch b/main/openjdk7/fix-paxctl-args.patch new file mode 100644 index 0000000000..3e8d227725 --- /dev/null +++ b/main/openjdk7/fix-paxctl-args.patch @@ -0,0 +1,15 @@ +--- icedtea-2.4.5/acinclude.m4.orig ++++ icedtea-2.4.5/acinclude.m4 +@@ -2324,10 +2324,10 @@ + xpaxctl) + case "${host_cpu}" in + i?86) +- PAX_COMMAND_ARGS="-msp" ++ PAX_COMMAND_ARGS="-c -msp" + ;; + *) +- PAX_COMMAND_ARGS="-m" ++ PAX_COMMAND_ARGS="-c -m" + ;; + esac + ;; diff --git a/main/openjdk7/icedtea-hotspot-musl.patch b/main/openjdk7/icedtea-hotspot-musl.patch new file mode 100644 index 0000000000..41072defe2 --- /dev/null +++ b/main/openjdk7/icedtea-hotspot-musl.patch @@ -0,0 +1,55 @@ +--- openjdk.orig/hotspot/src/os/linux/vm/jvm_linux.cpp ++++ openjdk/hotspot/src/os/linux/vm/jvm_linux.cpp +@@ -154,7 +154,9 @@ + #ifdef SIGSTKFLT + "STKFLT", SIGSTKFLT, /* Stack fault. */ + #endif ++#ifdef SIGCLD + "CLD", SIGCLD, /* Same as SIGCHLD (System V). */ ++#endif + "CHLD", SIGCHLD, /* Child status has changed (POSIX). */ + "CONT", SIGCONT, /* Continue (POSIX). */ + "STOP", SIGSTOP, /* Stop, unblockable (POSIX). */ +--- openjdk.orig/hotspot/src/os/linux/vm/os_linux.inline.hpp ++++ openjdk/hotspot/src/os/linux/vm/os_linux.inline.hpp +@@ -52,7 +52,7 @@ + + #include <unistd.h> + #include <sys/socket.h> +-#include <sys/poll.h> ++#include <poll.h> + #include <netdb.h> + + inline void* os::thread_local_storage_at(int index) { +--- openjdk.orig/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp ++++ openjdk/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp +@@ -73,7 +73,6 @@ + # include <pwd.h> + # include <poll.h> + # include <ucontext.h> +-# include <fpu_control.h> + + #ifdef AMD64 + #define REG_SP REG_RSP +@@ -532,6 +531,9 @@ + + ShouldNotReachHere(); + } ++ ++#define _FPU_GETCW(cw) __asm__ __volatile__ ("fnstcw %0" : "=m" (*&cw)) ++#define _FPU_SETCW(cw) __asm__ __volatile__ ("fldcw %0" : : "m" (*&cw)) + + void os::Linux::init_thread_fpu_state(void) { + #ifndef AMD64 +--- openjdk.orig/hotspot/src/os_cpu/linux_x86/vm/threadLS_linux_x86.hpp ++++ openjdk/hotspot/src/os_cpu/linux_x86/vm/threadLS_linux_x86.hpp +@@ -32,7 +32,9 @@ + // map stack pointer to thread pointer - see notes in threadLS_linux_x86.cpp + #define SP_BITLENGTH 32 + #define PAGE_SHIFT 12 ++ #ifndef PAGE_SIZE + #define PAGE_SIZE (1UL << PAGE_SHIFT) ++ #endif + static Thread* _sp_map[1UL << (SP_BITLENGTH - PAGE_SHIFT)]; + + public: diff --git a/main/openjdk7/icedtea-hotspot-noagent-musl.patch b/main/openjdk7/icedtea-hotspot-noagent-musl.patch new file mode 100644 index 0000000000..176b993118 --- /dev/null +++ b/main/openjdk7/icedtea-hotspot-noagent-musl.patch @@ -0,0 +1,54 @@ +--- openjdk.orig/hotspot/make/linux/makefiles/defs.make ++++ openjdk/hotspot/make/linux/makefiles/defs.make +@@ -285,6 +285,9 @@ + + # Serviceability Binaries + # No SA Support for PPC, IA64, ARM or zero ++# or if thread_db.h missing (musl) ++ ++ifneq ($(wildcard /usr/include/thread_db.h),) + ADD_SA_BINARIES/x86 = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \ + $(EXPORT_LIB_DIR)/sa-jdi.jar + ADD_SA_BINARIES/sparc = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \ +@@ -301,6 +304,10 @@ + endif + endif + endif ++endif ++else ++ADD_SA_BINARIES/x86 = ++ADD_SA_BINARIES/sparc = + endif + ADD_SA_BINARIES/ppc = + ADD_SA_BINARIES/ia64 = +--- openjdk.orig/hotspot/make/linux/makefiles/sa.make ++++ openjdk/hotspot/make/linux/makefiles/sa.make +@@ -59,9 +59,11 @@ + + # if $(AGENT_DIR) does not exist, we don't build SA + # also, we don't build SA on Itanium or zero. ++# check for thread_db.h too (musl does not have it). + + all: +- if [ -d $(AGENT_DIR) -a "$(SRCARCH)" != "ia64" \ ++ if [ -d $(AGENT_DIR) -a -f /usr/include/thread_db.h \ ++ -a "$(SRCARCH)" != "ia64" \ + -a "$(SRCARCH)" != "zero" ] ; then \ + $(MAKE) -f sa.make $(GENERATED)/sa-jdi.jar; \ + fi +--- openjdk.orig/hotspot/make/linux/makefiles/saproc.make ++++ openjdk/hotspot/make/linux/makefiles/saproc.make +@@ -65,10 +65,13 @@ + + # if $(AGENT_DIR) does not exist, we don't build SA + # also, we don't build SA on Itanium or zero. ++# check for thread_db.h too (musl does not have it). + ++ifneq ($(wildcard /usr/include/thread_db.h),) + ifneq ($(wildcard $(AGENT_DIR)),) + ifneq ($(filter-out ia64 zero,$(SRCARCH)),) + BUILDLIBSAPROC = $(LIBSAPROC) ++endif + endif + endif + diff --git a/main/openjdk7/icedtea-hotspot-uclibc-fixes.patch b/main/openjdk7/icedtea-hotspot-uclibc-fixes.patch new file mode 100644 index 0000000000..1c1d822760 --- /dev/null +++ b/main/openjdk7/icedtea-hotspot-uclibc-fixes.patch @@ -0,0 +1,93 @@ +--- openjdk.orig/hotspot/src/os/linux/vm/os_linux.cpp ++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp +@@ -112,7 +112,6 @@ + # include <string.h> + # include <syscall.h> + # include <sys/sysinfo.h> +-# include <gnu/libc-version.h> + # include <sys/ipc.h> + # include <sys/shm.h> + # include <link.h> +@@ -632,6 +631,13 @@ + // detecting pthread library + + void os::Linux::libpthread_init() { ++#if 1 ++ // Hard code Alpine Linux supported uclibc/musl compatible settings ++ os::Linux::set_glibc_version("glibc 2.9"); ++ os::Linux::set_libpthread_version("NPTL"); ++ os::Linux::set_is_NPTL(); ++ os::Linux::set_is_floating_stack(); ++#else + // Save glibc and pthread version strings. Note that _CS_GNU_LIBC_VERSION + // and _CS_GNU_LIBPTHREAD_VERSION are supported in glibc >= 2.3.2. Use a + // generic name for earlier versions. +@@ -690,6 +696,7 @@ + if (os::Linux::is_NPTL() || os::Linux::supports_variable_stack_size()) { + os::Linux::set_is_floating_stack(); + } ++#endif + } + + ///////////////////////////////////////////////////////////////////////////// +@@ -2951,11 +2958,7 @@ + // If we are running with earlier version, which did not have symbol versions, + // we should use the base version. + void* os::Linux::libnuma_dlsym(void* handle, const char *name) { +- void *f = dlvsym(handle, name, "libnuma_1.1"); +- if (f == NULL) { +- f = dlsym(handle, name); +- } +- return f; ++ return dlsym(handle, name); + } + + bool os::Linux::libnuma_init() { +@@ -5312,7 +5315,25 @@ + // Linux doesn't yet have a (official) notion of processor sets, + // so just return the system wide load average. + int os::loadavg(double loadavg[], int nelem) { ++#ifdef __UCLIBC__ ++ FILE *LOADAVG; ++ double avg[3] = { 0.0, 0.0, 0.0 }; ++ int i, res = -1;; ++ ++ if ((LOADAVG = fopen("/proc/loadavg", "r"))) { ++ fscanf(LOADAVG, "%lf %lf %lf", &avg[0], &avg[1], &avg[2]); ++ res = 0; ++ fclose(LOADAVG); ++ } ++ ++ for (i = 0; (i < nelem) && (i < 3); i++) { ++ loadavg[i] = avg[i]; ++ } ++ ++ return res; ++#else + return ::getloadavg(loadavg, nelem); ++#endif + } + + void os::pause() { +--- openjdk.orig/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp ++++ openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp +@@ -253,7 +253,7 @@ + #elif defined(__APPLE__) + inline int g_isnan(double f) { return isnan(f); } + #elif defined(LINUX) || defined(_ALLBSD_SOURCE) +-inline int g_isnan(float f) { return isnanf(f); } ++inline int g_isnan(float f) { return isnan(f); } + inline int g_isnan(double f) { return isnan(f); } + #else + #error "missing platform-specific definition here" +@@ -267,8 +267,8 @@ + + // Checking for finiteness + +-inline int g_isfinite(jfloat f) { return finite(f); } +-inline int g_isfinite(jdouble f) { return finite(f); } ++inline int g_isfinite(jfloat f) { return isfinite(f); } ++inline int g_isfinite(jdouble f) { return isfinite(f); } + + + // Wide characters diff --git a/main/openjdk7/icedtea-jdk-execinfo.patch b/main/openjdk7/icedtea-jdk-execinfo.patch new file mode 100644 index 0000000000..a6499dcb03 --- /dev/null +++ b/main/openjdk7/icedtea-jdk-execinfo.patch @@ -0,0 +1,40 @@ +--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_xembed_server.c ++++ openjdk/jdk/src/solaris/native/sun/awt/awt_xembed_server.c +@@ -35,7 +35,7 @@ + #include <X11/Xlib.h> + #include <X11/Xatom.h> + #include <Xm/MwmUtil.h> +-#ifdef __linux__ ++#if defined(__linux__) && defined(__GLIBC__) && ! defined(__UCLIBC__) + #include <execinfo.h> + #endif + #include <stdio.h> +@@ -835,7 +835,7 @@ + AWT_UNLOCK(); + } + +-#ifdef __linux__ ++#if defined(__linux__) && defined(__GLIBC__) && ! defined(__UCLIBC__) + void + print_stack (void) + { +--- openjdk.orig/jdk/src/solaris/native/sun/xawt/XToolkit.c ++++ openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c +@@ -27,7 +27,7 @@ + #include <X11/Xutil.h> + #include <X11/Xos.h> + #include <X11/Xatom.h> +-#ifdef __linux__ ++#if defined(__linux__) && defined(__GLIBC__) && ! defined(__UCLIBC__) + #include <execinfo.h> + #endif + +@@ -689,7 +689,7 @@ + return ret; + } + +-#ifdef __linux__ ++#if defined(__linux__) && defined(__GLIBC__) && ! defined(__UCLIBC__) + void print_stack(void) + { + void *array[10]; diff --git a/main/openjdk7/icedtea-jdk-fix-build.patch b/main/openjdk7/icedtea-jdk-fix-build.patch new file mode 100644 index 0000000000..9fae895b66 --- /dev/null +++ b/main/openjdk7/icedtea-jdk-fix-build.patch @@ -0,0 +1,56 @@ +Fixes three issues: + - so's should not be linked to -ljvm as dlopen(/abs/name) is + used by the launcher to load libjvm.so; it is thus not available + (musl/uclibc) ld.so to satisfy NEEDED dependency inserted by + -ljvm. Fix to not link against -ljvm, and disable -z defs so + undefined symbols are allowed in sos + - the previous makes ldd generate errors on unresolved symbols (musl) + remove it altogether as it's used for informative purposes only + (display things - not check anything useful) + - Don't delete the generated directory $(GENCSEXT), this can + confuse make in highly parallel builds with: + make[6]: *** INTERNAL: readdir: No such file or directory. Stop. + make[6]: Leaving directory '.../openjdk-boot/jdk/make/sun/nio/cs' + +--- openjdk.orig/jdk/make/common/Defs-linux.gmk ++++ openjdk/jdk/make/common/Defs-linux.gmk +@@ -350,7 +350,7 @@ + + EXTRA_LIBS += -lc + +-LDFLAGS_DEFS_OPTION = -Xlinker -z -Xlinker defs ++LDFLAGS_DEFS_OPTION = + LDFLAGS_COMMON += $(LDFLAGS_DEFS_OPTION) + + # +@@ -407,7 +407,7 @@ + # the library itself should not. + # + VM_NAME = server +-JVMLIB = -L$(LIBDIR)/$(LIBARCH)/$(VM_NAME) -ljvm ++JVMLIB = + JAVALIB = -ljava $(JVMLIB) + + # +--- openjdk.orig/jdk/make/sun/nio/cs/Makefile ++++ openjdk/jdk/make/sun/nio/cs/Makefile +@@ -107,7 +107,7 @@ + $(GENCSDATASRC)/DoubleByte-X.java.template \ + $(GENCSDATASRC)/extsbcs $(GENCSDATASRC)/dbcs + @$(prep-target) +- $(RM) -r $(GENCSEXT) ++ $(RM) -f "$(GENCSEXT)"/* + $(MKDIR) -p $(GENCSEXT) + $(BOOT_JAVA_CMD) -jar $(CHARSETMAPPING_JARFILE) $(GENCSDATASRC) $(GENCSEXT) extsbcs + $(BOOT_JAVA_CMD) -jar $(CHARSETMAPPING_JARFILE) $(GENCSDATASRC) $(GENCSEXT) euctw \ +--- openjdk.orig/jdk/make/common/shared/Defs-linux.gmk ++++ openjdk/jdk/make/common/shared/Defs-linux.gmk +@@ -207,8 +207,6 @@ + if [ "`$(NM) -D -g --defined-only $1 | $(EGREP) 'SUNWprivate'`" = "" ] ; then \ + $(ECHO) "$(MAPFILE_WARNING): File was not built with a mapfile: $1"; \ + fi && \ +- $(ECHO) "Library loads for: $1" && \ +- $(LDD) $1 && \ + $(ECHO) "RUNPATH for: $1" && \ + ( $(READELF) -d $1 | $(EGREP) 'NEEDED|RUNPATH|RPATH' ) \ + ) diff --git a/main/openjdk7/icedtea-jdk-fix-ipv6-init.patch b/main/openjdk7/icedtea-jdk-fix-ipv6-init.patch new file mode 100644 index 0000000000..11f3bf6dd6 --- /dev/null +++ b/main/openjdk7/icedtea-jdk-fix-ipv6-init.patch @@ -0,0 +1,42 @@ +--- openjdk/jdk/src/solaris/native/java/net/net_util_md.c.orig ++++ openjdk/jdk/src/solaris/native/java/net/net_util_md.c +@@ -561,7 +561,7 @@ + + static struct localinterface *localifs = 0; + static int localifsSize = 0; /* size of array */ +-static int nifs = 0; /* number of entries used in array */ ++static int nifs = -1; /* number of entries used in array */ + + /* not thread safe: make sure called once from one thread */ + +@@ -573,6 +573,10 @@ + int index, x1, x2, x3; + unsigned int u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,ua,ub,uc,ud,ue,uf; + ++ if (nifs >= 0) ++ return ; ++ nifs = 0; ++ + if ((f = fopen("/proc/net/if_inet6", "r")) == NULL) { + return ; + } +@@ -601,7 +605,7 @@ + localifs = (struct localinterface *) realloc ( + localifs, sizeof (struct localinterface)* (localifsSize+5)); + if (localifs == 0) { +- nifs = 0; ++ nifs = -1; + fclose (f); + return; + } +@@ -624,9 +628,7 @@ + static int getLocalScopeID (char *addr) { + struct localinterface *lif; + int i; +- if (localifs == 0) { +- initLocalIfs(); +- } ++ initLocalIfs(); + for (i=0, lif=localifs; i<nifs; i++, lif++) { + if (memcmp (addr, lif->localaddr, 16) == 0) { + return lif->index; diff --git a/main/openjdk7/icedtea-jdk-iconv-uclibc.patch b/main/openjdk7/icedtea-jdk-iconv-uclibc.patch new file mode 100644 index 0000000000..68f858167f --- /dev/null +++ b/main/openjdk7/icedtea-jdk-iconv-uclibc.patch @@ -0,0 +1,39 @@ +Index: openjdk/jdk/make/java/npt/Makefile +=================================================================== +--- openjdk/jdk/make/java/npt/Makefile 2010-06-13 15:11:02.598512448 +0200 ++++ openjdk/jdk/make/java/npt/Makefile 2010-06-13 15:11:28.504759286 +0200 +@@ -65,6 +65,8 @@ + # We don't want to link against -ljava + JAVALIB= + ++LDLIBS += -liconv ++ + # Add -export options to explicitly spell exported symbols + ifeq ($(PLATFORM), windows) + OTHER_LCF += -export:nptInitialize -export:nptTerminate +Index: icedtea6-1.8/openjdk-ecj/jdk/make/java/instrument/Makefile +=================================================================== +--- openjdk/jdk/make/java/instrument/Makefile 2010-06-13 15:12:14.688505195 +0200 ++++ openjdk/jdk/make/java/instrument/Makefile 2010-06-13 15:12:32.641425670 +0200 +@@ -123,6 +123,8 @@ + # We don't want to link against -ljava + JAVALIB= + ++LDLIBS += -liconv ++ + # + # Add to ambient vpath so we pick up the library files + # +Index: openjdk/jdk/make/sun/splashscreen/Makefile +=================================================================== +--- openjdk/jdk/make/sun/splashscreen/Makefile 2010-06-13 15:12:48.951840824 +0200 ++++ openjdk/jdk/make/sun/splashscreen/Makefile 2010-06-13 15:13:01.191422891 +0200 +@@ -55,6 +55,8 @@ + + JAVALIB= + ++LDLIBS += -liconv ++ + # + # C Flags + # diff --git a/main/openjdk7/icedtea-jdk-musl.patch b/main/openjdk7/icedtea-jdk-musl.patch new file mode 100644 index 0000000000..b5456f9ae2 --- /dev/null +++ b/main/openjdk7/icedtea-jdk-musl.patch @@ -0,0 +1,105 @@ +--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp ++++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp +@@ -46,6 +46,8 @@ + + #include "zip.h" + ++#define uchar unsigned char ++ + #ifdef NO_ZLIB + + inline bool jar::deflate_bytes(bytes& head, bytes& tail) { +--- openjdk.orig/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h ++++ openjdk/jdk/src/share/native/com/sun/java/util/jar/pack/zip.h +@@ -23,9 +23,7 @@ + * questions. + */ + +-#define ushort unsigned short +-#define uint unsigned int +-#define uchar unsigned char ++#include <sys/types.h> + + struct unpacker; + +--- openjdk.orig/jdk/src/share/native/sun/awt/medialib/mlib_types.h ++++ openjdk/jdk/src/share/native/sun/awt/medialib/mlib_types.h +@@ -27,6 +27,7 @@ + #ifndef MLIB_TYPES_H + #define MLIB_TYPES_H + ++#include <stddef.h> /* for NULL */ + #include <limits.h> + #if defined(_MSC_VER) + #include <float.h> /* for FLT_MAX and DBL_MAX */ +--- openjdk.orig/jdk/src/solaris/native/java/net/Inet4AddressImpl.c ++++ openjdk/jdk/src/solaris/native/java/net/Inet4AddressImpl.c +@@ -47,7 +47,7 @@ + + #include "java_net_Inet4AddressImpl.h" + +-#if defined(__GLIBC__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 601104)) ++#if defined(__linux__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 601104)) + #define HAS_GLIBC_GETHOSTBY_R 1 + #endif + +--- openjdk.orig/jdk/src/solaris/native/java/net/NetworkInterface.c ++++ openjdk/jdk/src/solaris/native/java/net/NetworkInterface.c +@@ -47,7 +47,6 @@ + + #ifdef __linux__ + #include <sys/ioctl.h> +-#include <bits/ioctls.h> + #include <sys/utsname.h> + #include <stdio.h> + #endif +--- openjdk.orig/jdk/src/solaris/native/java/net/linux_close.c ++++ openjdk/jdk/src/solaris/native/java/net/linux_close.c +@@ -57,7 +57,7 @@ + /* + * Signal to unblock thread + */ +-static int sigWakeup = (__SIGRTMAX - 2); ++static int sigWakeup; + + /* + * The fd table and the number of file descriptors +@@ -96,6 +96,7 @@ + /* + * Setup the signal handler + */ ++ sigWakeup = SIGRTMAX - 2; + sa.sa_handler = sig_wakeup; + sa.sa_flags = 0; + sigemptyset(&sa.sa_mask); +--- openjdk.orig/jdk/src/solaris/native/sun/nio/ch/NativeThread.c ++++ openjdk/jdk/src/solaris/native/sun/nio/ch/NativeThread.c +@@ -38,7 +38,7 @@ + #include <sys/signal.h> + + /* Also defined in src/solaris/native/java/net/linux_close.c */ +-#define INTERRUPT_SIGNAL (__SIGRTMAX - 2) ++#define INTERRUPT_SIGNAL (SIGRTMAX - 2) + + static void + nullHandler(int sig) +--- openjdk.orig/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c ++++ openjdk/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c +@@ -35,7 +35,6 @@ + #endif + #ifdef __linux__ + #include <unistd.h> +-#include <sys/sysctl.h> + #include <sys/utsname.h> + #include <netinet/ip.h> + +--- openjdk.orig/jdk/src/solaris/native/java/net/PlainSocketImpl.c ++++ openjdk/jdk/src/solaris/native/java/net/PlainSocketImpl.c +@@ -43,7 +43,6 @@ + #endif + #ifdef __linux__ + #include <unistd.h> +-#include <sys/sysctl.h> + #endif + + #include "jvm.h" diff --git a/main/openjdk7/icedtea-jdk-no-lib-nsl-uclibc.patch b/main/openjdk7/icedtea-jdk-no-lib-nsl-uclibc.patch new file mode 100644 index 0000000000..26f89bb546 --- /dev/null +++ b/main/openjdk7/icedtea-jdk-no-lib-nsl-uclibc.patch @@ -0,0 +1,84 @@ +--- openjdk.orig/hotspot/agent/src/os/solaris/dbx/Makefile ++++ openjdk/hotspot/agent/src/os/solaris/dbx/Makefile +@@ -50,7 +50,7 @@ + CFLAGS_32bit := -xarch=v8 + CFLAGS_64bit := -xarch=v9 + CFLAGS := -PIC -xO3 $(INCLUDES) +-LIBS := -lsocket -lnsl -lrtld_db ++LIBS := -lsocket -lrtld_db + LDFLAGS := -G + + ifneq "$(ARCH)" "i486" +--- openjdk.orig/jdk/make/java/hpi/hpi_common.gmk ++++ openjdk/jdk/make/java/hpi/hpi_common.gmk +@@ -86,5 +86,5 @@ + # Things that must be linked in. + # + ifneq ($(PLATFORM), windows) +-OTHER_LDLIBS += $(LIBSOCKET) -lnsl $(LIBM) -ldl ++OTHER_LDLIBS += $(LIBSOCKET) $(LIBM) -ldl + endif +--- openjdk.orig/jdk/make/java/java/Makefile ++++ openjdk/jdk/make/java/java/Makefile +@@ -205,7 +205,7 @@ + OTHER_LDLIBS += $(JVMLIB) -libpath:$(OBJDIR)/../../../fdlibm/$(OBJDIRNAME) fdlibm.lib \ + -libpath:$(OBJDIR)/../../../verify/$(OBJDIRNAME) verify.lib + else +-OTHER_LDLIBS += $(JVMLIB) -lverify $(LIBSOCKET) -lnsl -ldl \ ++OTHER_LDLIBS += $(JVMLIB) -lverify $(LIBSOCKET) -ldl \ + -L$(OBJDIR)/../../../fdlibm/$(OBJDIRNAME) -lfdlibm.$(ARCH) + endif + +--- openjdk.orig/jdk/make/java/java_hprof_demo/Makefile ++++ openjdk/jdk/make/java/java_hprof_demo/Makefile +@@ -83,7 +83,7 @@ + ifeq ($(PLATFORM), windows) + OTHER_LDLIBS += wsock32.lib winmm.lib + else +- OTHER_LDLIBS += $(LIBSOCKET) -lnsl -ldl ++ OTHER_LDLIBS += $(LIBSOCKET) -ldl + endif + + # +--- openjdk.orig/jdk/make/java/net/Makefile ++++ openjdk/jdk/make/java/net/Makefile +@@ -97,7 +97,7 @@ + # Will not compile at warning level 3 if warnings are fatal + COMPILER_WARNINGS_FATAL=false + else +- OTHER_LDLIBS = $(LIBSOCKET) -lnsl -ldl $(JVMLIB) ++ OTHER_LDLIBS = $(LIBSOCKET) -ldl $(JVMLIB) + endif + ifeq ($(PLATFORM), linux) + OTHER_LDLIBS += -lpthread +--- openjdk.orig/jdk/make/jpda/transport/socket/Makefile ++++ openjdk/jdk/make/jpda/transport/socket/Makefile +@@ -42,11 +42,11 @@ + endif + + ifeq ($(PLATFORM), linux) +- OTHER_LDLIBS += -lnsl $(LIBSOCKET) -lpthread ++ OTHER_LDLIBS += $(LIBSOCKET) -lpthread + endif + + ifeq ($(PLATFORM), solaris) +- OTHER_LDLIBS += -lnsl $(LIBSOCKET) ++ OTHER_LDLIBS += $(LIBSOCKET) + endif + + ifeq ($(PLATFORM), windows) +--- openjdk.orig/jdk/make/mkdemo/jvmti/hprof/Makefile ++++ openjdk/jdk/make/mkdemo/jvmti/hprof/Makefile +@@ -39,10 +39,10 @@ + EXTRA_LIBS += wsock32.lib winmm.lib + endif + ifeq ($(PLATFORM), solaris) +- OTHER_LDLIBS += $(LIBSOCKET) -lnsl -ldl ++ OTHER_LDLIBS += $(LIBSOCKET) -ldl + endif + ifeq ($(PLATFORM), linux) +- OTHER_LDLIBS += $(LIBSOCKET) -lnsl -ldl -lpthread ++ OTHER_LDLIBS += $(LIBSOCKET) -ldl -lpthread + endif + + # diff --git a/main/openjdk7/icedtea-jdk-no-soname.patch b/main/openjdk7/icedtea-jdk-no-soname.patch new file mode 100644 index 0000000000..fe6bbb7329 --- /dev/null +++ b/main/openjdk7/icedtea-jdk-no-soname.patch @@ -0,0 +1,12 @@ +--- ./openjdk/jdk/make/common/Defs-linux.gmk.orig ++++ ./openjdk/jdk/make/common/Defs-linux.gmk +@@ -248,7 +248,9 @@ + # + LDFLAGS_OPT = -Xlinker -O1 + LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH) ++ifdef LIBRARY + LDFLAGS_COMMON += -Wl,-soname=$(LIB_PREFIX)$(LIBRARY).$(LIBRARY_SUFFIX) ++endif + + # + # -static-libgcc is a gcc-3 flag to statically link libgcc, gcc-2.9x always |