Hi Archie,
I took some steps forward.
pread() problem
-----------------
In the zip.c file, I temporarily substituted the pread() call
with the following two calls:
lseek(fd,offset,SEEK_SET);
read(fd,buf,len);
Those are perfectly equivalent to pread() except that
they are not atomic
ucontext problem
-----------------
I commented out the code where there was any reference
to the ucontext library, in ordere GCC to continue compiling.
Fortunately, the number of references are very few and as
soon as I port the ucontext library to Cygwin, I will restore
the original code.
good news
-----------
I'm able to build JCHEVM with Cygwin and
the builder produces the following three executables:
jc.exe
jcjavah.exe
cfdump.exe
jcjavah.exe and cfdump.exe seem to work.
I called:
$jcjavah --help
$cfdump --help
and both show the command options
problems
----------
jc.exe enters the main function and crashes at the first call,
which is _jc_invoke();
In order to investigate the problem I did the following thngs:
1. Commented _jc_invoke() and added a dummy poptGetContext() call.
It crashes
2. Commented _jc_invoke() and added a printf("Hello World!");
It doesn't crash and print the message to the stdandard output
It seems to me that the problem is the calling convention.
Got any hints?
Enrico
P.S.
I'm reading the HTML documentation you wrote