/* Sample prototype for a trampoline. */
/*
* Copyright 1995-1999, 2001, 2004, 2006 Bruno Haible, <bruno@clisp.org>
*
* This is free software distributed under the GNU General Public Licence
* described in the file COPYING. Contact the author if you don't have this
* or can't live with it. There is ABSOLUTELY NO WARRANTY, explicit or implied,
* on this software.
*/
#define function (int (*) ()) 0xbabebec0dea0ffabL
#define data (void*) 0x7355471143622155L
#ifdef __mips64__
register void* env __asm__("$2");
#endif
#ifdef __sparc64__
register void* env __asm__("%g5");
#endif
#ifdef __alpha__
register void* env __asm__("$1");
#endif
#ifdef __powerpc64__
register void* env __asm__("r11");
#endif
#ifdef __ia64__
register void* env __asm__("r15");
#endif
#ifdef __x86_64__
register void* env __asm__("r10");
#endif
int tramp ()
{ env = data;
return (*function)();
}
int jump ()
{ goto *function; }