From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21400 invoked from network); 14 May 2001 15:24:48 -0000 Received: from sunsite.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 14 May 2001 15:24:48 -0000 Received: (qmail 21008 invoked by alias); 14 May 2001 15:24:29 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 14332 Received: (qmail 20985 invoked from network); 14 May 2001 15:24:28 -0000 Message-ID: To: zsh-workers@sunsite.dk (Zsh hackers list) Subject: Re: (Fwd) Re: Bugs on SourceForge In-Reply-To: Your message of "Mon, 14 May 2001 14:55:01 -0000." <1010514145501.ZM9778@candle.brasslantern.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----- =_aaaaaaaaaa0" Content-ID: <23628.989853776.0@csr.com> Date: Mon, 14 May 2001 16:23:55 +0100 From: Peter Stephenson ------- =_aaaaaaaaaa0 Content-Type: text/plain; charset="us-ascii" Content-ID: <23628.989853776.1@csr.com> >>From Jason Price: > --- /tmp/zsh.ztst.tout.12435 Thu May 10 12:59:21 2001 > *************** > *** 1,3 **** > out1 out2 > ! out1: All files > ! out2: All files > --- 1,3 ---- > out1 out2 > ! out1: > ! out2: > Test ./A04redirect.ztst failed: output differs from expected as shown above > for: > print * > print "out1: $( Was testing: read multio with globbing > ./A04redirect.ztst: test failed. I'll have to try this out when I get a moment. But given the headers are screwy for Solaris 8 (see below), I rather suspect I won't be able to reproduce it. Certainly works OK on 8 with zsh compiled under 6. > On to the datasize tests. These worked, right? Else I'm missing something. > The piece of configure that seems broken is (slightly cleaned up for > readability): > > configure:2652: gcc -c -Wall -Wno-implicit -Wmissing-prototypes -O2 > -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c 1>&5 > In file included from /usr/include/sys/wait.h:24, from configure:2638: > /usr/include/sys/resource.h:148: warning: `struct rlimit64' declared inside > parameter list > /usr/include/sys/resource.h:148: warning: its scope is only this definition > or declaration, > /usr/include/sys/resource.h:148: warning: which is probably not what you > want. > /usr/include/sys/resource.h:149: warning: `struct rlimit64' declared inside > parameter list This looks like another header problem, but this time it's more than just configure complaining. struct rlimit64 should be defined: /* transitional large file interface versions */ #ifdef _LARGEFILE64_SOURCE typedef u_longlong_t rlim64_t; #define RLIM64_INFINITY ((rlim64_t)-3) #define RLIM64_SAVED_MAX ((rlim64_t)-2) #define RLIM64_SAVED_CUR ((rlim64_t)-1) struct rlimit64 { rlim64_t rlim_cur; /* current limit */ rlim64_t rlim_max; /* maximum value for rlim_cur */ }; #endif In fact, the resource.h is suspiciously different to the one on our SunOS 5.8 system. The complaints are presumbably from the lines extern int setrlimit64(int, const struct rlimit64 *); extern int getrlimit64(int, struct rlimit64 *); which in my case occur at lines 199 and 200. I've attached the header, probably in violation of this, that and the other. -- Peter Stephenson Software Engineer CSR Ltd., Unit 300, Science Park, Milton Road, Cambridge, CB4 0XL, UK Tel: +44 (0)1223 392070 ********************************************************************** The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer. ********************************************************************** ------- =_aaaaaaaaaa0 Content-Type: text/plain; name="resource.h"; charset="us-ascii" Content-ID: <23628.989853776.2@csr.com> Content-Description: resource.h /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T */ /* The copyright notice above does not evidence any */ /* actual or intended publication of such source code. */ /* * Copyright (c) 1996-1998 by Sun Microsystems, Inc. * All rights reserved. */ #ifndef _SYS_RESOURCE_H #define _SYS_RESOURCE_H #pragma ident "@(#)resource.h 1.25 98/06/30 SMI" /* SVr4.0 1.11 */ #include #include #include #ifdef __cplusplus extern "C" { #endif /* * Process priority specifications */ #define PRIO_PROCESS 0 #define PRIO_PGRP 1 #define PRIO_USER 2 /* * Resource limits */ #define RLIMIT_CPU 0 /* cpu time in milliseconds */ #define RLIMIT_FSIZE 1 /* maximum file size */ #define RLIMIT_DATA 2 /* data size */ #define RLIMIT_STACK 3 /* stack size */ #define RLIMIT_CORE 4 /* core file size */ #define RLIMIT_NOFILE 5 /* file descriptors */ #define RLIMIT_VMEM 6 /* maximum mapped memory */ #define RLIMIT_AS RLIMIT_VMEM #define RLIM_NLIMITS 7 /* number of resource limits */ #if defined(_LP64) typedef unsigned long rlim_t; #define RLIM_INFINITY (-3l) #define RLIM_SAVED_MAX (-2l) #define RLIM_SAVED_CUR (-1l) #else /* _LP64 */ /* * The definitions of the following types and constants differ between the * regular and large file compilation environments. */ #if _FILE_OFFSET_BITS == 32 typedef unsigned long rlim_t; #define RLIM_INFINITY 0x7fffffff #define RLIM_SAVED_MAX 0x7ffffffe #define RLIM_SAVED_CUR 0x7ffffffd #else /* _FILE_OFFSET_BITS == 32 */ typedef u_longlong_t rlim_t; #define RLIM_INFINITY ((rlim_t)-3) #define RLIM_SAVED_MAX ((rlim_t)-2) #define RLIM_SAVED_CUR ((rlim_t)-1) #endif /* _FILE_OFFSET_BITS == 32 */ #endif /* _LP64 */ #if defined(_SYSCALL32) /* Kernel's view of user ILP32 rlimits */ typedef uint32_t rlim32_t; #define RLIM32_INFINITY 0x7fffffff #define RLIM32_SAVED_MAX 0x7ffffffe #define RLIM32_SAVED_CUR 0x7ffffffd struct rlimit32 { rlim32_t rlim_cur; /* current limit */ rlim32_t rlim_max; /* maximum value for rlim_cur */ }; #endif /* _SYSCALL32 */ struct rlimit { rlim_t rlim_cur; /* current limit */ rlim_t rlim_max; /* maximum value for rlim_cur */ }; /* transitional large file interface versions */ #ifdef _LARGEFILE64_SOURCE typedef u_longlong_t rlim64_t; #define RLIM64_INFINITY ((rlim64_t)-3) #define RLIM64_SAVED_MAX ((rlim64_t)-2) #define RLIM64_SAVED_CUR ((rlim64_t)-1) struct rlimit64 { rlim64_t rlim_cur; /* current limit */ rlim64_t rlim_max; /* maximum value for rlim_cur */ }; #endif #ifdef _KERNEL #include extern struct rlimit64 rlimits[]; extern rlim64_t rlim_infinity_map[]; extern int rlimit(int, rlim64_t, rlim64_t); #if defined(_SYSCALL32_IMPL) || defined(__lint) struct proc; extern rlim64_t rlim_infinity_map_32[]; extern rlim64_t p_curlimit(struct proc *, int, model_t); #endif /* _SYSCALL32_IMPL || __lint */ #else #define RUSAGE_SELF 0 #define RUSAGE_CHILDREN -1 struct rusage { struct timeval ru_utime; /* user time used */ struct timeval ru_stime; /* system time used */ long ru_maxrss; /* XXX: 0 */ long ru_ixrss; /* XXX: 0 */ long ru_idrss; /* XXX: sum of rm_asrss */ long ru_isrss; /* XXX: 0 */ long ru_minflt; /* any page faults not requiring I/O */ long ru_majflt; /* any page faults requiring I/O */ long ru_nswap; /* swaps */ long ru_inblock; /* block input operations */ long ru_oublock; /* block output operations */ long ru_msgsnd; /* messages sent */ long ru_msgrcv; /* messages received */ long ru_nsignals; /* signals received */ long ru_nvcsw; /* voluntary context switches */ long ru_nivcsw; /* involuntary " */ }; #if !defined(_LP64) && _FILE_OFFSET_BITS == 64 /* * large file compilation environment setup */ #ifdef __PRAGMA_REDEFINE_EXTNAME #pragma redefine_extname setrlimit setrlimit64 #pragma redefine_extname getrlimit getrlimit64 #else #define setrlimit setrlimit64 #define getrlimit getrlimit64 #define rlimit rlimit64 #endif #endif /* !_LP64 && _FILE_OFFSET_BITS == 64 */ #if defined(_LP64) && defined(_LARGEFILE64_SOURCE) /* * In the LP64 compilation environment, map large file interfaces * back to native versions where possible. */ #ifdef __PRAGMA_REDEFINE_EXTNAME #pragma redefine_extname setrlimit64 setrlimit #pragma redefine_extname getrlimit64 getrlimit #else #define setrlimit64 setrlimit #define getrlimit64 getrlimit #define rlimit64 rlimit #endif #endif /* _LP64 && _LARGEFILE64_SOURCE */ #if defined(__STDC__) extern int setrlimit(int, const struct rlimit *); extern int getrlimit(int, struct rlimit *); /* transitional large file interfaces */ #if defined(_LARGEFILE64_SOURCE) && !((_FILE_OFFSET_BITS == 64) && \ !defined(__PRAGMA_REDEFINE_EXTNAME)) extern int setrlimit64(int, const struct rlimit64 *); extern int getrlimit64(int, struct rlimit64 *); #endif /* _LARGEFILE64_SOURCE... */ extern int getpriority(int, id_t); extern int setpriority(int, id_t, int); extern int getrusage(int, struct rusage *); #else /* __STDC__ */ extern int getrlimit(); extern int setrlimit(); /* transitional large file interfaces */ #if defined(_LARGEFILE64_SOURCE) && !((_FILE_OFFSET_BITS == 64) && \ !defined(__PRAGMA_REDEFINE_EXTNAME)) extern int setrlimit64(); extern int getrlimit64(); #endif /* _LARGEFILE64_SOURCE... */ extern int getpriority(); extern int setpriority(); extern int getrusage(); #endif /* __STDC__ */ #endif /* _KERNEL */ #ifdef __cplusplus } #endif #endif /* _SYS_RESOURCE_H */ ------- =_aaaaaaaaaa0--