gcl-devel
[Top][All Lists]
Advanced

[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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]