I then checked the assembly code generated by gcc, and found out that _end - pe_header is computed by reading 2 valus in the .got section and substracting them.
Could anyone help me ?
Should I try with a linker script ?
Maybe you should tell us why you need a correct value in there, it may be possible to find a simpler solution.
SafeDisc implements GetProcAddress internally, and verifies that the returned address lies between ImageBase and ImageBase + SizeOfImage. It fails if it doesn't.
I could use a big value (0x80000000) for SizeOfImage but I don't like that.
Laurent Pinchart