diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9992c733fde3cd46f2f8c4964525b70f72810654..9bdc1d2eaf699bb29a3f5a68d71557096ce47d8a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2009-06-02  Alexandre Oliva  <aoliva@redhat.com>
+
+	* df-core.c (df_ref_debug): Honor -fdump-noaddr.
+
 2009-06-02  Alexandre Oliva  <aoliva@redhat.com>
 
 	* combine.c (move_deaths): Compare LUIDs within the same BB only.
diff --git a/gcc/df-core.c b/gcc/df-core.c
index c42b20f2ce70a2c6df942962b9daad18200b6f7a..8057b54df102eddbcabb59580c6791ef85a7a061 100644
--- a/gcc/df-core.c
+++ b/gcc/df-core.c
@@ -2120,7 +2120,13 @@ df_ref_debug (df_ref ref, FILE *file)
 	   DF_REF_FLAGS (ref),
 	   DF_REF_TYPE (ref));
   if (DF_REF_LOC (ref))
-    fprintf (file, "loc %p(%p) chain ", (void *)DF_REF_LOC (ref), (void *)*DF_REF_LOC (ref));
+    {
+      if (flag_dump_noaddr)
+	fprintf (file, "loc #(#) chain ");
+      else
+	fprintf (file, "loc %p(%p) chain ", (void *)DF_REF_LOC (ref),
+		 (void *)*DF_REF_LOC (ref));
+    }
   else
     fprintf (file, "chain ");
   df_chain_dump (DF_REF_CHAIN (ref), file);