- assigned_to: haible --> sds
- status: open --> closed-fixed
Hello,
Compiling 2.38 on arm gives:
ake[1]: Entering directory
`/home/pvaneynd/clisp/clisp-2.38/debian/build/syscalls'
/home/pvaneynd/clisp/clisp-2.38/debian/build/lisp.run
-M
/home/pvaneynd/clisp/clisp-2.38/debian/build/lispinit.mem
-B /home/pvaneynd/clisp/clisp-2.38/debian/build -N
/home/pvaneynd/clisp/clisp-2.38/debian/build/locale
-Efile UTF-8 -Eterminal UTF-8 -Emisc 1:1 -norc -q
../modprep.fas calls.c
;; MODPREP: "calls.c" --> #P"calls.m.c"
;; MODPREP: reading "calls.c": 143,431 bytes, 3,810 lines
;; MODPREP: 476 objects, 72 DEFUNs
;; packages: ("OS" "POSIX")
MODPREP: wrote calls.m.c (396,831 bytes)
/usr/bin/gcc-4.1 -I/home/pvaneynd/clisp/t/include -W
-Wswitch -Wcomment -Wpointer-arith -Wimplicit
-Wreturn-type -Wmissing-declarations -Wno-sign-compare
-O2 -DUNICODE -I. -I.. -c calls.m.c -o calls.o
In file included from calls.c:20:
../clisp.h:677: warning: register used for two global
register variables
In file included from /usr/include/sys/procfs.h:34,
from /usr/include/sys/ucontext.h:26,
from /usr/include/signal.h:351,
from calls.c:72:
/usr/include/sys/user.h:31: error: expected identifier
or '(' before 'void'
/usr/include/sys/user.h:32: error: expected ';' before
'unsigned'
make[1]: *** [calls.o] Error 1
make[1]: Leaving directory
`/home/pvaneynd/clisp/clisp-2.38/debian/build/syscalls'
make: *** [syscalls] Error 2
This is because 'unused' is used in the system headers:
pvaneynd@leisner:~$ head -n 33 /usr/include/sys/user.h
| tail
you know what you are doing. */
struct user_fpregs
{
struct fp_reg
{
unsigned int sign1:1;
unsigned int unused:15;
unsigned int sign2:1;
unsigned int exponent:14;
Patching modules/syscalls/calls.c to undef unused
before including signal.h and redefining it afterwards
fixes this problem.
#if defined(HAVE_SIGNAL_H)
#undef unused
# include <signal.h>
#define unused (void)
#endif