From 73ce4d1ed68a2f4e36c27be604ce35c242048f9d Mon Sep 17 00:00:00 2001 From: Andi Kleen Date: Fri, 23 Jul 2010 05:33:51 +0000 Subject: re PR lto/44992 (ld -r breaks LTO) gcc: 2010-07-10 Andi Kleen PR lto/44992 * lto-opts.c (lto_write_options): Add NULL file_data argument to lto_get_section_name. * lto-section-out.c (lto_destroy_simple_output_block): Likewise. * lto-streamer-out.c (produce_asm): Likewise. (copy_function): Likewise. (produce_symtab): Likewise. (produce_asm_for_decls): Likewise. * lto-streamer.c (lto_get_section_name): Add file_data argument. Rewrite to add random postfix to LTO sections. * lto-streamer.h (lto_file_decl_data): Add next, id, resolutions. (lto_get_section_name): Add file_data argument to prototype. lto: 2010-07-10 Andi Kleen PR lto/44992 * lto.c: Include splay-tree.h (lto_resolution_read): Change to walk file_ids tree and parse extra file_id in resolution file. (lto_section_with_id): Add. (create_subid_section_table): Add. (lwstate): Add. (lto_create_files_from_ids): Add. (lto_file_read): Change to handle sub file ids and create list of file_datas. Add output argument for count. (get_section_data): Pass file_data to lto_get_section_name. (lto_flatten_file): Add. (read_cgraph_and_symbols): Handle linked lists of file_datas. lto-plugin: 2010-07-10 Andi Kleen PR lto/44992 * lto-plugin.c (sym_aux): Add. (plugin_symtab): Remove slots. Add aux and id. (parse_table_entry): Change to use aux instead of slots. (LTO_SECTION_PREFIX): Add. (translate): Improve buffer allocation. Change to append symbols to existing out buffer. (get_section): Remove. (process_symtab): Add. (free_2): Free symtab->aux. (write_resolution): Handle aux instead of slots. Print sub id to resolution file. (claim_file_handler): Clear lto_file. Replace get_symtab/translate calls with call to process_symtab. From-SVN: r162443 --- gcc/lto-opts.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gcc/lto-opts.c') diff --git a/gcc/lto-opts.c b/gcc/lto-opts.c index 21a5a20..fa52f95 100644 --- a/gcc/lto-opts.c +++ b/gcc/lto-opts.c @@ -294,7 +294,7 @@ output_options (struct lto_output_stream *stream) void lto_write_options (void) { - char *const section_name = lto_get_section_name (LTO_section_opts, NULL); + char *const section_name = lto_get_section_name (LTO_section_opts, NULL, NULL); struct lto_output_stream stream; struct lto_simple_header header; struct lto_output_stream *header_stream; -- cgit v1.1