fix = {
hackname = alpha_pthread_init;
files = pthread.h;
- select = ' \* @\(#\)\$' 'RCSfile: pthread\.h,v \$'
- ' \$' 'Revision: 1\.1\.33\.21 \$ \(DEC\)'
- ' \$' 'Date: 2000/08/15 15:30:13 \$';
+ select = ' \* @\(#\).RCSfile: pthread\.h,v \$'
+ ' .Revision: 1\.1\.33\.21 \$ \(DEC\)'
+ ' .Date: 2000/08/15 15:30:13 \$';
mach = "alpha*-dec-osf*";
sed = "s@MVALID\\(.*\\)A}@MVALID\\1A, 0, 0, 0, 0, 0, 0 }@\n"
"s@MVALID\\(.*\\)_}@MVALID\\1_, 0, 0, 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"
+ " * @(#)_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"
bypass = '_GCC_(PTRDIFF|SIZE|WCHAR)_T';
select = "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
c_fix = gnu_type;
+ /* The Solaris 10 headers already define these types correctly. */
+ mach = '*-*-solaris2.1[0-9]*';
+ not_machine = true;
test_text = "typedef long int ptrdiff_t; /* long int */\n"
"typedef uint_t size_t; /* uint_t */\n"
/*
+ * Fix hpux broken #ifndef _XOPEN_SOURCE_EXTENDED conditional on htonl etc.
+ */
+fix = {
+ hackname = hpux_htonl;
+ files = netinet/in.h;
+ select = "#ifndef _XOPEN_SOURCE_EXTENDED\n"
+ "(/\\*\n"
+ " \\* Macros for number representation conversion\\.\n"
+ " \\*/\n"
+ "#ifndef ntohl)";
+ c_fix = format;
+ c_fix_arg = "#if 1\n%1";
+
+ test_text = "#ifndef _XOPEN_SOURCE_EXTENDED\n"
+ "/*\n"
+ " * Macros for number representation conversion.\n"
+ " */\n"
+ "#ifndef ntohl\n"
+ "#define ntohl(x) (x)\n"
+ "#define ntohs(x) (x)\n"
+ "#define htonl(x) (x)\n"
+ "#define htons(x) (x)\n"
+ "#endif\n"
+ "#endif /* ! _XOPEN_SOURCE_EXTENDED */";
+};
+
+
+/*
* HP-UX long_double
*/
fix = {
test_text = "int __page_size;";
};
+/*
+ * On broken glibc-2.3.3 systems an array of incomplete structures is
+ * passed to __sigsetjmp. Fix that to take a pointer instead.
+ */
+fix = {
+ hackname = pthread_incomplete_struct_argument;
+ files = pthread.h;
+ select = "struct __jmp_buf_tag";
+ c_fix = format;
+ c_fix_arg = "%1 *%2%3";
+ c_fix_arg = "^(extern int __sigsetjmp \\(struct __jmp_buf_tag) (__env)\\[1\\](.*)$";
+ test_text = "extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask);";
+};
/*
* On DYNIX/ptx, sys/mc_param.h has an embedded asm for the cpuid instruction
files = stdio_tag.h;
select = '__cplusplus < 54321L';
+ /* In Solaris 10, the code in stdio_tag.h is conditionalized on
+ "!defined(__GNUC__)" so we no longer need to fix it. */
+ bypass = '__GNUC__';
sed = 's/defined(__cplusplus) && (__cplusplus < 54321L)/0/';
test_text = "#if\tdefined(__cplusplus) && (__cplusplus < 54321L)";
hackname = stdio_stdarg_h;
files = stdio.h;
bypass = "include.*(stdarg\.h|machine/ansi\.h)";
+ /*
+ * On Solaris 10, this fix is unncessary; <stdio.h> includes
+ * <iso/stdio_iso.h>, which includes <sys/va_list.h>.
+ */
+ mach = '*-*-solaris2.1[0-9]';
+ not_machine = true;
c_fix = wrap;
files = internal/stdio_core.h;
files = internal/wchar_core.h;
bypass = '__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list';
+ /*
+ * On Solaris 10, the definition in
+ * <stdio.h> is guarded appropriately by the _XPG4 feature macro;
+ * there is therefore no need for this fix there.
+ */
+ mach = '*-*-solaris2.1[0-9]';
+ not_machine = true;
/*
* Use __gnuc_va_list in arg types in place of va_list.