Currently global relocations are using their own fixup kind, which is odd since it's just a uleb32. That's because we're not tracking the difference between data and global symbols, which would enable us to process the fixup in the same way as all the other fixups.
Also, we're using some target flags already (like 0x1 to mean "function") which are just defined inline in the code and not in a header!
These changes are preliminary to the next commit which will add TLS (__thread_pointer) support.
I'm new to this area of the codebase, this might be all wrong! I think it looks sensible so far though.
Please vertically align the comment here.