diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c2b0ef201fac1c9ddca903a419a6985226aa39bf..1acac7f654b8e22753785fb65b14a9be50962eea 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2006-09-09  Eric Christopher  <echristo@apple.com>
+
+	PR target/28995
+	* config/darwin.c (machopic_select_rtx_section): Add TARGET_64BIT
+	for literal16.
+
 2006-09-09  Roger Sayle  <roger@eyesopen.com>
 	    Nicolas Setton <setton@adacore.com>
 
diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c
index 77e2f0e31c418940a3c1975e3546cb866bd84b20..6ceb808490472473ec7d44c7ec9be05f96dfc430 100644
--- a/gcc/config/darwin.c
+++ b/gcc/config/darwin.c
@@ -1239,7 +1239,8 @@ machopic_select_rtx_section (enum machine_mode mode, rtx x,
 	   && (GET_CODE (x) == CONST_INT
 	       || GET_CODE (x) == CONST_DOUBLE))
     return darwin_sections[literal4_section];
-  else if (GET_MODE_SIZE (mode) == 16
+  else if (TARGET_64BIT
+	   && GET_MODE_SIZE (mode) == 16
 	   && (GET_CODE (x) == CONST_INT
 	       || GET_CODE (x) == CONST_DOUBLE))
     return darwin_sections[literal16_section];