diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b6be8a9fa169a319d1e4ea647e2c04fced9a0c3b..a162f10b1fcb4f29dfab349a3bf98b580eb95744 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Tue Apr 18 16:04:12 2000  Jim Wilson  <wilson@cygnus.com>
+
+	* config/ia64/sysv4.h (SELECT_SECTION): Use data_section if
+	flag_pic and RELOC.
+
 2000-04-18  Zack Weinberg  <zack@wolery.cumb.org>
 
 	* cccp.c, cexp.y, cexp.c, cccp.1: Removed.
diff --git a/gcc/config/ia64/sysv4.h b/gcc/config/ia64/sysv4.h
index 6e5efdb89d6da7edf7c4114e666afb796194347b..95f73a34847c9bba97ef542273a1e983197f5e96 100644
--- a/gcc/config/ia64/sysv4.h
+++ b/gcc/config/ia64/sysv4.h
@@ -206,6 +206,10 @@ do {									\
       else								\
 	data_section ();						\
     }									\
+  /* This could be a CONSTRUCTOR containing ADDR_EXPR of a VAR_DECL,	\
+     in which case we can't put it in a shared library rodata.  */	\
+  else if (flag_pic && (RELOC))						\
+    data_section ();							\
   else									\
     const_section ();							\
 }