d0d1e68e58
rather than relying on a trick that happens to work for the current relocation schemes. Also add some comments and improve variable naming.