2013-08-02 14:46:53 +00:00
|
|
|
/*
|
2013-10-14 11:43:57 +00:00
|
|
|
Boost::Context assembly wrapper - done to avoid compiling the whole boost binary library
|
|
|
|
which may be unpleasant, in particular under Windows (we don't support VC++, while boost::context
|
|
|
|
does not support mingw */
|
2013-08-02 14:46:53 +00:00
|
|
|
|
2013-09-23 15:02:25 +00:00
|
|
|
#ifdef __APPLE__
|
2013-08-02 14:46:53 +00:00
|
|
|
|
2013-09-23 15:02:25 +00:00
|
|
|
#if __i386__
|
|
|
|
#include "jump_i386_sysv_macho_gas.S"
|
|
|
|
#include "make_i386_sysv_macho_gas.S"
|
|
|
|
|
|
|
|
#elif __x86_64__
|
|
|
|
#include "jump_x86_64_sysv_macho_gas.S"
|
|
|
|
#include "make_x86_64_sysv_macho_gas.S"
|
2013-08-02 14:46:53 +00:00
|
|
|
|
2013-08-02 17:21:22 +00:00
|
|
|
#else
|
2013-09-23 15:02:25 +00:00
|
|
|
#error "Missing make_fcontext & jump_fcontext routines for this architecture"
|
2013-08-02 17:21:22 +00:00
|
|
|
#endif
|
2013-08-02 14:46:53 +00:00
|
|
|
|
2013-09-23 15:02:25 +00:00
|
|
|
#else
|
|
|
|
|
|
|
|
#if __i386__
|
|
|
|
|
|
|
|
#ifdef __WIN32__
|
|
|
|
#include "jump_i386_pe_gas.S"
|
|
|
|
#include "make_i386_pe_gas.S"
|
|
|
|
#else
|
|
|
|
#include "jump_i386_sysv_elf_gas.S"
|
|
|
|
#include "make_i386_sysv_elf_gas.S"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#elif __x86_64__
|
|
|
|
#include "jump_x86_64_sysv_elf_gas.S"
|
|
|
|
#include "make_x86_64_sysv_elf_gas.S"
|
2013-08-02 14:46:53 +00:00
|
|
|
|
2013-09-23 15:02:25 +00:00
|
|
|
#else
|
|
|
|
#error "Missing make_fcontext & jump_fcontext routines for this architecture"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif
|