-
Notifications
You must be signed in to change notification settings - Fork 603
Closed
Description
DynamoRIO commit: 4afa0bd
Building on an up-to-date Arch Linux ARM (aarch64) system with glibc 2.25 and gcc 6.3.1
Output:
[ 2%] Building C object core/CMakeFiles/dynamorio_static.dir/unix/signal.c.o
In file included from /usr/include/signal.h:325:0,
from /home/cosmin/dynamorio/core/lib/globals_shared.h:126,
from /home/cosmin/dynamorio/core/unix/../globals.h:90,
from /home/cosmin/dynamorio/core/unix/signal_private.h:51,
from /home/cosmin/dynamorio/core/unix/signal.c:45:
/usr/include/sys/ucontext.h:55:16: error: field ‘uc_mcontext’ has incomplete type
mcontext_t uc_mcontext;
^~~~~~~~~~~
In file included from /home/cosmin/dynamorio/core/unix/signal.c:45:0:
/home/cosmin/dynamorio/core/unix/signal_private.h:159:23: error: field ‘uc_mcontext’ has incomplete type
sigcontext_t uc_mcontext; /* last for future expansion */
^~~~~~~~~~~
/home/cosmin/dynamorio/core/unix/signal.c: In function ‘sigcontext_to_mcontext’:
/home/cosmin/dynamorio/core/unix/signal.c:2233:24: error: dereferencing pointer to incomplete type ‘sigcontext_t {aka struct sigcontext}’
memcpy(&mc->r0, &sc->SC_FIELD(regs[0]), sizeof(mc->r0) * 31);
^~
/home/cosmin/dynamorio/core/unix/signal.c: In function ‘record_pending_signal’:
/home/cosmin/dynamorio/core/unix/signal.c:3720:18: error: storage size of ‘sc_orig’ isn’t known
sigcontext_t sc_orig;
^~~~~~~
/home/cosmin/dynamorio/core/unix/signal.c:3720:18: error: unused variable ‘sc_orig’ [-Werror=unused-variable]
/home/cosmin/dynamorio/core/unix/signal.c: In function ‘get_sigcontext_from_rt_frame’:
/home/cosmin/dynamorio/core/unix/signal.c:2658:1: error: control reaches end of non-void function [-Werror=return-type]
}
^
/home/cosmin/dynamorio/core/unix/signal.c: In function ‘get_sigcxt_stolen_reg’:
/home/cosmin/dynamorio/core/unix/signal.c:2360:1: error: control reaches end of non-void function [-Werror=return-type]
}
^
cc1: all warnings being treated as errors
make[2]: *** [core/CMakeFiles/dynamorio_static.dir/build.make:1545: core/CMakeFiles/dynamorio_static.dir/unix/signal.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:131: core/CMakeFiles/dynamorio_static.dir/all] Error 2
make: *** [Makefile:150: all] Error 2
Not defining _BITS_SIGCONTEXT_H in core/unix/include/sigcontext.h fixes the build for me, but I'm not sure whether it ends up using the wrong structure definitions.