bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug binutils/10222] Objcopy asserts when copying binary input target to


From: gingold at adacore dot com
Subject: [Bug binutils/10222] Objcopy asserts when copying binary input target to a mach-o-le output target
Date: 5 Jun 2009 09:21:20 -0000

------- Additional Comments From gingold at adacore dot com  2009-06-05 09:21 
-------
Hi,

with this patch (that has just been checked-in), you should be able to convert
from binary to mach-o-i386.

Tristan.

2009-06-05  Tristan Gingold  <address@hidden>

        * mach-o.h: Update copyright year.
        (bfd_mach_o_mach_header_magic): New enum.
        (bfd_mach_o_cpu_subtype): Now an enum.
        (BFD_MACH_O_HEADER_SIZE, BFD_MACH_O_HEADER_64_SIZE): New macros.
        (BFD_MACH_O_SECTION_SIZE, BFD_MACH_O_SECTION_64_SIZE): Ditto.
        (BFD_MACH_O_LC_SEGMENT_SIZE, BFD_MACH_O_LC_SEGMENT_64_SIZE): Ditto.
        (bfd_mach_o_load_command): Field type_required is now a boolean.
        Reindent prototypes.
        (bfd_mach_o_object_p, bfd_mach_o_core_p): Remove.
        (bfd_mach_o_bfd_copy_private_symbol_data): Add a prototype.
        (bfd_mach_o_bfd_copy_private_section_data): Ditto.
        (bfd_mach_o_bfd_copy_private_bfd_data): Ditto.
        (bfd_mach_o_get_symtab_upper_bound): Ditto.
        (bfd_mach_o_canonicalize_symtab): Ditto.
        (bfd_mach_o_get_symbol_info): Ditto.
        (bfd_mach_o_print_symbol): Ditto.
        (bfd_mach_o_bfd_print_private_bfd_data): Ditto.
        (bfd_mach_o_make_empty_symbol): Ditto.
        (bfd_mach_o_write_contents): Ditto.

        * mach-o.c (bfd_mach_o_object_p, bfd_mach_o_core_p,
        bfd_mach_o_mkobject): Defines.
        (bfd_mach_o_valid): Returns FALSE/TRUE instead of 0/1.
        Do not check with target vector but with flavour.
        (struct mach_o_section_name_xlat): New declaration.
        (dwarf_section_names_xlat): Ditto.
        (text_section_names_xlat): Ditto.
        (data_section_names_xlat): Ditto.
        (struct mach_o_segment_name_xlat): Ditto.
        (segsec_names_xlat): Ditto.
        (bfd_mach_o_convert_section_name_to_bfd): New function.
        (bfd_mach_o_convert_section_name_to_mach_o): Ditto.
        (bfd_mach_o_bfd_copy_private_symbol_data): Make it public.
        (bfd_mach_o_bfd_copy_private_section_data): Ditto.
        (bfd_mach_o_bfd_copy_private_bfd_data): Ditto.
        Accept any input and output flavour.  Do not share private data
        anymore.
        (bfd_mach_o_count_symbols): Add a comment.
        (bfd_mach_o_get_symtab_upper_bound): Make it public.
        (bfd_mach_o_canonicalize_symtab): Ditto.
        (bfd_mach_o_get_symbol_info): Ditto.
        (bfd_mach_o_print_symbol): Ditto.
        (bfd_mach_o_write_header): Now returns a boolean instead of an int.
        Use constants instead of hard-coded values.
        (bfd_mach_o_scan_write_section_32): Use constants instead of hard-coded
        values.
        (bfd_mach_o_scan_write_section_64): Ditto.
        (bfd_mach_o_scan_write_segment): Ditto.
        Do not copy sections anymore.
        (bfd_mach_o_write_contents): Make it public.
        Remove dead code.  Rewrite typeflag assignment.
        (bfd_mach_o_build_commands): New function.
        (bfd_mach_o_set_section_contents): Ditto.
        (bfd_mach_o_make_empty_symbol): Make it public.
        (bfd_mach_o_read_header): Make it static.
        Convert to bfd_boolean.
        Use constants instead of hard-coded values.
        (bfd_mach_o_make_bfd_section): Call
        bfd_mach_o_convert_section_name_to_bfd to create name.
        (bfd_mach_o_scan_read_section_32): Use constants instead of hard-coded
        values.
        (bfd_mach_o_scan_read_section_64): Ditto.
        (bfd_mach_o_scan_read_segment): Do not create a bfd section for
        a segment anymore.  Use constants instead of hard-coded values.
        (bfd_mach_o_scan_read_command): Fix style.
        (bfd_mach_o_scan): Use constants instead of hard-coded values.
        Get rid of BFD_IO_FUNCS.
        (bfd_mach_o_mkobject_init): Renamed from bfd_mach_o_mkobject.
        (bfd_mach_o_header_p): Created from bfd_mach_o_object_p.
        (bfd_mach_o_gen_object_p): New function, replaces bfd_mach_o_object_p.
        (bfd_mach_o_object_p): Removed.
        (bfd_mach_o_gen_core_p): New function, replaces ...
        (bfd_mach_o_core_p): ... deleted.
        (bfd_mach_o_bfd_print_private_bfd_data): Make it public.

        * mach-o-i386.c: New file.
        * config.bfd: Use mach_o_i386_vec as targ_defvec for ix86-darwin.
        * configure.in (TDEFINES): Add mach_o_i386_vec.
        * configure: Regenerates.
        * targets.c: Add mach_o_i386_vec.

        * mach-o.c: Update copyright years.
        (BFD_IO_FUNCS): Remove (was not used).
        (bfd_mach_o_mkarchive, bfd_mach_o_read_ar_hdr, bfd_mach_o_slurp_armap
        bfd_mach_o_slurp_extended_name_table,
        bfd_mach_o_construct_extended_name_table,
        bfd_mach_o_truncate_arname, bfd_mach_o_write_armap,
        bfd_mach_o_get_elt_at_index, bfd_mach_o_generic_stat_arch_elt,
        bfd_mach_o_update_armap_timestamp, bfd_mach_o_close_and_cleanup,
        bfd_mach_o_bfd_free_cached_info, bfd_mach_o_new_section_hook,
        bfd_mach_o_get_section_contents_in_window,
        bfd_mach_o_bfd_is_local_label_name,
        bfd_mach_o_bfd_is_target_special_symbol,
        bfd_mach_o_bfd_is_local_label_name, bfd_mach_o_get_lineno,
        bfd_mach_o_find_nearest_line, bfd_mach_o_find_inliner_info,
        bfd_mach_o_bfd_make_debug_symbol, bfd_mach_o_read_minisymbols,
        bfd_mach_o_minisymbol_to_symbol,
        bfd_mach_o_bfd_get_relocated_section_contents,
        bfd_mach_o_bfd_relax_section, bfd_mach_o_bfd_link_hash_table_create,
        bfd_mach_o_bfd_link_hash_table_free, bfd_mach_o_bfd_link_add_symbols,
        bfd_mach_o_bfd_link_just_syms, bfd_mach_o_bfd_final_link,
        bfd_mach_o_bfd_link_split_section, bfd_mach_o_set_arch_mach,
        bfd_mach_o_bfd_merge_private_bfd_data,
        bfd_mach_o_bfd_set_private_flags, bfd_mach_o_get_section_contents,
        bfd_mach_o_bfd_gc_sections, bfd_mach_o_bfd_merge_sections,
        bfd_mach_o_bfd_is_group_section, bfd_mach_o_bfd_discard_group,
        bfd_mach_o_section_already_linked, bfd_mach_o_bfd_define_common_symbol,
        bfd_mach_o_bfd_copy_private_header_data,
        bfd_mach_o_core_file_matches_executable_p): Move these defines ...
        * mach-o-target.c: ... here.
        Update copyright years.


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


http://sourceware.org/bugzilla/show_bug.cgi?id=10222

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]