Use arossupport altstack for passing libbase to shared library functions.
commite78f2e904bd4c48265d0f0ef236de42ec842cc89
authorverhaegs <verhaegs@fb15a70f-31f2-0310-bbcc-cdcc74a49acc>
Sun, 4 Sep 2011 16:51:52 +0000 (4 16:51 +0000)
committerverhaegs <verhaegs@fb15a70f-31f2-0310-bbcc-cdcc74a49acc>
Sun, 4 Sep 2011 16:51:52 +0000 (4 16:51 +0000)
tree330613145c8263e2567499f2a5d3083454867ed8
parent6d25771e95cd5cce2dd65341c2085e385ec6e4be
Use arossupport altstack for passing libbase to shared library functions.

It supports both functions using register and C stack argument passing.

This is a generic framework with support for i386 and m68k.
Other cpu archs will fail on #error.
This generic framework should never be a final ABI for a cpu. It is
meant to allow as a quick way to get AROS going on a new CPU.
Libbase passing should be optimized afterwards possibly by using a
CPU register to pass the libbase.

Added support for debug output when SysBase == NULL in kernel.resource.
kprintf won't output anything when SysBase == NULL.

This patch is co-developed with Jason McMullan.

git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@41079 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
17 files changed:
arch/arm-all/include/aros/cpu.h
arch/i386-all/include/aros/cpu.h
arch/m68k-all/include/aros/cpu.h
arch/ppc-all/include/aros/cpu.h
arch/x86_64-all/include/aros/cpu.h
compiler/arossupport/aros_relbase.c [new file with mode: 0644]
compiler/arossupport/include/libcall.h
compiler/arossupport/kprintf.c
compiler/arossupport/mmakefile.src
compiler/clib/__vfork.h
compiler/clib/include/sys/syscall.def
compiler/clib/mmakefile.src
rom/kernel/bug.c
rom/kernel/kernel_debug.h
tools/genmodule/writeincdefines.c
tools/genmodule/writeincinline.c
tools/genmodule/writestart.c