diff options
author | Tavian Barnes | 2015-07-11 00:19:54 -0400 |
---|---|---|
committer | Tavian Barnes | 2015-07-11 00:19:54 -0400 |
commit | e366a3204cd276027cc1e7ccef1726ca2ac658d2 (patch) | |
tree | 7c5b29ed7812f04d9edaa74e40ab42794cfc767d | |
download | aur-e366a3204cd276027cc1e7ccef1726ca2ac658d2.tar.gz |
Initial commit.
-rw-r--r-- | .SRCINFO | 17 | ||||
-rw-r--r-- | .gitignore | 5 | ||||
-rw-r--r-- | PKGBUILD | 73 | ||||
-rw-r--r-- | binutils-e9c1bdad.patch | 78 |
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 + |