[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: wip-rtl status
From: |
Andy Wingo |
Subject: |
Re: wip-rtl status |
Date: |
Tue, 05 Jun 2012 10:04:43 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.4 (gnu/linux) |
On Mon 04 Jun 2012 23:12, address@hidden (Ludovic Courtès) writes:
> Andy Wingo <address@hidden> skribis:
>
>> However something like '(1 . (2 . ())) has two pairs: the tail which has
>> two immediates, and the head that has an immediate in the car but a
>> pointer in the cdr. In that case you need to patch up the cdr to point
>> to the tail, after you load the .go (or .so?) file.
>
> Actually, it could typically be patched by the loader, just like what
> happens with the variables emitted by ‘SCM_IMMUTABLE_STRING’ and such, no?
>
> (Hmm, perhaps that’s what you meant?)
Yes, that is what I meant. Either you emit relocations into the ELF
file, and rely on the dynamic loader to interpret them, or you compile a
procedure to do the relocations and call it as an init function.
Wip-rtl does the latter, because that way we can also do one-time
initializations like string->symbol, string->number, etc.
Andy
--
http://wingolog.org/