Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Ср окт 07, 2026 22:56

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: SPF 4.20 под Linux 64 bit
СообщениеДобавлено: Чт янв 17, 2019 20:17 
Не в сети

Зарегистрирован: Ср май 10, 2006 13:51
Сообщения: 202
Благодарил (а): 3 раз.
Поблагодарили: 4 раз.
Привет всем!

Можно ли на 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; }