* aoutx.h (aout_link_input_section_ext): Use the relocation already
[external/binutils.git] / bfd / ChangeLog
1 Fri Aug 14 09:12:28 1998  Stan Cox  <scox@cygnus.com>
2
3         * aoutx.h (aout_link_input_section_ext): Use the relocation already
4         calculated for RELOC_SPARC_REV32 case.
5
6 start-sanitize-armelf
7 Thu Aug 13 14:02:02 1998  Catherine Moore  <clm@cygnus.com>
8
9        * bfd-in.h:  Add prototypes for elf32_arm_get_bfd_for_interworking,
10        elf32_arm_allocate_interworking_sections and
11        elf32_arm_process_before_allocation.
12        * bfd-in2.h:  Regenerated.
13        * elf32-arm.c Define elf32_arm_link_hash_table.
14        (insert_thumb_branch): New routine.
15        (find_thumb_glue): New routine.
16        (find_arm_glue): New routine.
17        (record_arm_to_thumb_glue): New routine.
18        (record_thumb_to_arm_glue): New routine.
19        (elf32_arm_link_hash_table_create): New routine.
20        (elf32_arm_get_bfd_for_interworking): New routine.
21        (elf32_arm_allocate_interworking_sections) New routine.
22        (elf32_arm_process_before_allocation) New routine.
23        (elf32_thumb_to_arm_stub): New routine.
24        (elf32_arm_to_thumb_stub): New routine.
25        (elf32_print_private_bfd_data): Fix typo.
26        (elf32_arm_final_link_relocate):  Add argument sym_sec.
27        Check for branches to thumb symbols in case R_ARM_PC24.
28        Check for branches to arm symbols in case R_ARM_THM_PC22.
29        (elf32_arm_relocate_section):  Pass symbol section to
30        elf32_arm_final_link_relocate.
31
32 end-sanitize-armelf
33 Wed Aug 12 19:00:39 1998  Geoff Keating  <geoffk@ozemail.com.au>
34
35         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Generate PLT
36         entries unless the symbol is defined in the executable; in
37         particular, undefined weak symbols get a PLT entry.
38
39 Wed Aug 12 14:48:33 1998  Ian Lance Taylor  <ian@cygnus.com>
40
41         * libaout.h: Remove nested comment to avoid warning.
42
43 start-sanitize-armelf
44 Wed Aug 12 08:10:11 1998 Catherine Moore  <clm@cygnus.com>
45
46        * elf32-arm.c (elf32_arm_final_link_relocate):  Rework
47        R_ARM_PC24 relocation.
48
49 end-sanitize-armelf
50 start-sanitize-armelf
51 Tue Aug 11 14:42:26 1998  Catherine Moore  <clm@cygnus.com>
52
53        * elf32-arm.c (elf32_arm_final_link_relocate):  Remove unused
54        argument is_local.  Add argument sym_flags.  Check sym_flags
55        in R_ARM_ABS32 case.  Include addend for R_ARM_THM_PC22 case.
56        (elf32_arm_relocate_section):  Don't pass local sym and pass
57        sym_flags to elf32_arm_final_link_relocate. 
58
59 end-sanitize-armelf
60 Mon Aug 10 20:38:39 1998  Richard Henderson  <rth@cygnus.com>
61
62         * elf64-alpha.c (elf64_alpha_calc_dynrel_sizes): Correct last change
63         to not count too few relocs for dynamicly linked executables.
64
65 Mon Aug 10 15:35:34 1998  Richard Henderson  <rth@cygnus.com>
66
67         * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Never consider
68         symbols without a dynamic index dynamic.  Consider all weak
69         symbols dynamic.
70         (elf64_alpha_strip_section_from_output): Don't assume 1-1
71         correspondance between input and output sections.
72
73 Mon Aug 10 15:31:39 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
74
75         * elflink.h (elf_gc_common_finalize_got_offsets): For backends
76         that use a .got.plt section start the got offset at zero.
77
78 Mon Aug 10 17:31:21 1998  Ian Lance Taylor  <ian@cygnus.com>
79
80         * ieee.c (ieee_write_processor): Correct the processor ID written
81         out for bfd_arch_m68k, accommodating change of March 25.
82
83 start-sanitize-armelf
84 Sun Aug  9 20:55:44 1998  Catherine Moore  <clm@cygnus.com>
85
86         * elf32-arm.c (elf32_arm_final_link_relocate):  Rework
87         R_ARM_THM_RPC22 relocations.
88
89 end-sanitize-armelf
90 Sat Aug  8 15:15:30 1998  Richard Henderson  <rth@cygnus.com>
91
92         * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Undef weak symbols
93         are always dynamic.
94         (elf64_alpha_calc_dynrel_sizes): Allow enough room for RELATIVE
95         .got relocs in -Bsymbolic shared objects.
96
97 start-sanitize-armelf
98 Wed Aug  5 15:48:08 1998  Nick Clifton  <nickc@cygnus.com>
99
100         * elf32-arm.c: Add private flags to ELF header.
101         (elf32_arm_print_private_bfd_data): New Function.
102         (elf32_arm_set_private_flags): New Function.
103         (elf32_arm_copy_private_flags): New Function.
104         (elf32_arm_merge_private_bfd_data): New Function.
105
106 end-sanitize-armelf
107 Mon Aug  3 17:10:15 1998  Ian Lance Taylor  <ian@cygnus.com>
108
109         * elf32-sparc.c (elf32_sparc_check_relocs): Permit WPLT30 against
110         a local symbol.
111         (elf32_sparc_relocate_section): Likewise.
112
113 Sun Aug  2 03:19:23 1998  Richard Henderson  <rth@cygnus.com>
114
115         * elf32-ppc.c (ppc_elf_check_relocs): Init sgot to NULL.  Create the
116         .got if any relocation referrs to _GLOBAL_OFFSET_TABLE_.
117         (ppc_elf_relocate_section): Pull sgot and splt search to the start
118         of the function.  Recognize no .plt as static linking.
119
120 1998-08-01  Ulrich Drepper  <drepper@cygnus.com>
121
122         * elf32-mips.c (_bfd_mips_elf_section_from_shdr): Don't pass
123         ".liblist" string through gettext.
124
125 start-sanitize-armelf
126 Fri Jul 31 16:38:14 1998  Catherine Moore  <clm@cygnus.com>
127
128         * Makefile.am: Add support for elf32-arm.lo.
129         * Makefile.in: Rebuild.
130         * config.bfd (arm-*-elf):  Define targ_defvec and targ_selvecs.
131         (thumb-*-elf): Define targ_defvec and targ_selvecs.
132         * configure.in:  Handle bfd_elf32_littlearm_vec and bfd_elf32_bigarm_vec.
133         * configure: Regenerate.
134         * elf.c: (prep_headers):  Support arch_type of EM_ARM.
135         * targets.c:  Support new targets bfd_elf32_bigarm_vec and
136         bfd_target bfd_elf32_littlearm_vec.
137         * elf32-arm.c:  New file.
138
139 end-sanitize-armelf
140 Tue Jun 28 19:05:28 1998  Stan Cox  <scox@cygnus.com>
141
142         * libaout.h (M_SPARCLITE_LE): New machine.
143         * sunos.c (MACHTYPE_OK): Add machine M_SPARCLITE_LE.
144         * aoutf1.h (sunos_set_arch_mach): Add machine M_SPARCLITE_LE.
145         (sunos_write_object_contents): Add machine bfd_mach_sparc_sparclite_le
146         * aoutx.h (howto_table_ext): Add relocation R_SPARC_REV32.
147         (NAME(aout,machine_type)) Add machine bfd_mach_sparc_sparclite_le
148         (aout_link_input_section_ext): Add RELOC_SPARC_REV32 support.
149         * elf32-sparc.c (_bfd_sparc_elf_howto_table, sparc_reloc_map,
150         elf32_sparc_relocate_section): Rename R_SPARC_32LE to be R_SPARC_REV32
151         * libbfd.h (bfd_reloc_code_real_names): Rename BFD_RELOC_SPARC_32LE to
152         be BFD_RELOC_SPARC_REV32.
153         * reloc.c: Ditto.
154         * config.bfd (sparc86x-*-aout): New
155         
156 Fri Jul 24 13:54:19 1998  Nick Clifton  <nickc@cygnus.com>
157
158         * linker.c (_bfd_generic_final_link): Allocate NULL symbol before
159         actually mapping the output sections.
160
161 Fri Jul 24 11:24:29 1998  Jeffrey A Law  (law@cygnus.com)
162
163 start-sanitize-am33
164         * elf-m10300.c (mn10300_elf_relax_section): Fix typo when relaxing
165         from 24bit operand to an 8bit operand.
166
167         * elf-m10300.c (mn10300_elf_relax_section): Do not relax "dmul",
168         "dmulu", "dmach", "dmachu" with 32bit operands.
169 end-sanitize-am33
170
171         * elf-m10300.c (mn10300_elf_howto): Add R_MN10300_24 entry.
172         (mn10300_elf_reloc_map): Similarly.
173         (mn10300_elf_final_link_relocate): Handle R_MN10300_24.
174 start-sanitize-am33
175         (mn10300_elf_relax_section): Support relaxing on the am33.
176 end-sanitize-am33
177
178 Fri Jul 24 12:36:04 1998  Ian Lance Taylor  <ian@cygnus.com>
179
180 start-sanitize-r5900
181         The value of R_MIPS15_S3 has changed:
182         * elf32-mips.c (elf_mips15_s3_howto): New static variable.
183         (mips_reloc_map): Remove BFD_RELOC_MIPS15_S3.
184         (bfd_elf32_bfd_reloc_type_lookup): Handle BFD_RELOC_MIPS15_S3
185         specially.
186         (mips_info_to_howto_rel): Handle R_MIPS15_S3 specially.
187         (mips_elf_relocate_section): Check for R_MIPS15_S3.
188
189 end-sanitize-r5900
190         * elf32-mips.c (elf_mips_howto_table): Add reloc types used on
191         Irix 6.
192         (bfd_elf32_bfd_reloc_type_lookup): Add default case.
193         * elf64-mips.c: Replace all uses of mips_elf64_reloc_type with
194         elf_mips_reloc_type defined in elf/mips.h.
195
196 1998-07-24  Ulrich Drepper  <drepper@cygnus.com>
197
198         * elf64-mips.c: Remove reloc_type definition completely.  It's now
199         in elf/mips.h.
200
201 Thu Jul 23 13:33:19 1998  Doug Evans  <devans@canuck.cygnus.com>
202
203         * elf64-mips.c (mips_elf64_reloc_type): #if 0 out more relocations
204         as they are defined in elf/mips.h now.
205
206 Thu Jul 23 11:29:43 1998  Jeffrey A Law  (law@cygnus.com)
207
208 start-sanitize-am33
209         * elf-m10300.c (compute_function_info): Keep track of stack space
210         needed by am33 movm instruction variant.
211 end-sanitize-am33
212
213         * Re-add lost change:
214         * elf-m10300.c (elf32_mn10300_link_hash_entry): Add new field
215         "movm_stack_size".
216         (mn10300_elf_relax_section): Include stack space for register saves
217         in the imm8 field of a "call" instruction.
218         (compute_function_info): Determine how much stack is allocated by
219         the movm instruction.  Fix typo.
220         (elf32_mn10300_link_hash_newfunc): Initialize movm_stack_size.
221
222 Thu Jul 23 11:38:05 1998  Ian Lance Taylor  <ian@cygnus.com>
223
224         * elf32-sparc.c (elf_backend_got_header_size): Define as 4.
225         * elf64-sparc.c (elf_backend_got_header_size): Define as 8.
226
227 1998-07-22  Ulrich Drepper  <drepper@cygnus.com>
228
229         * elf32-ppc.c: Change use of pp_reloc_type to elf_ppc_reloc_type.
230
231 Wed Jul 22 16:27:18 1998  Nick Clifton  <nickc@cygnus.com>
232
233         * elf32-hppa.h: Let ELF header define the enum containing the
234         external reloc numbers.
235         * elf32-i386.h: Likewise.
236
237 1998-07-22 14:57  Ulrich Drepper  <drepper@cygnus.com>
238
239         * elf-m10300.c: Let ELF header now define the macros to get the enum.
240         * elf32-mips.c: Likewise.
241         * elf32-ppc.c: Likewise.
242
243 Wed Jul 22 13:53:52 1998  Nick Clifton  <nickc@cygnus.com>
244
245         * bfd-in2.h: Change type of 'class' parameter to 'unsigned int' in
246         bfd_coff_set_symbol_class(), in order to avoid K&R compatability
247         prblems.
248         * bfd-in.h: Regenerate.
249         * coffgen.c (bfd_coff_set_symbol_class): Change type of 'class'
250         parameter to 'unsigned int' to avoid K&R compatability problems.
251
252 Wed Jul 22 16:43:24 1998  Ian Lance Taylor  <ian@cygnus.com>
253
254         * ieee.c (ieee_find_nearest_line): Change filename_ptr and
255         functionname_ptr to be const.  Change line_ptr to be unsigned.
256
257         * coffcode.h (coff_link_output_has_begun): Simplify handling when
258         macro is not defined.  Change second parameter from bfd_link_info
259         to coff_final_link_info.  Add prototype.
260         (coff_final_link_postscript): Simplify handling when macro is not
261         defined.  Add prototype.
262
263 1998-07-22 13:08  Ulrich Drepper  <drepper@cygnus.com>
264
265         * elf-mn10300.c: Before include system specific ELF header define
266         START_RELOC_NUMBERS, RELOC_NUMBER, and END_RELOC_NUMBERS.
267         * elf32-mips.c: Likewise.
268         * elf32-ppc.c: Likewise.
269
270 Wed Jul 22 13:46:51 1998  Ian Lance Taylor  <ian@cygnus.com>
271
272         * elf64-mips.c (mips_elf64_reloc_type): Copy Ulrich's elf32-mips.c
273         temporary patch over to elf64-mips.c as well.
274
275 1998-07-21  Ulrich Drepper  <drepper@cygnus.com>
276
277         * elf32-mips.c (reloc_type): Temporarily disable definition of
278         standard relocation since they are now defined in elf/mips.h.
279
280 Tue Jul 21 09:47:00 1998  Catherine Moore  <clm@cygnus.com>
281
282         * elf-m10200.c (mn10200_elf_final_link_relocate):
283         Modify range test for case R_MN10200_8.
284
285         * elf-m10300.c (mn10300_elf_final_link_relocate):
286         Modify range test for case R_MN10300_8.
287
288 Mon Jul 20 18:50:54 1998  Richard Henderson  <rth@cygnus.com>
289
290         * elf-bfd.h (struct elf_backend_data): Add got_ & plt_header_size.
291         * elf32-i386.c (elf_backend_got_header_size): Define.
292         (elf_backend_plt_header_size): Define.
293         * elf32-m68k.c, elf32-mips.c, elf32-ppc.c: Likewise.
294         * elf32-sparc.c, elf64-alpha.c, elf64-sparc.c: Likewise.
295         * elfxx-target.h: Provide a default of zero.
296         * elflink.c (_bfd_elf_create_got_section): Use got_header_size.
297         * elflink.h (elf_gc_common_finalize_got_offsets): Likewise.
298
299         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't remove a PLT
300         entry from an executable, even if the plt refcount goes to 0.
301
302 Mon Jul 20 12:47:26 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
303
304         * aoutx.h (NAME(aout,find_nearest_line)): Also remember the
305         directory name at the line number.
306
307         * elf.c (_bfd_elf_find_nearest_line): Also consider symbols
308         with an unspecified type.
309
310 Wed Jul 15 11:20:01 1998  Ian Lance Taylor  <ian@cygnus.com>
311
312         * sunos.c: Add undef of valid to avoid problem on SunOS.
313
314 start-sanitize-beos
315 Tue Jul 14 15:30:59 1998  Richard Henderson  <rth@cygnus.com>
316
317         * config.bfd (i?86-pc-beos{pe,elf,}*): Recognize.
318
319 end-sanitize-beos
320 Tue Jul 14 11:22:21 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
321
322         * elf32-m68k.c (elf_m68k_check_relocs): Also reference count
323         R_68K_PCxx and R_68K_xx relocations.  Make sure that
324         ELF_LINK_HASH_NEEDS_PLT is always set for a PLT reloc reference.
325         (elf_m68k_gc_sweep_hook): Also reference count R_68K_PCxx and
326         R_68K_xx relocations.
327         (elf_m68k_adjust_dynamic_symbol): Reset the plt offset of a symbol
328         that has no plt entry.
329         (elf_m68k_relocate_section): Ignore the plt offset in a static
330         link.
331         * elflink.h (elf_adjust_dynamic_symbol): Reset the plt offset for
332         an ignored symbol.
333         (elf_gc_common_finalize_got_offsets): Set the got offsets also in
334         a static link.
335
336         * elf32-m68k.c (R_68K_GNU_VTINHERIT, R_68K_GNU_VTENTRY): New reloc
337         types.
338         (howto_table, reloc_map): Add entries for them.
339         (elf_m68k_check_relocs): Handle them.  Implement reference
340         counting for got and plt entries.
341         (elf_m68k_gc_mark_hook, elf_m68k_gc_sweep_hook): New functions.
342         (elf_m68k_adjust_dynamic_symbol): Handle unreferenced plt
343         symbols.
344         (rtype_to_howto_rel, elf_info_to_howto_rel): Delete.
345         (elf_m68k_relocate_section): Handle the new reloc types.
346         (bfd_elf32_bfd_final_link, elf_backend_gc_mark_hook,
347         elf_backend_gc_sweep_hook, elf_backend_can_gc_sections): Define.
348         * elflink.h (elf_link_add_object_symbols): When creating an
349         indirect reference for symbol versioning also copy the plt
350         offset.
351         (elf_fix_symbol_flags): When clearing the ELF_LINK_HASH_NEEDS_PLT
352         flag also reset the plt offset.
353         (elf_link_assign_sym_version): Likewise.
354         (elf_gc_common_finalize_got_offsets): Increment the got offset by
355         the size of the entry in bytes.
356         (elf_gc_allocate_got_offsets): Likewise.
357
358 Tue Jul 14 11:18:14 1998  Ian Lance Taylor  <ian@cygnus.com>
359
360         * elflink.h (elf_gc_sections): Return true rather than falling off
361         the bottom.
362
363         * coffgen.c (bfd_coff_set_symbol_class): Call bfd_alloc, not
364         xmalloc.
365
366 Mon Jul 13 11:06:31 1998  Nick Clifton  <nickc@cygnus.com>
367
368         * coff-arm.c: Supress definition of TARGET_UNDERSCORE and add a
369         comment describing when it should be enabled.
370         Changed definition of USER_LABEL_PREFIX to "", to fall into line
371         with GCC sources.
372
373 Mon Jul 13 13:06:54 1998  Ian Lance Taylor  <ian@cygnus.com>
374
375         * ieee.c (ieee_slurp_external_symbols): Handle call optimization
376         information ATN records.
377
378 Fri Jul 10 16:31:06 1998  Ian Lance Taylor  <ian@cygnus.com>
379
380         * ieee.c (ieee_slurp_external_symbols): Select an appropriate
381         section for an absolute symbol in a fully linked file.  Based on
382         patch from Christian Holland <CHolland@de.lucent.com>.
383
384 Wed Jul  8 11:29:56 1998  Manfred Hollstein  <manfred@s-direktnet.de>
385
386         * coff-m88k.c (m88k_special_reloc): Don't lose the information
387         that a symbol is undefined.
388
389 Tue Jul  7 21:47:02 1998  Jeffrey A Law  (law@cygnus.com)
390
391         * som.c (som_bfd_gc_sections): Define.
392
393 Mon Jul  6 11:35:50 1998  Nick Clifton  <nickc@cygnus.com>
394
395         * coff-arm.c (aoutarm_std_reloc_howto): Do not complain about
396         overflows in ARM_26D patches, since they have already been
397         implmented.  Patch submitted by Dr. R.J. Black <rjb@dcs.gla.ac.uk>
398
399 Sat Jul  4 12:25:36 1998  Ian Lance Taylor  <ian@cygnus.com>
400
401         * coffcode.h (coff_write_object_contents): If we have any long
402         section names, call coff_write_symbols even if there are no
403         symbols.
404
405 Fri Jul  3 13:11:35 1998  Ian Lance Taylor  <ian@cygnus.com>
406
407         * elf.c (copy_private_bfd_data): Only set phdr_included once for a
408         PT_LOAD segment, rather than only setting it once for the entire
409         file.
410
411         * elf.c (_bfd_elf_make_section_from_shdr): When setting the LMA,
412         rather than ignoring every phdr with a p_paddr of 0, ignore all
413         the phdrs if they all have a p_paddr of 0.
414
415         * stabs.c (_bfd_write_stab_strings): Check whether the .stabstr
416         section was discarded from the link.
417
418 Fri Jul  3 14:39:05 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
419
420         * coff-sh.c (sh_insn_uses_freg): Ignore lowest bit of register number.
421
422 Fri Jul  3 14:35:48 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
423
424         * coff-sh.c (sh_insns_conflict): Load of fpscr conflicts with
425         floating point operations.
426
427 Thu Jul  2 18:37:25 1998  Ian Lance Taylor  <ian@cygnus.com>
428
429         * cofflink.c (_bfd_coff_link_input_bfd): Skip undefined global
430         function symbols.
431
432 Thu Jul  2 14:59:42 1998  Klaus Kaempf  <kkaempf@rmi.de>
433
434         Merge of vax/vms (read-only) support
435         * configure.com: Support Vax target.
436         * makefile.vms: Support Vax target.
437         * vms.h: Renamed from evax.h, merged vax/vms (read-only) support.
438         * vms.c: Renamed from evax-alpha.c, merged vax/vms (read-only)
439         support.
440         * vms-hdr.c: Renamed from evax-emh.c, merged vax/vms (read-only)
441         support.
442         * vms-gsd.c: Renamed from evax-egsd.c, merged vax/vms (read-only)
443         support.
444         * vms-tir.c: Renamed from evax-etir.c, merged vax/vms (read-only)
445         support.
446         * vms-misc.c: Renamed from evax-misc.c, merged vax/vms (read-only)
447         support.
448         * libbfd.c (real_read): Use unbuffered read on VMS/Vax.
449         * targets.c (bfd_target_ovax_flavour): New flavour.
450         (vms_alpha_vec): Renamed from evax_alpha_vec.
451         (vms_vax_vec): New.
452         (target_vector): Update accordingly.
453         * config.bfd (alpha*-*-*vms*): Use vms_alpha_vec, not
454         evax_alpha_vec.
455         (vax*-*-*vms*): New target.
456         * Makefile.am: Update for renamed files.  Rebuild dependencies.
457         * bfd-in2.h: Rebuild.
458         * configure.in, Makefile.in, aclocal.m4: Rebuild.
459
460 Thu Jul  2 13:31:55 1998  Ian Lance Taylor  <ian@cygnus.com>
461
462         Based on patch from Matt Semersky <matts@scd.hp.com>:
463         * linker.c (_bfd_generic_final_link): Force a trailing NULL
464         pointer on abfd->outsymbols.
465         (generic_add_output_symbol): Handle NULL sym parameter.
466
467 Wed Jul  1 17:05:53 1998  Nick Clifton  <nickc@cygnus.com>
468
469         * elf.c (copy_private_bfd_data): Add support for changing VMA or
470         LMA of sections.
471
472 Wed Jul  1 16:58:50 1998  Ian Lance Taylor  <ian@cygnus.com>
473
474         * coff-sh.c (sh_relax_delete_bytes): Correct address comparisons
475         when handling 32 bit immediate relocs.
476         * elf32-sh.c (sh_elf_relax_delete_bytes): Likewise.
477
478 Tue Jun 30 09:55:03 1998  Jeffrey A Law  (law@cygnus.com)
479
480         * section.c (STD_SECTION): Account for recently added gc_mark
481         field in struct asection.
482
483         * elf-m10300.c (bfd_mn10300_elf_merge_private_bfd_data): New function.
484         (bfd_elf32_bfd_merge_private_bfd_data): Define.
485
486 Thu Jun 25 18:31:41 1998  Richard Henderson  <rth@cygnus.com>
487
488         ELF Section-level Garbage Collection:
489         * bfd.c (bfd_gc_sections): New.
490         * aout-adobe.c: Hook to default implementation.
491         * aout-target.h, aout-tic30.c, binary.c, bout.c: Likewise.
492         * coff-alpha.c, coff-mips.c, coff-rs6000.c, coffcode.h: Likewise.
493         * evax-alpha.c, i386msdos.c, i386os9k.c, ieee.c: Likewise.
494         * ihex.c, nlm-target.h, oasys.c, ppcboot.c, srec.c: Likewise.
495         * tekhex.c, versados.c: Likewise.
496         * libbfd-in.h (_bfd_nolink_bfd_gc_sections): New.
497         * targets.c (BFD_JUMP_TABLE_LINK): Add _bfd_gc_sections.
498
499         * reloc.c (BFD_RELOC_VTABLE_INHERIT, BFD_RELOC_VTABLE_ENTRY): New.
500         (bfd_generic_gc_sections): New.
501         * section.c (SEC_KEEP): New.
502         (asection): Add gc_mark member.
503
504         * elfcode.h (elf_gc*): New name remappings.
505         * elflink.h (elf_link_input_bfd): Don't set contents on stabs
506         sections to be excluded.
507         (elf_gc_mark, elf_gc_sweep, elf_gc_sweep_symbol): New.
508         (elf_gc_propogate_vtable_entries_used): New.
509         (elf_gc_smash_unused_vtentry_relocs): New.
510         (elf_gc_sections, elf_gc_record_vtinherit, elf_gc_record_vtentry): New.
511         (elf_gc_common_finalize_got_offsets): New.
512         (elf_gc_allocate_got_offsets, elf_gc_common_final_link): New.
513         * elfxx-target.h: Add and default gc hooks.
514
515         * elf-bfd.h (struct elf_link_hash_entry): Swap got_offset/plt_offset
516         for unions.
517         (struct elf_obj_tdata): Likewise for local_got_offsets.
518         * elf.c, elf-i386.c, elf32-m68k.c, elf32-mips.c: Update all uses.
519         * elf32-ppc.c, elf32-sparc.c, elf64-alpha.c: Likewise.
520         * elf64-sparc.c, elflink.h: Likewise.
521
522         * elf-bfd.h (struct elf_link_hash_entry): Add vtable members.
523         (ELF_LINK_HASH_MARK): Define.
524         (struct elf_backend_data): Add GC hooks.
525         * elf.c (_bfd_elf_link_hash_newfunc): Zero vtable members.
526
527         * elf-m10300.c (mn10300_elf_check_relocs): New.
528         (mn10300_elf_gc_mark_hook): New.
529         (R_MN10300_GNU_VTINHERIT, R_MN10300_GNU_VTENTRY): New.
530         (elf_mn10300_howto, mn10300_reloc_map): Handle them.
531         (mn10300_elf_final_link_relocate): Likewise.
532         (mn10300_elf_relocate_section): Likewise.
533         (elf_backend_can_gc_sections): Define.
534         * elf32-mips.c (R_MIPS_GNU_VTINHERIT, R_MIPS_GNU_VTENTRY): New.
535         (elf_mips_gnu_vtinherit_howto, elf_mips_gnu_vtentry_howto): New.
536         (bfd_elf32_bfd_reloc_type_lookup): Handle them.
537         (mips_info_to_howto_rel): Likewise.
538         (mips_elf_relocate_section): Likewise.
539         (mips_elf_check_relocs): Likewise.
540         (mips_elf_gc_mark_hook, mips_elf_gc_sweep_hook): New.
541         (elf_backend_can_gc_sections): Define.
542         * elf32-ppc.c (R_PPC_GNU_VTINHERIT, R_PPC_GNU_VTENTRY): New.
543         (ppc_elf_howto_raw): Handle them.
544         (ppc_elf_reloc_type_lookup): Likewise.
545         (ppc_elf_relocate_section): Likewise.
546         (ppc_elf_check_relocs): Reference count .got and .plt entires.
547         Handle new vtable relocs.
548         (ppc_elf_adjust_dynamic_symbol): Recognize unused .plt entries.
549         (ppc_elf_gc_mark_hook, ppc_elf_gc_sweep_hook): New.
550         (elf_backend_can_gc_sections): Define.
551
552 Fri Jun 26 10:48:23 1998  Jeffrey A Law  (law@cygnus.com)
553
554         * archures.c (bfd_mach_mn10300): Define.
555         * elf-m10300.c: Include elf/mn10300.h
556         (elf_mn10300_mach): New function.
557         (_bfd_mn10300_elf_final_write_processing): Likewise.
558         (_bfd_mn10300_elf_object_p): Likewise.
559         (elf_backendfinal_write_processing): Define.
560         (elf_backend_object_p): Likewise.
561 start-sanitize-am33
562         * archures.c (bfd_mach_am33): Define.
563         * cpu-m10300.c (bfd_am33_arch): New arch info structure.  Link it
564         into the NEXT field of bfd_mn10300_arch.
565 end-sanitize-am33
566
567 Thu Jun 25 18:31:08 1998  Nick Clifton  <nickc@cygnus.com>
568
569         * elf32-v850.c (v850_elf_perform_relocation): Fix HI16_S
570         relocation.
571
572 Wed Jun 24 17:17:57 1998  Ian Lance Taylor  <ian@cygnus.com>
573
574         * elflink.h (elf_bfd_final_link): Loop over input_bfds using the
575         link_next field, not the next field.
576
577 Sun Jun 21 19:38:39 1998  Ian Lance Taylor  <ian@cygnus.com>
578
579         * elf.c (map_sections_to_segments): Check the section address
580         against the phdr size both with and without a modulo of
581         maxpagesize.
582
583 Fri Jun 19 17:08:18 1998  Ian Lance Taylor  <ian@cygnus.com>
584
585         * elf32-mips.c (mips_elf_size_dynamic_sections): Only strip a
586         linker created empty input section if the output section has the
587         same name.
588
589         * elflink.h (elf_link_output_extsym): Print an error message if
590         _bfd_elf_section_from_bfd_section fails.
591
592         * elf.c (_bfd_elf_section_from_bfd_section): Call bfd_set_error on
593         failure.
594
595 start-sanitize-sky
596 Thu Jun 18 23:59:30 1998  Doug Evans  <devans@seba.cygnus.com>
597
598         * reloc.c: New relocs BFD_RELOC_MIPS_DVP_11_S4,
599         BFD_RELOC_MIPS_DVP_U15_S3.
600         * elf32-mips.c: Handle them.
601         * bfd-in2.h: Regenerate.
602         * libbfd.h: Regenerate.
603
604 end-sanitize-sky
605 Tue Jun 16 11:55:55 1998  Ian Lance Taylor  <ian@cygnus.com>
606
607         * elf.c (copy_private_bfd_data): Improve handling of Solaris
608         native linker output.  Avoid putting an empty section in more than
609         one segment.
610
611 Fri Jun 12 13:30:17 1998  Tom Tromey  <tromey@cygnus.com>
612
613         * po/Make-in (all-yes): If maintainer mode, depend on .pot file.
614         ($(PACKAGE).pot): Unconditionally depend on POTFILES.
615
616 Fri Jun 12 13:34:02 1998  Doug Evans  <devans@canuck.cygnus.com>
617
618         * elf.c (swap_out_syms): New arg relocatable_p.
619         Don't add section VMA to symbols for relocatable output.
620         (_bfd_elf_compute_section_file_positions): Update call to
621         swap_out_syms.
622
623 Mon Jun  8 15:20:57 1998  Nick Clifton  <nickc@cygnus.com>
624
625         * elf32-v850.c (v850_elf_perform_relocation): Make comparisons
626         against 'addend' be signed rather than unsigned.
627
628 Sat Jun  6 00:31:21 1998  Nick Clifton  <nickc@cygnus.com>
629
630         * elf32-m32r.c: Add prototyps for static functions.
631
632         * coff-arm.c: Add prototypes for static functions.
633
634 Fri Jun  5 17:21:51 1998  Nick Clifton  <nickc@cygnus.com>
635
636         * elf.c (elf_sort_sections): Sort by LMA first then VMA, since the
637         LMA is used to order sections in a segment.
638
639         * elf32-v850.c: Add prototypes for static functions.
640         Change type of addend parameter to bfd_vma in various functions.
641
642 Fri Jun  5 18:09:58 1998  Ian Lance Taylor  <ian@cygnus.com>
643
644         * aoutx.h (howto_table_ext): Change RELOC_BASE13 to use
645         complain_overflow_signed instead of complain_overflow_bitfield.
646
647 Fri Jun  5 15:11:11 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
648
649         * elf.c (elf_map_symbols): Don't add section VMA to symbol value
650         when comparing against 0.
651
652 Wed Jun  3 17:52:49 1998  Ian Lance Taylor  <ian@cygnus.com>
653
654         * Makefile.am (config.status): New target.
655         * Makefile.in: Rebuild.
656
657 start-sanitize-sky
658 Wed Jun  3 11:39:57 1998  Doug Evans  <devans@canuck.cygnus.com>
659
660         * elf32-mips.c (_bfd_mips_elf_fake_sections): Update to use
661         Elf32_Dvp_External_Overlay instead of 64 bit version.
662
663 end-sanitize-sky
664 Wed Jun  3 12:18:24 1998  Stan Cox  <scox@equinox.cygnus.com>
665
666         * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Give an
667         error if previous object endianness doesn't match current object.
668
669 Tue Jun  2 17:50:59 1998  Nick Clifton  <nickc@cygnus.com>
670
671         * elf32-v850.c (v850_elf_print_private_bfd_data): Call
672         _bfd_elf_print_private)bfd_data ().
673
674 Tue Jun  2 15:29:35 1998  Ian Lance Taylor  <ian@cygnus.com>
675
676         * elflink.h (elf_merge_symbol): Don't always set type_change_ok
677         and size_change_ok.
678         (elf_link_add_object_symbols): Set type_change_ok and
679         size_change_ok before calling elf_merge_symbol.
680
681         * elf32-mips.c (mips_elf_relocate_section): If we issue an
682         undefined symbol error, don't also issue an overflow error.
683
684 Tue Jun  2 13:51:00 1998  Geoff Keating  <geoffk@ozemail.com.au>
685
686         * elf32-ppc.c (ppc_elf_relocate_section): The target of an
687         R_PPC_LOCAL24PC relocation should be local; if not, print an error
688         message instead of crashing.
689
690 Mon Jun  1 18:23:12 1998  Yuli Barcohen  <yuli.barcohen@telrad.co.il>
691
692         * archures.c (bfd_mach_cpu32): Define.
693         (bfd_default_scan): Add case for 68060.  Fix 68332 case to use
694         bfd_mach_cpu32.
695         * cpu-m68k.c (arch_info_struct): Add m68k:cpu32.
696         * ieee.c: Include <ctype.h>.
697         (ieee_object_p): Parse out process ID string to make it more
698         likely to be acceptable for bfd_scan_arch.
699         * bfd-in2.h: Rebuild.
700
701 Mon Jun  1 11:12:02 1998  Nick Clifton  <nickc@cygnus.com>
702
703         * elf32-m32r.c (m32r_elf_print_private_bfd_data): Also call
704         _bfd_elf_print_private_bfd_data() so that the program header will
705         be displayed.
706
707 Mon Jun  1 12:14:28 1998  Ian Lance Taylor  <ian@cygnus.com>
708
709         * peicode.h (coff_swap_sym_in): Check for C_SECTION rather than
710         0x68.  Reindent.  Add some comments.
711
712 start-sanitize-sky
713 Sun May 31 16:11:22 1998  Doug Evans  <devans@canuck.cygnus.com>
714
715         * elf32-mips.c (_bfd_mips_elf_final_write_processing): Set sh_link
716         field of .DVP.ovlytab to .DVP.ovlystrtab's section index.
717         (_bfd_mips_elf_section_from_shdr): Recognize SHT_DVP_OVERLAY_TABLE
718         and SHT_DVP_OVERLAY.
719         (_bfd_mips_elf_fake_sections): Ditto.
720
721 end-sanitize-sky
722 Fri May 29 09:58:08 1998  Nick Clifton  <nickc@cygnus.com>
723
724         * elf.c (copy_private_bfd_data): Adjust physical address of
725         segment in output BFD to contain LMAs of its sections.
726
727 Tue May 26 19:37:47 1998  Stan Cox  <scox@equinox.cygnus.com>
728
729         * elf32-sparc.c (_bfd_sparc_elf_howto_table, sparc_reloc_map,
730         elf32_sparc_relocate_section): Added R_SPARC_32LE for little
731         endian data 32 bit relocations.
732         (elf32_sparc_merge_private_bfd_data): Check if linking little
733         endian objects with big endian objects.
734         (elf32_sparc_object_p): Set bfd_mach_sparc_sparclite_le.
735         (elf32_sparc_final_write_processing): Set EF_SPARC_LEDATA in e_flags.
736         * libbfd.h (bfd_reloc_code_real_names): Added BFD_RELOC_SPARC_32LE.
737         * reloc.c: Same.
738         * cpu-sparc.c (arch_info_struct): Added sparc:sparclite_le
739         * archures.c (bfd_mach_sparc_sparclite_le): New.
740         * bfd-in2.h (BFD_RELOC_SPARC_32LE, bfd_mach_sparc_sparclite_le): New.
741
742 Thu May 21 16:59:28 1998  Nick Clifton  <nickc@cygnus.com>
743
744         * peicode.h (add_data_entry): Fix precedence of operators in if ()
745         statement.
746
747 Tue May 19 18:41:19 1998  Ian Lance Taylor  <ian@cygnus.com>
748
749         * bfd-in.h: Move over patch to bfd-in2.h.
750
751         * reloc.c (bfd_check_overflow): Add casts before shifts which may
752         not fit in 32 bits.
753         (_bfd_relocate_contents): Likewise.
754
755 Mon May 18 14:44:15 1998  Nick Clifton  <nickc@cygnus.com>
756
757         * peicode.h (add_data_entry): If the section has no private data
758         then do not create a Data Dictionary entry for it.
759
760 Mon May 18 00:09:28 1998  Richard Henderson  <rth@cygnus.com>
761
762         * elf64-alpha.c (elf64_alpha_relax_section): Set again on changes.
763         (elf64_alpha_can_merge_gots, elf64_alpha_merge_gots,
764         elf64_alpha_size_got_sections): Rewrite, handling multiple got
765         subsections during relaxation more correctly.
766
767 Thu May 14 14:22:58 1998  Nick Clifton  <nickc@cygnus.com>
768
769         * bfd-in2.h: Add new prototype: bfd_coff_set_symbol_class ().
770         Add extra argument to bfd_arm_process_before_allocation ().
771         * bfd-in.h: Reflect changes made in bfd-in2.h.
772         * coffgen.c (bfd_coff_set_symbol_class): New function.  Set the
773         coff class of a BFD symbol.
774         * coff-arm.c: Add support for interworking between Thumb code and
775         non-interworking aware ARM code.
776
777 Sun May 10 22:33:59 1998  Jeffrey A Law  (law@cygnus.com)
778
779         * po/Make-in (install-info): New target.
780
781 Thu May  7 17:40:56 1998  Ian Lance Taylor  <ian@cygnus.com>
782
783         * filemode.c: Remove; not used.
784
785         If sysdep.h includes a header file, don't include it again:
786         * aix386-core.c: Don't include <stdio.h>, <stddef.h>, or
787         <errno.h>.
788         * aoutx.h: Don't include <string.h>.  Use "sysdep.h" rather than
789         <sysdep.h>.
790         * archive.c: Don't include <string.h> or <errno.h>.
791         * evax-alpha.c; Don't include <stdio.h>.
792         * evax-egsd.c: Likewise.
793         * evax-etir.c: Likewise.
794         * evax-misc.c: Likewise.
795         * evax-emh.c: Likewise.  Also, don't include <sys/types.h>.
796         * hppabsd-core.c: Don't include <stdio.h>, <sys/types.h>, or
797         <errno.h>.
798         * hpux-core.c: Likewise.
799         * netbsd-core.c: Likewise.
800         * som.c: Likewise.
801         * libbfd.c: Don't include <sys/types.h>.
802         * nlmcode.h: Don't include <string.h>.
803         * osf-core.c: Don't include <string.h> or <stdio.h>.
804         * ptrace-core.c: Don't include <stdio.h>, <sys/types.h>,
805         <errno.h>, or <unistd.h>.
806         * trad-core.c: Don't include <stdio.h> or <sys/types.h>.
807
808 Thu May  7 13:12:50 1998  Klaus Kaempf  <kkaempf@progis.de>
809
810         * configure.com: If the version number can not be found in
811         configure.in, set it to "unknown" rather than "2.8.1".
812
813 Wed May  6 09:46:05 1998  Gavin Koch  <gavin@cygnus.com>
814
815         * elf32-mips.c (elf_mips_mach): New.
816         (_bfd_mips_elf_object_p): Use elf_mips_mach.
817         (_bfd_mips_elf_final_write_processing): Use the names
818         of machines, rather than the numbers.  Set both the ARCH
819         and MACH in e_flags.  Handle a few more specific machines.
820         (_bfd_mips_elf_merge_private_bfd_data): Merge both
821         EF_MIPS_ARCH and EF_MIPS_MACH.
822
823 Tue May  5 21:01:53 1998  Richard Henderson  <rth@cygnus.com>
824
825         * syms.c (bfd_is_local_label): Revert last change.
826         * srec.c (srec_write_symbols): Discard debugging symbols.
827
828 Tue May  5 23:36:06 1998  Ian Lance Taylor  <ian@cygnus.com>
829
830         * som.c: Include <ctype.h>.
831         * som.h: Don't include sysdep.h.
832
833 Tue May  5 18:29:24 1998  Tom Tromey  <tromey@cygnus.com>
834
835         * libbfd.h: Rebuilt.
836         * libbfd-in.h: Removed gettext includes and defines.
837         * sysdep.h: Moved gettext-related includes and defines here.
838
839 Tue May  5 16:47:54 1998  Richard Henderson  <rth@cygnus.com>
840
841         * srec.c (srec_write_symbols): Use bfd_is_local_label rather than
842         an ad-hoc test.  Kill bogus #if 0 code.
843         * syms.c (bfd_is_local_label): Consider BSF_DEBUGGING symbols local.
844
845 Mon May  4 16:10:33 1998  Ian Lance Taylor  <ian@cygnus.com>
846
847         * sunos.c (sunos_check_dynamic_reloc): Don't use the PLT address
848         when generating a normal executable for a symbol defined in a
849         regular file.  When copying a reloc into the output file, adjust
850         the addend for a PC relative reloc against a global symbol.
851
852 Mon May  4 10:08:18 1998  Tom Tromey  <tromey@cygnus.com>
853
854         * libbfd.h: Rebuilt.
855         * libbfd-in.h (_): Define as dgettext.
856
857 Mon May  4 11:02:23 1998  Ian Lance Taylor  <ian@cygnus.com>
858
859         * coff-arm.c (coff_arm_relocate_section): Cast to bfd_signed_vma,
860         not signed.
861         * peicode.h (pe_saved_coff_bfd_print_private_bfd_data): Use PARAMS
862         when declaring parameter types.
863         (pe_saved_coff_bfd_copy_private_bfd_data): Likewise.
864
865 Wed Apr 29 15:35:03 1998  Ian Lance Taylor  <ian@cygnus.com>
866
867         * config.bfd: If we include any ELF targets in targ_defvec and/or
868         targ_selvecs, then add the generic ELF targets to targ_selvecs.
869         * elf32-gen.c (dummy): New static const variable.
870         (elf_generic_info_to_howto): New static function.
871         (elf_generic_info_to_howto_rel): New static function.
872         (elf_info_to_howto): Define as elf_generic_info_to_howto.
873         (elf_info_to_howto_rel): Define as elf_generic_info_to_howto_rel.
874         * elf64-gen.c: Same changes as elf32-gen.c.
875         * elfcode.h (elf_object_p): For the generic target, ignore a
876         failure of bfd_default_set_arch_mach.  Fix indentation a bit.
877
878 Tue Apr 28 20:05:52 1998  Ian Lance Taylor  <ian@cygnus.com>
879
880         * configure.in (WIN32LIBADD): Add -lintl on cygwin32.
881         * configure: Rebuild.
882
883 Tue Apr 28 12:16:57 1998  Jason Molenda  (crash@bugshack.cygnus.com)
884
885         * config.bfd:  Update OSR5/Unixware patterns.
886
887 Mon Apr 27 18:02:24 1998  Richard Henderson  <rth@cygnus.com>
888
889         * elf.c (assign_file_positions_for_segments): Allow for holes
890         between sections added by a link script.
891
892 Mon Apr 27 11:49:55 1998  Ian Lance Taylor  <ian@cygnus.com>
893
894         * configure.in: Change version number to 2.9.4
895         * configure: Rebuild.
896
897         Based on patch from H.J. Lu <hjl@gnu.org>:
898         * elf.c (bfd_elf_get_bfd_needed_list): New function.
899         * bfd-in.h (bfd_elf_get_bfd_needed_list): Declare.
900         * bfd-in2.h: Rebuild.
901
902 Sat Apr 25 20:07:53 1998  Richard Henderson  <rth@cygnus.com>
903
904         * elf64-alpha.c (struct alpha_relax_info): Replace elfsym with other.
905         Change all users.
906
907 Sat Apr 25 18:29:07 1998  Richard Henderson  <rth@cygnus.com>
908
909         * elf64-alpha.c (struct alpha_relax_info): Add tsec & elfsym members.
910         (elf64_alpha_relax_section): Fill them in.
911         (elf64_alpha_relax_opt_call): Implement more than a stub.
912         (elf64_alpha_add_symbol_hook): Don't set SEC_LOAD or default
913         alignment on .scommon.
914         (elf64_alpha_merge_gots): Merge use counts as well.
915
916 Sat Apr 25 14:07:29 1998  Richard Henderson  <rth@cygnus.com>
917
918         * elf64-alpha.c (elf64_alpha_relax_section): Use the proper section
919         for calculating a local symbol's address.
920         (elf64_alpha_calc_got_offsets): Skip entries with 0 use count.
921         Set the .got's cooked size as well as the raw size.
922
923 Fri Apr 24 09:16:00 1998  Nick Clifton  <nickc@cygnus.com>
924
925         * elf32-v850.c (v850_elf_print_private_bfd_data): Add
926         internationalisation of printed information.
927
928         * coff-arm.c (coff_arm_print_private_bfd_data): Add
929         internationalisation of printed information.
930
931 Fri Apr 24 12:09:18 1998  Ian Lance Taylor  <ian@cygnus.com>
932
933         * syms.c (struct indexentry): Change directory_name, file_name,
934         and function_name fields to char *.
935         (struct stab_find_info): Change cached_file_name field to char *.
936
937 Thu Apr 23 08:13:04 1998  Nick Clifton  <nickc@cygnus.com>
938
939         * peicode.h (dir_names): Add missing N_() macros to dir_names array.
940
941 Wed Apr 22 13:06:15 1998  Tom Tromey  <tromey@cygnus.com>
942
943         * po/Make-in (MKINSTALLDIRS): Don't look in $(top_srcdir).
944
945 Wed Apr 22 17:48:48 1998  Ian Lance Taylor  <ian@cygnus.com>
946
947         * Makefile.am (install-data-local): Make $(includedir).
948         * Makefile.in: Rebuild.
949
950 Wed Apr 22 13:06:15 1998  Tom Tromey  <tromey@cygnus.com>
951
952         * libbfd-in.h: Use `gettext' and not `dgettext' for now.
953
954 Wed Apr 22 12:53:40 1998  Ian Lance Taylor  <ian@cygnus.com>
955
956         * Makefile.am (INCLUDES): Add -I$(srcdir)/../intl -I../intl.
957         * Makefile.in: Rebuild.
958
959         * bfd-in2.h: Rebuild for Nick's changes.
960
961 Tue Apr 21 23:11:51 1998  Richard Henderson  <rth@cygnus.com>
962
963         * archive.c (_bfd_generic_read_ar_hdr_mag): Fix lossage in last
964         change wrt length == max_namelen.
965
966 Tue Apr 21 21:19:36 1998  Tom Tromey  <tromey@scribbles.cygnus.com>
967
968         * Many files: Added gettext invocations around user-visible
969         strings.
970         * libbfd-in.h: Added gettext includes and defines.
971         * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_STPCPY,
972         HAVE_LC_MESSAGES): Define.
973         * configure.in: Call CY_GNU_GETTEXT.  Create po/Makefile.in and
974         po/Makefile.
975         * Makefile.am (SUBDIRS): Added po.
976         (POTFILES): New macro.
977         (po/POTFILES.in): New target.
978         (SOURCE_HFILES): New macro.
979         (HFILES): Use it.
980         * po/Make-in, po/POTFILES.in, po/bfd.pot: New files.
981
982 Tue Apr 21 13:38:18 1998 Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
983
984         * elfcore.h (bfd_prstatus):  Copy core_prstatus from the first
985         NT_PRSTATUS note section encountered, it contains the status of
986         the currently executing thread when the core file was written.
987
988 Tue Apr 21 10:00:12 1998  Nick Clifton  <nickc@cygnus.com>
989
990         * libcoff.h: Add extra parameter to
991         bfd_coff_link_output_has_begun overrideable function.
992         * cofflink.c: Pass extra parameter to
993         bfd_coff_link_output_has_begun function.
994         * bfd-in.h: Add prototypes for exported ARM interworking
995         functions.
996         * peicode.h: ARM specific code reorganised to conform to BFD
997         coding conventions.
998         * coffcode.h: ARM specific code reorganised to conform to BFD
999         coding conventions.
1000         * coff-arm.c: Code reorganised to conform to the BFD coding
1001         conventions.  Global variables have been moved into an ARM
1002         specific hash table structure and a new function:
1003         bfd_arm_get_bfd_for_interworking() has been created which is
1004         called from the linker scripts.
1005
1006 Tue Apr 21 00:11:51 1998  Richard Henderson  <rth@cygnus.com>
1007
1008         * archive.c (_bfd_generic_read_ar_hdr_mag): Simplify end-of-name test.
1009
1010         * elf64-alpha.c (elf64_alpha_find_reloc_at_ofs): Renamed from
1011         elf64_alpha_relax_find_reloc_ofs.  Changed all callers.
1012         (elf64_alpha_add_symbol_hook): Put small commons in .scommon not .sbss.
1013         (elf64_alpha_size_got_sections): Don't merge .got sections twice.
1014
1015 Sat Apr 18 01:21:04 1998  Stan Cox  <scox@cygnus.com>
1016
1017         * config.bfd: Added sparc86x support.
1018
1019 Fri Apr 17 22:29:04 1998  Ian Lance Taylor  <ian@cygnus.com>
1020
1021         * elf32-mips.c (mips_elf_relocate_section): Do not complain about
1022         an out of range pc-relative jump/call to an undefined weak symbol.
1023
1024 Thu Apr 16 13:49:00 1998  Richard Henderson  <rth@cygnus.com>
1025
1026         * elf64-alpha.c (elf64_alpha_do_reloc_gpdisp): Do all gpdisp
1027         comparisons signed.
1028
1029 Thu Apr 16 11:43:33 1998  Ian Lance Taylor  <ian@cygnus.com>
1030
1031         * archive.c (bfd_generic_archive_p): If a slurp subroutine returns
1032         an error other than bfd_error_system_call, set the error to
1033         bfd_error_wrong_format.
1034
1035         * targets.c (bfd_target_vector) [SELECT_VECS not defined]: Add
1036         bfd_elf32_powerpcle_vec.
1037
1038         * elf.c (copy_private_bfd_data): If all the p_paddr fields in the
1039         program segments are zero, don't set p_paddr_valid.
1040
1041 Wed Apr 15 22:15:16 1998  Richard Henderson  <rth@cygnus.com>
1042
1043         * elf64-alpha.c: Initial implementation of relaxation --
1044         (struct alpha_elf_link_hash_entry): Add use_count member.
1045         (elf64_alpha_check_relocs): Initialize and increment it.
1046         (elf64_alpha_can_merge_gots): Check it when considering merging.
1047         (elf64_alpha_merge_gots): Drop entries with zero use.
1048         (elf64_alpha_calc_got_offsets_for_symbol): Likewise.
1049         (elf64_alpha_always_size_sections): Split out got sizing ...
1050         (elf64_alpha_size_got_sections): ... here.  New function.
1051         (elf64_alpha_relax_find_reloc_ofs): New function.
1052         (elf64_alpha_relax_with_lituse): Likewise.
1053         (elf64_alpha_relax_without_lituse): Likewise.
1054         (elf64_alpha_relax_opt_call): Likewise.
1055         (elf64_alpha_relax_section): Likewise.
1056         (elf64_alpha_add_symbol_hook): Likewise.
1057         (elf64_alpha_howto_table): Implement GPRELHIGH/LOW & IMMED_GP_16.
1058         (elf64_alpha_relocate_section): Likewise.
1059         (bfd_elf64_bfd_relax_section): Define.
1060         (elf_backend_add_symbol_hook): Likewise.
1061
1062 Wed Apr 15 16:08:46 1998  Richard Henderson  <rth@cygnus.com>
1063
1064         * elf.c (prep_headers): Use new EM_SPARCV9 symbol.
1065         * elf64-sparc.c (ELF_MACHINE_CODE): Likewise.
1066         (ELF_MACHINE_ALT1): New.  Set to EM_OLD_SPARC64.
1067
1068 Wed Apr 15 11:34:33 1998  Ian Lance Taylor  <ian@cygnus.com>
1069
1070         * configure.in: Add -lkernel32 to WIN32LIBADD on cygwin32.
1071         * configure: Rebuild.
1072
1073 Mon Apr 13 16:46:27 1998  Ian Lance Taylor  <ian@cygnus.com>
1074
1075         * Makefile.am (libbfd_la_LIBADD): Add @WIN32LIBADD@.
1076         (libbfd_la_LDFLAGS): Add @WIN32LDFLAGS@.
1077         * configure.in: Define and substitute WIN32LDFLAGS and
1078         WIN32LIBADD.
1079         * aclocal.m4: Rebuild with new libtool.
1080         * configure, Makefile.in: Rebuild.
1081
1082 Fri Apr 10 13:44:27 1998  Ian Lance Taylor  <ian@cygnus.com>
1083
1084         * coffcode.h (coff_write_object_contents): Move a PE COMDAT symbol
1085         before any other symbols in the same section.
1086
1087 Wed Apr  8 14:50:23 1998  Michael Meissner  <meissner@cygnus.com>
1088
1089         * config.bfd (powerpc*-*-*): Remove PowerPC NT support from ELF
1090         systems.
1091
1092 Tue Apr  7 16:25:31 1998  Gavin Romig-Koch  <gavin@cygnus.com>
1093
1094         * dwarf2.c (comp_unit): Move it earlier in the source. Add
1095         addr_size.
1096         (read_address): Replace 'bdf*' argument with 'comp_unit*' argument.
1097         Use addr_size for address size, rather than sizeof(bfd_vma).
1098         (read_attribute): Replace bdf* argument with 'comp_unit*' argument.
1099         Fix call to read_address.
1100         (decode_line_info): Replace bdf* argument with 'comp_unit*' argument.
1101         Scrap other unneeded arguments.  Fix call to read_address.
1102         (scan_unit_for_functions): Fix call to read_attribute.
1103         (parse_comp_unit): We now handle more values for addr_size.
1104         Set addr_size in unit.  Fix call to read_attribute and
1105         decode_line_info.
1106
1107 Tue Apr  7 15:44:47 1998  Gavin Romig-Koch <gavin@cygnus.com>
1108
1109         * dwarf2.c (parse_comp_unit): Drop use of unit->name when it is null.
1110
1111 Tue Apr  7 12:35:18 1998  Ian Lance Taylor  <ian@cygnus.com>
1112
1113         * archures.c (bfd_default_scan): Add m68k cases back to default
1114         switch, reverting patch of March 25, since IEEE support depends
1115         upon them.
1116
1117 Mon Apr  6 14:06:40 1998  Ian Lance Taylor  <ian@cygnus.com>
1118
1119         * Makefile.am (diststuff): New target.
1120         * Makefile.in: Rebuild.
1121
1122 Sun Apr  5 16:21:44 1998  Jeffrey A Law  (law@cygnus.com)
1123
1124         * som.c (som_bfd_ar_write_symbol_stuff): Fix computation of
1125         som_offset when we have an extended name table.
1126
1127 Sun Apr  5 16:04:39 1998  H.J. Lu  <hjl@gnu.org>
1128
1129         * Makefile.am (stamp-lib): Check that .libs/libbfd.a exists before
1130         trying to copy it.
1131         * Makefile.in: Rebuild.
1132
1133 Fri Apr  3 11:09:42 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1134
1135         * elf32-m68k.c (elf_m68k_size_dynamic_sections): Generate section
1136         symbols when creating a shared library.
1137         (elf_m68k_adjust_dynindx): New function, used by above code.
1138         (elf_m68k_finish_dynamic_sections): Initialize the section
1139         symbols.
1140         (elf_m68k_relocate_section): Change abort to BFD_ASSERT.
1141
1142 Wed Apr  1 16:04:02 1998  Nick Clifton  <nickc@cygnus.com>
1143
1144         * coff-arm.c (in_reloc_p): Use ARM_RVA32 in place of constant
1145         value 11.
1146
1147 Wed Apr  1 13:36:58 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1148
1149         * elf32-m68k.c (elf_m68k_relocate_section, case R_68K_PLT*O): Fix
1150         assertion.
1151
1152 Tue Mar 31 00:12:12 1998  Jeffrey A Law  (law@cygnus.com)
1153
1154         * elf-m10300.c (mn10300_elf_relax_section): Correctly handle
1155         absolute symbols.
1156
1157 Mon Mar 30 12:46:15 1998  Ian Lance Taylor  <ian@cygnus.com>
1158
1159         * configure.in: Set version to 2.9.1.
1160         * configure: Rebuild.
1161
1162         * Branched binutils 2.9.
1163
1164 Mon Mar 30 12:20:50 1998  Brent Baccala  <baccala@freesoft.org>
1165
1166         * syms.c (ENABLE_CACHING): Define.
1167         (struct indexentry): Define.
1168         (struct stab_cache): Remove.
1169         (cmpindexentry): New static function.
1170         (struct stab_find_info): Add new fields: indextable,
1171         indextablesize, cached_indexentry, cached_offset, cached_stab, and
1172         cached_file_name.  Remove fields: file_cache, function_cache, and
1173         line_cache.
1174         (_bfd_stab_section_find_nearest_line): Rewrite to build a sorted
1175         index table and search it.
1176
1177 Mon Mar 30 10:39:34 1998  Ian Lance Taylor  <ian@cygnus.com>
1178
1179         * elf.c (_bfd_elf_copy_private_section_data): Call
1180         copy_private_bfd_data once we've seen the last SEC_ALLOC section.
1181
1182         * cpu-mips.c: Remove trailing comma at end of enumeration list.
1183
1184 Sat Mar 28 16:33:02 1998  Ian Lance Taylor  <ian@cygnus.com>
1185
1186         * coff-arm.c: Define all globally visible variables and functions
1187         only when COFF_WITH_PE is not defined.
1188         * configure.in (armpe_little_vec, armpe_big_vec): Add
1189         coff-arm.lo.
1190         * configure: Rebuild.
1191
1192 Fri Mar 27 16:06:02 1998  Ian Lance Taylor  <ian@cygnus.com>
1193
1194         Fix some gcc -Wall warnings:
1195         * aout-arm.c (MY(fix_pcrel_26)): Add casts to avoid warnings.
1196         * archive.c (_bfd_generic_read_ar_hdr_mag): Likewise.
1197         * archures.c (bfd_default_scan): Likewise.
1198         * bfd.c (bfd_scan_vma): Likewise.
1199         * binary.c (mangle_name): Likewise
1200         * coff-arm.c (aoutarm_fix_pcrel_26): Likewise.
1201         * coff-sh.c (sh_relocate_section): Likewise.
1202         * coff-stgo32.c (create_go32_stub): Likewise.
1203         * coffcode.h (coff_slurp_line_table): Likewise.
1204         * ecoff.c (_bfd_ecoff_write_armap): Likewise.
1205         * elf.c (_bfd_elf_make_section_from_shdr): Likewise.
1206         (assign_file_positions_for_segments): Likewise.
1207         * elf32-mips.c (mips_elf_relocate_section): Likewise.
1208         * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
1209         * oasys.c (oasys_write_sections): Likewise.
1210         * ppcboot.c (ppcboot_object_p): Likewise.
1211         (mangle_name): Likewise.
1212         * riscix.c (riscix_fix_pcrel_26): Likewise.
1213         * srec.c (srec_scan): Likewise.
1214         * stabs.c (_bfd_write_section_stabs): Likewise.
1215         * sunos.c (sunos_add_dynamic_symbols): Likewise.
1216         * aout-ns32k.c (_bfd_ns32k_relocate_contents): Add default case to
1217         switch.  Declare parameters for function pointers.
1218         * archures.c (bfd_default_scan): Add braces to avoid ambiguous if
1219         warning.
1220         * elf.c (elf_sort_sections): Likewise.
1221         * coff-arm.c (coff_thumb_pcrel_common): Initialize relocation.
1222         Add default cases to switches.
1223         (coff_arm_relocate_section): Remove unused local variables.
1224         Always set rstat.
1225         (coff_arm_bfd_set_private_flags): Change flag variable to type
1226         flagword.
1227         * coff-mips.c (mips_relocate_section): Initialize use_lo.
1228         * coff-ppc.c (ppc_record_toc_entry): Change i to unsigned int.
1229         (dump_toc): Change cat to const, and initialize it.
1230         * coff-sh.c (sh_relax_delete_bytes): Initialize start and voff.
1231         * elf32-sh.c (sh_elf_relax_delete_bytes): Likewise.
1232         (sh_elf_relocate_section): Initialize r_symndx.
1233         * coffcode.h (coff_compute_section_file_positions): Only declare
1234         old_sofar if ALIGN_SECTIONS_IN_FILE.
1235         (coff_write_object_contents): Initialize csym.
1236         * coffgen.c (coff_pointerize_aux): Make type and class unsigned.
1237         * cpu-ns32k.c (_bfd_ns32k_get_displacement): Add default case to
1238         switch.
1239         * dwarf2.c: Include libiberty.h.
1240         (read_2_signed_bytes, read_4_signed_bytes): Comment out.
1241         (decode_line_info): Remove unused local variables.
1242         * elf32-m32r.c (m32r_elf_sda16_reloc): Likewise.
1243         (m32r_elf_relocate_section): Likewise.
1244         * elf32-v850.c (v850_elf_store_addend_in_insn): Likewise.
1245         (v850_elf_reloc): Likewise.
1246         * elf-bfd.h (elf_linker_section_t): Make alignment unsigned.
1247         (struct elf_obj_tdata): Make cverdefs and cverrefs unsigned.
1248         * elf.c (assign_file_positions_for_segments): Always set adjust.
1249         * elf32-d30v.c (bfd_elf_d30v_reloc): Initialize tmp_addr.  Fully
1250         parenthesize expression.
1251         * elf32-m32r.c (m32r_elf_relocate_section): Always initialize h.
1252         (m32r_elf_object_p): Return a value.
1253         (m32r_elf_print_private_bfd_data): Change fprintf format string.
1254         * elf32-mips.c (mips_elf_final_link): Initialize last.
1255         (mips_elf_finish_dynamic_sections): Initialize last and dindx.
1256         * elf32-v850.c (v850_elf_object_p): Return a value.
1257         (v850_elf_print_private_bfd_data): Change fprintf format string.
1258         * elfcode.h (elf_slurp_symbol_table): Change symcount and i to
1259         unsigned long.
1260         * elflink.h (elf_link_add_object_symbols): Change vernum to
1261         unsigned int, and initialize it.  Change fprintf format string.
1262         (NAME(bfd_elf,size_dynamic_sections)): Cast -1 to bfd_size_type
1263         when setting or comparing to soname_indx.
1264         (elf_create_pointer_linker_section): Change num_symbols to
1265         unsigned int.
1266         * libcoff-in.h (coff_data_type): Change flags to flagword.
1267         * peicode.h (pe_print_idata): Initialize idx.  Change j to
1268         bfd_size_type.  Initialize hint_member.  Remove useless test to
1269         time_stamp.
1270         (pe_print_edata): Change num_functions and num_names in struct
1271         EDT_type to unsigned long.  Remove cast.  Change fprintf format
1272         string.
1273         * ppcboot.c (ppcboot_object_p): Change i to size_t.
1274         * reloc.c (bfd_get_reloc_size): Change return type to unsigned
1275         int.
1276         * reloc16.c (bfd_coff_reloc16_relax_section): Change shrinks to
1277         int *.  Update uses.  Change j to long.
1278         * bfd-in2.h, libcoff.h: Rebuild.
1279
1280 Fri Mar 27 10:10:46 1998  Catherine Moore <clm@cygnus.com>
1281
1282         * elf32-v850.c Remove definition of USE_REL.
1283         (v850_elf_info_to_howto_rela): New function.
1284         (v850_elf_perform_relocation):  Renamed from
1285         v850_elf_store_addend_in_insn.  Removed replace argument.
1286         (v850_elf_reloc): store the relocation in the addend field instead
1287         of the insn.
1288         (v850_elf_final_link_relocate):  Now calls
1289         v850_elf_perform_relocation.
1290         (v850_elf_relocate_section):  Remove code to generate REL
1291         relocations.
1292
1293 Thu Mar 26 13:32:17 1998  Ian Lance Taylor  <ian@cygnus.com>
1294
1295         * coffcode.h (coff_new_section_hook): Set the type and storage
1296         class in the native symbol information allocated for a new section
1297         symbol.
1298
1299 Thu Mar 26 10:13:41 1998  Nick Clifton  <nickc@cygnus.com>
1300
1301         * peicode.h: Chain together calls to
1302         coff_bfd_copy_private_bfd_data and
1303         coff_bfd_print_private_bfd_data.
1304
1305         * coff-arm.c: Add prototypes for
1306         coff_arm_bfd_print_private_bfd_data and
1307         coff_arm_bfd_copy_private_bfd_data.
1308
1309 Wed Mar 25 15:45:55 1998  Nick Clifton  <nickc@cygnus.com>
1310
1311         * coffcode.h (coff_mkobject_hook): Set private falgs even for a PE
1312         build.
1313
1314         * peicode.h: Call arm-coff private data functions after handling
1315         pe private data.
1316
1317         * coff-arm.c: Turn statics into globals so that they can be shared
1318         both pe and pei backends.
1319
1320 Wed Mar 25 15:19:38 1998  Ian Lance Taylor  <ian@cygnus.com>
1321
1322         * aoutf1.h (sunos_set_arch_mach): Use bfd_mach_m68* rather than
1323         plain numbers.
1324         (sunos_write_object_contents): Likewise.
1325         * aoutx.h (NAME(aout,machine_type)): Likewise.
1326         * coffcode.h (coff_set_arch_mach_hook): Likewise.
1327
1328 Wed Mar 25 13:59:24 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1329
1330         * archures.c (bfd_mach_m68*): Add definitions for various m68k
1331         variants.
1332         (bfd_default_scan): Remove m68k special cases.
1333         * bfd-in2.h: Rebuild.
1334         * mipsbsd.c (MY(write_object_contents)): Use bfd_mach_m68* rather
1335         than plain numbers.
1336         * sparclynx.c (NAME(lynx,set_arch_mach)): Likewise.
1337         * cpu-m68k.c (arch_info_struct): Likewise.  Add entry for
1338         m68k:68000.
1339         (bfd_m68k_arch): Set mach field to zero to signal no explicit
1340         selection, change printable_name to just "m68k" and make that the
1341         default instead of m68k:68020.
1342
1343         * aout-tic30.c (NAME): Define this to avoid multiple definitions
1344         from aoutx.h.
1345         (MY_get_section_contents): Define as aout_32_get_section_contents
1346         rather than NAME(aout,get_section_contents).
1347
1348         * elf-m10300.c (elf32_mn10300_link_hash_table_create): Fix cast.
1349
1350         * evax-alpha.c (evax_set_arch_mach): Only accept bfd_arch_alpha
1351         and call bfd_default_set_arch_mach to do the real work.
1352
1353 Wed Mar 25 10:41:35 1998  Richard Henderson  <rth@cygnus.com>
1354
1355         * bout.c (BALX): Include return register g14 as part of the insn.
1356         (BALX_MASK): New.
1357         (calljx_callback): Use it.
1358
1359 Wed Mar 25 11:19:28 1998  Ian Lance Taylor  <ian@cygnus.com>
1360
1361         * libbfd-in.h (BFD_ALIGN): Cast this parameter to bfd_vma.
1362         * libbfd.h: Rebuild.
1363
1364         * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Change
1365         byte_count to unsigned int.
1366         (mn10300_elf_relax_section): Initialize internal_relocs.  Remove
1367         unused local variables.
1368
1369         * evax-alpha.c (evax_close_and_cleanup): Remove unused local
1370         variables er and er1.
1371
1372         * cpu-v850.c: Include <ctype.h>.
1373         (scan): Case isdigit argument to unsigned char.
1374
1375         From Yan Meroth <YAN.MEROTH@st.com>:
1376         * ihex.c (ihex_scan): Add extbase variable so that getting an
1377         extended linear address record does not ignore any previous
1378         extended address.
1379         (ihex_write_object_contents): When writing out an extended linear
1380         address record, zero out any previous extended address.
1381
1382 Tue Mar 24 16:09:43 1998  Manfred Hollstein  <manfred@s-direktnet.de>
1383
1384         * ieee.c (do_one): Check section before dereferencing it.
1385         (ieee_canonicalize_reloc): Likewise with src->relent.sym_ptr_ptr.
1386         (ieee_generic_stat_arch_elt): Likewise with abfd->my_archive.
1387
1388 Mon Mar 23 18:51:47 1998  Joel Sherrill  <joel@OARcorp.com>
1389
1390         * config.bfd: (sh*-*-rtems*): Switched from ELF to COFF.
1391
1392 Mon Mar 23 14:23:36 1998  Nick Clifton  <nickc@cygnus.com>
1393
1394         * coff-arm.c: Add interworking functions to pe backends.
1395
1396 start-sanitize-r5900
1397 Sun Mar 22 13:05:08 1998  Jeffrey A Law  (law@cygnus.com)
1398
1399         * elf32-mips.c (R_MIPS15_S3): New relocation type.
1400         (elf_mips_howto_table): Add R_MIPS15_S3.
1401         (mips_reloc_map): Map BFD_RELOC_MIPS15_S3 to R_MIPS15_S3.
1402         * reloc.c (BFD_RELOC_MIPS15_S3): New relocation type.
1403         * bfd-in2.h, libbfd.h: Rebuilt.
1404
1405 end-sanitize-r5900
1406 Fri Mar 20 18:47:20 1998  Ian Lance Taylor  <ian@cygnus.com>
1407
1408         * configure.in: Use AM_DISABLE_SHARED.
1409         * aclocal.m4, configure: Rebuild with libtool 1.2.
1410
1411 Fri Mar 20 11:25:41 1998  Nick Clifton  <nickc@cygnus.com>
1412
1413         * coff-arm.c (coff_arm_relocate_section): Better error messages
1414         when interowrking conflucts occur.  Courtesy of Jonathan Walton
1415         and Tony Thompson.
1416         (aoutarm_std_reloc_howto): Fixed bitsize fields of rightshifted
1417         relocations.  Patch courtesy of Jonathan Walton and Tony
1418         Thompson.
1419
1420 Fri Mar 20 02:26:43 1998  Richard Henderson  <rth@cygnus.com>
1421
1422         * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Revert
1423         part of Feb 22 change controling when to override the existing
1424         symbol with the .plt entry.
1425
1426 Wed Mar 18 09:26:25 1998  Nick Clifton  <nickc@cygnus.com>
1427
1428         * config.bfd (targ_cpu): Add thumb-pe target.
1429
1430         * coffcode.h (OTHER_GLOBAL_CLASS): Support thumb external
1431         functions in PE build.
1432
1433 Sun Mar  8 23:37:26 1998  Stan Cox  <scox@equinox.cygnus.com>
1434
1435         * config.bfd (sparclite-*-elf*): Added.
1436
1437 start-sanitize-vr4320
1438 Tue Mar  3 11:24:05 1998  Gavin Koch  <gavin@cygnus.com>
1439
1440         * mips-cpu.c: Reorganize sanitization.
1441
1442         * archures.c, bfd-in2.h, mips-cpu.c : Added bfd_mach_mips4320.
1443
1444 end-sanitize-vr4320
1445 Mon Feb 23 19:31:19 1998  Ian Lance Taylor  <ian@cygnus.com>
1446
1447         * configure.in: Add elf.lo to elf shell variable.
1448         * Makefile.am (BFD_LIBS): Remove elf.lo.
1449         (BFD_LIBS_CFILES): Remove elf.c.
1450         (BFD32_BACKENDS): Add elf.lo.
1451         (BFD32_BACKENDS_CFILES): Add elf.c.
1452         * configure, Makefile.in: Rebuild.
1453
1454 1998-02-23 15:53  Richard Henderson  <rth@cygnus.com>
1455
1456         * elf32-i386.c (elf_i386_relocate_section): A pc-relative
1457         relocation against a now-local symbol should not have a dynamic
1458         relocation.
1459
1460 Mon Feb 23 16:17:08 1998  Ian Lance Taylor  <ian@cygnus.com>
1461
1462         * peicode.h (coff_swap_filehdr_in): Don't set BFD flag HAS_SYMS in
1463         COFF filehdr flags.
1464         (pe_print_private_bfd_data): Print PE flags.  From Mikey
1465         <jeffdb@netzone.com>.
1466
1467 Sun Feb 22 20:39:00 1998  Richard Henderson  <rth@cygnus.com>
1468
1469         * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Don't create
1470         a plt entry when we can determine that we authoritatively define
1471         the symbol.
1472
1473 Sun Feb 22 20:33:05 1998  Richard Henderson  <rth@cygnus.com>
1474
1475         * configure.in (COREFILE selection): Remove sparc-*-linux*.  They
1476         don't actually use trad-core, but a SunOS-style core file handled
1477         by gdb directly.
1478         * hosts/sparclinux.h: Remove.
1479
1480 start-sanitize-sky
1481 Thu Feb 19 02:38:52 1998  Doug Evans  <devans@charmed.cygnus.com>
1482
1483         * reloc.c (BFD_RELOC_MIPS_DVP_27_S4): New reloc type.
1484         * elf32-mips.c (enum reloc_type): Add R_MIPS_DVP_27_S4.
1485         (elf_mips_dvp_27_s4_howto): Describe it.
1486         (bfd_elf32_bfd_reloc_type_lookup): Handle it.
1487         (mips_info_to_how_rel): Handle it.
1488         (mips_elf_relocate_section): Handle it.
1489         * bfd-in2.h,libbfd.h: Regenerate.
1490
1491 end-sanitize-sky
1492 Wed Feb 18 15:31:06 1998  Ian Lance Taylor  <ian@cygnus.com>
1493
1494         * peicode.h (pe_print_idata): If there is no .idata section, look
1495         for the import tables in some other section.  Make the initial
1496         label line up better with the data.  Print the import address
1497         table even if there is no import name table.  If the import
1498         address table holds actual addresses, print them.
1499
1500 start-sanitize-sky
1501 Tue Feb 17 20:00:26 1998  Doug Evans  <devans@canuck.cygnus.com>
1502
1503         * config.bfd (targ_archs): If mips64r5900-sky-elf, add bfd_dvp_arch.
1504
1505 end-sanitize-sky
1506 Tue Feb 17 12:58:34 1998  Ian Lance Taylor  <ian@cygnus.com>
1507
1508         * libbfd.c (bfd_seek): If fseek fails, save errno around call to
1509         bfd_tell.  If errno is EINVAL, set bfd_error_file_truncated, not
1510         bfd_error_system_call.
1511
1512 Fri Feb 13 13:11:33 1998  Ian Lance Taylor  <ian@cygnus.com>
1513
1514         * Makefile.am (AUTOMAKE_OPTIONS): Define.
1515         * configure, Makefile.in, aclocal.m4: Rebuild with automake 1.2e.
1516
1517         From H.J. Lu <hjl@gnu.org>:
1518         * Makefile.am (libbfd_la_LDFLAGS): Define.
1519         * Makefile.in: Rebuild.
1520
1521 Thu Feb 12 17:31:11 1998  Ian Lance Taylor  <ian@cygnus.com>
1522
1523         NetBSD patches from Gordon W. Ross <gwr@mc.com>:
1524         * netbsd.h (MACHTYPE_OK): Define.
1525         (MY(write_object_contents)): Use DEFAULT_ARCH and DEFAULT_MID when
1526         calling N_SET_MACHTYPE, rather than having a switch.
1527         * libaout.h (enum machine_type): Add M_PMAX_NETBSD, M_VAX_NETBSD,
1528         and M_ALPHA_NETBSD.
1529         * i386netbsd.c (MACHTYPE_OK): Don't define.
1530         (DEFAULT_MID): Define.
1531         * m68k4knetbsd.c (SEGMENT_SIZE): Don't define.
1532         (MACHTYPE_OK): Don't define.
1533         (DEFAULT_MID): Define.
1534         * m68knetbsd.c: (MACHTYPE_OK): Don't define.
1535         (DEFAULT_MID): Define.
1536         * ns32knetbsd.c (MACHTYPE_OK): Don't define.
1537         (DEFAULT_MID): Define.
1538         * sparcnetbsd.c (MACHTYPE_OK): Don't define.
1539         (DEFAULT_MID): Define.
1540
1541         NetBSD patches from Gordon W. Ross <gwr@mc.com>:
1542         * vaxnetbsd.c: New file.
1543         * netbsd-core.c: Clean up.  Remove unused macros.  Use netbsd
1544         rather than netbsd_core.
1545         * targets.c (vaxnetbsd_vec): Declare.
1546         (bfd_target_vector): Add vaxnetbsd_vec.  If NETBSD_CORE is
1547         defined, add netbsd_core_vec.
1548         * configure.in: Set COREFILE for alpha*-*-netbsd* and
1549         powerpc-*-netbsd* to netbsd-core.lo.  If COREFILE is
1550         netbsd-core.lo, set COREFLAG to -DNETBSD_CORE.
1551         * config.bfd (alpha*-*-netbsd*): New target.
1552         * Makefile.am: Rebuild dependencies.
1553         (BFD32_BACKENDS): Add vaxnetbsd.lo.
1554         (BFD32_BACKENDS_CFILES): Add vaxnetbsd.c.
1555         * configure, Makefile.in: Rebuild.
1556
1557         * configure.host: Remove the old shared library build stuff.  We
1558         now use libtool instead.
1559
1560 Wed Feb 11 17:13:09 1998  Richard Henderson  <rth@cygnus.com>
1561
1562         * tekhex.c (tekhex_write_object_contents): Call tekhex_init.
1563
1564 Tue Feb 10 19:23:28 1998  H.J. Lu  <hjl@gnu.org>
1565
1566         * configure.in: Take stab-syms.lo out of sparclinux_vec list.
1567         * configure: Rebuild.
1568
1569 Tue Feb 10 15:16:38 1998  Nick Clifton  <nickc@cygnus.com>
1570 start-sanitize-m32rx
1571         * elf32-m32r.c (m32r_elf_merge_private_bfd_data): Do not complain
1572         when merging m32r BFDs into m32rx BFDs.
1573 end-sanitize-m32rx
1574         * elf32-v850.c (remember_hi16s_reloc): New function.
1575         (find_remembered_hi16s_reloc): New function.
1576         (v850_elf_store_addend_in_insn): Use the above new functions to
1577         match up HI6S relocs with LO16 relocs.
1578
1579 start-sanitize-sky
1580 Tue Feb 10 13:25:14 1998  Doug Evans  <devans@canuck.cygnus.com>
1581
1582         * archures.c (bfd_mach_dvp_{vif,gif}): Renamed from ..._{pke,gpuif}.
1583         (bfd_txvu_arch): Delete.
1584         * cpu-mips.c (arch_info_struct): dvp:{vif,gif} renamed from
1585         dvp:{pke,gpuif}.
1586         * bfd-in2.h: Regenerate.
1587
1588 end-sanitize-sky
1589 Tue Feb 10 15:01:39 1998  Ian Lance Taylor  <ian@cygnus.com>
1590
1591         * configure.in: Change -linux* to -linux-gnu*.
1592         * config.bfd, configure.host: Likewise.
1593         * configure: Rebuild.
1594
1595 Mon Feb  9 19:40:59 1998  Nick Clifton  <nickc@cygnus.com>
1596
1597         * elf32-v850.c (v850_elf_store_addend_in_insn): Fix another
1598         LO16/HI16S bug and improve comments about what is going on.
1599
1600 Sat Feb  7 15:27:03 1998  Ian Lance Taylor  <ian@cygnus.com>
1601
1602         * configure, aclocal.m4: Rebuild with new libtool.
1603
1604 start-sanitize-v850e
1605 Fri Feb  6 14:48:20 1998  Nick Clifton  <nickc@cygnus.com>
1606
1607         * elf32-v850.c (v850_elf_merge_private_bfd_data): Do not complain
1608         when merging v850 code into v850e/v850ea code.  Do not initialise
1609         output flags if the input is the default architecture.
1610 end-sanitize-v850e
1611 Fri Feb  6 11:50:22 1998  Jeffrey A Law  (law@cygnus.com)
1612
1613 start-sanitize-r5900
1614         * cpu-mips.c (arch_info_struct): Make r5900 pointer size 32bits.
1615 end-sanitize-r5900
1616         * elf32-mips.c (bfd_elf32_bfd_reloc_type_lookup): For BFD_RELOC_CTOR
1617         get the size from bfd_arch_bits_per_address instead of directly
1618         from the isa.
1619
1620 Thu Feb  5 14:21:34 1998  Michael Meissner  <meissner@cygnus.com>
1621
1622         * libbfd-in.h (BFD_ALIGN): If rounding up would cause the address
1623         to wrap, just return all 1's bits instead.
1624         * libbfd.h: Regenerate.
1625
1626 Thu Feb  5 11:51:05 1998  Ian Lance Taylor  <ian@cygnus.com>
1627
1628         * coff-i386.c (coff_pe_i386_relocate_section): New static function
1629         if COFF_WITH_PE.
1630         (coff_relocate_section): If COFF_WITH_PE, define as
1631         coff_pe_i386_relocate_section.
1632         * coffcode.h (coff_write_object_contents): If COFF_IMAGE_WITH_PE,
1633         skip empty sections, to match coff_write_object_contents.
1634
1635         * elf64-mips.c (mips_elf64_swap_reloca_out): Swap out r_addend,
1636         rather than swapping out r_offset twice.  From Luke Deller
1637         <luked@cse.unsw.edu.au>.
1638
1639 Wed Feb  4 19:11:28 1998  Ian Lance Taylor  <ian@cygnus.com>
1640
1641         * configure.in: Set libtool_enable_shared rather than
1642         libtool_shared.  Remove diversion hack.
1643         * configure, Makefile.in, doc/Makefile.in, aclocal.m4: Rebuild
1644         with new libtool.
1645
1646 Wed Feb  4 16:10:21 1998  Brent Baccala  <baccala@freesoft.org>
1647
1648         * syms.c (struct stab_cache): Define.
1649         (struct stab_find_info): Remove cached_offset, cached_stab,
1650         cached_str, and cached_stroff fields.  Add file_cache,
1651         function_cache, and line_cache fields.
1652         (_bfd_stab_section_find_nearest_line): Use extensive caching to
1653         speed up searches.
1654
1655 Wed Feb  4 13:34:22 1998  Ian Lance Taylor  <ian@cygnus.com>
1656
1657         * peicode.h (pe_print_idata): Check for import of ordinal rather
1658         than name.
1659         (pe_print_edata): If there is no .edata section, look for the
1660         export data in some other section.
1661
1662 Mon Feb  2 20:05:42 1998  Jason Molenda  (crash@bugshack.cygnus.com)
1663
1664         * configure.in: Change version to 2.8.4.
1665         * configure: Regenerated.
1666
1667 Mon Feb  2 17:39:39 1998  Steve Haworth  <steve@pm.cse.rmit.EDU.AU>
1668
1669         Add tms320c30 support:
1670         * cpu-tic30.c: New file.
1671         * aout-tic30.c: New file.
1672         * coff-tic30.c: New file.
1673         * archures.c (bfd_arch_tic30): Define.
1674         (bfd_tic30_arch): Declare.
1675         (bfd_archures_list): Add bfd_tic30_arch.
1676         * targets.c (bfd_target_vector): Add tic30_aout_vec and
1677         tic30_coff_vec.
1678         * reloc.c (BFD_RELOC_TIC30_LDP): Define.
1679         * coffcode.h (coff_set_arch_mach_hook): Add tic30 case.
1680         (coff_set_flags): Likewise.
1681         * config.bfd (tic30-*-*aout*, tic30-*-*coff*): New targets.
1682         * configure.in (tic30_aout_vec, tic30_coff_vec): New vectors.
1683         * Makefile.am: Rebuild dependencies.
1684         (ALL_MACHINES): Add cpu-tic30.lo.
1685         (ALL_MACHINES_CFILES): Add cpu-tic30.c.
1686         (BFD32_BACKENDS): Add aout-tic30.lo and coff-tic30.lo.
1687         (BFD32_BACKENDS_CFILES): Add aout-tic30.c and coff-tic30.c.
1688         * configure, Makefile.in, bfd-in2.h, libbfd.h: Rebuild.
1689
1690 Mon Feb  2 12:25:12 1998  Nick Clifton  <nickc@cygnus.com>
1691
1692         * elf32-v850.c (v850_elf_store_addend_in_insn): Allow HI16_S reloc
1693         to lag behind LO16 reloc by a couple of instructions.
1694
1695 Mon Feb  2 14:09:46 1998  Ian Lance Taylor  <ian@cygnus.com>
1696
1697         * Makefile.am ($(srcdir)/bfd-in2.h): Add dummy command to force
1698         make to reexamine the file timestamp.
1699         ($(srcdir)/libbfd.h, $(srcddir)/libcoff.h): Likewise.
1700
1701         * elf64-alpha.c (ELF_MAXPAGESIZE): Change to 0x10000 from
1702         0x100000.
1703
1704 start-sanitize-sky
1705 Fri Jan 30 17:48:17 1998  Doug Evans  <devans@canuck.cygnus.com>
1706
1707         * elf32-mips.c (elf_mips_dvp_11_pcrel_howto): Set pcrel_offset=true
1708         and partial_inplace=false.
1709         (mips_elf_relocate_section): Recognize R_MIPS_DVP_11_PCREL.
1710
1711 end-sanitize-sky
1712 Fri Jan 30 19:07:07 1998  Geoff Keating  <geoffk@ozemail.com.au>
1713
1714         * elf32-ppc.c (ppc_elf_create_dynamic_sections): New procedure
1715         to create .dynsbss and .rela.sbss sections.
1716         (ppc_elf_adjust_dynamic_symbol): Put space for small data to be
1717         copied from dynamic objects into .sbss.
1718         (ppc_elf_size_dynamic_sections): Strip .rela.sbss if we don't
1719         use it.  Correct typo of .rela.sdata2.
1720         (ppc_elf_finish_dynamic_symbol): Generate reloc to where we
1721         put the data, which may now be in .sbss.
1722         (ppc_elf_relocate_section): A SDAREL16 reloc can be in dynsbss.
1723         (elf_backend_create_dynamic_sections): Define as
1724         ppc_elf_create_dynamic_sections.
1725
1726         * elf32-ppc.c (ppc_elf_check_relocs): Don't emit R_PPC_REL* relocs
1727         against _GLOBAL_OFFSET_TABLE_.
1728         (ppc_elf_relocate_section): Don't emit R_PPC_REL32 relocs in
1729         shared libraries which refer to local symbols.  Make sure that the
1730         test for allocating space for a reloc in a shared object is the
1731         same as the test for emitting a reloc.
1732
1733 start-sanitize-sky
1734 Thu Jan 29 17:44:53 1998  Doug Evans  <devans@canuck.cygnus.com>
1735
1736         * elf32-mips.c: Add dvp support.
1737
1738 end-sanitize-sky
1739 Thu Jan 29 15:55:35 1998  J.J. van der Heijden  <J.J.vanderHeijden@student.utwente.nl>
1740
1741         * config.bfd (i[3456]-*-mingw32*): New target.
1742         * acinclude.m4 (BFD_BINARY_OPEN): Check for mingw32.
1743         * aclocal.m4, configure: Rebuild.
1744
1745 start-sanitize-sky
1746 Wed Jan 28 15:14:28 1998  Doug Evans  <devans@canuck.cygnus.com>
1747
1748         * config.bfd, configure.in: Add dvp support.
1749         * configure: Regenerate.
1750         * aclocal.m4: Regenerate.
1751         * archures.c, reloc.c, cpu-mips.c: Add dvp support.
1752         * bfd-in2.h, libbfd.h, libcoff.h: Regenerate.
1753
1754 end-sanitize-sky
1755 Wed Jan 28 13:41:26 1998  Ian Lance Taylor  <ian@cygnus.com>
1756
1757         * elf.c (_bfd_elf_close_and_cleanup): Only check the strtab if we
1758         have a bfd_object.
1759
1760 Tue Jan 27 21:43:55 1998  Richard Henderson  <rth@cygnus.com>
1761
1762         Sparc v9 ABI compliant PLT:
1763         * elf64-sparc.c (PLT_HEADER_SIZE): V9 ABI uses 4 entries.
1764         (plt_templates, sparc64_elf_build_plt_entry): Delete.
1765         (LARGE_PLT_THRESHOLD): New define.
1766         (GOT_RESERVED_ENTRIES): V9 ABI only uses 1.
1767         (sparc64_elf_build_plt): New function.
1768         (sparc64_elf_plt_entry_offset): Likewise.
1769         (sparc64_elf_plt_ptr_offset): Likewise.
1770         (sparc64_elf_adjust_dynamic_symbol): Change h->plt_offset to
1771         contain the index for convenience.  Skip the initial entries
1772         in .rela.plt.
1773         (sparc64_elf_size_dynamic_sections): Zero the allocated contents
1774         memory for the benefit of .rela.plt.
1775         (sparc64_elf_relocate_section): Call sparc64_elf_plt_entry_offset.
1776         (sparc64_elf_finish_dynamic_symbol): Kill template stuff.  Use
1777         sparc64_elf_plt_entry_offset & sparc64_elf_plt_ptr_offset for reloc.
1778         (sparc64_elf_finish_dynamic_sections): DT_PLTGOT points to .plt.
1779         Call sparc64_elf_build_plt.
1780         (elf_backend_want_got_plt): No.
1781         (elf_backend_plt_readonly): No.
1782         (elf_backend_plt_alignment): 8.
1783
1784         * elf.c (_bfd_elf_close_and_cleanup): New function; free the shstrtab.
1785         * elf-bfd.h (_bfd_elf_close_and_cleanup): Declare it.
1786         * elfxx-target.h (bfd_elfNN_close_and_cleanup): Arrange for it
1787         to be called.
1788
1789 Tue Jan 27 21:45:15 1998  Jeffrey A Law  (law@cygnus.com)
1790
1791         * archures.c (bfd_mach_mips*): Add definitions for various MIPS
1792         processors.
1793         * cpu-mips.c (arch_info_struct): Add mips variants.
1794         * bfd-in2.h: Rebuilt.
1795
1796 Tue Jan 27 15:06:04 1998  Nick Clifton  <nickc@cygnus.com>
1797
1798         * coff-arm.c (coff_arm_relocate_section): Preserve the contents of
1799         t2a3_b_insn.
1800
1801 Tue Jan 27 12:47:27 1998  Robert Lipe  <robertl@dgii.com>
1802
1803         * config.bfd (i[3456]86-sco3.2v5*): ELF now the default.
1804         (i[3456]86sco3.2v5*coff): New target.
1805
1806 Mon Jan 26 15:41:30 1998  Ian Lance Taylor  <ian@cygnus.com>
1807
1808         * bfd-in2.h: Rebuild with changes to chew--tab expansion.
1809
1810 Thu Jan 22 21:26:48 1998  Richard Henderson  <rth@cygnus.com>
1811
1812         * bfd.c (bfd_get_error_handler): Add orthogonal function.
1813         * bfd-in2.h: Regenerate.
1814
1815 Thu Jan 22 21:13:39 1998  Richard Henderson  <rth@cygnus.com>
1816
1817         * tekhex.c (tekhex_write_object_contents): Check for no symbols.
1818
1819 Wed Jan 21 21:19:03 1998  Ian Lance Taylor  <ian@cygnus.com>
1820
1821         * coff-i386.c (coff_i386_rtype_to_howto): If COFF_WITH_PE, don't
1822         adjust addend for an output common symbol (from Jimmy Blair
1823         <jimmyb@wrs.com>).  If COFF_WITH_PE, adjust addend for PC relative
1824         defined symbol to counteract adjustment made in generic relocation
1825         code.
1826
1827         * dwarf2.c: Include sysdep.h, not stdio.h and stdlib.h.
1828
1829 Wed Jan 21 21:16:06 1998  Manfred Hollstein  <manfred@s-direktnet.de>
1830
1831         * coff-m88k.c (GET_SCNDHR_NRELOC): Fix typo in macro name.
1832         (GET_SCNDHR_NLNNO): Likewise.
1833
1834 Mon Jan 19 12:49:52 1998  Ian Lance Taylor  <ian@cygnus.com>
1835
1836         * cpu-sh.c (arch_info_struct): Correct next field of sh3e.
1837
1838 Wed Jan 14 17:23:27 1998  Nick Clifton  <nickc@cygnus.com>
1839
1840         * elf32-m32r.c: Add macros to handle NOP insertion.
1841
1842 Wed Jan 14 16:15:22 1998  Richard Henderson  <rth@cygnus.com>
1843
1844         * xcofflink.c (xcoff_mark_symbol): Don't mark the absolute section.
1845         (xcoff_mark): Likewise.
1846         (xcoff_build_ldsyms): Mark absolute symbols.
1847
1848 Wed Jan 14 16:03:11 1998  Richard Henderson  <rth@cygnus.com>
1849
1850         * bout.c (b_out_write_object_contents): Sort symbols before output
1851         to keep {CALL,BAL}NAME symbols adjacent.
1852         (b_out_symbol_cmp): New function.
1853
1854 For older changes see ChangeLog-9697
1855 \f
1856 Local Variables:
1857 mode: change-log
1858 left-margin: 8
1859 fill-column: 74
1860 version-control: never
1861 End: