This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Tue, Apr 19, 2011 at 3:48 PM, H.J. Lu <hongjiu.lu@intel.com> wrote: > Hi, > > This patch implements: > > http://www.kernel.org/pub/linux/devel/gcc/lto/mixed-IR/mixed-IR.pdf > > to support mixing IR and non-IR objects. ?OK for trunk? > > Thanks. > Here is the updated patch. OK for trunk? Thanks. -- H.J. --- bfd/ 2011-04-19 H.J. Lu <hongjiu.lu@intel.com> * bfd.c (bfd_lto_object_type): New. (bfd): Add object_only_section and lto_type. (bfd_group_signature): New. * elf.c (special_sections_g): Add .gnu_object_only. * format.c (bfd_set_lto_type): New. (bfd_check_format_matches): Use it. * section.c (GNU_OBJECT_ONLY_SECTION_NAME): New. * bfd-in2.h: Regenerated. binutils/ 2011-04-19 H.J. Lu <hongjiu.lu@intel.com> * objcopy.c (group_signature): Removed. (is_strip_section): Replace group_signature with bfd_group_signature. (setup_section): Likewise. * readelf.c (get_section_type_name): Handle SHT_GNU_OBJECT_ONLY. gas/testsuite/ 2011-04-19 H.J. Lu <hongjiu.lu@intel.com> * gas/elf/section9.s: Add the .gnu_object_only test. * gas/elf/section9.d: Updated. include/ 2011-04-19 H.J. Lu <hongjiu.lu@intel.com> * bfdlink.h (bfd_link_info): Add emit_gnu_object_only and emitting_gnu_object_only. include/elf/ 2011-04-19 H.J. Lu <hongjiu.lu@intel.com> * common.h (SHT_GNU_OBJECT_ONLY): New. ld/ 2011-04-19 H.J. Lu <hongjiu.lu@intel.com> * emultempl/alphaelf.em (alpha_finish): Replace finish_default with gld${EMULATION_NAME}_finish. * emultempl/armelf.em (gld${EMULATION_NAME}_finish): Renamed to ... (arm_finish): This. Replace finish_default with gld${EMULATION_NAME}_finish. (LDEMUL_FINISH): Set to arm_finish. * emultempl/elf32.em (gld${EMULATION_NAME}_finish): New. (orphan_init_done): Likewise. (ld_${EMULATION_NAME}_emulation): Use gld${EMULATION_NAME}_finish. (gld${EMULATION_NAME}_place_orphan): Initialize hold. * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Renamed to ... (ppc_finish): This. Replace finish_default with gld${EMULATION_NAME}_finish. (LDEMUL_FINISH): Set to ppc_finish. * emultempl/spuelf.em (gld${EMULATION_NAME}_finish): Renamed to ... (spu_finish): This. Replace finish_default with gld${EMULATION_NAME}_finish. (LDEMUL_FINISH): Set to spu_finish. * ldfile.c (ldfile_try_open_bfd): Call cmdline_check_object_only_section. * ldlang.c: Include "ldwrite.h" and elf-bfd.h. * ldlang.c (cmdline_object_only_file_list): New. (cmdline_object_only_archive_list): Likewise. (cmdline_temp_object_only_list): Likewise. (cmdline_lists_init): Likewise. (cmdline_list_new): Likewise. (cmdline_list_append): Likewise. (print_cmdline_list): Likewise. (cmdline_on_object_only_archive_list_p): Likewise. (cmdline_object_only_list_append): Likewise. (cmdline_get_object_only_input_files): Likewise. (cmdline_arg): Likewise. (setup_section): Likewise. (copy_section): Likewise. (cmdline_fopen_temp): Likewise. (cmdline_add_object_only_section): Likewise. (cmdline_emit_object_only_section): Likewise. (cmdline_extract_object_only_section): Likewise. (cmdline_check_object_only_section): Likewise. (cmdline_remove_object_only_files): Likewise. (lang_init): Take a bfd_boolean argument to supprt object-only output. Call cmdline_lists_init. (load_symbols): Call cmdline_on_object_only_archive_list_p to check if an archive member should be loaded. (lang_process): Handle object-only link. * ldlang.h (lang_init): Take a bfd_boolean argument. (cmdline_enum_type): New. (cmdline_header_type): Likewise. (cmdline_file_type): Likewise. (cmdline_bfd_type): Likewise. (cmdline_union_type): Likewise. (cmdline_list_type): Likewise. (cmdline_emit_object_only_section): Likewise. (cmdline_check_object_only_section): Likewise. (cmdline_remove_object_only_files): Likewise. * ldmain.c (main): Call xatexit with cmdline_remove_object_only_files. Pass FALSE to lang_init. Use ld_parse_linker_script. Set link_info.output_bfd to NULL after close. Call cmdline_emit_object_only_section if needed. (add_archive_element): Call cmdline_check_object_only_section. (ld_parse_linker_script): New. * ldmain.h (ld_parse_linker_script): New. * plugin.c (plugin_opt_plugin_arg): Ignore -pass-through=. (plugin_maybe_claim): Call cmdline_check_object_only_section on claimed IR files. * scripttempl/armbpabi.sc: Also discard .gnu_object_only sections. * scripttempl/elf.sc: Likewise. * scripttempl/elf32sh-symbian.sc: Likewise. * scripttempl/elf64hppa.sc: Likewise. * scripttempl/elfxtensa.sc: Likewise. * scripttempl/mep.sc: Likewise. * scripttempl/pe.sc: Likewise. * scripttempl/pep.sc: Likewise. ld/testsuite/ 2011-04-19 H.J. Lu <hongjiu.lu@intel.com> * ld-plugin/dummy.c: New. * ld-plugin/dummy.s: Likewise. * ld-plugin/func1p.c: Likewise. * ld-plugin/func2i.c: Likewise. * ld-plugin/func3h.c: Likewise. * ld-plugin/lto-10.out: Likewise. * ld-plugin/lto-10a.c: Likewise. * ld-plugin/lto-10b.c: Likewise. * ld-plugin/lto-10r.d: Likewise. * ld-plugin/lto-11.out: Likewise. * ld-plugin/lto-11a.c: Likewise. * ld-plugin/lto-11b.c: Likewise. * ld-plugin/lto-11c.c: Likewise. * ld-plugin/lto-12.out: Likewise. * ld-plugin/lto-12a.c: Likewise. * ld-plugin/lto-12b.c: Likewise. * ld-plugin/lto-12c.c: Likewise. * ld-plugin/lto-13.out: Likewise. * ld-plugin/lto-13a.c: Likewise. * ld-plugin/lto-13b.c: Likewise. * ld-plugin/lto-13c.c: Likewise. * ld-plugin/lto-14.out: Likewise. * ld-plugin/lto-14a.c: Likewise. * ld-plugin/lto-14b.c: Likewise. * ld-plugin/lto-14c.c: Likewise. * ld-plugin/lto-15.out: Likewise. * ld-plugin/lto-15a.c: Likewise. * ld-plugin/lto-15b.c: Likewise. * ld-plugin/lto-16a.c: Likewise. * ld-plugin/lto-16a.d: Likewise. * ld-plugin/lto-16b.c: Likewise. * ld-plugin/lto-16b.d: Likewise. * ld-plugin/lto-1a.c: Likewise. * ld-plugin/lto-1b.c: Likewise. * ld-plugin/lto-2.c: Likewise. * ld-plugin/lto-3.d: Likewise. * ld-plugin/lto-3.out: Likewise. * ld-plugin/lto-3a.c: Likewise. * ld-plugin/lto-3b.c: Likewise. * ld-plugin/lto-3c.c: Likewise. * ld-plugin/lto-3r.d: Likewise. * ld-plugin/lto-4.out: Likewise. * ld-plugin/lto-4a.c: Likewise. * ld-plugin/lto-4b.c: Likewise. * ld-plugin/lto-4c.c: Likewise. * ld-plugin/lto-4r-a.d: Likewise. * ld-plugin/lto-4r-b.d: Likewise. * ld-plugin/lto-4r-c.d: Likewise. * ld-plugin/lto-4r-d.d: Likewise. * ld-plugin/lto-5.d: Likewise. * ld-plugin/lto-5.out: Likewise. * ld-plugin/lto-5a.c: Likewise. * ld-plugin/lto-5b.c: Likewise. * ld-plugin/lto-5r.d: Likewise. * ld-plugin/lto-6.c: Likewise. * ld-plugin/lto-7.out: Likewise. * ld-plugin/lto-7a.c: Likewise. * ld-plugin/lto-7b.c: Likewise. * ld-plugin/lto-7c.c: Likewise. * ld-plugin/lto-7d.c: Likewise. * ld-plugin/lto-8.out: Likewise. * ld-plugin/lto-8a.c: Likewise. * ld-plugin/lto-8b.c: Likewise. * ld-plugin/lto-9.cc: Likewise. * ld-plugin/lto-9.d: Likewise. * ld-plugin/lto.exp: Likewise. * ld-plugin/pr12365a.c: Likewise. * ld-plugin/pr12365b.c: Likewise. * ld-plugin/pr12365c.c: Likewise. * ld-plugin/plugin.exp: Add object files for symbols claimed or created by testplugin. * lib/ld-lib.exp (check_lto_available): New.
Attachment:
binutils-lto-mixed-15.patch
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |