tools/genmodule: Pass libbase in scratch register for shared library function with...
commitefe1d7f4f83bd167c650d01306edf393783fd9e0
authorverhaegs <verhaegs@fb15a70f-31f2-0310-bbcc-cdcc74a49acc>
Fri, 28 Oct 2011 20:27:48 +0000 (28 20:27 +0000)
committerverhaegs <verhaegs@fb15a70f-31f2-0310-bbcc-cdcc74a49acc>
Fri, 28 Oct 2011 20:27:48 +0000 (28 20:27 +0000)
treef7f4616fd5c9a7774c8ebf6264eb5379e5c3ca1a
parentcce7a7c7f68f3e1eecfb5a079425c0240c18ae29
tools/genmodule: Pass libbase in scratch register for shared library function with C argument passing.

Following registers used:
i386: edx
x86_64: r11
PPC: r12
m68k: a1
ARM: top of stack (needs to be popped internally before calling real function).

status:
i386, x86_64 hosted tested
m68k: bug fixed and tested by Jason McMullan
ARM, PPC: some blind code, uncompiled and untested

git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@42107 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
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/clib/__arosc_privdata.h
tools/genmodule/functionhead.c
tools/genmodule/functionhead.h
tools/genmodule/writeinclibdefs.c
tools/genmodule/writestart.c