{"push_id":666123187,"size":1,"distinct_size":1,"ref":"refs/heads/ldc-merge-2.067","head":"002d0aed65cd24dfcbbc782d9aed2f9112f27b4e","before":"56aeae8616af9284d1f8c64540e461d21b4717f9","commits":[{"sha":"002d0aed65cd24dfcbbc782d9aed2f9112f27b4e","author":{"email":"691aa48fce2503f2e8548fe005a60ece4c7c6f1a@nowhere.com","name":"Martin"},"message":"[Win64] rt.sections_ldc: Fix ranges of .data and .bss sections.\n\n_data_start__ etc. are computed in src/rt/msvc.c as pointers to the\ncorresponding section's start/end. The .data and .bss sections of the\nbinary are used as storage for non-TLS global and static variables.\n\nInstead of telling the GC about the whole section, we've previously\nonly told it about the void* start pointer itself.\nSo the GC could go ahead and collect objects referenced only by\n__gshared references and reuse their memory. Accessing the objects\nlater then obviously resulted in pure mayhem.","distinct":true,"url":"https://api.github.com/repos/ldc-developers/druntime/commits/002d0aed65cd24dfcbbc782d9aed2f9112f27b4e"}]}