summaryrefslogtreecommitdiff
path: root/sbin/wicontrol
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2004-07-28 08:47:13 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2004-07-28 08:47:13 +0000
commit367dfb39173fd1367eacbb49f271ab85219ba6c7 (patch)
treea287cb6dad1a498cb47c6ffeacc59a3589be478b /sbin/wicontrol
parent29d9755677826cab29a9ab4d011aa5ff43d0017c (diff)
In the never-ending saga of getting gcc to work reliably on m88k, today's
changes address incorrect stack usage, when optimization needs more nameless temporary values than available registers, and has to save them on stack. In some (rare) circumstances, it will compute a stack address _outside_ the current function local storage space, overwriting the caller's stack. Most of the time, this only affects the "outgoing argument area", which is harmless if it has not been populated; this explains why it has not been noticed earlier. Since I see no easy way to fix this, I decided to go the simpler way of removing this ougoing argument area. This not only reduces stack usage, but also makes varargs/stdarg code smaller and faster; also functions which get their first few arguments in registers, then some on the stack, then some in registers again, will not allocate stack space for the second set of arguments passed through registers. This is an ABI change, we are no longer 88Open compliant (have we ever been?).
Diffstat (limited to 'sbin/wicontrol')
0 files changed, 0 insertions, 0 deletions