diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 1e006051a7a52f6eaca36f0e7fdec36fd04c1d92..cdc2589ba542755d23dca66673c9f23fe1b99b70 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,8 @@
+2009-11-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+	* s-oscons-tmplt.c [__mips && __sgi]: Only define _XOPEN5, IOV_MAX
+	if _XOPEN_IOV_MAX is defined.
+
 2009-11-30  Vasiliy Fofanov  <fofanov@adacore.com>
 
 	* vms_data.ads: Add new VMS qualifiers,
diff --git a/gcc/ada/s-oscons-tmplt.c b/gcc/ada/s-oscons-tmplt.c
index a3f33d1398097449b6ef417acb974b8cfa37adf8..1e8bd520ceb970322cc25b20f797022b0ce552f1 100644
--- a/gcc/ada/s-oscons-tmplt.c
+++ b/gcc/ada/s-oscons-tmplt.c
@@ -84,12 +84,14 @@ pragma Style_Checks ("M32766");
 #define _XOPEN_SOURCE 500
 
 #elif defined (__mips) && defined (__sgi)
-/** For IRIX _XOPEN5 must be defined and _XOPEN_IOV_MAX must be used as IOV_MAX,
- ** otherwise IOV_MAX is not defined.
+/** For IRIX 6, _XOPEN5 must be defined and _XOPEN_IOV_MAX must be used as
+ ** IOV_MAX, otherwise IOV_MAX is not defined.  IRIX 5 has neither.
  **/
+#ifdef _XOPEN_IOV_MAX
 #define _XOPEN5
 #define IOV_MAX _XOPEN_IOV_MAX
 #endif
+#endif
 
 #include <stdlib.h>
 #include <string.h>