Привет всем!
Можно ли на 64-bit Linux собрать SPF 4.20 32-bit из исходников, никто не пробовал?
Старособранный 32-bit СПФ работает, но дает ошибку при выходе
EXCEPTION! CODE:0000000B ADDRESS:F7D308D4 WORD:<?not found>
USER DATA: F7EDA200 THREAD ID: F7F22940 HANDLER: 00000000
[Segmentation fault] Code:UNHANDLED EXCEPTION: FFFFFFF6
RETURN STACK:
FFAA7200 : 08053137 CATCH
FFAA7204 : 00000000
FFAA7208 : FFAA81BC
FFAA720C : 08069497 FATAL-HANDLER1
FFAA7210 : 080530CB THROW
FFAA7214 : 080698D2 (errsignal)
FFAA7218 : 0805211C _WNDPROC-CODE
FFAA721C : F7EDA200
FFAA7220 : 00000010
FFAA7224 : FFAA81CC
FFAA7228 : FFAA824C
FFAA722C : 00000000
FFAA7230 : F7F27070
[...]
SOURCE:
^ -10 Деление на ноль
СПФ из гита не собирается
~/s/s/src (master|…) $ ./compile
rm: cannot remove 'spf4.o': No such file or directory
make: Entering directory '/home/oleg/src/spf-spf/src/posix'
gcc -Wall -Werror -DSPF_SRC config.c -oconfig.gen -m32
In file included from config.c:7:
config.c: In function ‘test’:
config.c:38:10: error: invalid use of undefined type ‘struct sigaction’
ENSURE(offsetof(struct sigaction,sa_sigaction) == 0)
^~~~~~~~
config.h:33:25: note: in definition of macro ‘ENSURE’
#define ENSURE(p) if (!(p)) { fprintf(stderr,"failed : %s\n", #p); return 0; }
^
config.c:39:10: error: invalid use of undefined type ‘struct sigaction’
ENSURE(offsetof(struct sigaction,sa_mask) == CELL)
^~~~~~~~
config.h:33:25: note: in definition of macro ‘ENSURE’
#define ENSURE(p) if (!(p)) { fprintf(stderr,"failed : %s\n", #p); return 0; }
^
config.c:40:10: error: invalid use of undefined type ‘struct sigaction’
ENSURE(offsetof(struct sigaction,sa_flags) == sizeof(sigset_t) + CELL)
^~~~~~~~
config.h:33:25: note: in definition of macro ‘ENSURE’
#define ENSURE(p) if (!(p)) { fprintf(stderr,"failed : %s\n", #p); return 0; }
^
config.c:41:10: error: invalid use of undefined type ‘struct sigaction’
ENSURE(offsetof(struct sigaction,sa_restorer) - offsetof(struct sigaction, sa_flags) == CELL)
^~~~~~~~
config.h:33:25: note: in definition of macro ‘ENSURE’
#define ENSURE(p) if (!(p)) { fprintf(stderr,"failed : %s\n", #p); return 0; }
^
config.c:41:51: error: invalid use of undefined type ‘struct sigaction’
ENSURE(offsetof(struct sigaction,sa_restorer) - offsetof(struct sigaction, sa_flags) == CELL)
^~~~~~~~
config.h:33:25: note: in definition of macro ‘ENSURE’
#define ENSURE(p) if (!(p)) { fprintf(stderr,"failed : %s\n", #p); return 0; }
^
config.c:42:17: error: invalid application of ‘sizeof’ to incomplete type ‘struct sigaction’
ENSURE(sizeof(struct sigaction) == 3*CELL + sizeof(sigset_t))
^~~~~~
config.h:33:25: note: in definition of macro ‘ENSURE’
#define ENSURE(p) if (!(p)) { fprintf(stderr,"failed : %s\n", #p); return 0; }
^
config.c: In function ‘main’:
config.c:66:11: error: ‘SA_RESTART’ undeclared (first use in this function)
DEFINE( SA_RESTART )
^~~~~~~~~~
config.h:29:36: note: in definition of macro ‘DEFINE’
#define DEFINE(name) a_const(#name,name,#name);
^~~~
config.c:66:11: note: each undeclared identifier is reported only once for each function it appears in
DEFINE( SA_RESTART )
^~~~~~~~~~
config.h:29:36: note: in definition of macro ‘DEFINE’
#define DEFINE(name) a_const(#name,name,#name);
^~~~
config.c:67:11: error: ‘SA_SIGINFO’ undeclared (first use in this function); did you mean ‘S_IFIFO’?
DEFINE( SA_SIGINFO )
^~~~~~~~~~
config.h:29:36: note: in definition of macro ‘DEFINE’
#define DEFINE(name) a_const(#name,name,#name);
^~~~
config.c:68:11: error: ‘SA_NODEFER’ undeclared (first use in this function)
DEFINE( SA_NODEFER )
^~~~~~~~~~
config.h:29:36: note: in definition of macro ‘DEFINE’
#define DEFINE(name) a_const(#name,name,#name);
^~~~
config.c:70:11: error: ‘SIGILL’ undeclared (first use in this function)
DEFINE( SIGILL )
^~~~~~
config.h:29:36: note: in definition of macro ‘DEFINE’
#define DEFINE(name) a_const(#name,name,#name);
^~~~
config.c:71:11: error: ‘SIGSEGV’ undeclared (first use in this function)
DEFINE( SIGSEGV )
^~~~~~~
config.h:29:36: note: in definition of macro ‘DEFINE’
#define DEFINE(name) a_const(#name,name,#name);
^~~~
config.c:72:11: error: ‘SIGBUS’ undeclared (first use in this function)
DEFINE( SIGBUS )
^~~~~~
config.h:29:36: note: in definition of macro ‘DEFINE’
#define DEFINE(name) a_const(#name,name,#name);
^~~~
config.c:73:11: error: ‘SIGFPE’ undeclared (first use in this function)
DEFINE( SIGFPE )
^~~~~~
config.h:29:36: note: in definition of macro ‘DEFINE’
#define DEFINE(name) a_const(#name,name,#name);
^~~~
config.c:74:11: error: ‘SIGINT’ undeclared (first use in this function)
DEFINE( SIGINT )
^~~~~~
config.h:29:36: note: in definition of macro ‘DEFINE’
#define DEFINE(name) a_const(#name,name,#name);
^~~~
config.c:75:33: error: unknown type name ‘siginfo_t’
CONST( SIGINFO_CODE, offsetof(siginfo_t,si_code))
^~~~~~~~~
config.h:28:41: note: in definition of macro ‘CONST’
#define CONST(name,value) a_const(#name,value,#value);
^~~~~
config.c:76:11: error: ‘FPE_INTDIV’ undeclared (first use in this function)
DEFINE( FPE_INTDIV )
^~~~~~~~~~
config.h:29:36: note: in definition of macro ‘DEFINE’
#define DEFINE(name) a_const(#name,name,#name);
^~~~
config.c:77:11: error: ‘FPE_INTOVF’ undeclared (first use in this function)
DEFINE( FPE_INTOVF )
^~~~~~~~~~
config.h:29:36: note: in definition of macro ‘DEFINE’
#define DEFINE(name) a_const(#name,name,#name);
^~~~
config.c:78:11: error: ‘FPE_FLTDIV’ undeclared (first use in this function)
DEFINE( FPE_FLTDIV )
^~~~~~~~~~
config.h:29:36: note: in definition of macro ‘DEFINE’
#define DEFINE(name) a_const(#name,name,#name);
^~~~
config.c:79:11: error: ‘FPE_FLTOVF’ undeclared (first use in this function)
DEFINE( FPE_FLTOVF )
^~~~~~~~~~
config.h:29:36: note: in definition of macro ‘DEFINE’
#define DEFINE(name) a_const(#name,name,#name);
^~~~
config.c:80:11: error: ‘FPE_FLTUND’ undeclared (first use in this function)
DEFINE( FPE_FLTUND )
^~~~~~~~~~
config.h:29:36: note: in definition of macro ‘DEFINE’
#define DEFINE(name) a_const(#name,name,#name);
^~~~
config.c:81:11: error: ‘FPE_FLTRES’ undeclared (first use in this function)
DEFINE( FPE_FLTRES )
^~~~~~~~~~
config.h:29:36: note: in definition of macro ‘DEFINE’
#define DEFINE(name) a_const(#name,name,#name);
^~~~
config.c:82:11: error: ‘FPE_FLTINV’ undeclared (first use in this function)
DEFINE( FPE_FLTINV )
^~~~~~~~~~
config.h:29:36: note: in definition of macro ‘DEFINE’
#define DEFINE(name) a_const(#name,name,#name);
^~~~
make: *** [Makefile:9: config.gen] Error 1
make: Leaving directory '/home/oleg/src/spf-spf/src/posix'
Wait a bit while compiling...
./compile: 13: ./compile: ./spf4orig: not found
gcc: error: spf4.o: No such file or directory
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/8/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 8.2.0-7ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 8.2.0 (Ubuntu 8.2.0-7ubuntu1)
mv: cannot stat 'spf4': No such file or directory