* aoutx.h (howto_table_ext): Change RELOC_BASE13 to use
[binutils-gdb.git] / bfd / ChangeLog
1 Fri Jun 5 18:09:58 1998 Ian Lance Taylor <ian@cygnus.com>
2
3 * aoutx.h (howto_table_ext): Change RELOC_BASE13 to use
4 complain_overflow_signed instead of complain_overflow_bitfield.
5
6 Fri Jun 5 15:11:11 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
7
8 * elf.c (elf_map_symbols): Don't add section VMA to symbol value
9 when comparing against 0.
10
11 Wed Jun 3 17:52:49 1998 Ian Lance Taylor <ian@cygnus.com>
12
13 * Makefile.am (config.status): New target.
14 * Makefile.in: Rebuild.
15
16 start-sanitize-sky
17 Wed Jun 3 11:39:57 1998 Doug Evans <devans@canuck.cygnus.com>
18
19 * elf32-mips.c (_bfd_mips_elf_fake_sections): Update to use
20 Elf32_Dvp_External_Overlay instead of 64 bit version.
21
22 end-sanitize-sky
23 Wed Jun 3 12:18:24 1998 Stan Cox <scox@equinox.cygnus.com>
24
25 * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Give an
26 error if previous object endianness doesn't match current object.
27
28 Tue Jun 2 17:50:59 1998 Nick Clifton <nickc@cygnus.com>
29
30 * elf32-v850.c (v850_elf_print_private_bfd_data): Call
31 _bfd_elf_print_private)bfd_data ().
32
33 Tue Jun 2 15:29:35 1998 Ian Lance Taylor <ian@cygnus.com>
34
35 * elflink.h (elf_merge_symbol): Don't always set type_change_ok
36 and size_change_ok.
37 (elf_link_add_object_symbols): Set type_change_ok and
38 size_change_ok before calling elf_merge_symbol.
39
40 * elf32-mips.c (mips_elf_relocate_section): If we issue an
41 undefined symbol error, don't also issue an overflow error.
42
43 Tue Jun 2 13:51:00 1998 Geoff Keating <geoffk@ozemail.com.au>
44
45 * elf32-ppc.c (ppc_elf_relocate_section): The target of an
46 R_PPC_LOCAL24PC relocation should be local; if not, print an error
47 message instead of crashing.
48
49 Mon Jun 1 18:23:12 1998 Yuli Barcohen <yuli.barcohen@telrad.co.il>
50
51 * archures.c (bfd_mach_cpu32): Define.
52 (bfd_default_scan): Add case for 68060. Fix 68332 case to use
53 bfd_mach_cpu32.
54 * cpu-m68k.c (arch_info_struct): Add m68k:cpu32.
55 * ieee.c: Include <ctype.h>.
56 (ieee_object_p): Parse out process ID string to make it more
57 likely to be acceptable for bfd_scan_arch.
58 * bfd-in2.h: Rebuild.
59
60 Mon Jun 1 11:12:02 1998 Nick Clifton <nickc@cygnus.com>
61
62 * elf32-m32r.c (m32r_elf_print_private_bfd_data): Also call
63 _bfd_elf_print_private_bfd_data() so that the program header will
64 be displayed.
65
66 Mon Jun 1 12:14:28 1998 Ian Lance Taylor <ian@cygnus.com>
67
68 * peicode.h (coff_swap_sym_in): Check for C_SECTION rather than
69 0x68. Reindent. Add some comments.
70
71 start-sanitize-sky
72 Sun May 31 16:11:22 1998 Doug Evans <devans@canuck.cygnus.com>
73
74 * elf32-mips.c (_bfd_mips_elf_final_write_processing): Set sh_link
75 field of .DVP.ovlytab to .DVP.ovlystrtab's section index.
76 (_bfd_mips_elf_section_from_shdr): Recognize SHT_DVP_OVERLAY_TABLE
77 and SHT_DVP_OVERLAY.
78 (_bfd_mips_elf_fake_sections): Ditto.
79
80 end-sanitize-sky
81 Fri May 29 09:58:08 1998 Nick Clifton <nickc@cygnus.com>
82
83 * elf.c (copy_private_bfd_data): Adjust physical address of
84 segment in output BFD to contain LMAs of its sections.
85
86 Tue May 26 19:37:47 1998 Stan Cox <scox@equinox.cygnus.com>
87
88 * elf32-sparc.c (_bfd_sparc_elf_howto_table, sparc_reloc_map,
89 elf32_sparc_relocate_section): Added R_SPARC_32LE for little
90 endian data 32 bit relocations.
91 (elf32_sparc_merge_private_bfd_data): Check if linking little
92 endian objects with big endian objects.
93 (elf32_sparc_object_p): Set bfd_mach_sparc_sparclite_le.
94 (elf32_sparc_final_write_processing): Set EF_SPARC_LEDATA in e_flags.
95 * libbfd.h (bfd_reloc_code_real_names): Added BFD_RELOC_SPARC_32LE.
96 * reloc.c: Same.
97 * cpu-sparc.c (arch_info_struct): Added sparc:sparclite_le
98 * archures.c (bfd_mach_sparc_sparclite_le): New.
99 * bfd-in2.h (BFD_RELOC_SPARC_32LE, bfd_mach_sparc_sparclite_le): New.
100
101 Thu May 21 16:59:28 1998 Nick Clifton <nickc@cygnus.com>
102
103 * peicode.h (add_data_entry): Fix precedence of operators in if ()
104 statement.
105
106 Tue May 19 18:41:19 1998 Ian Lance Taylor <ian@cygnus.com>
107
108 * bfd-in.h: Move over patch to bfd-in2.h.
109
110 * reloc.c (bfd_check_overflow): Add casts before shifts which may
111 not fit in 32 bits.
112 (_bfd_relocate_contents): Likewise.
113
114 Mon May 18 14:44:15 1998 Nick Clifton <nickc@cygnus.com>
115
116 * peicode.h (add_data_entry): If the section has no private data
117 then do not create a Data Dictionary entry for it.
118
119 Mon May 18 00:09:28 1998 Richard Henderson <rth@cygnus.com>
120
121 * elf64-alpha.c (elf64_alpha_relax_section): Set again on changes.
122 (elf64_alpha_can_merge_gots, elf64_alpha_merge_gots,
123 elf64_alpha_size_got_sections): Rewrite, handling multiple got
124 subsections during relaxation more correctly.
125
126 Thu May 14 14:22:58 1998 Nick Clifton <nickc@cygnus.com>
127
128 * bfd-in2.h: Add new prototype: bfd_coff_set_symbol_class ().
129 Add extra argument to bfd_arm_process_before_allocation ().
130 * bfd-in.h: Reflect changes made in bfd-in2.h.
131 * coffgen.c (bfd_coff_set_symbol_class): New function. Set the
132 coff class of a BFD symbol.
133 * coff-arm.c: Add support for interworking between Thumb code and
134 non-interworking aware ARM code.
135
136 Sun May 10 22:33:59 1998 Jeffrey A Law (law@cygnus.com)
137
138 * po/Make-in (install-info): New target.
139
140 Thu May 7 17:40:56 1998 Ian Lance Taylor <ian@cygnus.com>
141
142 * filemode.c: Remove; not used.
143
144 If sysdep.h includes a header file, don't include it again:
145 * aix386-core.c: Don't include <stdio.h>, <stddef.h>, or
146 <errno.h>.
147 * aoutx.h: Don't include <string.h>. Use "sysdep.h" rather than
148 <sysdep.h>.
149 * archive.c: Don't include <string.h> or <errno.h>.
150 * evax-alpha.c; Don't include <stdio.h>.
151 * evax-egsd.c: Likewise.
152 * evax-etir.c: Likewise.
153 * evax-misc.c: Likewise.
154 * evax-emh.c: Likewise. Also, don't include <sys/types.h>.
155 * hppabsd-core.c: Don't include <stdio.h>, <sys/types.h>, or
156 <errno.h>.
157 * hpux-core.c: Likewise.
158 * netbsd-core.c: Likewise.
159 * som.c: Likewise.
160 * libbfd.c: Don't include <sys/types.h>.
161 * nlmcode.h: Don't include <string.h>.
162 * osf-core.c: Don't include <string.h> or <stdio.h>.
163 * ptrace-core.c: Don't include <stdio.h>, <sys/types.h>,
164 <errno.h>, or <unistd.h>.
165 * trad-core.c: Don't include <stdio.h> or <sys/types.h>.
166
167 Thu May 7 13:12:50 1998 Klaus Kaempf <kkaempf@progis.de>
168
169 * configure.com: If the version number can not be found in
170 configure.in, set it to "unknown" rather than "2.8.1".
171
172 Wed May 6 09:46:05 1998 Gavin Koch <gavin@cygnus.com>
173
174 * elf32-mips.c (elf_mips_mach): New.
175 (_bfd_mips_elf_object_p): Use elf_mips_mach.
176 (_bfd_mips_elf_final_write_processing): Use the names
177 of machines, rather than the numbers. Set both the ARCH
178 and MACH in e_flags. Handle a few more specific machines.
179 (_bfd_mips_elf_merge_private_bfd_data): Merge both
180 EF_MIPS_ARCH and EF_MIPS_MACH.
181
182 Tue May 5 21:01:53 1998 Richard Henderson <rth@cygnus.com>
183
184 * syms.c (bfd_is_local_label): Revert last change.
185 * srec.c (srec_write_symbols): Discard debugging symbols.
186
187 Tue May 5 23:36:06 1998 Ian Lance Taylor <ian@cygnus.com>
188
189 * som.c: Include <ctype.h>.
190 * som.h: Don't include sysdep.h.
191
192 Tue May 5 18:29:24 1998 Tom Tromey <tromey@cygnus.com>
193
194 * libbfd.h: Rebuilt.
195 * libbfd-in.h: Removed gettext includes and defines.
196 * sysdep.h: Moved gettext-related includes and defines here.
197
198 Tue May 5 16:47:54 1998 Richard Henderson <rth@cygnus.com>
199
200 * srec.c (srec_write_symbols): Use bfd_is_local_label rather than
201 an ad-hoc test. Kill bogus #if 0 code.
202 * syms.c (bfd_is_local_label): Consider BSF_DEBUGGING symbols local.
203
204 Mon May 4 16:10:33 1998 Ian Lance Taylor <ian@cygnus.com>
205
206 * sunos.c (sunos_check_dynamic_reloc): Don't use the PLT address
207 when generating a normal executable for a symbol defined in a
208 regular file. When copying a reloc into the output file, adjust
209 the addend for a PC relative reloc against a global symbol.
210
211 Mon May 4 10:08:18 1998 Tom Tromey <tromey@cygnus.com>
212
213 * libbfd.h: Rebuilt.
214 * libbfd-in.h (_): Define as dgettext.
215
216 Mon May 4 11:02:23 1998 Ian Lance Taylor <ian@cygnus.com>
217
218 * coff-arm.c (coff_arm_relocate_section): Cast to bfd_signed_vma,
219 not signed.
220 * peicode.h (pe_saved_coff_bfd_print_private_bfd_data): Use PARAMS
221 when declaring parameter types.
222 (pe_saved_coff_bfd_copy_private_bfd_data): Likewise.
223
224 Wed Apr 29 15:35:03 1998 Ian Lance Taylor <ian@cygnus.com>
225
226 * config.bfd: If we include any ELF targets in targ_defvec and/or
227 targ_selvecs, then add the generic ELF targets to targ_selvecs.
228 * elf32-gen.c (dummy): New static const variable.
229 (elf_generic_info_to_howto): New static function.
230 (elf_generic_info_to_howto_rel): New static function.
231 (elf_info_to_howto): Define as elf_generic_info_to_howto.
232 (elf_info_to_howto_rel): Define as elf_generic_info_to_howto_rel.
233 * elf64-gen.c: Same changes as elf32-gen.c.
234 * elfcode.h (elf_object_p): For the generic target, ignore a
235 failure of bfd_default_set_arch_mach. Fix indentation a bit.
236
237 Tue Apr 28 20:05:52 1998 Ian Lance Taylor <ian@cygnus.com>
238
239 * configure.in (WIN32LIBADD): Add -lintl on cygwin32.
240 * configure: Rebuild.
241
242 Tue Apr 28 12:16:57 1998 Jason Molenda (crash@bugshack.cygnus.com)
243
244 * config.bfd: Update OSR5/Unixware patterns.
245
246 Mon Apr 27 18:02:24 1998 Richard Henderson <rth@cygnus.com>
247
248 * elf.c (assign_file_positions_for_segments): Allow for holes
249 between sections added by a link script.
250
251 Mon Apr 27 11:49:55 1998 Ian Lance Taylor <ian@cygnus.com>
252
253 * configure.in: Change version number to 2.9.4
254 * configure: Rebuild.
255
256 Based on patch from H.J. Lu <hjl@gnu.org>:
257 * elf.c (bfd_elf_get_bfd_needed_list): New function.
258 * bfd-in.h (bfd_elf_get_bfd_needed_list): Declare.
259 * bfd-in2.h: Rebuild.
260
261 Sat Apr 25 20:07:53 1998 Richard Henderson <rth@cygnus.com>
262
263 * elf64-alpha.c (struct alpha_relax_info): Replace elfsym with other.
264 Change all users.
265
266 Sat Apr 25 18:29:07 1998 Richard Henderson <rth@cygnus.com>
267
268 * elf64-alpha.c (struct alpha_relax_info): Add tsec & elfsym members.
269 (elf64_alpha_relax_section): Fill them in.
270 (elf64_alpha_relax_opt_call): Implement more than a stub.
271 (elf64_alpha_add_symbol_hook): Don't set SEC_LOAD or default
272 alignment on .scommon.
273 (elf64_alpha_merge_gots): Merge use counts as well.
274
275 Sat Apr 25 14:07:29 1998 Richard Henderson <rth@cygnus.com>
276
277 * elf64-alpha.c (elf64_alpha_relax_section): Use the proper section
278 for calculating a local symbol's address.
279 (elf64_alpha_calc_got_offsets): Skip entries with 0 use count.
280 Set the .got's cooked size as well as the raw size.
281
282 Fri Apr 24 09:16:00 1998 Nick Clifton <nickc@cygnus.com>
283
284 * elf32-v850.c (v850_elf_print_private_bfd_data): Add
285 internationalisation of printed information.
286
287 * coff-arm.c (coff_arm_print_private_bfd_data): Add
288 internationalisation of printed information.
289
290 Fri Apr 24 12:09:18 1998 Ian Lance Taylor <ian@cygnus.com>
291
292 * syms.c (struct indexentry): Change directory_name, file_name,
293 and function_name fields to char *.
294 (struct stab_find_info): Change cached_file_name field to char *.
295
296 Thu Apr 23 08:13:04 1998 Nick Clifton <nickc@cygnus.com>
297
298 * peicode.h (dir_names): Add missing N_() macros to dir_names array.
299
300 Wed Apr 22 13:06:15 1998 Tom Tromey <tromey@cygnus.com>
301
302 * po/Make-in (MKINSTALLDIRS): Don't look in $(top_srcdir).
303
304 Wed Apr 22 17:48:48 1998 Ian Lance Taylor <ian@cygnus.com>
305
306 * Makefile.am (install-data-local): Make $(includedir).
307 * Makefile.in: Rebuild.
308
309 Wed Apr 22 13:06:15 1998 Tom Tromey <tromey@cygnus.com>
310
311 * libbfd-in.h: Use `gettext' and not `dgettext' for now.
312
313 Wed Apr 22 12:53:40 1998 Ian Lance Taylor <ian@cygnus.com>
314
315 * Makefile.am (INCLUDES): Add -I$(srcdir)/../intl -I../intl.
316 * Makefile.in: Rebuild.
317
318 * bfd-in2.h: Rebuild for Nick's changes.
319
320 Tue Apr 21 23:11:51 1998 Richard Henderson <rth@cygnus.com>
321
322 * archive.c (_bfd_generic_read_ar_hdr_mag): Fix lossage in last
323 change wrt length == max_namelen.
324
325 Tue Apr 21 21:19:36 1998 Tom Tromey <tromey@scribbles.cygnus.com>
326
327 * Many files: Added gettext invocations around user-visible
328 strings.
329 * libbfd-in.h: Added gettext includes and defines.
330 * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_STPCPY,
331 HAVE_LC_MESSAGES): Define.
332 * configure.in: Call CY_GNU_GETTEXT. Create po/Makefile.in and
333 po/Makefile.
334 * Makefile.am (SUBDIRS): Added po.
335 (POTFILES): New macro.
336 (po/POTFILES.in): New target.
337 (SOURCE_HFILES): New macro.
338 (HFILES): Use it.
339 * po/Make-in, po/POTFILES.in, po/bfd.pot: New files.
340
341 Tue Apr 21 13:38:18 1998 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
342
343 * elfcore.h (bfd_prstatus): Copy core_prstatus from the first
344 NT_PRSTATUS note section encountered, it contains the status of
345 the currently executing thread when the core file was written.
346
347 Tue Apr 21 10:00:12 1998 Nick Clifton <nickc@cygnus.com>
348
349 * libcoff.h: Add extra parameter to
350 bfd_coff_link_output_has_begun overrideable function.
351 * cofflink.c: Pass extra parameter to
352 bfd_coff_link_output_has_begun function.
353 * bfd-in.h: Add prototypes for exported ARM interworking
354 functions.
355 * peicode.h: ARM specific code reorganised to conform to BFD
356 coding conventions.
357 * coffcode.h: ARM specific code reorganised to conform to BFD
358 coding conventions.
359 * coff-arm.c: Code reorganised to conform to the BFD coding
360 conventions. Global variables have been moved into an ARM
361 specific hash table structure and a new function:
362 bfd_arm_get_bfd_for_interworking() has been created which is
363 called from the linker scripts.
364
365 Tue Apr 21 00:11:51 1998 Richard Henderson <rth@cygnus.com>
366
367 * archive.c (_bfd_generic_read_ar_hdr_mag): Simplify end-of-name test.
368
369 * elf64-alpha.c (elf64_alpha_find_reloc_at_ofs): Renamed from
370 elf64_alpha_relax_find_reloc_ofs. Changed all callers.
371 (elf64_alpha_add_symbol_hook): Put small commons in .scommon not .sbss.
372 (elf64_alpha_size_got_sections): Don't merge .got sections twice.
373
374 Sat Apr 18 01:21:04 1998 Stan Cox <scox@cygnus.com>
375
376 * config.bfd: Added sparc86x support.
377
378 Fri Apr 17 22:29:04 1998 Ian Lance Taylor <ian@cygnus.com>
379
380 * elf32-mips.c (mips_elf_relocate_section): Do not complain about
381 an out of range pc-relative jump/call to an undefined weak symbol.
382
383 Thu Apr 16 13:49:00 1998 Richard Henderson <rth@cygnus.com>
384
385 * elf64-alpha.c (elf64_alpha_do_reloc_gpdisp): Do all gpdisp
386 comparisons signed.
387
388 Thu Apr 16 11:43:33 1998 Ian Lance Taylor <ian@cygnus.com>
389
390 * archive.c (bfd_generic_archive_p): If a slurp subroutine returns
391 an error other than bfd_error_system_call, set the error to
392 bfd_error_wrong_format.
393
394 * targets.c (bfd_target_vector) [SELECT_VECS not defined]: Add
395 bfd_elf32_powerpcle_vec.
396
397 * elf.c (copy_private_bfd_data): If all the p_paddr fields in the
398 program segments are zero, don't set p_paddr_valid.
399
400 Wed Apr 15 22:15:16 1998 Richard Henderson <rth@cygnus.com>
401
402 * elf64-alpha.c: Initial implementation of relaxation --
403 (struct alpha_elf_link_hash_entry): Add use_count member.
404 (elf64_alpha_check_relocs): Initialize and increment it.
405 (elf64_alpha_can_merge_gots): Check it when considering merging.
406 (elf64_alpha_merge_gots): Drop entries with zero use.
407 (elf64_alpha_calc_got_offsets_for_symbol): Likewise.
408 (elf64_alpha_always_size_sections): Split out got sizing ...
409 (elf64_alpha_size_got_sections): ... here. New function.
410 (elf64_alpha_relax_find_reloc_ofs): New function.
411 (elf64_alpha_relax_with_lituse): Likewise.
412 (elf64_alpha_relax_without_lituse): Likewise.
413 (elf64_alpha_relax_opt_call): Likewise.
414 (elf64_alpha_relax_section): Likewise.
415 (elf64_alpha_add_symbol_hook): Likewise.
416 (elf64_alpha_howto_table): Implement GPRELHIGH/LOW & IMMED_GP_16.
417 (elf64_alpha_relocate_section): Likewise.
418 (bfd_elf64_bfd_relax_section): Define.
419 (elf_backend_add_symbol_hook): Likewise.
420
421 Wed Apr 15 16:08:46 1998 Richard Henderson <rth@cygnus.com>
422
423 * elf.c (prep_headers): Use new EM_SPARCV9 symbol.
424 * elf64-sparc.c (ELF_MACHINE_CODE): Likewise.
425 (ELF_MACHINE_ALT1): New. Set to EM_OLD_SPARC64.
426
427 Wed Apr 15 11:34:33 1998 Ian Lance Taylor <ian@cygnus.com>
428
429 * configure.in: Add -lkernel32 to WIN32LIBADD on cygwin32.
430 * configure: Rebuild.
431
432 Mon Apr 13 16:46:27 1998 Ian Lance Taylor <ian@cygnus.com>
433
434 * Makefile.am (libbfd_la_LIBADD): Add @WIN32LIBADD@.
435 (libbfd_la_LDFLAGS): Add @WIN32LDFLAGS@.
436 * configure.in: Define and substitute WIN32LDFLAGS and
437 WIN32LIBADD.
438 * aclocal.m4: Rebuild with new libtool.
439 * configure, Makefile.in: Rebuild.
440
441 Fri Apr 10 13:44:27 1998 Ian Lance Taylor <ian@cygnus.com>
442
443 * coffcode.h (coff_write_object_contents): Move a PE COMDAT symbol
444 before any other symbols in the same section.
445
446 Wed Apr 8 14:50:23 1998 Michael Meissner <meissner@cygnus.com>
447
448 * config.bfd (powerpc*-*-*): Remove PowerPC NT support from ELF
449 systems.
450
451 Tue Apr 7 16:25:31 1998 Gavin Romig-Koch <gavin@cygnus.com>
452
453 * dwarf2.c (comp_unit): Move it earlier in the source. Add
454 addr_size.
455 (read_address): Replace 'bdf*' argument with 'comp_unit*' argument.
456 Use addr_size for address size, rather than sizeof(bfd_vma).
457 (read_attribute): Replace bdf* argument with 'comp_unit*' argument.
458 Fix call to read_address.
459 (decode_line_info): Replace bdf* argument with 'comp_unit*' argument.
460 Scrap other unneeded arguments. Fix call to read_address.
461 (scan_unit_for_functions): Fix call to read_attribute.
462 (parse_comp_unit): We now handle more values for addr_size.
463 Set addr_size in unit. Fix call to read_attribute and
464 decode_line_info.
465
466 Tue Apr 7 15:44:47 1998 Gavin Romig-Koch <gavin@cygnus.com>
467
468 * dwarf2.c (parse_comp_unit): Drop use of unit->name when it is null.
469
470 Tue Apr 7 12:35:18 1998 Ian Lance Taylor <ian@cygnus.com>
471
472 * archures.c (bfd_default_scan): Add m68k cases back to default
473 switch, reverting patch of March 25, since IEEE support depends
474 upon them.
475
476 Mon Apr 6 14:06:40 1998 Ian Lance Taylor <ian@cygnus.com>
477
478 * Makefile.am (diststuff): New target.
479 * Makefile.in: Rebuild.
480
481 Sun Apr 5 16:21:44 1998 Jeffrey A Law (law@cygnus.com)
482
483 * som.c (som_bfd_ar_write_symbol_stuff): Fix computation of
484 som_offset when we have an extended name table.
485
486 Sun Apr 5 16:04:39 1998 H.J. Lu <hjl@gnu.org>
487
488 * Makefile.am (stamp-lib): Check that .libs/libbfd.a exists before
489 trying to copy it.
490 * Makefile.in: Rebuild.
491
492 Fri Apr 3 11:09:42 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
493
494 * elf32-m68k.c (elf_m68k_size_dynamic_sections): Generate section
495 symbols when creating a shared library.
496 (elf_m68k_adjust_dynindx): New function, used by above code.
497 (elf_m68k_finish_dynamic_sections): Initialize the section
498 symbols.
499 (elf_m68k_relocate_section): Change abort to BFD_ASSERT.
500
501 Wed Apr 1 16:04:02 1998 Nick Clifton <nickc@cygnus.com>
502
503 * coff-arm.c (in_reloc_p): Use ARM_RVA32 in place of constant
504 value 11.
505
506 Wed Apr 1 13:36:58 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
507
508 * elf32-m68k.c (elf_m68k_relocate_section, case R_68K_PLT*O): Fix
509 assertion.
510
511 Tue Mar 31 00:12:12 1998 Jeffrey A Law (law@cygnus.com)
512
513 * elf-m10300.c (mn10300_elf_relax_section): Correctly handle
514 absolute symbols.
515
516 Mon Mar 30 12:46:15 1998 Ian Lance Taylor <ian@cygnus.com>
517
518 * configure.in: Set version to 2.9.1.
519 * configure: Rebuild.
520
521 * Branched binutils 2.9.
522
523 Mon Mar 30 12:20:50 1998 Brent Baccala <baccala@freesoft.org>
524
525 * syms.c (ENABLE_CACHING): Define.
526 (struct indexentry): Define.
527 (struct stab_cache): Remove.
528 (cmpindexentry): New static function.
529 (struct stab_find_info): Add new fields: indextable,
530 indextablesize, cached_indexentry, cached_offset, cached_stab, and
531 cached_file_name. Remove fields: file_cache, function_cache, and
532 line_cache.
533 (_bfd_stab_section_find_nearest_line): Rewrite to build a sorted
534 index table and search it.
535
536 Mon Mar 30 10:39:34 1998 Ian Lance Taylor <ian@cygnus.com>
537
538 * elf.c (_bfd_elf_copy_private_section_data): Call
539 copy_private_bfd_data once we've seen the last SEC_ALLOC section.
540
541 * cpu-mips.c: Remove trailing comma at end of enumeration list.
542
543 Sat Mar 28 16:33:02 1998 Ian Lance Taylor <ian@cygnus.com>
544
545 * coff-arm.c: Define all globally visible variables and functions
546 only when COFF_WITH_PE is not defined.
547 * configure.in (armpe_little_vec, armpe_big_vec): Add
548 coff-arm.lo.
549 * configure: Rebuild.
550
551 Fri Mar 27 16:06:02 1998 Ian Lance Taylor <ian@cygnus.com>
552
553 Fix some gcc -Wall warnings:
554 * aout-arm.c (MY(fix_pcrel_26)): Add casts to avoid warnings.
555 * archive.c (_bfd_generic_read_ar_hdr_mag): Likewise.
556 * archures.c (bfd_default_scan): Likewise.
557 * bfd.c (bfd_scan_vma): Likewise.
558 * binary.c (mangle_name): Likewise
559 * coff-arm.c (aoutarm_fix_pcrel_26): Likewise.
560 * coff-sh.c (sh_relocate_section): Likewise.
561 * coff-stgo32.c (create_go32_stub): Likewise.
562 * coffcode.h (coff_slurp_line_table): Likewise.
563 * ecoff.c (_bfd_ecoff_write_armap): Likewise.
564 * elf.c (_bfd_elf_make_section_from_shdr): Likewise.
565 (assign_file_positions_for_segments): Likewise.
566 * elf32-mips.c (mips_elf_relocate_section): Likewise.
567 * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
568 * oasys.c (oasys_write_sections): Likewise.
569 * ppcboot.c (ppcboot_object_p): Likewise.
570 (mangle_name): Likewise.
571 * riscix.c (riscix_fix_pcrel_26): Likewise.
572 * srec.c (srec_scan): Likewise.
573 * stabs.c (_bfd_write_section_stabs): Likewise.
574 * sunos.c (sunos_add_dynamic_symbols): Likewise.
575 * aout-ns32k.c (_bfd_ns32k_relocate_contents): Add default case to
576 switch. Declare parameters for function pointers.
577 * archures.c (bfd_default_scan): Add braces to avoid ambiguous if
578 warning.
579 * elf.c (elf_sort_sections): Likewise.
580 * coff-arm.c (coff_thumb_pcrel_common): Initialize relocation.
581 Add default cases to switches.
582 (coff_arm_relocate_section): Remove unused local variables.
583 Always set rstat.
584 (coff_arm_bfd_set_private_flags): Change flag variable to type
585 flagword.
586 * coff-mips.c (mips_relocate_section): Initialize use_lo.
587 * coff-ppc.c (ppc_record_toc_entry): Change i to unsigned int.
588 (dump_toc): Change cat to const, and initialize it.
589 * coff-sh.c (sh_relax_delete_bytes): Initialize start and voff.
590 * elf32-sh.c (sh_elf_relax_delete_bytes): Likewise.
591 (sh_elf_relocate_section): Initialize r_symndx.
592 * coffcode.h (coff_compute_section_file_positions): Only declare
593 old_sofar if ALIGN_SECTIONS_IN_FILE.
594 (coff_write_object_contents): Initialize csym.
595 * coffgen.c (coff_pointerize_aux): Make type and class unsigned.
596 * cpu-ns32k.c (_bfd_ns32k_get_displacement): Add default case to
597 switch.
598 * dwarf2.c: Include libiberty.h.
599 (read_2_signed_bytes, read_4_signed_bytes): Comment out.
600 (decode_line_info): Remove unused local variables.
601 * elf32-m32r.c (m32r_elf_sda16_reloc): Likewise.
602 (m32r_elf_relocate_section): Likewise.
603 * elf32-v850.c (v850_elf_store_addend_in_insn): Likewise.
604 (v850_elf_reloc): Likewise.
605 * elf-bfd.h (elf_linker_section_t): Make alignment unsigned.
606 (struct elf_obj_tdata): Make cverdefs and cverrefs unsigned.
607 * elf.c (assign_file_positions_for_segments): Always set adjust.
608 start-sanitize-d30v
609 * elf32-d30v.c (bfd_elf_d30v_reloc): Initialize tmp_addr. Fully
610 parenthesize expression.
611 end-sanitize-d30v
612 * elf32-m32r.c (m32r_elf_relocate_section): Always initialize h.
613 (m32r_elf_object_p): Return a value.
614 (m32r_elf_print_private_bfd_data): Change fprintf format string.
615 * elf32-mips.c (mips_elf_final_link): Initialize last.
616 (mips_elf_finish_dynamic_sections): Initialize last and dindx.
617 * elf32-v850.c (v850_elf_object_p): Return a value.
618 (v850_elf_print_private_bfd_data): Change fprintf format string.
619 * elfcode.h (elf_slurp_symbol_table): Change symcount and i to
620 unsigned long.
621 * elflink.h (elf_link_add_object_symbols): Change vernum to
622 unsigned int, and initialize it. Change fprintf format string.
623 (NAME(bfd_elf,size_dynamic_sections)): Cast -1 to bfd_size_type
624 when setting or comparing to soname_indx.
625 (elf_create_pointer_linker_section): Change num_symbols to
626 unsigned int.
627 * libcoff-in.h (coff_data_type): Change flags to flagword.
628 * peicode.h (pe_print_idata): Initialize idx. Change j to
629 bfd_size_type. Initialize hint_member. Remove useless test to
630 time_stamp.
631 (pe_print_edata): Change num_functions and num_names in struct
632 EDT_type to unsigned long. Remove cast. Change fprintf format
633 string.
634 * ppcboot.c (ppcboot_object_p): Change i to size_t.
635 * reloc.c (bfd_get_reloc_size): Change return type to unsigned
636 int.
637 * reloc16.c (bfd_coff_reloc16_relax_section): Change shrinks to
638 int *. Update uses. Change j to long.
639 * bfd-in2.h, libcoff.h: Rebuild.
640
641 Fri Mar 27 10:10:46 1998 Catherine Moore <clm@cygnus.com>
642
643 * elf32-v850.c Remove definition of USE_REL.
644 (v850_elf_info_to_howto_rela): New function.
645 (v850_elf_perform_relocation): Renamed from
646 v850_elf_store_addend_in_insn. Removed replace argument.
647 (v850_elf_reloc): store the relocation in the addend field instead
648 of the insn.
649 (v850_elf_final_link_relocate): Now calls
650 v850_elf_perform_relocation.
651 (v850_elf_relocate_section): Remove code to generate REL
652 relocations.
653
654 Thu Mar 26 13:32:17 1998 Ian Lance Taylor <ian@cygnus.com>
655
656 * coffcode.h (coff_new_section_hook): Set the type and storage
657 class in the native symbol information allocated for a new section
658 symbol.
659
660 Thu Mar 26 10:13:41 1998 Nick Clifton <nickc@cygnus.com>
661
662 * peicode.h: Chain together calls to
663 coff_bfd_copy_private_bfd_data and
664 coff_bfd_print_private_bfd_data.
665
666 * coff-arm.c: Add prototypes for
667 coff_arm_bfd_print_private_bfd_data and
668 coff_arm_bfd_copy_private_bfd_data.
669
670 Wed Mar 25 15:45:55 1998 Nick Clifton <nickc@cygnus.com>
671
672 * coffcode.h (coff_mkobject_hook): Set private falgs even for a PE
673 build.
674
675 * peicode.h: Call arm-coff private data functions after handling
676 pe private data.
677
678 * coff-arm.c: Turn statics into globals so that they can be shared
679 both pe and pei backends.
680
681 Wed Mar 25 15:19:38 1998 Ian Lance Taylor <ian@cygnus.com>
682
683 * aoutf1.h (sunos_set_arch_mach): Use bfd_mach_m68* rather than
684 plain numbers.
685 (sunos_write_object_contents): Likewise.
686 * aoutx.h (NAME(aout,machine_type)): Likewise.
687 * coffcode.h (coff_set_arch_mach_hook): Likewise.
688
689 Wed Mar 25 13:59:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
690
691 * archures.c (bfd_mach_m68*): Add definitions for various m68k
692 variants.
693 (bfd_default_scan): Remove m68k special cases.
694 * bfd-in2.h: Rebuild.
695 * mipsbsd.c (MY(write_object_contents)): Use bfd_mach_m68* rather
696 than plain numbers.
697 * sparclynx.c (NAME(lynx,set_arch_mach)): Likewise.
698 * cpu-m68k.c (arch_info_struct): Likewise. Add entry for
699 m68k:68000.
700 (bfd_m68k_arch): Set mach field to zero to signal no explicit
701 selection, change printable_name to just "m68k" and make that the
702 default instead of m68k:68020.
703
704 * aout-tic30.c (NAME): Define this to avoid multiple definitions
705 from aoutx.h.
706 (MY_get_section_contents): Define as aout_32_get_section_contents
707 rather than NAME(aout,get_section_contents).
708
709 * elf-m10300.c (elf32_mn10300_link_hash_table_create): Fix cast.
710
711 * evax-alpha.c (evax_set_arch_mach): Only accept bfd_arch_alpha
712 and call bfd_default_set_arch_mach to do the real work.
713
714 Wed Mar 25 10:41:35 1998 Richard Henderson <rth@cygnus.com>
715
716 * bout.c (BALX): Include return register g14 as part of the insn.
717 (BALX_MASK): New.
718 (calljx_callback): Use it.
719
720 Wed Mar 25 11:19:28 1998 Ian Lance Taylor <ian@cygnus.com>
721
722 * libbfd-in.h (BFD_ALIGN): Cast this parameter to bfd_vma.
723 * libbfd.h: Rebuild.
724
725 * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Change
726 byte_count to unsigned int.
727 (mn10300_elf_relax_section): Initialize internal_relocs. Remove
728 unused local variables.
729
730 * evax-alpha.c (evax_close_and_cleanup): Remove unused local
731 variables er and er1.
732
733 * cpu-v850.c: Include <ctype.h>.
734 (scan): Case isdigit argument to unsigned char.
735
736 From Yan Meroth <YAN.MEROTH@st.com>:
737 * ihex.c (ihex_scan): Add extbase variable so that getting an
738 extended linear address record does not ignore any previous
739 extended address.
740 (ihex_write_object_contents): When writing out an extended linear
741 address record, zero out any previous extended address.
742
743 Tue Mar 24 16:09:43 1998 Manfred Hollstein <manfred@s-direktnet.de>
744
745 * ieee.c (do_one): Check section before dereferencing it.
746 (ieee_canonicalize_reloc): Likewise with src->relent.sym_ptr_ptr.
747 (ieee_generic_stat_arch_elt): Likewise with abfd->my_archive.
748
749 Mon Mar 23 18:51:47 1998 Joel Sherrill <joel@OARcorp.com>
750
751 * config.bfd: (sh*-*-rtems*): Switched from ELF to COFF.
752
753 Mon Mar 23 14:23:36 1998 Nick Clifton <nickc@cygnus.com>
754
755 * coff-arm.c: Add interworking functions to pe backends.
756
757 start-sanitize-r5900
758 Sun Mar 22 13:05:08 1998 Jeffrey A Law (law@cygnus.com)
759
760 * elf32-mips.c (R_MIPS15_S3): New relocation type.
761 (elf_mips_howto_table): Add R_MIPS15_S3.
762 (mips_reloc_map): Map BFD_RELOC_MIPS15_S3 to R_MIPS15_S3.
763 * reloc.c (BFD_RELOC_MIPS15_S3): New relocation type.
764 * bfd-in2.h, libbfd.h: Rebuilt.
765
766 end-sanitize-r5900
767 Fri Mar 20 18:47:20 1998 Ian Lance Taylor <ian@cygnus.com>
768
769 * configure.in: Use AM_DISABLE_SHARED.
770 * aclocal.m4, configure: Rebuild with libtool 1.2.
771
772 Fri Mar 20 11:25:41 1998 Nick Clifton <nickc@cygnus.com>
773
774 * coff-arm.c (coff_arm_relocate_section): Better error messages
775 when interowrking conflucts occur. Courtesy of Jonathan Walton
776 and Tony Thompson.
777 (aoutarm_std_reloc_howto): Fixed bitsize fields of rightshifted
778 relocations. Patch courtesy of Jonathan Walton and Tony
779 Thompson.
780
781 Fri Mar 20 02:26:43 1998 Richard Henderson <rth@cygnus.com>
782
783 * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Revert
784 part of Feb 22 change controling when to override the existing
785 symbol with the .plt entry.
786
787 Wed Mar 18 09:26:25 1998 Nick Clifton <nickc@cygnus.com>
788
789 * config.bfd (targ_cpu): Add thumb-pe target.
790
791 * coffcode.h (OTHER_GLOBAL_CLASS): Support thumb external
792 functions in PE build.
793
794 Sun Mar 8 23:37:26 1998 Stan Cox <scox@equinox.cygnus.com>
795
796 * config.bfd (sparclite-*-elf*): Added.
797
798 start-sanitize-vr4320
799 Tue Mar 3 11:24:05 1998 Gavin Koch <gavin@cygnus.com>
800
801 * mips-cpu.c: Reorganize sanitization.
802
803 * archures.c, bfd-in2.h, mips-cpu.c : Added bfd_mach_mips4320.
804
805 end-sanitize-vr4320
806 Mon Feb 23 19:31:19 1998 Ian Lance Taylor <ian@cygnus.com>
807
808 * configure.in: Add elf.lo to elf shell variable.
809 * Makefile.am (BFD_LIBS): Remove elf.lo.
810 (BFD_LIBS_CFILES): Remove elf.c.
811 (BFD32_BACKENDS): Add elf.lo.
812 (BFD32_BACKENDS_CFILES): Add elf.c.
813 * configure, Makefile.in: Rebuild.
814
815 1998-02-23 15:53 Richard Henderson <rth@cygnus.com>
816
817 * elf32-i386.c (elf_i386_relocate_section): A pc-relative
818 relocation against a now-local symbol should not have a dynamic
819 relocation.
820
821 Mon Feb 23 16:17:08 1998 Ian Lance Taylor <ian@cygnus.com>
822
823 * peicode.h (coff_swap_filehdr_in): Don't set BFD flag HAS_SYMS in
824 COFF filehdr flags.
825 (pe_print_private_bfd_data): Print PE flags. From Mikey
826 <jeffdb@netzone.com>.
827
828 Sun Feb 22 20:39:00 1998 Richard Henderson <rth@cygnus.com>
829
830 * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Don't create
831 a plt entry when we can determine that we authoritatively define
832 the symbol.
833
834 Sun Feb 22 20:33:05 1998 Richard Henderson <rth@cygnus.com>
835
836 * configure.in (COREFILE selection): Remove sparc-*-linux*. They
837 don't actually use trad-core, but a SunOS-style core file handled
838 by gdb directly.
839 * hosts/sparclinux.h: Remove.
840
841 start-sanitize-sky
842 Thu Feb 19 02:38:52 1998 Doug Evans <devans@charmed.cygnus.com>
843
844 * reloc.c (BFD_RELOC_MIPS_DVP_27_S4): New reloc type.
845 * elf32-mips.c (enum reloc_type): Add R_MIPS_DVP_27_S4.
846 (elf_mips_dvp_27_s4_howto): Describe it.
847 (bfd_elf32_bfd_reloc_type_lookup): Handle it.
848 (mips_info_to_how_rel): Handle it.
849 (mips_elf_relocate_section): Handle it.
850 * bfd-in2.h,libbfd.h: Regenerate.
851
852 end-sanitize-sky
853 Wed Feb 18 15:31:06 1998 Ian Lance Taylor <ian@cygnus.com>
854
855 * peicode.h (pe_print_idata): If there is no .idata section, look
856 for the import tables in some other section. Make the initial
857 label line up better with the data. Print the import address
858 table even if there is no import name table. If the import
859 address table holds actual addresses, print them.
860
861 start-sanitize-sky
862 Tue Feb 17 20:00:26 1998 Doug Evans <devans@canuck.cygnus.com>
863
864 * config.bfd (targ_archs): If mips64r5900-sky-elf, add bfd_dvp_arch.
865
866 end-sanitize-sky
867 Tue Feb 17 12:58:34 1998 Ian Lance Taylor <ian@cygnus.com>
868
869 * libbfd.c (bfd_seek): If fseek fails, save errno around call to
870 bfd_tell. If errno is EINVAL, set bfd_error_file_truncated, not
871 bfd_error_system_call.
872
873 Fri Feb 13 13:11:33 1998 Ian Lance Taylor <ian@cygnus.com>
874
875 * Makefile.am (AUTOMAKE_OPTIONS): Define.
876 * configure, Makefile.in, aclocal.m4: Rebuild with automake 1.2e.
877
878 From H.J. Lu <hjl@gnu.org>:
879 * Makefile.am (libbfd_la_LDFLAGS): Define.
880 * Makefile.in: Rebuild.
881
882 Thu Feb 12 17:31:11 1998 Ian Lance Taylor <ian@cygnus.com>
883
884 NetBSD patches from Gordon W. Ross <gwr@mc.com>:
885 * netbsd.h (MACHTYPE_OK): Define.
886 (MY(write_object_contents)): Use DEFAULT_ARCH and DEFAULT_MID when
887 calling N_SET_MACHTYPE, rather than having a switch.
888 * libaout.h (enum machine_type): Add M_PMAX_NETBSD, M_VAX_NETBSD,
889 and M_ALPHA_NETBSD.
890 * i386netbsd.c (MACHTYPE_OK): Don't define.
891 (DEFAULT_MID): Define.
892 * m68k4knetbsd.c (SEGMENT_SIZE): Don't define.
893 (MACHTYPE_OK): Don't define.
894 (DEFAULT_MID): Define.
895 * m68knetbsd.c: (MACHTYPE_OK): Don't define.
896 (DEFAULT_MID): Define.
897 * ns32knetbsd.c (MACHTYPE_OK): Don't define.
898 (DEFAULT_MID): Define.
899 * sparcnetbsd.c (MACHTYPE_OK): Don't define.
900 (DEFAULT_MID): Define.
901
902 NetBSD patches from Gordon W. Ross <gwr@mc.com>:
903 * vaxnetbsd.c: New file.
904 * netbsd-core.c: Clean up. Remove unused macros. Use netbsd
905 rather than netbsd_core.
906 * targets.c (vaxnetbsd_vec): Declare.
907 (bfd_target_vector): Add vaxnetbsd_vec. If NETBSD_CORE is
908 defined, add netbsd_core_vec.
909 * configure.in: Set COREFILE for alpha*-*-netbsd* and
910 powerpc-*-netbsd* to netbsd-core.lo. If COREFILE is
911 netbsd-core.lo, set COREFLAG to -DNETBSD_CORE.
912 * config.bfd (alpha*-*-netbsd*): New target.
913 * Makefile.am: Rebuild dependencies.
914 (BFD32_BACKENDS): Add vaxnetbsd.lo.
915 (BFD32_BACKENDS_CFILES): Add vaxnetbsd.c.
916 * configure, Makefile.in: Rebuild.
917
918 * configure.host: Remove the old shared library build stuff. We
919 now use libtool instead.
920
921 Wed Feb 11 17:13:09 1998 Richard Henderson <rth@cygnus.com>
922
923 * tekhex.c (tekhex_write_object_contents): Call tekhex_init.
924
925 Tue Feb 10 19:23:28 1998 H.J. Lu <hjl@gnu.org>
926
927 * configure.in: Take stab-syms.lo out of sparclinux_vec list.
928 * configure: Rebuild.
929
930 Tue Feb 10 15:16:38 1998 Nick Clifton <nickc@cygnus.com>
931 start-sanitize-m32rx
932 * elf32-m32r.c (m32r_elf_merge_private_bfd_data): Do not complain
933 when merging m32r BFDs into m32rx BFDs.
934 end-sanitize-m32rx
935 * elf32-v850.c (remember_hi16s_reloc): New function.
936 (find_remembered_hi16s_reloc): New function.
937 (v850_elf_store_addend_in_insn): Use the above new functions to
938 match up HI6S relocs with LO16 relocs.
939
940 start-sanitize-sky
941 Tue Feb 10 13:25:14 1998 Doug Evans <devans@canuck.cygnus.com>
942
943 * archures.c (bfd_mach_dvp_{vif,gif}): Renamed from ..._{pke,gpuif}.
944 (bfd_txvu_arch): Delete.
945 * cpu-mips.c (arch_info_struct): dvp:{vif,gif} renamed from
946 dvp:{pke,gpuif}.
947 * bfd-in2.h: Regenerate.
948
949 end-sanitize-sky
950 Tue Feb 10 15:01:39 1998 Ian Lance Taylor <ian@cygnus.com>
951
952 * configure.in: Change -linux* to -linux-gnu*.
953 * config.bfd, configure.host: Likewise.
954 * configure: Rebuild.
955
956 Mon Feb 9 19:40:59 1998 Nick Clifton <nickc@cygnus.com>
957
958 * elf32-v850.c (v850_elf_store_addend_in_insn): Fix another
959 LO16/HI16S bug and improve comments about what is going on.
960
961 Sat Feb 7 15:27:03 1998 Ian Lance Taylor <ian@cygnus.com>
962
963 * configure, aclocal.m4: Rebuild with new libtool.
964
965 start-sanitize-v850e
966 Fri Feb 6 14:48:20 1998 Nick Clifton <nickc@cygnus.com>
967
968 * elf32-v850.c (v850_elf_merge_private_bfd_data): Do not complain
969 when merging v850 code into v850e/v850ea code. Do not initialise
970 output flags if the input is the default architecture.
971 end-sanitize-v850e
972 Fri Feb 6 11:50:22 1998 Jeffrey A Law (law@cygnus.com)
973
974 start-sanitize-r5900
975 * cpu-mips.c (arch_info_struct): Make r5900 pointer size 32bits.
976 end-sanitize-r5900
977 * elf32-mips.c (bfd_elf32_bfd_reloc_type_lookup): For BFD_RELOC_CTOR
978 get the size from bfd_arch_bits_per_address instead of directly
979 from the isa.
980
981 Thu Feb 5 14:21:34 1998 Michael Meissner <meissner@cygnus.com>
982
983 * libbfd-in.h (BFD_ALIGN): If rounding up would cause the address
984 to wrap, just return all 1's bits instead.
985 * libbfd.h: Regenerate.
986
987 Thu Feb 5 11:51:05 1998 Ian Lance Taylor <ian@cygnus.com>
988
989 * coff-i386.c (coff_pe_i386_relocate_section): New static function
990 if COFF_WITH_PE.
991 (coff_relocate_section): If COFF_WITH_PE, define as
992 coff_pe_i386_relocate_section.
993 * coffcode.h (coff_write_object_contents): If COFF_IMAGE_WITH_PE,
994 skip empty sections, to match coff_write_object_contents.
995
996 * elf64-mips.c (mips_elf64_swap_reloca_out): Swap out r_addend,
997 rather than swapping out r_offset twice. From Luke Deller
998 <luked@cse.unsw.edu.au>.
999
1000 Wed Feb 4 19:11:28 1998 Ian Lance Taylor <ian@cygnus.com>
1001
1002 * configure.in: Set libtool_enable_shared rather than
1003 libtool_shared. Remove diversion hack.
1004 * configure, Makefile.in, doc/Makefile.in, aclocal.m4: Rebuild
1005 with new libtool.
1006
1007 Wed Feb 4 16:10:21 1998 Brent Baccala <baccala@freesoft.org>
1008
1009 * syms.c (struct stab_cache): Define.
1010 (struct stab_find_info): Remove cached_offset, cached_stab,
1011 cached_str, and cached_stroff fields. Add file_cache,
1012 function_cache, and line_cache fields.
1013 (_bfd_stab_section_find_nearest_line): Use extensive caching to
1014 speed up searches.
1015
1016 Wed Feb 4 13:34:22 1998 Ian Lance Taylor <ian@cygnus.com>
1017
1018 * peicode.h (pe_print_idata): Check for import of ordinal rather
1019 than name.
1020 (pe_print_edata): If there is no .edata section, look for the
1021 export data in some other section.
1022
1023 Mon Feb 2 20:05:42 1998 Jason Molenda (crash@bugshack.cygnus.com)
1024
1025 * configure.in: Change version to 2.8.4.
1026 * configure: Regenerated.
1027
1028 Mon Feb 2 17:39:39 1998 Steve Haworth <steve@pm.cse.rmit.EDU.AU>
1029
1030 Add tms320c30 support:
1031 * cpu-tic30.c: New file.
1032 * aout-tic30.c: New file.
1033 * coff-tic30.c: New file.
1034 * archures.c (bfd_arch_tic30): Define.
1035 (bfd_tic30_arch): Declare.
1036 (bfd_archures_list): Add bfd_tic30_arch.
1037 * targets.c (bfd_target_vector): Add tic30_aout_vec and
1038 tic30_coff_vec.
1039 * reloc.c (BFD_RELOC_TIC30_LDP): Define.
1040 * coffcode.h (coff_set_arch_mach_hook): Add tic30 case.
1041 (coff_set_flags): Likewise.
1042 * config.bfd (tic30-*-*aout*, tic30-*-*coff*): New targets.
1043 * configure.in (tic30_aout_vec, tic30_coff_vec): New vectors.
1044 * Makefile.am: Rebuild dependencies.
1045 (ALL_MACHINES): Add cpu-tic30.lo.
1046 (ALL_MACHINES_CFILES): Add cpu-tic30.c.
1047 (BFD32_BACKENDS): Add aout-tic30.lo and coff-tic30.lo.
1048 (BFD32_BACKENDS_CFILES): Add aout-tic30.c and coff-tic30.c.
1049 * configure, Makefile.in, bfd-in2.h, libbfd.h: Rebuild.
1050
1051 Mon Feb 2 12:25:12 1998 Nick Clifton <nickc@cygnus.com>
1052
1053 * elf32-v850.c (v850_elf_store_addend_in_insn): Allow HI16_S reloc
1054 to lag behind LO16 reloc by a couple of instructions.
1055
1056 Mon Feb 2 14:09:46 1998 Ian Lance Taylor <ian@cygnus.com>
1057
1058 * Makefile.am ($(srcdir)/bfd-in2.h): Add dummy command to force
1059 make to reexamine the file timestamp.
1060 ($(srcdir)/libbfd.h, $(srcddir)/libcoff.h): Likewise.
1061
1062 * elf64-alpha.c (ELF_MAXPAGESIZE): Change to 0x10000 from
1063 0x100000.
1064
1065 start-sanitize-sky
1066 Fri Jan 30 17:48:17 1998 Doug Evans <devans@canuck.cygnus.com>
1067
1068 * elf32-mips.c (elf_mips_dvp_11_pcrel_howto): Set pcrel_offset=true
1069 and partial_inplace=false.
1070 (mips_elf_relocate_section): Recognize R_MIPS_DVP_11_PCREL.
1071
1072 end-sanitize-sky
1073 Fri Jan 30 19:07:07 1998 Geoff Keating <geoffk@ozemail.com.au>
1074
1075 * elf32-ppc.c (ppc_elf_create_dynamic_sections): New procedure
1076 to create .dynsbss and .rela.sbss sections.
1077 (ppc_elf_adjust_dynamic_symbol): Put space for small data to be
1078 copied from dynamic objects into .sbss.
1079 (ppc_elf_size_dynamic_sections): Strip .rela.sbss if we don't
1080 use it. Correct typo of .rela.sdata2.
1081 (ppc_elf_finish_dynamic_symbol): Generate reloc to where we
1082 put the data, which may now be in .sbss.
1083 (ppc_elf_relocate_section): A SDAREL16 reloc can be in dynsbss.
1084 (elf_backend_create_dynamic_sections): Define as
1085 ppc_elf_create_dynamic_sections.
1086
1087 * elf32-ppc.c (ppc_elf_check_relocs): Don't emit R_PPC_REL* relocs
1088 against _GLOBAL_OFFSET_TABLE_.
1089 (ppc_elf_relocate_section): Don't emit R_PPC_REL32 relocs in
1090 shared libraries which refer to local symbols. Make sure that the
1091 test for allocating space for a reloc in a shared object is the
1092 same as the test for emitting a reloc.
1093
1094 start-sanitize-sky
1095 Thu Jan 29 17:44:53 1998 Doug Evans <devans@canuck.cygnus.com>
1096
1097 * elf32-mips.c: Add dvp support.
1098
1099 end-sanitize-sky
1100 Thu Jan 29 15:55:35 1998 J.J. van der Heijden <J.J.vanderHeijden@student.utwente.nl>
1101
1102 * config.bfd (i[3456]-*-mingw32*): New target.
1103 * acinclude.m4 (BFD_BINARY_OPEN): Check for mingw32.
1104 * aclocal.m4, configure: Rebuild.
1105
1106 start-sanitize-sky
1107 Wed Jan 28 15:14:28 1997 Doug Evans <devans@canuck.cygnus.com>
1108
1109 * config.bfd, configure.in: Add dvp support.
1110 * configure: Regenerate.
1111 * aclocal.m4: Regenerate.
1112 * archures.c, reloc.c, cpu-mips.c: Add dvp support.
1113 * bfd-in2.h, libbfd.h, libcoff.h: Regenerate.
1114
1115 end-sanitize-sky
1116 Wed Jan 28 13:41:26 1998 Ian Lance Taylor <ian@cygnus.com>
1117
1118 * elf.c (_bfd_elf_close_and_cleanup): Only check the strtab if we
1119 have a bfd_object.
1120
1121 Tue Jan 27 21:43:55 1998 Richard Henderson <rth@cygnus.com>
1122
1123 Sparc v9 ABI compliant PLT:
1124 * elf64-sparc.c (PLT_HEADER_SIZE): V9 ABI uses 4 entries.
1125 (plt_templates, sparc64_elf_build_plt_entry): Delete.
1126 (LARGE_PLT_THRESHOLD): New define.
1127 (GOT_RESERVED_ENTRIES): V9 ABI only uses 1.
1128 (sparc64_elf_build_plt): New function.
1129 (sparc64_elf_plt_entry_offset): Likewise.
1130 (sparc64_elf_plt_ptr_offset): Likewise.
1131 (sparc64_elf_adjust_dynamic_symbol): Change h->plt_offset to
1132 contain the index for convenience. Skip the initial entries
1133 in .rela.plt.
1134 (sparc64_elf_size_dynamic_sections): Zero the allocated contents
1135 memory for the benefit of .rela.plt.
1136 (sparc64_elf_relocate_section): Call sparc64_elf_plt_entry_offset.
1137 (sparc64_elf_finish_dynamic_symbol): Kill template stuff. Use
1138 sparc64_elf_plt_entry_offset & sparc64_elf_plt_ptr_offset for reloc.
1139 (sparc64_elf_finish_dynamic_sections): DT_PLTGOT points to .plt.
1140 Call sparc64_elf_build_plt.
1141 (elf_backend_want_got_plt): No.
1142 (elf_backend_plt_readonly): No.
1143 (elf_backend_plt_alignment): 8.
1144
1145 * elf.c (_bfd_elf_close_and_cleanup): New function; free the shstrtab.
1146 * elf-bfd.h (_bfd_elf_close_and_cleanup): Declare it.
1147 * elfxx-target.h (bfd_elfNN_close_and_cleanup): Arrange for it
1148 to be called.
1149
1150 Tue Jan 27 21:45:15 1998 Jeffrey A Law (law@cygnus.com)
1151
1152 * archures.c (bfd_mach_mips*): Add definitions for various MIPS
1153 processors.
1154 * cpu-mips.c (arch_info_struct): Add mips variants.
1155 * bfd-in2.h: Rebuilt.
1156
1157 Tue Jan 27 15:06:04 1998 Nick Clifton <nickc@cygnus.com>
1158
1159 * coff-arm.c (coff_arm_relocate_section): Preserve the contents of
1160 t2a3_b_insn.
1161
1162 Tue Jan 27 12:47:27 1998 Robert Lipe <robertl@dgii.com>
1163
1164 * config.bfd (i[3456]86-sco3.2v5*): ELF now the default.
1165 (i[3456]86sco3.2v5*coff): New target.
1166
1167 Mon Jan 26 15:41:30 1998 Ian Lance Taylor <ian@cygnus.com>
1168
1169 * bfd-in2.h: Rebuild with changes to chew--tab expansion.
1170
1171 Thu Jan 22 21:26:48 1998 Richard Henderson <rth@cygnus.com>
1172
1173 * bfd.c (bfd_get_error_handler): Add orthogonal function.
1174 * bfd-in2.h: Regenerate.
1175
1176 Thu Jan 22 21:13:39 1998 Richard Henderson <rth@cygnus.com>
1177
1178 * tekhex.c (tekhex_write_object_contents): Check for no symbols.
1179
1180 Wed Jan 21 21:19:03 1998 Ian Lance Taylor <ian@cygnus.com>
1181
1182 * coff-i386.c (coff_i386_rtype_to_howto): If COFF_WITH_PE, don't
1183 adjust addend for an output common symbol (from Jimmy Blair
1184 <jimmyb@wrs.com>). If COFF_WITH_PE, adjust addend for PC relative
1185 defined symbol to counteract adjustment made in generic relocation
1186 code.
1187
1188 * dwarf2.c: Include sysdep.h, not stdio.h and stdlib.h.
1189
1190 Wed Jan 21 21:16:06 1998 Manfred Hollstein <manfred@s-direktnet.de>
1191
1192 * coff-m88k.c (GET_SCNDHR_NRELOC): Fix typo in macro name.
1193 (GET_SCNDHR_NLNNO): Likewise.
1194
1195 Mon Jan 19 12:49:52 1998 Ian Lance Taylor <ian@cygnus.com>
1196
1197 * cpu-sh.c (arch_info_struct): Correct next field of sh3e.
1198
1199 Wed Jan 14 17:23:27 1998 Nick Clifton <nickc@cygnus.com>
1200
1201 * elf32-m32r.c: Add macros to handle NOP insertion.
1202
1203 Wed Jan 14 16:15:22 1998 Richard Henderson <rth@cygnus.com>
1204
1205 * xcofflink.c (xcoff_mark_symbol): Don't mark the absolute section.
1206 (xcoff_mark): Likewise.
1207 (xcoff_build_ldsyms): Mark absolute symbols.
1208
1209 Wed Jan 14 16:03:11 1998 Richard Henderson <rth@cygnus.com>
1210
1211 * bout.c (b_out_write_object_contents): Sort symbols before output
1212 to keep {CALL,BAL}NAME symbols adjacent.
1213 (b_out_symbol_cmp): New function.
1214
1215 Tue Dec 30 12:45:18 1997 Ian Lance Taylor <ian@cygnus.com>
1216
1217 * elf32-sparc.c (elf32_sparc_check_relocs): If -Bsymbolic, don't
1218 allocate space for a PC relative reloc against a symbol which is
1219 defined in a regular file.
1220 (elf32_sparc_relocate_section): If -Bsymbolic, don't copy a PC
1221 relative reloc against a symbol which is defined in a regular
1222 file.
1223
1224 Mon Dec 29 18:02:28 1997 Ian Lance Taylor <ian@cygnus.com>
1225
1226 From Jonathan Stone <jonathan@DSG.Stanford.EDU>:
1227 * config.bfd (mips-dec-netbsd*): Add ECOFF vectors to
1228 targ_selvecs.
1229 (mips*el-*-netbsd*): Like mips-dec-netbsd*.
1230 (mips*-*-netbsd*): New target.
1231
1232 Mon Dec 29 17:13:28 1997 H.J. Lu (hjl@gnu.org)
1233
1234 * elflink.h (elf_link_assign_sym_version): Change error message
1235 from "undefined version name" to "undefined versioned symbol
1236 name".
1237
1238 Mon Dec 29 11:41:16 1997 Nick Clifton <nickc@cygnus.com>
1239
1240 * coff-arm.c (coff_arm_relocate_section): Fix typo from previous
1241 delta.
1242
1243 Tue Dec 23 17:01:10 1997 Ian Lance Taylor <ian@cygnus.com>
1244
1245 * libbfd-in.h (_bfd_dwarf2_find_nearest_line): Declare.
1246 * libbfd.h: Rebuild.
1247
1248 * peicode.h (coff_swap_scnhdr_out): Set .reloc section to be
1249 shared. Set stab* sections to be shared and read. Set .rsrc
1250 section to be read and shared.
1251
1252 Mon Dec 22 13:20:57 1997 Ian Lance Taylor <ian@cygnus.com>
1253
1254 * Makefile.am: Rebuild dependencies.
1255 (ALL_MACHINES_CFILES): Add dwarf2.lo.
1256 (ALL_MACHINES_CFILES): Add dwarf2.c.
1257 * Makefile.in: Rebuild.
1258
1259 * coff-arm.c: Don't include obstack.h.
1260
1261 Mon Dec 22 13:04:33 1997 Joel Sherrill <joel@oarcorp.com>
1262
1263 * config.bfd (i[3456]86*-go32-rtems*): Fix to be the same as
1264 i[3456]86-go32.
1265
1266 Thu Dec 18 16:01:25 1997 Doug Evans <devans@canuck.cygnus.com>
1267
1268 * configure: Regenerate to get @SHELL@ substituted.
1269
1270 Wed Dec 17 09:45:09 1997 Nick Clifton <nickc@cygnus.com>
1271
1272 * coff-arm.c (coff_arm_relocate_section): Only look at section
1273 owner if there is one.
1274
1275 * elf.c (assign_file_positions_for_segments): Fail if there is not
1276 enough room for the program headers.
1277
1278 Tue Dec 16 08:09:56 1997 Gavin Koch <gavin@cygnus.com>
1279
1280 * elf.c (_bfd_elf_find_nearest_line): Call
1281 _bfd_dwarf2_find_nearest_line first.
1282 * elf32-mips.c (_bfd_mips_elf_find_nearest_line): Same.
1283 * dwarf2.c: New file; implement _bfd_dwarf2_find_nearest_line.
1284
1285 Mon Dec 15 16:08:52 1997 Nick Clifton <nickc@cygnus.com>
1286
1287 start-sanitize-m32rx
1288 * elf32-m32r.c (m32r_elf_merge_private_bfd_data): Allow M32R
1289 object files to be merged into a M32RX executable.
1290
1291 * archures.c: Add bfd_mach_m32rx.
1292 end-sanitize-m32rx
1293 * archures.c: Add bfd_mach_m32r.
1294
1295 Mon Dec 15 16:11:22 1997 Fred Fish <fnf@cygnus.com>
1296
1297 * coffcode.h (ALIGN_SECTIONS_IN_FILE): Define if I960 not defined.
1298 (coff_compute_section_file_positions): Use ALIGN_SECTIONS_IN_FILE
1299 to decide when to align the file sections for paging.
1300 start-sanitize-tic80
1301 * coffcode.h (ALIGN_SECTIONS_IN_FILE): Undefine for TIC80COFF.
1302 end-sanitize-tic80
1303
1304 Mon Dec 15 15:01:15 1997 Nick Clifton <nickc@cygnus.com>
1305
1306 * elf32-m32r.c (m32r_elf_object_p): New Function.
1307 (m32r_elf_final_write_processing): New Function.
1308 (m32r_elf_set_private_flags): New Function.
1309 (m32r_elf_copy_private_bfd_data): New Function.
1310 (m32r_elf_merge_private_bfd_data): New Function.
1311 (m32r_elf_print_private_bfd_data): New Function.
1312 (elf_backend_object_p): Point to m32r_object_p.
1313 (elf_backend_final_write_processing): Point to
1314 m32r_elf_final_write_processing.
1315 (bfd_elf32_bfd_copy_private_bfd_data): Point to
1316 m32r_elf_copy_private_bfd_data.
1317 (bfd_elf32_bfd_merge_private_bfd_data): Point to
1318 m32r_elf_merge_private_bfd_data.
1319 (bfd_elf32_bfd_set_private_flags): Point to
1320 m32r_elf_set_private_bfd_data.
1321 (bfd_elf32_bfd_print_private_bfd_data): Point to
1322 m32r_elf_print_private_bfd_data.
1323
1324 start-sanitize-m32rx
1325 * cpu-m32r.c: Add m32rx cpu architecture.
1326 * bfd-in2.h (bfd_mach_m32rx): Add identifier for M32RX
1327 architecture machines.
1328 end-sanitize-m32rx
1329
1330 * bfd-in2.h (bfd_mach_m32r): Add identifier for M32R architecture
1331 machines.
1332
1333 Fri Dec 12 11:30:28 1997 Brendan Kehoe <brendan@canuck.cygnus.com>
1334
1335 * configure: Only build libbfd shared if --enable-shared's value
1336 was `yes', or was set to `*bfd*'.
1337 * aclocal.m4: Likewise.
1338 * NOTE: this really needs to be fixed in libtool/libtool.m4, the
1339 original source of this bit of code. It's not clear what the best fix
1340 would be, though.
1341
1342 Thu Dec 11 17:48:11 1997 Richard Henderson <rth@cygnus.com>
1343
1344 * linker.c (generic_link_add_symbol_list): Always init udata.p so
1345 that the generic relaxation code can function when input and output
1346 file formats are mismatched.
1347
1348 Thu Dec 11 01:02:18 1997 Ian Lance Taylor <ian@cygnus.com>
1349
1350 * coff-sh.c (bfd_coff_small_swap_table): Initialize new fields.
1351
1352 * elf.c (assign_file_positions_for_segments): For a loadable
1353 section, make sure that the load address is correct relative to
1354 the load address of the segment plus the size of the segment so
1355 far.
1356
1357 * coffcode.h (_coff_link_output_has_begun): Make static.
1358 (_coff_final_link_postscript): Likewise.
1359
1360 Wed Dec 10 23:37:11 1997 Ian Lance Taylor <ian@cygnus.com>
1361
1362 * elflink.h (elf_link_input_bfd): Handle a relocateable link in
1363 which a relocation refers to an indirect or warning symbol.
1364
1365 Wed Dec 10 11:15:55 1997 Nick Clifton <nickc@cygnus.com>
1366
1367 * coff-arm.c (bfd_arm_coff_final_link): Function deleted.
1368 (coff_arm_final_link_postscript): New function.
1369 (coff_arm_link_output_has_begun): New function.
1370
1371 * libcoff.h (struct bfd_coff_backend_data): Add new fields:
1372 _bfd_coff_link_output_has_begun and
1373 _bfd_coff_final_link_postscript. Add new macros:
1374 bfd_coff_link_output_has_begun() and
1375 bfd_coff_final_link_postscript().
1376
1377 * cofflink.c (_bfd_coff_final_link): Insert calls to
1378 bfd_coff_link_output_has_begun() and
1379 bfd_coff_final_link_postscript().
1380
1381 * coffcode.h: Add two new fields to bfd_coff_backend_data
1382 structure: _bfd_coff_link_output_has_begun and
1383 _bfd_coff_final_link_postscript. Add default initialisers for
1384 these fields. Add overridable aliases for the coff swap functions
1385 in the backend data structure.
1386
1387 * elf32-v850.c: Update with patches from the branch to fix
1388 HI16_S/LO16 reloc pairs.
1389
1390 start-sanitize-d30v
1391 Wed Dec 10 14:06:48 1997 Michael Meissner <meissner@cygnus.com>
1392
1393 * elf32-d30v.c (d30v_info_to_howto_rela): New function to support
1394 RELA relocations.
1395 (USE_REL): Don't define any more, switch to using RELA
1396 relocations.
1397 (elf_info_to_howto): Define as d30v_info_to_howto_rela.
1398
1399 end-sanitize-d30v
1400 Tue Dec 9 11:37:53 1997 Andrew Cagney <cagney@b1.cygnus.com>
1401
1402 * archures.c (bfd_mach_mips*): Define.
1403 (start-sanitize-vr5400):
1404 (vr5400, bfd_mach_vr5000): Define.
1405 (end-sanitize-vr5400):
1406 (bfd_default_scan): For 3000 and 4000 replace magic constant with
1407 macro.
1408
1409 * cpu-mips.c (N): Define.
1410 (bfd_mips_arch, arch_info_struct): Re-write using macro N, replace
1411 numbers with bfd_mach_mips* macros.
1412
1413 Fri Dec 5 11:13:46 1997 Nick Clifton <nickc@cygnus.com>
1414
1415 * elf32-v850.c (v850_elf_reloc, v850_elf_store_addend_in_insn,
1416 v850_elf_relocate_section): Fix reloc addend handling.
1417 (v850_elf_section_from_bfd_section, v850_elf_symbol_processing,
1418 v850_elf_add_symbol_hook, v850_elf_link_output_symbol_hook,
1419 v850_elf_section_from_shdr, v850_elf_fake_sections): New functions
1420 to create and handle special common sections.
1421 (v850_elf_final_link_relocate): Fix HI16 and HI16_S relocations
1422 which have data stored in the instructions.
1423
1424 Tue Dec 2 10:26:16 1997 Nick Clifton <nickc@cygnus.com>
1425
1426 * coff-arm.c (TARGET_UNDERSCORE): Revert back to '_'
1427 (USER_LABEL_PREFIX): Revert back to '_'
1428
1429 * config.bfd (targ_cpu): Add support for Thumb target.
1430
1431 Mon Dec 1 20:24:18 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
1432
1433 * coff-sh.c (sh_coff_howtos): Add R_SH_SWITCH8 entry.
1434 (get_symbol_value): Handle R_SH_SWITCH8.
1435 (sh_relax_delete_bytes): Likewise.
1436
1437 Wed Nov 26 14:13:34 1997 Nick Clifton <nickc@cygnus.com>
1438
1439 * coff-arm.c (TARGET_UNDERSCORE): Changed to match definition in
1440 gcc/config/arm/semi.h
1441
1442 * coffcode.h (coff_slurp_symbol_table): Add ARM and Thumb symbol
1443 classes.
1444
1445 Sun Nov 23 16:02:58 1997 Andrew Cagney <cagney@b1.cygnus.com>
1446
1447 * freebsd.h (SWAP_MAGIC): Read magic number little and not big
1448 endian.
1449
1450 Wed Nov 26 09:30:37 1997 Nick Clifton <nickc@cygnus.com>
1451
1452 * coffcode.h (coff_mkobject_hook): Only set private flags for non
1453 PE ARM ports.
1454
1455 Tue Nov 25 15:33:23 1997 Richard Henderson <rth@cygnus.com>
1456
1457 * binary.c (binary_set_section_contents): Also ignore NEVER_LOAD
1458 sections.
1459
1460 Tue Nov 25 10:55:36 1997 Nick Clifton <nickc@cygnus.com>
1461
1462 * coff-arm.c (coff_arm_bfd_merge_private_bfd_data): Do not
1463 complain if inout and output formats differ.
1464
1465 Tue Nov 25 11:26:27 1997 Ian Lance Taylor <ian@cygnus.com>
1466
1467 * Makefile.am (BFD32_BACKENDS): Remove tekhex.lo.
1468 (BFD32_BACKENDS_CFILES): Remove tekhex.c.
1469 * Makefile.in: Rebuild.
1470 * aclocal.m4, configure, src/Makefile.in: Rebuild with current
1471 automake and autoconf.
1472
1473 * coff-arm.c (arm_allocate_interworking_sections): Fix typo
1474 (COFF_WITH_PR to COFF_WITH_PE).
1475
1476 Mon Nov 24 15:47:49 1997 Nick Clifton <nickc@cygnus.com>
1477
1478 * coff-arm.c: Make variables and some functions static, so that
1479 this file can be included in multiple object files.
1480 (coff_arm_bfd_final_link): Fix minor bug.
1481
1482 Sat Nov 22 15:16:00 1997 Nick Clifton <nickc@cygnus.com>
1483
1484 * coff-arm.c: Add support for PIC and APCS-FLOAT type binaries.
1485
1486 * coffcode.h: Add support for PIC and APCS-FLOAT type binaries.
1487
1488 Sat Nov 22 16:06:56 1997 Klaus Kaempf <kkaempf@progis.de>
1489
1490 * evax-emh.c (_bfd_evax_write_emh): Use alloca instead of strdup.
1491
1492 Sat Nov 22 12:29:30 1997 Ian Lance Taylor <ian@cygnus.com>
1493
1494 * sunos.c (sunos_add_one_symbol): When overriding a defined
1495 symbol, set it to undefined, not new.
1496
1497 * elf32-sh.c (sh_elf_relax_delete_bytes): Don't kill LABEL
1498 relocs.
1499
1500 Fri Nov 21 14:14:22 1997 Richard Henderson <rth@cygnus.com>
1501
1502 * coff-sh.c (sh_relax_section): Force sign extention of USES r_offset.
1503 (sh_relax_delete_bytes): Don't kill LABEL relocs.
1504
1505 Mon Nov 17 15:08:38 1997 Jeffrey A Law (law@cygnus.com)
1506
1507 * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Fix typo.
1508 (mn10300_elf_relax_section): Likewise.
1509
1510 Sat Nov 15 15:36:07 1997 Fred Fish <fnf@cygnus.com>
1511
1512 * peicode.h (coff_swap_aouthdr_in): Cast second arg of
1513 bfd_h_get_* calls to "bfd_byte *".
1514
1515 Tue Nov 11 10:37:23 1997 Jeffrey A Law (law@cygnus.com)
1516
1517 * elf-m10300.c (elf32_mn10300_link_hash_entry): Add new field
1518 "movm_stack_size".
1519 (mn10300_elf_relax_section): Include stack space for register saves
1520 in the imm8 field of a "call" instruction.
1521 (compute_function_info): Determine how much stack is allocated by
1522 the movm instruction. Fix typo.
1523 (elf32_mn10300_link_hash_newfunc): Initialize movm_stack_size.
1524
1525 Mon Nov 10 14:32:40 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1526
1527 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Don't crash if
1528 a version dependency could not be found.
1529
1530 Tue Nov 4 12:05:56 1997 Klaus K"ampf <kkaempf@progis.de>
1531
1532 * configure.com: Get version info from configure.in
1533
1534 Fri Oct 24 11:15:58 1997 Jakub Jelinek <jj@sunsite.mff.cuni.cz>
1535
1536 * elf64-sparc.c (sparc64_elf_merge_private_bfd_data):
1537 New function. Avoid mixing US1 and HAL R1 code.
1538 Set resulting memory ordering to the strongest one used.
1539 (sparc64_elf_object_p): Set bfd_mach correctly.
1540
1541 Thu Oct 23 14:09:33 1997 Richard Henderson <rth@cygnus.com>
1542
1543 * elf64-sparc.c (sparc64_elf_howto_table): Add UA64 & UA16.
1544 (sparc64_elf_check_relocs): Handle them.
1545 (sparc64_elf_relocate_section): Likewise. Before emitting a dyn reloc,
1546 check alignment and transmute R_SPARC_x<->R_SPARC_UAx.
1547
1548 Thu Oct 23 00:53:14 1997 Richard Henderson <rth@dot.cygnus.com>
1549
1550 * configure.in (sparc*-*-linux*): Use trad-core and ...
1551 * hosts/sparclinux.h: New file.
1552
1553 Thu Oct 23 00:25:29 1997 Richard Henderson <rth@dot.cygnus.com>
1554
1555 * config.bfd (sparc64-*-linux*): New target.
1556
1557 * elf-bfd.h (struct elf_backend_data): Add plt_alignment member.
1558 * elflink.c (_bfd_elf_create_got_section): Set .got alignment based
1559 on arch_size.
1560 (_bfd_elf_create_dynamic_sections): Likewise for .rel* sections.
1561 Set .plt alignment from new plt_alignment.
1562 * elflink.h (elf_link_create_dynamic_sections): Set version section
1563 alignment to LOG_FILE_ALIGN.
1564 * elfxx-target.h (elf_backend_plt_alignment): Provide default.
1565 (elfXX_bed): Init plt_alignment.
1566
1567 * elf64-sparc.c (sparc64_elf_check_relocs,
1568 sparc64_elf_adjust_dynamic_symbol, sparc64_elf_size_dynamic_sections,
1569 sparc64_elf_adjust_dynindx, sparc64_elf_finish_dynamic_symbol,
1570 sparc64_elf_finish_dynamic_sections): New functions.
1571 (sparc64_elf_howto_table): Fix a few name strings.
1572 (ELF_DYNAMIC_INTERPRETER): New definition.
1573 (sparc64_elf_relocate_section): Handle shared libraries.
1574
1575 * elf64-sparc.c (struct plt_template, plt_*_header, plt_*_entry,
1576 sparc64_elf_build_plt_entry, sparc64_elf_finish_dynamic_symbol):
1577 PLT definitions sparc64-linux originally choose. These will go
1578 away soon in favour of the official abi definitions.
1579
1580 Wed Oct 22 16:08:45 1997 Ian Lance Taylor <ian@cygnus.com>
1581
1582 * coff-sh.c (coff_small_object_p): New static function.
1583 (coff_small_new_section_hook): New static function.
1584 (bfd_coff_small_swap_table): New static const structure.
1585 (coff_small_close_and_cleanup): Define.
1586 (coff_small_bfd_free_cached_info): Define.
1587 (coff_small_get_section_contents): Define.
1588 (coff_small_get_section_contents_in_window): Define.
1589 (shcoff_small_vec): New static structure.
1590 (shlcoff_small_vec): New static structure.
1591 * targets.c (bfd_target_vector): Add shcoff_small_vec and
1592 shlcoff_small_vec.
1593 * config.bfd (sh-*-elf*): Add shcoff_small_vec and
1594 shlcoff_small_vec to targ_selvecs.
1595 (sh-*-*): Likewise.
1596 * configure.in: Add shcoff_small_vec and shlcoff_small_vec cases.
1597 * configure: Rebuild.
1598
1599 Mon Oct 20 15:01:27 1997 Klaus K"ampf <kkaempf@progis.de>
1600
1601 * evax-egsd.c: Weak symbols are global.
1602
1603 * evax-emh.c: Use proper casts.
1604
1605 * evax-egsd.c (_bfd_evax_write_egsd): Remove unneeded uname.
1606
1607 * evax-egsd.c: Section names and symbols have different
1608 length restrictions. Add length parameter to
1609 _bfd_evax_length_hash_symbol.
1610 * evax-etir.c: Likewise.
1611 * evax-misc.c (_bfd_evax_length_hash_symbol): Add length
1612 parameter.
1613 * evax.h (EOBJ_S_C_SECSIZ): Define.
1614
1615 * evax-alpha.c: Remove duplicate test.
1616
1617 * evax-emh.c: SYS$ functions are upper-case.
1618
1619 * evax-egsd.c: Create separate sections for common symbols.
1620 * evax-etir.c: Don't output common section.
1621 * evax.h: Bump up section count.
1622
1623 * configure.com: Use 64bit integers with DEC C.
1624
1625 * evax-egsd.c: Make section flags dec c compatible.
1626
1627 Mon Oct 20 09:38:31 1997 Jeffrey A Law (law@cygnus.com)
1628
1629 * som.c (normalize): Delete function.
1630 (som_bfd_ar_write_symbol_stuff): New parameter elength. All callers
1631 changed. Use passed in elength to determine size of the extended
1632 name table instead of computing it again.
1633
1634 Sun Oct 19 23:36:21 1997 Jim Wilson <wilson@cygnus.com>
1635
1636 * peicode.h (coff_swap_scnhdr_out): Use |= not = to set
1637 IMAGE_SCN_MEM_READ for an unrecognized section.
1638
1639 Sun Oct 19 21:04:56 1997 Jeffrey A Law (law@cygnus.com)
1640
1641 * som.c (som_bfd_ar_write_symbol_stuff): Account for trailing
1642 '/' in the extended name table.
1643
1644 Fri Oct 17 00:04:13 1997 Richard Henderson <rth@cygnus.com>
1645
1646 * elflink.h (elf_link_assign_sym_version): For explicitly versioned
1647 symbols, check globals list before matching on locals.
1648
1649 Thu Oct 16 08:17:06 1997 Michael Meissner <meissner@cygnus.com>
1650
1651 * peicode.h (coff_swap_scnhdr_out,pe_print_idata): Fix mangled
1652 patch.
1653
1654 Wed Oct 15 13:45:10 1997 Ian Lance Taylor <ian@cygnus.com>
1655
1656 * peicode.h (pe_mkobject_hook): Set DLL flag.
1657 (pe_bfd_copy_private_bfd_data): Copy DLL flag.
1658
1659 * peicode.h (coff_swap_scnhdr_out): Set IMAGE_SCN_MEM_DISCARDABLE
1660 for .stab* sections. Replace strlen of constant strings with
1661 number.
1662
1663 Tue Oct 14 15:42:45 1997 Richard Henderson <rth@cygnus.com>
1664
1665 * elf64-alpha.c (elf64_alpha_merge_ind_symbols): New function to
1666 merge got and reloc entries from ind syms to their target.
1667 (elf64_alpha_always_size_sections): Call it.
1668 (elf64_alpha_check_relocs): Operate on the target of indirect symbols.
1669 (elf64_alpha_can_merge_gots): Likewise.
1670 (elf64_alpha_merge_gots): Likewise.
1671
1672 * elf64-alpha.c (elf64_alpha_relocate_section): Back out HJ's change,
1673 as it is insufficient to handle the relocation changes as well.
1674
1675 Mon Oct 13 23:10:08 1997 Richard Henderson <rth@cygnus.com>
1676
1677 * elf64-alpha.c (elf64_alpha_calc_dynrel_sizes): Allow for RELATIVE
1678 relocs for symbols in shlibs that have been forced local.
1679 (elf64_alpha_relocate_section): Output RELATIVEs in .got for same.
1680
1681 Mon Oct 13 21:24:04 1997 Richard Henderson <rth@cygnus.com>
1682
1683 * elf64-alpha.c (elf64_alpha_relocate_section): Use the
1684 got_enties of the default symbol for the default versioned
1685 symbol. Patch from hjl@gnu.ai.mit.edu, modified not to use
1686 alloca in the loop.
1687
1688 Mon Oct 13 17:37:37 1997 Nick Clifton <nickc@cygnus.com>
1689
1690 * elf32-v850.c (v850_elf_final_link_relocate): Only use the bottom
1691 24 bits of the PC when computing a PC relative relocation.
1692
1693 Fri Oct 10 16:01:30 1997 Nick Clifton <nickc@cygnus.com>
1694
1695 * elf32-v850.c (v850_elf_reloc, v850_elf_final_link_relocate):
1696 Correct value for maximum positive 22 bit PC relative relocation.
1697 (v850_elf_final_link_relocate): Prevent overflow from HI16_S and
1698 HI_16 relocations. Correct bit adjustment in TDA offsets.
1699
1700 Thu Oct 9 16:43:39 1997 Doug Evans <dje@canuck.cygnus.com>
1701
1702 * elf64-sparc.c (sparc_elf_{hix22,lox10}_reloc): New functions.
1703 (sparc64_elf_howto_table): Use them for HIX22,LOX10 relocs.
1704
1705 Wed Oct 8 11:38:45 1997 Richard Henderson <rth@cygnus.com>
1706
1707 * elfcore.h (bfd_prstatus): Pedanticly, alignment_power should
1708 be LOG_FILE_ALIGN.
1709
1710 Wed Oct 8 11:36:00 1997 Richard Henderson <rth@cygnus.com>
1711
1712 * config.bfd: Missed one alpha* change.
1713
1714 Tue Oct 7 13:00:17 1997 Doug Evans <dje@canuck.cygnus.com>
1715
1716 * elf32-sparc.c (_bfd_sparc_elf_howto_table): Remove BFD64 support.
1717 * elf64-sparc.c (SPARC64_OLD_RELOCS): Undef.
1718 (MINUS_ONE): New macro.
1719 (sparc_elf_notsup_reloc): New function.
1720 (sparc64_elf_howto_table): Add entries for DISP64,PLT64,HIX22,LOX10,
1721 H44,M44,L44,REGISTER.
1722 (sparc_reloc_map): Likewise. Map BFD_RELOC_CTOR to R_SPARC_64.
1723 (init_insn_reloc): New function.
1724 (sparc_elf_wdisp16_reloc): Use it.
1725 (sparc64_elf_relocate_section): Add entries for OLO10,HIX22,LOX10.
1726
1727 Tue Oct 7 11:40:37 1997 Ian Lance Taylor <ian@cygnus.com>
1728
1729 * som.c (som_construct_extended_name_table): Remove static
1730 function, and define as macro instead.
1731
1732 Fri Oct 3 14:02:17 1997 Richard Henderson <rth@cygnus.com>
1733
1734 * config.bfd: Change alpha-*-* to alpha*-*-*; config.guess now
1735 recognizes alphaev5 etc.
1736 * configure.host: Likewise.
1737
1738 Fri Oct 3 11:23:47 1997 Ian Lance Taylor <ian@cygnus.com>
1739
1740 Make ld -s work on AIX:
1741 * xcofflink.c (xcoff_link_add_symbols): Don't create the .debug
1742 section if we are stripping.
1743 (bfd_xcoff_size_dynamic_sections): Don't set the .debug section
1744 size if we are stripping.
1745 (_bfd_xcoff_bfd_final_link): Don't set SEC_RELOC or rel_filepos,
1746 and don't write out relocs, if we are stripping.
1747 (xcoff_link_input_bfd): Don't set up reloc if we are stripping.
1748 (xcoff_write_global_symbol): Don't write out symbol or reloc if we
1749 are stripping.
1750
1751 * configure.in: Don't include elf.lo again for ELF targets; it's
1752 always in the library anyhow.
1753 * configure: Rebuild.
1754
1755 * bfd-in2.h: Rebuild.
1756
1757 * elf32-sparc.c (sparc_elf_wdisp16_reloc): Cast to bfd_byte *, not
1758 char *, when calling bfd_get_32 and bfd_put_32.
1759 * sunos.c (sunos_scan_dynamic_symbol): Cast contents to char *
1760 when calling strcpy.
1761
1762 Thu Oct 2 16:15:50 1997 Doug Evans <dje@canuck.cygnus.com>
1763
1764 * reloc.c (bfd_check_overflow): New function.
1765 (bfd_perform_relocation, bfd_install_relocation): Use it.
1766 (BFD_RELOC_SPARC_{DISP64,PLT64}): New relocs.
1767 (BFD_RELOC_SPARC_{HIX22,LOX10,H44,M44,L44,REGISTER}): New relocs.
1768 * bfd-in2.h: Regenerate.
1769 * libbfd.h: Regenerate.
1770
1771 Thu Oct 2 13:17:18 1997 Ian Lance Taylor <ian@cygnus.com>
1772
1773 * peicode.h (coff_swap_scnhdr_out): Set IMAGE_SCN_MEM_READ for an
1774 unrecognized section. From Jon Thackray <jont@harlequin.co.uk>.
1775
1776 Wed Oct 1 14:03:44 1997 Ian Lance Taylor <ian@cygnus.com>
1777
1778 * Makefile.am ($(BFD_H)): Change stmp-bfd.h to stmp-bfd-h.
1779 (stmp-bfd-h): Rename from stmp-bfd.h.
1780 (BFD_H_FILES, LIBBFD_H_FILES, LIBCOFF_H_FILES): New variables.
1781 ($(srcdir)/bfd-in2.h): Just depend upon stmp-bin2-h.
1782 (stmp-bin2-h): New target.
1783 ($(srcdir)/libbfd.h): Just depend upon stmp-lbfd-h.
1784 (stmp-lbfd-h): New target.
1785 ($(srcdir)/libcoff.h): Just depend upon stmp-lcoff-h.
1786 (stmp-lcoff-h): New target.
1787 (CLEANFILES): Change stmp-bfd.h to stmp-bfd-h. Add stmp-bin2.h,
1788 stmp-lbfd-h, and stmp-lcoff-h.
1789 * Makefile.in: Rebuild.
1790
1791 * configure.in: Use a diversion to set enable_shared before the
1792 arguments are parsed.
1793 * configure: Rebuild.
1794
1795 Tue Sep 30 14:18:32 1997 Doug Evans <dje@canuck.cygnus.com>
1796
1797 * elf32-sparc.c (_bfd_sparc_elf_howto_table): R_SPARC_GLOB_JMP
1798 renamed to R_SPARC_UNUSED_42.
1799 (sparc_reloc_map): Delete R_SPARC_GLOB_JMP entry.
1800 * elf64-sparc.c (_bfd_sparc_elf_howto_table): R_SPARC_GLOB_JMP
1801 renamed to R_SPARC_UNUSED_42.
1802 (sparc_reloc_map): Delete R_SPARC_GLOB_JMP entry.
1803 * reloc.c (BFD_RELOC_SPARC_GLOB_JMP): Delete.
1804 * bfd-in2.h: Regenerated.
1805 * libbfd.h: Regenerated.
1806
1807 Thu Sep 25 12:15:02 1997 Ian Lance Taylor <ian@cygnus.com>
1808
1809 * elflink.h (elf_merge_symbol): Don't check the hash creator until
1810 after we have set *sym_hash.
1811
1812 Wed Sep 24 16:52:28 1997 Joel Sherrill <joel@oarcorp.com>
1813
1814 * config.bfd (sh*-*-rtems*): New target, like sh-*-*elf*.
1815
1816 Wed Sep 24 11:27:23 1997 Ian Lance Taylor <ian@cygnus.com>
1817
1818 * Makefile.am (libbfd_a_SOURCES): Define.
1819 * Makefile.in: Rebuild.
1820
1821 * configure.in: Call AC_CHECK_TOOL before AM_PROG_LIBTOOL.
1822 * aclocal.m4: Rebuild with new libtool.
1823 * configure: Rebuild.
1824
1825 Tue Sep 23 19:03:13 1997 Ian Lance Taylor <ian@cygnus.com>
1826
1827 * elf.c (map_sections_to_segments): Even if we are not demand
1828 paged, don't put a loadable section after a nonloadable section.
1829 (assign_file_positions_for_segments): Increment the file offset
1830 for a section with contents, even if it is not loadable.
1831
1832 start-sanitize-v850e
1833 Sun Sep 21 11:03:24 1997 Nick Clifton <nickc@cygnus.com>
1834
1835 * elf32-v850.c (v850_elf_final_link_relocate): Add return code
1836 indicating that __ctbp could not be found.
1837
1838 end-sanitize-v850e
1839 Thu Sep 18 15:04:57 1997 Nick Clifton <nickc@cygnus.com>
1840
1841 * elf32-v850.c (v850_elf_check_relocs): Improve error message.
1842
1843 Wed Sep 17 09:54:51 1997 Nick Clifton <nickc@cygnus.com>
1844 start-sanitize-v850e
1845
1846 * elf32-v850.c (v850_elf_final_link_relocate, v850_elf_reloc,
1847 v850_elf_check_relocs, v850_elf_reloc_map, v850_elf_howto_table):
1848 Add support for the CALLT relocs.
1849
1850 * reloc.c (COMMENT): Add BFD_RELOC_V850_CALLT_6_7_OFFSET and
1851 BFD_RELOC_V850_CALLT_16_16_OFFSET.
1852 end-sanitize-v850e
1853
1854 * elf32-v850.c (v850_elf_final_link_relocate): Add checks to catch
1855 relocations against non-existant symbols.
1856
1857 Tue Sep 16 14:20:27 1997 Nick Clifton <nickc@cygnus.com>
1858
1859 * reloc.c: Add BFR_RELOC_V850_TDA_16_16_OFFSET.
1860
1861 * elf32-v850.c (v850_elf_reloc, v850_elf_final_link_relocate,
1862 v850_elf_howto_table, v850_elf_reloc_map): Add support for a 16
1863 bit reloc in the tiny data area.
1864
1865 start-sanitize-d30v
1866 Mon Sep 15 11:27:36 1997 Ken Raeburn <raeburn@cygnus.com>
1867
1868 Merged changes from Martin Hunt:
1869
1870 * elf32-d30v.c (bfd_elf_d30v_reloc): Change pc-relative relocs
1871 over 2^32 bytes to be absolute. Needed because D30V PC doesn't
1872 necessarily wrap.
1873
1874 * reloc.c, elf32-d30v.c (BFD_RELOC_D30V_9_PCREL,
1875 BFD_RELOC_D30V_9_PCREL_R): New relocs.
1876
1877 * elf32-d30v.c (bfd_elf_d30v_reloc_21): New function.
1878 Do 15 and 21 bit pc-relative relocations.
1879 * reloc.c (BFD_RELOC_D30V_15_PCREL_R, BFD_RELOC_D30V_21_PCREL_R):
1880 New relocations.
1881
1882 * elf32-d30v.c (bfd_elf_d30v_reloc): Addend needs to be
1883 added to the relocation, not or'd.
1884
1885 end-sanitize-d30v
1886 Wed Sep 10 15:17:25 1997 Nick Clifton <nickc@cygnus.com>
1887
1888 * elf32-v850.c (v850_elf_reloc): Remove spurious error message.
1889
1890 Wed Sep 10 11:17:50 1997 Andrew Cagney <cagney@b1.cygnus.com>
1891
1892 * archures.c (bfd_default_scan): Use strcasecmp.
1893 (bfd_default_scan): Test for match with arch_name + ":" +
1894 printable_name.
1895 (bfd_default_scan): Test for match with printable_name - ":".
1896 (bfd_default_scan): Delete w65, h8300, h8500, z8k, i960 special
1897 cases. Each implements their own scan function.
1898 (bfd_default_scan): Delete 386, 2900, 860, mips 2000, mips 4400
1899 special cases. Since info->mach == 0. The test mach == number
1900 fails.
1901 (bfd_arch_list): New function, return name of all the supported
1902 architectures.
1903
1904 Tue Sep 9 10:21:56 1997 Nick Clifton <nickc@cygnus.com>
1905
1906 * elf32-v850.c (v850_elf_print_private_bfd_data): Break after
1907 decoding architecture.
1908 (v850_elf_reloc): Do not complain if a R_V850_LO16 reloc has bit
1909 15 set.
1910
1911 Sun Sep 7 12:25:22 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
1912
1913 * bfd/elf64-alpha.c (reloc_howto_type): Fix the howto table.
1914
1915 Thu Sep 4 09:44:10 1997 Ian Lance Taylor <ian@cygnus.com>
1916
1917 * Makefile.am: Rebuild dependencies.
1918 (ALL_MACHINES_CFILES): Add cpu-v850.c.
1919 (ALL_MACHINES_CFILES): Add elf32-v850.c.
1920 * Makefile.in: Rebuild.
1921
1922 * reloc.c: Remove extraneous commas from relocation entries.
1923 Remove BFD_RELOC_V850_16_PCREL.
1924 * bfd-in2.h: Rebuild.
1925
1926 * xcofflink.c (xcoff_link_add_symbols): Put XTY_CM/XMC_TD symbols
1927 in sections named .tocbss rather than .bss.
1928
1929 Wed Sep 3 11:23:23 1997 Nick Clifton <nickc@cygnus.com>
1930
1931 * libbfd.h, bfd-in2.h, elf32-v850.c: Removed
1932 BFD_RELOC_V850_16_PCREL.
1933
1934 Tue Sep 2 20:44:10 1997 Fred Fish <fnf@cygnus.com>
1935
1936 * cofflink.c (coff_link_check_ar_symbols): Handle C_SYSTEM syms
1937 the same as C_EXT syms.
1938 (coff_link_add_symbols): Ditto.
1939 (_bfd_coff_link_input_bfd): Ditto.
1940 (_bfd_coff_write_task_globals): Add save_global_to_static. Use
1941 it to preserve and restore state of global_to_static flag.
1942
1943 Tue Sep 2 17:45:22 1997 Nick Clifton <nickc@cygnus.com>
1944
1945 * elf32-v850.c (v850_elf_object_p): Set machine number based on
1946 bits in e_flags field rather than magic numbers.
1947 (v850_elf_final_write_processing, v850_elf_set_private_flags,
1948 v850_elf_copy_private_bfd_data, v850_elf_merge_private_bfd_data,
1949 v850_elf_print_private_bfd_data): New functions.
1950
1951 start-sanitize-v850e
1952 Tue Sep 2 17:43:49 1997 Nick Clifton <nickc@cygnus.com>
1953
1954 * elf.c (prep_headers): Remove V850E magic number.
1955 * elf.c (prep_headers): Remove V850EA magic number.
1956 end-sanitize-v850e
1957
1958 Tue Sep 2 17:35:05 1997 Doug Evans <dje@canuck.cygnus.com>
1959
1960 * cpu-arc.c (arc_get_mach): Properly scan defined mach entries.
1961
1962 Tue Sep 2 18:29:37 1997 Jeffrey A Law (law@cygnus.com)
1963
1964 * elf-m10200.c (mn10200_elf_final_link_relocate): PC relative
1965 instructions are relative to the next instruction, not the
1966 current instruction.
1967 (mn10200_elf_relax_section): Similarly.
1968
1969 Tue Sep 2 15:45:45 1997 Nick Clifton <nickc@cygnus.com>
1970
1971 * cpu-v850.c: Use a macro to construct bfd_arch_info_type
1972 entries.
1973
1974 * reloc.c, libbfd.h, bfd-in2.h, elf32-v850.c: Replace
1975 BFD_RELOC_V850_{SDA/TDA/ZDA}_OFFSET relocs with new bit pattern
1976 specific versions: BFD_RELOC_V850_{area}_{bits}_OFFSET.
1977
1978 Thu Aug 28 17:01:09 1997 Andrew Cagney <cagney@b1.cygnus.com>
1979
1980 * cpu-v850.c: Remove "plain" from v850 printable name.
1981 (scan): Use strcasecmp.
1982
1983 * archures.c (bfd_mach_v850): Define.
1984
1985 * cpu-sh.c (scan_mach): Compare with table instead of hardwired to
1986 just sh/SH, use strcasecmp.
1987 (arch_info_struct): Add entries for sh3 et.al.
1988
1989 * archures.c (bfd_mach_sh, ...): Define.
1990
1991 Wed Aug 27 17:33:07 1997 Andrew Cagney <cagney@b1.cygnus.com>
1992
1993 * archures.c (bfd_archures_list): Always NULL terminate the list.
1994
1995 Tue Aug 26 17:26:51 1997 Ian Lance Taylor <ian@cygnus.com>
1996
1997 * Makefile.am: Rebuild dependencies.
1998 (ALL_MACHINES_CFILES): Add cpu-arc.c.
1999 (ALL_MACHINES_CFILES): Add elf32-arc.c.
2000 (elf32-arc.lo): Remove explicit dependency.
2001 * Makefile.in: Rebuild.
2002
2003 * acinclude.m4 (BFD_CC_FOR_BUILD): Set EXEEXT_FOR_BUILD.
2004 * doc/Makefile.am (MKDOC): Use EXEEXT_FOR_BUILD, not EXEEXT.
2005 * aclocal.m4, configure, Makefile.in, doc/Makefile.in: Rebuild.
2006
2007 Mon Aug 25 16:14:34 1997 Christopher Provenzano <proven@cygnus.com>
2008
2009 * configure: Rebuild with latest devo autoconf for NT support
2010
2011 Mon Aug 25 16:11:04 1997 Nick Clifton <nickc@cygnus.com>
2012
2013 * cpu-arm.c (compatible): If B is a default type, return A.
2014
2015 Mon Aug 25 15:35:46 1997 Nick Clifton <nickc@cygnus.com>
2016
2017 * cpu-v850.c (scan): New function.
2018 (arch_info_struct): New structure.
2019 (bfd_v850_arch): Add link into arch_info_structure.
2020
2021 * config.bfd (targ_cpu): All v850 variants use the bfd_arch_v850
2022 architecture.
2023
2024 * elf32-v850.c (v850_elf_object_p): New function.
2025
2026 start-sanitize-v850e
2027 * archures.c (bfd_mach_v850e): Machine value for v850e.
2028
2029 * bfd-in2.h (bfd_mach_v850e): Machine value for v850e.
2030
2031 * elf32-v850.c (ELF_MACHINE_CODE): Default to v850e machine
2032 number.
2033
2034 * elf.c (prep_headers): Add support for v850e machine number.
2035
2036 * archures.c (bfd_mach_v850ea): Machine value for v850ea.
2037
2038 * bfd-in2.h (bfd_mach_v850ea): Machine value for v850ea.
2039
2040 * elf32-v850.c (ELF_MACHINE_CODE): Default to v850ea machine
2041 number.
2042
2043 * elf.c (prep_headers): Add support for v850ea machine number.
2044 end-sanitize-v850e
2045
2046 Mon Aug 25 14:07:33 1997 Ian Lance Taylor <ian@cygnus.com>
2047
2048 * syms.c (_bfd_stab_section_find_nearest_line): Clear the
2049 cached_stab field if the offset prevents us from using the cache.
2050
2051 Mon Aug 25 12:08:13 1997 Ian Lance Taylor <ian@cygnus.com>
2052
2053 * aout-target.h (MY(vec)): Add SEC_CODE and SEC_DATA to section
2054 flags.
2055 * aout-arm.c (aout_arm_little_vec): Likewise.
2056 (aout_arm_big_vec): Likewise.
2057 * bout.c (b_out_vec_big_host): Likewise.
2058 (b_out_vec_little_host): Likewise.
2059 * mipsbsd.c (aout_mips_little_vec): Likewise.
2060 (aout_mips_big_vec): Likewise.
2061
2062 start-sanitize-tic80
2063 Tue Aug 19 10:09:10 1997 Fred Fish <fnf@cygnus.com>
2064
2065 * coff-tic80.c (COFF_ALIGN_IN_SFLAGS): Define to 1.
2066 * coffcode.h (styp_to_sec_flags): Ignore incoming STYP_INFO
2067 bit in s_flags if COFF_ALIGN_IN_S_FLAGS is defined.
2068
2069 end-sanitize-tic80
2070 Tue Aug 19 08:47:17 1997 Fred Fish <fnf@cygnus.com>
2071
2072 * coff-i960.c (COFF_ALIGN_IN_SECTION_HEADER): Define to 1.
2073 (GET_SCNHDR_ALIGN, PUT_SCNHDR_ALIGN): Define.
2074 * coff-m88k.c (GET_SCNHDR_NRELOC, GET_SCNHDR_NLNNO): Define.
2075 * coffcode.h (coff_set_alignment_hook): Conditionally compile in if
2076 COFF_ALIGN_IN_SECTION_HEADER is defined. Convert alignment to power
2077 of two for I960 only.
2078 * coffswap.h (GET_SCNHDR_NRELOC, PUT_SCNHDR_NRELOC, GET_SCNDHR_NLNNO,
2079 PUT_SCNHDR_NLNNO, GET_SCNHDR_FLAGS, PUT_SCNHDR_FLAGS): Provide
2080 default definitions.
2081 (coff_swap_scnhdr_in): Use GET_SCNHDR_FLAGS, GET_SCNHDR_NRELOC,
2082 GET_SCNHDR_NLNNO, and GET_SCNHDR_ALIGN.
2083 (coff_swap_scnhdr_out): Use PUT_SCNHDR_FLAGS, PUT_SCNHDR_ALIGN.
2084 start-sanitize-tic80
2085 * Makefile.in (coff-tic80.o): Depends upon coffswap.h.
2086 * coff-tic80.c (COFF_ALIGN_IN_SECTION_HEADER): Define to 1.
2087 (GET_SCNHDR_FLAGS, PUT_SCNHDR_FLAGS): Define
2088 *coffcode.h (coff_write_object_contents): Set alignment field in
2089 section header for TIC80COFF files.
2090 end-sanitize-tic80
2091
2092 Mon Aug 18 11:36:19 1997 Nick Clifton <nickc@cygnus.com>
2093
2094 * elf32-v850.c (v850_elf_howto_table, v850_elf_reloc_map,
2095 v850_elf_check_relocs, v850_elf_reloc,
2096 v850_elf_final_link_relocate): Add support for
2097 BFD_RELOC_V850_16_PCREL relocation.
2098
2099 * reloc.c (COMMENT): Add suuport for BFD_RELOC_V850_16_PCREL
2100 relocation.
2101
2102 * libbfd.h: Add support for BFD_RELOC_V850_16_PCREL relocation.
2103
2104 * bfd-in2.h: Add support for BFD_RELOC_V850_16_PCREL relocation.
2105
2106 start-sanitize-v850e
2107 Mon Aug 18 11:33:56 1997 Nick Clifton <nickc@cygnus.com>
2108
2109 * cpu-v850e: New file.
2110
2111 * elf.c (prep_headers): Add support for v850e target.
2112
2113 * bfd-in2.h (bfd_architecture): Add support for v850e target.
2114
2115 * config.bfd: Add support for v850e target.
2116
2117 * archures.c: Add support for v850e target.
2118
2119 Mon Aug 18 11:33:56 1997 Nick Clifton <nickc@cygnus.com>
2120
2121 * cpu-v850ea: New file.
2122
2123 * elf.c (prep_headers): Add support for v850ea target.
2124
2125 * bfd-in2.h (bfd_architecture): Add support for v850ea target.
2126
2127 * config.bfd: Add support for v850ea target.
2128
2129 * archures.c: Add support for v850ea target.
2130 end-sanitize-v850e
2131
2132 Fri Aug 15 12:01:28 1997 Ian Lance Taylor <ian@cygnus.com>
2133
2134 * coffgen.c (coff_find_nearest_line): Correctly handle the offset
2135 argument as section relative, rather than an absolute address.
2136 From Jan Hoogenraad <hoogenrd@natlab.research.philips.com>.
2137
2138 Fri Aug 15 04:58:02 1997 Doug Evans <dje@canuck.cygnus.com>
2139
2140 * config.bfd (arc-*-elf*): Add.
2141 * configure.in (bfd_elf32_{little,big}arc_vec): Add.
2142 * configure: Rebuild.
2143 * Makefile.am (ALL_MACHINES): Add cpu-arc.lo.
2144 (BFD32_BACKENDS): Add elf32-arc.lo.
2145 (cpu-arc.lo,elf32-arc.lo): Add rules for.
2146 * Makefile.in: Rebuild.
2147 * archures.c (architecture list): Add bfd_arch_arc.
2148 (bfd_archures_list): Add bfd_arc_arch.
2149 (bfd_mach_arc_base): Define.
2150 * reloc.c (BFD_RELOC_ARC_B22_PCREL,BFD_RELOC_ARC_B26): Add.
2151 * targets.c (bfd_elf32_{little,big}arc_vec): Declare.
2152 (bfd_target_vect): Add them.
2153 * bfd-in2.h, libbfd.h: Rebuild.
2154 * cpu-arc.c, elf32-arc.c: New files.
2155 * elf.c (pre_headers): Recognize bfd_arch_arc.
2156
2157 Tue Aug 12 11:45:18 1997 Ian Lance Taylor <ian@cygnus.com>
2158
2159 * aoutx.h (NAME(aout,final_link)): If no symbols, make sure the
2160 data section is correctly rounded to a page in the file.
2161
2162 Mon Aug 11 12:45:43 1997 Ian Lance Taylor <ian@cygnus.com>
2163
2164 * aoutx.h (NAME(aout,final_link)): Don't emit the string table if
2165 there are no symbols.
2166
2167 Sun Aug 10 14:45:56 1997 Ian Lance Taylor <ian@cygnus.com>
2168
2169 * coff-stgo32.c: Rename from coff-stubgo32.c to avoid old System V
2170 file system 14 character limit.
2171 * Makefile.am, configure.in: Corresponding changes.
2172 * Makefile.in, configure: Rebuild.
2173
2174 Fri Aug 8 18:34:36 1997 Ian Lance Taylor <ian@cygnus.com>
2175
2176 * Makefile.am: (ALL_MACHINES_CFILES): Add elf32-d10v.c.
2177 Rebuild dependencies.
2178 * Makefile.in: Rebuild.
2179
2180 Wed Aug 6 18:56:51 1997 Ian Lance Taylor <ian@cygnus.com>
2181
2182 * Makefile.am (docdir): Define.
2183 * Makefile.in: Rebuild.
2184
2185 Tue Aug 5 23:05:03 1997 Ian Lance Taylor <ian@cygnus.com>
2186
2187 * configure: Rebuild with autoconf 2.12.1.
2188
2189 Mon Aug 4 12:00:35 1997 Ian Lance Taylor <ian@cygnus.com>
2190
2191 * aclocal.m4, configure: Rebuild with new automake patches.
2192
2193 Sun Aug 3 08:15:12 1997 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
2194
2195 * rs6000-core.c (make_bfd_asection): New function to add a section
2196 to the core file bfd.
2197 (rs6000coff_core_p): Use make_bfd_asection to add the core file
2198 sections.
2199 Use BFD routines to seek, read and stat the core file.
2200 Handle .data sections from loaded objects and anonymously mmapped
2201 regions, these are available in AIX 4 core files.
2202
2203 Fri Aug 1 12:58:32 1997 Ian Lance Taylor <ian@cygnus.com>
2204
2205 * configure.in: Set enable_shared before AM_PROG_LIBTOOL.
2206 * acinclude.m4: Move acmacros.m4 in here. Remove AM_PROG_LIBTOOL
2207 copy; use a patches libtool instead.
2208 * acmacros.m4: Remove.
2209 * Makefile.in, aclocal.m4, configure: Rebuild.
2210
2211 Thu Jul 31 19:55:36 1997 Ian Lance Taylor <ian@cygnus.com>
2212
2213 * Makefile.am: New file, based on old Makefile.in.
2214 * acmacros.m4: New file, copied from old aclocal.m4.
2215 * acinclude.m4: New file.
2216 * configure.in: Call AM_PROG_LIBTOOL. Remove shared library
2217 handling; now handled by libtool. Replace AC_CONFIG_HEADER with
2218 AM_CONFIG_HEADER. Replace AC_PROG_INSTALL with AM_PROG_INSTALL.
2219 Call AM_MAINTAINER_MODE, AM_CYGWIN32, and AM_EXEEXT. Change all
2220 .o files to .lo. Remove stamp-h handling in AC_OUTPUT.
2221 * acconfig.h: Mention PACKAGE and VERSION.
2222 * stamp-h.in: New file.
2223 * dep-in.sed: Change .o to .lo.
2224 * Makefile.in: Now built with automake.
2225 * aclocal.m4: Now built with aclocal.
2226 * config.in, configure: Rebuild.
2227 * VERSION: Remove.
2228
2229 Thu Jul 31 12:09:20 1997 Geoff Keating <geoffk@ozemail.com.au>
2230
2231 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Don't set TEXTREL
2232 if there is only a relocation to a read-only but not allocatable
2233 section (like .stab).
2234 * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
2235 * elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
2236 * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
2237 * elf32-mips.c (mips_elf_size_dynamic_sections): Likewise.
2238 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise.
2239
2240 * elf32-ppc.c (ppc_elf_howto_raw): Correct various comments.
2241 (ppc_elf_create_linker_section): These sections are not
2242 created by the linker (that is, they are created by the user
2243 putting data in them). In particular, they can be the source
2244 and target of relocations.
2245 (ppc_elf_adjust_dynamic_symbol): Check postcondition of
2246 bfd_elf32_link_record_dynamic_symbol. Align 16-byte common
2247 objects (for instance, 'long double') to 16-byte boundaries.
2248 (ppc_elf_size_dynamic_sections): Make the code that generates
2249 section symbols exactly the same as for sparc, reducing the
2250 number of section symbols output.
2251 (ppc_elf_check_relocs): Check postcondition of
2252 bfd_elf32_link_record_dynamic_symbol. Make default case the
2253 same as corresponding code for sparc, fixing bug involving
2254 .rela.stabs.
2255 (ppc_elf_finish_dynamic_symbol): Fix case involving GOT symbols
2256 forced to be local because of versioning (by replicating
2257 corresponding change in sparc). Treat R_PPC_RELATIVE RELA relocs
2258 as usual in ELF, not as pseudo-REL relocs (as the sparc linker
2259 does).
2260 (ppc_elf_relocate_section): Add handy debugging code for when
2261 assertion fails. Add some more 'symbol made local because of
2262 versioning' cases.
2263
2264 * elf32-ppc.c (ppc_elf_relocate_section): Cope with addend when
2265 processing a GOT relocation as required by ABI.
2266
2267 Wed Jul 30 21:30:35 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2268
2269 * elflink.h (NAME(bfd_elf,record_link_assignment)): Remove any
2270 version info if this symbol came from a dynamic object.
2271 (elf_link_add_object_symbols): Set the version info of a symbol
2272 only if the object actually contains version definitions and
2273 defines this symbol.
2274
2275 Mon Jul 28 18:07:43 1997 Rob Savoye <rob@chinadoll.cygnus.com>
2276
2277 * aclocal.m4: Add CYGWIN and EXEEXT autoconf macros.
2278 * configure.in: Use CYGWIN and EXEEXT autoconf macro to look for
2279 win32 dependencies.
2280 * configure: Regenerated with autoconf 2.12.
2281 * doc/Makefile.in: Add $(EXEEXT) to chew executable.
2282
2283 Mon Jul 28 02:50:29 1997 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
2284
2285 * rs6000-core.c (rs6000coff_core_p): If CORE_TRUNC is set, print
2286 a warning rather than returning an error.
2287
2288 Sun Jul 27 19:54:14 1997 Felix Lee <flee@cygnus.com>
2289
2290 * coffswap.h (coff_swap_aux_in): add semicolon to make MSVC happy.
2291
2292 Fri Jul 25 14:50:08 1997 Felix Lee <flee@cygnus.com>
2293
2294 * cisco-core.c: define signals for wingdb.
2295
2296 Fri Jul 25 16:27:07 1997 Ian Lance Taylor <ian@cygnus.com>
2297
2298 * ecofflink.c (bfd_ecoff_debug_accumulate): Only merge files with
2299 the same number of aux entries.
2300
2301 Fri Jul 25 08:22:15 1997 Jeffrey A Law (law@cygnus.com)
2302
2303 * som.c (hppa_som_gen_reloc_type): Use R_DATA_EXPR for the
2304 difference of two symbols if the relocation size is 32 bits.
2305 (som_write_fixups): Handle R_DATA_EXPR.
2306
2307 Wed Jul 23 16:08:02 1997 Ian Lance Taylor <ian@cygnus.com>
2308
2309 * coff-i386.c (coff_i386_reloc): Don't offset a common symbol by
2310 its value if COFF_WITH_PE is defined.
2311
2312 Tue Jul 22 17:19:45 1997 Robert Hoehne <robert.hoehne@Mathematik.TU-Chemnitz.DE>
2313
2314 * coff-stubgo32.c: New file.
2315 * go32stub.h: New file.
2316 * coff-i386.c: If COFF_GO32_EXE, include coff/go32exe.h.
2317 * coffswap.h (coff_swap_filehdr_in): Invoke
2318 COFF_ADJUST_FILEHDR_IN_PRE and COFF_ADJUST_FILEHDR_IN_POST if they
2319 are defined.
2320 (coff_swap_filehdr_out): Invoke COFF_ADJUST_FILEHDR_OUT_PRE and
2321 COFF_ADJUST_FILEHDR_OUT_POST if they are defined.
2322 (coff_swap_aux_in): Invoke COFF_ADJUST_AUX_IN_PRE and
2323 COFF_ADJUST_AUX_IN_POST if they are defined.
2324 (coff_swap_aux_out): Invoke COFF_ADJUST_AUX_OUT_PRE and
2325 COFF_ADJUST_AUX_OUT_POST if they are defined.
2326 (coff_swap_scnhdr_in): Invoke COFF_ADJUST_SCNHDR_IN_PRE and
2327 COFF_ADJUST_SCNHDR_IN_POST if they are defined.
2328 (coff_swap_scnhdr_out): Invoke COFF_ADJUST_SCNHDR_OUT_PRE and
2329 COFF_ADJUST_SCNHDR_OUT_POST if they are defined.
2330 * targets.c (go32stubbedcoff_vec): Declare.
2331 (bfd_target_vector): Add go32stubbedcoff_vec.
2332 * configure.in (go32coff_vec): New target vector.
2333 (go32stubbedcoff_vec): Likewise.
2334 * config.bfd (i[3456]86-*-msdosdjgpp*): New target.
2335 (i[3456]86-*-go32*): Change to be like new msdosdjgpp*.
2336 * Makefile.in: Rebuild dependencies.
2337 (BFD32_BACKENDS): Add coff-stubgo32.o.
2338 (BFD32_BACKENDS_CFILES): Add coff-stubgo32.c.
2339 (HFILES): Add go32stub.h.
2340
2341 Tue Jul 22 15:09:12 1997 Ian Lance Taylor <ian@cygnus.com>
2342
2343 * configure.in: Check for fdopen.
2344 * configure, config.in: Rebuild.
2345 * opncls.c (bfd_fdopenr): Check HAVE_FDOPEN rather than VMS or
2346 __GO32__. Reindent a bit.
2347
2348 Sun Jul 20 20:05:20 1997 Ian Lance Taylor <ian@cygnus.com>
2349
2350 * sunos.c (sunos_create_dynamic_sections): Set SEC_LINKER_CREATED
2351 flag for newly created sections.
2352 (sunos_add_dynamic_symbols): Don't discard newly created sections
2353 if shared library is dynobj.
2354
2355 Mon Jul 14 15:33:55 1997 Ian Lance Taylor <ian@cygnus.com>
2356
2357 * elf.c (map_sections_to_segments): When checking whether
2358 including a section in a segment would force us to skip a page,
2359 align the address of the next segment to avoid wraparound
2360 problems.
2361
2362 start-sanitize-tic80
2363 Tue Jul 8 12:11:29 1997 Fred Fish <fnf@cygnus.com>
2364
2365 * coffcode.h (coff_write_object_contents): Initialize
2366 target id field to TIC80_TARGET_ID.
2367 * coffswap.h (coff_swap_filehdr_out): Swap out target id field
2368 if used.
2369 (coff_swap_filehdr_in): Swap in target id field if used.
2370
2371 end-sanitize-tic80
2372 Mon Jul 7 16:41:20 1997 Ian Lance Taylor <ian@cygnus.com>
2373
2374 * coff-i386.c (coff_i386_is_local_label_name): New static function
2375 if TARGET_UNDERSCORE.
2376 (coff_bfd_is_local_label_name): Define if TARGET_UNDERSCORE.
2377 (i386coff_vec): Add SEC_CODE and SEC_DATA to section_flags.
2378
2379 Mon Jun 30 14:29:26 1997 Ian Lance Taylor <ian@cygnus.com>
2380
2381 * elf32-m68k.c (howto_table): Use complain_overflow_bitfield, not
2382 complain_overflow_signed, for 32 bit PC relative relocations.
2383
2384 Thu Jun 26 01:26:31 1997 Ian Lance Taylor <ian@cygnus.com>
2385
2386 * elflink.h (elf_link_add_object_symbols): When a version
2387 indirection symbol is overridden, make the original symbol point
2388 at the real overriding symbol.
2389
2390 * elf.c (bfd_elf_string_from_elf_section): Check for an invalid
2391 string index.
2392
2393 * elflink.h (elf_link_output_extsym): Use the right section for a
2394 common symbol.
2395 * elf32-mips.c (mips_elf_link_output_symbol_hook): If a common
2396 symbol was in .scommon, mark it as SHN_MIPS_SCOMMON.
2397
2398 Wed Jun 25 12:43:10 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
2399
2400 * elflink.h (elf_merge_symbols): Resolve indirect and warning
2401 symbols before checking for new symbols.
2402
2403 * elfcore.h (elf_corefile_note): Move out of HAVE_SYS_PROCFS_H.
2404
2405 Tue Jun 24 11:20:43 1997 Ian Lance Taylor <ian@cygnus.com>
2406
2407 * coffgen.c (coff_object_p): Read the f_opthdr bytes from the
2408 file, not aoutsz bytes (they are different in XCOFF .o files).
2409
2410 * xcofflink.c (xcoff_link_add_symbols): Permit symbols to be
2411 redefined by objects included from archives.
2412
2413 Mon Jun 23 18:03:27 1997 Ian Lance Taylor <ian@cygnus.com>
2414
2415 * elflink.h (elf_merge_symbol): In the case of a new defined
2416 symbol overriding an old defined symbol, return the hash table
2417 entry which we modify, even if it is the target of an
2418 indirection.
2419 (elf_link_add_object_symbols): If the real name of the symbol gets
2420 overridden, convert the versioned symbol into an indirect symbol
2421 to the real symbol.
2422
2423 * elflink.h (elf_merge_symbol): New static function, broken out of
2424 elf_link_add_object_symbols.
2425 (elf_link_add_object_symbols): Call it.
2426
2427 Sun Jun 22 19:40:57 1997 Ian Lance Taylor <ian@cygnus.com>
2428
2429 * coff-i386.c (i3coff_object_p): If COFF_IMAGE_WITH_PE, hack to
2430 handle case where COFF filehdr does not immediately follow PE
2431 header.
2432 * coffgen.c (coff_object_p): Remove useless seek to current
2433 location.
2434
2435 Wed Jun 18 19:03:38 1997 Ian Lance Taylor <ian@cygnus.com>
2436
2437 * linker.c (link_action): Change COMMON_ROW/indr to from CREF to
2438 REFC.
2439
2440 Tue Jun 17 11:55:02 1997 Ian Lance Taylor <ian@cygnus.com>
2441
2442 * cofflink.c (_bfd_coff_link_input_bfd): If stripping debugging
2443 symbols, skip N_ABS symbols with debugging storage classes.
2444
2445 Mon Jun 16 18:56:27 1997 Geoff Keating <geoffk@ozemail.com.au>
2446
2447 * elf32-ppc.c (ppc_elf_relocate_section): Don't emit R_PPC_REL*
2448 relocs in shared libraries which refer to local symbols. Cope
2449 with addend when processing a GOT relocation.
2450
2451 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Only create symbols
2452 for sections that the linker didn't create.
2453 (ppc_elf_finish_dynamic_sections): Only try to write out a section
2454 symbol if it was created in ppc_elf_size_dynamic_sections.
2455 (ppc_elf_relocate_section): Complain if we have to generate a reloc
2456 relative to a section for which we didn't output a symbol.
2457
2458 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Clean up. PLT
2459 relocs are 'rela' relocs, like everything else. .rela.plt is not
2460 a read-only section, so we don't have to special-case it.
2461
2462 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Entries in the
2463 .rela.bss section are (of course) 'rela' relocs not 'rel' relocs.
2464
2465 * elf32-ppc.c (ppc_elf_check_relocs): Initialise srelgot.
2466 (ppc_elf_relocate_section): @got offsets are 4 from start of the
2467 actual .got section.
2468 * elflink.c (_bfd_elf_create_got_section): The three reserved
2469 words start from the symbol '_GLOBAL_OFFSET_TABLE_'.
2470
2471 * elf32-ppc.c (ppc_elf_size_dynamic_sections): '.rela' is 5
2472 characters, not 4.
2473
2474 * elf32-ppc.c (ppc_elf_check_relocs): Use
2475 _bfd_elf_create_got_section to create the GOT rather than
2476 ppc_elf_create_linker_section. Create the '.rela.got' section
2477 ourselves.
2478 (ppc_elf_finish_dynamic_symbol): Set up GOT relocations when a
2479 symbol has a GOT entry.
2480 (ppc_elf_relocate_section): Record when a symbol is used through
2481 the GOT, and allocate space in the GOT for each such symbol.
2482 (ppc_elf_adjust_dynamic_symbol): Delete unused .got.plt stuff.
2483 (ppc_elf_create_linker_section): Delete unused LINKER_SECTION_GOT
2484 stuff.
2485
2486 * elf32-ppc.c (ppc_elf_howto_raw): GOT16_HA relocs should be
2487 treated in a similar way to ADDR16_HA relocs.
2488 (ppc_elf_relocate_section): PLTREL24 relocs do not get copied into
2489 shared objects; the linker must deal with them.
2490 (ppc_elf_create_linker_section): Stop setting
2491 _GLOBAL_OFFSET_TABLE_ to the wrong value; delete unused
2492 LINKER_SECTION_PLT stuff.
2493 (ppc_elf_check_relocs): Delete unused LINKER_SECTION_PLT stuff.
2494 (ppc_elf_finish_dynamic_sections): Use BFD calls to get GOT
2495 section, not ELF-specific calls.
2496 (elf_backend_plt_not_loaded): Set to 1.
2497 (elf_backend_got_symbol_offset): Set to 4.
2498 * elf-bfd.h (elf_backend_data): Add 'plt_not_loaded' member
2499 for when ld.so fills in the PLT; and 'got_symbol_offset' member.
2500 * elflink.c (_bfd_elf_create_dynamic_sections): Apply
2501 plt_not_loaded member.
2502 (_bfd_elf_create_got_section): Apply got_symbol_offset.
2503 * elfxx-target.h (elf_backend_plt_not_loaded): Set default to
2504 'loaded'.
2505 (elf_backend_G_O_T_offset): Set default to 0.
2506 (elfNN_bed): Set added fields.
2507
2508 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Was setting
2509 DT_RELENT in shared objects; should be DT_RELAENT.
2510
2511 * elf32-ppc.c (ppc_elf_relocate_section): Propagate
2512 R_PPC_ADDR16_HA relocs to shared objects. Cope with case where
2513 such a reloc (in a non-shared object) refers to a symbol that's
2514 not defined.
2515
2516 Mon Jun 16 14:42:14 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
2517
2518 * elfcode.h (put_signed_word): Define.
2519 (get_signed_word): Define.
2520 (elf_swap_reloca_in): Use get_signed_word for the r_addend field.
2521 (elf_swap_reloca_out): Use put_signed_word for the r_addend
2522 field.
2523 * elf32-m68k.c (elf_m68k_finish_dynamic_symbol): Use
2524 bfd_get_signed_32 to set the r_addend field.
2525 * elf64-mips.c (mips_elf64_swap_reloca_in): Use
2526 bfd_h_get_signed_64 to set the r_addend field.
2527
2528 Mon Jun 16 12:31:29 1997 Ian Lance Taylor <ian@cygnus.com>
2529
2530 * elf32-i386.c (elf_i386_relocate_section): When generating a
2531 shared library, do the relocation if the input section is not
2532 allocated in memory.
2533
2534 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Call
2535 elf_link_assign_sym_version before elf_adjust_dynamic_symbol.
2536 (elf_fix_symbol_flags): New static function, broken out of
2537 elf_adjust_dynamic_symbol.
2538 (elf_adjust_dynamic_symbol): Call elf_fix_symbol_flags.
2539 (elf_link_assign_sym_version): Likewise. Permit a symbol to be
2540 forced local even if NEEDS_PLT is set. When forcing a symbol to
2541 be local, clear NEEDS_PLT.
2542 (elf_link_output_extsym): Remove unused local bed.
2543
2544 Wed Jun 11 22:44:20 1997 Jeffrey A Law (law@cygnus.com)
2545
2546 * elf32-mn10300.c (elf32_mn10300_link_hash_entry): New structure
2547 for derived elf linker hash table entries. References to
2548 elf_link_hash_entry changed appropriately.
2549 (elf32_mn10300_link_hash_table): New structure for derived elf
2550 linker hash table.
2551 (elf32_mn10300_hash_table): Define.
2552 (elf32_mn10300_link_hash_traverse): Likewise.
2553 (elf32_mn10300_link_hash_newfunc): New function.
2554 (elf32_mn10300_link_hash_table_create): Likewise.
2555 (elf32_mn10300_finish_hash_table_entry): Likewise.
2556 (mn10300_elf_relax_section): Handle "call" -> "calls", removal
2557 of prologue code, and call:32->call:16 relaxing.
2558 (compute_function_info: New function.
2559 (bfd_elf32_bfd_ilink_hash_table_create): Define.
2560
2561 Wed Jun 11 00:00:07 1997 Ian Lance Taylor <ian@cygnus.com>
2562
2563 * elflink.h (elf_link_output_extsym): Call finish_dynamic_symbol
2564 for a symbol which is being forced to be local.
2565 * elf32-i386.c (elf_i386_relocate_section): Write out the
2566 relocation value for a GOT reloc for a symbol which is turning
2567 into a local symbol.
2568 (elf_i386_finish_dynamic_symbol): If a symbol is turning into a
2569 local symbol, write out a RELATIVE reloc rather than a GLOB_DAT
2570 reloc.
2571 * elf32-m68k.c, elf32-sparc.c: Corresponding changes.
2572
2573 * elf32-i386.c (elf_i386_relocate_section): Get the relocation
2574 value if the symbol is turning into a local symbol.
2575 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
2576 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
2577
2578 1997-06-10 22:58 Ulrich Drepper <drepper@cygnus.com>
2579
2580 * elflink.h (elf_link_add_object_symbols): Also read verneed
2581 information by calling `_bfd_elf_slurp_version_tables'.
2582 (elf_link_add_object_symbols): For undefined symbols look for
2583 version information in the verneed records.
2584 (elf_link_add_object_symbols): Use soname of shared object
2585 for verneed record if it is available.
2586
2587 Tue Jun 10 11:13:03 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
2588
2589 * cpu-arm.c: Add prototypes for compatible and scan.
2590 * cofflink.c: Add prototype for mark_relocs.
2591
2592 * archive.c (bfd_special_undocumented_glue): Change filename to
2593 const pointer. Add prototype.
2594
2595 Mon Jun 9 12:34:21 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2596
2597 * elflink.h (elf_link_add_object_symbols): Ignore relocations of
2598 sections that will be discarded.
2599
2600 1997-06-06 22:58 Ulrich Drepper <drepper@cygnus.com>
2601
2602 * elflink.h (elf_link_find_version_dependencies): When searching
2603 for known version symbol skip non-matching verdef records, not
2604 matching records.
2605
2606 Thu Jun 5 15:52:45 1997 Ian Lance Taylor <ian@cygnus.com>
2607
2608 * cofflink.c (_bfd_coff_generic_relocate_section): Write a long,
2609 not a bfd_vma, to the base file, to match how dlltool reads it.
2610
2611 Tue Jun 3 16:57:45 1997 Nick Clifton <nickc@cygnus.com>
2612
2613 * reloc.c: Add thumb relocations.
2614
2615 * bfd-in2.h: Add Thumb relocations.
2616
2617 * libbfd.h: Add Thumb relocations.
2618
2619 Mon Jun 2 10:41:52 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2620
2621 * cpu-m68k.c (arch_info_struct): Fix 68060 cpu name.
2622
2623 Fri May 30 12:46:27 1997 Ian Lance Taylor <ian@cygnus.com>
2624
2625 * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Set dynindx
2626 for a section even if it is not loaded.
2627
2628 * cofflink.c (coff_link_add_symbols): If PE file, don't subtract
2629 section VMA.
2630 (_bfd_coff_link_input_bfd): Separate section VMA handling for
2631 input and output files.
2632 (_bfd_coff_generic_relocate_section): Check whether input file,
2633 not output file, is a PE file.
2634
2635 Wed May 28 15:48:43 1997 Nick Clifton <nickc@cygnus.com>
2636
2637 * coff-arm.c: (coff_arm_bfd_set_private_flags): Make static.
2638
2639 Wed May 28 16:16:04 1997 Ian Lance Taylor <ian@cygnus.com>
2640
2641 * coff-i386.c (coff_i386_reloc): Don't just exit if we see an
2642 R_IMAGEBASE reloc.
2643
2644 Wed May 28 09:48:43 1997 Nick Clifton <nickc@cygnus.com>
2645
2646 * cpu-arm.c (compatible): Add test for supersets of ARM
2647 architectures.
2648
2649 Tue May 27 19:42:03 1997 Bob Manson <manson@charmed.cygnus.com>
2650
2651 * cofflink.c (_bfd_coff_final_link): Initialize global_to_static
2652 member.
2653
2654 Tue May 27 14:34:08 1997 Nick Clifton <nickc@cygnus.com>
2655
2656 * coff-arm.c (coff_arm_bfd_set_private_flags): Make global. It is
2657 called directly by gas/config/tc-arm.c.
2658
2659 Tue May 27 15:58:53 1997 Richard Henderson <rth@tamu.edu>
2660
2661 * elf64-alpha.c (PLT_ENTRY_*): Use a new thread-safe format.
2662 (elf64_alpha_finish_dynamic_symbol): Fill it in properly.
2663
2664 Mon May 26 14:05:13 1997 Ian Lance Taylor <ian@cygnus.com>
2665
2666 * coff-ppc.c (coff_ppc_relocate_section): If PE file, don't add
2667 section VMA.
2668
2669 Mon May 26 10:57:48 1997 Fred Fish <fnf@cygnus.com>
2670
2671 * peicode.h (coff_bfd_print_private_bfd_data): #undef before #define.
2672 (coff_bfd_copy_private_bfd_data): Ditto.
2673 * coff-arm.c (coff_arm_bfd_merge_private_bfd_data): Make static.
2674 (coff_arm_bfd_print_private_bfd_data): Ditto.
2675 (coff_arm_bfd_set_private_flags): Ditto.
2676 (coff_arm_bfd_copy_private_bfd_data): Ditto.
2677
2678 Fri May 23 15:14:58 1997 Fred Fish <fnf@cygnus.com>
2679
2680 * libcoff-in.h (struct coff_final_link_info): Add boolean
2681 global_to_static member for support of task linking.
2682 (_bfd_coff_write_task_globals): Add prototype.
2683 * libcoff.h: Regenerate.
2684 * coffcode.h (coff_write_object_contents): Use #ifdef to
2685 check RS6000COFF_C, to be consistent with all other uses
2686 in this file.
2687 * cofflink.c (_bfd_coff_final_link): If doing task linking,
2688 call _bfd_coff_write_task_globals.
2689 (_bfd_coff_link_input_bfd): If doing task linking, convert
2690 global functions to static.
2691 (_bfd_coff_write_global_sym): If doing task linking, convert
2692 global variables to static.
2693 (_bfd_coff_write_task_globals): New function.
2694 start-sanitize-tic80
2695 * coff-tic80.c (TIC80COFF): Define this instead of just TIC80.
2696 (C_AUTOARG): #undef since it clashes with C_UEXT.
2697 (C_LASTENT): #undef since it clashes with C_STATLAB.
2698 * coffcode.h (coff_write_object_contents): Use TIC80COFF
2699 rather than TIC80.
2700 (coff_slurp_symbol_table): Use C_SYSTEM. Hide C_AUTOARG use
2701 when TIC80COFF defined (clashes with C_UEXT). Explicitly
2702 recognize C_UEXT, C_STATLAB, and C_EXTLAB as unsupported.
2703 end-sanitize-tic80
2704
2705 start-sanitize-tic80
2706 Fri May 23 12:38:24 1997 Ian Lance Taylor <ian@cygnus.com>
2707
2708 * coff-tic80.c (tic80_howto_table): Change overflow check for most
2709 PP relocations to complain_overflow_dont.
2710
2711 Thu May 22 20:22:14 1997 Ian Lance Taylor <ian@cygnus.com>
2712
2713 * coff-tic80.c (tic80_howto_table): Add PP relocations. Change
2714 name of R_RELLONG to "RELLONG". Set rightshift and complain for
2715 M_PPCR.
2716 (ppbase_reloc, glob15_reloc): New static functions.
2717 (glob16_reloc, local16_reloc): New static functions.
2718 (rtype2howto): Handle all relocation types.
2719 (coff_tic80_relocate_section): New static function.
2720 (coff_relocate_section): Define to coff_tic80_relocate_section.
2721 * Makefile.in (coff-tic80.o): Depends upon include/coff/tic80.h.
2722
2723 end-sanitize-tic80
2724 Wed May 21 17:15:50 1997 Ian Lance Taylor <ian@cygnus.com>
2725
2726 * coffcode.h (coff_slurp_symbol_table): If COFF_WITH_PE or
2727 COFF_IMAGE_WITH_PE, don't subtract the section VMA from the symbol
2728 value.
2729 * coffgen.c (fixup_symbol_value): Add abfd parameter. Change all
2730 callers. If PE file, don't add section VMA.
2731 (coff_write_alien_symbol): If PE file, don't add section VMA.
2732 * cofflink.c (_bfd_coff_link_input_bfd): Likewise.
2733 (_bfd_coff_write_global_sym): Likewise.
2734 (_bfd_coff_generic_relocate_section): Likewise.
2735
2736 * peicode.h: Add & 0xffffffff when using ImageBase in case bfd_vma
2737 is 64 bits.
2738
2739 Wed May 21 09:58:10 1997 Nick Clifton <nickc@cygnus.com>
2740
2741 * cofflink.c (mark_relocs): Add new function to mark symbols which
2742 are used by relocations.
2743 (_bfd_coff_link_input_bfd): Add call to mark_relocs() and code to
2744 suppress the skipping of symbols that have thus been marked.
2745
2746 Tue May 20 18:45:26 1997 Ian Lance Taylor <ian@cygnus.com>
2747
2748 * coff-sh.c (sh_merge_private_data): New static function.
2749 (coff_bfd_merge_private_bfd_data): Define.
2750
2751 start-sanitize-tic80
2752 Mon May 19 14:46:00 1997 Mark Alexander <marka@cygnus.com>
2753
2754 * coff-tic80.c: Remove unnecessary #ifdefs.
2755 * config.bfd: Set targ_underscore to yes for tic80.
2756
2757 Mon May 19 14:26:36 1997 Mark Alexander <marka@cygnus.com>
2758
2759 * coff-tic80.c (NAMES_HAVE_UNDERSCORE): Define (fixes problem
2760 with unresolved external symbols in GDB).
2761
2762 end-sanitize-tic80
2763 Fri May 16 10:23:03 1997 Jeffrey A Law (law@cygnus.com)
2764
2765 * elf-m10300.c (elf32_mn10300_relax_section): Read in all
2766 the symbols associated with each BFD.
2767 (mn10300_elf_relax_delete_bytes): Don't adjust the same symbol
2768 more than once.
2769 * elf-m10200.c: Likewise.
2770 * elf32-m32r.c: Likewise.
2771 * elf32-sh.c: Likewise.
2772
2773 Fri May 16 12:10:52 1997 Ian Lance Taylor <ian@cygnus.com>
2774
2775 * elflink.h (elf_link_add_object_symbols): Don't decrease the
2776 alignment of a common symbol. If two symbols that look like
2777 common symbols are found in two shared libraries, and the size is
2778 different, use the larger size, and warn if --warn-common. If a
2779 common symbol overrides a definition in a shared library, set the
2780 size to the larger size, and warn if --warn-common.
2781
2782 Thu May 15 14:31:28 1997 Nick Clifton <nickc@cygnus.com>
2783
2784 * cpu-arm.c (compatible): Allow default machine to be polymorphed
2785 into any other machine type.
2786
2787 * coffcode.h (coff_set_flags): Initialise flags variable to 0.
2788
2789 * coff-arm.c (coff_arm_bfd_merge_private_bfd_data): When merging
2790 data into an unitialised destination set its machine type as well.
2791
2792 Thu May 15 16:40:20 1997 Ian Lance Taylor <ian@cygnus.com>
2793
2794 * elflink.h (elf_link_add_object_symbols): Force ELF symbol size
2795 to common symbol size. Consistently treat uninitialized symbols
2796 in shared objects as common symbols.
2797
2798 Fri May 9 10:15:27 1997 Nick Clifton <nickc@cygnus.com>
2799
2800 * archures.c (constants): Added new constants to identify the
2801 type of the ARM architecture: bfd_mach_arm_2, bfd_mach_arm_2a,
2802 bfd_mach_arm_3, bfd_mach_arm_3M, bfd_mach_arm_4 and bfd_mach_arm_4T.
2803
2804 * bfd-in2.h (constants): Added new constants to identify
2805 the type of the ARM architecture: bfd_mach_arm_2, bfd_mach_arm_2a,
2806 bfd_mach_arm_3, bfd_mach_arm_3M, bfd_mach_arm_4 and
2807 bfd_mach_arm_4T. This file is auto-magically generated from the
2808 archures.c file. This update is just to save work.
2809
2810 * coff-arm.c (coff_arm_bfd_merge_private_bfd_data,
2811 coff_arm_bfd_print_private_bfd_data,
2812 coff_arm_bfd_set_private_flags,
2813 coff_arm_bfd_copy_private_bfd_data): Added these new functions.
2814 (global): Macro redefinitions set up to use these new functions.
2815
2816 * coffcode.h (coff_mkobject_hook): Added call to
2817 coff_arm_bfd_set_private_flags().
2818 (coff_set_arch_mach_hook): Added code to set machine type based on
2819 bits stored in internal flags.
2820 (coff_set_flags): Added code to set the new bits in the flags
2821 field based on the machine number.
2822 (function definition macros): Made all function definition macros
2823 conditional so that they can be overridden by target specific
2824 files.
2825
2826 * cpu-arm.c (compatible): Added this function. (arch_info_struct):
2827 Structure extended to include new types, one each for ARMv2,
2828 ARMv2a, ARMv3, ARMv3M, ARMv4 and ARMv4T.
2829
2830 * libcoff-in.h (struct coff_tdata): Added flags field.
2831
2832 Fri May 9 17:40:02 1997 Ian Lance Taylor <ian@cygnus.com>
2833
2834 * config.bfd (i[3456]86-*-gnu*): Don't include Mach support.
2835
2836 * config.bfd: Change #if 0 around uses of host_aout_vec to #if
2837 HAVE_host_aout_vec.
2838
2839 Mon May 5 13:57:32 1997 Mike Meissner <meissner@cygnus.com>
2840
2841 * coffgen.c (coff_find_nearest_line): If there are no syments,
2842 just return false.
2843
2844 Mon May 5 18:18:45 1997 Philip Blundell <pjb27@cam.ac.uk>
2845
2846 * config.bfd: cope with '*-*-linux-gnuaout' targets.
2847
2848 Thu May 1 11:31:12 1997 Ian Lance Taylor <ian@cygnus.com>
2849
2850 * targmatch.sed: Add explicit \n characters to work around bug in
2851 HP/UX 10.20 sed program.
2852
2853 Wed Apr 30 12:27:03 1997 Ian Lance Taylor <ian@cygnus.com>
2854
2855 * elf.c (copy_private_bfd_data): Cast csecs to avoid sign
2856 extension problems.
2857
2858 Tue Apr 22 12:06:08 1997 Ian Lance Taylor <ian@cygnus.com>
2859
2860 * Makefile.in (do_maintainer_clean): Don't remove bfd-in2.h.
2861
2862 Mon Apr 21 11:21:31 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2863
2864 * elf32-m68k.c: Follow the last changes in elf32-i386.c:
2865 (struct elf_m68k_pcrel_relocs_copied, struct
2866 elf_m68k_link_hash_entry, struct elf_m68k_link_hash_table,
2867 elf_m68k_link_hash_traverse, elf_m68k_hash_table,
2868 elf_m68k_link_hash_newfunc, elf_m68k_link_hash_table_create,
2869 elf_m68k_discard_copies, bfd_elf32_bfd_link_hash_table_create):
2870 New definitions.
2871 (elf_m68k_check_relocs): If linking with -Bsymbolic, don't copy
2872 PC relative relocs for a global symbol defined in a regular
2873 object, and count the number of PC relative relocs copied for any
2874 global symbol.
2875 (elf_m68k_size_dynamic_sections): If linking with -Bsymbolic,
2876 traverse with elf_m68k_discard_copies.
2877
2878 Sat Apr 19 22:50:14 1997 Ian Lance Taylor <ian@cygnus.com>
2879
2880 * elf32-i386.c (elf_i386_check_relocs): Only count PC relative
2881 relocs. From Jamie Lokier <jamie@rebellion.co.uk>.
2882
2883 * coffcode.h (coff_compute_section_file_positions): Force the
2884 potential last byte in the file to be written out when
2885 COFF_IMAGE_WITH_PE.
2886
2887 Thu Apr 17 13:46:56 1997 Per Fogelstrom <pefo@openbsd.org>
2888
2889 * configure.host (mips*-*-openbsd*): New host.
2890
2891 Thu Apr 17 11:10:54 1997 Ian Lance Taylor <ian@cygnus.com>
2892
2893 * elflink.h (elf_link_add_object_symbols): Only subtract the
2894 section VMA from the symbol value if this is a fully linked file.
2895
2896 * elf32-i386.c (struct elf_i386_pcrel_relocs_copied): Define.
2897 (struct elf_i386_link_hash_entry): Define.
2898 (struct elf_i386_link_hash_table): Define.
2899 (elf_i386_link_hash_traverse): Define.
2900 (elf_i386_hash_table): Define.
2901 (elf_i386_link_hash_newfunc): New static function.
2902 (elf_i386_link_hash_table_create): New static function.
2903 (elf_i386_check_relocs): If linking with -Bsymbolic, don't copy
2904 PC relative relocs for a global symbol defined in a regular
2905 object, and count the number of PC relative relocs copied for any
2906 global symbol.
2907 (elf_i386_size_dynamic_sections): If linking with -Bsymbolic,
2908 traverse with elf_i386_discard_copies.
2909 (elf_i386_discard_copies): New static function.
2910 (bfd_elf32_bfd_link_hash_table_create): Define.
2911
2912 From Gordon W. Ross <gwr@mc.com>:
2913 * aoutf1.h (MY_entry_is_text_address): Define if not defined.
2914 (sunos4_aout_backend): Use MY_entry_is_text_address.
2915
2916 start-sanitize-d30v
2917 Wed Apr 16 12:43:32 1997 Martin Hunt <hunt@cygnus.com>
2918
2919 * elf32-d30v.c (elf_d30v_howto_table): Changed size of
2920 R_D30V_32_NORMAL to 2 (4 bytes).
2921
2922 end-sanitize-d30v
2923 Wed Apr 16 14:02:29 1997 Ian Lance Taylor <ian@cygnus.com>
2924
2925 From Gordon W. Ross <gwr@mc.com>:
2926 * netbsd.h (N_SHARED_LIB): Define.
2927 (SEGMENT_SIZE): Don't define.
2928 * m68knetbsd.c (SEGMENT_SIZE): Don't define (revert change of
2929 April 11).
2930 * sparcnetbsd.c (TARGET_PAGE_SIZE): Define as 0x2000.
2931 (SEGMENT_SIZE): Don't define.
2932
2933 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Set .rela.bss size
2934 to sizeof Rela structure, not sizeof Rel structure. From Gary
2935 Thomas <g.thomas@opengroup.org>.
2936
2937 Tue Apr 15 11:50:37 1997 Ian Lance Taylor <ian@cygnus.com>
2938
2939 * aout-target.h (MY(callback)): If entry_is_text_address, adjust
2940 whenever entry is larger than text address, but only by whole
2941 pages. From Gordon W. Ross <gwr@mc.com>.
2942
2943 * Makefile.in (install): Depend upon installdirs. Use
2944 mkinstalldirs to build $(oldincludedir).
2945 (installdirs): New target.
2946
2947 * elflink.h (elf_link_add_object_symbols): Don't call check_relocs
2948 if this is a debugging section which we are stripping.
2949
2950 Mon Apr 14 12:39:30 1997 Richard Henderson <rth@tamu.edu>
2951
2952 * elf64-alpha.c (elf64_alpha_object_p): Allocate the
2953 alpha-specific target data struct.
2954
2955 Mon Apr 14 11:45:46 1997 Ian Lance Taylor <ian@cygnus.com>
2956
2957 From Thomas Graichen <graichen@rzpd.de>:
2958 * Makefile.in: Always use $(SHELL) when running move-if-change.
2959 * configure.in: Use ${CONFIG_SHELL} when running $ac_config_sub.
2960 * configure: Rebuild.
2961
2962 Fri Apr 11 15:43:24 1997 Ian Lance Taylor <ian@cygnus.com>
2963
2964 * elfcode.h (elf_slurp_symbol_table): Only subtract the section
2965 VMA if this is an executable file or a shared object.
2966
2967 * targets.c (netbsd_core_vec): Declare. From Gordon W. Ross
2968 <gwr@mc.com>.
2969
2970 * libaout.h (struct aout_backend_data): Add entry_is_text_address
2971 field.
2972 * aout-target.h (SEGMENT_SIZE): Define to TARGET_PAGE_SIZE at the
2973 start of the file. Remove uses later on which switch using
2974 ifdef.
2975 (MY(callback)): Handle entry_is_text_address.
2976 (MY_entry_is_text_address): Define if not defined.
2977 (MY(backend_data)): Initialize new field.
2978 * aoutf1.h (sunos4_aout_backend): Likewise.
2979 * i386aout.c (MY(backend_data)): Likewise.
2980 * i386mach3.c (MY(backend_data)): Likewise.
2981 * mipsbsd.c (MY(backend_data)): Likewise.
2982 * sparclynx.c (sparclynx_aout_backend): Likewise.
2983 * netbsd.h (SEGMENT_SIZE): Define if not defined.
2984 (MY_entry_is_text_address): Define.
2985 * m68knetbsd.c (SEGMENT_SIZE): Define as 0x20000.
2986
2987 * xcofflink.c (bfd_xcoff_import_symbol): Handle importing a symbol
2988 whose name starts with `.'.
2989
2990 Fri Apr 11 11:57:15 1997 Niklas Hallqvist <niklas@appli.se>
2991
2992 * config.bfd: (i[3456]86-*-openbsd*, m68*-*-openbsd*,
2993 mips*el*-*-openbsd*, mips*-*-openbsd*, ns32k-*-openbsd*,
2994 powerpc-*-*bsd*, sparc-*-openbsd*): New targets.
2995 * configure.in (i[3456]86-*-openbsd*, mips*-*-openbsd*,
2996 m68*-*-openbsd*, ns32k-*-openbsd*, powerpc-*-*bsd*,
2997 sparc-*-openbsd*): New targets.
2998 * configure: Rebuild.
2999
3000 Tue Apr 8 18:09:29 1997 Jamie Lokier <jamie@rebellion.co.uk>
3001
3002 * stabs.c (struct stab_section_info): New field
3003 `cumulative_skips'.
3004 (_bfd_link_section_stabs): Fill the above array.
3005 (_bfd_stab_section_offset): Use `cumulative_skips' to
3006 speed up offset calculation.
3007
3008 Tue Apr 8 00:01:31 1997 Jeffrey A Law (law@cygnus.com)
3009
3010 * elf-mn10300.c (mn10300_elf_relax_section): Don't forget the
3011 addend for non pc-relative relocations.
3012
3013 * elf-m10300.c (bfd_elf32_mn10300_reloc): Remove prototype
3014 for non-existent function.
3015
3016 * elf-m10300.c (mn10300_elf_relax_section): New function.
3017 (mn10300_elf_relax_delete_bytes): Likewise.
3018 (mn10300_elf_symbol_address_p): Likewise.
3019 (mn10300_elf_get_relocated_section_contents): Likewise.
3020 (bfd_elf32_bfd_relax_section): Define.
3021 (bfd_elf32_bfd_get_relocated_section_contents): Likewise.
3022
3023 Mon Apr 7 16:47:09 1997 Ian Lance Taylor <ian@cygnus.com>
3024
3025 * configure.host: Set SHLIB_LIBS.
3026 * configure.in: Substitute SHLIB_LIBS.
3027 * configure: Rebuild.
3028 * Makefile.in (SHLIB_LIBS): New variable.
3029 ($(SHLIB)): Use $(SHLIB_LIBS).
3030
3031 Mon Apr 7 10:53:52 1997 Michael Snyder <msnyder@cleaver.cygnus.com>
3032
3033 * bfd-in.h bfd-in2.h: add bfd_section_lma macro to correspond
3034 with bfd_section_vma.
3035
3036 Fri Apr 4 11:37:15 1997 Ian Lance Taylor <ian@cygnus.com>
3037
3038 * configure.in: Update file names for bfd_elf32_mn10[23]00_vec.
3039 Correct CPU file names for mn10[23]00.
3040 * configure: Rebuild.
3041
3042 * bfd.c (bfd_record_phdr): Cast count to size_t before
3043 subtraction.
3044
3045 * coff-ppc.c (dump_toc): Add cast to avoid warning from SunOS cc.
3046 * coff-rs6000.c (xcoff_read_ar_hdr): Likewise.
3047 (xcoff_write_archive_contents): LIkewise.
3048 * elf32-mips.c (_bfd_mips_elf_set_section_contents): Likewise.
3049 (mips_elf_create_procedure_table): Likewise.
3050 * peicode.h (pe_print_idata): Likewise.
3051 (pe_print_edata, pe_print_pdata, pe_print_reloc): Likewise.
3052 * xcofflink.c (xcoff_get_section_contents): Likewise.
3053 (_bfd_xcoff_canonicalize_dynamic_symtab): Likewise.
3054 (xcoff_link_add_symbols): Likewise.
3055 (xcoff_link_add_symbols): Likewise.
3056
3057 * ppcboot.c (ppcboot_set_arch_mach): Make static.
3058 (ppcboot_bfd_print_private_bfd_data): Likewise.
3059
3060 * elf32-mips.c (elf_mips_ctor64_howto): Set complain_on_overflow
3061 to complain_overflow_signed.
3062
3063 Thu Apr 3 11:51:54 1997 Ian Lance Taylor <ian@cygnus.com>
3064
3065 * VERSION: Set to 2.8.1.
3066
3067 * Branched binutils 2.8.
3068
3069 * elf32-ppc.c (ppc_elf_check_relocs): Don't check SEC_ALLOC when
3070 deciding whether to copy a reloc into a shared object.
3071 (ppc_elf_relocate_section): Likewise. Relocate R_PPC_RELATIVE
3072 relocs in unallocated sections.
3073 * elf32-sparc.c (elf32_sparc_relocate_section): Relocate
3074 R_SPARC_RELATIVE relocs in unallocated sections.
3075
3076 Wed Apr 2 16:19:41 1997 Mike Meissner <meissner@cygnus.com>
3077
3078 * elf32-ppc.c (ppc_elf_check_relocs): Undo March 26 change and
3079 always create got section so that the _GLOBAL_OFFSET_TABLE_ label
3080 is always created.
3081
3082 Wed Apr 2 10:49:07 1997 Ian Lance Taylor <ian@cygnus.com>
3083
3084 * elflink.h (elf_link_add_object_symbols): Let a common symbol
3085 override an uninitialized symbol from a shared library with a
3086 smaller size.
3087
3088 * elf-m10200.c: Rename from elf32-mn10200.c.
3089 * elf-m10300.c: Rename from elf32-mn10300.c.
3090 * cpu-m10200.c: Rename from cpu-mn10200.c
3091 * cpu-m10300.c: Rename from cpu-mn10300.c
3092 * Makefile.in: Update accordingly.
3093
3094 * elf32-mips.c (elf_mips_ctor64_howto): New static variable.
3095 (elf_mips_isa): Move to earlier in file.
3096 (mips_reloc_map): Remove BFD_RELOC_CTOR entry.
3097 (bfd_elf32_bfd_reloc_type_lookup): Handle BFD_RELOC_CTOR
3098 specially.
3099
3100 * elf32-mips.c (mips16_jump_reloc): Print a warning rather than
3101 calling abort.
3102
3103 Tue Apr 1 16:18:05 1997 Klaus Kaempf <kkaempf@progis.de>
3104
3105 * configure.com: New file.
3106 * config.h-vms: Remove file.
3107 * makefile.vms: Update for new configure scheme.
3108
3109 Mon Mar 31 23:28:39 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
3110
3111 * libcoff-in.h (ppc_allocate_toc_section): Declare.
3112 (ppc_process_before_allocation): Declare.
3113 * libcoff.h: Rebuild.
3114
3115 * coffcode.h (coff_mkobject_hook): Declare if not a macro.
3116
3117 Mon Mar 31 16:29:50 1997 Joel Sherrill <joel@oarcorp.com>
3118
3119 * config.bfd (hppa*-*-rtems*): New target, like hppa-*-*elf*.
3120
3121 Mon Mar 31 16:11:35 1997 Ian Lance Taylor <ian@cygnus.com>
3122
3123 * coff-a29k.c (coff_a29k_relocate_section): Don't use symndx as a
3124 symbol index for a R_IHCONST reloc.
3125
3126 Mon Mar 31 15:40:59 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
3127
3128 * targmatch.sed: Do not use \(\) recursively.
3129
3130 Fri Mar 28 14:44:08 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
3131
3132 * m68klinux.c (MACHTYPE_OK): Define.
3133 * i386linux.c (MACHTYPE_OK): Define.
3134
3135 Fri Mar 28 11:56:15 1997 Ian Lance Taylor <ian@cygnus.com>
3136
3137 From David S. Miller <davem@caip.rutgers.edu> and H.J. Lu
3138 <hjl@gnu.ai.mit.edu>:
3139 * sparclinux.c: New file.
3140 * bfd-in.h (bfd_sparclinux_size_dynamic_sections): Declare.
3141 * bfd-in2.h: Rebuild.
3142 * config.bfd (sparc-*-linuxaout*, sparc-*-linux*): New targets.
3143 * configure.in (sparclinux_vec): Add to list of vectors.
3144 * configure: Rebuild.
3145 * targets.c (sparclinux_vec): Declare.
3146 (bfd_target_vector): Add sparclinux_vec.
3147 * Makefile.in: Rebuild dependencies.
3148 (BFD32_BACKENDS): Add sparclinux.o.
3149 (BFD32_BACKENDS_CFILES): Add sparclinux.c.
3150
3151 * coff-mips.c (mips_ecoff_backend_data): Initialize new
3152 bfd_coff_backend_data field.
3153 * coff-alpha.c (alpha_ecoff_backend_data): Likewise.
3154
3155 * config.bfd: Add bfd_elf64_{big,little}mips_vec to targ_selvecs
3156 for mips*el*-*-linux* and mips*-*-linux*. From H.J. Lu
3157 <hjl@lucon.org> and Ralf Baechle <ralf@gnu.ai.mit.edu>.
3158
3159 * bfd.c: Include "libiberty.h".
3160 (strerror): Don't declare.
3161 (bfd_errmsg): Call xstrerror rather than strerror.
3162
3163 Thu Mar 27 12:55:42 1997 Ian Lance Taylor <ian@cygnus.com>
3164
3165 * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Generate a COPY
3166 reloc even if the symbol is in the .bss section.
3167 * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
3168 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise.
3169 * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
3170
3171 * coffcode.h (bfd_coff_backend_data): Add new field
3172 _bfd_coff_default_section_alignment_power.
3173 (bfd_coff_default_section_alignment_power): Define.
3174 (bfd_coff_std_swap_table): Initialize new field.
3175 * libcoff.h: Rebuild.
3176 * cofflink.c (coff_link_add_symbols): Limit alignment of a common
3177 symbol to the default section alignment.
3178
3179 * COPYING: Update FSF address.
3180
3181 start-sanitize-d30v
3182 Thu Mar 27 00:45:57 1997 Martin M. Hunt <hunt@pizza.cygnus.com>
3183
3184 * elf32-d30v.c (elf_d30v_howto_table): Fix a typo in the
3185 21-bit absolute that made it act as a relative.
3186
3187 end-sanitize-d30v
3188 Wed Mar 26 14:50:20 1997 Ian Lance Taylor <ian@cygnus.com>
3189
3190 * elflink.c (_bfd_elf_create_linker_section): Don't set
3191 bss_section and rel_section from existing sections.
3192
3193 * elf32-ppc.c (ppc_elf_check_relocs): Only create the got section
3194 if it is needed.
3195
3196 Tue Mar 25 22:26:56 1997 Stu Grossman (grossman@critters.cygnus.com)
3197
3198 * aoutx.h (some_aout_object_p): Change executable test to fix
3199 problems with embedded a.out systems.
3200
3201 Tue Mar 25 14:35:37 1997 Ian Lance Taylor <ian@cygnus.com>
3202
3203 * stabs.c (_bfd_stab_section_offset): New function.
3204 * libbfd-in.h (_bfd_stab_section_offset): Declare.
3205 * libbfd.h: Rebuild.
3206 * elf32-i386.c (elf_i386_relocate_section): Adjust the offset of a
3207 stab reloc.
3208 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
3209 * elf32-mips.c (mips_elf_relocate_section): Likewise.
3210 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
3211 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
3212 * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
3213
3214 * stabs.c (_bfd_link_section_stabs): Copy over the first header
3215 symbol. Check for memory allocation failure of *psinfo.
3216 (_bfd_write_section_stabs): Add psinfo parameter. Change all
3217 callers. Set the value of the header symbol.
3218 * libbfd-in.h (_bfd_write_section_stabs): Update declaration.
3219 * libbfd.h: Rebuild.
3220
3221 start-sanitize-tic80
3222 Mon Mar 24 20:07:29 1997 Fred Fish <fnf@cygnus.com>
3223
3224 * coff-tic80.c (tic80_howto_table): Add R_ABS entry.
3225 (rtype2howto): Handle R_ABS reloc type. Also abort on unhandled
3226 reloc types, rather than silently failing to generate an output file.
3227
3228 end-sanitize-tic80
3229 Mon Mar 24 13:41:00 1997 Ian Lance Taylor <ian@cygnus.com>
3230
3231 * targmatch.sed: Use the hold space to put the #ifdef around the
3232 the string constant.
3233 * targets.c (UNSUPPORTED_TARGET): Don't define.
3234 (find_target): Don't check for UNSUPPORTED_TARGET.
3235 (bfd_set_default_target): Don't try to optimize by checking for
3236 default.
3237
3238 * Makefile.in: Rebuild dependencies.
3239 (ALL_MACHINES_CFILES): Add cpu-m32r.c.
3240 (BFD32_BACKENDS_CFILES): Add elf32-m32r.c.
3241 (elf32-m32r.o): Remove explicit target.
3242
3243 * config.bfd: Don't set targ_underscore for i[3456]86-*-gnu* or
3244 i[3456]86-*-linux*.
3245
3246 * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Don't
3247 count section symbols for sections that were created by the
3248 linker, or are not allocatable or not loadable.
3249 (elf32_sparc_finish_dynamic_sections): Output output section
3250 symbols for section for which we made space for them.
3251
3252 Fri Mar 21 13:08:26 1997 Ian Lance Taylor <ian@cygnus.com>
3253
3254 * elf32-sparc.c (elf32_sparc_size_dynamic_sections): If there is
3255 no .rela.plt section, don't output a DT_PLTGOT dynamic entry.
3256
3257 Fri Mar 21 12:36:46 1997 Doug Evans <dje@canuck.cygnus.com>
3258
3259 * elf32-m32r.c (m32r_elf_howto_table): Use special function for LO16.
3260 (m32r_hi16_list): New static local.
3261 (m32r_elf_hi16_reloc): Don't perform reloc, just queue it up.
3262 (m32r_elf_do_hi16_reloc): Delete.
3263 (m32r_elf_relocate_hi16): New function.
3264 (m32r_elf_lo16_reloc): New function.
3265 (m32r_elf_relocate_section): For HI16 relocs, scan for corresponding
3266 LO16 reloc.
3267
3268 Mon Mar 10 16:03:31 1997 Doug Evans <dje@seba.cygnus.com>
3269
3270 * elf32-m32r.c (m32r_elf_create_linker_section): Delete.
3271 (m32r_elf_add_symbol_hook): Rewrite _SDA_BASE_ support.
3272 (m32r_elf_final_sda_base): New function.
3273 (m32r_elf_relocate_section): Rewrite sdata support.
3274 (m32r_elf_finish_dynamic_sections): Delete.
3275
3276 Thu Mar 20 12:39:02 1997 Ian Lance Taylor <ian@cygnus.com>
3277
3278 Based on patches from Philippe De Muyter <phdm@info.ucl.ac.be>.
3279 * coff-svm68k.c: New file. Just defines some macros and includes
3280 coff-m68k.c.
3281 * coff-m68k.c: Add functions to handle common addends, moved in
3282 from cf-m68klynx.c. Control them using COFF_COMMON_ADDEND macro.
3283 Control whether relocs are visible using STATIC_RELOCS.
3284 * cf-m68klynx.c: Simplify greatly: just define macros to control
3285 coff-m68k.c.
3286 * coff-aux.c: Likewise. Just leave add_one_symbol routine.
3287 * targets. (m68ksysvcoff_vec): Declare.
3288 (bfd_target_vector): Add m68ksysvcoff_vec.
3289 * config.bfd (m68*-motorola-sysv*): New target.
3290 * configure.in (m68ksysvcoff_vec): New vector.
3291 * configure: Rebuild.
3292 * Makefile.in: Rebuild dependencies.
3293 (BFD32_BACKENDS): Add coff-svm68k.o.
3294 (BFD32_BACKENDS_CFILES): Add coff-svm68k.c.
3295
3296 * binary.c (binary_set_section_contents): Don't get misled if the
3297 first section is not loadable. From Matthew L. Martin
3298 <mlm@xedia.com>.
3299
3300 * elflink.h (elf_bfd_final_link): Set the value of a section
3301 symbol to the section address unless doing a relocateable link.
3302
3303 Tue Mar 18 23:03:17 1997 Richard Henderson <rth@tamu.edu>
3304
3305 * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't create
3306 .plt entry if we've taken the function's address.
3307 (elf64_alpha_merge_gots): Merge collected flags info as well.
3308
3309 Tue Mar 18 22:40:09 1997 H.J. Lu <hjl@lucon.org>
3310
3311 * Many files: Add function prototypes.
3312 * cpu-m68k.c (bfd_default_scan_num_mach): Don't declare.
3313 * ecofflink.c: Include "libcoff.h" and "libecoff.h".
3314 * elf32-ppc.c (ppc_elf_fake_sections): Make static.
3315 * opncls.c (bfd_openstreamr): Change stream parameter to PTR.
3316 * peicode.h: Change several void * parameters to PTR.
3317 * srec.c (srec_get_symbol_info): Make static.
3318 * syms.c (bfd_symbol_is_absolute): Remove.
3319 * Makefile.in: Rebuild dependencies.
3320
3321 Tue Mar 18 12:58:08 1997 Ian Lance Taylor <ian@cygnus.com>
3322
3323 * elf32-m32r.c (m32r_elf_is_local_label_name): Remove.
3324 (bfd_elf32_bfd_is_local_label): Don't define.
3325
3326 * xcofflink.c (_bfd_xcoff_bfd_final_link): Call bfd_malloc rather
3327 than malloc.
3328
3329 Mon Mar 17 11:32:53 1997 Ian Lance Taylor <ian@cygnus.com>
3330
3331 * bfd-in.h: Don't include obstack.h.
3332 (struct bfd_hash_table): Change memory field to PTR.
3333 * bfd.c (struct _bfd): Change memory field to PTR.
3334 * bfd-in2.h: Rebuild.
3335 * libbfd-in.h (bfd_release): Declare as function, don't define as
3336 macro.
3337 * libbfd.h: Rebuild.
3338 * opncls.c: Include "objalloc.h" rather than "obstack.h". Use
3339 objalloc routines rather than obstack routines.
3340 (obstack_chunk_alloc, obstack_chunk_free): Don't define.
3341 (getpagesize): Don't define.
3342 (_bfd_new_bfd): Don't set _bfd_chunksize.
3343 (bfd_openr): Free new bfd and objalloc on failure.
3344 (bfd_fdopenr, bfd_openstreamr, bfd_openw): Likewise.
3345 (bfd_alloc_size): Remove.
3346 (bfd_release): New function.
3347 * hash.c: Include "objalloc.h" rather than "obstack.h". Use
3348 objalloc routines rather than obstack routines.
3349 (obstack_chunk_alloc, obstack_chunk_free): Don't define.
3350 * ecofflink.c: Include "objalloc.h" rather than "obstack.h". Use
3351 objalloc routines rather than obstack routines.
3352 (obstack_chunk_alloc, obstack_chunk_free): Don't define.
3353 (struct accumulate): Change memory to struct objalloc *.
3354 * liboasys.h (oasys_data_type): Remove oasys_obstack field.
3355 * dep-in.sed: Don't remove obstack.h from dependency list.
3356 * Makefile.in: Rebuild dependencies.
3357 (BFD_H_DEPS): Remove obstack.h.
3358 (install): Don't install obstack.h.
3359 * Many files: Don't include "obstack.h".
3360 * VERSION: Bump.
3361
3362 * opncls.c (bfd_alloc_grow, bfd_alloc_finish): Remove.
3363 * libbfd-in.h (bfd_alloc_grow, bfd_alloc_finish): Don't declare.
3364 * libbfd.h: Rebuild.
3365 * ieee.c (ieee_archive_p): Rewrite to not use bfd_alloc_grow.
3366 * sunos.c (sunos_add_dynamic_symbols): Likewise.
3367 * srec.c (srec_scan): Rewrite to not use obstack_1grow.
3368
3369 * opncls.c (bfd_alloc): Rename from bfd_alloc_by_size_t. Remove
3370 old version of bfd_alloc.
3371 * libbfd-in.h (bfd_alloc_by_size_t): Don't declare.
3372 * libbfd.h: Rebuild.
3373 * Several files: Call bfd_alloc rather than bfd_alloc_by_size_t.
3374
3375 Sat Mar 15 15:24:18 1997 Ian Lance Taylor <ian@cygnus.com>
3376
3377 * elf32-mips.c (mips_elf_is_local_label_name): Accept the generic
3378 ELF local label syntax as well.
3379
3380 Sat Mar 15 10:16:42 1997 Fred Fish <fnf@cygnus.com>
3381
3382 * config.bfd (powerpc-*-beos*): New target.
3383 * configure.in (powerpc-*-beos*): Add case that explicitly
3384 does not set COREFILE for now. A future BeOS version is
3385 expected to support core files.
3386 * configure: Regenerate with autoconf.
3387
3388 Fri Mar 14 16:43:22 1997 Ian Lance Taylor <ian@cygnus.com>
3389
3390 * elf32-mips.c (mips_elf_check_relocs): Give an error if CALL16 is
3391 seen with a local symbol, rather than crashing.
3392
3393 * elfcode.h (elf_slurp_symbol_table): Don't try to read the
3394 version symbols if there aren't any.
3395
3396 start-sanitize-tic80
3397 Thu Mar 13 16:38:30 1997 Fred Fish <fnf@cygnus.com>
3398
3399 * coff-tic80.c (coff_rtype_to_howto): Define
3400 (coff_tic80_rtype_to_howto): Clone generic coff version and
3401 add code to handle the funky TI "internal relocations".
3402
3403 end-sanitize-tic80
3404 Thu Mar 13 14:08:53 1997 Ian Lance Taylor <ian@cygnus.com>
3405
3406 * elflink.h (elf_link_add_object_symbols): Don't warn about type
3407 or size changes because of a weak symbol.
3408
3409 * cisco-core.c (SIGEMT): Define if not defined.
3410
3411 Wed Mar 12 21:36:05 1997 Ian Lance Taylor <ian@cygnus.com>
3412
3413 * elflink.h (elf_link_add_object_symbols): Use extsymoff when
3414 setting ever. Sanity check the version number. Sort out copying
3415 flags and other information when adding an indirect symbol.
3416 (NAME(bfd_elf,size_dynamic_sections)): Preserve any dynamic
3417 symbols added by the backend. Clear the entire contents of the
3418 versym section.
3419 (elf_export_symbol): Ignore indirect symbols.
3420 (elf_link_output_extsym): Accept a section without an owner in an
3421 assert.
3422 * elfcode.h (elf_slurp_symbol_table): Add a sanity check on the
3423 version count. Correct the allocation of x_versymp.
3424
3425 * elf32-mips.c (mips_elf_add_symbol_hook): Don't set the owner of
3426 the magic sections used for SHN_MIPS_TEXT and SHN_MIPS_DATA.
3427 Don't return bfd_und_section_ptr when info->shared.
3428 (mips_elf_final_link): Set the alignment of .rtproc to 4, not 12.
3429 (mips_elf_create_dynamic_sections): Correct type: ^= for &=.
3430 (mips_elf_check_relocs): Resolve an indirect symbol in
3431 sym_hashes.
3432 (mips_elf_finish_dynamic_symbol): Don't change SHN_ABS into
3433 SHN_MIPS_TEXT or SHN_MIPS_DATA.
3434
3435 * elf.c (bfd_elf_print_symbol): Tweak version output slightly.
3436
3437 Tue Mar 11 01:38:36 1997 Ian Lance Taylor <ian@cygnus.com>
3438
3439 From Eric Youngdale <eric@andante.jic.com>:
3440 * elf-bfd.h (ELF_LINK_FORCED_LOCAL): Define.
3441 * elf.c (bfd_elf_print_symbol): Correct errors in last change.
3442 * elflink.h (elf_link_add_object_symbols): Handle cases in which a
3443 versioned symbol appears in both a regular and a shared object.
3444 (elf_link_assign_sym_version): Set ELF_LINK_FORCED_LOCAL when
3445 appropriate. Improve error message.
3446 (struct elf_outext_info): Rename from elf_finfo_failed. Change
3447 all uses. Add localsyms field.
3448 (elf_bfd_final_link): When generating a shared library, call
3449 elf_link_output_extsym to output all local symbols.
3450 (elf_link_output_extsym): Handle symbols which were forced to
3451 become local.
3452
3453 Sun Mar 9 23:08:49 1997 Ian Lance Taylor <ian@cygnus.com>
3454
3455 From Eric Youngdale <eric@andante.jic.com>:
3456 * elf-bfd.h (elf_symbol_type): Add version field.
3457 * elfcode.h (elf_slurp_symbol_table): Set version field.
3458 * elflink.h (elf_link_add_object_symbols): When creating an
3459 indirect symbol for a default version symbol, set DEF_DYNAMIC if
3460 appropriate. Set up an indirection from the nondefault version of
3461 the symbol as well.
3462 (NAME(bfd_elf,size_dynamic_sections)): Call
3463 elf_link_assign_sym_version before checking whether there are any
3464 versions. Always record the version name as a dynamic symbol.
3465 Initialize counters.
3466 (elf_link_assign_sym_version): After finding a version, see if a
3467 symbol should be forced to local scope. Create a new version
3468 definition if appropriate.
3469 (elf_link_output_extsym): Correct indirect symbol handling.
3470 * elf.c (bfd_elf_print_symbol): Print version information.
3471 (bfd_section_from_shdr): Turn version sections into BFD sections.
3472 (elf_fake_sections): Only copy cverdefs and cverrefs into sh_info
3473 if sh_info is not already set.
3474 (_bfd_elf_copy_private_section_data): Copy sh_info for version
3475 sections.
3476 * elflink.c (_bfd_elf_link_record_dynamic_symbol): Tell
3477 _bfd_stringtab_add to copy the name into permanent memory if
3478 appropriate.
3479
3480 Fri Mar 7 11:55:31 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
3481
3482 * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Fully parenthesize.
3483
3484 Fri Mar 7 10:37:30 1997 Ian Lance Taylor <ian@cygnus.com>
3485
3486 * coffcode.h (bfd_coff_backend_data): Change
3487 _bfd_coff_compute_section_file_positions to return a boolean
3488 value. Change all callers.
3489 (coff_compute_section_file_positions): Change return type to
3490 boolean. If the size of the last section changed, then output a
3491 zero byte at the end of the file.
3492 * libcoff.h: Rebuild.
3493
3494 * xcofflink.c (_bfd_xcoff_bfd_final_link): Always allocate space
3495 for at least 6 output symbols.
3496 (xcoff_write_global_symbol): When emitting TOC entry relocs, also
3497 emit a TC csect to represent the space they take up. For an XO
3498 symbol, just emit a reference, not a csect.
3499
3500 * Makefile.in ($(SHLINK)): Just use ln -s, not ln -sf, since
3501 Solaris doesn't like the combined options, and the -f is
3502 unnecessary.
3503 (stamp-tshlink, install): Likewise.
3504
3505 * elf32-mips.c (mips_elf_relocate_section): Correct R_MIPS16_26
3506 handling when little endian.
3507
3508 Thu Mar 6 13:51:51 1997 Jeffrey A Law (law@cygnus.com)
3509
3510 * elf32-mn10300.c (mn10300_elf_final_link_relocate): New function.
3511 (mn10300_elf_relocate_section): Likewise.
3512 (elf_backend_relocate_section): Define.
3513
3514 * elf32-mn10300.c (reloc_type): Remove PCREL{8,16,32}_{1,2}BYTE
3515 relocs. Replace them with generic PCREL_{8,16,32} relocs.
3516 (elf32_mn10300_howto_table): Likewise.
3517 (elf32_mn10300_reloc_map): Likewise.
3518 (bfd_elf32_mn10300_reloc): Delete unused function.
3519
3520 Thu Mar 6 12:19:59 1997 Fred Fish <fnf@cygnus.com>
3521
3522 start-sanitize-tic80
3523 * coff-tic80.c (rtype2howto): If passed a relocation type we don't
3524 understand, just set the howto field to NULL, and the caller will
3525 print an appropriate error message.
3526 end-sanitize-tic80
3527 * coffcode.h (coff_slurp_reloc_table): Pull duplicate declarations and
3528 code fragment out of both legs of #ifdef RELOC_PROCESSING ... #endif
3529 block. Use NULL for initializations of "ptr" rather than bare 0.
3530 * coff-h8300.c: Fix typo in comment.
3531 * coff-h8500.c: Ditto.
3532 * coff-w65.c: Ditto
3533 * coff-z8k.c: Ditto.
3534
3535 Wed Mar 5 13:59:09 1997 Doug Evans <dje@seba.cygnus.com>
3536
3537 * elf32-m32r.c (m32r_elf_do_10_pcrel_reloc): Fix overflow calc.
3538 (m32r_elf_relax_section, m32r_elf_relax_delete_bytes,
3539 m32r_elf_get_relocated_section_contents): First pass at relax support.
3540
3541 Mon Mar 3 13:27:09 1997 Ulrich Drepper <drepper@rtl.cygnus.com>
3542
3543 * elflink.h (elf_link_add_object_symbols): Use correct sh_size
3544 entry for reading verdef records.
3545 Use correct braces for computing increments of extverdaux and
3546 exteverdef record pointers.
3547
3548 start-sanitize-tic80
3549 Sun Mar 2 22:47:54 1997 Fred Fish <fnf@cygnus.com>
3550
3551 * coff-tic80.c (COFF_DEFAULT_SECTION_ALIGNMENT_POWER): Set this to 2
3552 instead of 4.
3553
3554 end-sanitize-tic80
3555 Sun Mar 2 16:25:35 1997 Ian Lance Taylor <ian@cygnus.com>
3556
3557 * elflink.h (elf_link_find_version_dependencies): Check that
3558 DEF_REGULAR is not set as well as checking that DEF_DYNAMIC is
3559 set.
3560
3561 start-sanitize-tic80
3562 Fri Feb 28 16:52:40 1997 Fred Fish <fnf@cygnus.com>
3563
3564 * coffcode.h (coff_set_flags): Add case for TIC80_ARCH_MAGIC.
3565
3566 end-sanitize-tic80
3567 Fri Feb 28 15:06:45 1997 Ian Lance Taylor <ian@cygnus.com>
3568
3569 * targets.c (bfd_default_vector): Make non-const.
3570 (find_target): New static function, broken out of
3571 bfd_find_target.
3572 (bfd_set_default_target): New function.
3573 (bfd_find_target): Call find_target. When defaulting, use
3574 bfd_default_vector[0] if it is not NULL.
3575 * libbfd-in.h (bfd_default_vector): Adjust declaration.
3576 * bfd-in2.h, libbfd.h: Rebuild.
3577
3578 * syms.c (bfd_is_local_label): Return false if the symbol has no
3579 name.
3580 * coff-i960.c (coff_i960_is_local_label_name): New function.
3581 (coff_bfd_is_local_label_name): Define.
3582 * coff-m68k.c (m68k_coff_is_local_label_name): New function.
3583 (coff_bfd_is_local_label_name): Define.
3584 * coff-rs6000.c (xcoff_is_local_label_name): New function.
3585 (coff_bfd_is_local_label_name): Define.
3586 * elf.c (_bfd_elf_is_local_label_name): Treat symbols beginning
3587 with .. or _.L_ as local.
3588 * elf32-i386.c (elf_i386_is_local_label_name): New function.
3589 (bfd_elf32_bfd_is_local_label_name): Define.
3590 * evax-alpha.c (evax_bfd_is_local_label_name): Treat symbols
3591 beginning with $ as local.
3592
3593 Thu Feb 27 18:36:23 1997 Ian Lance Taylor <ian@cygnus.com>
3594
3595 * aoutx.h (aout_link_write_symbols): Use bfd_is_local_label_name
3596 rather than comparing against info->lprefix.
3597 * cofflink.c (_bfd_coff_link_input_bfd): Likewise.
3598 * elflink.h (elf_link_input_bfd): Likewise.
3599 * linker.c (_bfd_generic_link_output_symbols): Likewise.
3600 * xcofflink.c (xcoff_link_input_bfd): Likewise.
3601
3602 * elfxx-target.h (bfd_elfNN_bfd_is_local_label_name): Define as
3603 _bfd_elf_is_local_label_name if not already defined.
3604 * elf.c (_bfd_elf_is_local_label_name): New function.
3605 * elf-bfd.h (_bfd_elf_is_local_label_name): Declare.
3606
3607 * coff-m88k.c (coff_bfd_is_local_label_name): Define.
3608 (m88k_is_local_label_name): New static function.
3609
3610 * coffcode.h (coff_bfd_is_local_label_name): Define as
3611 _bfd_coff_is_local_label_name if not already defined.
3612 * coffgen.c (_bfd_coff_is_local_label_name): New function.
3613 * libcoff-in.h (_bfd_coff_is_local_label_name): Declare.
3614 * libcoff.h: Rebuild.
3615
3616 * targets.c (BFD_JUMP_TABLE_SYMBOLS): Change _bfd_is_local_label
3617 to _bfd_is_local_label_name.
3618 (bfd_target): Likewise.
3619 * syms.c (bfd_is_local_label): Define as function, not macro.
3620 (bfd_is_local_name): Define.
3621 * libbfd.c (bfd_generic_is_local_label_name): Rename from
3622 bfd_generic_is_local_label, and take a string rather than a
3623 symbol.
3624 * libbfd-in.h (_bfd_nosymbols_bfd_is_local_label): Don't define.
3625 (_bfd_nosymbols_bfd_is_local_label_name): Define.
3626 (bfd_generic_is_local_label): Don't declare.
3627 (bfd_generic_is_local_label_name): Declare.
3628 * bfd-in2.h, libbfd.h: Rebuild.
3629 * All backends: Change local_label to local_label_name.
3630
3631 * elf32-mips.c (struct mips_got_info): Add assigned_gotno field.
3632 (mips_elf_relocate_got_local): Change return type to boolean.
3633 Don't assume that the first zero entry is unassigned; instead, use
3634 assigned_gotno.
3635 (mips_elf_relocate_section): Check return value of
3636 mips_elf_relocate_got_local.
3637 (mips_elf_create_got_section): Initialize assigned_gotno field.
3638
3639 start-sanitize-d30v
3640 Wed Feb 26 15:19:51 1997 Martin M. Hunt <hunt@pizza.cygnus.com>
3641
3642 * elf32-d30v.c (bfd_elf_d30v_reloc): Add code to do 32-bit
3643 relocations.
3644
3645 end-sanitize-d30v
3646 Wed Feb 26 13:33:03 1997 Ian Lance Taylor <ian@cygnus.com>
3647
3648 * elflink.h (elf_link_input_bfd): Don't skip symbols from sections
3649 that have no contents merely because linker_mark is not set.
3650
3651 Tue Feb 25 18:51:35 1997 Stan Shebs <shebs@andros.cygnus.com>
3652
3653 * config.bfd (mips*-*-lnews*): New target.
3654 * coff-mips.c (mips_relocate_section): Make assert compare
3655 content byteorder instead of header byteorder.
3656 (ecoff_biglittle_vec): New BFD, big-endian headers, little-endian
3657 data.
3658 * targets.c (bfd_target_vector): Add ecoff_biglittle_vec.
3659 * configure.in (ecoff_biglittle_vec): Add case.
3660 * configure: Update.
3661
3662 Tue Feb 25 00:32:49 1997 Ian Lance Taylor <ian@cygnus.com>
3663
3664 * elf.c (elf_fake_sections): Use SHT_NOTE for any section whose
3665 name begins with ".note".
3666 (map_sections_to_segments): Add a PT_NOTE segment for any loadable
3667 section whose name begins with ".note".
3668 (get_program_header_size): Corresponding change.
3669
3670 * elf32-mips.c (mips_elf_relocate_section): Check for misaligned
3671 jal and for jal overflow.
3672
3673 Mon Feb 24 17:53:14 1997 Ian Lance Taylor <ian@cygnus.com>
3674
3675 From Eric Youngdale <eric@andante.jic.com>:
3676 * elflink.h (elf_link_add_archive_symbols): If a default symbol is
3677 not found, try looking it up again without the version name.
3678 (elf_link_add_object_symbols): Always link against the dynamic
3679 symbol table of a dynamic object. When linking against a dynamic
3680 object, include version strings in symbol names, and set up
3681 version information. Add indirect symbols for default versions.
3682 (elf_link_create_dynamic_sections): Add special version sections.
3683 (struct elf_assign_sym_version_info): Define.
3684 (struct elf_find_verdep_info): Define.
3685 (NAME(bfd_elf,size_dynamic_sections)): Add verdefs parameter. Set
3686 up version sections.
3687 (elf_adjust_dynamic_symbol): Ignore indirect symbols.
3688 (elf_link_find_version_dependencies): New static function.
3689 (elf_link_assign_sym_version): New static function.
3690 (elf_link_renumber_dynsyms): New static function.
3691 (struct elf_final_link_info): Add symver_sec field.
3692 (elf_bfd_final_link): Initialize finfo.symver_sec. Don't count
3693 local symbols of a dynamic object. Handle DT_VER* constants.
3694 (elf_link_output_extsym): Simplify BFD_ASSERT checking for a
3695 dynamic object. Skip indirect symbols from ELF objects. Remove
3696 the version name before choosing a hash bucket. Write out the
3697 version information if appropriate.
3698 (elf_link_input_bfd): Check for DYNAMIC, not ET_DYN.
3699 * bfd-in.h (bfd_elf32_size_dynamic_sections): Update declaration.
3700 (bfd_elf64_size_dynamic_sections): Likewise.
3701 * bfd-in2.h: Rebuild.
3702 * elf-bfd.h (struct elf_link_hash_entry): Add verinfo field.
3703 Change elf_link_hash_flags to unsigned short.
3704 (ELF_LINK_HIDDEN): Define.
3705 (struct elf_obj_tdata): Add fields dynversym_hdr, dynverref_hdr,
3706 dynverdef_hdr, dynversym_section, dynverdef_section,
3707 dynverref_section, cverdefs, cverrefs, verdef, verref.
3708 (elf_dynversym, elf_dynverdef, elf_dynverref): Define.
3709 (_bfd_elf_swap_verdef_in, _bfd_elf_swap_verdef_out): Declare.
3710 (_bfd_elf_swap_verdaux_in, _bfd_elf_swap_verdaux_out): Declare.
3711 (_bfd_elf_swap_verneed_in, _bfd_elf_swap_verneed_out): Declare.
3712 (_bfd_elf_swap_vernaux_in, _bfd_elf_swap_vernaux_out): Declare.
3713 (_bfd_elf_swap_versym_in, _bfd_elf_swap_versym_out): Declare.
3714 (_bfd_elf_slurp_version_tables): Declare.
3715 * elf.c (_bfd_elf_swap_verdef_in): New function.
3716 (_bfd_elf_swap_verdef_out): Likewise.
3717 (_bfd_elf_swap_verdaux_in, _bfd_elf_swap_verdaux_out): Likewise.
3718 (_bfd_elf_swap_verneed_in, _bfd_elf_swap_verneed_out): Likewise.
3719 (_bfd_elf_swap_vernaux_in, _bfd_elf_swap_vernaux_out): Likewise.
3720 (_bfd_elf_swap_versym_in, _bfd_elf_swap_versym_out): Likewise.
3721 (_bfd_elf_print_private_bfd_data): Add DT_VER* constants. Print
3722 version information if there is any.
3723 (_bfd_elf_link_hash_newfunc): Initialize verinfo field.
3724 (bfd_section_from_shdr): Handle SHT_GNU_ver* section types.
3725 (elf_fake_sections): Handle .gnu.version* section names.
3726 (assign_section_numbers): Handle SHT_GNU_ver* section types.
3727 (_bfd_elf_slurp_version_tables): New function.
3728 * elflink.c (_bfd_elf_link_record_dynamic_symbol): Don't include
3729 version name in string entered in dynamic hash table.
3730 * elfcode.h: Include fnmatch.h.
3731 * elf32-i386.c (elf_i386_relocate_section): Handle a dynamic
3732 symbol which was forced to become local.
3733 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
3734 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
3735 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
3736 * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise.
3737
3738 Fri Feb 21 16:15:18 1997 Jeffrey A Law (law@cygnus.com)
3739
3740 * elf32-mn10200.c (mn10200_elf_final_link_relocate): Simplify
3741 somewhat.
3742 (mn10200_elf_relax_section): Correctly compute a symbol's value
3743 when the symbol is local, but not in the same section as we are
3744 relaxing. Implement abs24 -> abs16, imm24 -> imm16 and d24 -> d16
3745 relaxing.
3746
3747 Fri Feb 21 13:55:14 1997 Doug Evans <dje@seba.cygnus.com>
3748
3749 * elf32-m32r.c: Rewrite to use ELF backend linker.
3750 Store lower 16 bits of addend in R_M32R_HI16_[SU]LO insns.
3751 Add small data area support (R_M32R_SDA16).
3752 * reloc.c: Document BFD_RELOC_M32R_SDA16.
3753 * bfd-in2.h,libbfd.h: Regenerated.
3754
3755 Thu Feb 20 23:50:31 1997 Jeffrey A Law (law@cygnus.com)
3756
3757 * elf32-mn10200.c (mn10200_elf_relax_section): New function.
3758 (mn10200_elf_relax_delete_bytes): Likewise.
3759 (mn10200_elf_symbol_address_p): Likewise.
3760 (mn10200_elf_get_relocated_section_contents): Likewise.
3761 (bfd_elf32_bfd_relax_section): Define.
3762 (bfd_elf32_bfd_get_relocated_section_contents): Likewise.
3763
3764 * elf32-mn10200.c (mn10200_elf_final_link_relocate): New function.
3765 (mn10200_elf_relocate_section): Likewise.
3766 (elf_backend_relocate_section): Define.
3767
3768 start-sanitize-d30v
3769 Tue Feb 18 17:22:59 1997 Martin M. Hunt <hunt@pizza.cygnus.com>
3770
3771 * Makefile.in, archures.c, config.bfd, configure.in, elf.c,
3772 reloc.c, targets.c: New target, elf-*-D30V.
3773
3774 * bfd-in2.h, configure, libbfd.h: Rebuilt.
3775
3776 * cpu-d30v.c, elf32-d30v.c: New files.
3777
3778 end-sanitize-d30v
3779 Tue Feb 18 15:31:48 1997 Fred Fish <fnf@cygnus.com>
3780
3781 * reloc.c (struct reloc_howto_struct): Fix typo in comment.
3782 * bfd-in2.h: Regenerated.
3783 start-sanitize-tic80
3784 * coff-tic80.c (RTYPE2HOWTO): Replace abort with real function.
3785 (rtype2howto): Add function.
3786 (tic80_howto_table): Add.
3787 end-sanitize-tic80
3788
3789 Tue Feb 18 11:41:00 1996 Dawn Perchik <dawn@cygnus.com>
3790
3791 * sysdep.h: Don't define errno in MSVC if error.h is included.
3792
3793 Tue Feb 18 10:04:13 1997 Jeffrey A Law (law@cygnus.com)
3794
3795 * elf32-v850.c (v850_elf_relocate_section): Make sure r_symndx
3796 is initialized before it is used.
3797
3798 Mon Feb 17 11:28:40 1997 Ian Lance Taylor <ian@cygnus.com>
3799
3800 * hp300hpux.c (convert_sym_type): Don't convert a secondary common
3801 symbol into a weak undefined symbol; leave it as a common symbol.
3802
3803 Fri Feb 14 19:08:03 1997 Ian Lance Taylor <ian@cygnus.com>
3804
3805 * elflink.h (elf_link_add_object_symbols): Don't issue a warning
3806 about a symbol defined in a dynamic object if it has already been
3807 defined in a regular object.
3808
3809 Thu Feb 13 20:53:22 1997 Klaus Kaempf (kkaempf@progis.de)
3810
3811 * makefile.vms: Add gcc flags to allow compiling with current gcc
3812 snapshot
3813 (targmatch.h): New dependency.
3814
3815 * reloc.c (BFD_RELOC_ALPHA_CODEADDR): New relocation for
3816 openVMS/Alpha.
3817 * evax.h (ALPHA_R_CODEADDR): New relocation.
3818 * evax-alpha.c (ALPHA_R_CODEADDR): 64 bit procedure relocation for
3819 openVMS/Alpha.
3820 * evax-etir.c (ALPHA_R_CODEADDR): Output object code for this
3821 relocation.
3822 * bfd-in2.h, libbfd.h: Rebuild.
3823
3824 Restrict symbol length to 64 bytes, case preserving:
3825 * evax-emh.c (_bfd_evax_write_emh): Remove case hacking.
3826 * evax-misc.c (_bfd_evax_case_hack_symbol): Remove.
3827 (_bfd_evax_length_hash_symbol): Added.
3828 * evax-etir.c (_bfd_evax_write_etir): Call
3829 _bfd_evax_length_hash_symbol before output of symbol.
3830 * evax-egsd.c (_bfd_evax_write_egsd): Likewise.
3831 * evax.h (flag_hash_long_names, flag_show_after_trunc): Remove.
3832
3833 * evax-emh.c: Output filename to object file without path.
3834
3835 * evax-egsd.c: New sections for local and global commons.
3836
3837 * evax-alpha.c, evax-emh.c, evax-egsd.c, evax-etir.c,
3838 evax-misc.c, evax.h: Remove 8 bit characters from copyright
3839 notices. Replace AXP with Alpha.
3840
3841 Wed Feb 12 18:10:30 1997 Ian Lance Taylor <ian@cygnus.com>
3842
3843 * sunos.c (sunos_create_dynamic_sections): We need the dynamic
3844 sections if we are creating a shared library.
3845
3846 Tue Feb 11 15:45:43 1997 Doug Evans <dje@canuck.cygnus.com>
3847
3848 * configure.host (i386-windows): Don't set host64=true.
3849
3850 Tue Feb 11 15:27:32 1997 Ian Lance Taylor <ian@cygnus.com>
3851
3852 * elf32-mips.c (reloc_type): Add R_MIPS16_GPREL.
3853 (elf_mips16_gprel_howto): New static variable.
3854 (mips16_gprel_reloc): New static function.
3855 (bfd_elf32_bfd_reloc_type_lookup): Handle BFD_RELOC_MIPS16_GPREL.
3856 (mips_info_to_howto_rel): Handle R_MIPS16_GPREL.
3857 (mips_elf_relocate_section): Handle R_MIPS16_GPREL.
3858 * reloc.c (BFD_RELOC_MIPS16_GPREL): Define.
3859 * bfd-in2.h, libbfd.h: Rebuild.
3860
3861 Mon Feb 10 23:25:00 1997 Doug Evans <dje@seba.cygnus.com>
3862
3863 * elf32-m32r.c (elf_m32r_howto_table): Change partial_inplace to true
3864 for R_M32R_{16,32,24,HI16_ULO,HI16_SLO,LO16}.
3865
3866 start-sanitize-r5900
3867 Fri Feb 7 16:20:17 1997 Gavin Koch <gavin@cygnus.com>
3868
3869 * config.bfd: add r5900
3870
3871 end-sanitize-r5900
3872 Fri Feb 7 12:39:11 1997 Ian Lance Taylor <ian@cygnus.com>
3873
3874 * elflink.h (elf_link_input_bfd): If we've discarded a section,
3875 the output section will be the absolute section; don't print an
3876 assertion message for that case when doing a relocateable link.
3877
3878 Thu Feb 6 16:55:43 1997 Ian Lance Taylor <ian@cygnus.com>
3879
3880 * elf32-mips.c (FN_STUB, CALL_STUB, CALL_FP_STUB): Define.
3881 (struct mips_elf_link_hash_entry): Add new fields fn_stub,
3882 need_fn_sub, call_stub, and call_fp_stub.
3883 (struct mips_elf_link_hash_table): Add field mips16_stubs_seen.
3884 (mips_elf_link_hash_newfunc): Initialize new fields.
3885 (mips_elf_link_hash_table_create): Likewise.
3886 (mips_elf_relocate_section): Redirect relocations to use mips16
3887 stubs when appropriate.
3888 (mips_elf_check_relocs): Attach stub sections to the appropriate
3889 symbol. Set need_fn_stub when appropriate.
3890 (mips_elf_always_size_sections): New static function.
3891 (mips_elf_check_mips16_stubs): New static function.
3892 (elf_backend_always_size_sections): Define.
3893 * elf-bfd.h (struct elf_obj_tdata): Add local_stubs field.
3894
3895 * elflink.h (elf_link_input_bfd): Discard local symbols that are
3896 attached to sections which are not being included in the link.
3897
3898 Wed Feb 5 13:20:17 1997 Ian Lance Taylor <ian@cygnus.com>
3899
3900 * cofflink.c (_bfd_coff_generic_relocate_section): Ignore the
3901 symbol value when computing the addend for a pc_relative
3902 pcrel_offset reloc.
3903
3904 Mon Feb 3 11:54:06 1997 Ian Lance Taylor <ian@cygnus.com>
3905
3906 * cofflink.c (_bfd_coff_generic_relocate_section): If doing a
3907 relocateable link, just skip pc_relative pcrel_offset relocs.
3908 * coff-arm.c (coff_arm_rtype_to_howto): Return a different howto
3909 structure for an ARM26 reloc which can be resolved.
3910 (coff_arm_adjust_symndx): Only convert ARM26 to ARM26D if the
3911 reloc can be resolved.
3912
3913 * coff-h8300.c (h8300_reloc16_extra_cases): Correct off by one
3914 error in overflow check for R_RELBYTE.
3915
3916 Fri Jan 31 14:07:27 1997 Ian Lance Taylor <ian@cygnus.com>
3917
3918 * ieee.c (ieee_slurp_section_data): Pick up the start address.
3919 From Mark Rasin <mark.rasin@telrad.co.il>.
3920
3921 * aoutx.h (aout_link_write_symbols): Don't apply discard_l to
3922 debugging symbols.
3923
3924 Wed Jan 29 00:00:49 1997 Jeffrey A Law (law@cygnus.com)
3925
3926 * elf32-mn10200.c (reloc_type): Add 16bit pc-relative reloc.
3927 (elf_mn10200_howto_table): Likewise.
3928 (mn10200_reloc_map): Likewise.
3929
3930 Mon Jan 27 12:07:35 1997 Doug Evans <dje@seba.cygnus.com>
3931
3932 * reloc.c: Add relocs BFD_RELOC_M32R_{HI16_[US]LO,LO16}.
3933 * bfd-in2.h, libbfd.h: Regenerated.
3934 * elf32-m32r.c: Add support for them.
3935
3936 Mon Jan 27 12:25:02 1997 Ian Lance Taylor <ian@cygnus.com>
3937
3938 * aout-arm.c (MY_swap_std_reloc_in): Remove unused r_length.
3939 * elf32-ppc.c (ppc_elf_check_relocs): Remove unused plt.
3940 * elf32-v850.c (v850_elf_final_link_relocate): Remove used
3941 r_format and r_pcrel. Always return a value.
3942 * riscix.c (MY_final_link_callback): Define to dummy value.
3943
3944 * elf32-i386.c (elf_i386_size_dynamic_sections): When checking for
3945 relocations against the text segment, look up the output name of
3946 the reloc section.
3947 * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
3948 * elf32-mips.c (mips_elf_size_dynamic_sections): Likewise.
3949 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
3950 * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
3951 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise.
3952
3953 start-sanitize-tic80
3954 Wed Jan 22 15:40:28 1997 Fred Fish <fnf@cygnus.com>
3955
3956 * coff-tic80.c (tic80coff_vec): Use correct data put/get
3957 routines for little endian data.
3958 * coffcode.h (coff_write_object_contents): Set magic to
3959 TIC80_ARCH_MAGIC for TIc80.
3960
3961 Tue Jan 21 12:32:43 1997 Fred Fish <fnf@cygnus.com>
3962
3963 * coff-tic80.c (tic80coff_vec): Change to little endian data
3964 as the default.
3965
3966 end-sanitize-tic80
3967 Thu Jan 16 17:45:57 1997 Ian Lance Taylor <ian@cygnus.com>
3968
3969 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Change type of
3970 auxiliary_filters parameter to be const char * const *. Accept a
3971 NULL terminated array.
3972 * bfd-in.h (bfd_elf32_size_dynamic_sections): Update declaration.
3973 (bfd_elf32_size_dynamic_sections): Update declaration.
3974 * bfd-in2.h: Rebuild.
3975
3976 Wed Jan 15 11:21:32 1997 Ian Lance Taylor <ian@cygnus.com>
3977
3978 * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Treat a
3979 NOTYPE symbol in a text section as a FUNC symbol.
3980
3981 * coffcode.h (coff_compute_section_file_positions): Force
3982 relocbase to be aligned to COFF_DEFAULT_SECTION_ALIGNMENT_POWER.
3983
3984 Tue Jan 14 08:46:33 1997 Doug Evans <dje@canuck.cygnus.com>
3985
3986 * libaout.h (machine_type): Reserve several values for sparclet.
3987
3988 start-sanitize-tic80
3989 Mon Jan 13 22:39:08 1997 Michael Meissner <meissner@tiktok.cygnus.com>
3990
3991 * config.bfd (tic80-*-*): Don't require 'coff'.
3992
3993 end-sanitize-tic80
3994 Mon Jan 13 19:36:25 1997 Michael Meissner <meissner@tiktok.cygnus.com>
3995
3996 * elf32-v850.c (v850_elf_howto_table): Set the special_function
3997 table to v850_elf_reloc for all non-standard relocations.
3998 (v850_elf_check_relocs): Add check for h being non-null.
3999 (v850_elf_reloc): Add R_V850_ZDA_OFFSET support. Use switch
4000 statement instead of multiple ifs.
4001 (v850_elf_relocate_section): Fix up error message, don't just call
4002 abort.
4003
4004 Mon Jan 6 13:28:35 1997 Jeffrey A Law (law@cygnus.com)
4005
4006 * elf32-mn10200.c (elf_mn10200_howto): Don't ever set partial-inplace.
4007 Use bfd_elf_generic_reloc as special function for all relocs.
4008 (bfd_elf32_mn10200_reloc): Remove unnecessary function.
4009
4010 * elf32-mn10200.c (elf_mn10200_howto): Set pcrel_offset for
4011 24bit pc-relative reloc.
4012
4013 start-sanitize-tic80
4014 Fri Jan 3 16:33:00 1997 Fred Fish <fnf@cygnus.com>
4015
4016 * Makefile.in (coff-tic80.o): Add coffcode.h to dependency list.
4017 * coff-tic80.c (tic80coff_vec): Data byte order is big endian and
4018 header byte order is little endian. Use correct bfd_get and
4019 bfd_put routines for little endian headers.
4020 * coffcode.h (coff_set_arch_mach_hook): Set arch to
4021 bfd_arch_tic80 for TIC80_ARCH_MAGIC number.
4022
4023 end-sanitize-tic80
4024 Fri Jan 3 16:54:08 1997 Jeffrey A Law (law@cygnus.com)
4025
4026 * reloc.c: Add BFD_RELOC_24.
4027 * elf32-mn10200.c (enum reloc_type): Add 24bit and pcrel relocs.
4028 (elf_mn10200_howto, mn10200_reloc_map): Corresponding changes.
4029 * bfd-in2.h, libbfd.h: Rebuilt.
4030
4031 Fri Jan 3 16:58:31 1997 Richard Henderson <rth@tamu.edu>
4032
4033 elf64-alpha multiple .got rewrite:
4034
4035 * elf-bfd.h (struct elf_backend_data): Add always_size_sections entry.
4036 (bfd_elf*_mkobject): Don't define here ...
4037 * elfxx-target.h: ... but rather here. Default always_size_sections
4038 hook to NULL.
4039 * elf.c (elf_mkobject): Rename to bfd_elf_mkobject, since that was
4040 what the #defines in elf-bfd.h transmuted it to anyway.
4041
4042 * section.c: Add SEC_LINKER_CREATED flag.
4043 * bfd-in2.h: Rebuild.
4044 * elf32-i386.c (elf_i386_check_relocs): Add SEC_LINKER_CREATED to
4045 relocation section flags.
4046 (elf_i386_size_dynamic_sections): Use SEC_LINKER_CREATED instead of
4047 SEC_IN_MEMORY to recognize generated bits.
4048 * elf32-m68k.c (elf_m68k_check_relocs, elf_m68k_size_dynamic_sections):
4049 Likewise.
4050 * elf32-mips.c (mips_elf_final_link, mips_elf_create_dynamic_sections,
4051 mips_elf_create_compact_rel_section, mips_elf_create_got_section,
4052 mips_elf_check_relocs, mips_elf_size_dynamic_sections): Likewise.
4053 * elf32-ppc.c (ppc_elf_create_linker_section,
4054 ppc_elf_size_dynamic_sections): Likewise.
4055 * elf32-sparc.c (elf32_sparc_check_relocs,
4056 elf32_sparc_size_dynamic_sections): Likewise.
4057 * elflink.c (_bfd_elf_create_got_section): Add SEC_LINKER_CREATED to
4058 section flags.
4059 (_bfd_elf_create_dynamic_sections): Likewise.
4060 (_bfd_elf_make_linker_section_rela): Likewise.
4061 * elflink.h (elf_link_create_dynamic_sections): Likewise.
4062 (bfd_elf,size_dynamic_sections): Call the always_size_sections hook.
4063 (elf_bfd_final_link): Use SEC_LINKER_CREATED instead of SEC_IN_MEMORY
4064 to identify generated bits.
4065 (elf_link_input_bfd): Likewise.
4066
4067 * elf64-alpha.c: Rewrite everything touching relocations.
4068
4069 Fri Jan 3 11:42:53 1997 Michael Meissner <meissner@tiktok.cygnus.com>
4070
4071 * elf32-v850.c (all functions and static variables): Go through
4072 and regularize names to be of the form v850_elf_<xxx>.
4073 (toplevel): Include <elf/v850.h>.
4074 (enum reloc_type): Move to include/elf/v850.h.
4075 (v850_elf_check_relocs): For common variables, if the variable is
4076 referenced by a R_V850_{SDA,ZDA,TDA} relocation, put the variable
4077 into the appropriate section.
4078 (elf_backend_check_relocs): Define.
4079
4080 Tue Dec 31 15:15:28 1996 Michael Meissner <meissner@tiktok.cygnus.com>
4081
4082 * elf32-v850.c (elf_v850_howto_table): Fix some spacing.
4083
4084 Tue Dec 31 14:44:50 1996 Ian Lance Taylor <ian@cygnus.com>
4085
4086 * config.bfd (mips*el-*-linux*): New target.
4087 (mips*-*-linux*): New target.
4088
4089 * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Clean up.
4090 Return a useful value.
4091
4092 * Makefile.in (ALL_CFLAGS): Add -D_GNU_SOURCE.
4093
4094 * configure.in: Check ac_cv_func_mmap_fixed_mapped, not
4095 ac_cv_func_mmap.
4096 * configure: Rebuild.
4097 * configure.host: Use ac_cv_func_mmap_fixed_mapped instead of
4098 ac_cv_func_mmap in bfd/configure.host.
4099
4100 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Add
4101 filter_shlib and auxiliary_filter_shlib parameters.
4102 * elf.c (_bfd_elf_print_private_bfd_data): Handle DT_AUXILIARY and
4103 DT_FILTER.
4104 * bfd-in.h (bfd_elf32_size_dynamic_sections): Update declaration.
4105 (bfd_elf64_size_dynamic_sections): Likewise.
4106 * bfd-in2.h: Rebuild.
4107
4108 Mon Dec 30 18:48:52 1996 Ian Lance Taylor <ian@cygnus.com>
4109
4110 * xcofflink.c (xcoff_build_ldsyms): When exporting all defined
4111 symbols, don't export a symbol which is defined by an object in an
4112 archive which contains shared objects.
4113
4114 start-sanitize-tic80
4115 Mon Dec 30 16:12:58 1996 Fred Fish <fnf@cygnus.com>
4116
4117 * archures.c (enum bfd_architecture): Add bfd_arch_tic80
4118 for TI TMS320c80 (MVP).
4119 (bfd_archures_list): Add bfd_tic80_arch.
4120 * bfd-in2.h: Regenerate by running "make headers".
4121
4122 Sun Dec 29 16:18:52 1996 Fred Fish <fnf@cygnus.com>
4123
4124 * cpu-tic80.c (bfd_tic80_arch): Add struct.
4125 * configure.in (case $vec): Correct typo, "tb" not "tp".
4126 Also add cofflink.o for tic80coff_vec.
4127 * configure: Regenerate with autoconf.
4128
4129 end-sanitize-tic80
4130 Mon Dec 30 11:54:56 1996 Ian Lance Taylor <ian@cygnus.com>
4131
4132 * libbfd.c: Patch up the mmap code so that it is only built if BFD
4133 is configured with --with-mmap.
4134
4135 start-sanitize-tic80
4136 Sun Dec 29 10:48:57 1996 Fred Fish <fnf@cygnus.com>
4137
4138 * Makefile.in (BFD32_BACKENDS): Add coff-tic80.o
4139 (ALL_MACHINES): Add cpu-tic80.o
4140 (cpu-tic80.o, coff-tic80.o): Add dependencies.
4141 * coff-tic80.c: Add skeleton, cloned from another coff config.
4142 * coffcode.h (coff_write_object_contents): Set magic to TIC80MAGIC
4143 for TIc80.
4144
4145 end-sanitize-tic80
4146 Fri Dec 27 20:56:41 1996 Fred Fish <fnf@cygnus.com>
4147
4148 * TODO: Correct a misspelling.
4149 start-sanitize-tic80
4150 * coff-tic80.c: New file for TI TMS320C80 (MVP).
4151 * cpu-tic80.c: New file for TI TMS320C80 (MVP).
4152 * configure.in (case $vec): Add tic80coff_vec entry.
4153 * configure: Regenerate with autoconf.
4154 * archures.c (bfd_tic80_arch): Declare.
4155 * bfd-in2.h (enum bfd_architecture): Add bfd_arch_tic80.
4156 * config.bfd (case ${targ}): Add tic80*-*-coff* target.
4157 * targets.c (tic80coff_vec): Add decl as extern bfd_target.
4158 (bfd_target_vector): Add tic80coff_vec entry.
4159 end-sanitize-tic80
4160
4161 Fri Dec 27 11:48:12 1996 H.J. Lu <hjl@lucon.org>
4162
4163 * elflink.h (elf_buckets): Add some more values for larger
4164 binaries.
4165
4166 Thu Dec 26 18:36:54 1996 Ian Lance Taylor <ian@cygnus.com>
4167
4168 * Makefile.in (install): Move subdir_do out of conditional. From
4169 Fred Fish <fnf@cygnus.com>.
4170
4171 Wed Dec 18 10:04:30 1996 Jeffrey A Law (law@cygnus.com)
4172
4173 * elf32-mn10200.c (enum reloc_type): Enable basic 8, 16, and
4174 32 bit relocs.
4175 (elf_mn10200_howto_table): Likewise.
4176 (mn10200_reloc_map): Likewise.
4177
4178 Tue Dec 17 11:09:36 1996 Ian Lance Taylor <ian@cygnus.com>
4179
4180 * elf32-mips.c (mips_elf_add_symbol_hook): Add 1 to the value of a
4181 mips16 symbol during the link.
4182 (mips_elf_finish_dynamic_symbol): Subtract 1 from the value of a
4183 mips16 symbol.
4184 (mips_elf_link_output_symbol_hook): New static function.
4185 (elf_backend_link_output_symbol_hook): Define.
4186
4187 * elf.c (bfd_elf_print_symbol): Print the st_other field if it is
4188 not zero.
4189
4190 Mon Dec 16 14:38:39 1996 Ian Lance Taylor <ian@cygnus.com>
4191
4192 * elf.c (bfd_section_from_shdr): Don't check for reloc sections
4193 against SEC_DEBUGGING sections here (revert patch of December 5).
4194 * elfcode.h (elf_object_p): Check for them here, instead.
4195
4196 Sun Dec 15 14:46:06 1996 Ian Lance Taylor <ian@cygnus.com>
4197
4198 * elfcode.h (elf_slurp_reloc_table): Add dynamic parameter.
4199 * elf.c (_bfd_elf_canonicalize_reloc): Pass new argument to
4200 slurp_reloc_table.
4201 (_bfd_elf_get_dynamic_reloc_upper_bound): New function.
4202 (_bfd_elf_canonicalize_dynamic_reloc): New function.
4203 * elf-bfd.h (struct elf_size_info): Update declaration of
4204 slurp_reloc_table.
4205 (_bfd_elf_get_dynamic_reloc_upper_bound): Declare.
4206 (_bfd_elf_canonicalize_dynamic_reloc): Declare.
4207 * elfxx-target.h: Use new dynamic reloc routines by default.
4208 * elf64-mips.c (mips_elf64_slurp_reloc_table): Add dynamic
4209 parameter.
4210
4211 Fri Dec 13 13:18:49 1996 Dan Wilder <dan@gasboy.com>
4212
4213 * coffcode.h (coff_set_flags): Use MC68KBCSMAGIC for bfd_arch_m68k
4214 if NAMES_HAVE_UNDERSCORE is defined.
4215
4216 Fri Dec 13 11:13:23 1996 Doug Evans <dje@canuck.cygnus.com>
4217
4218 * libaout.h (enum machine_type): Change M_SPARCLET from 142 to 131.
4219
4220 Thu Dec 12 15:07:20 1996 Michael Meissner <meissner@tiktok.cygnus.com>
4221
4222 * elf32-ppc.c (ppc_elf_check_relocs): Move R_PPC_PLTREL24 into the
4223 supported relocs.
4224
4225 Thu Dec 12 14:55:41 1996 Ian Lance Taylor <ian@cygnus.com>
4226
4227 * elflink.h (elf_link_add_object_symbols): Only add a weak
4228 symbol if the real definition is in the dynamic symbol table.
4229 After finding the real definition, then, if it is dynamic, add the
4230 weak symbol to the dynamic symbol table.
4231
4232 * coff-aux.c (coff_m68k_aux_link_add_one_symbol): Make static.
4233
4234 * ppcboot.c (ppcboot_set_arch_mach): Don't define; it's a
4235 function.
4236 (ppcboot_bfd_print_private_bfd_data): Don't take the address of an
4237 array.
4238
4239 Tue Dec 10 23:23:52 1996 Jeffrey A Law (law@cygnus.com)
4240
4241 * elf32-mn10300.c (reloc_type): Remove big endian mn10300 reloc
4242 variants.
4243 (elf32_mn10300_howto_table, mn10300_reloc_map): Likewise.
4244 (bfd_elf32_mn10300_reloc): Write data in little endian format.
4245 * reloc.c: Remove mn10300 big endian relocs.
4246 * bfd-in2.h, libbfd.h: Rebuilt.
4247
4248 * elf32-mn10200.c: Update from elf32-mn10300.c.
4249
4250 Fri Dec 6 15:18:05 1996 Jeffrey A Law (law@cygnus.com)
4251
4252 * elf32-mn10300.c (elf_symbol_leading_char): Define.
4253
4254 * elf32-mn10300.c: Add some comments.
4255
4256 Fri Dec 6 17:16:43 1996 Ian Lance Taylor <ian@cygnus.com>
4257
4258 * ihex.c (ihex_scan): Always initialize buf before jumping to
4259 error_return.
4260 (ihex_read_section): Likewise.
4261
4262 Thu Dec 5 22:29:18 1996 Jeffrey A Law (law@cygnus.com)
4263
4264 * elf32-mn10300.c (elf_mn10300_howto_table): Don't set partial-
4265 inplace for most relocs.
4266
4267 Thu Dec 5 13:24:46 1996 Ian Lance Taylor <ian@cygnus.com>
4268
4269 * elflink.h (elf_link_add_object_symbols): Calling check_relocs
4270 even if SEC_ALLOC is not set.
4271 * elf32-i386.c (elf_i386_check_relocs): Don't check SEC_ALLOC
4272 when deciding whether to copy a reloc into a shared object.
4273 (elf_i386_relocate_section): Likewise.
4274 * elf32-sparc.c (elf32_sparc_check_relocs): Likewise.
4275 (elf32_sparc_relocate_section): Likewise.
4276 * elf32-i386.c (elf_i386_check_relocs): Don't set SEC_ALLOC in a
4277 reloc section if it is not set in the source section.
4278 * elf32-sparc.c (elf32_sparc_check_relocs): Likewise.
4279 * elf.c (bfd_section_from_shdr): Mark a reloc section associated
4280 with a SEC_DEBUGGING section as SEC_DEBUGGING.
4281
4282 Wed Dec 4 14:18:13 1996 Michael Meissner <meissner@tiktok.cygnus.com>
4283
4284 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): #if 0 code that
4285 expects a .got.plt until we actually create it.
4286
4287 Mon Dec 2 12:13:51 1996 Ian Lance Taylor <ian@cygnus.com>
4288
4289 * cofflink.c (_bfd_coff_generic_relocate_section): Print an error
4290 message for bfd_reloc_outofrange, rather than aborting. From
4291 Philippe De Muyter <phdm@info.ucl.ac.be>.
4292
4293 * cofflink.c (_bfd_coff_final_link): If there aren't any relocs in
4294 a relocateable link, don't try to process them. From Heinz Wrobel
4295 <wrobel@lpr.e-technik.tu-muenchen.de>.
4296
4297 Mon Dec 2 00:39:24 1996 Jeffrey A Law (law@cygnus.com)
4298
4299 * elf32-mn10300.c (mn10300_info_howto): Renamed from
4300 mn10300_info_howto_rel. Tweak reloc argument to be an
4301 Elf32_Internal_Rela.
4302 (USE_RELA): Define instead of USE_REL.
4303 (elf_info_to_howto, elf_info_howto_rel): Corresponding changes.
4304
4305 Sun Dec 1 00:18:59 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
4306
4307 * configure.in, configure: Handle mips*-sgi-irix6*.
4308 * irix-core.c (irix_core_core_file_p): Accept CORE_MAGICN32
4309 core files.
4310
4311 Wed Nov 27 12:10:25 1996 Ian Lance Taylor <ian@cygnus.com>
4312
4313 * elf32-i386.c (elf_i386_relocate_section): Warn about a
4314 relocation against a symbol defined in a section with no output
4315 section.
4316
4317 Tue Nov 26 11:07:31 1996 Ian Lance Taylor <ian@cygnus.com>
4318
4319 * aclocal.m4 (BFD_CC_FOR_BUILD): Don't require AC_C_CROSS.
4320 * configure, config.in: Rebuild with autoconf 2.12.
4321
4322 * elf-bfd.h (struct elf_link_hash_entry): Add other field.
4323 * elf.c (_bfd_elf_link_hash_newfunc): Initialize other field.
4324 (swap_out_syms): Set st_other from existing st_other field.
4325 * elflink.h (elf_link_add_object_symbols): Store st_other in hash
4326 table other field.
4327 (elf_link_output_extsym): Set the other field from the global hash
4328 table entry.
4329 * elf32-mips.c (enum reloc_type): Add R_MIPS16_26.
4330 (elf_mips16_jump_howto): New static variable.
4331 (mips16_jump_reloc): New static function.
4332 (bfd_elf32_bfd_reloc_type_lookup): Handle BFD_RELOC_MIPS16_JMP.
4333 (mips_info_to_howto_rel): Handle R_MIPS16_26.
4334 (mips_elf_relocate_section): Handle R_MIPS16_26. Handle R_MIPS_26
4335 to a mips16 symbol.
4336 * reloc.c (BFD_RELOC_MIPS16_JMP): Add to list of relocs.
4337 * bfd-in2.h, libbfd.h: Rebuild.
4338 * cpu-mips.c (arch_info_struct): Add mips:16 entry.
4339
4340 Mon Nov 25 11:23:32 1996 Ian Lance Taylor <ian@cygnus.com>
4341
4342 * configure.host: Use long long for mips-sgi-irix6*.
4343
4344 * coffswap.h (coff_swap_scnhdr_out): Make line number overflow
4345 only a warning. From Philippe De Muyter <phdemuyt@ulb.ac.be>.
4346
4347 Mon Nov 25 08:52:29 1996 Jeffrey A Law (law@cygnus.com)
4348
4349 * elf32-mn10300.c (bfd_elf32_mn10300_reloc): New function.
4350 (enum reloc_type): Add more reloc types.
4351 (elf32_mn10300_howto_table): Update for new reloc types.
4352 (elf32_mn10300_reloc_map): Update for new reloc types.
4353 * reloc.c: Add some new relocs for the mn10300 series.
4354 * bfd-in2.h, libbfd.h: Rebuilt.
4355
4356 Sat Nov 23 13:26:18 1996 Jeffrey A Law (law@cygnus.com)
4357
4358 * som.c (setup_sections): Don't lose for a space which has
4359 no data, but some symbols.
4360
4361 Fri Nov 22 11:32:13 1996 Ian Lance Taylor <ian@cygnus.com>
4362
4363 * sunos.c (struct sunos_link_hash_table): Add got_needed field.
4364 (sunos_link_hash_table_create): Initialize got_needed.
4365 (sunos_create_dynamic_sections): Only set .got section size if it
4366 is not already set. Set got_needed.
4367 (bfd_sunos_size_dynamic_sections): Check got_needed. Only set
4368 sdynptr, and only handle dynamic sections, if dynamic sections are
4369 needed.
4370 (sunos_scan_std_relocs): Pass false to create_dynamic_sections.
4371 Initialize .got section.
4372 (sunos_scan_ext_relocs): Likewise.
4373 (sunos_write_dynamic_symbol): Set up PLT entry even if this is not
4374 a dynamic symbol.
4375 (sunos_finish_dynamic_link): Check got_needed. Only set up
4376 dynamic linking information if needed.
4377
4378 Thu Nov 21 10:31:31 1996 Rob Savoye (rob@cygnus.com)
4379
4380 * config.bfd: Added VersaDOS format to the Ericsson configuration.
4381
4382 Wed Nov 20 16:31:31 1996 Jeffrey A Law (law@cygnus.com)
4383
4384 * elf32-mn10300.c: Rough cut at relocs for the mn10300.
4385
4386 Wed Nov 13 08:12:38 1996 Jeffrey A Law (law@cygnus.com)
4387
4388 * Makefile.in (elf32-d10v.o): Don't depend on elf/d10v.h
4389 anymore.
4390
4391 Tue Nov 12 13:30:00 1996 Dawn Perchik <dawn@cygnus.com>
4392
4393 * filemode.c: Include sysdep.h.
4394 * ihex.c: Add casts to eliminate compiler warnings.
4395 * sunos.c: Add casts to eliminate compiler warnings.
4396
4397 Mon Nov 11 10:37:02 1996 Michael Meissner <meissner@tiktok.cygnus.com>
4398
4399 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Create .got.plt
4400 section.
4401 (ppc_elf_check_relocs): Add support for R_PPC_LOCAL24PC. Make
4402 appropriate relocations in the .so file if shared.
4403 (ppc_elf_relocate_section): Ditto.
4404
4405 Tue Oct 29 15:03:02 1996 Doug Evans <dje@canuck.cygnus.com>
4406
4407 * elf32-m32r.c (elf_m32r_howto_table, R_M32R_24): Use
4408 complain_overflow_unsigned.
4409
4410 Tue Oct 29 12:53:46 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
4411
4412 * elf32-d10v.c (elf_d10v_howto_table): Don't complain on
4413 overflows for R_D10V_16 and R_D10V_18.
4414
4415 Tue Oct 29 13:23:53 1996 Ian Lance Taylor <ian@cygnus.com>
4416
4417 * ieee.c (ieee_write_section_part): Use LMA rather than VMA.
4418 (do_with_relocs): Likewise.
4419 (do_as_repeat): Likewise.
4420 (copy_expression): Likewise.
4421
4422 Fri Oct 25 16:56:40 1996 Ian Lance Taylor <ian@cygnus.com>
4423
4424 * ieee.c (ieee_write_external_part): Correctly record whether
4425 there is an external part.
4426
4427 Thu Oct 24 14:32:52 1996 Jeffrey A Law (law@cygnus.com)
4428
4429 * elf32-v850.c (elf32_v850_bfd_final_link_relocate): Correctly
4430 handle tda offsets for sld.w and sst.w instructions.
4431 Fix alignment check in sld.w and sst.w tda reloc handling.
4432
4433 Thu Oct 24 09:08:47 1996 Stu Grossman (grossman@critters.cygnus.com)
4434
4435 * aclocal.m4, configure: Set USE_BINARY_FOPEN for *-*-windows.
4436
4437 Wed Oct 23 00:53:16 1996 Jeffrey A Law (law@cygnus.com)
4438
4439 * elf32-v850.c: Add comments about assumptions about
4440 char, short & long sizes.
4441 (elf32_v850_bfd_final_link_relocate): Fix sign extension
4442 problems for several relocs.
4443
4444 * elf32-v850.c (elf32_v850_howto_table): Fix typo in
4445 R_V850_SDA_OFFSET entry.
4446
4447 Wed Oct 23 00:20:34 1996 Ian Lance Taylor <ian@cygnus.com>
4448
4449 * xcofflink.c (bfd_xcoff_import_symbol): Don't allocate ldsym.
4450 Store import file index in ldindx.
4451 (xcoff_build_ldsyms): Assume that ldsym was not previously
4452 allocated. For an imported symbol, copy ldindx into l_ifile.
4453
4454 Tue Oct 22 19:20:38 1996 Jeffrey A Law (law@cygnus.com)
4455
4456 * elf32-v850.c (elf_v850_howto_table): Fix ordering of
4457 R_V850_ZDA_OFFSET and R_V850_TDA_OFFSET. Fix various
4458 fields in R_V850_TDA_OFFSET.
4459 (elf32_v850_bfd_final_link_relocate): Tweak pc-relative
4460 relocs to work more like other relocs. Handle R_V850_TDA_OFFSET
4461 relocations.
4462
4463 * elf32-v850.c: Include bfdlink.h.
4464 (bfd_elf32_v850_reloc): Return an error if we get a reloc
4465 we can't handle.
4466 (elf32_v850_bfd_final_link_relocate): New function.
4467 (v850_elf_relocation_section): Likewise.
4468 (elf_backend_relocate_section): Define.
4469
4470 Tue Oct 22 17:22:43 1996 Ian Lance Taylor <ian@cygnus.com>
4471
4472 * binary.c (binary_set_section_contents): Ignore sections which
4473 don't have SEC_LOAD and SEC_ALLOC set.
4474
4475 Mon Oct 21 12:13:05 1996 Jeffrey A Law (law@cygnus.com)
4476
4477 * linker.c (_bfd_generic_final_link): Avoid losing static
4478 symbols in the .bss section.
4479
4480 Mon Oct 21 10:54:58 1996 Ian Lance Taylor <ian@cygnus.com>
4481
4482 * elf32-mips.c (elf_mips_howto_table): Describe R_MIPS_64.
4483 (mips32_64bit_reloc): New static function.
4484 (mips_reloc_map): Add entry for BFD_RELOC_64.
4485 (mips_elf_relocate_section): Handle R_MIPS_64.
4486
4487 * linker.c (default_indirect_link_order): Print an error message
4488 when attempting to do a relocateable link with different object
4489 file formats, rather than calling abort.
4490
4491 Thu Oct 17 10:43:29 1996 Doug Evans <dje@canuck.cygnus.com>
4492
4493 * reloc.c (m32r relocs): Rename them.
4494 * bfd-in2.h, libbfd.h: Regenerated.
4495 * elf32-m32r.c: Update.
4496 (m32r_elf_10_pcrel_reloc): New function.
4497 (elf_m32r_howto_table, R_M32R_10_PCREL entry): Use it.
4498 (elf_m32r_howto_table, R_M32R_24 entry): Fix {src,dst}_masks.
4499
4500 Wed Oct 16 11:24:35 1996 Jeffrey A Law (law@cygnus.com)
4501
4502 * linker.c (_bfd_generic_final_link): Set "linker_mark" for
4503 all sections that will be included in the output file.
4504 (_bfd_generic_link_output_symbols): Discard symbols in sections
4505 which are being discarded.
4506 * elf32-v850.c (enum reloc_type): Add R_V850_SDA_OFFSET,
4507 R_V850_TDA_OFFSET and R_V850_ZDA_OFFSET.
4508 (elf_v850_howto_table): Corresponding changes.
4509 (elf_v850_reloc_map): Corresponding changes.
4510 * reloc.c: Add additional V850 relocations.
4511 * bfd-in2.h, libbfd.h: Rebuilt.
4512
4513 * elf32-v850.c (bfd_elf32_v850_reloc): Mask out bits we
4514 no longer want in pc-relative relocs.
4515
4516 Tue Oct 15 22:17:37 1996 Jeffrey A Law (law@cygnus.com)
4517
4518 * elf32-v850.c (bfd_elf32_v850_reloc): Don't silently
4519 accept a reloc against an undefined sybmol!
4520
4521 Tue Oct 15 16:17:28 1996 Stu Grossman (grossman@critters.cygnus.com)
4522
4523 * elf32-v850.c: Define elf_symbol_leading_char to be '_'.
4524
4525 Tue Oct 15 12:40:41 1996 Ian Lance Taylor <ian@cygnus.com>
4526
4527 * VERSION: Bump for new relocation.
4528
4529 * hosts/i386bsd.h: If NBPG is not defined, define it as
4530 PAGE_SIZE, for recent versions of FreeBSD.
4531
4532 Mon Oct 14 12:37:26 1996 Ian Lance Taylor <ian@cygnus.com>
4533
4534 * configure.host: Use `long long' as the 64 bit type on a Solaris
4535 host, since both gcc and the SunPRO compilers support it.
4536
4537 Mon Oct 14 11:17:24 1996 Richard Henderson <rth@tamu.edu>
4538
4539 * reloc.c: Create a new BFD_RELOC_ALPHA_ELF_LITERAL. It was a
4540 mistake to have reused the ECOFF LITERAL for ELF since they have
4541 different semantics.
4542 * elf64-alpha.c (elf_reloc_map): Map from ELF_LITERAL.
4543 * bfd-in2.h, libbfd.h: Rebuild.
4544
4545 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Trap .got
4546 section overflow.
4547
4548 * elf64-alpha.c (elf64_alpha_relocate_section): Do not emit a
4549 dynamic relocation for an undefweak symbol when we are building
4550 a static executable.
4551
4552 Thu Oct 10 11:15:06 1996 Stan Shebs <shebs@andros.cygnus.com>
4553
4554 * mpw-make.sed (config.bfd, targmatch.sed): Edit references to
4555 point explicitly to srcdir.
4556 (targmatch.h): Edit references to point explicitly to objdir.
4557
4558 Thu Oct 10 14:14:23 1996 Ian Lance Taylor <ian@cygnus.com>
4559
4560 * config.bfd: When setting targ_cpu, don't get confused by
4561 linux-gnu.
4562
4563 Tue Oct 8 08:51:19 1996 Stu Grossman (grossman@critters.cygnus.com)
4564
4565 * configure.host: Add support for windows host (a build done
4566 under the Microsoft build environment).
4567
4568 Tue Oct 8 11:40:16 1996 Ian Lance Taylor <ian@cygnus.com>
4569
4570 * elflink.h (elf_link_add_object_symbols): If a symbol is a weak
4571 definition in a dynamic object, add it to the dynamic symbol table
4572 if any dynamic object mentions it. Reverts part of last patch.
4573
4574 * sunos.c (struct sunos_link_hash_table): Add got_base field.
4575 (sunos_link_hash_table_create): Initialize got_base.
4576 (bfd_sunos_size_dynamic_sections): If the .got section is more
4577 than 0x1000 bytes, set __GLOBAL_OFFSET_TABLE_ and got_base to
4578 0x1000.
4579 (sunos_check_dynamic_reloc): Subtract got_base from a base
4580 relative relocation.
4581
4582 * elf32-mips.c (elf_mips_isa): New static function.
4583 (_bfd_mips_elf_merge_private_bfd_data): Don't warn about linking
4584 -mips1 and -mips2 code together, or -mips3 and -mips4 code.
4585
4586 Mon Oct 7 11:44:17 1996 Ian Lance Taylor <ian@cygnus.com>
4587
4588 * archive.c (do_slurp_coff_armap): Only treat archive as little
4589 endian for i960 COFF.
4590
4591 Fri Oct 4 13:49:01 1996 Ian Lance Taylor <ian@cygnus.com>
4592
4593 * coffcode.h (coff_compute_section_file_positions): Adjust sofar
4594 by the change in size of the section when EXEC_P is not set.
4595
4596 * coff-m68k.c (coff_rtype_to_howto): Define if not defined.
4597 (m68kcoff_rtype_to_howto): New static function.
4598 * cf-m68klynx.c (coff_m68k_lynx_rtype_to_howto): Add the section
4599 VMA to the addend for a PC relative reloc.
4600
4601 * dep-in.sed: Rework backslash loop a bit to avoid bug in sed on
4602 HP/UX 10.20.
4603 * Makefile.in: Rebuild dependencies.
4604
4605 * dep-in.sed: Remove ../bfd/sysdep.h, since it will appear when
4606 som.h is included.
4607
4608 Fri Oct 4 11:41:39 1996 Jeffrey A Law (law@cygnus.com)
4609
4610 * Makefile.in: Remove explicit dependencies for mn10200 and
4611 mn10300 files.
4612 (ALL_MACHINE_CFILES): Add cpu-mn10200.c and cpu-mn10300.c.
4613 (BFD32_BACKENDS_CFILES): Add elf32-mn10200.c and elf32-mn10300.c
4614 (dependencies): Rebuilt.
4615
4616 Thu Oct 3 16:57:51 1996 Ian Lance Taylor <ian@cygnus.com>
4617
4618 * cofflink.c (coff_link_add_symbols): Set obj_coff_keep_syms
4619 during this function.
4620
4621 * elflink.c (_bfd_elf_create_linker_section): Only use an existing
4622 section if the flags are compatible.
4623
4624 * configure.in: Add havevecs, and put it in tdefaults.
4625 * mpw-config.in: Likewise.
4626 * configure: Rebuild.
4627 * targmatch.sed: New file; a sed script to build targmatch.h from
4628 config.bfd.
4629 * config.bfd: Add #if, #endif, and comments for targmatch.h.
4630 * targets.c: Include "fnmatch.h".
4631 (struct targmatch): Define.
4632 (bfd_target_match): Define by including targmatch.h.
4633 (bfd_find_target): If the target is not found by name, search for
4634 it as a configuration triplet.
4635 * Makefile.in: Rebuild dependencies.
4636 (BFD32_BACKENDS): Add aout-arm.o, aout-sparcle.o, hp300bsd.o,
4637 i386dynix.o, m68k4knetbsd.o, and riscix.o.
4638 (BFD32_BACKENDS_CFILES): Add aout-arm.c, aout-sparcle.c,
4639 hp300bsd.c, i386dynix.c, m68k4knetbsd.c, and riscix.c.
4640 (HFILES): Add targmatch.h. Also, alphabetize and reindent.
4641 (CFILES): Remove i386dynix.c and hp300bsd.c.
4642 (targmatch.h): New target.
4643 (do_clean): Remove targmatch.h.
4644
4645 * configure.in: Add BFD_NEED_DECLARATION(getenv).
4646 * acconfig.h: Add NEED_DECLARATION_GETENV.
4647 * configure, config.in: Rebuild.
4648 * sysdep.h: If NEED_DECLARATION_GETENV, declare getenv.
4649 * aout-adobe.c (aout_adobe_object_p): Don't declare getenv.
4650
4651 Thu Oct 3 09:29:09 1996 Jeffrey A Law (law@cygnus.com)
4652
4653 * cpu-mn10x00.c, elf32-mn10x00: Removed.
4654 * cpu-mn10200.c, cpu-mn10300.c: New files.
4655 * elf32-mn10200.c, elf32-mn10300.c: New files.
4656 * Makefile.in: Break mn10x00 support into two separate
4657 configurations, mn10200 and mn10300.
4658 * archures.c, config.bfd, configure.in, elf.c, targets.c: Likewise.
4659 * bfd-in2.h, configure: Rebuilt.
4660
4661 Thu Oct 3 15:38:19 1996 Jason Molenda (crash@godzilla.cygnus.co.jp)
4662
4663 * Makefile.in (do_clean): Move config.log to do_distclean.
4664
4665 Wed Oct 2 21:40:55 1996 Jeffrey A Law (law@cygnus.com)
4666
4667 * cpu-mn10x00.c, elf32-mn10x00.c: New files.
4668 * Makefile.in (ALL_MACHINES): Add cpu-mn10x00.o.
4669 (BFD32_BACKENDS): Similarly for elf32-mn10x00.o.
4670 (elf32-mn10x00.o): Add dependencies.
4671 * archures.c (enum bfd_architecture): Add bfd_arch_mn10x00.
4672 (bfd_mn10x00_arch): Declare.
4673 (bfd_archures_list): Add bfd_mn10x00_arch.
4674 * config.bfd: Add mn10x00-*-*.
4675 * configure.in: Add bfd_elf32_mn10x00_vec.
4676 * elf.c (prep_headers): Handle bfd_arch_mn10x00.
4677 * targets.c (bfd_elf32_mn10x00_vec): Declare.
4678 (bfd_target_vector): Add bfd_elf32_mn10x00_vec.
4679 * bfd-in2.h, configure: Rebuilt.
4680
4681 Wed Oct 2 15:46:45 1996 Klaus Kaempf <kkaempf@progis.de>
4682
4683 openVMS/Alpha: Provide filename and case_hack flags via
4684 symbol table from gas.
4685 Add case_hack code for symbol output from vax/vms.
4686 * evax-alpha.c (evax_initialize): Remove filename handling,
4687 filename is provided via symbol table.
4688 (evax_get_symtab): Use local symbol count when setting up table.
4689 * evax-egsd.c (_bfd_evax_slurp_egsd): Print correct name when
4690 debugging.
4691 (_bfd_evax_write_egsd): Skip file name symbol.
4692 * evax-emh.c (get_vms_time_string): Local function now.
4693 (_bfd_evax_write_emh): Extract source filename and case_hack flags
4694 from symbol table.
4695 * evax_write_etir (_bfd_evax_write_etir): Pass all symbol names
4696 through _bfd_evax_case_hack_symbol.
4697 * evax-misc.c (hash_string, _bfd_evax_case_hack_symbol): New
4698 functions.
4699 (_bfd_evax_basename): Removed.
4700 (_bfd_get_vms_time_string): Moved to evax-emh.c.
4701 * evax.h (evax_private_data_struct): Remove filename.
4702 (flag_hash_long_names, flag_show_after_trunc,
4703 flag_no_hash_mixed_case, vms_name_mapping): New flags for
4704 vms_case_hack.
4705
4706 Wed Oct 2 12:02:02 1996 Ian Lance Taylor <ian@cygnus.com>
4707
4708 * freebsd.h (N_GET_MAGIC_NET): Don't use ntohl.
4709 (N_GETMID_NET, N_GETFLAG_NET): Likewise.
4710 (NO_SWAP_MAGIC): Don't define.
4711 (SWAP_MAGIC): Define.
4712
4713 * cofflink.c (_bfd_coff_link_input_bfd): Don't crash if there is
4714 no hash table entry for a global symbol.
4715
4716 Tue Oct 1 16:14:22 1996 Joel Sherrill <joel@oarcorp.com>
4717
4718 * config.bfd (mips*-*-rtems*): New target, like mips*-*-elf*.
4719
4720 Tue Oct 1 12:31:39 1996 Ian Lance Taylor <ian@cygnus.com>
4721
4722 * cofflink.c (coff_link_add_symbols): Don't override a meaningful
4723 symbol type with T_NULL. Warn if symbol type changes. Based on
4724 patch from Philippe De Muyter <phdm@info.ucl.ac.be>.
4725
4726 * elflink.h (elf_link_add_object_symbols): Only put a symbol from
4727 a dynamic object in the dynamic symbol table if it is referenced
4728 or defined by a regular object.
4729
4730 Fri Sep 27 18:41:07 1996 Stu Grossman (grossman@critters.cygnus.com)
4731
4732 * elf32-v850.c (bfd_elf32_v850_is_local_label): New function to
4733 remove dwarf local labels. Shrinks binaries by a factor of 3!
4734
4735 Mon Sep 23 13:33:00 1996 Ian Lance Taylor <ian@cygnus.com>
4736
4737 * elf32-ppc.c (ppc_elf_add_symbol_hook): Create the .sbss section
4738 by hand, rather than by calling bfd_make_section.
4739
4740 Mon Sep 23 09:23:41 1996 Doug Evans <dje@seba.cygnus.com>
4741
4742 * reloc.c: Rename m32r relocs.
4743 * bfd-in2.h, libbfd.h: Rebuilt.
4744 * elf32-m32r.c: Update.
4745
4746 Fri Sep 20 11:43:43 1996 Ian Lance Taylor <ian@cygnus.com>
4747
4748 * aoutx.h (aout_link_input_section_ext): When doing a relocateable
4749 link, adjust the symbol index of a base relative reloc. Don't
4750 change the addend of a PC relative reloc if pcrel_offset is set.
4751 * sunos.c (bfd_sunos_size_dynamic_sections): Don't do anything for
4752 a relocateable link.
4753
4754 * reloc.c (bfd_perform_relocation): Apply the relocation even if
4755 it is zero, in case src_mask matters.
4756 (bfd_install_relocation): Likewise.
4757
4758 Thu Sep 19 11:03:06 1996 Ian Lance Taylor <ian@cygnus.com>
4759
4760 * xcofflink.c (xcoff_link_add_symbols): Always initialize
4761 keep_syms.
4762 (_bfd_xcoff_bfd_final_link): Don't set target_index
4763 to an uninitialized value.
4764
4765 Tue Sep 17 14:18:31 1996 Ian Lance Taylor <ian@cygnus.com>
4766
4767 * coffcode.h (coff_slurp_line_table): Warn about illegal symbol
4768 indices, rather than crashing.
4769 (coff_slurp_reloc_table): Likewise. Check whether the howto field
4770 is NULL.
4771 * coff-sh.c (sh_relocate_section): Check for an illegal symbol
4772 index.
4773
4774 Mon Sep 16 12:39:36 1996 Ian Lance Taylor <ian@cygnus.com>
4775
4776 * coff-arm.c (aoutarm_std_reloc_howto): Change dst_mask for ARM26D
4777 reloc to 0.
4778 (coff_arm_adjust_symndx): New static function.
4779 (coff_adjust_symndx): Define.
4780
4781 * srec.c (srec_scan): Accept multiple symbols on a single line.
4782 From Pascal Martin <pmartin@alsys.com>.
4783
4784 * README: New file.
4785
4786 Fri Sep 13 14:32:42 1996 Doug Evans <dje@canuck.cygnus.com>
4787
4788 * aoutf1.h (MY_bfd_merge_private_bfd_data): Define.
4789 (sunos_merge_private_bfd_data): New function.
4790
4791 Fri Sep 13 15:50:57 1996 Ian Lance Taylor <ian@cygnus.com>
4792
4793 * bfd.c (bfd_copy_private_bfd_data): Switch on output BFD rather
4794 than input BFD.
4795 (bfd_merge_private_bfd_data): Likewise.
4796 * section.c (bfd_copy_private_section_data): Likewise.
4797 * syms.c (bfd_copy_private_symbol_data): Likewise.
4798 * bfd-in2.h: Rebuild.
4799 * aout-target.h (MY_bfd_copy_private_section_data): Check that
4800 both BFD's are the right flavour.
4801 * ecoff.c (_bfd_ecoff_bfd_copy_private_bfd_data): Likewise.
4802 * elf.c (_bfd_elf_copy_private_symbol_data): Likewise.
4803 * elf32-mips.c (_bfd_mips_elf_copy_private_bfd_data): Likewise.
4804 (_bfd_mips_elf_merge_private_bfd_data): Likewise.
4805 * elf32-ppc.c (ppc_elf_copy_private_bfd_data): Likewise.
4806 (ppc_elf_merge_private_bfd_data): Likewise.
4807 * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Likewise.
4808 * peicode.h (pe_bfd_copy_private_section_data): Likewise.
4809
4810 * elf32-hppa.c (elf_hppa_howto_table): Fill in some fields for
4811 R_PARISC_DIR32, so that _bfd_stab_section_find_nearest_line passes
4812 its sanity check.
4813
4814 Thu Sep 12 11:45:57 1996 Doug Evans <dje@seba.cygnus.com>
4815
4816 * reloc.c: Add m32r relocs.
4817 * bfd-in2.h, libbfd.h: Rebuilt.
4818 * cpu-m32r.c,elf32-m32r.c: New files.
4819
4820 Thu Sep 12 11:10:05 1996 Ian Lance Taylor <ian@cygnus.com>
4821
4822 * ieee.c (ieee_vec): Set symbol_leading_char field to '_'.
4823
4824 Wed Sep 11 11:57:56 1996 Ian Lance Taylor <ian@cygnus.com>
4825
4826 * tekhex.c (first_phase): Change type parameter from char to int.
4827 (out): Likewise.
4828 (pass_over): Change func to expect int, not char.
4829
4830 * elf.c (assign_file_positions_for_segments): Test SEC_ALLOC
4831 rather than SEC_LOAD when aligning the file offset for the first
4832 section in a segment.
4833
4834 Tue Sep 10 16:18:30 1996 Fred Fish <fnf@cygnus.com>
4835
4836 * syms.c (coff_section_type): Make arg const.
4837 * irix-core.c (irix_core_core_file_p): Remove extraneous extra arg
4838 to make_bfd_asection().
4839 * elf-bfd.h (bfd_section_from_phdr): Add prototype.
4840 * elfcode.h (bfd_section_from_phdr): Remove prototype.
4841 (_bfd_elf_stringtab_init): Remove prototype.
4842
4843 * netbsd-core.c (swap_abort): Add prototype.
4844 * aix386-core.c (swap_abort): Ditto & make static
4845 * hpux-core.c (swap_abort): Ditto & make static.
4846 * irix-core.c (swap_abort): Ditto & make static.
4847 * ptrace-core.c (swap_abort): Ditto & make static.
4848 * trad-core.c (swap_abort): Ditto & make static.
4849 * coffswap.h (coff_swap_reloc_in): Ditto.
4850 (coff_swap_reloc_out): Ditto.
4851 (coff_swap_filehdr_in): Ditto.
4852 (coff_swap_filehdr_out): Ditto.
4853 (coff_swap_sym_in): Ditto.
4854 (coff_swap_sym_out): Ditto.
4855 (coff_swap_aux_in): Ditto.
4856 (coff_swap_aux_out): Ditto.
4857 (coff_swap_lineno_in): Ditto.
4858 (coff_swap_lineno_out): Ditto.
4859 (coff_swap_aouthdr_in): Ditto.
4860 (coff_swap_aouthdr_out): Ditto.
4861 (coff_swap_scnhdr_in): Ditto.
4862 (coff_swap_scnhdr_out): Ditto.
4863 * ihex.c (ihex_sizeof_headers): Ditto.
4864 * tekhex.c (getsym): Ditto.
4865 (find_chunk): Ditto & make static.
4866 (insert_byte): Ditto.
4867 (first_phase): Ditto.
4868 (pass_over): Ditto.
4869 (tekhex_get_symtab): Ditto & make static.
4870 (tekhex_get_symtab_upper_bound): Ditto & make static.
4871 (tekhex_mkobject): Ditto.
4872 (tekhex_object_p): Ditto.
4873 (move_section_contents): Ditto.
4874 (tekhex_get_section_contents): Ditto.
4875 (tekhex_set_arch_mach): Ditto & make static.
4876 (tekhex_set_section_contents): Ditto.
4877 (writevalue): Ditto.
4878 (writesym): Ditto.
4879 (out): Ditto.
4880 (tekhex_write_object_contents): Ditto.
4881 (tekhex_sizeof_headers): Ditto.
4882 (tekhex_make_empty_symbol): Ditto.
4883 (tekhex_get_symbol_info): Ditto.
4884 (tekhex_print_symbol): Ditto.
4885 * irix-core.c (make_bfd_asection): Ditto.
4886 (irix_core_core_file_p): Ditto.
4887 (irix_core_core_file_failing_command): Ditto.
4888 (irix_core_core_file_failing_signal): Ditto.
4889 (irix_core_core_file_matches_executable_p): Ditto.
4890 (irix_core_make_empty_symbol): Ditto.
4891 * coff-mips.c (mips_bfd_reloc_type_lookup): Ditto.
4892 * srec.c (srec_new_symbol): Ditto.
4893 (srec_get_section_contents): Ditto.
4894 (srec_set_arch_mach): Ditto.
4895 (srec_set_section_contents): Ditto.
4896 (internal_srec_write_object_contents): Ditto.
4897 (srec_write_object_contents): Ditto.
4898 (symbolsrec_write_object_contents): Ditto.
4899 (srec_sizeof_headers): Ditto.
4900 (srec_make_empty_symbol): Ditto.
4901 (srec_get_symtab_upper_bound): Ditto.
4902 (srec_get_symtab): Ditto.
4903 (srec_print_symbol): Ditto and make static.
4904 * elf.c (elf_read): Ditto
4905 (assign_section_numbers): Ditto.
4906 (elf_fake_sections): Ditto.
4907 (sym_is_global): Ditto.
4908 (elf_map_symbols): Ditto.
4909 (get_program_header_size): Ditto.
4910 * coffgen.c (make_a_section_from_file): Ditto.
4911 (coff_real_object_p): Ditto.
4912 (fixup_symbol_value): Ditto.
4913 (build_debug_section): Ditto.
4914 (copy_name): Ditto.
4915 * syms.c (coff_section_type): Ditto.
4916
4917 Mon Sep 9 22:36:01 1996 Jeffrey A Law (law@cygnus.com)
4918
4919 * bfd-in2.h: Rebuilt after m32r changes.
4920
4921 Mon Sep 9 12:31:22 1996 Doug Evans <dje@canuck.cygnus.com>
4922
4923 * config.bfd,configure.in,configure: Add m32r support.
4924 * Makefile.in,archures.c,elf.c,targets.c: Likewise.
4925 * config.bfd: Keep target list alphabetically sorted.
4926
4927 Mon Sep 9 11:48:41 1996 Jeffrey A Law (law@cygnus.com)
4928
4929 * elf32-v850.c (bfd_elf32_v850_reloc, case R_V850_HI16): Don't forget
4930 to add in the constant part found in the instruction itself.
4931 (case R_V850_HI16_S): Likewise.
4932
4933 Fri Sep 6 17:04:39 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
4934
4935 * elf32-d10v.c (elf_d10v_howto_table): Modify the size of R_D10V_16
4936 and R_D10V_18 to be 1 (word).
4937
4938 Thu Sep 5 15:23:08 1996 Ian Lance Taylor <ian@cygnus.com>
4939
4940 * stabs.c (_bfd_link_section_stabs): If the output_section field
4941 of either section is bfd_abs_section, then the linker is
4942 discarding the section and we should not optimize it.
4943
4944 Tue Sep 3 12:16:20 1996 Doug Evans <dje@canuck.cygnus.com>
4945
4946 * Makefile.in (aout-sparcle.o): New target.
4947 * aoutf1.h (TARGET_IS_BIG_ENDIAN_P): Don't define if little endian.
4948 * config.bfd (sparclet-*-aout*): Add case.
4949 * configure.in (sparcle_aout_vec): Add case.
4950 * configure: Regenerated.
4951 * targets.c (sparcle_aout_vec): Declare.
4952 (bfd_target_vector): Add sparcle_aout_vec.
4953 * aout-sparcle.c: New file.
4954
4955 Tue Sep 3 00:57:02 1996 Jeffrey A Law (law@cygnus.com)
4956
4957 * elf32-v850.c (bfd_elf32_v850_reloc): Fix handling of
4958 low order sign bit propogation for R_V850_HI16_S.
4959
4960 * elf32-v850.c (bfd_elf32_v850_reloc): New function for
4961 handling V850 specific relocs.
4962 (elf_v850_howto_table): Use the new function for some
4963 relocations. Twiddle masks & shifts for some relocs.
4964 Set partial_inplace where needed.
4965
4966 Mon Sep 2 12:12:34 1996 Ian Lance Taylor <ian@cygnus.com>
4967
4968 * cpu-mips.c: Add an explicit mips:3000 entry, and change the
4969 default architecture to a machine number of 0.
4970 * elf32-mips.c (_bfd_mips_elf_object_p): Set the machine number
4971 for E_MIPS_ARCH_1.
4972 (_bfd_mips_elf_merge_private_bfd_data): If the machine number of
4973 the output BFD is the default, set it from the first input BFD.
4974
4975 Sun Sep 1 18:38:01 1996 Jeffrey A Law (law@cygnus.com)
4976
4977 * elf32-v850.c (elf_v850_howto_table): All the 16bit relocs
4978 insert at bitpos zero. The HI16 relocs are shifted right
4979 by 16 bits. Fix src_mask for all relocs.
4980 (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME): Define. The V850 is
4981 little endian!
4982 (TARGET_BIG_SYM, TARGET_BIG_NAME): Remove. The V850 is little
4983 endian!
4984
4985 Sun Sep 1 15:41:08 1996 Ian Lance Taylor <ian@cygnus.com>
4986
4987 * rs6000-core.c (rs6000coff_core_file_matches_executable_p):
4988 Rewrite to use BFD file read routines and to avoid using a fixed
4989 length for the file name.
4990
4991 Sat Aug 31 10:22:25 1996 Jeffrey A Law (law@cygnus.com)
4992
4993 * elf32-v850.c (enum reloc_type): Add R_V850_{32,16,8}.
4994 (elf_v850_howto_table): Add support for R_V850_{32,16,8}.
4995 (v850_reloc_map): Add translation from BFD_RELOC_{32,16,8}
4996 to R_V850_{32,16,8}.
4997
4998 Fri Aug 30 18:06:04 1996 J.T. Conklin <jtc@hippo.cygnus.com>
4999
5000 * elf32-v850.c (reloc_type): Add R_V850_HI16_S.
5001 (elf_v850_howto_table): Add info for HI16_S reloc.
5002 (v850_reloc_map): Add HI_16_S reloc.
5003 * reloc.c: Define BFD_RELOC_V850_* relocs.
5004
5005 Fri Aug 30 11:49:19 1996 Ian Lance Taylor <ian@cygnus.com>
5006
5007 Add SH ELF support.
5008 * elf32-sh.c: New file.
5009 * elf.c (prep_headers): Handle bfd_arch_sh.
5010 * elfcode.h (write_relocs): Handle absolute symbol.
5011 * elf-bfd.h (_bfd_elf32_link_read_relocs): Declare.
5012 (_bfd_elf64_link_read_relocs): Declare.
5013 * elflink.h (NAME(_bfd_elf,link_read_relocs)): Rename from
5014 elf_link_read_relocs. Make globally visible. Change all
5015 callers.
5016 (elf_link_input_bfd): Get external symbols from cache in
5017 symtab_hdr->contents. Get contents from cache in
5018 elf_section_data.
5019 * elfxx-target.h (bfD_elfNN_bfd_relax_section): Only define if not
5020 already defined.
5021 * reloc.c: Define BFD_RELOC_SH_* relocs.
5022 * libbfd-in.h (_bfd_sh_align_load_span): Declare.
5023 * coff-sh.c (sh_insns_conflict): Fix a return value.
5024 (_bfd_sh_align_load_span): New globally visible function, broken
5025 out of sh_align_load.
5026 (sh_align_load): Call _bfd_sh_align_load_span.
5027 (sh_swap_insns): Change relocs parameter to PTR.
5028 * bfd-in2.h, libbfd.h: Rebuild.
5029 * targets.c (bfd_elf32_sh_vec): Declare.
5030 (bfd_elf32_shl_vec): Declare.
5031 * config.bfd (sh-*-elf*): New target.
5032 * configure.in (bfd_elf32_sh_vec): New target vector.
5033 (bfd_elf32_shl_vec): New target vector.
5034 * configure: Rebuild.
5035 * Makefile.in: Rebuild dependencies.
5036 (BFD32_BACKENDS): Add elf32-sh.o.
5037 (BFD32_BACKENDS_CFILES): Add elf32-sh.c.
5038
5039 * elf.c (map_sections_to_segments): Check that LMA does not skip a
5040 page before checking D_PAGED.
5041
5042 * ihex.c (ihex_scan): Removed unnecessary extbase variable.
5043 (ihex_write_object_contents): Remove extbase; always use segbase
5044 instead.
5045
5046 Thu Aug 29 16:52:17 1996 Michael Meissner <meissner@tiktok.cygnus.com>
5047
5048 * configure.in (i[345]86-*-*): Recognize i686 for pentium pro.
5049 * configure.host (i[345]86-*-*): Ditto.
5050 * config.bfd (i[345]86-*-*): Ditto.
5051 * configure: Regenerate.
5052
5053 * config.bfd (i[3456]86-*-dgux*): Recognize as a synonym for x86
5054 elf.
5055
5056 Tue Aug 27 09:18:18 1996 Jeffrey A Law (law@cygnus.com)
5057
5058 * elf32-hppa.c (hppa_elf_gen_reloc_type): Add new argument.
5059 * elf32-hppa.h (hppa_elf_gen_reloc_type): Update prototype.
5060 * som.c (hppa_som_gen_reloc_type): Add new argument. If
5061 we encounter an R_DATA_ONE_SYMBOL reloc against a symbol that
5062 will have an ST_CODE type, change the symbol's type to ST_DATA.
5063 * som.c (hppa_som_gen_reloc_type): Update prototype.
5064
5065 Tue Aug 27 00:12:22 1996 Ian Lance Taylor <ian@cygnus.com>
5066
5067 * elf32-mips.c (mips_elf_check_relocs): Set dynobj if needed for
5068 R_MIPS_32 and R_MIPS_REL32. Set sgot and g as soon as possible.
5069 (mips_elf_size_dynamic_sections): Don't require .got to exist.
5070 (mips_elf_finish_dynamic_sections): Likewise.
5071
5072 Thu Aug 22 10:54:38 1996 Ian Lance Taylor <ian@cygnus.com>
5073
5074 * configure.host (HLDENV): New variable to set. Set it for
5075 *-*-sysv4*, since those linkers may not support -R but they always
5076 support LD_RUN_PATH.
5077
5078 * libieee.h (NSECTIONS): Don't define.
5079 (ieee_data_struct): Change section_table to asection **. Add
5080 section_table_size.
5081 * ieee.c (get_section_entry): If the table isn't big enough, make
5082 it bigger.
5083 (ieee_slurp_sections): Remove assertion about number of sections.
5084 (ieee_object_p): Adjust initialization of ieee to match changes to
5085 the structure.
5086
5087 * xcofflink.c (xcoff_mark): Don't copy relocs for undefined
5088 symbols merely because we are generating a shared library.
5089 (xcoff_build_ldsyms): Don't set up global linkage code for an
5090 undefined symbol merely because we are generating a shared
5091 library.
5092
5093 Tue Aug 20 15:06:05 1996 J.T. Conklin <jtc@hippo.cygnus.com>
5094
5095 * Makefile.in (ALL_MACHINES): Add cpu-v850.o.
5096 (BFD32_BACKENDS) Add elf32-v850.o.
5097 * archures.c: Add bfd_v850_arch.
5098 * bfd-in2.h: Add bfd_v850_arch.
5099 * config.bfd (v850-*-*): New target.
5100 * configure: (bfd_elf32_v850_vec) New vector.
5101 * configure.in: (bfd_elf32_v850_vec) New vector.
5102 * cpu-v850.c: New file.
5103 * elf.c (prep_headers): Added case bfd_arch_v850.
5104 * elf32-v850.c: New file.
5105 * targets.c (bfd_elf32_v850_vec): New vector.
5106
5107 Fri Aug 16 16:25:35 1996 Ian Lance Taylor <ian@cygnus.com>
5108
5109 * xcofflink.c (xcoff_link_add_dynamic_symbols): Create and define
5110 a function code symbol for an XMC_XO symbol.
5111
5112 Thu Aug 15 12:33:29 1996 Stan Shebs <shebs@andros.cygnus.com>
5113
5114 * mpw-config.in: Update editing of autoconf vars to reflect
5115 Jul 18 configure.in change.
5116 * mpw-make.sed: Update editing of include pathnames to be
5117 more general, add @DASH_C_FLAG@ to explicit compile rule edit.
5118
5119 Thu Aug 15 10:35:13 1996 Richard Henderson <rth@tamu.edu>
5120
5121 * elf64-alpha.c (elf64_alpha_output_extsym): The section from
5122 which to offset to get the .plt entry address is ".plt".
5123
5124 Thu Aug 15 16:40:30 1996 James G. Smith <jsmith@cygnus.co.uk>
5125
5126 * reloc.c: (BFD_RELOC_ARM_THUMB_ADD, BFD_RELOC_ARM_THUMB_IMM,
5127 BFD_RELOC_ARM_THUMB_SHIFT, BFD_RELOC_ARM_THUMB_OFFSET):
5128 Added, for internal use by the ARM gas.
5129 * libbfd.h: Rebuilt
5130 * bfd-in2.h: Rebuilt
5131
5132 Wed Aug 14 17:02:09 1996 Richard Henderson <rth@tamu.edu>
5133
5134 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Correct typo
5135 in section dynidx start.
5136
5137 Tue Aug 13 14:35:38 1996 Ian Lance Taylor <ian@cygnus.com>
5138
5139 * elf.c (_bfd_elf_make_section_from_shdr): Treat sections whose
5140 name begins with .gnu.linkonce as SEC_LINK_ONCE. This is an
5141 optimization for g++.
5142
5143 Tue Aug 13 17:04:40 1996 Michael Meissner <meissner@tiktok.cygnus.com>
5144
5145 * elf32-ppc.c (ppc_elf_merge_private_bfd_data): If one module has
5146 the -mrelocatable-lib bit set and the other doesn't, clear the
5147 -mrelocatable-lib bit in the header.
5148
5149 Sat Aug 10 22:59:17 1996 Ian Lance Taylor <ian@cygnus.com>
5150
5151 * elflink.h (elf_link_add_object_symbols): Do not resolve a common
5152 symbol against a STT_FUNC symbol in a shared library.
5153
5154 Fri Aug 9 12:44:57 1996 Ian Lance Taylor <ian@cygnus.com>
5155
5156 * xcofflink.c (xcoff_link_add_dynamic_symbols): If a descriptor
5157 symbol is found, automatically define the corresponding function
5158 code.
5159
5160 * cofflink.c (coff_link_add_symbols): Only set (*sym_hash)->numaux
5161 if sym.n_numaux is not zero.
5162 (_bfd_coff_link_input_bfd): Permit the symbol and the hash table
5163 entry to disagree about the number of aux entries if the symbol
5164 has zero.
5165
5166 * elf32-mips.c (mips_elf_check_relocs): Create the .rel.dyn
5167 section if it might be needed, not just if info->shared.
5168 (mips_elf_adjust_dynamic_symbol): Make room for a null element at
5169 the start of .rel.dyn if we are going to use it.
5170 (mips_elf_finish_dynamic_sections): Only clear the first element
5171 of .rel.dyn if the size is greater than zero.
5172
5173 Thu Aug 8 16:24:55 1996 Ian Lance Taylor <ian@cygnus.com>
5174
5175 * xcofflink.c (xcoff_link_input_bfd): If we already called the
5176 undefined_symbol callback for a symbol, then don't issue any more
5177 warnings about loader relocs.
5178 (_bfd_ppc_xcoff_relocate_section): Don't do any further processing
5179 after calling the undefined_symbol callback.
5180
5181 * xcofflink.c (XCOFF_MULTIPLY_DEFINED): Define.
5182 (xcoff_link_add_symbols): Permit multiple definitions of a symbol
5183 as the AIX linker seems to do.
5184
5185 Thu Aug 8 12:21:56 1996 Klaus Kaempf <kkaempf@progis.de>
5186
5187 * evax-alpha.c (evax_alpha_vec): Corrected flags, cleanup.
5188 (evax_initialize): Remove evax_reloc_table.
5189 (evax_close_and_cleanup): Ditto.
5190 (reloc_nil): Ditto.
5191 (alpha_howto_table): Remove ALPHA_R_SWREL32 and ALPHA_R_SWREL64
5192 entries.
5193 (evax_bfd_reloc_type_lookup): Ditto.
5194 * evax-egsd.c (_bfd_evax_slurp_egsd): Add a few casts; set
5195 cooked_size == raw_size.
5196 * evax-emh.c (_bfd_evax_register_filename): Remove.
5197 * evax-etir.c (etir_stc): Allow ETIR_S_C_STC_xx commands.
5198 * evax-misc.c (add_new_contents): Malloc section at full size.
5199 (_bfd_save_evax_section): Memcpy section contents directly.
5200 * evax.h (ALPHA_R_SWREL32, ALPHA_R_SWREL64): Remove.
5201 (evax_reloc_table): Remove.
5202
5203 * hosts/alphavms.h (O_ACCMODE): Define if needed.
5204
5205 * makefile.vms: Add better support for DEC C compilation
5206 Add evax.h dependencies
5207
5208 * reloc.c (bfd_get_reloc_size): Add case for 16 byte reloc.
5209 (BFD_RELOC_SWREL32,BFD_RELOC_SWREL64): Remove.
5210 (BFD_RELOC_ALPHA_BASEREG): Remove.
5211 * bfd-in2.h, libbfd.h: Rebuild.
5212
5213 Thu Aug 8 08:17:32 1996 Stu Grossman (grossman@critters.cygnus.com)
5214
5215 * archive.c (bsd_write_armap): Ifdef around calls to getuid and
5216 getgid if _WIN32 is defined.
5217 * opncls.c (bfd_fdopenr): Remove unnecessary WINGDB ifdef.
5218
5219 Wed Aug 7 23:19:00 1996 Stu Grossman (grossman@critters.cygnus.com)
5220
5221 * aoutx.h bfd-in.h bfd-in2.h opncls.c riscix.c som.c targets.c:
5222 Change NO_FLAGS to BFD_NO_FLAGS to avoid conflict with an HPUX
5223 include file.
5224 * libbfd.c: Create dummy getpagesize() macro if HAVE_GETPAGESIZE
5225 isn't defined.
5226
5227 Wed Aug 7 14:11:44 1996 Philippe De Muyter <phdm@info.ucl.ac.be>
5228
5229 * configure.in: Call BFD_NEEDED_DECLARATION on strstr and
5230 realloc.
5231 * acconfig.h (NEED_DECLARATION_STRSTR): New macro.
5232 (NEED_DECLARATION_REALLOC): New macro.
5233 * configure, config.in: Rebuild.
5234 * sysdep.h (strstr): Declare if NEED_DECLARATION_STRSTR.
5235 (realloc): Declare if NEED_DECLARATION_REALLOC.
5236
5237 * aclocal.m4 (BFD_NEED_DECLARATION): Include <string.h> or
5238 <strings.h> if they exist.
5239
5240 * ieee.c (ieee_set_section_contents): Cast bfd_alloc return.
5241
5242 Wed Aug 7 12:12:03 1996 Ian Lance Taylor <ian@cygnus.com>
5243
5244 * cpu-i386.c (i8086_arch): Architecture info for the i8086.
5245
5246 Based on patches from Eric Valette <valette@crf.canon.fr>:
5247 * elf32-i386.c (enum reloc_type): Add FIRST_INVALID_RELOC,
5248 LAST_INVALID_RELOC, R_386_16, R_386_PC16, R_386_8, R_386_PC8.
5249 (elf_howto_table): Add entries for new relocs.
5250 (elf_i386_reloc_type_lookup): Handle new relocs.
5251 (elf_i386_info_to_howto): Just call abort.
5252 (elf_i386_info_to_howto_rel): Check that the reloc type is valid.
5253 (elf_i386_relocate_section): Likewise.
5254
5255 Tue Aug 6 12:54:56 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
5256
5257 * elf32-d10v.c (elf_d10v_howto_table): Added R_D10V_32.
5258
5259 Mon Aug 5 13:42:41 1996 Ian Lance Taylor <ian@cygnus.com>
5260
5261 * elf.c (_bfd_elf_make_section_from_shdr): For a loadable section,
5262 only get the LMA from the phdr if they are in the same part of the
5263 file.
5264
5265 * elf.c (map_sections_to_segments): Rewrite tests for starting a
5266 new segment to make them more comprehensible. If the relationship
5267 between the LMA and the VMA changed, start a new segment. Don't
5268 check dynsec when deciding whether to start a new segment for a
5269 writeable section; -N will now handle this.
5270
5271 Thu Aug 1 22:43:08 1996 Jeffrey A Law (law@cygnus.com)
5272
5273 * libhppa.h: Remove "esel" changes. Not the right approach.
5274 * som.c: Corresponding changes.
5275 (som_bfd_derive_misc_symbol_info): Use ST_DATA for symbols
5276 which don't have a SOM symbol type associated with them.
5277 Reverses a 1994 change.
5278
5279 Wed Jul 31 15:50:55 1996 Ian Lance Taylor <ian@cygnus.com>
5280
5281 Make ld -N more reasonable for ELF:
5282 * elf.c (map_sections_to_segments): If D_PAGED is not set, set
5283 phdr_in_section to false, and always use a single load segment.
5284 (elf_sort_sections): Sort sections by LMA after VMA.
5285 (assign_file_positions_for_segments): If D_PAGED is not set, don't
5286 align to maxpagesize.
5287 (assign_file_positions_except_relocs): Likewise.
5288 * elfcode.h (elf_object_p): If a section is loaded but not page
5289 aligned, clear D_PAGED.
5290
5291 Wed Jul 31 15:00:12 1996 James G. Smith <jsmith@cygnus.co.uk>
5292
5293 * reloc.c: (BFD_RELOC_ARM_OFFSETIMM8, BFD_RELOC_ARM_HWLITERAL):
5294 Added, for internal use by the ARM gas.
5295 * libbfd.h: Rebuilt
5296 * bfd-in2.h: Rebuilt
5297
5298 Tue Jul 30 14:14:57 1996 Jeffrey A Law (law@cygnus.com)
5299
5300 * libhppa.h (R_HPPA_ESEL): New field selector.
5301 (e_esel): Similarly.
5302 * som.c (hppa_som_gen_reloc_type): If we encounter an e_esel,
5303 then generate R_COMP2 (PUSH_SYM), R_DATA_EXPR fixup stream.
5304 (som_write_fixups): Handle R_DATA_EXPR just like R_CODE_EXPR.
5305
5306 Tue Jul 30 13:31:27 1996 Ian Lance Taylor <ian@cygnus.com>
5307
5308 * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Do the regular
5309 archive search before looking for stripped dynamic objects.
5310
5311 Fri Jul 26 17:51:39 1996 Ian Lance Taylor <ian@cygnus.com>
5312
5313 * xcofflink.c (xcoff_build_ldsyms): Make exporting an undefined
5314 symbol a warning rather than an error.
5315
5316 Wed Jul 24 12:02:53 1996 Ian Lance Taylor <ian@cygnus.com>
5317
5318 * elf.c (assign_file_positions_for_segments): Track the virtual
5319 memory position separately from the file position, and use it to
5320 compute the alignment adjustment.
5321
5322 Tue Jul 23 10:43:31 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
5323
5324 * elf32-d10v.c (elf_d10v_howto_table): Changed all relocs to "long"
5325 and fixed mask on R_D10V_10_PCREL_L.
5326
5327 Mon Jul 22 15:30:30 1996 Ian Lance Taylor <ian@cygnus.com>
5328
5329 * elf64-mips.c: Include "aout/ar.h".
5330 (mips_elf64_slurp_armap): New static function.
5331 (mips_elf64_write_armap): New static function.
5332 (bfd_elf64_archive_*): Define.
5333 * elfxx-target.h (bfd_elfNN_archive_p): Define if not defined.
5334 Use instead of bfd_generic_archive_p.
5335 (bfd_elfNN_write_archive_contents): Define if not defined. Use
5336 instead of _bfd_write_archive_contents.
5337 (bfd_elfNN_mkdarchive): Define if not defined. Use instead of
5338 _bfd_generic_mkarchive.
5339 (TARGET_BIG_SYM): If bfd_elfNN_archive_functions is defined, use
5340 bfd_elfNN_archive in BFD_JUMP_TABLE_ARCHIVE rather than
5341 _bfd_archive_coff.
5342 (TARGET_LITTLE_SYM): Likewise.
5343 * archive.c (bfd_slurp_armap): Check for and reject an archive map
5344 name of /SYM64/.
5345 * Makefile.in: Rebuild dependencies.
5346
5347 * elf32-mips.c (_bfd_mips_elf_final_write_processing): Handle
5348 SHT_MIPS_LIBLIST, SHT_MIPS_CONTENT, SHT_MIPS_SYMBOL_LIB, and
5349 SHT_MIPS_EVENTS sections.
5350 (_bfd_mips_elf_section_from_shdr): Handle SHT_MIPS_IFACE,
5351 SHT_MIPS_CONTENT, SHT_MIPS_SYMBOL_LIB, and SHT_MIPS_EVENTS
5352 sections.
5353 (_bfd_mips_elf_fake_sections): Likewise.
5354
5355 * libecoff.h (ecoff_data_type): Add rdata_in_text field.
5356 * ecoff.c (ecoff_compute_section_file_positions): Copy
5357 rdata_in_text from backend info to tdata. Clear it if any data
5358 section comes before .rdata.
5359 (_bfd_ecoff_write_object_contents): Use rdata_in_text field in
5360 tdata rather than backend info.
5361
5362 Fri Jul 19 18:15:51 1996 Ian Lance Taylor <ian@cygnus.com>
5363
5364 * configure.in: Fix test for whether a compiler has a 64 bit
5365 type. From Jim Wilson <wilson@cygnus.com>.
5366
5367 Thu Jul 18 15:39:10 1996 Ian Lance Taylor <ian@cygnus.com>
5368
5369 * configure.host (mips-sgi-irix6*): New host.
5370
5371 * configure.in: Set and substitute VERSION, BFD_HOST_64BIT_LONG
5372 (replacing HOST_64BITLONG), BFD_HOST_64_BIT_DEFINED,
5373 BFD_HOST_64_BIT, and BFD_HOST_U_64_BIT. Add bfd-in2.h:bfd-in2.h
5374 to AC_OUTPUT call.
5375 * configure: Rebuild.
5376 * bfd-in.h (BFD_ARCH_SIZE): Define as @wordsize@, not @WORDSIZE@.
5377 (BFD_HOST_64_BIT): Define conditionally.
5378 (BFD_HOST_U_64_BIT): Define when BFD_HOST_64_BIT is defined.
5379 (bfd_vma): Typedef as BFD_HOST_U_64_BIT.
5380 (symvalue, bfd_size_type): Likewise.
5381 * bfd-in2.h: Rebuild.
5382 * Makefile.in (do_clean): Remove bfd-tmp.h.
5383 (do_distclean): Remove bfd-in3.h.
5384 (stmp-bfd.h): Just do copy-if-change bfd-in3.h bfd.h.
5385 (bfd-in3.h): New target.
5386
5387 * config.bfd (sparc-*-sysv4*): Don't build sunos_big_vec. From
5388 Andrew Gierth <ANDREWG@microlise.co.uk>.
5389
5390 * configure.host: Set INSTALL_SHLIB.
5391 * configure.in: Call AC_SUBST (INSTALL_SHLIB).
5392 * configure: Rebuild.
5393 * Makefile.in (install): Use @INSTALL_SHLIB@.
5394
5395 * config.bfd (mips*-*-irix6*): New target.
5396 * configure.host: Handle Irix 6 shared library like Irix 5.
5397
5398 * xcofflink.c (xcoff_link_add_symbols): Don't check an XMC_TD
5399 symbol for a magic name.
5400 (xcoff_link_input_bfd): Don't change the reloc symbol for an
5401 XMC_TD symbol.
5402 (_bfd_ppc_xcoff_relocate_section): Don't get the TOC offset for an
5403 XMC_TD symbol.
5404
5405 Thu Jul 18 11:36:31 1996 Stan Shebs <shebs@andros.cygnus.com>
5406
5407 * mpw-config.in: Add ELF support to mips config, create the
5408 elf32-target.h file in the object dir.
5409 * mpw-make.sed: Edit elfXX-target.h refs at beginnings of lines.
5410
5411 Wed Jul 17 18:02:32 1996 Kim Knuttila <krk@cygnus.com>
5412
5413 * coff-ppc.c: Redid debug scheme - numerous fprintf's gone.
5414 Also removed most abort calls, in favor of using bfd reporting.
5415
5416 Wed Jul 17 14:51:52 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
5417
5418 * Makefile.in (ALL_MACHINES): Add cpu-d10v.o.
5419 (BFD32_BACKENDS) Add elf32-d10v.o.
5420 * archures.c: Add bfd_d10v_arch.
5421 * bfd-in2.h: Add bfd_d10v_arch.
5422 * config.bfd (d10v-*-*): New target.
5423 * configure: (bfd_elf32_d10v_vec) New vector.
5424 * configure.in: (bfd_elf32_d10v_vec) New vector.
5425 * cpu-d10v.c: New file.
5426 * elf.c (prep_headers): Added case bfd_arch_d10v.
5427 * elf32-d10v.c: New file.
5428 * libbfd.h: Rebuild.
5429 * reloc.c (BFD_RELOC_D10V_10_PCREL_R, BFD_RELOC_D10V_10_PCREL_L,
5430 BFD_RELOC_D10V_18, BFD_RELOC_D10V_18_PCREL): Define.
5431 * targets.c (bfd_elf32_d10v_vec): New vector.
5432
5433 Wed Jul 17 10:58:55 1996 Kim Knuttila <krk@cygnus.com>
5434
5435 * coff-ppc.c (coff_ppc_relocate_section): Removed bogus fprintf
5436
5437 Tue Jul 16 23:49:02 1996 Stu Grossman (grossman@critters.cygnus.com)
5438
5439 * archures.c bfd-in2.h: Add bfd_mach_i386_i386 and
5440 bfd_mach_i386_i8086 machine types.
5441
5442 Wed Jul 10 12:42:56 1996 Ian Lance Taylor <ian@cygnus.com>
5443
5444 * ecoff.c (_bfd_ecoff_new_section_hook): Set SEC_CODE for _INIT
5445 and _FINI sections.
5446
5447 Wed Jul 10 11:18:21 1996 Richard Henderson <rth@tamu.edu>
5448
5449 * coffcode.h (coff_set_section_contents): A/UX does not require
5450 special handling of the _LIB section.
5451
5452 Tue Jul 9 15:52:20 1996 Jeffrey A Law (law@cygnus.com)
5453
5454 * coff-h8300.c (h8300_reloc16_extra_cases): Use the correct
5455 value for R_RELBYTE.
5456
5457 * reloc16.c (bfd_coff_reloc16_relax_section): Only "shrinks"
5458 array if one was allocated.
5459
5460 Tue Jul 9 12:21:54 1996 Ian Lance Taylor <ian@cygnus.com>
5461
5462 From Kazumoto Kojima <kkojima@kk.info.kanagawa-u.ac.jp>:
5463 * elf32-mips.c (struct mips_elf_link_hash_table): Add new fields
5464 use_rld_obj_head and rld_value.
5465 (mips_elf_link_hash_table_create): Initialize new fields.
5466 (mips_elf_add_symbol_hook): Mark __rld_obj_head symbol as
5467 dynamic.
5468 (mips_elf_create_dynamic_sections): Create .rld_map section. If
5469 __rld_obj_head symbol not seen, create an __rld_map symbol.
5470 (mips_elf_size_dynamic_sections): Make space in .rld_map section.
5471 Create a DT_MIPS_RLD_MAP entry rather than a DT_DEBUG entry.
5472 (mips_elf_finish_dynamic_symbol): Save value of __rld_map or
5473 __rld_obj_head symbol.
5474 (mips_elf_finish_dynamic_sections): Handle DT_MIPS_RLD_MAP.
5475
5476 Mon Jul 8 16:18:03 1996 Ian Lance Taylor <ian@cygnus.com>
5477
5478 * elf32-mips.c (mips_reloc_map): Remove BFD_RELOC_32_PCREL entry.
5479
5480 * elf32-ppc.c (ppc_elf_howto_raw): For R_PPC_ADDR16_HA, use
5481 ppc_elf_addr16_ha_reloc.
5482 (ppc_elf_addr16_ha_reloc): New static function.
5483
5484 * coff-mips.c (struct mips_hi): Define.
5485 (mips_refhi_list): New static variable.
5486 (mips_refhi_addr, mips_refhi_addend): Remove.
5487 (mips_refhi_reloc): Maintain a list of unmatched REFHI relocs.
5488 (mips_reflo_reloc): Process mips_refhi_list.
5489 (mips_relhi_list): New static variable.
5490 (mips_relhi_addr, mips_relhi_addend): Remove.
5491 (mips_relhi_reloc): Maintain a list of unmatched RELHI relocs.
5492 (mips_rello_reloc): Process mips_relhi_list.
5493 (mips_relocate_section): Permit an arbitrary number of REFHI or
5494 RELHI relocs before the associated REFLO or RELLO reloc.
5495
5496 Fri Jul 5 19:27:49 1996 Ian Lance Taylor <ian@cygnus.com>
5497
5498 * aout-target.h (MY(callback)): Set reloc_count fields.
5499
5500 Thu Jul 4 12:00:37 1996 Ian Lance Taylor <ian@cygnus.com>
5501
5502 * sunos.c (sunos_add_dynamic_symbols): Don't create dynamic
5503 sections unless this is a SunOS link.
5504
5505 * VERSION: Set to 2.7.1.
5506
5507 * Released binutils 2.7.
5508
5509 Wed Jul 3 14:59:47 1996 Ian Lance Taylor <ian@cygnus.com>
5510
5511 * i386aout.c: Include "aout/aout64.h".
5512 (i386aout_write_object_contents): New static function.
5513 (MY_write_object_contents): Define.
5514
5515 * netbsd.h (MY(write_object_contents)): Make sure that
5516 adjust_sizes_and_vmas is called before fiddling with the magic
5517 number.
5518
5519 Tue Jul 2 23:30:39 1996 Ian Lance Taylor <ian@cygnus.com>
5520
5521 * stabs.c (_bfd_link_section_stabs): Fix casts of psinfo.
5522
5523 Sun Jun 30 13:34:33 1996 Ian Lance Taylor <ian@cygnus.com>
5524
5525 * libbfd-in.h (itos, stoi): Don't define.
5526 * libbfd.h: Rebuild.
5527 * i386lynx.c (KEEPIT): Define as udata.i.
5528 (NAME(lynx,swap_std_reloc_out)): Don't use stoi.
5529 (NAME(lynx,swap_ext_reloc_out)): Likewise.
5530 * riscix.c (riscix_swap_std_reloc_out): Use udata.i rather than
5531 flags. Don't use stoi.
5532
5533 * elf32-mips.c (ELF_MAGPAGESIZE): Change definition to 0x1000.
5534
5535 * elf.c (map_sections_to_segments): Don't start a new segment for
5536 a writable section if it's on the same page as the previous
5537 segment. Reset the writable variable for a readonly section.
5538
5539 Sat Jun 29 16:18:51 1996 Kim Knuttila <krk@cygnus.com>
5540
5541 * peicode.h (coff_swap_aouthdr_in): Missing initializations of
5542 first_thunk_address, thunk_size, and import_table_size.
5543 * peicode.h: Improved some diagnostics regarding edata sections.
5544
5545 * coff-ppc.c (coff_ppc_relocate_section): Earlier error check
5546 on IMGLUE relocs.
5547 (coff_ppc_relocate_section): Improved diagnostic for large TOCDEFN's.
5548 (TARGET_LITTLE_SYM): Added missing D_PAGED.
5549
5550 Fri Jun 28 13:48:45 1996 Ian Lance Taylor <ian@cygnus.com>
5551
5552 * xcofflink.c (xcoff_link_check_ar_symbols): An undefined symbol
5553 with XCOFF_DEF_DYNAMIC set is really defined.
5554 (xcoff_link_check_dynamic_ar_symbols): Likewise.
5555 (xcoff_link_add_symbols): Only create special sections if using an
5556 XCOFF hash table.
5557
5558 * reloc.c (bfd_perform_relocation): Handle xcoff-powermac like
5559 aixcoff-rs6000.
5560 (bfd_install_relocation): Likewise.
5561
5562 Fri Jun 28 11:17:00 1996 Richard Henderson <rth@tamu.edu>
5563
5564 * elf64-alpha.c (struct alpha_elf_link_hash_entry): Add flags
5565 field.
5566 (ALPHA_ELF_LINK_HASH_LU_ADDR): Define.
5567 (ALPHA_ELF_LINK_HASH_LU_MEM): Define.
5568 (ALPHA_ELF_LINK_HASH_LU_FUNC): Define.
5569 (elf64_alpha_link_hash_newfunc): Initialize flags field.
5570 (elf64_alpha_check_relocs): Record types of LITUSE entries that
5571 are found for LITERAL relocs.
5572 (elf64_alpha_adjust_dynamic_symbol): If a symbol has its address
5573 taken, we cannot generate a .plt entry for the symbol.
5574
5575 Thu Jun 27 11:24:29 1996 Ian Lance Taylor <ian@cygnus.com>
5576
5577 * configure.in: Add AC_ISC_POSIX, and check for setitimer and
5578 sysconf functions (for gprof).
5579 * configure, config.in: Rebuild.
5580
5581 Wed Jun 26 16:29:02 1996 Ian Lance Taylor <ian@cygnus.com>
5582
5583 * ecoff.c (_bfd_ecoff_archive_p): Check the first object file in
5584 an archive if it has a map. If the object file has the wrong
5585 xvec, reject it.
5586
5587 * coff-alpha.c (alpha_adjust_reloc_in): Set the addend for a
5588 BRADDR, SREL16, SREL32, or SREL64 reloc against an external
5589 symbol.
5590 (alpha_relocate_section): Likewise.
5591
5592 * coffswap.h (coff_swap_reloc_out): Use RELSZ, not sizeof.
5593 (coff_swap_filehdr_out): Use FILHSZ, not sizeof.
5594 (coff_swap_sym_out): Use SYMESZ, not sizeof.
5595 (coff_swap_aux_out): Use AUXESZ, not sizeof.
5596 (coff_swap_lineno_out): Use LINESZ, not sizeof.
5597 (coff_swap_aouthdr_out): Use AOUTSZ, not sizeof.
5598 (coff_swap_scnhdr_out): Use SCNHSZ, not sizeof.
5599 * peicode.h: Corresponding changes.
5600
5601 Tue Jun 25 15:28:34 1996 Michael Meissner <meissner@tiktok.cygnus.com>
5602
5603 * elflink.h (elf_create_pointer_linker_section): Comment out code
5604 dealing with making GOT pointers negative of the GOT symbol for
5605 now.
5606
5607 Tue Jun 25 11:41:24 1996 Richard Henderson <rth@tamu.edu>
5608
5609 * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't
5610 increment the .rela.plt size until after we're done creating the
5611 .plt entry.
5612 (elf64_alpha_finish_dynamic_symbol): Change .plt entry to load the
5613 .rela.plt offset directly rather than calculating it.
5614
5615 Mon Jun 24 17:15:10 1996 Jason Molenda (crash@godzilla.cygnus.co.jp)
5616
5617 * Makefile.in, (bindir, libdir, datadir, mandir, infodir, includedir):
5618 Use autoconf-set values.
5619 * doc/Makefile.in (bindir, libdir, datadir, mandir, infodir,
5620 includedir, INSTALL, INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set
5621 values.
5622 (docdir): Deleted.
5623 * configure.in (AC_PREREQ): autoconf v2.5 or higher.
5624 * configure: Rebuilt.
5625
5626 Mon Jun 24 22:50:35 1996 Jeffrey A Law (law@cygnus.com)
5627
5628 * som.c (som_write_fixups): Fix typo in R_END_TRY for exception
5629 handling code > 1k away.
5630
5631 Mon Jun 24 18:41:06 1996 Michael Meissner <meissner@tiktok.cygnus.com>
5632
5633 * elflink.h (elf_create_pointer_linker_section): If DEBUG is
5634 defined, output whenever the symbol is updated.
5635
5636 Mon Jun 24 17:58:12 1996 Jouke Numan <jnuman@bazis.nl>
5637
5638 * elf.c (elf_fake_sections): Don't set sh_addr of a non SEC_ALLOC
5639 section to 0 if user_set_vma is set.
5640 * elflink.h (elf_bfd_final_link): Likewise.
5641
5642 Sun Jun 23 20:42:51 1996 Doug Evans <dje@canuck.cygnus.com>
5643
5644 Partially undo patch of Jun 20.
5645 * coffcode.h (coff_set_alignment_hook): Use COFF_IMAGE_WITH_PE.
5646 (coff_compute_section_file_positions): Likewise.
5647 (coff_write_object_contents): Likewise. Re-add deleted code, but
5648 use #ifdef COFF_WITH_PE, not COFF_OBJ_WITH_PE.
5649 * peicode.h (pe_bfd_copy_private_bfd_data): Re-add #ifdef.
5650
5651 Fri Jun 21 17:38:15 1996 Joel Sherrill <joel@merlin.gcs.redstone.army.mil>
5652
5653 * config.bfd: Add support for *-*-rtems* configurations.
5654
5655 Fri Jun 21 15:19:59 1996 Ian Lance Taylor <ian@cygnus.com>
5656
5657 * elf.c (prep_headers): Add bfd_arch_alpha case.
5658
5659 Fri Jun 21 12:35:27 1996 Richard Henderson <rth@tamu.edu>
5660
5661 * elf64-alpha.c: New file.
5662 * config.bfd (alpha-*-linuxecoff*): New target.
5663 (alpha-*-linux*, alpha-*-elf*): New targets.
5664 * configure.in (bfd_elf64_alpha_vec): New vector.
5665 * configure: Rebuild.
5666 * targets.c (bfd_elf64_alpha_vec): Declare.
5667 (bfd_target_vector): Add bfd_elf64_alpha_vec if BFD64.
5668 * reloc.c (BFD_RELOC_ALPHA_GPDISP): Define.
5669 * bfd-in2.h, libbfd.h: Rebuild.
5670 * Makefile.in: Rebuild dependencies.
5671 (BFD64_BACKENDS): Add elf64-alpha.o.
5672 (BFD64_BACKENDS_CFILES): Add elf64-alpha.c.
5673
5674 Thu Jun 20 18:14:25 1996 Ian Lance Taylor <ian@cygnus.com>
5675
5676 * ecoff.c (ecoff_armap_hash): If hlog is 0, just return 0, rather
5677 than relying on a right shift of 32.
5678
5679 Thu Jun 20 11:00:57 1996 Doug Evans <dje@canuck.cygnus.com>
5680
5681 * coffcode.h (coff_set_alignment_hook): Change COFF_IMAGE_WITH_PE
5682 ifdef to COFF_WITH_PE.
5683 (coff_compute_section_file_positions): Likewise.
5684 (coff_write_object_contents): Likewise. Delete COFF_OBJ_WITH_PE.
5685 * pe-{arm,i386,ppc}.c (COFF_OBJ_WITH_PE): Delete.
5686 * peicode.h (pe_bfd_copy_private_bfd_data): Delete ifdef
5687 COFF_IMAGE_WITH_PE, always include.
5688
5689 * peicode.h (coff_swap_scnhdr_out): ".drectve" doesn't have trailing 0.
5690
5691 Wed Jun 19 11:37:52 1996 Ian Lance Taylor <ian@cygnus.com>
5692
5693 * elf.c (map_sections_to_segments): Fix up the test for -Ttext to
5694 approximate the correct answer if SIZEOF_HEADERS was not used.
5695
5696 * binary.c (binary_set_section_contents): Set section file
5697 position based on LMA rather than VMA.
5698
5699 Wed Jun 19 11:19:25 1996 Manfred Hollstein KS/EIC5 60/3/142 #40283 <manfred@lts.sel.alcatel.de>
5700
5701 * linker.c (_bfd_generic_link_output_symbols): Don't output any
5702 symbols if info->strip == strip_all.
5703
5704 Tue Jun 18 15:17:36 1996 Jeffrey A. Law <law@rtl.cygnus.com>
5705
5706 * coff-h8300.c: Remove #if 0 code.
5707 (compatable): Don't allow mixing/matching of different architectures.
5708
5709 * archures.c (bfd_mach_h8300s): Add.
5710 * bfd-in2.h: Rebuilt.
5711 * coff-h8300.c (funcvec_hash_newfunc): Handle H8/S too.
5712 (BADMAG): Likewise.
5713 (h8300_reloc16_estimate): Likewise.
5714 (h8300_reloc16_extra_cases): Likewise.
5715 (h8300_bfd_link_add_symbols): Likewise.
5716 * coffcode.h (coff_set_arch_mach_hook): Likewise.
5717 (coff_set_flags): Likewise.
5718 * cpu-h8300.c (h8300_scan): Likewise.
5719 Add H8/S to bfd_h8300_arch list.
5720
5721 Tue Jun 18 14:42:58 1996 Klaus Kaempf <kkaempf@progis.de>
5722
5723 Added support for Alpha OpenVMS:
5724 * evax.h, evax-alpha.c, evax-egsd.c, evax-emh.c: New files.
5725 * evax-etir.c, evax-misc.c, hosts/alphavms.h: New files.
5726 * config.h-vms, makefile.vms: New files.
5727 * config.bfd (alpha-*-*vms*): New target.
5728 * configure.in (evax_alpha_vec): New target vector.
5729 * configure: Rebuild.
5730 * reloc.c (BFD_RELOC_SWREL32, BFD_RELOC_SWREL64): Define.
5731 (BFD_RELOC_ALPHA_LINKAGE, BFD_RELOC_ALPHA_BASEREG): Define.
5732 * targets.c (bfd_target_evax_flavour): Define.
5733 (evax_alpha_vec): Declare.
5734 (bfd_target_vector): Add ecoffalpha_little_vec and evax_alpha_vec
5735 if BFD64 is defined.
5736 * bfd-in2.h, libbfd.h: Rebuild.
5737 * Makefile.in: Rebuild dependencies.
5738 (BFD64_BACKENDS): Add evax-alpha.o, evax-egsd.o, evax-etir.o,
5739 evax-emh.o, and evax-misc.o.
5740 (BFD64_BACKENDS_CFILES): Add evax-alpha.c, evax-egsd.c,
5741 evax-etir.c, evax-emh.c, and evax-misc.c.
5742 (HFILES): Add evax.h.
5743
5744 Tue Jun 18 13:54:18 1996 Ian Lance Taylor <ian@cygnus.com>
5745
5746 * coff-h8300.c (h8300_reloc16_extra_cases): Make name a const
5747 pointer.
5748 (h8300_bfd_link_add_symbols): Likewise.
5749
5750 Mon Jun 17 10:06:50 1996 Jeffrey A. Law <law@rtl.cygnus.com>
5751
5752 * som.h (R_HPPA_BEGIN_TRY, R_HPPA_END_TRY): Define.
5753 * som.c (som_write_fixups): Handle R_BEGIN_TRY and R_END_TRY.
5754
5755 Mon Jun 17 12:49:11 1996 Ian Lance Taylor <ian@cygnus.com>
5756
5757 * elf32-mips.c (mips_elf_relocate_section): Don't create a reloc
5758 for R_MIPS_REL32 and R_MIPS_32 relocs if no dynamic sections were
5759 created.
5760 (mips_elf_check_relocs): Only create .rel.dyn for R_MIPS_REL32 and
5761 R_MIPS_32 relocs if creating a shared library.
5762
5763 Thu Jun 13 20:14:51 1996 Doug Evans <dje@canuck.cygnus.com>
5764
5765 * peicode.h (add_data_entry): Use pei_section_data rather than
5766 _cooked_size. Corresponds to May 13 change in coffcode.h.
5767
5768 Thu Jun 13 10:23:40 1996 Ian Lance Taylor <ian@cygnus.com>
5769
5770 * cofflink.c (_bfd_coff_final_link): Handle long section names.
5771 * coffcode.h (coff_write_object_contents): If there are long
5772 section names, always set the f_symptr field, even if there are no
5773 symbols.
5774 * peicode.h (coff_swap_filehdr_in): Don't clear the f_symptr field
5775 if there are no symbols.
5776
5777 * coffgen.c (make_a_section_from_file): Check return value of
5778 _bfd_coff_read_string_table.
5779 (coff_real_object_p): Check return value of
5780 make_a_section_from_file.
5781 (_bfd_coff_read_string_table): Check that there are some symbols
5782 before trying to read the string table size.
5783
5784 Wed Jun 12 11:16:37 1996 Ian Lance Taylor <ian@cygnus.com>
5785
5786 * xcofflink.c (xcoff_link_add_symbols): When considering whether
5787 to replace a symbol in a dynamic object with a symbol from another
5788 dynamic object, do the replacement if the existing symbol is
5789 global linkage code.
5790
5791 * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Check explicitly
5792 for _ptrgl, and treat it as global linkage code.
5793
5794 * aoutx.h (NAME(aout,find_nearest_line)): Notice if we find a
5795 filename or N_SO symbol past the offset, and use it to indicate
5796 that there is no line number or function when appropriate.
5797
5798 Tue Jun 11 15:24:48 1996 Ian Lance Taylor <ian@cygnus.com>
5799
5800 * xcofflink.c (xcoff_build_ldsyms): Set XCOFF_DEF_REGULAR for a
5801 common symbol defined by the linker. Don't export function code
5802 even if export_defineds is set.
5803
5804 Mon Jun 10 11:57:27 1996 Jeffrey A Law (law@cygnus.com)
5805
5806 * coff-h8300.c (howto_table): Add new entries for R_BCC_INV
5807 and R_JMP_DEL.
5808 (rtype2howto): Handle R_BCC_INV and R_JMP_DEL.
5809 (h8300_symbol_address_p): New function.
5810 (h8300_reloc16_estimate): Eliminate jumps made unnecessary by
5811 relaxing.
5812
5813 Sun Jun 9 16:30:20 1996 Jeffrey A Law (law@cygnus.com)
5814
5815 * coff-h8300.c (h8300_reloc16_estimate): Fix many minor spacing
5816 problems.
5817 (h8300_reloc16_estimate, cases R_JMP1, R_JMP2): Adjust "dot"
5818 correctly for the two variants. Allow relaxing if the target
5819 is 128 bytes away since after relaxation it'll be 126 bytes away.
5820 (h8300_reloc16_estimate, case R_PCRWORD): Correctly adjust
5821 "dot" and "value". Allow relaxing if the target is 128 bytes
5822 away since after relaxation it'll be 126 bytes away.
5823 * reloc16.c (bfd_coff_reloc16_relax_section): Keep relaxing
5824 the given section until nothing changes.
5825
5826 Thu Jun 6 15:24:45 1996 Richard Henderson <rth@tamu.edu>
5827
5828 * ecoff.c (_bfd_ecoff_new_section_hook): Remove the _PDATA
5829 alignment hack--we can get the lnnoptr info another way without
5830 suddenly increasing the alignment requirements. Set the flags for
5831 the _PDATA section.
5832 (ecoff_compute_section_file_positions): Do so.
5833
5834 Thu Jun 6 11:24:37 1996 Ian Lance Taylor <ian@cygnus.com>
5835
5836 * ieee.c (ieee_write_object_contents): Put a timestamp in the file
5837 to keep the HP emulator database happy.
5838
5839 * config.bfd: Recognize powerpc-*-linux* and powerpcle-*-linux*.
5840 From Kevin Buettner <kev@primenet.com>.
5841
5842 Wed Jun 5 15:16:04 1996 Ian Lance Taylor <ian@cygnus.com>
5843
5844 * aoutx.h (translate_to_native_sym_flags): Don't try to print the
5845 name of a NULL section.
5846
5847 Tue Jun 4 18:53:58 1996 Ian Lance Taylor <ian@cygnus.com>
5848
5849 * linker.c (_bfd_generic_link_add_one_symbol): If notice_all is
5850 set, always call the notice callback.
5851
5852 * VERSION: Increment for bfdlink.h change.
5853
5854 Mon Jun 3 11:01:53 1996 Ian Lance Taylor <ian@cygnus.com>
5855
5856 * coff-sh.c (COFF_DEFAULT_SECTION_ALIGNMENT_POWER): Set to 4.
5857 (sh_relax_delete_bytes): Correct handling of differently sized
5858 trailing alignment reloc.
5859
5860 * bfd-in.h: Use #error if BFD_HOST_64_BIT can not be defined.
5861 * bfd-in2.h: Rebuild.
5862 * configure.in: Warn if there is no known 64 bit type.
5863 * configure: Rebuild.
5864
5865 * Makefile.in: Rebuild dependencies.
5866 (BFD32_BACKENDS): Add ppcboot.o.
5867 (BFD32_BACKENDS_CFILES): Add ppcboot.c.
5868
5869 * elf32-mips.c (mips_elf_size_dynamic_sections): Initialize c.
5870 From Per Fogelstrom <per.fogelstrom@mailbox200.swipnet.se>.
5871
5872 Sat Jun 1 21:49:58 1996 Ian Lance Taylor <ian@cygnus.com>
5873
5874 * elf64-mips.c (bfd_mips_elf64_swap_reginfo_in)
5875 (bfd_mips_elf64_swap_reginfo_out): Move from here...
5876 * elf32-mips.c (bfd_mips_elf64_swap_reginfo_in)
5877 (bfd_mips_elf64_swap_reginfo_out): ...to here.
5878
5879 Fri May 31 13:51:28 1996 Ian Lance Taylor <ian@cygnus.com>
5880
5881 * elf64-mips.c: Improve reloc special_functions and handling of
5882 SHT_MIPS_OPTIONS section.
5883 * elf32-mips.c (_bfd_mips_elf_hi16_reloc): Rename from
5884 mips_elf_hi16_reloc and make globally visible.
5885 (_bfd_mips_elf_lo16_reloc): Rename from mips_elf_lo16_reloc and
5886 make globally visible.
5887 (_bfd_mips_elf_got16_reloc): Rename from mips_elf_got16_reloc and
5888 make globally visible.
5889 (_bfd_mips_elf_gprel16_reloc): Rename from mips_elf_gprel16_reloc
5890 and make globally visible.
5891 (gprel16_with_gp): Check howto->src_mask before using value in
5892 insn.
5893 (_bfd_mips_elf_gprel32_reloc): Rename from mips_elf_gprel32_reloc
5894 and make globally visible.
5895 (gprel32_with_gp): Check howto->src_mask before fetching value.
5896 (bfd_mips_elf_swap_options_in): New function.
5897 (bfd_mips_elf_swap_options_out): New function.
5898 (_bfd_mips_elf_set_private_flags): Rename from
5899 mips_elf_set_private_flags and make globally visible.
5900 (_bfd_mips_elf_copy_private_bfd_data): Rename from
5901 mips_elf_copy_private_bfd_data and make globally visible.
5902 (_bfd_mips_elf_merge_private_bfd_data): Rename from
5903 mips_elf_merge_private_bfd_data and make globally visible.
5904 (_bfd_mips_elf_section_from_shdr): Accept .MIPS.options as a name
5905 for a SHT_MIPS_OPTIONS section.
5906 (mips_elf32_section_from_shdr): Handle SHT_MIPS_OPTIONS section.
5907 (_bfd_mips_elf_fake_sections): Consider .MIPS.options to be the
5908 name of a SHT_MIPS_OPTIONS section.
5909 (_bfd_mips_elf_set_section_contents): New function.
5910 (mips_elf32_section_processing): Set the GP value in a
5911 SHT_MIPS_OPTIONS section.
5912 (_bfd_mips_elf_find_nearest_line): Rename from
5913 mips_elf_find_nearest_line and make globally visible.
5914 (bfd_elf32_set_section_contents): Define.
5915 * elf-bfd.h (_bfd_mips_elf_hi16_reloc): Declare.
5916 (_bfd_mips_elf_lo16_reloc): Declare.
5917 (_bfd_mips_elf_gprel16_reloc): Declare.
5918 (_bfd_mips_elf_got16_reloc): Declare.
5919 (_bfd_mips_elf_gprel32_reloc): Declare.
5920 (_bfd_mips_elf_set_private_flags): Declare.
5921 (_bfd_mips_elf_copy_private_bfd_data): Declare.
5922 (_bfd_mips_elf_merge_private_bfd_data): Declare.
5923 (_bfd_mips_elf_find_nearest_line): Declare.
5924 (_bfd_mips_elf_set_section_contents): Declare.
5925
5926 * elf32-hppa.c (elf32_hppa_info_to_howto): Rename from
5927 elf_info_to_howto.
5928 (elf_info_to_howto): Define.
5929 * elf32-sparc.c (elf32_sparc_info_to_howto): Rename from
5930 elf_info_to_howto.
5931 (elf_info_to_howto): Define.
5932 * elf64-sparc.c (sparc64_elf_info_to_howto): Rename from
5933 elf_info_to_howto.
5934 (elf_info_to_howto): Define.
5935
5936 * coff-w65.c (h8300_reloc16_estimate): Rename R_MOVB[12] to
5937 R_MOV16B[12], to match change in coff/internal.h.
5938
5939 Thu May 30 12:38:49 1996 Ian Lance Taylor <ian@cygnus.com>
5940
5941 * elf64-mips.c: Extensive additions to provide better support for
5942 writing files and for gas.
5943 * elf32-mips.c (_bfd_mips_elf_object_p): New function, broken out
5944 of mips_elf_object_p.
5945 (mips_elf32_object_p): Rename from mips_elf_object_p; call
5946 _bfd_mips_elf_object_p.
5947 (_bfd_mips_elf_final_write_processing): Rename from
5948 mips_elf_final_write_processing and make globally visible.
5949 (_bfd_mips_elf_fake_sections): Rename from
5950 mips_elf_fake_sections and make globally visible.
5951 (_bfd_mips_elf_section_from_bfd_section): Rename from
5952 mips_elf_section_from_bfd_section and make globally visible.
5953 (_bfd_mips_elf_section_processing): New function, broken out of
5954 mips_elf_section_processing.
5955 (mips_elf32_section_processing): Rename from
5956 mips_elf_section_processing; call
5957 _bfd_mips_elf_section_processing.
5958 (_bfd_mips_elf_symbol_processing): Rename from
5959 mips_elf_symbol_processing and make globally visible.
5960 (_bfd_mips_elf_read_ecoff_info): Rename from
5961 mips_elf_read_ecoff_info and make globally visible.
5962 (mips_elf32_ecoff_debug_swap): Rename from
5963 mips_elf_ecoff_debug_swap.
5964 * elf.c (_bfd_elf_symbol_from_bfd_symbol): Use asymbol rather than
5965 struct symbol_cache_entry.
5966 (_bfd_elf_validate_reloc): New function, moved in from
5967 elfcode.h:validate_reloc.
5968 * elfcode.h (validate_reloc): Remove; moved into elf.c and renamed
5969 to _bfd_elf_validate_reloc. Change all callers.
5970 * elf-bfd.h (bfd_section_from_shdr): Declare.
5971 (_bfd_elf_symbol_from_bfd_symbol): Declare.
5972 (_bfd_elf_validate_reloc): Declare.
5973 (_bfd_mips_elf_object_p): Declare.
5974 (_bfd_mips_elf_fake_sections): Declare.
5975 (_bfd_mips_elf_section_from_bfd_section): Declare.
5976 (_bfd_mips_elf_section_processing): Declare.
5977 (_bfd_mips_elf_symbol_processing): Declare.
5978 (_bfd_mips_elf_read_ecoff_info): Declare.
5979 (_bfd_mips_elf_final_write_processing): Declare.
5980 * elfxx-target.h (bfd_elfNN_get_reloc_upper_bound): Don't define
5981 if already defined.
5982
5983 * elf32-mips.c (mips_elf_object_p): Handle E_MIPS_ARCH_4.
5984 (mips_elf_final_write_processing): Likewise.
5985
5986 Wed May 29 16:15:29 1996 Ian Lance Taylor <ian@cygnus.com>
5987
5988 64-bit MIPS ELF ABI objdump support:
5989 * elf64-mips.c: New file.
5990 * Makefile.in: Rebuild dependencies.
5991 (BFD64_BACKENDS): Add elf64-mips.o.
5992 (BFD64_BACKENDS_CFILES): Add elf64-mips.c.
5993 * config.bfd (mips*el-*-elf*) Add bfd_elf64_bigmips_vec and
5994 bfd_elf64_littlemips_vec to targ_selvecs.
5995 (mips*-*-elf*): Likewise.
5996 * confingure.in: Add bfd_elf64_bigmips_vec and
5997 bfd_elf64_littlemips_vec to vector switch.
5998 * configure: Rebuild.
5999 * elf32-mips.c (_bfd_mips_elf_section_from_shdr): New function,
6000 broken out of mips_elf_section_from_shdr.
6001 (mips_elf32_section_from_shdr): Rename from
6002 mips_elf_section_from_shdr. Call new function.
6003 (elf_backend_section_from_shdr): Update name of renamed function.
6004 * elf-bfd.h (struct elf_size_info): Change second parameter of
6005 write_out_phdrs to be const. Likewise for second parameter of
6006 swap_symbol_out.
6007 (struct bfd_elf_section_data): Add rel_hdr2 field.
6008 (bfd_elf32_swap_symbol_in): Change second parameter to be const.
6009 (bfd_elf32_swap_symbol_out): Likewise.
6010 (bfd_elf32_swap_reloc_in): Likewise.
6011 (bfd_elf32_swap_reloc_out): Likewise.
6012 (bfd_elf32_swap_reloca_in): Likewise.
6013 (bfd_elf32_swap_reloca_out): Likewise.
6014 (bfd_elf32_swap_phdr_in): Likewise.
6015 (bfd_elf32_swap_phdr_out): Likewise.
6016 (bfd_elf32_swap_dyn_in): Likewise.
6017 (bfd_elf32_swap_dyn_out): Likewise.
6018 (bfd_elf32_slurp_symbol_table): Declare.
6019 (bfd_elf32_write_shdrs_and_ehdr): Declare.
6020 (bfd_elf32_write_out_phdrs): Declare.
6021 (bfd_elf64_swap_symbol_in): Change second parameter to be const.
6022 (bfd_elf64_swap_symbol_out): Likewise.
6023 (bfd_elf64_swap_reloc_in): Likewise.
6024 (bfd_elf64_swap_reloc_out): Likewise.
6025 (bfd_elf64_swap_reloca_in): Likewise.
6026 (bfd_elf64_swap_reloca_out): Likewise.
6027 (bfd_elf64_swap_phdr_in): Likewise.
6028 (bfd_elf64_swap_phdr_out): Likewise.
6029 (bfd_elf64_swap_dyn_in): Likewise.
6030 (bfd_elf64_swap_dyn_out): Likewise.
6031 (bfd_elf64_slurp_symbol_table): Declare.
6032 (bfd_elf64_write_shdrs_and_ehdr): Declare.
6033 (bfd_elf64_write_out_phdrs): Declare.
6034 (_bfd_mips_elf_section_from_shdr): Declare.
6035 * elf.c (bfd_section_from_shdr): Remove assertion requiring
6036 SHT_REL/SHT_RELA to match use_rela_p. If there is already a reloc
6037 section for the section, add the new one to rel_hdr2. Increment
6038 reloc_count rather than setting it.
6039 * elfcode.h (elf_slurp_symbol_table): Define name as macro.
6040 Remove static declaration.
6041 (elf_write_shdrs_and_ehdr): Define name as macro.
6042 (elf_write_out_phdrs): Likewise.
6043 (elf_swap_ehdr_in, elf_swap_ehdr_out): Declare.
6044 (elf_swap_shdr_in, elf_swap_shdr_out): Declare.
6045 (elf_swap_symbol_in): Change second parameter to be const.
6046 (elf_swap_symbol_out): Likewise.
6047 (elf_swap_ehdr_in, elf_swap_ehdr_out): Likewise.
6048 (elf_swap_shdr_in, elf_swap_shdr_out): Likewise.
6049 (elf_swap_phdr_in, elf_swap_phdr_out): Likewise.
6050 (elf_swap_reloc_in, elf_swap_reloc_out): Likewise.
6051 (elf_swap_reloca_in, elf_swap_reloca_out): Likewise.
6052 (elf_write_out_phdrs): Rename from write_out_phdrs. Change second
6053 parameter to be const. Make non-static.
6054 (elf_write_shdrs_and_ehdr): Rename from write_shdrs_and_ehdr.
6055 Make non-static.
6056 (elf_slurp_symbol_table): Make non-static.
6057 (NAME(_bfd_elf,size_info)): Update names of renamed functions.
6058 * elfxx-target.h (elf_info_to_howto): Define if not defined.
6059 (elf_backend_size_info): Likewise.
6060 (elfNN_bed): Use elf_backend_size_info.
6061 * targets.c (bfd_elf64_bigmips_vec): Declare.
6062 (bfd_elf64_littlemips_vec): Declare.
6063 (bfd_target_vector): Add bfd_elf64_bigmips_vec and
6064 bfd_elf64_littlemips_vec if BFD64 is defined.
6065
6066 * libbfd.c (bfd_get_file_window): Add cast to fprintf argument.
6067
6068 Tue May 28 11:42:08 1996 Ian Lance Taylor <ian@cygnus.com>
6069
6070 * coff-sh.c (sh_relax_delete_bytes): Insert nop instructions, not
6071 zeroes, in alignment holes.
6072
6073 * configure: Rebuild with autoconf 2.10.
6074
6075 * aoutx.h (NAME(aout,find_nearest_line)): Make room for the
6076 potential leading underscore in the allocated buffer.
6077
6078 Fri May 24 14:28:38 1996 Michael Meissner <meissner@tiktok.cygnus.com>
6079
6080 * elf32-ppc.c (ppc_elf_add_symbol_hook): Do not put small common
6081 symbols into .sbss if this is a relocatable link.
6082
6083 Thu May 23 12:26:24 1996 Ian Lance Taylor <ian@cygnus.com>
6084
6085 * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Warn about
6086 undefined symbols when creating a shared library.
6087
6088 Fri May 17 13:54:15 1996 Ian Lance Taylor <ian@cygnus.com>
6089
6090 * coff-sh.c: Add a bunch of new code and static const arrays to
6091 support aligning loads and stores on four byte memory boundaries.
6092 Also:
6093 (sh_coff_howtos): Add entries for R_SH_CODE, R_SH_DATA and
6094 R_SH_LABEL.
6095 (sh_relax_section): Look for R_SH_CODE relocs. If we find one,
6096 call sh_align_loads.
6097 (sh_relax_delete_bytes): Don't mark R_SH_CODE or R_SH_DATA relocs
6098 as unused.
6099
6100 Thu May 16 16:34:13 1996 Ian Lance Taylor <ian@cygnus.com>
6101
6102 * cache.c (bfd_open_file): Unlink the file before opening it for
6103 write. From Marty Leisner <leisner@sdsp.mc.xerox.com>.
6104
6105 * opncls.c (bfd_fdopenr): Set opened_once.
6106
6107 Tue May 14 12:35:32 1996 Ian Lance Taylor <ian@cygnus.com>
6108
6109 * som.c (som_slurp_reloc_table): Clear external_relocs cache after
6110 freeing it.
6111
6112 * libbfd.c: Remove #ifdef FILE_OFFSET_IS_CHAR_INDEX, and compile
6113 the code unconditionally.
6114
6115 Mon May 13 19:51:37 1996 Ian Lance Taylor <ian@cygnus.com>
6116
6117 * libcoff-in.h (struct pei_section_tdata): Define structure.
6118 (pei_section_data): Define macro.
6119 * libcoff.h: Rebuild.
6120 * coffcode.h (coff_set_alignment_hook): If COFF_IMAGE_WITH_PE,
6121 store s_paddr field in pei_section_data.
6122 (coff_compute_section_file_positions): Use pei_section_data rather
6123 than _cooked_size, and don't overwrite an existing value.
6124 (coff_write_object_contents): If COFF_OBJ_WITH_PE, set s_paddr to
6125 0. If COFF_IMAGE_WITH_PE, set s_paddr to pei_section_data.
6126 * peicode.h (coff_bfd_copy_private_section_data): Define if
6127 COFF_IMAGE_WITH_PE.
6128 (pe_bfd_copy_private_section_data): New static function if
6129 COFF_IMAGE_WITH_PE.
6130
6131 Wed May 8 16:10:38 1996 Ian Lance Taylor <ian@cygnus.com>
6132
6133 * srec.c (srec_set_arch_mach): Write as a function rather than a
6134 macro definition.
6135
6136 * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): If an archive has
6137 no map, just check each member in turn to see whether it is
6138 required.
6139
6140 Wed May 8 09:17:34 1996 Michael Meissner <meissner@tiktok.cygnus.com>
6141
6142 * ppcboot.c (ppcboot_object_p): Check for type 0x41 in partition
6143 table. Call BFD_ASSERT to validate header size, instead of
6144 calling fatal.
6145 (ppcboot_bfd_print_private_bfd_data): Put quotes around partition
6146 name.
6147
6148 Tue May 7 16:10:19 1996 Michael Meissner <meissner@tiktok.cygnus.com>
6149
6150 * ppcboot.c: New target for looking at PPCbug boot records.
6151
6152 * config{ure.in,.bfd}: Add support for ppcboot target.
6153 * targets.c: Ditto.
6154 * configure: Regenerate.
6155
6156 Tue May 7 11:15:19 1996 Jeffrey A Law (law@cygnus.com)
6157
6158 * coff-h8300.c (howto_table): Update names to match recent
6159 changes to include/coff/internal.h. Fix minor errors in the
6160 existing relocs. Add R_MOVL1 and R_MOVL2.
6161 (rtype2howto): Similarly.
6162 (h8300_reloc16_estimate): Rewrite to simplify, fix bugs in the
6163 existing relaxing code and peform more relaxing.
6164 (h8300_reloc16_extra_cases): Likewise.
6165
6166 Mon May 6 18:24:09 1996 Jeffrey A Law (law@cygnus.com)
6167
6168 * reloc16.c (bfd_coff_reloc16_get_value): Handle common
6169 symbols correctly.
6170
6171 Sat May 4 05:08:45 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
6172
6173 * elfcode.h (elf_object_p): Reject generic ELF target if
6174 e_machine matches an alternate machine code in a specific backend.
6175
6176 * netbsd-core.c (netbsd_core_vec): Remove initializer for
6177 obsolete align_power_min field.
6178
6179 Fri May 3 13:07:35 1996 Jeffrey A Law (law@cygnus.com)
6180
6181 * coff-h8300.c (reloc_howto_type): Add howto entry for
6182 R_PCRWORD_B.
6183 (rtype2howto): Handle R_PCRWORD_B.
6184 (h8300_reloc16_extra_cases): Handle R_PCRWORD_B.
6185 (h8300_reloc_16_estimate): Likewise. Try to turn a 16bit
6186 pc-relative branch (R_PCRWORD) into an 8bit pc-relative
6187 branch (R_PCWORD_B).
6188
6189 Fri May 3 10:47:41 1996 Ian Lance Taylor <ian@cygnus.com>
6190
6191 * aoutx.h (translate_from_native_sym_flags): Set the section for
6192 BSF_CONSTRUCTOR symbols.
6193
6194 * cofflink.c (_bfd_coff_link_input_bfd): Correct setting of
6195 last_bf_index.
6196
6197 Wed May 1 18:39:32 1996 Doug Evans <dje@canuck.cygnus.com>
6198
6199 * coffcode.h (coff_write_object_contents): In comdat section lookup,
6200 stop looking when section is found.
6201
6202 Wed May 1 14:17:57 1996 Ian Lance Taylor <ian@cygnus.com>
6203
6204 * coffcode.h (STRING_SIZE_SIZE): Define.
6205 (styp_to_sec_flags): Handle long symbol names when looking for the
6206 section symbol.
6207 (bfd_coff_backend_data): Add _bfd_coff_long_section_names field.
6208 (bfd_coff_long_section_names): Define.
6209 (coff_write_object_contents): Handle long section names.
6210 (bfd_coff_std_swap_table): Initialize new field.
6211 * libcoff.h: Rebuild.
6212 * coffgen.c (make_a_section_from_file): Handle long section
6213 names.
6214 (coff_write_symbols): Handle long section names.
6215 * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
6216 * coff-mips.c (mips_ecoff_backend_data): Likewise.
6217 * pe-arm.c (COFF_LONG_SECTION_NAMES): Define.
6218 * pei-arm.c (COFF_LONG_SECTION_NAMES): Define.
6219 * pe-i386.c (COFF_LONG_SECTION_NAMES): Define.
6220 * pei-i386.c (COFF_LONG_SECTION_NAMES): Define.
6221 * pe-ppc.c (COFF_LONG_SECTION_NAMES): Define.
6222 * pei-ppc.c (COFF_LONG_SECTION_NAMES): Define.
6223
6224 * bout.c (b_out_callback): Set lma of sections.
6225 (b_out_bfd_get_relocated_section_contents): Rename in_abfd
6226 parameter to output_bfd. Used input_bfd instead of output_bfd in
6227 several places.
6228
6229 Tue Apr 30 17:56:39 1996 Ian Lance Taylor <ian@cygnus.com>
6230
6231 * aoutx.h (translate_from_native_sym_flags): Don't create
6232 SEC_CONSTRUCTOR sections.
6233 * ecoff.c (ecoff_set_symbol_info): Likewise.
6234
6235 * elf32-mips.c (mips_elf_copy_private_bfd_data): Copy elf_gp.
6236 From Don Bowman <bowman@waterloo.hp.com>.
6237
6238 Tue Apr 30 17:06:32 1996 Doug Evans <dje@canuck.cygnus.com>
6239
6240 * coff-arm.c (armcoff_little_vec): If COFF_WITH_PE is defined, add
6241 SEC_LINK_ONCE and SEC_LINK_DUPLICATES to section_flags.
6242
6243 Mon Apr 29 13:15:17 1996 Ian Lance Taylor <ian@cygnus.com>
6244
6245 * elf32-mips.c (struct mips_elf_link_hash_entry): Add
6246 mips_32_relocs field.
6247 (mips_elf_link_hash_newfunc): Initialize mips_32_relocs field.
6248 (mips_elf_relocate_section): Copy R_MIPS_REL32 and R_MIPS_32
6249 relocs against a global symbol which is not defined in a regular
6250 file.
6251 (mips_elf_check_relocs): For a R_MIPS_REL32 or R_MIPS_32 reloc
6252 against a global symbol, increment mips_32_relocs.
6253 (mips_elf_adjust_dynamic_symbol): If mips_32_relocs is set, and
6254 the symbol is not defined in a regular file, make room in the
6255 .rel.dyn section.
6256
6257 Fri Apr 26 18:00:37 1996 Ian Lance Taylor <ian@cygnus.com>
6258
6259 * ecoff.c (ecoff_compute_section_file_positions): Track the real
6260 file position and the virtual file position separately. Set
6261 filepos information bsaed on the real file position.
6262 (_bfd_ecoff_set_section_contents): Handle .lib sections like the
6263 Jan 23 change to coffcode.h.
6264
6265 * som.c (som_slurp_symbol_table): Set the symbol count to the
6266 number of BFD symbols created.
6267
6268 Fri Apr 26 12:34:29 1996 Michael Meissner <meissner@tiktok.cygnus.com>
6269
6270 * elf32-ppc.c (ppc_elf_check_relocs): Forward relocations to the
6271 output file if linking shared objects. Loop to check all relocs,
6272 rather than returning false on first error.
6273
6274 Thu Apr 25 13:25:12 1996 Michael Meissner <meissner@tiktok.cygnus.com>
6275
6276 * elf32-ppc.c (ppc_elf_create_linker_section): Add PLT case.
6277 (ppc_elf_additional_program_headers): If .interp section, bump #
6278 of program headers by 1.
6279 (ppc_elf_adjust_dynamic_symbol): Flesh out support.
6280 (ppc_elf_size_dynamic_sections): Add support for .plt section.
6281 (ppc_elf_check_relocs): Print out filename in debug code. Enable
6282 PLT support.
6283 (ppc_elf_finish_dynamic_symbol): Add support for PLT's, beef up
6284 debug output.
6285 (ppc_elf_relocate_section): If the output section isn't defined,
6286 don't abort, just give an error message.
6287
6288 * elflink.c (_bfd_elf_create_dynamic_sections): If the section
6289 being created is .sdata or .sdata2, don't make the symbol dynamic.
6290
6291 Wed Apr 24 14:04:07 1996 Ian Lance Taylor <ian@cygnus.com>
6292
6293 * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Look through the
6294 members of an archive for dynamic objects with no symbols, and
6295 pass them directly to check_archive_element.
6296 (xcoff_link_check_ar_symbols): Pass dynamic objects to
6297 xcoff_link_check_dynamic_ar_symbols.
6298 (xcoff_link_check_dynamic_ar_symbols): New static function.
6299
6300 * coff-rs6000.c (rs6000coff_vec): Change BFD_JUMP_TABLE_DYNAMIC
6301 from _bfd_nodynamic to _bfd_xcoff.
6302 * libcoff-in.h (_bfd_xcoff_get_dynamic_symtab_upper_bound):
6303 Declare.
6304 (_bfd_xcoff_canonicalize_dynamic_symtab): Declare.
6305 (_bfd_xcoff_get_dynamic_reloc_upper_bound): Declare.
6306 (_bfd_xcoff_canonicalize_dynamic_reloc): Declare.
6307 * libcoff.h: Rebuild.
6308 * xcofflink.c (xcoff_swap_ldrel_in): New static function.
6309 (xcoff_get_section_contents): New static function.
6310 (_bfd_xcoff_get_dynamic_symtab_upper_bound): New function.
6311 (_bfd_xcoff_canonicalize_dynamic_symtab): New function.
6312 (_bfd_xcoff_get_dynamic_reloc_upper_bound): New function.
6313 (xcoff_dynamic_reloc): New static variable.
6314 (_bfd_xcoff_canonicalize_dynamic_reloc): New function.
6315 (xcoff_link_add_dynamic_symbols): Use xcoff_get_section_contents.
6316
6317 Tue Apr 23 12:48:42 1996 Ian Lance Taylor <ian@cygnus.com>
6318
6319 * coff-sparc.c (bfd_coff_generic_reloc): Return bfd_reloc_ok even
6320 if reloc_entry->addend is not 0.
6321 (CALC_ADDEND): Just set the addend to reloc.r_offset.
6322
6323 Mon Apr 22 18:29:01 1996 Doug Evans <dje@canuck.cygnus.com>
6324
6325 * elf32-sparc.c (_bfd_sparc_elf_howto_table): Fix spelling of
6326 R_SPARC_GLOB_JMP.
6327 * elf64-sparc.c (sparc64_elf_howto_table): Likewise.
6328 Add entries for R_SPARC_[56].
6329 (sparc_reloc_map): Add entries for R_SPARC_[56].
6330
6331 Mon Apr 22 15:07:24 1996 Ian Lance Taylor <ian@cygnus.com>
6332
6333 Optimize linking of stabs in sections as used in ELF and COFF.
6334 * stabs.c: New file.
6335 * libbfd-in.h (_bfd_link_section_stabs): Declare.
6336 (_bfd_write_section_stabs): Declare.
6337 (_bfd_write_stab_strings): Declare.
6338 * libbfd.h: Rebuild.
6339 * libcoff-in.h (struct coff_section_tdata): Add stab_info field.
6340 (struct coff_link_hash_table): Add stab_info field.
6341 * libcoff.h: Rebuild.
6342 * cofflink.c (_bfd_coff_link_hash_table_init): Initialize
6343 stab_info field.
6344 (coff_link_add_symbols): Call _bfd_link_section_stabs if
6345 appropriate.
6346 (_bfd_coff_final_link): Write out stab strings hash table.
6347 (_bfd_coff_link_input_bfd): Handle optimized stabs sections.
6348 * coff-ppc.c (ppc_bfd_coff_final_link): Write out stab strings
6349 hash table.
6350 * elf-bfd.h (struct elf_link_hash_table): Add stab_info field.
6351 (struct bfd_elf_section_data): Add stab_info field.
6352 * elf.c (_bfd_elf_link_hash_table_init): Initialize stab_info
6353 field.
6354 * elflink.h (elf_link_add_object_symbols): If appropriate, call
6355 _bfd_link_section_stabs.
6356 (elf_bfd_final_link): Write out stab strings hash table.
6357 (elf_link_input_bfd): Handle optimized stabs sections.
6358 * reloc.c (_bfd_final_link_relocate): Check address against
6359 _raw_size rather than _cooked_size.
6360 * Makefile.in: Rebuild dependencies.
6361 (BFD_LIBS): Add stabs.o
6362 (BFD_LIBS_CFILES): Add stabs.c.
6363
6364 * VERSION: Increment for bfdlink.h change.
6365
6366 * coffgen.c (coff_renumber_symbols): Correct handling of
6367 BSF_NOT_AT_END common symbols.
6368
6369 Fri Apr 19 19:21:56 1996 Ian Lance Taylor <ian@cygnus.com>
6370
6371 * coff-ppc.c (record_toc): Add cast to avoid warning.
6372 (ppc_allocate_toc_section): Likewise.
6373 (coff_ppc_relocate_section): Remove ANSI C string concatenation.
6374 (ppc_coff_reloc_type_lookup): Remove unreached code.
6375 * coffcode.h (coff_write_object_contents): Don't take the address
6376 of an array.
6377 * peicode.h (pe_print_idata): Add casts to avoid warning.
6378 (pe_print_edata): Likewise.
6379 (pe_print_reloc): Remove ANSI C string concatenation.
6380
6381 Thu Apr 18 18:51:18 1996 Ian Lance Taylor <ian@cygnus.com>
6382
6383 * libcoff-in.h (struct coff_final_link_info): Add last_bf_index
6384 and last_bf fields.
6385 * libcoff.h: Rebuild.
6386 * coffswap.h (coff_swap_aux_in): Swap endndx field for C_FCN
6387 symbols.
6388 (coff_swap_aux_out): Likewise.
6389 * peicode.h (coff_swap_aux_in): Likewise.
6390 (coff_swap_aux_out): Likewise.
6391 * coffgen.c (coff_pointerize_aux): Check endndx field for C_FCN
6392 symbols.
6393 * cofflink.c (_bfd_coff_final_link): Initialize last_bf_index
6394 field.
6395 (_bfd_coff_link_input_bfd): Check endndx field for C_FCN symbols.
6396 Fix up .bf endndx link fields.
6397 * coff-ppc.c (ppc_bfd_coff_final_link): Initialize last_bf_index
6398 field.
6399 * xcofflink.c (xcoff_link_input_bfd): Check endndx field for C_FCN
6400 symbols.
6401
6402 Wed Apr 17 12:08:24 1996 Michael Meissner <meissner@tiktok.cygnus.com>
6403
6404 * pe{,i}-ppc.c (PPC_PE): Define instead of PPC, so that compiling
6405 on Solaris PowerPC systems doesn't get confused.
6406
6407 * ccffcode.h (coff_write_object_contents): Use #ifdef PPC_PE, not
6408 #ifdef PPC.
6409
6410 * elfcore.h (bfd_prstatus, bfd_fpregset): Add thread argument.
6411 (elf_corefile_note): If HAVE_SYS_PROCFS_H is not defined, don't
6412 update did_reg and did_reg2.
6413
6414 Wed Apr 17 13:07:37 1996 Ian Lance Taylor <ian@cygnus.com>
6415
6416 * xcofflink.c (xcoff_link_input_bfd): Check for TOC overflow.
6417
6418 * linker.c (_bfd_generic_link_add_one_symbol): When calling the
6419 callback routines, pass h->root.string rather than name, in case
6420 copy is true and name is transient.
6421
6422 Tue Apr 16 16:36:38 1996 Stu Grossman (grossman@lisa.cygnus.com)
6423
6424 * elfcore.h: Add support for core files with multiple threads.
6425 (Primarily for Solaris.)
6426
6427 Tue Apr 16 13:44:08 1996 Ian Lance Taylor <ian@cygnus.com>
6428
6429 * aoutx.h (NAME(aout,squirt_out_relocs)): Don't do anything if
6430 section->orelocation is NULL.
6431
6432 * coffgen.c (bfd_coff_get_syment): New function.
6433 (bfd_coff_get_auxent): New function.
6434 * bfd-in.h (bfd_coff_get_syment): Declare.
6435 (bfd_coff_get_auxent): Declare.
6436 * bfd-in2.h: Rebuild.
6437
6438 Mon Apr 15 19:06:59 1996 Ian Lance Taylor <ian@cygnus.com>
6439
6440 * elf32-mips.c (struct mips_hi16): Define.
6441 (mips_hi16_addr, mips_hi16_addend): Remove.
6442 (mips_hi16_list): New static variable.
6443 (mips_elf_hi16_reloc): Maintain a list of unmatched HI16 relocs.
6444 (mips_elf_lo16_reloc): Process mips_hi16_list.
6445 (mips_elf_relocate_section): Permit an arbitrary number of HI16
6446 relocs before the associated LO16 reloc.
6447
6448 Wed Apr 10 00:23:53 1996 Ian Lance Taylor <ian@cygnus.com>
6449
6450 * versados.c (versados_scan): Check bfd_alloc return value.
6451 (versados_object_p): Check all bfd_read return values. Require
6452 that lang field be less than 10, to avoid confusion with Intel Hex
6453 files.
6454
6455 * libaout.h (WRITE_HEADERS): Write out the relocs even if there
6456 aren't any symbols.
6457 * aoutx.h (NAME(aout,swap_std_reloc_out)): Set r_index to N_ABS,
6458 not 0, for an absolute symbol.
6459 (NAME(aout,swap_ext_reloc_out)): Likewise.
6460
6461 * ihex.c (ihex_scan): Accept a length of 4 for record type 5.
6462 (ihex_write_object_contents): For a large start address, output
6463 the full 32 bit address in record type 5.
6464
6465 * ieee.c (ieee_write_byte): Change second parameter from bfd_byte
6466 to int to avoid promotion problems in prototype.
6467
6468 Tue Apr 9 11:44:21 1996 Ian Lance Taylor <ian@cygnus.com>
6469
6470 * configure.host: Use ${srcdir} when looking for picfrag.
6471
6472 * configure.host: Switch on ${libdir}, not $(libdir). From
6473 alan@spri.levels.unisa.edu.au (Alan Modra).
6474
6475 * aoutx.h (aout_link_add_symbols): Always call add_dynamic_symbols
6476 entry point, not just for DYNAMIC objects.
6477 * sunos.c (sunos_add_dynamic_symbols): Always call
6478 sunos_create_dynamic_sections. If called with a non DYNAMIC
6479 object, don't do anything else.
6480 (sunos_add_one_symbol): Don't call sunos_create_dynamic_sections.
6481
6482 Mon Apr 8 12:09:36 1996 Ian Lance Taylor <ian@cygnus.com>
6483
6484 * configure.in: Permit --enable-shared to specify a list of
6485 directories.
6486 * configure: Rebuild.
6487
6488 * configure.host: Set HLDFLAGS and SHLIB_CFLAGS for *-dec-osf*
6489 host when configuring with --enable-shard.
6490
6491 Fri Apr 5 12:24:13 1996 Ian Lance Taylor <ian@cygnus.com>
6492
6493 * config.bfd: Add i[345]86-*-freebsdelf* target; from John Polstra
6494 <jdp@polstra.com>.
6495
6496 * linker.c (link_action): For WARN_ROW/warn, use MWARN, not CYCLE,
6497 to avoid crashing in bfd_hash_replace.
6498
6499 * sysdep.h: Use #ifdef, not #if.
6500
6501 Thu Apr 4 23:32:23 1996 Ian Lance Taylor <ian@cygnus.com>
6502
6503 * config.in: Rebuild.
6504
6505 Thu Apr 4 18:49:09 1996 Fred Fish <fnf@cygnus.com>
6506
6507 * configure.in (mips-sony-bsd*): Fix typo in AC_DEFINE.
6508 (AC_CHECK_HEADERS): Check for sys/time.h
6509 (AC_HEADER_TIME): Add macro.
6510 * configure: Rebuild.
6511 * sysdep.h: Use TIME_WITH_SYS_TIME and HAVE_SYS_TIME_H
6512 to control what combination of <time> and <sys/time.h>
6513 get included.
6514
6515 Tue Apr 2 13:11:53 1996 Doug Evans <dje@canuck.cygnus.com>
6516
6517 * aoutf1.h (sunos_32_set_arch_mach): Handle M_SPARCLET.
6518 (aout_32_sunos4_write_object_contents): Likewise.
6519 * aoutx.h (NAME(aout,machine_type)): Handle
6520 bfd_mach_sparc_{sparclet,sparclite}.
6521 * archures.c (bfd_mach_sparc_{sparclet,sparclite}): Define.
6522 (bfd_mach_sparc_v9_p): Update.
6523 * cpu-sparc.c (arch_info_struct): Add entries for sparclet,sparclite.
6524 * libaout.h (enum machine_type): Add M_SPARCLET.
6525 * sunos.c (MACHTYPE_OK): Define.
6526 * bfd-in2.h: Regenerated.
6527
6528 Tue Apr 2 00:33:18 1996 Ian Lance Taylor <ian@cygnus.com>
6529
6530 * elf-bfd.h (struct elf_link_hash_table): Add hgot field.
6531 * elf.c (_bfd_elf_link_hash_table_init): Initialize hgot field.
6532 * elflink.c (_bfd_elf_create_got_section): Store the
6533 _GLOBAL_OFFSET_TABLE_ hash table entry in the hgot field.
6534 * elf32-sparc.c (elf32_sparc_check_relocs): If the size of the
6535 global offset table goes over 0x1000, set the value of
6536 _GLOBAL_OFFSET_TABLE_ to 0x1000 into the section.
6537 (elf32_sparc_relocate_section): Subtract the offset of
6538 _GLOBAL_OFFSET_TABLE_ when handling GOT relocations.
6539
6540 * elfcode.h: Don't include <string.h>.
6541
6542 Mon Apr 1 10:39:24 1996 Jeffrey A Law (law@cygnus.com)
6543
6544 * linker.c (_bfd_generic_link_hash_newfunc): Renamed from
6545 generic_link_hash_newfunc. All references changed.
6546 * genlink.h (_bfd_generic_link_hash_newfunc): Declaration
6547 moved here from libbfd-in.h.
6548 * libbfd-in.h: Corresponding changes.
6549 * libbfd.h: Regenerated.
6550
6551 Mon Apr 1 12:35:36 1996 Ian Lance Taylor <ian@cygnus.com>
6552
6553 * aoutx.h (aout_link_input_section_std): When reporting an
6554 overflow error, use the name of the symbol in the hash table if
6555 available.
6556 (aout_link_input_section_ext): Likewise.
6557
6558 * elflink.h (elf_adjust_dynamic_symbol): If a common symbol got
6559 defined in a regular file, set ELF_LINK_HASH_DEF_REGULAR.
6560
6561 Sun Mar 31 01:58:41 1996 steve chamberlain <sac@slash.cygnus.com>
6562
6563 * peicode.h (coff_swap_aouthdr_out): Delete test for .junk.
6564 * coffcode.h (coff_compute_section_file_positions): Likewise.
6565 (coff_write_object_contents): Likewise.
6566
6567 Fri Mar 29 12:44:36 1996 Ian Lance Taylor <ian@cygnus.com>
6568
6569 * section.c (SEC_LINK_ONCE): Define.
6570 (SEC_LINK_DUPLICATES): Define.
6571 (SEC_LINK_DUPLICATES_DISCARD): Define.
6572 (SEC_LINK_DUPLICATES_ONE_ONLY): Define.
6573 (SEC_LINK_DUPLICATES_SAME_SIZE): Define.
6574 (SEC_LINK_DUPLICATES_SAME_CONTENTS): Define.
6575 * bfd-in2.h: Rebuild.
6576 * coffcode.h (sec_to_styp_flags): If COFF_WITH_PE, turn
6577 SEC_LINK_ONCE into IMAGE_SCN_LNK_COMDAT.
6578 (styp_to_sec_flags): If COFF_WITH_PE, turn IMAGE_SCN_LNK_REMOVE
6579 into SEC_EXCLUDE. If IMAGE_SCN_LNK_COMDAT is set, set
6580 SEC_LINK_ONCE, and look through the symbol table for the setting
6581 for SEC_LINK_DUPLICATES.
6582 (coff_write_object_contents): If COFF_WITH_PE, if SEC_LINK_ONCE is
6583 set for a section, find the section symbol in the symbol table,
6584 and set the aux entry based on SEC_LINK_DUPLICATES.
6585 * coffgen.c (coff_print_symbol): Add a space before "checksum".
6586 * coff-arm.c (armcoff_big_vec): If COFF_WITH_PE is defined, add
6587 SEC_LINK_ONCE and SEC_LINK_DUPLICATES to section_flags.
6588 * coff-i386.c (i386coff_vec): Likewise.
6589 * coff-ppc.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Likewise.
6590
6591 * VERSION: Bump to 2.6.1.
6592 * Makefile.in (stamp-h): Depend upon VERSION.
6593
6594 Thu Mar 28 23:48:49 1996 Jeffrey A Law (law@cygnus.com)
6595
6596 * libbfd-in.h (generic_link_hash_newfunc): Add declaration.
6597 * libbfd.h: Rebuilt.
6598 * linker.c (generic_link_hash_newfunc): No longer static.
6599 * coffcode.h (coff_bfd_link_hash_create): Allow specific targets
6600 to override.
6601 * coff-h8300.c: Add two derived hash tables and their associated
6602 funtions and #defines for use by the h8300 linker.
6603 (h8300_reloc16_extra_cases, case R_MEM_INDIRECT): Create entries in
6604 the function vector as needed. Place the address of the function
6605 vector entry in the location specified by the R_MEM_INDIRECT reloc.
6606 Rewrite the vectors section contents as necessary.
6607 (h8300_bfd_link_add_symbols): New function for the h8300 linker.
6608 (coff_bfd_link_add_symbols): Define to use h8300 specific version.
6609 (coff_bfd_link_hash_table_create): Likewise.
6610
6611 Thu Mar 28 17:44:08 1996 Ian Lance Taylor <ian@cygnus.com>
6612
6613 * libhppa.h: If gcc 2.7 or higher, declare all the functions with
6614 __attribute__ ((__unused__)) so that -Wall doesn't warn about
6615 them.
6616 (hppa_rebuild_insn): Pass pointer to correct type to
6617 low_sign_unext and dis_assemble_21.
6618
6619 Thu Mar 28 11:00:36 1996 Doug Evans <dje@canuck.cygnus.com>
6620
6621 * config.bfd (sparc64-{sysv4*,solaris2*}): Delete.
6622 Stick with sparc-*-{sysv4*,solaris2*}.
6623
6624 Wed Mar 27 10:43:34 1996 Ian Lance Taylor <ian@cygnus.com>
6625
6626 * peicode.h (coff_swap_aux_in): Swap in extra PE x_scn fields.
6627 (coff_swap_aux_out): Swap out extra PE x_scn fields.
6628 * coffswap.h (coff_swap_aux_in): Zero out extra PE x_scn fields.
6629 * coffgen.c (coff_print_symbol): If any of the extra PE x_scn
6630 fields is non-zero, print them.
6631
6632 * coff-ppc.c (ppc_record_toc_entry): Put inside COFF_IMAGE_WITH_PE
6633 ifdef. Remove unused variables.
6634 (ppc_record_data_in_toc_entry): Ifdef out. Removed unused
6635 variables.
6636 (ppc_mark_symbol_as_glue): Put inside COFF_IMAGE_WITH_PE ifdef.
6637 (get_symbol_value): Ifdef out.
6638 (pe_ppc_reloc): Ifdef out. Remove unused variables.
6639 (coff_ppc_relocate_section): Remove unused variables. Make
6640 fprintf strings and argument types correspond. Put before_addr in
6641 DEBUG_RELOC ifdef.
6642 (dump_toc): Make fprintf strings and argument types correspond.
6643 (ppc_process_before_allocation): Remove unused variables. Always
6644 return a value.
6645 (ppc_reflo_reloc): Ifdef out.
6646 (ppc_addr32nb_reloc): Ifdef out.
6647 (ppc_coff_rtype2howto): Make fprintf strings and argument types
6648 correspond.
6649 (coff_ppc_rtype_to_howto): Likewise.
6650 (ppc_coff_swap_sym_in_hook): Remove unused variables.
6651
6652 * peicode.h (pe_print_idata): Move otherwise unused variables into
6653 the #ifdef where they are used. Always return a value.
6654 (pe_print_edata): Make fprintf strings and argument types
6655 correspond. Always return a value.
6656 (pe_print_pdata): Removed unused variable addr_value. Always
6657 return a value.
6658 (pe_print_reloc): Remove unused variable onaline. Make fprintf
6659 strings and argument types correspond. Always return a value.
6660
6661 * elf32-ppc.c (ppc_elf_fake_sections): Return true.
6662 (ppc_elf_finish_dynamic_symbol): Move definition of unused
6663 variable rela inside #if 0 section where it is used.
6664
6665 * ns32k.h: New file.
6666 * cpu-ns32k.h: Include ns32k.h. Rename externally visible
6667 functions to start with _bfd_.
6668 * aout-ns32k.c: Include ns32k.h. Change references to renamed
6669 functions in cpu-ns32k.h.
6670 * Makefile.in: Rebuild dependencies.
6671 (HFILES): Add ns32k.h.
6672
6673 * section.c (struct sec): Add linker_mark field. Change
6674 user_set_vma and reloc_done to be single bit fields.
6675 (STD_SECTION): Update accordingly.
6676 * bfd-in2.h: Rebuild.
6677 * aoutx.h (NAME(aout,final_link)): Mark sections included in the
6678 link.
6679 (aout_link_input_bfd): Don't link unmarked sections.
6680 * cofflink.c (_bfd_coff_final_link): Mark sections included in the
6681 link.
6682 (_bfd_coff_link_input_bfd): Don't link unmarked sections.
6683 * coff-ppc.c (ppc_bfd_coff_final_link): Mark sections included in
6684 the link.
6685 * elflink.h (elf_bfd_final_link): Mark sections included in the
6686 link.
6687 (elf_link_input_bfd): Don't link unmarked sections.
6688 * xcofflink.c (_bfd_xcoff_bfd_final_link): Mark sections included
6689 in the link.
6690 (xcoff_link_input_bfd): Don't link unmarked sections.
6691
6692 * coffswap.h (coff_swap_scnhdr_out): Include section name in
6693 overflow error messages.
6694
6695 Tue Mar 26 15:46:18 1996 Ian Lance Taylor <ian@cygnus.com>
6696
6697 * bfd.c (_bfd_default_error_handler): If _bfd_error_program_name
6698 is not set, print "BFD: " before the error message.
6699
6700 * configure.in: Use AC_CHECK_TOOL to find ar and ranlib. From
6701 Miles Bader <miles@gnu.ai.mit.edu>.
6702 * configure: Rebuild.
6703
6704 Fri Mar 22 12:17:00 1996 Ian Lance Taylor <ian@cygnus.com>
6705
6706 * xcofflink.c (xcoff_link_input_bfd): Fix scan for C_BINCL/C_EINCL
6707 symbols.
6708
6709 * config.bfd: Add ieee_vec to targ_selvecs for i960 targets and
6710 m68k-aout, m68k-coff, and m68k-elf targets.
6711
6712 Fri Mar 22 11:33:44 1996 Martin Anantharaman <martin@goofy.imech.uni-duisburg.de>
6713
6714 * ieee.c: Changed #ifdef KEEPMINUSPCININST to #if KEEPMINUSPCININST.
6715 (ieee_generic_stat_arch_elt): Restructured to prevent
6716 ieee_object_p from being called repeatedly.
6717
6718 Thu Mar 21 11:00:47 1996 steve chamberlain <sac@slash.cygnus.com>
6719
6720 * coffcode.h (coff_write_object_contents): Allocate
6721 buffers large enough for any FILEHDR or AOUTHDR.
6722
6723 Thu Mar 21 16:28:17 1996 David Mosberger-Tang <davidm@azstarnet.com>
6724
6725 * ecofflink.c (lookup_line): New static function, renamed and
6726 slighly changed from old _bfd_ecoff_locate_line.
6727 (_bfd_ecoff_locate_line): Cache line number information. Use
6728 lookup_line for actual lookup.
6729
6730 Thu Mar 21 14:59:11 1996 Michael Meissner <meissner@tiktok.cygnus.com>
6731
6732 * peicode.h (pe_print_pdata): Warn if the .pdata section is not a
6733 multiple of 20 bytes.
6734
6735 Thu Mar 21 13:54:40 1996 Ian Lance Taylor <ian@cygnus.com>
6736
6737 * ecoff.c (_bfd_ecoff_find_nearest_line): Use bfd_zalloc to
6738 allocate ecoff_find_line, and don't initialize by hand.
6739 * elf32-mips.c (mips_elf_find_nearest_line): Use bfd_zalloc for
6740 mips_elf_find_line, and don't call memset.
6741
6742 * coffcode.h (coff_compute_section_file_positions): If not
6743 producing a final executable, don't consider sofar when aligning
6744 the section to the correct size.
6745
6746 Wed Mar 20 16:53:12 1996 Ian Lance Taylor <ian@cygnus.com>
6747
6748 * coffcode.h (coff_add_missing_symbols): Ifdef out.
6749 (coff_write_object_contents): Don't call coff_add_missing_symbols.
6750 * coffgen.c (coff_section_symbol): Ifdef out.
6751
6752 Mon Mar 18 12:54:41 1996 Ian Lance Taylor <ian@cygnus.com>
6753
6754 * elf32-mips.c (mips_elf_gprel32_reloc): Initialize gp if
6755 output_bfd is not NULL.
6756
6757 Thu Mar 14 17:12:06 1996 Doug Evans <dje@charmed.cygnus.com>
6758
6759 * coffgen.c (coff_get_normalized_symtab): Call bfd_zalloc instead
6760 of bfd_alloc (fixes fix_line not being initialized).
6761 Delete zeroing of fix_{value,tag,end,scnlen} fields.
6762
6763 Thu Mar 14 16:06:06 1996 Jeffrey A Law (law@cygnus.com)
6764
6765 * coffcode.h: Allow specific backends to override the
6766 bfd_link_add_symbols routine.
6767
6768 * coff-h8300.c: Include genlink.h.
6769 (howto_table): Add R_MEM_INDIRECT.
6770 (rtype2howto): Support R_MEM_INDIRECT.
6771 (h8300_reloc16_extra_cases): Handle R_MEM_INDIRECT like R_RELBYTE
6772 for now.
6773
6774 Tue Mar 12 12:41:17 1996 David Mosberger-Tang <davidm@koala.azstarnet.com>
6775
6776 * coff-alpha.c (alpha_relocate_section): Use
6777 info->callbacks_warning, rather than _bfd_error_handler, for
6778 "multiple gp" warning.
6779
6780 Tue Mar 12 12:10:55 1996 Ian Lance Taylor <ian@cygnus.com>
6781
6782 * linker.c (bfd_wrapped_link_hash_lookup): New function.
6783 (_bfd_generic_link_add_one_symbol): Remove BFD_ASSERT on hash
6784 table string. Use bfd_wrapped_link_hash_lookup.
6785 (_bfd_generic_link_write_global_symbol): Remove BFD_ASSERT on hash
6786 table string.
6787 * aoutx.h (aout_link_write_symbols): Use the name from the hash
6788 table, if any, when writing out symbols.
6789 (aout_link_input_section_std): Use the name from the hash table,
6790 if any, when reporting undefined symbols.
6791 (aout_link_input_section_ext): Likewise.
6792 (aout_link_reloc_link_order): Use bfd_wrapped_link_hash_lookup.
6793 * bout.c (get_value): Likewise.
6794 * cofflink.c (_bfd_coff_reloc_link_order): Likewise.
6795 * ecoff.c (ecoff_reloc_link_order): Likewise.
6796 * elflink.h (elf_link_add_object_symbols): Likewise.
6797 (elf_reloc_link_order): Likewise.
6798 * linker.c (_bfd_generic_link_output_symbols): Likewise.
6799 (_bfd_generic_reloc_link_order): Likewise.
6800 (default_indirect_link_order): Likewise.
6801 * reloc16.c (bfd_coff_reloc16_get_value): Likewise.
6802 * sunos.c (sunos_add_one_symbol): Likewise.
6803 * xcofflink.c (xcoff_link_add_symbols): Likewise.
6804 (bfd_xcoff_link_count_reloc): Likewise.
6805 (xcoff_reloc_link_order): Likewise.
6806
6807 * ecoffswap.h (ecoff_swap_fdr_in): If ECOFF_64, turn 0xffffffff
6808 into -1 for intern->rss.
6809
6810 * configure: Rebuild with autoconf 2.8.
6811
6812 Mon Mar 11 12:28:31 1996 Ian Lance Taylor <ian@cygnus.com>
6813
6814 * stab-syms.c (__define_stab_duplicate): Define.
6815 (bfd_get_stab_name): Rename from aout_stab_name. Rewrite to use a
6816 switch.
6817 * bfd-in.h (bfd_get_stab_name): Declare.
6818 * bfd-in2.h: Rebuild.
6819 * Makefile.in: Rebuild dependencies.
6820 (BFD_LIBS): Add stab-syms.o.
6821 (BFD_LIBS_CFILES): Add stab-syms.c.
6822 (BFD32_BACKENDS): Remove stab-syms.o.
6823 (BFD32_BACKENDS_CFILES): Remove stab-syms.c.
6824 * configure.in: Don't list stab-syms.o in bfd_backends.
6825 * configure: Rebuild.
6826 * libaout.h (aout_stab_name): Don't declare.
6827 * aoutx.h (NAME(aout,get_symbol_info)): Call bfd_get_stab_name,
6828 not aout_stab_name.
6829
6830 Fri Mar 8 11:26:20 1996 Ian Lance Taylor <ian@cygnus.com>
6831
6832 * elf.c (assign_file_positions_for_segments): Adjust file offset
6833 for section alignment even if SEC_LOAD is not set.
6834
6835 Tue Mar 5 12:02:23 1996 Ian Lance Taylor <ian@cygnus.com>
6836
6837 * configure.in: Don't set SHLIB or SHLINK to an empty string,
6838 since they appear as targets in Makefile.in.
6839 * configure: Rebuild.
6840
6841 * sunos.c (sunos_scan_ext_relocs): If not making a shared library,
6842 don't fiddle with a symbol which is not defined anywhere.
6843
6844 Mon Mar 4 12:49:16 1996 Ian Lance Taylor <ian@cygnus.com>
6845
6846 * xcofflink.c (xcoff_mark): Treat undefined imported symbols as
6847 though they are defined in a shared library.
6848 (xcoff_build_ldsyms): Likewise.
6849
6850 * coffgen.c (coff_find_nearest_line): Don't look at the line
6851 numbers for the section if section->lineno is NULL.
6852
6853 * elf.c (_bfd_elf_symbol_from_bfd_symbol): Print a useful error
6854 message rather than calling BFD_ASSERT.
6855 * elfcode.h (write_relocs): Check return value of
6856 _bfd_elf_symbol_from_bfd_symbol.
6857
6858 Fri Mar 1 09:42:59 1996 Michael Meissner <meissner@tiktok.cygnus.com>
6859
6860 * elf32-ppc.c (ppc_elf_add_symbol_hook): Don't set SEC_LOAD flag
6861 for .sbss section.
6862
6863 Wed Feb 28 11:25:47 1996 Jeffrey A Law (law@cygnus.com)
6864
6865 * libhppa.h (hppa_reloc_field_selector_type): Add R_HPPA_NLSEL
6866 and R_HPPA_NLRSEL.
6867 (e_nsel, e_nlsel, e_nlrsel): Undefine. Add to
6868 hppa_reloc_field_selector_type_alt.
6869 (hppa_field_adjust): Handle e_nlsel, e_nlrsel. Fix e_nsel handling.
6870 * som.c (hppa_som_gen_reloc_type): Handle N', NL' NLR' field
6871 selectors.
6872 (som_write_fixups): Finish handling of R_N0SEL and R_N1SEL.
6873
6874 Wed Feb 28 11:00:24 1996 Ian Lance Taylor <ian@cygnus.com>
6875
6876 * elf.c (assign_file_positions_for_segments): Adjust the segment
6877 memory size for the alignment of a SEC_ALLOC section, not just a
6878 SEC_LOAD section.
6879
6880 Tue Feb 27 14:17:31 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
6881
6882 * m68klinux.c: New file.
6883 * hosts/m68klinux.h: New file.
6884 * config.bfd (m68*-*-linuxaout*, m68*-*-linux*): New targets.
6885 * configure.in (m68*-*-linux*): New native host.
6886 (m68klinux_vec): New vector.
6887 * configure: Rebuild.
6888 * targets.c (m68klinux_vec): Declare.
6889 * i386linux.c (bfd_i386linux_size_dynamic_sections): Renamed from
6890 bfd_linux_size_dynmic_sections to avoid clash with m68klinux.c.
6891 * bfd-in.h (bfd_i386linux_size_dynamic_sections): Rename
6892 declaration from bfd_linux_size_dynamic_sections.
6893 (bfd_m68klinux_size_dynamic_sections): Declare.
6894 * bfd-in2.h: Rebuild.
6895 * Makefile.in: Rebuild dependencies.
6896 (BFD32_BACKENDS): Add m68klinux.o.
6897 (BFD32_BACKENDS_CFILES): Add m68klinux.c.
6898
6899 Tue Feb 27 11:31:34 1996 Jeffrey A Law (law@cygnus.com)
6900
6901 * libhppa.h (pa_arch): Add pa20.
6902 (hppa_reloc_field_selector_type): Add R_HPPA_NSEL.
6903 (e_nsel): Undefine. Add to hppa_reloc_field_selector_type_alt.
6904 (hppa_field_adjust): Handle e_nsel.
6905 * som.c: Provide default definitions for many new relocs found only
6906 in hpux10 include files.
6907 (som_fixup_formats): Add several new relocs from hpux10.
6908 (som_hppa_howto_table): Add hpux10 relocs.
6909 (som_write_fixups): Handle R_N0SEL and R_N1SEL hpux10 relocs.
6910
6911 Mon Feb 26 12:52:48 1996 Stan Shebs <shebs@andros.cygnus.com>
6912
6913 * mpw-make.sed: Edit out recent shared library support, and
6914 rules to rebuild .h files using doc/chew.
6915
6916 Mon Feb 26 14:48:39 1996 David Mosberger-Tang <davidm@AZStarNet.com>
6917
6918 * ecoff.c (ecoff_compute_section_file_positions): Adjust the file
6919 size even of sections with no contents.
6920
6921 Mon Feb 26 14:01:13 1996 Ian Lance Taylor <ian@cygnus.com>
6922
6923 * cofflink.c (_bfd_coff_link_input_bfd): When merging, skip names
6924 starting with '$' the way we skip names starting with '.'. When
6925 updating x_endndx, don't be fooled by an index which has been
6926 merged.
6927
6928 * cofflink.c (_bfd_coff_link_input_bfd): Don't try to optimize a
6929 struct/union/enum type with no elements.
6930
6931 Sat Feb 24 11:38:58 1996 Ian Lance Taylor <ian@cygnus.com>
6932
6933 * bfd.c (bfd_errmsg): Handle a NULL return from strerror.
6934
6935 * archive.c (bfd_generic_archive_p): If the first file in the
6936 archive can not be recognized as an object, don't assume that this
6937 is the wrong format.
6938
6939 * elf.c (bfd_elf_set_dt_needed_name): Don't do anything if the
6940 format is not bfd_object.
6941 (bfd_elf_get_dt_soname): Likewise.
6942
6943 Wed Feb 21 13:58:04 1996 Ian Lance Taylor <ian@cygnus.com>
6944
6945 * coff-sh.c (sh_relax_delete_bytes): Correct range of R_SH_USES
6946 reloc.
6947
6948 Tue Feb 20 16:22:44 1996 J.T. Conklin <jtc@rtl.cygnus.com>
6949
6950 * bfd.c (tdata): Add netbsd_core_data.
6951 * bfd-in2.h: Regenerated.
6952
6953 Tue Feb 20 16:50:02 1996 Ian Lance Taylor <ian@cygnus.com>
6954
6955 * sunos.c (SUNOS_CONSTRUCTOR): Define.
6956 (sunos_add_one_symbol): Don't let a symbol from a dynamic object
6957 override a constructor symbol. Set SUNOS_CONSTRUCTOR when
6958 appropriate.
6959
6960 * bout.c (b_out_squirt_out_relocs): Use udata.i rather than flags
6961 to get the symbol index, matching 14 Jul 95 change.
6962
6963 Tue Feb 20 08:26:27 1996 Fred Fish <fnf@phydeaux.cygnus.com>
6964
6965 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
6966 Remove duplicate definition of gp.
6967
6968 Mon Feb 19 12:37:41 1996 Ian Lance Taylor <ian@cygnus.com>
6969
6970 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Don't
6971 assume that we can set the GP value and then get the same value,
6972 since it won't be true if the output file is neither ELF nor
6973 ECOFF.
6974 * coff-mips.c (mips_adjust_reloc_in): Don't bother to use
6975 _bfd_get_gp_value here.
6976 (mips_gprel_reloc): Don't assume we can set and get the GP value.
6977 * elf32-mips.c (mips_elf_hi16_reloc): Get gp value from
6978 mips_elf_final_gp.
6979 (mips_elf_lo16_reloc): Likewise.
6980 (mips_elf_final_gp): Add pgp parameter. Set it to the GP value.
6981 Don't require that the BFD be ELF.
6982 (mips_elf_gprel16_reloc): Get gp value from mips_elf_final_gp.
6983 (mips_elf_gprel32_reloc): Likewise.
6984 (mips_elf_relocate_section): Don't assume we can set and get the
6985 GP value.
6986 (mips_elf_finish_dynamic_symbol): Don't bother to use
6987 _bfd_get_gp_value here.
6988
6989 * elf32-mips.c (mips_elf_create_procedure_table): Initialize sv.
6990 Don't change epdr between malloc and free. Be careful not to free
6991 NULL pointers. Zero out the first RPDR.
6992
6993 * configure.host: On Linux, only pass -rpath option if $(libdir)
6994 is neither /lib nor /usr/lib. From Alan Modra
6995 <alan@mullet.Levels.UniSA.Edu.Au>.
6996
6997 * elf-bfd.h (struct elf_obj_tdata): Rename dt_needed_name to
6998 dt_name.
6999 (elf_dt_name): Rename from elf_dt_needed_name.
7000 * elf.c (bfd_elf_set_dt_needed_name): Use elf_dt_name, not
7001 elf_dt_needed_name.
7002 (bfd_elf_get_dt_soname): New function.
7003 * elflink.h (elf_link_add_object_symbols): Use elf_dt_name, not
7004 elf_dt_needed_name. Save the SONAME back in elf_dt_name.
7005 * bfd-in.h (bfd_elf_get_dt_soname): Declare.
7006 * bfd-in2.h: Rebuild.
7007
7008 Mon Feb 19 02:50:23 1996 Doug Evans <dje@charmed.cygnus.com>
7009
7010 * elf32-sparc.c (elf32_sparc_reloc_type_lookup): Renamed from
7011 _bfd_sparc_elf_reloc_type_lookup.
7012 (bfd_elf32_bfd_reloc_type_lookup): Update.
7013 * elf64-sparc.c (SPARC64_OLD_RELOCS): Define.
7014 (sparc64_elf_howto_table): Define.
7015 (sparc_reloc_map): Define.
7016 (sparc64_elf_reloc_type_lookup): New function.
7017 (sparc_elf_wdisp16_reloc): New function.
7018 (elf_info_to_howto): Use sparc64_elf_howto_table.
7019 (sparc64_elf_relocate_section): Likewise.
7020 (bfd_elf64_bfd_reloc_type_lookup): Update.
7021
7022 Sun Feb 18 15:02:25 1996 Ian Lance Taylor <ian@cygnus.com>
7023
7024 * configure.host: Check for 'do not mix' from native linker before
7025 trying to use -rpath.
7026
7027 Fri Feb 16 12:46:18 1996 Ian Lance Taylor <ian@cygnus.com>
7028
7029 * bfd.c (_bfd_get_gp_value): New function.
7030 (_bfd_set_gp_value): New function.
7031 * libbfd-in.h (_bfd_get_gp_value): Declare.
7032 (_bfd_set_gp_value): Declare.
7033 * libbfd.h: Rebuild.
7034 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Use
7035 _bfd_get_gp_value and _bfd_set_gp_value rather than referring
7036 directly to the fields in the tdata information.
7037 (alpha_relocate_section): Likewise.
7038 * coff-mips.c (mips_adjust_reloc_in): Likewise.
7039 (mips_gprel_reloc): Likewise.
7040 (mips_relocate_section): Likewise.
7041 * elf32-mips.c (mips_elf_hi16_reloc): Likewise.
7042 (mips_elf_lo16_reloc): Likewise.
7043 (mips_elf_final_gp): Likewise.
7044 (mips_elf_gprel16_reloc): Likewise.
7045 (mips_elf_gprel32_reloc): Likewise.
7046 (mips_elf_relocate_section): Likewise.
7047 (mips_elf_finish_dynamic_symbol): Likewise.
7048
7049 * bout.c (b_out_set_arch_mach): Recognize bfd_mach_i960_jx.
7050
7051 Thu Feb 15 11:29:13 1996 Ian Lance Taylor <ian@cygnus.com>
7052
7053 * configure.in: Call AC_PROG_CC before configure.host.
7054 * configure: Rebuild.
7055 * configure.host: Don't set information which autoconf should
7056 figure out, namely CC, CFLAGS, LDFLAGS, AR, and RANLIB.
7057
7058 * configure.host: Remove go32 and win32 host information, since it
7059 should no longer be needed.
7060
7061 * elf.c (map_sections_to_segments): If we have a .dynamic section,
7062 then start a new segment rather than put a writable section in a
7063 readonly segment.
7064
7065 * configure.host: Set RPATH_ENVVAR.
7066
7067 * Makefile.in: Rebuild dependencies.
7068
7069 * elflink.c (_bfd_elf_create_linker_section): Remove unused
7070 zero_section variable.
7071
7072 Thu Feb 15 10:39:17 1996 H.J. Lu <hjl@zoom.com>
7073
7074 * Makefile.in ($(srcdir)/bfd-in2.h): Rename target from bfd-in2.h.
7075 ($(srcdir)/libbfd.h): Rename from libbfd.h.
7076 ($(srcdir)/libcoff.h): Rename from libcoff.h.
7077
7078 Wed Feb 14 16:29:07 1996 Martin Anantharaman <martin@mail.imech.uni-duisburg.de>
7079
7080 * ieee.c (ieee_write_expression): Only use an R variable for a
7081 local symbol. Don't output a zero offset. Handle a zero address.
7082 (SRC_MASK, PCREL_OFFSET): Define based on KEEPMINUSPCININST.
7083 (rel32_howto, rel16_howto, rel8_howto): Use SRC_MASK and
7084 PCREL_OFFSET.
7085 (parse_expression): Don't try to handle multiple occurrences of a
7086 P variable. Handle I variables differently from X variables. Fix
7087 the order of minus expressions.
7088 (ieee_slurp_external_symbols): Generate an I variable for an NN
7089 record. Fix handling of ATI and ATX records.
7090 (ieee_slurp_sections): Only set minimal section attributes.
7091 Adjust them later, based on the section contents.
7092 (ieee_object_p): Read in the file until just after the ME record.
7093 Call ieee_slurp_section_data to set the section flags.
7094 (do_one): Add iterations parameter. Only repeat the first load
7095 item. Set the section and file reloc flags.
7096 (ieee_slurp_section_data): Set section flags. Pass iterations to
7097 do_one.
7098 (ieee_canonicalize_reloc): Handle I variables.
7099 (do_with_relocs): Only emit relocation size when necessary.
7100 Increase MAXRUN to 127. Change ov to be assigned, and take
7101 src_mask and pcrel_offset into account.
7102 (ieee_write_data_part): Skip sections that are not loaded.
7103 (ieee_write_external_part): Don't output optional last entry of WX
7104 records.
7105 (ieee_write_me_part): Make setting of me_record neater.
7106 (ieee_generic_stat_arch_elt): Get the size of an archive element.
7107
7108 * syms.c (stt): Add entries for zerovars, vars, and code.
7109
7110 * elfcode.h (validate_reloc): New static function.
7111 (write_relocs): Call validate_reloc for non ELF relocs.
7112
7113 * elfxx-target.h (elf_symbol_leading_char): Define if not defined.
7114 (TARGET_BIG_SYM): Use elf_symbol_leading_char.
7115 (TARGET_LITTLE_SYM): Likewise.
7116
7117 * config.bfd (m68*-*-psos*): New target.
7118
7119 Tue Feb 13 15:56:22 1996 Bryan Ford <baford@snake.cs.utah.edu>
7120
7121 * i386msdos.c: Remove some #if 0 code.
7122 (msdos_write_object_contents): Don't include empty sections in the
7123 size computation, regardless of their address.
7124
7125 Tue Feb 13 15:36:37 1996 Michael Meissner <meissner@tiktok.cygnus.com>
7126
7127 * elf32-ppc.c (ppc_elf_relocate_section): Don't segfault if dynboj
7128 is NULL, ie, the -r switch is used.
7129
7130 Tue Feb 13 14:35:15 1996 Ian Lance Taylor <ian@cygnus.com>
7131
7132 * reloc.c (BFD_RELOC_MIPS_GOT_HI16): Define.
7133 (BFD_RELOC_MIPS_GOT_LO16): Define.
7134 (BFD_RELOC_MIPS_CALL_HI16, BFD_RELOC_MIPS_CALL_LO16): Define.
7135 * bfd-in2.h, libbfd.h: Rebuild.
7136 * elf32-mips.c (mips_reloc_map): Map new relocs.
7137
7138 * configure.host: Set HDLFLAGS for *-*-hpux with --enable-shared.
7139
7140 * Makefile.in ($(SHLINK)): Check ts against $(SHLIB), not
7141 $(SHLINK).
7142
7143 * ieee.c (get_symbol): Set the section to bfd_abs_section.
7144 (do_with_relocs): If EXEC_P is set and there are no relocs, use a
7145 simple number for the section address, rather than an expression.
7146 Limit the number of bytes between relocs to MAXRUN.
7147 (ieee_write_me_part): Set me_record to the file offset after the
7148 start address.
7149 (ieee_write_processor): New static function.
7150 (ieee_write_object_contents): Use ieee_write_processor.
7151
7152 Fri Feb 9 10:53:00 1996 Ian Lance Taylor <ian@cygnus.com>
7153
7154 * configure.host: Use ${CC-gcc} when testing for -rpath on SunOS.
7155
7156 * coff-aux.c: Change include of aux.h to aux-coff.h.
7157
7158 Thu Feb 8 14:01:03 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
7159
7160 * elf32-m68k.c (elf_m68k_relocate_section): For a R_68K_RELATIVE
7161 relocation put the addend both in the reloc entry and the data.
7162 (elf_m68k_finish_dynamic_symbol): Likewise. Mask out marker in
7163 GOT offset value.
7164
7165 * elf32-m68k.c (elf_m68k_relocate_section): If -Bsymbolic, resolve
7166 a R_68K_PCxx reloc against a defined global symbol directly.
7167 (elf_m68k_check_relocs): Don't count such a reloc.
7168
7169 * elf32-m68k.c (elf_m68k_check_relocs): Don't record a symbol with
7170 a PLTxx reloc as dynamic. Disallow PLTxxO reloc against a local
7171 symbol for now, otherwise always record the symbol as dynamic.
7172 (elf_m68k_adjust_dynamic_symbol): If a symbol with a PLTxx reloc
7173 is not referenced by a dynamic object, and we are not making a
7174 shared object, then don't make a PLT entry. If we do make a PLT
7175 entry, make sure the symbol has been recorded as dynamic.
7176
7177 Wed Feb 7 13:56:06 1996 Ian Lance Taylor <ian@cygnus.com>
7178
7179 * configure.host: When making a shared library, set HLDFLAGS to
7180 pass an appropriate -rpath option. Use the make variable SONAME
7181 as the shared library soname, rather than computing it here. On
7182 SunOS, build stamp-tshlink in place of $(SHLINK).
7183 * Makefile.in (SONAME): New variable.
7184 ($(SHLINK)): Make a link to the transformed name, as well.
7185 (stamp-tshlink): New target.
7186 (install): Skip stamp-tshlink during install.
7187
7188 Wed Feb 7 13:37:39 1996 Michael Meissner <meissner@tiktok.cygnus.com>
7189
7190 * elf32-ppc.c (ppc_elf_add_symbol_hook): Do not assume that the
7191 linker sections have been set up yet.
7192
7193 * elf.c (make_mapping): Add an additional argument to suppress
7194 making the first section include the program headers.
7195 (map_sections_to_segments): If the user used -Ttext such that the
7196 program headers are on a different page, do not set the flags
7197 saying that this section includes the program headers.
7198
7199 Tue Feb 6 14:04:49 1996 J.T. Conklin <jtc@rtl.cygnus.com>
7200
7201 * configure.in (*-*-netbsd*): Set COREFILE to netbsd-core.c.
7202 don't define TRAD_HEADER.
7203 * configure: Rebuild.
7204
7205 * netbsd-core.c: New file, support for NetBSD core files.
7206 * hosts/*nbsd.h: Removed.
7207
7208 Tue Feb 6 11:47:49 1996 Doug Evans <dje@charmed.cygnus.com>
7209
7210 * reloc.c (BFD_RELOC_SPARC_[567]): New reloc types.
7211 (BFD_RELOC_SPARC_LO7 reloc type): Deleted.
7212 * libbfd.h, bfd-in2.h: Regenerated.
7213 * elf32-sparc.c (_bfd_sparc_elf_reloc_type_lookup): Renamed from
7214 bfd_elf32_bfd_reloc_type_lookup.
7215 (reloc_type{,_names}): Deleted.
7216 (_bfd_sparc_elf_howto_table): Renamed from elf_sparc_howto_table.
7217 Add sparc64 relocs.
7218 (sparc_reloc_map): Add sparc64 relocs.
7219 (sparc_elf_notsupported_reloc): New static function.
7220 (sparc_elf_wdisp16_reloc): New static function.
7221 (elf32_sparc_check_relocs): Handle R_SPARC_WDISP{16,19}.
7222 (elf32_sparc_relocate_section): Likewise.
7223 (bfd_elf32_bfd_reloc_type_lookup): Define.
7224 * elf64-sparc.c (sparc64_elf_wdisp16_reloc): Deleted.
7225 (reloc_type{,_names}): Deleted.
7226 (elf_sparc_howto_table): Deleted.
7227 (sparc_reloc_map): Deleted.
7228 (_bfd_sparc_elf_howto_table): Renamed from elf_sparc_howto_table.
7229 (bfd_elf64_bfd_reloc_type_lookup): Change from function to #define.
7230
7231 Tue Feb 6 12:12:22 1996 Ian Lance Taylor <ian@cygnus.com>
7232
7233 * configure.host: Make SHLIB_CFLAGS include $(PICFLAG) on a
7234 *-*-hpux* host.
7235
7236 * Makefile.in (program_transform_name): New variable.
7237 (install): Transform library name before installing it.
7238
7239 Mon Feb 5 10:38:27 1996 Ian Lance Taylor <ian@cygnus.com>
7240
7241 * archures.c (bfd_mach_i960_hx): Define.
7242 * bfd-in2.h: Rebuild.
7243 * cpu-i960.c (scan_960_mach): Accept machine "hx".
7244 (MATRIX): Expand entries for HX.
7245 (arch_info_struct): Add i960:hx entry.
7246 * bout.c (b_out_set_arch_mach): Handle bfd_mach_i960_hx.
7247 * coffcode.h (coff_set_arch_mach_hook): Handle F_I960HX.
7248 (coff_set_flags): Handle bfd_mach_i960_hx.
7249
7250 Support for building as a shared library, based on patches from
7251 Alan Modra <alan@spri.levels.unisa.edu.au>:
7252 * configure.in: Add AC_ARG_ENABLE for shared and commonbfdlib.
7253 New substitutions: ALLLIBS, PICFLAG, SHLIB, SHLIB_CC,
7254 SHLIB_CFLAGS, COMMON_SHLIB, PICLIST, SHLINK.
7255 * configure: Rebuild.
7256 * configure.host: If --enable-shared, adjust shared library stuff
7257 based on the host. If the host is SunOS, and the linker supports
7258 -rpath, set HLDFLAGS to use it.
7259 * Makefile.in (ALLLIBS): New variable.
7260 (PICFLAG, SHLIB, SHLIB_CC, SHLIB_CFLAGS): New variables.
7261 (COMMON_SHLIB, SHLINK): New variables.
7262 (.c.o): If PICFLAG is set, compile twice, once PIC, once normal.
7263 (STAGESTUFF): Remove variable.
7264 (all): Depend upon $(ALLLIBS) and @PICLIST@ rather than
7265 $(TARGETLIB).
7266 (stamp-ofiles): New target, like old ofiles target, but build
7267 using a temporary file and move-if-change, and touch stamp-ofiles
7268 when done.
7269 (ofiles): Just depend upon stamp-ofiles.
7270 (stamp-piclist, piclist): New targets.
7271 ($(SHLIB), $(SHLINK)): New targets.
7272 (targets.o, archures.o): Build twice if PICFLAG is set.
7273 (do_mostlyclean): Remove pic/*.o.
7274 (do_clean): Remove stamp-ofiles, $(SHLIB), $(SHLINK), piclist, and
7275 stamp-piclist.
7276 (do_distclean): Remove pic and stamp-picdir.
7277 (install): Install shared libraries.
7278 ($(OFILES)): Depend upon stamp-picdir.
7279 (stamp-picdir): New target.
7280
7281 * libcoff-in.h: Add comment reminding people that libcoff.h is a
7282 generated file.
7283 * libcoff.h: Rebuild.
7284
7285 * elflink.h (elf_adjust_dynamic_symbol): Don't try to get the
7286 flavour of a section with no owner.
7287
7288 * elf32-mips.c (mips_elf_create_dynamic_sections): Clear
7289 ELF_LINK_NON_ELF flag.
7290 (mips_elf_create_got_section): Likewise.
7291
7292 * elf.c: Revert last change, since it breaks dynamic linking.
7293 * elf-bfd.h (struct elf_backend_data): Remove want_hdr_in_seg
7294 field.
7295 * elf32-mips.c (elf_backend_want_hdr_in_seg): Don't define.
7296 * elfxx-target.h (elf_backend_want_hdr_in_seg): Don't define.
7297 (elfNN_bed): Don't initialize want_hdr_in_seg field.
7298
7299 Sun Feb 4 20:45:13 1996 Michael Meissner <meissner@tiktok.cygnus.com>
7300
7301 * elf.c (assign_file_positions_for_segments): If the backend does
7302 not want the elf header or the program headers in the address
7303 space, do not include them in the calculations.
7304
7305 * elf32-ppc.c (ppc_elf_additional_program_headers): New hook
7306 function to determine if we need additional program headers.
7307 (ppc_elf_modify_segment_map): Define as a NOP function for now.
7308 (ppc_elf_create_linker_section): .sdata2 is a read-only section.
7309
7310 Sat Feb 3 23:00:03 1996 Ian Lance Taylor <ian@cygnus.com>
7311
7312 * coffcode.h: Move today's libcoff.h change into coffcode.h.
7313
7314 Sat Feb 3 15:43:44 1996 Fred Fish <fnf@cygnus.com>
7315
7316 * libcoff.h (bfd_coff_link_add_one_symbol): Combine macro args
7317 back into one line. Some compilers (sunos 4.1.3 for example)
7318 won't accept args split across more than one line.
7319
7320 Fri Feb 2 11:42:15 1996 Steve Chamberlain <sac@slash.cygnus.com>
7321
7322 * aclocal.m4 (BFD_BINARY_FOPEN): Understand cygwin32.
7323 * configure: Regenerate.
7324
7325 Fri Feb 2 12:12:16 1996 Jeffrey A Law (law@cygnus.com)
7326
7327 * elf32-hppa.c (elf32_hppa_backend_symbol_table_processing): Don't
7328 try to do arithmetic on a void *, cast it to a unsigned char * first.
7329
7330 Thu Feb 1 16:04:06 1996 Ian Lance Taylor <ian@cygnus.com>
7331
7332 * elf-bfd.h (ELF_LINK_NON_ELF): Define.
7333 * elf.c (_bfd_elf_link_hash_newfunc): Set elf_link_hash_flags to
7334 ELF_LINK_NON_ELF.
7335 * elflink.h (elf_link_add_object_symbols): Reset ELF_LINK_NON_ELF
7336 flag for a newly defined symbol.
7337 (NAME(bfd_elf,record_link_assignment)): Likewise.
7338 (elf_adjust_dynamic_symbol): If ELF_LINK_NON_ELF is set, try to
7339 set the DEF or REF_REGULAR flags correctly.
7340
7341 * Makefile.in (bfd-in2.h): Make bfd.h, not protos, in docdir.
7342 (libbfd.h, libcoff.h): Corresponding change.
7343
7344 * elf32-i386.c (elf_i386_check_relocs): Don't record a symbol with
7345 a PLT32 reloc as dynamic.
7346 (elf_i386_adjust_dynamic_symbol): If a symbol with a PLT32 reloc
7347 is not referenced by a dynamic object, and we are not making a
7348 shared object, then don't make a PLT entry. If we do make a PLT
7349 entry, make sure the symbol has been recorded as dynamic.
7350
7351 Wed Jan 31 17:23:32 1996 Steve Chamberlain <sac@slash.cygnus.com>
7352
7353 * coff-i386.c (coff_i386_reloc_type_lookup): Add BFD_RELOC_32_PCREL.
7354 * config.bfd (i[345]86-*-win32): Becomes i[345]86-*-cygwin32.
7355 (powerpcle-*-cygwin32): New.
7356 * peicode.h (add_data_entry): Get address from vma.
7357
7358 Wed Jan 31 16:23:57 1996 Michael Meissner <meissner@tiktok.cygnus.com>
7359
7360 * elflink.c (_bfd_elf_create_linker_section): If the symbol
7361 attached to the section has already been created as an undefined
7362 symbol, treat it as if it hasn't been created yet.
7363
7364 Wed Jan 31 16:16:53 1996 Ian Lance Taylor <ian@cygnus.com>
7365
7366 * elflink.h (elf_bfd_final_link): Don't output initial dummy
7367 symbol or section symbols if stripping all symbols and this is not
7368 a relocateable link. Don't output the symbol string table if
7369 there are no symbols.
7370 (elf_link_flush_output_syms): Don't do anything if there are no
7371 symbols to flush.
7372
7373 Wed Jan 31 12:55:49 1996 Richard Henderson <rth@tamu.edu>
7374
7375 * coff-aux.c: New file.
7376 * hosts/m68kaux.h: New file.
7377 * config.bfd (m68*-apple-aux*): New target.
7378 * configure.in (m68*-apple-aux*): New native host.
7379 (m68kaux_coff_vec): New vector.
7380 * configure: Rebuild.
7381 * targets.c (m68kaux_coff_vec): Declare.
7382 * coffcode.h (bfd_coff_backend_data): Add field
7383 _bfd_coff_link_add_one_symbol.
7384 (bfd_coff_link_add_one_symbol): Define.
7385 (compare_arelent_ptr): New static function if TARG_AUX.
7386 (coff_write_relocs): If TARG_AUX, sort the relocs.
7387 (coff_write_object_contents): Set A/UX aouthdr magic number.
7388 (coff_link_add_one_symbol): Define if not defined.
7389 (bfd_coff_std_swap_table): Initialize new field.
7390 * libcoff.h: Rebuild.
7391 * cofflink.c (coff_link_add_symbols): Call
7392 bfd_coff_link_add_one_symbol rather than
7393 _bfd_generic_link_add_one_symbol.
7394 * coff-m68k.c (COFF_PAGE_SIZE): Don't define if already defined.
7395 * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
7396 * coff-mips.c (mips_ecoff_backend_data): Likewise.
7397 * Makefile.in: Rebuild dependencies.
7398 (BFD32_BACKENDS): Add coff-aux.o.
7399 (BFD32_BACKENDS_CFILES): Add coff-aux.c.
7400
7401 Wed Jan 31 11:37:46 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
7402
7403 * elf32-m68k.c (elf_m68k_relocate_section): Fix R_68K_GOT*
7404 relocation; ignore addend with R_68K_{GOT,PLT}*O relocation.
7405
7406 Tue Jan 30 12:09:04 1996 Ian Lance Taylor <ian@cygnus.com>
7407
7408 * Makefile.in (do_maintainer_clean): Remove $(srcdir)/bfd-in2.h,
7409 $(srcdir)/libbfd.h and $(srcdir)/libcoff.h.
7410 (maintainer-clean): Warn about deleting special files.
7411 (bfd-in2.h, libbfd.h, libcoff.h): New targets.
7412
7413 * elf32-hppa.c (elf32_hppa_relocate_section): Handle indirect and
7414 warning symbols correctly.
7415 * elf32-i386.c (elf_i386_relocate_section): Likewise.
7416 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
7417 * elf32-mips.c (mips_elf_relocate_section): Likewise.
7418 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
7419 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
7420 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
7421
7422 * syms.c (_bfd_stab_section_find_nearest_line): Add casts to avoid
7423 warnings.
7424
7425 Mon Jan 29 14:27:24 1996 Kim Knuttila <krk@cygnus.com>
7426
7427 * libcoff-in.h: aligned newly exported names with bfd naming
7428 conventions. Removed an erroneous define of POWERPC_LE_PE.
7429 * libcoff.h: Rebuild.
7430 * cofflink.c, coff-ppc.c: the above function name changes
7431
7432 Mon Jan 29 13:06:28 1996 Ian Lance Taylor <ian@cygnus.com>
7433
7434 From Basim Kadhim <kadhim@spock.cs.colorado.edu>:
7435 * ecoff.c (struct extsym_info): Define.
7436 (_bfd_ecoff_bfd_final_link): Pass a pointer to struct extsym_info
7437 to ecoff_link_write_external.
7438 (ecoff_link_write_external): Accept a struct extsym_info pointer.
7439 Strip symbols when appropriate.
7440
7441 Based on patches from Ronald F. Guilmette <rfg@monkeys.com>:
7442 * syms.c (BSF_OBJECT): Define.
7443 (bfd_print_symbol_vandf): Print 'O' for BSF_OBJECT.
7444 * bfd-in2.h: Rebuild.
7445 * elfcode.h (elf_slurp_symbol_table): Set BSF_OBJECT for an
7446 STT_OBJECT symbol.
7447 * elf.c (swap_out_syms): Only set type to STT_OBJECT if BSF_OBJECT
7448 is set.
7449
7450 * elf32-i386.c (elf_i386_relocate_section): If -Bsymbolic, when
7451 copying relocs into a shared object, treat a defined global symbol
7452 as a local symbol.
7453 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
7454 * elf32-mips.c (mips_elf_relocate_section): Likewise.
7455 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
7456
7457 * elflink.h (elf_link_add_object_symbols): Only set weakdef to a
7458 real defined symbol, not to a weak defined symbol.
7459
7460 Mon Jan 29 11:34:36 1996 Kim Knuttila <krk@cygnus.com>
7461
7462 * cofflink.c: removed the POWERPC_LE_PE hack, promoted some types
7463 and made a few static functions externs.
7464
7465 * coff-ppc.c (ppc_bfd_coff_final_link): new function, replaces the
7466 POWERPC_LE_PE hack in cofflink.
7467
7468 * libcoff-in.h: promoted the following from cofflink.c to allow
7469 _bfd_coff_final_link to be overridden - STRING_SIZE_SIZE,
7470 coff_debug_merge_element, struct coff_debug_merge_type,
7471 coff_debug_merge_hash_entry, coff_debug_merge_hash_table,
7472 coff_debug_merge_hash_table_init, coff_debug_merge_hash_table_free,
7473 coff_debug_merge_hash_lookup, coff_link_section_info,
7474 coff_final_link_info, coff_debug_merge_hash_newfunc,
7475 coff_write_global_sym, coff_link_input_bfd, coff_reloc_link_order.
7476
7477 * libcoff.h: re-gen'd
7478
7479 Fri Jan 26 18:33:35 1996 Ian Lance Taylor <ian@cygnus.com>
7480
7481 * syms.c: Include "bfdlink.h".
7482 (struct stab_find_info): Define.
7483 (_bfd_stab_section_find_nearest_line): New function.
7484 * libbfd-in.h (_bfd_stab_section_find_nearest_line): Declare.
7485 * libbfd.h: Rebuild.
7486 * elf-bfd.h (struct elf_obj_tdata): Add line_info field.
7487 * elf.c (_bfd_elf_find_nearest_line): Try calling
7488 _bfd_stab_section_find_nearest_line before searching the ELF
7489 symbol table. Find the closest STT_FUNC symbol, not the last one.
7490 * libcoff-in.h (coff_data_type): Add line_info field.
7491 * libcoff.h: Rebuild.
7492 * coffgen.c (coff_find_nearest_line): Try calling
7493 _bfd_stab_section_find_nearest_line before searching the COFF
7494 symbol table.
7495 * Makefile.in: Rebuild dependencies.
7496
7497 Fri Jan 26 16:11:19 1996 Michael Meissner <meissner@tiktok.cygnus.com>
7498
7499 * elf32-ppc.c (R_PPC_EMB_SDA21 relocations): Make relocation size
7500 4 bytes, so we get the correct value when updating the register
7501 field in little endian mode.
7502
7503 Thu Jan 25 12:14:16 1996 Ian Lance Taylor <ian@cygnus.com>
7504
7505 * libcoff-in.h (struct xcoff_tdata): Remove toc_section and
7506 entry_section fields. Add sntoc and snentry fields.
7507 * libcoff.h: Rebuild.
7508 * coffcode.h (coff_mkobject_hook): Initialize sntoc and snentry,
7509 not toc_section and entry_section (the COFF file does not have any
7510 sections at this point).
7511 (coff_write_object_contents): Set o_snentry and o_sntoc from
7512 snentry and sntoc rather than entry_section and toc_section.
7513 * coff-rs6000.c (xcoff_copy_private_bfd_data): Copy sntoc and
7514 snentry, not toc_section and entry_section.
7515 * xcofflink.c (bfd_xcoff_size_dynamic_sections): Don't set
7516 entry_section from hentry.
7517 (xcoff_link_input_bfd): If a defined symbol has XCOFF_ENTRY set,
7518 set snenty.
7519 (xcoff_link_input_bfd): Set sntoc, not toc_section.
7520 (xcoff_write_global_symbol): Get toc_section from sntoc, rather
7521 than using toc_section directly.
7522
7523 * archures.c: Add missing `.' in enum bfd_architecture.
7524 * bfd-in2.h: Rebuild.
7525
7526 * config.bfd (i[345]86-*-sco*elf*): Use bfd_elf32_i386_vec. From
7527 Robert Lipe <robertl@arnet.com>.
7528
7529 Thu Jan 25 12:08:51 1996 Michael Meissner <meissner@tiktok.cygnus.com>
7530
7531 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Add .rela.sdata{,2}
7532 to sections we allocate. Use bfd_zalloc to allocate initialial
7533 sections, not bfd_alloc.
7534 (ppc_elf_check_relocs): Remove BFD_ASSERTs for !shared from
7535 SDA{,2}I16 relocations.
7536 (ppc_elf_add_symbol_hook): Use the value of -G nn to determine
7537 whether to put something in .sbss or not.
7538 (ppc_elf_relocate_section): Add support for more relocations. Add
7539 in sec->output_offset where appropriate. Make error messages
7540 include the symbol name.
7541
7542 * elflink.c (_bfd_elf_create_linker_section): Lookup symbol before
7543 trying to add it to the symbol table, so _GLOBAL_OFFSET_TABLE_
7544 doesn't get redefined messages if -shared.
7545
7546 * elflink.h (elf_create_pointer_linker_section) Only bump RELA
7547 section if the rel_section field has been set up.
7548
7549 Wed Jan 24 20:40:26 1996 Michael Meissner <meissner@tiktok.cygnus.com>
7550
7551 * elf32-ppc.c (ppc_elf_relocate_section): Fix typo in eabi
7552 relocations.
7553
7554 Wed Jan 24 10:38:34 1996 Doug Evans <dje@charmed.cygnus.com>
7555
7556 * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Delete checking
7557 of flags, only flags used are controlled by mach number. Bump up
7558 output file mach number to highest of input file mach numbers.
7559 (elf32_sparc_object_p): Watch for EF_SPARC_SUN_US1.
7560 (elf32_sparc_final_write_processing): Set EF_SPARC_SUN_US1 if v8plusa.
7561
7562 * config.bfd (sparc64-*-{sysv4*,solaris2*}): Comment out
7563 bfd_elf64_sparc_vec support.
7564
7565 Tue Jan 23 14:33:05 1996 Michael Meissner <meissner@tiktok.cygnus.com>
7566
7567 * elf32-ppc.c (ppc_elf_copy_private_bfd_data): Don't complain if
7568 the embedded bit is set on some objects and not on others. Just
7569 or it together.
7570 (ppc_elf_relocate_section): Implement R_PPC_EMB_{SDA21,RELSDA}
7571 relocations.
7572
7573 Tue Jan 23 14:22:45 1996 Ian Lance Taylor <ian@cygnus.com>
7574
7575 * coffcode.h (coff_new_section_hook): Don't try to align the
7576 .stabstr section.
7577
7578 * coffcode.h (coff_set_section_contents): Fix the handling of the
7579 .lib section to work even if the entire section contents are
7580 written at once. From Gvran Uddeborg <gvran@uddeborg.pp.se> and
7581 Robert Lipe <robertl@arnet.com>.
7582
7583 Mon Jan 22 18:45:51 1996 Michael Meissner <meissner@tiktok.cygnus.com>
7584
7585 * elflink.h (elf_finish_pointer_linker_section): Don't allocate
7586 memory here for contents.
7587
7588 * elf32-ppc.c (ppc_elf_relocate_section): Bump up _SDA_BASE_ and
7589 _SDA2_BASE_ by 32768.
7590 (ppc_elf_size_dynamic_sections): #if out PLT code which we haven't
7591 started using. Allocate contents for .sdata and .sdata2 sections
7592 also.
7593 (ppc_elf_check_relocs): Use bfd_get_section_name in debug message,
7594 rather than _name.
7595 (ppc_elf_finish_dynamic_symbol): Remove code that attempted to
7596 size _SDA{,2}_BASE_.
7597 (ppc_elf_relocate_section): Change how sdata{,2} relocations are
7598 done.
7599
7600 Mon Jan 22 08:52:04 1996 Doug Evans <dje@charmed.cygnus.com>
7601
7602 * elflink.h (elf_finish_pointer_linker_section): Fix typo.
7603
7604 * archures.c (bfd_mach_sparc_v9): Renamed from bfd_mach_sparc64.
7605 (bfd_mach_sparc_{v8plus,v8plusa}): Define.
7606 (bfd_mach_sparc_v9a): Define.
7607 (bfd_mach_sparc_v9_p): Define.
7608 * bfd-in2.h: Regenerated.
7609 * aoutx.h (aout,machine_type): bfd_mach_sparc64 renamed to
7610 bfd_mach_sparc_v9.
7611 * elf64-sparc.c (sparc64_elf_object_p): Likewise.
7612 * config.bfd (sparc64-*-sysv4*,sparc64-*-solaris2*): Set targ_defvec
7613 to bfd_elf32_sparc_vec.
7614 * cpu-sparc.c (arch_info_struct): Renamed from sparc_arch_info.
7615 Add v8plus{,a} support.
7616 Add v9a support.
7617 (sparc_compatible): New function.
7618 * elf32-sparc.h: #include "elf/sparc.h".
7619 (elf32_sparc_merge_private_bfd_data, elf32_sparc_object_p,
7620 elf32_sparc_final_write_processing): New functions.
7621 (bfd_elf32_bfd_merge_private_bfd_data, elf_backend_object_p,
7622 elf_backend_final_write_processing): Define.
7623
7624 Mon Jan 22 11:21:51 1996 Michael Meissner <meissner@tiktok.cygnus.com>
7625
7626 * elf-bfd.h (struct elf_link_hash_entry): Add
7627 linker_section_pointer field.
7628 (enum elf_linker_section_enum): Enumeration for new way of
7629 creating linker dynamic sections and symbols.
7630 (elf_linker_section{,_pointers}): New structures for creating
7631 dynamic sections and symbols.
7632 (elf_obj_tdata): Add linker_section_pointers and linker_section
7633 fields.
7634 (elf_local_ptr_offsets,elf_linker_section): New accessor macros.
7635 (_bfd_elf_create_linker_section): New declarations.
7636 (_bfd_elf_find_pointer_linker_section): Ditto.
7637 (bfd_elf{32,64}_{create,finish}_pointer_linker_section): Ditto.
7638 (_bfd_elf_make_linker_section_rela): Ditto.
7639
7640 * elf.c (_bfd_elf_link_hash_newfunc): Initialize new fields.
7641
7642 * elf32-ppc.c (ppc_elf_create_dynamic_sections): Delete.
7643 (ppc_elf_create_linker_section): New function to create the
7644 sections .got, .sdata, and .sdata2.
7645 (ppc_elf_size_dynamic_sections): Zap .rela.{sdata,sdata2} if
7646 needed.
7647 (ppc_elf_check_relocs): Support more of the eabi relocations.
7648 (ppc_elf_relocate_section): Ditto.
7649 (ppc_elf_finish_dynamic_symbols): Adjust _SDA{,2}_BASE_ by 32768
7650 if the .sdata{,2} + .sbss{,2} section size is > 32k.
7651
7652 * elflink.h (elf_create_pointer_linker_section): New function to
7653 create initialized pointers in dynamic linker sections.
7654 (elf_finish_pointer_linker_section): Actually intialize the
7655 pointers created above.
7656
7657 * elfcode.h (bfd_elf{32,64}_create_pointer_linker_section): New
7658 macros to provide both 32 and 64 bit versions of
7659 elf_create_pointer_linker_section.
7660 (bfd_elf{32,64}_finish_pointer_linker_section): New macros to
7661 provide both 32 and 64 bit versions of
7662 elf_finish_pointer_linker_section.
7663
7664 * elflink.c (_bfd_elf_create_linker_section): New function to
7665 create a linker section.
7666 (_bfd_elf_find_pointer_linker_section): Find a unique pointer to a
7667 given address in the linker pointer offsets created for a given
7668 symbol.
7669 (_bfd_elf_make_linker_section_rela): Make a RELA section
7670 corresponding to the generated linker section.
7671
7672 Sat Jan 20 08:36:10 1996 Doug Evans <dje@canuck.cygnus.com>
7673
7674 * elf32-sparc.c (ELF_MACHINE_ALT1): Define.
7675
7676 Thu Jan 18 18:25:34 1996 Kim Knuttila <krk@cygnus.com>
7677
7678 * coff-ppc.c (coff_ppc_relocate_section): changed TOCDEFN relocs.
7679 (coff_ppc_relocate_section): Handle special values for gcc built dlls.
7680 (dump_toc): fix diagnosing code to identify out-of-toc-bounds entries.
7681 Also begin the toc at 4 as an eye catcher ('31313131' marks the first
7682 toc entry in an objdump) for now.
7683 (ppc_do_last, ppc_get_last): New function - needed to save processing
7684 the toc owner to the end.
7685 (ppc_coff_swap_sym_in_hook): Removed an incorrect hack for doing the
7686 toc owner last.
7687
7688 * cofflink.c (_bfd_coff_final_link): Added a new hack to keep the
7689 toc owner from being done till last. Must define POWERPC_LE_PC
7690 to enable it.
7691
7692 * coffcode.h (coff_set_alignment_hook): alignment setting for .stab
7693
7694 * peicode.h (coff_swap_scnhdr_out): set section flags for stab/str
7695 to INFO.
7696 (coff_swap_aouthdr_out): Removed a non-working hack for computing the
7697 SizeOfImage for PowerPC. Ignore the size of the .junk section.
7698
7699 Thu Jan 18 17:42:12 1996 Ian Lance Taylor <ian@cygnus.com>
7700
7701 * elfcore.h: Include <signal.h> before <sys/procfs.h>.
7702
7703 Wed Jan 17 12:40:14 1996 Ian Lance Taylor <ian@cygnus.com>
7704
7705 * cpu-powerpc.c (arch_info_struct): Change last entry to not point
7706 back to first.
7707 (bfd_powerpc_arch): Point at first entry in arch_info_struct.
7708
7709 Tue Jan 16 15:10:49 1996 Ian Lance Taylor <ian@cygnus.com>
7710
7711 * elf.c (assign_file_positions_for_segments): Don't increment file
7712 offset for a segment which contains no loadable sections.
7713
7714 Mon Jan 15 17:46:27 1996 Michael Meissner <meissner@tiktok.cygnus.com>
7715
7716 * reloc.c: Add new PowerPC relocations.
7717 * {bfd-in2,libbfd}.h: Regenerate.
7718
7719 * elf32-ppc.c (ppc_elf_howto_raw): Add more PPC relocations.
7720 (ppc_elf_reloc_type_lookup): Lookup new relocations.
7721
7722 Mon Jan 15 14:29:44 1996 Ian Lance Taylor <ian@cygnus.com>
7723
7724 * aoutx.h (howto_table_ext): Fix RELOC_BASE10 and RELOC_BASE22
7725 entries.
7726
7727 * sunos.c (sunos_scan_ext_relocs): Don't fail assert if
7728 info->shared.
7729
7730 * coffgen.c (coff_find_nearest_line): Don't try to cache
7731 information in sections that are not owned by a BFD. From Richard
7732 Henderson <richard@atheist.tamu.edu>.
7733
7734 * elf32-mips.c: Numerous changes to dynamic linking code, mostly
7735 from Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>.
7736 * elflink.h (elf_link_output_extsym): Remove special check for
7737 _rld_new_interface.
7738
7739 * ecoffswap.h: Add prototypes for static functions.
7740
7741 Sun Jan 14 21:36:08 1996 Michael Meissner <meissner@tiktok.cygnus.com>
7742
7743 * elf32-ppc.c (ppc_elf_{unsupported,std}_reloc): Remove functions.
7744 (ppc_elf_howto_raw): Remove ppc_elf_{unsupported,std}_reloc
7745 references.
7746 (ppc_elf_relocate_section): No longer allow .sdata/.sbss sections
7747 to satisfy a TOC16 relocation. Rewrite unsupported relocation
7748 support. Begin support for R_PPC_SDA{2,}REL.
7749
7750 Sat Jan 13 09:36:52 1996 Michael Meissner <meissner@tiktok.cygnus.com>
7751
7752 * elf32-ppc.c (ppc_elf_create_dynamic_sections): New function to
7753 create the .got and .got.neg sections.
7754 (ppc_elf_size_dynamic_sections): Call it.
7755 (ppc_elf_check_relocs): Call it.
7756 (ppc_elf_size_dynamic_sections): Support .got.neg, just like .got.
7757 (ppc_elf_check_relocs): Add error messages for relocations we
7758 don't yet support. Do not include R_PPC_SDAREL16 like a GOT
7759 relocation.
7760
7761 Fri Jan 12 15:27:59 1996 Michael Meissner <meissner@tiktok.cygnus.com>
7762
7763 * elf32-ppc.c (ppc_elf_fake_sections): Define, and handle the new
7764 section flags for V.4 and eabi.
7765
7766 Fri Jan 12 13:59:16 1996 Ian Lance Taylor <ian@cygnus.com>
7767
7768 * elf.c (assign_file_positions_for_segments): If a segment
7769 contains no sections, don't mark it as readable.
7770
7771 * elf-bfd.h (_bfd_elf_section_from_bfd_section): Declare.
7772 * elfcode.h (_bfd_elf_section_from_bfd_section): Don't declare.
7773
7774 * elf.c (_bfd_elf_print_private_bfd_data): Dump contents of
7775 dynamic section, if there is one.
7776 * elf-bfd.h (struct elf_size_info): Add swap_dyn_in field.
7777 (bfd_elf32_swap_dyn_in): Change type of second parameter to PTR.
7778 (bfd_elf64_swap_dyn_in): Likewise.
7779 * elfcode.h (elf_swap_dyn_in): Change type of second parameter to
7780 PTR.
7781 (NAME(_bfd_elf,size_info)): Initialize swap_dyn_in field.
7782
7783 * elf32-i386.c (elf_i386_size_dynamic_sections): Don't create a
7784 DT_TEXTREL entry because of .rel.plt. From Martin Pirker
7785 <pirker@eiunix.tuwien.ac.at>.
7786
7787 Thu Jan 11 17:06:14 1996 Michael Meissner <meissner@tiktok.cygnus.com>
7788
7789 * section.c (SEC_{EXCLUDE,SORT_ENTRIES}): New section flags for
7790 PowerPC V.4 and eabi.
7791 * bfd-in2.h: Regenerate.
7792 * libfd.h: Regenerate.
7793
7794 * elfxx-target.h (TARGET_{BIG,LITTLE}_SYM): Add new flags.
7795
7796 * elf32-ppc.c (ppc_elf_section_from_shdr): Support SHT_ORDERED
7797 section type and SHF_EXCLUDE section flag, turning them into the
7798 appropriate bfd section flag.
7799
7800 Thu Jan 11 11:23:30 1996 Ian Lance Taylor <ian@cygnus.com>
7801
7802 * xcofflink.c (xcoff_link_add_symbols): Create the special
7803 sections if we see a DYNAMIC object, in case that is the only
7804 XCOFF input object we see.
7805
7806 * elf32-mips.c: Extensive changes for a start at dynamic linking
7807 support, from Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>.
7808
7809 * elf-bfd.h (struct elf_backend_data): Add type_change_ok field.
7810 (struct elf_backend_data): Remove
7811 elf_backend_create_program_headers field. Add
7812 elf_backend_additional_program_headers and
7813 elf_backend_modify_segment_map fields.
7814 * elfxx-target.h (elf_backend_type_change_ok): Define if not
7815 defined.
7816 (elf_backend_additional_program_headers): Likewise.
7817 (elf_backend_modify_segment_map): Likewise.
7818 (elf_backend_create_program_headers): Don't define.
7819 (elfNN_bed): Change to account for field changes.
7820 * elf.c (assign_file_positions_for_segments): Call new
7821 modify_segment_map backend function. Don't call old
7822 create_program_headers backend function.
7823 (get_program_header_size): Call additional_program_headers rather
7824 than create_program_headers.
7825 * elflink.h (elf_link_add_object_symbols): Initialize
7826 type_change_ok from new backend field.
7827 (elf_link_output_extsym): Don't warn if _rld_new_interface is
7828 defined.
7829 (elf_reloc_link_order): Treat a reloc against a defined symbol as
7830 a reloc against the appropriate section.
7831
7832 * elf-bfd.h (struct bfd_elf_section_data): Add tdata field.
7833 (struct elf_obj_tdata): Rename ppc_flags_init field to flags_init.
7834 (elf_flags_init): Rename from elf_ppc_flags_init.
7835 * elf32-ppc.c (ppc_elf_set_private_flags): Use elf_flags_init, not
7836 elf_ppc_flags_init.
7837 (ppc_elf_copy_private_bfd_data): Likewise.
7838 (ppc_elf_merge_private_bfd_data): Likewise.
7839
7840 * elf32-m68k.c (howto_table): Change src_mask to 0 for all
7841 relocation entries.
7842
7843 Tue Jan 9 15:22:53 1996 David Mosberger-Tang <davidm@azstarnet.com>
7844
7845 * coff-alpha.c (alpha_relocate_section): During final link, allow
7846 output .lita section to be bigger than 64k by adjusting gp value
7847 on a per-input section basis.
7848 * libecoff.h (struct ecoff_tdata): Add issued_multiple_gp_warning
7849 field.
7850 (struct ecoff_section_tdata): Add gp field.
7851
7852 Tue Jan 9 12:00:36 1996 Ian Lance Taylor <ian@cygnus.com>
7853
7854 Handle Alpha ECOFF changes in OSF/1 3.2.
7855 * libecoff.h (struct ecoff_backend_data): Add get_elt_at_filepos
7856 field.
7857 * coff-alpha.c: Include "aout/ar.h".
7858 (alpha_ecoff_get_relocated_section_contents): Don't require an
7859 ALPHA_R_IGNORE reloc after an ALPHA_R_GPDISP reloc, since OSF/1
7860 3.2 doesn't generate one.
7861 (alpha_relocate_section): Likewise.
7862 (alpha_ecoff_slurp_armap): Define.
7863 (alpha_ecoff_slurp_extended_name_table): Define.
7864 (alpha_ecoff_construct_extended_name_table): Define.
7865 (alpha_ecoff_truncate_arname): Define.
7866 (alpha_ecoff_write_armap): Define.
7867 (alpha_ecoff_generic_stat_arch_elt): Define.
7868 (alpha_ecoff_update_armap_timestamp): Define.
7869 (ARFZMAG): Define.
7870 (alpha_ecoff_read_ar_hdr): New static function.
7871 (alpha_ecoff_get_elt_at_filepos): New static function.
7872 (alpha_ecoff_openr_next_archived_file): New static function.
7873 (alpha_ecoff_get_elt_at_index): New static function.
7874 (alpha_ecoff_backend_data): Initialize get_elt_at_filepos field.
7875 (ecoffalpha_little_vec): Change BFD_JUMP_TABLE_ARCHIVE from
7876 _bfd_ecoff to alpha_ecoff.
7877 * ecoff.c (ecoff_link_add_archive_symbols): Use get_elt_at_filepos
7878 field from backend structure, rather than always calling
7879 _bfd_get_elt_at_filepos.
7880 * coff-mips.c (mips_ecoff_backend_data): Initialize
7881 get_elt_at_filepos field.
7882 * archive.c (_bfd_generic_read_ar_hdr_mag): New function, copied
7883 from _bfd_generic_read_ar_hdr with minor changes.
7884 (_bfd_generic_read_ar_hdr): Use _bfd_generic_read_ar_hdr_mag.
7885 * libbfd-in.h (_bfd_generic_read_ar_hdr_mag): Declare.
7886 * libbfd.h: Rebuild.
7887
7888 * bfd-in.h (BFD_IN_MEMORY): Define.
7889 * libbfd-in.h (struct bfd_in_memory): Define.
7890 * libbfd.c (bfd_read): Handle BFD_IN_MEMORY flag.
7891 (bfd_get_file_window): Don't try to map a BFD_IN_MEMORY file.
7892 (bfd_write, bfd_stat): Abort if BFD_IN_MEMORY is set.
7893 (bfd_tell, bfd_flush, bfd_seek): Handle BFD_IN_MEMORY flag.
7894 * bfd.c (struct _bfd): Change iostream field from char * to PTR.
7895 (bfd_get_size): Handle BFD_IN_MEMORY flag.
7896 * cache.c (bfd_cache_close): Ignore BFD_IN_MEMORY files.
7897 (bfd_open_file): Cast to PTR, not char *, when setting iostream.
7898 (bfd_cache_lookup_worker): Abort if BFD_IN_MEMORY is set.
7899 * opncls.c (bfd_fdopenr): Cast to PTR, not char *, when setting
7900 iostream.
7901 (bfd_openstreamr): Likewise.
7902 * aoutx.h (NAME(aout,some_aout_object_p)): Only fstat iostream if
7903 BFD_IN_MEMORY is not set.
7904 * riscix.c (riscix_some_aout_object_p): Likewise.
7905 * bfd-in2.h, libbfd.h: Rebuild.
7906
7907 * targets.c (bfd_target): Add _bfd_get_elt_at_index field.
7908 (BFD_JUMP_TABLE_ARCHIVE): Add _get_elt_at_index.
7909 (bfd_get_elt_at_index): Define.
7910 * archive.c (_bfd_generic_get_elt_at_index): Rename from
7911 bfd_get_elt_at_index. Change index parameter from int to
7912 symindex.
7913 * libbfd-in.h (_bfd_generic_get_elt_at_index): Declare.
7914 (_bfd_noarchive_get_elt_at_index): Define.
7915 (_bfd_archive_bsd_get_elt_at_index): Define.
7916 (_bfd_archive_coff_get_elt_at_index): Define.
7917 * bfd-in2.h, libbfd.h: Rebuild.
7918 * aout-target.h (MY_get_elt_at_index): Define if not defined.
7919 * coff-rs6000.c (xcoff_get_elt_at_index): Define.
7920 * ieee.c (ieee_get_elt_at_index): Define.
7921 * libecoff.h (_bfd_ecoff_get_elt_at_index): Define.
7922 * oasys.c (oasys_get_elt_at_index): Define.
7923 * som.c (som_get_elt_at_index): Define.
7924
7925 * ecoff.c (_bfd_ecoff_find_nearest_line): Don't restrict line
7926 numbers to the .text section.
7927
7928 Mon Jan 8 17:00:57 1996 Ian Lance Taylor <ian@cygnus.com>
7929
7930 * ieee.c (ieee_write_debug_part): Change return type to boolean.
7931 If there is a SEC_DEBUGGING section, get the contents of the debug
7932 information part from it.
7933 (ieee_set_section_contents): Store the contents of a SEC_DEBUGGING
7934 section in memory.
7935 (ieee_write_object_contents): Check ieee_write_debug_part return.
7936
7937 Thu Jan 4 17:12:37 1996 Fred Fish <fnf@cygnus.com>
7938
7939 * config.bfd (i[345]86-*-freebsd*): Add target.
7940 * configure.in (i386freebsd_vec): Add vec.
7941 * configure: Regenerate.
7942 * Makefile.in (BFD32_BACKENDS): Add i386freebsd.o.
7943 (BFD32_BACKENDS_CFILES): Add i386freebsd.c.
7944 Rebuild dependencies..
7945 * freebsd.h: New file.
7946 * i386freebsd.c: New file.
7947 * targets.c (i386freebsd_vec): Declare.
7948 (bfd_target_vector): Add i386freebsd_vec.
7949 * i386linux.c (SEGMENT_SIZE): Define as TARGET_PAGE_SIZE
7950 * i386netbsd.c (SEGMENT_SIZE): Define as TARGET_PAGE_SIZE
7951
7952 Thu Jan 4 16:27:46 1996 Ian Lance Taylor <ian@cygnus.com>
7953
7954 * ieee.c (ieee_slurp_debug): New static function.
7955 (ieee_object_p): Call it.
7956 (ieee_slurp_section_data): Skip debugging sections.
7957 (ieee_get_reloc_upper_bound): Likewise.
7958 (ieee_get_section_contents): Likewise.
7959 (ieee_canonicalize_reloc): Likewise.
7960 (ieee_write_section_part): Likewise.
7961 (ieee_write_debug_part): Likewise.
7962 (ieee_write_data_part): Likewise.
7963 (init_for_output): Likewise.
7964
7965 Wed Jan 3 19:42:47 1996 Michael Meissner <meissner@wogglebug.tiac.net>
7966
7967 * elf32-ppc.c (ppc_elf_relocate_section): Make @GOT relocations
7968 work.
7969 (ppc_elf_howto_raw): Just use bfd_elf_generic_reloc for all howto
7970 relocs, since ppc_elf_relocate_section handles the linker case.
7971 (ppc_elf_{addr16_ha,got16,toc16,brtaken}_reloc): Delete, no longer
7972 used.
7973 (ppc_elf_{addr16_ha,got16,toc16,brtaken}_inner): Merge these into
7974 ppc_elf_relocate_section since that is now the only caller.
7975 (ppc_elf_relocate_section): Ditto.
7976
7977 Wed Jan 3 15:11:30 1996 Ian Lance Taylor <ian@cygnus.com>
7978
7979 * coffcode.h (coff_write_object_contents): If we don't know the
7980 section of the entry point for an XCOFF executable, always set the
7981 entry address to -1.
7982
7983 Tue Jan 2 14:17:15 1996 Michael Meissner <meissner@tiktok.cygnus.com>
7984
7985 * elf.c (bfd_section_from_shdr): Add support for note sections.
7986
7987 Tue Jan 2 13:10:25 1996 Ian Lance Taylor <ian@cygnus.com>
7988
7989 * bfd-in.h (struct _symbol_info): Add stab_type field.
7990 * bfd-in2.h: Rebuild.
7991 * aoutx.h (NAME(aout,get_symbol_info)): Set stab_type.
7992
7993 * elf32-ppc.c: Remove trailing newline from calls to
7994 _bfd_error_handler.
7995 (ppc_elf_merge_private_bfd_data): Only warn about endianness
7996 difference if target endianness is known.
7997
7998 Thu Dec 21 12:43:49 1995 Michael Meissner <meissner@tiktok.cygnus.com>
7999
8000 * elf32-ppc.c (ppc_elf_howto_raw): Add a phony reloc to handle the
8001 old style TOC16 references without using R_PPC_GOT.
8002 (ppc_reloc_type): Ditto.
8003 (ppc_elf_reloc_type_lookup): Add support for TOC16.
8004 (ppc_elf_toc16_inner): Renamed from ppc_elf_got16_inner.
8005 (ppc_elf_toc16_reloc): Renamed from ppc_elf_toc16_reloc.
8006 (ppc_elf_got16_{inner,reloc}): Stubs for real GOT support.
8007 (ppc_elf_check_relocs): New function for GOT/PLT support that is
8008 work in progress.
8009 (ppc_elf_adjust_dynamic_symbol): Ditto.
8010 (ppc_elf_adjust_dynindx): Ditto.
8011 (ppc_elf_size_dynamic_sections): Ditto.
8012 (ppc_elf_finish_dynamic_symbol): Ditto.
8013 (ppc_elf_finish_dynamic_sections): Ditto.
8014 (ELF_DYNAMIC_INTERPRETER): Define.
8015
8016 Wed Dec 20 19:14:18 1995 Ken Raeburn <raeburn@cygnus.com>
8017
8018 * elf.c (copy_private_bfd_data): When attaching sections to
8019 segments ignore sections that won't be allocated. Patch from
8020 Andreas Schwab.
8021
8022 Tue Dec 19 20:01:43 1995 Ken Raeburn <raeburn@cygnus.com>
8023
8024 * config.bfd: Match on m68k-cbm-* only if OS doesn't match
8025 anything else.
8026
8027 Tue Dec 19 16:38:59 1995 Ian Lance Taylor <ian@cygnus.com>
8028
8029 * coff-i960.c (CALC_ADDEND): Define.
8030 (coff_i960_relocate_section): Add the input section VMA to the
8031 addend for PC relative relocs.
8032
8033 Sun Dec 17 20:11:55 1995 Kim Knuttila <krk@cygnus.com>
8034
8035 * peicode.h (pe_print_pdata): Must test the entire entry for zero
8036 to correctly terminate.
8037
8038 Fri Dec 15 12:05:57 1995 Ian Lance Taylor <ian@cygnus.com>
8039
8040 * targets.c (enum bfd_endian): Define.
8041 (bfd_target): Rename byteorder_big_p to byteorder, and change it
8042 from boolean to enum bfd_endian. Change header_byteorder_big_p
8043 correspondingly.
8044 * bfd-in.h (bfd_big_endian, bfd_little_endian): New macros.
8045 (bfd_header_big_endian, bfd_header_little_endian): New macros.
8046 * bfd-in2.h: Rebuild.
8047 * All targets: Change initialization of byteorder and
8048 header_byteorder to use enum bfd_endian values rather than
8049 booleans.
8050 * All files: Change all references to byteorder_big_p and
8051 header_byteorder_big_p to use new bfd_*_endian macros.
8052
8053 * coffgen.c (make_a_section_from_file): Set lma to s_paddr, not
8054 s_vaddr.
8055 * coffcode.h (coff_write_object_contents): Set s_paddr to lma, not
8056 vma.
8057 * ecoff.c (_bfd_ecoff_write_object_contents): Likewise.
8058
8059 Fri Dec 15 07:32:09 1995 steve chamberlain <sac@slash.cygnus.com>
8060
8061 * pe[i]-i386.c (TARGET_UNDERSCORE): Define to '_'.
8062
8063 Thu Dec 14 13:45:37 1995 Ian Lance Taylor <ian@cygnus.com>
8064
8065 * ieee.c: Lots of minor cleanups. Make many functions return
8066 errors rather than calling abort. Also:
8067 (ieee_write_twobyte): Remove; change callers to call existing
8068 ieee_write_2bytes function.
8069 (ieee_write_expression): Don't output the section twice when
8070 outputting a local symbol. Don't emit an extraneous zero if there
8071 is only one term.
8072 (ieee_slurp_sections): Set the lma as well as the vma.
8073 (ieee_archive_p): Use bfd_alloc_grow rather than an obstack.
8074
8075 * ihex.c (ihex_set_arch_mach): Don't accept any architecture, just
8076 a recognized one or bfd_arch_unknown.
8077 (ihex_get_symtab_upper_bound): Define as bfd_0l, to permit objcopy
8078 to succeed.
8079 (ihex_get_symtab): Likewise.
8080
8081 Wed Dec 13 15:44:06 1995 Ian Lance Taylor <ian@cygnus.com>
8082
8083 * aoutx.h: Include <ctype.h>.
8084 (struct aout_link_includes_table): Define.
8085 (struct aout_link_includes_totals): Define.
8086 (struct aout_link_includes_entry): Define.
8087 (aout_link_includes_lookup): Define macro.
8088 (struct aout_final_link_info): Add includes field.
8089 (aout_link_includes_newfunc): New static function.
8090 (NAME(aout,final_link)): Initialize includes hash table.
8091 (aout_link_write_symbols): Eliminate duplicate N_BINCL entries.
8092
8093 Wed Dec 13 10:52:14 1995 Stan Shebs <shebs@andros.cygnus.com>
8094
8095 * mpw-config.in: Match on mips-*-* instead of mips-idt-ecoff.
8096
8097 Wed Dec 13 11:07:45 1995 Kim Knuttila <krk@cygnus.com>
8098
8099 * coff-ppc.c (coff_ppc_relocate_section): removed debugging code.
8100
8101 Tue Dec 12 17:42:06 1995 Kim Knuttila <krk@cygnus.com>
8102
8103 * peicode.h (pe_print_reloc): New function to dump the .reloc section.
8104 (pe_print_private_bfd_data): call pe_print_reloc.
8105 * coffcode.h (coff_set_alignment_hook): .reloc section alignment.
8106 * coff-ppc.c (in_reloc_p): Added missing non-eligible relocs. Spiffed
8107 up some debugging as well.
8108
8109 Tue Dec 12 11:34:23 1995 Ian Lance Taylor <ian@cygnus.com>
8110
8111 * config.bfd: Handle sparc-*-elf*. From Ronald F. Guilmette
8112 <rfg@monkeys.com>.
8113
8114 Fri Dec 8 17:47:07 1995 Ian Lance Taylor <ian@cygnus.com>
8115
8116 * elflink.h (elf_link_add_object_symbols): Set section_count to 0
8117 when setting sections to NULL.
8118
8119 Wed Dec 6 17:05:37 1995 Ian Lance Taylor <ian@cygnus.com>
8120
8121 * xcofflink.c (struct xcoff_loader_info): Add export_defineds
8122 field.
8123 (bfd_xcoff_size_dynamic_sections): Add export_defineds parameter.
8124 (xcoff_build_ldsyms): If export_defineds is set, set XCOFF_EXPORT
8125 for all symbols.
8126 * bfd-in.h (bfd_xcoff_size_dynamic_sections): Update declaration.
8127 * bfd-in2.h: Rebuild.
8128
8129 Mon Dec 4 16:40:47 1995 Kim Knuttila <krk@cygnus.com>
8130
8131 * coffcode.h (coff_set_alignment_hook): Removed some debugging printf's
8132
8133 Mon Dec 4 11:25:39 1995 Ian Lance Taylor <ian@cygnus.com>
8134
8135 * ihex.c (ihex_scan): Handle record types 4 and 5.
8136 (ihex_object_p): Permit types 4 and 5.
8137 (ihex_set_section_contents): Remove check for out of range
8138 addresses.
8139 (ihex_write_object_contents): Generate types 4 and 5.
8140
8141 * elflink.h (elf_link_output_extsym): Just ignore warning and
8142 indirect references to symbols which don't really exist.
8143
8144 Sun Dec 3 19:00:27 1995 Kim Knuttila <krk@cygnus.com>
8145
8146 * peicode.h (pe_print_idata): Minor format fixes
8147 (pe_print_edata): New function. Under private printing, this formats
8148 the edata section of a PE file.
8149 (pe_print_private_bfd_data): Added call to pe_print_edata.
8150
8151 Sun Dec 3 16:46:54 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
8152
8153 * aout-arm.c (MY_swap_std_reloc_out): Use KEEPIT to get the symbol
8154 index, don't call stoi.
8155
8156 Fri Dec 1 14:46:51 1995 Ian Lance Taylor <ian@cygnus.com>
8157
8158 * srec.c (srec_scan): Set lma as well as vma.
8159
8160 * ihex.c: New file; support for Intel Hex format.
8161 * targets.c (enum bfd_flavour): Add bfd_target_ihex_flavour.
8162 (ihex_vec): Declare.
8163 (bfd_target_vector): Always include ihex_vec.
8164 * bfd.c (struct _bfd): Add ihex_data field to tdata union.
8165 * Makefile.in: Rebuild dependencies.
8166 (BFD_LIBS): Add ihex.o
8167 (BFD_LIBS_CFILES): Add ihex.c.
8168 * bfd-in2.h: Rebuild.
8169
8170 * elf.c (assign_file_positions_for_segments): Sort the sections in
8171 each segment.
8172 (get_program_header_size): Return the right size if segment_map is
8173 not NULL.
8174 (copy_private_bfd_data): Don't bother to sort the sections.
8175
8176 * bfd.c (bfd_record_phdr): New function.
8177 * bfd-in.h (bfd_record_phdr): Declare.
8178 * bfd_in2.h: Rebuild.
8179
8180 * elf32-sparc.c (elf32_sparc_relocate_section): Remove bogus
8181 BFD_ASSERT.
8182
8183 * libbfd.c (bfd_malloc, bfd_realloc): New functions.
8184 (bfd_zmalloc): Return PTR, not char *. Take size_t, not
8185 bfd_size_type.
8186 * libbfd-in.h (bfd_malloc, bfd_realloc): Declare.
8187 (bfd_zmalloc): Change declaration.
8188 * libbfd.h: Rebuild.
8189 * Many files: Use bfd_malloc and bfd_realloc rather than malloc
8190 and realloc. Don't set bfd_error_no_memory if they fail.
8191
8192 Thu Nov 30 19:32:26 1995 Kim Knuttila <krk@cygnus.com>
8193
8194 * coff-ppc.c: Added macros to tidy up toc cell treatment. Numerous
8195 uses as well. Added a new howto to deal with TOCREL16 relocs that
8196 are TOCDEFN as well.
8197 (coff_ppc_relocate_section): Expanded treatment of ADDR32NB relocs
8198 to handle RVA relocs from dlltool.
8199 (ppc_coff_rtype2howto): TOCDEFN reloc addition.
8200 (coff_ppc_rtype_to_howto): TOCDEFN reloc addition.
8201 (ppc_coff_reloc_type_lookup): TOCDEFN reloc addition.
8202
8203 * coffcode.h (coff_set_alignment_hook): check idata$X sections
8204 to get the right section alignment.
8205
8206 Thu Nov 30 16:48:18 1995 Ian Lance Taylor <ian@cygnus.com>
8207
8208 * elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on
8209 p_paddr if p_paddr is zero.
8210 (make_mapping): Set includes_filehdr and includes_phdrs for first
8211 PT_LOAD segment.
8212 (map_sections_to_segments): Set includes_phdrs for PT_PHDR
8213 segment.
8214 (assign_file_positions_for_segments): Handle includes_filehdr and
8215 includes_phdrs. Remove special handling of PT_PHDR and first
8216 PT_LOAD segments.
8217 (copy_private_bfd_data): Set includes_filehdr and includes_phdr
8218 when appropriate. Remove special handling of PT_PHDR segment.
8219 Use a more complex condition for when a section is included in a
8220 segment to handle Solaris linker oddities.
8221
8222 Thu Nov 30 11:17:33 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
8223
8224 * coff-m88k.c (howto_table): Reformatted for easier reading;
8225 special_function now points to new function m88k_special_reloc.
8226 (howto_hvrt16): Function previously used for handling HVRT16 relocs
8227 removed.
8228 (rtype2howto): Do not add reloc's r_offset to the addend, this will
8229 be done correctly by m88k_special_reloc.
8230 (reloc_processing): New function to be used by RELOC_PROCESSING.
8231 (RELOC_PROCESSING): Define to call reloc_processing.
8232
8233 Wed Nov 29 12:42:36 1995 Ian Lance Taylor <ian@cygnus.com>
8234
8235 * peicode.h (pe_print_idata): Call malloc rather than xmalloc.
8236 (pe_print_pdata): Likewise.
8237
8238 * opncls.c (bfd_alloc_by_size_t): Set bfd_error_no_memory if
8239 obstack_alloc fails.
8240 (bfd_alloc_finish): Set bfd_error_no_memory if obstack_finish
8241 fails.
8242 * libbfd.c (bfd_zmalloc): Set bfd_error_no_memory if malloc fails.
8243 * Many files: don't set bfd_error_no_memory if one of the above
8244 routines fails.
8245
8246 * elf.c (assign_file_positions_for_segments): Don't adjust p_paddr
8247 if p_paddr_valid is set.
8248 (copy_private_bfd_data): New static function.
8249 (_bfd_elf_copy_private_section_data): Call copy_private_bfd_data.
8250
8251 * elf.c (assign_file_positions_for_segments): Fix case where extra
8252 program headers were allocated.
8253
8254 * elf.c (_bfd_elf_print_private_bfd_data): New function.
8255 * elf-bfd.h (_bfd_elf_print_private_bfd_data): Declare.
8256 * elfxx-target.h (bfd_elfNN_bfd_print_private_bfd_data): Define to
8257 _bfd_elf_print_private_bfd_data.
8258
8259 * coff-alpha.c (alpha_ecoff_swap_reloc_in): Don't abort if
8260 r_symndx is RELOC_SECTION_NONE for an ALPHA_R_IGNORE reloc.
8261 Change a RELOC_SECTION_LITA symndx to RELOC_SECTION_ABS.
8262 (alpha_ecoff_swap_reloc_out): Change RELOC_SECTION_ABS to
8263 RELOC_SECTION_LITA for ALPHA_R_IGNORE.
8264 (alpha_adjust_reloc_out): For ALPHA_R_IGNORE, don't change
8265 RELOC_SECTION_ABS to RELOC_SECTION_NONE.
8266
8267 Tue Nov 28 16:59:50 1995 Ian Lance Taylor <ian@cygnus.com>
8268
8269 * elf-bfd.h (struct elf_obj_tdata): Add segment_map field.
8270 * elf.c (make_mapping): New static function.
8271 (map_sections_to_segments): New static function.
8272 (elf_sort_sections): New static function.
8273 (assign_file_positions_for_segments): New static function.
8274 (map_program_segments): Remove.
8275 (get_program_header_size): Remove sorted_hdrs, count, and
8276 maxpagesize parameters. Simplify.
8277 (assign_file_positions_except_relocs): When generating an
8278 executable, use assign_file_positions_for_segments.
8279 (elf_sort_hdrs): Remove.
8280 (_bfd_elf_sizeof_headers): Remove eliminated parameters from call
8281 to get_program_header_size.
8282
8283 Mon Nov 27 12:27:46 1995 Ian Lance Taylor <ian@cygnus.com>
8284
8285 * hp300hpux.c (MY(callback)): Set lma as well as vma.
8286
8287 * configure, config.in: Regenerate with autoconf 2.7.
8288
8289 * elf32-i386.c (elf_backend_plt_readonly): Set correctly, to 1.
8290 * elf32-sparc.c (elf_backend_plt_readonly): Set correctly, to 0.
8291
8292 Wed Nov 22 12:02:09 1995 Ian Lance Taylor <ian@cygnus.com>
8293
8294 * ecoff.c (_bfd_ecoff_new_section_hook): Handle .rconst section.
8295 (ecoff_sec_to_styp_flags): Likewise.
8296 (_bfd_ecoff_styp_to_sec_flags): Handle STYP_RCONST.
8297 (ecoff_set_symbol_info): Handle scRConst.
8298 (ecoff_slurp_reloc_table): Handle RELOC_SECTION_RCONST.
8299 (ecoff_compute_section_file_positions): Handle .rconst section.
8300 (_bfd_ecoff_write_object_contents): Likewise.
8301 (ecoff_link_check_archive_element): Handle scRConst.
8302 (ecoff_link_add_externals): Likewise.
8303 (ecoff_link_write_external): Handle .rconst section.
8304 (ecoff_reloc_link_order): Likewise.
8305 * ecofflink.c (bfd_ecoff_debug_accumulate): Handle scRConst.
8306 * coff-alpha.c (alpha_convert_external_reloc): Handle .rconst
8307 section.
8308 (alpha_relocate_section): Handle RELOC_SECTION_RCONST.
8309
8310 * sunos.c (sunos_scan_dynamic_symbol): Only set written if the
8311 DEF_DYNAMIC flag is set.
8312
8313 Tue Nov 21 13:25:29 1995 Ken Raeburn <raeburn@cygnus.com>
8314
8315 * host-aout.c: If TRAD_HEADER is defined, include it.
8316
8317 Tue Nov 21 13:03:57 1995 Ian Lance Taylor <ian@cygnus.com>
8318
8319 * aclocal.m4 (AC_PROG_CC): Remove local definition.
8320 (BFD_BINARY_FOPEN): Require AC_CANONICAL_SYSTEM.
8321 (BFD_NEED_DECLARATION): New function.
8322 * configure.in: Use BFD_NEED_DECLARATION.
8323 * acconfig.h: Put NEED_DECLARATION_* in @TOP@ section.
8324 * configure, config.in: Rebuild with autoconf 2.6.
8325
8326 * xcofflink.c (bfd_xcoff_size_dynamic_sections): Clear
8327 special_sections before returning when called with a non XCOFF
8328 BFD.
8329
8330 * coffgen.c (coff_renumber_symbols): Sort common symbols with
8331 global symbols.
8332
8333 * coffcode.h (coff_compute_section_file_positions): Only pad the
8334 previous section to force file alignment when creating an
8335 executable.
8336
8337 Mon Nov 20 14:54:09 1995 Ian Lance Taylor <ian@cygnus.com>
8338
8339 * coffcode.h (coff_compute_section_file_positions): If
8340 RS6000COFF_C, set up the .debug section.
8341
8342 * xcofflink.c (xcoff_link_input_bfd): Adjust the TOC anchor value
8343 if it is not large enough to accomodate the entire TOC area with
8344 signed 16 bit offsets.
8345 (xcoff_write_global_symbol): Handle negative TOC offsets in global
8346 linkage code.
8347 (_bfd_ppc_xcoff_relocate_section): Adjust relocations against a
8348 TOC anchor to use the TOC value used in the output file.
8349
8350 Sat Nov 18 18:01:41 1995 Ian Lance Taylor <ian@cygnus.com>
8351
8352 * coffgen.c (_bfd_coff_get_external_symbols): Cast malloc return.
8353 (_bfd_coff_read_string_table): Likewise.
8354
8355 Sat Nov 18 19:43:04 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
8356
8357 * pe-arm.c: Fix typos.
8358 * coff-arm.c: Likewise.
8359
8360 Fri Nov 17 16:22:04 1995 Kim Knuttila <krk@cygnus.com>
8361
8362 * coff-ppc.c (list_ele): Added "cat"egory member.
8363 (record_toc): New category parameter (priv or pub).
8364 (ppc_record_toc_entry): Check to see if toc bounds exceeded.
8365 (ppc_process_before_allocation): Removed embrionic data-in-toc from
8366 the mainline. It addes extra toc cells in error.
8367 (ppc_coff_swap_sym_in_hook): Added some documentation.
8368 (dump_toc): Can now diagnose "virtual toc" chicanery.
8369
8370 Fri Nov 17 10:41:25 1995 Philippe De Muyter <phdm@info.ucl.ac.be>
8371
8372 * elf-bfd.h (struct elf_link_hash_table): Change type of
8373 dynsymcount and bucketcount fields from size_t to bfd_size_type.
8374
8375 Fri Nov 17 10:02:58 1995 Ian Lance Taylor <ian@cygnus.com>
8376
8377 * coffcode.h (coff_pointerize_aux_hook): I960 version: don't
8378 pointerize C_LEAFSTAT or C_LEAFEXT entries.
8379
8380 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Only create
8381 DT_INIT and DT_FINI entries if the _init or _fini symbol is
8382 defined or mentioned in a regular file.
8383
8384 Thu Nov 16 15:16:42 1995 Kim Knuttila <krk@cygnus.com>
8385
8386 * coff-ppc.c (ppc_record_data_in_toc_entry): new function
8387 (coff_ppc_relocate_section): Handle TOCDEFN attribute
8388 (coff_ppc_relocate_section): Correct REL24 handling
8389 (ppc_process_before_allocation): Correct TOCDEFN handling
8390
8391 * peicode.h (dir_names): Added name descriptions
8392
8393 Thu Nov 16 03:38:03 1995 Ken Raeburn <raeburn@cygnus.com>
8394
8395 * VERSION: Updated to cygnus-2.6.
8396
8397 Wed Nov 15 19:30:07 1995 Ken Raeburn <raeburn@cygnus.com>
8398
8399 * targets.c (m68k4knetbsd_vec): Declare.
8400
8401 Wed Nov 15 18:05:52 1995 Ian Lance Taylor <ian@cygnus.com>
8402
8403 * targets.c (bfd_target): Change type of second argument to
8404 _bfd_print_private_bfd_data from void * to PTR.
8405 * libbfd-in.h (_bfd_generic_bfd_print_private_bfd_data): Cast
8406 using PTR rather than void *.
8407 * bfd-in2, libbfd.h: Rebuild.
8408 * peicode.h (pe_print_private_bfd_data): Change vfile from void *
8409 to PTR.
8410 * elfxx-target.h (bfd_elfNN_bfd_print_private_bfd_data): Define as
8411 _bfd_generic_bfd_print_private_bfd_data rather than casting
8412 bfd_true.
8413
8414 Wed Nov 15 04:09:14 1995 Ken Raeburn <raeburn@cygnus.com>
8415
8416 * Makefile.in (.dep1): Fix stupid typo in last change. Remove any
8417 "DO NOT DELETE" lines or blank lines that mkdep writes on some
8418 systems.
8419 (BFD_LIBS_CFILES, ALL_MACHINES_CFILES, BFD32_BACKENDS_CFILES,
8420 BFD64_BACKENDS_CFILES): New variables.
8421 (CFILES): Use them.
8422
8423 Tue Nov 14 11:52:23 1995 Ian Lance Taylor <ian@cygnus.com>
8424
8425 * peicode.h (coff_swap_aouthdr_out): For PPC PE, start isize at 0,
8426 not at the file position of the first section.
8427 * coffcode.h (coff_compute_section_file_positions): Avoid using
8428 unportable #elif.
8429 (coff_write_object_contents): When generating a PPC PE executable
8430 with no symbols, round up the file size to a COFF_PAGE_SIZE
8431 boundary.
8432 * cofflink.c (_bfd_coff_final_link): If there are no symbols,
8433 don't write out a string table.
8434
8435 * elf.c (bfd_section_from_shdr): When using a different section
8436 header, pass the new one to _bfd_elf_make_section_from_shdr.
8437 (elf_fake_sections): Don't set sh_info and sh_entsize fields.
8438 (elf_map_symbols): Add section VMA to symbol value when comparing
8439 against 0.
8440 (_bfd_elf_compute_section_file_positions): Only build symbol table
8441 if there are some symbols. Set file offset of symtab and strtab
8442 sections.
8443 (assign_file_positions_except_relocs): Remove dosyms parameter.
8444 Change all callers. Never set file offset of symtab and strtab
8445 sections.
8446 (_bfd_elf_copy_private_section_data): New function.
8447 (MAP_ONESYMTAB, MAP_DYNSYMTAB, MAP_STRTAB, MAP_SHSTRTAB): Define.
8448 (_bfd_elf_copy_private_symbol_data): New function.
8449 (swap_out_syms): Check for special mapping of st_shndx created by
8450 copy_private_symbol_data.
8451 * elfxx-target.h: Use new copy routines.
8452 * elf-bfd.h (_bfd_elf_copy_private_symbol_data): Declare.
8453 (_bfd_elf_copy_private_section_data): Declare.
8454
8455 * config.bfd (sh-*-*): Set targ_defvec to shcoff_vec.
8456
8457 * coffcode.h (coff_slurp_symbol_table): If COFF_WITH_PE, handle
8458 C_NT_WEAK.
8459
8460 * coff-sh.c (shlcoff_vec): Use _bfd_generic_archive_p, not
8461 _bfd_dummy_target, matching the recent change to archive
8462 recognition.
8463
8464 Mon Nov 13 13:24:38 1995 Ian Lance Taylor <ian@cygnus.com>
8465
8466 * libbfd.c (bfd_get_file_window): Use casts to avoid doing
8467 arithmetic on PTR types.
8468
8469 * aout-target.h (MY(callback)): Set the lma of the sections.
8470
8471 * ecoff.c (ecoff_reloc_link_order): Turn a reloc against a defined
8472 symbol into a reloc against the section.
8473
8474 Mon Nov 13 07:31:35 1995 Kim Knuttila <krk@cygnus.com>
8475
8476 * coff-ppc.c (ppc_coff_link_hash_entry): added support for inline
8477 glue for the relocs: IMGLUE and IFGLUE.
8478 (record_toc): new function - tracks toc contents
8479 (ppc_mark_symbol_as_glue): new function - supports the IMGLUE reloc
8480 (coff_ppc_relocate_section): Added support and fixes for IMGLUE/IFGLUE
8481 (ppc_coff_rtype2howto): removed invalid IMGLUE hack
8482 (coff_ppc_rtype_to_howto): removed invalid IMGLUE hack
8483 (ppc_record_toc_entry): Removed a debug define (duh)
8484
8485 * peicode.h (coff_swap_scnhdr_out): Fixed invalid strcmp for ".reldata"
8486 (pe_print_idata): New function - formats the idata section data
8487 (pe_print_pdata): New function - formats the pdata section data
8488 (pe_print_private_bfd_data): calls to above
8489
8490 Sun Nov 12 12:23:24 1995 Stan Shebs <shebs@andros.cygnus.com>
8491
8492 * Makefile.in (bfd_libs_here, etc): Provide empty definitions.
8493 * coff-rs6000.c (rs6000coff_vec): Add conditional defines
8494 TARGET_SYM and TARGET_NAME for vector and BFD name.
8495 * coff-pmac.c (pmac_xcoff_vec): Remove.
8496 (TARGET_SYM, TARGET_NAME): Define.
8497 * coffcode.h (coff_set_arch_mach_hook) [POWERMAC]: Set the
8498 machine to 0, not all PowerMacs are 601s.
8499
8500 Fri Nov 10 12:10:14 1995 Ian Lance Taylor <ian@cygnus.com>
8501
8502 * elfcode.h (elf_object_p): Read in any program headers.
8503 * elf.c (_bfd_elf_make_section_from_shdr): Adjust section lma
8504 based on the program headers, if any.
8505 (elf_fake_sections): Set sh_addr from the vma, not the lma.
8506 (map_program_segments): Set p_paddr of program headers based on
8507 the lma.
8508
8509 Thu Nov 9 13:01:31 1995 Ian Lance Taylor <ian@cygnus.com>
8510
8511 * archive.c (bfd_generic_archive_p): Preserve tdata in case of
8512 failure.
8513
8514 * aoutx.h (NAME(aout,final_link)): Report a reasonable error when
8515 trying to do a relocateable link with a non-a.out object file.
8516
8517 * archive.c (bfd_generic_archive_p): Check the first object file
8518 in an archive even if target_defaulted is set. If the object file
8519 has the wrong xvec, reject it.
8520
8521 * aoutx.h (NAME(aout,set_section_contents)): If a section can not
8522 be represented, report the name via _bfd_error_handler.
8523 (translate_to_native_sym_flags): Likewise.
8524 * elf32-mips.c (mips_elf_final_link): Likewise.
8525 * oasys.c (oasys_write_sections): Likewise.
8526
8527 * coffcode.h (coff_set_alignment_hook): Write RS6000COFF_C version
8528 which checks for STYP_OVRFLO sections.
8529 (coff_compute_section_file_positions): If RS6000COFF_C, handle
8530 reloc and lineno count overflows.
8531 (coff_write_object_contents): Call coff_count_linenumbers before
8532 coff_compute_section_file_positions. If RS6000COFF_C, handle
8533 reloc and lineno count overflows.
8534 * xcofflink.c (_bfd_xcoff_bfd_final_link): Count line numbers and
8535 relocs before dealing with .pad sections. Count overflow section
8536 headers when handling .pad sections.
8537
8538 * coffcode.h (coff_write_object_contents): Set a.out vstamp to 1
8539 if RS6000COFF_C.
8540
8541 * xcofflink.c (XCOFF_DESCRIPTOR): Define.
8542 (struct xcoff_link_hash_table): Add descriptor_section and
8543 special_sections fields.
8544 (_bfd_xcoff_bfd_link_hash_table_create): Initialize new fields.
8545 (xcoff_link_add_symbols): Set linkage section alignment. Create
8546 descriptor section. Check for magic symbol names (_text, etc.),
8547 and record them in special_sections if found. Set
8548 XCOFF_DESCRIPTOR flag for a function descriptor, and set its
8549 descriptor field to point back to the function code symbol.
8550 (xcoff_sweep): Always mark the special descriptor_section.
8551 (bfd_xcoff_export_symbol): Check whether the symbol might be a
8552 function descriptor, and mark it if it is.
8553 (bfd_xcoff_size_dynamic_sections): Add new special_sections
8554 parameter, and fill it in. Allocate space for the descriptor
8555 section.
8556 (xcoff_build_ldsyms): Set XCOFF_DEF_REGULAR flag when defining
8557 global linkage code. If an undefined function descriptor is
8558 exported, arrange to define it. Warn about any other undefined
8559 exported symbol.
8560 (_bfd_xcoff_bfd_final_link): Write out the descriptor section.
8561 (xcoff_write_global_symbol): Create a function descriptor when
8562 necessary.
8563 * bfd-in.h (bfd_xcoff_size_dynamic_sections): Update declaration.
8564 * bfd-in2.h: Rebuild.
8565
8566 Thu Nov 9 08:40:23 1995 Kim Knuttila <krk@cygnus.com>
8567
8568 * coff-ppc.c (ppc_coff_link_hash_entry): new types for hashing
8569 (ppc_coff_link_hash_table): new types for hashing
8570 (ppc_coff_link_hash_newfunc): hash entry constructor
8571 (ppc_coff_link_hash_table_init): hash table initializer
8572 (ppc_coff_link_hash_table_create): hash table constructor
8573 (ppc_record_toc_entry): changed references to hash table
8574 (coff_ppc_relocate_section): changed references to hash table
8575
8576 * libcoff-in.h (coff_link_hash_entry): removed toc_offset
8577 * libcoff.h: Rebuild
8578
8579 * cofflink.c (_bfd_coff_link_hash_newfunc): removed toc_offset init
8580 (coff_link_add_symbols): removed toc_offset init
8581
8582 Thu Nov 9 04:00:38 1995 Ken Raeburn <raeburn@cygnus.com>
8583
8584 * Makefile.in (.dep1): Make sure the file mkdep is to write exists
8585 first.
8586
8587 * configure.in: Added new option --with[out]-mmap. Set USE_MMAP
8588 if it is given and mmep is available.
8589 * acconfig.h: Undef USE_MMAP.
8590 * configure, config.in: Regenerated.
8591 * aoutx.h: If USE_MMAP is not defined, do all symbol and string
8592 table handling the old way.
8593 (aout_get_external_symbols): Don't complain if last byte of string
8594 table is nonzero.
8595 * libbfd.c [HAVE_MADVISE]: Include sys/types.h and sys/mman.h.
8596 (bfd_free_window) [! USE_MMAP]: Don't define.
8597 (bfd_get_file_window,
8598 _bfd_generic_get_section_contents_in_window) [! USE_MMAP]: Abort.
8599
8600 Wed Nov 8 20:03:44 1995 Eric Freudenthal <freudenthal@nyu.edu>
8601
8602 * coff-a29k.c (SIGN_EXTEND_HWORD): Use ~0xffff rather than
8603 0xffff0000.
8604
8605 Wed Nov 8 11:31:11 1995 Ian Lance Taylor <ian@cygnus.com>
8606
8607 * coff-a29k.c (a29k_reloc): Change handling of R_IREL reloc to be
8608 compatible with AMD generated COFF files. Try to support both AMD
8609 and GNU formats simultaneously.
8610 (coff_a29k_relocate_section): Likewise.
8611
8612 * libbfd.c (bfd_get_file_window): Change writable parameter from
8613 int to boolean; update all callers. Pass MAP_SHARED if not
8614 writable--it's required on Solaris. Cast fprintf argument to
8615 avoid warning.
8616 * bfd-in.h (bfd_get_file_window): Update declaration.
8617 * bfd-in2.h: Rebuild.
8618 * aoutx.h: Update calls to bfd_get_file_window.
8619
8620 * xcofflink.c (XCOFF_DEF_DYNAMIC): Rename from XCOFF_REF_DYNAMIC.
8621 Change all uses.
8622 (xcoff_swap_ldhdr_in): New static function.
8623 (xcoff_swap_ldsym_in): New static function.
8624 (xcoff_find_reloc): Handle the case of a single reloc correctly.
8625 (xcoff_link_add_symbols): If we just created a descriptor, pass it
8626 to _bfd_generic_link_add_one_symbol, to save a hash lookup.
8627 Handle XTY_ER/XMC_XO symbols correctly.
8628 (xcoff_link_add_dynamic_symbols): Rewrite to read .loader symbols
8629 rather than normal symbol table.
8630 (bfd_xcoff_import_symbol): It's not an error if the symbol is
8631 already defined with the same absolute value.
8632 (xcoff_mark): When considering called symbols, check whether the
8633 descriptor is from a dynamic object, rather than the symbol
8634 itself.
8635 (xcoff_build_ldsyms): Likewise.
8636
8637 * libbfd.c (bfd_get_file_window): Change return type to boolean.
8638 Cast realloc and malloc return values. If malloc or realloc fail,
8639 set bfd_error_no_memory.
8640 * bfd-in.h (bfd_get_file_window): Change type to boolean.
8641 * bfd-in2.h: Rebuild.
8642
8643 Tue Nov 7 11:53:48 1995 Kim Knuttila <krk@cygnus.com>
8644
8645 * coff-ppc.c (ppc_record_toc_entry): new function.
8646 (in_reloc_p): changed return value.
8647 (coff_ppc_relocate_section): much rework.
8648 (ppc_allocate_toc_section): new function.
8649 (ppc_process_before_allocation): new function.
8650 (ppc_coff_swap_sym_in_hook): new function.
8651
8652 * cofflink.c (_bfd_coff_link_hash_newfunc): initialize toc_offset.
8653 (coff_link_add_symbols): initialize toc_offset.
8654
8655 * peicode.h (coff_swap_sym_in): Added coff_swap_sym_in_hook
8656 (coff_swap_aouthdr_out): Added more sections to the data
8657 dictionary for the pe file header. Also changed linker version
8658 number on the ppc side.
8659 (dir_names): small improvements to the dictionary printing.
8660 (pe_mkobject_hook): save the file level flags.
8661
8662 * libcoff-in.h (coff_link_hash_entry): added toc_offset field
8663 (pe_tdata): added real_flags field
8664 (coff_tdata): added local_toc_sym_map and access macro
8665
8666 * libcoff.h (coff_link_hash_entry): added toc_offset field
8667 (pe_tdata): added real_flags field
8668 (coff_tdata): added local_toc_sym_map and access macro
8669
8670 * coffcode.h (coff_set_alignment_hook): added hook for PE.
8671 (coff_mkobject): init for local_toc_sym_map
8672 (coff_write_object_contents): set the internal_a.magic to
8673 IMAGE_NT_OPTIONAL_HDR_MAGIC which appears to be what other
8674 ppc compilers use.
8675
8676 Tue Nov 7 13:48:58 1995 Ian Lance Taylor <ian@cygnus.com>
8677
8678 * ecofflink.c (_bfd_ecoff_locate_line): Keep looking through stabs
8679 entries until both the line number address and the function name
8680 address are too large.
8681
8682 * configure.in: Call AC_CHECK_PROG to find and cache AR.
8683 * configure: Rebuilt.
8684
8685 * aclocal.m4 (BFD_CC_FOR_BUILD): Don't define CC_FOR_BUILD if it
8686 is defined in the environment.
8687
8688 Tue Nov 7 10:57:24 1995 Jeffrey A Law (law@cygnus.com)
8689
8690 * som.c (som_get_section_contents_in_window): Define to use
8691 generic version.
8692
8693 Mon Nov 6 17:13:15 1995 Harry Dolan <dolan@ssd.intel.com>
8694
8695 * coff-i860.c: New file, based on coff-i386.c.
8696 * cpu-i860.c: New file, based on cpu-i386.c.
8697 * hosts/i860mach3.h: New file, based on hosts/i386mach3.h.
8698 * config.bfd (i860-*-mach3*, i860-*-osf1*, i860-*-coff*): New
8699 targets, using i860coff_vec.
8700 * configure.in (i860-*-mach3*, i860-*-osf1*): New hosts, using
8701 trad-core.o and hosts/i860mach3.h.
8702 (i860coff_vec): Use coff-i860.o and cofflink.o.
8703 * configure: Rebuild.
8704 * Makefile.in: Rebuild dependencies.
8705 (ALL_MACHINES): Add cpu-i860.o.
8706 (BFD32_BACKENDS): Add coff-i860.o.
8707 (CFILES): Add cpu-i860.c and coff-i860.c.
8708 * targets.c (i860coff_vec): Declare.
8709 (bfd_target_vector): Add &i860coff_vec.
8710 * archures.c (bfd_i860_arch): Declare.
8711 (bfd_archures_list): Add &bfd_i860_arch.
8712 * coffcode.h (coff_set_arch_mach_hook): Handle I860 magic number.
8713 (coff_set_flags): Handle bfd_arch_i860.
8714 (coff_write_object_contents): Handle I860 a.out magic number.
8715
8716 Mon Nov 6 14:34:07 1995 Ian Lance Taylor <ian@cygnus.com>
8717
8718 * xcofflink.c (xcoff_link_add_symbols): Set the alignment power of
8719 the created .tc section to 2.
8720 (xcoff_mark): Don't keep a .loader reloc for a call to an
8721 undefined symbol when creating a shared library.
8722 (xcoff_build_ldsyms): When creating a shared library, generate
8723 global linkage code for a call to an undefined symbol.
8724
8725 Sun Nov 5 21:44:13 1995 Ken Raeburn <raeburn@cygnus.com>
8726
8727 * Makefile.in (CFILES): Rebuild list from BFD_LIBS, ALL_MACHINES,
8728 BFD32_BACKENDS, BFD64_BACKENDS.
8729 (.dep1): Put mkdep output in a separate file.
8730 Rebuilt dependencies.
8731
8732 * ecoff.c (_bfd_ecoff_slurp_armap): Cast _bfd_read_ar_hdr return
8733 value.
8734
8735 Permit use of mmap when available:
8736
8737 * configure.in: Check for mmap, madvise, mprotect.
8738 * config.in, configure: Regenerated.
8739
8740 * libbfd.c (struct _bfd_window_internal): Define type.
8741 (bfd_init_window, bfd_free_window, bfd_get_file_window): New
8742 functions.
8743 (ok_to_map): New static variable for debugging.
8744 (_bfd_generic_get_section_contents_in_window): New function.
8745 * bfd-in.h (bfd_window_internal): Declare type.
8746 (bfd_window): Define type.
8747 (bfd_init_window, bfd_free_window, bfd_get_file_window): Declare.
8748 * libbfd-in.h (_bfd_generic_get_section_contents_in_window):
8749 Declare.
8750
8751 * libaout.h (struct aoutdata): Add two window fields.
8752 (obj_aout_sym_window, obj_aout_string_window): New macros.
8753 * aoutx.h (some_aout_object_p): Initialize windows.
8754 (aout_get_external_symbols): Get symbol data and strings in
8755 windows instead of explicitly allocated buffers.
8756 (slurp_symbol_table): Free window instead of memory.
8757 (bfd_free_cached_info): Release windows instead of freeing storage
8758 directly.
8759 (aout_link_free_symbols): Ditto.
8760
8761 * targets.c (bfd_target): Add new field for
8762 get_section_contents_in_window.
8763 (BFD_JUMP_TABLE_GENERIC): Updated.
8764 * aout-adobe.c, aout-target.h, binary.c, bout.c, coff-alpha.c,
8765 coff-mips.c, elfxx-target.h, i386msdos.c, i386os9k.c, ieee.c,
8766 libcoff-in.h, oasys.c, srec.c, tekhex.c, versados.c: Added new
8767 macros for get_section_contents_in_window field.
8768
8769 Sat Nov 4 12:23:26 1995 Fred Fish <fnf@cygnus.com>
8770
8771 * core.c: Renamed to corefile.c
8772 * makefile.dos (OBJS): Change core.o to corefile.o
8773 * Makefile.in (CFILES, BFD_LIBS): Use corefile.c instead of core.c
8774
8775 Fri Nov 3 15:54:59 1995 Ian Lance Taylor <ian@cygnus.com>
8776
8777 * xcofflink.c (xcoff_link_add_symbols): Rename local variable sub
8778 to o. Clobber and restore the list of new csects around the call
8779 to _bfd_generic_link_add_one_symbol, in case it wants to report a
8780 linker error and the linker wants to read the symbol table. Reset
8781 the line number count of a real section even if it has no relocs.
8782 (_bfd_xcoff_bfd_final_link): If shared, set the DYNAMIC flag.
8783
8784 * coffgen.c (_bfd_coff_read_string_table): Warn if the string size
8785 is too small.
8786
8787 Thu Nov 2 23:16:39 1995 Ian Lance Taylor <ian@cygnus.com>
8788
8789 * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Don't warn about
8790 an undefined symbol in a shared link.
8791
8792 * linker.c (_bfd_generic_link_add_one_symbol): Correct type of
8793 oldtype from bfd_link_order_type to bfd_link_hash_type. From
8794 phdm@info.ucl.ac.be (Philippe De Muyter).
8795
8796 Wed Nov 1 14:26:02 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
8797
8798 * coff-m88k.c (rtype2howto): New static function.
8799 (RTYPE2HOWTO): Use it rather than a macro definition.
8800
8801 * coffcode.h (coff_write_object_contents): set internal_a.magic
8802 to PAGEMAGICPEXECPAGED #if defined (M68) && !defined (LYNXOS).
8803
8804 * configure.in: m68*-motorola-sysv* does not use ptrace-core.o;
8805 define TRAD_HEADER to new file hosts/delta68.h.
8806 m88*-motorola-sysv*, however, does use ptrace-core.o.
8807 * hosts/delta68.h: New file.
8808
8809 * ptrace-core.c (ptrace_unix_core_file_p): change bfd_zmalloc to
8810 bfd_zalloc; provide proper parm abfd to calls to bfd_zalloc.
8811
8812 Wed Nov 1 13:51:54 1995 Ken Raeburn <raeburn@cygnus.com>
8813
8814 * i386linux.c (MY(vec)): Declare before use.
8815
8816 Wed Nov 1 11:45:07 1995 Ian Lance Taylor <ian@cygnus.com>
8817
8818 * reloc16.c (bfd_coff_reloc16_get_relocated_section_contents):
8819 Pass input_bfd, not in_bfd, to bfd_coff_reloc16_extra_cases.
8820
8821 * elf.c (bfd_elf_set_dt_needed_name): Don't do anything if the
8822 BFD is not of the right type.
8823 (bfd_elf_get_needed_list): Likewise.
8824 * i386linux.c (bfd_linux_size_dynamic_sections): Likewise.
8825 * sunos.c (bfd_sunos_get_needed_list): Likewise.
8826 * xcofflink.c (XCOFF_XVECP): Define.
8827 (bfd_xcoff_link_record_set): Don't do anything if the BFD is not
8828 of the right type.
8829 (bfd_xcoff_import_symbol): Likewise.
8830 (bfd_xcoff_export_symbol): Likewise.
8831 (bfd_xcoff_link_count_reloc): Likewise.
8832 (bfd_xcoff_record_link_assignment): Likewise.
8833 (bfd_xcoff_size_dynamic_sections): Likewise.
8834
8835 * sunos.c (sunos_scan_ext_relocs): Only check the reloc symbol
8836 table index against the number of symbols for a base relative
8837 reloc.
8838
8839 * coff-rs6000.c (_bfd_xcoff_sizeof_headers): Change from macro to
8840 static function.
8841 * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Set
8842 full_aouthdr flag here...
8843 (_bfd_xcoff_bfd_final_link): ...not here.
8844
8845 Tue Oct 31 12:52:02 1995 Fred Fish <fnf@cygnus.com>
8846
8847 * libelf.h: Rename to elf-bfd.h to avoid conflict with
8848 systems that have a system <libelf.h>.
8849 * Makefile.in: Globally replace libelf.h with elf-bfd.h.
8850 * bfd.c, elf.c, elf32-arc.c, elf32-gen.c, elf32-hppa.c,
8851 elf32-hppa.h, elf32-i386.c, elf32-i860.c, elf32-m68k.c,
8852 elf32-m88k.c, elf32-mips.c, elf32-ppc.c, elf32-sparc.c,
8853 elf64-gen.c, elf64-sparc.c, elfcode.h, elflink.c,
8854 elfxx-target.h: Include elf-bfd.h rather than libelf.h.
8855 * elfxx-target.h: Change libelf.h reference to elf-bfd.h.
8856
8857 Tue Oct 31 15:30:07 1995 David Mosberger-Tang <davidm@azstarnet.com>
8858
8859 * ecoff.c (ecoff_set_symbol_info): Add new parameter weak. If
8860 set, set BSF_WEAK in symbol. Change all callers.
8861 (ecoff_get_extr): Set weakext based on BSF_WEAK.
8862 (ecoff_link_add_externals): If weakext is set, pass BSF_WEAK to
8863 _bfd_generic_link_add_one_symbol.
8864 (ecoff_indirect_link_order): Check that the section tdata relocs
8865 are not NULL before using them.
8866
8867 * configure.in (alpha*-*-linux*): Set COREFILE to trad-core.o and
8868 define TRAD_HEADER as hosts/alphalinux.h.
8869 * configure: Rebuild.
8870 * hosts/alphalinux.h: New file.
8871 * trad-core.c (trad_unix_core_file_p): Cast u.u_ar0 to bfd_vma,
8872 not int.
8873
8874 Tue Oct 31 12:34:11 1995 Ian Lance Taylor <ian@cygnus.com>
8875
8876 * coffcode.h (coff_slurp_symbol_table): Accept C_BCOMM and
8877 C_ECOMM storage classes.
8878
8879 * xcofflink.c (xcoff_mark_symbol): New static function, broken out
8880 of xcoff_mark.
8881 (xcoff_mark): Call xcoff_mark_symbol.
8882 (bfd_xcoff_export_symbol): Call xcoff_mark_symbol.
8883 (bfd_xcoff_link_count_reloc): Call xcoff_mark_symbol rather than
8884 doing it by hand.
8885 (xcoff_build_ldsyms): Build a .loader symbol for an export symbol.
8886
8887 Mon Oct 30 14:53:48 1995 Ian Lance Taylor <ian@cygnus.com>
8888
8889 * xcofflink.c (struct xcoff_final_link_info): Add new line_filepos
8890 field.
8891 (xcoff_find_reloc): New static function.
8892 (xcoff_link_add_symbols): Use it.
8893 (_bfd_xcoff_bfd_final_link): Set finfo.line_filepos.
8894 (xcoff_link_input_bfd): Handle C_BINCL and C_EINCL. Don't
8895 relocate the value of C_DECL.
8896
8897 * elf.c (elf_fake_sections): Remove bogus BFD_ASSERT.
8898
8899 Sat Oct 28 01:25:34 1995 steve chamberlain <sac@slash.cygnus.com>
8900
8901 * cofflink.c (_bfd_coff_generic_relocate_section): Make
8902 callback decide what goes in .relocs.
8903 * pe[i]-i386.c (TARGET_UNDERSCORE): Define.
8904 * peicode.h (pe_mkobject_hook): Only copy aouthdr if
8905 there is one.
8906
8907 Sat Oct 28 01:51:02 1995 Ian Lance Taylor <ian@cygnus.com>
8908
8909 * xcofflink.c (xcoff_link_add_symbols): Handle csects in the
8910 absolute section.
8911
8912 Fri Oct 27 18:14:39 1995 Ian Lance Taylor <ian@cygnus.com>
8913
8914 * xcofflink.c: More improvements, mostly to fix handling of
8915 constructors and a few other special cases.
8916 * coff-rs6000.c (rs6000coff_vec): Set symbol_leading_char back to
8917 zero, reverting yesterday's change.
8918 * bfd-in.h (bfd_xcoff_link_record_set): Declare.
8919 (bfd_xcoff_link_count_reloc): Declare.
8920 (bfd_xcoff_record_link_assignment): Declare.
8921 * bfd-in2.h: Rebuild.
8922
8923 Fri Oct 27 14:42:15 1995 Niklas Hallqvist <niklas@appli.se>
8924
8925 * PORTING, aout-arm.c, aout-encap.c, aout-target.h,
8926 aoutx.h, gen-aout.c, host-aout.c, hp300bsd.c, i386aout.c
8927 i386bsd.c, i386dynix.c, i386linux.c, i386lynx.c, i386mach3.c,
8928 i386netbsd.c, m68klynx.c, m88kmach3.c, mipsbsd.c, newsos3.c,
8929 ns32knetbsd.c, pc532-mach.c, riscix.c, sparclynx.c, sparcnetbsd.c:
8930 Change PAGE_SIZE to TARGET_PAGE_SIZE.
8931
8932 * m68knetbsd.c: Ditto as well as add support for the m68k4k object
8933 format.
8934
8935 * netbsd.h: Double ditto (incl. m68k4k support). NetBSD's text
8936 segments includes the a.out header. See to that the magic number
8937 *always* is big-endian.
8938
8939 * config.bfd: Add m68*-hp*-netbsd* case. Cross-pollinate m68k and
8940 m68k4k NetBSD configurations.
8941
8942 * configure.in, configure: Separate i386 & mips NetBSD
8943 configurations from other BSD ones. Don't assume DEC is the only
8944 thing NetBSD/mips run on. Add {m68k,ns32k,sparc}-*-netbsd*
8945 configurations. Add support for m68k4k NetBSD object format.
8946
8947 * libaout.h: Added M_68K4K_NETBSD magic.
8948
8949 * m68k4knetbsd.c: New file.
8950
8951 * hosts/{m68k,sparc}nbsd.h: Don't define HOST_BIG_ENDIAN_P.
8952
8953 * hosts/nbsd.h: Define HOST_BIG_ENDIAN_P according to
8954 <machine/endian.h>.
8955
8956 * hosts/mipsnbsd.h: New file.
8957
8958 Thu Oct 26 14:16:47 1995 Ian Lance Taylor <ian@cygnus.com>
8959
8960 * xcofflink.c: Numerous changes to get closer to a working XCOFF
8961 linker.
8962 * libcoff-in.h (struct xcoff_tdata): Add full_aouthdr,
8963 toc_section, and entry_section fields.
8964 (struct xcoff_section_tdata): Remove ldrel_count field.
8965 * libcoff.h: Rebuild.
8966 * coffcode.h (coff_mkobject_hook): Initialize new xcoff_data
8967 fields.
8968 (coff_compute_section_file_positions): If RS6000COFF_C, generate
8969 full a.out header if full_aouthdr is set in xcoff_data.
8970 (coff_write_object_contents): Likewise. Set o_snentry and o_sntoc
8971 based on sections stored in xcoff_data.
8972 * coff-rs6000.c (xcoff_copy_private_bfd_data): Copy new xcoff_data
8973 fields.
8974 (xcoff_reloc_type_lookup): Handle BFD_RELOC_CTOR.
8975 (rs6000coff_vec): Set symbol_leading_char to '.'.
8976 * coffgen.c (coff_get_symbol_info): If fix_value is set, fix the
8977 value stored in ret rather than returning a pointer value.
8978
8979 Wed Oct 25 23:10:39 1995 Michael Meissner <meissner@tiktok.cygnus.com>
8980
8981 * config.bfd (powerpc{,le}-{elf,sysv4,eabi,solaris2}): Remove MAC
8982 format for now.
8983
8984 Wed Oct 25 16:19:27 1995 Jeffrey A Law (law@cygnus.com)
8985
8986 * som.c (som_slurp_string_table): Allocate the strings with malloc
8987 since they're free'd by free_cached_info.
8988 (som_slurp_symbol_table): Similarly for the symbol table.
8989
8990 Wed Oct 25 14:59:22 1995 Per Bothner <bothner@kalessin.cygnus.com>
8991
8992 * Makefile.in (diststuff): Don't make headers.
8993
8994 Wed Oct 25 11:32:54 1995 Ian Lance Taylor <ian@cygnus.com>
8995
8996 * Makefile.in: Rebuild dependencies.
8997
8998 * sunos.c (bfd_sunos_record_link_assignment): Don't do anything if
8999 output_bfd is not SunOS.
9000 (bfd_sunos_size_dynamic_sections): Likewise. Don't scan relocs of
9001 non-SunOS input files.
9002
9003 * xcofflink.c: Extensive changes to support linking shared objects
9004 and generating a .loader section.
9005 * libcoff-in.h (struct xcoff_tdata): Add import_file_id field.
9006 (struct xcoff_section_tdata): Add lineno_count, first_symndx,
9007 last_symndx, and ldrel_count fields.
9008 * libcoff.h: Rebuild.
9009 * coff-rs6000.c (xcoff_howto_table): Correct reloc names.
9010 * coffcode.h (styp_to_sec_flags): Don't set any flags if STYP_PAD
9011 is set.
9012 * bfd-in.h (bfd_xcoff_import_symbol): Declare.
9013 (bfd_xcoff_export_symbol): Declare.
9014 (bfd_xcoff_size_dynamic_sections): Declare.
9015 * bfd-in2.h: Rebuild.
9016
9017 Tue Oct 24 17:44:20 1995 Stan Shebs <shebs@andros.cygnus.com>
9018
9019 * configure.in: Add xcofflink.o to pmac_xcoff_vec.
9020 * configure: Rebuild.
9021 * mpw-config.in: Add xcofflink.c.o to powerpc-apple-macos.
9022 * coff-pmac.c: Include coff-rs6000.c instead of duplicating its
9023 contents.
9024 (pmac_xcoff_vec): Update to use new xcoff support.
9025 * coff-rs6000.c (xcoff_generic_stat_arch_elt): Make static.
9026 (xcoff_write_armap): Declare buf as unsigned char.
9027 * xcofflink.c (xcoff_link_add_symbols): Declare a local as PTR.
9028
9029 * mpw-make.sed: Generalize subdir_do edit.
9030
9031 Tue Oct 24 10:25:01 1995 Jeffrey A Law (law@cygnus.com)
9032
9033 * hppabsd-core.c (make_bfd_asection): Initialize asect->filepos
9034 correctly. Don't initialize asect->vma.
9035
9036 Fri Oct 20 13:23:48 1995 Ken Raeburn <raeburn@cygnus.com>
9037
9038 * opncls.c (_bfd_new_bfd): If _bfd_chunksize wasn't preset, use
9039 something a little less than the page size.
9040
9041 Thu Oct 19 13:06:09 1995 Ian Lance Taylor <ian@cygnus.com>
9042
9043 * coff-i960.c (coff_i960_adjust_symndx): Clear *adjustedp.
9044
9045 Wed Oct 18 16:20:08 1995 steve chamberlain <sac@slash.cygnus.com>
9046
9047 * coff-i386.c (coff_i386_reloc_type_lookup): New.
9048 * coffcode.h (coff_write_object_contents): If .bss is before
9049 .data us that as data_start.
9050 * cofflink.c (_bfd_coff_generic_relocate_section): Get reloc
9051 calc correct.
9052 * peicode.h (add_data_entry): Use _cooked_size of data directory.
9053 (coff_swap_outhdr_out): Hardwire in version number.
9054
9055 Wed Oct 18 16:50:54 1995 Ken Raeburn <raeburn@cygnus.com>
9056
9057 * sunos.c (sunos_add_dynamic_symbols): Rename local variables
9058 major and minor to *_vno, since the former are also macros in
9059 SunOS header files. Cast result of bfd_alloc to appropriate
9060 type.
9061
9062 * coffgen.c (coff_find_nearest_line): Cast used_by_bfd value
9063 before assigning to sec_data.
9064
9065 Wed Oct 18 13:25:17 1995 Ian Lance Taylor <ian@cygnus.com>
9066
9067 * ecoff.c (_bfd_ecoff_find_nearest_line): The offset argument is
9068 now relative to the section, not absolute.
9069 * ecofflink.c (_bfd_ecoff_locate_line): Use the right symbol to
9070 get the file name when there is a N_SO directory name. When
9071 handling stabs, remember that section->vma was added to the
9072 offset.
9073
9074 Tue Oct 17 18:24:54 1995 Ian Lance Taylor <ian@cygnus.com>
9075
9076 * sunos.c (struct sunos_link_hash_table): Add needed field.
9077 (sunos_link_hash_table_create): Call bfd_release, not free.
9078 (sunos_link_hash_table_create): Initialize needed field.
9079 (sunos_add_dynamic_symbols): Record needed objects.
9080 (bfd_sunos_get_needed_list): New function.
9081 * bfd-in.h (bfd_sunos_get_needed_list): Declare.
9082 * bfd-in2.h: Rebuild.
9083
9084 Mon Oct 16 14:43:59 1995 steve chamberlain <sac@slash.cygnus.com>
9085
9086 * libcoff-in.h (pe_data_type.in_reloc_p): New.
9087
9088 Mon Oct 16 10:52:50 1995 Ian Lance Taylor <ian@cygnus.com>
9089
9090 * bfd-in.h (struct bfd_link_needed_list): Rename from
9091 bfd_elf_link_needed_list.
9092 * bfd-in2.h: Rebuild.
9093 * elf.c, elflink.h, libelf.h: Corresponding changes.
9094
9095 Add start at AIX linker support; no shared libraries yet.
9096 * xcofflink.c: New file.
9097 * configure.in (rs600coff_vec): Use xcofflink.o.
9098 * configure: Rebuild.
9099 * libcoff-in.h (struct xcoff_tdata): Add csects and debug_indices
9100 fields.
9101 (struct xcoff_section_tdata): Define.
9102 (xcoff_section_data): Define macro.
9103 (_bfd_xcoff_bfd_link_hash_table_create): Declare.
9104 (_bfd_xcoff_bfd_link_add_symbols): Declare.
9105 (_bfd_xcoff_bfd_final_link): Declare.
9106 (_bfd_ppc_xcoff_relocate_section): Declare.
9107 * libcoff.h: Rebuild.
9108 * coff-rs6000.c: Clean up a bit.
9109 (xcoff_mkobject): Default modtype to 1L, not RE. Initialize
9110 cputype, csects, and debug_indices.
9111 (xcoff_copy_private_bfd_data): Copy cputype.
9112 (xcoff_howto_table): Rename from rs6000coff_howto_table.
9113 (xcoff_rtype2howto): Rename from rs6000coff_rtype2howto.
9114 (xcoff_reloc_type_lookup): Rename from
9115 rs6000coff_reloc_type_lookup.
9116 (coff_relocate_section): Define.
9117 (_bfd_xcoff_sizeof_headers): Define.
9118 (_bfd_xcoff_bfd_get_relocated_section_contents): Define.
9119 (_bfd_xcoff_bfd_relax_section): Define.
9120 (_bfd_xcoff_bfd_link_split_section): Define.
9121 (rs6000coff_vec): For BFD_JUMP_TABLE_LINK, use _bfd_xcoff, not
9122 coff.
9123 * coffcode.h (coff_compute_section_file_positions): If AIX,
9124 increment sofar by SMALL_AOUTSZ if not executable.
9125 (coff_write_object_contents): If AIX, always output an a.out
9126 header; if not executable, header size of SMALL_AOUTSZ.
9127 * hash.c (struct bfd_strtab_hash): Add xcoff field.
9128 (_bfd_stringtab_init): Initialize xcoff field.
9129 (_bfd_xcoff_stringtab_init): New function.
9130 (_bfd_stringtab_add): In XCOFF mode, leave two bytes for length.
9131 (_bfd_stringtab_emit): In XCOFF mode, write out length.
9132 * libbfd-in.h (_bfd_xcoff_stringtab_init): Declare.
9133 * libbfd.h: Rebuild.
9134 * Makefile.in: Rebuild dependencies.
9135 (BFD32_BACKENDS): Add xcofflink.o.
9136 (CFILES): Add xcofflink.c.
9137
9138 * elf32-mips.c (mips_elf_symbol_processing): Set SEC_ALLOC, not
9139 SEC_NO_FLAGS, for .acommon section. From Peter Schauer
9140 <Peter.Schauer@Regent.E-Technik.TU-Muenchen.DE>.
9141
9142 Sat Oct 14 21:36:02 1995 Michael Meissner <meissner@tiktok.cygnus.com>
9143
9144 * coff-ppc.c (in_reloc_p): Add, clone from coff-i386.c.
9145
9146 Fri Oct 13 17:48:43 1995 Ken Raeburn <raeburn@cygnus.com>
9147
9148 * acconfig.h (HAVE_SYS_PROCFS_H): Undef, with comment.
9149 * config.in: Regenerated.
9150
9151 * opncls.c (getpagesize) [!HAVE_GETPAGESIZE]: Define as 2048.
9152 (_bfd_chunksize): New variable.
9153 (_bfd_new_bfd): Set it to getpagesize() if negative, and use it
9154 for obstack chunk size.
9155 * configure.in: Check for getpagesize.
9156 * configure: Regenerated.
9157
9158 Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
9159
9160 * trad-core.c (rawptr): Make it a local variable of
9161 ptrace_unix_core_file_p.
9162
9163 Fri Oct 13 11:22:01 1995 steve chamberlain <sac@slash.cygnus.com>
9164
9165 * coff-arm.c (in_reloc_p): New.
9166 * coff-i386.c (in_reloc_p): New.
9167 * coffcode.h: Allways include peicode.h if COFF_WITH_PE.
9168 (coff_write_object_contents): Only set has_reloc_section
9169 if PE_IMAGE.
9170 * cofflink.c (_bfd_coff_generic_relocate_section): Call
9171 in_reloc_p to decide if reloc should be emitted.
9172 * libcoff.h (pe_data_type.in_reloc_p): New.
9173 * peicode.h (pe_mkobject): Initialize in_reloc_p.
9174
9175 Wed Oct 11 00:49:29 1995 Ian Lance Taylor <ian@cygnus.com>
9176
9177 * cofflink.c (_bfd_coff_internal_syment_name): Move to coffgen.c.
9178 (_bfd_coff_read_internal_relocs): Likewise.
9179 * coffgen.c (_bfd_coff_internal_syment_name): Copy from coffgen.c.
9180 (_bfd_coff_read_internal_relocs): Likewise.
9181
9182 * elflink.h (elf_link_add_object_symbols): Correct conditions
9183 under which type and size change warnings are issued.
9184
9185 Tue Oct 10 18:32:46 1995 Ian Lance Taylor <ian@cygnus.com>
9186
9187 * coffgen.c (coff_count_linenumbers): Don't count line numbers for
9188 a symbol which is not in a real section.
9189 (coff_write_native_symbol): Corresponding change.
9190
9191 * cofflink.c (_bfd_coff_link_hash_newfunc): Rename from
9192 coff_link_hash_newfunc and make non-static.
9193 (_bfd_coff_link_hash_table_init): New function, broken out of
9194 _bfd_coff_link_hash_table_create.
9195 (_bfd_coff_link_hash_table_create): Use it.
9196 (process_embedded_commands): Make static.
9197 * libcoff-in.h ((_bfd_coff_link_hash_newfunc): Declare.
9198 (_bfd_coff_link_hash_table_init): Declare.
9199 * libcoff.h: Rebuild.
9200
9201 * coffcode.h (coff_mkobject_hook): If RS6000COFF_C, set cputype
9202 field in XCOFF tdata.
9203 (coff_set_arch_mach_hook): Check ifdef RS6000COFF_C, not ifdef
9204 U802ROMAGIC, for clarity. Try to set arch and machine correctly
9205 based on cputype stored in a.out header, or in n_type of initial
9206 .file symbol.
9207 (coff_write_object_contents): Set cputype correctly in a.out
9208 header.
9209 (coff_slurp_symbol_table): Add casts to file_ptr to avoid
9210 warnings.
9211 * coffswap.h (coff_swap_aouthdr_in): Swap in cputype field.
9212 (coff_swap_aouthdr_out): Swap out cputype field. Don't clear
9213 old resv1 field.
9214 * libcoff-in.h (struct xcoff_tdata): Add cputype field.
9215 * libcoff.h: Rebuild.
9216
9217 * cpu-rs6000.c (rs6000_compatible): New static function.
9218 (bfd_rs6000_arch): Use it.
9219 * cpu-powerpc.c (powerpc_compatible): New static function.
9220 (arch_info_struct): Define various flavours of PowerPC.
9221 (bfd_powerpc_arch): Use powerpc_compatible. Point at
9222 arch_info_struct.
9223
9224 Tue Oct 10 10:50:46 1995 Fred Fish <fnf@cygnus.com>
9225
9226 * Makefile.in (FLAGS_TO_PASS): Remove BISON.
9227
9228 Tue Oct 10 01:28:29 1995 Ian Lance Taylor <ian@cygnus.com>
9229
9230 * elflink.h (elf_link_add_object_symbols): Don't warn about
9231 changing the size or type if the old definition was weak.
9232
9233 Mon Oct 9 11:24:08 1995 Ian Lance Taylor <ian@cygnus.com>
9234
9235 * coffcode.h (combined_entry_type): Add fix_line field.
9236 (coff_slurp_line_table): Warn if we try to set the lineno field of
9237 a symbol twice.
9238 (coff_slurp_symbol_table): If RS6000COFF_C, handle C_BINCL and
9239 C_EINCL by setting fix_line. Fix C_BSTAT symbol value.
9240 * coffgen.c (coff_mangle_symbols): Handle fix_line.
9241 (coff_write_symbol): Only use N_DEBUG if the symbol is in the
9242 absolute section.
9243 (coff_print_symbol): Print fix_value symbols in a useful fashion.
9244 * libcoff.h: Rebuild.
9245
9246 * libcoff-in.h (struct xcoff_tdata): Define.
9247 (xcoff_data): Define.
9248 * bfd.c (struct _bfd): Add xcoff_obj_data field to tdata union.
9249 * bfd-in2.h, libcoff.h: Rebuild.
9250 * coff-rs6000.c (xcoff_mkobject): New static function.
9251 (coff_mkobject): Define.
9252 (xcoff_copy_private_bfd_data): New static function.
9253 (coff_bfd_copy_private_bfd_data): Define.
9254 (rs6000coff_howto_table): Change R_TOC complain_on_overflow from
9255 signed to bitfield.
9256 (rs6000coff_vec): Add DYNAMIC to object_flags.
9257 * coffcode.h (sec_to_styp_flags): If RS6000COFF_C, handle .pad and
9258 .loader sections specially.
9259 (coff_new_section_hook): If RS6000COFF_C, get the .text and .data
9260 section alignment from the XCOFF tdata information.
9261 (coff_mkobject_hook): If RS6000COFF_C, set DYNAMIC based on
9262 F_SHROBJ, and copy the extra a.out header information into the
9263 XCOFF tdata structure.
9264 (coff_write_object_contents): If RS6000COFF_C, set F_SHROBJ,
9265 F_DYNLOAD and the extra a.out header information.
9266 (coff_slurp_symbol_table): Set BSF_NOT_AT_END for a C_EXT or
9267 C_HIDEXT symbol with attached csect information.
9268 * coffswap.h (coff_swap_aouthdr_in): If RS6000COFF_C, swap
9269 in the o_maxdata field.
9270 (coff_swap_aouthdr_out): If RS6000COFF_C, swap extra XCOFF fields.
9271 * coffgen.c (coff_renumber_symbols): Don't move any symbol to the
9272 end if BSF_NOT_AT_END is set.
9273
9274 * targets.c (bfd_target): Rename _bfd_read_ar_hdr field to
9275 _bfd_read_ar_hdr_fn.
9276 * libbfd-in.h (_bfd_read_ar_hdr): Update accordingly.
9277 * bfd-in2.h, libbfd.h: Rebuild.
9278 * archive.c (_bfd_get_elt_at_filepos): Cast _bfd_read_ar_hdr
9279 return value.
9280 (do_slurp_bsd_armap, do_slurp_coff_armap): Likewise.
9281 (bfd_slurp_bsd_armap_f2): Likewise.
9282 (_bfd_slurp_extended_name_table): Likewise.
9283
9284 Fri Oct 6 16:18:35 1995 Ken Raeburn <raeburn@cygnus.com>
9285
9286 Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
9287
9288 * archive.c (bfd_get_next_mapent): Return BFD_NO_MORE_SYMBOLS
9289 when the symbol table is empty.
9290
9291 * elf32-m68k.c (elf_m68k_size_dynamic_sections): Don't reserve
9292 space for section symbols, since we don't output them either.
9293 (elf_m68k_adjust_dynindx): Removed.
9294
9295 * ptrace-core.c (rawptr): Make it a local variable of
9296 ptrace_unix_core_file_p.
9297
9298 Fri Oct 6 12:24:47 1995 Michael Meissner <meissner@tiktok.cygnus.com>
9299
9300 * coff-rs6000.c (xcoff_write_archive_contents): Return false, not
9301 NULL.
9302
9303 * config.bfd (powerpc{,le}-{elf,sysv4,eabi,solaris2}): Add NT, and
9304 Mac object file formats.
9305
9306 Fri Oct 6 12:04:02 1995 Ian Lance Taylor <ian@cygnus.com>
9307
9308 * coffgen.c (coff_fix_symbol_name): Don't try to set up file
9309 auxent if there isn't one.
9310 (coff_write_symbols): If there is no file auxent, use SYMNMLEN
9311 rather than FILNMLEN as the maximum name length.
9312
9313 * coffcode.h (bfd_coff_backend_data): Add new field
9314 _bfd_coff_print_aux.
9315 (bfd_coff_print_aux): New static function.
9316 (coff_pointerize_aux_hook (RS6000COFF_C version)): Pointerize the
9317 scnlen field of an XTY_LD csect aux entry.
9318 (coff_print_aux): New static function.
9319 (coff_slurp_symbol_table): Don't pointerize scnlen field; now done
9320 in coff_pointerize_aux_hook.
9321 (bfd_coff_std_swap_table): Initialize new field.
9322 * coffgen.c (coff_print_symbol): Call bfd_coff_print_aux.
9323 * libcoff.h: Rebuild.
9324 * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
9325 * coff-mips.c (mips_ecoff_backend_data): Likewise.
9326
9327 * coffcode.h (coff_write_object_contents): On AIX, clear F_RELFLG
9328 if there are symbols, for native AIX ld compatibility.
9329
9330 * coffcode.h (bfd_coff_backend_data): Add new field
9331 _bfd_coff_pointerize_aux_hook.
9332 (coff_pointerize_aux_hook): Define as a function if RS6000COFF_C
9333 or I960, and as 0 otherwise.
9334 (bfd_coff_std_swap_table): Initialize new field.
9335 * libcoff.h: Rebuild.
9336 * coffgen.c (coff_pointerize_aux): Change parameters to take
9337 symbol pointer instead of type and class, and to take aux index.
9338 Call _bfd_coff_pointerize_aux_hook if it is defined.
9339 (coff_get_normalized_symtab): Always call coff_pointerize_aux.
9340 * coff-alpha.c (alpha_ecoff_backend_data): Initialize all fields.
9341 * coff-mips.c (mips_ecoff_backend_data): Likewise.
9342
9343 * coff-rs6000.c: Add full support for AIX archives. Rewrite old
9344 read-only/host-only support.
9345
9346 * coffcode.h (coff_slurp_symbol_table): Set C_HIDEXT symbols to be
9347 BSF_LOCAL.
9348 (OTHER_GLOBAL_CLASS): Do not define to be C_HIDEXT if
9349 RS6000COFF_C.
9350
9351 * targets.c (bfd_target): Add _bfd_read_ar_hdr field. Modify
9352 BFD_JUMP_TABLE_ARCHIVE accordingly.
9353 * libbfd-in.h (_bfd_snarf_ar_hdr): Don't declare.
9354 (_bfd_compute_and_write_armap): Declare.
9355 (_bfd_generic_read_ar_hdr): Declare.
9356 (_bfd_read_ar_hdr): Define.
9357 (_bfd_noarchive_read_ar_hdr): Define.
9358 (_bfd_archive_bsd_read_ar_hdr): Define.
9359 (_bfd_archive_coff_read_ar_hdr): Define.
9360 * archive.c: Change all callers of _bfd_snarf_ar_hdr to call
9361 _bfd_read_ar_hdr instead.
9362 (_bfd_generic_read_ar_hdr): Rename from _bfd_snarf_ar_hdr.
9363 (_bfd_compute_and_write_armap): Rename from
9364 compute_and_write_armap. Make non-static. Change all callers.
9365 * ecoff.c (_bfd_ecoff_slurp_armap): Call _bfd_read_ar_hdr rather
9366 than _bfd_snarf_ar_hdr.
9367 * aout-target.h (MY_read_ar_hdr): Define if not defined.
9368 * ieee.c (ieee_read_ar_hdr): Define.
9369 * libecoff.h (_bfd_ecoff_read_ar_hdr): Define.
9370 * oasys.c (oasys_read_ar_hdr): Define.
9371 * som.c (som_read_ar_hdr): Define.
9372 * bfd-in2.h, libbfd.h: Rebuild.
9373
9374 Thu Oct 5 14:04:07 1995 steve chamberlain <sac@slash.cygnus.com>
9375
9376 * peicode.c (coff_swap_filehdr_in): If symptr is
9377 zero, there aren't any symbols, even if nsyms is set.
9378
9379 Thu Oct 5 11:45:02 1995 Ian Lance Taylor <ian@cygnus.com>
9380
9381 * libecoff.h (struct ecoff_backend_data): Add adjust_headers
9382 field.
9383 * ecoff.c (ecoff_sec_to_styp_flags): Check for various Alpha
9384 sections, and set styp correctly for them: .got, .hash, .dynamic,
9385 .liblist, .rel.dyn, .conflic, .dynstr, .dynsym, .comment.
9386 (_bfd_ecoff_styp_to_sec_flags): Check for various Alpha section
9387 types.
9388 (ecoff_sort_hdrs): New static function.
9389 (ecoff_compute_section_file_positions): Return boolean, not void.
9390 Sort the sections by VMA before looking through them. Put the
9391 first non SEC_ALLOC section on a new page. Put every SEC_ALLOC
9392 section on an appropriate boundary within the page.
9393 (ecoff_compute_reloc_file_positions): Check return value of
9394 ecoff_compute_section_file_positions.
9395 (_bfd_ecoff_set_section_contents): Likewise.
9396 (_bfd_ecoff_write_object_contents): Check for various Alpha
9397 section types when incrementing text_size and data_size. Call
9398 adjust_headers backend function if it exists.
9399 * coff-alpha.c (alpha_adjust_headers): New static function.
9400 (alpha_ecoff_backend_data): Initialize adjust_headers field.
9401 * coff-mips.c (mips_ecoff_backend_data): Likewise.
9402
9403 * hosts/i386bsd.h: Restore file incorrectly deleted on Sep 6.
9404
9405 Wed Oct 4 18:15:02 1995 Jeff Law (law@hurl.cygnus.com)
9406
9407 * rs6000-core.c (CORE_VERSION_1): Use CORE_VERSION_1 instead
9408 of ALTERNATE_AIX_CORE_FORMAT.
9409 * configure.in (aix4): No longer need CORE_FLAGS.
9410 * configure: Updated.
9411
9412 Wed Oct 4 15:36:36 1995 Ken Raeburn <raeburn@cygnus.com>
9413
9414 NS32k changes from Ian Dall:
9415 * aoutx.h (MY_final_link_relocate, MY_relocate_contents): New
9416 macros.
9417 (aout_link_input_section_std, aout_link_input_section_ext,
9418 aout_link_reloc_link_order): Call them instead of _bfd_*
9419 versions.
9420 * aout-target.h (MY_exec_header_not_counted): New macro, defaults
9421 to zero.
9422 (backend_data): Use it instead of hardcoded zero.
9423
9424 * aout-ns32k.c (CTOR_TABLE_RELOC_HOWTO): New macro.
9425 (MY_swap_std_reloc_out): Use udata.i for KEEPIT, don't call stoi.
9426
9427 * ns32knetbsd.c: Include bfd.h.
9428 (MY_text_includes_header, MY_bfd_reloc_type_lookup): New macros.
9429 (MY_bfd_reloc_type_lookup): Declare function too.
9430 * pc532-mach.c (set_sizes): Don't declare.
9431 (MY_text_includes_header, MY_exec_header_not_counted): Define.
9432 (backend_data, MY_backend_data): Don't define.
9433
9434 * config.bfd: Treat ns32k-pc532-ux* like ns32k-pc532-mach*, and
9435 ns32k-*-lites* like ns32k-*-netbsd*.
9436
9437 * hosts/nbsd.h: Swap order of sys/vmparam.h and sys/param.h, to
9438 compile on lites.
9439
9440 Wed Oct 4 14:15:52 1995 Ian Lance Taylor <ian@cygnus.com>
9441
9442 * coffcode.h (coff_write_object_contents): Restore setting
9443 f_timdat to 0, deleted on August 22.
9444
9445 Tue Oct 3 16:28:32 1995 steve chamberlain <sac@slash.cygnus.com>
9446
9447 * coffcode.h (coff_bfd_copy_private_symbol_data,
9448 coff_bfd_copy_private_section_data,
9449 coff_bfd_copy_private_bfd_data): ifdef to allow overrides.
9450 * peicode.h (coff_bfd_copy_private_bfd_data): New
9451 (pe_bfd_copy_private_bfd_data): New.
9452 (coff_swap_scnhdr_in): Swap bss size into the right place.
9453 (pe_print_private_bfd_data): Add some newlines.
9454
9455 Tue Oct 3 11:53:04 1995 Jeff Law (law@hurl.cygnus.com)
9456
9457 * som.c (setup_sections): Don't die if a space has no subspaces.
9458
9459 Mon Oct 2 14:08:55 1995 Ian Lance Taylor <ian@cygnus.com>
9460
9461 * elflink.h (elf_link_add_object_symbols): Don't let a weak
9462 dynamic symbol override a common symbol. Don't change the size or
9463 type if they have been set and the new symbol is not a definition.
9464 Warn if the size or type changes.
9465
9466 Sun Oct 1 01:34:41 1995 Jeff Law (law@hurl.cygnus.com)
9467
9468 * som.c (som_begin_writing): Don't write the symbol table or
9469 symbol strings.
9470 (som_finish_writing): Write them here. Place them after the
9471 subspace data, but before the relocs.
9472
9473 Fri Sep 29 11:01:55 1995 Ian Lance Taylor <ian@cygnus.com>
9474
9475 * sunos.c (sunos_add_one_symbol): Just pass false, not
9476 info->shared_library, to sunos_create_dynamic_sections.
9477 (sunos_scan_ext_relocs): Don't warn about a reloc in the .text
9478 section.
9479 (sunos_check_dynamic_reloc): Remove .text section assertion.
9480
9481 Thu Sep 28 18:48:47 1995 Stan Shebs <shebs@andros.cygnus.com>
9482
9483 * config.bfd: Add powerpc-*-macos*, powerpc-*-mpw*.
9484 * configure, configure.in: Add pmac_xcoff_vec case.
9485 * Makefile.in (BFD32_BACKENDS): Add coff-pmac.o.
9486 * coff-pmac.c: New file, PowerMac XCOFF support.
9487 * coffcode.h (coff_set_arch_mach_hook): Add PowerMac case.
9488 * targets.c (pmac_xcoff_vec): Declare.
9489
9490 * mpw-config.in: Various changes to be compatible with the
9491 autoconf-based configury.
9492 * mpw-make.sed: New file, sed commands to translate Unix
9493 makefile into MPW syntax.
9494 * mpw-make.in: Remove.
9495 * hosts/mpw.h: Remove.
9496 * bfd-in.h, bfd-in2.h: If MPW, include the file that defines
9497 true and false as enums, then define TRUE_FALSE_ALREADY_DEFINED.
9498
9499 Thu Sep 28 17:06:23 1995 steve chamberlain <sac@slash.cygnus.com>
9500
9501 * binary.c (binary_get_symtab): Return an empty string on error.
9502 * opncls.c (bfd_fdpenr): Change WIN32 restriction to WINGDB.
9503
9504 Thu Sep 28 15:30:44 1995 Kim Knuttila <krk@nellie>
9505
9506 * coff-ppc.c: Reformatted according to gnu conventions
9507 Removed irrelevant "if 0" code
9508
9509 Thu Sep 28 11:19:53 1995 Ian Lance Taylor <ian@cygnus.com>
9510
9511 * hp300hpux.c (convert_sym_type): Treat secondary symbols as weak
9512 symbols rather than as indirect symbols.
9513 (MY(slurp_symbol_table)): Don't do anything special about
9514 secondary symbols.
9515
9516 * coffcode.h (coff_new_section_hook): Make sure that the alignment
9517 of .ctors and .dtors sections is no larger than 2.
9518
9519 * sunos.c (sunos_add_one_symbol): Don't change
9520 bfd_link_hash_common to bfd_link_hash_new, since it may be on the
9521 undef list.
9522 (bfd_sunos_record_link_assignment): Don't put __DYNAMIC in the
9523 dynamic symbols when creating a shared library.
9524 (sunos_scan_ext_relocs): Handle relocs correctly when creating a
9525 shared library.
9526 (sunos_scan_dynamic_symbol): Don't mark the __DYNAMIC symbol as
9527 written even if it is not defined in a regular object.
9528 (sunos_write_dynamic_symbol): Use plt_offset for the address of
9529 the jump table reloc. Add an assertion. Use RELOC_JMP_SLOT
9530 rather than the constant 22.
9531 (sunos_check_dynamic_reloc): Handle creating a shared library.
9532 (sunos_finish_dynamic_link): Set the first entry in the GOT to
9533 zero when creating a shared library.
9534 * aoutx.h (NAME(aout,final_link)): If there is a symbol __DYNAMIC,
9535 write it out at the start of the symbol table.
9536
9537 * Makefile.in (BFD32_BACKENDS): Add coff-arm.o.
9538
9539 Thu Sep 28 00:58:05 1995 Doug Evans <dje@deneb.cygnus.com>
9540
9541 * config.bfd: Add arm-*-coff.
9542 * configure.in, configure: Add armcoff_{little,big}_vec.
9543 * targets.c (armcoff_{little,big}_vec): Declare.
9544 (bfd_target_vector): Add armcoff_{little,big}_vec.
9545 * coff-arm.c (armcoff_{little,big}_vec): Always define.
9546
9547 Wed Sep 27 10:37:14 1995 Ian Lance Taylor <ian@cygnus.com>
9548
9549 * targets.c (bfd_find_target): Remove debugging code.
9550
9551 Wed Sep 27 07:23:39 1995 Kim Knuttila <krk@nellie>
9552
9553 * coff-ppc.c, pe-ppc.c, pei-ppc.c: Initial bfd for coff/PE
9554 support on powerpc.
9555 * Makefile.in: added *-ppc files
9556 * coffcode.h: ppc MAGIC, and use peicode.h rather than coffswap.h to
9557 allow pe based .o's to be shared with other tools on ppc/NT
9558 * config.bfd: added powerpc[le]-[pe|winnt] config support
9559 * configure, configure.in: added bfd_powerpc[le]_pe[i]_vec
9560 * peicode.h: Added more section flags for PE on ppc
9561 Added coff_swap_filehdr_out to allow peicode.h to be
9562 used for non-image PE files on ppc.
9563 Check for image, or not, before copying pe_opthdr
9564 * targets.c: Added new bfd's
9565 * targets.c: Removed two inactive bfds that shouldn't have made it this
9566 far.
9567
9568 Tue Sep 26 14:06:41 1995 Michael Meissner <meissner@tiktok.cygnus.com>
9569
9570 * elf32-ppc.c (ppc_reloc_type): Rename from reloc_type, and use
9571 explicit values to initialize all relocs. Change all users.
9572 (ppc_elf_brtaken_inner): New function to handle branch predicition
9573 relocs.
9574 (ppc_elf_brtaken_reloc): Ditto.
9575 (ppc_elf_howto_raw): Use new functions. Make sure all unsupported
9576 relocs use ppc_elf_unsupported_reloc.
9577 (ppc_elf_merge_private_bfd_data): Keep track of whether an error
9578 needs to be reported.
9579 (ppc_elf_relocate_section): Support branch prediction relocs.
9580
9581 Tue Sep 26 12:48:05 1995 Ian Lance Taylor <ian@cygnus.com>
9582
9583 * bfd.c (bfd_assert): Remove \n from string passed to
9584 _bfd_error_handler.
9585
9586 * coff-i386.c: (TWO_DATA_SECS): Don't define.
9587 * coffcode.h (bfd_coff_backend_data): Remove _bfd_make_section_hook.
9588 (bfd_coff_make_section_hook): Don't define.
9589 (coff_make_section_hook): Remove.
9590 (sec_to_styp_flags): Remove TWO_DATA_SECS case.
9591 (styp_to_sec_flags): Likewise.
9592 (coff_write_object_contents): Likewise.
9593 (bfd_coff_std_swap_table): Don't initialize make_section_hook
9594 field.
9595 * libcoff.h: Rebuild.
9596 * coffgen.c (make_a_section_from_file): Just call
9597 bfd_make_section_anyway, not bfd_make_section or
9598 bfd_coff_make_section_hook.
9599 * ecoff.c (_bfd_ecoff_make_section_hook): Remove.
9600 * libecoff.h (_bfd_ecoff_make_section_hook): Don't declare.
9601 * coff-alpha.c (alpha_ecoff_backend_data): Don't initialize
9602 make_section_hook field.
9603 * coff-mips.c (mips_ecoff_backend_data): Likewise.
9604
9605 * aoutx.h (translate_from_native_sym_flags): Don't try to stuff
9606 pointers into value field for warning and indirect symbols; just
9607 leave the value field alone.
9608 * linker.c (generic_link_add_symbol_list): Use next symbol for
9609 warning and indirect symbols, rather than looking in symbol value.
9610 * ecoff.c (ecoff_set_symbol_info): Remove indirect_ptr_ptr
9611 parameter. Change all callers. Remove support for indirect
9612 symbols; it didn't work anyhow.
9613 (_bfd_ecoff_slurp_symbol_table): Remove indirect_ptr variable.
9614 * syms.c: Change comments about BSF_WARNING and BSF_INDIRECT.
9615 * bfd-in2.h: Rebuild.
9616
9617 Mon Sep 25 16:04:09 1995 Michael Meissner <meissner@tiktok.cygnus.com>
9618
9619 * elf32-ppc.c (ppc_elf_howto_raw): For all 14-bit branch relocs,
9620 go back to telling the tools this reloc operates on 32 bits.
9621
9622 Mon Sep 25 11:48:02 1995 Ian Lance Taylor <ian@cygnus.com>
9623
9624 * aout-adobe.c (aout_adobe_callback): Use _bfd_error_handler
9625 rather than a direct fprintf.
9626 * archive.c (_bfd_write_archive_contents): Likewise.
9627 * coffcode.h (coff_slurp_symbol_table): Likewise.
9628 * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Likewise.
9629 (ppc_elf_unsupported_reloc): Likewise.
9630 (ppc_elf_relocate_section): Likewise.
9631 * i386linux.c (linux_tally_symbols): Likewise.
9632 (linux_finish_dynamic_link): Likewise.
9633 * osf-core.c (osf_core_core_file_p): Likewise.
9634 * rs6000-core.c (rs6000coff_get_section_contents): Likewise.
9635 * som.c (som_sizeof_headers): Likewise.
9636 * srec.c (srec_bad_byte): Likewise.
9637 * bfd.c (bfd_assert): Likewise. Also change file to be const.
9638 * libbfd-in.h (bfd_assert): Declare first parameter const.
9639 * libbfd.h: Rebuild.
9640 * coff-a29k.c (a29k_reloc): Don't bother to fprintf; returning
9641 bfd_reloc_overflow is enough.
9642 * coff-h8300.c (rtype2howto): Don't bother to fprintf; just abort.
9643 * coff-h8500.c (rtype2howto): Likewise.
9644 * coff-z8k.c (rtype2howto): Likewise.
9645 * coffcode.h (dummy_reloc16_extra_cases): Likewise.
9646 * elf.c (_bfd_elf_get_lineno): Likewise.
9647 (_bfd_elf_no_info_to_howto): Likewise.
9648 (_bfd_elf_no_info_to_howto_rel): Likewise.
9649 * hp300hpux.c (convert_sym_type): Likewise.
9650 (MY(swap_std_reloc_in)): Likewise.
9651 * elf.c (bfd_section_from_shdr): Remove #if 0 sections.
9652
9653 * libaout.h (struct aoutdata): Add line_buf field.
9654 * aoutx.h (NAME(aout,find_nearest_line)): Remove statics buffer
9655 and filename_buffer. Instead, use a malloc buffer stored in the
9656 new line_buf field. Remove length restrictions.
9657
9658 * coffgen.c (string_size): Remove static variable.
9659 (debug_string_size, debug_string_section): Likewise.
9660 (coff_fix_symbol_name): Add string_size_p, debug_string_section_p,
9661 and debug_string_size_p parameters. Use them instead of the
9662 global variables. Change all callers.
9663 (coff_write_symbol): Likewise.
9664 (coff_write_alien_symbol, coff_write_native_symbol): Likewise.
9665 (coff_write_symbols): Add local variables to replace removed
9666 global variables.
9667
9668 * libcoff-in.h (struct coff_section_tdata): Add offset, i,
9669 function, and line_base fields.
9670 * libcoff.h: Rebuild.
9671 * coffgen.c (coff_find_nearest_line): Use section tdata to cache
9672 information, rather than using static variables.
9673
9674 * sunos.c (sunos_read_dynamic_info): Adjust offsets in an NMAGIC
9675 file. From Peter DeWolf <pld@amt.tay1.dec.com>.
9676
9677 * init.c (initialized): Remove static variable.
9678 (bfd_init): Don't bother setting initialized.
9679 (bfd_check_init): Remove.
9680 * opncls.c (_bfd_new_bfd): Don't call bfd_check_init.
9681 * libbfd.h: Rebuild.
9682
9683 Sat Sep 23 01:22:23 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
9684
9685 * rs6000-core.c (rs6000coff_core_p): Don't check the core file
9686 size for full core dumps. Copy core file header to private data.
9687 (rs6000coff_core_file_failing_command,
9688 rs6000coff_core_file_failing_signal): New functions to extract
9689 the file name and terminating signal from the core file.
9690 * coff-rs6000.c: Use them.
9691
9692 Fri Sep 22 17:44:47 1995 Ian Lance Taylor <ian@cygnus.com>
9693
9694 Change arch info to be const, initialized at compile time.
9695 * archures.c: Reindent many functions. Change CONST to const.
9696 (bfd_arch_info_type): Make arch_name const. Remove disassemble;
9697 nothing set it anyhow. Make next const.
9698 (bfd_arch_info_list): Remove.
9699 (bfd_archures_list): Rename from archures_init_table. Change from
9700 a table of function pointers to a table of bfd_arch_info_type
9701 structure addresses.
9702 (bfd_scan_arch): Rewrite accordingly. Return a const pointer.
9703 (bfd_lookup_arch): Likewise.
9704 (bfd_set_arch_info): Rewrite accordingly. Change argument to be a
9705 const pointer.
9706 (bfd_default_arch_struct): Make const.
9707 (bfd_arch_init, bfd_arch_linkin): Remove.
9708 (bfd_get_arch_info): Return a const pointer.
9709 * init.c (bfd_init): Don't call bfd_arch_init.
9710 * bfd.c (struct _bfd): Make arch_info const.
9711 * bfd-in2.h: Rebuild.
9712 * libbfd.h: Rebuild.
9713 * configure.in: Put & before everything in $selarchs.
9714 * configure: Rebuild.
9715 * cpu-*.c: Change bfd_*_arch from a function which calls
9716 bfd_arch_linkin to a const structure.
9717 * ieee.c (ieee_object_p): Make arch const.
9718
9719 Fri Sep 22 16:23:18 1995 Michael Meissner <meissner@tiktok.cygnus.com>
9720
9721 * reloc.c (bfd_reloc_code_type): Add relocations to support all of
9722 PowerPC V.4.
9723 * bfd-in2.h: Regenerate.
9724 * libbfd.h: Regenerate.
9725
9726 * elf32-ppc.c (reloc_type): Update names to match current draft.
9727 (ppc_elf_howto_raw): Mark 14 bit relocs as short sized and PC
9728 relative. Update names to current V.4 draft.
9729 (ppc_elf_reloc_type_lookup): Add support for more relocations.
9730 (ppc_elf_relocate_section): Rename relocations to match draft.
9731
9732 Thu Sep 21 21:53:18 1995 Michael Meissner <meissner@cygnus.com>
9733
9734 * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Allow modules
9735 compiled with -mrelocatable-lib to be linked with either normal
9736 modules or -mrelocatable modules.
9737
9738 Wed Sep 20 12:03:26 1995 Ian Lance Taylor <ian@cygnus.com>
9739
9740 * coffcode.h (coff_write_object_contents): Clear the vstamp field
9741 in the a.out header.
9742
9743 * aoutx.h (NAME(aout,swap_ext_reloc_out)): Don't set r_extern for
9744 a reloc against a local symbol, even if it's not a section.
9745
9746 Tue Sep 19 17:02:26 1995 Ian Lance Taylor <ian@cygnus.com>
9747
9748 * targets.c (bfd_target): Remove unused align_power_min field.
9749 * bfd-in2.h: Rebuild.
9750 * All backends: Remove initialization of align_power_min.
9751
9752 Tue Sep 19 14:02:21 1995 steve chamberlain <sac@slash.cygnus.com>
9753
9754 * peicode.h (coff_swap_scnhdr_out): Get sizes for BSS right.
9755
9756 Mon Sep 18 14:35:01 1995 Arne H. Juul <arnej@pvv.unit.no>
9757
9758 * config.bfd (mips-dec-netbsd*): New target.
9759 * configure.host (mips-dec-netbsd*): New host.
9760 * configure.in (mips-dec-netbsd*): New native.
9761 * configure: Rebuild.
9762
9763 Fri Sep 15 10:24:36 1995 Ian Lance Taylor <ian@cygnus.com>
9764
9765 Make the COFF backend linker merge common types:
9766 * cofflink.c (struct coff_debug_merge_element): Define.
9767 (struct coff_debug_merge_type): Define.
9768 (struct coff_debug_merge_hash_entry): Define.
9769 (struct coff_debug_merge_hash_table): Define.
9770 (coff_debug_merge_hash_table_init): Define.
9771 (coff_debug_merge_hash_table_free): Define.
9772 (coff_debug_merge_hash_lookup): Define.
9773 (struct coff_final_link_info): Add debug_merge field.
9774 (coff_debug_merge_hash_newfunc): New static function.
9775 (_bfd_coff_final_link): Allocate and free debug_merge table.
9776 (coff_link_input_bfd): Merge identical enum, struct and union
9777 types.
9778
9779 Thu Sep 14 14:53:58 1995 Ian Lance Taylor <ian@cygnus.com>
9780
9781 Convert i960 COFF to use COFF backend linker.
9782 * coff-i960.c (coff_i960_relocate): Use a coff_section_data
9783 structure to store the symbol being used.
9784 (coff_i960_start_final_link): New static function.
9785 (coff_i960_relocate_section): New static function.
9786 (coff_i960_adjust_symndx): New static function.
9787 (coff_start_final_link): Define.
9788 (coff_relocate_section): Define.
9789 (coff_adjust_symndx): Define.
9790 * coffcode.h (bfd_coff_backend_data): Add new callback function
9791 _bfd_coff_start_final_link.
9792 (bfd_coff_start_final_link): Define.
9793 (coff_start_final_link): Define if not defined.
9794 (bfd_coff_std_swap_table): Add coff_start_final_link.
9795 * cofflink.c (_bfd_coff_internal_syment_name): Make globally
9796 visible.
9797 (_bfd_coff_final_link): Call bfd_coff_start_final_link if the
9798 function callback is not NULL.
9799 * libcoff-in.h (struct coff_section_tdata): Add tdata field.
9800 (_bfd_coff_internal_syment_name): Declare.
9801 * libcoff.h: Rebuild.
9802 * configure.in (icoff_big_vec): Add cofflink.o.
9803 (icoff_little_vec): Likewise.
9804 * configure: Rebuild.
9805
9806 Wed Sep 13 17:38:23 1995 Fred Fish <fnf@rtl.cygnus.com>
9807
9808 * Makefile.in (clean-info): Remove extraneous tab from line
9809 following action.
9810
9811 Wed Sep 13 13:27:53 1995 Ian Lance Taylor <ian@cygnus.com>
9812
9813 * cofflink.c (coff_link_input_bfd): Fail if a section with no
9814 contents has relocs.
9815
9816 Thu Sep 12 12:45:34 1995 steve chamberlain <sac@slash.cygnus.com>
9817
9818 * coffcode.h (coff_compute_section_file_positions): Keep the
9819 raw size safe.
9820 (coff_write_object_contents): Remember if it's a relocatable
9821 file.
9822 * libcoff-in.h (pe_data_type): New member 'has_reloc_section'
9823 * peicode.h (coff_swap_filehdr_out): Clear not-reloc flag
9824 if relocatable file. Swap out saved raw size.
9825
9826 Tue Sep 12 12:14:33 1995 Ian Lance Taylor <ian@cygnus.com>
9827
9828 * Makefile.in (do_maintainer_clean): Rename from do_realclean.
9829 (maintainer-clean): Rename from realclean, passing
9830 maintainer-clean down to subdirectories, but leave realclean as a
9831 synonym.
9832
9833 * linker.c (_bfd_generic_link_add_one_symbol): Pass symbol name to
9834 warning callback.
9835
9836 * dep-in.sed: Remove config.h from generated dependencies.
9837
9838 * sunos.c (sunos_slurp_dynamic_symtab): New static function,
9839 broken out of sunos_canonicalize_dynamic_symtab.
9840 (sunos_canonicalize_dynamic_symtab): Call new function
9841 sunos_slurp_dynamic_symtab.
9842 (sunos_add_dynamic_symbols): Add three new parameters. Return the
9843 dynamic symbol table to the caller.
9844 * aoutx.h (aout_link_add_symbols): Permit add_dynamic_symbols
9845 callback to override the symbols being read.
9846 * libaout.h (struct aout_backend_data): Add three new parameters
9847 to add_dynamic_symbols callback.
9848
9849 Extensive minor changes to avoid various gcc warnings. Also:
9850 * Makefile.in (BFD32_BACKENDS): Remove coff-arm.o.
9851 * archures.c (bfd_arch_info_type): Change mach field from long to
9852 unsigned long.
9853 (bfd_lookup_arch): Change machine parameter from long to unsigned
9854 long.
9855
9856 Mon Sep 11 10:55:47 1995 Ian Lance Taylor <ian@cygnus.com>
9857
9858 * sunos.c (sunos_scan_std_relocs): Fix BFD_ASSERT: it's OK to find
9859 a symbol with a non-zero plt_offset.
9860
9861 Fri Sep 8 11:47:24 1995 Ian Lance Taylor <ian@cygnus.com>
9862
9863 * elfcode.h (align_file_position): Remove; not used.
9864
9865 * configure.in: Only check for <sys/procfs.h> on a native system,
9866 and make sure it defines prstatus_t.
9867 * configure: Rebuild.
9868
9869 Thu Sep 7 12:48:01 1995 Ian Lance Taylor <ian@cygnus.com>
9870
9871 * sunos.c (sunos_write_dynamic_symbol): Correct m68k abort test.
9872
9873 * config.in: Rename from config.h.in.
9874 * configure.in: Call AC_CONFIG_HEADER with config.h:config.in.
9875 Check for config.h:config.in when creating stamp-h.
9876 * configure: Rebuild.
9877 * Makefile.in (stamp-h): Depend upon config.in rather than
9878 config.h.in. Set CONFIG_HEADERS to config.h:config.in when
9879 calling config.status.
9880
9881 * Makefile.in (do_distclean): Remove config.h and stamp-h.
9882 (Makefile): Just rebuild Makefile.
9883 (config.h, stamp-h): New targets.
9884 * configure.in: Create stamp-h when rebuilding config.h.
9885 * configure: Rebuild.
9886
9887 Wed Sep 6 15:00:33 1995 Ian Lance Taylor <ian@cygnus.com>
9888
9889 * configure.in: Call AC_CONFIG_HEADER. Substitute
9890 HOST_64BIT_LONG. Check that various header files exist. Check
9891 that fcntl exists. Call BFD_BINARY_FOPEN. Check whether malloc
9892 and/or free need to be declared. Don't make a link to sysdep.h.
9893 Define TRAD_HEADER for various hosts.
9894 * configure: Rebuild.
9895 * configure.host: Don't set my_host. Add definitions taken from
9896 host header files for various entries. Remove entries which now
9897 do nothing.
9898 * acconfig.h: New file.
9899 * config.h.in: New file, built by autoheader.
9900 * sysdep.h: New file.
9901 * Makefile.in (do_distclean): Don't remove sysdep.h.
9902 (RECONFIG): Remove.
9903 (LOCAL_H_DEPS): New variable.
9904 ($(BFD_LIBS)): Use $(LOCAL_H_DEPS) rather than libbfd.h and
9905 $(RECONFIG).
9906 ($(BFD_MACHINES), $(BFD_BACKENDS)): Likewise.
9907 ($(OPTIONAL_BACKENDS)): Likewise.
9908 (stmp-bfd.h): Just substitute for BFD_HOST_64BIT_LONG, rather than
9909 looking through sysdep.h.
9910 * bfd-in.h (BFD_HOST_64BIT_LONG): Define; set by Makefile.
9911 (BFD_HOST_64_BIT): Define based on BFD_HOST_64BIT_LONG.
9912 (fprintf_vma, sprintf_vma): Likewise.
9913 (int64_type, uint64_type): Don't define.
9914 * bfd-in2.h: Rebuild.
9915 * archures.c, bfd.c, srec.c: Include <ctype.h>.
9916 * elfcore.h: Check HAVE_SYS_PROCFS_H rather than HAVE_PROCFS.
9917 * lynx-core.c: Include stuff from old hosts/lynx.h.
9918 * opncls.c (bfd_fdopenr): Check HAVE_FNCTL and defined (F_GETFL),
9919 rather than NO_FCNTL.
9920 * targets.c (bfd_target_list): Check HOST_HPPAHPUX and ! __STDC__
9921 rather than NATIVE_HPPAHPUX_COMPILER.
9922 * trad-core.c: Don't include <errno.h>. Include TRAD_HEADER if it
9923 is defined.
9924 * hosts/*.h: Remove all header files which merely include,
9925 declare, and define things. Leave header files which define
9926 information needed by trad-core.c.
9927
9928 * aclocal.m4 (BFD_BINARY_FOPEN): Define.
9929 (BFD_CC_FOR_BUILD): Define.
9930 * configure.in: Use BFD_CC_FOR_BUILD.
9931 * configure: Rebuild.
9932
9933 Tue Sep 5 19:35:28 1995 Ian Lance Taylor <ian@cygnus.com>
9934
9935 * aclocal.m4: Don't try to grep ../Makefile if it doesn't exist.
9936 * configure: Rebuild.
9937
9938 * coff-sparc.c (CALC_ADDEND): Don't set the addend to the value of
9939 a global symbol.
9940
9941 Tue Sep 5 12:48:26 1995 Jason Molenda (crash@phydeaux.cygnus.com)
9942
9943 * config.bfd: i386pe_ve -> i386pe_vec.
9944
9945 Mon Sep 4 14:02:43 1995 Ian Lance Taylor <ian@cygnus.com>
9946
9947 * configure.host: Incorporate host Makefile fragments by setting
9948 shell variables.
9949 * configure.in: Call AC_PROG_CC. Substitute CFLAGS, HDEFINES and
9950 AR. Call AC_PROG_INSTALL. Substitute CC_FOR_BUILD, choosing a
9951 value based on whether the code is being compiled by a cross
9952 compiler. Don't substitute host_makefile_frag or frags.
9953 * aclocal.m4: New file to define local AC_PROG_CC.
9954 * configure: Rebuild.
9955 * Makefile.in (INSTALL): Set to @INSTALL@.
9956 (INSTALL_PROGRAM): Set to @INSTALL_PROGRAM@.
9957 (INSTALL_DATA): Set to @INSTALL_DATA@.
9958 (AR): Set to @AR@.
9959 (CC): Define as @CC@.
9960 (CFLAGS): Set to @CFLAGS@.
9961 (CC_FOR_BUILD): Set to @CC_FOR_BUILD@.
9962 (@host_makefile_frag@): Remove.
9963 (ALL_CFLAGS): Change $(HDEFINES) to @HDEFINES@. Move $(CFLAGS)
9964 after other options.
9965 (config.status): Remove dependency upon @frags@.
9966 * config/*.mh, config/README: Remove.
9967
9968 * config.bfd: Rewrite to incorporate the contents of the Makefile
9969 fragments by setting shell variables, rather than merely returning
9970 the name of a Makefile fragment.
9971 * configure.in: Use shell variables set by config.bfd rather than
9972 looking at the target Makefile fragment files. Don't substitute
9973 target_makefile_frag. Do substitute TDEFINES.
9974 * configure: Rebuild.
9975 * Makefile.in (@target_makefile_frag@): Remove.
9976 (ALL_CFLAGS): Change $(TDEFINES) to @TDEFINES@.
9977 * config/*.mt: Remove.
9978
9979 Mon Sep 4 03:13:28 1995 Ken Raeburn <raeburn@cygnus.com>
9980
9981 * configure.in: Put changequote lines around "i[345]86" patterns
9982 section of core file support.
9983
9984 Sun Sep 3 11:31:58 1995 Jeff Law (law@snake.cs.utah.edu)
9985
9986 * som.c (som_bfd_print_private_bfd_data): Define to use the
9987 generic version.
9988
9989 Fri Sep 1 17:08:40 1995 steve chamberlain <sac@slash.cygnus.com>
9990
9991 * peicode.h (coff_swap_aouthdr_in): Add ImageBase to
9992 entry, text_start and data_start.
9993
9994 Fri Sep 1 18:06:28 1995 Ian Lance Taylor <ian@cygnus.com>
9995
9996 * Makefile.in (OFILES): Remove $(TDEPFILES).
9997 * config/apollo.mt (TDEPFILES): Remove.
9998 * config/README: Update.
9999
10000 * configure.in: For a native configuration, set COREFILE and
10001 COREFLAG based on the canonical host name.
10002 * configure: Rebuild.
10003 * Makefile.in: Rebuild dependencies.
10004 (ALL_CFLAGS): Add @COREFLAG@.
10005 (OFILES): Replace $(HDEPFILES) with @COREFILE@.
10006 * coff-rs6000.c: Check AIX_CORE rather than HOST_AIX for core file
10007 support routines. Check LYNX_CORE rather than HOST_LYNX.
10008 * lynx-core.c: Check LYNX_CORE rather than HOST_LYNX.
10009 * i386lynx.c: Likewise.
10010 * m68klynx.c: Likewise.
10011 * sparclynx.c: Likewise.
10012 * rs6000-core.c: Check AIX_CORE rather than HOST_AIX.
10013 * *-core.c: Comment changes.
10014 * config/decstation.mh (HDEPFILES): Remove.
10015 (HDEFINES): Remove -DTRAD_CORE.
10016 * config/irix3.mh (RANLIB): Remove.
10017 * config/irix4.mh (HDEPFILES, RANLIB): Remove.
10018 (HDEFINES): Remove -DIRIX_CORE.
10019 * config/riscos.mh (RANLIB, HDEPFILES): Remove.
10020 (HDEFINES): Remove -DTRAD_CORE.
10021 * config/ncr3000.mh (AR_FLAGS, RANLIB): Remove.
10022 * config/ultra3.mh (RANLIB): Remove.
10023 * config/aix4.mh, config/alphaosf.mh, config/amix.mh: Remove.
10024 * config/apollo.mh, config/delta68.mh, config/delta88.mh: Remove.
10025 * config/dpx2.mh, config/esix.mh, config/harris.mh: Remove.
10026 * config/hp300.mh, config/hp300bsd.mh, config/hppabsd.mh: Remove.
10027 * config/hppahpux.mh, config/hppaosf.mh: Remove.
10028 * config/i386aix.mh, config/i386bsd.mh: Remove.
10029 * config/i386linux.mh, config/i386mach3.mh: Remove.
10030 * config/i386sco.mh, config/i386v.mh, config/i386v4.mh: Remove.
10031 * config/irix5.mh, config/m88kmach3.mh, config/mipsbsd.mh: Remove.
10032 * config/mipsmach3.mh, config/news-mips.mh: Remove.
10033 * config/news.mh, config/pc532mach.mh, config/riscix.mh: Remove.
10034 * config/rs600.mh, config/rs6000lynx.mh: Remove.
10035 * config/solaris2.mh, config/stratus.mh: Remove.
10036 * config/symmetry.mh, config/sysv4.mh, config/tahoe.mh: Remove.
10037 * config/vaxbsd.mh, config/vaxult.mh, config/vaxult2.mh: Remove.
10038
10039 Fri Sep 1 15:18:50 1995 Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>
10040
10041 * elflink.h (elf_bfd_final_link): Don't change a DT_INIT or
10042 DT_FINI entry if the appropriate symbol is not in the hash table.
10043
10044 * libelf.h (struct elf_backend_data): Add create_program_headers
10045 and want_hdr_in_seg fields.
10046 * elfxx-target.h (elf_backend_want_hdr_in_seg): Define if not
10047 defined.
10048 (elf_backend_create_program_headers): Likewise.
10049 (elfNN_bed): Initialize create_program_headers and
10050 want_hdr_in_seg.
10051 * elf.c (get_program_header_size): Call create_program_headers
10052 backend routine.
10053 (map_program_segments): Check want_hdr_in_seg backend field. Call
10054 create_program_headers backend routine.
10055
10056 * elf.c (assign_file_positions_except_relocs): Align non allocated
10057 sections when creating an executable.
10058
10059 * elfcode.h (elf_swap_phdr_in): Make non static.
10060 (elf_swap_phdr_out): Make non static.
10061 * libelf.h (bfd_elf32_swap_phdr_in): Declare.
10062 (bfd_elf32_swap_phdr_out): Declare.
10063 (bfd_elf64_swap_phdr_in): Declare.
10064 (bfd_elf64_swap_phdr_out): Declare.
10065
10066 * ecofflink.c (ecoff_collect_shuffle): New static function.
10067 (_bfd_ecoff_get_accumulated_pdr): New function.
10068 (_bfd_ecoff_get_accumulated_sym): New function.
10069 (_bfd_ecoff_get_accumulated_ss): New function.
10070 * libbfd-in.h (_bfd_ecoff_get_accumulated_pdr): Declare.
10071 (_bfd_ecoff_get_accumulated_sym): Declare.
10072 (_bfd_ecoff_get_accumulated_ss): Declare.
10073 * libbfd.h: Rebuild.
10074
10075 Fri Sep 1 13:20:25 1995 Ian Lance Taylor <ian@cygnus.com>
10076
10077 * libecoff.h (_bfd_ecoff_bfd_print_private_bfd_data): Fix typo.
10078
10079 * elflink.h (elf_link_add_object_symbols): Handle indirect and
10080 warning symbols. If any section is named .gnu.warning.XXX, treat
10081 the contents as a warning to be issued if the symbol XXX is
10082 referenced.
10083 (elf_link_output_extsym): For an indirect or warning symbol, just
10084 output the symbol it points to.
10085
10086 * linker.c (_bfd_link_hash_newfunc): Don't bother to set bfd_error
10087 if bfd_hash_allocate fails, since it will already be set.
10088 (generic_link_hash_newfunc): Likewise.
10089 (archive_hash_newfunc): Likewise.
10090 (hash_entry_bfd): New static function.
10091 (_bfd_generic_link_add_one_symbol): Pass new arguments to warning
10092 callback. Allocate a new warning using the hash table newfunc.
10093 Use bfd_hash_replace to update the entry in the hash table, rather
10094 than assuming we can copy the fields with structure assignment.
10095
10096 * hash.c (bfd_hash_replace): New function.
10097 * bfd-in.h (bfd_hash_replace): Declare.
10098 * bfd-in2.h: Rebuild.
10099
10100 Fri Sep 1 08:12:50 1995 James G. Smith <jsmith@beauty.cygnus.com>
10101
10102 * config.bfd: Add mips*vr4300-*-elf* target.
10103 * config/mipsbvr4300.mt: Added.
10104
10105 See file ChangeLog.2
10106
10107 \f
10108 Local Variables:
10109 mode: change-log
10110 left-margin: 8
10111 fill-column: 74
10112 version-control: never
10113 End: