summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorTavian Barnes2015-07-11 00:19:54 -0400
committerTavian Barnes2015-07-11 00:19:54 -0400
commite366a3204cd276027cc1e7ccef1726ca2ac658d2 (patch)
tree7c5b29ed7812f04d9edaa74e40ab42794cfc767d
downloadaur-e366a3204cd276027cc1e7ccef1726ca2ac658d2.tar.gz
Initial commit.
-rw-r--r--.SRCINFO17
-rw-r--r--.gitignore5
-rw-r--r--PKGBUILD73
-rw-r--r--binutils-e9c1bdad.patch78
4 files changed, 173 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..fe3689d97ead
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,17 @@
+pkgbase = java8-openjdk-hsdis
+ pkgdesc = Disassembler for HotSpot
+ pkgver = 8.u45
+ pkgrel = 1
+ url = http://openjdk.java.net/
+ arch = i686
+ arch = x86_64
+ license = GPL2
+ source = hotspot-jdk8u45-b14.tar.gz::http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/archive/jdk8u45-b14.tar.gz
+ source = git://sourceware.org/git/binutils-gdb.git#commit=69352378
+ source = binutils-e9c1bdad.patch
+ sha256sums = 1dc7c5038f57f77a1e92cf1b48a188a0291805e69f570e1164efb7adb34c5a59
+ sha256sums = SKIP
+ sha256sums = 4dc13852d61825aa59b7436ae41c449d181e5a66b355b6ca69604e4da3e03699
+
+pkgname = java8-openjdk-hsdis
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..ef8b2437e636
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+/*.tar.gz
+/*.tar.xz
+/binutils-gdb/
+/pkg/
+/src/
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..33f29443216f
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,73 @@
+# Maintainer: Tavian Barnes <tavianator@tavianator.com>
+pkgname=java8-openjdk-hsdis
+_java_ver=8
+_jdk_update=45
+_jdk_build=14
+pkgver=${_java_ver}.u${_jdk_update}
+_repo_ver=jdk${_java_ver}u${_jdk_update}-b${_jdk_build}
+_binutils_commit=69352378
+pkgrel=1
+pkgdesc="Disassembler for HotSpot"
+arch=('i686' 'x86_64')
+url='http://openjdk.java.net/'
+license=('GPL2')
+_url_src=http://hg.openjdk.java.net/jdk8u/jdk8u
+source=(hotspot-${_repo_ver}.tar.gz::${_url_src}/hotspot/archive/${_repo_ver}.tar.gz
+ git://sourceware.org/git/binutils-gdb.git#commit=${_binutils_commit}
+ binutils-e9c1bdad.patch)
+sha256sums=('1dc7c5038f57f77a1e92cf1b48a188a0291805e69f570e1164efb7adb34c5a59'
+ 'SKIP'
+ '4dc13852d61825aa59b7436ae41c449d181e5a66b355b6ca69604e4da3e03699')
+
+prepare() {
+ cd "${srcdir}/binutils-gdb"
+
+ # https://sourceware.org/bugzilla/show_bug.cgi?id=16992
+ patch -p1 -i "${srcdir}/binutils-e9c1bdad.patch"
+
+ # hack! - libiberty configure tests for header files using "$CPP $CPPFLAGS"
+ sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure
+
+ cd "${srcdir}/hotspot-${_repo_ver}/src/share/tools/hsdis"
+ mkdir -p build
+ ln -sf "${srcdir}/binutils-gdb" build/binutils
+}
+
+build() {
+ cd "${srcdir}/hotspot-${_repo_ver}/src/share/tools/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}/hotspot-${_repo_ver}/src/share/tools/hsdis"
+
+ if [ "$CARCH" = "x86_64" ]; then
+ install -D -m755 build/linux-amd64/hsdis-amd64.so "${pkgdir}/usr/lib/jvm/java-8-openjdk/jre/lib/amd64/hsdis-amd64.so"
+ else
+ install -D -m755 build/linux-i586/hsdis-i586.so "${pkgdir}/usr/lib/jvm/java-8-openjdk/jre/lib/i586/hsdis-i586.so"
+ fi
+}
diff --git a/binutils-e9c1bdad.patch b/binutils-e9c1bdad.patch
new file mode 100644
index 000000000000..6ef9f520fa08
--- /dev/null
+++ b/binutils-e9c1bdad.patch
@@ -0,0 +1,78 @@
+diff --git a/gold/layout.cc b/gold/layout.cc
+index bcdaac8..7836640 100644
+--- a/gold/layout.cc
++++ b/gold/layout.cc
+@@ -4873,7 +4873,8 @@ Layout::finish_dynamic_section(const Input_objects* input_objects,
+ flags |= elfcpp::DF_STATIC_TLS;
+ if (parameters->options().origin())
+ flags |= elfcpp::DF_ORIGIN;
+- if (parameters->options().Bsymbolic())
++ if (parameters->options().Bsymbolic()
++ && !parameters->options().have_dynamic_list())
+ {
+ flags |= elfcpp::DF_SYMBOLIC;
+ // Add DT_SYMBOLIC for compatibility with older loaders.
+diff --git a/gold/options.cc b/gold/options.cc
+index 7eb8f27..7f1f69e 100644
+--- a/gold/options.cc
++++ b/gold/options.cc
+@@ -1200,13 +1200,6 @@ General_options::finalize()
+ // in the path, as appropriate.
+ this->add_sysroot();
+
+- // --dynamic-list overrides -Bsymbolic and -Bsymbolic-functions.
+- if (this->have_dynamic_list())
+- {
+- this->set_Bsymbolic(false);
+- this->set_Bsymbolic_functions(false);
+- }
+-
+ // Now that we've normalized the options, check for contradictory ones.
+ if (this->shared() && this->is_static())
+ gold_fatal(_("-shared and -static are incompatible"));
+diff --git a/gold/symtab.h b/gold/symtab.h
+index aa0cb68..9413360 100644
+--- a/gold/symtab.h
++++ b/gold/symtab.h
+@@ -604,10 +604,8 @@ class Symbol
+ if (parameters->options().in_dynamic_list(this->name()))
+ return true;
+
+- // If the user used -Bsymbolic or provided a --dynamic-list script,
+- // then nothing (else) is preemptible.
+- if (parameters->options().Bsymbolic()
+- || parameters->options().have_dynamic_list())
++ // If the user used -Bsymbolic, then nothing (else) is preemptible.
++ if (parameters->options().Bsymbolic())
+ return false;
+
+ // If the user used -Bsymbolic-functions, then functions are not
+diff --git a/gold/testsuite/Makefile.am b/gold/testsuite/Makefile.am
+index f767c21..7b73f9d 100644
+--- a/gold/testsuite/Makefile.am
++++ b/gold/testsuite/Makefile.am
+@@ -1518,7 +1518,7 @@ dynamic_list_lib1.o: dynamic_list_lib1.cc
+ $(CXXCOMPILE) -c -fpic -o $@ $<
+
+ dynamic_list_lib2.so: gcctestdir/ld dynamic_list_lib2.o $(srcdir)/dynamic_list_2.t
+- $(CXXLINK) -Bgcctestdir/ -shared -Wl,--dynamic-list,$(srcdir)/dynamic_list_2.t dynamic_list_lib2.o
++ $(CXXLINK) -Bgcctestdir/ -shared -Wl,-Bsymbolic-functions -Wl,--dynamic-list,$(srcdir)/dynamic_list_2.t dynamic_list_lib2.o
+ dynamic_list_lib2.o: dynamic_list_lib2.cc
+ $(CXXCOMPILE) -c -fpic -o $@ $<
+
+diff --git a/gold/testsuite/Makefile.in b/gold/testsuite/Makefile.in
+index 217e472..b4ae3fd 100644
+--- a/gold/testsuite/Makefile.in
++++ b/gold/testsuite/Makefile.in
+@@ -5319,7 +5319,7 @@ uninstall-am:
+ @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $<
+
+ @GCC_TRUE@@NATIVE_LINKER_TRUE@dynamic_list_lib2.so: gcctestdir/ld dynamic_list_lib2.o $(srcdir)/dynamic_list_2.t
+-@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,--dynamic-list,$(srcdir)/dynamic_list_2.t dynamic_list_lib2.o
++@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,-Bsymbolic-functions -Wl,--dynamic-list,$(srcdir)/dynamic_list_2.t dynamic_list_lib2.o
+ @GCC_TRUE@@NATIVE_LINKER_TRUE@dynamic_list_lib2.o: dynamic_list_lib2.cc
+ @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $<
+
+--
+1.9.4
+