diff --git a/dev-lang/ruby/files/ruby-2.1.9-ia64.patch b/dev-lang/ruby/files/ruby-2.1.9-ia64.patch deleted file mode 100644 index 028c5d0e618f3..0000000000000 --- a/dev-lang/ruby/files/ruby-2.1.9-ia64.patch +++ /dev/null @@ -1,63 +0,0 @@ -https://bugs.gentoo.org/561780 -https://github.com/ruby/ruby/pull/1625 - -fix crash on register stack mark/sweep pass - -The crash looks like - - Program received signal SIGSEGV, Segmentation fault. - mark_locations_array (objspace=0x6000000000045db0, x=0x0, n=864692227966763116) at gc.c:3297 - 3297 v = *x; - (gdb) bt - #0 mark_locations_array (objspace=0x6000000000045db0, x=0x0, n=864692227966763116) at gc.c:3297 - #1 0x400000000014a040 in gc_mark_locations (objspace=0x6000000000045db0, start=0x0, end=0x6000080000000368) at gc.c:3310 - #2 0x400000000014b3a0 in mark_current_machine_context (objspace=0x6000000000045db0, th=0x60000000000455b0) at gc.c:3500 - #3 0x400000000014dfe0 in gc_mark_roots (objspace=0x6000000000045db0, full_mark=0, categoryp=0x0) at gc.c:4105 - #4 0x400000000014e6b0 in gc_marks_body (objspace=0x6000000000045db0, full_mark=0) at gc.c:4164 - #5 0x400000000014f260 in gc_marks (objspace=0x6000000000045db0, full_mark=0) at gc.c:4526 - #6 0x40000000001525c0 in garbage_collect_body (objspace=0x6000000000045db0, full_mark=0, immediate_sweep=0, reason=256) at gc.c:5024 - #7 0x400000000013c010 in heap_prepare_freepage (objspace=0x6000000000045db0, heap=0x6000000000045dc0) at gc.c:1219 - #8 0x400000000013c140 in heap_get_freeobj_from_next_freepage (objspace=0x6000000000045db0, heap=0x6000000000045dc0) at gc.c:1237 - #9 0x400000000013c360 in heap_get_freeobj (objspace=0x6000000000045db0, heap=0x6000000000045dc0) at gc.c:1259 - #10 0x400000000013c950 in newobj_of (klass=0, flags=40, v1=0, v2=0, v3=0) at gc.c:1303 - #11 0x400000000013ccc0 in rb_newobj_of (klass=0, flags=40) at gc.c:1356 - #12 0x4000000000163740 in hash_alloc (klass=0) at hash.c:289 - #13 0x4000000000163860 in rb_hash_new () at hash.c:309 - #14 0x400000000050e420 in Init_BareVM () at vm.c:2822 - #15 0x40000000000f6b60 in ruby_setup () at eval.c:54 - #16 0x40000000000f6f50 in ruby_init () at eval.c:75 - #17 0x400000000001b010 in main (argc=9, argv=0x60000fffffffb1d8) at main.c:35 - -The problem here is in call - gc_mark_locations (objspace=0x6000000000045db0, start=0x0, end=0x6000080000000368) at gc.c:3310 -where 'start' (native_main_thread.register_stack_start) -is supposed to be stack start but it's not initialized. - -The initialization of 'native_main_thread.register_stack_start' -is supposed to be done in 'ruby_init_stack()'. - -But code under 'MAINSTACKADDR_AVAILABLE' exits early. -The fix is to move 'register_stack_start' earlier. - -diff --git a/thread_pthread.c b/thread_pthread.c -index c8a7a16..9ad448b 100644 ---- a/thread_pthread.c -+++ b/thread_pthread.c -@@ -722,2 +722,8 @@ ruby_init_stack(volatile VALUE *addr - native_main_thread.id = pthread_self(); -+#ifdef __ia64 -+ if (!native_main_thread.register_stack_start || -+ (VALUE*)bsp < native_main_thread.register_stack_start) { -+ native_main_thread.register_stack_start = (VALUE*)bsp; -+ } -+#endif - #if MAINSTACKADDR_AVAILABLE -@@ -745,8 +751,2 @@ ruby_init_stack(volatile VALUE *addr - #endif --#ifdef __ia64 -- if (!native_main_thread.register_stack_start || -- (VALUE*)bsp < native_main_thread.register_stack_start) { -- native_main_thread.register_stack_start = (VALUE*)bsp; -- } --#endif - { diff --git a/dev-lang/ruby/ruby-2.1.10.ebuild b/dev-lang/ruby/ruby-2.1.10.ebuild index f052d94d038a3..b8599122f9db9 100644 --- a/dev-lang/ruby/ruby-2.1.10.ebuild +++ b/dev-lang/ruby/ruby-2.1.10.ebuild @@ -65,7 +65,6 @@ PDEPEND=" src_prepare() { EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \ epatch "${WORKDIR}/patches" - epatch "${FILESDIR}"/${PN}-2.1.9-ia64.patch # We can no longer unbundle all of rake because rubygems now depends # on this. We leave the actual rake code around to bootstrap diff --git a/dev-lang/ruby/ruby-2.1.9.ebuild b/dev-lang/ruby/ruby-2.1.9.ebuild index 9df13b9b0c251..0e1301fc8aa8a 100644 --- a/dev-lang/ruby/ruby-2.1.9.ebuild +++ b/dev-lang/ruby/ruby-2.1.9.ebuild @@ -61,7 +61,6 @@ PDEPEND=" src_prepare() { EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \ epatch "${WORKDIR}/patches" - epatch "${FILESDIR}"/${PN}-2.1.9-ia64.patch # We can no longer unbundle all of rake because rubygems now depends # on this. We leave the actual rake code around to bootstrap diff --git a/dev-lang/ruby/ruby-2.2.6.ebuild b/dev-lang/ruby/ruby-2.2.6.ebuild index 40984e4c120d0..874e266154acf 100644 --- a/dev-lang/ruby/ruby-2.2.6.ebuild +++ b/dev-lang/ruby/ruby-2.2.6.ebuild @@ -74,7 +74,6 @@ PDEPEND=" src_prepare() { EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \ epatch "${WORKDIR}/patches" - epatch "${FILESDIR}"/${PN}-2.1.9-ia64.patch # We can no longer unbundle all of rake because rubygems now depends # on this. We leave the actual rake code around to bootstrap diff --git a/dev-lang/ruby/ruby-2.2.7-r1.ebuild b/dev-lang/ruby/ruby-2.2.7-r1.ebuild index 7f24baec881bf..621e417b2cf62 100644 --- a/dev-lang/ruby/ruby-2.2.7-r1.ebuild +++ b/dev-lang/ruby/ruby-2.2.7-r1.ebuild @@ -74,7 +74,6 @@ PDEPEND=" src_prepare() { EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \ epatch "${WORKDIR}/patches" - epatch "${FILESDIR}"/${PN}-2.1.9-ia64.patch # We can no longer unbundle all of rake because rubygems now depends # on this. We leave the actual rake code around to bootstrap diff --git a/dev-lang/ruby/ruby-2.2.7.ebuild b/dev-lang/ruby/ruby-2.2.7.ebuild index 5b4776d845a80..815d51d85510a 100644 --- a/dev-lang/ruby/ruby-2.2.7.ebuild +++ b/dev-lang/ruby/ruby-2.2.7.ebuild @@ -74,7 +74,6 @@ PDEPEND=" src_prepare() { EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \ epatch "${WORKDIR}/patches" - epatch "${FILESDIR}"/${PN}-2.1.9-ia64.patch # We can no longer unbundle all of rake because rubygems now depends # on this. We leave the actual rake code around to bootstrap diff --git a/dev-lang/ruby/ruby-2.3.3-r1.ebuild b/dev-lang/ruby/ruby-2.3.3-r1.ebuild index 2145136d85e46..cb9bbb4e5905d 100644 --- a/dev-lang/ruby/ruby-2.3.3-r1.ebuild +++ b/dev-lang/ruby/ruby-2.3.3-r1.ebuild @@ -76,7 +76,6 @@ PDEPEND=" src_prepare() { EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \ epatch "${WORKDIR}/patches" - epatch "${FILESDIR}"/${PN}-2.1.9-ia64.patch einfo "Unbundling gems..." cd "$S" diff --git a/dev-lang/ruby/ruby-2.3.4-r1.ebuild b/dev-lang/ruby/ruby-2.3.4-r1.ebuild index 3f438d2601e32..c3c8f0b927727 100644 --- a/dev-lang/ruby/ruby-2.3.4-r1.ebuild +++ b/dev-lang/ruby/ruby-2.3.4-r1.ebuild @@ -76,7 +76,6 @@ PDEPEND=" src_prepare() { EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \ epatch "${WORKDIR}/patches" - epatch "${FILESDIR}"/${PN}-2.1.9-ia64.patch einfo "Unbundling gems..." cd "$S" diff --git a/dev-lang/ruby/ruby-2.3.4.ebuild b/dev-lang/ruby/ruby-2.3.4.ebuild index 2145136d85e46..cb9bbb4e5905d 100644 --- a/dev-lang/ruby/ruby-2.3.4.ebuild +++ b/dev-lang/ruby/ruby-2.3.4.ebuild @@ -76,7 +76,6 @@ PDEPEND=" src_prepare() { EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \ epatch "${WORKDIR}/patches" - epatch "${FILESDIR}"/${PN}-2.1.9-ia64.patch einfo "Unbundling gems..." cd "$S" diff --git a/dev-lang/ruby/ruby-2.4.1-r1.ebuild b/dev-lang/ruby/ruby-2.4.1-r1.ebuild index e316adee159a8..18a9fd3fe32b4 100644 --- a/dev-lang/ruby/ruby-2.4.1-r1.ebuild +++ b/dev-lang/ruby/ruby-2.4.1-r1.ebuild @@ -75,7 +75,6 @@ PDEPEND=" src_prepare() { EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \ epatch "${WORKDIR}/patches" - eapply "${FILESDIR}"/${PN}-2.1.9-ia64.patch einfo "Unbundling gems..." cd "$S" diff --git a/dev-lang/ruby/ruby-2.4.1.ebuild b/dev-lang/ruby/ruby-2.4.1.ebuild index 18cdd65b8f904..1f1300c8139d0 100644 --- a/dev-lang/ruby/ruby-2.4.1.ebuild +++ b/dev-lang/ruby/ruby-2.4.1.ebuild @@ -75,7 +75,6 @@ PDEPEND=" src_prepare() { EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \ epatch "${WORKDIR}/patches" - eapply "${FILESDIR}"/${PN}-2.1.9-ia64.patch einfo "Unbundling gems..." cd "$S"