On Friday, 18 February 2005 at 18:01, Lars Hecking wrote: > > > After looking through the code a bit, it looks like mutt_sasl.c ought > > to suffer a similar problem. Also I noticed that DB_ENV (DB4's > > mutt_tunnel.c suffers it, too. yes, and all the mutt_ssl files. > > I don't suppose you could dig a little further into exactly what's > > causing 'open' to get rewritten? > > <fcntl.h>: > > /* large file compilation environment setup */ > #if !defined(_LP64) && _FILE_OFFSET_BITS == 64 > #ifdef __PRAGMA_REDEFINE_EXTNAME > #pragma redefine_extname open open64 > #pragma redefine_extname creat creat64 > #else > #define open open64 > #define creat creat64 > #endif > #endif /* !_LP64 && _FILE_OFFSET_BITS == 64 */ > > I.e. _LP64 is not defined, and _FILE_OFFSET_BITS == 64 (in my case). > > $ gcc -dM -E -DPKGDATADIR=\"/usr/local/share/mutt\" > -DSYSCONFDIR=\"/usr/local/etc\" -DBINDIR=\"/usr/local/bin\" > -DMUTTLOCALEDIR=\"/usr/local/share/locale\" -DHAVE_CONFIG_H=1 -I. -I. -I. -I. > -I. -I./imap -Iintl -I/usr/local/include -I/usr/local/ssl/include > -I/usr/local/include -I./intl -I/usr/local/include -Wall -pedantic -g -O2 > mutt_socket.c |egrep "_LP64|_FILE_OFFSET_BITS|__PRAGMA_REDEFINE_EXTNAME" > #define _CS_XBS5_LP64_OFF64_CFLAGS 709 > #define _CS_XBS5_LP64_OFF64_LIBS 711 > #define _SC_XBS5_LP64_OFF64 722 > #define _CS_XBS5_LP64_OFF64_LDFLAGS 710 > #define _CS_XBS5_LP64_OFF64_LINTFLAGS 712 > #define IOC_LP64 DATAMODEL_LP64 > #define _FILE_OFFSET_BITS 64 Hmm. I just tried this on my brother's Solaris 8 sparc32 system, with gcc 3.4.2, and got: #define _CS_XBS5_LP64_OFF64_CFLAGS 709 #define _CS_XBS5_LP64_OFF64_LDFLAGS 710 #define IOC_LP64 DATAMODEL_LP64 #define _CS_XBS5_LP64_OFF64_LIBS 711 #define _CS_XBS5_LP64_OFF64_LINTFLAGS 712 #define _SC_XBS5_LP64_OFF64 722 #define __PRAGMA_REDEFINE_EXTNAME 1 #define _FILE_OFFSET_BITS 64 and it compiled without problems. So I guess the problem is that __PRAGMA_REDEFINE_EXTNAME isn't getting defined. I wonder what triggers this difference?
Attachment:
pgpn5cMuOIbQd.pgp
Description: PGP signature