Fix weakening of external declarations.
[official-gcc.git] / lto-plugin / ChangeLog
blob205652cdda49bc7d27e7899d7f1cecb9e86ce40f
1 2020-03-19  Martin Liska  <mliska@suse.cz>
3         * lto-plugin.c (LTO_SECTION_PREFIX): Rename to ...
4         (LTO_SYMTAB_PREFIX): ... this.
5         (LTO_SECTION_PREFIX_LEN): Rename to ...
6         (LTO_SYMTAB_PREFIX_LEN): ... this.
7         (LTO_SYMTAB_EXT_PREFIX): New.
8         (LTO_SYMTAB_EXT_PREFIX_LEN): New.
9         (LTO_LTO_PREFIX): New.
10         (LTO_LTO_PREFIX_LEN): New.
11         (parse_table_entry): Fill up unused to zero.
12         (parse_table_entry_extension): New.
13         (parse_symtab_extension): New.
14         (finish_conflict_resolution): Change type
15         for resolution.
16         (process_symtab): Use new macro name.
17         (process_symtab_extension): New.
18         (claim_file_handler): Parse also process_symtab_extension.
19         (onload): Call new add_symbols_v2.
21 2020-01-01  Jakub Jelinek  <jakub@redhat.com>
23         Update copyright years.
25 2019-09-27  Maciej W. Rozycki  <macro@wdc.com>
27         * configure: Regenerate.
29 2019-05-15  Iain Sandoe  <iain@sandoe.co.uk>
31         * lto-plugin.c (cleanup_handler): Remove unused var.
33 2019-05-15  Iain Sandoe  <iain@sandoe.co.uk>
35         * lto-plugin.c (exec_lto_wrapper): Make the wrapper
36         arguments filename more user-friendly.
37         (file_exists, maybe_unlink): New.
38         (cleanup_handler): Use maybe unlink to handle the
39         case when temps should be saved.
40         (process_option): Look for -v, —-version, -save-temps.
41         (onload): Record the linker output file name.
42         Check for -v, —-version, -save-temps in the GCC collect
43         options environment.
45 2019-02-26  Martin Liska  <mliska@suse.cz>
47         * lto-symtab.c: Remove.
49 2019-01-01  Jakub Jelinek  <jakub@redhat.com>
51         Update copyright years.
53 2018-10-31  Joseph Myers  <joseph@codesourcery.com>
55         PR bootstrap/82856
56         * configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.
57         * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
59 2018-05-30  Jan Hubicka  <jh@suse.cz>
61         * lto-plugin.c: (non_claimed_files): New static var.
62         (linker_ouput_known): New static var.
63         (all_symbols_read_handler): When user specifies linker output do not
64         imply it; output warning when nonlto-rel mode is forced.
65         (claim_file_header): Record number of nonclaimed files.
66         (process_option): Remember if linker output is known
68 2018-04-18  David Malcolm  <dmalcolm@redhat.com>
70         PR jit/85384
71         * configure: Regenerate.
73 2018-01-03  Jakub Jelinek  <jakub@redhat.com>
75         Update copyright years.
77 2017-07-21  Georg-Johann Lay  <avr@gjlay.de>
79         PR lto/81487
80         * lto-plugin.c (claim_file_handler): Use xasprintf instead of
81         asprintf.
82         [hi!=0]: Swap hi and lo arguments supplied to xasprintf.
84 2017-01-17  Jakub Jelinek  <jakub@redhat.com>
86         PR other/79046
87         * configure.ac: Add GCC_BASE_VER.
88         * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
89         get version from BASE-VER file.
90         * configure: Regenerated.
91         * Makefile.in: Regenerated.
93 2017-01-04  Jakub Jelinek  <jakub@redhat.com>
95         Update copyright years.
97 2016-11-15  Matthias Klose  <doko@ubuntu.com>
99         * configure: Regenerate.
101 2016-02-25  Ilya Verbin  <ilya.verbin@intel.com>
103         PR driver/68463
104         * lto-plugin.c (struct plugin_offload_file): New.
105         (offload_files): Change type.
106         (offload_files_last, offload_files_last_obj): New.
107         (offload_files_last_lto): New.
108         (free_2): Adjust accordingly.
109         (all_symbols_read_handler): Don't add offload files to lto_arg_ptr.
110         Don't call free_1 for offload_files.  Write names of object files with
111         offloading to the temporary file.  Add new option to lto_arg_ptr.
112         (claim_file_handler): Don't claim file if it contains offload sections
113         without LTO sections.  If it contains offload sections, add to the list.
115 2016-01-15  Martin Liska  <mliska@suse.cz>
117         * lto-plugin.c (all_symbols_read_handler): Assign default
118         value to a string variable.
120 2015-11-25  Jan Hubicka  <jh@suse.cz>
122         PR lto/67548
123         * lto-plugin.c (linker_output, linker_output_set): New statics.
124         (all_symbols_read_handler): Add -flinker-output option.
125         (onload): Record linker_output info.
127 2015-07-02  Uros Bizjak  <ubizjak@gmail.com>
129         * configure.ac: Add AC_USE_SYSTEM_EXTENSIONS.
130         * configure: Regenerate.
131         * config.h.in: Ditto.
133 2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
135         * Makefile.am: Drop 'by automake version' from top-level comment.
136         * Makefile.in: Regenerated with automake-1.11.6.
137         * aclocal.m4: Likewise.
138         * configure: Likewise.
140 2015-02-06  H.J. Lu  <hongjiu.lu@intel.com>
142         * lto-plugin.c (release_input_file): Removed.
143         (claim_file_handler): Don't call release_input_file.
144         (onload): Don't set release_input_file.
146 2015-02-05  H.J. Lu  <hongjiu.lu@intel.com>
148         * lto-plugin.c (claim_file_handler): Pass handle to
149         release_input_file.
151 2015-02-05  H.J. Lu  <hongjiu.lu@intel.com>
153         * lto-plugin.c (claim_file_handler): Call release_input_file only
154         if file is claimed.
156 2015-01-28  H.J. Lu  <hongjiu.lu@intel.com>
158         * lto-plugin.c (claim_file_handler): Call release_input_file only
159         if it is not NULL.
161 2015-01-28  H.J. Lu  <hongjiu.lu@intel.com>
163         PR lto/64837
164         * lto-plugin.c (release_input_file): New.
165         (claim_file_handler): Call release_input_file.
166         (onload): Set release_input_file.
168 2014-12-09  Ilya Verbin  <ilya.verbin@intel.com>
170         * lto-plugin.c (offload_files, num_offload_files): New static variables.
171         (free_1): Use arguments instead of global variables.
172         (free_2): Free offload_files.
173         (all_symbols_read_handler): Add names from offload_files to lto-wrapper
174         arguments.
175         (claim_file_handler): Do not add file to claimed_files if it contains
176         offload sections without LTO sections.  Add it to offload_files instead.
178 2014-11-21  H.J. Lu  <hongjiu.lu@intel.com>
180         PR bootstrap/63784
181         * configure: Regenerated.
183 2014-11-13  Ilya Verbin  <ilya.verbin@intel.com>
184             Bernd Schmidt  <bernds@codesourcery.com>
185             Andrey Turetskiy  <andrey.turetskiy@intel.com>
186             Michael Zolotukhin  <michael.v.zolotukhin@intel.com>
188         * lto-plugin.c (OFFLOAD_SECTION, OFFLOAD_SECTION_LEN): Define.
189         (struct plugin_objfile): Add new field "offload".
190         (process_offload_section): New static function.
191         (claim_file_handler): Claim file if it contains offload sections.
193 2014-11-13  Bernd Schmidt  <bernds@codesourcery.com>
194             Thomas Schwinge  <thomas@codesourcery.com>
195             Ilya Verbin  <ilya.verbin@intel.com>
196             Andrey Turetskiy  <andrey.turetskiy@intel.com>
198         * Makefile.am (libexecsubdir): Tweak for the possibility of being
199         configured for offload compiler.
200         (accel_dir_suffix, real_target_noncanonical): New variables substituted
201         by configure.
202         * Makefile.in: Regenerate.
203         * configure: Regenerate.
204         * configure.ac (accel_dir_suffix, real_target_noncanonical): Compute new
205         variables.
207 2014-11-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
209         PR target/63610
210         * configure: Regenerate.
212 2014-08-26  H.J. Lu  <hongjiu.lu@intel.com>
214         PR bootstrap/62260
215         * Makefile.am (gcc_build_dir): Set to @gcc_build_dir@.
216         * configure.ac (gcc_build_dir): Set and AC_SUBST according to
217         $host_subdir.
218         * Makefile.in: Regenerated.
219         * configure: Likewise.
221 2014-06-13  Thomas Schwinge  <thomas@codesourcery.com>
223         * configure.ac (--with-libiberty): New configure option.
224         * configure: Regenerate.
225         * Makefile.am (libiberty, libiberty_noasan, libiberty_pic): New
226         variables.
227         (liblto_plugin_la_LIBADD, liblto_plugin_la_LDFLAGS)
228         (liblto_plugin_la_DEPENDENCIES): Use them.
229         * Makefile.in: Regenerate.
231 2014-05-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
233         PR lto/60981
234         * configure.ac: Check for -static-libgcc.
235         * configure: Regenerate.
237 2014-04-17  Jakub Jelinek  <jakub@redhat.com>
239         PR sanitizer/56781
240         * Makefile.am (CFLAGS, LDFLAGS): Filter out -fsanitize=address.
241         (liblto_plugin_la_LIBADD, liblto_plugin_la_LDFLAGS,
242         liblto_plugin_la_DEPENDENCIES): Prefer ../libiberty/noasan/libiberty.a
243         over ../libiberty/pic/libiberty.a if the former exists.
244         * Makefile.in: Regenerated.
246         PR sanitizer/56781
247         * Makefile.am (LTLDFLAGS, liblto_plugin_la_LINK): New variables.
248         * Makefile.in: Regenerated.
250 2014-04-02  Richard Biener  <rguenther@suse.de>
252         * lto-plugin.c (onload): Fail to load if -fno-use-linker-plugin
253         is set in COLLECT_GCC_OPTIONS.
255 2014-03-28  Richard Biener  <rguenther@suse.de>
257         * lto-plugin.c (process_symtab): Handle EINTR and short reads.
259 2014-03-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
261         * configure.ac (ac_lto_plugin_ldflags): Set to -Wc,-static-libgcc
262         for gcc.
263         * configure: Regenerate.
264         * Makefile.am (AM_LDFLAGS): New variable.
265         (liblto_plugin_la_LDFLAGS): Add it.
266         * Makefile.in: Regenerate.
268 2013-09-20  Alan Modra  <amodra@gmail.com>
270         * configure: Regenerate.
272 2012-09-14  David Edelsohn  <dje.gcc@gmail.com>
274         * configure: Regenerated.
276 2012-05-29  Joseph Myers  <joseph@codesourcery.com>
278         * lto-plugin.c: Fix typo.
280 2012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
282         * configure: Regenerated.
284 2012-02-22  Kai Tietz  <ktietz@redhat.com>
286         PR lto/50616
287         * lto-plugin.c (PRI_LL): New macro.
288         (dump_symtab): Use PRI_LL instead of ll in print.
289         (process_symtab): Use PRI_LL instead of ll in scan.
291 2011-12-20  Andreas Schwab  <schwab@linux-m68k.org>
293         * configure: Regenerate.
295 2011-12-19  Andreas Schwab  <schwab@linux-m68k.org>
297         * configure: Regenerate.
299 2011-11-21  Andreas Tobler  <andreast@fgznet.ch>
301         * configure: Regenerate.
303 2011-10-02  Jan Hubicka  <jh@suse.cz>
305         PR lto/47247
306         * lto-plugin.c (get_symbols_v2): New variable.
307         (write_resolution): Use V2 API when available.
308         (onload): Handle LDPT_GET_SYMBOLS_V2.
310 2011-09-30  H.J. Lu  <hongjiu.lu@intel.com>
311             Andi Kleen  <ak@linux.intel.com>
313         PR lto/50568
314         * lto-plugin.c (sym_aux): Change id to unsigned long long.
315         (plugin_symtab): Likewise.
316         (dump_symtab): Likewise.
317         (resolve_conflicts): Likewise.
318         (process_symtab): Likewise.
320 2011-08-10  Richard Guenther  <rguenther@suse.de>
322         PR bootstrap/49907
323         lto-plugin/
324         * configure.ac: Use ACX_PROG_CC_WARNING_OPTS to detect -Wall presence.
325         * Makefile.am (AM_CFLAGS): Adjust.  Do not build with -Werror.
326         * configure: Regenerate.
327         * Makefile.in: Likewise.
328         * aclocal.m4: Likewise.
330 2011-04-20  Jim Meyering  <meyering@redhat.com>
332         * lto-plugin.c (free_1, free_2): Remove useless if-before-free.
334 2011-04-05  Richard Guenther  <rguenther@suse.de>
336         PR bootstrap/48431
337         * lto-plugin.c (claim_file_handler): Do not declare vars in code.
339 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
341         * Makefile.in: Regenerate.
342         * aclocal.m4: Regenerate.
343         * configure: Regenerate.
345 2011-02-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
347         * Makefile.am (all-local): Rename from 'all'.
348         * Makefile.in: Regenerate.
350 2011-02-12  Alexandre Oliva  <aoliva@redhat.com>
352         PR lto/47225
353         * Makefile.am (gcc_build_dir, in_gcc_libs): New.
354         (liblto_plugin_la_LDFLAGS): Add -module.
355         (copy_lto_plugin): Renamed to...
356         ($(in_gcc_libs)): ... this.  Add mkinstalldirs.  Skip copying
357         of static modules.
358         * Makefile.in: Rebuild.
360 2011-02-07  Kai Tietz  <kai.tietz@onevision.com>
362         PR lto/47225
363         * Makefile.am (Wc): New helper for encoding -Wc,.
364         (liblto_plugin_la_LIBADD): Use Wc for libiberty library.
365         (liblto_plugin_la_DEPENDENCIES): Special case pic libiberty.
366         * Makefile.in: Regenerated.
368 2011-02-07  Paolo Bonzini  <bonzini@gnu.org>
370         Revert:
372         2011-02-07  Kai Tietz  <kai.tietz@onevision.com>
374         PR lto/47225
375         * Makefile.am (Wl): New helper for encoding -Wl,.
376         (liblto_plugin_la_LIBADD): Use -Wl for libiberty library.
377         * Makefile.in: Regenerated.
379 2011-02-07  Kai Tietz  <kai.tietz@onevision.com>
381         PR lto/47225
382         * Makefile.am (Wl): New helper for encoding -Wl,.
383         (liblto_plugin_la_LIBADD): Use -Wl for libiberty library.
384         * Makefile.in: Regenerated.
386 2011-01-25  Ian Lance Taylor  <iant@google.com>
388         * lto-plugin.c (gold_version): New static variable.
389         (all_symbols_read_handler): Don't check pass_through_items if
390         using gold 1.11 or later.
391         (onload): Set gold_version if we see LDPT_GOLD_VERSION.
393 2011-01-12  Richard Guenther  <rguenther@suse.de>
395         PR lto/47264
396         * lto-plugin.c (parse_table_entry): Use memcpy to access
397         unaligned fields.
399 2010-12-20  Dave Korn  <dave.korn.cygwin@gmail.com>
401         * Makefile.am (AM_LIBTOOLFLAGS): Define, adding disable-static tag.
402         * Makefile.in: Regenerate.
404 2010-12-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
406         Revert last change.
408 2010-12-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
410         * Makefile.am (liblto_plugin_la_DEPENDENCIES): Define.
411         (liblto_plugin_la_LIBADD): Use -L../libiberty/pic -liberty.
412         (liblto_plugin_la_LDFLAGS): Use -L../libiberty -liberty.
413         * Makefile.in: Regenerate.
415 2010-12-10  Dave Korn  <dave.korn.cygwin@gmail.com>
417         PR middle-end/46674
418         PR lto/43157
419         * configure.ac (SYM_STYLE): Don't AC_DEFINE.
420         * lto-plugin.c (sym_style): Don't use it; default to ss_none.
421         * configure: Regenerate.
422         * config.h.in: Likewise.
424 2010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>
426         PR target/40125
427         PR lto/46695
428         * configure.ac: Invoke ACX_LT_HOST_FLAGS.
429         * Makefile.am (liblto_plugin_la_LDFLAGS): Use lt_host_flags but
430         override -bindir setting.
431         * aclocal.m4: Regenerate.
432         * configure: Regenerate.
433         * Makefile.in: Regenerate.
435 2010-12-05  Kai Tietz  <kai.tietz@onevision.com>
437         * config.h.in: Regenerated.
438         * configure: Regenerated.
439         * configure.ac (AC_CHECK_HEADERS): Replaced by AC_HEADER_SYS_WAIT.
440         * lto-plugin.c (WIFEXITED): Define default.
441         (WEXITSTATUS): Likeiwse.
443 2010-12-01  Kai Tietz  <kai.tietz@onevision.com>
445         * config.h.in: Regenerated.
446         * configure: Regenerated.
447         * Makefile.in: Regenerated.
448         * configure.ac (AC_CHECK_HEADERS): Check for sys/wait.h.
449         * lto-plugin.c:  Include sys/wait.h conditionally.
450         * aclocal.m4: Regenerated.
452 2010-11-13  Kai Tietz  <kai.tietz@onevision.com>
454         * lto-plugin.c (add_output_files): Fix memory leak.
456 2010-11-11  Dave Korn  <dave.korn.cygwin@gmail.com>
458         PR bootstrap/46397
459         PR bootstrap/46362
460         * configure.ac: Add AC_TYPE_INT64_T test.
461         * config.h.in: Regenerate.
462         * configure: Likewise.
463         * lto-plugin.c (debug): Use char not bool.
464         (nop): Likewise.
465         (check_1): Rename from check, and use int not bool for gate argument.
466         (check): Macro wrapper for the above to coerce gate argument into
467         boolean-valued integer in case it has pointer type.
468         (parse_table_entry): Use 0 not false.
469         (claim_file_handler): Avoid use of PRIx64 by splitting 64-bit size
470         into two 32-bit parts and printing as hex ints.
472 2010-11-03  Dave Korn  <dave.korn.cygwin@gmail.com>
474         PR lto/46291
475         * lto-plugin.c (claim_file_handler): Don't close file descriptor.
477 2010-11-03  Dave Korn  <dave.korn.cygwin@gmail.com>
479         PR lto/46273
480         * lto-plugin.h: Delete.
481         * lto-plugin-elf.c: Likewise.
482         * lto-plugin-coff.c: Likewise.
483         * configure.ac: Don't use libelf, don't source config.gcc.
484         (LIBELFLIBS): Delete.
485         (LIBELFINC): Delete.
486         (LTO_FORMAT): Delete.
487         (SYM_STYLE): Add AC_DEFINE var, set based on $target.
488         (config.h): Add AC_CONFIG_HEADERS directive.
489         * Makefile.am (LIBELFLIBS): Delete.
490         (LIBELFINC): Delete.
491         (LTO_FORMAT): Delete.
492         (DEFS): Import.
493         (AM_CPPFLAGS): Use it.  Don't use LIBELFINC.
494         (liblto_plugin_la_SOURCES): Don't use LTO_FORMAT, don't include
495         any object-format-specific source file in the link.
496         (liblto_plugin_la_LIBADD): Don't use LIBELFLIBS.
497         * config.h.in: Generate.
498         * configure: Regenerate.
499         * Makefile.in: Likewise.
500         * lto-plugin.c (O_BINARY): Definition moved here from lto-plugin.h.
501         (LTO_SEGMENT_NAME): New definition.
502         (LTO_SECTION_PREFIX): Definition moved here from lto-plugin.h.
503         (LTO_SECTION_PREFIX_LEN): New definition.
504         (struct sym_aux): Struct definition moved here from lto-plugin.h.
505         (struct plugin_symtab): Likewise.
506         (struct plugin_objfile): Likewise.
507         (struct plugin_objfile): New struct def.
508         (enum symbol_style): New enum type.
509         (add_symbols): Make static.
510         (claimed_files): Likewise.
511         (num_claimed_files): Likewise.
512         (sym_style): New global.
513         (check): Make static.
514         (parse_table_entry): Likewise.  Respect sym_style when extracting
515         symbol from symtab entry.
516         (translate): Make static.
517         (resolve_conflicts): Likewise.
518         (process_symtab): New function, per-section callback version of
519         old object-format-specific handling from deleted lto-plugin-elf.c.
520         (claim_file_handler): Convert ELF-specific version from deleted
521         lto-plugin-elf.c to simple_object interface and move here.
522         (process_options): Allow new '-sym-style=' option.
523         (onload): Don't call deleted onload_format_checks hook.
525 2010-10-11  Kai Tietz  <kai.tietz@onevision.com>
527         * lto-plugin.c (dump_symtab): Correct printf argument type.
528         (finish_conflict_resolution): Initialize resolution.
530 2010-10-08  H.J. Lu  <hongjiu.lu@intel.com>
532         PR bootstrap/45951
533         * configure.ac: Add AC_CANONICAL_SYSTEM.
534         * configure: Regenerated.
536 2010-10-07  Dave Korn  <dave.korn.cygwin@gmail.com>
538         * configure.ac: Source config.gcc to determine lto_binary_reader.
539         (LTO_FORMAT): New AC_SUBST variable inferred from lto_binary_reader.
540         * Makefile.am (LTO_FORMAT): Import.
541         (liblto_plugin_la_SOURCES): Add object format dependent module
542         defined by LTO_FORMAT.
543         (liblto_plugin_la_LIBADD): Allow for both PIC and non-PIC libiberty,
544         and work around libtool warning.
545         * configure: Regenerate.
546         * Makefile.in: Likewise.
547         * lto-plugin.c (struct sym_aux): Move to new lto-plugin.h.
548         (struct sym_aux): Likewise.
549         (struct plugin_symtab): Likewise.
550         (struct plugin_file_info): Likewise.
551         (LTO_SECTION_PREFIX): Likewise.
552         (add_symbols):  Make non-static.
553         (claimed_files): Likewise.
554         (num_claimed_files): Likewise.
555         (check): Likewise.
556         (parse_table_entry): Likewise.
557         (translate): Likewise.
558         (resolve_conflicts): Likewise.
559         (process_symtab): Move to new lto-plugin-elf.c object format dependent
560         source file.
561         (claim_file_handler): Likewise, and make non-static.
562         (onload): Call new onload_format_checks function.
563         * lto-plugin.h: New file.
564         (LTO_SECTION_PREFIX): Move here.
565         (struct sym_aux): Likewise.
566         (struct plugin_symtab): Likewise.
567         (struct plugin_file_info): Likewise.
568         (claim_file_handler): Add new function prototype.
569         (onload_format_checks): Likewise.
570         (check): Declare extern.
571         (translate): Likewise.
572         (parse_table_entry): Likewise.
573         (resolve_conflicts): Likewise.
574         (add_symbols):  Likewise.
575         (claimed_files): Likewise.
576         (num_claimed_files): Likewise.
577         * lto-plugin-elf.c (process_symtab): Move here.
578         (claim_file_handler): Likewise, and make non-static.
579         (onload_format_checks): New function factored out from onload.
580         * lto-plugin-coff.c (claim_file_handler): New function stub.
581         (onload_format_checks): Likewise.
583 2010-08-05  Andi Kleen  <ak@linux.intel.com>
585         * lto-plugin.c: Include <hashtab.h>
586         (sym_aux): Add next_conflict field to save conflict chains.
587         (plugin_file_info): Add conflicts symtab.
588         (parse_table_entry): Initialize aux->next_conflict.
589         (process_symtab): Increment found.
590         (dump_symtab): Add.
591         (finish_conflict_resolution): Add.
592         (free_symtab): Add.
593         (write_resolution): Remove symbols loop and move into
594         dump_symtab. Call dump_symtab for main symbol and conflicts table.
595         Call free_symtab to free conflicts table.
596         (SWAP): Add.
597         (eq_sym): Add.
598         (hash_sym): Add.
599         (symbol_strength): Add.
600         (resolve_conflicts): Add.
601         (claim_file_handler): Add n variable. Check return value of
602         process_symtab. Call resolve_conflicts.
604 2010-07-27  Andi Kleen  <ak@linux.intel.com>
606         * lto-plugin.c (translate): Remove debug fprintf.
608 2010-07-23  H.J. Lu  <hongjiu.lu@intel.com>
610         PR bootstrap/45042
611         * lto-plugin.c (translate): Cast to unsigned long.
613 2010-07-23   Andi Kleen  <ak@linux.intel.com>
615         PR lto/44992
616         * lto-plugin.c (sym_aux): Add.
617         (plugin_symtab): Remove slots. Add aux and id.
618         (parse_table_entry): Change to use aux instead of slots.
619         (LTO_SECTION_PREFIX): Add.
620         (translate): Improve buffer allocation. Change to append
621         symbols to existing out buffer.
622         (get_section): Remove.
623         (process_symtab): Add.
624         (free_2): Free symtab->aux.
625         (write_resolution): Handle aux instead of slots.
626         Print sub id to resolution file.
627         (claim_file_handler): Clear lto_file. Replace get_symtab/translate
628         calls with call to process_symtab.
630 2010-07-22  Richard Guenther  <rguenther@suse.de>
632         * Makefile.am: New copy_lto_plugin rule to install the plugin
633         into ../gcc.
634         * Makefile.in: Regenerated.
636 2010-05-21  Richard Guenther  <rguenther@suse.de>
638         * lto-plugin.c (write_resolution): Do not assert syms is non-NULL.
640 2010-05-07  Richard Guenther <rguenther@suse.de>
642         * lto-plugin.c (free_2): Do not free resolution_file.
643         (write_resolution): Check that we were passed a resolution file.
644         (all_symbols_read_handler): Adjust.
645         (cleanup_handler): Do not remove the resolution file.
646         (process_option): Handle -fresolution=.
648 2010-05-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
650         PR other/43620
651         * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
652         * Makefile.in: Regenerate.
654 2010-04-23  Richard Guenther  <rguenther@suse.de>
656         PR lto/41550
657         * lto-plugin.c (parse_table_entry): Use xstrdup and xrealloc.
658         (translate): Likewise.
659         (all_symbols_read_handler): Likewise.
660         (claim_file_handler): Likewise.
661         (process_option): Likewise.
662         (add_output_files): Likewise.  Remove filename length limit.
664 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
666         * Makefile.in: Regenerate.
667         * aclocal.m4: Regenerate.
669 2010-03-16  Dmitry Gorbachev  <d.g.gorbachev@gmail.com>
671         PR lto/43336
672         * lto-plugin.c (cleanup_handler): Delete temporary output files.
674 2010-01-11  Richard Guenther  <rguenther@suse.de>
676         PR lto/41569
677         * Makefile.am: Disable dependencies.
678         * Makefile.in: Regenerated.
680 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
682         PR lto/42520
683         * lto-plugin.c (exec_lto_wrapper): Output lto-wrapper command
684         if -v is passed.
686 2009-12-05  H.J. Lu  <hongjiu.lu@intel.com>
688         PR bootstrap/42306
689         * configure: Regenerated.
690         * Makefile.in: Likewise.
692 2009-11-19  Rafael Avila de Espindola  <espindola@google.com>
694         PR bootstrap/42096
695         * lto-plugin.c (claim_file_handler): Print offsets in hex.
697 2009-11-12  Rafael Avila de Espindola  <espindola@google.com>
699         * lto-plugin.c (write_resolution): Assume resolution_file is set.
700         Print the symbol name.
701         (all_symbols_read_handler): Create a resolution file.
702         Pass it to gcc.
703         (cleanup_handler): Remove the resolution file.
704         (process_option): Drop the -resolution option.
706 2009-11-05  Rafael Avila de Espindola  <espindola@google.com>
708         * lto-plugin.c (temp_obj_dir_name): Remove.
709         (arguments_file_name): New.
710         (free_2): Free arguments_file_name instead of temp_obj_dir_name.
711         (exec_lto_wrapper):  Create arguments file with make_temp_file.
712         (cleanup_handler): Don't remove the temporary directory. Remove the
713         arguments file.
714         (onload): Don't create the temporary directory.
716 2009-11-04  Richard Guenther  <rguenther@suse.de>
717             Rafael Avila de Espindola  <espindola@google.com>
719         * lto-plugin.c (plugin_file_info): Remove temp field.
720         (cleanup_handler): Don't delete temporary objects.
721         (claim_file_handler): Don't create temporary objects.
723 2009-11-04  Rafael Avila de Espindola  <espindola@google.com>
725         * lto-plugin.c (cleanup_handler): Don't cleanup if debugging.
727 2009-10-30  Rafael Avila de Espindola  <espindola@google.com>
729         PR41871
730         * lto-plugin.c (claim_file_handler): Close files that we created.
732 2009-10-28  Rafael Avila de Espindola  <espindola@google.com>
734         * lto-plugin.c (all_symbols_read_handler): Use LDPL_FATAL instead of
735         LDPL_ERROR
737 2009-10-27  Dmitry Gorbachev  <d.g.gorbachev@gmail.com>
739         PR lto/41652
740         * configure.ac: Call AC_SYS_LARGEFILE before AC_OUTPUT.
741         * configure: Regenerate.
743 2009-10-26  Richard Guenther  <rguenther@suse.de>
745         * configure.ac: Use AM_MAINTAINER_MODE.
746         * acinclude.m4: Remove.
747         * configure: Re-generate.
748         * Makefile.in: Likewise.
749         * aclocal.m4: Likewise.
751 2009-10-19  Rafael Avila de Espindola  <espindola@google.com>
752     
753         PR40790
754         * configure: Regenerate.
755         * configure.ac: Add AC_TYPE_UINT64_T.
757 2009-10-16  Rafael Avila de Espindola  <espindola@google.com>
759         * lto-plugin.c (message): New variable.
760         (check): New function.
761         (parse_table_entry, translate, write_resolution,add_output_files,
762         exec_lto_wrapper,claim_file_handler, onload): Use check instead of
763         assert.
764         (cleanup_handler): Use check instead of assert. Remove the arguments
765         file if it exists.
767 2009-10-15  Rafael Avila de Espindola  <espindola@google.com>
769         * lto-plugin.c (resolution_file): New.
770         (free_1): Update comment.
771         (free_2): Free resolution_file.
772         (write_resolution): Write resolution to specified file. Use the
773         syms array from the symbol table.
774         (all_symbols_read_handler): Delay call to free_1 past call to
775         write_resolution.
776         (process_option): Add a -resolution option.
778 2009-10-13  Richard Guenther  <rguenther@suse.de>
780         * Makefile.am (liblto_plugin_la_LIBADD): Link against the
781         correct libiberty.
782         * Makefile.in: Regenerated.
784 2009-10-08  Rafael Avila de Espindola  <espindola@google.com>
786         * lto-plugin.c (add_input_library): New.
787         (all_symbols_read_handler): Use add_input_library for items that
788         start with -l.
789         (process_option): Fit in 80 columns.
790         (onload): Handle LDPT_ADD_INPUT_LIBRARY.
792 2009-10-02  Diego Novillo  <dnovillo@google.com>
794         * Makefile.am (AM_CPPFLAGS): Remove -D_LARGEFILE_SOURCE
795         and -D_FILE_OFFSET_BITS=64.
796         * configure.ac: Add AC_SYS_LARGEFILE.
797         * configure: Regenerate.
798         * Makefile.in: Regenerate.
799         * lto-plugin.c: Fix copyright boilerplate.
801 2009-10-02  Diego Novillo  <dnovillo@google.com>
803         * Makefile.am (ACLOCAL_AMFLAGS): Define.
804         * aclocal.m4: Regenerate with aclocal-2.64
805         * acinclude.m4: Remove.
806         * Makefile.in: Regenerate with automake-1.11
807         * configure.ac (AC_PREREQ): Update to 2.64.
808         * configure: Regenerate.
810 2009-10-02  Diego Novillo  <dnovillo@google.com>
812         * Makefile.am (AM_CPPFLAGS): Remove -D_LARGEFILE_SOURCE
813         and -D_FILE_OFFSET_BITS=64.
814         * configure.ac: Add AC_SYS_LARGEFILE.
815         * configure: Regenerate.
816         * Makefile.in: Regenerate.
817         * lto-plugin.c: Fix copyright boilerplate.
819 2009-10-02  Diego Novillo  <dnovillo@google.com>
821         * Makefile.am (ACLOCAL_AMFLAGS): Define.
822         * aclocal.m4: Regenerate with aclocal-2.64
823         * acinclude.m4: Remove.
824         * Makefile.in: Regenerate with automake-1.11
825         * configure.ac (AC_PREREQ): Update to 2.64.
826         * configure: Regenerate.
828 2009-10-02  Rafael Avila de Espindola  <espindola@google.com>
830         * Makefile.am (liblto_plugin_la_SOURCES): Remove
831         $(top_srcdir)/../gcc/lto/common.c
832         * Makefile.in: Regenerate.
834 2009-10-01  Rafael Avila de Espindola  <espindola@google.com>
836         * lto-plugin.c (pass_through_items): New.
837         (num_pass_through_items): New.
838         (all_symbols_read_handler): Update to use the -pass-through option.
839         (process_option): Replace -libgcc with -pass-through.
840         
841 2009-09-30  Rafael Avila de Espindola  <espindola@google.com>
843         * lto-plugin.c (onload): Return a ld_plugin_status. Don't require
844         register_cleanup to be set.
846 2009-09-30  Rafael Avila de Espindola  <espindola@google.com>
848         * Makefile.am: Remove all reference to ltosymtab.
849         * Makefile.in: Regenerate.
850         * lto-symtab.c: Remove.
852 2009-05-21  Diego Novillo  <dnovillo@google.com>
854         * configure.ac: Remove call to AC_CHECK_GELF.
855         Call AC_ARG_VAR for LIBELFLIBS and LIBELFINC.
856         * acinclude.m4: Do not include ../config/libelf.m4
857         * Makefile.am (LIBELFLIBS): Define.
858         (LIBELFINC): Define.
859         (AM_CPPFLAGS): Add $(LIBELFINC).
860         (ltosymtab_LDADD): Add $(LIBELFLIBS).
861         (liblto_plugin_la_LIBADD): Add $(LIBELFLIBS)
862         * lto-plugin.c: Always include <gelf.h>
863         * lto-symtab.c: Likewise.
864         * configure: Regenerate.
865         * Makefile.in: Regenerate.
867 2009-03-23  Rafael Avila de Espindola  <espindola@google.com>
869         * lto-plugin.c (libgcc_filename): New.
870         (all_symbols_read_handler): Pass libgcc to the linker.
871         (all_symbols_read_handler): Parse -libgcc
873 2009-02-05  Rafael Avila de Espindola  <espindola@google.com>
875         * Makefile.am (liblto_plugin_la_LIBADD): Link with libiberty.
876         * Makefile.in: Regenerate.
877         * lto-plugin.c (add_output_files): Argument is now a FILE.
878         (exec_lto_wrapper): Use writeargv and pex.
880 2009-02-04  Rafael Avila de Espindola  <espindola@google.com>
882         Revert:
883         2009-02-04  Rafael Avila de Espindola  <espindola@google.com>
884         * lto-plugin.c (exec_lto_wrapper): Use writeargv.
887 2009-02-04  Rafael Avila de Espindola  <espindola@google.com>
889         * lto-plugin.c (exec_lto_wrapper): Use writeargv.
891 2009-01-29  Rafael Avila de Espindola  <espindola@google.com>
893         * lto-plugin.c: Include libiberty.h.
894         (exec_lto_wrapper, claim_file_handler): Use asprintf instead of
895         snprintf.
897 2009-01-29  Rafael Avila de Espindola  <espindola@google.com>
899         * lto-plugin.c (exec_lto_wrapper): Write argv to a file. Pass that
900         file to lto-wrapper.
902 2009-01-28  Rafael Avila de Espindola  <espindola@google.com>
904         * lto-plugin.c (plugin_file_info): Remove fd and elf.
905         (parse_table_entry): strdup entry->name and entry->comdat_key.
906         (free_1): Free name and comdat_key. Don't close the file. Don't call
907         elf_end.
908         (claim_file_handler): Always call elf_end.
910 2008-12-23  Rafael Avila de Espindola  <espindola@google.com>
912         * Makefile.am (AM_CPPFLAGS): Add -D_LARGEFILE_SOURCE
913         -D_FILE_OFFSET_BITS=64
914         * Makefile.in: Regenerate
916 2008-12-22  Rafael Avila de Espindola  <espindola@google.com>
918         * Makefile.am (gcc_version, target_noncanonical, libexecsubdir): New.
919         (lib_LTLIBRARIES): Rename to libexecsub_LTLIBRARIES.
920         * Makefile.in: Regenerate.
921         * acinclude.m4: Include ../config/acx.m4 and ../lt~obsolete.m4
922         * configure: Regenerate.
923         * configure.ac: Add AC_SUBST(target_noncanonical).
925 2008-12-08  Rafael Avila de Espindola  <espindola@google.com>
927         * lto-plugin.c: Include stdbool.h.
928         (debug, nop): Declare as bool.
930 2008-12-08  Rafael Avila de Espindola  <espindola@google.com>
932         * lto-plugin.c (nop): New.
933         (use_original_files): New.
934         (all_symbols_read_handler): Call use_original_files if nop is true.
935         (process_option): Parse the -nop option.
937 2008-12-08  Rafael Avila de Espindola  <espindola@google.com>
939         * lto-plugin.c (debug): New.
940         (exec_lto_wrapper): Print argv if debug is true.
941         (process_option): Process the -debug command line option.
943 2008-12-03  Rafael Avila de Espindola  <espindola@google.com>
945         * lto-plugin.c (process_option): The argument is now a single option,
946         not a space separated list.
948 2008-12-02  Rafael Avila de Espindola  <espindola@google.com>
950         * lto-plugin.c: Include sys/types.h and sys/wait.h
951         (output_files, num_output_files, lto_wrapper_argv,
952         lto_wrapper_num_args): New.
953         (free_2): Free output_files.
954         (write_resolution): Disable.
955         (add_output_files): New.
956         (exec_lto_wrapper): New.
957         (all_symbols_read_handler): Run lto-wrapper.
958         (claim_file_handler): Free lto_file.name and call elf_end.
959         (process_option): New.
961 2008-11-26  Rafael Espindola  <espindola@google.com>
963         * lto-plugin.c (add_input_file): New.
964         (get_section): Return NULL if get_section fails.
965         (write_resolution): New.
966         (all_symbols_read_handler): Call add_input_file.
967         (claim_file_handler): Unlink the correct file.
968         (onload): Record add_input_file.
970 2008-09-23 Rafael Espindola  <espindola@google.com>
972         * Makefile.am (ltosymtab_SOURCES, liblto_plugin_la_SOURCES):
973         Update the location of common.c.
974         * Makefile.in: Regenerate.
975         * common.c: Moved to gcc/lto.
976         * common.h: Moved to gcc/lto.
977         * lto-plugin.c: Update the location of common.h.
978         * lto-symtab.c: Update the location of common.h.
980 2008-09-23 Rafael Espindola  <espindola@google.com>
982         * common.c: Include common.h.
983         (lto_kind_str, lto_visibility_str, lto_resolution_str): Use explicit
984         sizes.
985         * common.h (lto_kind_str, lto_visibility_str, lto_resolution_str): Use
986         explicit sizes.
988 2008-09-23 Rafael Espindola  <espindola@google.com>
990         * lto-plugin.c (plugin_file_info): Add temp.
991         (cleanup_handler): Only delete temporary files.
992         (claim_file_handler): Initialize lto_file.temp.
994 2008-09-23  Rafael Espindola  <espindola@google.com>
996         * plugin-api.h: Moved to include.
998 2008-09-23 Rafael Espindola  <espindola@google.com>
1000         * lto-plugin.c (all_symbols_read_handler): Print resolution in a new
1001         format.
1003 2008-09-22 Rafael Espindola  <espindola@google.com>
1005         * plugin-api.h: Copy from binutils' cvs.
1007 2008-09-22 Rafael Espindola  <espindola@google.com>
1009         * lto-symtab.c (get_symbols, add_symbols): Update signature.
1010         * plugin-api.h: Copy from binutils' cvs.
1012 2008-09-22 Rafael Espindola  <espindola@google.com>
1014         * common.h (lto_kind_str, lto_visibility_str, lto_resolution_str):
1015         Make extern
1017 2008-09-10 Rafael Espindola  <espindola@google.com>
1019         * lto-plugin.c (onload): add missing break statements and asserts.
1020         * lto-symtab.c (claim_file_handler): Make it static.
1021         (all_symbols_read_handler): Make it static.
1022         (all_file_handles): Make it static.
1023         (num_file_handles): Make it static.
1024         (register_claim_file): Make it static.
1025         (register_object): Indent properly.
1027 2008-09-10  Rafael Avila de Espindola  <espindola@google.com>
1029         * Makefile.am (ltosymtab_LDADD): Add -lelf.
1030         * Makefiel.in: Regenerate.
1031         * lto-plugin.c: Include ar.h.
1032         (claim_file_handler): Handle file->offset != 0.
1033         * lto-symtab.c: Include gelf.h.
1034         (all_file_handles): Change type.
1035         (register_object): New.
1036         (register_file): Add support for archives.
1037         (resolve): Update to new type of all_file_handles.
1038         (print): Update to new type of all_file_handles.
1039         (free_all): Update to new type of all_file_handles.
1040         (main): Update to new type of all_file_handles.
1042 2008-09-10  Rafael Avila de Espindola  <espindola@google.com>
1044         * lto-plugin.c (get_string_table): Remove.
1045         (get_section): Use elf_strptr instead of get_string_table.
1047 2008-09-08  Doug Kwan  <dougkwan@google.com>
1049         * lto-plugin.c (all_symbols_read_handler): Widen fprintf arguments
1050         to 64-bit to fix a 32-bit bootstrap failure due to format warnings.
1052 2008-09-08  Rafael Avila de Espindola  <espindola@google.com>
1054         * Makefile.am (ltosymtab_SOURCES): add common.c.
1055         (ltosymtab_CFLAGS): New.
1056         (liblto_plugin_la_SOURCES): Add common.c.
1057         * Makefile.in: Regenerate.
1058         * common.c: New.
1059         * common.h: New.
1060         * lto-plugin.c: Include stdio.h, inttypes.h and common.h.
1061         (plugin_symtab): New.
1062         (plugin_file_info): New.
1063         (register_all_symbols_read): New.
1064         (get_symbols): New.
1065         (claimed_files): New.
1066         (num_claimed_files): New.
1067         (translate): Don't drop the slot number.
1068         (free_1): New.
1069         (free_2): New.
1070         (all_symbols_read_handler): New.
1071         (claim_file_handler): Record every claimed file.
1072         (onload): Handle LDPT_REGISTER_ALL_SYMBOLS_READ_HOOK and
1073         LDPT_GET_SYMBOLS.
1074         * lto-symtab.c: Include stdlib.h, string.h and common.h.
1075         (current_file_handle): Remove.
1076         (ld_plugin_all_symbols_read_handler): New.
1077         (plugin_handle): New.
1078         (file_handle): New.
1079         (all_file_handles): New.
1080         (num_file_handles): New.
1081         (get_symbols): New.
1082         (register_all_symbols_read): New.
1083         (add_symbols): Don't print the symbols, just record them.
1084         (ld_plugin_tv): Add LDPT_REGISTER_ALL_SYMBOLS_READ_HOOK and
1085         LDPT_GET_SYMBOLS.
1086         (load_plugin): Use plugin_handle.
1087         (register_file): Add the file handle to all_file_handles.
1088         (resolve): New.
1089         (print): New.
1090         (unload_plugin): New.
1091         (free_all): New.
1092         (main): Call all_symbols_read_handler and free resources.
1094 2008-09-03  Rafael Avila de Espindola  <espindola@google.com>
1096         * Makefile.am (AM_CFLAGS): New.
1097         (ltosymtab_LDADD): Remove -lelf. Add -ldl.
1098         (lib_LTLIBRARIES): New.
1099         (liblto_plugin_la_SOURCES): New.
1100         (liblto_plugin_la_LIBADD): New.
1101         * Makefile.in: Regenerate.
1102         * acinclude.m4: Don't include ../config/acx.m4 and
1103         ../config/no-executables.m4.
1104         Include ../ltsugar.m4, ../ltoptions.m4, ../ltversion.m4 and
1105         ../libtool.m4.
1106         * aclocal.m4: Regenerate.
1107         * configure: Regenerate.
1108         * configure.ac: Use AM_PROG_LIBTOOL.
1109         * lto-plugin.c: New.
1110         * lto-symtab.c: Rewrite to use the plugin.
1111         * plugin-api.h: New.
1113 2008-08-25  Rafael Avila de Espindola  <espindola@google.com>
1115         * configure: Regenerate.
1116         * configure.ac: Use AC_CHECK_GELF.
1117         * lto-symtab.c: Include gelf.h.
1118         (get_string_table): Use size independent API.
1119         (printTable): Use lld to print 64 bit integers.
1121 2008-08-22  Rafael Avila de Espindola  <espindola@google.com>
1123         * lto-symtab.c (parse_table_entry): Assert entry->kind and
1124         entry->visibility are valid.
1126 2008-07-22  Rafael Avila de Espindola  <espindola@google.com>
1127         * lto-symtab.c (table_entry): Add comdat.
1128         (parse_table_entry): Read comdat.
1130 2008-08-21  Rafael Espindola  <espindola@google.com>
1132         * Makefile.am: New.
1133         * Makefile.in: New.
1134         * acinclude.m4: New.
1135         * aclocal.m4: New.
1136         * configure: New.
1137         * configure.ac: New.
1138         * lto-symtab.c: New.