diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 12d773c50b7a0c0e443d47f04d462b6f99e12ae0..30f667a0ce1eb22ca0d07676c5554fea01d8b251 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2013-06-09  David Edelsohn  <dje.gcc@gmail.com>
+	    Jan Hubicka  <jh@suse.cz>
+
+	* config/rs6000/rs6000.c (print_operand, 'z'): Remove historical
+	hack to mark symbols as used.
+
 2013-06-08  Vladimir Makarov  <vmakarov@redhat.com>
 
 	PR rtl-optimization/57559
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 3e019bb0697b244cccb1687076550e5629f7aa69..df6c69ea9345f5376b4abe24920503a8a1cb1e38 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -15728,11 +15728,6 @@ print_operand (FILE *file, rtx x, int code)
 	 TOCs and the like.  */
       gcc_assert (GET_CODE (x) == SYMBOL_REF);
 
-      /* Mark the decl as referenced so that cgraph will output the
-	 function.  */
-      if (SYMBOL_REF_DECL (x))
-	DECL_PRESERVE_P (SYMBOL_REF_DECL (x)) = 1;
-
       /* For macho, check to see if we need a stub.  */
       if (TARGET_MACHO)
 	{