tinycc-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Tinycc-devel] longjmp not working on 64bit


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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]