[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Shared libs.
Michael Hohmuth wrote:
> I think every instance of a shared library needs its own base
> register. This could be either
>
> (a) the same register as usual (a6?) (Chris)
> or
> (b) another register, e.g. a5.
>
> Both options would probably require changes to the compiler.
The usual register is a5, a6 is the frame pointer. Neither
gcc nor lattice-c need changes. Pure-c cannot create base
relative code at all.
Actually, when I last worked on gcc (ages ago) I chose a4, because a5 is
zeroed on certain TOS calls. (It's not supposed to work that way, but so
it goes...) I don't remember which functions caused this problem, or if
it was specific to BIOS, XBIOS, or GEMDOS. Anyway, it's an annoyance...