[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gcl-devel] GCL on OpenBSD: estack_buf missing
From: |
Magnus Henoch |
Subject: |
[Gcl-devel] GCL on OpenBSD: estack_buf missing |
Date: |
Wed, 28 Jan 2004 21:12:46 +0100 |
User-agent: |
Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3 (gnu/linux) |
Hi,
I'm trying to compile GCL 2.5.3 on OpenBSD/i386 3.4. I configured
with ./configure --enable-machine=OpenBSD, but compilation fails with
the following:
gmake[1]: Entering directory `/home/magnus/noarchive/src/gcl-2.5.3/o'
gcc -pipe -O2 -fwritable-strings -fomit-frame-pointer -DVOL=volatile
-I/home/magnus/noarchive/src/gcl-2.5.3/o -I/usr/local/lib/gcl-2.3/h -I../h
-I/usr/local/include -I/usr/local/include/tk8.0 -I/usr/local/include/tcl8.0
-I/usr/X11R6/include -fsigned-char -L/usr/local/lib -L/usr/X11R6/lib -c -Wall
-DVOL=volatile -fsigned-char -fwritable-strings -pipe -O6 -fomit-frame-pointer
-I/home/magnus/noarchive/src/gcl-2.5.3/o -I../h -I../gcl-tk main.c
main.c: In function `main':
main.c:258: `estack_buf' undeclared (first use in this function)
main.c:258: (Each undeclared identifier is reported only once
main.c:258: for each function it appears in.)
main.c: In function `initlisp':
main.c:499: warning: implicit declaration of function `init_socket_function'
gmake[1]: *** [main.o] Error 1
gmake[1]: Leaving directory `/home/magnus/noarchive/src/gcl-2.5.3/o'
gmake: *** [unixport/saved_gcl] Error 2
This happens within the expansion of SETUP_SIG_STACK in o/main.c:
(i.e. SETUP_SIG_STACK is defined in this case)
#ifdef SETUP_SIG_STACK
SETUP_SIG_STACK
#else
#if defined(HAVE_SIGACTION) || defined(HAVE_SIGVEC)
{
/* make sure the stack is 8 byte aligned */
#ifdef SETJMP_ONE_DIRECTION
static
#endif
double estack_buf[SIG_STACK_SIZE];
bzero(estack_buf,sizeof(estack_buf));
estack.ss_sp = (char *) &estack_buf[SIG_STACK_SIZE-1];
estack.ss_onstack=0;
sigstack(&estack,0);
}
#endif
#endif
The definition of SETUP_SIG_STACK in h/OpenBSD.h:
#define SETUP_SIG_STACK \
{ \
static struct sigaltstack estack; \
estack.ss_sp = estack_buf; \
estack.ss_size = SIGSTKSZ; \
estack.ss_flags = 0; \
if (sigaltstack(&estack, 0) < 0) \
perror("sigaltstack"); \
}
The only thing I can make out of this is that estack_buf is defined in
one case but not in the other; I don't dare touch this code. Does
anyone know what could be done about this?
Regards,
Magnus
- [Gcl-devel] GCL on OpenBSD: estack_buf missing,
Magnus Henoch <=