This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[fixinc patch] Put _KERNEL hack into regular fixincludes
- From: neroden at twcny dot rr dot com (Nathanael Nerode)
- To: gcc-patches at gcc dot gnu dot org, bkorb at veritas dot com
- Date: Thu, 7 Aug 2003 16:15:01 -0400
- Subject: [fixinc patch] Put _KERNEL hack into regular fixincludes
This is the best I can do for the _KERNEL hack from fixinc.svr4. The
hack has been around since at least 1992, the oldest CVS record on gcc.gnu.org
(!) and so I cannot be sure what its original motivation was.
Bruce, is this OK for mainline? There isn't going to be anything better for
this fix. :-/
* fixinc/inclhack.def (svr4_kernel): Enable for selected machines.
Comment heavily.
* fixinc/fixincl.x: Rebuild.
Index: inclhack.def
===================================================================
RCS file: /cvs/gcc/gcc/gcc/fixinc/inclhack.def,v
retrieving revision 1.171
diff -u -r1.171 inclhack.def
--- inclhack.def 4 Aug 2003 19:30:10 -0000 1.171
+++ inclhack.def 7 Aug 2003 20:11:07 -0000
@@ -2788,11 +2788,21 @@
/*
- * set ifdef _KERNEL
+ * Wrap some files on System V r4 and DYNIX/ptx systems with
+ * #ifdef _KERNEL, presumably to prevent kernel headers from
+ * leaking into userspace. This may not be necessary at all,
+ * but it was in the old scripts, so it seems safest to keep it for now.
*/
-#ifdef SVR4
fix = {
hackname = svr4_kernel;
+ /* Since I'm rather unsure about the validity of this, limit it
+ * to the specific systems it was operating on before. It should
+ * also be bypassed for i?86-*-sysv4.3uw2, by that rule, but I didn't
+ * see an easy way to do that. Hopefully it will be harmless
+ * in any case. -- Nathanael */
+ mach = '*-*-sysv4*';
+ mach = 'i?86-sequent-ptx*';
+ mach = 'i?86-sequent-sysv[34]*';
files = fs/rfs/rf_cache.h;
files = sys/erec.h;
files = sys/err.h;
@@ -2806,9 +2816,11 @@
c_fix_arg = "#ifdef _KERNEL\n";
c_fix_arg = "#endif /* _KERNEL */\n";
+ /* There's no reasonable test for this given that we don't know exactly
+ * what problem inspired it in the first place. */
test_text = "";
};
-#endif
+
/*
* Delete any #defines of `__i386' which may be present in <ieeefp.h>. They
--
Nathanael Nerode <neroden at gcc.gnu.org>
http://home.twcny.rr.com/nerode/neroden/fdl.html