diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h
index 01b934ff16f3..6dd822c807f3 100644
--- a/gcc/config/pa/pa.h
+++ b/gcc/config/pa/pa.h
@@ -2125,10 +2125,12 @@ DTORS_SECTION_FUNCTION
 { fputs ("\t.word ", FILE);			\
   if (function_label_operand (VALUE, VOIDmode)	\
       && !TARGET_PORTABLE_RUNTIME)		\
-    fputs ("P%", FILE);			\
-  if (in_section == in_named		\
-      && ! strcmp (".gcc_except_table", in_named_name))\
-    fputs ("P%", FILE);			\
+    fputs ("P%", FILE);				\
+  if (in_section == in_named			\
+      && ! strcmp (".gcc_except_table", in_named_name)\
+      && TARGET_GAS				\
+      && ! TARGET_PORTABLE_RUNTIME)		\
+    fputs ("E%", FILE);				\
   output_addr_const (FILE, (VALUE));		\
   fputs ("\n", FILE);}