* building with g++ and -D_LARGE_FILES
*/
fix = {
- hackname = AAB_aix_stdio;
- files = stdio.h;
- select = "define fopen fopen64";
- mach = "*-*-aix*";
-
- c_fix = wrap;
-
- c_fix_arg = "";
-
- c_fix_arg = "\n"
- "#if defined __GNUG__ && defined _LARGE_FILES && defined __cplusplus\n"
- "#define __need__aix_stdio_h_fix\n"
- "#ifdef __need__aix_stdio_h_fix\n"
- "#undef fseeko\n"
- "#undef ftello\n"
- "#undef fgetpos\n"
- "#undef fsetpos\n"
- "#undef fopen\n"
- "#undef freopen\n"
- "/* Alias the symbols using asm */\n"
- "extern \"C\" {\n"
- "extern int fgetpos(FILE *, fpos64_t *) __asm__(\"fgetpos64\");\n"
- "extern FILE *fopen(const char *, const char *) __asm__(\"fopen64\");\n"
- "extern FILE *freopen(const char *, const char *, FILE *) __asm__(\"freopen64\");\n"
- "extern int fseeko(FILE *, off64_t, int) __asm__(\"fseeko64\");\n"
- "extern int fsetpos(FILE *, const fpos64_t *) __asm__(\"fsetpos64\");\n"
- "extern off64_t ftello(FILE *) __asm__(\"ftello64\");\n"
- "}\n"
- "#endif\n"
- "#endif\n";
- test_text = "";
+ hackname = AAB_aix_stdio;
+ files = stdio.h;
+ select = "define fopen fopen64";
+ mach = "*-*-aix*";
+ test-text = ''; /* no way to test */
+
+ c_fix = wrap;
+
+ c_fix_arg = "";
+
+ c_fix_arg = <<- _EOArg_
+
+ #if defined __GNUG__ && defined _LARGE_FILES && defined __cplusplus
+ #define __need__aix_stdio_h_fix
+ #ifdef __need__aix_stdio_h_fix
+ #undef fseeko
+ #undef ftello
+ #undef fgetpos
+ #undef fsetpos
+ #undef fopen
+ #undef freopen
+ /* Alias the symbols using asm */
+ extern "C" {
+ extern int fgetpos(FILE *, fpos64_t *) __asm__("fgetpos64");
+ extern FILE *fopen(const char *, const char *) __asm__("fopen64");
+ extern FILE *freopen(const char *, const char *, FILE *) __asm__("freopen64");
+ extern int fseeko(FILE *, off64_t, int) __asm__("fseeko64");
+ extern int fsetpos(FILE *, const fpos64_t *) __asm__("fsetpos64");
+ extern off64_t ftello(FILE *) __asm__("ftello64");
+ }
+ #endif
+ #endif
+
+ _EOArg_;
};
files = architecture/ppc/math.h;
bypass = "powl";
replace = <<- _EndOfHeader_
-/* This file prototypes the long double functions available on Mac OS
- 10.3.9. */
-#ifndef __MATH__
-# undef __APPLE_CC__
-# define __APPLE_CC__ 1345
-# include_next <architecture/ppc/math.h>
-# undef __APPLE_CC__
-# define __APPLE_CC__ 1
-# ifndef __LIBMLDBL_COMPAT
-# ifdef __LONG_DOUBLE_128__
-# define __LIBMLDBL_COMPAT(sym) __asm("_" #sym "$LDBL128")
-# else
-# define __LIBMLDBL_COMPAT(sym)
-# endif /* __LONG_DOUBLE_128__ */
-# endif /* __LIBMLDBL_COMPAT */
-# ifdef __cplusplus
- extern "C" {
-# endif
- extern long double acosl( long double ) __LIBMLDBL_COMPAT(acosl);
- extern long double asinl( long double ) __LIBMLDBL_COMPAT(asinl);
- extern long double atanl( long double ) __LIBMLDBL_COMPAT(atanl);
- extern long double atan2l( long double, long double ) __LIBMLDBL_COMPAT(atan2l);
- extern long double cosl( long double ) __LIBMLDBL_COMPAT(cosl);
- extern long double sinl( long double ) __LIBMLDBL_COMPAT(sinl);
- extern long double tanl( long double ) __LIBMLDBL_COMPAT(tanl);
- extern long double acoshl( long double ) __LIBMLDBL_COMPAT(acoshl);
- extern long double asinhl( long double ) __LIBMLDBL_COMPAT(asinhl);
- extern long double atanhl( long double ) __LIBMLDBL_COMPAT(atanhl);
- extern long double coshl( long double ) __LIBMLDBL_COMPAT(coshl);
- extern long double sinhl( long double ) __LIBMLDBL_COMPAT(sinhl);
- extern long double tanhl( long double ) __LIBMLDBL_COMPAT(tanhl);
- extern long double expl( long double ) __LIBMLDBL_COMPAT(expl);
- extern long double exp2l( long double ) __LIBMLDBL_COMPAT(exp2l);
- extern long double expm1l( long double ) __LIBMLDBL_COMPAT(expm1l);
- extern long double logl( long double ) __LIBMLDBL_COMPAT(logl);
- extern long double log10l( long double ) __LIBMLDBL_COMPAT(log10l);
- extern long double log2l( long double ) __LIBMLDBL_COMPAT(log2l);
- extern long double log1pl( long double ) __LIBMLDBL_COMPAT(log1pl);
- extern long double logbl( long double ) __LIBMLDBL_COMPAT(logbl);
- extern long double modfl( long double, long double * ) __LIBMLDBL_COMPAT(modfl);
- extern long double ldexpl( long double, int ) __LIBMLDBL_COMPAT(ldexpl);
- extern long double frexpl( long double, int * ) __LIBMLDBL_COMPAT(frexpl);
- extern int ilogbl( long double ) __LIBMLDBL_COMPAT(ilogbl);
- extern long double scalbnl( long double, int ) __LIBMLDBL_COMPAT(scalbnl);
- extern long double scalblnl( long double, long int ) __LIBMLDBL_COMPAT(scalblnl);
- extern long double fabsl( long double ) __LIBMLDBL_COMPAT(fabsl);
- extern long double cbrtl( long double ) __LIBMLDBL_COMPAT(cbrtl);
- extern long double hypotl( long double, long double ) __LIBMLDBL_COMPAT(hypotl);
- extern long double powl( long double, long double ) __LIBMLDBL_COMPAT(powl);
- extern long double sqrtl( long double ) __LIBMLDBL_COMPAT(sqrtl);
- extern long double erfl( long double ) __LIBMLDBL_COMPAT(erfl);
- extern long double erfcl( long double ) __LIBMLDBL_COMPAT(erfcl);
- extern long double lgammal( long double ) __LIBMLDBL_COMPAT(lgammal);
- extern long double tgammal( long double ) __LIBMLDBL_COMPAT(tgammal);
- extern long double ceill( long double ) __LIBMLDBL_COMPAT(ceill);
- extern long double floorl( long double ) __LIBMLDBL_COMPAT(floorl);
- extern long double nearbyintl( long double ) __LIBMLDBL_COMPAT(nearbyintl);
- extern long double rintl( long double ) __LIBMLDBL_COMPAT(rintl);
- extern long int lrintl( long double ) __LIBMLDBL_COMPAT(lrintl);
- extern long long int llrintl( long double ) __LIBMLDBL_COMPAT(llrintl);
- extern long double roundl( long double ) __LIBMLDBL_COMPAT(roundl);
- extern long int lroundl( long double ) __LIBMLDBL_COMPAT(lroundl);
- extern long long int llroundl( long double ) __LIBMLDBL_COMPAT(llroundl);
- extern long double truncl( long double ) __LIBMLDBL_COMPAT(truncl);
- extern long double fmodl( long double, long double) __LIBMLDBL_COMPAT(fmodl);
- extern long double remainderl( long double, long double ) __LIBMLDBL_COMPAT(remainderl);
- extern long double remquol( long double, long double, int * ) __LIBMLDBL_COMPAT(remquol);
- extern long double copysignl( long double, long double ) __LIBMLDBL_COMPAT(copysignl);
- extern long double nanl( const char * ) __LIBMLDBL_COMPAT(nanl);
- extern long double nextafterl( long double, long double ) __LIBMLDBL_COMPAT(nextafterl);
- extern long double nexttowardl( long double, long double ) __LIBMLDBL_COMPAT(nexttowardl);
- extern long double fdiml( long double, long double ) __LIBMLDBL_COMPAT(fdiml);
- extern long double fmaxl( long double, long double ) __LIBMLDBL_COMPAT(fmaxl);
- extern long double fminl( long double, long double ) __LIBMLDBL_COMPAT(fminl);
- extern long double fmal( long double, long double, long double ) __LIBMLDBL_COMPAT(fmal);
-# ifdef __cplusplus
- }
-# endif
-#endif /* __MATH__ */
-_EndOfHeader_;
+ /* This file prototypes the long double functions available on Mac OS
+ 10.3.9. */
+ #ifndef __MATH__
+ # undef __APPLE_CC__
+ # define __APPLE_CC__ 1345
+ # include_next <architecture/ppc/math.h>
+ # undef __APPLE_CC__
+ # define __APPLE_CC__ 1
+ # ifndef __LIBMLDBL_COMPAT
+ # ifdef __LONG_DOUBLE_128__
+ # define __LIBMLDBL_COMPAT(sym) __asm("_" #sym "$LDBL128")
+ # else
+ # define __LIBMLDBL_COMPAT(sym)
+ # endif /* __LONG_DOUBLE_128__ */
+ # endif /* __LIBMLDBL_COMPAT */
+ # ifdef __cplusplus
+ extern "C" {
+ # endif
+ extern long double acosl( long double ) __LIBMLDBL_COMPAT(acosl);
+ extern long double asinl( long double ) __LIBMLDBL_COMPAT(asinl);
+ extern long double atanl( long double ) __LIBMLDBL_COMPAT(atanl);
+ extern long double atan2l( long double, long double ) __LIBMLDBL_COMPAT(atan2l);
+ extern long double cosl( long double ) __LIBMLDBL_COMPAT(cosl);
+ extern long double sinl( long double ) __LIBMLDBL_COMPAT(sinl);
+ extern long double tanl( long double ) __LIBMLDBL_COMPAT(tanl);
+ extern long double acoshl( long double ) __LIBMLDBL_COMPAT(acoshl);
+ extern long double asinhl( long double ) __LIBMLDBL_COMPAT(asinhl);
+ extern long double atanhl( long double ) __LIBMLDBL_COMPAT(atanhl);
+ extern long double coshl( long double ) __LIBMLDBL_COMPAT(coshl);
+ extern long double sinhl( long double ) __LIBMLDBL_COMPAT(sinhl);
+ extern long double tanhl( long double ) __LIBMLDBL_COMPAT(tanhl);
+ extern long double expl( long double ) __LIBMLDBL_COMPAT(expl);
+ extern long double exp2l( long double ) __LIBMLDBL_COMPAT(exp2l);
+ extern long double expm1l( long double ) __LIBMLDBL_COMPAT(expm1l);
+ extern long double logl( long double ) __LIBMLDBL_COMPAT(logl);
+ extern long double log10l( long double ) __LIBMLDBL_COMPAT(log10l);
+ extern long double log2l( long double ) __LIBMLDBL_COMPAT(log2l);
+ extern long double log1pl( long double ) __LIBMLDBL_COMPAT(log1pl);
+ extern long double logbl( long double ) __LIBMLDBL_COMPAT(logbl);
+ extern long double modfl( long double, long double * ) __LIBMLDBL_COMPAT(modfl);
+ extern long double ldexpl( long double, int ) __LIBMLDBL_COMPAT(ldexpl);
+ extern long double frexpl( long double, int * ) __LIBMLDBL_COMPAT(frexpl);
+ extern int ilogbl( long double ) __LIBMLDBL_COMPAT(ilogbl);
+ extern long double scalbnl( long double, int ) __LIBMLDBL_COMPAT(scalbnl);
+ extern long double scalblnl( long double, long int ) __LIBMLDBL_COMPAT(scalblnl);
+ extern long double fabsl( long double ) __LIBMLDBL_COMPAT(fabsl);
+ extern long double cbrtl( long double ) __LIBMLDBL_COMPAT(cbrtl);
+ extern long double hypotl( long double, long double ) __LIBMLDBL_COMPAT(hypotl);
+ extern long double powl( long double, long double ) __LIBMLDBL_COMPAT(powl);
+ extern long double sqrtl( long double ) __LIBMLDBL_COMPAT(sqrtl);
+ extern long double erfl( long double ) __LIBMLDBL_COMPAT(erfl);
+ extern long double erfcl( long double ) __LIBMLDBL_COMPAT(erfcl);
+ extern long double lgammal( long double ) __LIBMLDBL_COMPAT(lgammal);
+ extern long double tgammal( long double ) __LIBMLDBL_COMPAT(tgammal);
+ extern long double ceill( long double ) __LIBMLDBL_COMPAT(ceill);
+ extern long double floorl( long double ) __LIBMLDBL_COMPAT(floorl);
+ extern long double nearbyintl( long double ) __LIBMLDBL_COMPAT(nearbyintl);
+ extern long double rintl( long double ) __LIBMLDBL_COMPAT(rintl);
+ extern long int lrintl( long double ) __LIBMLDBL_COMPAT(lrintl);
+ extern long long int llrintl( long double ) __LIBMLDBL_COMPAT(llrintl);
+ extern long double roundl( long double ) __LIBMLDBL_COMPAT(roundl);
+ extern long int lroundl( long double ) __LIBMLDBL_COMPAT(lroundl);
+ extern long long int llroundl( long double ) __LIBMLDBL_COMPAT(llroundl);
+ extern long double truncl( long double ) __LIBMLDBL_COMPAT(truncl);
+ extern long double fmodl( long double, long double) __LIBMLDBL_COMPAT(fmodl);
+ extern long double remainderl( long double, long double ) __LIBMLDBL_COMPAT(remainderl);
+ extern long double remquol( long double, long double, int * ) __LIBMLDBL_COMPAT(remquol);
+ extern long double copysignl( long double, long double ) __LIBMLDBL_COMPAT(copysignl);
+ extern long double nanl( const char * ) __LIBMLDBL_COMPAT(nanl);
+ extern long double nextafterl( long double, long double ) __LIBMLDBL_COMPAT(nextafterl);
+ extern long double nexttowardl( long double, long double ) __LIBMLDBL_COMPAT(nexttowardl);
+ extern long double fdiml( long double, long double ) __LIBMLDBL_COMPAT(fdiml);
+ extern long double fmaxl( long double, long double ) __LIBMLDBL_COMPAT(fmaxl);
+ extern long double fminl( long double, long double ) __LIBMLDBL_COMPAT(fminl);
+ extern long double fmal( long double, long double, long double ) __LIBMLDBL_COMPAT(fmal);
+ # ifdef __cplusplus
+ }
+ # endif
+ #endif /* __MATH__ */
+ _EndOfHeader_;
};
#define __FD_ZERO(fdsetp) \
do { \
int __d0, __d1; \
- __asm__ __volatile__("cld ; rep ; stosl" \
- : "=&c" (__d0), "=&D" (__d1) \
- : "a" (0), "0" (__FDSET_LONGS), \
- "1" ((__kernel_fd_set *) (fdsetp)) :"memory"); \
+ __asm__ __volatile__("cld ; rep ; stosl" \
+ : "=&c" (__d0), "=&D" (__d1) \
+ : "a" (0), "0" (__FDSET_LONGS), \
+ "1" ((__kernel_fd_set *) (fdsetp)) :"memory"); \
} while (0)
#endif
extern int memcmp();
#endif /* __memory_h__ */
- _EndOfHeader;
-};
-
-
-/*
- * Completely replace <sys/varargs.h> with a file that includes gcc's
- * stdarg.h or varargs.h files as appropriate.
- */
-#ifdef SVR4
-fix = {
- hackname = AAB_svr4_no_varargs;
- files = sys/varargs.h;
- replace = "/* This file was generated by fixincludes. */\n"
- "#ifndef _SYS_VARARGS_H\n"
- "#define _SYS_VARARGS_H\n\n"
-
- "#ifdef __STDC__\n"
- "#include <stdarg.h>\n"
- "#else\n"
- "#include <varargs.h>\n"
- "#endif\n\n"
-
- "#endif /* _SYS_VARARGS_H */\n";
-};
-#endif
-
-
-/*
- * The Ultrix 4.3 file string.h is a symbolic link to strings.h.
- * Replace string.h link with a file that includes strings.h to prevent
- * problems from multiple inclusion.
- */
-fix = {
- hackname = AAB_ultrix_string;
- files = string.h;
- mach = "*-*-ultrix4.3";
- replace = <<- _EndOfHeader_
- #ifndef _STRING_INCLUDED
- #define _STRING_INCLUDED
- #include <strings.h>
- #endif /* _STRING_INCLUDED */
_EndOfHeader_;
};
"#endif";
};
+
/*
* Compaq Tru64 v5.1 defines all of its PTHREAD_*_INITIALIZER macros
* incorrectly, specifying less fields in the initializers than are
"s@CVALID\\(.*\\)_}@CVALID\\1_, 0, 0 }@\n"
"s@WVALID\\(.*\\)A}@WVALID\\1A, 0, 0, 0, 0, 0, 0, 0, 0, 0 }@\n"
"s@WVALID\\(.*\\)_}@WVALID\\1_, 0, 0, 0, 0, 0, 0, 0 }@\n";
- test_text = "/*\n"
- " * @(#)_RCSfile: pthread.h,v \\$ "
- "_Revision: 1.1.33.21 \\$ (DEC) "
- "_Date: 2000/08/15 15:30:13 \\$\n"
- " */\n"
-"#ifndef _PTHREAD_NOMETER_STATIC\n"
-"# define PTHREAD_MUTEX_INITIALIZER \\\n"
-" {_PTHREAD_MSTATE_CONFIG, _PTHREAD_MVALID | _PTHREAD_MVF_STA}\n"
-"# define PTHREAD_COND_INITIALIZER \\\n"
-" {_PTHREAD_CSTATE_SLOW, _PTHREAD_CVALID | _PTHREAD_CVF_STA}\n"
-"# define PTHREAD_MUTEX_INITWITHNAME_NP(_n_,_a_) \\\n"
-" {_PTHREAD_MSTATE_CONFIG, _PTHREAD_MVALID | _PTHREAD_MVF_STA, _n_, _a_}\n"
-"# define PTHREAD_COND_INITWITHNAME_NP(_n_,_a_) \\\n"
-" {_PTHREAD_CSTATE_SLOW, _PTHREAD_CVALID | _PTHREAD_CVF_STA, _n_, _a_}\n"
-"#else\n"
-"# define PTHREAD_MUTEX_INITIALIZER {0, _PTHREAD_MVALID | _PTHREAD_MVF_STA}\n"
-"# define PTHREAD_MUTEX_INITWITHNAME_NP(_n_,_a_) \\\n"
-" {0, _PTHREAD_MVALID | _PTHREAD_MVF_STA, _n_, _a_}\n"
-"# define PTHREAD_COND_INITWITHNAME_NP(_n_,_a_) \\\n"
-" {0, _PTHREAD_CVALID | _PTHREAD_CVF_STA, _n_, _a_}\n"
-"#endif\n\n"
-"#define PTHREAD_RWLOCK_INITIALIZER {_PTHREAD_RWVALID | _PTHREAD_RWVF_STA}\n"
-"#define PTHREAD_RWLOCK_INITWITHNAME_NP(_n_,_a_) \\\n"
-" {_PTHREAD_RWVALID | _PTHREAD_RWVF_STA, _n_, _a_}\n";
+ test_text = <<- _EOText_
+ /*
+ * @(#)_RCSfile: pthread.h,v $ _Revision: 1.1.33.21 $ (DEC) _Date: 2000/08/15 15:30:13 $
+ */
+ #ifndef _PTHREAD_NOMETER_STATIC
+ # define PTHREAD_MUTEX_INITIALIZER \
+ {_PTHREAD_MSTATE_CONFIG, _PTHREAD_MVALID | _PTHREAD_MVF_STA}
+ # define PTHREAD_COND_INITIALIZER \
+ {_PTHREAD_CSTATE_SLOW, _PTHREAD_CVALID | _PTHREAD_CVF_STA}
+ # define PTHREAD_MUTEX_INITWITHNAME_NP(_n_,_a_) \
+ {_PTHREAD_MSTATE_CONFIG, _PTHREAD_MVALID | _PTHREAD_MVF_STA, _n_, _a_}
+ # define PTHREAD_COND_INITWITHNAME_NP(_n_,_a_) \
+ {_PTHREAD_CSTATE_SLOW, _PTHREAD_CVALID | _PTHREAD_CVF_STA, _n_, _a_}
+ #else
+ # define PTHREAD_MUTEX_INITIALIZER {0, _PTHREAD_MVALID | _PTHREAD_MVF_STA}
+ # define PTHREAD_MUTEX_INITWITHNAME_NP(_n_,_a_) \
+ {0, _PTHREAD_MVALID | _PTHREAD_MVF_STA, _n_, _a_}
+ # define PTHREAD_COND_INITWITHNAME_NP(_n_,_a_) \
+ {0, _PTHREAD_CVALID | _PTHREAD_CVF_STA, _n_, _a_}
+ #endif
+
+ #define PTHREAD_RWLOCK_INITIALIZER {_PTHREAD_RWVALID | _PTHREAD_RWVF_STA}
+ #define PTHREAD_RWLOCK_INITWITHNAME_NP(_n_,_a_) \
+ {_PTHREAD_RWVALID | _PTHREAD_RWVF_STA, _n_, _a_}
+ _EOText_;
};
+
/*
* Fix return value of sbrk in unistd.h on Alpha OSF/1 V2.0
* And OpenBSD.
"extern long double cabsl( struct __cabsl_s );";
};
+
/*
* Fixup Darwin's broken check for __builtin_nanf.
- */
-
+ */
fix = {
hackname = broken_nan;
/*
c_fix = format;
c_fix_arg = "#if 1";
test_text = "#if defined(__APPLE_CC__) && (__APPLE_CC__ >= 1345)";
-};
+};
/*
c_fix = format;
c_fix_arg = "%0 && (defined __extern_inline || defined __GNUC_GNU_INLINE__)";
test_text = <<-EOT
-#if __GNUC_PREREQ (2, 7) && defined __OPTIMIZE__ \
- && !defined __OPTIMIZE_SIZE__ && !defined __NO_INLINE__
-# define __USE_EXTERN_INLINES 1
-#endif
-EOT;
+ #if __GNUC_PREREQ (2, 7) && defined __OPTIMIZE__ \
+ && !defined __OPTIMIZE_SIZE__ && !defined __NO_INLINE__
+ # define __USE_EXTERN_INLINES 1
+ #endif
+ EOT;
};
c_fix = format;
c_fix_arg = "%1 && (defined __extern_inline || defined __GNUC_GNU_INLINE__)\n%2";
test_text = <<-EOT
-#if __GNUC_PREREQ (2, 7) && defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__
-# define __USE_EXTERN_INLINES 1
-#endif
-EOT;
+ #if __GNUC_PREREQ (2, 7) && defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__
+ # define __USE_EXTERN_INLINES 1
+ #endif
+ EOT;
};
hackname = glibc_mutex_init;
files = pthread.h;
select = '\{ *\{ *0, *\} *\}';
- sed = "/define[ \t]\\+PTHREAD_MUTEX_INITIALIZER[ \t]*\\\\/,+1"
- "s/{ { 0, } }/{ { 0, 0, 0, 0, 0, 0 } }/";
- sed = "s/{ \\(0, 0, 0, 0, PTHREAD_MUTEX_\\(RECURSIVE\\|ERRORCHECK\\|ADAPTIVE\\)_NP\\) }/{ \\1, 0 }/";
- sed = "s/{ \\(0, 0, 0, PTHREAD_MUTEX_\\(RECURSIVE\\|ERRORCHECK\\|ADAPTIVE\\)_NP\\) }/{ \\1, 0, 0 }/";
+ sed = "/define[ \t]\\+PTHREAD_MUTEX_INITIALIZER[ \t]*\\\\/{\n"
+ "N\ns/{ { 0, } }/{ { 0, 0, 0, 0, 0, 0 } }/\n}";
+ sed = "s/{ \\(0, 0, 0, 0, PTHREAD_MUTEX_"
+ "\\(RECURSIVE\\|ERRORCHECK\\|ADAPTIVE\\)_NP\\) }/{ \\1, 0 }/";
+ sed = "s/{ \\(0, 0, 0, PTHREAD_MUTEX_"
+ "\\(RECURSIVE\\|ERRORCHECK\\|ADAPTIVE\\)_NP\\) }/{ \\1, 0, 0 }/";
sed = "/define[ \t]\\+PTHREAD_RWLOCK_INITIALIZER[ \t]*\\\\/"
"N;s/^[ \t]*#[ \t]*"
"\\(define[ \t]\\+PTHREAD_RWLOCK_INITIALIZER[ \t]*\\\\\\)\\n"
"# \\1\\n"
" { { 0, 0, 0, 0, 0, 0, 0, 0 } }\\n"
"# endif/";
- sed = "s/{ \\(0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP\\) }/{ \\1, 0 }/";
+ sed = "s/{ \\(0, 0, 0, 0, 0, 0, "
+ "PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP\\) }/{ \\1, 0 }/";
sed = "/define[ \t]\\+PTHREAD_COND_INITIALIZER/"
"s/{ { 0, } }/{ { 0, 0, 0, 0, 0, (void *) 0, 0, 0 } }/";
test_text = <<- _EOText_
-#define PTHREAD_MUTEX_INITIALIZER \\
- { { 0, } }
-#ifdef __USE_GNU
-# if __WORDSIZE == 64
-# define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \\
- { { 0, 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP } }
-# define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \\
- { { 0, 0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP } }
-# define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP \\
- { { 0, 0, 0, 0, PTHREAD_MUTEX_ADAPTIVE_NP } }
-# else
-# define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \\
- { { 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP } }
-# define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \\
- { { 0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP } }
-# define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP \\
- { { 0, 0, 0, PTHREAD_MUTEX_ADAPTIVE_NP } }
-# endif
-#endif
-# define PTHREAD_RWLOCK_INITIALIZER \\
- { { 0, } }
-# ifdef __USE_GNU
-# if __WORDSIZE == 64
-# define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \\
- { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \\
- PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP } }
-# else
-# define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \\
- { { 0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP } }
-# endif
-# endif
-#define PTHREAD_COND_INITIALIZER { { 0, } }
-_EOText_;
+ #define PTHREAD_MUTEX_INITIALIZER \\
+ { { 0, } }
+ #ifdef __USE_GNU
+ # if __WORDSIZE == 64
+ # define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \\
+ { { 0, 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP } }
+ # define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \\
+ { { 0, 0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP } }
+ # define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP \\
+ { { 0, 0, 0, 0, PTHREAD_MUTEX_ADAPTIVE_NP } }
+ # else
+ # define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \\
+ { { 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP } }
+ # define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \\
+ { { 0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP } }
+ # define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP \\
+ { { 0, 0, 0, PTHREAD_MUTEX_ADAPTIVE_NP } }
+ # endif
+ #endif
+ # define PTHREAD_RWLOCK_INITIALIZER \\
+ { { 0, } }
+ # ifdef __USE_GNU
+ # if __WORDSIZE == 64
+ # define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \\
+ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \\
+ PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP } }
+ # else
+ # define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \\
+ { { 0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP } }
+ # endif
+ # endif
+ #define PTHREAD_COND_INITIALIZER { { 0, } }
+ _EOText_;
};
/*
+ * Un-Hide a series of five FP defines from post-1999 compliance GCC:
+ * FP_NORMAL, FP_ZERO, FP_INFINITE, FP_SUBNORMAL and FP_NAN
+ */
+fix = {
+ hackname = hppa_hpux_fp_macros;
+ mach = "hppa*-hp-hpux11*";
+ files = math.h;
+ select = "#[ \t]*define[ \t]*FP_NORMAL.*\n"
+ "#[ \t]*define[ \t]*FP_ZERO.*\n"
+ "#[ \t]*define[ \t]*FP_INFINITE.*\n"
+ "#[ \t]*define[ \t]*FP_SUBNORMAL.*\n"
+ "#[ \t]*define[ \t]*FP_NAN.*\n";
+ c_fix = format;
+ c_fix_arg = <<- _EOFix_
+ #endif /* _INCLUDE_HPUX_SOURCE */
+
+ #if defined(_INCLUDE_HPUX_SOURCE) || \
+ (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L))
+ %0#endif
+
+ #ifdef _INCLUDE_HPUX_SOURCE
+
+ _EOFix_;
+
+ test_text =
+ "# define FP_NORMAL 0\n"
+ "# define FP_ZERO 1\n"
+ "# define FP_INFINITE 2\n"
+ "# define FP_SUBNORMAL 3\n"
+ "# define FP_NAN 4\n";
+};
+
+
+/*
* Delete C++ double pow (double, int) inline function from HP-UX 10 & 11
* math.h to prevent clash with define in c_std/bits/std_cmath.h.
*/
};
-fix = {
- hackname = hppa_hpux_fp_macros;
- mach = "hppa*-hp-hpux11*";
- files = math.h;
- select = "#[ \t]*define[ \t]*FP_NORMAL.*\n"
- "#[ \t]*define[ \t]*FP_ZERO.*\n"
- "#[ \t]*define[ \t]*FP_INFINITE.*\n"
- "#[ \t]*define[ \t]*FP_SUBNORMAL.*\n"
- "#[ \t]*define[ \t]*FP_NAN.*\n";
- c_fix = format;
- c_fix_arg = "#endif /* _INCLUDE_HPUX_SOURCE */\n\n#if defined(_INCLUDE_HPUX_SOURCE) || (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L))\n%0#endif\n\n#ifdef _INCLUDE_HPUX_SOURCE\n";
-
- test_text =
- "# define FP_NORMAL 0\n"
- "# define FP_ZERO 1\n"
- "# define FP_INFINITE 2\n"
- "# define FP_SUBNORMAL 3\n"
- "# define FP_NAN 4\n";
-};
-
-
/*
* Fix hpux 10.X missing ctype declarations 1
*/
select = "ifndef _MATH_INCLUDED";
c_fix = format;
c_fix_arg = "if !defined(_MATH_INCLUDED) || defined(__GNUG__)";
-// sed = "s/ifndef _MATH_INCLUDED/if !defined(_MATH_INCLUDED) || defined(__GNUG__)/";
test_text = "#ifndef _MATH_INCLUDED";
};
/*
+ * Fix C99 constant in __POINTER_SET define.
+ */
+fix = {
+ hackname = hpux11_pthread_const;
+ mach = "*-hp-hpux11.[0-3]*";
+ files = sys/pthread.h;
+ select = "^#define[ \t]*__POINTER_SET[ \t]*\\(\\(void \\*\\) 1LL\\)";
+
+ c_fix = format;
+ c_fix_arg = "#define __POINTER_SET\t\t((void *) 1L)";
+ test_text = "#define __POINTER_SET\t\t((void *) 1LL)";
+};
+
+
+/*
* Prevent HP-UX 11 from defining __size_t and preventing size_t from
* being defined by having it define _hpux_size_t instead.
*/
fix = {
hackname = hpux_spu_info;
mach = "*-hp-hpux*";
- files = ia64/sys/getppdp.h;
+ files = "*/sys/getppdp.h";
select = "^.*extern.*spu_info.*";
c_fix = format;
test_text = " extern int errno;\n";
};
-/*
- * Fix C99 constant in __POINTER_SET define.
- */
-fix = {
- hackname = hpux11_pthread_const;
- mach = "*-hp-hpux11.[0-3]*";
- files = sys/pthread.h;
- select = "^#define[ \t]*__POINTER_SET[ \t]*\\(\\(void \\*\\) 1LL\\)";
-
- c_fix = format;
- c_fix_arg = "#define __POINTER_SET\t\t((void *) 1L)";
- test_text = "#define __POINTER_SET\t\t((void *) 1LL)";
-};
/*
* Add missing braces to pthread initializer defines.
c_fix_arg = "#if _NO_XOPEN5 && !defined(__c99)\n%1";
test_text = "#if _NO_XOPEN5\n"
- "extern size_t wcsftime(wchar_t *, __SGI_LIBC_NAMESPACE_QUALIFIER size_t, const char *, const struct tm *);";
+ "extern size_t wcsftime(wchar_t *, "
+ "__SGI_LIBC_NAMESPACE_QUALIFIER size_t, const char *, "
+ "const struct tm *);";
};
/*
};
-/*
- * Apparently some SVR4 systems typedef longlong_t to long ?
- */
-#ifdef SVR4
-fix = {
- hackname = longlong_t;
- select = "typedef[ \t]+(unsigned[ \t]+)?long[ \t]+(u_)?longlong_t";
- c_fix = format;
- c_fix_arg = "typedef %1long long %2longlong_t";
- test_text = "typedef long longlong_t\n"
- "typedef unsigned long u_longlong_t";
-};
-#endif
-
/*
* Remove header file warning from sys/time.h. Autoconf's
* AC_HEADER_TIME recommends to include both sys/time.h and time.h
* exception either. So currently we bypass only for glibc, based on a
* comment in the fixed glibc header. Ick.
*/
- bypass = 'We have a problem when using C\+\+|for C\+\+, _[a-z0-9A-Z_]+_exception; for C, exception';
+ bypass = 'We have a problem when using C\+\+|for C\+\+, '
+ '_[a-z0-9A-Z_]+_exception; for C, exception';
c_fix = wrap;
c_fix_arg = "#ifdef __cplusplus\n"
select = "extern __inline int";
c_fix = format;
- c_fix_arg = "extern\n#ifdef __GNUC_STDC_INLINE__\n__attribute__((__gnu_inline__))\n#endif\n__inline int";
+ c_fix_arg = "extern\n"
+ "#ifdef __GNUC_STDC_INLINE__\n"
+ "__attribute__((__gnu_inline__))\n"
+ "#endif\n"
+ "__inline int";
test_text = "extern __inline int\nsigaddset(sigset_t *set, int signo)\n{}";
};
test_text = "*((void **) (h)->next_free)++ = (aptr)";
};
+/*
+ * Fix OpenBSD's va_start define.
+ */
+fix = {
+ hackname = openbsd_va_start;
+ mach = "*-*-openbsd*";
+ files = stdarg.h;
+ select = '__builtin_stdarg_start';
+ c_fix = format;
+ c_fix_arg = __builtin_va_start;
+
+ test_text = "#define va_start(v,l) __builtin_stdarg_start((v),l)";
+};
/*
* sys/lc_core.h on some versions of OSF1/4.x pollutes the namespace by
/*
- * Conditionalize some of <sys/endian.h> on __GNUC__ and __GNUG__.
- * On some systems (UnixWare 2, UnixWare 7), the file is byteorder.h
- * but we still "hijack" it and redirect it to the GNU byteorder.h..
- */
-#ifdef SVR5
-fix = {
- hackname = svr4_endian;
- files = sys/endian.h;
-#ifdef LATER
- /*
- * since we emit our own sys/byteorder.h,
- * this fix can never be applied to that file.
- */
- files = sys/byteorder.h;
-#endif
- bypass = '__GNUC__';
-
- sed = "/#\tifdef\t__STDC__/i\\\n"
- "# if !defined (__GNUC__) && !defined (__GNUG__)\n";
-
- sed = "/#\t\tinclude\t<sys\\/byteorder.h>/s/\t\t/ /";
-
- sed = "/# include\t<sys\\/byteorder.h>/i\\\n"
- "# endif /* !defined (__GNUC__) && !defined (__GNUG__) */\n";
-};
-#endif /* SVR5 */
-
-
-/*
- * Remove useless extern keyword from struct forward declarations
- * in <sys/stream.h> and <sys/strsubr.h>
- */
-#ifdef SVR4
-fix = {
- hackname = svr4_extern_struct;
- files = sys/stream.h;
- files = sys/strsubr.h;
- select = 'extern struct [a-z_]*;';
- sed = 's/extern struct \([a-z][a-z_]*\)/struct \1/';
-};
-#endif
-
-/*
- * Fix declarations of `ftw' and `nftw' in <ftw.h>. On some/most SVR4
- * systems the file <ftw.h> contains extern declarations of these
- * functions followed by explicitly `static' definitions of these
- * functions... and that's not allowed according to ANSI C. (Note
- * however that on Solaris, this header file glitch has been pre-fixed by
- * Sun. In the Solaris version of <ftw.h> there are no static
- * definitions of any function so we don't need to do any of this stuff
- * when on Solaris.
- */
-#ifdef SVR4
-#ifndef SOLARIS
-fix = {
- hackname = svr4_ftw;
- files = ftw.h;
- select = '^extern int ftw\(const';
-
- sed = '/^extern int ftw(const/i' "\\\n"
- "#if !defined(_STYPES)\\\n"
- "static\\\n"
- "#else\\\n"
- "extern\\\n"
- "#endif";
- sed = 's/extern \(int ftw(const.*\)$/\1/';
- sed = "/^extern int nftw/i\\\n"
- "#if defined(_STYPES)\\\n"
- "static\\\n"
- "#else\\\n"
- "extern\\\n"
- "#endif";
- sed = 's/extern \(int nftw.*\)$/\1/';
- sed = "/^extern int ftw(),/c\\\n"
- "#if !defined(_STYPES)\\\n"
- "static\\\n"
- "#else\\\n"
- "extern\\\n"
- "#endif\\\n"
- " int ftw();\\\n"
- "#if defined(_STYPES)\\\n"
- "static\\\n"
- "#else\\\n"
- "extern\\\n"
- "#endif\\\n"
- " int nftw();";
-};
-#endif
-#endif
-
-
-/*
* Fix broken decl of getcwd present on some svr4 systems.
*/
fix = {
/*
- * Delete any #defines of `__i386' which may be present in <ieeefp.h>. They
- * tend to conflict with the compiler's own definition of this symbol. (We
- * will use the compiler's definition.)
- * Likewise __sparc, for Solaris, and __i860, and a few others
- * (guessing it is necessary for all of them).
- */
-#ifdef SVR4
-fix = {
- hackname = svr4_mach_defines;
- files = ieeefp.h;
- select = "#define[ \t]*__(i386|mips|sparc|m88k|m68k)[ \t]";
- sed = "/#define[ \t]*__\\(i386|mips|sparc|m88k|m68k\\)[ \t]/d";
-};
-#endif
-
-
-/*
- * Fix declarations of `makedev', `major', and `minor' in <sys/mkdev.h>.
- * They are declared as non-static then immediately redeclared as static.
- */
-#ifdef SVR5
-fix = {
- hackname = svr4_mkdev;
- files = sys/mkdev.h;
- select = '^static';
-
- sed = "/^dev_t makedev(/s/^/static /";
- sed = "/^major_t major(/s/^/static /";
- sed = "/^minor_t minor(/s/^/static /";
-};
-#endif /* SVR5 */
-
-
-/*
- * Fix reference to NC_NPI_RAW in <sys/netcspace.h>.
- * Also fix types of array initializers.
- */
-#ifdef SVR4
-fix = {
- hackname = svr4_netcspace;
- files = sys/netcspace.h;
- select = 'NC_NPI_RAW';
- sed = 's/NC_NPI_RAW/NC_TPI_RAW/g';
- sed = 's/NC_/(unsigned long) NC_/';
-};
-#endif
-
-/*
- * Fix reference to NMSZ in <sys/adv.h>.
- */
-#ifdef SVR4
-fix = {
- hackname = svr4_nmsz;
- files = sys/adv.h;
- select = '\[NMSZ\]';
- sed = 's/\[NMSZ\]/\[RFS_NMSZ\]/g';
-};
-#endif
-
-
-/*
- * Some SVR4 systems supposedly use these non-ANSI preprocessor directives.
- */
-#ifdef SVR4
-fix = {
- hackname = svr4_preproc_lint_on;
- select = '#lint\(on\)';
- c_fix = format;
- c_fix_arg = 'defined(lint)';
- test_text = "#if #lint(on)";
-};
-fix = {
- hackname = svr4_preproc_lint_off;
- select = '#lint\(off\)';
- c_fix = format;
- c_fix_arg = '!defined(lint)';
- test_text = "#if #lint(off)";
-};
-fix = {
- hackname = svr4_preproc_machine;
- select = '#(machine|system|cpu)\(([^)]*)\)';
- c_fix = format;
- c_fix_arg = 'defined(__%1__)';
- test_text = "#if #machine(i386) || #system(vax) || #cpu(sparc)";
-};
-#endif
-
-
-/*
* Fix broken decl of profil present on some svr4 systems.
*/
fix = {
/*
- * Convert functions to prototype form, and fix arg names in <sys/stat.h>.
- */
-#ifdef SVR4
-fix = {
- hackname = svr4_proto_form;
- files = sys/stat.h;
- select = 'const extern';
-
- sed = "/^stat([ \t]*[^c]/ {\nN\nN\n"
- "s/(.*)\\n/( /\n"
- "s/;\\n/, /\n"
- "s/;$/)/\n" "}";
-
- sed = "/^lstat([ \t]*[^c]/ {\nN\nN\n"
- "s/(.*)\\n/( /\n"
- "s/;\\n/, /\n"
- "s/;$/)/\n" "}";
-
- sed = "/^fstat([ \t]*[^i]/ {\nN\nN\n"
- "s/(.*)\\n/( /\n"
- "s/;\\n/, /\n"
- "s/;$/)/\n" "}";
-
- sed = "/^mknod([ \t]*[^c]/{\nN\nN\nN\n"
- "s/(.*)\\n/( /\n"
- "s/;\\n/, /g\n"
- "s/;$/)/\n" "}";
-
- sed = "1,$s/\\([^A-Za-z]\\)path\\([^A-Za-z]\\)/\\1__path\\2/g";
- sed = "1,$s/\\([^A-Za-z]\\)buf\\([^A-Za-z]\\)/\\1__buf\\2/g";
- sed = "1,$s/\\([^A-Za-z]\\)fd\\([^A-Za-z]\\)/\\1__fd\\2/g";
- sed = "1,$s/ret\\([^u]\\)/__ret\\1/g";
- sed = "1,$s/\\([^_]\\)mode\\([^_]\\)/\\1__mode\\2/g";
- sed = "1,$s/\\([^_r]\\)dev\\([^_]\\)/\\1__dev\\2/g";
-};
-#endif
-
-/*
- * Add a prototyped declaration of mmap to <sys/mman.h>.
- */
-#ifdef SVR4
-fix = {
- hackname = svr4_proto_mmap;
- files = sys/mman.h;
- select = '^extern caddr_t mmap();$';
- sed = '/^extern caddr_t mmap();$/c' "\\\n"
- "#ifdef __STDC__\\\n"
- "extern caddr_t mmap (caddr_t, size_t, int, int, int, off_t);\\\n"
- "#else /* !defined(__STDC__) */\\\n"
- "extern caddr_t mmap ();\\\n"
- "#endif /* !defined(__STDC__) */\\\n";
-};
-#endif
-
-/*
- * Add a #define of _SIGACTION_ into <sys/signal.h>.
- */
-#ifdef SVR4
-fix = {
- hackname = svr4_sigaction;
- files = sys/signal.h;
- sed = "/^struct sigaction {/i\\\n"
- "#define _SIGACTION_";
- sed = 's/(void *(\*)())/(void (*)(int))/';
-};
-#endif
-
-
-/*
* Correct types for signal handler constants like SIG_DFL; they might be
* void (*) (), and should be void (*) (int). C++ doesn't like the
* old style.
"#define SIG_IGN (void (*)())0\n";
};
-/*
- * Put storage class at start of decl, to avoid warning.
- */
-#ifdef SVR4
-fix = {
- hackname = svr4_storage_class;
- files = rpc/types.h;
- select = 'const extern';
- sed = 's/const extern/extern const/g';
-};
-#endif
-
/*
* Some SysV r4 systems, including Sequent's DYNIX/ptx, use the local
/*
- * Like svr4_mach_defines, but with newfangled syntax.
- * Source lines are of #define __i386 #machine(i386). Delete them.
- */
-#ifdef SVR5
-fix = {
- hackname = svr5_mach_defines;
- files = ieeefp.h;
- select = "#define[ \t]*__i386.*\(i386\)";
- sed = "/#define[ \t]*__i386.*/d";
-};
-#endif /* SVR5 */
-
-
-/*
* Fix return value of mem{ccpy,chr,cpy,set} and str{len,spn,cspn}
* in string.h on sysV68
* Correct the return type for strlen in string.h on Lynx.