On Fri, Jul 29, 2016 at 11:06:24PM +0800, Yun-Chih Chen wrote: > > On Fri, Jul 29, 2016 at 11:00:28PM +0800, Yun-Chih Chen wrote: > >> Environment: > >> OS: Debian Wheezy on qemu-system-sparc64 > >> Kernel: 3.2.0-4-sparc64 > >> gcc: 4.7 > >> > >> strace commit hash: 6d3162acf, configured without --enable-gcc-Werror. > >> Because this error happens on ./linux/sparc64/* , I suspect it is > >> specific to sparc. > >> Any hint on minimum gcc version? Thanks > > > > What's the error? Could you give a link to the log with the error? > > as attached, sorry about that [...] > /usr/bin/gcc-4.7 -DHAVE_CONFIG_H -I./linux/sparc64 -I./linux/sparc64 > -I./linux -I./linux -I. -I. -Wall -Wempty-body -Wformat-security > -Wignored-qualifiers -Winit-self -Wlogical-op -Wmissing-parameter-type > -Wnested-externs -Wold-style-declaration -Wold-style-definition > -Wsign-compare -Wtype-limits -Wwrite-strings -g -O2 -MT strace-syscall.o -MD > -MP -MF .deps/strace-syscall.Tpo -c -o strace-syscall.o `test -f 'syscall.c' > || echo './'`syscall.c > In file included from syscall.c:1180:0: > ./linux/sparc64/arch_regs.c:2:0: warning: "ARCH_PC_REG" redefined [enabled by > default] > In file included from ./linux/sparc64/arch_regs.c:1:0, > from syscall.c:1180: > ./linux/sparc/arch_regs.c:3:0: note: this is the location of the previous > definition > syscall.c: In function 'print_pc': > syscall.c:1203:20: error: 'struct pt_regs' has no member named 'tpc' > In file included from syscall.c:1337:0: > ./linux/sparc64/get_scno.c: In function 'arch_get_scno': > ./linux/sparc64/get_scno.c:8:62: error: 'struct pt_regs' has no member named > 'tpc' > ./linux/sparc64/get_scno.c:11:2: warning: right shift count >= width of type > [enabled by default] > In file included from syscall.c:1342:0: > ./linux/sparc64/get_error.c: In function 'get_error': > ./linux/sparc64/get_error.c:4:16: error: 'struct pt_regs' has no member named > 'tstate'
These members are present only when gcc compiles for sparc64. > make[2]: *** [strace-syscall.o] Error 1 > make[2]: Leaving directory `/strace' > make[1]: *** [all-recursive] Error 1 > make[1]: Leaving directory `/strace' > make: *** [all] Error 2 Looks like you are trying to build strace for sparc64 using either 32-bit userspace or gcc that builds for -m32 by default. Try something like CC='gcc -m64'. -- ldv
pgpG9xDzgSwe6.pgp
Description: PGP signature
------------------------------------------------------------------------------
_______________________________________________ Strace-devel mailing list Strace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/strace-devel