OSDN Git Service

* lto-plugin.c: Include <hashtab.h>
[pf3gnuchains/gcc-fork.git] / lto-plugin / ChangeLog
1 2010-08-05  Andi Kleen  <ak@linux.intel.com>
2
3         * lto-plugin.c: Include <hashtab.h>
4         (sym_aux): Add next_conflict field to save conflict chains.
5         (plugin_file_info): Add conflicts symtab.
6         (parse_table_entry): Initialize aux->next_conflict.
7         (process_symtab): Increment found.
8         (dump_symtab): Add.
9         (finish_conflict_resolution): Add.
10         (free_symtab): Add.
11         (write_resolution): Remove symbols loop and move into
12         dump_symtab. Call dump_symtab for main symbol and conflicts table.
13         Call free_symtab to free conflicts table.
14         (SWAP): Add.
15         (eq_sym): Add.
16         (hash_sym): Add.
17         (symbol_strength): Add.
18         (resolve_conflicts): Add.
19         (claim_file_handler): Add n variable. Check return value of
20         process_symtab. Call resolve_conflicts.
21
22 2010-07-27  Andi Kleen <ak@linux.intel.com>
23
24         * lto-plugin.c (translate): Remove debug fprintf.
25
26 2010-07-23  H.J. Lu  <hongjiu.lu@intel.com>
27
28         PR bootstrap/45042
29         * lto-plugin.c (translate): Cast to unsigned long.
30
31 2010-07-23   Andi Kleen <ak@linux.intel.com>
32
33         PR lto/44992
34         * lto-plugin.c (sym_aux): Add.
35         (plugin_symtab): Remove slots. Add aux and id.
36         (parse_table_entry): Change to use aux instead of slots.
37         (LTO_SECTION_PREFIX): Add.
38         (translate): Improve buffer allocation. Change to append
39         symbols to existing out buffer.
40         (get_section): Remove.
41         (process_symtab): Add.
42         (free_2): Free symtab->aux.
43         (write_resolution): Handle aux instead of slots.
44         Print sub id to resolution file.
45         (claim_file_handler): Clear lto_file. Replace get_symtab/translate
46         calls with call to process_symtab.
47
48 2010-07-22  Richard Guenther  <rguenther@suse.de>
49
50         * Makefile.am: New copy_lto_plugin rule to install the plugin
51         into ../gcc.
52         * Makefile.in: Regenerated.
53
54 2010-05-21  Richard Guenther  <rguenther@suse.de>
55
56         * lto-plugin.c (write_resolution): Do not assert syms is non-NULL.
57
58 2010-05-07  Richard Guenther <rguenther@suse.de>
59
60         * lto-plugin.c (free_2): Do not free resolution_file.
61         (write_resolution): Check that we were passed a resolution file.
62         (all_symbols_read_handler): Adjust.
63         (cleanup_handler): Do not remove the resolution file.
64         (process_option): Handle -fresolution=.
65
66 2010-05-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67
68         PR other/43620
69         * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
70         * Makefile.in: Regenerate.
71
72 2010-04-23  Richard Guenther  <rguenther@suse.de>
73
74         PR lto/41550
75         * lto-plugin.c (parse_table_entry): Use xstrdup and xrealloc.
76         (translate): Likewise.
77         (all_symbols_read_handler): Likewise.
78         (claim_file_handler): Likewise.
79         (process_option): Likewise.
80         (add_output_files): Likewise.  Remove filename length limit.
81
82 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83
84         * Makefile.in: Regenerate.
85         * aclocal.m4: Regenerate.
86
87 2010-03-16  Dmitry Gorbachev  <d.g.gorbachev@gmail.com>
88
89         PR lto/43336
90         * lto-plugin.c (cleanup_handler): Delete temporary output files.
91
92 2010-01-11  Richard Guenther  <rguenther@suse.de>
93
94         PR lto/41569
95         * Makefile.am: Disable dependencies.
96         * Makefile.in: Regenerated.
97
98 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
99
100         PR lto/42520
101         * lto-plugin.c (exec_lto_wrapper): Output lto-wrapper command
102         if -v is passed.
103
104 2009-12-05  H.J. Lu  <hongjiu.lu@intel.com>
105
106         PR bootstrap/42306
107         * configure: Regenerated.
108         * Makefile.in: Likewise.
109
110 2009-11-19  Rafael Avila de Espindola  <espindola@google.com>
111
112         PR bootstrap/42096
113         * lto-plugin.c (claim_file_handler): Print offsets in hex.
114
115 2009-11-12  Rafael Avila de Espindola  <espindola@google.com>
116
117         * lto-plugin.c (write_resolution): Assume resolution_file is set.
118         Print the symbol name.
119         (all_symbols_read_handler): Create a resolution file.
120         Pass it to gcc.
121         (cleanup_handler): Remove the resolution file.
122         (process_option): Drop the -resolution option.
123
124 2009-11-05  Rafael Avila de Espindola  <espindola@google.com>
125
126         * lto-plugin.c (temp_obj_dir_name): Remove.
127         (arguments_file_name): New.
128         (free_2): Free arguments_file_name instead of temp_obj_dir_name.
129         (exec_lto_wrapper):  Create arguments file with make_temp_file.
130         (cleanup_handler): Don't remove the temporary directory. Remove the
131         arguments file.
132         (onload): Don't create the temporary directory.
133
134 2009-11-04  Richard Guenther  <rguenther@suse.de>
135             Rafael Avila de Espindola  <espindola@google.com>
136
137         * lto-plugin.c (plugin_file_info): Remove temp field.
138         (cleanup_handler): Don't delete temporary objects.
139         (claim_file_handler): Don't create temporary objects.
140
141 2009-11-04  Rafael Avila de Espindola  <espindola@google.com>
142
143         * lto-plugin.c (cleanup_handler): Don't cleanup if debugging.
144
145 2009-10-30  Rafael Avila de Espindola  <espindola@google.com>
146
147         PR41871
148         * lto-plugin.c (claim_file_handler): Close files that we created.
149
150 2009-10-28  Rafael Avila de Espindola  <espindola@google.com>
151
152         * lto-plugin.c (all_symbols_read_handler): Use LDPL_FATAL instead of
153         LDPL_ERROR
154
155 2009-10-27  Dmitry Gorbachev  <d.g.gorbachev@gmail.com>
156
157         PR lto/41652
158         * configure.ac: Call AC_SYS_LARGEFILE before AC_OUTPUT.
159         * configure: Regenerate.
160
161 2009-10-26  Richard Guenther  <rguenther@suse.de>
162
163         * configure.ac: Use AM_MAINTAINER_MODE.
164         * acinclude.m4: Remove.
165         * configure: Re-generate.
166         * Makefile.in: Likewise.
167         * aclocal.m4: Likewise.
168
169 2009-10-19  Rafael Avila de Espindola  <espindola@google.com>
170     
171         PR40790
172         * configure: Regenerate.
173         * configure.ac: Add AC_TYPE_UINT64_T.
174
175 2009-10-16  Rafael Avila de Espindola  <espindola@google.com>
176
177         * lto-plugin.c (message): New variable.
178         (check): New function.
179         (parse_table_entry, translate, write_resolution,add_output_files,
180         exec_lto_wrapper,claim_file_handler, onload): Use check instead of
181         assert.
182         (cleanup_handler): Use check instead of assert. Remove the arguments
183         file if it exists.
184
185 2009-10-15  Rafael Avila de Espindola  <espindola@google.com>
186
187         * lto-plugin.c (resolution_file): New.
188         (free_1): Update comment.
189         (free_2): Free resolution_file.
190         (write_resolution): Write resolution to specified file. Use the
191         syms array from the symbol table.
192         (all_symbols_read_handler): Delay call to free_1 past call to
193         write_resolution.
194         (process_option): Add a -resolution option.
195
196 2009-10-13  Richard Guenther  <rguenther@suse.de>
197
198         * Makefile.am (liblto_plugin_la_LIBADD): Link against the
199         correct libiberty.
200         * Makefile.in: Regenerated.
201
202 2009-10-08  Rafael Avila de Espindola  <espindola@google.com>
203
204         * lto-plugin.c (add_input_library): New.
205         (all_symbols_read_handler): Use add_input_library for items that
206         start with -l.
207         (process_option): Fit in 80 columns.
208         (onload): Handle LDPT_ADD_INPUT_LIBRARY.
209
210 2009-10-02  Diego Novillo  <dnovillo@google.com>
211
212         * Makefile.am (AM_CPPFLAGS): Remove -D_LARGEFILE_SOURCE
213         and -D_FILE_OFFSET_BITS=64.
214         * configure.ac: Add AC_SYS_LARGEFILE.
215         * configure: Regenerate.
216         * Makefile.in: Regenerate.
217         * lto-plugin.c: Fix copyright boilerplate.
218
219 2009-10-02  Diego Novillo  <dnovillo@google.com>
220
221         * Makefile.am (ACLOCAL_AMFLAGS): Define.
222         * aclocal.m4: Regenerate with aclocal-2.64
223         * acinclude.m4: Remove.
224         * Makefile.in: Regenerate with automake-1.11
225         * configure.ac (AC_PREREQ): Update to 2.64.
226         * configure: Regenerate.
227
228 2009-10-02  Diego Novillo  <dnovillo@google.com>
229
230         * Makefile.am (AM_CPPFLAGS): Remove -D_LARGEFILE_SOURCE
231         and -D_FILE_OFFSET_BITS=64.
232         * configure.ac: Add AC_SYS_LARGEFILE.
233         * configure: Regenerate.
234         * Makefile.in: Regenerate.
235         * lto-plugin.c: Fix copyright boilerplate.
236
237 2009-10-02  Diego Novillo  <dnovillo@google.com>
238
239         * Makefile.am (ACLOCAL_AMFLAGS): Define.
240         * aclocal.m4: Regenerate with aclocal-2.64
241         * acinclude.m4: Remove.
242         * Makefile.in: Regenerate with automake-1.11
243         * configure.ac (AC_PREREQ): Update to 2.64.
244         * configure: Regenerate.
245
246 2009-10-02  Rafael Avila de Espindola  <espindola@google.com>
247
248         * Makefile.am (liblto_plugin_la_SOURCES): Remove
249         $(top_srcdir)/../gcc/lto/common.c
250         * Makefile.in: Regenerate.
251
252 2009-10-01  Rafael Avila de Espindola  <espindola@google.com>
253
254         * lto-plugin.c (pass_through_items): New.
255         (num_pass_through_items): New.
256         (all_symbols_read_handler): Update to use the -pass-through option.
257         (process_option): Replace -libgcc with -pass-through.
258         
259 2009-09-30  Rafael Avila de Espindola  <espindola@google.com>
260
261         * lto-plugin.c (onload): Return a ld_plugin_status. Don't require
262         register_cleanup to be set.
263
264 2009-09-30  Rafael Avila de Espindola  <espindola@google.com>
265
266         * Makefile.am: Remove all reference to ltosymtab.
267         * Makefile.in: Regenerate.
268         * lto-symtab.c: Remove.
269
270 2009-05-21  Diego Novillo  <dnovillo@google.com>
271
272         * configure.ac: Remove call to AC_CHECK_GELF.
273         Call AC_ARG_VAR for LIBELFLIBS and LIBELFINC.
274         * acinclude.m4: Do not include ../config/libelf.m4
275         * Makefile.am (LIBELFLIBS): Define.
276         (LIBELFINC): Define.
277         (AM_CPPFLAGS): Add $(LIBELFINC).
278         (ltosymtab_LDADD): Add $(LIBELFLIBS).
279         (liblto_plugin_la_LIBADD): Add $(LIBELFLIBS)
280         * lto-plugin.c: Always include <gelf.h>
281         * lto-symtab.c: Likewise.
282         * configure: Regenerate.
283         * Makefile.in: Regenerate.
284
285 2009-03-23  Rafael Avila de Espindola  <espindola@google.com>
286
287         * lto-plugin.c (libgcc_filename): New.
288         (all_symbols_read_handler): Pass libgcc to the linker.
289         (all_symbols_read_handler): Parse -libgcc
290
291 2009-02-05  Rafael Avila de Espindola  <espindola@google.com>
292
293         * Makefile.am (liblto_plugin_la_LIBADD): Link with libiberty.
294         * Makefile.in: Regenerate.
295         * lto-plugin.c (add_output_files): Argument is now a FILE.
296         (exec_lto_wrapper): Use writeargv and pex.
297
298 2009-02-04  Rafael Avila de Espindola  <espindola@google.com>
299
300         Revert:
301         2009-02-04  Rafael Avila de Espindola  <espindola@google.com>
302         * lto-plugin.c (exec_lto_wrapper): Use writeargv.
303
304
305 2009-02-04  Rafael Avila de Espindola  <espindola@google.com>
306
307         * lto-plugin.c (exec_lto_wrapper): Use writeargv.
308
309 2009-01-29  Rafael Avila de Espindola  <espindola@google.com>
310
311         * lto-plugin.c: Include libiberty.h.
312         (exec_lto_wrapper, claim_file_handler): Use asprintf instead of
313         snprintf.
314
315 2009-01-29  Rafael Avila de Espindola  <espindola@google.com>
316
317         * lto-plugin.c (exec_lto_wrapper): Write argv to a file. Pass that
318         file to lto-wrapper.
319
320 2009-01-28  Rafael Avila de Espindola  <espindola@google.com>
321
322         * lto-plugin.c (plugin_file_info): Remove fd and elf.
323         (parse_table_entry): strdup entry->name and entry->comdat_key.
324         (free_1): Free name and comdat_key. Don't close the file. Don't call
325         elf_end.
326         (claim_file_handler): Always call elf_end.
327
328 2008-12-23  Rafael Avila de Espindola  <espindola@google.com>
329
330         * Makefile.am (AM_CPPFLAGS): Add -D_LARGEFILE_SOURCE
331         -D_FILE_OFFSET_BITS=64
332         * Makefile.in: Regenerate
333
334 2008-12-22  Rafael Avila de Espindola  <espindola@google.com>
335
336         * Makefile.am (gcc_version, target_noncanonical, libexecsubdir): New.
337         (lib_LTLIBRARIES): Rename to libexecsub_LTLIBRARIES.
338         * Makefile.in: Regenerate.
339         * acinclude.m4: Include ../config/acx.m4 and ../lt~obsolete.m4
340         * configure: Regenerate.
341         * configure.ac: Add AC_SUBST(target_noncanonical).
342
343 2008-12-08  Rafael Avila de Espindola  <espindola@google.com>
344
345         * lto-plugin.c: Include stdbool.h.
346         (debug, nop): Declare as bool.
347
348 2008-12-08  Rafael Avila de Espindola  <espindola@google.com>
349
350         * lto-plugin.c (nop): New.
351         (use_original_files): New.
352         (all_symbols_read_handler): Call use_original_files if nop is true.
353         (process_option): Parse the -nop option.
354
355 2008-12-08  Rafael Avila de Espindola  <espindola@google.com>
356
357         * lto-plugin.c (debug): New.
358         (exec_lto_wrapper): Print argv if debug is true.
359         (process_option): Process the -debug command line option.
360
361 2008-12-03  Rafael Avila de Espindola  <espindola@google.com>
362
363         * lto-plugin.c (process_option): The argument is now a single option,
364         not a space separated list.
365
366 2008-12-02  Rafael Avila de Espindola  <espindola@google.com>
367
368         * lto-plugin.c: Include sys/types.h and sys/wait.h
369         (output_files, num_output_files, lto_wrapper_argv,
370         lto_wrapper_num_args): New.
371         (free_2): Free output_files.
372         (write_resolution): Disable.
373         (add_output_files): New.
374         (exec_lto_wrapper): New.
375         (all_symbols_read_handler): Run lto-wrapper.
376         (claim_file_handler): Free lto_file.name and call elf_end.
377         (process_option): New.
378
379 2008-11-26  Rafael Espindola  <espindola@google.com>
380
381         * lto-plugin.c (add_input_file): New.
382         (get_section): Return NULL if get_section fails.
383         (write_resolution): New.
384         (all_symbols_read_handler): Call add_input_file.
385         (claim_file_handler): Unlink the correct file.
386         (onload): Record add_input_file.
387
388 2008-09-23 Rafael Espindola  <espindola@google.com>
389
390         * Makefile.am (ltosymtab_SOURCES, liblto_plugin_la_SOURCES):
391         Update the location of common.c.
392         * Makefile.in: Regenerate.
393         * common.c: Moved to gcc/lto.
394         * common.h: Moved to gcc/lto.
395         * lto-plugin.c: Update the location of common.h.
396         * lto-symtab.c: Update the location of common.h.
397
398 2008-09-23 Rafael Espindola  <espindola@google.com>
399
400         * common.c: Include common.h.
401         (lto_kind_str, lto_visibility_str, lto_resolution_str): Use explicit
402         sizes.
403         * common.h (lto_kind_str, lto_visibility_str, lto_resolution_str): Use
404         explicit sizes.
405
406 2008-09-23 Rafael Espindola  <espindola@google.com>
407
408         * lto-plugin.c (plugin_file_info): Add temp.
409         (cleanup_handler): Only delete temporary files.
410         (claim_file_handler): Initialize lto_file.temp.
411
412 2008-09-23  Rafael Espindola  <espindola@google.com>
413
414         * plugin-api.h: Moved to include.
415
416 2008-09-23 Rafael Espindola  <espindola@google.com>
417
418         * lto-plugin.c (all_symbols_read_handler): Print resolution in a new
419         format.
420
421 2008-09-22 Rafael Espindola  <espindola@google.com>
422
423         * plugin-api.h: Copy from binutils' cvs.
424
425 2008-09-22 Rafael Espindola  <espindola@google.com>
426
427         * lto-symtab.c (get_symbols, add_symbols): Update signature.
428         * plugin-api.h: Copy from binutils' cvs.
429
430 2008-09-22 Rafael Espindola  <espindola@google.com>
431
432         * common.h (lto_kind_str, lto_visibility_str, lto_resolution_str):
433         Make extern
434
435 2008-09-10 Rafael Espindola  <espindola@google.com>
436
437         * lto-plugin.c (onload): add missing break statements and asserts.
438         * lto-symtab.c (claim_file_handler): Make it static.
439         (all_symbols_read_handler): Make it static.
440         (all_file_handles): Make it static.
441         (num_file_handles): Make it static.
442         (register_claim_file): Make it static.
443         (register_object): Indent properly.
444
445 2008-09-10  Rafael Avila de Espindola  <espindola@google.com>
446
447         * Makefile.am (ltosymtab_LDADD): Add -lelf.
448         * Makefiel.in: Regenerate.
449         * lto-plugin.c: Include ar.h.
450         (claim_file_handler): Handle file->offset != 0.
451         * lto-symtab.c: Include gelf.h.
452         (all_file_handles): Change type.
453         (register_object): New.
454         (register_file): Add support for archives.
455         (resolve): Update to new type of all_file_handles.
456         (print): Update to new type of all_file_handles.
457         (free_all): Update to new type of all_file_handles.
458         (main): Update to new type of all_file_handles.
459
460 2008-09-10  Rafael Avila de Espindola  <espindola@google.com>
461
462         * lto-plugin.c (get_string_table): Remove.
463         (get_section): Use elf_strptr instead of get_string_table.
464
465 2008-09-08  Doug Kwan  <dougkwan@google.com>
466
467         * lto-plugin.c (all_symbols_read_handler): Widen fprintf arguments
468         to 64-bit to fix a 32-bit bootstrap failure due to format warnings.
469
470 2008-09-08  Rafael Avila de Espindola  <espindola@google.com>
471
472         * Makefile.am (ltosymtab_SOURCES): add common.c.
473         (ltosymtab_CFLAGS): New.
474         (liblto_plugin_la_SOURCES): Add common.c.
475         * Makefile.in: Regenerate.
476         * common.c: New.
477         * common.h: New.
478         * lto-plugin.c: Include stdio.h, inttypes.h and common.h.
479         (plugin_symtab): New.
480         (plugin_file_info): New.
481         (register_all_symbols_read): New.
482         (get_symbols): New.
483         (claimed_files): New.
484         (num_claimed_files): New.
485         (translate): Don't drop the slot number.
486         (free_1): New.
487         (free_2): New.
488         (all_symbols_read_handler): New.
489         (claim_file_handler): Record every claimed file.
490         (onload): Handle LDPT_REGISTER_ALL_SYMBOLS_READ_HOOK and
491         LDPT_GET_SYMBOLS.
492         * lto-symtab.c: Include stdlib.h, string.h and common.h.
493         (current_file_handle): Remove.
494         (ld_plugin_all_symbols_read_handler): New.
495         (plugin_handle): New.
496         (file_handle): New.
497         (all_file_handles): New.
498         (num_file_handles): New.
499         (get_symbols): New.
500         (register_all_symbols_read): New.
501         (add_symbols): Don't print the symbols, just record them.
502         (ld_plugin_tv): Add LDPT_REGISTER_ALL_SYMBOLS_READ_HOOK and
503         LDPT_GET_SYMBOLS.
504         (load_plugin): Use plugin_handle.
505         (register_file): Add the file handle to all_file_handles.
506         (resolve): New.
507         (print): New.
508         (unload_plugin): New.
509         (free_all): New.
510         (main): Call all_symbols_read_handler and free resources.
511
512 2008-09-03  Rafael Avila de Espindola  <espindola@google.com>
513
514         * Makefile.am (AM_CFLAGS): New.
515         (ltosymtab_LDADD): Remove -lelf. Add -ldl.
516         (lib_LTLIBRARIES): New.
517         (liblto_plugin_la_SOURCES): New.
518         (liblto_plugin_la_LIBADD): New.
519         * Makefile.in: Regenerate.
520         * acinclude.m4: Don't include ../config/acx.m4 and
521         ../config/no-executables.m4.
522         Include ../ltsugar.m4, ../ltoptions.m4, ../ltversion.m4 and
523         ../libtool.m4.
524         * aclocal.m4: Regenerate.
525         * configure: Regenerate.
526         * configure.ac: Use AM_PROG_LIBTOOL.
527         * lto-plugin.c: New.
528         * lto-symtab.c: Rewrite to use the plugin.
529         * plugin-api.h: New.
530
531 2008-08-25  Rafael Avila de Espindola  <espindola@google.com>
532
533         * configure: Regenerate.
534         * configure.ac: Use AC_CHECK_GELF.
535         * lto-symtab.c: Include gelf.h.
536         (get_string_table): Use size independent API.
537         (printTable): Use lld to print 64 bit integers.
538
539 2008-08-22  Rafael Avila de Espindola  <espindola@google.com>
540
541         * lto-symtab.c (parse_table_entry): Assert entry->kind and
542         entry->visibility are valid.
543
544 2008-07-22  Rafael Avila de Espindola  <espindola@google.com>
545         * lto-symtab.c (table_entry): Add comdat.
546         (parse_table_entry): Read comdat.
547
548 2008-08-21  Rafael Espindola  <espindola@google.com>
549
550         * Makefile.am: New.
551         * Makefile.in: New.
552         * acinclude.m4: New.
553         * aclocal.m4: New.
554         * configure: New.
555         * configure.ac: New.
556         * lto-symtab.c: New.