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