You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2020/03/12 16:22:29 UTC
svn commit: r1875129 - /subversion/trunk/tools/dev/unix-build/Makefile.svn
Author: stsp
Date: Thu Mar 12 16:22:29 2020
New Revision: 1875129
URL: http://svn.apache.org/viewvc?rev=1875129&view=rev
Log:
Follow up to r1875122: Actually fix (some of?) the crashes in Ruby.
* tools/dev/unix-build/Makefile.svn: Add more fixes I came up with while
debugging Ruby crashes. Patches still revelant to current versions of
Ruby (we're still on 2.4) have been submittes upstream.
Also, re-create the ruby patch properly instead of appending to an
existing patch file if already present.
Modified:
subversion/trunk/tools/dev/unix-build/Makefile.svn
Modified: subversion/trunk/tools/dev/unix-build/Makefile.svn
URL: http://svn.apache.org/viewvc/subversion/trunk/tools/dev/unix-build/Makefile.svn?rev=1875129&r1=1875128&r2=1875129&view=diff
==============================================================================
--- subversion/trunk/tools/dev/unix-build/Makefile.svn (original)
+++ subversion/trunk/tools/dev/unix-build/Makefile.svn Thu Mar 12 16:22:29 2020
@@ -1208,7 +1208,7 @@ $(RUBY_OBJDIR)/openssl_missing.patch:
$(RUBY_OBJDIR)/sparc64_buserror.patch:
mkdir -p $(dir $@)
- echo >> $@.tmp '--- iseq.h.orig Thu Mar 12 10:48:08 2020'
+ echo > $@.tmp '--- iseq.h.orig Thu Mar 12 10:48:08 2020'
echo >> $@.tmp '+++ iseq.h Thu Mar 12 10:49:00 2020'
echo >> $@.tmp '@@ -181,12 +181,11 @@'
echo >> $@.tmp ' struct iseq_compile_data_storage *next;'
@@ -1225,6 +1225,52 @@ $(RUBY_OBJDIR)/sparc64_buserror.patch:
echo >> $@.tmp ' '
echo >> $@.tmp ' struct iseq_compile_data {'
echo >> $@.tmp ' /* GC is needed */'
+ echo >> $@.tmp '--- compile.c.orig Thu Mar 12 12:58:26 2020'
+ echo >> $@.tmp '+++ compile.c Thu Mar 12 16:36:55 2020'
+ echo >> $@.tmp '@@ -751,6 +751,16 @@'
+ echo >> $@.tmp ' #define STRICT_ALIGNMENT'
+ echo >> $@.tmp ' #endif'
+ echo >> $@.tmp ' '
+ echo >> $@.tmp '+/*'
+ echo >> $@.tmp '+ * Some OpenBSD platforms (including sparc64) require strict alignment.'
+ echo >> $@.tmp '+ */'
+ echo >> $@.tmp '+#if defined(__OpenBSD__)'
+ echo >> $@.tmp '+ #include <sys/endian.h>'
+ echo >> $@.tmp '+ #ifdef __STRICT_ALIGNMENT'
+ echo >> $@.tmp '+ #define STRICT_ALIGNMENT'
+ echo >> $@.tmp '+ #endif'
+ echo >> $@.tmp '+#endif'
+ echo >> $@.tmp '+'
+ echo >> $@.tmp ' #ifdef STRICT_ALIGNMENT'
+ echo >> $@.tmp ' #if defined(HAVE_TRUE_LONG_LONG) && SIZEOF_LONG_LONG > SIZEOF_VALUE'
+ echo >> $@.tmp ' #define ALIGNMENT_SIZE SIZEOF_LONG_LONG'
+ echo >> $@.tmp '@@ -2094,7 +2104,8 @@'
+ echo >> $@.tmp ' unref_destination(iobj, 0);'
+ echo >> $@.tmp ' REMOVE_ELEM(&iobj->link);'
+ echo >> $@.tmp ' }'
+ echo >> $@.tmp '- else if (iobj != diobj && IS_INSN_ID(diobj, jump) &&'
+ echo >> $@.tmp '+ else if (iobj != diobj && IS_INSN(&diobj->link) &&'
+ echo >> $@.tmp '+ IS_INSN_ID(diobj, jump) &&'
+ echo >> $@.tmp ' OPERAND_AT(iobj, 0) != OPERAND_AT(diobj, 0)) {'
+ echo >> $@.tmp ' replace_destination(iobj, diobj);'
+ echo >> $@.tmp ' remove_unreachable_chunk(iseq, iobj->link.next);'
+ echo >> $@.tmp '@@ -2136,6 +2147,7 @@'
+ echo >> $@.tmp ' * L2:'
+ echo >> $@.tmp ' */'
+ echo >> $@.tmp ' else if ((piobj = (INSN *)get_prev_insn(iobj)) != 0 &&'
+ echo >> $@.tmp '+ IS_INSN(&piobj->link) &&'
+ echo >> $@.tmp ' (IS_INSN_ID(piobj, branchif) ||'
+ echo >> $@.tmp ' IS_INSN_ID(piobj, branchunless))) {'
+ echo >> $@.tmp ' if (niobj == (INSN *)get_destination_insn(piobj)) {'
+ echo >> $@.tmp '@@ -2176,7 +2188,7 @@'
+ echo >> $@.tmp ' }'
+ echo >> $@.tmp ' '
+ echo >> $@.tmp ' for (;;) {'
+ echo >> $@.tmp '- if (IS_INSN_ID(nobj, jump)) {'
+ echo >> $@.tmp '+ if (IS_INSN(&nobj->link) && IS_INSN_ID(nobj, jump)) {'
+ echo >> $@.tmp ' replace_destination(iobj, nobj);'
+ echo >> $@.tmp ' }'
+ echo >> $@.tmp ' else if (prev_dup && IS_INSN_ID(nobj, dup) &&'
mv -f $@.tmp $@
ifeq ($(UNAME),OpenBSD)