diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 3388db24f3621ebbbdd27f6ca8cd91c26b514430..68479e7fbd5676873d3c0736a8522a96bc6200cd 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2003-03-03  Geoffrey Keating  <geoffk@apple.com>
+
+	* gcc.c-torture/compile/20010327-1.c: Back out last change.  Add
+	comment explaining purpose of testcase.
+
 2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
 
 	* gcc.c-torture/execute/960312-1.x: New file, must pass -mshort
diff --git a/gcc/testsuite/gcc.c-torture/compile/20010327-1.c b/gcc/testsuite/gcc.c-torture/compile/20010327-1.c
index 711cd7151ef9b0e0643a986bab84708e53414acd..10f7e39516f5db06ad87727cd959edde172ead98 100644
--- a/gcc/testsuite/gcc.c-torture/compile/20010327-1.c
+++ b/gcc/testsuite/gcc.c-torture/compile/20010327-1.c
@@ -1,6 +1,9 @@
+/* This testcase tests whether GCC can produce static initialized data
+   that references addresses of size 'unsigned long', even if that's not
+   the same as __SIZE_TYPE__.  (See 20011114-1.c for the same test of
+   size __SIZE_TYPE__.)  
+
+   Some rare environments might not have the required relocs to support
+   this; they should have this test disabled in the .x file.  */
 extern void _text;
-/* We use __SIZE_TYPE__ here because it's as wide as a pointer, so we
-   know we won't have a non-constant because of extension or
-   truncation of the pointer to fit.  */
-static __SIZE_TYPE__ x
-  = (__SIZE_TYPE__) &_text - (__SIZE_TYPE__) 0x10000000L - 1;
+static unsigned long x = (unsigned long) &_text - 0x10000000L - 1;