You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When trying to build app-helloworld-go, we get this error:
/home/razvan/Documents/Unikraft/debug_helloworld_go/apps/app-helloworld-go/build/libgcc/origin/gcc-7.3.0/libgo/runtime/go-signal.c:200:33: error: ‘siginfo_t {aka struct <anonymous>}’ has no member named ‘si_addr’; did you mean ‘si_code’?
ret.sigaddr = (uintptr)(info->si_addr);
This didn't happen before the uksignal support was integrated in newlib [1].
Apparently, the definition for siginfo_t is now provided by lib-newlib/musl-imported/include/signal.h and it is lighter than before, not including si_addr (this patch has lost it's effect [2]).
I think some newlib/uksignal updates will be needed in order to cover this usecase again.
I am afraid the problem is not just in the type definition. This siginfo_t definition correctly reflects what is actually supported by uksignal, which is not yet POSIX compatible. The only siginfo_t fields ever set by uksignal are si_signo, si_code and si_pid. If si_addr is needed, we should likely ensure it is properly set by the appropriate functions.
Question: how should we synchronize siginfo_t definitions in C libraries such as newlib or musl, and the actual implementation in uksignal?
When trying to build app-helloworld-go, we get this error:
This didn't happen before the uksignal support was integrated in newlib [1].
Apparently, the definition for
siginfo_t
is now provided bylib-newlib/musl-imported/include/signal.h
and it is lighter than before, not includingsi_addr
(this patch has lost it's effect [2]).I think some newlib/uksignal updates will be needed in order to cover this usecase again.
[1] 08d36e6
[2] https://github.com/unikraft/lib-newlib/blob/staging/patches/0006-Add-si_addr-field-for-siginfo_t-and-use-__rtems__-de.patch
The text was updated successfully, but these errors were encountered: