Bug 34170 - tcsh's (and csh's) wildcard doesn't work on large files (>2Gb)
Summary: tcsh's (and csh's) wildcard doesn't work on large files (>2Gb)
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: tcsh
Version: 7.1
Hardware: i386
OS: Linux
Target Milestone: ---
Assignee: Nalin Dahyabhai
QA Contact: David Lawrence
Depends On:
TreeView+ depends on / blocked
Reported: 2001-03-30 21:19 UTC by Erika Mustermann
Modified: 2007-04-18 16:32 UTC (History)
7 users (show)

Clone Of:
Last Closed: 2003-02-06 20:10:49 UTC

Attachments (Terms of Use)

Description Erika Mustermann 2001-03-30 21:19:21 UTC
From Bugzilla Helper:
User-Agent: Mozilla/4.7C-SGI [en] (X11; I; IRIX 6.5 IP32)

When using a '*' trying to match a file bigger than 2Gb tcsh (and csh)
doesn't 'see' it. bash is ok.

Reproducible: Always
Steps to Reproduce:
1. /bin/tcsh
2. mkdir adir
3. cd adir
4. dd if=/dev/zero of=big-file seek=2047 bs=1024k count=1
5. dd if=/dev/zero of=small-file seek=2046 bs=1024k count=1
6. ls
  => big-file  small-file
7. ls *
  => small-file
8. ls big*
  => ls: No match

9. ls big[TAB] => completes to ls big-file


Expected Results:  I expect to match the '*' in tcsh files smaller and
bigger than 2GB.

Comment 1 David Mastronarde 2001-10-05 19:39:50 UTC
There are two additional failures related to this bug:
1) in a csh script or on the tcsh command line, "if (-e bigfile) echo exists"
will fail if bigfile is > 2G.
2) Big files fail to show up in a Motif file chooser window.  The molview
program, part of the opengl_for_x test programs available from SGI (?) will show
this behavior.
We have found the bug to occur with EXT2, EXT3, and filesystems NFS-mounted from

Comment 2 Sean O'Connell 2001-10-31 17:57:02 UTC

I think this is due to the lack of largefile support in tcsh-6.10.00
for linux. The latest version of tcsh (6.11.00) available from 
ftp://ftp.astron.com/pub/tcsh includes largefile support. I was able
to enable largefile support by adding a patch to the tcsh source rpm.

--- tcsh-6.10.00/config/linux.LFS	Tue Apr 20 03:49:09 1999
+++ tcsh-6.10.00/config/linux	Wed Apr 25 19:55:50 2001
@@ -116,8 +116,28 @@
  * DIRENT	Your system has <dirent.h> instead of <sys/dir.h>
 #define DIRENT
-/****************** local defines *********************/
+ * Get the name space we want.
+ *
+ * The more recent defaults for gcc (e.g. on Red Hat 7.0)
+ * also define _POSIX_C_SOURCE, which throws our code off.
+ */
+#define __STRICT_ANSI__
+#define _BSD_SOURCE
+#define _SVID_SOURCE
+#define _POSIX_SOURCE
+ * Large file support from <features.h>
+ */
+#define _FILE_OFFSET_BITS 64
+/****************** local defines *********************/
 #undef PW_SHADOW
 #ifndef _PATH_TCSHELL
 #define _PATH_TCSHELL "/bin/tcsh

Comment 3 Ben Woodard 2003-01-22 01:14:02 UTC
tcsh-6.12-3.i386.rpm out of the beta for 8.1 doesn't have this problem.

Comment 4 Bill Nottingham 2003-02-06 20:10:49 UTC
This is fixed in tcsh in 8.0.

Note You need to log in before you can comment on or make changes to this bug.