diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 747b2118eb43ff784cf055b4984d4a0aa7e213cd..1fc6a0d27f524619679057238df879a0e15913b9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,7 @@
 2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
 
+	* fixinc/inclhack.def (ptx_pwd_h): New disabled fix, ported
+	from fixinc.ptx.
         * fixinc/inclhack.def (ptx_sys_mc_param_h): New disabled fix,
         ported from fixinc.ptx.
 	
diff --git a/gcc/fixinc/inclhack.def b/gcc/fixinc/inclhack.def
index d82190d5ac848f2af783e5cda86e478d89a45f6b..34e4b871119c0b2af4962c986f10a601fc55af1d 100644
--- a/gcc/fixinc/inclhack.def
+++ b/gcc/fixinc/inclhack.def
@@ -2001,6 +2001,30 @@ fix = {
 };
 
 
+/*
+ * In pwd.h, PTX 1.x needs stdio.h included since FILE * was added in a
+ * prototype later on in the file.  (It's not clear that this is
+ * still true, and even if it is, FILE * may be added after this fix runs by
+ * fixproto.)
+ */
+#ifdef PTX
+fix = {
+    hackname  = ptx_pwd_h;
+    files     = pwd.h;
+    select    = 'FILE \*';
+    bypass    = 'stdio.h';
+    sed       = "/#include <sys\\/types\\.h/a\\\n"
+                "\\\n"
+                "#if defined(__STDC__) || defined(__cplusplus)\\\n"
+                "#include <stdio.h>\\\n"
+                "#endif  /*  __STDC__ */\\\n"
+                "\n";
+    test_text = "#include <sys/types.h>\n"
+                "void foo (FILE *)";
+};
+#endif
+
+
 /*
  * On DYNIX/ptx, sys/mc_param.h has an embedded asm for the cpuid instruction
  * on the P5. This is not used by anything else so we ifdef it out.