Port-sparc64 archive

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

Re: Stack bias



> Anyway, the main purpose of the bias is to have an odd stack pointer,
> so the kernel can very easily know if it's dealing with a 32bit or
> 64bit process in trap handlers, w/o even doing the full curlwp()
> dance to check the process flags.

Except it can't; that test can mistake a 64-bit process that's trashed
its %sp - or is using %o6 as a general-purpose register - for a 32-bit
process, probably leading to lossage like randomly destroying half of
each register.  (Destroying %fp - %i6 - is more serious, but leaf
routines often enough have no particular need for %sp but could use
another general-purpose register.)

/~\ The ASCII                             Mouse
\ / Ribbon Campaign
 X  Against HTML                mouse%rodents-montreal.org@localhost
/ \ Email!           7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B


Home | Main Index | Thread Index | Old Index