summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Reiser2020-12-19 23:24:32 +0100
committerSimon Reiser2020-12-19 23:24:32 +0100
commitbfa2a9159797f77a4bab16d86fef6337607d7dee (patch)
treee9055328fe6d468f4aa28d81815bfa3865b7eb7e
downloadaur-bfa2a9159797f77a4bab16d86fef6337607d7dee.tar.gz
v11.0.8
-rw-r--r--.SRCINFO19
-rw-r--r--.gitignore6
-rw-r--r--PKGBUILD82
-rw-r--r--binutils-compat.patch12
-rw-r--r--binutils.patch25
5 files changed, 144 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..ba796549e584
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,19 @@
+pkgbase = java11-openjdk-hsdis
+ pkgdesc = Disassembler for HotSpot
+ pkgver = 11.0.8
+ pkgrel = 1
+ url = http://openjdk.java.net/
+ arch = i686
+ arch = x86_64
+ license = GPL2
+ source = openjdk-jdk-11.0.8+10.tar.gz::http://hg.openjdk.java.net/jdk-updates/jdk11u/archive/jdk-11.0.8+10.tar.gz
+ source = http://ftp.gnu.org/gnu/binutils/binutils-2.34.tar.bz2
+ source = binutils-compat.patch
+ source = binutils.patch
+ sha256sums = 7fc124b5e20428cd5df42d78b001abc663558b0881e66a5def0892b98265b6e9
+ sha256sums = 89f010078b6cf69c23c27897d686055ab89b198dddf819efb0a4f2c38a0b36e6
+ sha256sums = 3b1bd383cdfef4a6cfd9ed0dafeeee956670ad7fb797323f72e56bb7bc0cebaa
+ sha256sums = e3a91a6f0183a6c554d04f9bca230635393bfcd4e4f87cb1a0b73f86505bbbf0
+
+pkgname = java11-openjdk-hsdis
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..135c48a4ff2f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,6 @@
+/*.tar.bz2
+/*.tar.gz
+/*.tar.xz
+/binutils-gdb/
+/pkg/
+/src/
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..7166790c22dc
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,82 @@
+# Maintainer: Danila Kiver <danila.kiver@mail.ru>
+# Contributor: Tavian Barnes <tavianator@tavianator.com>
+
+pkgname=java11-openjdk-hsdis
+_java_major=11
+_java_minor=0
+_java_patch=8
+_java_build=10
+_binutils_ver=2.34
+pkgver=${_java_major}.${_java_minor}.${_java_patch}
+_repo_ver=jdk-${_java_major}.${_java_minor}.${_java_patch}+${_java_build}
+pkgrel=1
+pkgdesc="Disassembler for HotSpot"
+arch=('i686' 'x86_64')
+url='http://openjdk.java.net/'
+license=('GPL2')
+_url_src=http://hg.openjdk.java.net/jdk-updates/jdk11u
+source=(openjdk-${_repo_ver}.tar.gz::${_url_src}/archive/${_repo_ver}.tar.gz
+ http://ftp.gnu.org/gnu/binutils/binutils-${_binutils_ver}.tar.bz2
+ binutils-compat.patch
+ binutils.patch)
+sha256sums=('7fc124b5e20428cd5df42d78b001abc663558b0881e66a5def0892b98265b6e9'
+ '89f010078b6cf69c23c27897d686055ab89b198dddf819efb0a4f2c38a0b36e6'
+ '3b1bd383cdfef4a6cfd9ed0dafeeee956670ad7fb797323f72e56bb7bc0cebaa'
+ 'e3a91a6f0183a6c554d04f9bca230635393bfcd4e4f87cb1a0b73f86505bbbf0')
+
+prepare() {
+ cd "${srcdir}/binutils-${_binutils_ver}"
+
+ # hack! - libiberty configure tests for header files using "$CPP $CPPFLAGS"
+ sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure
+
+ cd "${srcdir}/jdk11u-${_repo_ver}/src/utils/hsdis"
+ mkdir -p build
+ ln -sf "${srcdir}/binutils-${_binutils_ver}" build/binutils
+
+ # The upstream is currently stuck with binutils 2.31. This patch provides the
+ # compatibility with least recent binutils versions. Remove it once the upstream
+ # updates the binutils version in use.
+ cd "${srcdir}/jdk11u-${_repo_ver}"
+ patch -N -p 1 -i "${srcdir}/binutils-compat.patch"
+ patch -N -p 1 -i "${srcdir}/binutils.patch"
+}
+
+build() {
+ cd "${srcdir}/jdk11u-${_repo_ver}/src/utils/hsdis"
+
+ if [ "$CARCH" = "x86_64" ]; then
+ mkdir -p build/linux-amd64
+ cd build/linux-amd64
+ else
+ mkdir -p build/linux-i586
+ cd build/linux-i586
+ fi
+
+ ../binutils/configure --prefix=/usr \
+ --with-lib-path=/usr/lib:/usr/local/lib \
+ --with-bugurl=https://bugs.archlinux.org/ \
+ --enable-threads --enable-shared --with-pic \
+ --enable-ld=default --enable-gold --enable-plugins \
+ --disable-werror --disable-gdb --disable-nls \
+ CFLAGS="$CFLAGS -fPIC"
+ make all-opcodes
+
+ cd ../..
+
+ if [ "$CARCH" = "x86_64" ]; then
+ make all LP64=1
+ else
+ make all
+ fi
+}
+
+package() {
+ cd "${srcdir}/jdk11u-${_repo_ver}/src/utils/hsdis"
+
+ if [ "$CARCH" = "x86_64" ]; then
+ install -D -m755 build/linux-amd64/hsdis-amd64.so "${pkgdir}/usr/lib/jvm/java-11-openjdk/lib/hsdis-amd64.so"
+ else
+ install -D -m755 build/linux-i586/hsdis-i586.so "${pkgdir}/usr/lib/jvm/java-11-openjdk/lib/hsdis-i586.so"
+ fi
+}
diff --git a/binutils-compat.patch b/binutils-compat.patch
new file mode 100644
index 000000000000..edb846f2a690
--- /dev/null
+++ b/binutils-compat.patch
@@ -0,0 +1,12 @@
+diff --unified --color --unified --recursive --text jdk14u-jdk-14.0.1+7/src/utils/hsdis/hsdis.c jdk14u-jdk-14.0.1+7-new/src/utils/hsdis/hsdis.c
+--- jdk14u-jdk-14.0.1+7/src/utils/hsdis/hsdis.c 2019-11-28 23:32:27.000000000 +0300
++++ jdk14u-jdk-14.0.1+7-new/src/utils/hsdis/hsdis.c 2020-05-30 03:14:15.355394159 +0300
+@@ -568,7 +568,7 @@
+ dinfo->arch = bfd_get_arch(abfd);
+ dinfo->mach = bfd_get_mach(abfd);
+ dinfo->disassembler_options = disassembler_options;
+- dinfo->octets_per_byte = bfd_octets_per_byte (abfd);
++ dinfo->octets_per_byte = bfd_octets_per_byte (abfd, NULL);
+ dinfo->skip_zeroes = sizeof(void*) * 2;
+ dinfo->skip_zeroes_at_end = sizeof(void*)-1;
+ dinfo->disassembler_needs_relocs = FALSE;
diff --git a/binutils.patch b/binutils.patch
new file mode 100644
index 000000000000..deaa403db006
--- /dev/null
+++ b/binutils.patch
@@ -0,0 +1,25 @@
+--- a/src/utils/hsdis/hsdis.c 2020-12-19 23:13:53.890379727 +0100
++++ a/src/utils/hsdis/hsdis.c 2020-12-19 23:16:27.550368667 +0100
+@@ -30,6 +30,7 @@
+ #include <config.h> /* required by bfd.h */
+ #include <libiberty.h>
+ #include <bfd.h>
++#include <bfdver.h>
+ #include <dis-asm.h>
+ #include <inttypes.h>
+ #include <string.h>
+@@ -313,7 +314,13 @@
+
+ /* Finish linking together the various callback blocks. */
+ app_data->dinfo.application_data = (void*) app_data;
+- app_data->dfn = disassembler(native_bfd);
++ app_data->dfn = disassembler(
++#if BFD_VERSION >= 229000000
++ bfd_get_arch(native_bfd),
++ bfd_big_endian(native_bfd),
++ bfd_get_mach(native_bfd),
++#endif
++ native_bfd);
+ app_data->dinfo.print_address_func = hsdis_print_address_func;
+ app_data->dinfo.read_memory_func = hsdis_read_memory_func;
+