Tcl Source Code

View Ticket
Login
Ticket UUID: 514731
Title: TIP#72 Patch
Type: Patch Version: None
Submitter: dkf Created on: 2002-02-08 09:41:12
Subsystem: None Assigned To: dkf
Priority: 5 Medium Severity:
Status: Closed Last Modified: 2002-02-16 04:21:18
Resolution: Invalid Closed By: dkf
    Closed on: 2002-02-15 21:21:18
Description:
Patch to provide TIP#72 functionality in support of
discussion on the tcl-core mailing list, made at 09:30
on 08 Feb 2002. Does not necessarily (I'm not sure if
it does; assume it doesn't) update automatically
generated files, so you will need to rerun autoconf (I
don't have a recent version, so feedback here would be
welcome), 'make genstubs' and 'make mklinks' before
building properly.

Note that this patch has no category. This is because
it affects many separate categories, including
10.Objects, 15-17.Commands*, 22.[scan], quite a bit
through the channel system, 43.Parsing, 44.Bytecode,
and 49.Configure+Build.  At least.  And there's no easy
way to split these up by area.  :^(
User Comments: dkf added on 2002-02-16 04:21:18:
Logged In: YES 
user_id=79902

(Updated version of) patch in core.

dkf added on 2002-02-11 18:22:31:

File Deleted - 17475: 



File Added - 17637: 64bit.patch.gz

dkf added on 2002-02-11 18:22:30:
Logged In: YES 
user_id=79902

OK, so I'd not ironed out all the stupid errors...

dgp added on 2002-02-09 03:55:53:
Logged In: YES 
user_id=80530

After the changes already described, the patched
Tcl works fine on 64 bit Linux Alpha.

On Solaris 8, though, [glob] appears to be broken:

$ mkdir solaris
$ cd solaris
$ ../unix/configure --disable-shared
...
$ make
...
gcc -pipe -c -O -Wall -Wconversion -Wno-implicit-int -fPIC
-I../unix/../generic -I../unix -DHAVE_UNISTD_H=1
-DHAVE_LIMITS_H=1 -DTCL_WIDE_INT_TYPE=long\ long
-DHAVE_STRUCT_DIRENT64=1 -DHAVE_STRUCT_STAT64=1
-DHAVE_TYPE_OFF64_T=1 -DHAVE_GETCWD=1 -DHAVE_OPENDIR=1
-DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -DHAVE_STRTOLL=1
-DHAVE_STRTOULL=1 -DHAVE_TMPNAM=1 -DHAVE_WAITPID=1
-DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_TERMIOS=1
-DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_TZNAME=1
-DHAVE_GMTIME_R=1 -DHAVE_LOCALTIME_R=1 -DHAVE_TIMEZONE_VAR=1
-DHAVE_ST_BLKSIZE=1 -DSTDC_HEADERS=1 -DNO_UNION_WAIT=1
-DNEED_MATHERR=1 -DHAVE_SIGNED_CHAR=1 -DHAVE_LANGINFO=1
-D_REENTRANT=1 -D_POSIX_PTHREAD_SEMANTICS=1
-DHAVE_SYS_IOCTL_H=1 -DHAVE_SYS_FILIO_H=1
-DSTATIC_BUILD=1         -DTCL_SHLIB_EXT=\".so\"
../unix/../unix/tclUnixFile.c
../unix/tclUnixFile.c: In function `TclpMatchInDirectory':
../unix/tclUnixFile.c:377: warning: passing arg 2 of `stat'
from incompatible pointer type
gcc -pipe -c -O -Wall -Wconversion -Wno-implicit-int -fPIC
-I../unix/../generic -I../unix -DHAVE_UNISTD_H=1
-DHAVE_LIMITS_H=1 -DTCL_WIDE_INT_TYPE=long\ long
-DHAVE_STRUCT_DIRENT64=1 -DHAVE_STRUCT_STAT64=1
-DHAVE_TYPE_OFF64_T=1 -DHAVE_GETCWD=1 -DHAVE_OPENDIR=1
-DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -DHAVE_STRTOLL=1
-DHAVE_STRTOULL=1 -DHAVE_TMPNAM=1 -DHAVE_WAITPID=1
-DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_TERMIOS=1
-DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_TZNAME=1
-DHAVE_GMTIME_R=1 -DHAVE_LOCALTIME_R=1 -DHAVE_TIMEZONE_VAR=1
-DHAVE_ST_BLKSIZE=1 -DSTDC_HEADERS=1 -DNO_UNION_WAIT=1
-DNEED_MATHERR=1 -DHAVE_SIGNED_CHAR=1 -DHAVE_LANGINFO=1
-D_REENTRANT=1 -D_POSIX_PTHREAD_SEMANTICS=1
-DHAVE_SYS_IOCTL_H=1 -DHAVE_SYS_FILIO_H=1
-DSTATIC_BUILD=1         -DTCL_SHLIB_EXT=\".so\"
../unix/../unix/tclUnixPipe.c
../unix/tclUnixPipe.c: In function `TclpOpenFile':
../unix/tclUnixPipe.c:154: warning: passing arg 2 of
`lseek64' with different width due to prototype
../unix/tclUnixPipe.c: In function `TclpCreateTempFile':
../unix/tclUnixPipe.c:218: warning: passing arg 2 of
`lseek64' with different width due to prototype
...
$ ./tclsh
% glob */pkga.so
no files matched glob pattern "*/pkga.so"

This failure breaks [package unknown] so further
testing is difficult.

dgp added on 2002-02-09 01:31:06:
Logged In: YES 
user_id=80530

Also, change the declarations of TestReportStat
and TestReportLStat (around 330-350 of tclTest.c)
to use the Tcl_StatBuf type for their arguments.

dgp added on 2002-02-09 01:23:17:
Logged In: YES 
user_id=80530

After applying the patch, be sure to remove the
stray "+" signs at the beginning of lines 3972
and 4921 of generic/tclExecute.c.

dkf added on 2002-02-08 17:12:24:

File Deleted - 17473:

dkf added on 2002-02-08 17:12:23:

File Added - 17475: 64bit.patch.gz

Logged In: YES 
user_id=79902

And with the timing usually reserved for the higher classes
of comedy performance, Jeff checks in changes that impact
upon the patch.  Nice one!  :^(

Here's a version updated to fix Jeff's updates too...

dkf added on 2002-02-08 16:43:13:

File Added - 17473: 64bit.patch.gz

Logged In: YES 
user_id=79902

(Bother; patch has to be compressed to fit past SF's file
size limits...)

Attachments: