--- a/bfd/elf.c	2009-07-14 14:30:19.000000000 +0200
+++ b/bfd/elf.c	2009-07-14 21:11:42.000000000 +0200
@@ -5362,12 +5449,16 @@
 	  *pointer_to_map = map;
 	  pointer_to_map = &map->next;
 
+#if 0
+          /* FIXME: It is wrong when section flags are changed. See
+             PR binutils/5233.  */
 	  if (matching_lma != map->p_paddr
 	      && !map->includes_filehdr && !map->includes_phdrs)
 	    /* There is some padding before the first section in the
 	       segment.  So, we must account for that in the output
 	       segment's vma.  */
 	    map->p_vaddr_offset = matching_lma - map->p_paddr;
+#endif
 
 	  free (sections);
 	  continue;

