Changes made for this issue seem to break the Cygwin builds (for both i686 and x86_64). A backtrace for miniruby (without any options) from GDB:
Thread 1 received signal SIGSEGV, Segmentation fault.
heap_page_allocate (objspace=0x800053110) at ../gc.c:1883
1883 page_body->header.page = page;
(gdb) bt
#0 heap_page_allocate (objspace=0x800053110) at ../gc.c:1883
#1 heap_page_create (objspace=0x800053110) at ../gc.c:1923
#2 heap_assign_page (objspace=objspace@entry=0x800053110, heap=heap@entry=0x800053138) at ../gc.c:1948
#3 0x0000000100467ef1 in heap_add_pages (objspace=objspace@entry=0x800053110, heap=heap@entry=0x800053138, add=24) at ../gc.c:1961
#4 0x00000001004681be in Init_heap () at ../gc.c:3190
#5 0x000000010045653b in ruby_setup () at ../eval.c:87
#6 0x0000000000000000 in ?? ()
(gdb) p page_body
$1 = (struct heap_page_body *) 0x6fffffee4000
(gdb) p *page_body
Cannot access memory at address 0x6fffffee4000
(gdb)
I have not yet started to investigate what is wrong.