I am writing a simple user-space ELF loader under Linux (why? for \'fun\'). My loader at the moment is quite simple and is designed to load only statically-linked ELF files con
If you modify the absolute addresses available in the .got section, (global offset table) your program should work. Make sure to modify the absolute address calculation to cater for the new distance between .text and .data, I'm afraid you need to figure out where this information comes from, for your architecture.
See this: Global Offset Table (Processor-Specific)
Good luck.