of a trampoline, leaving space for the variable parts. */
/* On the 32k, the trampoline looks like this:
- addr .,r2
+ addr 0(pc),r2
jump @__trampoline
.int STATIC
.int FUNCTION
#define TRAMPOLINE_TEMPLATE(FILE) \
{ \
- fprintf (FILE, "\taddr .,r2\n" ); \
+ fprintf (FILE, "\taddr 0(pc),r2\n" ); \
fprintf (FILE, "\tjump " ); \
PUT_ABSOLUTE_PREFIX (FILE); \
fprintf (FILE, "__trampoline\n" ); \
void \
__transfer_from_trampoline () \
{ \
- asm ("___trampoline:"); \
+ asm (".globl __trampoline"); \
+ asm ("__trampoline:"); \
asm ("movd 16(r2),tos"); \
- asm ("movd 12(r2),r2"); \
+ asm ("movd 12(r2),r1"); \
asm ("ret 0"); \
}
\f