+2007-12-17 Pedro Alves <pedro_alves@portugalmail.pt>
+
+ * config.bfd: Add arm-*-mingw32ce* target.
+
+2007-12-15 Richard Sandiford <rsandifo@nildram.co.uk>
+
+ * elf-bfd.h (eh_cie_fde): Replace u.cie.merged with a union of
+ a merged field and a sec field.
+ (eh_frame_hdr_info): Remove offsets_adjusted.
+ * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Update accesses to
+ the CIE merged field.
+ (_bfd_elf_gc_mark_fdes): Likewise.
+ (_bfd_elf_discard_section_eh_frame): Likewise. Set u.cie.u.sec
+ when clearing the removed flag.
+ (_bfd_elf_eh_frame_section_offset): Remove offsets_adjusted handling.
+ (_bfd_elf_write_section_eh_frame): Likewise. Apply output_offsets
+ where appropriate.
+
+2007-12-15 Richard Sandiford <rsandifo@nildram.co.uk>
+
+ * elf-bfd.h (eh_cie_fde): Move add_fde_encoding and
+ per_encoding_relative to u.cie. Add commentary.
+ * elf-eh-frame.c (cie): Remove make_relative.
+ (extra_augmentation_string_bytes): Update use of add_fde_encoding.
+ (extra_augmentation_data_bytes): Likewise. Use an FDE's own
+ add_augmentation_size field, rather than referring to the CIE.
+ (_bfd_elf_parse_eh_frame): Don't set the struct cie
+ make_relative field; set the eh_cie_fde field directly.
+ Update setting of add_fde_encoding and per_encoding_relative.
+ Copy make_relative and add_augmentation_size from the CIE
+ to the FDE.
+ (_bfd_elf_discard_section_eh_frame): Use the FDE's own
+ make_relative field.
+ (_bfd_elf_eh_frame_section_offset): Likewise.
+ (_bfd_elf_write_section_eh_frame): Update accesses to
+ add_fde_encoding and per_encoding_relative. Use the FDE's
+ own make_relative and add_augmentation_size fields.
+
+2007-12-15 Richard Sandiford <rsandifo@nildram.co.uk>
+
+ * elf-bfd.h (eh_cie_fde): Remove need_lsda_relative.
+ Move make_lsda_relative to u.cie.
+ * elf-eh-frame.c (cie): Rename make_lsda_relative to
+ can_make_lsda_relative.
+ (_bfd_elf_parse_eh_frame): Don't set the old eh_cie_fde
+ make_lsda_relative field. Update after cie renaming.
+ Set u.cie.make_lsda_relative if can_make_lsda_relative
+ and if we find a relocation against the LSDA.
+ (_bfd_elf_discard_section_eh_frame): Copy make_lsda_relative when
+ changing a CIE's group representative.
+ (_bfd_elf_eh_frame_section_offset): Don't set need_ldsa_relative here.
+ (_bfd_elf_write_section_eh_frame): Check u.cie.make_lsda_relative
+ rather than need_lsda_relative.
+
+2007-12-15 Richard Sandiford <rsandifo@nildram.co.uk>
+
+ * elf-bfd.h (eh_cie_fde): Add u.fde.next_for_section and
+ u.cie.gc_mark.
+ (bfd_elf_section_data): Add fde_list.
+ (elf_fde_list): New macro.
+ (elf_obj_tdata): Add eh_frame_section.
+ (elf_eh_frame_section): New macro.
+ (_bfd_elf_gc_mark_reloc): Remove last parameter.
+ (_bfd_elf_gc_mark_fdes): Declare.
+ * elf-eh-frame.c (_bfd_elf_get_eh_frame_sec_info): Chain the FDEs
+ for each input section.
+ (mark_entry, _bfd_elf_gc_mark_fdes): New functions.
+ * elflink.c (_bfd_elf_gc_mark_reloc): Remove is_eh parameter.
+ (_bfd_elf_gc_mark): Update call accordingly. Mark the relocations
+ againts the section's FDEs. Don't mark the bfd's elf_eh_frame_section.
+ (bfd_elf_gc_sections): Parse each input bfd's .eh_frame before
+ marking any input sections. Remove the current EH handling.
+ * section.c (bfd_section): Remove gc_mark_from_eh.
+ * ecoff.c (bfd_debug_section): Update initializer accordingly.
+
2007-12-15 Richard Sandiford <rsandifo@nildram.co.uk>
* elf-bfd.h (eh_cie_fde): Add u.cie. Document how u.fde.cie_inf