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