[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Gcc 2.3.3



To: mint@atari.archive.umich.edu

  Gubsb@ub.Gu.Se,
  In a message on 11 August, to Erlingh@pvv.Unit.No (erli, wrote :

gR> Thank you (or as a friend of mine wrote: Thang Q)

Ahh, that one was new for me :-)


gR> > Great, its a baserel/sharable version too :-) Then It will only be
gR> > read once from disk :-)))))
gR> 
gR> Could you explain to me more in detail what baserel means?
gR> Whats its use?
gR> How does it affect the code?
gR> Are there any risks, or other negative thing, by using it?

Wasn't there a discussion in c.s.a.s.tech about this just now ?
Anyway, that the code is "baserel", means it has been compiled with the
-mbaserel flag in gcc. What this means, is that all (non-allocated)
memory references is relative to a base register. Which in turn means:

	a) The code is shareable - several instances of the process will
	   only use as much memory as one instance. Except of course for
	   allocated memory such as stack space etc.

	b) With the newer mints (mint-1.10 with patches or 1.11) the
	   program will not be flushed from memory after it is finished.
	   This means that it need only be loaded once from disk, later
	   invocations of the program will use the one allready in memory.
	   However, if memory runs low the program will be flushed.

	c) No more than 32k of static memory can be used. This is because
	   the 68000 only can handle offsets within 32k (16 bits).

Erling

PS: Correct me if I said something wrong (probably needless to say...)  
---
 ~ ATP/Unix 1.40 ~ This is my tagline.