[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...