The addition of xdef data has made qfo_to_progs unusable in qfprogs, resulting in various invalid memory accesses. It always was an ugly hack anyway, so this is the first step to proper qfo support in qfprogs.
It doesn't make sense to have negative pointers. The size of the commit is from enabling gcc's -Wtype-limits warning and cleaning up that mess too.
It's pretty useless in git.