On Feb 21 16:32, Angelo Graziosi wrote:
Trying to build libsigsegv-2.10 on Cygwin64 (using the src tarball
and its .cygport file from x86 distribution), fails as follows
[...]
libtool: compile: gcc -DHAVE_CONFIG_H -I.
-I/works/tmp/libsigsegv-2.10-1/src/libsigsegv-2.10/src -I.. -I.
-I/works/tmp/libsigsegv-2.10-1/src/libsigsegv-2.10/src -ggdb -O2
-pipe -Wimplicit-function-declaration -fdebug-prefix-map=/works/tmp/libsigsegv-2.10-1/build=/usr/src/debug/libsigsegv-2.10-1 -fdebug-prefix-map=/works/tmp/libsigsegv-2.10-1/src/libsigsegv-2.10=/usr/src/debug/libsigsegv-2.10-1
-c /works/tmp/libsigsegv-2.10-1/src/libsigsegv-2.10/src/handler.c
-DDLL_EXPORT -DPIC -o .libs/handler.o
In file included from
/works/tmp/libsigsegv-2.10-1/src/libsigsegv-2.10/src/handler.c:20:0:
/works/tmp/libsigsegv-2.10-1/src/libsigsegv-2.10/src/handler-win32.c:
In function 'main_exception_filter':
/works/tmp/libsigsegv-2.10-1/src/libsigsegv-2.10/src/handler-win32.c:218:43:
error: 'struct _CONTEXT' has no member named 'Esp'
ExceptionInfo->ContextRecord->Esp = new_safe_esp;
^
/works/tmp/libsigsegv-2.10-1/src/libsigsegv-2.10/src/handler-win32.c:220:43:
error: 'struct _CONTEXT' has no member named 'Eip'
ExceptionInfo->ContextRecord->Eip = (unsigned
long)&stack_overflow_handler;
^
Makefile:399: set di istruzioni per l'obiettivo "handler.lo" non riuscito
make[1]: *** [handler.lo] Errore 1
make[1]: uscita dalla directory "/works/tmp/libsigsegv-2.10-1/build/src"
Makefile:344: set di istruzioni per l'obiettivo "install-recursive"
non riuscito
make: *** [install-recursive] Errore 1
Since my Cygwin64 is a fesh installation, I wonder if I missed to
installe some needed packages... or is that error to be expected on
Cygwin64?
Yes. The above code appears not to know 64 bit CPUs. The 64 bit
instruction pointer register is called Rip, rather than Eip, for
instance.