Tim Waugh b13041
			     BASH PATCH REPORT
Tim Waugh b13041
			     =================
Tim Waugh b13041
Tim Waugh b13041
Bash-Release: 3.2
Tim Waugh b13041
Patch-ID: bash32-011
Tim Waugh b13041
Tim Waugh b13041
Bug-Reported-by: Petr Sumbera <Petr.Sumbera@Sun.COM>
Tim Waugh b13041
Bug-Reference-ID: <45AF5F4B.1020800@sun.com>
Tim Waugh b13041
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2007-01/msg00049.html
Tim Waugh b13041
Tim Waugh b13041
Bug-Description:
Tim Waugh b13041
Tim Waugh b13041
Under certain circumstances (loopback mounts), the bash getcwd does not
Tim Waugh b13041
return correct results.  This patch allows the use of the Solaris libc
Tim Waugh b13041
getcwd even though it doesn't dynamically allocate memory.
Tim Waugh b13041
Tim Waugh b13041
Run `touch configure' to make sure make doesn't try to run autoconf.
Tim Waugh b13041
Then run configure with whatever options you like.
Tim Waugh b13041
Tim Waugh b13041
Patch:
Tim Waugh b13041
Tim Waugh b13041
*** ../bash-3.2-patched/configure.in	Tue Sep 26 11:05:45 2006
Tim Waugh b13041
--- configure.in	Wed Jan 31 09:48:00 2007
Tim Waugh b13041
***************
Tim Waugh b13041
*** 6,10 ****
Tim Waugh b13041
  dnl Process this file with autoconf to produce a configure script.
Tim Waugh b13041
  
Tim Waugh b13041
! # Copyright (C) 1987-2006 Free Software Foundation, Inc.
Tim Waugh b13041
  
Tim Waugh b13041
  # This program is free software; you can redistribute it and/or modify
Tim Waugh b13041
--- 6,10 ----
Tim Waugh b13041
  dnl Process this file with autoconf to produce a configure script.
Tim Waugh b13041
  
Tim Waugh b13041
! # Copyright (C) 1987-2007 Free Software Foundation, Inc.
Tim Waugh b13041
  
Tim Waugh b13041
  # This program is free software; you can redistribute it and/or modify
Tim Waugh b13041
***************
Tim Waugh b13041
*** 992,996 ****
Tim Waugh b13041
  sco3.2*)	LOCAL_CFLAGS=-DMUST_UNBLOCK_CHLD ;;
Tim Waugh b13041
  sunos4*)	LOCAL_CFLAGS=-DSunOS4 ;;
Tim Waugh b13041
! solaris2.5*)	LOCAL_CFLAGS=-DSunOS5 ;;
Tim Waugh b13041
  lynxos*)	LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
Tim Waugh b13041
  linux*)		LOCAL_LDFLAGS=-rdynamic		 # allow dynamic loading
Tim Waugh b13041
--- 992,997 ----
Tim Waugh b13041
  sco3.2*)	LOCAL_CFLAGS=-DMUST_UNBLOCK_CHLD ;;
Tim Waugh b13041
  sunos4*)	LOCAL_CFLAGS=-DSunOS4 ;;
Tim Waugh b13041
! solaris2.5*)	LOCAL_CFLAGS="-DSunOS5 -DSOLARIS" ;;
Tim Waugh b13041
! solaris2*)	LOCAL_CFLAGS=-DSOLARIS ;;
Tim Waugh b13041
  lynxos*)	LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
Tim Waugh b13041
  linux*)		LOCAL_LDFLAGS=-rdynamic		 # allow dynamic loading
Tim Waugh b13041
*** ../bash-3.2-patched/config-bot.h	Tue Sep 12 16:43:04 2006
Tim Waugh b13041
--- config-bot.h	Tue Mar  6 10:41:31 2007
Tim Waugh b13041
***************
Tim Waugh b13041
*** 2,6 ****
Tim Waugh b13041
  /* modify settings or make new ones based on what autoconf tells us. */
Tim Waugh b13041
  
Tim Waugh b13041
! /* Copyright (C) 1989-2002 Free Software Foundation, Inc.
Tim Waugh b13041
  
Tim Waugh b13041
     This file is part of GNU Bash, the Bourne Again SHell.
Tim Waugh b13041
--- 2,6 ----
Tim Waugh b13041
  /* modify settings or make new ones based on what autoconf tells us. */
Tim Waugh b13041
  
Tim Waugh b13041
! /* Copyright (C) 1989-2007 Free Software Foundation, Inc.
Tim Waugh b13041
  
Tim Waugh b13041
     This file is part of GNU Bash, the Bourne Again SHell.
Tim Waugh b13041
***************
Tim Waugh b13041
*** 71,77 ****
Tim Waugh b13041
  #endif
Tim Waugh b13041
  
Tim Waugh b13041
! /* If we have a getcwd(3), but it calls popen(), #undef HAVE_GETCWD so
Tim Waugh b13041
!    the replacement in getcwd.c will be built. */
Tim Waugh b13041
! #if defined (HAVE_GETCWD) && defined (GETCWD_BROKEN)
Tim Waugh b13041
  #  undef HAVE_GETCWD
Tim Waugh b13041
  #endif
Tim Waugh b13041
--- 71,79 ----
Tim Waugh b13041
  #endif
Tim Waugh b13041
  
Tim Waugh b13041
! /* If we have a getcwd(3), but one that does not dynamically allocate memory,
Tim Waugh b13041
!    #undef HAVE_GETCWD so the replacement in getcwd.c will be built.  We do
Tim Waugh b13041
!    not do this on Solaris, because their implementation of loopback mounts
Tim Waugh b13041
!    breaks the traditional file system assumptions that getcwd uses. */
Tim Waugh b13041
! #if defined (HAVE_GETCWD) && defined (GETCWD_BROKEN) && !defined (SOLARIS)
Tim Waugh b13041
  #  undef HAVE_GETCWD
Tim Waugh b13041
  #endif
Tim Waugh b13041
*** ../bash-3.2-patched/builtins/common.c	Thu Jul 27 09:39:51 2006
Tim Waugh b13041
--- builtins/common.c	Tue Mar  6 10:43:27 2007
Tim Waugh b13041
***************
Tim Waugh b13041
*** 1,3 ****
Tim Waugh b13041
! /* Copyright (C) 1987-2005 Free Software Foundation, Inc.
Tim Waugh b13041
  
Tim Waugh b13041
     This file is part of GNU Bash, the Bourne Again SHell.
Tim Waugh b13041
--- 1,3 ----
Tim Waugh b13041
! /* Copyright (C) 1987-2007 Free Software Foundation, Inc.
Tim Waugh b13041
  
Tim Waugh b13041
     This file is part of GNU Bash, the Bourne Again SHell.
Tim Waugh b13041
***************
Tim Waugh b13041
*** 476,480 ****
Tim Waugh b13041
--- 476,484 ----
Tim Waugh b13041
    if (the_current_working_directory == 0)
Tim Waugh b13041
      {
Tim Waugh b13041
+ #if defined (GETCWD_BROKEN)
Tim Waugh b13041
+       the_current_working_directory = getcwd (0, PATH_MAX);
Tim Waugh b13041
+ #else
Tim Waugh b13041
        the_current_working_directory = getcwd (0, 0);
Tim Waugh b13041
+ #endif
Tim Waugh b13041
        if (the_current_working_directory == 0)
Tim Waugh b13041
  	{
Tim Waugh b13041
*** ../bash-3.2-patched/configure	Tue Sep 26 11:06:01 2006
Tim Waugh b13041
--- configure	Tue Mar  6 10:59:20 2007
Tim Waugh b13041
***************
Tim Waugh b13041
*** 27317,27321 ****
Tim Waugh b13041
  sco3.2*)	LOCAL_CFLAGS=-DMUST_UNBLOCK_CHLD ;;
Tim Waugh b13041
  sunos4*)	LOCAL_CFLAGS=-DSunOS4 ;;
Tim Waugh b13041
! solaris2.5*)	LOCAL_CFLAGS=-DSunOS5 ;;
Tim Waugh b13041
  lynxos*)	LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
Tim Waugh b13041
  linux*)		LOCAL_LDFLAGS=-rdynamic		 # allow dynamic loading
Tim Waugh b13041
--- 27317,27322 ----
Tim Waugh b13041
  sco3.2*)	LOCAL_CFLAGS=-DMUST_UNBLOCK_CHLD ;;
Tim Waugh b13041
  sunos4*)	LOCAL_CFLAGS=-DSunOS4 ;;
Tim Waugh b13041
! solaris2.5*)	LOCAL_CFLAGS="-DSunOS5 -DSOLARIS" ;;
Tim Waugh b13041
! solaris2*)	LOCAL_CFLAGS=-DSOLARIS ;;
Tim Waugh b13041
  lynxos*)	LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
Tim Waugh b13041
  linux*)		LOCAL_LDFLAGS=-rdynamic		 # allow dynamic loading
Tim Waugh b13041
*** ../bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006
Tim Waugh b13041
--- patchlevel.h	Mon Oct 16 14:22:54 2006
Tim Waugh b13041
***************
Tim Waugh b13041
*** 26,30 ****
Tim Waugh b13041
     looks for to find the patch level (for the sccs version string). */
Tim Waugh b13041
  
Tim Waugh b13041
! #define PATCHLEVEL 10
Tim Waugh b13041
  
Tim Waugh b13041
  #endif /* _PATCHLEVEL_H_ */
Tim Waugh b13041
--- 26,30 ----
Tim Waugh b13041
     looks for to find the patch level (for the sccs version string). */
Tim Waugh b13041
  
Tim Waugh b13041
! #define PATCHLEVEL 11
Tim Waugh b13041
  
Tim Waugh b13041
  #endif /* _PATCHLEVEL_H_ */