Index: head/java/openjdk6/Makefile.icedtea =================================================================== --- head/java/openjdk6/Makefile.icedtea (revision 323677) +++ head/java/openjdk6/Makefile.icedtea (revision 323678) @@ -1,174 +1,173 @@ # $FreeBSD$ _PATCHES= \ jaxp.patch \ jaxws.patch \ security/20120830/7182135-impossible_to_use_some_editors_directly.patch \ security/20130201/7201068.patch \ security/20130201/6563318.patch \ security/20130201/6664509.patch \ security/20130201/6776941.patch \ security/20130201/7141694.patch \ security/20130201/7173145.patch \ security/20130201/7186945.patch \ security/20130201/7186948.patch \ security/20130201/7186952.patch \ security/20130201/7186954.patch \ security/20130201/7192392.patch \ security/20130201/7192393.patch \ security/20130201/7192977.patch \ security/20130201/7197546.patch \ security/20130201/7200491.patch \ security/20130201/7200500.patch \ security/20130201/7201064.patch \ security/20130201/7201066.patch \ security/20130201/7201070.patch \ security/20130201/7201071.patch \ security/20130201/8000210.patch \ security/20130201/8000537.patch \ security/20130201/8000540.patch \ security/20130201/8000631.patch \ security/20130201/8001242.patch \ security/20130201/8001307.patch \ security/20130201/8001972.patch \ security/20130201/8002325.patch \ security/20130219/8006446.patch \ security/20130219/8006777.patch \ security/20130219/8007688.patch \ security/20130304/8007014.patch \ security/20130304/8007675.patch \ openjdk/7036559-concurrenthashmap_improvements.patch \ security/20130416/8009063.patch \ openjdk/8004302-soap_test_failure.patch \ security/20130416/6657673.patch \ security/20130416/6657673-fixup.patch \ openjdk/7133220-factory_finder_parser_transform_useBSClassLoader.patch \ security/20130416/6657673-factory_finder.patch \ openjdk/6669869-queries_per_appcontext.patch \ openjdk/5102804-memory_leak.patch \ openjdk/6963811-deadlock_fix.patch \ openjdk/7064279-resource_release.patch \ openjdk/7064279-fixup.patch \ security/20130416/7200507.patch \ security/20130416/8000724.patch \ security/20130416/8004986.patch \ openjdk/6501644-icu_sync.patch \ - openjdk/6636110-deoptimization_unaligned_stackpointer.patch \ openjdk/6886358-layout_update.patch \ security/20130416/8001031.patch \ openjdk/7017324-kerning_crash.patch \ security/20130416/8001040.patch \ security/20130416/8001322.patch \ security/20130416/8001329.patch \ security/20130416/8003335.patch \ security/20130416/8003445.patch \ security/20130416/8003543.patch \ security/20130416/8004261.patch \ security/20130416/8004336.patch \ security/20130416/8005432.patch \ security/20130416/8005943.patch \ security/20130416/8006309.patch \ security/20130416/8006435.patch \ security/20130416/8006790.patch \ security/20130416/8006795.patch \ security/20130416/8007406.patch \ security/20130416/8007617.patch \ security/20130416/8007667.patch \ security/20130416/8007918.patch \ security/20130416/8009305.patch \ security/20130416/8009699.patch \ security/20130416/8009814.patch \ security/20130416/8009857.patch \ openjdk/7195301-no_instanceof_node.patch \ openjdk/6469266-xmlsec_1.4.2.patch \ security/20130618/6741606-apache_santuario.patch \ security/20130618/7170730-windows_network_stack.patch \ security/20130618/8000638-improve_deserialization.patch \ security/20130618/8001032-restrict_object_access-corba.patch \ security/20130618/8001033-refactor_address_handling.patch \ security/20130618/8001034-memory_management.patch \ security/20130618/8001038-resourcefully_handle_resources.patch \ security/20130618/8001043-clarify_definition_restrictions.patch \ security/20130618/8001309-better_handling_of_annotation_interfaces.patch \ security/20130618/8001318-socket_getlocaladdress_consistency.patch \ security/20130618/8001318-6_fixup.patch \ security/20130618/8001330-improve_checking_order.patch \ security/20130618/8003703-update_rmi_connection_dialog.patch \ openjdk/8005615-failure_to_load_logger_implementation.patch \ openjdk/8007393.patch \ openjdk/8007611.patch \ security/20130618/8004584-augment_applet_contextualization.patch \ security/20130618/8005007-better_glyph_processing.patch \ security/20130618/8006328-sound_class_robustness.patch \ security/20130618/8006328-6_fixup.patch \ security/20130618/8006611-improve_scripting.patch \ security/20130618/8007467-improve_jmx_internal_api_robustness.patch \ security/20130618/8007471-improve_mbean_notifications.patch \ security/20130618/8007471-6_fixup.patch \ security/20130618/8007812-getenclosingmethod.patch \ security/20130618/8008120-improve_jmx_class_checking.patch \ security/20130618/8008124-better_compliance_testing.patch \ security/20130618/8008128-better_jmx_api_coherence.patch \ security/20130618/8008132-better_serialization.patch \ security/20130618/8008585-jmx_data_handling.patch \ security/20130618/8008593-better_urlclassloader.patch \ security/20130618/8008603-jmx_provider_provision.patch \ security/20130618/8008611-jmx_annotations.patch \ security/20130618/8008611-6_fixup.patch \ security/20130618/8008615-jmx_internal_api_robustness.patch \ security/20130618/8008623-mbeanserver_handling.patch \ security/20130618/8008744-6741606_rework.patch \ security/20130618/8008982-jmx_interface_changes.patch \ security/20130618/8009004-rmi_connection_improvement.patch \ security/20130618/8009013-t2k_glyphs.patch \ security/20130618/8009034-jmx_notification_improvement.patch \ security/20130618/8009038-jmx_notification_support_improvement.patch \ security/20130618/8009067-improve_key_storing.patch \ security/20130618/8009235-improve_tsa_data_handling.patch \ openjdk/6888167-medialib_memory_leaks.patch \ security/20130618/8011243-improve_imaginglib.patch \ security/20130618/8011248-better_component_rasters.patch \ security/20130618/8011253-better_short_component_rasters.patch \ security/20130618/8011257-better_byte_component_rasters.patch \ security/20130618/8011557-improve_reflection.patch \ security/20130618/8012421-better_positioning.patch \ security/20130618/8012438-better_image_validation.patch \ security/20130618/8012597-better_image_channel_validation.patch \ security/20130618/8012601-better_layout_validation.patch \ security/20130618/8014281-better_xml_signature_checking.patch \ security/20130618/diamond_fix.patch \ security/20130618/handle_npe.patch \ security/20130618/javac_issue.patch \ security/20130618/7158805-nested_subroutine_rewriting.patch \ security/20130618/8001330-checking_order_improvement.patch \ security/20130618/8000642-better_transportation_handling.patch \ openjdk/6786028-wcag_bold_tags.patch \ openjdk/6786682-wcag_lang.patch \ openjdk/6802694-no_deprecated.patch \ openjdk/6786690-wcag_dl.patch \ openjdk/6786688-wcag_table.patch \ openjdk/6961178-doclet_xml.patch \ openjdk/6851834-restructure.patch \ openjdk/6851834-handle_renames.patch \ openjdk/7006270-regressions.patch \ security/20130618/8012375-javadoc_framing.patch \ security/20130618/8015997-more_javadoc_framing.patch \ security/20130618/langtools_merge-01.patch \ security/20130618/langtools_merge-02.patch \ security/20130618/langtools_generics.patch \ security/20130618/langtools_merge-03.patch \ security/20130618/8009071-improve_shape_handling.patch .if ${PORT_OPTIONS:MICEDTEA} _PATCHES+= \ applet_hole.patch \ openjdk/7032388-work_without_cmov_instruction.patch \ openjdk/8004341-jck_dialog_failure.patch \ openjdk/8004341-jck_dialog_failure-02.patch \ openjdk/7197906-handle_32_bit_shifts.patch \ jpegclasses.patch .endif .for p in ${_PATCHES} ICEDTEA_PATCHES+= ${FILESDIR}/icedtea/${p} .endfor Index: head/java/openjdk6/files/icedtea/openjdk/6636110-deoptimization_unaligned_stackpointer.patch =================================================================== --- head/java/openjdk6/files/icedtea/openjdk/6636110-deoptimization_unaligned_stackpointer.patch (revision 323677) +++ head/java/openjdk6/files/icedtea/openjdk/6636110-deoptimization_unaligned_stackpointer.patch (nonexistent) @@ -1,76 +0,0 @@ - -# HG changeset patch -# User never -# Date 1320440131 25200 -# Node ID 1feb272af3a704c03d544ef6c606db32049e492c -# Parent 448691f285a54cd944c45c79ff0ba13ec8e3e205 -6636110: unaligned stackpointer leads to crash during deoptimization -Reviewed-by: never, kvn -Contributed-by: Andreas Schoesser - ---- hotspot/src/cpu/x86/vm/sharedRuntime_x86_64.cpp.orig Thu Nov 03 04:12:49 2011 -0700 -+++ hotspot/src/cpu/x86/vm/sharedRuntime_x86_64.cpp Fri Nov 04 13:55:31 2011 -0700 -@@ -2797,17 +2797,25 @@ void SharedRuntime::generate_deopt_blob( - // void Deoptimization::unpack_frames(JavaThread* thread, int exec_mode) - - // Use rbp because the frames look interpreted now -- __ set_last_Java_frame(noreg, rbp, NULL); -- -+ // Save "the_pc" since it cannot easily be retrieved using the last_java_SP after we aligned SP. -+ // Don't need the precise return PC here, just precise enough to point into this code blob. -+ address the_pc = __ pc(); -+ __ set_last_Java_frame(noreg, rbp, the_pc); -+ -+ __ andptr(rsp, -(StackAlignmentInBytes)); // Fix stack alignment as required by ABI - __ mov(c_rarg0, r15_thread); - __ movl(c_rarg1, r14); // second arg: exec_mode - __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, Deoptimization::unpack_frames))); -+ // Revert SP alignment after call since we're going to do some SP relative addressing below -+ __ movptr(rsp, Address(r15_thread, JavaThread::last_Java_sp_offset())); - - // Set an oopmap for the call site -- oop_maps->add_gc_map(__ pc() - start, -+ // Use the same PC we used for the last java frame -+ oop_maps->add_gc_map(the_pc - start, - new OopMap( frame_size_in_words, 0 )); - -- __ reset_last_Java_frame(true, false); -+ // Clear fp AND pc -+ __ reset_last_Java_frame(true, true); - - // Collect return values - __ movdbl(xmm0, Address(rsp, RegisterSaver::xmm0_offset_in_bytes())); -@@ -2968,7 +2976,10 @@ void SharedRuntime::generate_uncommon_tr - // Prolog - - // Use rbp because the frames look interpreted now -- __ set_last_Java_frame(noreg, rbp, NULL); -+ // Save "the_pc" since it cannot easily be retrieved using the last_java_SP after we aligned SP. -+ // Don't need the precise return PC here, just precise enough to point into this code blob. -+ address the_pc = __ pc(); -+ __ set_last_Java_frame(noreg, rbp, the_pc); - - // Call C code. Need thread but NOT official VM entry - // crud. We cannot block on this call, no GC can happen. Call should -@@ -2977,14 +2988,17 @@ void SharedRuntime::generate_uncommon_tr - // - // BasicType unpack_frames(JavaThread* thread, int exec_mode); - -+ __ andptr(rsp, -(StackAlignmentInBytes)); // Align SP as required by ABI - __ mov(c_rarg0, r15_thread); - __ movl(c_rarg1, Deoptimization::Unpack_uncommon_trap); - __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, Deoptimization::unpack_frames))); - - // Set an oopmap for the call site -- oop_maps->add_gc_map(__ pc() - start, new OopMap(SimpleRuntimeFrame::framesize, 0)); -- -- __ reset_last_Java_frame(true, false); -+ // Use the same PC we used for the last java frame -+ oop_maps->add_gc_map(the_pc - start, new OopMap(SimpleRuntimeFrame::framesize, 0)); -+ -+ // Clear fp AND pc -+ __ reset_last_Java_frame(true, true); - - // Pop self-frame. - __ leave(); // Epilog - Property changes on: head/java/openjdk6/files/icedtea/openjdk/6636110-deoptimization_unaligned_stackpointer.patch ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Index: head/java/openjdk6/files/patch-sharedRuntime_x86_64.cpp =================================================================== --- head/java/openjdk6/files/patch-sharedRuntime_x86_64.cpp (nonexistent) +++ head/java/openjdk6/files/patch-sharedRuntime_x86_64.cpp (revision 323678) @@ -0,0 +1,76 @@ + +# HG changeset patch +# User never +# Date 1320440131 25200 +# Node ID 1feb272af3a704c03d544ef6c606db32049e492c +# Parent 448691f285a54cd944c45c79ff0ba13ec8e3e205 +6636110: unaligned stackpointer leads to crash during deoptimization +Reviewed-by: never, kvn +Contributed-by: Andreas Schoesser + +--- hotspot/src/cpu/x86/vm/sharedRuntime_x86_64.cpp.orig Thu Nov 03 04:12:49 2011 -0700 ++++ hotspot/src/cpu/x86/vm/sharedRuntime_x86_64.cpp Fri Nov 04 13:55:31 2011 -0700 +@@ -2797,17 +2797,25 @@ void SharedRuntime::generate_deopt_blob( + // void Deoptimization::unpack_frames(JavaThread* thread, int exec_mode) + + // Use rbp because the frames look interpreted now +- __ set_last_Java_frame(noreg, rbp, NULL); +- ++ // Save "the_pc" since it cannot easily be retrieved using the last_java_SP after we aligned SP. ++ // Don't need the precise return PC here, just precise enough to point into this code blob. ++ address the_pc = __ pc(); ++ __ set_last_Java_frame(noreg, rbp, the_pc); ++ ++ __ andptr(rsp, -(StackAlignmentInBytes)); // Fix stack alignment as required by ABI + __ mov(c_rarg0, r15_thread); + __ movl(c_rarg1, r14); // second arg: exec_mode + __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, Deoptimization::unpack_frames))); ++ // Revert SP alignment after call since we're going to do some SP relative addressing below ++ __ movptr(rsp, Address(r15_thread, JavaThread::last_Java_sp_offset())); + + // Set an oopmap for the call site +- oop_maps->add_gc_map(__ pc() - start, ++ // Use the same PC we used for the last java frame ++ oop_maps->add_gc_map(the_pc - start, + new OopMap( frame_size_in_words, 0 )); + +- __ reset_last_Java_frame(true, false); ++ // Clear fp AND pc ++ __ reset_last_Java_frame(true, true); + + // Collect return values + __ movdbl(xmm0, Address(rsp, RegisterSaver::xmm0_offset_in_bytes())); +@@ -2968,7 +2976,10 @@ void SharedRuntime::generate_uncommon_tr + // Prolog + + // Use rbp because the frames look interpreted now +- __ set_last_Java_frame(noreg, rbp, NULL); ++ // Save "the_pc" since it cannot easily be retrieved using the last_java_SP after we aligned SP. ++ // Don't need the precise return PC here, just precise enough to point into this code blob. ++ address the_pc = __ pc(); ++ __ set_last_Java_frame(noreg, rbp, the_pc); + + // Call C code. Need thread but NOT official VM entry + // crud. We cannot block on this call, no GC can happen. Call should +@@ -2977,14 +2988,17 @@ void SharedRuntime::generate_uncommon_tr + // + // BasicType unpack_frames(JavaThread* thread, int exec_mode); + ++ __ andptr(rsp, -(StackAlignmentInBytes)); // Align SP as required by ABI + __ mov(c_rarg0, r15_thread); + __ movl(c_rarg1, Deoptimization::Unpack_uncommon_trap); + __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, Deoptimization::unpack_frames))); + + // Set an oopmap for the call site +- oop_maps->add_gc_map(__ pc() - start, new OopMap(SimpleRuntimeFrame::framesize, 0)); +- +- __ reset_last_Java_frame(true, false); ++ // Use the same PC we used for the last java frame ++ oop_maps->add_gc_map(the_pc - start, new OopMap(SimpleRuntimeFrame::framesize, 0)); ++ ++ // Clear fp AND pc ++ __ reset_last_Java_frame(true, true); + + // Pop self-frame. + __ leave(); // Epilog + Property changes on: head/java/openjdk6/files/patch-sharedRuntime_x86_64.cpp ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property