Mercurial > hg > release > icedtea6-1.13
changeset 2959:06c8caca7d7c
PR1317: Provide an option to build with a more up-to-date HotSpot
2013-02-14 Andrew John Hughes <gnu.andrew@redhat.com>
PR1317: Provide an option to build with a more up-to-date HotSpot
* patches/no-static-linking.patch:
Dropped; unneeded if STATIC_CXX is set to false.
* INSTALL: Update HotSpot build documentation.
* Makefile.am:
(SECURITY_PATCHES): Exclude patches in hs23 HotSpot
if building with it.
(ICEDTEA_PATCHES): Likewise, and exclude the ARM32
port which doesn't work with hs23. Also specialise
some patches which differ depending on HotSpot version.
(ICEDTEA_ECJ_PATCHES): Specialise hotspot-jdk-dependency.patch
depending on version of HotSpot being built.
(ICEDTEA_ENV): Pass STATIC_CXX=false to avoid patching.
Pass BUILD_GCC and BUILD_CXX in place of suffix patch if
building hs23.
* NEWS:
List this new feature and also the bug fix, PR1318.
* acinclude.m4:
(IT_ENABLE_ZERO_BUILD): Define only once. Depend on
CACAO, Zero and Shark.
(IT_SET_SHARK_BUILD): Define only once.
(IT_ENABLE_JAMVM): Likewise.
(IT_ENABLE_CACAO): Likewise.
(IT_WITH_HOTSPOT_BUILD): Likewise. Set ALTERNATE_BUILD
to hs23. Depend on Zero build determination and use to
pick default. Error out if hs23 is enabled with Zero.
* hotspot.map: Add reference to hs23 from the 2.3 tree.
* patches/ecj/hotspot/hs23/hotspot-jdk-dependency.patch:
Added for hs23 build.
* patches/ecj/hotspot/original/hotspot-jdk-dependency.patch:
Moved from patches/ecj/hotspot-jdk-dependency.patch.
* patches/gcc-suffix-hotspot.patch:
Split out for original HotSpot builds.
* patches/gcc-suffix.patch: Original version minus HotSpot
chunk.
* patches/hotspot/hs23/arm-hsdis.patch,
* patches/hotspot/hs23/pr639-broken_shark_build.patch:
hs23 versions of these patches which don't appear upstream.
* patches/hotspot/original/arm-hsdis.patch,
* patches/hotspot/original/pr639-broken_shark_build.patch:
Moved from patches.
* patches/hotspot/hs23/remove_jsr292_tests.patch:
Remove JSR292 tests from hs23 HotSpot when building on 6.
author | Andrew John Hughes <gnu.andrew@redhat.com> |
---|---|
date | Fri, 15 Feb 2013 00:02:19 +0000 |
parents | a31bd9ed229b |
children | 3439277534e3 |
files | ChangeLog INSTALL Makefile.am NEWS acinclude.m4 hotspot.map patches/arm-hsdis.patch patches/ecj/hotspot-jdk-dependency.patch patches/ecj/hotspot/hs23/hotspot-jdk-dependency.patch patches/ecj/hotspot/original/hotspot-jdk-dependency.patch patches/gcc-suffix-hotspot.patch patches/gcc-suffix.patch patches/hotspot/hs23/arm-hsdis.patch patches/hotspot/hs23/pr639-broken_shark_build.patch patches/hotspot/hs23/remove_jsr292_tests.patch patches/hotspot/original/arm-hsdis.patch patches/hotspot/original/pr639-broken_shark_build.patch patches/no-static-linking.patch patches/pr639-broken_shark_build.patch |
diffstat | 19 files changed, 658 insertions(+), 289 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Thu Feb 14 00:01:03 2013 +0000 +++ b/ChangeLog Fri Feb 15 00:02:19 2013 +0000 @@ -1,3 +1,49 @@ +2013-02-14 Andrew John Hughes <gnu.andrew@redhat.com> + + PR1317: Provide an option to build with a more up-to-date HotSpot + * patches/no-static-linking.patch: + Dropped; unneeded if STATIC_CXX is set to false. + * INSTALL: Update HotSpot build documentation. + * Makefile.am: + (SECURITY_PATCHES): Exclude patches in hs23 HotSpot + if building with it. + (ICEDTEA_PATCHES): Likewise, and exclude the ARM32 + port which doesn't work with hs23. Also specialise + some patches which differ depending on HotSpot version. + (ICEDTEA_ECJ_PATCHES): Specialise hotspot-jdk-dependency.patch + depending on version of HotSpot being built. + (ICEDTEA_ENV): Pass STATIC_CXX=false to avoid patching. + Pass BUILD_GCC and BUILD_CXX in place of suffix patch if + building hs23. + * NEWS: + List this new feature and also the bug fix, PR1318. + * acinclude.m4: + (IT_ENABLE_ZERO_BUILD): Define only once. Depend on + CACAO, Zero and Shark. + (IT_SET_SHARK_BUILD): Define only once. + (IT_ENABLE_JAMVM): Likewise. + (IT_ENABLE_CACAO): Likewise. + (IT_WITH_HOTSPOT_BUILD): Likewise. Set ALTERNATE_BUILD + to hs23. Depend on Zero build determination and use to + pick default. Error out if hs23 is enabled with Zero. + * hotspot.map: Add reference to hs23 from the 2.3 tree. + * patches/ecj/hotspot/hs23/hotspot-jdk-dependency.patch: + Added for hs23 build. + * patches/ecj/hotspot/original/hotspot-jdk-dependency.patch: + Moved from patches/ecj/hotspot-jdk-dependency.patch. + * patches/gcc-suffix-hotspot.patch: + Split out for original HotSpot builds. + * patches/gcc-suffix.patch: Original version minus HotSpot + chunk. + * patches/hotspot/hs23/arm-hsdis.patch, + * patches/hotspot/hs23/pr639-broken_shark_build.patch: + hs23 versions of these patches which don't appear upstream. + * patches/hotspot/original/arm-hsdis.patch, + * patches/hotspot/original/pr639-broken_shark_build.patch: + Moved from patches. + * patches/hotspot/hs23/remove_jsr292_tests.patch: + Remove JSR292 tests from hs23 HotSpot when building on 6. + 2013-02-14 Andrew John Hughes <gnu.andrew@redhat.com> * NEWS: Add 1.11.6, 1.11.7, 1.12.1 & 1.12.2
--- a/INSTALL Thu Feb 14 00:01:03 2013 +0000 +++ b/INSTALL Fri Feb 15 00:02:19 2013 +0000 @@ -319,12 +319,18 @@ of the requested build. At present, IcedTea6 supports the 'original' HotSpot 20 provided as -part of the upstream tarball. Note that the norm. is for up to one -alternate (non-default) build to be supported and just passing ---with-hotspot-build (equivalent to --with-hotspot-build=yes) will -always provide the alternate build. Conversely, passing ---without-hotspot-build (equivalent to --with-hotspot-build=no) -provides the original build from the OpenJDK tarball. +part of the upstream tarball and 'hs23', the HotSpot used by the IcedTea +2.3.x series. Note that the norm. is for up to one alternate (non-default) +build to be supported and just passing --with-hotspot-build +(equivalent to --with-hotspot-build=yes) will always provide the alternate +build. Conversely, passing --without-hotspot-build (equivalent to +--with-hotspot-build=no) provides the original build from the OpenJDK tarball. + +When no option is specified, the default build is used. At present, +this is 'hs23' unless the user is building Zero or Shark (either by +choice, or because the build has default to this on architectures +other than x86/x86_64/sparc). As 'hs23' is known not to work with +Zero or Shark, 'original' is still the default for these builds. Javascript Support ==================
--- a/Makefile.am Thu Feb 14 00:01:03 2013 +0000 +++ b/Makefile.am Fri Feb 15 00:02:19 2013 +0000 @@ -271,16 +271,19 @@ patches/security/20130201/8000540.patch \ patches/security/20130201/8000631.patch \ patches/security/20130201/8001242.patch \ - patches/security/20130201/8001307.patch \ patches/security/20130201/8001972.patch \ patches/security/20130201/8002325.patch \ patches/security/20130201/8001235.patch +if !WITH_ALT_HSBUILD +SECURITY_PATCHES += \ + patches/security/20130201/8001307.patch +endif + SPECIAL_SECURITY_PATCH = patches/security/20120214/7112642.patch ICEDTEA_PATCHES = \ $(SECURITY_PATCHES) \ - patches/stdc-limit-macros.patch \ patches/openjdk/4993545-nativeinlightfixer.patch \ patches/openjdk/6637796-set_bounds.patch \ patches/openjdk/6607660-treelock.patch \ @@ -303,27 +306,20 @@ patches/parisc-opt.patch \ patches/lucene-crash.patch \ patches/version.patch \ - patches/version-hotspot.patch \ - patches/text-relocations.patch \ patches/openjdk/7043921-java_rmi_cgi.patch \ patches/use-system-tzdata.patch \ patches/headers.patch \ patches/gcc-suffix.patch \ - patches/memory-limits.patch \ patches/libraries.patch \ patches/jvmtiEnv.patch \ patches/lcms.patch \ - patches/print_lsb_release.patch \ patches/uname.patch \ patches/freetypeversion.patch \ patches/nomotif-6706121.patch \ patches/nomotif.patch \ patches/nomotif-mtoolkit.patch \ - patches/alpha-fixes.patch \ patches/alt-jar.patch \ patches/jdk-use-ssize_t.patch \ - patches/use-idx_t.patch \ - patches/params-cast-size_t.patch \ patches/clean-crypto.patch \ patches/arch.patch \ patches/lc_ctype.patch \ @@ -334,8 +330,6 @@ patches/pr261.patch \ patches/sparc-buildfixes.patch \ patches/sparc64-linux.patch \ - patches/sparc-ptracefix.patch \ - patches/sparc-trapsfix.patch \ patches/jtreg-6592792.patch \ patches/s390-noinline.patch \ patches/jtreg-dnd.patch \ @@ -344,15 +338,11 @@ patches/dnd-filelists.patch \ patches/disable-cc-incompatible-sanity-checks.patch \ patches/explicit-target-arch.patch \ - patches/openjdk/7019808-stack_noexec.patch \ patches/parisc.patch \ - patches/sh4-support.patch \ patches/policy-evaluation.patch \ - patches/update-bootclasspath.patch \ patches/openjdk/6959123-libpng_14.patch \ patches/applet_hole.patch \ patches/jtreg-httpTest.patch \ - patches/arm.patch \ patches/debug-dir.patch \ patches/override-redirect-metacity.patch \ patches/openjdk/6967533-pre_epoch.patch \ @@ -363,18 +353,15 @@ patches/openjdk/6510892-httpserver_test.patch \ patches/openjdk/6638712-wildcard_types.patch \ patches/openjdk/6650759-missing_inference.patch \ - patches/numa_on_early_glibc.patch \ patches/jtreg-international-fonts.patch \ patches/f14-fonts.patch \ patches/jtreg-T6638712-fix.patch \ patches/jtreg-T6650759m-fix.patch \ patches/openjdk/7003777-bad-html-entity-parse.patch \ - patches/jtreg-6929067-fix.patch \ patches/rendering-engine-tests.patch \ patches/openjdk/6800846-printing-quality.patch \ patches/rh661505-jpeg.patch \ patches/6703377-freetypescaler.patch \ - patches/ia64-fix.patch \ patches/openjdk/6642612-filechooser_button_sizes.patch \ patches/jtreg-international-fonts-styles.patch \ patches/openjdk/6736649-text_bearings.patch \ @@ -384,8 +371,6 @@ patches/openjdk/4724552-CubicCurve2D.patch \ patches/openjdk/4493128-CubicCurve2D.patch \ patches/openjdk/4645692-CubicCurve2D.solveCubic.patch \ - patches/no-static-linking.patch \ - patches/openjdk/7041156-gcc_export_dynamic.patch \ patches/g344659-sparc_fix.patch \ patches/openjdk/6728834-blurred-lcd-aa-text.patch \ patches/openjdk/6749060-bad-lcd-aa-non-opaque-dest.patch \ @@ -409,14 +394,9 @@ patches/openjdk/7027667-AAShapePipeRegTest.patch \ patches/openjdk/7019861-AA-regression-fix.patch \ patches/g356743-libpng-1.5.patch \ - patches/openjdk/7032388-work_without_cmov_instruction.patch \ - patches/openjdk/7031385-gcc-register-allocation-fix.patch \ patches/openjdk/6986968-crash_on_xim_restart.patch \ patches/openjdk/7036754-stroker-nan.patch \ patches/openjdk/pgram-pipe-regression.patch \ - patches/openjdk/7034464-transparent_huge_pages.patch \ - patches/openjdk/7037939-disable_adaptive_resizing_with_large_pages.patch \ - patches/openjdk/7043564-hugepage.patch \ patches/openjdk/mutter.patch \ patches/fonts-rhel-version.patch \ patches/openjdk/7036148-npe-null-jmenu-name.patch \ @@ -431,30 +411,21 @@ patches/openjdk/6818312-com.sun.awt.SecurityWarning.getSize.patch \ patches/jtreg-MappedByteBuffer-Basic.patch \ patches/openjdk/7008106-WindowOpacity.patch \ - patches/openjdk/6956668-misbehavior_of_XOR_operator_with_int.patch \ patches/openjdk/6699843-IllegalArgumentException_drawString.patch \ patches/openjdk/6918065-Crash_in_Java2D_blit_loop.patch \ patches/openjdk/6623219-Font_canDisplayUpTo_does_not_work.patch \ patches/openjdk/6783910-java_awt_Color_brighter_darker_fix.patch \ patches/openjdk/6785424-SecurityException_locating_physical_fonts.patch \ - patches/openjdk/7047069-Array_can_dynamically_change_size.patch \ - patches/openjdk/6796786-invalid_FP_identity_transform.patch \ - patches/openjdk/7042070-Typo_in_Test6796786.patch \ patches/openjdk/6679308-Poor_text_rendering_on_translucent_image.patch \ patches/openjdk/6842838-64-bit_failure_in_handling_invalid_manifest.patch \ patches/openjdk/6882768-test_for_6842838_is_broken.patch \ - patches/pr639-broken_shark_build.patch \ + patches/hotspot/$(HSBUILD)/pr639-broken_shark_build.patch \ patches/powerpc-stacksize.patch \ - patches/jtreg-remove-test-6987555.patch \ - patches/jtreg-remove-test-6991596.patch \ - patches/openjdk/7036220-shark_llvm_29_headers.patch \ - patches/openjdk/7029152-String_intrinsics_miss_optimization.patch \ patches/openjdk/6711682-JCheckBox_in_JTable_does_not_respond_to_click.patch \ patches/openjdk/6758179-D3D_AlphaComposite_is_applied_incorrectly.patch \ patches/jtreg-ConstructDeflaterInput-fix.patch \ patches/openjdk/6613904-GroupLayout_createParallelGroup_null_arg.patch \ patches/openjdk/7049339-anyblit-broken.patch \ - patches/jtreg-hotspot-Test7020373-fix.patch \ patches/openjdk/4917091-javac_rejects_array_over_128_in_length.patch \ patches/openjdk/6390045-error_cannot_access_java_lang_void.patch \ patches/openjdk/6752638-preferLocaleFonts_throws_NPE.patch \ @@ -462,15 +433,12 @@ patches/openjdk/6669869-Beans_isDesignTime_should_be_per-AppContext.patch \ patches/openjdk/6934356-Vector_writeObject_serialization_DL.patch \ patches/openjdk/7036582-Improve_test_coverage_of_BigDecimal.patch \ - patches/pr690-shark-jit-hs20.patch \ - patches/pr696-zero-fast_aldc-hs20.patch \ patches/openjdk/6806261-BigDecimal_longValueExact_throws_NPE.patch \ patches/openjdk/6371401-BigInteger.shift_throws_StackOverflowError.patch \ patches/openjdk/6826104-npe_on_app_and_toolkit_modal_dialog_click.patch \ patches/openjdk/5082756-ImageIO_plugins_metadata_boolean_attributes.patch \ patches/openjdk/6296893-BMP_Writer_handles_TopDown_prop_incorrectly.patch \ - patches/arm-debug.patch \ - patches/arm-hsdis.patch \ + patches/hotspot/$(HSBUILD)/arm-hsdis.patch \ patches/openjdk/7103610-_NET_WM_PID_and_WM_CLIENT_MACHINE_are_not_set.patch \ patches/openjdk/6706974-krb5_test_infrastructure.patch \ patches/openjdk/6764553-IdResolver_is_not_thread_safe.patch \ @@ -500,10 +468,56 @@ patches/openjdk/6980681-corba_deadlock.patch \ patches/openjdk/7162902-corba_fixes.patch \ patches/traceable.patch \ - patches/openjdk/7010849-modernise_sa.patch \ patches/openjdk/8005615-failure_to_load_logger_implementation.patch \ patches/openjdk/8004341-jck_dialog_failure.patch +if WITH_ALT_HSBUILD +ICEDTEA_PATCHES += \ + patches/hotspot/hs23/remove_jsr292_tests.patch +else +# stdc-limit-macros is part of 7032458 +# pr690-shark-jit-hs20.patch is part of 7032458 +# pr696-zero-fast_aldc-hs20.patch is 7030207 & part of 7032458 +ICEDTEA_PATCHES += \ + patches/stdc-limit-macros.patch \ + patches/version-hotspot.patch \ + patches/text-relocations.patch \ + patches/gcc-suffix-hotspot.patch \ + patches/memory-limits.patch \ + patches/print_lsb_release.patch \ + patches/alpha-fixes.patch \ + patches/use-idx_t.patch \ + patches/params-cast-size_t.patch \ + patches/sparc-ptracefix.patch \ + patches/sparc-trapsfix.patch \ + patches/openjdk/7019808-stack_noexec.patch \ + patches/sh4-support.patch \ + patches/update-bootclasspath.patch \ + patches/arm.patch \ + patches/numa_on_early_glibc.patch \ + patches/jtreg-6929067-fix.patch \ + patches/ia64-fix.patch \ + patches/openjdk/7041156-gcc_export_dynamic.patch \ + patches/openjdk/7032388-work_without_cmov_instruction.patch \ + patches/openjdk/7031385-gcc-register-allocation-fix.patch \ + patches/openjdk/7034464-transparent_huge_pages.patch \ + patches/openjdk/7037939-disable_adaptive_resizing_with_large_pages.patch \ + patches/openjdk/7043564-hugepage.patch \ + patches/openjdk/6956668-misbehavior_of_XOR_operator_with_int.patch \ + patches/openjdk/7047069-Array_can_dynamically_change_size.patch \ + patches/openjdk/6796786-invalid_FP_identity_transform.patch \ + patches/openjdk/7042070-Typo_in_Test6796786.patch \ + patches/jtreg-remove-test-6987555.patch \ + patches/jtreg-remove-test-6991596.patch \ + patches/openjdk/7036220-shark_llvm_29_headers.patch \ + patches/openjdk/7029152-String_intrinsics_miss_optimization.patch \ + patches/jtreg-hotspot-Test7020373-fix.patch \ + patches/pr690-shark-jit-hs20.patch \ + patches/pr696-zero-fast_aldc-hs20.patch \ + patches/arm-debug.patch \ + patches/openjdk/7010849-modernise_sa.patch +endif + if WITH_RHINO ICEDTEA_PATCHES += \ patches/rhino.patch @@ -571,7 +585,7 @@ patches/ecj/corba-dependencies.patch \ patches/ecj/jaxws-langtools-dependency.patch \ patches/ecj/jaxws-jdk-dependency.patch \ - patches/ecj/hotspot-jdk-dependency.patch + patches/ecj/hotspot/$(HSBUILD)/hotspot-jdk-dependency.patch if DTDTYPE_QNAME ICEDTEA_ECJ_PATCHES += \ @@ -654,7 +668,14 @@ DEBUG_BINARIES="true" \ ALT_DROPS_DIR="$(abs_top_builddir)/drops" \ VERBOSE="$(VERBOSE)" \ - ALT_OUTPUTDIR="$(BUILD_OUTPUT_DIR)" + ALT_OUTPUTDIR="$(BUILD_OUTPUT_DIR)" \ + STATIC_CXX="false" + +if WITH_ALT_HSBUILD +ICEDTEA_ENV += \ + BUILD_GCC=gcc$(GCC_SUFFIX) \ + BUILD_CXX=g++$(GCC_SUFFIX) +endif if ENABLE_CACAO ICEDTEA_ENV += \
--- a/NEWS Thu Feb 14 00:01:03 2013 +0000 +++ b/NEWS Fri Feb 15 00:02:19 2013 +0000 @@ -12,6 +12,11 @@ New in release 1.13.0 (201X-XX-XX): +* New features + - PR1317: Provide an option to build with a more up-to-date HotSpot +* Bug fixes + - PR1318: Fix automatic enabling of the Zero build on non-JIT architectures which don't use CACAO or JamVM. + New in release 1.12.2 (2013-02-11): * Backports
--- a/acinclude.m4 Thu Feb 14 00:01:03 2013 +0000 +++ b/acinclude.m4 Fri Feb 15 00:02:19 2013 +0000 @@ -716,9 +716,12 @@ AC_SUBST([$1]) ]) -AC_DEFUN([IT_ENABLE_ZERO_BUILD], +AC_DEFUN_ONCE([IT_ENABLE_ZERO_BUILD], [ AC_REQUIRE([IT_SET_ARCH_SETTINGS]) + AC_REQUIRE([IT_ENABLE_CACAO]) + AC_REQUIRE([IT_ENABLE_JAMVM]) + AC_REQUIRE([IT_SET_SHARK_BUILD]) AC_MSG_CHECKING([whether to use the zero-assembler port]) use_zero=no AC_ARG_ENABLE([zero], @@ -794,7 +797,7 @@ AC_CONFIG_FILES([ergo.c]) ]) -AC_DEFUN([IT_SET_SHARK_BUILD], +AC_DEFUN_ONCE([IT_SET_SHARK_BUILD], [ AC_MSG_CHECKING(whether to use the Shark JIT) shark_selected=no @@ -818,7 +821,7 @@ AM_CONDITIONAL(SHARK_BUILD, test "x${use_shark}" = xyes) ]) -AC_DEFUN([IT_ENABLE_JAMVM], +AC_DEFUN_ONCE([IT_ENABLE_JAMVM], [ AC_MSG_CHECKING(whether to use JamVM as VM) AC_ARG_ENABLE([jamvm], @@ -857,7 +860,7 @@ AC_SUBST(ALT_JAMVM_SRC_ZIP) ]) -AC_DEFUN([IT_ENABLE_CACAO], +AC_DEFUN_ONCE([IT_ENABLE_CACAO], [ AC_MSG_CHECKING(whether to use CACAO as VM) AC_ARG_ENABLE([cacao], @@ -956,11 +959,16 @@ AC_SUBST([GCJ]) ]) -AC_DEFUN([IT_WITH_HOTSPOT_BUILD], +AC_DEFUN_ONCE([IT_WITH_HOTSPOT_BUILD], [ + AC_REQUIRE([IT_ENABLE_ZERO_BUILD]) ORIGINAL_BUILD="original" - ALTERNATE_BUILD="original" - DEFAULT_BUILD=${ORIGINAL_BUILD} + ALTERNATE_BUILD="hs23" + if test "x${use_zero}" = "xyes"; then + DEFAULT_BUILD=${ORIGINAL_BUILD} + else + DEFAULT_BUILD=${ALTERNATE_BUILD} + fi AC_MSG_CHECKING([which HotSpot build to use]) AC_ARG_WITH([hotspot-build], [AS_HELP_STRING(--with-hotspot-build,the HotSpot build to use (see hotspot.map))], @@ -978,6 +986,11 @@ AC_MSG_RESULT([${HSBUILD}]) AC_SUBST([HSBUILD]) AM_CONDITIONAL(WITH_ALT_HSBUILD, test "x${HSBUILD}" != "x${ORIGINAL_BUILD}") + if test "x${HSBUILD}" = "x${ALTERNATE_BUILD}" ; then + if test "x${use_zero}" = "xyes"; then + AC_MSG_ERROR([The ${ALTERNATE_BUILD} build of HotSpot is known not to work with Zero or Shark.]) + fi + fi ]) AC_DEFUN([IT_WITH_HOTSPOT_SRC_ZIP],
--- a/hotspot.map Thu Feb 14 00:01:03 2013 +0000 +++ b/hotspot.map Fri Feb 15 00:02:19 2013 +0000 @@ -1,1 +1,2 @@ # version url changeset sha256sum +hs23 http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/hotspot bc0de5a0ece2 4b571c99b9dfdca6e8456a7d0d47eedb1a8e3c4863322cc853f959b1cb4bc068
--- a/patches/arm-hsdis.patch Thu Feb 14 00:01:03 2013 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,90 +0,0 @@ -2012-01-20 Andrew Haley <aph@redhat.com> - - * Makefile (ARCH): Add entry for armv7l. - (CFLAGS): Enable debugging. - ($(LIBRARIES)): Pass CFLAGS to sub-make. - * hsdis.c: Include string.h. - (parse_caller_options): Fix strncmp bug. - (native_arch_name): Add entry for ARM. - -diff -u openjdk/hotspot/src/share/tools/hsdis/hsdis.c ../icedtea6/openjdk/hotspot/src/share/tools/hsdis/hsdis.c ---- openjdk/hotspot/src/share/tools/hsdis/hsdis.c 2011-11-14 17:07:33.000000000 -0500 -+++ openjdk/hotspot/src/share/tools/hsdis/hsdis.c 2012-01-20 10:21:28.000000000 -0500 -@@ -22,8 +22,6 @@ - * - */ - --#include "precompiled.hpp" -- - /* hsdis.c -- dump a range of addresses as native instructions - This implements the plugin protocol required by the - HotSpot PrintAssembly option. -@@ -37,6 +35,8 @@ - #include <dis-asm.h> - #include <inttypes.h> - -+#include <string.h> -+ - #ifndef bool - #define bool int - #define true 1 -@@ -358,7 +358,7 @@ - if (plen > mach_size) plen = mach_size; - strncpy(mach_option, p, plen); - mach_option[plen] = '\0'; -- } else if (plen > 6 && strncmp(p, "hsdis-", 6)) { -+ } else if (plen > 6 && !strncmp(p, "hsdis-", 6)) { - // do not pass these to the next level - } else { - /* just copy it; {i386,sparc}-dis.c might like to see it */ -@@ -420,6 +420,9 @@ - #ifdef LIBARCH_sparcv9 - res = "sparc:v9b"; - #endif -+#ifdef LIBARCH_arm -+ res = "arm"; -+#endif - if (res == NULL) - res = "architecture not set in Makefile!"; - return res; -diff -u openjdk/hotspot/src/share/tools/hsdis/Makefile openjdk/hotspot/src/share/tools/hsdis/Makefile ---- openjdk/hotspot/src/share/tools/hsdis/Makefile 2011-11-14 17:07:33.000000000 -0500 -+++ openjdk/hotspot/src/share/tools/hsdis/Makefile 2012-01-20 10:20:32.000000000 -0500 -@@ -68,14 +68,18 @@ - CONFIGURE_ARGS= --host=$(MINGW) --target=$(MINGW) - else - CPU = $(shell uname -m) -+ifneq ($(findstring arm,$(CPU)),) -+ARCH=arm -+else - ARCH1=$(CPU:x86_64=amd64) - ARCH=$(ARCH1:i686=i386) - CFLAGS/i386 += -m32 - CFLAGS/sparc += -m32 - CFLAGS/sparcv9 += -m64 - CFLAGS/amd64 += -m64 -+endif - CFLAGS += $(CFLAGS/$(ARCH)) --CFLAGS += -fPIC -+CFLAGS += -fPIC -g - OS = linux - LIB_EXT = .so - CC = gcc -@@ -118,7 +122,7 @@ - BINUTILSDIR = $(shell cd $(BINUTILS);pwd) - endif - --CPPFLAGS += -I$(BINUTILSDIR)/include -I$(BINUTILS)/bfd -I$(TARGET_DIR)/bfd -+CPPFLAGS += -I$(BINUTILSDIR)/include -I$(BINUTILSDIR)/bfd -I$(TARGET_DIR)/bfd - CPPFLAGS += -DLIBARCH_$(LIBARCH) -DLIBARCH=\"$(LIBARCH)\" -DLIB_EXT=\"$(LIB_EXT)\" - - TARGET_DIR = build/$(OS)-$(JDKARCH) -@@ -145,7 +149,7 @@ - demo: $(TARGET) $(DEMO_TARGET) - - $(LIBRARIES): $(TARGET_DIR) $(TARGET_DIR)/Makefile -- if [ ! -f $@ ]; then cd $(TARGET_DIR); make all-opcodes; fi -+ if [ ! -f $@ ]; then cd $(TARGET_DIR); make all-opcodes "CFLAGS=$(CFLAGS)"; fi - - $(TARGET_DIR)/Makefile: - (cd $(TARGET_DIR); CC=$(CC) CFLAGS="$(CFLAGS)" $(BINUTILSDIR)/configure --disable-nls $(CONFIGURE_ARGS))
--- a/patches/ecj/hotspot-jdk-dependency.patch Thu Feb 14 00:01:03 2013 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,25 +0,0 @@ -diff -Nru openjdk-ecj.orig/hotspot/make/linux/makefiles/sa.make openjdk-ecj/hotspot/make/linux/makefiles/sa.make ---- openjdk-ecj.orig/hotspot/make/linux/makefiles/sa.make 2012-05-01 22:15:06.000000000 +0100 -+++ openjdk-ecj/hotspot/make/linux/makefiles/sa.make 2012-08-15 19:43:49.830577295 +0100 -@@ -97,8 +97,8 @@ - $(foreach file,$(AGENT_FILES1),$(shell echo $(file) >> $(AGENT_FILES1_LIST))) - $(foreach file,$(AGENT_FILES2),$(shell echo $(file) >> $(AGENT_FILES2_LIST))) - -- $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES1_LIST) -- $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES2_LIST) -+ $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR):$(JDK_TOPDIR)/src/share/classes:$(JDK_TOPDIR)/src/solaris/classes:$(GENSRCDIR) -d $(SA_CLASSDIR) @$(AGENT_FILES1_LIST) -+ $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR):$(JDK_TOPDIR)/src/share/classes:$(JDK_TOPDIR)/src/solaris/classes:$(GENSRCDIR) -d $(SA_CLASSDIR) @$(AGENT_FILES2_LIST) - - $(QUIETLY) $(REMOTE) $(COMPILE.RMIC) -classpath $(SA_CLASSDIR) -d $(SA_CLASSDIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer - $(QUIETLY) echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES) -diff -Nru openjdk-ecj.orig/make/hotspot-rules.gmk openjdk-ecj/make/hotspot-rules.gmk ---- openjdk-ecj.orig/make/hotspot-rules.gmk 2012-05-01 22:13:57.000000000 +0100 -+++ openjdk-ecj/make/hotspot-rules.gmk 2012-08-15 19:44:23.215116331 +0100 -@@ -83,6 +83,7 @@ - HOTSPOT_BUILD_ARGUMENTS += $(COMMON_BUILD_ARGUMENTS) - HOTSPOT_BUILD_ARGUMENTS += ALT_OUTPUTDIR=$(HOTSPOT_OUTPUTDIR) - HOTSPOT_BUILD_ARGUMENTS += ALT_EXPORT_PATH=$(HOTSPOT_EXPORT_PATH) -+HOTSPOT_BUILD_ARGUMENTS += GENSRCDIR=$(GENSRCDIR) - - # Why do these need to be passed in? Because of windows nmake? and MAKEFLAGS=? - # Or is there something wrong with hotspot/make/Makefile?
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/ecj/hotspot/hs23/hotspot-jdk-dependency.patch Fri Feb 15 00:02:19 2013 +0000 @@ -0,0 +1,23 @@ +diff -Nru openjdk-ecj.orig/hotspot/make/linux/makefiles/sa.make openjdk-ecj/hotspot/make/linux/makefiles/sa.make +--- openjdk-ecj.orig/hotspot/make/linux/makefiles/sa.make 2013-02-11 23:08:47.000000000 +0000 ++++ openjdk-ecj/hotspot/make/linux/makefiles/sa.make 2013-02-14 18:25:27.487892901 +0000 +@@ -91,7 +91,7 @@ + # are in AGENT_FILES, so use the shell to expand them. + # Be extra carefull to not produce too long command lines in the shell! + $(foreach file,$(AGENT_FILES),$(shell ls -1 $(file) >> $(AGENT_FILES_LIST))) +- $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES_LIST) ++ $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR):$(JDK_TOPDIR)/src/share/classes:$(JDK_TOPDIR)/src/solaris/classes:$(GENSRCDIR) -d $(SA_CLASSDIR) @$(AGENT_FILES_LIST) + $(QUIETLY) $(REMOTE) $(COMPILE.RMIC) -classpath $(SA_CLASSDIR) -d $(SA_CLASSDIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer + $(QUIETLY) echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES) + $(QUIETLY) rm -f $(SA_CLASSDIR)/sun/jvm/hotspot/utilities/soql/sa.js +diff -Nru openjdk-ecj.orig/make/hotspot-rules.gmk openjdk-ecj/make/hotspot-rules.gmk +--- openjdk-ecj.orig/make/hotspot-rules.gmk 2012-10-26 19:21:39.000000000 +0100 ++++ openjdk-ecj/make/hotspot-rules.gmk 2013-02-14 18:24:27.622929395 +0000 +@@ -83,6 +83,7 @@ + HOTSPOT_BUILD_ARGUMENTS += $(COMMON_BUILD_ARGUMENTS) + HOTSPOT_BUILD_ARGUMENTS += ALT_OUTPUTDIR=$(HOTSPOT_OUTPUTDIR) + HOTSPOT_BUILD_ARGUMENTS += ALT_EXPORT_PATH=$(HOTSPOT_EXPORT_PATH) ++HOTSPOT_BUILD_ARGUMENTS += GENSRCDIR=$(GENSRCDIR) + + # Why do these need to be passed in? Because of windows nmake? and MAKEFLAGS=? + # Or is there something wrong with hotspot/make/Makefile?
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/ecj/hotspot/original/hotspot-jdk-dependency.patch Fri Feb 15 00:02:19 2013 +0000 @@ -0,0 +1,25 @@ +diff -Nru openjdk-ecj.orig/hotspot/make/linux/makefiles/sa.make openjdk-ecj/hotspot/make/linux/makefiles/sa.make +--- openjdk-ecj.orig/hotspot/make/linux/makefiles/sa.make 2012-05-01 22:15:06.000000000 +0100 ++++ openjdk-ecj/hotspot/make/linux/makefiles/sa.make 2012-08-15 19:43:49.830577295 +0100 +@@ -97,8 +97,8 @@ + $(foreach file,$(AGENT_FILES1),$(shell echo $(file) >> $(AGENT_FILES1_LIST))) + $(foreach file,$(AGENT_FILES2),$(shell echo $(file) >> $(AGENT_FILES2_LIST))) + +- $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES1_LIST) +- $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES2_LIST) ++ $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR):$(JDK_TOPDIR)/src/share/classes:$(JDK_TOPDIR)/src/solaris/classes:$(GENSRCDIR) -d $(SA_CLASSDIR) @$(AGENT_FILES1_LIST) ++ $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR):$(JDK_TOPDIR)/src/share/classes:$(JDK_TOPDIR)/src/solaris/classes:$(GENSRCDIR) -d $(SA_CLASSDIR) @$(AGENT_FILES2_LIST) + + $(QUIETLY) $(REMOTE) $(COMPILE.RMIC) -classpath $(SA_CLASSDIR) -d $(SA_CLASSDIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer + $(QUIETLY) echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES) +diff -Nru openjdk-ecj.orig/make/hotspot-rules.gmk openjdk-ecj/make/hotspot-rules.gmk +--- openjdk-ecj.orig/make/hotspot-rules.gmk 2012-05-01 22:13:57.000000000 +0100 ++++ openjdk-ecj/make/hotspot-rules.gmk 2012-08-15 19:44:23.215116331 +0100 +@@ -83,6 +83,7 @@ + HOTSPOT_BUILD_ARGUMENTS += $(COMMON_BUILD_ARGUMENTS) + HOTSPOT_BUILD_ARGUMENTS += ALT_OUTPUTDIR=$(HOTSPOT_OUTPUTDIR) + HOTSPOT_BUILD_ARGUMENTS += ALT_EXPORT_PATH=$(HOTSPOT_EXPORT_PATH) ++HOTSPOT_BUILD_ARGUMENTS += GENSRCDIR=$(GENSRCDIR) + + # Why do these need to be passed in? Because of windows nmake? and MAKEFLAGS=? + # Or is there something wrong with hotspot/make/Makefile?
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/gcc-suffix-hotspot.patch Fri Feb 15 00:02:19 2013 +0000 @@ -0,0 +1,31 @@ +diff -Nru openjdk.orig/hotspot/agent/src/os/linux/Makefile openjdk/hotspot/agent/src/os/linux/Makefile +--- openjdk.orig/hotspot/agent/src/os/linux/Makefile 2012-05-01 22:15:02.000000000 +0100 ++++ openjdk/hotspot/agent/src/os/linux/Makefile 2012-08-31 14:23:17.249256215 +0100 +@@ -23,7 +23,7 @@ + # + + ARCH := $(shell if ([ `uname -m` = "ia64" ]) ; then echo ia64 ; elif ([ `uname -m` = "x86_64" ]) ; then echo amd64; elif ([ `uname -m` = "sparc64" ]) ; then echo sparc; else echo i386 ; fi ) +-GCC = gcc ++GCC = gcc$(GCC_SUFFIX) + + JAVAH = ${JAVA_HOME}/bin/javah + +diff -Nru openjdk.orig/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make +--- openjdk.orig/hotspot/make/linux/makefiles/gcc.make 2012-08-31 14:22:45.464733130 +0100 ++++ openjdk/hotspot/make/linux/makefiles/gcc.make 2012-08-31 14:23:17.249256215 +0100 +@@ -28,11 +28,11 @@ + # When cross-compiling the ALT_COMPILER_PATH points + # to the cross-compilation toolset + ifdef CROSS_COMPILE_ARCH +-CPP = $(ALT_COMPILER_PATH)/g++ +-CC = $(ALT_COMPILER_PATH)/gcc ++CPP = $(ALT_COMPILER_PATH)/g++$(GCC_SUFFIX) ++CC = $(ALT_COMPILER_PATH)/gcc$(GCC_SUFFIX) + else +-CPP = g++ +-CC = gcc ++CPP = g++$(GCC_SUFFIX) ++CC = gcc$(GCC_SUFFIX) + endif + + AS = $(CC) -c
--- a/patches/gcc-suffix.patch Thu Feb 14 00:01:03 2013 +0000 +++ b/patches/gcc-suffix.patch Fri Feb 15 00:02:19 2013 +0000 @@ -23,37 +23,6 @@ endif ifeq ($(ZERO_BUILD), true) # zero -diff -Nru openjdk.orig/hotspot/agent/src/os/linux/Makefile openjdk/hotspot/agent/src/os/linux/Makefile ---- openjdk.orig/hotspot/agent/src/os/linux/Makefile 2012-05-01 22:15:02.000000000 +0100 -+++ openjdk/hotspot/agent/src/os/linux/Makefile 2012-08-31 14:23:17.249256215 +0100 -@@ -23,7 +23,7 @@ - # - - ARCH := $(shell if ([ `uname -m` = "ia64" ]) ; then echo ia64 ; elif ([ `uname -m` = "x86_64" ]) ; then echo amd64; elif ([ `uname -m` = "sparc64" ]) ; then echo sparc; else echo i386 ; fi ) --GCC = gcc -+GCC = gcc$(GCC_SUFFIX) - - JAVAH = ${JAVA_HOME}/bin/javah - -diff -Nru openjdk.orig/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make ---- openjdk.orig/hotspot/make/linux/makefiles/gcc.make 2012-08-31 14:22:45.464733130 +0100 -+++ openjdk/hotspot/make/linux/makefiles/gcc.make 2012-08-31 14:23:17.249256215 +0100 -@@ -28,11 +28,11 @@ - # When cross-compiling the ALT_COMPILER_PATH points - # to the cross-compilation toolset - ifdef CROSS_COMPILE_ARCH --CPP = $(ALT_COMPILER_PATH)/g++ --CC = $(ALT_COMPILER_PATH)/gcc -+CPP = $(ALT_COMPILER_PATH)/g++$(GCC_SUFFIX) -+CC = $(ALT_COMPILER_PATH)/gcc$(GCC_SUFFIX) - else --CPP = g++ --CC = gcc -+CPP = g++$(GCC_SUFFIX) -+CC = gcc$(GCC_SUFFIX) - endif - - AS = $(CC) -c diff -Nru openjdk.orig/jdk/make/common/shared/Compiler-gcc.gmk openjdk/jdk/make/common/shared/Compiler-gcc.gmk --- openjdk.orig/jdk/make/common/shared/Compiler-gcc.gmk 2012-05-01 22:17:59.000000000 +0100 +++ openjdk/jdk/make/common/shared/Compiler-gcc.gmk 2012-08-31 14:23:17.241256083 +0100
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/hs23/arm-hsdis.patch Fri Feb 15 00:02:19 2013 +0000 @@ -0,0 +1,72 @@ +diff -Nru openjdk.orig/hotspot/src/share/tools/hsdis/hsdis.c openjdk/hotspot/src/share/tools/hsdis/hsdis.c +--- openjdk.orig/hotspot/src/share/tools/hsdis/hsdis.c 2013-02-11 23:08:47.000000000 +0000 ++++ openjdk/hotspot/src/share/tools/hsdis/hsdis.c 2013-02-14 18:06:25.372022803 +0000 +@@ -35,6 +35,8 @@ + #include <dis-asm.h> + #include <inttypes.h> + ++#include <string.h> ++ + #ifndef bool + #define bool int + #define true 1 +@@ -356,7 +358,7 @@ + if (plen > mach_size) plen = mach_size; + strncpy(mach_option, p, plen); + mach_option[plen] = '\0'; +- } else if (plen > 6 && strncmp(p, "hsdis-", 6) == 0) { ++ } else if (plen > 6 && !strncmp(p, "hsdis-", 6)) { + // do not pass these to the next level + } else { + /* just copy it; {i386,sparc}-dis.c might like to see it */ +@@ -418,6 +420,9 @@ + #ifdef LIBARCH_sparcv9 + res = "sparc:v9b"; + #endif ++#ifdef LIBARCH_arm ++ res = "arm"; ++#endif + if (res == NULL) + res = "architecture not set in Makefile!"; + return res; +diff -Nru openjdk.orig/hotspot/src/share/tools/hsdis/Makefile openjdk/hotspot/src/share/tools/hsdis/Makefile +--- openjdk.orig/hotspot/src/share/tools/hsdis/Makefile 2013-02-11 23:08:47.000000000 +0000 ++++ openjdk/hotspot/src/share/tools/hsdis/Makefile 2013-02-14 18:05:21.514998150 +0000 +@@ -68,14 +68,18 @@ + CONFIGURE_ARGS= --host=$(MINGW) --target=$(MINGW) + else + CPU = $(shell uname -m) ++ifneq ($(findstring arm,$(CPU)),) ++ARCH=arm ++else + ARCH1=$(CPU:x86_64=amd64) + ARCH=$(ARCH1:i686=i386) + CFLAGS/i386 += -m32 + CFLAGS/sparc += -m32 + CFLAGS/sparcv9 += -m64 + CFLAGS/amd64 += -m64 ++endif + CFLAGS += $(CFLAGS/$(ARCH)) +-CFLAGS += -fPIC ++CFLAGS += -fPIC -g + OS = linux + LIB_EXT = .so + CC = gcc +@@ -118,7 +122,7 @@ + BINUTILSDIR = $(shell cd $(BINUTILS);pwd) + endif + +-CPPFLAGS += -I$(BINUTILSDIR)/include -I$(BINUTILS)/bfd -I$(TARGET_DIR)/bfd ++CPPFLAGS += -I$(BINUTILSDIR)/include -I$(BINUTILSDIR)/bfd -I$(TARGET_DIR)/bfd + CPPFLAGS += -DLIBARCH_$(LIBARCH) -DLIBARCH=\"$(LIBARCH)\" -DLIB_EXT=\"$(LIB_EXT)\" + + TARGET_DIR = build/$(OS)-$(JDKARCH) +@@ -145,7 +149,7 @@ + demo: $(TARGET) $(DEMO_TARGET) + + $(LIBRARIES): $(TARGET_DIR) $(TARGET_DIR)/Makefile +- if [ ! -f $@ ]; then cd $(TARGET_DIR); make all-opcodes; fi ++ if [ ! -f $@ ]; then cd $(TARGET_DIR); make all-opcodes "CFLAGS=$(CFLAGS)"; fi + + $(TARGET_DIR)/Makefile: + (cd $(TARGET_DIR); CC=$(CC) CFLAGS="$(CFLAGS)" $(BINUTILSDIR)/configure --disable-nls $(CONFIGURE_ARGS))
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/hs23/pr639-broken_shark_build.patch Fri Feb 15 00:02:19 2013 +0000 @@ -0,0 +1,27 @@ +diff -Nru openjdk.orig/hotspot/make/linux/makefiles/launcher.make openjdk/hotspot/make/linux/makefiles/launcher.make +--- openjdk.orig/hotspot/make/linux/makefiles/launcher.make 2013-02-11 23:08:47.000000000 +0000 ++++ openjdk/hotspot/make/linux/makefiles/launcher.make 2013-02-14 17:26:56.322081018 +0000 +@@ -52,6 +52,10 @@ + LAUNCHER.o = launcher.o + LFLAGS_LAUNCHER += -L `pwd` + LIBS_LAUNCHER += -l$(JVM) $(LIBS) ++ ifeq ($(SHARK_BUILD), true) ++ LFLAGS_LAUNCHER += $(LLVM_LDFLAGS) ++ LIBS_LAUNCHER += $(LLVM_LIBS) ++ endif + endif + + LINK_LAUNCHER = $(LINK.CC) +diff -Nru openjdk.orig/hotspot/src/share/vm/ci/ciTypeFlow.cpp openjdk/hotspot/src/share/vm/ci/ciTypeFlow.cpp +--- openjdk.orig/hotspot/src/share/vm/ci/ciTypeFlow.cpp 2013-02-11 23:08:47.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/ci/ciTypeFlow.cpp 2013-02-14 17:26:10.377344366 +0000 +@@ -37,6 +37,9 @@ + #include "memory/allocation.inline.hpp" + #include "runtime/deoptimization.hpp" + #include "utilities/growableArray.hpp" ++#ifdef SHARK ++#include "shark/shark_globals.hpp" ++#endif + + // ciTypeFlow::JsrSet + //
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/hs23/remove_jsr292_tests.patch Fri Feb 15 00:02:19 2013 +0000 @@ -0,0 +1,199 @@ +diff --git a/test/compiler/6990212/Test6990212.java b/test/compiler/6990212/Test6990212.java +deleted file mode 100644 +--- openjdk/hotspot/test/compiler/6990212/Test6990212.java ++++ /dev/null +@@ -1,56 +0,0 @@ +-/* +- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. +- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +- * +- * This code is free software; you can redistribute it and/or modify it +- * under the terms of the GNU General Public License version 2 only, as +- * published by the Free Software Foundation. +- * +- * This code is distributed in the hope that it will be useful, but WITHOUT +- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +- * version 2 for more details (a copy is included in the LICENSE file that +- * accompanied this code). +- * +- * You should have received a copy of the GNU General Public License version +- * 2 along with this work; if not, write to the Free Software Foundation, +- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +- * +- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +- * or visit www.oracle.com if you need additional information or have any +- * questions. +- * +- */ +- +-/** +- * @test +- * @bug 6990212 +- * @summary JSR 292 JVMTI MethodEnter hook is not called for JSR 292 bootstrap and target methods +- * +- * @run main Test6990212 +- */ +- +-import java.lang.invoke.*; +- +-interface intf { +- public Object target(); +-} +- +-public class Test6990212 implements intf { +- public Object target() { +- return null; +- } +- +- public static void main(String[] args) throws Throwable { +- // Build an interface invoke and then invoke it on something +- // that doesn't implement the interface to test the +- // raiseException path. +- MethodHandle target = MethodHandles.lookup().findVirtual(intf.class, "target", MethodType.methodType(Object.class)); +- try { +- target.invoke(new Object()); +- } catch (ClassCastException cce) { +- // everything is ok +- System.out.println("got expected ClassCastException"); +- } +- } +-} +diff --git a/test/compiler/7141637/SpreadNullArg.java b/test/compiler/7141637/SpreadNullArg.java +deleted file mode 100644 +--- openjdk/hotspot/test/compiler/7141637/SpreadNullArg.java ++++ /dev/null +@@ -1,62 +0,0 @@ +-/* +- * Copyright 2011 SAP AG. All Rights Reserved. +- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +- * +- * This code is free software; you can redistribute it and/or modify it +- * under the terms of the GNU General Public License version 2 only, as +- * published by the Free Software Foundation. +- * +- * This code is distributed in the hope that it will be useful, but WITHOUT +- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +- * version 2 for more details (a copy is included in the LICENSE file that +- * accompanied this code). +- * +- * You should have received a copy of the GNU General Public License version +- * 2 along with this work; if not, write to the Free Software Foundation, +- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +- * +- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +- * or visit www.oracle.com if you need additional information or have any +- * questions. +- */ +- +-/* +- * @test SpreadNullArg +- * @bug 7141637 +- * @summary verifies that the MethodHandle spread adapter can gracefully handle null arguments. +- * @run main SpreadNullArg +- * @author volker.simonis@gmail.com +- */ +- +-import java.lang.invoke.MethodHandle; +-import java.lang.invoke.MethodHandles; +-import java.lang.invoke.MethodType; +- +-public class SpreadNullArg { +- +- public static void main(String args[]) { +- +- MethodType mt_ref_arg = MethodType.methodType(int.class, Integer.class); +- MethodHandle mh_spreadInvoker = MethodHandles.spreadInvoker(mt_ref_arg, 0); +- MethodHandle mh_spread_target; +- int result = 42; +- +- try { +- mh_spread_target = +- MethodHandles.lookup().findStatic(SpreadNullArg.class, "target_spread_arg", mt_ref_arg); +- result = (int) mh_spreadInvoker.invokeExact(mh_spread_target, (Object[]) null); +- } catch(NullPointerException e) { +- // Expected exception - do nothing! +- } catch(Throwable e) { +- throw new Error(e); +- } +- +- if (result != 42) throw new Error("Expected NullPointerException was not thrown"); +- } +- +- public static int target_spread_arg(Integer i1) { +- return i1.intValue(); +- } +- +-} +diff --git a/test/compiler/7158807/Test7158807.java b/test/compiler/7158807/Test7158807.java +deleted file mode 100644 +--- openjdk/hotspot/test/compiler/7158807/Test7158807.java ++++ /dev/null +@@ -1,66 +0,0 @@ +-/* +- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. +- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +- * +- * This code is free software; you can redistribute it and/or modify it +- * under the terms of the GNU General Public License version 2 only, as +- * published by the Free Software Foundation. +- * +- * This code is distributed in the hope that it will be useful, but WITHOUT +- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +- * version 2 for more details (a copy is included in the LICENSE file that +- * accompanied this code). +- * +- * You should have received a copy of the GNU General Public License version +- * 2 along with this work; if not, write to the Free Software Foundation, +- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +- * +- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +- * or visit www.oracle.com if you need additional information or have any +- * questions. +- * +- */ +- +-/** +- * @test +- * @bug 7158807 +- * @summary Revise stack management with volatile call sites +- * @author Marc Schonefeld +- * +- * @run main/othervm -XX:CompileThreshold=100 -Xbatch -Xss248k Test7158807 +- */ +- +-import java.lang.invoke.MethodHandle; +-import java.lang.invoke.MethodType; +-import java.lang.invoke.VolatileCallSite; +- +-public class Test7158807 { +- /** +- * @param args the command line arguments +- */ +- public static void main(String[] args) throws Throwable { +- for (int i = 0; i < 25600; i++) { +- MethodType mt = MethodType.methodType(java.lang.String.class); +- System.out.println(mt); +- MethodType mt3 = null; +- try { +- mt3 = MethodType.genericMethodType(i); +- } catch (IllegalArgumentException e) { +- System.out.println("Passed"); +- System.exit(95); +- } +- System.out.println(i+":"); +- try { +- VolatileCallSite vcs = new VolatileCallSite(mt3); +- System.out.println(vcs); +- MethodHandle mh = vcs.dynamicInvoker(); +- vcs.setTarget(mh); +- // System.out.println(mh); +- mh.invoke(mt, mh); +- } catch (Throwable e) { +- } +- } +- } +-} +-
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/original/arm-hsdis.patch Fri Feb 15 00:02:19 2013 +0000 @@ -0,0 +1,90 @@ +2012-01-20 Andrew Haley <aph@redhat.com> + + * Makefile (ARCH): Add entry for armv7l. + (CFLAGS): Enable debugging. + ($(LIBRARIES)): Pass CFLAGS to sub-make. + * hsdis.c: Include string.h. + (parse_caller_options): Fix strncmp bug. + (native_arch_name): Add entry for ARM. + +diff -u openjdk/hotspot/src/share/tools/hsdis/hsdis.c ../icedtea6/openjdk/hotspot/src/share/tools/hsdis/hsdis.c +--- openjdk/hotspot/src/share/tools/hsdis/hsdis.c 2011-11-14 17:07:33.000000000 -0500 ++++ openjdk/hotspot/src/share/tools/hsdis/hsdis.c 2012-01-20 10:21:28.000000000 -0500 +@@ -22,8 +22,6 @@ + * + */ + +-#include "precompiled.hpp" +- + /* hsdis.c -- dump a range of addresses as native instructions + This implements the plugin protocol required by the + HotSpot PrintAssembly option. +@@ -37,6 +35,8 @@ + #include <dis-asm.h> + #include <inttypes.h> + ++#include <string.h> ++ + #ifndef bool + #define bool int + #define true 1 +@@ -358,7 +358,7 @@ + if (plen > mach_size) plen = mach_size; + strncpy(mach_option, p, plen); + mach_option[plen] = '\0'; +- } else if (plen > 6 && strncmp(p, "hsdis-", 6)) { ++ } else if (plen > 6 && !strncmp(p, "hsdis-", 6)) { + // do not pass these to the next level + } else { + /* just copy it; {i386,sparc}-dis.c might like to see it */ +@@ -420,6 +420,9 @@ + #ifdef LIBARCH_sparcv9 + res = "sparc:v9b"; + #endif ++#ifdef LIBARCH_arm ++ res = "arm"; ++#endif + if (res == NULL) + res = "architecture not set in Makefile!"; + return res; +diff -u openjdk/hotspot/src/share/tools/hsdis/Makefile openjdk/hotspot/src/share/tools/hsdis/Makefile +--- openjdk/hotspot/src/share/tools/hsdis/Makefile 2011-11-14 17:07:33.000000000 -0500 ++++ openjdk/hotspot/src/share/tools/hsdis/Makefile 2012-01-20 10:20:32.000000000 -0500 +@@ -68,14 +68,18 @@ + CONFIGURE_ARGS= --host=$(MINGW) --target=$(MINGW) + else + CPU = $(shell uname -m) ++ifneq ($(findstring arm,$(CPU)),) ++ARCH=arm ++else + ARCH1=$(CPU:x86_64=amd64) + ARCH=$(ARCH1:i686=i386) + CFLAGS/i386 += -m32 + CFLAGS/sparc += -m32 + CFLAGS/sparcv9 += -m64 + CFLAGS/amd64 += -m64 ++endif + CFLAGS += $(CFLAGS/$(ARCH)) +-CFLAGS += -fPIC ++CFLAGS += -fPIC -g + OS = linux + LIB_EXT = .so + CC = gcc +@@ -118,7 +122,7 @@ + BINUTILSDIR = $(shell cd $(BINUTILS);pwd) + endif + +-CPPFLAGS += -I$(BINUTILSDIR)/include -I$(BINUTILS)/bfd -I$(TARGET_DIR)/bfd ++CPPFLAGS += -I$(BINUTILSDIR)/include -I$(BINUTILSDIR)/bfd -I$(TARGET_DIR)/bfd + CPPFLAGS += -DLIBARCH_$(LIBARCH) -DLIBARCH=\"$(LIBARCH)\" -DLIB_EXT=\"$(LIB_EXT)\" + + TARGET_DIR = build/$(OS)-$(JDKARCH) +@@ -145,7 +149,7 @@ + demo: $(TARGET) $(DEMO_TARGET) + + $(LIBRARIES): $(TARGET_DIR) $(TARGET_DIR)/Makefile +- if [ ! -f $@ ]; then cd $(TARGET_DIR); make all-opcodes; fi ++ if [ ! -f $@ ]; then cd $(TARGET_DIR); make all-opcodes "CFLAGS=$(CFLAGS)"; fi + + $(TARGET_DIR)/Makefile: + (cd $(TARGET_DIR); CC=$(CC) CFLAGS="$(CFLAGS)" $(BINUTILSDIR)/configure --disable-nls $(CONFIGURE_ARGS))
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/hotspot/original/pr639-broken_shark_build.patch Fri Feb 15 00:02:19 2013 +0000 @@ -0,0 +1,44 @@ +--- openjdk.orig/hotspot/src/share/vm/ci/ciTypeFlow.cpp 2011-01-25 22:57:24.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/ci/ciTypeFlow.cpp 2011-02-24 00:28:58.000000000 +0000 +@@ -37,6 +37,9 @@ + #include "memory/allocation.inline.hpp" + #include "runtime/deoptimization.hpp" + #include "utilities/growableArray.hpp" ++#ifdef SHARK ++#include "shark/shark_globals.hpp" ++#endif + + // ciTypeFlow::JsrSet + // +--- openjdk.orig/hotspot/make/linux/makefiles/vm.make 2011-02-23 21:28:45.000000000 +0000 ++++ openjdk/hotspot/make/linux/makefiles/vm.make 2011-02-24 02:17:30.000000000 +0000 +@@ -139,13 +139,15 @@ + COMPILER2_PATHS += $(GAMMADIR)/src/share/vm/libadt + COMPILER2_PATHS += $(GENERATED)/adfiles + ++SHARK_PATHS := $(GAMMADIR)/src/share/vm/shark ++ + # Include dirs per type. + Src_Dirs/CORE := $(CORE_PATHS) + Src_Dirs/COMPILER1 := $(CORE_PATHS) $(COMPILER1_PATHS) + Src_Dirs/COMPILER2 := $(CORE_PATHS) $(COMPILER2_PATHS) + Src_Dirs/TIERED := $(CORE_PATHS) $(COMPILER1_PATHS) $(COMPILER2_PATHS) + Src_Dirs/ZERO := $(CORE_PATHS) +-Src_Dirs/SHARK := $(CORE_PATHS) ++Src_Dirs/SHARK := $(CORE_PATHS) $(SHARK_PATHS) + Src_Dirs := $(Src_Dirs/$(TYPE)) + + COMPILER2_SPECIFIC_FILES := opto libadt bcEscapeAnalyzer.cpp chaitin\* c2_\* runtime_\* +--- openjdk.orig/hotspot/make/linux/makefiles/launcher.make 2011-02-22 16:51:24.000000000 +0000 ++++ openjdk/hotspot/make/linux/makefiles/launcher.make 2011-02-24 03:01:36.000000000 +0000 +@@ -52,6 +52,10 @@ + LAUNCHER.o = launcher.o + LFLAGS_LAUNCHER += -L `pwd` + LIBS_LAUNCHER += -l$(JVM) $(LIBS) ++ ifeq ($(SHARK_BUILD), true) ++ LFLAGS_LAUNCHER += $(LLVM_LDFLAGS) ++ LIBS_LAUNCHER += $(LLVM_LIBS) ++ endif + endif + + LINK_LAUNCHER = $(LINK.c)
--- a/patches/no-static-linking.patch Thu Feb 14 00:01:03 2013 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,44 +0,0 @@ -diff -r f7afe7a5e086 make/common/shared/Compiler-gcc.gmk ---- openjdk.orig/jdk/make/common/shared/Compiler-gcc.gmk Fri Jan 21 16:21:28 2011 -0800 -+++ openjdk/jdk/make/common/shared/Compiler-gcc.gmk Thu Feb 03 11:34:13 2011 +0000 -@@ -61,7 +61,7 @@ - CC = $(COMPILER_PATH)gcc - CPP = $(COMPILER_PATH)gcc -E - # statically link libstdc++ before C++ ABI is stablized on Linux -- STATIC_CXX = true -+ STATIC_CXX = false - ifeq ($(STATIC_CXX),true) - # g++ always dynamically links libstdc++, even we use "-Wl,-Bstatic -lstdc++" - # We need to use gcc to statically link the C++ runtime. gcc and g++ use -diff -r 9797bcda6c12 make/linux/makefiles/vm.make ---- openjdk.orig/hotspot/make/linux/makefiles/vm.make Fri Jan 21 16:20:02 2011 -0800 -+++ openjdk/hotspot/make/linux/makefiles/vm.make Thu Feb 03 15:01:10 2011 +0000 -@@ -137,15 +137,7 @@ - vm.def: $(Res_Files) $(Obj_Files) - sh $(GAMMADIR)/make/linux/makefiles/build_vm_def.sh *.o > $@ - --ifeq ($(SHARK_BUILD), true) -- STATIC_CXX = false --else -- ifeq ($(ZERO_LIBARCH), ppc64) -- STATIC_CXX = false -- else -- STATIC_CXX = true -- endif --endif -+STATIC_CXX = false - - ifeq ($(LINK_INTO),AOUT) - LIBJVM.o = -diff -r 05436b84e93a make/common/shared/Compiler-gcc.gmk ---- openjdk.orig/corba/make/common/shared/Compiler-gcc.gmk Sat Jan 16 01:04:04 2010 +0000 -+++ openjdk/corba/make/common/shared/Compiler-gcc.gmk Thu Feb 03 16:01:37 2011 +0000 -@@ -61,7 +61,7 @@ - CC = $(COMPILER_PATH)gcc - CPP = $(COMPILER_PATH)gcc -E - # statically link libstdc++ before C++ ABI is stablized on Linux -- STATIC_CXX = true -+ STATIC_CXX = false - ifeq ($(STATIC_CXX),true) - # g++ always dynamically links libstdc++, even we use "-Wl,-Bstatic -lstdc++" - # We need to use gcc to statically link the C++ runtime. gcc and g++ use
--- a/patches/pr639-broken_shark_build.patch Thu Feb 14 00:01:03 2013 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,44 +0,0 @@ ---- openjdk.orig/hotspot/src/share/vm/ci/ciTypeFlow.cpp 2011-01-25 22:57:24.000000000 +0000 -+++ openjdk/hotspot/src/share/vm/ci/ciTypeFlow.cpp 2011-02-24 00:28:58.000000000 +0000 -@@ -37,6 +37,9 @@ - #include "memory/allocation.inline.hpp" - #include "runtime/deoptimization.hpp" - #include "utilities/growableArray.hpp" -+#ifdef SHARK -+#include "shark/shark_globals.hpp" -+#endif - - // ciTypeFlow::JsrSet - // ---- openjdk.orig/hotspot/make/linux/makefiles/vm.make 2011-02-23 21:28:45.000000000 +0000 -+++ openjdk/hotspot/make/linux/makefiles/vm.make 2011-02-24 02:17:30.000000000 +0000 -@@ -139,13 +139,15 @@ - COMPILER2_PATHS += $(GAMMADIR)/src/share/vm/libadt - COMPILER2_PATHS += $(GENERATED)/adfiles - -+SHARK_PATHS := $(GAMMADIR)/src/share/vm/shark -+ - # Include dirs per type. - Src_Dirs/CORE := $(CORE_PATHS) - Src_Dirs/COMPILER1 := $(CORE_PATHS) $(COMPILER1_PATHS) - Src_Dirs/COMPILER2 := $(CORE_PATHS) $(COMPILER2_PATHS) - Src_Dirs/TIERED := $(CORE_PATHS) $(COMPILER1_PATHS) $(COMPILER2_PATHS) - Src_Dirs/ZERO := $(CORE_PATHS) --Src_Dirs/SHARK := $(CORE_PATHS) -+Src_Dirs/SHARK := $(CORE_PATHS) $(SHARK_PATHS) - Src_Dirs := $(Src_Dirs/$(TYPE)) - - COMPILER2_SPECIFIC_FILES := opto libadt bcEscapeAnalyzer.cpp chaitin\* c2_\* runtime_\* ---- openjdk.orig/hotspot/make/linux/makefiles/launcher.make 2011-02-22 16:51:24.000000000 +0000 -+++ openjdk/hotspot/make/linux/makefiles/launcher.make 2011-02-24 03:01:36.000000000 +0000 -@@ -52,6 +52,10 @@ - LAUNCHER.o = launcher.o - LFLAGS_LAUNCHER += -L `pwd` - LIBS_LAUNCHER += -l$(JVM) $(LIBS) -+ ifeq ($(SHARK_BUILD), true) -+ LFLAGS_LAUNCHER += $(LLVM_LDFLAGS) -+ LIBS_LAUNCHER += $(LLVM_LIBS) -+ endif - endif - - LINK_LAUNCHER = $(LINK.c)