* elf64-mips.c (micromips_elf64_howto_table_rel): Add
[platform/upstream/binutils.git] / bfd / ChangeLog
1 2013-02-18  Maciej W. Rozycki  <macro@codesourcery.com>
2
3         * elf64-mips.c (micromips_elf64_howto_table_rel): Add
4         R_MICROMIPS_SCN_DISP and R_MICROMIPS_JALR.
5         (micromips_elf64_howto_table_rela): Likewise.
6         (micromips_reloc_map): Add BFD_RELOC_MICROMIPS_JALR.
7         * elfn32-mips.c (elf_micromips_howto_table_rel): Add
8         R_MICROMIPS_SCN_DISP and R_MICROMIPS_JALR.
9         (elf_micromips_howto_table_rela): Likewise.
10         (micromips_reloc_map): Add BFD_RELOC_MICROMIPS_JALR.
11
12 2013-02-18  Paul Brook  <paul@codesourcery.com>
13
14         * elfxx-mips.c (MICROMIPS_P): New macro.
15         (_bfd_mips_elf_symbol_processing): Use it.
16
17 2013-02-18  Maciej W. Rozycki  <macro@codesourcery.com>
18
19         * elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Clarify
20         comment on _PROCEDURE_LINKAGE_TABLE_ creation.
21
22 2013-02-18  Alan Modra  <amodra@gmail.com>
23
24         PR ld/12549
25         * elf-bfd.h (_bfd_elf_strtab_clear_refs): Delete.
26         (_bfd_elf_strtab_clear_all_refs): Declare.
27         (_bfd_elf_strtab_resize): Declare.
28         * elf-strtab.c (_bfd_elf_strtab_clear_refs): Delete.
29         (_bfd_elf_strtab_clear_all_refs): New function.
30         (_bfd_elf_strtab_resize): Likewise.
31         * elflink.c (elf_link_add_object_symbols): Use _bfd_elf_strtab_resize.
32
33 2013-02-18  Alan Modra  <amodra@gmail.com>
34
35         * elf-bfd.h (struct elf_obj_tdata): Move find_line_info, local_stubs,
36         local_call_stubs, elf_data_symbol, elf_text_symbol, elf_data_section,
37         and elf_text_section to..
38         * elfxx-mips.c (struct mips_elf_obj_tdata): ..here.  Update all refs.
39         * elf64-alpha.c (struct mips_elf_find_line): Rename to..
40         (struct alpha_elf_find_line): ..this.
41         (struct alpha_elf_obj_tdata): Add find_line_info, update refs.
42
43 2013-02-16  H.J. Lu  <hongjiu.lu@intel.com>
44
45         PR ld/15146
46         * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
47         for references from the dummy bfd.
48
49 2013-02-16  H.J. Lu  <hongjiu.lu@intel.com>
50
51         PR ld/15149
52         * elflink.c (elf_link_add_object_symbols): Also track weak
53         references.
54
55 2013-02-15  H.J. Lu  <hongjiu.lu@intel.com>
56
57         PR binutils/15151
58         * archive.c (_bfd_find_nested_archive): Don't allow a nested
59         archive pointing to itself.
60         (_bfd_get_elt_at_filepos): Revert the last 2 changes.
61
62 2013-02-15  Nick Clifton  <nickc@redhat.com>
63
64         PR binutils/15140
65         * archive.c (_bfd_get_elt_at_filepos): Prevent an infinite loop
66         accessing a corrupt nested archive.
67
68 2013-02-13  Richard Sandiford  <rdsandiford@googlemail.com>
69
70         * elfxx-mips.c (mips_got_page_ref): New structure.
71         (mips_got_page_entry): Use a section rather than a (bfd, symndx)
72         pair to represent the anchor point.
73         (mips_got_info): Add a got_page_refs field.
74         (mips_elf_link_hash_table): Add a sym_cache field.
75         (mips_got_page_ref_hash, mips_got_page_ref_eq): New functions.
76         (mips_got_page_entry_hash, mips_got_page_entry_eq): Update for
77         new anchor representation.
78         (mips_elf_create_got_info): Create got_page_refs rather than
79         got_page_entries.
80         (mips_elf_record_got_page_ref): New function.
81         (mips_elf_pages_for_range): Move further down file.
82         (mips_elf_record_got_page_entry): Likewise.  Take a got as argument.
83         Use a section rather than a (bfd, symndx) pair to represent the
84         anchor point.
85         (mips_elf_resolve_got_page_ref): New function.
86         (mips_elf_resolve_final_got_entries): Use it to populate
87         got_page_entries.
88         (_bfd_mips_elf_check_relocs): Call mips_elf_record_got_page_ref
89         rather than mips_elf_record_got_page_entry.  Only nullify h
90         afterwards.
91         (mips_elf_lay_out_got): Call mips_elf_resolve_final_got_entries
92         earlier.
93
94 2013-02-12  Richard Sandiford  <rdsandiford@googlemail.com>
95
96         * elfxx-mips.c (mips_elf_lay_out_got): Count VxWorks GOT relocs
97         in g->relocs.
98
99 2013-02-12  Alan Modra  <amodra@gmail.com>
100
101         * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Provide
102         suitable definition when using generic linker hash table.
103
104 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
105
106         * elfxx-mips.c (mips_elf_count_got_entries): Delete.
107         (mips_elf_check_recreate_got, mips_elf_recreate_got): Take a
108         mips_elf_traverse_got_arg.  Count GOT entries.
109         (mips_elf_resolve_final_got_entries): Take the bfd_link_info
110         as argument.  Update after above changes.
111         (mips_elf_merge_got, mips_elf_lay_out_got): Don't call
112         mips_elf_count_got_entries.  Update the calls to
113         mips_elf_resolve_final_got_entries.
114
115 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
116
117         * elfxx-mips.c (mips_got_tls_type): New enum.
118         (mips_got_entry): Add tls_initialized.
119         (mips_elf_got_entry_hash, mips_elf_got_entry_eq, mips_tls_got_relocs)
120         (mips_elf_count_got_entry, mips_elf_initialize_tls_index): Remove
121         GOT_TLS_TYPE masks.
122         (mips_elf_reloc_tls_type, mips_tls_got_entries)
123         (mips_elf_record_global_got_symbol, mips_elf_initialize_tls_index)
124         (_bfd_mips_elf_finish_dynamic_symbol): Use GOT_TLS_NONE rather
125         than GOT_NORMAL.
126         (mips_elf_initialize_tls_slots): Replace got_offset and tls_type_p
127         arguments with a GOT entry.  Remove GOT_TLS_TYPE masks.  Use
128         tls_initialized rather than GOT_TLS_DONE.
129         (mips_tls_got_index): Delete.
130         (mips_elf_local_got_index, mips_elf_global_got_index): Use
131         mips_elf_initialize_tls_slots rather than mips_tls_got_index.
132         (mips_elf_record_got_entry): Initialize tls_initialized.
133
134 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
135
136         * elfxx-mips.c (mips_got_entry): Remove tls_ldm_offset.
137         (mips_elf_link_hash_entry): Remove tls_ie_type, tls_gd_type,
138         tls_ie_got_offset and tls_gd_got_offset.
139         (mips_elf_link_hash_newfunc): Remove initialization.
140         (mips_elf_create_got_info): Likewise.
141         (mips_elf_count_local_got_entries, mips_elf_count_global_tls_entries)
142         (mips_tls_single_got_index): Delete.
143         (mips_elf_local_got_index): Always use the GOT entry to track
144         GOT indices.
145         (mips_elf_global_got_index): Likewise.
146         (mips_elf_create_local_got_entry): Assert that TLS entries have
147         already been allocated.
148         (mips_elf_record_global_got_symbol): Don't initialize
149         tls_ie_type or tls_gd_type.
150         (mips_elf_count_got_symbols): Only count reloc-only GOT entries here.
151         (mips_elf_initialize_tls_index): Allocate a GOT index for every TLS
152         entry.
153         (mips_elf_lay_out_got): Use mips_elf_count_got_entries to count
154         the GOT entries.
155         (_bfd_mips_elf_finish_dynamic_symbol): Assert that TLS GOT offsets
156         have been allocated.
157         (_bfd_mips_elf_copy_indirect_symbol): Remove handling of
158         tls_ie_type and tls_gd_type.
159
160 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
161
162         * elfxx-mips.c (mips_elf_create_local_got_entry): Tidy.  Avoid
163         aliasing violation.  Check for htab allocation failures.
164
165 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
166
167         * elfxx-mips.c (mips_elf_primary_global_got_index): New function,
168         split out from...
169         (mips_elf_global_got_index): ...here.  Reorder arguments so that
170         the output bfd and info come first.
171         (mips_elf_calculate_relocation): Update the call to
172         mips_elf_global_got_index accordingly.
173         (_bfd_mips_elf_finish_dynamic_symbol): Use
174         mips_elf_primary_global_got_index rather than
175         mips_elf_global_got_index.
176         (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
177
178 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
179
180         * elfxx-mips.c (mips_got_entry): Update comments.
181         (mips_elf_multi_got_entry_eq): Rename to...
182         (mips_elf_got_entry_eq): ...this, deleting the old definition.
183         (mips_elf_create_got_info): Remove master_got_p argument.
184         Always use mips_elf_got_entry_eq.
185         (mips_elf_bfd_got, mips_elf_multi_got, mips_elf_create_got_section):
186         Update calls accordingly.
187
188 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
189
190         * elfxx-mips.c (mips_got_info): Remove bfd2got.
191         (mips_elf_bfd2got_hash): Delete.
192         (mips_elf_got_per_bfd_arg): Remove bfd2got.
193         (mips_elf_replace_bfd_got, mips_elf_count_got_entries): New functions.
194         (mips_elf_global_got_index, mips_elf_create_local_got_entry): Use
195         g->next to test for the multigot case.  Use mips_elf_bfd_got rather
196         than mips_elf_got_for_ibfd.
197         (mips_elf_bfd2got_entry_hash, mips_elf_bfd2got_entry_eq)
198         (mips_elf_got_for_ibfd, mips_elf_get_got_for_bfd): Delete.
199         (mips_elf_make_got_per_bfd): Replace with...
200         (mips_elf_add_got_entry): ...this new function.
201         (mips_elf_make_got_pages_per_bfd): Replace with...
202         (mips_elf_add_got_page_entry): ...this new function.
203         (mips_elf_merge_got_with): Replace bfd2got argument with separate
204         bfd and GOT arguments.  Use mips_elf_add_got_entry and
205         mips_elf_add_got_page_entry instead of mips_elf_make_got_per_bfd
206         and mips_elf_make_got_pages_per_bfd.  Use mips_elf_replace_bfd_got
207         to set the BFD's GOT and free the old table.
208         (mips_elf_merge_got): Replace bfd2got argument with separate
209         bfd and GOT arguments.  Apply mips_elf_resolve_final_got_entries.
210         Use mips_elf_count_got_entries to count the number of entries in
211         each GOT.  Update the calls to mips_elf_merge_got_with.
212         (mips_elf_adjust_gp): Use g->next to test for the multigot case.
213         Use mips_elf_bfd_got rather than mips_elf_got_for_ibfd.
214         (mips_elf_multi_got): Don't create the bfd2got hash table.
215         Replace hash table traversal with a walk over the input bfds,
216         updating the call to mips_elf_merge_got.  Use mips_elf_replace_bfd_got
217         to set the output bfd's GOT.
218         (mips_elf_lay_out_got): Rename "sub" to "ibfd".  Record that all
219         bfds use the master GOT in the single-GOT case.
220         (_bfd_mips_elf_finish_dynamic_sections): Use mips_elf_bfd_got
221         rather than mips_elf_got_for_ibfd.
222
223 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
224
225         * elfxx-mips.c (mips_elf_obj_tdata): Add a got field.
226         (mips_elf_bfd_got, mips_elf_record_got_entry): New functions.
227         (mips_elf_record_global_got_symbol): Update the hash entry before
228         adding the mips_got_entry.  Use mips_elf_record_got_entry to do
229         the latter.
230         (mips_elf_record_local_got_symbol): Use mips_elf_record_got_entry.
231         (mips_elf_record_got_page_entry): Record the entry in both the
232         master and bfd GOTs.
233
234 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
235
236         * elfxx-mips.c (mips_elf_recreate_got): Don't change the entry;
237         create another one if necessary.
238         (mips_elf_set_gotidx): New function.
239         (mips_elf_set_global_gotidx): Use it.
240         (mips_elf_initialize_tls_index): Likewise.  Take a
241         mips_elf_traverse_got_arg as argument.
242         (mips_elf_lay_out_got): Update use of mips_elf_initialize_tls_index.
243         (mips_elf_multi_got): Likewise.  Cope with error returns from
244         mips_elf_set_global_gotidx.
245
246 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
247
248         * elfxx-mips.c (mips_got_info): Add relocs field.
249         (mips_elf_set_global_got_offset_arg, mips_elf_count_tls_arg): Replace
250         with...
251         (mips_elf_traverse_got_arg): ...this new structure.
252         (mips_elf_count_local_tls_relocs): Delete.
253         (mips_elf_count_global_tls_relocs): Likewise.
254         (mips_elf_count_got_entry): New function.
255         (mips_elf_count_local_got_entries): Likewise.
256         (mips_elf_count_global_tls_entries): Take a mips_elf_traverse_got_arg
257         rather than a mips_elf_count_tls_arg.  Count both relocs and entries.
258         (mips_elf_record_local_got_symbol): Don't count got entries here.
259         (mips_elf_make_got_per_bfd): Use mips_elf_count_got_entry.
260         (mips_elf_set_global_got_offset): Split into...
261         (mips_elf_set_global_got_area, mips_elf_set_global_gotidx): ...these
262         new functions.  Take a mips_elf_traverse_got_arg rather than a
263         mips_elf_set_global_got_offset_arg.  Don't count TLS relocs here.
264         Use g->relocs to record the number of relocs needed for global GOT
265         entries.
266         (mips_elf_multi_got): Use mips_elf_traverse_got_arg rather than
267         mips_elf_set_global_got_offset_arg.  Use the relocs field to count
268         relocations.  Update for above function split.
269         (mips_elf_lay_out_got): Use mips_elf_count_local_got_entries
270         to count both the number of GOT entries and the number of TLS
271         relocs required by local entries.  Likewise
272         mips_elf_count_global_tls_entries and global entries.
273         Remove uses of mips_elf_count_local_tls_relocs and
274         mips_elf_count_global_tls_relocs.
275
276 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
277
278         * elfxx-mips.c (mips_got_entry): Update comment above tls_type entry
279         to say that each structure represents only one type of TLS reference.
280         (GOT_TLS_TYPE): New define.
281         (mips_elf_link_hash_entry): Temporarily split tls_type and
282         tls_got_offset into two variables each.
283         (mips_elf_link_hash_newfunc): Update accordingly.
284         (mips_elf_got_entry_eq, mips_elf_got_entry_hash)
285         (mips_elf_multi_got_entry_eq): Require the tls_type to be the same.
286         (mips_elf_reloc_tls_type, mips_tls_got_entries): New functions.
287         (mips_tls_got_relocs): Use a switch statement.
288         (mips_elf_count_global_tls_entries): Handle the new hash entry fields.
289         (mips_elf_initialize_tls_slots): Use a switch statement.  Avoid
290         local "offset" variable.
291         (mips_tls_got_index): Remove r_type argument and assert.  Remove
292         code that handled entries with two TLS types; always use the
293         original got_index instead.
294         (mips_tls_single_got_index): New function.
295         (mips_elf_local_got_index): Use entry->tls_type to check for
296         TLS entries.  Use mips_tls_single_got_index.  Update call to
297         mips_tls_got_index.
298         (mips_elf_global_got_index): Use mips_elf_reloc_tls_type.
299         Use p->tls_type to check for TLS entries.  Update call to
300         mips_tls_got_index.  Use mips_tls_single_got_index.
301         (mips_elf_create_local_got_entry): Use mips_elf_reloc_tls_type.
302         Use entry.tls_type to check for TLS entries.
303         (mips_elf_record_global_got_symbol): Replace tls_flag argument
304         with r_type argument.  Use mips_elf_reloc_tls_type.
305         Set up the new hash entry fields.
306         (mips_elf_record_local_got_symbol): Replace tls_flag argument
307         with r_type argument.  Use mips_elf_reloc_tls_type and
308         mips_tls_got_entries.  Remove code that handled entries
309         with multiple TLS types.
310         (mips_elf_make_got_per_bfd): Use mips_tls_got_entries.
311         (mips_elf_initialize_tls_index): Handle new hash entry fields.
312         Use equality rather than masks when checking for specific TLS types.
313         Use mips_tls_got_entries.  Remove code that handled entries
314         with multiple TLS types.
315         (mips_elf_calculate_relocation): Use TLS_RELOC_P instead of
316         testing the hash table entry.
317         (_bfd_mips_elf_check_relocs): Update calls to
318         mips_elf_record_global_got_symbol and mips_elf_record_local_got_symbol.
319         (_bfd_mips_elf_finish_dynamic_symbol): Don't check h->type.
320         (_bfd_mips_elf_copy_indirect_symbol): Handle new hash entry fields.
321
322 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
323
324         * elfxx-mips.c (mips_elf_multi_got_entry_hash): Rename to...
325         (mips_elf_got_entry_hash): ...this, deleting the old version.
326         (mips_elf_create_got_info): Use mips_elf_got_entry_hash for
327         both types of GOT.
328
329 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
330
331         * elfxx-mips.c (mips_elf_create_got_info): New function.
332         (mips_elf_get_got_for_bfd, mips_elf_multi_got): Use it.
333         (mips_elf_create_got_section): Likewise.
334
335 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
336
337         * elfxx-mips.c (mips_elf_record_local_got_symbol): Always set
338         gotidx to -1.
339
340 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
341
342         * elfxx-mips.c (mips_elf_multi_got): Simplify size calculation.
343
344 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
345
346         * elfxx-mips.c (mips_got_info): Move global_gotsym to...
347         (mips_elf_link_hash_table): ...here.  Update rest of file accordingly.
348
349 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
350
351         * elfxx-mips.c (mips_elf_count_global_tls_entries)
352         (mips_elf_count_global_tls_relocs): Don't count indirect or
353         warning symbols.
354         (mips_elf_multi_got, mips_elf_lay_out_got): Assert that the right
355         number of TLS entries were allocated.
356
357 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
358
359         * elfxx-mips.c (mips_elf_sort_hash_table_f): Remove asserts.
360
361 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
362
363         * elfxx-mips.c (mips_elf_merge_got_with): Only use arg->global_count
364         if there are TLS relocations.
365
366 2013-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
367
368         * elfxx-mips.c (mips_elf_recreate_got): Remove free.
369         (mips_elf_resolve_final_got_entries): Remove bogus comment.
370
371 2013-02-11  Alan Modra  <amodra@gmail.com>
372
373         * elfcode.h (elf_checksum_contents): Free contents.
374         * elf-bfd.h (_bfd_elf_link_hash_table_free): Declare.
375         * elflink.c (_bfd_elf_link_hash_table_free): New function.
376         (elf_final_link_free): New function, extracted from..
377         (bfd_elf_final_link): ..here.  Always call
378         _bfd_elf_write_section_eh_frame_hdr.
379         * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Default to
380         _bfd_elf_link_hash_table_free.
381         * libbfd-in.h (_bfd_merge_sections_free): Declare.
382         * libbfd.h: Regenerate.
383         * merge.c (_bfd_merge_sections_free): New function.
384         * elf-eh-frame.c (_bfd_elf_write_section_eh_frame_hdr): Free
385         hdr_info->array.
386         * elf-m10300.c (elf32_mn10300_link_hash_table_free): Call
387         _bfd_elf_link_hash_table_free.
388         * elf32-arm.c (elf32_arm_link_hash_table_free): Likewise.
389         * elf32-avr.c (elf32_avr_link_hash_table_free): Likewise.
390         * elf32-hppa.c (elf32_hppa_link_hash_table_free): Likewise.
391         * elf32-i386.c (elf_i386_link_hash_table_free): Likewise.
392         * elf32-m68hc1x.c (m68hc11_elf_hash_table_free): Likewise.
393         * elf32-m68k.c (elf_m68k_link_hash_table_free): Likewise.
394         * elf32-metag.c (elf_metag_link_hash_table_free): Likewise.
395         * elf32-xgate.c (xgate_elf_bfd_link_hash_table_free): Likewise.
396         * elf64-aarch64.c (elf64_aarch64_link_hash_table_free): Likewise.
397         * elf64-ia64-vms.c (elf64_ia64_hash_table_free): Likewise.
398         * elf64-ppc.c (ppc64_elf_link_hash_table_free): Likewise.
399         * elf64-x86-64.c (elf_x86_64_link_hash_table_free): Likewise.
400         * elfnn-ia64.c (elfNN_ia64_hash_table_free): Likewise.
401         * elf32-cr16.c (elf32_cr16_link_hash_table_free): Delete.
402         (bfd_elf32_bfd_link_hash_table_free): Don't define.
403         * elf32-tic6x.c (elf32_tic6x_link_hash_table_free): Delete.
404         (bfd_elf32_bfd_link_hash_table_free): Dont' define.
405
406 2013-02-10  Alan Modra  <amodra@gmail.com>
407
408         * coff-arm.c (coff_arm_link_hash_table_create): Use bfd_zmalloc.
409         * coff-h8300.c (h8300_coff_link_hash_table_create): Likewise.
410         * m68klinux.c (linux_link_hash_table_create): Likewise.
411         * sparclinux.c (linux_link_hash_table_create): Likewise.
412         * sunos.c (sunos_link_hash_table_create): Likewise.
413         * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Likewise.
414         * elf-m10300.c (elf32_mn10300_link_hash_table_create): Likewise.
415         * elf32-arm.c (elf32_arm_link_hash_table_create): Likewise.
416         * elf32-avr.c (elf32_avr_link_hash_table_create): Likewise.
417         * elf32-cr16.c (elf32_cr16_link_hash_table_create): Likewise.
418         * elf32-cris.c (elf_cris_link_hash_table_create): Likewise.
419         * elf32-hppa.c (elf32_hppa_link_hash_table_create): Likewise.
420         * elf32-i386.c (elf_i386_link_hash_table_create): Likewise.
421         * elf32-lm32.c (lm32_elf_link_hash_table_create): Likewise.
422         * elf32-m32r.c (m32r_elf_link_hash_table_create): Likewise.
423         * elf32-m68hc1x.c (m68hc11_elf_hash_table_create): Likewise.
424         * elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise.
425         * elf32-metag.c (elf_metag_link_hash_table_create): Likewise.
426         * elf32-nios2.c (nios2_elf32_link_hash_table_create): Likewise.
427         * elf32-s390.c (elf_s390_link_hash_table_create): Likewise.
428         * elf32-score.c (elf32_score_link_hash_table_create): Likewise.
429         * elf32-spu.c (spu_elf_link_hash_table_create): Likewise.
430         * elf32-tic6x.c (elf32_tic6x_link_hash_table_create): Likewise.
431         * elf32-vax.c (elf_vax_link_hash_table_create): Likewise.
432         * elf32-xgate.c (xgate_elf_bfd_link_hash_table_create): Likewise.
433         * elf32-xtensa.c (elf_xtensa_link_hash_table_create): Likewise.
434         * elf64-aarch64.c (elf64_aarch64_link_hash_table_create): Likewise.
435         * elf64-s390.c (elf_s390_link_hash_table_create): Likewise.
436         * elf64-sh64.c (sh64_elf64_link_hash_table_create): Likewise.
437         * elf64-x86-64.c (elf_x86_64_link_hash_table_create): Likewise.
438         * elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise.
439         * elflink.c (_bfd_elf_link_hash_table_create): Likewise.
440         (_bfd_elf_link_hash_table_init): Assume zero fill table on entry.
441
442 2013-02-10  Alan Modra  <amodra@gmail.com>
443
444         * i386linux.c (linux_link_hash_table_create): Allocate table
445         with bfd_zmalloc, not bfd_alloc.
446         * pdp11.c (link_hash_table_create): Allocate table with
447         bfd_malloc, not bfd_alloc.
448         * elf32-bfin.c (bfinfdpic_elf_link_hash_table_create): Allocate table
449         with bfd_zmalloc, not bfd_zalloc.
450         (bfin_link_hash_table_create): Likewise.
451         * elf32-frv.c (frvfdpic_elf_link_hash_table_create): Likewise.
452         * elf64-hppa.c (elf64_hppa_hash_table_create): Likewise.
453
454 2013-02-10  Alan Modra  <amodra@gmail.com>
455
456         PR ld/15113
457         * elf32-sh.c (sh_elf_link_hash_table_create): Use bfd_zmalloc.
458
459 2013-02-08  Markos Chandras  <markos.chandras@imgtec.com>
460
461         * elf32-metag.c: Use bfd_get_linker_section to get SEC_LINKER_CREATED
462         sections.
463         (elf_metag_adjust_dynamic_symbol): Don't error on zero size dynbss
464         symbol.
465
466 2013-02-08  Yufeng Zhang  <yufeng.zhang@arm.com>
467
468         * elf64-aarch64.c (elf64_aarch64_grok_prstatus): Change 'size' from
469         288 to 272.
470
471 2013-02-08  Alan Modra  <amodra@gmail.com>
472
473         PR binutils/15106
474         * elf-bfd.h (struct elf_obj_tdata): Add elf_find_function_cache.
475         * elf.c (elf_find_function): Revert last change.  Use new
476         tdata field rather than static vars for cache.
477
478 2013-02-07  H.J. Lu  <hongjiu.lu@intel.com>
479
480         PR ld/15107
481         * elflink.c (elf_link_output_extsym): Set STB_GNU_UNIQUE only if
482         symbol is defined in regular object.
483
484 2013-02-07  Roberto Agostino Vitillo  <ra.vitillo@gmail.com>
485
486         PR binutils/15106
487         * elf.c (elf_find_function): Don't cache if symbols change.
488
489 2013-02-07  Alan Modra  <amodra@gmail.com>
490
491         PR binutils/14873
492         * elf-attrs.c (_bfd_elf_copy_obj_attributes): Don't attempt to
493         copy attributes from or to non-ELF.
494
495 2013-02-06  H.J. Lu  <hongjiu.lu@intel.com>
496
497         * elf32-i386.c (elf_i386_allocate_dynrelocs): Don't clear pc_count
498         for non-zero TLS symbol.
499         (elf_i386_relocate_section): Don't resolve size relocation against
500         non-zero TLS symbol.
501         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Don't clear
502         pc_count for non-zero TLS symbol.
503         (elf_x86_64_relocate_section): Don't resolve size relocation
504         against non-zero TLS symbol.
505
506 2013-02-06  Sandra Loosemore  <sandra@codesourcery.com>
507             Andrew Jenner <andrew@codesourcery.com>
508
509         Based on patches from Altera Corporation.
510
511         * Makefile.am (ALL_MACHINES): Add cpu-nios2.lo.
512         (ALL_MACHINES_CFILES): Add cpu-nios2.c.
513         (BFD_BACKENDS): Add elf32-nios2.lo.
514         (BFD32_BACKENDS_CFILES): Add elf32-nios2.c.
515         * Makefile.in: Regenerated.
516         * configure.in: Add entries for bfd_elf32_bignios2_vec and
517         bfd_elf32_littlenios2_vec.
518         * configure: Regenerated.
519         * config.bfd: Add cases for nios2.
520         * archures.c (enum bfd_architecture): Add bfd_arch_nios2.
521         (bfd_mach_nios2): Define.
522         (bfd_nios2_arch): Declare.
523         (bfd_archures_list): Add bfd_nios2_arch.
524         * targets.c (bfd_elf32_bignios2_vec): Declare.
525         (bfd_elf32_littlenios2_vec): Declare.
526         (_bfd_target_vector): Add entries for bfd_elf32_bignios2_vec and
527         bfd_elf32_littlenios2_vec.
528         * elf-bfd.h (enum elf_target_id): Add NIOS2_ELF_DATA.
529         * reloc.c (enum bfd_reloc_code_real): Add Nios II relocations.
530         * bfd-in2.h: Regenerated.
531         * libbfd.h: Regenerated.
532         * cpu-nios2.c: New file.
533         * elf32-nios2.c: New file.
534
535 2013-02-06  Alan Modra  <amodra@gmail.com>
536
537         * elf32-arm.c (elf32_arm_final_link_relocate): Only test for
538         stubs in stub_bfd.
539
540 2013-02-06  Alan Modra  <amodra@gmail.com>
541
542         * Makefile.am (SOURCE_HFILES): Add `elf-linux-psinfo.h'.
543         * Makefile.in: Regenerate.
544
545 2013-02-04  Sergio Durigan Junior  <sergiodj@redhat.com>
546             Pedro Alves  <palves@redhat.com>
547
548         * Makefile.in (SOURCE_HFILES): Add `elf-linux-psinfo.h'.
549         * elf-bfd.h (elf_internal_linux_prpsinfo): New structure
550         declaration.
551         (elfcore_write_linux_prpsinfo32, elfcore_write_linux_prpsinfo64)
552         (elfcore_write_ppc32_linux_prpsinfo32): New declarations.
553         * elf-linux-psinfo.h: New file.
554         * elf.c: Include elf-linux-psinfo.h.
555         (elfcore_write_linux_prpsinfo32, elfcore_write_linux_prpsinfo64):
556         New functions.
557         * elf32-ppc.c: Include `elf-linux-psinfo.h'.
558         (elf_external_ppc_linux_prpsinfo32): New structure declaration.
559         (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): New macro.
560         (elfcore_write_ppc_linux_prpsinfo32): New function.
561
562 2013-02-04  Tristan Gingold  <gingold@adacore.com>
563
564         * mach-o.c (bfd_mach_o_scan_start_address): Do not fail if no
565         start address.
566
567 2013-02-04  Alan Modra  <amodra@gmail.com>
568
569         * Makefile.am (BFD64_BACKENDS): Remove elf-nacl.lo.
570         (BFD64_BACKENDS_CFILES): Remove elf-nacl.c.
571         * Makefile.in: Regenerate.
572         * po/SRC-POTFILES.in: Regenerate.
573
574 2013-02-04  Alan Modra  <amodra@gmail.com>
575
576         * coff-tic54x.c (SWAP_OUT_RELOC_EXTRA): Delete.
577         * coff-tic80.c (SWAP_OUT_RELOC_EXTRA): Delete.
578
579 2013-02-01  Alan Modra  <amodra@gmail.com>
580
581         * elf64-ppc.c (dec_dynrel_count): Don't error when elf_gc_sweep_symbol
582         clears def_regular.
583
584 2013-01-31  Tristan Gingold  <gingold@adacore.com>
585
586         * mach-o.c (bfd_mach_o_scan): Call bfd_mach_o_flatten_sections
587         earlier.  Fix status checking of bfd_mach_o_scan_start_address.
588         (bfd_mach_o_scan_start_address): Handle LC_MAIN.
589
590 2013-01-31  Alan Modra  <amodra@gmail.com>
591             David S. Miller  <davem@davemloft.net>
592
593         PR ld/15056
594         * elfxx-sparc.c (_bfd_sparc_elf_gc_mark_hook): Handle implicit
595         references to __tls_get_addr.
596         * elf32-tilpro.c (tilepro_elf_gc_mark_hook): Likewise.  Correct
597         vtinherit and vtentry reloc handling too.
598         * elfxx-tilegx.c (tilegx_elf_gc_mark_hook): As for tilepro.
599
600 2013-01-31  Alan Modra  <amodra@gmail.com>
601
602         * elf64-ppc.c (ppc_stub_name): Trim off trailing "+0".
603
604 2013-01-31  Alan Modra  <amodra@gmail.com>
605
606         * elf64-ppc.c (build_plt_stub): Correct plt stub branch to glink.
607
608 2013-01-28  Alan Modra  <amodra@gmail.com>
609
610         * elf64-ppc.c: Use %T to print symbols names and remove redundant
611         "relocation" in error messages throughout file.
612         (ppc64_elf_relocate_section): Remove sibling call error message,
613         replace with "call lacks nop".  Specially report errors for
614         branches to function entry points via OPD lookup and branches
615         to stubs.  Remove NULL symbol handling now done by %T.
616
617 2013-01-28  Alan Modra  <amodra@gmail.com>
618
619         * archive.c (bfd_generic_archive_p): Return target and keep
620         ardata on partial matches.
621         * format.c (bfd_check_format_matches): Adjust for above
622         change.  Remove bfd_error_file_ambiguously_recognized dead
623         code.
624
625 2013-01-26  Alan Modra  <amodra@gmail.com>
626
627         * bfd.c (struct bfd_preserve, bfd_preserve_save, bfd_preserve_restore,
628         bfd_preserve_finish): Move to..
629         * format.c: ..here, splitting out..
630         (bfd_reinit): ..this.  New function.
631         (bfd_check_format_matches): Use bfd_preserve_save/restore to
632         keep bfd state for a match.
633         * elfcode.h (elf_object_p): Don't use bfd_preserve_save/restore.
634         * elfcore.h (elf_core_file_p): Likewise.
635         * mach-o.c (bfd_mach_o_header_p): Likewise.
636         * pef.c (bfd_pef_object_p, bfd_pef_xlib_object_p): Likewise.
637         * xsym.c (bfd_sym_object_p): Likewise.
638         * mmo.c (mmo_scan): Clear abfd->symcount.
639         * opncls.c (_bfd_new_bfd): Use a smaller section hash table.
640         * section.c (bfd_section_list_clear): Clear section_htab.count.
641         * bfd-in2.h: Regenerate.
642
643 2013-01-25  Michael Schewe  <michael.schewe@gmx.net>
644
645         * elf32-h8300.c (elf32_h8_relax_section): When checking for a
646         second reloc, make sure that the reloc potentially exists first.
647
648 2013-01-24  Nick Clifton  <nickc@redhat.com>
649
650         * archures.c: Add bfd_mach_v850e3v5.
651         * bfd-in2.h: Regenerate.
652         * cpu-v850.c: Add entries for v850e2v5 and v850e3v5.
653         * cpu-v850_rh850.c: Likewise.
654         * elf32-v850.c: Add support for v850e3v5 architecture.
655
656 2013-01-23  Markos Chandras  <markos.chandras@imgtec.com>
657
658         * elf32-metag.c: Error on HIADDR16/LOADDR16 in shared link.
659
660 2013-01-23  Leif Ekblad  <leif@rdos.net>
661
662         * config.bfd (x86_64-*-rdos*): Remove targ_selvecs.
663
664 2013-01-18  H.J. Lu  <hongjiu.lu@intel.com>
665
666         * elf32-i386.c (elf_i386_allocate_dynrelocs): Clear pc_count for
667         non-zero TLS symbol.
668         (elf_i386_relocate_section): Resolve size relocation against
669         non-zero TLS symbol.
670         * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Clear pc_count
671         for non-zero TLS symbol.
672         (elf_x86_64_relocate_section): Resolve size relocation against
673         non-zero TLS symbol.
674
675 2013-01-18  Mike Frysinger  <vapier@gentoo.org>
676
677         * elflink.c (bfd_elf_size_dynamic_sections): Only add DT_RPATH
678         when new_dtags is false.  Only add DT_RUNPATH when new_dtags is
679         true.
680
681 2013-01-17  H.J. Lu  <hongjiu.lu@intel.com>
682
683         * elf32-i386.c (elf_i386_check_relocs): Count size relocation as
684         PC-relative relocation.
685         * elf64-x86-64.c (elf_x86_64_check_relocs): Count size relocation
686         as PC-relative relocation.
687
688 2013-01-16  H.J. Lu  <hongjiu.lu@intel.com>
689
690         * elf32-i386.c (elf_i386_check_relocs): Update R_386_SIZE32
691         check.
692         (elf_i386_relocate_section): Don't check TLS for R_386_SIZE32.
693
694         * elf64-x86-64.c (elf_x86_64_check_relocs): Update R_X86_64_SIZE32
695         and R_X86_64_SIZE64 check.
696         (elf_x86_64_relocate_section): Don't check TLS for R_X86_64_SIZE32
697         nor R_X86_64_SIZE64.
698
699 2013-01-16  H.J. Lu  <hongjiu.lu@intel.com>
700
701         * bfd-in2.h: Regenerated.
702         * libbfd.h: Likewise.
703
704         * elf32-i386.c (elf_howto_table): Fill R_386_SIZE32 entry.
705         (elf_i386_reloc_type_lookup): Support BFD_RELOC_SIZE32.
706         (elf_i386_check_relocs): Handle R_386_SIZE32.
707         (elf_i386_gc_sweep_hook): Likewise.
708         (elf_i386_relocate_section): Likewise.
709
710         * elf64-x86-64.c (x86_64_elf_howto_table): Fill R_X86_64_SIZE32
711         and R_X86_64_SIZE64 entries.
712         (x86_64_reloc_map): Add BFD_RELOC_SIZE32 and BFD_RELOC_SIZE64,
713         (elf_x86_64_rtype_to_howto): Handle R_X86_64_SIZE32 for x32.
714         (elf_x86_64_reloc_name_lookup): Likewise.
715         (elf_x86_64_check_relocs): Handle R_X86_64_SIZE32 and
716         R_X86_64_SIZE64.
717         (elf_x86_64_gc_sweep_hook): Likewise.
718         (elf_x86_64_relocate_section): Likewise.
719
720         * reloc.c (bfd_reloc_code_type): Add BFD_RELOC_SIZE32 and
721         BFD_RELOC_SIZE64.
722
723 2013-01-15  H.J. Lu  <hongjiu.lu@intel.com>
724
725         * elf64-x86-64.c (R_X86_64_standard): Replace R_X86_64_IRELATIVE
726         with R_X86_64_RELATIVE64.
727
728 2013-01-15  Nick Clifton  <nickc@redhat.com>
729
730         * elf32-msp430.c: Fix spelling typo.
731
732 2013-01-15  Alan Modra  <amodra@gmail.com>
733
734         * elf64-ppc.c (ppc64_elf_size_stubs): Default shared libs to
735         plt-thread-safe.
736
737 2013-01-14  Alan Modra  <amodra@gmail.com>
738
739         PR binutils/14813
740         * bfdio.c (struct bfd_iovec <bclose>): Revert 2012-11-06.
741         (memory_bclose): Likewise.  Return 0 on success.
742         * cache.c (cache_bclose): Likewise.
743         * opncls.c (opncls_bclose, bfd_close): Likewise.
744         * vms-lib.c (vms_lib_bclose): Likewise.
745         * libbfd.h: Regenerate.
746
747 2013-01-13  Alan Modra  <amodra@gmail.com>
748
749         * elf-bfd.h (struct elf_link_hash_entry): Delete dynamic_weak.
750         Add ref_dynamic_nonweak.
751         * elflink.c (_bfd_elf_mark_dynamic_def_weak): Delete.
752         (_bfd_elf_merge_symbol): Don't call above function.  Move
753         setting of ref_dynamic_nonweak and dynamic_def earlier.  Don't
754         clear dynamic_def.
755         (elf_link_add_object_symbols): Delete redundant "override" test.
756         Don't set dynamic_def here.
757         (elf_link_output_extsym): Update.
758
759 2013-01-12  H.J. Lu  <hongjiu.lu@intel.com>
760
761         * elf32-i386.c (elf_i386_check_relocs): Set bfd errror for
762         normal and TLS symbol access.
763         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
764
765 2013-01-12  Alan Modra  <amodra@gmail.com>
766
767         * elf-bfd.h (_bfd_elf_strtab_refcount): Declare.
768         * elf-strtab.c (_bfd_elf_strtab_refcount): New function.
769         * elflink.c (elf_add_dt_needed_tag): Use _bfd_elf_strtab_refcount.
770
771 2013-01-12  Alan Modra  <amodra@gmail.com>
772
773         PR ld/12549
774         * elf-bfd.h (_bfd_elf_strtab_clear_refs): Declare.
775         (_bfd_elf_strtab_clear_all_refs): Define.
776         * elf-strtab.c (_bfd_elf_strtab_clear_refs): New function.
777         (_bfd_elf_strtab_clear_all_refs): Delete.
778         * elflink.c (elf_link_add_object_symbols): Clear out added
779         strtab refs.  Correct handling of warning common symbols.
780
781 2013-01-10  H.J. Lu  <hongjiu.lu@intel.com>
782
783         * aout0.c: Remove trailing white spaces.
784         * archive.c: Likewise.
785         * archures.c: Likewise.
786         * bfd-in.h: Likewise.
787         * bfd-in2.h: Likewise.
788         * coff-alpha.c: Likewise.
789         * coff-i860.c: Likewise.
790         * coff-mips.c: Likewise.
791         * coff-ppc.c: Likewise.
792         * coff-tic80.c: Likewise.
793         * coff-x86_64.c: Likewise.
794         * coff-z80.c: Likewise.
795         * coffcode.h: Likewise.
796         * coffgen.c: Likewise.
797         * cofflink.c: Likewise.
798         * compress.c: Likewise.
799         * corefile.c: Likewise.
800         * cpu-arm.c: Likewise.
801         * cpu-avr.c: Likewise.
802         * cpu-bfin.c: Likewise.
803         * cpu-cr16.c: Likewise.
804         * cpu-cr16c.c: Likewise.
805         * cpu-crx.c: Likewise.
806         * cpu-h8300.c: Likewise.
807         * cpu-i386.c: Likewise.
808         * cpu-lm32.c: Likewise.
809         * cpu-m68k.c: Likewise.
810         * cpu-moxie.c: Likewise.
811         * cpu-msp430.c: Likewise.
812         * cpu-sh.c: Likewise.
813         * cpu-xc16x.c: Likewise.
814         * dwarf2.c: Likewise.
815         * ecofflink.c: Likewise.
816         * ecoffswap.h: Likewise.
817         * elf-ifunc.c: Likewise.
818         * elf-m10300.c: Likewise.
819         * elf-vxworks.c: Likewise.
820         * elf32-avr.c: Likewise.
821         * elf32-avr.h: Likewise.
822         * elf32-cr16.c: Likewise.
823         * elf32-cr16c.c: Likewise.
824         * elf32-cris.c: Likewise.
825         * elf32-crx.c: Likewise.
826         * elf32-frv.c: Likewise.
827         * elf32-hppa.c: Likewise.
828         * elf32-i860.c: Likewise.
829         * elf32-ip2k.c: Likewise.
830         * elf32-iq2000.c: Likewise.
831         * elf32-m32c.c: Likewise.
832         * elf32-m68hc1x.c: Likewise.
833         * elf32-msp430.c: Likewise.
834         * elf32-mt.c: Likewise.
835         * elf32-ppc.c: Likewise.
836         * elf32-rl78.c: Likewise.
837         * elf32-s390.c: Likewise.
838         * elf32-score.h: Likewise.
839         * elf32-sh-symbian.c: Likewise.
840         * elf32-sh.c: Likewise.
841         * elf32-spu.c: Likewise.
842         * elf32-tic6x.c: Likewise.
843         * elf32-v850.c: Likewise.
844         * elf32-xc16x.c: Likewise.
845         * elf32-xtensa.c: Likewise.
846         * elf64-alpha.c: Likewise.
847         * elf64-hppa.c: Likewise.
848         * elf64-ppc.c: Likewise.
849         * elf64-s390.c: Likewise.
850         * elfcore.h: Likewise.
851         * elflink.c: Likewise.
852         * elfxx-mips.c: Likewise.
853         * elfxx-sparc.c: Likewise.
854         * elfxx-tilegx.c: Likewise.
855         * ieee.c: Likewise.
856         * libcoff.h: Likewise.
857         * libpei.h: Likewise.
858         * libxcoff.h: Likewise.
859         * linker.c: Likewise.
860         * mach-o-i386.c: Likewise.
861         * mach-o-target.c: Likewise.
862         * mach-o.c: Likewise.
863         * mach-o.h: Likewise.
864         * mmo.c: Likewise.
865         * opncls.c: Likewise.
866         * pdp11.c: Likewise.
867         * pe-x86_64.c: Likewise.
868         * peXXigen.c: Likewise.
869         * pef-traceback.h: Likewise.
870         * pei-x86_64.c: Likewise.
871         * peicode.h: Likewise.
872         * plugin.c: Likewise.
873         * reloc.c: Likewise.
874         * riscix.c: Likewise.
875         * section.c: Likewise.
876         * som.c: Likewise.
877         * syms.c: Likewise.
878         * tekhex.c: Likewise.
879         * ticoff.h: Likewise.
880         * vaxbsd.c: Likewise.
881         * xcofflink.c: Likewise.
882         * xtensa-isa.c: Likewise.
883
884 2013-01-10  Will Newton <will.newton@imgtec.com>
885
886         * Makefile.am: Add Meta.
887         * Makefile.in: Regenerate.
888         * archures.c (bfd_mach_metag): New.
889         * bfd-in2.h: Regenerate.
890         * config.bfd: Add Meta.
891         * configure: Regenerate.
892         * configure.in: Add Meta.
893         * cpu-metag.c: New file.
894         * elf-bfd.h: Add Meta.
895         * elf32-metag.c: New file.
896         * elf32-metag.h: New file.
897         * libbfd.h: Regenerate.
898         * reloc.c: Add Meta relocations.
899         * targets.c: Add Meta.
900
901 2013-01-08  Yufeng Zhang  <yufeng.zhang@arm.com>
902
903         * elf-bfd.h (elfcore_write_aarch_tls): Add prototype.
904         (elfcore_write_aarch_hw_break): Likewise.
905         (elfcore_write_aarch_hw_watch): Likewise.
906         * elf.c (elfcore_grok_aarch_tls): New function.
907         (elfcore_grok_aarch_hw_break): Likewise.
908         (elfcore_grok_aarch_hw_watch): Likewise.
909         (elfcore_grok_note): Call the new functions to handle the
910         corresponding notes.
911         (elfcore_write_aarch_tls): New function.
912         (elfcore_write_aarch_hw_break): Likewise.
913         (elfcore_write_aarch_hw_watch): Likewise.
914         (elfcore_write_register_note): Call the new functions to handle the
915         corresponding pseudo sections.
916
917 2013-01-07  Tom Tromey  <tromey@redhat.com>
918
919         * section.c (_bfd_std_section): Rename from std_section.
920         (bfd_com_section_ptr, bfd_und_section_ptr, bfd_abs_section_ptr)
921         (STD_SECTION): Update.
922         * bfd-in2.h: Rebuild.
923
924 2013-01-04  Juergen Urban <JuergenUrban@gmx.de>
925
926         * archures.c (bfd_mach_mips5900): Define.
927         * bfd-in2.h: Regenerate.
928         * config.bfd: Add mips64-ps2-elf and mips-ps2-elf targets.
929         * cpu-mips.c: Add support for MIPS r5900.
930         * elfxx-mips.c: Add support for MIPS r5900 (extension of r4000).
931
932 2013-01-03  Nickolai Zeldovich  <nickolai@csail.mit.edu>
933             Nick Clifton  <nickc@redhat.com>
934
935         * elflink.c (get_value): Prevent the use of an undefined shift
936         operation.  Add sanity checks.
937
938 2013-01-02  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
939
940         * config.bfd (cr16*-*-uclinux*): New target support.
941
942
943 For older changes see ChangeLog-2012
944 \f
945 Copyright (C) 2013 Free Software Foundation, Inc.
946
947 Copying and distribution of this file, with or without modification,
948 are permitted in any medium without royalty provided the copyright
949 notice and this notice are preserved.
950
951 Local Variables:
952 mode: change-log
953 left-margin: 8
954 fill-column: 74
955 version-control: never
956 End: