[Top][All Lists]

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

Re: start_of_data and RISCOS

From: Richard Stallman
Subject: Re: start_of_data and RISCOS
Date: Mon, 22 Jul 2002 09:19:15 -0600 (MDT)

    Currently the preference order for defining start_of_data is to use
    the address of "etext" if BSD_SYSTEM is defined and DATA_SEG_BITS is
    not, regardless of whether DATA_START is defined.

    Since defining DATA_SEG_BITS also turns on the inclusive-or every time
    a Lisp_Object handle is turned into a pointer, I'd like to reverse
    that -- use DATA_START for start_of_data if it's defined, otherwise
    consider doing the etext bit.

Using DATA_START first is ok provided you check all the platforms
on which DATA_START is defined and verify this won't break them.
You have started doing that:

      I've done some poking around at the config files, and it looks
    like MIPS running RISCOS 4 or 5 in BSD mode is the interesting case.

      But under RISCOS, it may be the case that DATA_START and
    BSD_SYSTEM are defined and DATA_SEG_BITS is not, so that it might be
    using "&etext" for start_of_data even though DATA_START is 0x800000.

The next question is, does it actually make a difference if
start_of_data returns DATA_START instead of &etext?  Let's look at the
places that use start_of_data and see if this would matter.

start_of_data is used mainly in some unex*.c files, and unexmips.c
does not use it.  vm-limit.c is the only other use, and I think it
will be better off with a closer value of start_of_data.  So I
conclude that your change is safe.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]