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