diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bf19c4496722f8a87790ce1c099812e1a80c3079..1e338eee7a5e6762361b5abd222da64311078ed7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Fri May 12 19:03:58 2000  Philippe De Muyter  <phdm@macqel.be>
+
+	* ggc-simple.c (offsetof): Macro fallback definition moved from here ..
+	* system.h (offsetof): ... to here.
+
 2000-05-12  Richard Henderson  <rth@cygnus.com>
 
 	* Makefile.in (final.o): Depend on BASIC_BLOCK_H.
diff --git a/gcc/ggc-simple.c b/gcc/ggc-simple.c
index b7b6a660bea976f68c6b2248b0e3c6e0fbe6b7cc..e4fbddb53a36e1ae6c50659c8e1f95eec0fffa81 100644
--- a/gcc/ggc-simple.c
+++ b/gcc/ggc-simple.c
@@ -28,10 +28,6 @@
 #include "ggc.h"
 #include "timevar.h"
 
-#ifndef offsetof
-#define offsetof(TYPE, MEMBER)	((size_t) &((TYPE *)0)->MEMBER)
-#endif
-
 /* Debugging flags.  */
 
 /* Zap memory before freeing to catch dangling pointers.  */
diff --git a/gcc/system.h b/gcc/system.h
index 89d389cac9ac9ccaf63f362f7c753f577bee813a..86ea5bafa06e64e50364a3654dff33d30f00b3c0 100644
--- a/gcc/system.h
+++ b/gcc/system.h
@@ -50,6 +50,10 @@ Boston, MA 02111-1307, USA.  */
 #define NULL 0
 #endif
 
+#ifndef offsetof
+#define offsetof(TYPE, MEMBER)	((size_t) &((TYPE *)0)->MEMBER)
+#endif
+
 /* The compiler is not a multi-threaded application and therefore we
    do not have to use the locking functions.