Hadrian doesn't understand Evac_thr.c and Scav_thr.c
observe _build/stage1/rts/build/c/sm/Evac_thr.thr_o.d, produced by hadrian
_build-prescav/stage1/rts/build/c/sm/Evac_thr.o: rts/sm/Evac_thr.c
This should have many entries for threaded ways (as Evac.thr_o.d does)
The result of this is that Hadrian does not rebuild Evac_thr.c or Scav_thr.c when Evac.c or Scav.c change.
I think the C compiler flags are not threaded through properly, specifically -DTHREADED_RTS
.