OK, I've had a quick look at the MS PECOFF format document, and it seems that a type 7 relocation (which is what the error was) is the target's 32-bit relative virtual address, as opposed to type 6, which is the target's 32-bit (presumably absolute) virtual address. So, it looks like some of this is coming from the libraries provided by MinGW, and are passed through to the .so file by pntld. That makes me think that the problem might be in dlopen.c, which I've not had a chance to look into.
I'm really over my head here, so anyone who understands this better is welcome to jump in...
Bill
On Tue, 4 Oct 2005, Bill Welliver wrote:
The main reason is that NT shared libraries (AFAIK) don't support linking against symbols in the loading binary.
Yes, that's the impression I've gotten.
You can try enabling DLDEBUG in dlopen.c for lots of debug.
I'll give that a try; maybe I'll find something useful...
Thus the reason for the existence of pntld.
well, it certainly makes it easier to debug the linker!
Bill