delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1993/05/19/09:59:46

Date: Wed, 19 May 93 09:17:33 EDT
From: DJ Delorie <dj AT ctron DOT com>
To: iclone!mit.edu!mjhostet AT cs DOT unm DOT edu
Cc: djgpp AT sun DOT soe DOT clarkson DOT edu
Subject: Re: Relocating text segment doesn't work

> When I try to go32 the a.out with the relocated text segment under  
> go32, the program *immediately* crashes with the PC at the location  
> where I placed the text segment (in this case, 0x400000).  Even int  
> main(){return 0;} dies.

That's because a.out files do NOT include information about where the
segments should be located!  go32 will ALWAYS place .text at 0x1020
and .data at the first available multiple of 0x00400000.  Go32 does
still support COFF files (I think - not tested recently) which *DO*
have this information, so if you need go32 to do this you will need to
convince ld to produce COFF output.

However, if you do relocate the text higher there is NO way to get
anything useful in the 0-0x3ffff range at all, as go32 will not put
anything there.  If you have a special requirement, you will need to
either modify go32 or use something else.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019