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 _______________________________________________ Bug-bash mailing list Bug-bash@gnu.org http://lists.gnu.org/mailman/listinfo/bug-bash