Date: Sun, 30 Mar 1997 18:40:21 +0300 (IDT) From: Eli Zaretskii To: Tomas By cc: djgpp AT delorie DOT com, tomas AT delorie DOT com Subject: Re: Compiling Sicstus Prolog In-Reply-To: <3339C521.167EB0E7@dcs.shef.ac.uk> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On Thu, 27 Mar 1997, Tomas By wrote: > > As the bss segement start can be referenced by edata, you can > > change the code to the following: > > > > holes[h].begin = (char *)&edata; > > holes[h++].end = (char *)SP_ALIGN(&edata,0x1000); /* line 538 */ > > holes[h].begin = (char *)&_go32_info_block; > > holes[h++].end = (char *)&_go32_info_block+40; > > [snip] > Can anyone who knows the relationship between edata and _bss_start > confirm that the change above makes sense? Can you explain what are the holes[].begin and holes[].end used for in Sicstus Prolog? The .bss section indeed begins at `edata' in v2, but I'm not sure about the .end part (if it should give the end of .bss, then you should use (char *)&end, I think). And what about the two other variables that reference `_go32_info_block'? How are they used? It's possible that the message you've found in the mail archives are talking about DJGPP v1.x (the date of the message should tell), in which case the solution might need some tweaking. But unless somebody has already done that and might therefore have an exact answer, you will need to explain the use of these values in order to have a solution.