implicit underscores

This commit is contained in:
David Rose 2007-06-22 15:28:01 +00:00
parent ecad9e186e
commit 8d06089d88

View File

@ -88,15 +88,28 @@ switch_to_thread_context(struct ThreadContext *context) {
then call setjmp() to record that stack pointer in the
_jmp_context. Then restore back to the original stack pointer. */
#if defined(__i386__)
#if defined(_M_IX86)
/* Here is own own implementation of setjmp and longjmp for I386, via
Windows syntax. */
int cs_setjmp(cs_jmp_buf env);
void cs_longjmp(cs_jmp_buf env);
#elif defined(__i386__)
/* Here is own own implementation of setjmp and longjmp for I386, via
GNU syntax. */
#if defined(IS_LINUX)
/* On Linux, the underscores are not implicit. */
#define cs_setjmp _cs_setjmp
#define cs_longjmp _cs_longjmp
#endif
int cs_setjmp(cs_jmp_buf env);
void cs_longjmp(cs_jmp_buf env);
__asm__
("cs_setjmp:\n"
("_cs_setjmp:\n"
"popl %edx\n"
"popl %eax\n"
"pushl %eax\n"
@ -111,7 +124,7 @@ __asm__
"jmp *%edx\n");
__asm__
("cs_longjmp:\n"
("_cs_longjmp:\n"
"popl %edx\n"
"popl %eax\n"
"movl 0(%eax),%ebx\n"