This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Building libsigsegv on Cygwin64


On 2/21/2014 10:32 AM, 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?

I found the problem (or at least I found *a* problem): There's a configure test "checking whether a fault handler according to POSIX works", which passes on 32-bit Cygwin but fails on 64-bit Cygwin. I'm attaching a file containing the configure test. Here's what happens in the 64-bit case:

$ gcc -o fault fault.c
$ ./fault.exe
$ echo $?
1

In the 32-bit case, the exit code is 0.

I don't know if this indicates a Cygwin bug or something wrong with the test.

Ken

Attachment: fault.c
Description: Text document

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]