2012-03-08 Tristan Gingold <gingold@adacore.com>
[external/binutils.git] / ld / ChangeLog
1 2012-03-08  Tristan Gingold  <gingold@adacore.com>
2
3         * ldexp.c (exp_print_tree): Special case for SEGMENT_START.
4         (exp_print_token): Constify.
5
6 2012-03-08  Alan Modra  <amodra@gmail.com>
7
8         PR ld/10340
9         * ldfile.c (is_sysrooted_pathname): Remove notsame param.
10         (ldfile_add_library_path): Don't set sysrooted flag.
11         (ldfile_open_file_search): Likewise, and don't copy them.
12         (try_open): Delete exten and code handling such.  Add sysrooted
13         param and return whether path is in sysroot.
14         (ldfile_find_command_file): Delete extend param.  Add sysrooted
15         param.  Rename local var.  Update try_open calls.
16         (ldfile_open_command_file_1): Pass sysrooted to lex_push_file.
17         * ldfile.h (search_dirs_type): Remove sysrooted field.
18         * ldlang.c (new_afile): Always set sysrooted from input_flags.
19         (load_symbols): Don't set input_flags.sysrooted.
20         * ldlang.h (struct lang_input_statement_flags): Revise sysrooted
21         comment.
22         * ldlex.h (lex_push_file): Update prototype.
23         * ldlex.l (sysrooted_stack): New array.
24         (EOF): Pop input_flags.sysrooted.
25         (lex_push_file): Add sysrooted param.  Save and set
26         input_flags.sysrooted.
27
28 2012-03-06  Alan Modra  <amodra@gmail.com>
29
30         * ldlang.h (struct lang_input_statement_flags): New, extract from..
31         (lang_input_statement_type): ..here.  New field "flags".
32         (input_flags): Declare.
33         (missing_file): Delete.
34         * ldmain.h (whole_archive): Delete.
35         (add_DT_NEEDED_for_regular, add_DT_NEEDED_for_dynamic): Delete.
36         * ld.h (ld_config_type <dynamic_link>): Delete.
37         * ldmain.c (whole_archive): Delete.
38         (add_DT_NEEDED_for_regular, add_DT_NEEDED_for_dynamic): Delete.
39         * ldlang.c (missing_file, ldlang_sysrooted_script): Delete.
40         (input_flags): New variable.  Replace all uses of config.dynamic_link,
41         missing_file, ldlang_sysrooted_script, whole_archive,
42         add_DT_NEEDED_for_regular and add_DT_NEEDED_for_dynamic with fields
43         from here.
44         * ldfile.c: Likewise.
45         * ldgram.y: Likewise.
46         * ldmain.c: Likewise.
47         * ldwrite.c: Likewise.
48         * lexsup.c: Likewise.
49         * plugin.c: Likewise.
50         * emultempl/aix.em: Likewise.
51         * emultempl/armelf.em: Likewise.
52         * emultempl/elf32.em: Likewise.
53         * emultempl/hppaelf.em: Likewise.
54         * emultempl/linux.em: Likewise.
55         * emultempl/pe.em: Likewise.
56         * emultempl/pep.em: Likewise.
57         * emultempl/ppc64elf.em: Likewise.
58         * emultempl/scoreelf.em: Likewise.
59         * emultempl/spuelf.em: Likewise.
60         * emultempl/sunos.em: Likewise.
61         * emultempl/vms.em: Likewise.
62         * ldlang.c (new_afile): Use memset to init zero fields.
63         (load_symbols): Simplify save and restore of flags around command
64         file processing.
65         * ldfile.c (is_sysrooted_pathname): Tidy.
66
67 2012-03-05  Hans-Peter Nilsson  <hp@axis.com>
68
69         * configure.tgt (mips64*el-*-freebsd*, mips64*-*-freebsd*)
70         (mips*el-*-freebsd*, mips*-*-freebsd*): Correct triplets by
71         replacing trailing "-*" with "*".
72
73 2012-02-25  Walter Lee  <walt@tilera.com>
74
75         * Makefile.am (ALL_EMULATION_SOURCES): Add eelf32tilegx_be.c.
76         (ALL_64_EMULATION_SOURCES): Add eelf64tilegx_be.c.
77         (eelf32tilegx_be.c): Add rule to build this file.
78         (eelf64tilegx_be.c): Ditto.
79         * Makefile.in: Regenerate.
80         * configure.tgt (tilegx-*-*): Support big endian.
81         (tilegxbe-*-*): New.
82         * emulparams/elf32tilegx.sh (OUTPUT_FORMAT): Rename.
83         (BIG_OUTPUT_FORMAT): Define.
84         (LITTLE_OUTPUT_FORMAT): Define.
85         * emulparams/elf32tilegx_be.sh: New.
86         * emulparams/elf64tilegx.sh (OUTPUT_FORMAT): Rename.
87         (BIG_OUTPUT_FORMAT): Define.
88         (LITTLE_OUTPUT_FORMAT): Define.
89         * emulparams/elf64tilegx_be.sh: New.
90
91 2012-02-24  Kai Tietz  <ktietz@redhat.com>
92
93         PR binutils/13710
94         * deffilep.y (keyword_as_name): Disable LIBRARY
95         keyword.
96
97 2012-02-22  Alan Modra  <amodra@gmail.com>
98
99         PR ld/13683
100         * ldlang.c (lang_process): Rerun lang_do_assignments before
101         starting garbage collection.
102         * ldexp.c (fold_name): Generate a reloc for defined symbols
103         found without an associated output section during the mark phase.
104         (exp_fold_tree_1): Continue processing an expression, even if we
105         are unable to fold it, if we are in the first two evaluation
106         phases.
107         * ldexp.h (enum lang_phase_type): Add descriptions of the phases.
108
109 2012-02-19  Kai Tietz  <ktietz@redhat.com>
110
111         * deffilep.y (cmp_import_elem): Sort first by module name.
112         * pe-dll.c (process_def_file_and_drectve): Free strings
113         from removed export-element.
114         (add_bfd_to_link): Optimize loop on import-elements and lower
115         allocated memory.
116         (pe_implied_import_dll): Pass NULL instead of 0 for pointer
117         argument.
118
119 2012-02-18  Hans-Peter Nilsson  <hp@axis.com>
120
121         * ldmisc.c (vfinfo <%S>): Use same type and avoid cast for
122         temporary variable node used for NULL argument.
123
124 2012-02-18  Alan Modra  <amodra@gmail.com>
125
126         PR ld/13343
127         * ld.h (parsing_defsym): Delete.
128         * ldexp.c (exp_intop, exp_bigintop, exp_relop): Set type.filename.
129         (fold_binary, fold_name, exp_fold_tree_1, exp_get_vma, exp_get_fill,
130         exp_get_abs_int): Add tree arg for %S in error messages.  Don't
131         fudge lineno.
132         (exp_binop, exp_unop, exp_nameop, exp_assop, exp_assert): Copy
133         type.filename from sub-tree.
134         (exp_trinop): Likewise, and use "cond" rather than "lhs".
135         * ldexp.h (node_type): Add filename field to struct.
136         * ldfile.c (ldfile_input_filename): Delete.  Remove all refs.
137         * ldfile.h (ldfile_input_filename): Delete.
138         * ldgram.y (phdr_type, phdr_qualifiers, yyerror): Add NULL arg for
139         %S in error messages.
140         * ldemul.c (syslib_default, hll_default): Likewise.
141         * ldlang.c (lang_memory_region_lookup, lang_memory_region_alias,
142         lang_get_regions, lang_new_phdr): Likewise.
143         (lang_size_sections_1): Pass addr_tree for %S.
144         * ldlex.h (lex_redirect): Update prototype.
145         (ldlex_filename): Declare.
146         * ldlex.l (<EOF>): Don't set ldfile_input_filename.
147         (lex_redirect): Add fake_filename and count params.  Push
148         fake_filename to file_name_stack and init lineno from count.
149         (ldlex_filename): New function.
150         (lex_warn_invalid): Use above.
151         * ldmain.c (main): Update lex_redirect call.
152         * ldmisc.c (vfinfo <%S>): Take file name and line number from
153         etree_type arg, or use current if arg is NULL.
154         * lexsup.c (parsing_defsym): Delete.
155         (parse_args <OPTION_DEFSYM>): Update lex_redirect call.
156
157 2012-02-13  Kai Tietz  <ktietz@redhat.com>
158
159         * deffilep.y (find_export_in_list): Set is_indent for
160         first or last element, if identical.
161         (find_import_in_list): Likewise.
162
163 2012-02-11  Kai Tietz  <ktietz@redhat.com>
164
165         * deffilep.y (%union): New type id_const.
166         (opt_name2): New rule.
167         (keyword_as_name): New rule.
168         (dot_name): Replaced by opt_name2 rule.
169         (opt_name): Adjust rule.
170         (opt_equal_name): Likewise.
171
172 2012-02-11  Pascal Obry  <pascal@obry.net>
173
174         * pe-dll.c (auto_export): Use bsearch to speed up scan of exports
175         table.
176         (process_def_file_and_drectve): Maintain sorting of exports table
177         after stripping leading @ signs.
178
179 2012-02-09  Alan Modra  <amodra@gmail.com>
180
181         * ldgram.y (input_section_spec_no_keep): Don't ignore sect_flags.
182
183 2012-01-31  H.J. Lu  <hongjiu.lu@intel.com>
184
185         PR ld/13616
186         * emulparams/elf32_x86_64.sh: Remove NOP.
187         * emulparams/elf_i386.sh: Likewise.
188         * emulparams/elf_i386_be.sh: Likewise.
189         * emulparams/elf_i386_ldso.sh: Likewise.
190         * emulparams/elf_i386_vxworks.sh: Likewise.
191         * emulparams/elf_k1om.sh: Likewise.
192         * emulparams/elf_l1om.sh: Likewise.
193         * emulparams/elf_x86_64.sh: Likewise.
194
195         * ldlang.c (zero_fill): Initialized to 0.
196
197         * ldwrite.c (build_link_order): Set data size to linker odrder
198         size when they are the same.
199
200         * scripttempl/elf.sc: Don't specify fill if NOP is undefined.
201
202 2012-01-17  Alan Modra  <amodra@gmail.com>
203
204         * ldver.c (ldversion): Update copyright message year.
205
206 2012-01-15  Alan Modra  <amodra@gmail.com>
207
208         PR ld/12758
209         * ldlang.c (lang_process): Don't reopen all files, just those
210         newly added by plugin.
211
212 2012-01-11  Alan Modra  <amodra@gmail.com>
213
214         * emultempl/ppc64elf.em (PARSE_AND_LIST_PROLOGUE,
215         PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS,
216         PARSE_AND_LIST_ARGS_CASES): Handle --{no-,}plt-thread-safe and
217         --{no-,}plt-align.
218         (plt_thread_safe, plt_stub_align): New vars.
219         (gld${EMULATION_NAME}_after_allocation): Pass them to
220         ppc64_elf_size_stubs.  Align stub sections according to plt_stub_align.
221         * ld.texinfo: Document new command line options, and an old
222         undocumented option.
223
224 2012-01-09  Roland McGrath  <mcgrathr@google.com>
225
226         * configure.in: Use AM_ZLIB.
227         * configure: Regenerated.
228
229 For older changes see ChangeLog-2011
230 \f
231 Local Variables:
232 mode: change-log
233 left-margin: 8
234 fill-column: 74
235 version-control: never
236 End: