|
From: | grischka |
Subject: | Re: [Tinycc-devel] longjmp not working on 64bit |
Date: | Fri, 18 Dec 2009 01:09:14 +0100 |
User-agent: | Thunderbird 2.0.0.23 (Windows/20090812) |
Christian Jullien wrote:
Simple example not working on Windows x64. It should print Ok but hangs even buf seems to be correctly aligned.
See http://repo.or.cz/w/tinycc.git/commitdiff/ad351b20 It doesn't support new x64 windows unwinding though, so better not use it to jump across window procedures, threads and some such. --- grischka
#include <stdio.h> #include <stdlib.h> #include <setjmp.h> int main(int argc, char *argv[]) { jmp_buf buf; if (setjmp(buf) == 0) { printf("ready to jump at %p\n", &buf); longjmp(buf, 1); printf("Not reached\n"); } printf("Ok\n"); return 0; } F:\tcc-0.9.25-64\win32>tcc foo.c && foo ready to jump at 000000000012FE20 Looking at assembler gives me no clue. Christian
[Prev in Thread] | Current Thread | [Next in Thread] |