On Wed, 2007-08-08 at 10:39 +0200, Hans-Christian Egtvedt wrote:
> 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 am a bit unsure if it is uClibc fault or configure for bash, but I
have included a patch for bash which fixes my problem.
I just remove the check and code for bzero in bash. After greping around
in the source code, I saw that there already has been done numerous
changes to use memset instead.
<cut configure output and SUSV3 functions in uClibc>
--
Mvh
Hans-Christian Egtvedt
diff -upr bash-3.2.orig/config.h.in bash-3.2/config.h.in
--- bash-3.2.orig/config.h.in 2006-09-12 22:00:54.000000000 +0200
+++ bash-3.2/config.h.in 2007-08-08 14:15:12.000000000 +0200
@@ -504,9 +504,6 @@
/* Define if you have the bcopy function. */
#undef HAVE_BCOPY
-/* Define if you have the bzero function. */
-#undef HAVE_BZERO
-
/* Define if you have the confstr function. */
#undef HAVE_CONFSTR
diff -upr bash-3.2.orig/configure.in bash-3.2/configure.in
--- bash-3.2.orig/configure.in 2006-09-26 17:05:45.000000000 +0200
+++ bash-3.2/configure.in 2007-08-08 14:14:36.000000000 +0200
@@ -702,7 +702,7 @@ AC_CHECK_FUNCS(dup2 eaccess fcntl getdta
AC_REPLACE_FUNCS(rename)
dnl checks for c library functions
-AC_CHECK_FUNCS(bcopy bzero confstr fnmatch \
+AC_CHECK_FUNCS(bcopy confstr fnmatch \
getaddrinfo gethostbyname getservbyname getservent inet_aton \
memmove pathconf putenv raise regcomp regexec \
setenv setlinebuf setlocale setvbuf siginterrupt strchr \
diff -upr bash-3.2.orig/CWRU/misc/sigstat.c bash-3.2/CWRU/misc/sigstat.c
--- bash-3.2.orig/CWRU/misc/sigstat.c 2002-04-17 19:41:40.000000000 +0200
+++ bash-3.2/CWRU/misc/sigstat.c 2007-08-08 14:11:36.000000000 +0200
@@ -86,7 +86,7 @@ int sig;
init_signames()
{
register int i;
- bzero(signames, sizeof(signames));
+ memset(signames, 0, sizeof(signames));
#if defined (SIGHUP) /* hangup */
signames[SIGHUP] = "SIGHUP";
diff -upr bash-3.2.orig/lib/sh/oslib.c bash-3.2/lib/sh/oslib.c
--- bash-3.2.orig/lib/sh/oslib.c 2001-12-06 19:26:21.000000000 +0100
+++ bash-3.2/lib/sh/oslib.c 2007-08-08 14:11:44.000000000 +0200
@@ -170,23 +170,6 @@ bcopy (s,d,n)
}
#endif /* !HAVE_BCOPY */
-#if !defined (HAVE_BZERO)
-# if defined (bzero)
-# undef bzero
-# endif
-void
-bzero (s, n)
- char *s;
- int n;
-{
- register int i;
- register char *r;
-
- for (i = 0, r = s; i < n; i++)
- *r++ = '\0';
-}
-#endif
-
#if !defined (HAVE_GETHOSTNAME)
# if defined (HAVE_UNAME)
# include <sys/utsname.h>
_______________________________________________
Bug-bash mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-bash