diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0022e4a886297ebe245d5e1395bbeb1763629c50..8aad0c73edf0cc2aa5c2c0db31069c50dff71197 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,14 @@
+Sat Apr 10 05:25:28 1999  Daniel Jacobowitz <dan@debian.org>
+
+	* rs6000/sysv4.h (CPP_OS_LINUX_SPEC): Fix conditions
+	for -Dunix and -Dlinux, and remove duplicate definition. 
+	Change -Asystem(linux) to -Asystem(posix).
+	(CPP_OS_SOLARIS_SPEC): Fix conditions for -Dunix, -Dsun,
+	-DSVR4, -D__EXTENSIONS__.
+
+	* rs6000/linux.h (CPP_PREDEFINES): Remove -Dunix,
+	-Dlinux, -Asystem(linux), and -Asystem(unix).
+
 Sat Apr 10 05:14:50 1999  Mark Elbrecht  <snowball3@usa.net>
 
 	* collect2.c (find_a_file): Use HAVE_DOS_BASED_FILE_SYSTEM in place
diff --git a/gcc/config/rs6000/linux.h b/gcc/config/rs6000/linux.h
index 7b3571f75611718b5a30dab73001e7d4af295800..ff30618720eec63393b87f5c26c475600e0ec07f 100644
--- a/gcc/config/rs6000/linux.h
+++ b/gcc/config/rs6000/linux.h
@@ -24,7 +24,7 @@ Boston, MA 02111-1307, USA.  */
 
 #undef CPP_PREDEFINES
 #define CPP_PREDEFINES \
- "-DPPC -D__ELF__ -Dunix -Dlinux -Dpowerpc -Asystem(unix) -Asystem(linux) -Acpu(powerpc) -Amachine(powerpc)"
+ "-DPPC -D__ELF__ -Dpowerpc -Acpu(powerpc) -Amachine(powerpc)"
 
 #undef	CPP_OS_DEFAULT_SPEC
 #define CPP_OS_DEFAULT_SPEC "%(cpp_os_linux)"
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
index e945e80d197388b2eea1766cbdf43c69d241c61e..75729e3f3c2280b88737edcf489342d178f46843 100644
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -1330,12 +1330,8 @@ do {									\
 
 #ifndef CPP_OS_LINUX_SPEC
 #define CPP_OS_LINUX_SPEC "-D__unix__ -D__linux__ \
-%{!ansi: -Dunix -Dlinux } \
--Asystem(unix) -Asystem(linux)"
-#endif
-
-#ifndef CPP_OS_LINUX_SPEC
-#define CPP_OS_LINUX_SPEC ""
+%{!undef:%{!ansi:%{!std=*:-Dunix -Dlinux}%{std=gnu*:-Dunix -Dlinux}}}
+-Asystem(unix) -Asystem(posix)"
 #endif
 
 /* Solaris support.  */
@@ -1389,7 +1385,8 @@ do {									\
 
 #ifndef CPP_OS_SOLARIS_SPEC
 #define CPP_OS_SOLARIS_SPEC "-D__ppc -D__sun__=1 -D__unix__ -D__svr4__  -D__SVR4__ \
-%{!ansi: -Dsun=1 -Dunix -DSVR4 -D__EXTENSIONS__ } \
+%{!undef:%{!ansi:%{!std=*:-Dsun=1 -Dunix -DSVR4 -D__EXTENSIONS__} \
+               %{std=gnu*:-Dsun=1 -Dunix -DSVR4 -D__EXTENSIONS__}}} \
 -Amachine(prep)"
 #endif