Commit a7fc602f by J. David Anglin Committed by Bruce Korb

New include hacks for ultrix

From-SVN: r34407
parent 83adf9da
2000-06-05 J. David Anglin <dave@hiauly1.hia.nrc.ca>
* fixinc/inclhack.def: New include hacks for ultrix.
* (nested_ultrix): Replaced by ultrix_nested_svc.
* (ultrix_atof_param): test_text string added.
* (ultrix_ifdef): Modified select string.
2000-06-05 Zack Weinberg <zack@wolery.cumb.org>
* objc/objc-act.c (generate_method_descriptors): Register
......
......@@ -517,6 +517,65 @@ fix = {
/*
* The Ultrix 4.3 file limits.h is a symbolic link to sys/limits.h.
* Replace limits.h with a file that includes sys/limits.h.
*/
fix = {
hackname = AAB_ultrix_limits;
files = limits.h;
mach = "*-*-ultrix4.3";
replace =
'/* @(#)limits.h */
/* This file was generated by fixincludes */
\#ifndef _LIMITS_INCLUDED
\#define _LIMITS_INCLUDED
\#include <sys/limits.h>
\#endif /* _LIMITS_INCLUDED */
';
};
/*
* The ULTRIX 4.3 version of memory.h duplicates definitions
* present in strings.h. Replace memory.h with a file that includes
* strings.h to prevent problems from multiple inclusion.
*/
fix = {
hackname = AAB_ultrix_memory;
files = memory.h;
mach = "*-*-ultrix4.3";
replace =
'/* @(#)memory.h */
/* This file was generated by fixincludes */
\#ifndef _MEMORY_INCLUDED
\#define _MEMORY_INCLUDED
\#include <strings.h>
\#endif /* _MEMORY_INCLUDED */
';
};
/*
* 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 =
'/* @(#)string.h */
/* This file was generated by fixincludes */
\#ifndef _STRING_INCLUDED
\#define _STRING_INCLUDED
\#include <strings.h>
\#endif /* _STRING_INCLUDED */
';
};
/*
* sys/wait.h on AIX 3.2.5 puts the declaration of wait3 before the
* definition of struct rusage, so the prototype added by fixproto fails.
*/
......@@ -1490,16 +1549,6 @@ fix = {
/*
* Avoid nested comments on Ultrix 4.3.
*/
fix = {
hackname = nested_ultrix;
files = rpc/svc.h;
sed = "s@^\\( \\*\tint protocol; \\)/\\*@\\1*/ /*@";
};
/*
* fix bogus recursive stdlib.h in NEWS-OS 4.0C
*/
fix = {
......@@ -2616,7 +2665,10 @@ fix = {
files = math.h;
select = "atof\\([ \t]*char";
sed = "s@atof(\\([ \t]*char[ \t]*\\*[^)]*\\))@atof(const \\1)@";
c_fix = format;
c_fix_arg = "atof(const char";
test_text = "extern double atof( char *__nptr);\n";
};
......@@ -2672,8 +2724,10 @@ fix = {
hackname = ultrix_fix_fixproto;
files = sys/utsname.h;
select = ULTRIX;
sed = "/^[ \t]*extern[ \t]*int[ \t]*uname();$/i\\\n"
"struct utsname;\n";
c_fix = format;
c_fix_arg = "struct utsname;\n%0";
c_fix_arg = "^[ \t]*extern[ \t]*int[ \t]*uname\\(\\);"
test_text =
"/* ULTRIX's uname */\nextern\tint\tuname();";
......@@ -2685,9 +2739,11 @@ fix = {
*/
fix = {
hackname = ultrix_ifdef;
select = "#ifdef KERNEL[ \t]+[^ \t]";
select = "^#ifdef KERNEL[ \t]+&&";
files = sys/file.h;
sed = "s/#ifdef KERNEL/#if defined(KERNEL)/";
c_fix = format;
c_fix_arg = "#if defined(KERNEL) &&";
test_text =
"#ifdef KERNEL\t&& defined( mumbojumbo )\nint oops;\n#endif";
......@@ -2695,6 +2751,66 @@ fix = {
/*
* Strip "|| CC$gfloat" from Ultrix math headers.
*/
fix = {
hackname = ultrix_math_ifdef;
files = float.h;
files = math.h;
files = sys/limits.h;
select = "^#if.*\\|\\|[ \t]+CC\\$[a-z]+";
sed = "/^#if/s/||[ \t][ \t]*CC$[a-z][a-z]*//";
test_text = '#if defined(__GFLOAT) || CC\$gfloat';
};
/*
* Avoid nested comments on Ultrix 4.3.
*/
fix = {
hackname = ultrix_nested_ioctl;
files = sys/ioctl.h;
select = "^/\\* #define SIOCSCREEN";
sed = "/^\\/\\* #define SIOCSCREEN/s@/\\* screend@*//* screend@";
test_text =
"/* #define SIOCSCREENON _IOWR('i', 49, int)"
"/* screend, net/gw_screen.h */\n";
};
fix = {
hackname = ultrix_nested_svc;
files = rpc/svc.h;
select = "^ \\*[ \t]*int protocol; */\\*";
sed = "s@^\\( \\*\tint protocol; \\)/\\*@\\1*/ /*@";
test_text =
" *\tint protocol; /* like TCP or UDP\n";
};
/*
* Add missing prototype for lstat and define for S_ISLNK
* in Ultrix V4.3 sys/stat.h.
*/
fix = {
hackname = ultrix_stat;
files = sys/stat.h;
select = "@\\(#\\)stat\\.h.*6\\.1.*\\(ULTRIX\\)";
sed = "/^#define[ \t]S_IFPORT[ \t]*S_IFIFO$/a\\\n"
"\\\n"
"/* macro to test for symbolic link */\\\n"
"#define S_ISLNK(mode) (((mode) & S_IFMT) == S_IFLNK)\\\n"
"\n";
sed = "/^[ \t]*fstat(),$/a\\\n"
"\tlstat(),\n";
test_text =
"@(#)stat.h 6.1 (ULTRIX)\n"
"#define S_IFPORT S_IFIFO\n"
"\tfstat(),\n";
};
/*
* Check for superfluous `static' (in Ultrix 4.2)
* On Ultrix 4.3, includes of other files (r3_cpu.h,r4_cpu.h) is broken.
*/
......@@ -2705,6 +2821,22 @@ fix = {
sed = "s/^static struct tlb_pid_state/struct tlb_pid_state/";
sed = 's/^#include "r3_cpu\.h"$/#include <machine\/r3_cpu\.h>/';
sed = 's/^#include "r4_cpu\.h"$/#include <machine\/r4_cpu\.h>/';
test_text =
"static struct tlb_pid_state {\n"
"#include \"r3_cpu.h\"\n";
};
/*
* Add once-only latch to Ultrix V4.3 strings.h.
*/
fix = {
hackname = ultrix_strings;
files = strings.h;
select = "@\\(#\\)strings\\.h.*6\\.1.*\\(ULTRIX\\)";
c_fix = wrap;
test_text =
"@(#)strings.h 6.1 (ULTRIX)\n";
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment