Page MenuHome GnuPG

Segfault in GnuPG configure under cygwin
Closed, ResolvedPublic

Description

Release: 1.2.2

Environment

AthlonXP 1800+ (about 1533 MHz), 256 MB RAM, Cygwin (don't know what version but it's quite recent) on Windows 98.

This might well be a Cygwin or autoconf bug rather than a GnuPG one.

Description

One of the test programs in the configure script (the one that tries to find sizeof(unsigned short)) causes a segmentation fault. I've attached the core dump (1034 B), and the relevant extract from config.log is below.

How To Repeat

Extract from config.log:

configure:10515: checking size of unsigned short
configure:10790: gcc -o conftest.exe -g -O2 conftest.c >&5
configure:10793: $? = 0
configure:10795: ./conftest.exe
./configure: line 1: 1633267 Segmentation fault (core dumped) ./conftest$ac_exeext
configure:10798: $? = 139
configure: program exited with status 139
configure: failed program was:

#line 10750 "configure"
/* confdefs.h. */
#define PACKAGE_NAME "gnupg"
#define PACKAGE_TARNAME "gnupg"
#define PACKAGE_VERSION "1.2.2"
#define PACKAGE_STRING "gnupg 1.2.2"
#define PACKAGE_BUGREPORT "bug-gnupg@gnu.org"
#define PACKAGE "gnupg"
#define VERSION "1.2.2"
#define PACKAGE "gnupg"
#define VERSION "1.2.2"
#define _GNU_SOURCE 1
#define EGD_SOCKET_NAME ""
#define WITH_SYMBOL_UNDERSCORE 1
#define PRINTABLE_OS_NAME "Cygwin"
#define NAME_OF_DEV_RANDOM "/dev/random"
#define NAME_OF_DEV_URANDOM "/dev/urandom"
#define STDC_HEADERS 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_SYS_STAT_H 1
#define HAVE_STDLIB_H 1
#define HAVE_STRING_H 1
#define HAVE_MEMORY_H 1
#define HAVE_STRINGS_H 1
#define HAVE_UNISTD_H 1
#define HAVE_ALLOCA_H 1
#define HAVE_ALLOCA 1
#define HAVE_STDLIB_H 1
#define HAVE_UNISTD_H 1
#define HAVE_GETPAGESIZE 1
#define INTDIV0_RAISES_SIGFPE 1
#define HAVE_UNSIGNED_LONG_LONG 1
#define uintmax_t unsigned long long
#define HAVE_ARGZ_H 1
#define HAVE_LIMITS_H 1
#define HAVE_LOCALE_H 1
#define HAVE_MALLOC_H 1
#define HAVE_STDDEF_H 1
#define HAVE_STDLIB_H 1
#define HAVE_STRING_H 1
#define HAVE_UNISTD_H 1
#define HAVE_SYS_PARAM_H 1
#define HAVE_GETC_UNLOCKED 1
#define HAVE_GETCWD 1
#define HAVE_GETEGID 1
#define HAVE_GETEUID 1
#define HAVE_GETGID 1
#define HAVE_GETUID 1
#define HAVE_MUNMAP 1
#define HAVE_PUTENV 1
#define HAVE_SETENV 1
#define HAVE_SETLOCALE 1
#define HAVE_STRCASECMP 1
#define HAVE_STRDUP 1
#define HAVE_STRTOUL 1
#define HAVE_LC_MESSAGES 1
#define ENABLE_NLS 1
#define HAVE_GETTEXT 1
#define HAVE_DCGETTEXT 1
#define HAVE_DLOPEN 1
#define USE_DYNAMIC_LINKING 1
#define HAVE_DL_DLOPEN 1
#define STDC_HEADERS 1
#define HAVE_UNISTD_H 1
#define HAVE_LANGINFO_H 1
#define HAVE_TERMIO_H 1
#define HAVE_LOCALE_H 1
#define RETSIGTYPE void
#define HAVE_DECL_SYS_SIGLIST 0
#define LITTLE_ENDIAN_HOST 1
#define HAVE_USHORT_TYPEDEF 1
/* end confdefs.h. */
#include <stdio.h>
#if HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
#if HAVE_SYS_STAT_H
# include <sys/stat.h>
#endif
#if STDC_HEADERS
# include <stdlib.h>
# include <stddef.h>
#else
# if HAVE_STDLIB_H
# include <stdlib.h>
# endif
#endif
#if HAVE_STRING_H
# if !STDC_HEADERS && HAVE_MEMORY_H
# include <memory.h>
# endif
# include <string.h>
#endif
#if HAVE_STRINGS_H
# include <strings.h>
#endif
#if HAVE_INTTYPES_H
# include <inttypes.h>
#else
# if HAVE_STDINT_H
# include <stdint.h>
# endif
#endif
#if HAVE_UNISTD_H
# include <unistd.h>
#endif
long longval () { return (long) (sizeof (unsigned short)); }
unsigned long ulongval () { return (long) (sizeof (unsigned short)); }
#include <stdio.h>
#include <stdlib.h>
int
main ()
{
FILE *f = fopen ("conftest.val", "w");
if (! f)
exit (1);
if (((long) (sizeof (unsigned short))) < 0)
{
long i = longval ();
if (i != ((long) (sizeof (unsigned short))))
exit (1);
fprintf (f, "%ld\n", i);
}
else
{
unsigned long i = ulongval ();
if (i != ((long) (sizeof (unsigned short))))
exit (1);
fprintf (f, "%lu\n", i);
}
exit (ferror (f)fclose (f) != 0);
;
return 0;
}

configure:10808: error: cannot compute sizeof (unsigned short), 77
See `config.log' for more details.

Fix

Unknown

Event Timeline

I can't see any problems with the actual test code. Can you
please extract the test program (its given in the listing),
compile it using the command configure alos used and run it
under GDB, so that we can see where the segv orginates.

werner removed a project: Restricted Project.Jun 11 2003, 4:22 PM

No feedback received - closing.