[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: libsigsegv fails to compile under OpenWRT and LibreCMC
From: |
Jeronimo Pellegrini |
Subject: |
Re: libsigsegv fails to compile under OpenWRT and LibreCMC |
Date: |
Thu, 20 Feb 2020 14:40:28 -0300 |
User-agent: |
Mutt/1.10.1 (2018-07-13) |
Hi,
On Thu, Feb 20, 2020 at 06:05:43PM +0100, Bruno Haible wrote:
> Therefore either
> * use a native compilation instead of a cross-compilation, or
> * set the following variables (as environment variables) before the run:
> sv_cv_fault_posix=yes
> sv_cv_leave_handler_longjmp=yes
> sv_cv_leave_handler_longjmp_sigaltstack=yes
> sv_cv_leave_handler_longjmp_setcontext=yes
> sv_cv_leave_handler_siglongjmp=yes
> sv_cv_leave_handler_siglongjmp_sigaltstack=yes
> sv_cv_leave_handler_siglongjmp_setcontext=yes
>
> That should do it.
Thank you!
The first option is somewhat complicated, since compilation would need to
be on the target device, which may not be available (or may not have the
full toolchain installed).
So I tried to set the environment vraiables as you said, and got a different
error:
In file included from fault.h:37:0,
from handler-unix.c:71,
from handler.c:20:
handler-unix.c: In function 'sigsegv_handler':
fault-linux-i386.h:47:78: error: 'REG_ESP' undeclared (first use in this
function)
# define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *)
ucp)->uc_mcontext.gregs[REG_ESP]
^
handler-unix.c:151:43: note: in expansion of macro 'SIGSEGV_FAULT_STACKPOINTER'
uintptr_t old_sp = (uintptr_t) (SIGSEGV_FAULT_STACKPOINTER);
^~~~~~~~~~~~~~~~~~~~~~~~~~
fault-linux-i386.h:47:78: note: each undeclared identifier is reported only
once for each function it appears in
# define SIGSEGV_FAULT_STACKPOINTER ((ucontext_t *)
ucp)->uc_mcontext.gregs[REG_ESP]
^
handler-unix.c:151:43: note: in expansion of macro 'SIGSEGV_FAULT_STACKPOINTER'
uintptr_t old_sp = (uintptr_t) (SIGSEGV_FAULT_STACKPOINTER);
^~~~~~~~~~~~~~~~~~~~~~~~~~
Looks like compilation went further this time...
I am attaching config.status and the compilation transcript.
J.
config.status
Description: Text document
libsigsegv-compilation-transcript-2.txt
Description: Text document