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