bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: fpurge.c, freadahead.c, freading.c make wrong assumption


From: Brian K. White
Subject: Re: fpurge.c, freadahead.c, freading.c make wrong assumption
Date: Mon, 7 Apr 2008 03:16:44 -0400

Roger Cornelius wrote:
> to answer question 1, there are no #defines to relate the __ struct
> members to _ members in any files under /usr/include on either
> OpenServer 507 or OpenServer 6.  I don't have access to a Unixware box
> currently so can't comment on it.

Ok, then gnulib will have to use '__base' instead of '_base' on your system.

> For question 2, I'm building with the native compiler and not gcc, but
> I've tried both and both have the problem.

Good to know.

> Here's the output of 'gcc -E -dM empty.c | sort':
> 
> #define _SCO_DS 2
> #define _SCO_DS_LL 1
> #define _SCO_ELF 1
> #define __CHAR_BIT__ 8
> #define __DBL_DENORM_MIN__ 4.9406564584124654e-324
> #define __DBL_DIG__ 15
> #define __DBL_EPSILON__ 2.2204460492503131e-16
> #define __DBL_HAS_INFINITY__ 1
> #define __DBL_HAS_QUIET_NAN__ 1
> #define __DBL_MANT_DIG__ 53
> #define __DBL_MAX_10_EXP__ 308
> #define __DBL_MAX_EXP__ 1024
> #define __DBL_MAX__ 1.7976931348623157e+308
> #define __DBL_MIN_10_EXP__ (-307)
> #define __DBL_MIN_EXP__ (-1021)
> #define __DBL_MIN__ 2.2250738585072014e-308
> #define __DECIMAL_DIG__ 21
> #define __ELF__ 1
> #define __FINITE_MATH_ONLY__ 0
> #define __FLT_DENORM_MIN__ 1.40129846e-45F
> #define __FLT_DIG__ 6
> #define __FLT_EPSILON__ 1.19209290e-7F
> #define __FLT_EVAL_METHOD__ 2
> #define __FLT_HAS_INFINITY__ 1
> #define __FLT_HAS_QUIET_NAN__ 1
> #define __FLT_MANT_DIG__ 24
> #define __FLT_MAX_10_EXP__ 38
> #define __FLT_MAX_EXP__ 128
> #define __FLT_MAX__ 3.40282347e+38F
> #define __FLT_MIN_10_EXP__ (-37)
> #define __FLT_MIN_EXP__ (-125)
> #define __FLT_MIN__ 1.17549435e-38F
> #define __FLT_RADIX__ 2
> #define __GNUC_MINOR__ 4
> #define __GNUC_PATCHLEVEL__ 4
> #define __GNUC__ 3
> #define __GXX_ABI_VERSION 1002
> #define __INT_MAX__ 2147483647
> #define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
> #define __LDBL_DIG__ 18
> #define __LDBL_EPSILON__ 1.08420217248550443401e-19L
> #define __LDBL_HAS_INFINITY__ 1
> #define __LDBL_HAS_QUIET_NAN__ 1
> #define __LDBL_MANT_DIG__ 64
> #define __LDBL_MAX_10_EXP__ 4932
> #define __LDBL_MAX_EXP__ 16384
> #define __LDBL_MAX__ 1.18973149535723176502e+4932L
> #define __LDBL_MIN_10_EXP__ (-4931)
> #define __LDBL_MIN_EXP__ (-16381)
> #define __LDBL_MIN__ 3.36210314311209350626e-4932L
> #define __LONG_LONG_MAX__ 9223372036854775807LL
> #define __LONG_MAX__ 2147483647L
> #define __NO_INLINE__ 1
> #define __OPENSERVER6__ 1
> #define __PTRDIFF_TYPE__ int
> #define __REGISTER_PREFIX__ 
> #define __SCHAR_MAX__ 127
> #define __SHRT_MAX__ 32767
> #define __SIZE_TYPE__ unsigned int
> #define __STDC_HOSTED__ 1
> #define __UNIXWARE__ 1
> #define __USER_LABEL_PREFIX__ 
> #define __VERSION__ "3.4.4"
> #define __WCHAR_MAX__ 2147483647
> #define __WCHAR_TYPE__ long int
> #define __WINT_TYPE__ long int
> #define __i386 1
> #define __i386__ 1
> #define __tune_i586__ 1
> #define __tune_pentium__ 1
> #define i386 1

OK, now we also need the predefines of the other compiler. Can you show
the preprocessing output ("cc -E") of this file:
=======================================================================
#ifdef _SCO_DS
XX_SCO_DS
#endif
#ifdef _SCO_DS_LL
XX_SCO_DS_LL
#endif
#ifdef __OPENSERVER6__
XX__OPENSERVER6__
#endif
#ifdef __UNIXWARE__
XX__UNIXWARE__
#endif
=======================================================================

Bruno

----------


I am hitting the same thing.

I was only able to build gnu m4 1.4.11 by doing this:

CONFIG_SHELL=/usr/bin/bash /usr/bin/bash ./configure --disable-largefile 
CONFIG_SHELL=/usr/bin/bash CFLAGS="-D_ptr=__ptr -D_base=__base -D_cnt=__cnt 
-D_flag=__flag"

The bash weirdness came out of /usr/local/src/m4-1.4.11/INSTALL, and was the 
only way to get ./configure to run at all. Otherwise even just "./configure 
--help" failed with configure: 942: : is not an identifier" Line number is just 
an example. Several (but not most) apps ./configure had the same problem, but 
it no longer fails on any app after installing the new m4. But in each case, 
though the line number differed the line was always this one: ac_subst_files='' 
which looks harmless but always comes right after a very large list being set 
in another variable.

Also, for reference, My gcc defines are somewhat different on a nominaly 
similar system. Open Server 5.0.7 with the most recent (old as it is) 
vendor-built gcc, 2.95 from gnutools5.0.7Kj.

gcc -E -dM empty.c |sort
#define M_I386 1
#define M_UNIX 1
#define M_XENIX 1
#define _M_BITFIELDS 1
#define _M_I386 1
#define _M_I86 1
#define _M_I86SM 1
#define _M_INTERNAT 1
#define _M_SDATA 1
#define _M_STEXT 1
#define _M_SYS5 1
#define _M_SYSIII 1
#define _M_SYSV 1
#define _M_UNIX 1
#define _M_WORDSWAP 1
#define _M_XENIX 1
#define _SCO_C_DIALECT 1
#define _SCO_DS 1
#define _SCO_ELF 1
#define _SCO_XPG_VERS 4
#define _STRICT_NAMES 1
#define __GNUC_MINOR__ 95
#define __GNUC__ 2
#define __i386 1
#define __i386__ 1
#define __i586 1
#define __i586__ 1
#define __pentium 1
#define __pentium__ 1
#define __unix 1
#define i386 1
#define i586 1
#define pentium 1
#define unix 1

-- 
Brian K. White    address@hidden    http://www.myspace.com/KEYofR
+++++[>+++[>+++++>+++++++<<-]<-]>>+.>.+++++.+++++++.-.[>+<---]>++.
filePro  BBx    Linux  SCO  FreeBSD    #callahans  Satriani  Filk!





reply via email to

[Prev in Thread] Current Thread [Next in Thread]