Building libsigsegv on Cygwin64

Ken Brown kbrown@cornell.edu
Sat Feb 22 15:33:00 GMT 2014


On 2/21/2014 10:46 AM, Corinna Vinschen wrote:
> 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.

I just took a glance at the libsigsegv source code, and it supports 
several x86_64 platforms.  It should be possible to add support for 
x86_64-cygwin.  Reini, any chance you could look into this?

Ken

--
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



More information about the Cygwin mailing list