--- 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;