Source: gmt Version: 5.4.1+dfsg-1 Severity: normal Tags: patch User: debian-68k@lists.debian.org Usertags: m68k
Hi! gmt currently fails to build from source on m68k because the UC_IP macro is not properly defined on this architecture: [ 13%] Building C object src/CMakeFiles/gmtlib.dir/gmt_api.c.o cd /<<BUILDDIR>>/gmt-5.4.1+dfsg/debian/build/src && /usr/bin/cc -DLIBRARY_EXPORTS -I/<<BUILDDIR>>/gmt-5.4.1+dfsg/debian/build/src -I/<<BUILDDIR>>/gmt-5.4.1+dfsg/src -I/usr/include/m68k-linux-gnu -I/usr/include/gdal -I/<<BUILDDIR>>/gmt-5.4.1+dfsg/debian/build/src/gshhg -I/<<BUILDDIR>>/gmt-5.4.1+dfsg/debian/build/src/img -I/<<BUILDDIR>>/gmt-5.4.1+dfsg/debian/build/src/meca -I/<<BUILDDIR>>/gmt-5.4.1+dfsg/debian/build/src/mgd77 -I/<<BUILDDIR>>/gmt-5.4.1+dfsg/debian/build/src/misc -I/<<BUILDDIR>>/gmt-5.4.1+dfsg/debian/build/src/potential -I/<<BUILDDIR>>/gmt-5.4.1+dfsg/debian/build/src/segy -I/<<BUILDDIR>>/gmt-5.4.1+dfsg/debian/build/src/spotter -I/<<BUILDDIR>>/gmt-5.4.1+dfsg/debian/build/src/x2sys -std=gnu99 -fstrict-aliasing -g -O2 -fdebug-prefix-map=/<<BUILDDIR>>/gmt-5.4.1+dfsg=. -specs=/usr/share/dpkg/pie-compile.specs -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -g -DNDEBUG -fPIC -o CMakeFiles/gmtlib.dir/gmt_api.c.o -c /<<BUILDDIR >>/gmt-5.4.1+dfsg/src/gmt_api.c /<<BUILDDIR>>/gmt-5.4.1+dfsg/src/common_sighandler.c: In function 'sig_handler': /<<BUILDDIR>>/gmt-5.4.1+dfsg/src/common_sighandler.c:95:55: error: 'REG_EIP' undeclared (first use in this function) # define UC_IP(uc) ((void *) (uc)->uc_mcontext.gregs[REG_EIP]) ^ /<<BUILDDIR>>/gmt-5.4.1+dfsg/src/common_sighandler.c:168:14: note: in expansion of macro 'UC_IP' array [0] = UC_IP (uc); /* caller's address */ ^~~~~ /<<BUILDDIR>>/gmt-5.4.1+dfsg/src/common_sighandler.c:95:55: note: each undeclared identifier is reported only once for each function it appears in # define UC_IP(uc) ((void *) (uc)->uc_mcontext.gregs[REG_EIP]) ^ /<<BUILDDIR>>/gmt-5.4.1+dfsg/src/common_sighandler.c:168:14: note: in expansion of macro 'UC_IP' array [0] = UC_IP (uc); /* caller's address */ ^~~~~ src/CMakeFiles/gmtlib.dir/build.make:119: recipe for target 'src/CMakeFiles/gmtlib.dir/common_sighandler.c.o' failed This is fixed by the attached patch. Please consider including it in your next upload! Thanks, Adrian .''`. John Paul Adrian Glaubitz : :' : Debian Developer - glaub...@debian.org `. `' Freie Universitaet Berlin - glaub...@physik.fu-berlin.de `- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
Description: Add support for m68k This patch adds support for m68k by defining the correct macro to determine the instruction pointer from ucontext. . Author: John Paul Adrian Glaubitz <glaub...@physik.fu-berlin.de> Last-Update: 2017-06-24 Index: gmt-5.4.1+dfsg/src/common_sighandler.c =================================================================== --- gmt-5.4.1+dfsg.orig/src/common_sighandler.c +++ gmt-5.4.1+dfsg/src/common_sighandler.c @@ -83,6 +83,8 @@ void backtrace_symbols_fd(void *const *b # define UC_IP(uc) ((void *) (uc)->uc_mcontext.arm_pc) # elif defined( __hppa__) # define UC_IP(uc) ((void *) (uc)->uc_mcontext.sc_iaoq[0]) +# elif defined(__m68k__) +# define UC_IP(uc) ((void *) (uc)->uc_mcontext.gregs[R_PC]) # elif defined(__s390__) # define UC_IP(uc) ((void *) (uc)->uc_mcontext.psw.addr) # elif defined(__sparc__)