* elf32-mips.c (mips_elf_calculate_relocation): Handle R_MIPS16_26.
[deliverable/binutils-gdb.git] / bfd / ChangeLog
1 1999-07-13 Mark Mitchell <mark@codesourcery.com>
2
3 * elf32-mips.c (mips_elf_calculate_relocation): Handle R_MIPS16_26.
4 (mips_elf_relocate_section): Adjust calling sequence for
5 mips_elf_perform_relocation.
6 (mips_elf_perform_relocation): Take additional argument. Handle
7 R_MIPS16_26. Use bfd_put for convenience.
8
9 1999-07-13 Richard Henderson <rth@cygnus.com>
10
11 * elf.c (assign_file_positions_for_segments): Thinko last change.
12 Always overwrite p_flags.
13
14 1999-07-13 Richard Henderson <rth@cygnus.com>
15
16 * elf-bfd.h (struct elf_backend_data): Add want_dynbss.
17 * elflink.c (_bfd_elf_create_dynamic_sections): Only create
18 .dynbss and .rel[a].bss if want_dynbss.
19 * elfxx-target.h (elf_backend_want_dynbss): Provide default.
20
21 1999-07-13 Richard Henderson <rth@cygnus.com>
22
23 * elf.c (assign_file_positions_for_segments): Don't overwrite p_flags.
24
25 1999-07-13 Richard Henderson <rth@cygnus.com>
26
27 * elf-bfd.h (struct elf_link_local_dynamic_entry): New.
28 (struct elf_link_hash_table): Add dynlocal.
29 (_bfd_elf_link_lookup_local_dynindx): Prototype.
30 (_bfd_elf_link_adjust_dynindx): Delete.
31 (_bfd_elf_link_renumber_dynsyms): Prototype.
32 (_bfd_elf,link_record_local_dynamic_symbol): Prototype.
33 * elfcode.h (elf_link_record_local_dynamic_symbol): New alias.
34 * elflink.c (_bfd_elf_link_adjust_dynindx): Delete.
35 (_bfd_elf_link_lookup_local_dynindx): New function.
36 (elf_link_renumber_hash_table_dynsyms): New function.
37 (_bfd_elf_link_renumber_dynsyms): New function.
38 * elflink.h (elf_link_record_local_dynamic_symbol): New function.
39 (struct elf_assign_sym_version_info): Delete removed_dynamic.
40 (bfd_elf,size_dynamic_sections): Use _bfd_strip_section_from_output
41 instead of elf_link_remove_section_and_adjust_dynindices.
42 Remove removed_dynamic code. Use _bfd_elf_link_renumber_dynsyms.
43 (elf_link_assign_sym_version): Remove removed_dynamic code.
44 (elf_link_renumber_dynsyms): Delete.
45 (elf_bfd_final_link): Install section and local symbols into .dynsym.
46
47 * elf32-m68k.c (elf_m68k_adjust_dynindx): Delete.
48 (elf_m68k_size_dynamic_sections): Don't set section dynindicies.
49 (elf_m68k_finish_dynamic_sections): Don't write section dynsyms.
50 * elf32-mips.c: Similarly.
51 * elf32-ppc.c: Similarly.
52 * elf32-sparc.c: Similarly.
53 * elf64-alpha.c: Similarly.
54 * elf64-sparc.c: Similarly.
55
56 1999-07-13 Mark Mitchell <mark@codesourcery.com>
57
58 * elf32-mips.c (mips_elf_calculate_relocation): Do not complain
59 when _gp_disp is undefined. Do not check R_MIPS_LO16 for overflow
60 when the relocation is against _gp_disp.
61
62 1999-07-12 Mark Mitchell <mark@codesourcery.com>
63
64 * dwarf2.c (read_attribute): Support DW_FORM_ref8.
65 * elf32-mips.c (mips_elf_link_hash_entry): Change mips_32_relocs
66 to possibly_dynamic_relocs. Adjust usage throughout code.
67 (elf_mips_howto_table): Handle R_MIPS_64 correctly.
68 (elf_mips_ctor64_howto): Likewise.
69 (mips_elf_calculate_relocation): Handle R_MIPS_64 like R_MIPS_32.
70 Adjust indentation.
71 (mips_elf_relocate_section): Handle R_MIPS_64 in 32-bit mode.
72 (_bfd_mips_elf_check_relocs): Handle R_MIPS_64 like R_MIPS_32.
73 Use MIPS_ELF_GOT_SIZE to calculate the size of GOT entries.
74 * elf64-mips.c (elf_backend_may_use_rel_p): Define.
75
76 1999-07-12 Ian Lance Taylor <ian@zembu.com>
77
78 * Makefile.am: Rebuild dependencies.
79 * Makefile.in: Rebuild.
80
81 * bfd-in.h: Remove tests of COFF_IMAGE_WITH_PE.
82 * bfd-in2.h: Rebuild.
83
84 * Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSED
85 as appropriate. Use EMPTY_HOWTO as appropriate. Fill in
86 structure initializations. Add casts.
87 * reloc.c (EMPTY_HOWTO): Define.
88 * bfd-in2.h: Rebuild.
89 * coff-h8300.c (h8300_reloc16_extra_cases): Remove useless
90 comparisons against 0.
91 * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Change
92 previous_ibfd_e_flags to unsigned long.
93 * vms.h (struct vms_private_data_struct): Change section_count to
94 unsigned.
95 * vms-gsd.c (_bfd_vms_slurp_gsd): Change psect_idx to unsigned.
96 (_bfd_vms_write_gsd): Change symnum to unsigned.
97 * vms-hdr.c (_bfd_vms_write_hdr): Change symnum to unsigned.
98 * vms-tir.c (etir_sta): Change psect to unsigned.
99 (alloc_section): Change idx to unsigned.
100 (tir_sta, tir_ctl): Change psect to unsigned.
101 (_bfd_vms_write_tir): Change len and before to bfd_size_type.
102 * vms.c (priv_section_count): Change to unsigned.
103
104 1999-07-12 Andreas Schwab <schwab@suse.de>
105
106 * elf32-m68k.c: Add some ATTRIBUTE_UNUSED.
107 * m68klinux.c: Likewise.
108
109 1999-07-12 Ian Lance Taylor <ian@zembu.com>
110
111 * Many files: Changes to avoid gcc warnings: Remove unused local
112 variables. Add default case to enum switches.
113 * coff-arm.c (bfd_arm_allocate_interworking_sections): Only
114 compile if not COFF_IMAGE_WITH_PE.
115 (record_arm_to_thumb_glue, record_thumb_to_arm_glue): Likewise.
116 (bfd_arm_get_bfd_for_interworking): Likewise.
117 (bfd_arm_process_before_allocation): Likewise.
118 * epoc-pei-arm.c: Don't rename bfd_arm functions.
119 * pei-arm.c: Likewise.
120 * elf32-mips.c (mips_elf_link_hash_table_create): Don't declare.
121 (MIPS_ELF_ADD_DYNAMIC_ENTRY): Correct last change.
122 (mips_elf_got16_entry): Put parens around & in body of ==.
123 (mips_elf_calculate_relocation): Correct test for empty string.
124 * vms-gsd.c: Use _bfd_error_handler rather than fprintf to
125 stderr.
126 * vms-misc.c (_bfd_vms_length_hash_symbol): Correct sprintf
127 format.
128
129 1999-07-11 Ian Lance Taylor <ian@zembu.com>
130
131 * Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSED
132 as appropriate. Fill in structure initializations. Add variable
133 initializations. Add casts.
134 * dwarf1.c (parse_line_table): Change eachLine to unsigned long.
135 (dwarf1_unit_find_nearest_line): Change i to unsigned long.
136
137 * elf.c (bfd_elf_hash): Change parameter from unsigned char * to
138 char *.
139 * elf-bfd.h (bfd_elf_hash): Update declaration.
140 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Remove casts
141 when calling bfd_elf_hash.
142
143 1999-07-11 Mark Mitchell <mark@codesourcery.com>
144
145 * libbfd.c (bfd_put_8): Make it of type `void'.
146 * bfd-in2.h: Regenerated.
147 * elf32-mips.c (MIPS_ELF_ADD_DYNAMIC_ENTRY): Conditionalize
148 for 32-bit hosts.
149 (_bfd_mips_elf_final_link): Likewise.
150
151 * elflink.h (elf_link_read_relocs_from_section): Be type-correct.
152
153 Thu Jul 8 12:32:23 1999 John David Anglin <dave@hiauly1.hia.nrc.ca>
154
155 * config.bfd (hppa*-*-linux-gnu*): New target
156
157 1999-07-07 Mark Mitchell <mark@codesourcery.com>
158
159 * elf-bfd.h (_bfd_mips_elf_section_from_shdr): Constify.
160 (_bfd_mips_elf_create_dynamic_sections): New function.
161 (_bfd_mips_elf_add_symbol_hook): Likewise.
162 (_bfd_mips_elf_adjust_dynamic_symbol): Likewise.
163 (_bfd_mips_elf_finish_dynamic_symbol): Likewise.
164 (_bfd_mips_elf_finish_dynamic_sections): Likewise.
165 (_bfd_mips_elf_gc_mark_hook): Likewise.
166 (_bfd_mips_elf_gc_sweep_hook): Likewise.
167 (_bfd_mips_elf_always_size_sections): Likewise.
168 (_bfd_mips_elf_size_dynamic_sections): Likewise.
169 (_bfd_mips_elf_check_relocs): Likewise.
170 (_bfd_mips_elf_link_hash_table_create): Likewise.
171 (_bfd_mips_elf_print_private_data): Likewise.
172 (_bfd_mips_elf_link_output_symbol_hook): Likewise.
173 (_bfd_mips_elf_final_link): Likewise.
174 (_bfd_mips_elf_additional_program_headers): Likewise.
175 (_bfd_mips_elf_modify_segment_map): Likewise.
176 (_bfd_mips_elf_relocate_section): Likewise.
177 * elf32-mips.c (mips_elf32_object_p): Move contents into
178 _bfd_mips_elf_object_p.
179 (mips_elf_additional_program_headers): Rename to
180 _bfd_mips_elf_additional_program_headers.
181 (mips_elf_modify_segment_map): Rename to
182 _bfd_mips_elf_modify_segment_map.
183 (elf_mips_abi_name): Change prototype.
184 (mips_elf32_section_from_shdr): Merge into
185 _bfd_mips_elf_section_from_shdr.
186 (mips_elf32_section_processing): Merge into
187 _bfd_mips_elf_section_processing.
188 (mips_elf_final_link): Rename to _bfd_mips_elf_final_link. Invoke
189 the right back-end ELF linker.
190 (mips_elf_relocate_section): Rename to
191 _bfd_mips_elf_relocate_section. Clean up. Adjust for 64-bit code.
192 (mips_elf_link_output_symbol_hook): Rename to
193 _bfd_mips_elf_link_output_symbol_hook.
194 (mips_elf_create_dynamic_section): Rename to
195 _bfd_mips_elf_create_dynamic_section.
196 (mips_elf_check_relocs): Rename to _bfd_mips_elf_check_relocs.
197 Adjust for 64-bit code. Use mips_elf_got_section.
198 (mips_elf_adjust_dynamic_symbol): Rename to
199 _bfd_mips_elf_adjust_dynamic_symbol. Use
200 mips_elf_allocate_dynamic_relocations.
201 (mips_elf_finish_dynamic_symbol): Rename to
202 _bfd_mips_elf_finish_dynamic_symbol. Use mips_elf_got_section.
203 Adjust for 64-bit code.
204 (mips_elf_finish_dynamic_sections): Rename to
205 _bfd_mips_elf_finish_dynamic_sections. Adjust for 64-bit code.
206 (mips_elf_always_size_sections): Rename to
207 _bfd_mips_elf_always_size_sections.
208 (mips_elf_add_symbol_hook): Rename to
209 _bfd_mips_elf_add_symbol_hook.
210 (mips_elf_next_lo16_addend): Constify.
211 (mips_elf_calculate_relocation): Likewise.
212 (mips_elf_obtain_contents): Likewise.
213 (mips_elf_perform_relocation): Likewise.
214 (mips_elf_create_dynamic_relocation): Likewise.
215 (mips_elf_allocate_dynamic_relocations): New function.
216 (MIPS_ELF_REL_DYN_SECTION_NAME): New macro.
217 (MIPS_ELF_REL_SIZE): Likewise.
218 (MIPS_ELF_DYN_SIZE): Likewise.
219 (MIPS_ELF_GOT_SIZE): Likewise.
220 (MIPS_ELF_SYM_SIZE): Likewise.
221 (MIPS_ELF_LOG_FILE_ALIGN): Likewise.
222 (MIPS_ELF_GET_WORD): Likewise.
223 (MIPS_ELF_PUT_WORD): Likewise.
224 (MIPS_ELF_ADD_DYNAMIC_ENTRY): Likewise.
225 (STUB_LW): Conditionalize for 64-bit value.
226 (elf_mips_howto_table): Add R_MIPS_HIGHER and R_MIPS_HIGHEST
227 entries.
228 (_bfd_mips_elf_merge_private_bfd_data): Merge e_ident[EI_CLASS].
229 Check it for inconsistency.
230 (_bfd_mips_elf_print_private_bfd_data): Print ABI=64 for 64-bit
231 ABI.
232 (_bfd_mips_elf_fake_sections): Remove duplicate handling of
233 .msym.
234 (mips_elf_global_got_index): Use MIPS_ELF_GOT_SIZE.
235 (mips_elf_got_offset_from_index): Use misp_elf_got_section.
236 (mips_elf_create_local_got_entry): Use MIPS_ELF_GOT_SIZE.
237 (mips_elf_local_got_index): Likewise.
238 (mips_elf_got_page): Likewise.
239 (mips_elf_got_info): Likewise.
240 (mips_elf_create_dynamic_relocation): Handle 32-bit/64-bit split.
241 (ELF_DYNAMIC_INTERPRETER): Handle 64-bit code.
242 (mips_elf_create_dynamic_sections): Use MIPS_ELF_LOG_FILE_ALIGN,
243 instead of constant `2'.
244 (mips_elf_create_got_section): Tidy. Use MIPS_ELF_GOT_SIZE.
245 (mips_elf_create_msym_section): Use MIPS_ELF_LOG_FILE_ALIGN.
246 (mips_elf_size_dynamic_sections): Use
247 MIPS_ELF_REL_DYN_SECTION_NAME, MIPS_ELF_GOT_SIZE,
248 MIPS_ELF_ADD_DYNAMIC_ENTRY. Remove #if 0'd code.
249 Adjust all releveant entries in elf backend table.
250 * elf64-mips.c (mips_elf64_section_from_shdr): Remove.
251 (mips_elf64_section_processing): Likewise.
252 Adjust elf backend entries to use _bfd_mips_elf variants now
253 publicly available.
254
255 * elflink.h (elf_link_create_dynamic_sections): Handle non-standard
256 hash-entry sizes.
257 (size_dynamic_sections): Likewise.
258 (elf_link_output_extsym): Likewise.
259 * elf.c: (elf_fake_sections): Likewise.
260 * libbfd.c (bfd_get): New macro.
261 (bfd_put): Likewise.
262 * bfd-in2.h: Regenerated.
263
264 1999-07-07 Mark Mitchell <mark@codesourcery.com>
265
266 * elf-bfd.h (elf_size_info): Add hash_entry_size,
267 int_rels_per_ext_rel, swap_dyn_out, swap_reloc_in, swap_reloc_out,
268 wap_reloca_in, and swap_reloca_out.
269 * elflink.h (elf_link_read_relocs_from_section): Adjust to handle
270 multiple internal relocations per external relocation.
271 (link_read_relocs): Likewise.
272 (elf_bfd_final_link): Likewise.
273 (elf_link_input_bfd): Likewise.
274 (elf_gc_mark): Likewise.
275 (elf_gc_smash_unused_vtentry_relocs): Likewise.
276 * elfcode.h (elf_swap_dyn_out): Adjust type to match
277 elf_swap_dyn_in.
278 (size_info): Add entries for new fields.
279 * elf64-mips.c (mips_elf64_swap_reloc_out): Enable.
280 (mips_elf64_be_swap_reloc_in): New function.
281 (mips_elf64_be_swap_reloc_out): Likewise.
282 (mips_elf64_be_swap_reloca_in): Likewise.
283 (mips_elf64_be_swap_reloca_out): Likewise.
284 (mips_elf64_size_info): Add entries for new fields.
285
286 1999-07-07 Ian Lance Taylor <ian@zembu.com>
287
288 * elflink.h (elf_bfd_final_link): Assert that section reloc_count
289 field equals the new rel_count field.
290 (elf_link_input_bfd): When doing a relocateable link, use the new
291 rel_count field rather than the reloc_count field.
292 (elf_reloc_link_order): Likewise.
293 (elf_finish_pointer_linker_section): Likewise.
294
295 Based on patch from H.J. Lu <hjl@gnu.org>:
296 * elflink.h (elf_merge_symbol): Permit a non-weak definition in a
297 shared library to override a weak definition in a regular object.
298
299 Tue Jul 6 10:23:39 1999 Jeffrey A Law (law@cygnus.com)
300
301 * libhppa.h: Revert July 2, 1999 patch.
302
303 * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): T mode selectors
304 need to generate DLTIND relocations, not DLTREL relocations.
305
306 1999-07-05 Nick Clifton <nickc@cygnus.com>
307
308 * coffcode.h (coff_set_arch_mach_hook): Recognise arm 5
309 architectures.
310 (coff_set_flags): Recognise arm 5 architectures.
311
312 * cpu-arm.c: Add support for strongarm and arm9 cpus.
313 Add support for armv5 architecture.
314
315 * archures.c: Add bfd_mach_arm_5 and bfd_mach_arm_5T.
316
317 * reloc.c: Add new, assembler only, ARM reloc:
318 BFD_RELOC_ARM_ADRL_IMMEDIATE.
319
320 * bfd-in2.h: Regenerate.
321
322 1999-07-02 Mark Mitchell <mark@codesourcery.com>
323
324 * dwarf2.c (parse_comp_unit): Add ABBREV_LENGTH parameter.
325 (_bfd_dwarf2_find_nearest_line): Add ADDR_SIZE parameter.
326 * elf.c (_bfd_elf_find_nearest_line): Pass it.
327 * elf32-arm.h (elf32_arm_find_nearest_line): Likewise.
328 * elf32-mips.c (ABI_64_P): New macro.
329 (IRIX_COMPAT): We are IRIX6-compatible if ABI_64_P.
330 (_bfd_mips_elf_find_nearest_line): Adjust call to
331 _bfd_dwarf2_find_nearest_line.
332 * libbfd-in.h (_bfd_dwarf2_find_nearest_line): Update prototype.
333 * libbfd.h: Regenerated.
334
335 1999-07-02 Ian Lance Taylor <ian@zembu.com>
336
337 * config.bfd: Add * at the end of i[3456]86-*-unixware.
338
339 Fri Jul 2 12:21:10 1999 Jeffrey A Law (law@cygnus.com)
340
341 * libhppa.h (HPPA_R_ARG_RELOC): Delete.
342 (HPPA_R_CONSTANT, HPPA_R_ADDEND): Likewise.
343
344 1999-07-01 Mark Mitchell <mark@codesourcery.com>
345
346 * elf-bfd.h (bfd_elf_section_data): Add rel_count and rel_count2
347 fields.
348 (_bfd_elf_init_reloc_shdr): New function.
349 * elf.c (_bfd_elf_new_section_hook): Use bfd_zalloc, rather than
350 bfd_alloc followed by memset.
351 (_bfd_elf_init_reloc_shdr): New function, split out from ...
352 (elf_fake_sections): Here.
353 (assign_section_numbers): Assign section numbers for the second
354 relocation section, if required.
355 * elflink.h (elf_link_output_relocs): New function.
356 (elf_link_size_reloc_section): Likewise.
357 (elf_bfd_final_link): Use elf_link_size_reloc_section.
358 (elf_link_input_bfd): Use elf_link_output_relocs.
359
360 * elf32-mips.c (_bfd_mips_elf_fake_sections): Use
361 _bfd_elf_init_reloc_shdr to initialize rel_hdr2.
362
363 Thu Jul 1 13:58:48 1999 Jeffrey A Law (law@cygnus.com)
364
365 * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Handle R_PCREL_CALL
366 with 22bit format.
367
368 1999-06-28 Mark Mitchell <mark@codesourcery.com>
369
370 * elf32-mips.c (mips_elf_got_info): Move declaration before
371 prototypes. Change global_gotsym to be a pointer to a hash entry,
372 rather than a number index.
373 (mips_elf_link_hash_entry): Move declaration before prototypes.
374 (mips_elf_irix6_finish_dynamic_symbol): New function.
375 (mips_elf_sign_extend): Likewise.
376 (mips_elf_high): Likewise.
377 (mips_elf_higher): Likewise.
378 (mips_elf_highest): Likewise.
379 (mips_elf_global_got_index): Likewise.
380 (mips_elf_local_got_index): Likewise.
381 (mips_elf_got_offset_from_index): Likeiwse.
382 (mips_elf_record_global_got_symbol): Likewise.
383 (mips_elf_got_page): Likewise.
384 (mips_elf_next_lo16_addend): Likewise.
385 (mips_elf_calculate_relocation): Likewise.
386 (mips_elf_obtain_contents): Likewise.
387 (mips_elf_perform_relocation): Likewise.
388 (mips_elf_assign_gp): Likewise.
389 (mips_elf_sort_hash_table_f): Likewise.
390 (mips_elf_sort_hash_table): Likewise.
391 (mips_elf_got_section): Likewise.
392 (mips_elf_got_info): Likewise.
393 (mips_elf_create_local_got_entry): Likewise.
394 (mips_elf_got16_entry): Likewise.
395 (mips_elf_create_dynamic_relocation): Likewise.
396 (elf_mips_howto_table): Add description of R_MIPS_SCN_DISP.
397 (mips_elf_final_gp): Use mips_elf_assign_gp.
398 (_bfd_mips_elf_symbol_processing): Don't move SHN_COMMON symbols
399 into SHN_SCOMMON automatically on IRIX6.
400 (mips_elf_add_symbol_hook): Likewise.
401 (mips_elf_relocate_section): Rewrite, using
402 mips_elf_calculate_relocation and mips_elf_perform_relocation.
403 (mips_elf_create_dynamic_section): Use MIPS_ELF_STUB_SECTION_NAME.
404 Don't deal with .rld_map on IRIX6.
405 (mips_elf_create_got_section): Adjust use of global_gotsym. Set
406 section flags appropriately for .got.
407 (mips_elf_check_relocs): Handle IRIX6 relocations making use of
408 the got. Call mips_elf_record_global_got_symbol and allocate
409 local got space appropriately.
410 (mips_elf_size_dynamic_sections): Use bfd_byte *, not unsigned
411 char *. Rework calculation of GOT size. Sort dynamic symbol
412 table entries so entries that do not require GOT entries appear at
413 the beginning. Don't use DT_MIPS_HIPAGENO on IRIX6. Remove dead
414 code dealing with DT_INIT and DT_FINI. Remove fiddling with
415 global_gotsym.
416 (mips_elf_finish_dynamic_symbol): Adjust creation of global GOT
417 entries.
418 (mips_elf_finish_dynamic_symbol): Use
419 mips_elf_irix6_finish_dynamic_symbol.
420 (mips_elf_finish_dynamic_sections): Correct off-by-one error
421 setting DT_MIPS_UNREFEXTNO. Adjust setting of DT_MIPS_GOTSYM for
422 change to global_gotsym. Set DT_MIPS_OPTIONS on IRIX6.
423
424 1999-06-30 Ian Lance Taylor <ian@zembu.com>
425
426 * elf32-mips.c (mips_elf_final_link): Don't set CPIC when doing a
427 relocateable link. From Ralf Baechle <ralf@uni-koblenz.de>.
428
429 1999-06-04 Philip Blundell <philb@gnu.org>
430
431 * elf32-arm.h (elf_backend_got_header_size): Define.
432 (elf_backend_plt_header_size): Likewise.
433
434 1999-06-28 Jim Pick <jim@jimpick.com>
435
436 * elf32-arm.h (elf32_arm_relocate_section): Mind no_undefined
437
438 Tue Jun 29 02:25:03 1999 Jeffrey A Law (law@cygnus.com)
439
440 * elf-hppa.c (elf_hppa_howto_table): Use bfd_elf_generic_reloc as
441 relocation function.
442 * elf32-hppa.c (hppa_elf_reloc): Kill unused/unwanted function.
443
444 1999-06-27 Mark Mitchell <mark@codesourcery.com>
445
446 * elf32-mips.c (MIPS_ELF_SRDATA_SECTION_NAME): New macro.
447 (MIPS_ELF_OPTIONS_SECTION_NAME): Likewise.
448 (MIPS_ELF_STUB_SECTION_NAME): Likewise.
449 (_bfd_mips_elf_section_from_shdr): Use them.
450 (_bfd_mips_elf_fake_sections): Likewise. Add .srdata to the list
451 of GP-relative sections.
452 (_bfd_mips_elf_set_section_contents): Use them.
453 (_bfd_mips_elf_section_processing): Share code between .sdata and
454 .lit4/.lit8 sections. Set appropriate flags for .srdata.
455 (mips_elf_additional_program_headers): Add handling for
456 PT_MIPS_OPTIONS segment on IRIX6.
457 (mips_elf_modify_segment_map): Likeiwse.
458 (mips_elf_final_link): Set EF_MIPS_CPIC when required by the ABI.
459 Include the options sections on IRIX6. Don't look for GP-relative
460 sections by name; use SHF_MIPS_GPREL instead.
461 (ELF_DYNAMIC_INTERPRETER): Adjust to use /usr/lib32/libc.so.1 for
462 the N32 ABI.
463 (mips_elf_create_dynamic_sections): Don't muck about with section
464 alignments and such on IRIX6.
465 (mips_elf_adjust_dynamic_symbol): Use MIPS_ELF_STUB_SECTION_NAME.
466 (mips_elf_size_dynamic_sections): Likewise. Adjust to handle the
467 fact that ELF_DYNAMIC_INTERPRETER is no longer a constant. Use
468 bfd_zalloc rather than bfd_alloc and memset.
469 (mips_elf_finish_dynamic_symbol): Use MIPS_ELF_STUB_SECTION_NAME.
470 Don't assert the existence of .rld_map on IRIX6.
471 (mips_elf_finish_dynamic_sections): Use MIPS_ELF_STUB_SECTION_NAME.
472
473 * elf32-mips.c (mips_elf_adjust_dynindx): Remove.
474 (mips_elf_size_dynamic_sections): Use _bfd_elf_link_adjust_dynindx
475 instead.
476
477 1999-06-26 Mark Mitchell <mark@codesourcery.com>
478
479 * elf32-mips.c (mips_elf_swap_msym_in): New function.
480 (mips_elf_swap_msym_out): New function.
481 (mips_elf_create_msym_section): Likewise.
482 (MIPS_ELF_MSYM_SECTION_NAME): New macro.
483 (_bfd_mips_elf_final_write_processing): Set sh_link for .msym.
484 (_bfd_mips_elf_section_from_shdr): Reject an SHT_MIPS_MSYM
485 section not named .msym.
486 (_bfd_mips_elf_fake_sections): Use MIPS_ELF_MSYM_SECTION_NAME, not
487 .msym directly. Set appropriate attributes for the .msym
488 section.
489 (mips_elf_link_hash_entry): Add min_dyn_reloc_index field.
490 (mips_elf_link_hash_newfunc): Clear it.
491 (mips_elf_create_dynamic_sections): Create the .msym section
492 on IRIX6.
493 (mips_elf_size_dynamic_sections): Allocate space for the
494 .msym section. Add a DT_MIPS_MSYM entry.
495 (mips_elf_finish_dynamic_symbol): Write out a .msym entry for
496 the symbol.
497 (mips_elf_finish_dynamic_sections): Assign a value for
498 DT_MIPS_MSYM. Add .msym entries for the section symbols as well.
499
500 * elf32-mips.c (irix_compat_t): New enumeration.
501 (ABI_N32_P): New macro.
502 (IRIX_COMPAT): Likewise.
503 (SGI_COMPAT): Implement in terms of IRIX_COMPAT.
504 (mips_elf_relocate_section): Fix typo.
505
506 1999-06-26 Mumit Khan <khan@xraylith.wisc.edu>
507
508 * peicode.h (coff_swap_scnhdr_out): Mark non readonly BFD sections
509 as writable PE sections.
510
511 1999-06-26 David Mosberger <davidm@hpl.hp.com>
512
513 * dwarf2.c (struct arange): New type.
514 (struct comp_unit): Replace LOW and HIGH by member ARANGE.
515 (arange_add): New function.
516 (decode_line_info): Keep track of address ranges that a compilation
517 unit covers.
518 (comp_unit_contains_address): Return true if address is contained
519 in _any_ of the address ranges associated with a compilation unit.
520 (_bfd_dwarf2_find_nearest_line): Call comp_unit_find_nearest_line
521 on the first comp_unit that contains the address.
522
523 1999-06-26 David Mosberger <davidm@hpl.hp.com>
524
525 * dwarf2.c (struct dwarf2_debug): Add member dwarf_line_buffer.
526 (decode_line_info): Add variable STASH and initialize it to point
527 to the per-bfd dwarf2_debug info. Remove static variable
528 dwarf_line_buffer and use stash->dwarf_line_buffer in its place.
529
530 1999-06-26 Ian Lance Taylor <ian@zembu.com>
531
532 * elflink.h (elf_link_output_extsym): It's OK for a -Bsymbolic
533 shared library to have an undefined symbol.
534
535 From Franz Sirl <Franz.Sirl-kernel@lauterbach.com>:
536 * elf32-ppc.c (ppc_elf_relocate_section): Fix last patch.
537
538 Thu Jun 24 20:59:11 1999 Jeffrey A Law (law@cygnus.com)
539
540 * elf-hppa.c (elf_hppa_final_write_processing): New function.
541 * elf32-hppa.c: Remove everything related to symbol extension
542 sections & records. Use the common elf_hppa_final_write_processing.
543
544 1999-06-22 Mark Mitchell <mark@codesourcery.com>
545
546 * elflink.h (size_dynamic_sections): Use user-specified init/fini
547 functions instead of _init/_fini if requested.
548
549 1999-06-23 Ian Lance Taylor <ian@zembu.com>
550
551 * elf.c (bfd_section_from_shdr): Avoid crashing on a bogus sh_link
552 field.
553
554 1999-06-22 Ian Lance Taylor <ian@zembu.com>
555
556 From Franz Sirl <Franz.Sirl-kernel@lauterbach.com>:
557 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Set unused dynindx
558 field to 0, not -1.
559 (ppc_elf_finish_dynamic_sections): Check for positive section
560 dynindx field, rather than comparing against -1.
561 (ppc_elf_relocate_section): Only return false if undefined_symbol
562 or reloc_overflow fail, not always upon encountering an error.
563
564 1999-06-22 Mark Mitchell <mark@codesourcery.com>
565
566 * elflink.h (link_read_relocs): Explicitly cast external_relocs to
567 bfd_byte * before performing pointer arithmetic.
568
569 Tue Jun 22 13:06:25 1999 Jeffrey A Law (law@cygnus.com)
570
571 * elf-hppa.h: New file. Common stuff for elf32 and elf64 PA
572 support.
573 * elf32-hppa.c: Include elf-hppa.h.
574 (ARCH_SIZE): Define.
575 (elf_hppa_reloc_type_lookup): Delete. Found in the common code
576 now.
577 (elf32_hppa_info_to_howto): Similarly.
578 (elf_hppa_howto_table): Similarly.
579 (elf_hppa_reloc_type_lookup): Similarly.
580 (hppa_elf_gen_reloc_type): Similarly.
581 * elf32-hppa.h (ELF_HOWTO_TALBE, N_PARISC_RELOCS): Delete.
582
583 1999-06-22 Nick Clifton <nickc@cygnus.com>
584
585 * elf32-v850.c (v850_elf_final_link_relocate): Catch overflow
586 handling R_V850_22_PCREL relocation.
587
588 1999-06-21 Ian Lance Taylor <ian@zembu.com>
589
590 * coff-arm.c (arm_emit_base_file_entry): Explicitly declare return
591 type.
592
593 Sun Jun 20 14:13:57 1999 Richard Henderson <rth@cygnus.com>
594
595 * section.c (_bfd_strip_section_from_output): Ignore sections
596 DISCARDed by the link script.
597
598 1999-06-19 Ian Lance Taylor <ian@zembu.com>
599
600 * elflink.h (elf_link_remove_section_and_adjust_dynindices):
601 Remove unused local variable spp.
602
603 * xcofflink.c (bfd_xcoff_size_dynamic_sections): Don't crash if
604 the entry symbol is not set.
605
606 Fri Jun 18 04:24:57 1999 Richard Henderson <rth@cygnus.com>
607
608 * elf64-alpha.c (elf64_alpha_relocate_section): Don't adjust
609 GPDISP or LITUSE in a relocatable link.
610
611 Thu Jun 17 21:24:43 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
612
613 * dwarf1.c (alloc_dwarf1_unit): Allocate using bfd_zalloc.
614 * (alloc_dwarf1_func): Likewise.
615
616 Wed Jun 16 03:09:57 1999 Jeffrey A Law (law@cygnus.com)
617
618 * libhppa.h: Fix various formatting errors.
619 (assemble_3); Rewrite using CATENATE.
620 (assemble_17): Fix various bugs.
621
622 1999-06-16 Nick Clifton <nickc@cygnus.com>
623
624 * elf32-mcore.c (R_MCORE_RAW): Fix definition.
625
626 1999-06-15 Richard Henderson <rth@cygnus.com>
627
628 * section.c (SEC_SHORT): Define.
629 * bfd-in2.h: Rebuild.
630
631 1999-06-13 Mark Mitchell <mark@codesourcery.com>
632
633 * elflink.h (elf_link_remove_section_and_adjust_dynindices):
634 Remove abfd parameter. Use _bfd_strip_section_from_output.
635 (bfd_elf_size_dynamic_sections): Adjust callers accordingly.
636
637 * elf-bfd.h (_bfd_elf_link_adjust_dynindx): New function.
638 * elflink.c (_bfd_elf_link_adjust_dynindx): Define it.
639 * elflink.h (elf_link_remove_section_and_adjust_dynindices): New
640 function.
641 (bfd_elf_size_dynamic_sections): Use it.
642
643 1999-06-13 Alan Modra <alan@spri.levels.unisa.edu.au>
644
645 * elf32-i386.c (elf_howto_table): Change R_386_PC8 from
646 complain_overflow_bitfield to complain_overflow_signed.
647
648 1999-06-13 Mark Mitchell <mark@codesourcery.com>
649
650 * elflink.h (elf_link_read_relocs_from_section): New function,
651 split out from ...
652 (elf_link_read_relocs): Here. Use it for both relocation
653 sections.
654
655 1999-06-12 Mark Mitchell <mark@codesourcery.com>
656
657 * elfcode.h (elf_slurp_reloc_table_from_section): Don't assume
658 asect->reloc_count is valid.
659
660 1999-06-12 Ian Lance Taylor <ian@zembu.com>
661
662 * elf32-mips.c (mips_elf32_section_processing): Permit a
663 SHT_MIPS_REGINFO section to have a size of 0.
664
665 1999-06-12 David O'Brien <obrien@freebsd.org>
666
667 * config.bfd (alpha*-*-freebsd*): New target.
668 (i[3456]86-*-freebsd*): Now defaults to ELF.
669
670 1999-06-11 Ian Lance Taylor <ian@zembu.com>
671
672 * reloc.c (_bfd_relocate_contents): Permit bitfield relocations to
673 wrap if the relocation covers the high bit of an address.
674
675 * dwarf2.c (decode_line_info): Remove unused variable first_time.
676
677 1999-06-10 Jakub Jelinek <jj@ultra.linux.cz>
678
679 * elf64_sparc.c (sparc64_elf_relocate_section): Use R_SPARC_max_std
680 instead of R_SPARC_max.
681 (sparc64_elf_info_to_howto): Likewise.
682 * elf32_sparc.c (elf32_sparc_relocate_section): Likewise.
683 (elf32_sparc_info_to_howto): Likewise; handle vtable relocations.
684
685 1999-06-07 Richard Henderson <rth@cygnus.com>
686
687 * section.c (_bfd_strip_section_from_output): Remove output
688 sections with no initial link_order.
689
690 1999-06-07 Nick Clifton <nickc@cygnus.com>
691
692 * elf32-m88k.c (ELF_MAXPAGESIZE): Define.
693
694 Mon Jun 7 11:49:43 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
695
696 * Makefile.am (SOURCE_HFILES): Add missing headers.
697 * Makefile.in: Regenerated.
698
699 1999-06-06 Mark Mitchell <mark@codesourcery.com>
700
701 * elf32-mips.c (_bfd_mips_elf_print_private_data): Recognize
702 the N32 ABI.
703
704 1999-06-04 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
705
706 * elf32-ppc.c (ppc_elf_relocate_section): Don't barf on out of
707 range undefweak symbols.
708 * hash.c: Add missing comma after @xref{}
709 * linker.c: Likewise.
710
711 1999-06-04 Nick Clifton <nickc@cygnus.com>
712
713 * elfxx-target.h (ELF_MAXPAGESIZE): Produce an error message
714 if not defined.
715 * elf32-gen.c (ELF_MAXPAGESIZE): Define.
716 * elf32-i860.c (ELF_MAXPAGESIZE): Define.
717 * elf32-i960.c (ELF_MAXPAGESIZE): Define.
718 * elf64-gen.c (ELF_MAXPAGESIZE): Define.
719
720 1999-06-04 Ian Lance Taylor <ian@zembu.com>
721
722 * Makefile.am: Rebuild dependencies.
723 (BFD32_BACKENDS): Add dwarf1.lo.
724 (BFD32_BACKENDS_CFILES): Add dwarf1.c.
725 * Makefile.in: Rebuild.
726
727 1999-06-04 Nick Clifton <nickc@cygnus.com>
728
729 * Makefile.am: Add epoc-arm-pe target.
730 * Makefile.in: Regenerate.
731 * pe-arm.c: Only redefine interworking function names if they have
732 not already been redefined.
733 * pei-arm.c: Only redefine interworking function names if they have
734 not already been redefined.
735 * epoc-pe-arm.c: Redefine interworking function names to avoid a
736 name space clash.
737 * epoc-pei-arm.c: Redefine interworking function names to avoid a
738 name space clash.
739
740 1999-06-03 Nick Clifton <nickc@cygnus.com>
741
742 * elfxx-target.h (ELF_MAXPAGESIZE): Default to 0x1000 not 1.
743
744 Fri Jun 4 10:05:11 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
745
746 * elf.c (elf_fake_sections): Undo change of 1999-05-10.
747
748 Fri Jun 4 03:10:49 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
749
750 * elf32-sh.c (sh_elf_relax_delete_bytes): Fix setting of
751 start / stop for recalculating of r_addend of R_SH_SWITCH*.
752
753 Fri Jun 4 02:53:13 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
754
755 * elf32-sh.c (sh_elf_relax_delete_bytes): Handle R_SH_SWITCH32
756 in other text sections.
757
758 Fri Jun 4 02:29:34 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
759
760 * libbfd.c (_bfd_generic_verify_endian_match): New function.
761 * libbfd-in.h (_bfd_generic_verify_endian_match): Declare.
762 * libbfd.h: Regenerate.
763 * coff-sh.c (sh_merge_private_data): Delete.
764 (coff_bfd_merge_private_bfd_data): Change to
765 _bfd_generic_verify_endian_match.
766 (elf32-sh.c): bfd_elf32_bfd_merge_private_bfd_data: Define.
767
768 1999-06-03 Ulrich Drepper <drepper@cygnus.com>
769
770 * elf32-arm.h: Fix typo: change ELF_MAXPAGE_SIZE to ELF_MAXPAGESIZE.
771
772 1999-06-03 Ian Lance Taylor <ian@zembu.com>
773
774 * bfd-in.h (bfd_elf32_arm_allocate_interworking_sections): Correct
775 prototype.
776 (bfd_elf32_arm_process_before_allocation): Likewise.
777 * bfd-in2.h: Rebuild.
778
779 1999-06-03 David Mosberger <davidm@hpl.hp.com>
780
781 * dwarf2.c (struct line_info): Add member END_SEQUENCE to keep
782 track of end_sequence markers.
783 (add_line_info): Add END_SEQUENCE arg.
784 (decode_line_info): Don't try to infer lo_pc and hi_pc from the
785 debug-line info---it doesn't work right if a compilation unit
786 consists of multiple discontiguous code-sequences. It would be
787 worthwhile to optimize for the common case where a compilation
788 unit results in a contiguous set of code sequences, but this is
789 quite tricky to get right for arbitrary DWARF2 files.
790 (lookup_address_in_line_info_table): Don't use the last line entry
791 for a compilation unit for anything with an address higher than
792 this line entry. Also, check for end_sequence markers to
793 correctly handle discontinuities.
794 (_bfd_dwarf2_find_nearest_line): When checking previously loaded
795 compilation units, check all compilation units with each->high==0
796 just like when reading compilation units.
797
798 * dwarf2.c (decode_line_info): Initialize table->files and
799 table->last_line to NULL to avoid segfaults due to random
800 values in these members.
801 (concat_filename): Check for out-of-range file number before
802 indexing filename table. Segfaults suck.
803
804 * dwarf2.c (decode_line_info): Don't truncate address to least
805 significant 32 bits (breaks 64 bit targets).
806 (lookup_address_in_function_table): Ditto.
807 (comp_unit_contains_address): Ditto.
808
809 1999-06-02 Mark Mitchell <Mark Mitchell <mark@codesourcery.com>>
810
811 * elf32-mips.c (elf_mips_howto_table): Add R_MIPS_JALR.
812 * elf64-mips.c (mips_elf64_howto_table_rel): Likewise.
813 (mips_elf64_howto_table_rela): Likewise.
814
815 * elfcode.h (elf_slurp_reloc_table_from_section): New function,
816 split out from ...
817 (elf_slurp_reloc_table): Here. Use it to handle the case where a
818 single section has two associated relocation sections.
819
820 1999-06-02 Mark Salter <msalter@cygnus.com>
821
822 * coffcode.h (coff_set_alignment_hook): Set lma from s_vaddr if
823 COFF_WITH_PE defined.
824
825 1999-06-02 Nick Clifton <nickc@cygnus.com>
826
827 * pe-arm.c: Rename global arm interworking functions to avoid name
828 collision when all targets BFD is built.
829 * pei-arm.c: Ditto.
830
831 1999-05-31 Mark Mitchell <mark@codesourcery.com>
832
833 * elf-bfd.h (elf_backend_data): Remove use_rela_p. Add
834 may_use_rel_p, may_use_rela_p, default_use_rela_p.
835 (bfd_elf_section_data): Add use_rela_p.
836 * elf.c (bfd_section_from_shdr): Set use_rela_p appropriately.
837 (_bfd_elf_new_section_hook): Likewise.
838 (elf_fake_sections): Use may_use_rela_p, etc., instead of
839 use_rela_p.
840 (_bfd_elf_copy_private_section_data): Copy use_rela_p.
841 * elfcode.h (write_relocs): Determine whether or not use rela
842 relocs based on the relocation section header.
843 * elflink.c (_bfd_elf_create_dynamic_sections): Use default_use_rela_p
844 instead of use_rela_p.
845 * elfxx-target.h (elf_backend_may_use_relp): New macro.
846 (elf_backend_may_use_rela_p): Likewise.
847 (elf_backend_default_use_rela_p): Likewise.
848 (elfNN_bed): Use them.
849
850 Wed Jun 2 12:38:49 1999 Miodrag Vallat <miodrag@multimania.com>
851
852 * hosts/alphalinux.h (TRAD_CORE_EXTRA_SIZE_ALLOWED): Expand to 4096.
853
854 Tue Jun 1 17:57:58 1999 Mark P. Mitchell <mitchell@n02.acl.lanl.gov>
855
856 * reloc.c (BFD_RELOC_MIPS_SUB): New relocation.
857 (BFD_RELOC_MIPS_GOT_PAGE): Likewise.
858 (BFD_RELOC_MIPS_GOT_OFST): Likewise.
859 (BFD_RELOC_MIPS_GOT_DISP): Likewise.
860 * bfd-in2.h: Regenerated.
861 * libbfd.h: Likewise.
862 * elf32-mips.c (mips_info_to_howto_rela): New function.
863 (USE_REL): Adjust for new conventions.
864 (MINUS_ONE): New macro.
865 (elf_mips_howto_table): Add R_MIPS_SUB.
866 (mips_r): Add entries for MIPS_SUB, MIPS_GOT_PAGE, MIPS_GOT_OFST,
867 and MIPS_GOT_DISP.
868 (mips_elf_final_write_processing): Set sh_link, not sh_info, for a
869 .MIPS.content section.
870 (_bfd_mips_elf_fake_sections): Treat all sections that begin
871 with .MIPS.content as .MIPS.content sections. Set
872 SHF_MNIPS_NOSTRIP for such section.
873 (elf_info_to_howto): Define to mips_info_to_howto_rela.
874 * elf64-mips.c (mips_r): Add entries for MIPS_SUB, MIPS_GOT_PAGE,
875 MIPS_GOT_OFST, and MIPS_GOT_DISP.
876
877 Wed Jun 2 11:51:12 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
878
879 * vms-misc.c (_bfd_vms_hash_newfunc): Fix use of uninitialized
880 variable.
881
882 * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Avoid ambigous
883 `else'.
884
885 1999-05-30 Philip Blundell <philb@gnu.org>
886
887 * elf32-arm.h (elf32_arm_relocate_section): Reinstate change of
888 1993-03-25 (!!). Take into account the bitmasks for the reloc so
889 the addend does not overflow into the rest of the word.
890
891 1999-05-29 Nick Clifton <nickc@cygnus.com>
892
893 * bfd-in.h: Amend prototype for
894 bfd_elf32_arm_process_before_allocation .
895 * bfd-in.h: Regenerate.
896
897 * elfarm-oabi.c (NUM_ELEM): New macro: Compute the number of
898 elements in a fixed sized array.
899 (ARM_ELF_ABI_VERSION): Define.
900 (ARM_ELF_OS_ABI_VERSION): Define.
901 (R_ARM_THM_ABS5): Fix rightshift and size.
902 (R_ARM_THM_PC22): Fix size.
903 (R_ARM_PLT32): Define Howto.
904 (find_howto): New function: Locate a howto based on a reloc
905 number.
906 (elf32_arm_info_to_howto): Use find_howto if necessary.
907 (elf32_arm_reloc_map): Change type of field bfd_reloc_val to
908 bfd_reloc_code_real_type.
909 (elf32_arm_reloc_map[]): Add entries for BFD_RELOC_VTABLE_INHERIT
910 and BFD_RELOC_VTABLE_ENTRY.
911 (elf32_arm_reloc_type_lookup): Use find_howto if necessary.
912
913 * elfarm-nabi.c (NUM_ELEM): New macro: Compute the number of
914 elements in a fixed sized array.
915 (ARM_ELF_ABI_VERSION): Define.
916 (ARM_ELF_OS_ABI_VERSION): Define.
917 (R_ARM_THM_ABS5): Fix rightshift and size.
918 (R_ARM_THM_PC22): Fix size.
919 (elf32_arm_info_to_howto_rel): Rename to elf32_arm_info_to_howto.
920 (elf32_arm_reloc_map): Change type of field bfd_reloc_val to
921 bfd_reloc_code_real_type.
922
923 * elf32-arm.h (struct elf32_arm_link_hash_table): Add new field:
924 no_pipeline_knowledge.
925 (elf32_arm_link_hash_create): Initialise new field to zero.
926 (bfd_elf32_arm_process_before_allocation): Add new paraemter:
927 no_pipeline_knowledge. Use this parameter to initialise the field
928 in the globals data structure.
929 (elf32_arm_final_link_relocate): Only add in pipeline offset if
930 no_pipeline_knowledge is false and the binary is from an old
931 toolchain.
932 (elf32_arm_merge_private_data): Generate an error if an attempt is
933 made to linl together big endian and little endian code.
934 (elf32_arm_post_process_headers): New function: Initialise the
935 EI_OSABI and EI_ABIVERSION fields of the newly created ELF program
936 header.
937 (elf_backend_post_process_headers): Define.
938
939 1999-05-28 Nick Clifton <nickc@cygnus.com>
940
941 * elf-bfd.h (struct elf_backend_data): Add new field:
942 elf_backend_post_process_headers.
943
944 * elfxx-target.h (elf_backend_post_process_headers): Define to
945 NULL if not already defined.
946 (elfNN_bed): Initialise elf_backend_post_process_headers field.
947
948 * elf.c (prep_headers): Set the EI_OSABI and EI_ABIVERSION fields
949 to zero.
950 (_bfd_elf_compute_section_file_positions): Call
951 elf_backend_post_process_headers if defined.
952
953 1999-05-28 Ian Lance Taylor <ian@zembu.com>
954
955 * configure.in: Check whether getuid and getgid exist.
956 * archive.c: Define getuid and getgid as macros if HAVE_GETUID or
957 HAVE_GETGID are not defined, respectively.
958 (bfd_write_armap): Don't special case on _WIN32 for getuid and
959 getgid.
960 * configure.host: Set ac_cv_func_get{ug}id for *-*-windows*.
961 * configure, config.in: Rebuild.
962
963 1999-05-28 Martin Dorey <mdorey@madge.com>
964
965 * elf32-i960.c: New file.
966 * elf.c (prep_headers): Handle bfd_arch_i960.
967 * targets.c (bfd_target_vector): Add &bfd_elf32_i960_vec.
968 * config.bfd (i960-*-elf*): New target.
969 * configure.in (bfd_elf32_i960_vec): New target vector.
970 * Makefile.am (BFD32_BACKENDS): Add elf32-i960.lo.
971 (BFD32_BACKENDS_CFILES): Add elf32-i960.c.
972 * Makefile.in, aclocal.m4, configure: Rebuild.
973
974 1999-05-27 Nick Clifton <nickc@cygnus.com>
975
976 * elfarm-oabi.c (elf32_arm_howto_table): Add entry for
977 R_ARM_PLT32.
978 (find_howto): New function: Find entries in the
979 elf32_arm_howto_table.
980 (elf32_arm_info_to_howto): Use find_howto if the entry cannot be
981 computed simply.
982 (elf32_arm_reloc_type_lookup): Add lookup for
983 BFD_RELOC_ARM_PLT32.
984
985 1999-05-25 Philip Blundell <pb@nexus.co.uk>
986
987 * bfd/elf32-arm.h (elf32_arm_link_hash_newfunc): New function.
988 (elf32_arm_link_hash_table_create): Use above function as the
989 constructor for hash table entries.
990 (elf32_arm_relocate_section): Avoid crash when there is no output
991 section.
992 (elf32_arm_final_link_relocate): New parameter h.
993 (elf32_arm_relocate_section): Pass symbol hash entry to above
994 routine.
995 (elf32_arm_gc_sweep_hook, elf32_arm_check relocs): Correct
996 comments.
997
998 1999-05-25 Catherine Moore <clm@cygnus.com>
999
1000 * coff-arm.c (coff_arm_relocate_section): Don't emit
1001 base file entries for pc-relative values.
1002
1003 1999-05-25 DJ Delorie <dj@cygnus.com>
1004
1005 * peicode.h (coff_swap_sym_in): When we create the actual section
1006 to reflect the not-there section C_SECTION symbols refer to,
1007 change the symbol class to C_STAT as the section is now really
1008 there.
1009
1010 1999-05-24 Philip Blundell <pb@nexus.co.uk>
1011
1012 * elf32-arm.h (elf32_arm_relocate_section): Undo change of
1013 1999-03-25.
1014
1015 Mon May 17 13:35:35 1999 Stan Cox <scox@cygnus.com>
1016
1017 * coff-arm.c (_bfd_coff_arm_set_private_flags): Changed
1018 F_PIC_INT to F_PIC.
1019 * coffcode.h (coff_set_arch_mach_hook): Added F_ARM_2a, and
1020 F_ARM_3M labels. Changed F_PIC_INT to F_PIC.
1021
1022 1999-05-16 Nick Clifton <nickc@cygnus.com>
1023
1024 * coff-mcore.c (in_reloc_p): Reinstate.
1025
1026 1999-05-15 Nick Clifton <nickc@cygnus.com>
1027
1028 * reloc.c (BFD_RELOC_MCORE_RVA): Define.
1029 * bfd-in2.h: Regenerate.
1030 * coff-mcore.c (in_reloc_p): Remove defintion.
1031 (mcore_coff_howto): Add IMAGE_REL_MCORE_RVA.
1032 (mcore_coff_reloc_type_lookup): Map BFD_RELOC_RVA to
1033 IMAGE_REL_MCORE_RVA.
1034 (coff_mcore_rtype_to_howto): Add special processing for
1035 IMAGE_REL_MCORE_RVA.
1036 (coff_mcore_relocate_section): Add support for
1037 IMAGE_REL_MCORE_RVA.
1038 * elf32-mcore (mcore_elf_howto_): Add R_MCORE_RELATIVE.
1039 (mcore_elf_reloc_type_lookup): Map BFD_RELOC_RVA to
1040 R_MCORE_RELATIVE.
1041 (mcore_elf_relocate_section): Delete redundant case labels.
1042
1043 Fri May 14 10:59:55 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
1044
1045 * elf32-arm.h (elf32_arm_relocate_section): Fix operator
1046 precedence between bit-and and comparison.
1047
1048 Thu May 13 09:45:23 1999 Joel Sherrill (joel@OARcorp.com)
1049
1050 * config.bfd (i[3456]86*-*-rtems*, m68k*-*-rtems*): Added to
1051 list of target formats (targ_selvecs).
1052 (i[3456]86*-*-rtemself*, mips*el-*-rtems*): New targets.
1053 (powerpcle*-*rtems*, sh-*-rtemself*): New targets.
1054
1055 1999-05-10 DJ Delorie <dj@cygnus.com>
1056
1057 * ecoff.c (_bfd_ecoff_write_armap): give the symtab element a
1058 reasonable mode until "ar x" is smart enough to skip it (fixes
1059 gcc/libgcc.a builds on mips-ecoff targets
1060
1061 * coffcode.h (styp_to_sec_flags): Explain how COMDATs are supposed
1062 to work. Hack to support MS import libraries, which use different
1063 COMDAT types than GNU.
1064 (coff_slurp_symbol_table): C_SECTION symbols are local; they refer
1065 to implied zero-length sections (see peicode below)
1066 * coffgen.c (coff_get_normalized_symtab): Properly read long MS
1067 filename symbols, which use one *or more* auxents.
1068 * coffswap.h (coff_swap_aux_in): ditto
1069 * peicode.h (coff_swap_sym_in): Build the implied zero-length
1070 sections
1071
1072 Tue May 11 15:51:58 1999 Jeffrey A Law (law@cygnus.com)
1073
1074 * elf32-v850.c (v850_elf_howto_table): Make partial_inplace false
1075 for all relocations.
1076
1077 1999-05-10 Catherine Moore <clm@cygnus.com>
1078
1079 * bfd-in.h (bfd_arm_allocate_interworking_sections): Static
1080 if COFF_IMAGE_WITH_PE.
1081 (bfd_arm_process_before_allocation): Likewise.
1082 (bfd_arm_get_bfd_for_interworking): Likewise.
1083 * coff-arm.c: Likewise.
1084 * bfd-in2.h: Regenerate.
1085 * configure.in (armpe_little_vec): Remove coff-arm.lo.
1086 (armpe_big_vec): Likewise.
1087 * configure: Rebuild.
1088
1089 1999-05-10 Nick Clifton <nickc@cygnus.com>
1090
1091 * elf.c (elf_fake_sections): Check for .rel. as start of rel
1092 section, not just .rel. Same for .rela.
1093
1094 1999-05-07 Nick Clifton <nickc@cygnus.com>
1095
1096 * coff-mcore.c (coff_mcore_relocate_section): Replace assert about
1097 endianism with an error message.
1098
1099 Thu May 6 17:09:09 1999 Fred Fish <fnf@be.com>
1100
1101 * dwarf2.c (read_abbrevs): Change cast of dwarf_abbrev_buffer
1102 assignment from "unsigned char *" to "char *".
1103 (decode_line_info): Likewise for dwarf_line_buffer assignment.
1104
1105 1999-05-05 Catherine Moore <clm@cygnus.com>
1106
1107 * coff-arm.c (coff_arm_relocate_section): Add one to
1108 address of ARM_RVA32 thumb functions.
1109
1110 1999-05-05 Catherine Moore <clm@cygnus.com>
1111
1112 * elf32-m68k.c (elf32_m68k_set_private_flags): New.
1113 (elf32_m68k_copy_private_bfd_data): New.
1114 (elf32_m68k_merge_private_bfd_data): New.
1115 (elf32_m68k_print_private_bfd_data): New.
1116 (CPU32_FLAG): Define.
1117 (PLT_CPU32_ENTRY_SIZE): Define.
1118 (elf_cpu32_plt0_entry): Declare.
1119 (elf_cpu32_plt_entry): Declare.
1120 (elf_m68k_adjust_dynamic_symbol): Generate cpu32 plt entries.
1121 (elf_m68k_finish_dynamic_symbol): Likewise.
1122 (elf_m68k_finish_dynamic_sections): Likewise.
1123 (elf_backend_plt_header_size): Remove definition.
1124 (bfd_elf32_bfd_copy_private_bfd_data): Define.
1125 (bfd_elf32_bfd_merge_private_bfd_data): Define.
1126 (bfd_elf32_bfd_set_private_flags): Define.
1127 (bfd_elf32_bfd_print_private_bfd_data): Define.
1128
1129 Mon May 3 09:24:49 1999 Jeffrey A Law (law@cygnus.com)
1130
1131 * som.c (som_fixup_formats): Fix comments for R_SHORT_PCREL_MODE
1132 and R_LONG_PCREL_MODE.
1133
1134 1999-04-29 Nick Clifton <nickc@cygnus.com>
1135
1136 * coff-mcore.c (coff_mcore_relocate_section): Fix typos.
1137
1138 Fri Apr 28 16:36:19 1999 Stan Cox <scox@cygnus.com>
1139
1140 * elf32-sh.c (sh_elf_relocate_section): Include relocation addend
1141 in relocation calculation.
1142
1143 1999-04-26 Tom Tromey <tromey@cygnus.com>
1144
1145 * aclocal.m4, configure: Updated for new version of libtool.
1146
1147 1999-04-21 Nick Clifton <nickc@cygnus.com>
1148
1149 * coff-mcore.c: Add support for mcore relocs.
1150
1151 1999-04-20 Gavin Romig-Koch <gavin@cygnus.com>
1152
1153 * elf32-mips.c (_bfd_mips_elf_print_private_bfd_data): Scrap the
1154 incorrect use EF_MIPS_xxBITPTRS.
1155
1156 1999-04-18 Ian Lance Taylor <ian@zembu.com>
1157
1158 * elf64-alpha.c (elf64_alpha_relax_section): Remove unused local
1159 variable insn.
1160
1161 * bfd-in2.h: Rebuild.
1162 * libbfd.h: Rebuild.
1163
1164 Sat Apr 17 20:55:15 1999 Catherine Moore <clm@cygnus.com>
1165
1166 * coff-arm.c (coff_arm_rtype_to_howto): Remove ARM26D transform.
1167 (coff_arm_relocate_section): Add ARM26D transform. Only
1168 change to ARM26D for relocateable links.
1169
1170 1999-04-16 Gavin Romig-Koch <gavin@cygnus.com>
1171
1172 * elf32-mips.c (_bfd_mips_elf_print_private_bfd_data): New.
1173 (bfd_elf32_bfd_print_private_bfd_data): New.
1174
1175 1999-04-15 Doug Evans <devans@casey.cygnus.com>
1176
1177 * elf32-arm.h (elf32_arm_final_link_relocate): For R_ARM_THM_ABS5,
1178 refetch addend if USE_REL, add many comments regarding current state.
1179 For R_ARM_THM_PC22, refetch addend if USE_REL, simplify.
1180 * elfarm-nabi.c (elf32_arm_howto_table): For R_ARM_THM_ABS5, fix
1181 size and rightshift. For R_ARM_THM_PC22, fix bitsize.
1182 * elfarm-oabi.c (elf32_arm_howto_table): Ditto.
1183
1184 Wed Apr 14 14:33:08 1999 Richard Henderson <rth@cygnus.com>
1185
1186 * elf32-mips.c (_bfd_mips_elf_read_ecoff_info): Zero `debug'.
1187 * elf64-alpha.c (elf64_alpha_read_ecoff_info): Likewise.
1188
1189 1999-04-13 David Mosberger <davidm@hpl.hp.com>
1190
1191 * dwarf2.c (decode_line_info): Don't truncate address to least
1192 significant 32 bits (breaks 64 bit targets).
1193 (lookup_address_in_function_table): Ditto.
1194 (comp_unit_contains_address): Ditto.
1195
1196 Tue Apr 13 21:27:19 1999 Catherine Moore <clm@cygnus.com>
1197
1198 * coff-arm.c (arm_emit_base_file_entry): New routine.
1199 (A2T3_OFFSET): Define.
1200 (T2A3_OFFSET): Define.
1201 (coff_arm_relocate_section): Emit base file entries for interworking
1202 stubs.
1203
1204 1999-04-13 Philip Blundell <philb@gnu.org>
1205
1206 * elfarm-nabi.c (elf32_arm_howto_table): Add dummy entries for
1207 relocs 17 through 19.
1208
1209 Sun Apr 11 01:25:17 1999 Richard Henderson <rth@cygnus.com>
1210
1211 * elfcode.h: Remove fnmatch.h.
1212 * elflink.h (elf_link_assign_sym_version): Call back to ld
1213 instead of calling fnmatch.
1214
1215 * config.bfd (i?86-*-beoself): Include pe vecs.
1216
1217 Sun Apr 11 01:14:06 1999 Richard Henderson <rth@cygnus.com>
1218
1219 * elf32-i386.c (elf_i386_finish_dynamic_sections): Allow .plt
1220 to go missing.
1221
1222 1999-04-10 Richard Henderson <rth@cygnus.com>
1223
1224 * elf32-i386.c (elf_i386_relocate_section): Mind no_undefined
1225 when trying to resolve dynamic symbol references.
1226 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
1227 * elf32-mips.c (mips_elf_relocate_section): Likewise.
1228 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
1229 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
1230 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
1231 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
1232 * elflink.h (elf_link_output_extsym): Likewise.
1233
1234 Sat Apr 10 15:12:09 1999 Richard Henderson <rth@cygnus.com>
1235
1236 * section.c (_bfd_strip_section_from_output): New function moved from
1237 * elf64-alpha.c (elf64_alpha_strip_section_from_output): ... here.
1238 * elf32-i386.c (elf_i386_size_dynamic_sections): Use it.
1239 * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
1240 * elf32-mips.c (mips_elf_size_dynamic_sections): Likewise.
1241 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
1242 * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
1243 * elf64-sparc.c (sparc64_elf_size_dynamic_sections): Likewise.
1244 * bfd-in2.h: Update.
1245
1246 1999-04-09 Ian Lance Taylor <ian@zembu.com>
1247
1248 * elf64-sparc.c: Fix incorrect calls to bfd_check_overflow.
1249
1250 1999-04-08 Nick Clifton <nickc@cygnus.com>
1251
1252 * coff-mcore.c: New File: Support for mcore-pe targets.
1253 * cpu-mcore.c: New File: Support for mcore targets.
1254 * elf32-mcore.c: New File: Support for mcore-elf target.
1255 * pe-mcore.c: New File: Definitions for mcore-pe target.
1256 * pei-mcore.c: New File: Definitions for mcore-pei target.
1257 * Makefile.am: Add support for MCore targets.
1258 * Makefile.in: Regenerate.
1259 * config.bfd: Add support for MCore targets.
1260 * configure.in: Add support for MCore targets.
1261 * configure: Regenerate.
1262 * archures.c: Add support for MCore architecture.
1263 * bfd-in2.h: Regenerate.
1264 * coffcode.h: Add support for mcore-pe targets.
1265 * elf.c: Add support for mcore-elf target.
1266 * reloc.c: Add support for MCore relocs.
1267 * targets.c: Add support for MCore targets.
1268
1269 1999-04-07 Nick Clifton <nickc@cygnus.com>
1270
1271 * elfarm-nabi.c (elf32_arm_howto_table): Add entries for
1272 R_ARM_XPC25 and R_ARM_THM_XPC22.
1273 (elf32_arm_reloc_map): Remove redundant entries.
1274
1275 1999-04-06 Ian Lance Taylor <ian@zembu.com>
1276
1277 * sysdep.h (LC_MESSAGES): Never define.
1278
1279 1999-04-06 Chris Torek <torek@bsdi.com>
1280
1281 * reloc.c (bfd_check_overflow): Add addrsize parameter. Change
1282 all callers. Rewrite completely.
1283 (_bfd_relocate_contents): Rewrite overflow checking.
1284 * bfd-in2.h: Rebuild.
1285
1286 1999-04-05 Ian Lance Taylor <ian@zembu.com>
1287
1288 From Gabriel Paubert <paubert@iram.es>:
1289 * elf32-ppc.c (ppc_elf_howto_raw): Set R_PPC_GOT16_LO,
1290 R_PPC_PLT16_LO and R_PPC_SECTOFF_LO to be complain_overflow_dont.
1291 Set R_PPC_PLT16_HA, R_PPC_SECTOFF_HA and R_PPC_EMB_NADDR16_HA to
1292 have a rightshift of 16 and use ppc_elf_addr16_ha_reloc.
1293 * ppcboot.c (ppcboot_vec): Use little endian routines for
1294 headers.
1295
1296 * elf.c (elfcore_strndup): Only define if it will be used.
1297 * elf32-ppc.c (ppc_elf_relax_section): Remove unused locals irel
1298 and irelend.
1299 (ppc_elf_check_relocs): Remove unused local i.
1300 (ppc_elf_gc_mark_hook): Add default case to switch.
1301
1302 From Bernd Nitzler <nitzler@kagcpd01.ag01.kodak.COM>:
1303 * srec.c (srec_scan): Accept \r in symbol definitions.
1304 (srec_object_p): Set HAS_SYMS if we saw any symbols.
1305 (symbolsrec_object_p): Likewise.
1306
1307 1999-04-04 Don Bowman <don@pixsci.com>
1308
1309 * config.bfd: Add mips*el-*-vxworks* and mips*-*-vxworks*.
1310
1311 1999-04-04 Ian Lance Taylor <ian@zembu.com>
1312
1313 * dwarf1.c (parse_line_table): Remove unused locals last_pc and
1314 last_line.
1315 * elf-bfd.h (_bfd_elfcore_section_from_phdr): Declare.
1316 * elf32-i386.c (elf_i386_gc_mark_hook): Add default case to
1317 switch.
1318 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Remove unused
1319 local i.
1320 * syms.c (_bfd_stab_section_find_nearest_line): Remove unused
1321 local val.
1322
1323 1999-03-31 Nick Clifton <nickc@cygnus.com>
1324
1325 * config.bfd: Add support for arm-epoc-pe target.
1326 * configure.in: Add support for arm-epoc-pe target.
1327 * configure: Regenerate.
1328 * targets.c: Add support for arm-epoc-pe target.
1329 * coff-arm.c: Allow header files to override definition of
1330 TARGET_UNDERSCORE and USER_LABEL_PREFIX.
1331 * pe-arm.h: Allow previous header files to override definition of
1332 TARGET_LITTLE_SYM and TARGET_BIG_SYM.
1333 * pei-arm.h: Allow previous header files to override definition of
1334 TARGET_LITTLE_SYM and TARGET_BIG_SYM.
1335 * epoc-pe-arm.c: New file. Support arm-epoc-pe target.
1336 * epoc-pei-arm.c: New file. Support arm-epoc-pei target.
1337
1338 1999-03-30 Nick Clifton <nickc@cygnus.com>
1339
1340 * elf.c (elf_map_symbols): Handle the case where section
1341 symbols are generated for content-less sections which are
1342 not mapped to the output file.
1343
1344 * linker.c: Replace direct references to fields in BFD structure
1345 with accessor macros.
1346
1347 * elflink.h: Replace direct references to fields in BFD structure
1348 with accessor macros.
1349
1350 1999-03-25 Philip Blundell <pb@nexus.co.uk>
1351
1352 * config.bfd: Eliminate redundancy in checks for Linux/ARM.
1353
1354 * elf32-arm.h (elf32_arm_relocate_section): Take the rightshift into
1355 account when adjusting section symbols during a partial link.
1356
1357 1999-03-24 Nick Clifton <nickc@cygnus.com>
1358
1359 * coff-sparc.c (struct coff_reloc_map): Change type of field
1360 'bfd_reloc_val' to bfd_reloc_code_real_type.
1361 * elf-m10200.c (struct mn10200_reloc_map): Ditto.
1362 * elf-m10300.c (struct mn10300_reloc_map): Ditto.
1363 * elf32-arc.c (struct arc_reloc_map): Ditto.
1364 * elf32-d10v.c (struct d10v_reloc_map): Ditto.
1365 * elf32-d30v.c (struct d30v_reloc_map): Ditto.
1366 * elf32-fr30.c (struct fr30_reloc_map): Ditto.
1367 * elf32-m32r.c (struct m32r_reloc_map): Ditto.
1368 * elf32-sh.c (struct elf_reloc_map): Ditto.
1369 * elf32-sparc.c (struct elf_reloc_map): Ditto.
1370 * elf32-v850.c (struct v850_reloc_map): Ditto.
1371 * elf64-sparc.c (struct elf_reloc_map): Ditto.
1372 * elfarm-nabi.c (struct elf32_arm_reloc_map): Ditto.
1373 * elfarm-oabi.c (struct elf32_arm_reloc_map): Ditto.
1374
1375 1999-03-17 Martin Hunt <hunt@cygnus.com>
1376
1377 * syms.c (_bfd_stab_section_find_nearest_line): Changed this
1378 function so source-level assembly works. If multiple N_SOs
1379 are seen without and N_FUNs, create an indextable entry with
1380 a NULL function name.
1381
1382 1999-03-16 Gavin Romig-Koch <gavin@cygnus.com>
1383
1384 * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data) Allow merging
1385 of certian similar cpus.
1386
1387 1999-03-16 Gavin Romig-Koch <gavin@cygnus.com>
1388
1389 * elf32-mips.c (_bfd_mips_elf_final_write_processing):
1390 Add the 5000. Change the architecture for the 5400 to mips4.
1391 (elf_mips_mach): Add r5000.
1392
1393 1999-03-11 Doug Evans <devans@casey.cygnus.com>
1394
1395 * cpu-i960.c (scan_i960_mach): Recognize i960:ka_sa and i960:kb_sb.
1396
1397 1999-03-11 Nick Clifton <nickc@cygnus.com>
1398
1399 * binary.c (binary_set_section_contents): Generate warning about
1400 huge file offsets for any section that will occupy file space, not
1401 just those that are loadable.
1402
1403 1999-02-24 Jim Blandy <jimb@zwingli.cygnus.com>
1404
1405 * libbfd.h: Regenerate after Nick Clifton's Feb 17 changes.
1406
1407 1999-02-22 Jim Lemke <jlemke@cygnus.com>
1408
1409 * elf32-ppc.c: Add ppc_elf_relax_section() for the ld option mpc860c0.
1410
1411 Mon Feb 22 18:26:51 1999 Ian Lance Taylor <ian@cygnus.com>
1412
1413 * elf-bfd.h (ELF_LINK_HASH_REF_REGULAR_NONWEAK): Define.
1414 * elflink.h: Revert all changes since Feb 16. Instead:
1415 (elf_link_add_object_symbols): Set REF_REGULAR_NONWEAK flag if
1416 appropriate. Copy it to version symbols.
1417 (elf_fix_symbol_flags): Set REF_REGULAR_NONWEAK for non ELF
1418 symbols if appropriate.
1419 (elf_adjust_dynamic_symbol): Set REF_REGULAR_NONWEAK for weakdef
1420 symbol if appropriate.
1421 (elf_link_output_extsym): If symbol is marked as undefined, and
1422 has no nonweak references, mark it as weak undefined.
1423
1424 Fri Feb 19 16:01:12 1999 Ian Lance Taylor <ian@cygnus.com>
1425
1426 * elflink.h (elf_merge_symbol): When overriding a dynamic
1427 definition with a weak undefined symbol, set NEEDS_PLT if it is a
1428 function.
1429 (elf_link_add_object_symbols): Don't copy the other field if we
1430 are overridding.
1431
1432 Thu Feb 18 18:07:43 1999 Ian Lance Taylor <ian@cygnus.com>
1433
1434 * elflink.h (elf_merge_symbol): Do not merge any symbol from a
1435 shared object with a weak undefined symbol.
1436
1437 1999-02-18 Nick Clifton <nickc@cygnus.com>
1438
1439 * elfarm-nabi.c: Set partial_inplace back to false.
1440
1441 1999-02-17 Nick Clifton <nickc@cygnus.com>
1442
1443 * coff-arm.c (TARGET_UNDERSCORE): Re-enable.
1444 (USER_LABEL_PREFIX): Set to "_".
1445
1446 The following patches are from: Scott Bambrough
1447 <scottb@corelcomputer.com>
1448
1449 * libaout.h (M_ARM6_NETBSD): Set to 143.
1450
1451 * reloc.c: Add ARM PIC relocs: BFD_RELOC_ARM_GOT12,
1452 BFD_RELOC_ARM_GOT32, BFD_RELOC_ARM_JUMP_SLOT, BFD_RELOC_ARM_COPY,
1453 BFD_RELOC_ARM_GLOB_DAT, BFD_RELOC_ARM_PLT32,
1454 BFD_RELOC_ARM_RELATIVE, BFD_RELOC_ARM_GOTOFF, BFD_RELOC_ARM_GOTPC.
1455 * bfd-in2.h: Regenerate.
1456
1457 * elfarm-nabi.c (elf32_arm_howto_table): Set partial_inplace to
1458 'true' as REL relocs are now being used. Add new PIC relocs:
1459 R_ARM_COPY, R_ARM_GLOB_DAT, R_ARM_JUMP_SLOT, R_ARM_RELATIVE,
1460 R_ARM_GOTOFF, R_ARM_GOTPC, R_ARM_GOT32, R_ARM_PLT32.
1461
1462 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Check byte order
1463 of targets.
1464 (elf32_arm_final_link_relocate): Change parameters so that entire
1465 reloc is passed. Add support for PIC relocs.
1466 (elf32_arm_relocate_section): Pass entire reloc to
1467 elf32_arm_final_link_relocate.
1468 (elf32_arm_check_relocs): Handle new PIC relocs.
1469 (elf32_arm_adjust_dynamic_symbol): New function.
1470 (elf32_arm_size_dynamic_sections): New function.
1471 (elf32_arm_discard_copies): New function.
1472 (elf32_arm_finish_dynamic_symbol): New function.
1473 (elf32_arm_finish_dynamic_sections): New function.
1474 (ELF_MAXPAGE_SIZE): Define.
1475 (bfd_elf32_bfd_reloc_type_lookup): Define.
1476 (elf_backend_relocate_section): Define.
1477 (elf_backend_adjust_dynamic_symbol): Define.
1478 (elf_backend_create_dynamic_sections): Define.
1479 (elf_backend_finish_dynamic_symbol): Define.
1480 (elf_backend_finish_dynamic_sections): Define.
1481 (elf_backend_size_dynamic_sections): Define.
1482 (elf_backend_plt_readonly): Define.
1483 (elf_backend_want_got_plt): Define.
1484 (elf_backend_want_plt_sym): Define.
1485
1486 Wed Feb 17 12:02:26 1999 Stan Cox <scox@cygnus.com>
1487
1488 * elf32-mips.c (_bfd_mips_elf_section_from_shdr): Make reginfo
1489 sections SEC_LINK_ONCE and SEC_LINK_DUPLICATES_SAME_SIZE.
1490 (_bfd_mips_elf_fake_sections): Likewise.
1491
1492 Wed Feb 17 12:07:23 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
1493
1494 * elfarm-oabi.c (bfd_elf32_arm_allocate_interworking_sections,
1495 bfd_elf32_arm_get_bfd_for_interworking,
1496 bfd_elf32_arm_process_before_allocation): Define to avoid clash
1497 with elfarm-nabi.c.
1498
1499 * elf32-arm.h: Don't declare elf32_arm_info_to_howto.
1500 (elf32_thumb_to_arm_stub, elf32_arm_to_thumb_stub,
1501 elf32_arm_find_nearest_line): Make them static.
1502
1503 Tue Feb 16 22:44:37 1999 Ian Lance Taylor <ian@cygnus.com>
1504
1505 * elflink.h (elf_merge_symbol): Add pflags parameter. Change all
1506 callers. Do not merge a definition from a shared object with a
1507 weak undefined symbol.
1508 (elf_link_add_object_symbols): Do not change the symbol type or
1509 size if the old symbol overrides the new one.
1510
1511 1999-02-08 Nick Clifton <nickc@cygnus.com>
1512
1513 * config.bfd: Add support for strongarm target.
1514
1515 Mon Feb 8 11:18:14 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
1516
1517 * elf32-m68k.c (reloc_map): Use the correct types for the struct
1518 fields instead of unsigned char.
1519
1520 Fri Feb 5 00:22:36 1999 Ian Lance Taylor <ian@cygnus.com>
1521
1522 * Makefile.am: Rebuild dependencies.
1523 * Makefile.in: Rebuild.
1524
1525 Thu Feb 4 22:30:13 1999 Ian Lance Taylor <ian@cygnus.com>
1526
1527 * configure.in: Change AC_PREREQ to 2.13. Remove AM_CYGWIN32.
1528 Change AM_EXEEXT to AC_EXEEXT and AM_PROG_INSTALL to
1529 AC_PROG_INSTALL. Add comments to uses of AC_DEFINE.
1530 * acinclude.m4: Add comments to uses of AC_DEFINE.
1531 * acconfig.h: Remove.
1532 * configure: Rebuild with current autoconf/automake.
1533 * aclocal.m4: Likewise.
1534 * config.in: Likewise.
1535 * Makefile.in: Likewise.
1536
1537 1999-02-04 DJ Delorie <dj@cygnus.com>
1538
1539 * libbfd.c (real_read): don't call fread for zero bytes. This
1540 covers up a bug (or misuse of bfd) that's exposed by Solaris.
1541
1542 Thu Feb 4 12:38:10 1999 Stan Cox <scox@cygnus.com>
1543
1544 * elf32-mips.c (mips_elf_relocate_section): Insure that the target
1545 of a jump is in the current 256 MB region.
1546
1547 Thu Feb 4 12:15:38 1999 Ian Lance Taylor <ian@cygnus.com>
1548
1549 * format.c (bfd_check_format_matches): Change last patch to only
1550 take effect for the binary target.
1551
1552 Wed Feb 3 19:40:12 1999 Ian Lance Taylor <ian@cygnus.com>
1553
1554 * elf32-i386.c (elf_i386_reloc_type_lookup): Add BFD_RELOC_CTOR.
1555
1556 Wed Feb 3 15:02:44 1999 Catherine Moore <clm@cygnus.com>
1557
1558 * elf32-fr30.c (fr30_elf_check_relocs): New routine.
1559
1560 Tue Feb 2 21:38:28 1999 Ian Lance Taylor <ian@cygnus.com>
1561
1562 * format.c (bfd_check_format_matches): If the target was
1563 previously specified, don't check other targets when checking for
1564 an archive file.
1565
1566 Tue Feb 2 18:16:43 1999 Catherine Moore <clm@cygnus.com>
1567
1568 * elf32-arm.h (elf32_arm_reloc_map): Removed.
1569 (elf32_arm_reloc_type_lookup): Removed
1570 * elfarm-nabi.c (elf32_arm_reloc_map): New.
1571 (elf32_arm_reloc_type_lookup): New.
1572 * elfarm-oabi.c (elf32_arm_reloc_map): New.
1573 (elf32_arm_reloc_type_lookup): New.
1574
1575 Mon Feb 1 19:49:21 1999 Catherine Moore <clm@cygnus.com>
1576
1577 * elfarm-nabi.c: Renamed from elf32-arm-newabi.c.
1578 * elfarm-oabi.c: Renamed from elf32-arm-oldabi.c
1579 * Makefile.am: Use new files.
1580 * Makefile.in: Regenerate.
1581 * configure.in: Use new files.
1582 * configure: Regenerate.
1583
1584 1999-02-01 Nick Clifton <nickc@cygnus.com>
1585
1586 * elf32-fr30.c (fr30_elf_gc_mark_hook): New function.
1587 (fr30_elf_gc_sweep_hook): New function.
1588 (elf_backend_can_gc_sections): Define.
1589
1590 Mon Feb 1 12:21:47 1999 Catherine Moore <clm@cygnus.com>
1591
1592 * targets.c (bfd_target_vector): Add bfd_elf32_littlearm_oabi_vec
1593 and bfd_elf32_bigarm_oabi_vec.
1594
1595 Mon Feb 1 11:46:31 1999 Catherine Moore <clm@cygnus.com>
1596
1597 * Makefile.am (elf32-arm-oldabi.lo): New.
1598 (elf32-arm-newabi.lo): New.
1599 * Makefile.in: Regenerate.
1600 * config.bfd (thumb-*-elf): Remove definition of targ_underscore.
1601 (arm-*-elf): Likewise.
1602 (arm-*-oabi): New.
1603 (thumb-*-oabi): New.
1604 * configure: Regenerate.
1605 * configure.in (bfd_elf32_littlearm_oabi_vec): New.
1606 (bfd_elf32_bigarm_oabi_vec): New.
1607 * elf32-arm-newabi.c: New.
1608 * elf32-arm-oldabi.c: New.
1609 * elf32-arm.c: Removed.
1610 * elf32-arm.h: New.
1611
1612 Mon Feb 1 11:52:12 1999 Frank Ch. Eigler <fche@cygnus.com>
1613
1614 * binary.c (binary_set_section_contents): Omit warnings for
1615 unloadable sections.
1616
1617 1999-01-31 Michael Meissner <meissner@cygnus.com>
1618
1619 * config.bfd (powerpc{,le}-*-vxworks*): Add aliases to
1620 powerpc{,le}-*-eabi.
1621
1622 1999-01-29 Nick Clifton <nickc@cygnus.com>
1623
1624 * dwarf2.c (read_unsigned_leb128): Remove unused variables.
1625 * dwarf2.c (read_signed_leb128): Remove unused variables.
1626
1627 Fri Jan 29 00:47:21 1999 H.J. Lu <hjl@gnu.org>
1628
1629 * elf.c (assign_file_positions_for_segments): Only adjust
1630 p_align when needed.
1631
1632 Thu Jan 28 20:05:22 1999 Ian Lance Taylor <ian@cygnus.com>
1633
1634 * binary.c (binary_set_section_contents): Don't return early for a
1635 non-loadable section, in case the first section is non-loadable.
1636 Don't set the low lma for a SEC_NEVER_LOAD section. From Maciej
1637 W. Rozycki <macro@ds2.pg.gda.pl>.
1638
1639 1999-01-28 Nick Clifton <nickc@cygnus.com>
1640
1641 * elf32-fr30.c (fr30_reloc_map): Add R_FR30_GNU_VTINHERIT and
1642 R_FR30_GNU_VTENTRY relocs.
1643
1644 Thu Jan 28 11:08:16 1999 Catherine Moore <clm@cygnus.com>
1645
1646 * elflink.h (elf_link_output_sym): Zero syms which are
1647 part of sections which have been excluded.
1648
1649 Wed Jan 27 13:35:35 1999 Stan Cox <scox@cygnus.com>
1650
1651 * coff-arm.c (_bfd_coff_arm_set_private_flags): Changed F_PIC
1652 to F_PIC_INT.
1653 * coffcode.h (coff_set_arch_mach_hook): Removed F_ARM_2a and
1654 F_ARM_3M labels. Changed F_PIC to F_PIC_INT.
1655
1656 1999-01-27 Nick Clifton <nickc@cygnus.com>
1657
1658 * elf32-fr30.c (fr30_elf_howto_table): Fix name of R_FR30_48
1659 relocation.
1660 (fr30_final_link_relocate): Use computed value as result of
1661 relocation.
1662
1663 1999-01-26 Frank Ch. Eigler <fche@cygnus.com>
1664
1665 * binary.c (binary_set_section_contents): Emit warning for
1666 huge file offsets due to widely-dispersed section LMAs.
1667
1668 Mon Jan 18 03:35:35 1999 Ian Lance Taylor <ian@cygnus.com>
1669
1670 * elf.c (assign_file_positions_for_segments): If not D_PAGED,
1671 align first section to largest section alignment, not first
1672 section alignment.
1673
1674 1999-01-04 Jason Molenda (jsm@bugshack.cygnus.com)
1675
1676 * configure.in: Require autoconf 2.12.1 or higher.
1677
1678 Tue Dec 22 15:21:41 1998 Catherine Moore <clm@cygnus.com>
1679
1680 * archures.c (bfd_mach_i386_i386_intel_syntax): Define.
1681 * bfd-in2.h: Likewise.
1682 * cpu-i386.c (bfd_i386_arch_intel_syntax): New.
1683
1684 1998-12-16 Gavin Romig-Koch <gavin@cygnus.com>
1685
1686 * archures.c,bfd-in2.h (bfd_mach_mips4111): New.
1687 * cpu-mips.c: Add support for and independent 4111.
1688 * elf32-mips.c (elf_mips_mach): E_MIPS_MACH_4111 -> bfd_mach_mips4111.
1689 (_bfd_mips_elf_final_write_processing):
1690 bfd_mach_mips4111 -> E_MIPS_ARCH_3 | E_MIPS_MACH_4111.
1691
1692 1998-12-15 Gavin Romig-Koch <gavin@cygnus.com>
1693
1694 * elf32-mips.c (elf_mips_abi_name): New.
1695 (_bfd_mips_elf_merge_private_bfd_data): Compare EF_MIPS_ABI flags.
1696
1697 1998-12-12 Gavin Romig-Koch <gavin@cygnus.com>
1698
1699 * elf32-mips.c (_bfd_mips_elf_final_write_processing):
1700 Handle bfd_mach_mips4300.
1701
1702 1998-12-11 Ulrich Drepper <drepper@cygnus.com>
1703
1704 * elf32-i386.c: Remove leaked development code from patch
1705 1998-12-10 by Richard Henderson.
1706
1707 1998-12-10 Richard Henderson <rth@cygnus.com>
1708
1709 * elf32-i386.c (elf_i386_relocate_section): Don't fail relocations
1710 in debug sections for symbol defined externally.
1711
1712 Thu Dec 10 10:58:38 1998 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
1713
1714 * targets.c (bfd_target_vector): Remove duplicate entry for
1715 tekhex_vec.
1716
1717 1998-12-09 Nick Clifton <nickc@cygnus.com>
1718
1719 * elf32-fr30.c (fr30_elf_howto_table): Set src_mask fields to 0
1720 since we are using RELAs.
1721
1722 Tue Dec 8 22:15:48 1998 Ian Lance Taylor <ian@cygnus.com>
1723
1724 SCO Open Server Release 5 core file support, from Jouke Numan
1725 <jnuman@hiscom.nl>:
1726 * sco5-core.c: New file.
1727 * configure.in (i[3456]86-*-sco3.2v5*): Use sco5-core.lo.
1728 (sco5-core.lo): Define SCO5_CORE in COREFLAG.
1729 * Makefile.am: Rebuild dependencies.
1730 (OPTIONAL_BACKENDS): Add sco5-core.lo.
1731 (OPTIONAL_BACKENDS_CFILES): Add sco5-core.c.
1732 * bfd.c (struct _bfd): Add sco5_core_data field to tdata.
1733 * targets.c (sco5_core_vec): Add to target list if SCO5_CORE.
1734 * bfd-in2.h, configure, Makefile.in: Rebuild.
1735
1736 Tue Dec 8 19:38:42 1998 Mark Klein <mklein@dis.com>
1737
1738 * config.bfd (hppa*-*-mpeix*): New target.
1739 * configure.in: Add AC_HEADER_DIRENT.
1740 (hppa*-*-mpeix*): New target.
1741 * configure.host (hppa*-*-mpeix*): New host.
1742 * hpux-core.c: Check HOST_HPPAMPEIX. Use HAVE_DIRENT_H and
1743 friends rather than just including <sys/dir.h>.
1744 * som.h (struct som_symbol): Add hppa_priv_level and apto
1745 tc_data. Change all users.
1746 (struct somdata): Add comp_unit field.
1747 (obj_som_compilation_unit): Define.
1748 (bfd_som_attach_compilation_unix): Declare.
1749 * som.c: Check HOST_HPPAMPEIX.
1750 (struct som_misc_symbol_info): Add new field priv_level.
1751 (som_object_setup): Add current_offset parameter. Change all
1752 callers.
1753 (setup_sections): Likewise.
1754 (som_object_p): For EXECLIBMAGIC, read the lst header.
1755 (som_write_symbol_strings): Add compilation_unit parameter.
1756 Change all callers.
1757 (som_finish_writing): Write out compilation_unit.
1758 (som_bfd_derive_misc_symbol_info): Set priv_level.
1759 (som_build_and_write_symbol_table): Set xleast field to 3.
1760 (som_slurp_symbol_table): Set symbol priv_level.
1761 (bfd_som_attach_compilation_unit): New function.
1762 (som_bfd_ar_write_symbol_stuff): Set xleast field to 3. Set
1763 priv_level into symbol_value.
1764 * configure, config.in: Rebuild.
1765
1766 Tue Dec 8 16:21:35 1998 Ian Lance Taylor <ian@cygnus.com>
1767
1768 * hpux-core.c (hpux_core_core_file_p): Change call to nonexistent
1769 warning function to call _bfd_error_handler instead.
1770
1771 * libbfd.c (COERCE32): Cast through unsigned long and long to
1772 avoid bug in old version of gcc.
1773
1774 * elf64-alpha.c (elf64_alpha_additional_program_headers): Remove.
1775 (elf_backend_additional_program_headers): Don't define.
1776
1777 1998-12-08 Nick Clifton <nickc@cygnus.com>
1778
1779 * elf32-fr30.c (fr30_final_link_relocate): Fix PC relative
1780 relocations to include offset of 2 included in the insns, and the
1781 offset of the relocs within the section.
1782
1783 Wed Dec 2 15:03:59 1998 David Taylor <taylor@texas.cygnus.com>
1784
1785 The following changes were made by David Taylor
1786 <taylor@texas.cygnus.com>, Edith Epstein
1787 <eepstein@sophia.cygnus.com>, Jim Blandy
1788 <jimb@zwingli.cygnus.com>, and Elena Zannoni
1789 <ezannoni@kwikemart.cygnus.com> as part of the project to merge in
1790 changes originally made by HP; HP did not create ChangeLog
1791 entries.
1792
1793 * aclocal.m4, configure, Makefile.in: Rebuilt using latest
1794 automake macro library.
1795
1796 * hpux-core.c (hpux_core_core_file_p): this function now
1797 understands HPUX 10.30 thread info. Yes, the thread stacks can be
1798 found in the corefile! Also, in hpux_core_core_file_p, if we
1799 encounter a section with an unknown type, don't punt. Instead,
1800 just skip it. Also, count the number of sections of known type
1801 that we encounter. If we encounter at least one good one, then
1802 we'll declare that the file is a core file. If we encounter any
1803 unknown ones but some known ones, then we'll issue a warning (but
1804 still declare it to be a core file). Also, correctly decide when a
1805 file is not a core.
1806 (PROC_INFO_HAS_THREAD_ID): define if CORE_ANON_SHMEM defined.
1807 (CORE_ANON_SHMEM): define if not defined.
1808 (hpux_core_struct): add members lwpid and user_tid.
1809 (core_kernel_thread_id, core_user_thread_id): new macros.
1810 (make_bfd_asection): use bfd_alloc to allocate room for a copy of
1811 the name before storing it in the bfd.
1812 (hpux_core_core_file_p): handle threads.
1813
1814 * libhppa.h (GET_FIELD): protect against redefinition.
1815 (HPPA_WIDE): define.
1816 (GET_FIELD): define.
1817 (GET_BIT): define.
1818 (MASK): define.
1819 (CATENATE): define.
1820 (ELEVEN): define.
1821 (sign_extend): redefine.
1822 (assemble_6): define.
1823 (assemble_12): rewrite.
1824 (assemble_16): define.
1825 (assemble_16a): define.
1826 (assemble_17): rewrite.
1827 (assemble_22): define.
1828
1829 1998-12-07 Nick Clifton <nickc@cygnus.com>
1830
1831 * elf32-fr30.c (fr30_final_link_relocate): Using signed
1832 relocations for signed values.
1833
1834 Sun Dec 6 16:30:33 1998 Ian Lance Taylor <ian@cygnus.com>
1835
1836 * mipsbsd.c (MY(set_arch_mach)): Make static.
1837 * aoutx.h (NAME(aout,machine_type)): For bfd_arch_mips, use
1838 bfd_mach_mips* macros rather than simple numbers.
1839
1840 COFF weak symbol support, based on patches from Mark Elbrecht
1841 <snowball3@usa.net>:
1842 * coffcode.h (coff_slurp_symbol_table): Handle C_WEAKEXT.
1843 * coffgen.c (coff_renumber_symbols): Handle weak symbols.
1844 (coff_write_alien_symbol): Likewise.
1845 * cofflink.c (coff_link_check_ar_symbols): Likewise.
1846 (coff_link_add_symbols): Likewise.
1847 (_bfd_coff_link_input_bfd): Likewise.
1848 (_bfd_coff_write_global_sym): Likewise.
1849
1850 * elf.c (copy_private_bfd_data): Always initialize the
1851 includes_phdrs field.
1852
1853 * elflink.h (elf_fix_symbol_flags): Check for case where a non-ELF
1854 file defines a symbol first mentioned in an ELF file.
1855
1856 * bfd-in.h: Always define BFD_HOST_64_BIT and BFD_HOST_U_64_BIT if
1857 possible, rather than only if BFD64.
1858 * elflink.h (compute_bucket_count): Just check BFD_HOST_U_64_BIT,
1859 not __GNUC__.
1860 * bfd-in2.h: Rebuild.
1861
1862 * srec.c (srec_set_section_contents): Correct test to avoid
1863 switching to 4 byte addresses after seeing a second section which
1864 requires 3 byte addresses. From Joel Schantz
1865 <joel.schantz@argosys.boeing.com>.
1866
1867 * config.bfd (m68*-*-gnu*): New target. From Aymeric Vincent
1868 <aymeric.vincent@emi.u-bordeaux.fr>.
1869
1870 1998-12-04 Jim Blandy <jimb@zwingli.cygnus.com>
1871
1872 * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Fix logic to
1873 decide whether the output file is -mrelocatable-lib,
1874 -mrelocatable, or neither. (gdb.base/nodebug.exp)
1875
1876 1998-12-03 Nick Clifton <nickc@cygnus.com>
1877
1878 * elf32-fr30.c: Add support for R_FR30_48 reloc.
1879 * reloc.c: Add BFD_RELOC_FR30_48 relocation.
1880 * bfd-in2.h: Regenerate.
1881 * libbfd.h: Regenerate
1882
1883 Wed Dec 2 00:58:37 1998 Ian Lance Taylor <ian@cygnus.com>
1884
1885 * elflink.h (elf_adjust_dynamic_symbol): Warn on an attempt to
1886 link against a dynamic symbol with no type or size.
1887
1888 1998-12-01 Ulrich Drepper <drepper@cygnus.com>
1889
1890 * elf32-i386.c (i386_check_relocs) [R_386_32]: Don't emit
1891 relocation for section which does not get loaded.
1892 (elf_i386_relocate_section) [R_386_32]: Likewise.
1893
1894 Tue Dec 1 11:33:33 1998 Jim Wilson <wilson@cygnus.com>
1895
1896 * coff-h8300.c (h8300_bfd_link_add_symbols): Make reloc_size,
1897 reloc_count and i long instead of unsigned long. Handle error
1898 return from bfd_canonicalize_reloc.
1899
1900 1998-12-01 Nick Clifton <nickc@cygnus.com>
1901
1902 * elf32-v850.c (v850_elf_relocate_section): Detect the absence of
1903 a hash table.
1904
1905 Mon Nov 30 15:28:09 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
1906
1907 * elf32-sh.c (elf/sh.h): Include.
1908 sh_reloc_type: Delete. Changed all references to elf_sh_reloc_type.
1909 (sh_elf_howto_tab): Add HOWTO for R_SH_SWITCH8.
1910 (sh_reloc_map): Map BFD_RELOC_8_PCREL to R_SH_SWITCH8.
1911 (sh_elf_relax_delete_bytes): Handle R_SH_SWITCH8.
1912 * Makefile.in: Add dependency of elf32-sh.lo on $(INCDIR)/elf/sh.h.
1913
1914 Fri Nov 27 17:51:38 1998 Geoff Keating <geoffk@ozemail.com.au>
1915
1916 * elflink.h (compute_bucket_count): Don't allow minsize==0, it
1917 causes division by zero later on.
1918
1919 Thu Nov 26 11:19:35 1998 Dave Brolley <brolley@cygnus.com>
1920
1921 * elf32-fr30.c (fr30_elf_pc9_reloc,fr30_elf_pc12_reloc): Not
1922 needed.
1923
1924 1998-11-25 DJ Delorie <dj@cygnus.com>
1925
1926 * coff-i386.c (i3coff_object_p): Remove hack. Use new emulation
1927 hook now.
1928
1929 Tue Nov 24 10:25:27 1998 Nick Clifton <nickc@cygnus.com>
1930
1931 * elf32-fr30.c (fr30_elf_relocate_section): Call
1932 fr30_final_link_relocate.
1933 (fr30_final_link_relocate): New function: Handle I20 and I32
1934 relocs.
1935 (fr30_elf_i32_reloc): New function: Handle I32 relocs.
1936 (fr30_elf_pc9_reloc): New function: Handle 9_PCREL relocs.
1937 (fr30_elf_pc12_reloc): New function: Handle 12_PCREL relocs.
1938
1939 * elf32-v850.c (v850_elf_relocate_section): Reset hi16s reloc
1940 chain to empty.
1941
1942 The following changes are based on a patch submitted by Gianluca
1943 Moro <glctr@abc.it>:
1944
1945 (v850_elf_perform_relocation): Only update a hi16s reloc if it has
1946 not already been updated.
1947 (find_remembered_hi16s_reloc): New parameter 'already_found'
1948 returns state of remembered hi16s reloc.
1949 (remember_hi16s_reloc): Set 'found' field to false.
1950 (hi16s_location): Add 'found' field.
1951
1952 1998-11-23 DJ Delorie <dj@cygnus.com>
1953
1954 * coff-i386.c (bfd_pe_dll_not_recognized_hack): the linker wants
1955 to see .DLL files as unrecognized.
1956 (i3coff_object_p): Sorry, had to hack it to not recognize these
1957 files (pei-i386) on request.
1958
1959 1998-11-23 DJ Delorie <dj@cygnus.com>
1960
1961 * opncls.c (bfd_make_readable): need more cleanup for symbols and
1962 relents. Call bfd_check_format to reinitialize.
1963
1964 Fri Nov 20 14:21:36 1998 Nick Clifton <nickc@cygnus.com>
1965
1966 * elf32-fr30.c (fr30_elf_relocate_section): Remove spurious
1967 warnings.
1968
1969 Thu Nov 19 14:42:15 1998 Geoffrey Noer <noer@cygnus.com>
1970
1971 * aclocal.m4: regenerate
1972 * configure: regenerate
1973
1974 Tue Nov 17 20:23:35 1998 Richard Henderson <rth@cygnus.com>
1975
1976 * elf-bfd.h (struct elf_link_hash_entry): Add vtable_entries_size.
1977 * elf.c (_bfd_elf_link_hash_newfunc): Clear it.
1978 * elflink.h (elf_gc_propagate_vtable_entries_used): Copy it, and
1979 respect it as an upper bound on what memory to reference.
1980 (elf_gc_smash_unused_vtentry_relocs): Likewise.
1981 (elf_gc_record_vtentry): Handle as-yet undefined vtables. Set and
1982 update vtable_entries_size appropriately.
1983
1984 Tue Nov 17 15:28:31 1998 Nick Clifton <nickc@cygnus.com>
1985
1986 * elf32-fr30.c (fr30_reloc_type_lookup): Used integers to hold
1987 reloc number.
1988
1989 Mon Nov 16 22:19:21 1998 DJ Delorie <dj@cygnus.com>
1990
1991 * archive.c (bfd_ar_hdr_from_filesystem): support BFD_IN_MEMORY
1992 bfds; they have no "file" so we fake it.
1993 * bfd-in2.h: add bfd_make_writable and bfd_make_readable (regen)
1994 * libbfd.c (bfd_write): Allow writing to BFD_IN_MEMORY bfds by
1995 resizing the memory buffer.
1996 * opncls.c (bfd_make_writable): New function; lets you write a
1997 bfd_create'd bfd to an in-memory buffer.
1998 (bfd_make_readable): New function; lets you read back that buffer
1999 as if it were from bfd_openr. Used to build generated archive
2000 members (winsup's ld's dlltool)
2001
2002 Mon Nov 16 19:15:19 1998 Dave Brolley <brolley@cygnus.com>
2003
2004 * po/bfd.pot: Regenerated.
2005
2006 Mon Nov 16 10:57:06 1998 Nick Clifton <nickc@cygnus.com>
2007
2008 * elf32-v850.c (hi16s_location): Replaced fixed size array with
2009 linked list.
2010
2011 Sun Nov 15 20:28:25 1998 Richard Henderson <rth@cygnus.com>
2012
2013 * elf64-alpha.c (elf64_alpha_relax_section): Search for the proper
2014 element of the gotentry list for local symbols too.
2015 (elf64_alpha_relocate_section): Unify local and global handling.
2016 Assert that gotent->use_count > 0.
2017
2018 Sat Nov 14 15:16:01 1998 Ian Lance Taylor <ian@cygnus.com>
2019
2020 * configure.in (vms_alpha_vec): Rename from evax_alpha_vec, and
2021 update for file name changes of July 2, 1998.
2022 (vms_vax_vec): New.
2023 * configure: Rebuild.
2024
2025 Thu Nov 12 19:19:54 1998 Dave Brolley <brolley@cygnus.com>
2026
2027 * po/bfd.pot: Regenerated.
2028
2029 Tue Nov 10 16:17:06 1998 Geoffrey Noer <noer@cygnus.com>
2030
2031 * acinclude.m4, config.bfd: detect cygwin* instead of cygwin32*.
2032 * aclocal.m4, configure: regenerate
2033
2034 Tue Nov 10 15:13:59 1998 Nick Clifton <nickc@cygnus.com>
2035
2036 * elf.c (prep_headers): Add support for bfd_arch_fr30.
2037
2038 Tue Nov 10 13:37:36 1998 Felix Lee <flee@cygnus.com>
2039
2040 * acinclude.m4 (BFD_HAVE_SYS_PROCFS_TYPE,
2041 BFD_HAVE_SYS_PROCFS_TYPE_MEMBER): didn't define macro when value
2042 was cached.
2043 * aclocal.m4, configure: regenerated.
2044
2045 Tue Nov 10 14:31:01 1998 Catherine Moore <clm@cygnus.com>
2046
2047 * elf32-d10v.c (reloc_type): Add R_D10V_GNU_VTINHERIT and
2048 R_D10V_GNU_VTENTRY relocs.
2049 (elf_d10v_howto_table): Likewise.
2050 (d10v_reloc_map d10v_reloc_map): Likewise.
2051 (elf32_d10v_gc_mark_hook): New.
2052 (elf32_d10v_gc_sweep_hook): New.
2053 (elf32_d10v_check_relocs): New.
2054 (elf32_d10v_relocate_section): New.
2055 (elf_backend_relocate_section): Define.
2056 (elf_backend_can_gc_sections): Define.
2057
2058 Sat Nov 7 18:07:51 1998 Peter Schauer <peter.schauer@regent.e-technik.tu-muenchen.de>
2059
2060 * Makefile.am (BFD32_BACKENDS): Move vms files here...
2061 (BFD64_BACKENDS): ...from here.
2062 (BFD32_BACKENDS_CFILES): Move vms files here...
2063 (BFD64_BACKENDS_CFILES): ...from here.
2064 * Makefile.in: Rebuild.
2065
2066 Wed Nov 4 15:58:48 1998 Nick Clifton <nickc@cygnus.com>
2067
2068 * Makefile.am: Add FR30 target.
2069 * Makefile.in: Add FR30 target.
2070 * archures.c: Add support for FR30.
2071 * config.bfd: Add support for FR30.
2072 * configure.in: Add support for FR30.
2073 * reloc.c: Add support for FR30 relocations.
2074 * targets.c: Add support for FR30 relocations.
2075 * bfd-in2.h: Regenerate.
2076 * configure: Regenerate.
2077 * libbfd.h: Regenerate.
2078 * cpu-fr30.c: New file.
2079 * elf32-fr30.c: New file.
2080
2081 Mon Nov 2 14:59:33 1998 Geoffrey Noer <noer@cygnus.com>
2082
2083 * configure.in: detect cygwin* instead of cygwin32*
2084 * configure: regenerate
2085
2086 Sun Nov 1 19:32:28 1998 Jeffrey A Law (law@cygnus.com)
2087
2088 * elf-m10300.c (mn10300_elf_relax_section): Do not use alloca,
2089 use bfd_malloc and free instead and check return value from bfd_malloc.
2090
2091 Sun Nov 1 16:20:35 1998 Ian Lance Taylor <ian@cygnus.com>
2092
2093 * libbfd-in.h (_bfd_dwarf1_find_nearest_line): Declare.
2094 * libbfd.h: Rebuild.
2095
2096 * elf32-mips.c (mips_elf_dynsym_sec_names): Comment out.
2097 (SIZEOF_MIPS_DYNSYM_SECNAMES): Likewise.
2098 (MIPS_TEXT_DYNSYM_SECN): Likewise.
2099 (_bfd_mips_elf_fake_sections): Don't set sh_info field of a .hash
2100 section.
2101 (struct mips_elf_link_hash_table): Remove dynsym_sec_strindex
2102 field.
2103 (mips_elf_link_hash_table_create): Don't initialize
2104 dynsym_sec_strindex.
2105 (mips_elf_gc_mark_hook): Add default case to avoid warning.
2106 (mips_elf_size_dynamic_sections): Generate a section symbol for
2107 every output section.
2108 (mips_elf_finish_dynamic_sections): Count all sections for
2109 DT_MIPS_UNREFEXTNO.
2110 (mips_elf_finish_dynamic_sections): Use dynamic symbols for all
2111 output sections.
2112
2113 Sun Nov 1 12:46:53 1998 Geoff Keating <geoffk@ozemail.com.au>
2114
2115 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Allocate two slots
2116 for later PLT entries in large PLTs.
2117 (ppc_elf_finish_dynamic_symbol): Allow for the extra slots.
2118
2119 Sat Oct 31 20:10:09 1998 Jeffrey A Law (law@cygnus.com)
2120
2121 * elf32-ppc.c (ppc_elf_reload_section): Fix typo.
2122
2123 1998-10-26 15:58 Ulrich Drepper <drepper@cygnus.com>
2124
2125 * elf-bfd.h (struct elf_link_hash_entry): Add new field elf_hash_value.
2126 * elflink.h (elf_collect_hash_codes): New function. This function is
2127 called for each exported symbol and we compute the ELF hash value for
2128 it.
2129 (compute_bucket_value): New function. It is called from
2130 size_dynamic_sections to determine the hash table size. When we are
2131 optimizing a better, but slower, algorithm is used.
2132 (size_dynamic_sections): Call compute_bucket_value.
2133
2134 * elf.c (bfd_elf_hash): Optimize the hash function a bit.
2135
2136 Mon Oct 19 20:03:21 1998 Catherine Moore <clm@cygnus.com>
2137
2138 * elf32-sh.c: Add HOWTO entries for R_SH_GNU_VTINHERIT and
2139 R_SH_GNU_VTENTRY.
2140 (sh_elf_gc_mark_hook): New.
2141 (sh_elf_gc_sweep_hook): New.
2142 (sh_elf_check_relocs): New.
2143 (elf_backend_can_gc_sections): Define.
2144
2145 Mon Oct 19 16:57:05 1998 Felix Lee <flee@cygnus.com>
2146
2147 * acinclude.m4: undo previous gettext change
2148 * aclocal.m4: rebuild with right version of aclocal.
2149
2150 Mon Oct 19 01:47:21 1998 Felix Lee <flee@cygnus.com>
2151
2152 * acinclude.m4, aclocal.m4: move gettext-related fragments from
2153 aclocal.m4 to acinclude.m4, so they don't get lost.
2154
2155 * elfcore.h: rewrite for better corefile support.
2156 * elf.c (elfcore_*): new functions.
2157 * elf-bfd.h (elf_obj_tdata): new structure members.
2158 * acconfig.h, acinclude.m4, configure.in: add feature-tests for
2159 flavor of procfs.
2160 * aclocal.m4, config.in, configure, Makefile.in: regenerated.
2161
2162 Fri Oct 16 14:07:45 1998 Catherine Moore <clm@cygnus.com>
2163
2164 * elf32-m32r.c: Add HOWTO entries for R_M32R_GNU_VTINHERIT
2165 and R_M32R_GNU_VTENTRY.
2166 (elf_backend_can_gc_sections): Define.
2167 (m32r_elf_check_relocs): New.
2168 (m32r_elf_gc_mark_hook): New.
2169 (m32r_elf_gc_sweep_hook): New.
2170 (m32r_elf_relocate_section): Handle VT relocs.
2171
2172 Mon Oct 12 14:18:40 1998 Nick Clifton <nickc@cygnus.com>
2173
2174 * coff-arm.c (arm_relocate_section): Remove redundant test.
2175
2176 * bfd-in2.h (struct reloc_howto_struct): Improve comment to make
2177 cleat that the 'bitsize' field is the size of the bitfield AFTER
2178 relocation not before.
2179
2180 * elf32-m32r.c (R_M32R_18_PCREL): Fix size of bitfield.
2181
2182 * coff-mips.c (mips_relocate_hi): Cope with missing refhi or reflo
2183 relocs.
2184
2185 Tue Oct 6 09:20:44 1998 Catherine Moore <clm@cygnus.com>
2186
2187 * elf32-sparc.c: Add HOWTO entries for R_SPARC_GNU_VTINHERIT and
2188 R_SPARC_GNU_VTENTRY.
2189 (elf32_sparc_check_relocs): Handle them.
2190 (elf32_sparc_reloc_type_lookup): Likewise.
2191 (elf32_sparc_relocate_section): Likewise.
2192 (elf32_sparc_gc_mark_hook): New.
2193 (elf32_sparc_gc_sweep_hook): New.
2194
2195 Mon Oct 5 14:55:30 1998 Jeffrey A Law (law@cygnus.com)
2196
2197 * som.c (som_finish_writing): Perform some sanity checks when
2198 writing an executable or shared library.
2199
2200 Mon Oct 5 12:02:31 1998 Gavin Romig-Koch <gavin@cygnus.com>
2201
2202 * dwarf1.c : New file. Adds _bfd_dwarf1_find_nearest_line.
2203 * configure.in (elf): Add dwarf1.lo.
2204 * elf_bfd.h (elf_ob_tdata): Add dwarf1_find_line_info.
2205 * elf.c (_bfd_elf_find_nearest_line): Add call to
2206 _bfd_dwarf1_find_nearest_line.
2207 * elf32-mips.c (_bfd_mips_elf_find_nearest_line):
2208 Add call to _bfd_dwarf1_find_nearest_line.
2209 * configure: Rebuilt.
2210
2211 Mon Oct 5 10:06:22 1998 Catherine Moore <clm@cygnus.com>
2212
2213 * elflink.h (elf_gc_sections): Do not allow garbage
2214 collection if dynamic sections have been created.
2215
2216 Mon Oct 5 09:07:37 1998 Catherine Moore <clm@cygnus.com>
2217
2218 * elf32-v850.c: Add HOWTO entries for R_V850_GNU_VTINHERIT and
2219 R_V850_GNU_VTENTRY.
2220 (v850_elf_check_relocs): Handle VTINHERIT and VTENTRY relocs.
2221 (v850_elf_perform_relocation): Likewise.
2222 (v850_elf_final_link_relocate): Likewise.
2223 (v850_elf_relocate_section): Likewise.
2224 (v850_elf_gc_sweep_hook): New routine.
2225 (v850_elf_gc_mark_hook): New routine.
2226 (elf_backend_can_gc_sections): Define.
2227
2228 Mon Oct 5 09:04:25 1998 Catherine Moore <clm@cygnus.com>
2229
2230 * elf32-m68k.c (elf_m68k_gc_sweep_hook): Don't assume
2231 that dynobj exists.
2232
2233 Sun Oct 4 23:29:34 1998 David Edelsohn <edelsohn@mhpcc.edu>
2234
2235 * rs6000-core.c (rs6000coff_core_file_matches_executable_p):
2236 Declare size as bfd_size_type.
2237 (rs6000coff_get_section_contents): Declare count as bfd_size_type.
2238
2239 Sun Oct 4 20:38:29 1998 Jeffrey A Law (law@cygnus.com)
2240
2241 * cpu-hppa.c (bfd_hppa20_arch): Define. Link it into the bfd_hppa_arch
2242 structure.
2243 * som.c (CPU_PA_RISC2_0): Define.
2244 (_PA_RISC2_0_ID): Likewise.
2245 (som_finish_writing): Use CPU_PA_RISC2_0 for the system_id as needed.
2246
2247 Sun Oct 4 21:19:09 1998 Ian Lance Taylor <ian@cygnus.com>
2248
2249 * elflink.h (elf_link_add_object_symbols): When a versioned symbol
2250 has a base which is already defined, only add the referenced
2251 symbol to the dynamic symbol table if it is defined or referenced
2252 by a regular file.
2253
2254 * elf32-i386.c (elf_i386_info_to_howto_rel): Handle vtable relocs
2255 correctly.
2256
2257 1998-09-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2258
2259 * elflink.h (elf_link_add_object_symbols): Undo last change.
2260
2261 Wed Sep 23 16:09:31 1998 Richard Henderson <rth@cygnus.com>
2262
2263 * elflink.h (elf_link_add_object_symbols): Don't record a dynamic
2264 symbol for the indirect alias to a versioned symbol.
2265
2266 Mon Sep 21 12:15:22 1998 Catherine Moore <clm@cygnus.com>
2267
2268 * elf32-i386.c (elf32_i386_vtinherit_howto): New.
2269 (elf32_i386_vtentry_howto): New.
2270 (elf_i386_reloc_type_lookup): Return elf32_i386_vtentry_howto
2271 or elf32_i386_vtinherit_howto on lookup.
2272
2273 Sun Sep 20 00:48:07 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2274
2275 * elf32-m68k.c: Include "elf/m68k.h". Remove definition of enum
2276 reloc_type. Rename R_68K__max to R_68K_max.
2277 (howto_table): Use _bfd_elf_rel_vtable_reloc_fn for a VTENTRY
2278 reloc.
2279
2280 Sun Sep 20 00:09:25 1998 Chris Torek <torek@bsdi.com>
2281
2282 * libbfd.c (bfd_getb32): Rewrite expression to get better code.
2283 (bfd_getl32, bfd_getb_signed_32, bfd_getl_signed_32): Likewise.
2284
2285 * libbfd.c (bfd_log2): Cast to bfd_vma before shifting, not
2286 after.
2287
2288 Sat Sep 19 22:42:23 1998 Doug Rabson <dfr@nlsystems.com>
2289
2290 * elflink.h (elf_link_add_object_symbols): Ensure that the warning
2291 message has a null byte terminator.
2292
2293 Fri Sep 18 14:35:29 1998 Nick Clifton <nickc@cygnus.com>
2294
2295 * elf32-v850.c (v850_elf_perform_relocation): Ignore contents of
2296 word subject to R_V850_32 relocation.
2297
2298 Thu Sep 17 17:20:36 1998 Nick Clifton <nickc@cygnus.com>
2299
2300 * dwarf2.c: Add comment describing problem computing line numbers
2301 for undefined symbols at link time.
2302
2303 Thu Sep 17 16:03:28 1998 Richard Henderson <rth@cygnus.com>
2304
2305 * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't
2306 transform a defweak into a plt entry.
2307 (elf64_alpha_calc_dynrel_sizes): Allow room for secondary
2308 plt entry references to receive a RELATIVE reloc.
2309 (elf64_alpha_finish_dynamic_symbol): Fill them in.
2310 (elf64_alpha_relocate_section): Assert we don't overrun
2311 the allocated relocation space.
2312
2313 Wed Sep 16 18:03:13 1998 Nick Clifton <nickc@cygnus.com>
2314
2315 * elf.c (swap_out_syms): Always treat section symbols as
2316 special, even if they are attached to a common section.
2317
2318 Wed Sep 16 10:34:13 1998 Nick Clifton <nickc@cygnus.com>
2319
2320 * elf32-v850.c (v850_elf_symbol_processing): Move symbols in
2321 sections with v850 common section attributes into named v850
2322 common sections.
2323 (v850_elf_add_symbol_hook): Move symbols in sections with v850
2324 common section attributes into named v850 common sections.
2325
2326 Wed Sep 16 11:26:49 CDT 1998 Catherine Moore <clm@cygnus.com>
2327
2328 * elf32-arm.c (elf32_arm_gc_mark_hook): Remove print
2329 statement.
2330
2331 1998-09-15 Geoff Keating <geoffk@ozemail.com.au>
2332
2333 * elf32-ppc.c (ppc_elf_relocate_section): Reverse output_offset
2334 part of Vladimir's change of 1998-08-19. Make a R_PPC_SDAREL16
2335 reloc to the wrong section a warning, not an error. .dynsbss
2336 is not an output section, so there is no need to check for it.
2337
2338 Tue Sep 15 12:40:05 1998 Catherine Moore <clm@cygnus.com>
2339
2340 * elf-bfd.h: Add argument to elf_backend_get_symbol_type.
2341
2342 Tue Sep 15 08:34:40 1998 Catherine Moore <clm@cygnus.com>
2343
2344 * elf.c (swap_out_syms): Pass type to elf_backend_get_symbol_type.
2345 * elf32-arm.c: Add HOWTO entries for R_ARM_GNU_VTINHERIT and
2346 R_ARM_GNU_VTENTRY.
2347 (elf32_arm_gc_mark_hook): New.
2348 (elf32_arm_gc_sweep_hook): New.
2349 (elf32_arm_check_relocs): New.
2350 (elf32_arm_final_link_relocate): Handle VTINHERIT and VTENTRY
2351 relocations.
2352 (elf32_arm_relocate_section): Handle VTINHERIT and VTENTRY
2353 relocations.
2354
2355 1998-09-10 Geoff Keating <geoffk@ozemail.com.au>
2356
2357 * elf32-ppc.c (ppc_elf_relocate_section): If dynobj is NULL,
2358 assume there is no PLT or GOT.
2359
2360 Wed Sep 9 14:24:12 1998 Nick Clifton <nickc@cygnus.com>
2361
2362 * elf32-arm.c (elf32_arm_find_nearest_line): New function: just
2363 like _elf_bfd_find_nearest_line() except that STT_ARM_TFUNC is
2364 also accepted as a function symbol type.
2365
2366 Mon Sep 7 13:24:03 1998 Peter Schauer <pes@regent.e-technik.tu-muenchen.de>
2367
2368 * rs6000-core.c (_LONG_LONG): Define for AIX 4.x only.
2369
2370 Sat Sep 5 20:40:18 1998 Ian Lance Taylor <ian@cygnus.com>
2371
2372 * libbfd-in.h (_bfd_nolink_bfd_gc_sections): Correct definition to
2373 match definition of _bfd_gc_sections field.
2374 * libbfd.h: Rebuild.
2375
2376 Fri Sep 4 13:54:23 1998 David Miller <davem@dm.cobaltmicro.com>
2377
2378 * elf32-sparc.c (elf32_sparc_relocate_section): Properly adjust
2379 the addend of a dynamic relocation referencing a section.
2380 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
2381 (sparc64_elf_finish_dynamic_symbol): Fix the PLT relocation offset.
2382
2383 Thu Sep 3 17:28:50 1998 Richard Henderson <rth@cygnus.com>
2384
2385 * elflink.h (bfd_elfNN_size_dynamic_sections): Verify that the
2386 bed has a size_dynamic_sections routine before trying to use it.
2387
2388 Mon Aug 31 14:49:22 1998 Richard Henderson <rth@cygnus.com>
2389
2390 * elf32-mips.c (elf_mips_gnu_vtentry_howto): Use
2391 _bfd_elf_rel_vtable_reloc_fn.
2392
2393 Mon Aug 31 10:23:40 1998 Catherine Moore <clm@cygnus.com>
2394
2395 * Makefile.am: Add elf32-arm.c.
2396 * Makefile.in: Rebuild.
2397 * elf-bfd.h: Add elf_backend_get_symbol_type.
2398 * elf.c (swap_out_syms): If defined, call
2399 elf_backend_get_symbol_type.
2400 * elf32-arm.c: Define elf_backend_get_symbol_type.
2401 (elf32_arm_get_symbol-type): New routine.
2402 (record_thumb_to_arm_glue): Change to use STT_ARM_TFUNC.
2403 (bfd_elf32_arm_process_before_allocation): Change to
2404 check for STT_ARM_TFUNC.
2405 (elf32_arm_final_link_relocate): Likewise.
2406 * elfxx-target.h: Add elf_backend_get_symbol_type.
2407
2408 Fri Aug 28 19:44:07 1998 Richard Henderson <rth@cygnus.com>
2409
2410 * archures.c (bfd_mach_alpha_ev[456]): New.
2411 * cpu-alpha.c: Rework to match these types.
2412 * bfd-in2.h: Rebuild.
2413
2414 Fri Aug 28 19:38:53 1998 Richard Henderson <rth@cygnus.com>
2415
2416 * elf-bfd.h (_bfd_elf_rel_vtable_reloc_fn): Declare.
2417 * elf.c (_bfd_elf_rel_vtable_reloc_fn): New.
2418
2419 * elf32-i386.c (elf_howto_table): Add vtable relocs.
2420 (elf_i386_reloc_type_lookup): Recognize them.
2421 (elf_i386_check_relocs): Pass them off to generic code.
2422 (elf_i386_relocate_section): Ignore them.
2423 (elf_i386_gc_mark_hook, elf_i386_gc_sweep_hook): New.
2424 (elf_backend_can_gc_sections): True.
2425
2426 Thu Aug 20 15:03:45 1998 Nick Clifton <nickc@cygnus.com>
2427
2428 * elf32-arm.c (elf32_thumb_to_arm_stub): Check sym_sec is not NULL
2429 before looking at owner field.
2430 (elf32_arm_to_thumb_stub): Ditto.
2431 (elf32_arm_relocate_section): Compute name before calling
2432 elf32_arm_final_link_relocate().
2433
2434 Thu Aug 20 11:30:17 1998 Michael Snyder <msnyder@cleaver.cygnus.com>
2435
2436 * elf.c: comment and formatting cleanups.
2437 * elfcore.h: ditto.
2438
2439 Wed Aug 19 15:43:26 1998 Michael Snyder <msnyder@cleaver.cygnus.com>
2440
2441 * elfcode.h (elf_object_p): Reject files of header type ET_CORE
2442 (core files are treated differently than object files).
2443 * elf-bfd.h (_bfd_elf_write_corefile_contents,
2444 bfd_elf_mkcorefile): declare.
2445 * elfxx-target.h (_bfd_elf_write_corefile_contents,
2446 bfd_elf_mkcorefile): add to bfd_target vector.
2447 * elfcore.h (elf_core_file_p): save the program header table,
2448 and set the bfd architecture from the elf file header.
2449 * elf.c (bfd_elf_mkcorefile): new function.
2450 (_bfd_elf_write_corefile_contents): new function.
2451 (assign_file_positions_for_segments): add cases for handling
2452 PT_NOTE segments. (assign_file_positions_except_relocs):
2453 core files should be handled the same as exec files.
2454 (prep_headers): identify core files as type ET_CORE.
2455 (copy_private_bfd_data): identify the sections belonging to
2456 the PT_NOTE segment.
2457
2458 * elf32-sparc.c (elf32_sparc_final_write_processing):
2459 add break statement to default case.
2460
2461 1998-08-19 Vladimir N. Makarov <vmakarov@cygnus.com>
2462
2463 * elf32-ppc.c (ppc_elf_relocate_section): Check that output
2464 section (not input) will be in sections ".sbss", ".sbss2",
2465 ".sdata", and ".sdata" for R_PPC_SDAREL16, R_PPC_EMB_SDA2REL,
2466 R_PPC_EMB_SDA21, R_PPC_EMB_RELSDA. In all these cases also ignore
2467 output_offset for correct evaluation of addend.
2468
2469 Tue Aug 18 11:48:12 1998 Catherine Moore <clm@cygnus.com>
2470
2471 * elf32-arm.c: Add prefix bfd_ to elf32_arm_get_bfd_for_interworking,
2472 elf32_arm_allocate_interworking_sections and
2473 elf32_arm_process_before_allocation.
2474
2475 Tue Aug 18 11:46:00 1998 Nick Clifton <nickc@cygnus.com>
2476
2477 * bfd-in.h: Ammend prototype for
2478 elf32_arm_process_before_allocation to remove surplus third
2479 argument.
2480
2481 * bfd-in2.h: Regenerate.
2482
2483 Sat Aug 15 20:55:08 1998 Richard Henderson <rth@cygnus.com>
2484
2485 * elf64-alpha.c (elf64_alpha_relax_section): Handle indirect symbols.
2486
2487 Fri Aug 14 09:12:28 1998 Stan Cox <scox@cygnus.com>
2488
2489 * aoutx.h (aout_link_input_section_ext): Use the relocation already
2490 calculated for RELOC_SPARC_REV32 case.
2491
2492 Thu Aug 13 14:02:02 1998 Catherine Moore <clm@cygnus.com>
2493
2494 * bfd-in.h: Add prototypes for elf32_arm_get_bfd_for_interworking,
2495 elf32_arm_allocate_interworking_sections and
2496 elf32_arm_process_before_allocation.
2497 * bfd-in2.h: Regenerated.
2498 * elf32-arm.c Define elf32_arm_link_hash_table.
2499 (insert_thumb_branch): New routine.
2500 (find_thumb_glue): New routine.
2501 (find_arm_glue): New routine.
2502 (record_arm_to_thumb_glue): New routine.
2503 (record_thumb_to_arm_glue): New routine.
2504 (elf32_arm_link_hash_table_create): New routine.
2505 (elf32_arm_get_bfd_for_interworking): New routine.
2506 (elf32_arm_allocate_interworking_sections) New routine.
2507 (elf32_arm_process_before_allocation) New routine.
2508 (elf32_thumb_to_arm_stub): New routine.
2509 (elf32_arm_to_thumb_stub): New routine.
2510 (elf32_print_private_bfd_data): Fix typo.
2511 (elf32_arm_final_link_relocate): Add argument sym_sec.
2512 Check for branches to thumb symbols in case R_ARM_PC24.
2513 Check for branches to arm symbols in case R_ARM_THM_PC22.
2514 (elf32_arm_relocate_section): Pass symbol section to
2515 elf32_arm_final_link_relocate.
2516
2517 Wed Aug 12 19:00:39 1998 Geoff Keating <geoffk@ozemail.com.au>
2518
2519 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Generate PLT
2520 entries unless the symbol is defined in the executable; in
2521 particular, undefined weak symbols get a PLT entry.
2522
2523 Wed Aug 12 14:48:33 1998 Ian Lance Taylor <ian@cygnus.com>
2524
2525 * libaout.h: Remove nested comment to avoid warning.
2526
2527 Wed Aug 12 08:10:11 1998 Catherine Moore <clm@cygnus.com>
2528
2529 * elf32-arm.c (elf32_arm_final_link_relocate): Rework
2530 R_ARM_PC24 relocation.
2531
2532 Tue Aug 11 14:42:26 1998 Catherine Moore <clm@cygnus.com>
2533
2534 * elf32-arm.c (elf32_arm_final_link_relocate): Remove unused
2535 argument is_local. Add argument sym_flags. Check sym_flags
2536 in R_ARM_ABS32 case. Include addend for R_ARM_THM_PC22 case.
2537 (elf32_arm_relocate_section): Don't pass local sym and pass
2538 sym_flags to elf32_arm_final_link_relocate.
2539
2540 Mon Aug 10 20:38:39 1998 Richard Henderson <rth@cygnus.com>
2541
2542 * elf64-alpha.c (elf64_alpha_calc_dynrel_sizes): Correct last change
2543 to not count too few relocs for dynamicly linked executables.
2544
2545 Mon Aug 10 15:35:34 1998 Richard Henderson <rth@cygnus.com>
2546
2547 * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Never consider
2548 symbols without a dynamic index dynamic. Consider all weak
2549 symbols dynamic.
2550 (elf64_alpha_strip_section_from_output): Don't assume 1-1
2551 correspondance between input and output sections.
2552
2553 Mon Aug 10 15:31:39 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2554
2555 * elflink.h (elf_gc_common_finalize_got_offsets): For backends
2556 that use a .got.plt section start the got offset at zero.
2557
2558 Mon Aug 10 17:31:21 1998 Ian Lance Taylor <ian@cygnus.com>
2559
2560 * ieee.c (ieee_write_processor): Correct the processor ID written
2561 out for bfd_arch_m68k, accommodating change of March 25.
2562
2563 Sun Aug 9 20:55:44 1998 Catherine Moore <clm@cygnus.com>
2564
2565 * elf32-arm.c (elf32_arm_final_link_relocate): Rework
2566 R_ARM_THM_RPC22 relocations.
2567
2568 Sat Aug 8 15:15:30 1998 Richard Henderson <rth@cygnus.com>
2569
2570 * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Undef weak symbols
2571 are always dynamic.
2572 (elf64_alpha_calc_dynrel_sizes): Allow enough room for RELATIVE
2573 .got relocs in -Bsymbolic shared objects.
2574
2575 Wed Aug 5 15:48:08 1998 Nick Clifton <nickc@cygnus.com>
2576
2577 * elf32-arm.c: Add private flags to ELF header.
2578 (elf32_arm_print_private_bfd_data): New Function.
2579 (elf32_arm_set_private_flags): New Function.
2580 (elf32_arm_copy_private_flags): New Function.
2581 (elf32_arm_merge_private_bfd_data): New Function.
2582
2583 Mon Aug 3 17:10:15 1998 Ian Lance Taylor <ian@cygnus.com>
2584
2585 * elf32-sparc.c (elf32_sparc_check_relocs): Permit WPLT30 against
2586 a local symbol.
2587 (elf32_sparc_relocate_section): Likewise.
2588
2589 Sun Aug 2 03:19:23 1998 Richard Henderson <rth@cygnus.com>
2590
2591 * elf32-ppc.c (ppc_elf_check_relocs): Init sgot to NULL. Create the
2592 .got if any relocation referrs to _GLOBAL_OFFSET_TABLE_.
2593 (ppc_elf_relocate_section): Pull sgot and splt search to the start
2594 of the function. Recognize no .plt as static linking.
2595
2596 1998-08-01 Ulrich Drepper <drepper@cygnus.com>
2597
2598 * elf32-mips.c (_bfd_mips_elf_section_from_shdr): Don't pass
2599 ".liblist" string through gettext.
2600
2601 Fri Jul 31 16:38:14 1998 Catherine Moore <clm@cygnus.com>
2602
2603 * Makefile.am: Add support for elf32-arm.lo.
2604 * Makefile.in: Rebuild.
2605 * config.bfd (arm-*-elf): Define targ_defvec and targ_selvecs.
2606 (thumb-*-elf): Define targ_defvec and targ_selvecs.
2607 * configure.in: Handle bfd_elf32_littlearm_vec and bfd_elf32_bigarm_vec.
2608 * configure: Regenerate.
2609 * elf.c: (prep_headers): Support arch_type of EM_ARM.
2610 * targets.c: Support new targets bfd_elf32_bigarm_vec and
2611 bfd_target bfd_elf32_littlearm_vec.
2612 * elf32-arm.c: New file.
2613
2614 Tue Jun 28 19:05:28 1998 Stan Cox <scox@cygnus.com>
2615
2616 * libaout.h (M_SPARCLITE_LE): New machine.
2617 * sunos.c (MACHTYPE_OK): Add machine M_SPARCLITE_LE.
2618 * aoutf1.h (sunos_set_arch_mach): Add machine M_SPARCLITE_LE.
2619 (sunos_write_object_contents): Add machine bfd_mach_sparc_sparclite_le
2620 * aoutx.h (howto_table_ext): Add relocation R_SPARC_REV32.
2621 (NAME(aout,machine_type)) Add machine bfd_mach_sparc_sparclite_le
2622 (aout_link_input_section_ext): Add RELOC_SPARC_REV32 support.
2623 * elf32-sparc.c (_bfd_sparc_elf_howto_table, sparc_reloc_map,
2624 elf32_sparc_relocate_section): Rename R_SPARC_32LE to be R_SPARC_REV32
2625 * libbfd.h (bfd_reloc_code_real_names): Rename BFD_RELOC_SPARC_32LE to
2626 be BFD_RELOC_SPARC_REV32.
2627 * reloc.c: Ditto.
2628 * config.bfd (sparc86x-*-aout): New
2629
2630 Fri Jul 24 13:54:19 1998 Nick Clifton <nickc@cygnus.com>
2631
2632 * linker.c (_bfd_generic_final_link): Allocate NULL symbol before
2633 actually mapping the output sections.
2634
2635 Fri Jul 24 11:24:29 1998 Jeffrey A Law (law@cygnus.com)
2636
2637
2638 * elf-m10300.c (mn10300_elf_howto): Add R_MN10300_24 entry.
2639 (mn10300_elf_reloc_map): Similarly.
2640 (mn10300_elf_final_link_relocate): Handle R_MN10300_24.
2641
2642 Fri Jul 24 12:36:04 1998 Ian Lance Taylor <ian@cygnus.com>
2643
2644 * elf32-mips.c (elf_mips_howto_table): Add reloc types used on
2645 Irix 6.
2646 (bfd_elf32_bfd_reloc_type_lookup): Add default case.
2647 * elf64-mips.c: Replace all uses of mips_elf64_reloc_type with
2648 elf_mips_reloc_type defined in elf/mips.h.
2649
2650 1998-07-24 Ulrich Drepper <drepper@cygnus.com>
2651
2652 * elf64-mips.c: Remove reloc_type definition completely. It's now
2653 in elf/mips.h.
2654
2655 Thu Jul 23 13:33:19 1998 Doug Evans <devans@canuck.cygnus.com>
2656
2657 * elf64-mips.c (mips_elf64_reloc_type): #if 0 out more relocations
2658 as they are defined in elf/mips.h now.
2659
2660 Thu Jul 23 11:29:43 1998 Jeffrey A Law (law@cygnus.com)
2661
2662
2663 * Re-add lost change:
2664 * elf-m10300.c (elf32_mn10300_link_hash_entry): Add new field
2665 "movm_stack_size".
2666 (mn10300_elf_relax_section): Include stack space for register saves
2667 in the imm8 field of a "call" instruction.
2668 (compute_function_info): Determine how much stack is allocated by
2669 the movm instruction. Fix typo.
2670 (elf32_mn10300_link_hash_newfunc): Initialize movm_stack_size.
2671
2672 Thu Jul 23 11:38:05 1998 Ian Lance Taylor <ian@cygnus.com>
2673
2674 * elf32-sparc.c (elf_backend_got_header_size): Define as 4.
2675 * elf64-sparc.c (elf_backend_got_header_size): Define as 8.
2676
2677 1998-07-22 Ulrich Drepper <drepper@cygnus.com>
2678
2679 * elf32-ppc.c: Change use of pp_reloc_type to elf_ppc_reloc_type.
2680
2681 Wed Jul 22 16:27:18 1998 Nick Clifton <nickc@cygnus.com>
2682
2683 * elf32-hppa.h: Let ELF header define the enum containing the
2684 external reloc numbers.
2685 * elf32-i386.h: Likewise.
2686
2687 1998-07-22 14:57 Ulrich Drepper <drepper@cygnus.com>
2688
2689 * elf-m10300.c: Let ELF header now define the macros to get the enum.
2690 * elf32-mips.c: Likewise.
2691 * elf32-ppc.c: Likewise.
2692
2693 Wed Jul 22 13:53:52 1998 Nick Clifton <nickc@cygnus.com>
2694
2695 * bfd-in2.h: Change type of 'class' parameter to 'unsigned int' in
2696 bfd_coff_set_symbol_class(), in order to avoid K&R compatability
2697 prblems.
2698 * bfd-in.h: Regenerate.
2699 * coffgen.c (bfd_coff_set_symbol_class): Change type of 'class'
2700 parameter to 'unsigned int' to avoid K&R compatability problems.
2701
2702 Wed Jul 22 16:43:24 1998 Ian Lance Taylor <ian@cygnus.com>
2703
2704 * ieee.c (ieee_find_nearest_line): Change filename_ptr and
2705 functionname_ptr to be const. Change line_ptr to be unsigned.
2706
2707 * coffcode.h (coff_link_output_has_begun): Simplify handling when
2708 macro is not defined. Change second parameter from bfd_link_info
2709 to coff_final_link_info. Add prototype.
2710 (coff_final_link_postscript): Simplify handling when macro is not
2711 defined. Add prototype.
2712
2713 1998-07-22 13:08 Ulrich Drepper <drepper@cygnus.com>
2714
2715 * elf-mn10300.c: Before include system specific ELF header define
2716 START_RELOC_NUMBERS, RELOC_NUMBER, and END_RELOC_NUMBERS.
2717 * elf32-mips.c: Likewise.
2718 * elf32-ppc.c: Likewise.
2719
2720 Wed Jul 22 13:46:51 1998 Ian Lance Taylor <ian@cygnus.com>
2721
2722 * elf64-mips.c (mips_elf64_reloc_type): Copy Ulrich's elf32-mips.c
2723 temporary patch over to elf64-mips.c as well.
2724
2725 1998-07-21 Ulrich Drepper <drepper@cygnus.com>
2726
2727 * elf32-mips.c (reloc_type): Temporarily disable definition of
2728 standard relocation since they are now defined in elf/mips.h.
2729
2730 Tue Jul 21 09:47:00 1998 Catherine Moore <clm@cygnus.com>
2731
2732 * elf-m10200.c (mn10200_elf_final_link_relocate):
2733 Modify range test for case R_MN10200_8.
2734
2735 * elf-m10300.c (mn10300_elf_final_link_relocate):
2736 Modify range test for case R_MN10300_8.
2737
2738 Mon Jul 20 18:50:54 1998 Richard Henderson <rth@cygnus.com>
2739
2740 * elf-bfd.h (struct elf_backend_data): Add got_ & plt_header_size.
2741 * elf32-i386.c (elf_backend_got_header_size): Define.
2742 (elf_backend_plt_header_size): Define.
2743 * elf32-m68k.c, elf32-mips.c, elf32-ppc.c: Likewise.
2744 * elf32-sparc.c, elf64-alpha.c, elf64-sparc.c: Likewise.
2745 * elfxx-target.h: Provide a default of zero.
2746 * elflink.c (_bfd_elf_create_got_section): Use got_header_size.
2747 * elflink.h (elf_gc_common_finalize_got_offsets): Likewise.
2748
2749 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't remove a PLT
2750 entry from an executable, even if the plt refcount goes to 0.
2751
2752 Mon Jul 20 12:47:26 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2753
2754 * aoutx.h (NAME(aout,find_nearest_line)): Also remember the
2755 directory name at the line number.
2756
2757 * elf.c (_bfd_elf_find_nearest_line): Also consider symbols
2758 with an unspecified type.
2759
2760 Wed Jul 15 11:20:01 1998 Ian Lance Taylor <ian@cygnus.com>
2761
2762 * sunos.c: Add undef of valid to avoid problem on SunOS.
2763
2764 Tue Jul 14 15:30:59 1998 Richard Henderson <rth@cygnus.com>
2765
2766 * config.bfd (i?86-pc-beos{pe,elf,}*): Recognize.
2767
2768 Tue Jul 14 11:22:21 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2769
2770 * elf32-m68k.c (elf_m68k_check_relocs): Also reference count
2771 R_68K_PCxx and R_68K_xx relocations. Make sure that
2772 ELF_LINK_HASH_NEEDS_PLT is always set for a PLT reloc reference.
2773 (elf_m68k_gc_sweep_hook): Also reference count R_68K_PCxx and
2774 R_68K_xx relocations.
2775 (elf_m68k_adjust_dynamic_symbol): Reset the plt offset of a symbol
2776 that has no plt entry.
2777 (elf_m68k_relocate_section): Ignore the plt offset in a static
2778 link.
2779 * elflink.h (elf_adjust_dynamic_symbol): Reset the plt offset for
2780 an ignored symbol.
2781 (elf_gc_common_finalize_got_offsets): Set the got offsets also in
2782 a static link.
2783
2784 * elf32-m68k.c (R_68K_GNU_VTINHERIT, R_68K_GNU_VTENTRY): New reloc
2785 types.
2786 (howto_table, reloc_map): Add entries for them.
2787 (elf_m68k_check_relocs): Handle them. Implement reference
2788 counting for got and plt entries.
2789 (elf_m68k_gc_mark_hook, elf_m68k_gc_sweep_hook): New functions.
2790 (elf_m68k_adjust_dynamic_symbol): Handle unreferenced plt
2791 symbols.
2792 (rtype_to_howto_rel, elf_info_to_howto_rel): Delete.
2793 (elf_m68k_relocate_section): Handle the new reloc types.
2794 (bfd_elf32_bfd_final_link, elf_backend_gc_mark_hook,
2795 elf_backend_gc_sweep_hook, elf_backend_can_gc_sections): Define.
2796 * elflink.h (elf_link_add_object_symbols): When creating an
2797 indirect reference for symbol versioning also copy the plt
2798 offset.
2799 (elf_fix_symbol_flags): When clearing the ELF_LINK_HASH_NEEDS_PLT
2800 flag also reset the plt offset.
2801 (elf_link_assign_sym_version): Likewise.
2802 (elf_gc_common_finalize_got_offsets): Increment the got offset by
2803 the size of the entry in bytes.
2804 (elf_gc_allocate_got_offsets): Likewise.
2805
2806 Tue Jul 14 11:18:14 1998 Ian Lance Taylor <ian@cygnus.com>
2807
2808 * elflink.h (elf_gc_sections): Return true rather than falling off
2809 the bottom.
2810
2811 * coffgen.c (bfd_coff_set_symbol_class): Call bfd_alloc, not
2812 xmalloc.
2813
2814 Mon Jul 13 11:06:31 1998 Nick Clifton <nickc@cygnus.com>
2815
2816 * coff-arm.c: Supress definition of TARGET_UNDERSCORE and add a
2817 comment describing when it should be enabled.
2818 Changed definition of USER_LABEL_PREFIX to "", to fall into line
2819 with GCC sources.
2820
2821 Mon Jul 13 13:06:54 1998 Ian Lance Taylor <ian@cygnus.com>
2822
2823 * ieee.c (ieee_slurp_external_symbols): Handle call optimization
2824 information ATN records.
2825
2826 Fri Jul 10 16:31:06 1998 Ian Lance Taylor <ian@cygnus.com>
2827
2828 * ieee.c (ieee_slurp_external_symbols): Select an appropriate
2829 section for an absolute symbol in a fully linked file. Based on
2830 patch from Christian Holland <CHolland@de.lucent.com>.
2831
2832 Wed Jul 8 11:29:56 1998 Manfred Hollstein <manfred@s-direktnet.de>
2833
2834 * coff-m88k.c (m88k_special_reloc): Don't lose the information
2835 that a symbol is undefined.
2836
2837 Tue Jul 7 21:47:02 1998 Jeffrey A Law (law@cygnus.com)
2838
2839 * som.c (som_bfd_gc_sections): Define.
2840
2841 Mon Jul 6 11:35:50 1998 Nick Clifton <nickc@cygnus.com>
2842
2843 * coff-arm.c (aoutarm_std_reloc_howto): Do not complain about
2844 overflows in ARM_26D patches, since they have already been
2845 implmented. Patch submitted by Dr. R.J. Black <rjb@dcs.gla.ac.uk>
2846
2847 Sat Jul 4 12:25:36 1998 Ian Lance Taylor <ian@cygnus.com>
2848
2849 * coffcode.h (coff_write_object_contents): If we have any long
2850 section names, call coff_write_symbols even if there are no
2851 symbols.
2852
2853 Fri Jul 3 13:11:35 1998 Ian Lance Taylor <ian@cygnus.com>
2854
2855 * elf.c (copy_private_bfd_data): Only set phdr_included once for a
2856 PT_LOAD segment, rather than only setting it once for the entire
2857 file.
2858
2859 * elf.c (_bfd_elf_make_section_from_shdr): When setting the LMA,
2860 rather than ignoring every phdr with a p_paddr of 0, ignore all
2861 the phdrs if they all have a p_paddr of 0.
2862
2863 * stabs.c (_bfd_write_stab_strings): Check whether the .stabstr
2864 section was discarded from the link.
2865
2866 Fri Jul 3 14:39:05 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2867
2868 * coff-sh.c (sh_insn_uses_freg): Ignore lowest bit of register number.
2869
2870 Fri Jul 3 14:35:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
2871
2872 * coff-sh.c (sh_insns_conflict): Load of fpscr conflicts with
2873 floating point operations.
2874
2875 Thu Jul 2 18:37:25 1998 Ian Lance Taylor <ian@cygnus.com>
2876
2877 * cofflink.c (_bfd_coff_link_input_bfd): Skip undefined global
2878 function symbols.
2879
2880 Thu Jul 2 14:59:42 1998 Klaus Kaempf <kkaempf@rmi.de>
2881
2882 Merge of vax/vms (read-only) support
2883 * configure.com: Support Vax target.
2884 * makefile.vms: Support Vax target.
2885 * vms.h: Renamed from evax.h, merged vax/vms (read-only) support.
2886 * vms.c: Renamed from evax-alpha.c, merged vax/vms (read-only)
2887 support.
2888 * vms-hdr.c: Renamed from evax-emh.c, merged vax/vms (read-only)
2889 support.
2890 * vms-gsd.c: Renamed from evax-egsd.c, merged vax/vms (read-only)
2891 support.
2892 * vms-tir.c: Renamed from evax-etir.c, merged vax/vms (read-only)
2893 support.
2894 * vms-misc.c: Renamed from evax-misc.c, merged vax/vms (read-only)
2895 support.
2896 * libbfd.c (real_read): Use unbuffered read on VMS/Vax.
2897 * targets.c (bfd_target_ovax_flavour): New flavour.
2898 (vms_alpha_vec): Renamed from evax_alpha_vec.
2899 (vms_vax_vec): New.
2900 (target_vector): Update accordingly.
2901 * config.bfd (alpha*-*-*vms*): Use vms_alpha_vec, not
2902 evax_alpha_vec.
2903 (vax*-*-*vms*): New target.
2904 * Makefile.am: Update for renamed files. Rebuild dependencies.
2905 * bfd-in2.h: Rebuild.
2906 * configure.in, Makefile.in, aclocal.m4: Rebuild.
2907
2908 Thu Jul 2 13:31:55 1998 Ian Lance Taylor <ian@cygnus.com>
2909
2910 Based on patch from Matt Semersky <matts@scd.hp.com>:
2911 * linker.c (_bfd_generic_final_link): Force a trailing NULL
2912 pointer on abfd->outsymbols.
2913 (generic_add_output_symbol): Handle NULL sym parameter.
2914
2915 Wed Jul 1 17:05:53 1998 Nick Clifton <nickc@cygnus.com>
2916
2917 * elf.c (copy_private_bfd_data): Add support for changing VMA or
2918 LMA of sections.
2919
2920 Wed Jul 1 16:58:50 1998 Ian Lance Taylor <ian@cygnus.com>
2921
2922 * coff-sh.c (sh_relax_delete_bytes): Correct address comparisons
2923 when handling 32 bit immediate relocs.
2924 * elf32-sh.c (sh_elf_relax_delete_bytes): Likewise.
2925
2926 Tue Jun 30 09:55:03 1998 Jeffrey A Law (law@cygnus.com)
2927
2928 * section.c (STD_SECTION): Account for recently added gc_mark
2929 field in struct asection.
2930
2931 * elf-m10300.c (bfd_mn10300_elf_merge_private_bfd_data): New function.
2932 (bfd_elf32_bfd_merge_private_bfd_data): Define.
2933
2934 Thu Jun 25 18:31:41 1998 Richard Henderson <rth@cygnus.com>
2935
2936 ELF Section-level Garbage Collection:
2937 * bfd.c (bfd_gc_sections): New.
2938 * aout-adobe.c: Hook to default implementation.
2939 * aout-target.h, aout-tic30.c, binary.c, bout.c: Likewise.
2940 * coff-alpha.c, coff-mips.c, coff-rs6000.c, coffcode.h: Likewise.
2941 * evax-alpha.c, i386msdos.c, i386os9k.c, ieee.c: Likewise.
2942 * ihex.c, nlm-target.h, oasys.c, ppcboot.c, srec.c: Likewise.
2943 * tekhex.c, versados.c: Likewise.
2944 * libbfd-in.h (_bfd_nolink_bfd_gc_sections): New.
2945 * targets.c (BFD_JUMP_TABLE_LINK): Add _bfd_gc_sections.
2946
2947 * reloc.c (BFD_RELOC_VTABLE_INHERIT, BFD_RELOC_VTABLE_ENTRY): New.
2948 (bfd_generic_gc_sections): New.
2949 * section.c (SEC_KEEP): New.
2950 (asection): Add gc_mark member.
2951
2952 * elfcode.h (elf_gc*): New name remappings.
2953 * elflink.h (elf_link_input_bfd): Don't set contents on stabs
2954 sections to be excluded.
2955 (elf_gc_mark, elf_gc_sweep, elf_gc_sweep_symbol): New.
2956 (elf_gc_propogate_vtable_entries_used): New.
2957 (elf_gc_smash_unused_vtentry_relocs): New.
2958 (elf_gc_sections, elf_gc_record_vtinherit, elf_gc_record_vtentry): New.
2959 (elf_gc_common_finalize_got_offsets): New.
2960 (elf_gc_allocate_got_offsets, elf_gc_common_final_link): New.
2961 * elfxx-target.h: Add and default gc hooks.
2962
2963 * elf-bfd.h (struct elf_link_hash_entry): Swap got_offset/plt_offset
2964 for unions.
2965 (struct elf_obj_tdata): Likewise for local_got_offsets.
2966 * elf.c, elf-i386.c, elf32-m68k.c, elf32-mips.c: Update all uses.
2967 * elf32-ppc.c, elf32-sparc.c, elf64-alpha.c: Likewise.
2968 * elf64-sparc.c, elflink.h: Likewise.
2969
2970 * elf-bfd.h (struct elf_link_hash_entry): Add vtable members.
2971 (ELF_LINK_HASH_MARK): Define.
2972 (struct elf_backend_data): Add GC hooks.
2973 * elf.c (_bfd_elf_link_hash_newfunc): Zero vtable members.
2974
2975 * elf-m10300.c (mn10300_elf_check_relocs): New.
2976 (mn10300_elf_gc_mark_hook): New.
2977 (R_MN10300_GNU_VTINHERIT, R_MN10300_GNU_VTENTRY): New.
2978 (elf_mn10300_howto, mn10300_reloc_map): Handle them.
2979 (mn10300_elf_final_link_relocate): Likewise.
2980 (mn10300_elf_relocate_section): Likewise.
2981 (elf_backend_can_gc_sections): Define.
2982 * elf32-mips.c (R_MIPS_GNU_VTINHERIT, R_MIPS_GNU_VTENTRY): New.
2983 (elf_mips_gnu_vtinherit_howto, elf_mips_gnu_vtentry_howto): New.
2984 (bfd_elf32_bfd_reloc_type_lookup): Handle them.
2985 (mips_info_to_howto_rel): Likewise.
2986 (mips_elf_relocate_section): Likewise.
2987 (mips_elf_check_relocs): Likewise.
2988 (mips_elf_gc_mark_hook, mips_elf_gc_sweep_hook): New.
2989 (elf_backend_can_gc_sections): Define.
2990 * elf32-ppc.c (R_PPC_GNU_VTINHERIT, R_PPC_GNU_VTENTRY): New.
2991 (ppc_elf_howto_raw): Handle them.
2992 (ppc_elf_reloc_type_lookup): Likewise.
2993 (ppc_elf_relocate_section): Likewise.
2994 (ppc_elf_check_relocs): Reference count .got and .plt entires.
2995 Handle new vtable relocs.
2996 (ppc_elf_adjust_dynamic_symbol): Recognize unused .plt entries.
2997 (ppc_elf_gc_mark_hook, ppc_elf_gc_sweep_hook): New.
2998 (elf_backend_can_gc_sections): Define.
2999
3000 Fri Jun 26 10:48:23 1998 Jeffrey A Law (law@cygnus.com)
3001
3002 * archures.c (bfd_mach_mn10300): Define.
3003 * elf-m10300.c: Include elf/mn10300.h
3004 (elf_mn10300_mach): New function.
3005 (_bfd_mn10300_elf_final_write_processing): Likewise.
3006 (_bfd_mn10300_elf_object_p): Likewise.
3007 (elf_backendfinal_write_processing): Define.
3008 (elf_backend_object_p): Likewise.
3009
3010 Thu Jun 25 18:31:08 1998 Nick Clifton <nickc@cygnus.com>
3011
3012 * elf32-v850.c (v850_elf_perform_relocation): Fix HI16_S
3013 relocation.
3014
3015 Wed Jun 24 17:17:57 1998 Ian Lance Taylor <ian@cygnus.com>
3016
3017 * elflink.h (elf_bfd_final_link): Loop over input_bfds using the
3018 link_next field, not the next field.
3019
3020 Sun Jun 21 19:38:39 1998 Ian Lance Taylor <ian@cygnus.com>
3021
3022 * elf.c (map_sections_to_segments): Check the section address
3023 against the phdr size both with and without a modulo of
3024 maxpagesize.
3025
3026 Fri Jun 19 17:08:18 1998 Ian Lance Taylor <ian@cygnus.com>
3027
3028 * elf32-mips.c (mips_elf_size_dynamic_sections): Only strip a
3029 linker created empty input section if the output section has the
3030 same name.
3031
3032 * elflink.h (elf_link_output_extsym): Print an error message if
3033 _bfd_elf_section_from_bfd_section fails.
3034
3035 * elf.c (_bfd_elf_section_from_bfd_section): Call bfd_set_error on
3036 failure.
3037
3038 Tue Jun 16 11:55:55 1998 Ian Lance Taylor <ian@cygnus.com>
3039
3040 * elf.c (copy_private_bfd_data): Improve handling of Solaris
3041 native linker output. Avoid putting an empty section in more than
3042 one segment.
3043
3044 Fri Jun 12 13:30:17 1998 Tom Tromey <tromey@cygnus.com>
3045
3046 * po/Make-in (all-yes): If maintainer mode, depend on .pot file.
3047 ($(PACKAGE).pot): Unconditionally depend on POTFILES.
3048
3049 Fri Jun 12 13:34:02 1998 Doug Evans <devans@canuck.cygnus.com>
3050
3051 * elf.c (swap_out_syms): New arg relocatable_p.
3052 Don't add section VMA to symbols for relocatable output.
3053 (_bfd_elf_compute_section_file_positions): Update call to
3054 swap_out_syms.
3055
3056 Mon Jun 8 15:20:57 1998 Nick Clifton <nickc@cygnus.com>
3057
3058 * elf32-v850.c (v850_elf_perform_relocation): Make comparisons
3059 against 'addend' be signed rather than unsigned.
3060
3061 Sat Jun 6 00:31:21 1998 Nick Clifton <nickc@cygnus.com>
3062
3063 * elf32-m32r.c: Add prototyps for static functions.
3064
3065 * coff-arm.c: Add prototypes for static functions.
3066
3067 Fri Jun 5 17:21:51 1998 Nick Clifton <nickc@cygnus.com>
3068
3069 * elf.c (elf_sort_sections): Sort by LMA first then VMA, since the
3070 LMA is used to order sections in a segment.
3071
3072 * elf32-v850.c: Add prototypes for static functions.
3073 Change type of addend parameter to bfd_vma in various functions.
3074
3075 Fri Jun 5 18:09:58 1998 Ian Lance Taylor <ian@cygnus.com>
3076
3077 * aoutx.h (howto_table_ext): Change RELOC_BASE13 to use
3078 complain_overflow_signed instead of complain_overflow_bitfield.
3079
3080 Fri Jun 5 15:11:11 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3081
3082 * elf.c (elf_map_symbols): Don't add section VMA to symbol value
3083 when comparing against 0.
3084
3085 Wed Jun 3 17:52:49 1998 Ian Lance Taylor <ian@cygnus.com>
3086
3087 * Makefile.am (config.status): New target.
3088 * Makefile.in: Rebuild.
3089
3090 Wed Jun 3 12:18:24 1998 Stan Cox <scox@equinox.cygnus.com>
3091
3092 * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Give an
3093 error if previous object endianness doesn't match current object.
3094
3095 Tue Jun 2 17:50:59 1998 Nick Clifton <nickc@cygnus.com>
3096
3097 * elf32-v850.c (v850_elf_print_private_bfd_data): Call
3098 _bfd_elf_print_private)bfd_data ().
3099
3100 Tue Jun 2 15:29:35 1998 Ian Lance Taylor <ian@cygnus.com>
3101
3102 * elflink.h (elf_merge_symbol): Don't always set type_change_ok
3103 and size_change_ok.
3104 (elf_link_add_object_symbols): Set type_change_ok and
3105 size_change_ok before calling elf_merge_symbol.
3106
3107 * elf32-mips.c (mips_elf_relocate_section): If we issue an
3108 undefined symbol error, don't also issue an overflow error.
3109
3110 Tue Jun 2 13:51:00 1998 Geoff Keating <geoffk@ozemail.com.au>
3111
3112 * elf32-ppc.c (ppc_elf_relocate_section): The target of an
3113 R_PPC_LOCAL24PC relocation should be local; if not, print an error
3114 message instead of crashing.
3115
3116 Mon Jun 1 18:23:12 1998 Yuli Barcohen <yuli.barcohen@telrad.co.il>
3117
3118 * archures.c (bfd_mach_cpu32): Define.
3119 (bfd_default_scan): Add case for 68060. Fix 68332 case to use
3120 bfd_mach_cpu32.
3121 * cpu-m68k.c (arch_info_struct): Add m68k:cpu32.
3122 * ieee.c: Include <ctype.h>.
3123 (ieee_object_p): Parse out process ID string to make it more
3124 likely to be acceptable for bfd_scan_arch.
3125 * bfd-in2.h: Rebuild.
3126
3127 Mon Jun 1 11:12:02 1998 Nick Clifton <nickc@cygnus.com>
3128
3129 * elf32-m32r.c (m32r_elf_print_private_bfd_data): Also call
3130 _bfd_elf_print_private_bfd_data() so that the program header will
3131 be displayed.
3132
3133 Mon Jun 1 12:14:28 1998 Ian Lance Taylor <ian@cygnus.com>
3134
3135 * peicode.h (coff_swap_sym_in): Check for C_SECTION rather than
3136 0x68. Reindent. Add some comments.
3137
3138 Fri May 29 09:58:08 1998 Nick Clifton <nickc@cygnus.com>
3139
3140 * elf.c (copy_private_bfd_data): Adjust physical address of
3141 segment in output BFD to contain LMAs of its sections.
3142
3143 Tue May 26 19:37:47 1998 Stan Cox <scox@equinox.cygnus.com>
3144
3145 * elf32-sparc.c (_bfd_sparc_elf_howto_table, sparc_reloc_map,
3146 elf32_sparc_relocate_section): Added R_SPARC_32LE for little
3147 endian data 32 bit relocations.
3148 (elf32_sparc_merge_private_bfd_data): Check if linking little
3149 endian objects with big endian objects.
3150 (elf32_sparc_object_p): Set bfd_mach_sparc_sparclite_le.
3151 (elf32_sparc_final_write_processing): Set EF_SPARC_LEDATA in e_flags.
3152 * libbfd.h (bfd_reloc_code_real_names): Added BFD_RELOC_SPARC_32LE.
3153 * reloc.c: Same.
3154 * cpu-sparc.c (arch_info_struct): Added sparc:sparclite_le
3155 * archures.c (bfd_mach_sparc_sparclite_le): New.
3156 * bfd-in2.h (BFD_RELOC_SPARC_32LE, bfd_mach_sparc_sparclite_le): New.
3157
3158 Thu May 21 16:59:28 1998 Nick Clifton <nickc@cygnus.com>
3159
3160 * peicode.h (add_data_entry): Fix precedence of operators in if ()
3161 statement.
3162
3163 Tue May 19 18:41:19 1998 Ian Lance Taylor <ian@cygnus.com>
3164
3165 * bfd-in.h: Move over patch to bfd-in2.h.
3166
3167 * reloc.c (bfd_check_overflow): Add casts before shifts which may
3168 not fit in 32 bits.
3169 (_bfd_relocate_contents): Likewise.
3170
3171 Mon May 18 14:44:15 1998 Nick Clifton <nickc@cygnus.com>
3172
3173 * peicode.h (add_data_entry): If the section has no private data
3174 then do not create a Data Dictionary entry for it.
3175
3176 Mon May 18 00:09:28 1998 Richard Henderson <rth@cygnus.com>
3177
3178 * elf64-alpha.c (elf64_alpha_relax_section): Set again on changes.
3179 (elf64_alpha_can_merge_gots, elf64_alpha_merge_gots,
3180 elf64_alpha_size_got_sections): Rewrite, handling multiple got
3181 subsections during relaxation more correctly.
3182
3183 Thu May 14 14:22:58 1998 Nick Clifton <nickc@cygnus.com>
3184
3185 * bfd-in2.h: Add new prototype: bfd_coff_set_symbol_class ().
3186 Add extra argument to bfd_arm_process_before_allocation ().
3187 * bfd-in.h: Reflect changes made in bfd-in2.h.
3188 * coffgen.c (bfd_coff_set_symbol_class): New function. Set the
3189 coff class of a BFD symbol.
3190 * coff-arm.c: Add support for interworking between Thumb code and
3191 non-interworking aware ARM code.
3192
3193 Sun May 10 22:33:59 1998 Jeffrey A Law (law@cygnus.com)
3194
3195 * po/Make-in (install-info): New target.
3196
3197 Thu May 7 17:40:56 1998 Ian Lance Taylor <ian@cygnus.com>
3198
3199 * filemode.c: Remove; not used.
3200
3201 If sysdep.h includes a header file, don't include it again:
3202 * aix386-core.c: Don't include <stdio.h>, <stddef.h>, or
3203 <errno.h>.
3204 * aoutx.h: Don't include <string.h>. Use "sysdep.h" rather than
3205 <sysdep.h>.
3206 * archive.c: Don't include <string.h> or <errno.h>.
3207 * evax-alpha.c; Don't include <stdio.h>.
3208 * evax-egsd.c: Likewise.
3209 * evax-etir.c: Likewise.
3210 * evax-misc.c: Likewise.
3211 * evax-emh.c: Likewise. Also, don't include <sys/types.h>.
3212 * hppabsd-core.c: Don't include <stdio.h>, <sys/types.h>, or
3213 <errno.h>.
3214 * hpux-core.c: Likewise.
3215 * netbsd-core.c: Likewise.
3216 * som.c: Likewise.
3217 * libbfd.c: Don't include <sys/types.h>.
3218 * nlmcode.h: Don't include <string.h>.
3219 * osf-core.c: Don't include <string.h> or <stdio.h>.
3220 * ptrace-core.c: Don't include <stdio.h>, <sys/types.h>,
3221 <errno.h>, or <unistd.h>.
3222 * trad-core.c: Don't include <stdio.h> or <sys/types.h>.
3223
3224 Thu May 7 13:12:50 1998 Klaus Kaempf <kkaempf@progis.de>
3225
3226 * configure.com: If the version number can not be found in
3227 configure.in, set it to "unknown" rather than "2.8.1".
3228
3229 Wed May 6 09:46:05 1998 Gavin Koch <gavin@cygnus.com>
3230
3231 * elf32-mips.c (elf_mips_mach): New.
3232 (_bfd_mips_elf_object_p): Use elf_mips_mach.
3233 (_bfd_mips_elf_final_write_processing): Use the names
3234 of machines, rather than the numbers. Set both the ARCH
3235 and MACH in e_flags. Handle a few more specific machines.
3236 (_bfd_mips_elf_merge_private_bfd_data): Merge both
3237 EF_MIPS_ARCH and EF_MIPS_MACH.
3238
3239 Tue May 5 21:01:53 1998 Richard Henderson <rth@cygnus.com>
3240
3241 * syms.c (bfd_is_local_label): Revert last change.
3242 * srec.c (srec_write_symbols): Discard debugging symbols.
3243
3244 Tue May 5 23:36:06 1998 Ian Lance Taylor <ian@cygnus.com>
3245
3246 * som.c: Include <ctype.h>.
3247 * som.h: Don't include sysdep.h.
3248
3249 Tue May 5 18:29:24 1998 Tom Tromey <tromey@cygnus.com>
3250
3251 * libbfd.h: Rebuilt.
3252 * libbfd-in.h: Removed gettext includes and defines.
3253 * sysdep.h: Moved gettext-related includes and defines here.
3254
3255 Tue May 5 16:47:54 1998 Richard Henderson <rth@cygnus.com>
3256
3257 * srec.c (srec_write_symbols): Use bfd_is_local_label rather than
3258 an ad-hoc test. Kill bogus #if 0 code.
3259 * syms.c (bfd_is_local_label): Consider BSF_DEBUGGING symbols local.
3260
3261 Mon May 4 16:10:33 1998 Ian Lance Taylor <ian@cygnus.com>
3262
3263 * sunos.c (sunos_check_dynamic_reloc): Don't use the PLT address
3264 when generating a normal executable for a symbol defined in a
3265 regular file. When copying a reloc into the output file, adjust
3266 the addend for a PC relative reloc against a global symbol.
3267
3268 Mon May 4 10:08:18 1998 Tom Tromey <tromey@cygnus.com>
3269
3270 * libbfd.h: Rebuilt.
3271 * libbfd-in.h (_): Define as dgettext.
3272
3273 Mon May 4 11:02:23 1998 Ian Lance Taylor <ian@cygnus.com>
3274
3275 * coff-arm.c (coff_arm_relocate_section): Cast to bfd_signed_vma,
3276 not signed.
3277 * peicode.h (pe_saved_coff_bfd_print_private_bfd_data): Use PARAMS
3278 when declaring parameter types.
3279 (pe_saved_coff_bfd_copy_private_bfd_data): Likewise.
3280
3281 Wed Apr 29 15:35:03 1998 Ian Lance Taylor <ian@cygnus.com>
3282
3283 * config.bfd: If we include any ELF targets in targ_defvec and/or
3284 targ_selvecs, then add the generic ELF targets to targ_selvecs.
3285 * elf32-gen.c (dummy): New static const variable.
3286 (elf_generic_info_to_howto): New static function.
3287 (elf_generic_info_to_howto_rel): New static function.
3288 (elf_info_to_howto): Define as elf_generic_info_to_howto.
3289 (elf_info_to_howto_rel): Define as elf_generic_info_to_howto_rel.
3290 * elf64-gen.c: Same changes as elf32-gen.c.
3291 * elfcode.h (elf_object_p): For the generic target, ignore a
3292 failure of bfd_default_set_arch_mach. Fix indentation a bit.
3293
3294 Tue Apr 28 20:05:52 1998 Ian Lance Taylor <ian@cygnus.com>
3295
3296 * configure.in (WIN32LIBADD): Add -lintl on cygwin32.
3297 * configure: Rebuild.
3298
3299 Tue Apr 28 12:16:57 1998 Jason Molenda (crash@bugshack.cygnus.com)
3300
3301 * config.bfd: Update OSR5/Unixware patterns.
3302
3303 Mon Apr 27 18:02:24 1998 Richard Henderson <rth@cygnus.com>
3304
3305 * elf.c (assign_file_positions_for_segments): Allow for holes
3306 between sections added by a link script.
3307
3308 Mon Apr 27 11:49:55 1998 Ian Lance Taylor <ian@cygnus.com>
3309
3310 * configure.in: Change version number to 2.9.4
3311 * configure: Rebuild.
3312
3313 Based on patch from H.J. Lu <hjl@gnu.org>:
3314 * elf.c (bfd_elf_get_bfd_needed_list): New function.
3315 * bfd-in.h (bfd_elf_get_bfd_needed_list): Declare.
3316 * bfd-in2.h: Rebuild.
3317
3318 Sat Apr 25 20:07:53 1998 Richard Henderson <rth@cygnus.com>
3319
3320 * elf64-alpha.c (struct alpha_relax_info): Replace elfsym with other.
3321 Change all users.
3322
3323 Sat Apr 25 18:29:07 1998 Richard Henderson <rth@cygnus.com>
3324
3325 * elf64-alpha.c (struct alpha_relax_info): Add tsec & elfsym members.
3326 (elf64_alpha_relax_section): Fill them in.
3327 (elf64_alpha_relax_opt_call): Implement more than a stub.
3328 (elf64_alpha_add_symbol_hook): Don't set SEC_LOAD or default
3329 alignment on .scommon.
3330 (elf64_alpha_merge_gots): Merge use counts as well.
3331
3332 Sat Apr 25 14:07:29 1998 Richard Henderson <rth@cygnus.com>
3333
3334 * elf64-alpha.c (elf64_alpha_relax_section): Use the proper section
3335 for calculating a local symbol's address.
3336 (elf64_alpha_calc_got_offsets): Skip entries with 0 use count.
3337 Set the .got's cooked size as well as the raw size.
3338
3339 Fri Apr 24 09:16:00 1998 Nick Clifton <nickc@cygnus.com>
3340
3341 * elf32-v850.c (v850_elf_print_private_bfd_data): Add
3342 internationalisation of printed information.
3343
3344 * coff-arm.c (coff_arm_print_private_bfd_data): Add
3345 internationalisation of printed information.
3346
3347 Fri Apr 24 12:09:18 1998 Ian Lance Taylor <ian@cygnus.com>
3348
3349 * syms.c (struct indexentry): Change directory_name, file_name,
3350 and function_name fields to char *.
3351 (struct stab_find_info): Change cached_file_name field to char *.
3352
3353 Thu Apr 23 08:13:04 1998 Nick Clifton <nickc@cygnus.com>
3354
3355 * peicode.h (dir_names): Add missing N_() macros to dir_names array.
3356
3357 Wed Apr 22 13:06:15 1998 Tom Tromey <tromey@cygnus.com>
3358
3359 * po/Make-in (MKINSTALLDIRS): Don't look in $(top_srcdir).
3360
3361 Wed Apr 22 17:48:48 1998 Ian Lance Taylor <ian@cygnus.com>
3362
3363 * Makefile.am (install-data-local): Make $(includedir).
3364 * Makefile.in: Rebuild.
3365
3366 Wed Apr 22 13:06:15 1998 Tom Tromey <tromey@cygnus.com>
3367
3368 * libbfd-in.h: Use `gettext' and not `dgettext' for now.
3369
3370 Wed Apr 22 12:53:40 1998 Ian Lance Taylor <ian@cygnus.com>
3371
3372 * Makefile.am (INCLUDES): Add -I$(srcdir)/../intl -I../intl.
3373 * Makefile.in: Rebuild.
3374
3375 * bfd-in2.h: Rebuild for Nick's changes.
3376
3377 Tue Apr 21 23:11:51 1998 Richard Henderson <rth@cygnus.com>
3378
3379 * archive.c (_bfd_generic_read_ar_hdr_mag): Fix lossage in last
3380 change wrt length == max_namelen.
3381
3382 Tue Apr 21 21:19:36 1998 Tom Tromey <tromey@scribbles.cygnus.com>
3383
3384 * Many files: Added gettext invocations around user-visible
3385 strings.
3386 * libbfd-in.h: Added gettext includes and defines.
3387 * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_STPCPY,
3388 HAVE_LC_MESSAGES): Define.
3389 * configure.in: Call CY_GNU_GETTEXT. Create po/Makefile.in and
3390 po/Makefile.
3391 * Makefile.am (SUBDIRS): Added po.
3392 (POTFILES): New macro.
3393 (po/POTFILES.in): New target.
3394 (SOURCE_HFILES): New macro.
3395 (HFILES): Use it.
3396 * po/Make-in, po/POTFILES.in, po/bfd.pot: New files.
3397
3398 Tue Apr 21 13:38:18 1998 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
3399
3400 * elfcore.h (bfd_prstatus): Copy core_prstatus from the first
3401 NT_PRSTATUS note section encountered, it contains the status of
3402 the currently executing thread when the core file was written.
3403
3404 Tue Apr 21 10:00:12 1998 Nick Clifton <nickc@cygnus.com>
3405
3406 * libcoff.h: Add extra parameter to
3407 bfd_coff_link_output_has_begun overrideable function.
3408 * cofflink.c: Pass extra parameter to
3409 bfd_coff_link_output_has_begun function.
3410 * bfd-in.h: Add prototypes for exported ARM interworking
3411 functions.
3412 * peicode.h: ARM specific code reorganised to conform to BFD
3413 coding conventions.
3414 * coffcode.h: ARM specific code reorganised to conform to BFD
3415 coding conventions.
3416 * coff-arm.c: Code reorganised to conform to the BFD coding
3417 conventions. Global variables have been moved into an ARM
3418 specific hash table structure and a new function:
3419 bfd_arm_get_bfd_for_interworking() has been created which is
3420 called from the linker scripts.
3421
3422 Tue Apr 21 00:11:51 1998 Richard Henderson <rth@cygnus.com>
3423
3424 * archive.c (_bfd_generic_read_ar_hdr_mag): Simplify end-of-name test.
3425
3426 * elf64-alpha.c (elf64_alpha_find_reloc_at_ofs): Renamed from
3427 elf64_alpha_relax_find_reloc_ofs. Changed all callers.
3428 (elf64_alpha_add_symbol_hook): Put small commons in .scommon not .sbss.
3429 (elf64_alpha_size_got_sections): Don't merge .got sections twice.
3430
3431 Sat Apr 18 01:21:04 1998 Stan Cox <scox@cygnus.com>
3432
3433 * config.bfd: Added sparc86x support.
3434
3435 Fri Apr 17 22:29:04 1998 Ian Lance Taylor <ian@cygnus.com>
3436
3437 * elf32-mips.c (mips_elf_relocate_section): Do not complain about
3438 an out of range pc-relative jump/call to an undefined weak symbol.
3439
3440 Thu Apr 16 13:49:00 1998 Richard Henderson <rth@cygnus.com>
3441
3442 * elf64-alpha.c (elf64_alpha_do_reloc_gpdisp): Do all gpdisp
3443 comparisons signed.
3444
3445 Thu Apr 16 11:43:33 1998 Ian Lance Taylor <ian@cygnus.com>
3446
3447 * archive.c (bfd_generic_archive_p): If a slurp subroutine returns
3448 an error other than bfd_error_system_call, set the error to
3449 bfd_error_wrong_format.
3450
3451 * targets.c (bfd_target_vector) [SELECT_VECS not defined]: Add
3452 bfd_elf32_powerpcle_vec.
3453
3454 * elf.c (copy_private_bfd_data): If all the p_paddr fields in the
3455 program segments are zero, don't set p_paddr_valid.
3456
3457 Wed Apr 15 22:15:16 1998 Richard Henderson <rth@cygnus.com>
3458
3459 * elf64-alpha.c: Initial implementation of relaxation --
3460 (struct alpha_elf_link_hash_entry): Add use_count member.
3461 (elf64_alpha_check_relocs): Initialize and increment it.
3462 (elf64_alpha_can_merge_gots): Check it when considering merging.
3463 (elf64_alpha_merge_gots): Drop entries with zero use.
3464 (elf64_alpha_calc_got_offsets_for_symbol): Likewise.
3465 (elf64_alpha_always_size_sections): Split out got sizing ...
3466 (elf64_alpha_size_got_sections): ... here. New function.
3467 (elf64_alpha_relax_find_reloc_ofs): New function.
3468 (elf64_alpha_relax_with_lituse): Likewise.
3469 (elf64_alpha_relax_without_lituse): Likewise.
3470 (elf64_alpha_relax_opt_call): Likewise.
3471 (elf64_alpha_relax_section): Likewise.
3472 (elf64_alpha_add_symbol_hook): Likewise.
3473 (elf64_alpha_howto_table): Implement GPRELHIGH/LOW & IMMED_GP_16.
3474 (elf64_alpha_relocate_section): Likewise.
3475 (bfd_elf64_bfd_relax_section): Define.
3476 (elf_backend_add_symbol_hook): Likewise.
3477
3478 Wed Apr 15 16:08:46 1998 Richard Henderson <rth@cygnus.com>
3479
3480 * elf.c (prep_headers): Use new EM_SPARCV9 symbol.
3481 * elf64-sparc.c (ELF_MACHINE_CODE): Likewise.
3482 (ELF_MACHINE_ALT1): New. Set to EM_OLD_SPARC64.
3483
3484 Wed Apr 15 11:34:33 1998 Ian Lance Taylor <ian@cygnus.com>
3485
3486 * configure.in: Add -lkernel32 to WIN32LIBADD on cygwin32.
3487 * configure: Rebuild.
3488
3489 Mon Apr 13 16:46:27 1998 Ian Lance Taylor <ian@cygnus.com>
3490
3491 * Makefile.am (libbfd_la_LIBADD): Add @WIN32LIBADD@.
3492 (libbfd_la_LDFLAGS): Add @WIN32LDFLAGS@.
3493 * configure.in: Define and substitute WIN32LDFLAGS and
3494 WIN32LIBADD.
3495 * aclocal.m4: Rebuild with new libtool.
3496 * configure, Makefile.in: Rebuild.
3497
3498 Fri Apr 10 13:44:27 1998 Ian Lance Taylor <ian@cygnus.com>
3499
3500 * coffcode.h (coff_write_object_contents): Move a PE COMDAT symbol
3501 before any other symbols in the same section.
3502
3503 Wed Apr 8 14:50:23 1998 Michael Meissner <meissner@cygnus.com>
3504
3505 * config.bfd (powerpc*-*-*): Remove PowerPC NT support from ELF
3506 systems.
3507
3508 Tue Apr 7 16:25:31 1998 Gavin Romig-Koch <gavin@cygnus.com>
3509
3510 * dwarf2.c (comp_unit): Move it earlier in the source. Add
3511 addr_size.
3512 (read_address): Replace 'bdf*' argument with 'comp_unit*' argument.
3513 Use addr_size for address size, rather than sizeof(bfd_vma).
3514 (read_attribute): Replace bdf* argument with 'comp_unit*' argument.
3515 Fix call to read_address.
3516 (decode_line_info): Replace bdf* argument with 'comp_unit*' argument.
3517 Scrap other unneeded arguments. Fix call to read_address.
3518 (scan_unit_for_functions): Fix call to read_attribute.
3519 (parse_comp_unit): We now handle more values for addr_size.
3520 Set addr_size in unit. Fix call to read_attribute and
3521 decode_line_info.
3522
3523 Tue Apr 7 15:44:47 1998 Gavin Romig-Koch <gavin@cygnus.com>
3524
3525 * dwarf2.c (parse_comp_unit): Drop use of unit->name when it is null.
3526
3527 Tue Apr 7 12:35:18 1998 Ian Lance Taylor <ian@cygnus.com>
3528
3529 * archures.c (bfd_default_scan): Add m68k cases back to default
3530 switch, reverting patch of March 25, since IEEE support depends
3531 upon them.
3532
3533 Mon Apr 6 14:06:40 1998 Ian Lance Taylor <ian@cygnus.com>
3534
3535 * Makefile.am (diststuff): New target.
3536 * Makefile.in: Rebuild.
3537
3538 Sun Apr 5 16:21:44 1998 Jeffrey A Law (law@cygnus.com)
3539
3540 * som.c (som_bfd_ar_write_symbol_stuff): Fix computation of
3541 som_offset when we have an extended name table.
3542
3543 Sun Apr 5 16:04:39 1998 H.J. Lu <hjl@gnu.org>
3544
3545 * Makefile.am (stamp-lib): Check that .libs/libbfd.a exists before
3546 trying to copy it.
3547 * Makefile.in: Rebuild.
3548
3549 Fri Apr 3 11:09:42 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3550
3551 * elf32-m68k.c (elf_m68k_size_dynamic_sections): Generate section
3552 symbols when creating a shared library.
3553 (elf_m68k_adjust_dynindx): New function, used by above code.
3554 (elf_m68k_finish_dynamic_sections): Initialize the section
3555 symbols.
3556 (elf_m68k_relocate_section): Change abort to BFD_ASSERT.
3557
3558 Wed Apr 1 16:04:02 1998 Nick Clifton <nickc@cygnus.com>
3559
3560 * coff-arm.c (in_reloc_p): Use ARM_RVA32 in place of constant
3561 value 11.
3562
3563 Wed Apr 1 13:36:58 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3564
3565 * elf32-m68k.c (elf_m68k_relocate_section, case R_68K_PLT*O): Fix
3566 assertion.
3567
3568 Tue Mar 31 00:12:12 1998 Jeffrey A Law (law@cygnus.com)
3569
3570 * elf-m10300.c (mn10300_elf_relax_section): Correctly handle
3571 absolute symbols.
3572
3573 Mon Mar 30 12:46:15 1998 Ian Lance Taylor <ian@cygnus.com>
3574
3575 * configure.in: Set version to 2.9.1.
3576 * configure: Rebuild.
3577
3578 * Branched binutils 2.9.
3579
3580 Mon Mar 30 12:20:50 1998 Brent Baccala <baccala@freesoft.org>
3581
3582 * syms.c (ENABLE_CACHING): Define.
3583 (struct indexentry): Define.
3584 (struct stab_cache): Remove.
3585 (cmpindexentry): New static function.
3586 (struct stab_find_info): Add new fields: indextable,
3587 indextablesize, cached_indexentry, cached_offset, cached_stab, and
3588 cached_file_name. Remove fields: file_cache, function_cache, and
3589 line_cache.
3590 (_bfd_stab_section_find_nearest_line): Rewrite to build a sorted
3591 index table and search it.
3592
3593 Mon Mar 30 10:39:34 1998 Ian Lance Taylor <ian@cygnus.com>
3594
3595 * elf.c (_bfd_elf_copy_private_section_data): Call
3596 copy_private_bfd_data once we've seen the last SEC_ALLOC section.
3597
3598 * cpu-mips.c: Remove trailing comma at end of enumeration list.
3599
3600 Sat Mar 28 16:33:02 1998 Ian Lance Taylor <ian@cygnus.com>
3601
3602 * coff-arm.c: Define all globally visible variables and functions
3603 only when COFF_WITH_PE is not defined.
3604 * configure.in (armpe_little_vec, armpe_big_vec): Add
3605 coff-arm.lo.
3606 * configure: Rebuild.
3607
3608 Fri Mar 27 16:06:02 1998 Ian Lance Taylor <ian@cygnus.com>
3609
3610 Fix some gcc -Wall warnings:
3611 * aout-arm.c (MY(fix_pcrel_26)): Add casts to avoid warnings.
3612 * archive.c (_bfd_generic_read_ar_hdr_mag): Likewise.
3613 * archures.c (bfd_default_scan): Likewise.
3614 * bfd.c (bfd_scan_vma): Likewise.
3615 * binary.c (mangle_name): Likewise
3616 * coff-arm.c (aoutarm_fix_pcrel_26): Likewise.
3617 * coff-sh.c (sh_relocate_section): Likewise.
3618 * coff-stgo32.c (create_go32_stub): Likewise.
3619 * coffcode.h (coff_slurp_line_table): Likewise.
3620 * ecoff.c (_bfd_ecoff_write_armap): Likewise.
3621 * elf.c (_bfd_elf_make_section_from_shdr): Likewise.
3622 (assign_file_positions_for_segments): Likewise.
3623 * elf32-mips.c (mips_elf_relocate_section): Likewise.
3624 * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
3625 * oasys.c (oasys_write_sections): Likewise.
3626 * ppcboot.c (ppcboot_object_p): Likewise.
3627 (mangle_name): Likewise.
3628 * riscix.c (riscix_fix_pcrel_26): Likewise.
3629 * srec.c (srec_scan): Likewise.
3630 * stabs.c (_bfd_write_section_stabs): Likewise.
3631 * sunos.c (sunos_add_dynamic_symbols): Likewise.
3632 * aout-ns32k.c (_bfd_ns32k_relocate_contents): Add default case to
3633 switch. Declare parameters for function pointers.
3634 * archures.c (bfd_default_scan): Add braces to avoid ambiguous if
3635 warning.
3636 * elf.c (elf_sort_sections): Likewise.
3637 * coff-arm.c (coff_thumb_pcrel_common): Initialize relocation.
3638 Add default cases to switches.
3639 (coff_arm_relocate_section): Remove unused local variables.
3640 Always set rstat.
3641 (coff_arm_bfd_set_private_flags): Change flag variable to type
3642 flagword.
3643 * coff-mips.c (mips_relocate_section): Initialize use_lo.
3644 * coff-ppc.c (ppc_record_toc_entry): Change i to unsigned int.
3645 (dump_toc): Change cat to const, and initialize it.
3646 * coff-sh.c (sh_relax_delete_bytes): Initialize start and voff.
3647 * elf32-sh.c (sh_elf_relax_delete_bytes): Likewise.
3648 (sh_elf_relocate_section): Initialize r_symndx.
3649 * coffcode.h (coff_compute_section_file_positions): Only declare
3650 old_sofar if ALIGN_SECTIONS_IN_FILE.
3651 (coff_write_object_contents): Initialize csym.
3652 * coffgen.c (coff_pointerize_aux): Make type and class unsigned.
3653 * cpu-ns32k.c (_bfd_ns32k_get_displacement): Add default case to
3654 switch.
3655 * dwarf2.c: Include libiberty.h.
3656 (read_2_signed_bytes, read_4_signed_bytes): Comment out.
3657 (decode_line_info): Remove unused local variables.
3658 * elf32-m32r.c (m32r_elf_sda16_reloc): Likewise.
3659 (m32r_elf_relocate_section): Likewise.
3660 * elf32-v850.c (v850_elf_store_addend_in_insn): Likewise.
3661 (v850_elf_reloc): Likewise.
3662 * elf-bfd.h (elf_linker_section_t): Make alignment unsigned.
3663 (struct elf_obj_tdata): Make cverdefs and cverrefs unsigned.
3664 * elf.c (assign_file_positions_for_segments): Always set adjust.
3665 * elf32-d30v.c (bfd_elf_d30v_reloc): Initialize tmp_addr. Fully
3666 parenthesize expression.
3667 * elf32-m32r.c (m32r_elf_relocate_section): Always initialize h.
3668 (m32r_elf_object_p): Return a value.
3669 (m32r_elf_print_private_bfd_data): Change fprintf format string.
3670 * elf32-mips.c (mips_elf_final_link): Initialize last.
3671 (mips_elf_finish_dynamic_sections): Initialize last and dindx.
3672 * elf32-v850.c (v850_elf_object_p): Return a value.
3673 (v850_elf_print_private_bfd_data): Change fprintf format string.
3674 * elfcode.h (elf_slurp_symbol_table): Change symcount and i to
3675 unsigned long.
3676 * elflink.h (elf_link_add_object_symbols): Change vernum to
3677 unsigned int, and initialize it. Change fprintf format string.
3678 (NAME(bfd_elf,size_dynamic_sections)): Cast -1 to bfd_size_type
3679 when setting or comparing to soname_indx.
3680 (elf_create_pointer_linker_section): Change num_symbols to
3681 unsigned int.
3682 * libcoff-in.h (coff_data_type): Change flags to flagword.
3683 * peicode.h (pe_print_idata): Initialize idx. Change j to
3684 bfd_size_type. Initialize hint_member. Remove useless test to
3685 time_stamp.
3686 (pe_print_edata): Change num_functions and num_names in struct
3687 EDT_type to unsigned long. Remove cast. Change fprintf format
3688 string.
3689 * ppcboot.c (ppcboot_object_p): Change i to size_t.
3690 * reloc.c (bfd_get_reloc_size): Change return type to unsigned
3691 int.
3692 * reloc16.c (bfd_coff_reloc16_relax_section): Change shrinks to
3693 int *. Update uses. Change j to long.
3694 * bfd-in2.h, libcoff.h: Rebuild.
3695
3696 Fri Mar 27 10:10:46 1998 Catherine Moore <clm@cygnus.com>
3697
3698 * elf32-v850.c Remove definition of USE_REL.
3699 (v850_elf_info_to_howto_rela): New function.
3700 (v850_elf_perform_relocation): Renamed from
3701 v850_elf_store_addend_in_insn. Removed replace argument.
3702 (v850_elf_reloc): store the relocation in the addend field instead
3703 of the insn.
3704 (v850_elf_final_link_relocate): Now calls
3705 v850_elf_perform_relocation.
3706 (v850_elf_relocate_section): Remove code to generate REL
3707 relocations.
3708
3709 Thu Mar 26 13:32:17 1998 Ian Lance Taylor <ian@cygnus.com>
3710
3711 * coffcode.h (coff_new_section_hook): Set the type and storage
3712 class in the native symbol information allocated for a new section
3713 symbol.
3714
3715 Thu Mar 26 10:13:41 1998 Nick Clifton <nickc@cygnus.com>
3716
3717 * peicode.h: Chain together calls to
3718 coff_bfd_copy_private_bfd_data and
3719 coff_bfd_print_private_bfd_data.
3720
3721 * coff-arm.c: Add prototypes for
3722 coff_arm_bfd_print_private_bfd_data and
3723 coff_arm_bfd_copy_private_bfd_data.
3724
3725 Wed Mar 25 15:45:55 1998 Nick Clifton <nickc@cygnus.com>
3726
3727 * coffcode.h (coff_mkobject_hook): Set private falgs even for a PE
3728 build.
3729
3730 * peicode.h: Call arm-coff private data functions after handling
3731 pe private data.
3732
3733 * coff-arm.c: Turn statics into globals so that they can be shared
3734 both pe and pei backends.
3735
3736 Wed Mar 25 15:19:38 1998 Ian Lance Taylor <ian@cygnus.com>
3737
3738 * aoutf1.h (sunos_set_arch_mach): Use bfd_mach_m68* rather than
3739 plain numbers.
3740 (sunos_write_object_contents): Likewise.
3741 * aoutx.h (NAME(aout,machine_type)): Likewise.
3742 * coffcode.h (coff_set_arch_mach_hook): Likewise.
3743
3744 Wed Mar 25 13:59:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3745
3746 * archures.c (bfd_mach_m68*): Add definitions for various m68k
3747 variants.
3748 (bfd_default_scan): Remove m68k special cases.
3749 * bfd-in2.h: Rebuild.
3750 * mipsbsd.c (MY(write_object_contents)): Use bfd_mach_m68* rather
3751 than plain numbers.
3752 * sparclynx.c (NAME(lynx,set_arch_mach)): Likewise.
3753 * cpu-m68k.c (arch_info_struct): Likewise. Add entry for
3754 m68k:68000.
3755 (bfd_m68k_arch): Set mach field to zero to signal no explicit
3756 selection, change printable_name to just "m68k" and make that the
3757 default instead of m68k:68020.
3758
3759 * aout-tic30.c (NAME): Define this to avoid multiple definitions
3760 from aoutx.h.
3761 (MY_get_section_contents): Define as aout_32_get_section_contents
3762 rather than NAME(aout,get_section_contents).
3763
3764 * elf-m10300.c (elf32_mn10300_link_hash_table_create): Fix cast.
3765
3766 * evax-alpha.c (evax_set_arch_mach): Only accept bfd_arch_alpha
3767 and call bfd_default_set_arch_mach to do the real work.
3768
3769 Wed Mar 25 10:41:35 1998 Richard Henderson <rth@cygnus.com>
3770
3771 * bout.c (BALX): Include return register g14 as part of the insn.
3772 (BALX_MASK): New.
3773 (calljx_callback): Use it.
3774
3775 Wed Mar 25 11:19:28 1998 Ian Lance Taylor <ian@cygnus.com>
3776
3777 * libbfd-in.h (BFD_ALIGN): Cast this parameter to bfd_vma.
3778 * libbfd.h: Rebuild.
3779
3780 * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Change
3781 byte_count to unsigned int.
3782 (mn10300_elf_relax_section): Initialize internal_relocs. Remove
3783 unused local variables.
3784
3785 * evax-alpha.c (evax_close_and_cleanup): Remove unused local
3786 variables er and er1.
3787
3788 * cpu-v850.c: Include <ctype.h>.
3789 (scan): Case isdigit argument to unsigned char.
3790
3791 From Yan Meroth <YAN.MEROTH@st.com>:
3792 * ihex.c (ihex_scan): Add extbase variable so that getting an
3793 extended linear address record does not ignore any previous
3794 extended address.
3795 (ihex_write_object_contents): When writing out an extended linear
3796 address record, zero out any previous extended address.
3797
3798 Tue Mar 24 16:09:43 1998 Manfred Hollstein <manfred@s-direktnet.de>
3799
3800 * ieee.c (do_one): Check section before dereferencing it.
3801 (ieee_canonicalize_reloc): Likewise with src->relent.sym_ptr_ptr.
3802 (ieee_generic_stat_arch_elt): Likewise with abfd->my_archive.
3803
3804 Mon Mar 23 18:51:47 1998 Joel Sherrill <joel@OARcorp.com>
3805
3806 * config.bfd: (sh*-*-rtems*): Switched from ELF to COFF.
3807
3808 Mon Mar 23 14:23:36 1998 Nick Clifton <nickc@cygnus.com>
3809
3810 * coff-arm.c: Add interworking functions to pe backends.
3811
3812 Fri Mar 20 18:47:20 1998 Ian Lance Taylor <ian@cygnus.com>
3813
3814 * configure.in: Use AM_DISABLE_SHARED.
3815 * aclocal.m4, configure: Rebuild with libtool 1.2.
3816
3817 Fri Mar 20 11:25:41 1998 Nick Clifton <nickc@cygnus.com>
3818
3819 * coff-arm.c (coff_arm_relocate_section): Better error messages
3820 when interowrking conflucts occur. Courtesy of Jonathan Walton
3821 and Tony Thompson.
3822 (aoutarm_std_reloc_howto): Fixed bitsize fields of rightshifted
3823 relocations. Patch courtesy of Jonathan Walton and Tony
3824 Thompson.
3825
3826 Fri Mar 20 02:26:43 1998 Richard Henderson <rth@cygnus.com>
3827
3828 * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Revert
3829 part of Feb 22 change controling when to override the existing
3830 symbol with the .plt entry.
3831
3832 Wed Mar 18 09:26:25 1998 Nick Clifton <nickc@cygnus.com>
3833
3834 * config.bfd (targ_cpu): Add thumb-pe target.
3835
3836 * coffcode.h (OTHER_GLOBAL_CLASS): Support thumb external
3837 functions in PE build.
3838
3839 Sun Mar 8 23:37:26 1998 Stan Cox <scox@equinox.cygnus.com>
3840
3841 * config.bfd (sparclite-*-elf*): Added.
3842
3843 Mon Feb 23 19:31:19 1998 Ian Lance Taylor <ian@cygnus.com>
3844
3845 * configure.in: Add elf.lo to elf shell variable.
3846 * Makefile.am (BFD_LIBS): Remove elf.lo.
3847 (BFD_LIBS_CFILES): Remove elf.c.
3848 (BFD32_BACKENDS): Add elf.lo.
3849 (BFD32_BACKENDS_CFILES): Add elf.c.
3850 * configure, Makefile.in: Rebuild.
3851
3852 1998-02-23 15:53 Richard Henderson <rth@cygnus.com>
3853
3854 * elf32-i386.c (elf_i386_relocate_section): A pc-relative
3855 relocation against a now-local symbol should not have a dynamic
3856 relocation.
3857
3858 Mon Feb 23 16:17:08 1998 Ian Lance Taylor <ian@cygnus.com>
3859
3860 * peicode.h (coff_swap_filehdr_in): Don't set BFD flag HAS_SYMS in
3861 COFF filehdr flags.
3862 (pe_print_private_bfd_data): Print PE flags. From Mikey
3863 <jeffdb@netzone.com>.
3864
3865 Sun Feb 22 20:39:00 1998 Richard Henderson <rth@cygnus.com>
3866
3867 * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Don't create
3868 a plt entry when we can determine that we authoritatively define
3869 the symbol.
3870
3871 Sun Feb 22 20:33:05 1998 Richard Henderson <rth@cygnus.com>
3872
3873 * configure.in (COREFILE selection): Remove sparc-*-linux*. They
3874 don't actually use trad-core, but a SunOS-style core file handled
3875 by gdb directly.
3876 * hosts/sparclinux.h: Remove.
3877
3878 Wed Feb 18 15:31:06 1998 Ian Lance Taylor <ian@cygnus.com>
3879
3880 * peicode.h (pe_print_idata): If there is no .idata section, look
3881 for the import tables in some other section. Make the initial
3882 label line up better with the data. Print the import address
3883 table even if there is no import name table. If the import
3884 address table holds actual addresses, print them.
3885
3886 Tue Feb 17 12:58:34 1998 Ian Lance Taylor <ian@cygnus.com>
3887
3888 * libbfd.c (bfd_seek): If fseek fails, save errno around call to
3889 bfd_tell. If errno is EINVAL, set bfd_error_file_truncated, not
3890 bfd_error_system_call.
3891
3892 Fri Feb 13 13:11:33 1998 Ian Lance Taylor <ian@cygnus.com>
3893
3894 * Makefile.am (AUTOMAKE_OPTIONS): Define.
3895 * configure, Makefile.in, aclocal.m4: Rebuild with automake 1.2e.
3896
3897 From H.J. Lu <hjl@gnu.org>:
3898 * Makefile.am (libbfd_la_LDFLAGS): Define.
3899 * Makefile.in: Rebuild.
3900
3901 Thu Feb 12 17:31:11 1998 Ian Lance Taylor <ian@cygnus.com>
3902
3903 NetBSD patches from Gordon W. Ross <gwr@mc.com>:
3904 * netbsd.h (MACHTYPE_OK): Define.
3905 (MY(write_object_contents)): Use DEFAULT_ARCH and DEFAULT_MID when
3906 calling N_SET_MACHTYPE, rather than having a switch.
3907 * libaout.h (enum machine_type): Add M_PMAX_NETBSD, M_VAX_NETBSD,
3908 and M_ALPHA_NETBSD.
3909 * i386netbsd.c (MACHTYPE_OK): Don't define.
3910 (DEFAULT_MID): Define.
3911 * m68k4knetbsd.c (SEGMENT_SIZE): Don't define.
3912 (MACHTYPE_OK): Don't define.
3913 (DEFAULT_MID): Define.
3914 * m68knetbsd.c: (MACHTYPE_OK): Don't define.
3915 (DEFAULT_MID): Define.
3916 * ns32knetbsd.c (MACHTYPE_OK): Don't define.
3917 (DEFAULT_MID): Define.
3918 * sparcnetbsd.c (MACHTYPE_OK): Don't define.
3919 (DEFAULT_MID): Define.
3920
3921 NetBSD patches from Gordon W. Ross <gwr@mc.com>:
3922 * vaxnetbsd.c: New file.
3923 * netbsd-core.c: Clean up. Remove unused macros. Use netbsd
3924 rather than netbsd_core.
3925 * targets.c (vaxnetbsd_vec): Declare.
3926 (bfd_target_vector): Add vaxnetbsd_vec. If NETBSD_CORE is
3927 defined, add netbsd_core_vec.
3928 * configure.in: Set COREFILE for alpha*-*-netbsd* and
3929 powerpc-*-netbsd* to netbsd-core.lo. If COREFILE is
3930 netbsd-core.lo, set COREFLAG to -DNETBSD_CORE.
3931 * config.bfd (alpha*-*-netbsd*): New target.
3932 * Makefile.am: Rebuild dependencies.
3933 (BFD32_BACKENDS): Add vaxnetbsd.lo.
3934 (BFD32_BACKENDS_CFILES): Add vaxnetbsd.c.
3935 * configure, Makefile.in: Rebuild.
3936
3937 * configure.host: Remove the old shared library build stuff. We
3938 now use libtool instead.
3939
3940 Wed Feb 11 17:13:09 1998 Richard Henderson <rth@cygnus.com>
3941
3942 * tekhex.c (tekhex_write_object_contents): Call tekhex_init.
3943
3944 Tue Feb 10 19:23:28 1998 H.J. Lu <hjl@gnu.org>
3945
3946 * configure.in: Take stab-syms.lo out of sparclinux_vec list.
3947 * configure: Rebuild.
3948
3949 Tue Feb 10 15:16:38 1998 Nick Clifton <nickc@cygnus.com>
3950 * elf32-v850.c (remember_hi16s_reloc): New function.
3951 (find_remembered_hi16s_reloc): New function.
3952 (v850_elf_store_addend_in_insn): Use the above new functions to
3953 match up HI6S relocs with LO16 relocs.
3954
3955 Tue Feb 10 15:01:39 1998 Ian Lance Taylor <ian@cygnus.com>
3956
3957 * configure.in: Change -linux* to -linux-gnu*.
3958 * config.bfd, configure.host: Likewise.
3959 * configure: Rebuild.
3960
3961 Mon Feb 9 19:40:59 1998 Nick Clifton <nickc@cygnus.com>
3962
3963 * elf32-v850.c (v850_elf_store_addend_in_insn): Fix another
3964 LO16/HI16S bug and improve comments about what is going on.
3965
3966 Sat Feb 7 15:27:03 1998 Ian Lance Taylor <ian@cygnus.com>
3967
3968 * configure, aclocal.m4: Rebuild with new libtool.
3969
3970 Fri Feb 6 14:48:20 1998 Nick Clifton <nickc@cygnus.com>
3971
3972 * elf32-v850.c (v850_elf_merge_private_bfd_data): Do not complain
3973 when merging v850 code into v850e/v850ea code. Do not initialise
3974 output flags if the input is the default architecture.
3975
3976 Fri Feb 6 11:50:22 1998 Jeffrey A Law (law@cygnus.com)
3977
3978 * elf32-mips.c (bfd_elf32_bfd_reloc_type_lookup): For BFD_RELOC_CTOR
3979 get the size from bfd_arch_bits_per_address instead of directly
3980 from the isa.
3981
3982 Thu Feb 5 14:21:34 1998 Michael Meissner <meissner@cygnus.com>
3983
3984 * libbfd-in.h (BFD_ALIGN): If rounding up would cause the address
3985 to wrap, just return all 1's bits instead.
3986 * libbfd.h: Regenerate.
3987
3988 Thu Feb 5 11:51:05 1998 Ian Lance Taylor <ian@cygnus.com>
3989
3990 * coff-i386.c (coff_pe_i386_relocate_section): New static function
3991 if COFF_WITH_PE.
3992 (coff_relocate_section): If COFF_WITH_PE, define as
3993 coff_pe_i386_relocate_section.
3994 * coffcode.h (coff_write_object_contents): If COFF_IMAGE_WITH_PE,
3995 skip empty sections, to match coff_write_object_contents.
3996
3997 * elf64-mips.c (mips_elf64_swap_reloca_out): Swap out r_addend,
3998 rather than swapping out r_offset twice. From Luke Deller
3999 <luked@cse.unsw.edu.au>.
4000
4001 Wed Feb 4 19:11:28 1998 Ian Lance Taylor <ian@cygnus.com>
4002
4003 * configure.in: Set libtool_enable_shared rather than
4004 libtool_shared. Remove diversion hack.
4005 * configure, Makefile.in, doc/Makefile.in, aclocal.m4: Rebuild
4006 with new libtool.
4007
4008 Wed Feb 4 16:10:21 1998 Brent Baccala <baccala@freesoft.org>
4009
4010 * syms.c (struct stab_cache): Define.
4011 (struct stab_find_info): Remove cached_offset, cached_stab,
4012 cached_str, and cached_stroff fields. Add file_cache,
4013 function_cache, and line_cache fields.
4014 (_bfd_stab_section_find_nearest_line): Use extensive caching to
4015 speed up searches.
4016
4017 Wed Feb 4 13:34:22 1998 Ian Lance Taylor <ian@cygnus.com>
4018
4019 * peicode.h (pe_print_idata): Check for import of ordinal rather
4020 than name.
4021 (pe_print_edata): If there is no .edata section, look for the
4022 export data in some other section.
4023
4024 Mon Feb 2 20:05:42 1998 Jason Molenda (crash@bugshack.cygnus.com)
4025
4026 * configure.in: Change version to 2.8.4.
4027 * configure: Regenerated.
4028
4029 Mon Feb 2 17:39:39 1998 Steve Haworth <steve@pm.cse.rmit.EDU.AU>
4030
4031 Add tms320c30 support:
4032 * cpu-tic30.c: New file.
4033 * aout-tic30.c: New file.
4034 * coff-tic30.c: New file.
4035 * archures.c (bfd_arch_tic30): Define.
4036 (bfd_tic30_arch): Declare.
4037 (bfd_archures_list): Add bfd_tic30_arch.
4038 * targets.c (bfd_target_vector): Add tic30_aout_vec and
4039 tic30_coff_vec.
4040 * reloc.c (BFD_RELOC_TIC30_LDP): Define.
4041 * coffcode.h (coff_set_arch_mach_hook): Add tic30 case.
4042 (coff_set_flags): Likewise.
4043 * config.bfd (tic30-*-*aout*, tic30-*-*coff*): New targets.
4044 * configure.in (tic30_aout_vec, tic30_coff_vec): New vectors.
4045 * Makefile.am: Rebuild dependencies.
4046 (ALL_MACHINES): Add cpu-tic30.lo.
4047 (ALL_MACHINES_CFILES): Add cpu-tic30.c.
4048 (BFD32_BACKENDS): Add aout-tic30.lo and coff-tic30.lo.
4049 (BFD32_BACKENDS_CFILES): Add aout-tic30.c and coff-tic30.c.
4050 * configure, Makefile.in, bfd-in2.h, libbfd.h: Rebuild.
4051
4052 Mon Feb 2 12:25:12 1998 Nick Clifton <nickc@cygnus.com>
4053
4054 * elf32-v850.c (v850_elf_store_addend_in_insn): Allow HI16_S reloc
4055 to lag behind LO16 reloc by a couple of instructions.
4056
4057 Mon Feb 2 14:09:46 1998 Ian Lance Taylor <ian@cygnus.com>
4058
4059 * Makefile.am ($(srcdir)/bfd-in2.h): Add dummy command to force
4060 make to reexamine the file timestamp.
4061 ($(srcdir)/libbfd.h, $(srcddir)/libcoff.h): Likewise.
4062
4063 * elf64-alpha.c (ELF_MAXPAGESIZE): Change to 0x10000 from
4064 0x100000.
4065
4066 Fri Jan 30 19:07:07 1998 Geoff Keating <geoffk@ozemail.com.au>
4067
4068 * elf32-ppc.c (ppc_elf_create_dynamic_sections): New procedure
4069 to create .dynsbss and .rela.sbss sections.
4070 (ppc_elf_adjust_dynamic_symbol): Put space for small data to be
4071 copied from dynamic objects into .sbss.
4072 (ppc_elf_size_dynamic_sections): Strip .rela.sbss if we don't
4073 use it. Correct typo of .rela.sdata2.
4074 (ppc_elf_finish_dynamic_symbol): Generate reloc to where we
4075 put the data, which may now be in .sbss.
4076 (ppc_elf_relocate_section): A SDAREL16 reloc can be in dynsbss.
4077 (elf_backend_create_dynamic_sections): Define as
4078 ppc_elf_create_dynamic_sections.
4079
4080 * elf32-ppc.c (ppc_elf_check_relocs): Don't emit R_PPC_REL* relocs
4081 against _GLOBAL_OFFSET_TABLE_.
4082 (ppc_elf_relocate_section): Don't emit R_PPC_REL32 relocs in
4083 shared libraries which refer to local symbols. Make sure that the
4084 test for allocating space for a reloc in a shared object is the
4085 same as the test for emitting a reloc.
4086
4087 Thu Jan 29 15:55:35 1998 J.J. van der Heijden <J.J.vanderHeijden@student.utwente.nl>
4088
4089 * config.bfd (i[3456]-*-mingw32*): New target.
4090 * acinclude.m4 (BFD_BINARY_OPEN): Check for mingw32.
4091 * aclocal.m4, configure: Rebuild.
4092
4093 Wed Jan 28 13:41:26 1998 Ian Lance Taylor <ian@cygnus.com>
4094
4095 * elf.c (_bfd_elf_close_and_cleanup): Only check the strtab if we
4096 have a bfd_object.
4097
4098 Tue Jan 27 21:43:55 1998 Richard Henderson <rth@cygnus.com>
4099
4100 Sparc v9 ABI compliant PLT:
4101 * elf64-sparc.c (PLT_HEADER_SIZE): V9 ABI uses 4 entries.
4102 (plt_templates, sparc64_elf_build_plt_entry): Delete.
4103 (LARGE_PLT_THRESHOLD): New define.
4104 (GOT_RESERVED_ENTRIES): V9 ABI only uses 1.
4105 (sparc64_elf_build_plt): New function.
4106 (sparc64_elf_plt_entry_offset): Likewise.
4107 (sparc64_elf_plt_ptr_offset): Likewise.
4108 (sparc64_elf_adjust_dynamic_symbol): Change h->plt_offset to
4109 contain the index for convenience. Skip the initial entries
4110 in .rela.plt.
4111 (sparc64_elf_size_dynamic_sections): Zero the allocated contents
4112 memory for the benefit of .rela.plt.
4113 (sparc64_elf_relocate_section): Call sparc64_elf_plt_entry_offset.
4114 (sparc64_elf_finish_dynamic_symbol): Kill template stuff. Use
4115 sparc64_elf_plt_entry_offset & sparc64_elf_plt_ptr_offset for reloc.
4116 (sparc64_elf_finish_dynamic_sections): DT_PLTGOT points to .plt.
4117 Call sparc64_elf_build_plt.
4118 (elf_backend_want_got_plt): No.
4119 (elf_backend_plt_readonly): No.
4120 (elf_backend_plt_alignment): 8.
4121
4122 * elf.c (_bfd_elf_close_and_cleanup): New function; free the shstrtab.
4123 * elf-bfd.h (_bfd_elf_close_and_cleanup): Declare it.
4124 * elfxx-target.h (bfd_elfNN_close_and_cleanup): Arrange for it
4125 to be called.
4126
4127 Tue Jan 27 21:45:15 1998 Jeffrey A Law (law@cygnus.com)
4128
4129 * archures.c (bfd_mach_mips*): Add definitions for various MIPS
4130 processors.
4131 * cpu-mips.c (arch_info_struct): Add mips variants.
4132 * bfd-in2.h: Rebuilt.
4133
4134 Tue Jan 27 15:06:04 1998 Nick Clifton <nickc@cygnus.com>
4135
4136 * coff-arm.c (coff_arm_relocate_section): Preserve the contents of
4137 t2a3_b_insn.
4138
4139 Tue Jan 27 12:47:27 1998 Robert Lipe <robertl@dgii.com>
4140
4141 * config.bfd (i[3456]86-sco3.2v5*): ELF now the default.
4142 (i[3456]86sco3.2v5*coff): New target.
4143
4144 Mon Jan 26 15:41:30 1998 Ian Lance Taylor <ian@cygnus.com>
4145
4146 * bfd-in2.h: Rebuild with changes to chew--tab expansion.
4147
4148 Thu Jan 22 21:26:48 1998 Richard Henderson <rth@cygnus.com>
4149
4150 * bfd.c (bfd_get_error_handler): Add orthogonal function.
4151 * bfd-in2.h: Regenerate.
4152
4153 Thu Jan 22 21:13:39 1998 Richard Henderson <rth@cygnus.com>
4154
4155 * tekhex.c (tekhex_write_object_contents): Check for no symbols.
4156
4157 Wed Jan 21 21:19:03 1998 Ian Lance Taylor <ian@cygnus.com>
4158
4159 * coff-i386.c (coff_i386_rtype_to_howto): If COFF_WITH_PE, don't
4160 adjust addend for an output common symbol (from Jimmy Blair
4161 <jimmyb@wrs.com>). If COFF_WITH_PE, adjust addend for PC relative
4162 defined symbol to counteract adjustment made in generic relocation
4163 code.
4164
4165 * dwarf2.c: Include sysdep.h, not stdio.h and stdlib.h.
4166
4167 Wed Jan 21 21:16:06 1998 Manfred Hollstein <manfred@s-direktnet.de>
4168
4169 * coff-m88k.c (GET_SCNDHR_NRELOC): Fix typo in macro name.
4170 (GET_SCNDHR_NLNNO): Likewise.
4171
4172 Mon Jan 19 12:49:52 1998 Ian Lance Taylor <ian@cygnus.com>
4173
4174 * cpu-sh.c (arch_info_struct): Correct next field of sh3e.
4175
4176 Wed Jan 14 17:23:27 1998 Nick Clifton <nickc@cygnus.com>
4177
4178 * elf32-m32r.c: Add macros to handle NOP insertion.
4179
4180 Wed Jan 14 16:15:22 1998 Richard Henderson <rth@cygnus.com>
4181
4182 * xcofflink.c (xcoff_mark_symbol): Don't mark the absolute section.
4183 (xcoff_mark): Likewise.
4184 (xcoff_build_ldsyms): Mark absolute symbols.
4185
4186 Wed Jan 14 16:03:11 1998 Richard Henderson <rth@cygnus.com>
4187
4188 * bout.c (b_out_write_object_contents): Sort symbols before output
4189 to keep {CALL,BAL}NAME symbols adjacent.
4190 (b_out_symbol_cmp): New function.
4191
4192 For older changes see ChangeLog-9697
4193 \f
4194 Local Variables:
4195 mode: change-log
4196 left-margin: 8
4197 fill-column: 74
4198 version-control: never
4199 End:
This page took 0.111979 seconds and 5 git commands to generate.