diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 812dd1475f82b82d9a9d68391014492610e4d3a8..2a3bda14241ad46e9a88637d69bc9812e1a5e980 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2009-10-20  Richard Earnshaw  <rearnsha@arm.com>
+
+	PR target/39247
+	* arm.c (arm_override_options): Forcibly disable hot/cold block
+	partitioning.
+
 2009-10-20  Alexandre Oliva  <aoliva@redhat.com>
 
 	PR debug/41739
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index e013dc2f70f3f14d836c3248c3be5f34316b1f1d..93c35901116a98dc2bf82ba61793a3500b856390 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -1864,6 +1864,16 @@ arm_override_options (void)
         max_insns_skipped = 3;
     }
 
+  /* Hot/Cold partitioning is not currently supported, since we can't
+     handle literal pool placement in that case.  */
+  if (flag_reorder_blocks_and_partition)
+    {
+      inform (input_location,
+	      "-freorder-blocks-and-partition not supported on this architecture");
+      flag_reorder_blocks_and_partition = 0;
+      flag_reorder_blocks = 1;
+    }
+
   /* Ideally we would want to use CFI directives to generate
      debug info.  However this also creates the .eh_frame
      section, so disable them until GAS can handle