bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bash 3.2 fails to detect bzero in configure stage


From: Hans-Christian Egtvedt
Subject: bash 3.2 fails to detect bzero in configure stage
Date: Wed, 08 Aug 2007 10:39:51 +0200

Hi,

I am using uClibc 0.9.29 and GCC 4.1.2 to compile bash 3.2 (with the 17
patches released on web). And I have a problem that configure does not
detect bzero properly, and thus resulting in a crash later when
compiling.

I have enabled SUSV3 functions in uClibc, so it has bzero defined in the
headers, but declared as "void bzero (void *__s, size_t __n)".

Any pointers to a correct fix or where I should start looking would be
greatly appreciated.

Below is the relevant part (AFAIK) from config.log:

configure:12821: checking for bzero
configure:12877: 
/home/hcegtvedt/gitwork/buildroot-test/build_avr32/staging_dir/usr/bin/avr32-linux-uclibc-gcc
 -Os -pipe  
-I/home/hcegtvedt/gitwork/buildroot-test/build_avr32/staging_dir/usr/include -o 
conftest -g -O2   conftest.c  >&5
conftest.c:172: warning: conflicting types for built-in function 'bzero'
/tmp/ccHJjzHr.o: In function `main':
/home/hcegtvedt/gitwork/buildroot-test/build_avr32/bash-3.2/conftest.c:183: 
undefined reference to `bzero'
collect2: ld returned 1 exit status
configure:12883: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| #define PACKAGE_NAME "bash"
| #define PACKAGE_TARNAME "bash"
| #define PACKAGE_VERSION "3.2-release"
| #define PACKAGE_STRING "bash 3.2-release"
| #define PACKAGE_BUGREPORT "bug-bash@gnu.org"
| #define ALIAS 1
| #define PUSHD_AND_POPD 1
| #define RESTRICTED_SHELL 1
| #define PROCESS_SUBSTITUTION 1
| #define PROMPT_STRING_DECODE 1
| #define SELECT_COMMAND 1
| #define HELP_BUILTIN 1
| #define ARRAY_VARS 1
| #define DPAREN_ARITHMETIC 1
| #define BRACE_EXPANSION 1
| #define COMMAND_TIMING 1
| #define EXTENDED_GLOB 1
| #define COND_COMMAND 1
| #define COND_REGEXP 1
| #define ARITH_FOR_COMMAND 1
| #define NETWORK_REDIRECTIONS 1
| #define PROGRAMMABLE_COMPLETION 1
| #define DEBUGGER 1
| #define MEMSCRAMBLE 1
| #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_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define _FILE_OFFSET_BITS 64
| #define READLINE 1
| #define HISTORY 1
| #define BANG_HISTORY 1
| #define _GNU_SOURCE 1
| #define WORDS_BIGENDIAN 1
| #define HAVE_STRINGIZE 1
| #define PROTOTYPES 1
| #define __PROTOTYPES 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 0
| #define HAVE_INTTYPES_H_WITH_UINTMAX 1
| #define HAVE_STDINT_H_WITH_UINTMAX 1
| #define HAVE_UNSIGNED_LONG_LONG 1
| #define HAVE_UINTMAX_T 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_LIMITS_H 1
| #define HAVE_LOCALE_H 1
| #define HAVE_NL_TYPES_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_FEOF_UNLOCKED 1
| #define HAVE_FGETS_UNLOCKED 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_MEMPCPY 1
| #define HAVE_MUNMAP 1
| #define HAVE_PUTENV 1
| #define HAVE_SETENV 1
| #define HAVE_SETLOCALE 1
| #define HAVE_STPCPY 1
| #define HAVE_STRCASECMP 1
| #define HAVE_STRDUP 1
| #define HAVE_STRTOUL 1
| #define HAVE_TSEARCH 1
| #define HAVE___FSETLOCKING 1
| #define HAVE_LANGINFO_CODESET 1
| #define HAVE_LC_MESSAGES 1
| #define HAVE_DIRENT_H 1
| #define TIME_WITH_SYS_TIME 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STDARG_H 1
| #define HAVE_LIMITS_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_LOCALE_H 1
| #define HAVE_TERMCAP_H 1
| #define HAVE_TERMIO_H 1
| #define HAVE_TERMIOS_H 1
| #define HAVE_DLFCN_H 1
| #define HAVE_STDDEF_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_NETDB_H 1
| #define HAVE_PWD_H 1
| #define HAVE_GRP_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_REGEX_H 1
| #define HAVE_SYS_SELECT_H 1
| #define HAVE_SYS_FILE_H 1
| #define HAVE_SYS_RESOURCE_H 1
| #define HAVE_SYS_PARAM_H 1
| #define HAVE_SYS_SOCKET_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_SYS_TIMES_H 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_WAIT_H 1
| #define HAVE_NETINET_IN_H 1
| #define HAVE_ARPA_INET_H 1
| #define HAVE_ALLOCA_H 1
| #define HAVE_ALLOCA 1
| #define GETPGRP_VOID 1
| #define HAVE_VPRINTF 1
| #define RETSIGTYPE void
| #define HAVE_WAIT3 1
| #define HAVE_MKFIFO 1
| #define HAVE_DUP2 1
| #define HAVE_FCNTL 1
| #define HAVE_GETDTABLESIZE 1
| #define HAVE_GETGROUPS 1
| #define HAVE_GETHOSTNAME 1
| #define HAVE_GETPAGESIZE 1
| #define HAVE_GETPEERNAME 1
| #define HAVE_GETRLIMIT 1
| #define HAVE_GETRUSAGE 1
| #define HAVE_GETTIMEOFDAY 1
| #define HAVE_KILL 1
| #define HAVE_KILLPG 1
| #define HAVE_LSTAT 1
| #define HAVE_READLINK 1
| #define HAVE_SBRK 1
| #define HAVE_SELECT 1
| #define HAVE_TCGETPGRP 1
| #define HAVE_UNAME 1
| #define HAVE_ULIMIT 1
| #define HAVE_WAITPID 1
| #define HAVE_RENAME 1
| #define HAVE_BCOPY 1
| /* end confdefs.h.  */
| /* Define bzero to an innocuous variant, in case <limits.h> declares bzero.
|    For example, HP-UX 11i <limits.h> declares gettimeofday.  */
| #define bzero innocuous_bzero
| 
| /* System header to define __stub macros and hopefully few prototypes,
|     which can conflict with char bzero (); below.
|     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
|     <limits.h> exists even on freestanding compilers.  */
| 
| #ifdef __STDC__
| # include <limits.h>
| #else
| # include <assert.h>
| #endif
| 
| #undef bzero
| 
| /* Override any GCC internal prototype to avoid an error.
|    Use char because int might match the return type of a GCC
|    builtin and then its argument prototype would still apply.  */
| #ifdef __cplusplus
| extern "C"
| #endif
| char bzero ();
| /* The GNU C library defines this for functions which it implements
|     to always fail with ENOSYS.  Some functions are actually named
|     something starting with __ and the normal name is an alias.  */
| #if defined __stub_bzero || defined __stub___bzero
| choke me
| #endif
| 
| int
| main ()
| {
| return bzero ();
|   ;
|   return 0;
| }
configure:12901: result: no

-- 
Best regards,
Hans-Christian Egtvedt





reply via email to

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