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 Wed, Apr 20, 2011 at 8:48 AM, H.J. Lu <hjl.tools@gmail.com> wrote: > 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. > I picked the wrong file. Here is the correct patch. -- H.J.
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] |