* elflink.c (_bfd_elf_create_linker_section): Only use an existing
[binutils-gdb.git] / bfd / ChangeLog
1 Thu Oct 3 16:57:51 1996 Ian Lance Taylor <ian@cygnus.com>
2
3 * elflink.c (_bfd_elf_create_linker_section): Only use an existing
4 section if the flags are compatible.
5
6 * configure.in: Add havevecs, and put it in tdefaults.
7 * mpw-config.in: Likewise.
8 * configure: Rebuild.
9 * targmatch.sed: New file; a sed script to build targmatch.h from
10 config.bfd.
11 * config.bfd: Add #if, #endif, and comments for targmatch.h.
12 * targets.c: Include "fnmatch.h".
13 (struct targmatch): Define.
14 (bfd_target_match): Define by including targmatch.h.
15 (bfd_find_target): If the target is not found by name, search for
16 it as a configuration triplet.
17 * Makefile.in: Rebuild dependencies.
18 (BFD32_BACKENDS): Add aout-arm.o, aout-sparcle.o, hp300bsd.o,
19 i386dynix.o, m68k4knetbsd.o, and riscix.o.
20 (BFD32_BACKENDS_CFILES): Add aout-arm.c, aout-sparcle.c,
21 hp300bsd.c, i386dynix.c, m68k4knetbsd.c, and riscix.c.
22 (HFILES): Add targmatch.h. Also, alphabetize and reindent.
23 (CFILES): Remove i386dynix.c and hp300bsd.c.
24 (targmatch.h): New target.
25 (do_clean): Remove targmatch.h.
26
27 * configure.in: Add BFD_NEED_DECLARATION(getenv).
28 * acconfig.h: Add NEED_DECLARATION_GETENV.
29 * configure, config.in: Rebuild.
30 * sysdep.h: If NEED_DECLARATION_GETENV, declare getenv.
31 * aout-adobe.c (aout_adobe_object_p): Don't declare getenv.
32
33 Thu Oct 3 09:29:09 1996 Jeffrey A Law (law@cygnus.com)
34
35 * cpu-mn10x00.c, elf32-mn10x00: Removed.
36 * cpu-mn10200.c, cpu-mn10300.c: New files.
37 * elf32-mn10200.c, elf32-mn10300.c: New files.
38 * Makefile.in: Break mn10x00 support into two separate
39 configurations, mn10200 and mn10300.
40 * archures.c, config.bfd, configure.in, elf.c, targets.c: Likewise.
41 * bfd-in2.h, configure: Rebuilt.
42
43 Thu Oct 3 15:38:19 1996 Jason Molenda (crash@godzilla.cygnus.co.jp)
44
45 * Makefile.in (do_clean): Move config.log to do_distclean.
46
47 Wed Oct 2 21:40:55 1996 Jeffrey A Law (law@cygnus.com)
48
49 * cpu-mn10x00.c, elf32-mn10x00.c: New files.
50 * Makefile.in (ALL_MACHINES): Add cpu-mn10x00.o.
51 (BFD32_BACKENDS): Similarly for elf32-mn10x00.o.
52 (elf32-mn10x00.o): Add dependencies.
53 * archures.c (enum bfd_architecture): Add bfd_arch_mn10x00.
54 (bfd_mn10x00_arch): Declare.
55 (bfd_archures_list): Add bfd_mn10x00_arch.
56 * config.bfd: Add mn10x00-*-*.
57 * configure.in: Add bfd_elf32_mn10x00_vec.
58 * elf.c (prep_headers): Handle bfd_arch_mn10x00.
59 * targets.c (bfd_elf32_mn10x00_vec): Declare.
60 (bfd_target_vector): Add bfd_elf32_mn10x00_vec.
61 * bfd-in2.h, configure: Rebuilt.
62
63 Wed Oct 2 15:46:45 1996 Klaus Kaempf <kkaempf@progis.de>
64
65 openVMS/Alpha: Provide filename and case_hack flags via
66 symbol table from gas.
67 Add case_hack code for symbol output from vax/vms.
68 * evax-alpha.c (evax_initialize): Remove filename handling,
69 filename is provided via symbol table.
70 (evax_get_symtab): Use local symbol count when setting up table.
71 * evax-egsd.c (_bfd_evax_slurp_egsd): Print correct name when
72 debugging.
73 (_bfd_evax_write_egsd): Skip file name symbol.
74 * evax-emh.c (get_vms_time_string): Local function now.
75 (_bfd_evax_write_emh): Extract source filename and case_hack flags
76 from symbol table.
77 * evax_write_etir (_bfd_evax_write_etir): Pass all symbol names
78 through _bfd_evax_case_hack_symbol.
79 * evax-misc.c (hash_string, _bfd_evax_case_hack_symbol): New
80 functions.
81 (_bfd_evax_basename): Removed.
82 (_bfd_get_vms_time_string): Moved to evax-emh.c.
83 * evax.h (evax_private_data_struct): Remove filename.
84 (flag_hash_long_names, flag_show_after_trunc,
85 flag_no_hash_mixed_case, vms_name_mapping): New flags for
86 vms_case_hack.
87
88 Wed Oct 2 12:02:02 1996 Ian Lance Taylor <ian@cygnus.com>
89
90 * freebsd.h (N_GET_MAGIC_NET): Don't use ntohl.
91 (N_GETMID_NET, N_GETFLAG_NET): Likewise.
92 (NO_SWAP_MAGIC): Don't define.
93 (SWAP_MAGIC): Define.
94
95 * cofflink.c (_bfd_coff_link_input_bfd): Don't crash if there is
96 no hash table entry for a global symbol.
97
98 Tue Oct 1 16:14:22 1996 Joel Sherrill <joel@oarcorp.com>
99
100 * config.bfd (mips*-*-rtems*): New target, like mips*-*-elf*.
101
102 Tue Oct 1 12:31:39 1996 Ian Lance Taylor <ian@cygnus.com>
103
104 * cofflink.c (coff_link_add_symbols): Don't override a meaningful
105 symbol type with T_NULL. Warn if symbol type changes. Based on
106 patch from Philippe De Muyter <phdm@labauto1.ulb.ac.be>.
107
108 * elflink.h (elf_link_add_object_symbols): Only put a symbol from
109 a dynamic object in the dynamic symbol table if it is referenced
110 or defined by a regular object.
111
112 start-sanitize-v850
113 Fri Sep 27 18:41:07 1996 Stu Grossman (grossman@critters.cygnus.com)
114
115 * elf32-v850.c (bfd_elf32_v850_is_local_label): New function to
116 remove dwarf local labels. Shrinks binaries by a factor of 3!
117
118 end-sanitize-v850
119 Mon Sep 23 13:33:00 1996 Ian Lance Taylor <ian@cygnus.com>
120
121 * elf32-ppc.c (ppc_elf_add_symbol_hook): Create the .sbss section
122 by hand, rather than by calling bfd_make_section.
123
124 start-sanitize-m32r
125 Mon Sep 23 09:23:41 1996 Doug Evans <dje@seba.cygnus.com>
126
127 * reloc.c: Rename m32r relocs.
128 * bfd-in2.h, libbfd.h: Rebuilt.
129 * elf32-m32r.c: Update.
130
131 end-sanitize-m32r
132 Fri Sep 20 11:43:43 1996 Ian Lance Taylor <ian@cygnus.com>
133
134 * aoutx.h (aout_link_input_section_ext): When doing a relocateable
135 link, adjust the symbol index of a base relative reloc. Don't
136 change the addend of a PC relative reloc if pcrel_offset is set.
137 * sunos.c (bfd_sunos_size_dynamic_sections): Don't do anything for
138 a relocateable link.
139
140 * reloc.c (bfd_perform_relocation): Apply the relocation even if
141 it is zero, in case src_mask matters.
142 (bfd_install_relocation): Likewise.
143
144 Thu Sep 19 11:03:06 1996 Ian Lance Taylor <ian@cygnus.com>
145
146 * xcofflink.c (xcoff_link_add_symbols): Always initialize
147 keep_syms.
148 (_bfd_xcoff_bfd_final_link): Don't set target_index
149 to an uninitialized value.
150
151 Tue Sep 17 14:18:31 1996 Ian Lance Taylor <ian@cygnus.com>
152
153 * coffcode.h (coff_slurp_line_table): Warn about illegal symbol
154 indices, rather than crashing.
155 (coff_slurp_reloc_table): Likewise. Check whether the howto field
156 is NULL.
157 * coff-sh.c (sh_relocate_section): Check for an illegal symbol
158 index.
159
160 Mon Sep 16 12:39:36 1996 Ian Lance Taylor <ian@cygnus.com>
161
162 * coff-arm.c (aoutarm_std_reloc_howto): Change dst_mask for ARM26D
163 reloc to 0.
164 (coff_arm_adjust_symndx): New static function.
165 (coff_adjust_symndx): Define.
166
167 * srec.c (srec_scan): Accept multiple symbols on a single line.
168 From Pascal Martin <pmartin@alsys.com>.
169
170 * README: New file.
171
172 Fri Sep 13 14:32:42 1996 Doug Evans <dje@canuck.cygnus.com>
173
174 * aoutf1.h (MY_bfd_merge_private_bfd_data): Define.
175 (sunos_merge_private_bfd_data): New function.
176
177 Fri Sep 13 15:50:57 1996 Ian Lance Taylor <ian@cygnus.com>
178
179 * bfd.c (bfd_copy_private_bfd_data): Switch on output BFD rather
180 than input BFD.
181 (bfd_merge_private_bfd_data): Likewise.
182 * section.c (bfd_copy_private_section_data): Likewise.
183 * syms.c (bfd_copy_private_symbol_data): Likewise.
184 * bfd-in2.h: Rebuild.
185 * aout-target.h (MY_bfd_copy_private_section_data): Check that
186 both BFD's are the right flavour.
187 * ecoff.c (_bfd_ecoff_bfd_copy_private_bfd_data): Likewise.
188 * elf.c (_bfd_elf_copy_private_symbol_data): Likewise.
189 * elf32-mips.c (_bfd_mips_elf_copy_private_bfd_data): Likewise.
190 (_bfd_mips_elf_merge_private_bfd_data): Likewise.
191 * elf32-ppc.c (ppc_elf_copy_private_bfd_data): Likewise.
192 (ppc_elf_merge_private_bfd_data): Likewise.
193 * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Likewise.
194 * peicode.h (pe_bfd_copy_private_section_data): Likewise.
195
196 * elf32-hppa.c (elf_hppa_howto_table): Fill in some fields for
197 R_PARISC_DIR32, so that _bfd_stab_section_find_nearest_line passes
198 its sanity check.
199
200 start-sanitize-m32r
201 Thu Sep 12 11:45:57 1996 Doug Evans <dje@seba.cygnus.com>
202
203 * reloc.c: Add m32r relocs.
204 * bfd-in2.h, libbfd.h: Rebuilt.
205 * cpu-m32r.c,elf32-m32r.c: New files.
206
207 end-sanitize-m32r
208 Thu Sep 12 11:10:05 1996 Ian Lance Taylor <ian@cygnus.com>
209
210 * ieee.c (ieee_vec): Set symbol_leading_char field to '_'.
211
212 Wed Sep 11 11:57:56 1996 Ian Lance Taylor <ian@cygnus.com>
213
214 * tekhex.c (first_phase): Change type parameter from char to int.
215 (out): Likewise.
216 (pass_over): Change func to expect int, not char.
217
218 * elf.c (assign_file_positions_for_segments): Test SEC_ALLOC
219 rather than SEC_LOAD when aligning the file offset for the first
220 section in a segment.
221
222 Tue Sep 10 16:18:30 1996 Fred Fish <fnf@cygnus.com>
223
224 * syms.c (coff_section_type): Make arg const.
225 * irix-core.c (irix_core_core_file_p): Remove extraneous extra arg
226 to make_bfd_asection().
227 * elf-bfd.h (bfd_section_from_phdr): Add prototype.
228 * elfcode.h (bfd_section_from_phdr): Remove prototype.
229 (_bfd_elf_stringtab_init): Remove prototype.
230
231 * netbsd-core.c (swap_abort): Add prototype.
232 * aix386-core.c (swap_abort): Ditto & make static
233 * hpux-core.c (swap_abort): Ditto & make static.
234 * irix-core.c (swap_abort): Ditto & make static.
235 * ptrace-core.c (swap_abort): Ditto & make static.
236 * trad-core.c (swap_abort): Ditto & make static.
237 * coffswap.h (coff_swap_reloc_in): Ditto.
238 (coff_swap_reloc_out): Ditto.
239 (coff_swap_filehdr_in): Ditto.
240 (coff_swap_filehdr_out): Ditto.
241 (coff_swap_sym_in): Ditto.
242 (coff_swap_sym_out): Ditto.
243 (coff_swap_aux_in): Ditto.
244 (coff_swap_aux_out): Ditto.
245 (coff_swap_lineno_in): Ditto.
246 (coff_swap_lineno_out): Ditto.
247 (coff_swap_aouthdr_in): Ditto.
248 (coff_swap_aouthdr_out): Ditto.
249 (coff_swap_scnhdr_in): Ditto.
250 (coff_swap_scnhdr_out): Ditto.
251 * ihex.c (ihex_sizeof_headers): Ditto.
252 * tekhex.c (getsym): Ditto.
253 (find_chunk): Ditto & make static.
254 (insert_byte): Ditto.
255 (first_phase): Ditto.
256 (pass_over): Ditto.
257 (tekhex_get_symtab): Ditto & make static.
258 (tekhex_get_symtab_upper_bound): Ditto & make static.
259 (tekhex_mkobject): Ditto.
260 (tekhex_object_p): Ditto.
261 (move_section_contents): Ditto.
262 (tekhex_get_section_contents): Ditto.
263 (tekhex_set_arch_mach): Ditto & make static.
264 (tekhex_set_section_contents): Ditto.
265 (writevalue): Ditto.
266 (writesym): Ditto.
267 (out): Ditto.
268 (tekhex_write_object_contents): Ditto.
269 (tekhex_sizeof_headers): Ditto.
270 (tekhex_make_empty_symbol): Ditto.
271 (tekhex_get_symbol_info): Ditto.
272 (tekhex_print_symbol): Ditto.
273 * irix-core.c (make_bfd_asection): Ditto.
274 (irix_core_core_file_p): Ditto.
275 (irix_core_core_file_failing_command): Ditto.
276 (irix_core_core_file_failing_signal): Ditto.
277 (irix_core_core_file_matches_executable_p): Ditto.
278 (irix_core_make_empty_symbol): Ditto.
279 * coff-mips.c (mips_bfd_reloc_type_lookup): Ditto.
280 * srec.c (srec_new_symbol): Ditto.
281 (srec_get_section_contents): Ditto.
282 (srec_set_arch_mach): Ditto.
283 (srec_set_section_contents): Ditto.
284 (internal_srec_write_object_contents): Ditto.
285 (srec_write_object_contents): Ditto.
286 (symbolsrec_write_object_contents): Ditto.
287 (srec_sizeof_headers): Ditto.
288 (srec_make_empty_symbol): Ditto.
289 (srec_get_symtab_upper_bound): Ditto.
290 (srec_get_symtab): Ditto.
291 (srec_print_symbol): Ditto and make static.
292 * elf.c (elf_read): Ditto
293 (assign_section_numbers): Ditto.
294 (elf_fake_sections): Ditto.
295 (sym_is_global): Ditto.
296 (elf_map_symbols): Ditto.
297 (get_program_header_size): Ditto.
298 * coffgen.c (make_a_section_from_file): Ditto.
299 (coff_real_object_p): Ditto.
300 (fixup_symbol_value): Ditto.
301 (build_debug_section): Ditto.
302 (copy_name): Ditto.
303 * syms.c (coff_section_type): Ditto.
304
305 start-sanitize-m32r
306 Mon Sep 9 22:36:01 1996 Jeffrey A Law (law@cygnus.com)
307
308 * bfd-in2.h: Rebuilt after m32r changes.
309
310 end-sanitize-m32r
311 Mon Sep 9 12:31:22 1996 Doug Evans <dje@canuck.cygnus.com>
312
313 start-sanitize-m32r
314 * config.bfd,configure.in,configure: Add m32r support.
315 * Makefile.in,archures.c,elf.c,targets.c: Likewise.
316 end-sanitize-m32r
317 * config.bfd: Keep target list alphabetically sorted.
318
319 start-sanitize-v850
320 Mon Sep 9 11:48:41 1996 Jeffrey A Law (law@cygnus.com)
321
322 * elf32-v850.c (bfd_elf32_v850_reloc, case R_V850_HI16): Don't forget
323 to add in the constant part found in the instruction itself.
324 (case R_V850_HI16_S): Likewise.
325
326 end-sanitize-v850
327 start-sanitize-d10v
328 Fri Sep 6 17:04:39 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
329
330 * elf32-d10v.c (elf_d10v_howto_table): Modify the size of R_D10V_16
331 and R_D10V_18 to be 1 (word).
332
333 end-sanitize-d10v
334 Thu Sep 5 15:23:08 1996 Ian Lance Taylor <ian@cygnus.com>
335
336 * stabs.c (_bfd_link_section_stabs): If the output_section field
337 of either section is bfd_abs_section, then the linker is
338 discarding the section and we should not optimize it.
339
340 Tue Sep 3 12:16:20 1996 Doug Evans <dje@canuck.cygnus.com>
341
342 * Makefile.in (aout-sparcle.o): New target.
343 * aoutf1.h (TARGET_IS_BIG_ENDIAN_P): Don't define if little endian.
344 * config.bfd (sparclet-*-aout*): Add case.
345 * configure.in (sparcle_aout_vec): Add case.
346 * configure: Regenerated.
347 * targets.c (sparcle_aout_vec): Declare.
348 (bfd_target_vector): Add sparcle_aout_vec.
349 * aout-sparcle.c: New file.
350
351 start-sanitize-v850
352 Tue Sep 3 00:57:02 1996 Jeffrey A Law (law@cygnus.com)
353
354 * elf32-v850.c (bfd_elf32_v850_reloc): Fix handling of
355 low order sign bit propogation for R_V850_HI16_S.
356
357 * elf32-v850.c (bfd_elf32_v850_reloc): New function for
358 handling V850 specific relocs.
359 (elf_v850_howto_table): Use the new function for some
360 relocations. Twiddle masks & shifts for some relocs.
361 Set partial_inplace where needed.
362
363 end-sanitize-v850
364 Mon Sep 2 12:12:34 1996 Ian Lance Taylor <ian@cygnus.com>
365
366 * cpu-mips.c: Add an explicit mips:3000 entry, and change the
367 default architecture to a machine number of 0.
368 * elf32-mips.c (_bfd_mips_elf_object_p): Set the machine number
369 for E_MIPS_ARCH_1.
370 (_bfd_mips_elf_merge_private_bfd_data): If the machine number of
371 the output BFD is the default, set it from the first input BFD.
372
373 start-sanitize-v850
374 Sun Sep 1 18:38:01 1996 Jeffrey A Law (law@cygnus.com)
375
376 * elf32-v850.c (elf_v850_howto_table): All the 16bit relocs
377 insert at bitpos zero. The HI16 relocs are shifted right
378 by 16 bits. Fix src_mask for all relocs.
379 (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME): Define. The V850 is
380 little endian!
381 (TARGET_BIG_SYM, TARGET_BIG_NAME): Remove. The V850 is little
382 endian!
383
384 end-sanitize-v850
385 Sun Sep 1 15:41:08 1996 Ian Lance Taylor <ian@cygnus.com>
386
387 * rs6000-core.c (rs6000coff_core_file_matches_executable_p):
388 Rewrite to use BFD file read routines and to avoid using a fixed
389 length for the file name.
390
391 start-sanitize-v850
392 Sat Aug 31 10:22:25 1996 Jeffrey A Law (law@cygnus.com)
393
394 * elf32-v850.c (enum reloc_type): Add R_V850_{32,16,8}.
395 (elf_v850_howto_table): Add support for R_V850_{32,16,8}.
396 (v850_reloc_map): Add translation from BFD_RELOC_{32,16,8}
397 to R_V850_{32,16,8}.
398
399 Fri Aug 30 18:06:04 1996 J.T. Conklin <jtc@hippo.cygnus.com>
400
401 * elf32-v850.c (reloc_type): Add R_V850_HI16_S.
402 (elf_v850_howto_table): Add info for HI16_S reloc.
403 (v850_reloc_map): Add HI_16_S reloc.
404 * reloc.c: Define BFD_RELOC_V850_* relocs.
405
406 end-sanitize-v850
407 Fri Aug 30 11:49:19 1996 Ian Lance Taylor <ian@cygnus.com>
408
409 Add SH ELF support.
410 * elf32-sh.c: New file.
411 * elf.c (prep_headers): Handle bfd_arch_sh.
412 * elfcode.h (write_relocs): Handle absolute symbol.
413 * elf-bfd.h (_bfd_elf32_link_read_relocs): Declare.
414 (_bfd_elf64_link_read_relocs): Declare.
415 * elflink.h (NAME(_bfd_elf,link_read_relocs)): Rename from
416 elf_link_read_relocs. Make globally visible. Change all
417 callers.
418 (elf_link_input_bfd): Get external symbols from cache in
419 symtab_hdr->contents. Get contents from cache in
420 elf_section_data.
421 * elfxx-target.h (bfD_elfNN_bfd_relax_section): Only define if not
422 already defined.
423 * reloc.c: Define BFD_RELOC_SH_* relocs.
424 * libbfd-in.h (_bfd_sh_align_load_span): Declare.
425 * coff-sh.c (sh_insns_conflict): Fix a return value.
426 (_bfd_sh_align_load_span): New globally visible function, broken
427 out of sh_align_load.
428 (sh_align_load): Call _bfd_sh_align_load_span.
429 (sh_swap_insns): Change relocs parameter to PTR.
430 * bfd-in2.h, libbfd.h: Rebuild.
431 * targets.c (bfd_elf32_sh_vec): Declare.
432 (bfd_elf32_shl_vec): Declare.
433 * config.bfd (sh-*-elf*): New target.
434 * configure.in (bfd_elf32_sh_vec): New target vector.
435 (bfd_elf32_shl_vec): New target vector.
436 * configure: Rebuild.
437 * Makefile.in: Rebuild dependencies.
438 (BFD32_BACKENDS): Add elf32-sh.o.
439 (BFD32_BACKENDS_CFILES): Add elf32-sh.c.
440
441 * elf.c (map_sections_to_segments): Check that LMA does not skip a
442 page before checking D_PAGED.
443
444 * ihex.c (ihex_scan): Removed unnecessary extbase variable.
445 (ihex_write_object_contents): Remove extbase; always use segbase
446 instead.
447
448 Thu Aug 29 16:52:17 1996 Michael Meissner <meissner@tiktok.cygnus.com>
449
450 * configure.in (i[345]86-*-*): Recognize i686 for pentium pro.
451 * configure.host (i[345]86-*-*): Ditto.
452 * config.bfd (i[345]86-*-*): Ditto.
453 * configure: Regenerate.
454
455 * config.bfd (i[3456]86-*-dgux*): Recognize as a synonym for x86
456 elf.
457
458 Tue Aug 27 09:18:18 1996 Jeffrey A Law (law@cygnus.com)
459
460 * elf32-hppa.c (hppa_elf_gen_reloc_type): Add new argument.
461 * elf32-hppa.h (hppa_elf_gen_reloc_type): Update prototype.
462 * som.c (hppa_som_gen_reloc_type): Add new argument. If
463 we encounter an R_DATA_ONE_SYMBOL reloc against a symbol that
464 will have an ST_CODE type, change the symbol's type to ST_DATA.
465 * som.c (hppa_som_gen_reloc_type): Update prototype.
466
467 Tue Aug 27 00:12:22 1996 Ian Lance Taylor <ian@cygnus.com>
468
469 * elf32-mips.c (mips_elf_check_relocs): Set dynobj if needed for
470 R_MIPS_32 and R_MIPS_REL32. Set sgot and g as soon as possible.
471 (mips_elf_size_dynamic_sections): Don't require .got to exist.
472 (mips_elf_finish_dynamic_sections): Likewise.
473
474 Thu Aug 22 10:54:38 1996 Ian Lance Taylor <ian@cygnus.com>
475
476 * configure.host (HLDENV): New variable to set. Set it for
477 *-*-sysv4*, since those linkers may not support -R but they always
478 support LD_RUN_PATH.
479
480 * libieee.h (NSECTIONS): Don't define.
481 (ieee_data_struct): Change section_table to asection **. Add
482 section_table_size.
483 * ieee.c (get_section_entry): If the table isn't big enough, make
484 it bigger.
485 (ieee_slurp_sections): Remove assertion about number of sections.
486 (ieee_object_p): Adjust initialization of ieee to match changes to
487 the structure.
488
489 * xcofflink.c (xcoff_mark): Don't copy relocs for undefined
490 symbols merely because we are generating a shared library.
491 (xcoff_build_ldsyms): Don't set up global linkage code for an
492 undefined symbol merely because we are generating a shared
493 library.
494
495 start-sanitize-v850
496 Tue Aug 20 15:06:05 1996 J.T. Conklin <jtc@hippo.cygnus.com>
497
498 * Makefile.in (ALL_MACHINES): Add cpu-v850.o.
499 (BFD32_BACKENDS) Add elf32-v850.o.
500 * archures.c: Add bfd_v850_arch.
501 * bfd-in2.h: Add bfd_v850_arch.
502 * config.bfd (v850-*-*): New target.
503 * configure: (bfd_elf32_v850_vec) New vector.
504 * configure.in: (bfd_elf32_v850_vec) New vector.
505 * cpu-v850.c: New file.
506 * elf.c (prep_headers): Added case bfd_arch_v850.
507 * elf32-v850.c: New file.
508 * targets.c (bfd_elf32_v850_vec): New vector.
509
510 end-sanitize-v850
511 Fri Aug 16 16:25:35 1996 Ian Lance Taylor <ian@cygnus.com>
512
513 * xcofflink.c (xcoff_link_add_dynamic_symbols): Create and define
514 a function code symbol for an XMC_XO symbol.
515
516 Thu Aug 15 12:33:29 1996 Stan Shebs <shebs@andros.cygnus.com>
517
518 * mpw-config.in: Update editing of autoconf vars to reflect
519 Jul 18 configure.in change.
520 * mpw-make.sed: Update editing of include pathnames to be
521 more general, add @DASH_C_FLAG@ to explicit compile rule edit.
522
523 Thu Aug 15 10:35:13 1996 Richard Henderson <rth@tamu.edu>
524
525 * elf64-alpha.c (elf64_alpha_output_extsym): The section from
526 which to offset to get the .plt entry address is ".plt".
527
528 Thu Aug 15 16:40:30 1996 James G. Smith <jsmith@cygnus.co.uk>
529
530 * reloc.c: (BFD_RELOC_ARM_THUMB_ADD, BFD_RELOC_ARM_THUMB_IMM,
531 BFD_RELOC_ARM_THUMB_SHIFT, BFD_RELOC_ARM_THUMB_OFFSET):
532 Added, for internal use by the ARM gas.
533 * libbfd.h: Rebuilt
534 * bfd-in2.h: Rebuilt
535
536 Wed Aug 14 17:02:09 1996 Richard Henderson <rth@tamu.edu>
537
538 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Correct typo
539 in section dynidx start.
540
541 Tue Aug 13 14:35:38 1996 Ian Lance Taylor <ian@cygnus.com>
542
543 * elf.c (_bfd_elf_make_section_from_shdr): Treat sections whose
544 name begins with .gnu.linkonce as SEC_LINK_ONCE. This is an
545 optimization for g++.
546
547 Tue Aug 13 17:04:40 1996 Michael Meissner <meissner@tiktok.cygnus.com>
548
549 * elf32-ppc.c (ppc_elf_merge_private_bfd_data): If one module has
550 the -mrelocatable-lib bit set and the other doesn't, clear the
551 -mrelocatable-lib bit in the header.
552
553 Sat Aug 10 22:59:17 1996 Ian Lance Taylor <ian@cygnus.com>
554
555 * elflink.h (elf_link_add_object_symbols): Do not resolve a common
556 symbol against a STT_FUNC symbol in a shared library.
557
558 Fri Aug 9 12:44:57 1996 Ian Lance Taylor <ian@cygnus.com>
559
560 * xcofflink.c (xcoff_link_add_dynamic_symbols): If a descriptor
561 symbol is found, automatically define the corresponding function
562 code.
563
564 * cofflink.c (coff_link_add_symbols): Only set (*sym_hash)->numaux
565 if sym.n_numaux is not zero.
566 (_bfd_coff_link_input_bfd): Permit the symbol and the hash table
567 entry to disagree about the number of aux entries if the symbol
568 has zero.
569
570 * elf32-mips.c (mips_elf_check_relocs): Create the .rel.dyn
571 section if it might be needed, not just if info->shared.
572 (mips_elf_adjust_dynamic_symbol): Make room for a null element at
573 the start of .rel.dyn if we are going to use it.
574 (mips_elf_finish_dynamic_sections): Only clear the first element
575 of .rel.dyn if the size is greater than zero.
576
577 Thu Aug 8 16:24:55 1996 Ian Lance Taylor <ian@cygnus.com>
578
579 * xcofflink.c (xcoff_link_input_bfd): If we already called the
580 undefined_symbol callback for a symbol, then don't issue any more
581 warnings about loader relocs.
582 (_bfd_ppc_xcoff_relocate_section): Don't do any further processing
583 after calling the undefined_symbol callback.
584
585 * xcofflink.c (XCOFF_MULTIPLY_DEFINED): Define.
586 (xcoff_link_add_symbols): Permit multiple definitions of a symbol
587 as the AIX linker seems to do.
588
589 Thu Aug 8 12:21:56 1996 Klaus Kaempf <kkaempf@progis.de>
590
591 * evax-alpha.c (evax_alpha_vec): Corrected flags, cleanup.
592 (evax_initialize): Remove evax_reloc_table.
593 (evax_close_and_cleanup): Ditto.
594 (reloc_nil): Ditto.
595 (alpha_howto_table): Remove ALPHA_R_SWREL32 and ALPHA_R_SWREL64
596 entries.
597 (evax_bfd_reloc_type_lookup): Ditto.
598 * evax-egsd.c (_bfd_evax_slurp_egsd): Add a few casts; set
599 cooked_size == raw_size.
600 * evax-emh.c (_bfd_evax_register_filename): Remove.
601 * evax-etir.c (etir_stc): Allow ETIR_S_C_STC_xx commands.
602 * evax-misc.c (add_new_contents): Malloc section at full size.
603 (_bfd_save_evax_section): Memcpy section contents directly.
604 * evax.h (ALPHA_R_SWREL32, ALPHA_R_SWREL64): Remove.
605 (evax_reloc_table): Remove.
606
607 * hosts/alphavms.h (O_ACCMODE): Define if needed.
608
609 * makefile.vms: Add better support for DEC C compilation
610 Add evax.h dependencies
611
612 * reloc.c (bfd_get_reloc_size): Add case for 16 byte reloc.
613 (BFD_RELOC_SWREL32,BFD_RELOC_SWREL64): Remove.
614 (BFD_RELOC_ALPHA_BASEREG): Remove.
615 * bfd-in2.h, libbfd.h: Rebuild.
616
617 Thu Aug 8 08:17:32 1996 Stu Grossman (grossman@critters.cygnus.com)
618
619 * archive.c (bsd_write_armap): Ifdef around calls to getuid and
620 getgid if _WIN32 is defined.
621 * opncls.c (bfd_fdopenr): Remove unnecessary WINGDB ifdef.
622
623 Wed Aug 7 23:19:00 1996 Stu Grossman (grossman@critters.cygnus.com)
624
625 * aoutx.h bfd-in.h bfd-in2.h opncls.c riscix.c som.c targets.c:
626 Change NO_FLAGS to BFD_NO_FLAGS to avoid conflict with an HPUX
627 include file.
628 * libbfd.c: Create dummy getpagesize() macro if HAVE_GETPAGESIZE
629 isn't defined.
630
631 Wed Aug 7 14:11:44 1996 Philippe De Muyter <phdm@info.ucl.ac.be>
632
633 * configure.in: Call BFD_NEEDED_DECLARATION on strstr and
634 realloc.
635 * acconfig.h (NEED_DECLARATION_STRSTR): New macro.
636 (NEED_DECLARATION_REALLOC): New macro.
637 * configure, config.in: Rebuild.
638 * sysdep.h (strstr): Declare if NEED_DECLARATION_STRSTR.
639 (realloc): Declare if NEED_DECLARATION_REALLOC.
640
641 * aclocal.m4 (BFD_NEED_DECLARATION): Include <string.h> or
642 <strings.h> if they exist.
643
644 * ieee.c (ieee_set_section_contents): Cast bfd_alloc return.
645
646 Wed Aug 7 12:12:03 1996 Ian Lance Taylor <ian@cygnus.com>
647
648 * cpu-i386.c (i8086_arch): Architecture info for the i8086.
649
650 Based on patches from Eric Valette <valette@crf.canon.fr>:
651 * elf32-i386.c (enum reloc_type): Add FIRST_INVALID_RELOC,
652 LAST_INVALID_RELOC, R_386_16, R_386_PC16, R_386_8, R_386_PC8.
653 (elf_howto_table): Add entries for new relocs.
654 (elf_i386_reloc_type_lookup): Handle new relocs.
655 (elf_i386_info_to_howto): Just call abort.
656 (elf_i386_info_to_howto_rel): Check that the reloc type is valid.
657 (elf_i386_relocate_section): Likewise.
658
659 start-sanitize-d10v
660 Tue Aug 6 12:54:56 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
661
662 * elf32-d10v.c (elf_d10v_howto_table): Added R_D10V_32.
663
664 end-sanitize-d10v
665 Mon Aug 5 13:42:41 1996 Ian Lance Taylor <ian@cygnus.com>
666
667 * elf.c (_bfd_elf_make_section_from_shdr): For a loadable section,
668 only get the LMA from the phdr if they are in the same part of the
669 file.
670
671 * elf.c (map_sections_to_segments): Rewrite tests for starting a
672 new segment to make them more comprehensible. If the relationship
673 between the LMA and the VMA changed, start a new segment. Don't
674 check dynsec when deciding whether to start a new segment for a
675 writeable section; -N will now handle this.
676
677 Thu Aug 1 22:43:08 1996 Jeffrey A Law (law@cygnus.com)
678
679 * libhppa.h: Remove "esel" changes. Not the right approach.
680 * som.c: Corresponding changes.
681 (som_bfd_derive_misc_symbol_info): Use ST_DATA for symbols
682 which don't have a SOM symbol type associated with them.
683 Reverses a 1994 change.
684
685 Wed Jul 31 15:50:55 1996 Ian Lance Taylor <ian@cygnus.com>
686
687 Make ld -N more reasonable for ELF:
688 * elf.c (map_sections_to_segments): If D_PAGED is not set, set
689 phdr_in_section to false, and always use a single load segment.
690 (elf_sort_sections): Sort sections by LMA after VMA.
691 (assign_file_positions_for_segments): If D_PAGED is not set, don't
692 align to maxpagesize.
693 (assign_file_positions_except_relocs): Likewise.
694 * elfcode.h (elf_object_p): If a section is loaded but not page
695 aligned, clear D_PAGED.
696
697 Wed Jul 31 15:00:12 1996 James G. Smith <jsmith@cygnus.co.uk>
698
699 * reloc.c: (BFD_RELOC_ARM_OFFSETIMM8, BFD_RELOC_ARM_HWLITERAL):
700 Added, for internal use by the ARM gas.
701 * libbfd.h: Rebuilt
702 * bfd-in2.h: Rebuilt
703
704 Tue Jul 30 14:14:57 1996 Jeffrey A Law (law@cygnus.com)
705
706 * libhppa.h (R_HPPA_ESEL): New field selector.
707 (e_esel): Similarly.
708 * som.c (hppa_som_gen_reloc_type): If we encounter an e_esel,
709 then generate R_COMP2 (PUSH_SYM), R_DATA_EXPR fixup stream.
710 (som_write_fixups): Handle R_DATA_EXPR just like R_CODE_EXPR.
711
712 Tue Jul 30 13:31:27 1996 Ian Lance Taylor <ian@cygnus.com>
713
714 * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Do the regular
715 archive search before looking for stripped dynamic objects.
716
717 Fri Jul 26 17:51:39 1996 Ian Lance Taylor <ian@cygnus.com>
718
719 * xcofflink.c (xcoff_build_ldsyms): Make exporting an undefined
720 symbol a warning rather than an error.
721
722 Wed Jul 24 12:02:53 1996 Ian Lance Taylor <ian@cygnus.com>
723
724 * elf.c (assign_file_positions_for_segments): Track the virtual
725 memory position separately from the file position, and use it to
726 compute the alignment adjustment.
727
728 start-sanitize-d10v
729 Tue Jul 23 10:43:31 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
730
731 * elf32-d10v.c (elf_d10v_howto_table): Changed all relocs to "long"
732 and fixed mask on R_D10V_10_PCREL_L.
733
734 end-sanitize-d10v
735 Mon Jul 22 15:30:30 1996 Ian Lance Taylor <ian@cygnus.com>
736
737 * elf64-mips.c: Include "aout/ar.h".
738 (mips_elf64_slurp_armap): New static function.
739 (mips_elf64_write_armap): New static function.
740 (bfd_elf64_archive_*): Define.
741 * elfxx-target.h (bfd_elfNN_archive_p): Define if not defined.
742 Use instead of bfd_generic_archive_p.
743 (bfd_elfNN_write_archive_contents): Define if not defined. Use
744 instead of _bfd_write_archive_contents.
745 (bfd_elfNN_mkdarchive): Define if not defined. Use instead of
746 _bfd_generic_mkarchive.
747 (TARGET_BIG_SYM): If bfd_elfNN_archive_functions is defined, use
748 bfd_elfNN_archive in BFD_JUMP_TABLE_ARCHIVE rather than
749 _bfd_archive_coff.
750 (TARGET_LITTLE_SYM): Likewise.
751 * archive.c (bfd_slurp_armap): Check for and reject an archive map
752 name of /SYM64/.
753 * Makefile.in: Rebuild dependencies.
754
755 * elf32-mips.c (_bfd_mips_elf_final_write_processing): Handle
756 SHT_MIPS_LIBLIST, SHT_MIPS_CONTENT, SHT_MIPS_SYMBOL_LIB, and
757 SHT_MIPS_EVENTS sections.
758 (_bfd_mips_elf_section_from_shdr): Handle SHT_MIPS_IFACE,
759 SHT_MIPS_CONTENT, SHT_MIPS_SYMBOL_LIB, and SHT_MIPS_EVENTS
760 sections.
761 (_bfd_mips_elf_fake_sections): Likewise.
762
763 * libecoff.h (ecoff_data_type): Add rdata_in_text field.
764 * ecoff.c (ecoff_compute_section_file_positions): Copy
765 rdata_in_text from backend info to tdata. Clear it if any data
766 section comes before .rdata.
767 (_bfd_ecoff_write_object_contents): Use rdata_in_text field in
768 tdata rather than backend info.
769
770 Fri Jul 19 18:15:51 1996 Ian Lance Taylor <ian@cygnus.com>
771
772 * configure.in: Fix test for whether a compiler has a 64 bit
773 type. From Jim Wilson <wilson@cygnus.com>.
774
775 Thu Jul 18 15:39:10 1996 Ian Lance Taylor <ian@cygnus.com>
776
777 * configure.host (mips-sgi-irix6*): New host.
778
779 * configure.in: Set and substitute VERSION, BFD_HOST_64BIT_LONG
780 (replacing HOST_64BITLONG), BFD_HOST_64_BIT_DEFINED,
781 BFD_HOST_64_BIT, and BFD_HOST_U_64_BIT. Add bfd-in2.h:bfd-in2.h
782 to AC_OUTPUT call.
783 * configure: Rebuild.
784 * bfd-in.h (BFD_ARCH_SIZE): Define as @wordsize@, not @WORDSIZE@.
785 (BFD_HOST_64_BIT): Define conditionally.
786 (BFD_HOST_U_64_BIT): Define when BFD_HOST_64_BIT is defined.
787 (bfd_vma): Typedef as BFD_HOST_U_64_BIT.
788 (symvalue, bfd_size_type): Likewise.
789 * bfd-in2.h: Rebuild.
790 * Makefile.in (do_clean): Remove bfd-tmp.h.
791 (do_distclean): Remove bfd-in3.h.
792 (stmp-bfd.h): Just do copy-if-change bfd-in3.h bfd.h.
793 (bfd-in3.h): New target.
794
795 * config.bfd (sparc-*-sysv4*): Don't build sunos_big_vec. From
796 Andrew Gierth <ANDREWG@microlise.co.uk>.
797
798 * configure.host: Set INSTALL_SHLIB.
799 * configure.in: Call AC_SUBST (INSTALL_SHLIB).
800 * configure: Rebuild.
801 * Makefile.in (install): Use @INSTALL_SHLIB@.
802
803 * config.bfd (mips*-*-irix6*): New target.
804 * configure.host: Handle Irix 6 shared library like Irix 5.
805
806 * xcofflink.c (xcoff_link_add_symbols): Don't check an XMC_TD
807 symbol for a magic name.
808 (xcoff_link_input_bfd): Don't change the reloc symbol for an
809 XMC_TD symbol.
810 (_bfd_ppc_xcoff_relocate_section): Don't get the TOC offset for an
811 XMC_TD symbol.
812
813 Thu Jul 18 11:36:31 1996 Stan Shebs <shebs@andros.cygnus.com>
814
815 * mpw-config.in: Add ELF support to mips config, create the
816 elf32-target.h file in the object dir.
817 * mpw-make.sed: Edit elfXX-target.h refs at beginnings of lines.
818
819 Wed Jul 17 18:02:32 1996 Kim Knuttila <krk@cygnus.com>
820
821 * coff-ppc.c: Redid debug scheme - numerous fprintf's gone.
822 Also removed most abort calls, in favor of using bfd reporting.
823
824 start-sanitize-d10v
825 Wed Jul 17 14:51:52 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
826
827 * Makefile.in (ALL_MACHINES): Add cpu-d10v.o.
828 (BFD32_BACKENDS) Add elf32-d10v.o.
829 * archures.c: Add bfd_d10v_arch.
830 * bfd-in2.h: Add bfd_d10v_arch.
831 * config.bfd (d10v-*-*): New target.
832 * configure: (bfd_elf32_d10v_vec) New vector.
833 * configure.in: (bfd_elf32_d10v_vec) New vector.
834 * cpu-d10v.c: New file.
835 * elf.c (prep_headers): Added case bfd_arch_d10v.
836 * elf32-d10v.c: New file.
837 * libbfd.h: Rebuild.
838 * reloc.c (BFD_RELOC_D10V_10_PCREL_R, BFD_RELOC_D10V_10_PCREL_L,
839 BFD_RELOC_D10V_18, BFD_RELOC_D10V_18_PCREL): Define.
840 * targets.c (bfd_elf32_d10v_vec): New vector.
841 end-sanitize-d10v
842
843 Wed Jul 17 10:58:55 1996 Kim Knuttila <krk@cygnus.com>
844
845 * coff-ppc.c (coff_ppc_relocate_section): Removed bogus fprintf
846
847 Tue Jul 16 23:49:02 1996 Stu Grossman (grossman@critters.cygnus.com)
848
849 * archures.c bfd-in2.h: Add bfd_mach_i386_i386 and
850 bfd_mach_i386_i8086 machine types.
851
852 Wed Jul 10 12:42:56 1996 Ian Lance Taylor <ian@cygnus.com>
853
854 * ecoff.c (_bfd_ecoff_new_section_hook): Set SEC_CODE for _INIT
855 and _FINI sections.
856
857 Wed Jul 10 11:18:21 1996 Richard Henderson <rth@tamu.edu>
858
859 * coffcode.h (coff_set_section_contents): A/UX does not require
860 special handling of the _LIB section.
861
862 Tue Jul 9 15:52:20 1996 Jeffrey A Law (law@cygnus.com)
863
864 * coff-h8300.c (h8300_reloc16_extra_cases): Use the correct
865 value for R_RELBYTE.
866
867 * reloc16.c (bfd_coff_reloc16_relax_section): Only "shrinks"
868 array if one was allocated.
869
870 Tue Jul 9 12:21:54 1996 Ian Lance Taylor <ian@cygnus.com>
871
872 From Kazumoto Kojima <kkojima@kk.info.kanagawa-u.ac.jp>:
873 * elf32-mips.c (struct mips_elf_link_hash_table): Add new fields
874 use_rld_obj_head and rld_value.
875 (mips_elf_link_hash_table_create): Initialize new fields.
876 (mips_elf_add_symbol_hook): Mark __rld_obj_head symbol as
877 dynamic.
878 (mips_elf_create_dynamic_sections): Create .rld_map section. If
879 __rld_obj_head symbol not seen, create an __rld_map symbol.
880 (mips_elf_size_dynamic_sections): Make space in .rld_map section.
881 Create a DT_MIPS_RLD_MAP entry rather than a DT_DEBUG entry.
882 (mips_elf_finish_dynamic_symbol): Save value of __rld_map or
883 __rld_obj_head symbol.
884 (mips_elf_finish_dynamic_sections): Handle DT_MIPS_RLD_MAP.
885
886 Mon Jul 8 16:18:03 1996 Ian Lance Taylor <ian@cygnus.com>
887
888 * elf32-mips.c (mips_reloc_map): Remove BFD_RELOC_32_PCREL entry.
889
890 * elf32-ppc.c (ppc_elf_howto_raw): For R_PPC_ADDR16_HA, use
891 ppc_elf_addr16_ha_reloc.
892 (ppc_elf_addr16_ha_reloc): New static function.
893
894 * coff-mips.c (struct mips_hi): Define.
895 (mips_refhi_list): New static variable.
896 (mips_refhi_addr, mips_refhi_addend): Remove.
897 (mips_refhi_reloc): Maintain a list of unmatched REFHI relocs.
898 (mips_reflo_reloc): Process mips_refhi_list.
899 (mips_relhi_list): New static variable.
900 (mips_relhi_addr, mips_relhi_addend): Remove.
901 (mips_relhi_reloc): Maintain a list of unmatched RELHI relocs.
902 (mips_rello_reloc): Process mips_relhi_list.
903 (mips_relocate_section): Permit an arbitrary number of REFHI or
904 RELHI relocs before the associated REFLO or RELLO reloc.
905
906 Fri Jul 5 19:27:49 1996 Ian Lance Taylor <ian@cygnus.com>
907
908 * aout-target.h (MY(callback)): Set reloc_count fields.
909
910 Thu Jul 4 12:00:37 1996 Ian Lance Taylor <ian@cygnus.com>
911
912 * sunos.c (sunos_add_dynamic_symbols): Don't create dynamic
913 sections unless this is a SunOS link.
914
915 * VERSION: Set to 2.7.1.
916
917 * Released binutils 2.7.
918
919 Wed Jul 3 14:59:47 1996 Ian Lance Taylor <ian@cygnus.com>
920
921 * i386aout.c: Include "aout/aout64.h".
922 (i386aout_write_object_contents): New static function.
923 (MY_write_object_contents): Define.
924
925 * netbsd.h (MY(write_object_contents)): Make sure that
926 adjust_sizes_and_vmas is called before fiddling with the magic
927 number.
928
929 Tue Jul 2 23:30:39 1996 Ian Lance Taylor <ian@cygnus.com>
930
931 * stabs.c (_bfd_link_section_stabs): Fix casts of psinfo.
932
933 Sun Jun 30 13:34:33 1996 Ian Lance Taylor <ian@cygnus.com>
934
935 * libbfd-in.h (itos, stoi): Don't define.
936 * libbfd.h: Rebuild.
937 * i386lynx.c (KEEPIT): Define as udata.i.
938 (NAME(lynx,swap_std_reloc_out)): Don't use stoi.
939 (NAME(lynx,swap_ext_reloc_out)): Likewise.
940 * riscix.c (riscix_swap_std_reloc_out): Use udata.i rather than
941 flags. Don't use stoi.
942
943 * elf32-mips.c (ELF_MAGPAGESIZE): Change definition to 0x1000.
944
945 * elf.c (map_sections_to_segments): Don't start a new segment for
946 a writable section if it's on the same page as the previous
947 segment. Reset the writable variable for a readonly section.
948
949 Sat Jun 29 16:18:51 1996 Kim Knuttila <krk@cygnus.com>
950
951 * peicode.h (coff_swap_aouthdr_in): Missing initializations of
952 first_thunk_address, thunk_size, and import_table_size.
953 * peicode.h: Improved some diagnostics regarding edata sections.
954
955 * coff-ppc.c (coff_ppc_relocate_section): Earlier error check
956 on IMGLUE relocs.
957 (coff_ppc_relocate_section): Improved diagnostic for large TOCDEFN's.
958 (TARGET_LITTLE_SYM): Added missing D_PAGED.
959
960 Fri Jun 28 13:48:45 1996 Ian Lance Taylor <ian@cygnus.com>
961
962 * xcofflink.c (xcoff_link_check_ar_symbols): An undefined symbol
963 with XCOFF_DEF_DYNAMIC set is really defined.
964 (xcoff_link_check_dynamic_ar_symbols): Likewise.
965 (xcoff_link_add_symbols): Only create special sections if using an
966 XCOFF hash table.
967
968 * reloc.c (bfd_perform_relocation): Handle xcoff-powermac like
969 aixcoff-rs6000.
970 (bfd_install_relocation): Likewise.
971
972 Fri Jun 28 11:17:00 1996 Richard Henderson <rth@tamu.edu>
973
974 * elf64-alpha.c (struct alpha_elf_link_hash_entry): Add flags
975 field.
976 (ALPHA_ELF_LINK_HASH_LU_ADDR): Define.
977 (ALPHA_ELF_LINK_HASH_LU_MEM): Define.
978 (ALPHA_ELF_LINK_HASH_LU_FUNC): Define.
979 (elf64_alpha_link_hash_newfunc): Initialize flags field.
980 (elf64_alpha_check_relocs): Record types of LITUSE entries that
981 are found for LITERAL relocs.
982 (elf64_alpha_adjust_dynamic_symbol): If a symbol has its address
983 taken, we cannot generate a .plt entry for the symbol.
984
985 Thu Jun 27 11:24:29 1996 Ian Lance Taylor <ian@cygnus.com>
986
987 * configure.in: Add AC_ISC_POSIX, and check for setitimer and
988 sysconf functions (for gprof).
989 * configure, config.in: Rebuild.
990
991 Wed Jun 26 16:29:02 1996 Ian Lance Taylor <ian@cygnus.com>
992
993 * ecoff.c (_bfd_ecoff_archive_p): Check the first object file in
994 an archive if it has a map. If the object file has the wrong
995 xvec, reject it.
996
997 * coff-alpha.c (alpha_adjust_reloc_in): Set the addend for a
998 BRADDR, SREL16, SREL32, or SREL64 reloc against an external
999 symbol.
1000 (alpha_relocate_section): Likewise.
1001
1002 * coffswap.h (coff_swap_reloc_out): Use RELSZ, not sizeof.
1003 (coff_swap_filehdr_out): Use FILHSZ, not sizeof.
1004 (coff_swap_sym_out): Use SYMESZ, not sizeof.
1005 (coff_swap_aux_out): Use AUXESZ, not sizeof.
1006 (coff_swap_lineno_out): Use LINESZ, not sizeof.
1007 (coff_swap_aouthdr_out): Use AOUTSZ, not sizeof.
1008 (coff_swap_scnhdr_out): Use SCNHSZ, not sizeof.
1009 * peicode.h: Corresponding changes.
1010
1011 Tue Jun 25 15:28:34 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1012
1013 * elflink.h (elf_create_pointer_linker_section): Comment out code
1014 dealing with making GOT pointers negative of the GOT symbol for
1015 now.
1016
1017 Tue Jun 25 11:41:24 1996 Richard Henderson <rth@tamu.edu>
1018
1019 * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't
1020 increment the .rela.plt size until after we're done creating the
1021 .plt entry.
1022 (elf64_alpha_finish_dynamic_symbol): Change .plt entry to load the
1023 .rela.plt offset directly rather than calculating it.
1024
1025 Mon Jun 24 17:15:10 1996 Jason Molenda (crash@godzilla.cygnus.co.jp)
1026
1027 * Makefile.in, (bindir, libdir, datadir, mandir, infodir, includedir):
1028 Use autoconf-set values.
1029 * doc/Makefile.in (bindir, libdir, datadir, mandir, infodir,
1030 includedir, INSTALL, INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set
1031 values.
1032 (docdir): Deleted.
1033 * configure.in (AC_PREREQ): autoconf v2.5 or higher.
1034 * configure: Rebuilt.
1035
1036 Mon Jun 24 22:50:35 1996 Jeffrey A Law (law@cygnus.com)
1037
1038 * som.c (som_write_fixups): Fix typo in R_END_TRY for exception
1039 handling code > 1k away.
1040
1041 Mon Jun 24 18:41:06 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1042
1043 * elflink.h (elf_create_pointer_linker_section): If DEBUG is
1044 defined, output whenever the symbol is updated.
1045
1046 Mon Jun 24 17:58:12 1996 Jouke Numan <jnuman@bazis.nl>
1047
1048 * elf.c (elf_fake_sections): Don't set sh_addr of a non SEC_ALLOC
1049 section to 0 if user_set_vma is set.
1050 * elflink.h (elf_bfd_final_link): Likewise.
1051
1052 Sun Jun 23 20:42:51 1996 Doug Evans <dje@canuck.cygnus.com>
1053
1054 Partially undo patch of Jun 20.
1055 * coffcode.h (coff_set_alignment_hook): Use COFF_IMAGE_WITH_PE.
1056 (coff_compute_section_file_positions): Likewise.
1057 (coff_write_object_contents): Likewise. Re-add deleted code, but
1058 use #ifdef COFF_WITH_PE, not COFF_OBJ_WITH_PE.
1059 * peicode.h (pe_bfd_copy_private_bfd_data): Re-add #ifdef.
1060
1061 Fri Jun 21 17:38:15 1996 Joel Sherrill <joel@merlin.gcs.redstone.army.mil>
1062
1063 * config.bfd: Add support for *-*-rtems* configurations.
1064
1065 Fri Jun 21 15:19:59 1996 Ian Lance Taylor <ian@cygnus.com>
1066
1067 * elf.c (prep_headers): Add bfd_arch_alpha case.
1068
1069 Fri Jun 21 12:35:27 1996 Richard Henderson <rth@tamu.edu>
1070
1071 * elf64-alpha.c: New file.
1072 * config.bfd (alpha-*-linuxecoff*): New target.
1073 (alpha-*-linux*, alpha-*-elf*): New targets.
1074 * configure.in (bfd_elf64_alpha_vec): New vector.
1075 * configure: Rebuild.
1076 * targets.c (bfd_elf64_alpha_vec): Declare.
1077 (bfd_target_vector): Add bfd_elf64_alpha_vec if BFD64.
1078 * reloc.c (BFD_RELOC_ALPHA_GPDISP): Define.
1079 * bfd-in2.h, libbfd.h: Rebuild.
1080 * Makefile.in: Rebuild dependencies.
1081 (BFD64_BACKENDS): Add elf64-alpha.o.
1082 (BFD64_BACKENDS_CFILES): Add elf64-alpha.c.
1083
1084 Thu Jun 20 18:14:25 1996 Ian Lance Taylor <ian@cygnus.com>
1085
1086 * ecoff.c (ecoff_armap_hash): If hlog is 0, just return 0, rather
1087 than relying on a right shift of 32.
1088
1089 Thu Jun 20 11:00:57 1996 Doug Evans <dje@canuck.cygnus.com>
1090
1091 * coffcode.h (coff_set_alignment_hook): Change COFF_IMAGE_WITH_PE
1092 ifdef to COFF_WITH_PE.
1093 (coff_compute_section_file_positions): Likewise.
1094 (coff_write_object_contents): Likewise. Delete COFF_OBJ_WITH_PE.
1095 * pe-{arm,i386,ppc}.c (COFF_OBJ_WITH_PE): Delete.
1096 * peicode.h (pe_bfd_copy_private_bfd_data): Delete ifdef
1097 COFF_IMAGE_WITH_PE, always include.
1098
1099 * peicode.h (coff_swap_scnhdr_out): ".drectve" doesn't have trailing 0.
1100
1101 Wed Jun 19 11:37:52 1996 Ian Lance Taylor <ian@cygnus.com>
1102
1103 * elf.c (map_sections_to_segments): Fix up the test for -Ttext to
1104 approximate the correct answer if SIZEOF_HEADERS was not used.
1105
1106 * binary.c (binary_set_section_contents): Set section file
1107 position based on LMA rather than VMA.
1108
1109 Wed Jun 19 11:19:25 1996 Manfred Hollstein KS/EIC5 60/3/142 #40283 <manfred@lts.sel.alcatel.de>
1110
1111 * linker.c (_bfd_generic_link_output_symbols): Don't output any
1112 symbols if info->strip == strip_all.
1113
1114 Tue Jun 18 15:17:36 1996 Jeffrey A. Law <law@rtl.cygnus.com>
1115
1116 * coff-h8300.c: Remove #if 0 code.
1117 (compatable): Don't allow mixing/matching of different architectures.
1118
1119 * archures.c (bfd_mach_h8300s): Add.
1120 * bfd-in2.h: Rebuilt.
1121 * coff-h8300.c (funcvec_hash_newfunc): Handle H8/S too.
1122 (BADMAG): Likewise.
1123 (h8300_reloc16_estimate): Likewise.
1124 (h8300_reloc16_extra_cases): Likewise.
1125 (h8300_bfd_link_add_symbols): Likewise.
1126 * coffcode.h (coff_set_arch_mach_hook): Likewise.
1127 (coff_set_flags): Likewise.
1128 * cpu-h8300.c (h8300_scan): Likewise.
1129 Add H8/S to bfd_h8300_arch list.
1130
1131 Tue Jun 18 14:42:58 1996 Klaus Kaempf <kkaempf@progis.de>
1132
1133 Added support for Alpha OpenVMS:
1134 * evax.h, evax-alpha.c, evax-egsd.c, evax-emh.c: New files.
1135 * evax-etir.c, evax-misc.c, hosts/alphavms.h: New files.
1136 * config.h-vms, makefile.vms: New files.
1137 * config.bfd (alpha-*-*vms*): New target.
1138 * configure.in (evax_alpha_vec): New target vector.
1139 * configure: Rebuild.
1140 * reloc.c (BFD_RELOC_SWREL32, BFD_RELOC_SWREL64): Define.
1141 (BFD_RELOC_ALPHA_LINKAGE, BFD_RELOC_ALPHA_BASEREG): Define.
1142 * targets.c (bfd_target_evax_flavour): Define.
1143 (evax_alpha_vec): Declare.
1144 (bfd_target_vector): Add ecoffalpha_little_vec and evax_alpha_vec
1145 if BFD64 is defined.
1146 * bfd-in2.h, libbfd.h: Rebuild.
1147 * Makefile.in: Rebuild dependencies.
1148 (BFD64_BACKENDS): Add evax-alpha.o, evax-egsd.o, evax-etir.o,
1149 evax-emh.o, and evax-misc.o.
1150 (BFD64_BACKENDS_CFILES): Add evax-alpha.c, evax-egsd.c,
1151 evax-etir.c, evax-emh.c, and evax-misc.c.
1152 (HFILES): Add evax.h.
1153
1154 Tue Jun 18 13:54:18 1996 Ian Lance Taylor <ian@cygnus.com>
1155
1156 * coff-h8300.c (h8300_reloc16_extra_cases): Make name a const
1157 pointer.
1158 (h8300_bfd_link_add_symbols): Likewise.
1159
1160 Mon Jun 17 10:06:50 1996 Jeffrey A. Law <law@rtl.cygnus.com>
1161
1162 * som.h (R_HPPA_BEGIN_TRY, R_HPPA_END_TRY): Define.
1163 * som.c (som_write_fixups): Handle R_BEGIN_TRY and R_END_TRY.
1164
1165 Mon Jun 17 12:49:11 1996 Ian Lance Taylor <ian@cygnus.com>
1166
1167 * elf32-mips.c (mips_elf_relocate_section): Don't create a reloc
1168 for R_MIPS_REL32 and R_MIPS_32 relocs if no dynamic sections were
1169 created.
1170 (mips_elf_check_relocs): Only create .rel.dyn for R_MIPS_REL32 and
1171 R_MIPS_32 relocs if creating a shared library.
1172
1173 Thu Jun 13 20:14:51 1996 Doug Evans <dje@canuck.cygnus.com>
1174
1175 * peicode.h (add_data_entry): Use pei_section_data rather than
1176 _cooked_size. Corresponds to May 13 change in coffcode.h.
1177
1178 Thu Jun 13 10:23:40 1996 Ian Lance Taylor <ian@cygnus.com>
1179
1180 * cofflink.c (_bfd_coff_final_link): Handle long section names.
1181 * coffcode.h (coff_write_object_contents): If there are long
1182 section names, always set the f_symptr field, even if there are no
1183 symbols.
1184 * peicode.h (coff_swap_filehdr_in): Don't clear the f_symptr field
1185 if there are no symbols.
1186
1187 * coffgen.c (make_a_section_from_file): Check return value of
1188 _bfd_coff_read_string_table.
1189 (coff_real_object_p): Check return value of
1190 make_a_section_from_file.
1191 (_bfd_coff_read_string_table): Check that there are some symbols
1192 before trying to read the string table size.
1193
1194 Wed Jun 12 11:16:37 1996 Ian Lance Taylor <ian@cygnus.com>
1195
1196 * xcofflink.c (xcoff_link_add_symbols): When considering whether
1197 to replace a symbol in a dynamic object with a symbol from another
1198 dynamic object, do the replacement if the existing symbol is
1199 global linkage code.
1200
1201 * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Check explicitly
1202 for _ptrgl, and treat it as global linkage code.
1203
1204 * aoutx.h (NAME(aout,find_nearest_line)): Notice if we find a
1205 filename or N_SO symbol past the offset, and use it to indicate
1206 that there is no line number or function when appropriate.
1207
1208 Tue Jun 11 15:24:48 1996 Ian Lance Taylor <ian@cygnus.com>
1209
1210 * xcofflink.c (xcoff_build_ldsyms): Set XCOFF_DEF_REGULAR for a
1211 common symbol defined by the linker. Don't export function code
1212 even if export_defineds is set.
1213
1214 Mon Jun 10 11:57:27 1996 Jeffrey A Law (law@cygnus.com)
1215
1216 * coff-h8300.c (howto_table): Add new entries for R_BCC_INV
1217 and R_JMP_DEL.
1218 (rtype2howto): Handle R_BCC_INV and R_JMP_DEL.
1219 (h8300_symbol_address_p): New function.
1220 (h8300_reloc16_estimate): Eliminate jumps made unnecessary by
1221 relaxing.
1222
1223 Sun Jun 9 16:30:20 1996 Jeffrey A Law (law@cygnus.com)
1224
1225 * coff-h8300.c (h8300_reloc16_estimate): Fix many minor spacing
1226 problems.
1227 (h8300_reloc16_estimate, cases R_JMP1, R_JMP2): Adjust "dot"
1228 correctly for the two variants. Allow relaxing if the target
1229 is 128 bytes away since after relaxation it'll be 126 bytes away.
1230 (h8300_reloc16_estimate, case R_PCRWORD): Correctly adjust
1231 "dot" and "value". Allow relaxing if the target is 128 bytes
1232 away since after relaxation it'll be 126 bytes away.
1233 * reloc16.c (bfd_coff_reloc16_relax_section): Keep relaxing
1234 the given section until nothing changes.
1235
1236 Thu Jun 6 15:24:45 1996 Richard Henderson <rth@tamu.edu>
1237
1238 * ecoff.c (_bfd_ecoff_new_section_hook): Remove the _PDATA
1239 alignment hack--we can get the lnnoptr info another way without
1240 suddenly increasing the alignment requirements. Set the flags for
1241 the _PDATA section.
1242 (ecoff_compute_section_file_positions): Do so.
1243
1244 Thu Jun 6 11:24:37 1996 Ian Lance Taylor <ian@cygnus.com>
1245
1246 * ieee.c (ieee_write_object_contents): Put a timestamp in the file
1247 to keep the HP emulator database happy.
1248
1249 * config.bfd: Recognize powerpc-*-linux* and powerpcle-*-linux*.
1250 From Kevin Buettner <kev@primenet.com>.
1251
1252 Wed Jun 5 15:16:04 1996 Ian Lance Taylor <ian@cygnus.com>
1253
1254 * aoutx.h (translate_to_native_sym_flags): Don't try to print the
1255 name of a NULL section.
1256
1257 Tue Jun 4 18:53:58 1996 Ian Lance Taylor <ian@cygnus.com>
1258
1259 * linker.c (_bfd_generic_link_add_one_symbol): If notice_all is
1260 set, always call the notice callback.
1261
1262 * VERSION: Increment for bfdlink.h change.
1263
1264 Mon Jun 3 11:01:53 1996 Ian Lance Taylor <ian@cygnus.com>
1265
1266 * coff-sh.c (COFF_DEFAULT_SECTION_ALIGNMENT_POWER): Set to 4.
1267 (sh_relax_delete_bytes): Correct handling of differently sized
1268 trailing alignment reloc.
1269
1270 * bfd-in.h: Use #error if BFD_HOST_64_BIT can not be defined.
1271 * bfd-in2.h: Rebuild.
1272 * configure.in: Warn if there is no known 64 bit type.
1273 * configure: Rebuild.
1274
1275 * Makefile.in: Rebuild dependencies.
1276 (BFD32_BACKENDS): Add ppcboot.o.
1277 (BFD32_BACKENDS_CFILES): Add ppcboot.c.
1278
1279 * elf32-mips.c (mips_elf_size_dynamic_sections): Initialize c.
1280 From Per Fogelstrom <per.fogelstrom@mailbox200.swipnet.se>.
1281
1282 Sat Jun 1 21:49:58 1996 Ian Lance Taylor <ian@cygnus.com>
1283
1284 * elf64-mips.c (bfd_mips_elf64_swap_reginfo_in)
1285 (bfd_mips_elf64_swap_reginfo_out): Move from here...
1286 * elf32-mips.c (bfd_mips_elf64_swap_reginfo_in)
1287 (bfd_mips_elf64_swap_reginfo_out): ...to here.
1288
1289 Fri May 31 13:51:28 1996 Ian Lance Taylor <ian@cygnus.com>
1290
1291 * elf64-mips.c: Improve reloc special_functions and handling of
1292 SHT_MIPS_OPTIONS section.
1293 * elf32-mips.c (_bfd_mips_elf_hi16_reloc): Rename from
1294 mips_elf_hi16_reloc and make globally visible.
1295 (_bfd_mips_elf_lo16_reloc): Rename from mips_elf_lo16_reloc and
1296 make globally visible.
1297 (_bfd_mips_elf_got16_reloc): Rename from mips_elf_got16_reloc and
1298 make globally visible.
1299 (_bfd_mips_elf_gprel16_reloc): Rename from mips_elf_gprel16_reloc
1300 and make globally visible.
1301 (gprel16_with_gp): Check howto->src_mask before using value in
1302 insn.
1303 (_bfd_mips_elf_gprel32_reloc): Rename from mips_elf_gprel32_reloc
1304 and make globally visible.
1305 (gprel32_with_gp): Check howto->src_mask before fetching value.
1306 (bfd_mips_elf_swap_options_in): New function.
1307 (bfd_mips_elf_swap_options_out): New function.
1308 (_bfd_mips_elf_set_private_flags): Rename from
1309 mips_elf_set_private_flags and make globally visible.
1310 (_bfd_mips_elf_copy_private_bfd_data): Rename from
1311 mips_elf_copy_private_bfd_data and make globally visible.
1312 (_bfd_mips_elf_merge_private_bfd_data): Rename from
1313 mips_elf_merge_private_bfd_data and make globally visible.
1314 (_bfd_mips_elf_section_from_shdr): Accept .MIPS.options as a name
1315 for a SHT_MIPS_OPTIONS section.
1316 (mips_elf32_section_from_shdr): Handle SHT_MIPS_OPTIONS section.
1317 (_bfd_mips_elf_fake_sections): Consider .MIPS.options to be the
1318 name of a SHT_MIPS_OPTIONS section.
1319 (_bfd_mips_elf_set_section_contents): New function.
1320 (mips_elf32_section_processing): Set the GP value in a
1321 SHT_MIPS_OPTIONS section.
1322 (_bfd_mips_elf_find_nearest_line): Rename from
1323 mips_elf_find_nearest_line and make globally visible.
1324 (bfd_elf32_set_section_contents): Define.
1325 * elf-bfd.h (_bfd_mips_elf_hi16_reloc): Declare.
1326 (_bfd_mips_elf_lo16_reloc): Declare.
1327 (_bfd_mips_elf_gprel16_reloc): Declare.
1328 (_bfd_mips_elf_got16_reloc): Declare.
1329 (_bfd_mips_elf_gprel32_reloc): Declare.
1330 (_bfd_mips_elf_set_private_flags): Declare.
1331 (_bfd_mips_elf_copy_private_bfd_data): Declare.
1332 (_bfd_mips_elf_merge_private_bfd_data): Declare.
1333 (_bfd_mips_elf_find_nearest_line): Declare.
1334 (_bfd_mips_elf_set_section_contents): Declare.
1335
1336 * elf32-hppa.c (elf32_hppa_info_to_howto): Rename from
1337 elf_info_to_howto.
1338 (elf_info_to_howto): Define.
1339 * elf32-sparc.c (elf32_sparc_info_to_howto): Rename from
1340 elf_info_to_howto.
1341 (elf_info_to_howto): Define.
1342 * elf64-sparc.c (sparc64_elf_info_to_howto): Rename from
1343 elf_info_to_howto.
1344 (elf_info_to_howto): Define.
1345
1346 * coff-w65.c (h8300_reloc16_estimate): Rename R_MOVB[12] to
1347 R_MOV16B[12], to match change in coff/internal.h.
1348
1349 Thu May 30 12:38:49 1996 Ian Lance Taylor <ian@cygnus.com>
1350
1351 * elf64-mips.c: Extensive additions to provide better support for
1352 writing files and for gas.
1353 * elf32-mips.c (_bfd_mips_elf_object_p): New function, broken out
1354 of mips_elf_object_p.
1355 (mips_elf32_object_p): Rename from mips_elf_object_p; call
1356 _bfd_mips_elf_object_p.
1357 (_bfd_mips_elf_final_write_processing): Rename from
1358 mips_elf_final_write_processing and make globally visible.
1359 (_bfd_mips_elf_fake_sections): Rename from
1360 mips_elf_fake_sections and make globally visible.
1361 (_bfd_mips_elf_section_from_bfd_section): Rename from
1362 mips_elf_section_from_bfd_section and make globally visible.
1363 (_bfd_mips_elf_section_processing): New function, broken out of
1364 mips_elf_section_processing.
1365 (mips_elf32_section_processing): Rename from
1366 mips_elf_section_processing; call
1367 _bfd_mips_elf_section_processing.
1368 (_bfd_mips_elf_symbol_processing): Rename from
1369 mips_elf_symbol_processing and make globally visible.
1370 (_bfd_mips_elf_read_ecoff_info): Rename from
1371 mips_elf_read_ecoff_info and make globally visible.
1372 (mips_elf32_ecoff_debug_swap): Rename from
1373 mips_elf_ecoff_debug_swap.
1374 * elf.c (_bfd_elf_symbol_from_bfd_symbol): Use asymbol rather than
1375 struct symbol_cache_entry.
1376 (_bfd_elf_validate_reloc): New function, moved in from
1377 elfcode.h:validate_reloc.
1378 * elfcode.h (validate_reloc): Remove; moved into elf.c and renamed
1379 to _bfd_elf_validate_reloc. Change all callers.
1380 * elf-bfd.h (bfd_section_from_shdr): Declare.
1381 (_bfd_elf_symbol_from_bfd_symbol): Declare.
1382 (_bfd_elf_validate_reloc): Declare.
1383 (_bfd_mips_elf_object_p): Declare.
1384 (_bfd_mips_elf_fake_sections): Declare.
1385 (_bfd_mips_elf_section_from_bfd_section): Declare.
1386 (_bfd_mips_elf_section_processing): Declare.
1387 (_bfd_mips_elf_symbol_processing): Declare.
1388 (_bfd_mips_elf_read_ecoff_info): Declare.
1389 (_bfd_mips_elf_final_write_processing): Declare.
1390 * elfxx-target.h (bfd_elfNN_get_reloc_upper_bound): Don't define
1391 if already defined.
1392
1393 * elf32-mips.c (mips_elf_object_p): Handle E_MIPS_ARCH_4.
1394 (mips_elf_final_write_processing): Likewise.
1395
1396 Wed May 29 16:15:29 1996 Ian Lance Taylor <ian@cygnus.com>
1397
1398 64-bit MIPS ELF ABI objdump support:
1399 * elf64-mips.c: New file.
1400 * Makefile.in: Rebuild dependencies.
1401 (BFD64_BACKENDS): Add elf64-mips.o.
1402 (BFD64_BACKENDS_CFILES): Add elf64-mips.c.
1403 * config.bfd (mips*el-*-elf*) Add bfd_elf64_bigmips_vec and
1404 bfd_elf64_littlemips_vec to targ_selvecs.
1405 (mips*-*-elf*): Likewise.
1406 * confingure.in: Add bfd_elf64_bigmips_vec and
1407 bfd_elf64_littlemips_vec to vector switch.
1408 * configure: Rebuild.
1409 * elf32-mips.c (_bfd_mips_elf_section_from_shdr): New function,
1410 broken out of mips_elf_section_from_shdr.
1411 (mips_elf32_section_from_shdr): Rename from
1412 mips_elf_section_from_shdr. Call new function.
1413 (elf_backend_section_from_shdr): Update name of renamed function.
1414 * elf-bfd.h (struct elf_size_info): Change second parameter of
1415 write_out_phdrs to be const. Likewise for second parameter of
1416 swap_symbol_out.
1417 (struct bfd_elf_section_data): Add rel_hdr2 field.
1418 (bfd_elf32_swap_symbol_in): Change second parameter to be const.
1419 (bfd_elf32_swap_symbol_out): Likewise.
1420 (bfd_elf32_swap_reloc_in): Likewise.
1421 (bfd_elf32_swap_reloc_out): Likewise.
1422 (bfd_elf32_swap_reloca_in): Likewise.
1423 (bfd_elf32_swap_reloca_out): Likewise.
1424 (bfd_elf32_swap_phdr_in): Likewise.
1425 (bfd_elf32_swap_phdr_out): Likewise.
1426 (bfd_elf32_swap_dyn_in): Likewise.
1427 (bfd_elf32_swap_dyn_out): Likewise.
1428 (bfd_elf32_slurp_symbol_table): Declare.
1429 (bfd_elf32_write_shdrs_and_ehdr): Declare.
1430 (bfd_elf32_write_out_phdrs): Declare.
1431 (bfd_elf64_swap_symbol_in): Change second parameter to be const.
1432 (bfd_elf64_swap_symbol_out): Likewise.
1433 (bfd_elf64_swap_reloc_in): Likewise.
1434 (bfd_elf64_swap_reloc_out): Likewise.
1435 (bfd_elf64_swap_reloca_in): Likewise.
1436 (bfd_elf64_swap_reloca_out): Likewise.
1437 (bfd_elf64_swap_phdr_in): Likewise.
1438 (bfd_elf64_swap_phdr_out): Likewise.
1439 (bfd_elf64_swap_dyn_in): Likewise.
1440 (bfd_elf64_swap_dyn_out): Likewise.
1441 (bfd_elf64_slurp_symbol_table): Declare.
1442 (bfd_elf64_write_shdrs_and_ehdr): Declare.
1443 (bfd_elf64_write_out_phdrs): Declare.
1444 (_bfd_mips_elf_section_from_shdr): Declare.
1445 * elf.c (bfd_section_from_shdr): Remove assertion requiring
1446 SHT_REL/SHT_RELA to match use_rela_p. If there is already a reloc
1447 section for the section, add the new one to rel_hdr2. Increment
1448 reloc_count rather than setting it.
1449 * elfcode.h (elf_slurp_symbol_table): Define name as macro.
1450 Remove static declaration.
1451 (elf_write_shdrs_and_ehdr): Define name as macro.
1452 (elf_write_out_phdrs): Likewise.
1453 (elf_swap_ehdr_in, elf_swap_ehdr_out): Declare.
1454 (elf_swap_shdr_in, elf_swap_shdr_out): Declare.
1455 (elf_swap_symbol_in): Change second parameter to be const.
1456 (elf_swap_symbol_out): Likewise.
1457 (elf_swap_ehdr_in, elf_swap_ehdr_out): Likewise.
1458 (elf_swap_shdr_in, elf_swap_shdr_out): Likewise.
1459 (elf_swap_phdr_in, elf_swap_phdr_out): Likewise.
1460 (elf_swap_reloc_in, elf_swap_reloc_out): Likewise.
1461 (elf_swap_reloca_in, elf_swap_reloca_out): Likewise.
1462 (elf_write_out_phdrs): Rename from write_out_phdrs. Change second
1463 parameter to be const. Make non-static.
1464 (elf_write_shdrs_and_ehdr): Rename from write_shdrs_and_ehdr.
1465 Make non-static.
1466 (elf_slurp_symbol_table): Make non-static.
1467 (NAME(_bfd_elf,size_info)): Update names of renamed functions.
1468 * elfxx-target.h (elf_info_to_howto): Define if not defined.
1469 (elf_backend_size_info): Likewise.
1470 (elfNN_bed): Use elf_backend_size_info.
1471 * targets.c (bfd_elf64_bigmips_vec): Declare.
1472 (bfd_elf64_littlemips_vec): Declare.
1473 (bfd_target_vector): Add bfd_elf64_bigmips_vec and
1474 bfd_elf64_littlemips_vec if BFD64 is defined.
1475
1476 * libbfd.c (bfd_get_file_window): Add cast to fprintf argument.
1477
1478 Tue May 28 11:42:08 1996 Ian Lance Taylor <ian@cygnus.com>
1479
1480 * coff-sh.c (sh_relax_delete_bytes): Insert nop instructions, not
1481 zeroes, in alignment holes.
1482
1483 * configure: Rebuild with autoconf 2.10.
1484
1485 * aoutx.h (NAME(aout,find_nearest_line)): Make room for the
1486 potential leading underscore in the allocated buffer.
1487
1488 Fri May 24 14:28:38 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1489
1490 * elf32-ppc.c (ppc_elf_add_symbol_hook): Do not put small common
1491 symbols into .sbss if this is a relocatable link.
1492
1493 Thu May 23 12:26:24 1996 Ian Lance Taylor <ian@cygnus.com>
1494
1495 * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Warn about
1496 undefined symbols when creating a shared library.
1497
1498 Fri May 17 13:54:15 1996 Ian Lance Taylor <ian@cygnus.com>
1499
1500 * coff-sh.c: Add a bunch of new code and static const arrays to
1501 support aligning loads and stores on four byte memory boundaries.
1502 Also:
1503 (sh_coff_howtos): Add entries for R_SH_CODE, R_SH_DATA and
1504 R_SH_LABEL.
1505 (sh_relax_section): Look for R_SH_CODE relocs. If we find one,
1506 call sh_align_loads.
1507 (sh_relax_delete_bytes): Don't mark R_SH_CODE or R_SH_DATA relocs
1508 as unused.
1509
1510 Thu May 16 16:34:13 1996 Ian Lance Taylor <ian@cygnus.com>
1511
1512 * cache.c (bfd_open_file): Unlink the file before opening it for
1513 write. From Marty Leisner <leisner@sdsp.mc.xerox.com>.
1514
1515 * opncls.c (bfd_fdopenr): Set opened_once.
1516
1517 Tue May 14 12:35:32 1996 Ian Lance Taylor <ian@cygnus.com>
1518
1519 * som.c (som_slurp_reloc_table): Clear external_relocs cache after
1520 freeing it.
1521
1522 * libbfd.c: Remove #ifdef FILE_OFFSET_IS_CHAR_INDEX, and compile
1523 the code unconditionally.
1524
1525 Mon May 13 19:51:37 1996 Ian Lance Taylor <ian@cygnus.com>
1526
1527 * libcoff-in.h (struct pei_section_tdata): Define structure.
1528 (pei_section_data): Define macro.
1529 * libcoff.h: Rebuild.
1530 * coffcode.h (coff_set_alignment_hook): If COFF_IMAGE_WITH_PE,
1531 store s_paddr field in pei_section_data.
1532 (coff_compute_section_file_positions): Use pei_section_data rather
1533 than _cooked_size, and don't overwrite an existing value.
1534 (coff_write_object_contents): If COFF_OBJ_WITH_PE, set s_paddr to
1535 0. If COFF_IMAGE_WITH_PE, set s_paddr to pei_section_data.
1536 * peicode.h (coff_bfd_copy_private_section_data): Define if
1537 COFF_IMAGE_WITH_PE.
1538 (pe_bfd_copy_private_section_data): New static function if
1539 COFF_IMAGE_WITH_PE.
1540
1541 Wed May 8 16:10:38 1996 Ian Lance Taylor <ian@cygnus.com>
1542
1543 * srec.c (srec_set_arch_mach): Write as a function rather than a
1544 macro definition.
1545
1546 * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): If an archive has
1547 no map, just check each member in turn to see whether it is
1548 required.
1549
1550 Wed May 8 09:17:34 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1551
1552 * ppcboot.c (ppcboot_object_p): Check for type 0x41 in partition
1553 table. Call BFD_ASSERT to validate header size, instead of
1554 calling fatal.
1555 (ppcboot_bfd_print_private_bfd_data): Put quotes around partition
1556 name.
1557
1558 Tue May 7 16:10:19 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1559
1560 * ppcboot.c: New target for looking at PPCbug boot records.
1561
1562 * config{ure.in,.bfd}: Add support for ppcboot target.
1563 * targets.c: Ditto.
1564 * configure: Regenerate.
1565
1566 Tue May 7 11:15:19 1996 Jeffrey A Law (law@cygnus.com)
1567
1568 * coff-h8300.c (howto_table): Update names to match recent
1569 changes to include/coff/internal.h. Fix minor errors in the
1570 existing relocs. Add R_MOVL1 and R_MOVL2.
1571 (rtype2howto): Similarly.
1572 (h8300_reloc16_estimate): Rewrite to simplify, fix bugs in the
1573 existing relaxing code and peform more relaxing.
1574 (h8300_reloc16_extra_cases): Likewise.
1575
1576 Mon May 6 18:24:09 1996 Jeffrey A Law (law@cygnus.com)
1577
1578 * reloc16.c (bfd_coff_reloc16_get_value): Handle common
1579 symbols correctly.
1580
1581 Sat May 4 05:08:45 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
1582
1583 * elfcode.h (elf_object_p): Reject generic ELF target if
1584 e_machine matches an alternate machine code in a specific backend.
1585
1586 * netbsd-core.c (netbsd_core_vec): Remove initializer for
1587 obsolete align_power_min field.
1588
1589 Fri May 3 13:07:35 1996 Jeffrey A Law (law@cygnus.com)
1590
1591 * coff-h8300.c (reloc_howto_type): Add howto entry for
1592 R_PCRWORD_B.
1593 (rtype2howto): Handle R_PCRWORD_B.
1594 (h8300_reloc16_extra_cases): Handle R_PCRWORD_B.
1595 (h8300_reloc_16_estimate): Likewise. Try to turn a 16bit
1596 pc-relative branch (R_PCRWORD) into an 8bit pc-relative
1597 branch (R_PCWORD_B).
1598
1599 Fri May 3 10:47:41 1996 Ian Lance Taylor <ian@cygnus.com>
1600
1601 * aoutx.h (translate_from_native_sym_flags): Set the section for
1602 BSF_CONSTRUCTOR symbols.
1603
1604 * cofflink.c (_bfd_coff_link_input_bfd): Correct setting of
1605 last_bf_index.
1606
1607 Wed May 1 18:39:32 1996 Doug Evans <dje@canuck.cygnus.com>
1608
1609 * coffcode.h (coff_write_object_contents): In comdat section lookup,
1610 stop looking when section is found.
1611
1612 Wed May 1 14:17:57 1996 Ian Lance Taylor <ian@cygnus.com>
1613
1614 * coffcode.h (STRING_SIZE_SIZE): Define.
1615 (styp_to_sec_flags): Handle long symbol names when looking for the
1616 section symbol.
1617 (bfd_coff_backend_data): Add _bfd_coff_long_section_names field.
1618 (bfd_coff_long_section_names): Define.
1619 (coff_write_object_contents): Handle long section names.
1620 (bfd_coff_std_swap_table): Initialize new field.
1621 * libcoff.h: Rebuild.
1622 * coffgen.c (make_a_section_from_file): Handle long section
1623 names.
1624 (coff_write_symbols): Handle long section names.
1625 * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
1626 * coff-mips.c (mips_ecoff_backend_data): Likewise.
1627 * pe-arm.c (COFF_LONG_SECTION_NAMES): Define.
1628 * pei-arm.c (COFF_LONG_SECTION_NAMES): Define.
1629 * pe-i386.c (COFF_LONG_SECTION_NAMES): Define.
1630 * pei-i386.c (COFF_LONG_SECTION_NAMES): Define.
1631 * pe-ppc.c (COFF_LONG_SECTION_NAMES): Define.
1632 * pei-ppc.c (COFF_LONG_SECTION_NAMES): Define.
1633
1634 * bout.c (b_out_callback): Set lma of sections.
1635 (b_out_bfd_get_relocated_section_contents): Rename in_abfd
1636 parameter to output_bfd. Used input_bfd instead of output_bfd in
1637 several places.
1638
1639 Tue Apr 30 17:56:39 1996 Ian Lance Taylor <ian@cygnus.com>
1640
1641 * aoutx.h (translate_from_native_sym_flags): Don't create
1642 SEC_CONSTRUCTOR sections.
1643 * ecoff.c (ecoff_set_symbol_info): Likewise.
1644
1645 * elf32-mips.c (mips_elf_copy_private_bfd_data): Copy elf_gp.
1646 From Don Bowman <bowman@waterloo.hp.com>.
1647
1648 Tue Apr 30 17:06:32 1996 Doug Evans <dje@canuck.cygnus.com>
1649
1650 * coff-arm.c (armcoff_little_vec): If COFF_WITH_PE is defined, add
1651 SEC_LINK_ONCE and SEC_LINK_DUPLICATES to section_flags.
1652
1653 Mon Apr 29 13:15:17 1996 Ian Lance Taylor <ian@cygnus.com>
1654
1655 * elf32-mips.c (struct mips_elf_link_hash_entry): Add
1656 mips_32_relocs field.
1657 (mips_elf_link_hash_newfunc): Initialize mips_32_relocs field.
1658 (mips_elf_relocate_section): Copy R_MIPS_REL32 and R_MIPS_32
1659 relocs against a global symbol which is not defined in a regular
1660 file.
1661 (mips_elf_check_relocs): For a R_MIPS_REL32 or R_MIPS_32 reloc
1662 against a global symbol, increment mips_32_relocs.
1663 (mips_elf_adjust_dynamic_symbol): If mips_32_relocs is set, and
1664 the symbol is not defined in a regular file, make room in the
1665 .rel.dyn section.
1666
1667 Fri Apr 26 18:00:37 1996 Ian Lance Taylor <ian@cygnus.com>
1668
1669 * ecoff.c (ecoff_compute_section_file_positions): Track the real
1670 file position and the virtual file position separately. Set
1671 filepos information bsaed on the real file position.
1672 (_bfd_ecoff_set_section_contents): Handle .lib sections like the
1673 Jan 23 change to coffcode.h.
1674
1675 * som.c (som_slurp_symbol_table): Set the symbol count to the
1676 number of BFD symbols created.
1677
1678 Fri Apr 26 12:34:29 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1679
1680 * elf32-ppc.c (ppc_elf_check_relocs): Forward relocations to the
1681 output file if linking shared objects. Loop to check all relocs,
1682 rather than returning false on first error.
1683
1684 Thu Apr 25 13:25:12 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1685
1686 * elf32-ppc.c (ppc_elf_create_linker_section): Add PLT case.
1687 (ppc_elf_additional_program_headers): If .interp section, bump #
1688 of program headers by 1.
1689 (ppc_elf_adjust_dynamic_symbol): Flesh out support.
1690 (ppc_elf_size_dynamic_sections): Add support for .plt section.
1691 (ppc_elf_check_relocs): Print out filename in debug code. Enable
1692 PLT support.
1693 (ppc_elf_finish_dynamic_symbol): Add support for PLT's, beef up
1694 debug output.
1695 (ppc_elf_relocate_section): If the output section isn't defined,
1696 don't abort, just give an error message.
1697
1698 * elflink.c (_bfd_elf_create_dynamic_sections): If the section
1699 being created is .sdata or .sdata2, don't make the symbol dynamic.
1700
1701 Wed Apr 24 14:04:07 1996 Ian Lance Taylor <ian@cygnus.com>
1702
1703 * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Look through the
1704 members of an archive for dynamic objects with no symbols, and
1705 pass them directly to check_archive_element.
1706 (xcoff_link_check_ar_symbols): Pass dynamic objects to
1707 xcoff_link_check_dynamic_ar_symbols.
1708 (xcoff_link_check_dynamic_ar_symbols): New static function.
1709
1710 * coff-rs6000.c (rs6000coff_vec): Change BFD_JUMP_TABLE_DYNAMIC
1711 from _bfd_nodynamic to _bfd_xcoff.
1712 * libcoff-in.h (_bfd_xcoff_get_dynamic_symtab_upper_bound):
1713 Declare.
1714 (_bfd_xcoff_canonicalize_dynamic_symtab): Declare.
1715 (_bfd_xcoff_get_dynamic_reloc_upper_bound): Declare.
1716 (_bfd_xcoff_canonicalize_dynamic_reloc): Declare.
1717 * libcoff.h: Rebuild.
1718 * xcofflink.c (xcoff_swap_ldrel_in): New static function.
1719 (xcoff_get_section_contents): New static function.
1720 (_bfd_xcoff_get_dynamic_symtab_upper_bound): New function.
1721 (_bfd_xcoff_canonicalize_dynamic_symtab): New function.
1722 (_bfd_xcoff_get_dynamic_reloc_upper_bound): New function.
1723 (xcoff_dynamic_reloc): New static variable.
1724 (_bfd_xcoff_canonicalize_dynamic_reloc): New function.
1725 (xcoff_link_add_dynamic_symbols): Use xcoff_get_section_contents.
1726
1727 Tue Apr 23 12:48:42 1996 Ian Lance Taylor <ian@cygnus.com>
1728
1729 * coff-sparc.c (bfd_coff_generic_reloc): Return bfd_reloc_ok even
1730 if reloc_entry->addend is not 0.
1731 (CALC_ADDEND): Just set the addend to reloc.r_offset.
1732
1733 Mon Apr 22 18:29:01 1996 Doug Evans <dje@canuck.cygnus.com>
1734
1735 * elf32-sparc.c (_bfd_sparc_elf_howto_table): Fix spelling of
1736 R_SPARC_GLOB_JMP.
1737 * elf64-sparc.c (sparc64_elf_howto_table): Likewise.
1738 Add entries for R_SPARC_[56].
1739 (sparc_reloc_map): Add entries for R_SPARC_[56].
1740
1741 Mon Apr 22 15:07:24 1996 Ian Lance Taylor <ian@cygnus.com>
1742
1743 Optimize linking of stabs in sections as used in ELF and COFF.
1744 * stabs.c: New file.
1745 * libbfd-in.h (_bfd_link_section_stabs): Declare.
1746 (_bfd_write_section_stabs): Declare.
1747 (_bfd_write_stab_strings): Declare.
1748 * libbfd.h: Rebuild.
1749 * libcoff-in.h (struct coff_section_tdata): Add stab_info field.
1750 (struct coff_link_hash_table): Add stab_info field.
1751 * libcoff.h: Rebuild.
1752 * cofflink.c (_bfd_coff_link_hash_table_init): Initialize
1753 stab_info field.
1754 (coff_link_add_symbols): Call _bfd_link_section_stabs if
1755 appropriate.
1756 (_bfd_coff_final_link): Write out stab strings hash table.
1757 (_bfd_coff_link_input_bfd): Handle optimized stabs sections.
1758 * coff-ppc.c (ppc_bfd_coff_final_link): Write out stab strings
1759 hash table.
1760 * elf-bfd.h (struct elf_link_hash_table): Add stab_info field.
1761 (struct bfd_elf_section_data): Add stab_info field.
1762 * elf.c (_bfd_elf_link_hash_table_init): Initialize stab_info
1763 field.
1764 * elflink.h (elf_link_add_object_symbols): If appropriate, call
1765 _bfd_link_section_stabs.
1766 (elf_bfd_final_link): Write out stab strings hash table.
1767 (elf_link_input_bfd): Handle optimized stabs sections.
1768 * reloc.c (_bfd_final_link_relocate): Check address against
1769 _raw_size rather than _cooked_size.
1770 * Makefile.in: Rebuild dependencies.
1771 (BFD_LIBS): Add stabs.o
1772 (BFD_LIBS_CFILES): Add stabs.c.
1773
1774 * VERSION: Increment for bfdlink.h change.
1775
1776 * coffgen.c (coff_renumber_symbols): Correct handling of
1777 BSF_NOT_AT_END common symbols.
1778
1779 Fri Apr 19 19:21:56 1996 Ian Lance Taylor <ian@cygnus.com>
1780
1781 * coff-ppc.c (record_toc): Add cast to avoid warning.
1782 (ppc_allocate_toc_section): Likewise.
1783 (coff_ppc_relocate_section): Remove ANSI C string concatenation.
1784 (ppc_coff_reloc_type_lookup): Remove unreached code.
1785 * coffcode.h (coff_write_object_contents): Don't take the address
1786 of an array.
1787 * peicode.h (pe_print_idata): Add casts to avoid warning.
1788 (pe_print_edata): Likewise.
1789 (pe_print_reloc): Remove ANSI C string concatenation.
1790
1791 Thu Apr 18 18:51:18 1996 Ian Lance Taylor <ian@cygnus.com>
1792
1793 * libcoff-in.h (struct coff_final_link_info): Add last_bf_index
1794 and last_bf fields.
1795 * libcoff.h: Rebuild.
1796 * coffswap.h (coff_swap_aux_in): Swap endndx field for C_FCN
1797 symbols.
1798 (coff_swap_aux_out): Likewise.
1799 * peicode.h (coff_swap_aux_in): Likewise.
1800 (coff_swap_aux_out): Likewise.
1801 * coffgen.c (coff_pointerize_aux): Check endndx field for C_FCN
1802 symbols.
1803 * cofflink.c (_bfd_coff_final_link): Initialize last_bf_index
1804 field.
1805 (_bfd_coff_link_input_bfd): Check endndx field for C_FCN symbols.
1806 Fix up .bf endndx link fields.
1807 * coff-ppc.c (ppc_bfd_coff_final_link): Initialize last_bf_index
1808 field.
1809 * xcofflink.c (xcoff_link_input_bfd): Check endndx field for C_FCN
1810 symbols.
1811
1812 Wed Apr 17 12:08:24 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1813
1814 * pe{,i}-ppc.c (PPC_PE): Define instead of PPC, so that compiling
1815 on Solaris PowerPC systems doesn't get confused.
1816
1817 * ccffcode.h (coff_write_object_contents): Use #ifdef PPC_PE, not
1818 #ifdef PPC.
1819
1820 * elfcore.h (bfd_prstatus, bfd_fpregset): Add thread argument.
1821 (elf_corefile_note): If HAVE_SYS_PROCFS_H is not defined, don't
1822 update did_reg and did_reg2.
1823
1824 Wed Apr 17 13:07:37 1996 Ian Lance Taylor <ian@cygnus.com>
1825
1826 * xcofflink.c (xcoff_link_input_bfd): Check for TOC overflow.
1827
1828 * linker.c (_bfd_generic_link_add_one_symbol): When calling the
1829 callback routines, pass h->root.string rather than name, in case
1830 copy is true and name is transient.
1831
1832 Tue Apr 16 16:36:38 1996 Stu Grossman (grossman@lisa.cygnus.com)
1833
1834 * elfcore.h: Add support for core files with multiple threads.
1835 (Primarily for Solaris.)
1836
1837 Tue Apr 16 13:44:08 1996 Ian Lance Taylor <ian@cygnus.com>
1838
1839 * aoutx.h (NAME(aout,squirt_out_relocs)): Don't do anything if
1840 section->orelocation is NULL.
1841
1842 * coffgen.c (bfd_coff_get_syment): New function.
1843 (bfd_coff_get_auxent): New function.
1844 * bfd-in.h (bfd_coff_get_syment): Declare.
1845 (bfd_coff_get_auxent): Declare.
1846 * bfd-in2.h: Rebuild.
1847
1848 Mon Apr 15 19:06:59 1996 Ian Lance Taylor <ian@cygnus.com>
1849
1850 * elf32-mips.c (struct mips_hi16): Define.
1851 (mips_hi16_addr, mips_hi16_addend): Remove.
1852 (mips_hi16_list): New static variable.
1853 (mips_elf_hi16_reloc): Maintain a list of unmatched HI16 relocs.
1854 (mips_elf_lo16_reloc): Process mips_hi16_list.
1855 (mips_elf_relocate_section): Permit an arbitrary number of HI16
1856 relocs before the associated LO16 reloc.
1857
1858 Wed Apr 10 00:23:53 1996 Ian Lance Taylor <ian@cygnus.com>
1859
1860 * versados.c (versados_scan): Check bfd_alloc return value.
1861 (versados_object_p): Check all bfd_read return values. Require
1862 that lang field be less than 10, to avoid confusion with Intel Hex
1863 files.
1864
1865 * libaout.h (WRITE_HEADERS): Write out the relocs even if there
1866 aren't any symbols.
1867 * aoutx.h (NAME(aout,swap_std_reloc_out)): Set r_index to N_ABS,
1868 not 0, for an absolute symbol.
1869 (NAME(aout,swap_ext_reloc_out)): Likewise.
1870
1871 * ihex.c (ihex_scan): Accept a length of 4 for record type 5.
1872 (ihex_write_object_contents): For a large start address, output
1873 the full 32 bit address in record type 5.
1874
1875 * ieee.c (ieee_write_byte): Change second parameter from bfd_byte
1876 to int to avoid promotion problems in prototype.
1877
1878 Tue Apr 9 11:44:21 1996 Ian Lance Taylor <ian@cygnus.com>
1879
1880 * configure.host: Use ${srcdir} when looking for picfrag.
1881
1882 * configure.host: Switch on ${libdir}, not $(libdir). From
1883 alan@spri.levels.unisa.edu.au (Alan Modra).
1884
1885 * aoutx.h (aout_link_add_symbols): Always call add_dynamic_symbols
1886 entry point, not just for DYNAMIC objects.
1887 * sunos.c (sunos_add_dynamic_symbols): Always call
1888 sunos_create_dynamic_sections. If called with a non DYNAMIC
1889 object, don't do anything else.
1890 (sunos_add_one_symbol): Don't call sunos_create_dynamic_sections.
1891
1892 Mon Apr 8 12:09:36 1996 Ian Lance Taylor <ian@cygnus.com>
1893
1894 * configure.in: Permit --enable-shared to specify a list of
1895 directories.
1896 * configure: Rebuild.
1897
1898 * configure.host: Set HLDFLAGS and SHLIB_CFLAGS for *-dec-osf*
1899 host when configuring with --enable-shard.
1900
1901 Fri Apr 5 12:24:13 1996 Ian Lance Taylor <ian@cygnus.com>
1902
1903 * config.bfd: Add i[345]86-*-freebsdelf* target; from John Polstra
1904 <jdp@polstra.com>.
1905
1906 * linker.c (link_action): For WARN_ROW/warn, use MWARN, not CYCLE,
1907 to avoid crashing in bfd_hash_replace.
1908
1909 * sysdep.h: Use #ifdef, not #if.
1910
1911 Thu Apr 4 23:32:23 1996 Ian Lance Taylor <ian@cygnus.com>
1912
1913 * config.in: Rebuild.
1914
1915 Thu Apr 4 18:49:09 1996 Fred Fish <fnf@cygnus.com>
1916
1917 * configure.in (mips-sony-bsd*): Fix typo in AC_DEFINE.
1918 (AC_CHECK_HEADERS): Check for sys/time.h
1919 (AC_HEADER_TIME): Add macro.
1920 * configure: Rebuild.
1921 * sysdep.h: Use TIME_WITH_SYS_TIME and HAVE_SYS_TIME_H
1922 to control what combination of <time> and <sys/time.h>
1923 get included.
1924
1925 Tue Apr 2 13:11:53 1996 Doug Evans <dje@canuck.cygnus.com>
1926
1927 * aoutf1.h (sunos_32_set_arch_mach): Handle M_SPARCLET.
1928 (aout_32_sunos4_write_object_contents): Likewise.
1929 * aoutx.h (NAME(aout,machine_type)): Handle
1930 bfd_mach_sparc_{sparclet,sparclite}.
1931 * archures.c (bfd_mach_sparc_{sparclet,sparclite}): Define.
1932 (bfd_mach_sparc_v9_p): Update.
1933 * cpu-sparc.c (arch_info_struct): Add entries for sparclet,sparclite.
1934 * libaout.h (enum machine_type): Add M_SPARCLET.
1935 * sunos.c (MACHTYPE_OK): Define.
1936 * bfd-in2.h: Regenerated.
1937
1938 Tue Apr 2 00:33:18 1996 Ian Lance Taylor <ian@cygnus.com>
1939
1940 * elf-bfd.h (struct elf_link_hash_table): Add hgot field.
1941 * elf.c (_bfd_elf_link_hash_table_init): Initialize hgot field.
1942 * elflink.c (_bfd_elf_create_got_section): Store the
1943 _GLOBAL_OFFSET_TABLE_ hash table entry in the hgot field.
1944 * elf32-sparc.c (elf32_sparc_check_relocs): If the size of the
1945 global offset table goes over 0x1000, set the value of
1946 _GLOBAL_OFFSET_TABLE_ to 0x1000 into the section.
1947 (elf32_sparc_relocate_section): Subtract the offset of
1948 _GLOBAL_OFFSET_TABLE_ when handling GOT relocations.
1949
1950 * elfcode.h: Don't include <string.h>.
1951
1952 Mon Apr 1 10:39:24 1996 Jeffrey A Law (law@cygnus.com)
1953
1954 * linker.c (_bfd_generic_link_hash_newfunc): Renamed from
1955 generic_link_hash_newfunc. All references changed.
1956 * genlink.h (_bfd_generic_link_hash_newfunc): Declaration
1957 moved here from libbfd-in.h.
1958 * libbfd-in.h: Corresponding changes.
1959 * libbfd.h: Regenerated.
1960
1961 Mon Apr 1 12:35:36 1996 Ian Lance Taylor <ian@cygnus.com>
1962
1963 * aoutx.h (aout_link_input_section_std): When reporting an
1964 overflow error, use the name of the symbol in the hash table if
1965 available.
1966 (aout_link_input_section_ext): Likewise.
1967
1968 * elflink.h (elf_adjust_dynamic_symbol): If a common symbol got
1969 defined in a regular file, set ELF_LINK_HASH_DEF_REGULAR.
1970
1971 Sun Mar 31 01:58:41 1996 steve chamberlain <sac@slash.cygnus.com>
1972
1973 * peicode.h (coff_swap_aouthdr_out): Delete test for .junk.
1974 * coffcode.h (coff_compute_section_file_positions): Likewise.
1975 (coff_write_object_contents): Likewise.
1976
1977 Fri Mar 29 12:44:36 1996 Ian Lance Taylor <ian@cygnus.com>
1978
1979 * section.c (SEC_LINK_ONCE): Define.
1980 (SEC_LINK_DUPLICATES): Define.
1981 (SEC_LINK_DUPLICATES_DISCARD): Define.
1982 (SEC_LINK_DUPLICATES_ONE_ONLY): Define.
1983 (SEC_LINK_DUPLICATES_SAME_SIZE): Define.
1984 (SEC_LINK_DUPLICATES_SAME_CONTENTS): Define.
1985 * bfd-in2.h: Rebuild.
1986 * coffcode.h (sec_to_styp_flags): If COFF_WITH_PE, turn
1987 SEC_LINK_ONCE into IMAGE_SCN_LNK_COMDAT.
1988 (styp_to_sec_flags): If COFF_WITH_PE, turn IMAGE_SCN_LNK_REMOVE
1989 into SEC_EXCLUDE. If IMAGE_SCN_LNK_COMDAT is set, set
1990 SEC_LINK_ONCE, and look through the symbol table for the setting
1991 for SEC_LINK_DUPLICATES.
1992 (coff_write_object_contents): If COFF_WITH_PE, if SEC_LINK_ONCE is
1993 set for a section, find the section symbol in the symbol table,
1994 and set the aux entry based on SEC_LINK_DUPLICATES.
1995 * coffgen.c (coff_print_symbol): Add a space before "checksum".
1996 * coff-arm.c (armcoff_big_vec): If COFF_WITH_PE is defined, add
1997 SEC_LINK_ONCE and SEC_LINK_DUPLICATES to section_flags.
1998 * coff-i386.c (i386coff_vec): Likewise.
1999 * coff-ppc.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Likewise.
2000
2001 * VERSION: Bump to 2.6.1.
2002 * Makefile.in (stamp-h): Depend upon VERSION.
2003
2004 Thu Mar 28 23:48:49 1996 Jeffrey A Law (law@cygnus.com)
2005
2006 * libbfd-in.h (generic_link_hash_newfunc): Add declaration.
2007 * libbfd.h: Rebuilt.
2008 * linker.c (generic_link_hash_newfunc): No longer static.
2009 * coffcode.h (coff_bfd_link_hash_create): Allow specific targets
2010 to override.
2011 * coff-h8300.c: Add two derived hash tables and their associated
2012 funtions and #defines for use by the h8300 linker.
2013 (h8300_reloc16_extra_cases, case R_MEM_INDIRECT): Create entries in
2014 the function vector as needed. Place the address of the function
2015 vector entry in the location specified by the R_MEM_INDIRECT reloc.
2016 Rewrite the vectors section contents as necessary.
2017 (h8300_bfd_link_add_symbols): New function for the h8300 linker.
2018 (coff_bfd_link_add_symbols): Define to use h8300 specific version.
2019 (coff_bfd_link_hash_table_create): Likewise.
2020
2021 Thu Mar 28 17:44:08 1996 Ian Lance Taylor <ian@cygnus.com>
2022
2023 * libhppa.h: If gcc 2.7 or higher, declare all the functions with
2024 __attribute__ ((__unused__)) so that -Wall doesn't warn about
2025 them.
2026 (hppa_rebuild_insn): Pass pointer to correct type to
2027 low_sign_unext and dis_assemble_21.
2028
2029 Thu Mar 28 11:00:36 1996 Doug Evans <dje@canuck.cygnus.com>
2030
2031 * config.bfd (sparc64-{sysv4*,solaris2*}): Delete.
2032 Stick with sparc-*-{sysv4*,solaris2*}.
2033
2034 Wed Mar 27 10:43:34 1996 Ian Lance Taylor <ian@cygnus.com>
2035
2036 * peicode.h (coff_swap_aux_in): Swap in extra PE x_scn fields.
2037 (coff_swap_aux_out): Swap out extra PE x_scn fields.
2038 * coffswap.h (coff_swap_aux_in): Zero out extra PE x_scn fields.
2039 * coffgen.c (coff_print_symbol): If any of the extra PE x_scn
2040 fields is non-zero, print them.
2041
2042 * coff-ppc.c (ppc_record_toc_entry): Put inside COFF_IMAGE_WITH_PE
2043 ifdef. Remove unused variables.
2044 (ppc_record_data_in_toc_entry): Ifdef out. Removed unused
2045 variables.
2046 (ppc_mark_symbol_as_glue): Put inside COFF_IMAGE_WITH_PE ifdef.
2047 (get_symbol_value): Ifdef out.
2048 (pe_ppc_reloc): Ifdef out. Remove unused variables.
2049 (coff_ppc_relocate_section): Remove unused variables. Make
2050 fprintf strings and argument types correspond. Put before_addr in
2051 DEBUG_RELOC ifdef.
2052 (dump_toc): Make fprintf strings and argument types correspond.
2053 (ppc_process_before_allocation): Remove unused variables. Always
2054 return a value.
2055 (ppc_reflo_reloc): Ifdef out.
2056 (ppc_addr32nb_reloc): Ifdef out.
2057 (ppc_coff_rtype2howto): Make fprintf strings and argument types
2058 correspond.
2059 (coff_ppc_rtype_to_howto): Likewise.
2060 (ppc_coff_swap_sym_in_hook): Remove unused variables.
2061
2062 * peicode.h (pe_print_idata): Move otherwise unused variables into
2063 the #ifdef where they are used. Always return a value.
2064 (pe_print_edata): Make fprintf strings and argument types
2065 correspond. Always return a value.
2066 (pe_print_pdata): Removed unused variable addr_value. Always
2067 return a value.
2068 (pe_print_reloc): Remove unused variable onaline. Make fprintf
2069 strings and argument types correspond. Always return a value.
2070
2071 * elf32-ppc.c (ppc_elf_fake_sections): Return true.
2072 (ppc_elf_finish_dynamic_symbol): Move definition of unused
2073 variable rela inside #if 0 section where it is used.
2074
2075 * ns32k.h: New file.
2076 * cpu-ns32k.h: Include ns32k.h. Rename externally visible
2077 functions to start with _bfd_.
2078 * aout-ns32k.c: Include ns32k.h. Change references to renamed
2079 functions in cpu-ns32k.h.
2080 * Makefile.in: Rebuild dependencies.
2081 (HFILES): Add ns32k.h.
2082
2083 * section.c (struct sec): Add linker_mark field. Change
2084 user_set_vma and reloc_done to be single bit fields.
2085 (STD_SECTION): Update accordingly.
2086 * bfd-in2.h: Rebuild.
2087 * aoutx.h (NAME(aout,final_link)): Mark sections included in the
2088 link.
2089 (aout_link_input_bfd): Don't link unmarked sections.
2090 * cofflink.c (_bfd_coff_final_link): Mark sections included in the
2091 link.
2092 (_bfd_coff_link_input_bfd): Don't link unmarked sections.
2093 * coff-ppc.c (ppc_bfd_coff_final_link): Mark sections included in
2094 the link.
2095 * elflink.h (elf_bfd_final_link): Mark sections included in the
2096 link.
2097 (elf_link_input_bfd): Don't link unmarked sections.
2098 * xcofflink.c (_bfd_xcoff_bfd_final_link): Mark sections included
2099 in the link.
2100 (xcoff_link_input_bfd): Don't link unmarked sections.
2101
2102 * coffswap.h (coff_swap_scnhdr_out): Include section name in
2103 overflow error messages.
2104
2105 Tue Mar 26 15:46:18 1996 Ian Lance Taylor <ian@cygnus.com>
2106
2107 * bfd.c (_bfd_default_error_handler): If _bfd_error_program_name
2108 is not set, print "BFD: " before the error message.
2109
2110 * configure.in: Use AC_CHECK_TOOL to find ar and ranlib. From
2111 Miles Bader <miles@gnu.ai.mit.edu>.
2112 * configure: Rebuild.
2113
2114 Fri Mar 22 12:17:00 1996 Ian Lance Taylor <ian@cygnus.com>
2115
2116 * xcofflink.c (xcoff_link_input_bfd): Fix scan for C_BINCL/C_EINCL
2117 symbols.
2118
2119 * config.bfd: Add ieee_vec to targ_selvecs for i960 targets and
2120 m68k-aout, m68k-coff, and m68k-elf targets.
2121
2122 Fri Mar 22 11:33:44 1996 Martin Anantharaman <martin@goofy.imech.uni-duisburg.de>
2123
2124 * ieee.c: Changed #ifdef KEEPMINUSPCININST to #if KEEPMINUSPCININST.
2125 (ieee_generic_stat_arch_elt): Restructured to prevent
2126 ieee_object_p from being called repeatedly.
2127
2128 Thu Mar 21 11:00:47 1996 steve chamberlain <sac@slash.cygnus.com>
2129
2130 * coffcode.h (coff_write_object_contents): Allocate
2131 buffers large enough for any FILEHDR or AOUTHDR.
2132
2133 Thu Mar 21 16:28:17 1996 David Mosberger-Tang <davidm@azstarnet.com>
2134
2135 * ecofflink.c (lookup_line): New static function, renamed and
2136 slighly changed from old _bfd_ecoff_locate_line.
2137 (_bfd_ecoff_locate_line): Cache line number information. Use
2138 lookup_line for actual lookup.
2139
2140 Thu Mar 21 14:59:11 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2141
2142 * peicode.h (pe_print_pdata): Warn if the .pdata section is not a
2143 multiple of 20 bytes.
2144
2145 Thu Mar 21 13:54:40 1996 Ian Lance Taylor <ian@cygnus.com>
2146
2147 * ecoff.c (_bfd_ecoff_find_nearest_line): Use bfd_zalloc to
2148 allocate ecoff_find_line, and don't initialize by hand.
2149 * elf32-mips.c (mips_elf_find_nearest_line): Use bfd_zalloc for
2150 mips_elf_find_line, and don't call memset.
2151
2152 * coffcode.h (coff_compute_section_file_positions): If not
2153 producing a final executable, don't consider sofar when aligning
2154 the section to the correct size.
2155
2156 Wed Mar 20 16:53:12 1996 Ian Lance Taylor <ian@cygnus.com>
2157
2158 * coffcode.h (coff_add_missing_symbols): Ifdef out.
2159 (coff_write_object_contents): Don't call coff_add_missing_symbols.
2160 * coffgen.c (coff_section_symbol): Ifdef out.
2161
2162 Mon Mar 18 12:54:41 1996 Ian Lance Taylor <ian@cygnus.com>
2163
2164 * elf32-mips.c (mips_elf_gprel32_reloc): Initialize gp if
2165 output_bfd is not NULL.
2166
2167 Thu Mar 14 17:12:06 1996 Doug Evans <dje@charmed.cygnus.com>
2168
2169 * coffgen.c (coff_get_normalized_symtab): Call bfd_zalloc instead
2170 of bfd_alloc (fixes fix_line not being initialized).
2171 Delete zeroing of fix_{value,tag,end,scnlen} fields.
2172
2173 Thu Mar 14 16:06:06 1996 Jeffrey A Law (law@cygnus.com)
2174
2175 * coffcode.h: Allow specific backends to override the
2176 bfd_link_add_symbols routine.
2177
2178 * coff-h8300.c: Include genlink.h.
2179 (howto_table): Add R_MEM_INDIRECT.
2180 (rtype2howto): Support R_MEM_INDIRECT.
2181 (h8300_reloc16_extra_cases): Handle R_MEM_INDIRECT like R_RELBYTE
2182 for now.
2183
2184 Tue Mar 12 12:41:17 1996 David Mosberger-Tang <davidm@koala.azstarnet.com>
2185
2186 * coff-alpha.c (alpha_relocate_section): Use
2187 info->callbacks_warning, rather than _bfd_error_handler, for
2188 "multiple gp" warning.
2189
2190 Tue Mar 12 12:10:55 1996 Ian Lance Taylor <ian@cygnus.com>
2191
2192 * linker.c (bfd_wrapped_link_hash_lookup): New function.
2193 (_bfd_generic_link_add_one_symbol): Remove BFD_ASSERT on hash
2194 table string. Use bfd_wrapped_link_hash_lookup.
2195 (_bfd_generic_link_write_global_symbol): Remove BFD_ASSERT on hash
2196 table string.
2197 * aoutx.h (aout_link_write_symbols): Use the name from the hash
2198 table, if any, when writing out symbols.
2199 (aout_link_input_section_std): Use the name from the hash table,
2200 if any, when reporting undefined symbols.
2201 (aout_link_input_section_ext): Likewise.
2202 (aout_link_reloc_link_order): Use bfd_wrapped_link_hash_lookup.
2203 * bout.c (get_value): Likewise.
2204 * cofflink.c (_bfd_coff_reloc_link_order): Likewise.
2205 * ecoff.c (ecoff_reloc_link_order): Likewise.
2206 * elflink.h (elf_link_add_object_symbols): Likewise.
2207 (elf_reloc_link_order): Likewise.
2208 * linker.c (_bfd_generic_link_output_symbols): Likewise.
2209 (_bfd_generic_reloc_link_order): Likewise.
2210 (default_indirect_link_order): Likewise.
2211 * reloc16.c (bfd_coff_reloc16_get_value): Likewise.
2212 * sunos.c (sunos_add_one_symbol): Likewise.
2213 * xcofflink.c (xcoff_link_add_symbols): Likewise.
2214 (bfd_xcoff_link_count_reloc): Likewise.
2215 (xcoff_reloc_link_order): Likewise.
2216
2217 * ecoffswap.h (ecoff_swap_fdr_in): If ECOFF_64, turn 0xffffffff
2218 into -1 for intern->rss.
2219
2220 * configure: Rebuild with autoconf 2.8.
2221
2222 Mon Mar 11 12:28:31 1996 Ian Lance Taylor <ian@cygnus.com>
2223
2224 * stab-syms.c (__define_stab_duplicate): Define.
2225 (bfd_get_stab_name): Rename from aout_stab_name. Rewrite to use a
2226 switch.
2227 * bfd-in.h (bfd_get_stab_name): Declare.
2228 * bfd-in2.h: Rebuild.
2229 * Makefile.in: Rebuild dependencies.
2230 (BFD_LIBS): Add stab-syms.o.
2231 (BFD_LIBS_CFILES): Add stab-syms.c.
2232 (BFD32_BACKENDS): Remove stab-syms.o.
2233 (BFD32_BACKENDS_CFILES): Remove stab-syms.c.
2234 * configure.in: Don't list stab-syms.o in bfd_backends.
2235 * configure: Rebuild.
2236 * libaout.h (aout_stab_name): Don't declare.
2237 * aoutx.h (NAME(aout,get_symbol_info)): Call bfd_get_stab_name,
2238 not aout_stab_name.
2239
2240 Fri Mar 8 11:26:20 1996 Ian Lance Taylor <ian@cygnus.com>
2241
2242 * elf.c (assign_file_positions_for_segments): Adjust file offset
2243 for section alignment even if SEC_LOAD is not set.
2244
2245 Tue Mar 5 12:02:23 1996 Ian Lance Taylor <ian@cygnus.com>
2246
2247 * configure.in: Don't set SHLIB or SHLINK to an empty string,
2248 since they appear as targets in Makefile.in.
2249 * configure: Rebuild.
2250
2251 * sunos.c (sunos_scan_ext_relocs): If not making a shared library,
2252 don't fiddle with a symbol which is not defined anywhere.
2253
2254 Mon Mar 4 12:49:16 1996 Ian Lance Taylor <ian@cygnus.com>
2255
2256 * xcofflink.c (xcoff_mark): Treat undefined imported symbols as
2257 though they are defined in a shared library.
2258 (xcoff_build_ldsyms): Likewise.
2259
2260 * coffgen.c (coff_find_nearest_line): Don't look at the line
2261 numbers for the section if section->lineno is NULL.
2262
2263 * elf.c (_bfd_elf_symbol_from_bfd_symbol): Print a useful error
2264 message rather than calling BFD_ASSERT.
2265 * elfcode.h (write_relocs): Check return value of
2266 _bfd_elf_symbol_from_bfd_symbol.
2267
2268 Fri Mar 1 09:42:59 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2269
2270 * elf32-ppc.c (ppc_elf_add_symbol_hook): Don't set SEC_LOAD flag
2271 for .sbss section.
2272
2273 Wed Feb 28 11:25:47 1996 Jeffrey A Law (law@cygnus.com)
2274
2275 * libhppa.h (hppa_reloc_field_selector_type): Add R_HPPA_NLSEL
2276 and R_HPPA_NLRSEL.
2277 (e_nsel, e_nlsel, e_nlrsel): Undefine. Add to
2278 hppa_reloc_field_selector_type_alt.
2279 (hppa_field_adjust): Handle e_nlsel, e_nlrsel. Fix e_nsel handling.
2280 * som.c (hppa_som_gen_reloc_type): Handle N', NL' NLR' field
2281 selectors.
2282 (som_write_fixups): Finish handling of R_N0SEL and R_N1SEL.
2283
2284 Wed Feb 28 11:00:24 1996 Ian Lance Taylor <ian@cygnus.com>
2285
2286 * elf.c (assign_file_positions_for_segments): Adjust the segment
2287 memory size for the alignment of a SEC_ALLOC section, not just a
2288 SEC_LOAD section.
2289
2290 Tue Feb 27 14:17:31 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2291
2292 * m68klinux.c: New file.
2293 * hosts/m68klinux.h: New file.
2294 * config.bfd (m68*-*-linuxaout*, m68*-*-linux*): New targets.
2295 * configure.in (m68*-*-linux*): New native host.
2296 (m68klinux_vec): New vector.
2297 * configure: Rebuild.
2298 * targets.c (m68klinux_vec): Declare.
2299 * i386linux.c (bfd_i386linux_size_dynamic_sections): Renamed from
2300 bfd_linux_size_dynmic_sections to avoid clash with m68klinux.c.
2301 * bfd-in.h (bfd_i386linux_size_dynamic_sections): Rename
2302 declaration from bfd_linux_size_dynamic_sections.
2303 (bfd_m68klinux_size_dynamic_sections): Declare.
2304 * bfd-in2.h: Rebuild.
2305 * Makefile.in: Rebuild dependencies.
2306 (BFD32_BACKENDS): Add m68klinux.o.
2307 (BFD32_BACKENDS_CFILES): Add m68klinux.c.
2308
2309 Tue Feb 27 11:31:34 1996 Jeffrey A Law (law@cygnus.com)
2310
2311 * libhppa.h (pa_arch): Add pa20.
2312 (hppa_reloc_field_selector_type): Add R_HPPA_NSEL.
2313 (e_nsel): Undefine. Add to hppa_reloc_field_selector_type_alt.
2314 (hppa_field_adjust): Handle e_nsel.
2315 * som.c: Provide default definitions for many new relocs found only
2316 in hpux10 include files.
2317 (som_fixup_formats): Add several new relocs from hpux10.
2318 (som_hppa_howto_table): Add hpux10 relocs.
2319 (som_write_fixups): Handle R_N0SEL and R_N1SEL hpux10 relocs.
2320
2321 Mon Feb 26 12:52:48 1996 Stan Shebs <shebs@andros.cygnus.com>
2322
2323 * mpw-make.sed: Edit out recent shared library support, and
2324 rules to rebuild .h files using doc/chew.
2325
2326 Mon Feb 26 14:48:39 1996 David Mosberger-Tang <davidm@AZStarNet.com>
2327
2328 * ecoff.c (ecoff_compute_section_file_positions): Adjust the file
2329 size even of sections with no contents.
2330
2331 Mon Feb 26 14:01:13 1996 Ian Lance Taylor <ian@cygnus.com>
2332
2333 * cofflink.c (_bfd_coff_link_input_bfd): When merging, skip names
2334 starting with '$' the way we skip names starting with '.'. When
2335 updating x_endndx, don't be fooled by an index which has been
2336 merged.
2337
2338 * cofflink.c (_bfd_coff_link_input_bfd): Don't try to optimize a
2339 struct/union/enum type with no elements.
2340
2341 Sat Feb 24 11:38:58 1996 Ian Lance Taylor <ian@cygnus.com>
2342
2343 * bfd.c (bfd_errmsg): Handle a NULL return from strerror.
2344
2345 * archive.c (bfd_generic_archive_p): If the first file in the
2346 archive can not be recognized as an object, don't assume that this
2347 is the wrong format.
2348
2349 * elf.c (bfd_elf_set_dt_needed_name): Don't do anything if the
2350 format is not bfd_object.
2351 (bfd_elf_get_dt_soname): Likewise.
2352
2353 Wed Feb 21 13:58:04 1996 Ian Lance Taylor <ian@cygnus.com>
2354
2355 * coff-sh.c (sh_relax_delete_bytes): Correct range of R_SH_USES
2356 reloc.
2357
2358 Tue Feb 20 16:22:44 1996 J.T. Conklin <jtc@rtl.cygnus.com>
2359
2360 * bfd.c (tdata): Add netbsd_core_data.
2361 * bfd-in2.h: Regenerated.
2362
2363 Tue Feb 20 16:50:02 1996 Ian Lance Taylor <ian@cygnus.com>
2364
2365 * sunos.c (SUNOS_CONSTRUCTOR): Define.
2366 (sunos_add_one_symbol): Don't let a symbol from a dynamic object
2367 override a constructor symbol. Set SUNOS_CONSTRUCTOR when
2368 appropriate.
2369
2370 * bout.c (b_out_squirt_out_relocs): Use udata.i rather than flags
2371 to get the symbol index, matching 14 Jul 95 change.
2372
2373 Tue Feb 20 08:26:27 1996 Fred Fish <fnf@phydeaux.cygnus.com>
2374
2375 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
2376 Remove duplicate definition of gp.
2377
2378 Mon Feb 19 12:37:41 1996 Ian Lance Taylor <ian@cygnus.com>
2379
2380 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Don't
2381 assume that we can set the GP value and then get the same value,
2382 since it won't be true if the output file is neither ELF nor
2383 ECOFF.
2384 * coff-mips.c (mips_adjust_reloc_in): Don't bother to use
2385 _bfd_get_gp_value here.
2386 (mips_gprel_reloc): Don't assume we can set and get the GP value.
2387 * elf32-mips.c (mips_elf_hi16_reloc): Get gp value from
2388 mips_elf_final_gp.
2389 (mips_elf_lo16_reloc): Likewise.
2390 (mips_elf_final_gp): Add pgp parameter. Set it to the GP value.
2391 Don't require that the BFD be ELF.
2392 (mips_elf_gprel16_reloc): Get gp value from mips_elf_final_gp.
2393 (mips_elf_gprel32_reloc): Likewise.
2394 (mips_elf_relocate_section): Don't assume we can set and get the
2395 GP value.
2396 (mips_elf_finish_dynamic_symbol): Don't bother to use
2397 _bfd_get_gp_value here.
2398
2399 * elf32-mips.c (mips_elf_create_procedure_table): Initialize sv.
2400 Don't change epdr between malloc and free. Be careful not to free
2401 NULL pointers. Zero out the first RPDR.
2402
2403 * configure.host: On Linux, only pass -rpath option if $(libdir)
2404 is neither /lib nor /usr/lib. From Alan Modra
2405 <alan@mullet.Levels.UniSA.Edu.Au>.
2406
2407 * elf-bfd.h (struct elf_obj_tdata): Rename dt_needed_name to
2408 dt_name.
2409 (elf_dt_name): Rename from elf_dt_needed_name.
2410 * elf.c (bfd_elf_set_dt_needed_name): Use elf_dt_name, not
2411 elf_dt_needed_name.
2412 (bfd_elf_get_dt_soname): New function.
2413 * elflink.h (elf_link_add_object_symbols): Use elf_dt_name, not
2414 elf_dt_needed_name. Save the SONAME back in elf_dt_name.
2415 * bfd-in.h (bfd_elf_get_dt_soname): Declare.
2416 * bfd-in2.h: Rebuild.
2417
2418 Mon Feb 19 02:50:23 1996 Doug Evans <dje@charmed.cygnus.com>
2419
2420 * elf32-sparc.c (elf32_sparc_reloc_type_lookup): Renamed from
2421 _bfd_sparc_elf_reloc_type_lookup.
2422 (bfd_elf32_bfd_reloc_type_lookup): Update.
2423 * elf64-sparc.c (SPARC64_OLD_RELOCS): Define.
2424 (sparc64_elf_howto_table): Define.
2425 (sparc_reloc_map): Define.
2426 (sparc64_elf_reloc_type_lookup): New function.
2427 (sparc_elf_wdisp16_reloc): New function.
2428 (elf_info_to_howto): Use sparc64_elf_howto_table.
2429 (sparc64_elf_relocate_section): Likewise.
2430 (bfd_elf64_bfd_reloc_type_lookup): Update.
2431
2432 Sun Feb 18 15:02:25 1996 Ian Lance Taylor <ian@cygnus.com>
2433
2434 * configure.host: Check for 'do not mix' from native linker before
2435 trying to use -rpath.
2436
2437 Fri Feb 16 12:46:18 1996 Ian Lance Taylor <ian@cygnus.com>
2438
2439 * bfd.c (_bfd_get_gp_value): New function.
2440 (_bfd_set_gp_value): New function.
2441 * libbfd-in.h (_bfd_get_gp_value): Declare.
2442 (_bfd_set_gp_value): Declare.
2443 * libbfd.h: Rebuild.
2444 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Use
2445 _bfd_get_gp_value and _bfd_set_gp_value rather than referring
2446 directly to the fields in the tdata information.
2447 (alpha_relocate_section): Likewise.
2448 * coff-mips.c (mips_adjust_reloc_in): Likewise.
2449 (mips_gprel_reloc): Likewise.
2450 (mips_relocate_section): Likewise.
2451 * elf32-mips.c (mips_elf_hi16_reloc): Likewise.
2452 (mips_elf_lo16_reloc): Likewise.
2453 (mips_elf_final_gp): Likewise.
2454 (mips_elf_gprel16_reloc): Likewise.
2455 (mips_elf_gprel32_reloc): Likewise.
2456 (mips_elf_relocate_section): Likewise.
2457 (mips_elf_finish_dynamic_symbol): Likewise.
2458
2459 * bout.c (b_out_set_arch_mach): Recognize bfd_mach_i960_jx.
2460
2461 Thu Feb 15 11:29:13 1996 Ian Lance Taylor <ian@cygnus.com>
2462
2463 * configure.in: Call AC_PROG_CC before configure.host.
2464 * configure: Rebuild.
2465 * configure.host: Don't set information which autoconf should
2466 figure out, namely CC, CFLAGS, LDFLAGS, AR, and RANLIB.
2467
2468 * configure.host: Remove go32 and win32 host information, since it
2469 should no longer be needed.
2470
2471 * elf.c (map_sections_to_segments): If we have a .dynamic section,
2472 then start a new segment rather than put a writable section in a
2473 readonly segment.
2474
2475 * configure.host: Set RPATH_ENVVAR.
2476
2477 * Makefile.in: Rebuild dependencies.
2478
2479 * elflink.c (_bfd_elf_create_linker_section): Remove unused
2480 zero_section variable.
2481
2482 Thu Feb 15 10:39:17 1996 H.J. Lu <hjl@zoom.com>
2483
2484 * Makefile.in ($(srcdir)/bfd-in2.h): Rename target from bfd-in2.h.
2485 ($(srcdir)/libbfd.h): Rename from libbfd.h.
2486 ($(srcdir)/libcoff.h): Rename from libcoff.h.
2487
2488 Wed Feb 14 16:29:07 1996 Martin Anantharaman <martin@mail.imech.uni-duisburg.de>
2489
2490 * ieee.c (ieee_write_expression): Only use an R variable for a
2491 local symbol. Don't output a zero offset. Handle a zero address.
2492 (SRC_MASK, PCREL_OFFSET): Define based on KEEPMINUSPCININST.
2493 (rel32_howto, rel16_howto, rel8_howto): Use SRC_MASK and
2494 PCREL_OFFSET.
2495 (parse_expression): Don't try to handle multiple occurrences of a
2496 P variable. Handle I variables differently from X variables. Fix
2497 the order of minus expressions.
2498 (ieee_slurp_external_symbols): Generate an I variable for an NN
2499 record. Fix handling of ATI and ATX records.
2500 (ieee_slurp_sections): Only set minimal section attributes.
2501 Adjust them later, based on the section contents.
2502 (ieee_object_p): Read in the file until just after the ME record.
2503 Call ieee_slurp_section_data to set the section flags.
2504 (do_one): Add iterations parameter. Only repeat the first load
2505 item. Set the section and file reloc flags.
2506 (ieee_slurp_section_data): Set section flags. Pass iterations to
2507 do_one.
2508 (ieee_canonicalize_reloc): Handle I variables.
2509 (do_with_relocs): Only emit relocation size when necessary.
2510 Increase MAXRUN to 127. Change ov to be assigned, and take
2511 src_mask and pcrel_offset into account.
2512 (ieee_write_data_part): Skip sections that are not loaded.
2513 (ieee_write_external_part): Don't output optional last entry of WX
2514 records.
2515 (ieee_write_me_part): Make setting of me_record neater.
2516 (ieee_generic_stat_arch_elt): Get the size of an archive element.
2517
2518 * syms.c (stt): Add entries for zerovars, vars, and code.
2519
2520 * elfcode.h (validate_reloc): New static function.
2521 (write_relocs): Call validate_reloc for non ELF relocs.
2522
2523 * elfxx-target.h (elf_symbol_leading_char): Define if not defined.
2524 (TARGET_BIG_SYM): Use elf_symbol_leading_char.
2525 (TARGET_LITTLE_SYM): Likewise.
2526
2527 * config.bfd (m68*-*-psos*): New target.
2528
2529 Tue Feb 13 15:56:22 1996 Bryan Ford <baford@snake.cs.utah.edu>
2530
2531 * i386msdos.c: Remove some #if 0 code.
2532 (msdos_write_object_contents): Don't include empty sections in the
2533 size computation, regardless of their address.
2534
2535 Tue Feb 13 15:36:37 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2536
2537 * elf32-ppc.c (ppc_elf_relocate_section): Don't segfault if dynboj
2538 is NULL, ie, the -r switch is used.
2539
2540 Tue Feb 13 14:35:15 1996 Ian Lance Taylor <ian@cygnus.com>
2541
2542 * reloc.c (BFD_RELOC_MIPS_GOT_HI16): Define.
2543 (BFD_RELOC_MIPS_GOT_LO16): Define.
2544 (BFD_RELOC_MIPS_CALL_HI16, BFD_RELOC_MIPS_CALL_LO16): Define.
2545 * bfd-in2.h, libbfd.h: Rebuild.
2546 * elf32-mips.c (mips_reloc_map): Map new relocs.
2547
2548 * configure.host: Set HDLFLAGS for *-*-hpux with --enable-shared.
2549
2550 * Makefile.in ($(SHLINK)): Check ts against $(SHLIB), not
2551 $(SHLINK).
2552
2553 * ieee.c (get_symbol): Set the section to bfd_abs_section.
2554 (do_with_relocs): If EXEC_P is set and there are no relocs, use a
2555 simple number for the section address, rather than an expression.
2556 Limit the number of bytes between relocs to MAXRUN.
2557 (ieee_write_me_part): Set me_record to the file offset after the
2558 start address.
2559 (ieee_write_processor): New static function.
2560 (ieee_write_object_contents): Use ieee_write_processor.
2561
2562 Fri Feb 9 10:53:00 1996 Ian Lance Taylor <ian@cygnus.com>
2563
2564 * configure.host: Use ${CC-gcc} when testing for -rpath on SunOS.
2565
2566 * coff-aux.c: Change include of aux.h to aux-coff.h.
2567
2568 Thu Feb 8 14:01:03 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2569
2570 * elf32-m68k.c (elf_m68k_relocate_section): For a R_68K_RELATIVE
2571 relocation put the addend both in the reloc entry and the data.
2572 (elf_m68k_finish_dynamic_symbol): Likewise. Mask out marker in
2573 GOT offset value.
2574
2575 * elf32-m68k.c (elf_m68k_relocate_section): If -Bsymbolic, resolve
2576 a R_68K_PCxx reloc against a defined global symbol directly.
2577 (elf_m68k_check_relocs): Don't count such a reloc.
2578
2579 * elf32-m68k.c (elf_m68k_check_relocs): Don't record a symbol with
2580 a PLTxx reloc as dynamic. Disallow PLTxxO reloc against a local
2581 symbol for now, otherwise always record the symbol as dynamic.
2582 (elf_m68k_adjust_dynamic_symbol): If a symbol with a PLTxx reloc
2583 is not referenced by a dynamic object, and we are not making a
2584 shared object, then don't make a PLT entry. If we do make a PLT
2585 entry, make sure the symbol has been recorded as dynamic.
2586
2587 Wed Feb 7 13:56:06 1996 Ian Lance Taylor <ian@cygnus.com>
2588
2589 * configure.host: When making a shared library, set HLDFLAGS to
2590 pass an appropriate -rpath option. Use the make variable SONAME
2591 as the shared library soname, rather than computing it here. On
2592 SunOS, build stamp-tshlink in place of $(SHLINK).
2593 * Makefile.in (SONAME): New variable.
2594 ($(SHLINK)): Make a link to the transformed name, as well.
2595 (stamp-tshlink): New target.
2596 (install): Skip stamp-tshlink during install.
2597
2598 Wed Feb 7 13:37:39 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2599
2600 * elf32-ppc.c (ppc_elf_add_symbol_hook): Do not assume that the
2601 linker sections have been set up yet.
2602
2603 * elf.c (make_mapping): Add an additional argument to suppress
2604 making the first section include the program headers.
2605 (map_sections_to_segments): If the user used -Ttext such that the
2606 program headers are on a different page, do not set the flags
2607 saying that this section includes the program headers.
2608
2609 Tue Feb 6 14:04:49 1996 J.T. Conklin <jtc@rtl.cygnus.com>
2610
2611 * configure.in (*-*-netbsd*): Set COREFILE to netbsd-core.c.
2612 don't define TRAD_HEADER.
2613 * configure: Rebuild.
2614
2615 * netbsd-core.c: New file, support for NetBSD core files.
2616 * hosts/*nbsd.h: Removed.
2617
2618 Tue Feb 6 11:47:49 1996 Doug Evans <dje@charmed.cygnus.com>
2619
2620 * reloc.c (BFD_RELOC_SPARC_[567]): New reloc types.
2621 (BFD_RELOC_SPARC_LO7 reloc type): Deleted.
2622 * libbfd.h, bfd-in2.h: Regenerated.
2623 * elf32-sparc.c (_bfd_sparc_elf_reloc_type_lookup): Renamed from
2624 bfd_elf32_bfd_reloc_type_lookup.
2625 (reloc_type{,_names}): Deleted.
2626 (_bfd_sparc_elf_howto_table): Renamed from elf_sparc_howto_table.
2627 Add sparc64 relocs.
2628 (sparc_reloc_map): Add sparc64 relocs.
2629 (sparc_elf_notsupported_reloc): New static function.
2630 (sparc_elf_wdisp16_reloc): New static function.
2631 (elf32_sparc_check_relocs): Handle R_SPARC_WDISP{16,19}.
2632 (elf32_sparc_relocate_section): Likewise.
2633 (bfd_elf32_bfd_reloc_type_lookup): Define.
2634 * elf64-sparc.c (sparc64_elf_wdisp16_reloc): Deleted.
2635 (reloc_type{,_names}): Deleted.
2636 (elf_sparc_howto_table): Deleted.
2637 (sparc_reloc_map): Deleted.
2638 (_bfd_sparc_elf_howto_table): Renamed from elf_sparc_howto_table.
2639 (bfd_elf64_bfd_reloc_type_lookup): Change from function to #define.
2640
2641 Tue Feb 6 12:12:22 1996 Ian Lance Taylor <ian@cygnus.com>
2642
2643 * configure.host: Make SHLIB_CFLAGS include $(PICFLAG) on a
2644 *-*-hpux* host.
2645
2646 * Makefile.in (program_transform_name): New variable.
2647 (install): Transform library name before installing it.
2648
2649 Mon Feb 5 10:38:27 1996 Ian Lance Taylor <ian@cygnus.com>
2650
2651 * archures.c (bfd_mach_i960_hx): Define.
2652 * bfd-in2.h: Rebuild.
2653 * cpu-i960.c (scan_960_mach): Accept machine "hx".
2654 (MATRIX): Expand entries for HX.
2655 (arch_info_struct): Add i960:hx entry.
2656 * bout.c (b_out_set_arch_mach): Handle bfd_mach_i960_hx.
2657 * coffcode.h (coff_set_arch_mach_hook): Handle F_I960HX.
2658 (coff_set_flags): Handle bfd_mach_i960_hx.
2659
2660 Support for building as a shared library, based on patches from
2661 Alan Modra <alan@spri.levels.unisa.edu.au>:
2662 * configure.in: Add AC_ARG_ENABLE for shared and commonbfdlib.
2663 New substitutions: ALLLIBS, PICFLAG, SHLIB, SHLIB_CC,
2664 SHLIB_CFLAGS, COMMON_SHLIB, PICLIST, SHLINK.
2665 * configure: Rebuild.
2666 * configure.host: If --enable-shared, adjust shared library stuff
2667 based on the host. If the host is SunOS, and the linker supports
2668 -rpath, set HLDFLAGS to use it.
2669 * Makefile.in (ALLLIBS): New variable.
2670 (PICFLAG, SHLIB, SHLIB_CC, SHLIB_CFLAGS): New variables.
2671 (COMMON_SHLIB, SHLINK): New variables.
2672 (.c.o): If PICFLAG is set, compile twice, once PIC, once normal.
2673 (STAGESTUFF): Remove variable.
2674 (all): Depend upon $(ALLLIBS) and @PICLIST@ rather than
2675 $(TARGETLIB).
2676 (stamp-ofiles): New target, like old ofiles target, but build
2677 using a temporary file and move-if-change, and touch stamp-ofiles
2678 when done.
2679 (ofiles): Just depend upon stamp-ofiles.
2680 (stamp-piclist, piclist): New targets.
2681 ($(SHLIB), $(SHLINK)): New targets.
2682 (targets.o, archures.o): Build twice if PICFLAG is set.
2683 (do_mostlyclean): Remove pic/*.o.
2684 (do_clean): Remove stamp-ofiles, $(SHLIB), $(SHLINK), piclist, and
2685 stamp-piclist.
2686 (do_distclean): Remove pic and stamp-picdir.
2687 (install): Install shared libraries.
2688 ($(OFILES)): Depend upon stamp-picdir.
2689 (stamp-picdir): New target.
2690
2691 * libcoff-in.h: Add comment reminding people that libcoff.h is a
2692 generated file.
2693 * libcoff.h: Rebuild.
2694
2695 * elflink.h (elf_adjust_dynamic_symbol): Don't try to get the
2696 flavour of a section with no owner.
2697
2698 * elf32-mips.c (mips_elf_create_dynamic_sections): Clear
2699 ELF_LINK_NON_ELF flag.
2700 (mips_elf_create_got_section): Likewise.
2701
2702 * elf.c: Revert last change, since it breaks dynamic linking.
2703 * elf-bfd.h (struct elf_backend_data): Remove want_hdr_in_seg
2704 field.
2705 * elf32-mips.c (elf_backend_want_hdr_in_seg): Don't define.
2706 * elfxx-target.h (elf_backend_want_hdr_in_seg): Don't define.
2707 (elfNN_bed): Don't initialize want_hdr_in_seg field.
2708
2709 Sun Feb 4 20:45:13 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2710
2711 * elf.c (assign_file_positions_for_segments): If the backend does
2712 not want the elf header or the program headers in the address
2713 space, do not include them in the calculations.
2714
2715 * elf32-ppc.c (ppc_elf_additional_program_headers): New hook
2716 function to determine if we need additional program headers.
2717 (ppc_elf_modify_segment_map): Define as a NOP function for now.
2718 (ppc_elf_create_linker_section): .sdata2 is a read-only section.
2719
2720 Sat Feb 3 23:00:03 1996 Ian Lance Taylor <ian@cygnus.com>
2721
2722 * coffcode.h: Move today's libcoff.h change into coffcode.h.
2723
2724 Sat Feb 3 15:43:44 1996 Fred Fish <fnf@cygnus.com>
2725
2726 * libcoff.h (bfd_coff_link_add_one_symbol): Combine macro args
2727 back into one line. Some compilers (sunos 4.1.3 for example)
2728 won't accept args split across more than one line.
2729
2730 Fri Feb 2 11:42:15 1996 Steve Chamberlain <sac@slash.cygnus.com>
2731
2732 * aclocal.m4 (BFD_BINARY_FOPEN): Understand cygwin32.
2733 * configure: Regenerate.
2734
2735 Fri Feb 2 12:12:16 1996 Jeffrey A Law (law@cygnus.com)
2736
2737 * elf32-hppa.c (elf32_hppa_backend_symbol_table_processing): Don't
2738 try to do arithmetic on a void *, cast it to a unsigned char * first.
2739
2740 Thu Feb 1 16:04:06 1996 Ian Lance Taylor <ian@cygnus.com>
2741
2742 * elf-bfd.h (ELF_LINK_NON_ELF): Define.
2743 * elf.c (_bfd_elf_link_hash_newfunc): Set elf_link_hash_flags to
2744 ELF_LINK_NON_ELF.
2745 * elflink.h (elf_link_add_object_symbols): Reset ELF_LINK_NON_ELF
2746 flag for a newly defined symbol.
2747 (NAME(bfd_elf,record_link_assignment)): Likewise.
2748 (elf_adjust_dynamic_symbol): If ELF_LINK_NON_ELF is set, try to
2749 set the DEF or REF_REGULAR flags correctly.
2750
2751 * Makefile.in (bfd-in2.h): Make bfd.h, not protos, in docdir.
2752 (libbfd.h, libcoff.h): Corresponding change.
2753
2754 * elf32-i386.c (elf_i386_check_relocs): Don't record a symbol with
2755 a PLT32 reloc as dynamic.
2756 (elf_i386_adjust_dynamic_symbol): If a symbol with a PLT32 reloc
2757 is not referenced by a dynamic object, and we are not making a
2758 shared object, then don't make a PLT entry. If we do make a PLT
2759 entry, make sure the symbol has been recorded as dynamic.
2760
2761 Wed Jan 31 17:23:32 1996 Steve Chamberlain <sac@slash.cygnus.com>
2762
2763 * coff-i386.c (coff_i386_reloc_type_lookup): Add BFD_RELOC_32_PCREL.
2764 * config.bfd (i[345]86-*-win32): Becomes i[345]86-*-cygwin32.
2765 (powerpcle-*-cygwin32): New.
2766 * peicode.h (add_data_entry): Get address from vma.
2767
2768 Wed Jan 31 16:23:57 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2769
2770 * elflink.c (_bfd_elf_create_linker_section): If the symbol
2771 attached to the section has already been created as an undefined
2772 symbol, treat it as if it hasn't been created yet.
2773
2774 Wed Jan 31 16:16:53 1996 Ian Lance Taylor <ian@cygnus.com>
2775
2776 * elflink.h (elf_bfd_final_link): Don't output initial dummy
2777 symbol or section symbols if stripping all symbols and this is not
2778 a relocateable link. Don't output the symbol string table if
2779 there are no symbols.
2780 (elf_link_flush_output_syms): Don't do anything if there are no
2781 symbols to flush.
2782
2783 Wed Jan 31 12:55:49 1996 Richard Henderson <rth@tamu.edu>
2784
2785 * coff-aux.c: New file.
2786 * hosts/m68kaux.h: New file.
2787 * config.bfd (m68*-apple-aux*): New target.
2788 * configure.in (m68*-apple-aux*): New native host.
2789 (m68kaux_coff_vec): New vector.
2790 * configure: Rebuild.
2791 * targets.c (m68kaux_coff_vec): Declare.
2792 * coffcode.h (bfd_coff_backend_data): Add field
2793 _bfd_coff_link_add_one_symbol.
2794 (bfd_coff_link_add_one_symbol): Define.
2795 (compare_arelent_ptr): New static function if TARG_AUX.
2796 (coff_write_relocs): If TARG_AUX, sort the relocs.
2797 (coff_write_object_contents): Set A/UX aouthdr magic number.
2798 (coff_link_add_one_symbol): Define if not defined.
2799 (bfd_coff_std_swap_table): Initialize new field.
2800 * libcoff.h: Rebuild.
2801 * cofflink.c (coff_link_add_symbols): Call
2802 bfd_coff_link_add_one_symbol rather than
2803 _bfd_generic_link_add_one_symbol.
2804 * coff-m68k.c (COFF_PAGE_SIZE): Don't define if already defined.
2805 * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
2806 * coff-mips.c (mips_ecoff_backend_data): Likewise.
2807 * Makefile.in: Rebuild dependencies.
2808 (BFD32_BACKENDS): Add coff-aux.o.
2809 (BFD32_BACKENDS_CFILES): Add coff-aux.c.
2810
2811 Wed Jan 31 11:37:46 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
2812
2813 * elf32-m68k.c (elf_m68k_relocate_section): Fix R_68K_GOT*
2814 relocation; ignore addend with R_68K_{GOT,PLT}*O relocation.
2815
2816 Tue Jan 30 12:09:04 1996 Ian Lance Taylor <ian@cygnus.com>
2817
2818 * Makefile.in (do_maintainer_clean): Remove $(srcdir)/bfd-in2.h,
2819 $(srcdir)/libbfd.h and $(srcdir)/libcoff.h.
2820 (maintainer-clean): Warn about deleting special files.
2821 (bfd-in2.h, libbfd.h, libcoff.h): New targets.
2822
2823 * elf32-hppa.c (elf32_hppa_relocate_section): Handle indirect and
2824 warning symbols correctly.
2825 * elf32-i386.c (elf_i386_relocate_section): Likewise.
2826 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
2827 * elf32-mips.c (mips_elf_relocate_section): Likewise.
2828 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
2829 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
2830 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
2831
2832 * syms.c (_bfd_stab_section_find_nearest_line): Add casts to avoid
2833 warnings.
2834
2835 Mon Jan 29 14:27:24 1996 Kim Knuttila <krk@cygnus.com>
2836
2837 * libcoff-in.h: aligned newly exported names with bfd naming
2838 conventions. Removed an erroneous define of POWERPC_LE_PE.
2839 * libcoff.h: Rebuild.
2840 * cofflink.c, coff-ppc.c: the above function name changes
2841
2842 Mon Jan 29 13:06:28 1996 Ian Lance Taylor <ian@cygnus.com>
2843
2844 From Basim Kadhim <kadhim@spock.cs.colorado.edu>:
2845 * ecoff.c (struct extsym_info): Define.
2846 (_bfd_ecoff_bfd_final_link): Pass a pointer to struct extsym_info
2847 to ecoff_link_write_external.
2848 (ecoff_link_write_external): Accept a struct extsym_info pointer.
2849 Strip symbols when appropriate.
2850
2851 Based on patches from Ronald F. Guilmette <rfg@monkeys.com>:
2852 * syms.c (BSF_OBJECT): Define.
2853 (bfd_print_symbol_vandf): Print 'O' for BSF_OBJECT.
2854 * bfd-in2.h: Rebuild.
2855 * elfcode.h (elf_slurp_symbol_table): Set BSF_OBJECT for an
2856 STT_OBJECT symbol.
2857 * elf.c (swap_out_syms): Only set type to STT_OBJECT if BSF_OBJECT
2858 is set.
2859
2860 * elf32-i386.c (elf_i386_relocate_section): If -Bsymbolic, when
2861 copying relocs into a shared object, treat a defined global symbol
2862 as a local symbol.
2863 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
2864 * elf32-mips.c (mips_elf_relocate_section): Likewise.
2865 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
2866
2867 * elflink.h (elf_link_add_object_symbols): Only set weakdef to a
2868 real defined symbol, not to a weak defined symbol.
2869
2870 Mon Jan 29 11:34:36 1996 Kim Knuttila <krk@cygnus.com>
2871
2872 * cofflink.c: removed the POWERPC_LE_PE hack, promoted some types
2873 and made a few static functions externs.
2874
2875 * coff-ppc.c (ppc_bfd_coff_final_link): new function, replaces the
2876 POWERPC_LE_PE hack in cofflink.
2877
2878 * libcoff-in.h: promoted the following from cofflink.c to allow
2879 _bfd_coff_final_link to be overridden - STRING_SIZE_SIZE,
2880 coff_debug_merge_element, struct coff_debug_merge_type,
2881 coff_debug_merge_hash_entry, coff_debug_merge_hash_table,
2882 coff_debug_merge_hash_table_init, coff_debug_merge_hash_table_free,
2883 coff_debug_merge_hash_lookup, coff_link_section_info,
2884 coff_final_link_info, coff_debug_merge_hash_newfunc,
2885 coff_write_global_sym, coff_link_input_bfd, coff_reloc_link_order.
2886
2887 * libcoff.h: re-gen'd
2888
2889 Fri Jan 26 18:33:35 1996 Ian Lance Taylor <ian@cygnus.com>
2890
2891 * syms.c: Include "bfdlink.h".
2892 (struct stab_find_info): Define.
2893 (_bfd_stab_section_find_nearest_line): New function.
2894 * libbfd-in.h (_bfd_stab_section_find_nearest_line): Declare.
2895 * libbfd.h: Rebuild.
2896 * elf-bfd.h (struct elf_obj_tdata): Add line_info field.
2897 * elf.c (_bfd_elf_find_nearest_line): Try calling
2898 _bfd_stab_section_find_nearest_line before searching the ELF
2899 symbol table. Find the closest STT_FUNC symbol, not the last one.
2900 * libcoff-in.h (coff_data_type): Add line_info field.
2901 * libcoff.h: Rebuild.
2902 * coffgen.c (coff_find_nearest_line): Try calling
2903 _bfd_stab_section_find_nearest_line before searching the COFF
2904 symbol table.
2905 * Makefile.in: Rebuild dependencies.
2906
2907 Fri Jan 26 16:11:19 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2908
2909 * elf32-ppc.c (R_PPC_EMB_SDA21 relocations): Make relocation size
2910 4 bytes, so we get the correct value when updating the register
2911 field in little endian mode.
2912
2913 Thu Jan 25 12:14:16 1996 Ian Lance Taylor <ian@cygnus.com>
2914
2915 * libcoff-in.h (struct xcoff_tdata): Remove toc_section and
2916 entry_section fields. Add sntoc and snentry fields.
2917 * libcoff.h: Rebuild.
2918 * coffcode.h (coff_mkobject_hook): Initialize sntoc and snentry,
2919 not toc_section and entry_section (the COFF file does not have any
2920 sections at this point).
2921 (coff_write_object_contents): Set o_snentry and o_sntoc from
2922 snentry and sntoc rather than entry_section and toc_section.
2923 * coff-rs6000.c (xcoff_copy_private_bfd_data): Copy sntoc and
2924 snentry, not toc_section and entry_section.
2925 * xcofflink.c (bfd_xcoff_size_dynamic_sections): Don't set
2926 entry_section from hentry.
2927 (xcoff_link_input_bfd): If a defined symbol has XCOFF_ENTRY set,
2928 set snenty.
2929 (xcoff_link_input_bfd): Set sntoc, not toc_section.
2930 (xcoff_write_global_symbol): Get toc_section from sntoc, rather
2931 than using toc_section directly.
2932
2933 * archures.c: Add missing `.' in enum bfd_architecture.
2934 * bfd-in2.h: Rebuild.
2935
2936 * config.bfd (i[345]86-*-sco*elf*): Use bfd_elf32_i386_vec. From
2937 Robert Lipe <robertl@arnet.com>.
2938
2939 Thu Jan 25 12:08:51 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2940
2941 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Add .rela.sdata{,2}
2942 to sections we allocate. Use bfd_zalloc to allocate initialial
2943 sections, not bfd_alloc.
2944 (ppc_elf_check_relocs): Remove BFD_ASSERTs for !shared from
2945 SDA{,2}I16 relocations.
2946 (ppc_elf_add_symbol_hook): Use the value of -G nn to determine
2947 whether to put something in .sbss or not.
2948 (ppc_elf_relocate_section): Add support for more relocations. Add
2949 in sec->output_offset where appropriate. Make error messages
2950 include the symbol name.
2951
2952 * elflink.c (_bfd_elf_create_linker_section): Lookup symbol before
2953 trying to add it to the symbol table, so _GLOBAL_OFFSET_TABLE_
2954 doesn't get redefined messages if -shared.
2955
2956 * elflink.h (elf_create_pointer_linker_section) Only bump RELA
2957 section if the rel_section field has been set up.
2958
2959 Wed Jan 24 20:40:26 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2960
2961 * elf32-ppc.c (ppc_elf_relocate_section): Fix typo in eabi
2962 relocations.
2963
2964 Wed Jan 24 10:38:34 1996 Doug Evans <dje@charmed.cygnus.com>
2965
2966 * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Delete checking
2967 of flags, only flags used are controlled by mach number. Bump up
2968 output file mach number to highest of input file mach numbers.
2969 (elf32_sparc_object_p): Watch for EF_SPARC_SUN_US1.
2970 (elf32_sparc_final_write_processing): Set EF_SPARC_SUN_US1 if v8plusa.
2971
2972 * config.bfd (sparc64-*-{sysv4*,solaris2*}): Comment out
2973 bfd_elf64_sparc_vec support.
2974
2975 Tue Jan 23 14:33:05 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2976
2977 * elf32-ppc.c (ppc_elf_copy_private_bfd_data): Don't complain if
2978 the embedded bit is set on some objects and not on others. Just
2979 or it together.
2980 (ppc_elf_relocate_section): Implement R_PPC_EMB_{SDA21,RELSDA}
2981 relocations.
2982
2983 Tue Jan 23 14:22:45 1996 Ian Lance Taylor <ian@cygnus.com>
2984
2985 * coffcode.h (coff_new_section_hook): Don't try to align the
2986 .stabstr section.
2987
2988 * coffcode.h (coff_set_section_contents): Fix the handling of the
2989 .lib section to work even if the entire section contents are
2990 written at once. From Gvran Uddeborg <gvran@uddeborg.pp.se> and
2991 Robert Lipe <robertl@arnet.com>.
2992
2993 Mon Jan 22 18:45:51 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2994
2995 * elflink.h (elf_finish_pointer_linker_section): Don't allocate
2996 memory here for contents.
2997
2998 * elf32-ppc.c (ppc_elf_relocate_section): Bump up _SDA_BASE_ and
2999 _SDA2_BASE_ by 32768.
3000 (ppc_elf_size_dynamic_sections): #if out PLT code which we haven't
3001 started using. Allocate contents for .sdata and .sdata2 sections
3002 also.
3003 (ppc_elf_check_relocs): Use bfd_get_section_name in debug message,
3004 rather than _name.
3005 (ppc_elf_finish_dynamic_symbol): Remove code that attempted to
3006 size _SDA{,2}_BASE_.
3007 (ppc_elf_relocate_section): Change how sdata{,2} relocations are
3008 done.
3009
3010 Mon Jan 22 08:52:04 1996 Doug Evans <dje@charmed.cygnus.com>
3011
3012 * elflink.h (elf_finish_pointer_linker_section): Fix typo.
3013
3014 * archures.c (bfd_mach_sparc_v9): Renamed from bfd_mach_sparc64.
3015 (bfd_mach_sparc_{v8plus,v8plusa}): Define.
3016 (bfd_mach_sparc_v9a): Define.
3017 (bfd_mach_sparc_v9_p): Define.
3018 * bfd-in2.h: Regenerated.
3019 * aoutx.h (aout,machine_type): bfd_mach_sparc64 renamed to
3020 bfd_mach_sparc_v9.
3021 * elf64-sparc.c (sparc64_elf_object_p): Likewise.
3022 * config.bfd (sparc64-*-sysv4*,sparc64-*-solaris2*): Set targ_defvec
3023 to bfd_elf32_sparc_vec.
3024 * cpu-sparc.c (arch_info_struct): Renamed from sparc_arch_info.
3025 Add v8plus{,a} support.
3026 Add v9a support.
3027 (sparc_compatible): New function.
3028 * elf32-sparc.h: #include "elf/sparc.h".
3029 (elf32_sparc_merge_private_bfd_data, elf32_sparc_object_p,
3030 elf32_sparc_final_write_processing): New functions.
3031 (bfd_elf32_bfd_merge_private_bfd_data, elf_backend_object_p,
3032 elf_backend_final_write_processing): Define.
3033
3034 Mon Jan 22 11:21:51 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3035
3036 * elf-bfd.h (struct elf_link_hash_entry): Add
3037 linker_section_pointer field.
3038 (enum elf_linker_section_enum): Enumeration for new way of
3039 creating linker dynamic sections and symbols.
3040 (elf_linker_section{,_pointers}): New structures for creating
3041 dynamic sections and symbols.
3042 (elf_obj_tdata): Add linker_section_pointers and linker_section
3043 fields.
3044 (elf_local_ptr_offsets,elf_linker_section): New accessor macros.
3045 (_bfd_elf_create_linker_section): New declarations.
3046 (_bfd_elf_find_pointer_linker_section): Ditto.
3047 (bfd_elf{32,64}_{create,finish}_pointer_linker_section): Ditto.
3048 (_bfd_elf_make_linker_section_rela): Ditto.
3049
3050 * elf.c (_bfd_elf_link_hash_newfunc): Initialize new fields.
3051
3052 * elf32-ppc.c (ppc_elf_create_dynamic_sections): Delete.
3053 (ppc_elf_create_linker_section): New function to create the
3054 sections .got, .sdata, and .sdata2.
3055 (ppc_elf_size_dynamic_sections): Zap .rela.{sdata,sdata2} if
3056 needed.
3057 (ppc_elf_check_relocs): Support more of the eabi relocations.
3058 (ppc_elf_relocate_section): Ditto.
3059 (ppc_elf_finish_dynamic_symbols): Adjust _SDA{,2}_BASE_ by 32768
3060 if the .sdata{,2} + .sbss{,2} section size is > 32k.
3061
3062 * elflink.h (elf_create_pointer_linker_section): New function to
3063 create initialized pointers in dynamic linker sections.
3064 (elf_finish_pointer_linker_section): Actually intialize the
3065 pointers created above.
3066
3067 * elfcode.h (bfd_elf{32,64}_create_pointer_linker_section): New
3068 macros to provide both 32 and 64 bit versions of
3069 elf_create_pointer_linker_section.
3070 (bfd_elf{32,64}_finish_pointer_linker_section): New macros to
3071 provide both 32 and 64 bit versions of
3072 elf_finish_pointer_linker_section.
3073
3074 * elflink.c (_bfd_elf_create_linker_section): New function to
3075 create a linker section.
3076 (_bfd_elf_find_pointer_linker_section): Find a unique pointer to a
3077 given address in the linker pointer offsets created for a given
3078 symbol.
3079 (_bfd_elf_make_linker_section_rela): Make a RELA section
3080 corresponding to the generated linker section.
3081
3082 Sat Jan 20 08:36:10 1996 Doug Evans <dje@canuck.cygnus.com>
3083
3084 * elf32-sparc.c (ELF_MACHINE_ALT1): Define.
3085
3086 Thu Jan 18 18:25:34 1996 Kim Knuttila <krk@cygnus.com>
3087
3088 * coff-ppc.c (coff_ppc_relocate_section): changed TOCDEFN relocs.
3089 (coff_ppc_relocate_section): Handle special values for gcc built dlls.
3090 (dump_toc): fix diagnosing code to identify out-of-toc-bounds entries.
3091 Also begin the toc at 4 as an eye catcher ('31313131' marks the first
3092 toc entry in an objdump) for now.
3093 (ppc_do_last, ppc_get_last): New function - needed to save processing
3094 the toc owner to the end.
3095 (ppc_coff_swap_sym_in_hook): Removed an incorrect hack for doing the
3096 toc owner last.
3097
3098 * cofflink.c (_bfd_coff_final_link): Added a new hack to keep the
3099 toc owner from being done till last. Must define POWERPC_LE_PC
3100 to enable it.
3101
3102 * coffcode.h (coff_set_alignment_hook): alignment setting for .stab
3103
3104 * peicode.h (coff_swap_scnhdr_out): set section flags for stab/str
3105 to INFO.
3106 (coff_swap_aouthdr_out): Removed a non-working hack for computing the
3107 SizeOfImage for PowerPC. Ignore the size of the .junk section.
3108
3109 Thu Jan 18 17:42:12 1996 Ian Lance Taylor <ian@cygnus.com>
3110
3111 * elfcore.h: Include <signal.h> before <sys/procfs.h>.
3112
3113 Wed Jan 17 12:40:14 1996 Ian Lance Taylor <ian@cygnus.com>
3114
3115 * cpu-powerpc.c (arch_info_struct): Change last entry to not point
3116 back to first.
3117 (bfd_powerpc_arch): Point at first entry in arch_info_struct.
3118
3119 Tue Jan 16 15:10:49 1996 Ian Lance Taylor <ian@cygnus.com>
3120
3121 * elf.c (assign_file_positions_for_segments): Don't increment file
3122 offset for a segment which contains no loadable sections.
3123
3124 Mon Jan 15 17:46:27 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3125
3126 * reloc.c: Add new PowerPC relocations.
3127 * {bfd-in2,libbfd}.h: Regenerate.
3128
3129 * elf32-ppc.c (ppc_elf_howto_raw): Add more PPC relocations.
3130 (ppc_elf_reloc_type_lookup): Lookup new relocations.
3131
3132 Mon Jan 15 14:29:44 1996 Ian Lance Taylor <ian@cygnus.com>
3133
3134 * aoutx.h (howto_table_ext): Fix RELOC_BASE10 and RELOC_BASE22
3135 entries.
3136
3137 * sunos.c (sunos_scan_ext_relocs): Don't fail assert if
3138 info->shared.
3139
3140 * coffgen.c (coff_find_nearest_line): Don't try to cache
3141 information in sections that are not owned by a BFD. From Richard
3142 Henderson <richard@atheist.tamu.edu>.
3143
3144 * elf32-mips.c: Numerous changes to dynamic linking code, mostly
3145 from Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>.
3146 * elflink.h (elf_link_output_extsym): Remove special check for
3147 _rld_new_interface.
3148
3149 * ecoffswap.h: Add prototypes for static functions.
3150
3151 Sun Jan 14 21:36:08 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3152
3153 * elf32-ppc.c (ppc_elf_{unsupported,std}_reloc): Remove functions.
3154 (ppc_elf_howto_raw): Remove ppc_elf_{unsupported,std}_reloc
3155 references.
3156 (ppc_elf_relocate_section): No longer allow .sdata/.sbss sections
3157 to satisfy a TOC16 relocation. Rewrite unsupported relocation
3158 support. Begin support for R_PPC_SDA{2,}REL.
3159
3160 Sat Jan 13 09:36:52 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3161
3162 * elf32-ppc.c (ppc_elf_create_dynamic_sections): New function to
3163 create the .got and .got.neg sections.
3164 (ppc_elf_size_dynamic_sections): Call it.
3165 (ppc_elf_check_relocs): Call it.
3166 (ppc_elf_size_dynamic_sections): Support .got.neg, just like .got.
3167 (ppc_elf_check_relocs): Add error messages for relocations we
3168 don't yet support. Do not include R_PPC_SDAREL16 like a GOT
3169 relocation.
3170
3171 Fri Jan 12 15:27:59 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3172
3173 * elf32-ppc.c (ppc_elf_fake_sections): Define, and handle the new
3174 section flags for V.4 and eabi.
3175
3176 Fri Jan 12 13:59:16 1996 Ian Lance Taylor <ian@cygnus.com>
3177
3178 * elf.c (assign_file_positions_for_segments): If a segment
3179 contains no sections, don't mark it as readable.
3180
3181 * elf-bfd.h (_bfd_elf_section_from_bfd_section): Declare.
3182 * elfcode.h (_bfd_elf_section_from_bfd_section): Don't declare.
3183
3184 * elf.c (_bfd_elf_print_private_bfd_data): Dump contents of
3185 dynamic section, if there is one.
3186 * elf-bfd.h (struct elf_size_info): Add swap_dyn_in field.
3187 (bfd_elf32_swap_dyn_in): Change type of second parameter to PTR.
3188 (bfd_elf64_swap_dyn_in): Likewise.
3189 * elfcode.h (elf_swap_dyn_in): Change type of second parameter to
3190 PTR.
3191 (NAME(_bfd_elf,size_info)): Initialize swap_dyn_in field.
3192
3193 * elf32-i386.c (elf_i386_size_dynamic_sections): Don't create a
3194 DT_TEXTREL entry because of .rel.plt. From Martin Pirker
3195 <pirker@eiunix.tuwien.ac.at>.
3196
3197 Thu Jan 11 17:06:14 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3198
3199 * section.c (SEC_{EXCLUDE,SORT_ENTRIES}): New section flags for
3200 PowerPC V.4 and eabi.
3201 * bfd-in2.h: Regenerate.
3202 * libfd.h: Regenerate.
3203
3204 * elfxx-target.h (TARGET_{BIG,LITTLE}_SYM): Add new flags.
3205
3206 * elf32-ppc.c (ppc_elf_section_from_shdr): Support SHT_ORDERED
3207 section type and SHF_EXCLUDE section flag, turning them into the
3208 appropriate bfd section flag.
3209
3210 Thu Jan 11 11:23:30 1996 Ian Lance Taylor <ian@cygnus.com>
3211
3212 * xcofflink.c (xcoff_link_add_symbols): Create the special
3213 sections if we see a DYNAMIC object, in case that is the only
3214 XCOFF input object we see.
3215
3216 * elf32-mips.c: Extensive changes for a start at dynamic linking
3217 support, from Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>.
3218
3219 * elf-bfd.h (struct elf_backend_data): Add type_change_ok field.
3220 (struct elf_backend_data): Remove
3221 elf_backend_create_program_headers field. Add
3222 elf_backend_additional_program_headers and
3223 elf_backend_modify_segment_map fields.
3224 * elfxx-target.h (elf_backend_type_change_ok): Define if not
3225 defined.
3226 (elf_backend_additional_program_headers): Likewise.
3227 (elf_backend_modify_segment_map): Likewise.
3228 (elf_backend_create_program_headers): Don't define.
3229 (elfNN_bed): Change to account for field changes.
3230 * elf.c (assign_file_positions_for_segments): Call new
3231 modify_segment_map backend function. Don't call old
3232 create_program_headers backend function.
3233 (get_program_header_size): Call additional_program_headers rather
3234 than create_program_headers.
3235 * elflink.h (elf_link_add_object_symbols): Initialize
3236 type_change_ok from new backend field.
3237 (elf_link_output_extsym): Don't warn if _rld_new_interface is
3238 defined.
3239 (elf_reloc_link_order): Treat a reloc against a defined symbol as
3240 a reloc against the appropriate section.
3241
3242 * elf-bfd.h (struct bfd_elf_section_data): Add tdata field.
3243 (struct elf_obj_tdata): Rename ppc_flags_init field to flags_init.
3244 (elf_flags_init): Rename from elf_ppc_flags_init.
3245 * elf32-ppc.c (ppc_elf_set_private_flags): Use elf_flags_init, not
3246 elf_ppc_flags_init.
3247 (ppc_elf_copy_private_bfd_data): Likewise.
3248 (ppc_elf_merge_private_bfd_data): Likewise.
3249
3250 * elf32-m68k.c (howto_table): Change src_mask to 0 for all
3251 relocation entries.
3252
3253 Tue Jan 9 15:22:53 1996 David Mosberger-Tang <davidm@azstarnet.com>
3254
3255 * coff-alpha.c (alpha_relocate_section): During final link, allow
3256 output .lita section to be bigger than 64k by adjusting gp value
3257 on a per-input section basis.
3258 * libecoff.h (struct ecoff_tdata): Add issued_multiple_gp_warning
3259 field.
3260 (struct ecoff_section_tdata): Add gp field.
3261
3262 Tue Jan 9 12:00:36 1996 Ian Lance Taylor <ian@cygnus.com>
3263
3264 Handle Alpha ECOFF changes in OSF/1 3.2.
3265 * libecoff.h (struct ecoff_backend_data): Add get_elt_at_filepos
3266 field.
3267 * coff-alpha.c: Include "aout/ar.h".
3268 (alpha_ecoff_get_relocated_section_contents): Don't require an
3269 ALPHA_R_IGNORE reloc after an ALPHA_R_GPDISP reloc, since OSF/1
3270 3.2 doesn't generate one.
3271 (alpha_relocate_section): Likewise.
3272 (alpha_ecoff_slurp_armap): Define.
3273 (alpha_ecoff_slurp_extended_name_table): Define.
3274 (alpha_ecoff_construct_extended_name_table): Define.
3275 (alpha_ecoff_truncate_arname): Define.
3276 (alpha_ecoff_write_armap): Define.
3277 (alpha_ecoff_generic_stat_arch_elt): Define.
3278 (alpha_ecoff_update_armap_timestamp): Define.
3279 (ARFZMAG): Define.
3280 (alpha_ecoff_read_ar_hdr): New static function.
3281 (alpha_ecoff_get_elt_at_filepos): New static function.
3282 (alpha_ecoff_openr_next_archived_file): New static function.
3283 (alpha_ecoff_get_elt_at_index): New static function.
3284 (alpha_ecoff_backend_data): Initialize get_elt_at_filepos field.
3285 (ecoffalpha_little_vec): Change BFD_JUMP_TABLE_ARCHIVE from
3286 _bfd_ecoff to alpha_ecoff.
3287 * ecoff.c (ecoff_link_add_archive_symbols): Use get_elt_at_filepos
3288 field from backend structure, rather than always calling
3289 _bfd_get_elt_at_filepos.
3290 * coff-mips.c (mips_ecoff_backend_data): Initialize
3291 get_elt_at_filepos field.
3292 * archive.c (_bfd_generic_read_ar_hdr_mag): New function, copied
3293 from _bfd_generic_read_ar_hdr with minor changes.
3294 (_bfd_generic_read_ar_hdr): Use _bfd_generic_read_ar_hdr_mag.
3295 * libbfd-in.h (_bfd_generic_read_ar_hdr_mag): Declare.
3296 * libbfd.h: Rebuild.
3297
3298 * bfd-in.h (BFD_IN_MEMORY): Define.
3299 * libbfd-in.h (struct bfd_in_memory): Define.
3300 * libbfd.c (bfd_read): Handle BFD_IN_MEMORY flag.
3301 (bfd_get_file_window): Don't try to map a BFD_IN_MEMORY file.
3302 (bfd_write, bfd_stat): Abort if BFD_IN_MEMORY is set.
3303 (bfd_tell, bfd_flush, bfd_seek): Handle BFD_IN_MEMORY flag.
3304 * bfd.c (struct _bfd): Change iostream field from char * to PTR.
3305 (bfd_get_size): Handle BFD_IN_MEMORY flag.
3306 * cache.c (bfd_cache_close): Ignore BFD_IN_MEMORY files.
3307 (bfd_open_file): Cast to PTR, not char *, when setting iostream.
3308 (bfd_cache_lookup_worker): Abort if BFD_IN_MEMORY is set.
3309 * opncls.c (bfd_fdopenr): Cast to PTR, not char *, when setting
3310 iostream.
3311 (bfd_openstreamr): Likewise.
3312 * aoutx.h (NAME(aout,some_aout_object_p)): Only fstat iostream if
3313 BFD_IN_MEMORY is not set.
3314 * riscix.c (riscix_some_aout_object_p): Likewise.
3315 * bfd-in2.h, libbfd.h: Rebuild.
3316
3317 * targets.c (bfd_target): Add _bfd_get_elt_at_index field.
3318 (BFD_JUMP_TABLE_ARCHIVE): Add _get_elt_at_index.
3319 (bfd_get_elt_at_index): Define.
3320 * archive.c (_bfd_generic_get_elt_at_index): Rename from
3321 bfd_get_elt_at_index. Change index parameter from int to
3322 symindex.
3323 * libbfd-in.h (_bfd_generic_get_elt_at_index): Declare.
3324 (_bfd_noarchive_get_elt_at_index): Define.
3325 (_bfd_archive_bsd_get_elt_at_index): Define.
3326 (_bfd_archive_coff_get_elt_at_index): Define.
3327 * bfd-in2.h, libbfd.h: Rebuild.
3328 * aout-target.h (MY_get_elt_at_index): Define if not defined.
3329 * coff-rs6000.c (xcoff_get_elt_at_index): Define.
3330 * ieee.c (ieee_get_elt_at_index): Define.
3331 * libecoff.h (_bfd_ecoff_get_elt_at_index): Define.
3332 * oasys.c (oasys_get_elt_at_index): Define.
3333 * som.c (som_get_elt_at_index): Define.
3334
3335 * ecoff.c (_bfd_ecoff_find_nearest_line): Don't restrict line
3336 numbers to the .text section.
3337
3338 Mon Jan 8 17:00:57 1996 Ian Lance Taylor <ian@cygnus.com>
3339
3340 * ieee.c (ieee_write_debug_part): Change return type to boolean.
3341 If there is a SEC_DEBUGGING section, get the contents of the debug
3342 information part from it.
3343 (ieee_set_section_contents): Store the contents of a SEC_DEBUGGING
3344 section in memory.
3345 (ieee_write_object_contents): Check ieee_write_debug_part return.
3346
3347 Thu Jan 4 17:12:37 1996 Fred Fish <fnf@cygnus.com>
3348
3349 * config.bfd (i[345]86-*-freebsd*): Add target.
3350 * configure.in (i386freebsd_vec): Add vec.
3351 * configure: Regenerate.
3352 * Makefile.in (BFD32_BACKENDS): Add i386freebsd.o.
3353 (BFD32_BACKENDS_CFILES): Add i386freebsd.c.
3354 Rebuild dependencies..
3355 * freebsd.h: New file.
3356 * i386freebsd.c: New file.
3357 * targets.c (i386freebsd_vec): Declare.
3358 (bfd_target_vector): Add i386freebsd_vec.
3359 * i386linux.c (SEGMENT_SIZE): Define as TARGET_PAGE_SIZE
3360 * i386netbsd.c (SEGMENT_SIZE): Define as TARGET_PAGE_SIZE
3361
3362 Thu Jan 4 16:27:46 1996 Ian Lance Taylor <ian@cygnus.com>
3363
3364 * ieee.c (ieee_slurp_debug): New static function.
3365 (ieee_object_p): Call it.
3366 (ieee_slurp_section_data): Skip debugging sections.
3367 (ieee_get_reloc_upper_bound): Likewise.
3368 (ieee_get_section_contents): Likewise.
3369 (ieee_canonicalize_reloc): Likewise.
3370 (ieee_write_section_part): Likewise.
3371 (ieee_write_debug_part): Likewise.
3372 (ieee_write_data_part): Likewise.
3373 (init_for_output): Likewise.
3374
3375 Wed Jan 3 19:42:47 1996 Michael Meissner <meissner@wogglebug.tiac.net>
3376
3377 * elf32-ppc.c (ppc_elf_relocate_section): Make @GOT relocations
3378 work.
3379 (ppc_elf_howto_raw): Just use bfd_elf_generic_reloc for all howto
3380 relocs, since ppc_elf_relocate_section handles the linker case.
3381 (ppc_elf_{addr16_ha,got16,toc16,brtaken}_reloc): Delete, no longer
3382 used.
3383 (ppc_elf_{addr16_ha,got16,toc16,brtaken}_inner): Merge these into
3384 ppc_elf_relocate_section since that is now the only caller.
3385 (ppc_elf_relocate_section): Ditto.
3386
3387 Wed Jan 3 15:11:30 1996 Ian Lance Taylor <ian@cygnus.com>
3388
3389 * coffcode.h (coff_write_object_contents): If we don't know the
3390 section of the entry point for an XCOFF executable, always set the
3391 entry address to -1.
3392
3393 Tue Jan 2 14:17:15 1996 Michael Meissner <meissner@tiktok.cygnus.com>
3394
3395 * elf.c (bfd_section_from_shdr): Add support for note sections.
3396
3397 Tue Jan 2 13:10:25 1996 Ian Lance Taylor <ian@cygnus.com>
3398
3399 * bfd-in.h (struct _symbol_info): Add stab_type field.
3400 * bfd-in2.h: Rebuild.
3401 * aoutx.h (NAME(aout,get_symbol_info)): Set stab_type.
3402
3403 * elf32-ppc.c: Remove trailing newline from calls to
3404 _bfd_error_handler.
3405 (ppc_elf_merge_private_bfd_data): Only warn about endianness
3406 difference if target endianness is known.
3407
3408 Thu Dec 21 12:43:49 1995 Michael Meissner <meissner@tiktok.cygnus.com>
3409
3410 * elf32-ppc.c (ppc_elf_howto_raw): Add a phony reloc to handle the
3411 old style TOC16 references without using R_PPC_GOT.
3412 (ppc_reloc_type): Ditto.
3413 (ppc_elf_reloc_type_lookup): Add support for TOC16.
3414 (ppc_elf_toc16_inner): Renamed from ppc_elf_got16_inner.
3415 (ppc_elf_toc16_reloc): Renamed from ppc_elf_toc16_reloc.
3416 (ppc_elf_got16_{inner,reloc}): Stubs for real GOT support.
3417 (ppc_elf_check_relocs): New function for GOT/PLT support that is
3418 work in progress.
3419 (ppc_elf_adjust_dynamic_symbol): Ditto.
3420 (ppc_elf_adjust_dynindx): Ditto.
3421 (ppc_elf_size_dynamic_sections): Ditto.
3422 (ppc_elf_finish_dynamic_symbol): Ditto.
3423 (ppc_elf_finish_dynamic_sections): Ditto.
3424 (ELF_DYNAMIC_INTERPRETER): Define.
3425
3426 Wed Dec 20 19:14:18 1995 Ken Raeburn <raeburn@cygnus.com>
3427
3428 * elf.c (copy_private_bfd_data): When attaching sections to
3429 segments ignore sections that won't be allocated. Patch from
3430 Andreas Schwab.
3431
3432 Tue Dec 19 20:01:43 1995 Ken Raeburn <raeburn@cygnus.com>
3433
3434 * config.bfd: Match on m68k-cbm-* only if OS doesn't match
3435 anything else.
3436
3437 Tue Dec 19 16:38:59 1995 Ian Lance Taylor <ian@cygnus.com>
3438
3439 * coff-i960.c (CALC_ADDEND): Define.
3440 (coff_i960_relocate_section): Add the input section VMA to the
3441 addend for PC relative relocs.
3442
3443 Sun Dec 17 20:11:55 1995 Kim Knuttila <krk@cygnus.com>
3444
3445 * peicode.h (pe_print_pdata): Must test the entire entry for zero
3446 to correctly terminate.
3447
3448 Fri Dec 15 12:05:57 1995 Ian Lance Taylor <ian@cygnus.com>
3449
3450 * targets.c (enum bfd_endian): Define.
3451 (bfd_target): Rename byteorder_big_p to byteorder, and change it
3452 from boolean to enum bfd_endian. Change header_byteorder_big_p
3453 correspondingly.
3454 * bfd-in.h (bfd_big_endian, bfd_little_endian): New macros.
3455 (bfd_header_big_endian, bfd_header_little_endian): New macros.
3456 * bfd-in2.h: Rebuild.
3457 * All targets: Change initialization of byteorder and
3458 header_byteorder to use enum bfd_endian values rather than
3459 booleans.
3460 * All files: Change all references to byteorder_big_p and
3461 header_byteorder_big_p to use new bfd_*_endian macros.
3462
3463 * coffgen.c (make_a_section_from_file): Set lma to s_paddr, not
3464 s_vaddr.
3465 * coffcode.h (coff_write_object_contents): Set s_paddr to lma, not
3466 vma.
3467 * ecoff.c (_bfd_ecoff_write_object_contents): Likewise.
3468
3469 Fri Dec 15 07:32:09 1995 steve chamberlain <sac@slash.cygnus.com>
3470
3471 * pe[i]-i386.c (TARGET_UNDERSCORE): Define to '_'.
3472
3473 Thu Dec 14 13:45:37 1995 Ian Lance Taylor <ian@cygnus.com>
3474
3475 * ieee.c: Lots of minor cleanups. Make many functions return
3476 errors rather than calling abort. Also:
3477 (ieee_write_twobyte): Remove; change callers to call existing
3478 ieee_write_2bytes function.
3479 (ieee_write_expression): Don't output the section twice when
3480 outputting a local symbol. Don't emit an extraneous zero if there
3481 is only one term.
3482 (ieee_slurp_sections): Set the lma as well as the vma.
3483 (ieee_archive_p): Use bfd_alloc_grow rather than an obstack.
3484
3485 * ihex.c (ihex_set_arch_mach): Don't accept any architecture, just
3486 a recognized one or bfd_arch_unknown.
3487 (ihex_get_symtab_upper_bound): Define as bfd_0l, to permit objcopy
3488 to succeed.
3489 (ihex_get_symtab): Likewise.
3490
3491 Wed Dec 13 15:44:06 1995 Ian Lance Taylor <ian@cygnus.com>
3492
3493 * aoutx.h: Include <ctype.h>.
3494 (struct aout_link_includes_table): Define.
3495 (struct aout_link_includes_totals): Define.
3496 (struct aout_link_includes_entry): Define.
3497 (aout_link_includes_lookup): Define macro.
3498 (struct aout_final_link_info): Add includes field.
3499 (aout_link_includes_newfunc): New static function.
3500 (NAME(aout,final_link)): Initialize includes hash table.
3501 (aout_link_write_symbols): Eliminate duplicate N_BINCL entries.
3502
3503 Wed Dec 13 10:52:14 1995 Stan Shebs <shebs@andros.cygnus.com>
3504
3505 * mpw-config.in: Match on mips-*-* instead of mips-idt-ecoff.
3506
3507 Wed Dec 13 11:07:45 1995 Kim Knuttila <krk@cygnus.com>
3508
3509 * coff-ppc.c (coff_ppc_relocate_section): removed debugging code.
3510
3511 Tue Dec 12 17:42:06 1995 Kim Knuttila <krk@cygnus.com>
3512
3513 * peicode.h (pe_print_reloc): New function to dump the .reloc section.
3514 (pe_print_private_bfd_data): call pe_print_reloc.
3515 * coffcode.h (coff_set_alignment_hook): .reloc section alignment.
3516 * coff-ppc.c (in_reloc_p): Added missing non-eligible relocs. Spiffed
3517 up some debugging as well.
3518
3519 Tue Dec 12 11:34:23 1995 Ian Lance Taylor <ian@cygnus.com>
3520
3521 * config.bfd: Handle sparc-*-elf*. From Ronald F. Guilmette
3522 <rfg@monkeys.com>.
3523
3524 Fri Dec 8 17:47:07 1995 Ian Lance Taylor <ian@cygnus.com>
3525
3526 * elflink.h (elf_link_add_object_symbols): Set section_count to 0
3527 when setting sections to NULL.
3528
3529 Wed Dec 6 17:05:37 1995 Ian Lance Taylor <ian@cygnus.com>
3530
3531 * xcofflink.c (struct xcoff_loader_info): Add export_defineds
3532 field.
3533 (bfd_xcoff_size_dynamic_sections): Add export_defineds parameter.
3534 (xcoff_build_ldsyms): If export_defineds is set, set XCOFF_EXPORT
3535 for all symbols.
3536 * bfd-in.h (bfd_xcoff_size_dynamic_sections): Update declaration.
3537 * bfd-in2.h: Rebuild.
3538
3539 Mon Dec 4 16:40:47 1995 Kim Knuttila <krk@cygnus.com>
3540
3541 * coffcode.h (coff_set_alignment_hook): Removed some debugging printf's
3542
3543 Mon Dec 4 11:25:39 1995 Ian Lance Taylor <ian@cygnus.com>
3544
3545 * ihex.c (ihex_scan): Handle record types 4 and 5.
3546 (ihex_object_p): Permit types 4 and 5.
3547 (ihex_set_section_contents): Remove check for out of range
3548 addresses.
3549 (ihex_write_object_contents): Generate types 4 and 5.
3550
3551 * elflink.h (elf_link_output_extsym): Just ignore warning and
3552 indirect references to symbols which don't really exist.
3553
3554 Sun Dec 3 19:00:27 1995 Kim Knuttila <krk@cygnus.com>
3555
3556 * peicode.h (pe_print_idata): Minor format fixes
3557 (pe_print_edata): New function. Under private printing, this formats
3558 the edata section of a PE file.
3559 (pe_print_private_bfd_data): Added call to pe_print_edata.
3560
3561 Sun Dec 3 16:46:54 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
3562
3563 * aout-arm.c (MY_swap_std_reloc_out): Use KEEPIT to get the symbol
3564 index, don't call stoi.
3565
3566 Fri Dec 1 14:46:51 1995 Ian Lance Taylor <ian@cygnus.com>
3567
3568 * srec.c (srec_scan): Set lma as well as vma.
3569
3570 * ihex.c: New file; support for Intel Hex format.
3571 * targets.c (enum bfd_flavour): Add bfd_target_ihex_flavour.
3572 (ihex_vec): Declare.
3573 (bfd_target_vector): Always include ihex_vec.
3574 * bfd.c (struct _bfd): Add ihex_data field to tdata union.
3575 * Makefile.in: Rebuild dependencies.
3576 (BFD_LIBS): Add ihex.o
3577 (BFD_LIBS_CFILES): Add ihex.c.
3578 * bfd-in2.h: Rebuild.
3579
3580 * elf.c (assign_file_positions_for_segments): Sort the sections in
3581 each segment.
3582 (get_program_header_size): Return the right size if segment_map is
3583 not NULL.
3584 (copy_private_bfd_data): Don't bother to sort the sections.
3585
3586 * bfd.c (bfd_record_phdr): New function.
3587 * bfd-in.h (bfd_record_phdr): Declare.
3588 * bfd_in2.h: Rebuild.
3589
3590 * elf32-sparc.c (elf32_sparc_relocate_section): Remove bogus
3591 BFD_ASSERT.
3592
3593 * libbfd.c (bfd_malloc, bfd_realloc): New functions.
3594 (bfd_zmalloc): Return PTR, not char *. Take size_t, not
3595 bfd_size_type.
3596 * libbfd-in.h (bfd_malloc, bfd_realloc): Declare.
3597 (bfd_zmalloc): Change declaration.
3598 * libbfd.h: Rebuild.
3599 * Many files: Use bfd_malloc and bfd_realloc rather than malloc
3600 and realloc. Don't set bfd_error_no_memory if they fail.
3601
3602 Thu Nov 30 19:32:26 1995 Kim Knuttila <krk@cygnus.com>
3603
3604 * coff-ppc.c: Added macros to tidy up toc cell treatment. Numerous
3605 uses as well. Added a new howto to deal with TOCREL16 relocs that
3606 are TOCDEFN as well.
3607 (coff_ppc_relocate_section): Expanded treatment of ADDR32NB relocs
3608 to handle RVA relocs from dlltool.
3609 (ppc_coff_rtype2howto): TOCDEFN reloc addition.
3610 (coff_ppc_rtype_to_howto): TOCDEFN reloc addition.
3611 (ppc_coff_reloc_type_lookup): TOCDEFN reloc addition.
3612
3613 * coffcode.h (coff_set_alignment_hook): check idata$X sections
3614 to get the right section alignment.
3615
3616 Thu Nov 30 16:48:18 1995 Ian Lance Taylor <ian@cygnus.com>
3617
3618 * elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on
3619 p_paddr if p_paddr is zero.
3620 (make_mapping): Set includes_filehdr and includes_phdrs for first
3621 PT_LOAD segment.
3622 (map_sections_to_segments): Set includes_phdrs for PT_PHDR
3623 segment.
3624 (assign_file_positions_for_segments): Handle includes_filehdr and
3625 includes_phdrs. Remove special handling of PT_PHDR and first
3626 PT_LOAD segments.
3627 (copy_private_bfd_data): Set includes_filehdr and includes_phdr
3628 when appropriate. Remove special handling of PT_PHDR segment.
3629 Use a more complex condition for when a section is included in a
3630 segment to handle Solaris linker oddities.
3631
3632 Thu Nov 30 11:17:33 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
3633
3634 * coff-m88k.c (howto_table): Reformatted for easier reading;
3635 special_function now points to new function m88k_special_reloc.
3636 (howto_hvrt16): Function previously used for handling HVRT16 relocs
3637 removed.
3638 (rtype2howto): Do not add reloc's r_offset to the addend, this will
3639 be done correctly by m88k_special_reloc.
3640 (reloc_processing): New function to be used by RELOC_PROCESSING.
3641 (RELOC_PROCESSING): Define to call reloc_processing.
3642
3643 Wed Nov 29 12:42:36 1995 Ian Lance Taylor <ian@cygnus.com>
3644
3645 * peicode.h (pe_print_idata): Call malloc rather than xmalloc.
3646 (pe_print_pdata): Likewise.
3647
3648 * opncls.c (bfd_alloc_by_size_t): Set bfd_error_no_memory if
3649 obstack_alloc fails.
3650 (bfd_alloc_finish): Set bfd_error_no_memory if obstack_finish
3651 fails.
3652 * libbfd.c (bfd_zmalloc): Set bfd_error_no_memory if malloc fails.
3653 * Many files: don't set bfd_error_no_memory if one of the above
3654 routines fails.
3655
3656 * elf.c (assign_file_positions_for_segments): Don't adjust p_paddr
3657 if p_paddr_valid is set.
3658 (copy_private_bfd_data): New static function.
3659 (_bfd_elf_copy_private_section_data): Call copy_private_bfd_data.
3660
3661 * elf.c (assign_file_positions_for_segments): Fix case where extra
3662 program headers were allocated.
3663
3664 * elf.c (_bfd_elf_print_private_bfd_data): New function.
3665 * elf-bfd.h (_bfd_elf_print_private_bfd_data): Declare.
3666 * elfxx-target.h (bfd_elfNN_bfd_print_private_bfd_data): Define to
3667 _bfd_elf_print_private_bfd_data.
3668
3669 * coff-alpha.c (alpha_ecoff_swap_reloc_in): Don't abort if
3670 r_symndx is RELOC_SECTION_NONE for an ALPHA_R_IGNORE reloc.
3671 Change a RELOC_SECTION_LITA symndx to RELOC_SECTION_ABS.
3672 (alpha_ecoff_swap_reloc_out): Change RELOC_SECTION_ABS to
3673 RELOC_SECTION_LITA for ALPHA_R_IGNORE.
3674 (alpha_adjust_reloc_out): For ALPHA_R_IGNORE, don't change
3675 RELOC_SECTION_ABS to RELOC_SECTION_NONE.
3676
3677 Tue Nov 28 16:59:50 1995 Ian Lance Taylor <ian@cygnus.com>
3678
3679 * elf-bfd.h (struct elf_obj_tdata): Add segment_map field.
3680 * elf.c (make_mapping): New static function.
3681 (map_sections_to_segments): New static function.
3682 (elf_sort_sections): New static function.
3683 (assign_file_positions_for_segments): New static function.
3684 (map_program_segments): Remove.
3685 (get_program_header_size): Remove sorted_hdrs, count, and
3686 maxpagesize parameters. Simplify.
3687 (assign_file_positions_except_relocs): When generating an
3688 executable, use assign_file_positions_for_segments.
3689 (elf_sort_hdrs): Remove.
3690 (_bfd_elf_sizeof_headers): Remove eliminated parameters from call
3691 to get_program_header_size.
3692
3693 Mon Nov 27 12:27:46 1995 Ian Lance Taylor <ian@cygnus.com>
3694
3695 * hp300hpux.c (MY(callback)): Set lma as well as vma.
3696
3697 * configure, config.in: Regenerate with autoconf 2.7.
3698
3699 * elf32-i386.c (elf_backend_plt_readonly): Set correctly, to 1.
3700 * elf32-sparc.c (elf_backend_plt_readonly): Set correctly, to 0.
3701
3702 Wed Nov 22 12:02:09 1995 Ian Lance Taylor <ian@cygnus.com>
3703
3704 * ecoff.c (_bfd_ecoff_new_section_hook): Handle .rconst section.
3705 (ecoff_sec_to_styp_flags): Likewise.
3706 (_bfd_ecoff_styp_to_sec_flags): Handle STYP_RCONST.
3707 (ecoff_set_symbol_info): Handle scRConst.
3708 (ecoff_slurp_reloc_table): Handle RELOC_SECTION_RCONST.
3709 (ecoff_compute_section_file_positions): Handle .rconst section.
3710 (_bfd_ecoff_write_object_contents): Likewise.
3711 (ecoff_link_check_archive_element): Handle scRConst.
3712 (ecoff_link_add_externals): Likewise.
3713 (ecoff_link_write_external): Handle .rconst section.
3714 (ecoff_reloc_link_order): Likewise.
3715 * ecofflink.c (bfd_ecoff_debug_accumulate): Handle scRConst.
3716 * coff-alpha.c (alpha_convert_external_reloc): Handle .rconst
3717 section.
3718 (alpha_relocate_section): Handle RELOC_SECTION_RCONST.
3719
3720 * sunos.c (sunos_scan_dynamic_symbol): Only set written if the
3721 DEF_DYNAMIC flag is set.
3722
3723 Tue Nov 21 13:25:29 1995 Ken Raeburn <raeburn@cygnus.com>
3724
3725 * host-aout.c: If TRAD_HEADER is defined, include it.
3726
3727 Tue Nov 21 13:03:57 1995 Ian Lance Taylor <ian@cygnus.com>
3728
3729 * aclocal.m4 (AC_PROG_CC): Remove local definition.
3730 (BFD_BINARY_FOPEN): Require AC_CANONICAL_SYSTEM.
3731 (BFD_NEED_DECLARATION): New function.
3732 * configure.in: Use BFD_NEED_DECLARATION.
3733 * acconfig.h: Put NEED_DECLARATION_* in @TOP@ section.
3734 * configure, config.in: Rebuild with autoconf 2.6.
3735
3736 * xcofflink.c (bfd_xcoff_size_dynamic_sections): Clear
3737 special_sections before returning when called with a non XCOFF
3738 BFD.
3739
3740 * coffgen.c (coff_renumber_symbols): Sort common symbols with
3741 global symbols.
3742
3743 * coffcode.h (coff_compute_section_file_positions): Only pad the
3744 previous section to force file alignment when creating an
3745 executable.
3746
3747 Mon Nov 20 14:54:09 1995 Ian Lance Taylor <ian@cygnus.com>
3748
3749 * coffcode.h (coff_compute_section_file_positions): If
3750 RS6000COFF_C, set up the .debug section.
3751
3752 * xcofflink.c (xcoff_link_input_bfd): Adjust the TOC anchor value
3753 if it is not large enough to accomodate the entire TOC area with
3754 signed 16 bit offsets.
3755 (xcoff_write_global_symbol): Handle negative TOC offsets in global
3756 linkage code.
3757 (_bfd_ppc_xcoff_relocate_section): Adjust relocations against a
3758 TOC anchor to use the TOC value used in the output file.
3759
3760 Sat Nov 18 18:01:41 1995 Ian Lance Taylor <ian@cygnus.com>
3761
3762 * coffgen.c (_bfd_coff_get_external_symbols): Cast malloc return.
3763 (_bfd_coff_read_string_table): Likewise.
3764
3765 Sat Nov 18 19:43:04 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
3766
3767 * pe-arm.c: Fix typos.
3768 * coff-arm.c: Likewise.
3769
3770 Fri Nov 17 16:22:04 1995 Kim Knuttila <krk@cygnus.com>
3771
3772 * coff-ppc.c (list_ele): Added "cat"egory member.
3773 (record_toc): New category parameter (priv or pub).
3774 (ppc_record_toc_entry): Check to see if toc bounds exceeded.
3775 (ppc_process_before_allocation): Removed embrionic data-in-toc from
3776 the mainline. It addes extra toc cells in error.
3777 (ppc_coff_swap_sym_in_hook): Added some documentation.
3778 (dump_toc): Can now diagnose "virtual toc" chicanery.
3779
3780 Fri Nov 17 10:41:25 1995 Philippe De Muyter <phdm@info.ucl.ac.be>
3781
3782 * elf-bfd.h (struct elf_link_hash_table): Change type of
3783 dynsymcount and bucketcount fields from size_t to bfd_size_type.
3784
3785 Fri Nov 17 10:02:58 1995 Ian Lance Taylor <ian@cygnus.com>
3786
3787 * coffcode.h (coff_pointerize_aux_hook): I960 version: don't
3788 pointerize C_LEAFSTAT or C_LEAFEXT entries.
3789
3790 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Only create
3791 DT_INIT and DT_FINI entries if the _init or _fini symbol is
3792 defined or mentioned in a regular file.
3793
3794 Thu Nov 16 15:16:42 1995 Kim Knuttila <krk@cygnus.com>
3795
3796 * coff-ppc.c (ppc_record_data_in_toc_entry): new function
3797 (coff_ppc_relocate_section): Handle TOCDEFN attribute
3798 (coff_ppc_relocate_section): Correct REL24 handling
3799 (ppc_process_before_allocation): Correct TOCDEFN handling
3800
3801 * peicode.h (dir_names): Added name descriptions
3802
3803 Thu Nov 16 03:38:03 1995 Ken Raeburn <raeburn@cygnus.com>
3804
3805 * VERSION: Updated to cygnus-2.6.
3806
3807 Wed Nov 15 19:30:07 1995 Ken Raeburn <raeburn@cygnus.com>
3808
3809 * targets.c (m68k4knetbsd_vec): Declare.
3810
3811 Wed Nov 15 18:05:52 1995 Ian Lance Taylor <ian@cygnus.com>
3812
3813 * targets.c (bfd_target): Change type of second argument to
3814 _bfd_print_private_bfd_data from void * to PTR.
3815 * libbfd-in.h (_bfd_generic_bfd_print_private_bfd_data): Cast
3816 using PTR rather than void *.
3817 * bfd-in2, libbfd.h: Rebuild.
3818 * peicode.h (pe_print_private_bfd_data): Change vfile from void *
3819 to PTR.
3820 * elfxx-target.h (bfd_elfNN_bfd_print_private_bfd_data): Define as
3821 _bfd_generic_bfd_print_private_bfd_data rather than casting
3822 bfd_true.
3823
3824 Wed Nov 15 04:09:14 1995 Ken Raeburn <raeburn@cygnus.com>
3825
3826 * Makefile.in (.dep1): Fix stupid typo in last change. Remove any
3827 "DO NOT DELETE" lines or blank lines that mkdep writes on some
3828 systems.
3829 (BFD_LIBS_CFILES, ALL_MACHINES_CFILES, BFD32_BACKENDS_CFILES,
3830 BFD64_BACKENDS_CFILES): New variables.
3831 (CFILES): Use them.
3832
3833 Tue Nov 14 11:52:23 1995 Ian Lance Taylor <ian@cygnus.com>
3834
3835 * peicode.h (coff_swap_aouthdr_out): For PPC PE, start isize at 0,
3836 not at the file position of the first section.
3837 * coffcode.h (coff_compute_section_file_positions): Avoid using
3838 unportable #elif.
3839 (coff_write_object_contents): When generating a PPC PE executable
3840 with no symbols, round up the file size to a COFF_PAGE_SIZE
3841 boundary.
3842 * cofflink.c (_bfd_coff_final_link): If there are no symbols,
3843 don't write out a string table.
3844
3845 * elf.c (bfd_section_from_shdr): When using a different section
3846 header, pass the new one to _bfd_elf_make_section_from_shdr.
3847 (elf_fake_sections): Don't set sh_info and sh_entsize fields.
3848 (elf_map_symbols): Add section VMA to symbol value when comparing
3849 against 0.
3850 (_bfd_elf_compute_section_file_positions): Only build symbol table
3851 if there are some symbols. Set file offset of symtab and strtab
3852 sections.
3853 (assign_file_positions_except_relocs): Remove dosyms parameter.
3854 Change all callers. Never set file offset of symtab and strtab
3855 sections.
3856 (_bfd_elf_copy_private_section_data): New function.
3857 (MAP_ONESYMTAB, MAP_DYNSYMTAB, MAP_STRTAB, MAP_SHSTRTAB): Define.
3858 (_bfd_elf_copy_private_symbol_data): New function.
3859 (swap_out_syms): Check for special mapping of st_shndx created by
3860 copy_private_symbol_data.
3861 * elfxx-target.h: Use new copy routines.
3862 * elf-bfd.h (_bfd_elf_copy_private_symbol_data): Declare.
3863 (_bfd_elf_copy_private_section_data): Declare.
3864
3865 * config.bfd (sh-*-*): Set targ_defvec to shcoff_vec.
3866
3867 * coffcode.h (coff_slurp_symbol_table): If COFF_WITH_PE, handle
3868 C_NT_WEAK.
3869
3870 * coff-sh.c (shlcoff_vec): Use _bfd_generic_archive_p, not
3871 _bfd_dummy_target, matching the recent change to archive
3872 recognition.
3873
3874 Mon Nov 13 13:24:38 1995 Ian Lance Taylor <ian@cygnus.com>
3875
3876 * libbfd.c (bfd_get_file_window): Use casts to avoid doing
3877 arithmetic on PTR types.
3878
3879 * aout-target.h (MY(callback)): Set the lma of the sections.
3880
3881 * ecoff.c (ecoff_reloc_link_order): Turn a reloc against a defined
3882 symbol into a reloc against the section.
3883
3884 Mon Nov 13 07:31:35 1995 Kim Knuttila <krk@cygnus.com>
3885
3886 * coff-ppc.c (ppc_coff_link_hash_entry): added support for inline
3887 glue for the relocs: IMGLUE and IFGLUE.
3888 (record_toc): new function - tracks toc contents
3889 (ppc_mark_symbol_as_glue): new function - supports the IMGLUE reloc
3890 (coff_ppc_relocate_section): Added support and fixes for IMGLUE/IFGLUE
3891 (ppc_coff_rtype2howto): removed invalid IMGLUE hack
3892 (coff_ppc_rtype_to_howto): removed invalid IMGLUE hack
3893 (ppc_record_toc_entry): Removed a debug define (duh)
3894
3895 * peicode.h (coff_swap_scnhdr_out): Fixed invalid strcmp for ".reldata"
3896 (pe_print_idata): New function - formats the idata section data
3897 (pe_print_pdata): New function - formats the pdata section data
3898 (pe_print_private_bfd_data): calls to above
3899
3900 Sun Nov 12 12:23:24 1995 Stan Shebs <shebs@andros.cygnus.com>
3901
3902 * Makefile.in (bfd_libs_here, etc): Provide empty definitions.
3903 * coff-rs6000.c (rs6000coff_vec): Add conditional defines
3904 TARGET_SYM and TARGET_NAME for vector and BFD name.
3905 * coff-pmac.c (pmac_xcoff_vec): Remove.
3906 (TARGET_SYM, TARGET_NAME): Define.
3907 * coffcode.h (coff_set_arch_mach_hook) [POWERMAC]: Set the
3908 machine to 0, not all PowerMacs are 601s.
3909
3910 Fri Nov 10 12:10:14 1995 Ian Lance Taylor <ian@cygnus.com>
3911
3912 * elfcode.h (elf_object_p): Read in any program headers.
3913 * elf.c (_bfd_elf_make_section_from_shdr): Adjust section lma
3914 based on the program headers, if any.
3915 (elf_fake_sections): Set sh_addr from the vma, not the lma.
3916 (map_program_segments): Set p_paddr of program headers based on
3917 the lma.
3918
3919 Thu Nov 9 13:01:31 1995 Ian Lance Taylor <ian@cygnus.com>
3920
3921 * archive.c (bfd_generic_archive_p): Preserve tdata in case of
3922 failure.
3923
3924 * aoutx.h (NAME(aout,final_link)): Report a reasonable error when
3925 trying to do a relocateable link with a non-a.out object file.
3926
3927 * archive.c (bfd_generic_archive_p): Check the first object file
3928 in an archive even if target_defaulted is set. If the object file
3929 has the wrong xvec, reject it.
3930
3931 * aoutx.h (NAME(aout,set_section_contents)): If a section can not
3932 be represented, report the name via _bfd_error_handler.
3933 (translate_to_native_sym_flags): Likewise.
3934 * elf32-mips.c (mips_elf_final_link): Likewise.
3935 * oasys.c (oasys_write_sections): Likewise.
3936
3937 * coffcode.h (coff_set_alignment_hook): Write RS6000COFF_C version
3938 which checks for STYP_OVRFLO sections.
3939 (coff_compute_section_file_positions): If RS6000COFF_C, handle
3940 reloc and lineno count overflows.
3941 (coff_write_object_contents): Call coff_count_linenumbers before
3942 coff_compute_section_file_positions. If RS6000COFF_C, handle
3943 reloc and lineno count overflows.
3944 * xcofflink.c (_bfd_xcoff_bfd_final_link): Count line numbers and
3945 relocs before dealing with .pad sections. Count overflow section
3946 headers when handling .pad sections.
3947
3948 * coffcode.h (coff_write_object_contents): Set a.out vstamp to 1
3949 if RS6000COFF_C.
3950
3951 * xcofflink.c (XCOFF_DESCRIPTOR): Define.
3952 (struct xcoff_link_hash_table): Add descriptor_section and
3953 special_sections fields.
3954 (_bfd_xcoff_bfd_link_hash_table_create): Initialize new fields.
3955 (xcoff_link_add_symbols): Set linkage section alignment. Create
3956 descriptor section. Check for magic symbol names (_text, etc.),
3957 and record them in special_sections if found. Set
3958 XCOFF_DESCRIPTOR flag for a function descriptor, and set its
3959 descriptor field to point back to the function code symbol.
3960 (xcoff_sweep): Always mark the special descriptor_section.
3961 (bfd_xcoff_export_symbol): Check whether the symbol might be a
3962 function descriptor, and mark it if it is.
3963 (bfd_xcoff_size_dynamic_sections): Add new special_sections
3964 parameter, and fill it in. Allocate space for the descriptor
3965 section.
3966 (xcoff_build_ldsyms): Set XCOFF_DEF_REGULAR flag when defining
3967 global linkage code. If an undefined function descriptor is
3968 exported, arrange to define it. Warn about any other undefined
3969 exported symbol.
3970 (_bfd_xcoff_bfd_final_link): Write out the descriptor section.
3971 (xcoff_write_global_symbol): Create a function descriptor when
3972 necessary.
3973 * bfd-in.h (bfd_xcoff_size_dynamic_sections): Update declaration.
3974 * bfd-in2.h: Rebuild.
3975
3976 Thu Nov 9 08:40:23 1995 Kim Knuttila <krk@cygnus.com>
3977
3978 * coff-ppc.c (ppc_coff_link_hash_entry): new types for hashing
3979 (ppc_coff_link_hash_table): new types for hashing
3980 (ppc_coff_link_hash_newfunc): hash entry constructor
3981 (ppc_coff_link_hash_table_init): hash table initializer
3982 (ppc_coff_link_hash_table_create): hash table constructor
3983 (ppc_record_toc_entry): changed references to hash table
3984 (coff_ppc_relocate_section): changed references to hash table
3985
3986 * libcoff-in.h (coff_link_hash_entry): removed toc_offset
3987 * libcoff.h: Rebuild
3988
3989 * cofflink.c (_bfd_coff_link_hash_newfunc): removed toc_offset init
3990 (coff_link_add_symbols): removed toc_offset init
3991
3992 Thu Nov 9 04:00:38 1995 Ken Raeburn <raeburn@cygnus.com>
3993
3994 * Makefile.in (.dep1): Make sure the file mkdep is to write exists
3995 first.
3996
3997 * configure.in: Added new option --with[out]-mmap. Set USE_MMAP
3998 if it is given and mmep is available.
3999 * acconfig.h: Undef USE_MMAP.
4000 * configure, config.in: Regenerated.
4001 * aoutx.h: If USE_MMAP is not defined, do all symbol and string
4002 table handling the old way.
4003 (aout_get_external_symbols): Don't complain if last byte of string
4004 table is nonzero.
4005 * libbfd.c [HAVE_MADVISE]: Include sys/types.h and sys/mman.h.
4006 (bfd_free_window) [! USE_MMAP]: Don't define.
4007 (bfd_get_file_window,
4008 _bfd_generic_get_section_contents_in_window) [! USE_MMAP]: Abort.
4009
4010 Wed Nov 8 20:03:44 1995 Eric Freudenthal <freudenthal@nyu.edu>
4011
4012 * coff-a29k.c (SIGN_EXTEND_HWORD): Use ~0xffff rather than
4013 0xffff0000.
4014
4015 Wed Nov 8 11:31:11 1995 Ian Lance Taylor <ian@cygnus.com>
4016
4017 * coff-a29k.c (a29k_reloc): Change handling of R_IREL reloc to be
4018 compatible with AMD generated COFF files. Try to support both AMD
4019 and GNU formats simultaneously.
4020 (coff_a29k_relocate_section): Likewise.
4021
4022 * libbfd.c (bfd_get_file_window): Change writable parameter from
4023 int to boolean; update all callers. Pass MAP_SHARED if not
4024 writable--it's required on Solaris. Cast fprintf argument to
4025 avoid warning.
4026 * bfd-in.h (bfd_get_file_window): Update declaration.
4027 * bfd-in2.h: Rebuild.
4028 * aoutx.h: Update calls to bfd_get_file_window.
4029
4030 * xcofflink.c (XCOFF_DEF_DYNAMIC): Rename from XCOFF_REF_DYNAMIC.
4031 Change all uses.
4032 (xcoff_swap_ldhdr_in): New static function.
4033 (xcoff_swap_ldsym_in): New static function.
4034 (xcoff_find_reloc): Handle the case of a single reloc correctly.
4035 (xcoff_link_add_symbols): If we just created a descriptor, pass it
4036 to _bfd_generic_link_add_one_symbol, to save a hash lookup.
4037 Handle XTY_ER/XMC_XO symbols correctly.
4038 (xcoff_link_add_dynamic_symbols): Rewrite to read .loader symbols
4039 rather than normal symbol table.
4040 (bfd_xcoff_import_symbol): It's not an error if the symbol is
4041 already defined with the same absolute value.
4042 (xcoff_mark): When considering called symbols, check whether the
4043 descriptor is from a dynamic object, rather than the symbol
4044 itself.
4045 (xcoff_build_ldsyms): Likewise.
4046
4047 * libbfd.c (bfd_get_file_window): Change return type to boolean.
4048 Cast realloc and malloc return values. If malloc or realloc fail,
4049 set bfd_error_no_memory.
4050 * bfd-in.h (bfd_get_file_window): Change type to boolean.
4051 * bfd-in2.h: Rebuild.
4052
4053 Tue Nov 7 11:53:48 1995 Kim Knuttila <krk@cygnus.com>
4054
4055 * coff-ppc.c (ppc_record_toc_entry): new function.
4056 (in_reloc_p): changed return value.
4057 (coff_ppc_relocate_section): much rework.
4058 (ppc_allocate_toc_section): new function.
4059 (ppc_process_before_allocation): new function.
4060 (ppc_coff_swap_sym_in_hook): new function.
4061
4062 * cofflink.c (_bfd_coff_link_hash_newfunc): initialize toc_offset.
4063 (coff_link_add_symbols): initialize toc_offset.
4064
4065 * peicode.h (coff_swap_sym_in): Added coff_swap_sym_in_hook
4066 (coff_swap_aouthdr_out): Added more sections to the data
4067 dictionary for the pe file header. Also changed linker version
4068 number on the ppc side.
4069 (dir_names): small improvements to the dictionary printing.
4070 (pe_mkobject_hook): save the file level flags.
4071
4072 * libcoff-in.h (coff_link_hash_entry): added toc_offset field
4073 (pe_tdata): added real_flags field
4074 (coff_tdata): added local_toc_sym_map and access macro
4075
4076 * libcoff.h (coff_link_hash_entry): added toc_offset field
4077 (pe_tdata): added real_flags field
4078 (coff_tdata): added local_toc_sym_map and access macro
4079
4080 * coffcode.h (coff_set_alignment_hook): added hook for PE.
4081 (coff_mkobject): init for local_toc_sym_map
4082 (coff_write_object_contents): set the internal_a.magic to
4083 IMAGE_NT_OPTIONAL_HDR_MAGIC which appears to be what other
4084 ppc compilers use.
4085
4086 Tue Nov 7 13:48:58 1995 Ian Lance Taylor <ian@cygnus.com>
4087
4088 * ecofflink.c (_bfd_ecoff_locate_line): Keep looking through stabs
4089 entries until both the line number address and the function name
4090 address are too large.
4091
4092 * configure.in: Call AC_CHECK_PROG to find and cache AR.
4093 * configure: Rebuilt.
4094
4095 * aclocal.m4 (BFD_CC_FOR_BUILD): Don't define CC_FOR_BUILD if it
4096 is defined in the environment.
4097
4098 Tue Nov 7 10:57:24 1995 Jeffrey A Law (law@cygnus.com)
4099
4100 * som.c (som_get_section_contents_in_window): Define to use
4101 generic version.
4102
4103 Mon Nov 6 17:13:15 1995 Harry Dolan <dolan@ssd.intel.com>
4104
4105 * coff-i860.c: New file, based on coff-i386.c.
4106 * cpu-i860.c: New file, based on cpu-i386.c.
4107 * hosts/i860mach3.h: New file, based on hosts/i386mach3.h.
4108 * config.bfd (i860-*-mach3*, i860-*-osf1*, i860-*-coff*): New
4109 targets, using i860coff_vec.
4110 * configure.in (i860-*-mach3*, i860-*-osf1*): New hosts, using
4111 trad-core.o and hosts/i860mach3.h.
4112 (i860coff_vec): Use coff-i860.o and cofflink.o.
4113 * configure: Rebuild.
4114 * Makefile.in: Rebuild dependencies.
4115 (ALL_MACHINES): Add cpu-i860.o.
4116 (BFD32_BACKENDS): Add coff-i860.o.
4117 (CFILES): Add cpu-i860.c and coff-i860.c.
4118 * targets.c (i860coff_vec): Declare.
4119 (bfd_target_vector): Add &i860coff_vec.
4120 * archures.c (bfd_i860_arch): Declare.
4121 (bfd_archures_list): Add &bfd_i860_arch.
4122 * coffcode.h (coff_set_arch_mach_hook): Handle I860 magic number.
4123 (coff_set_flags): Handle bfd_arch_i860.
4124 (coff_write_object_contents): Handle I860 a.out magic number.
4125
4126 Mon Nov 6 14:34:07 1995 Ian Lance Taylor <ian@cygnus.com>
4127
4128 * xcofflink.c (xcoff_link_add_symbols): Set the alignment power of
4129 the created .tc section to 2.
4130 (xcoff_mark): Don't keep a .loader reloc for a call to an
4131 undefined symbol when creating a shared library.
4132 (xcoff_build_ldsyms): When creating a shared library, generate
4133 global linkage code for a call to an undefined symbol.
4134
4135 Sun Nov 5 21:44:13 1995 Ken Raeburn <raeburn@cygnus.com>
4136
4137 * Makefile.in (CFILES): Rebuild list from BFD_LIBS, ALL_MACHINES,
4138 BFD32_BACKENDS, BFD64_BACKENDS.
4139 (.dep1): Put mkdep output in a separate file.
4140 Rebuilt dependencies.
4141
4142 * ecoff.c (_bfd_ecoff_slurp_armap): Cast _bfd_read_ar_hdr return
4143 value.
4144
4145 Permit use of mmap when available:
4146
4147 * configure.in: Check for mmap, madvise, mprotect.
4148 * config.in, configure: Regenerated.
4149
4150 * libbfd.c (struct _bfd_window_internal): Define type.
4151 (bfd_init_window, bfd_free_window, bfd_get_file_window): New
4152 functions.
4153 (ok_to_map): New static variable for debugging.
4154 (_bfd_generic_get_section_contents_in_window): New function.
4155 * bfd-in.h (bfd_window_internal): Declare type.
4156 (bfd_window): Define type.
4157 (bfd_init_window, bfd_free_window, bfd_get_file_window): Declare.
4158 * libbfd-in.h (_bfd_generic_get_section_contents_in_window):
4159 Declare.
4160
4161 * libaout.h (struct aoutdata): Add two window fields.
4162 (obj_aout_sym_window, obj_aout_string_window): New macros.
4163 * aoutx.h (some_aout_object_p): Initialize windows.
4164 (aout_get_external_symbols): Get symbol data and strings in
4165 windows instead of explicitly allocated buffers.
4166 (slurp_symbol_table): Free window instead of memory.
4167 (bfd_free_cached_info): Release windows instead of freeing storage
4168 directly.
4169 (aout_link_free_symbols): Ditto.
4170
4171 * targets.c (bfd_target): Add new field for
4172 get_section_contents_in_window.
4173 (BFD_JUMP_TABLE_GENERIC): Updated.
4174 * aout-adobe.c, aout-target.h, binary.c, bout.c, coff-alpha.c,
4175 coff-mips.c, elfxx-target.h, i386msdos.c, i386os9k.c, ieee.c,
4176 libcoff-in.h, oasys.c, srec.c, tekhex.c, versados.c: Added new
4177 macros for get_section_contents_in_window field.
4178
4179 Sat Nov 4 12:23:26 1995 Fred Fish <fnf@cygnus.com>
4180
4181 * core.c: Renamed to corefile.c
4182 * makefile.dos (OBJS): Change core.o to corefile.o
4183 * Makefile.in (CFILES, BFD_LIBS): Use corefile.c instead of core.c
4184
4185 start-sanitize-gm
4186 Sat Nov 4 10:16:54 1995 Stu Grossman (grossman@cygnus.com)
4187
4188 * config.bfd (mips*-*-magic*): Add bfd_elf32_bigmips_vec to
4189 targ_selvecs to allow debugging under Irix-5 native.
4190
4191 end-sanitize-gm
4192 Fri Nov 3 15:54:59 1995 Ian Lance Taylor <ian@cygnus.com>
4193
4194 * xcofflink.c (xcoff_link_add_symbols): Rename local variable sub
4195 to o. Clobber and restore the list of new csects around the call
4196 to _bfd_generic_link_add_one_symbol, in case it wants to report a
4197 linker error and the linker wants to read the symbol table. Reset
4198 the line number count of a real section even if it has no relocs.
4199 (_bfd_xcoff_bfd_final_link): If shared, set the DYNAMIC flag.
4200
4201 * coffgen.c (_bfd_coff_read_string_table): Warn if the string size
4202 is too small.
4203
4204 Thu Nov 2 23:16:39 1995 Ian Lance Taylor <ian@cygnus.com>
4205
4206 * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Don't warn about
4207 an undefined symbol in a shared link.
4208
4209 * linker.c (_bfd_generic_link_add_one_symbol): Correct type of
4210 oldtype from bfd_link_order_type to bfd_link_hash_type. From
4211 phdm@info.ucl.ac.be (Philippe De Muyter).
4212
4213 Wed Nov 1 14:26:02 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
4214
4215 * coff-m88k.c (rtype2howto): New static function.
4216 (RTYPE2HOWTO): Use it rather than a macro definition.
4217
4218 * coffcode.h (coff_write_object_contents): set internal_a.magic
4219 to PAGEMAGICPEXECPAGED #if defined (M68) && !defined (LYNXOS).
4220
4221 * configure.in: m68*-motorola-sysv* does not use ptrace-core.o;
4222 define TRAD_HEADER to new file hosts/delta68.h.
4223 m88*-motorola-sysv*, however, does use ptrace-core.o.
4224 * hosts/delta68.h: New file.
4225
4226 * ptrace-core.c (ptrace_unix_core_file_p): change bfd_zmalloc to
4227 bfd_zalloc; provide proper parm abfd to calls to bfd_zalloc.
4228
4229 Wed Nov 1 13:51:54 1995 Ken Raeburn <raeburn@cygnus.com>
4230
4231 * i386linux.c (MY(vec)): Declare before use.
4232
4233 Wed Nov 1 11:45:07 1995 Ian Lance Taylor <ian@cygnus.com>
4234
4235 * reloc16.c (bfd_coff_reloc16_get_relocated_section_contents):
4236 Pass input_bfd, not in_bfd, to bfd_coff_reloc16_extra_cases.
4237
4238 * elf.c (bfd_elf_set_dt_needed_name): Don't do anything if the
4239 BFD is not of the right type.
4240 (bfd_elf_get_needed_list): Likewise.
4241 * i386linux.c (bfd_linux_size_dynamic_sections): Likewise.
4242 * sunos.c (bfd_sunos_get_needed_list): Likewise.
4243 * xcofflink.c (XCOFF_XVECP): Define.
4244 (bfd_xcoff_link_record_set): Don't do anything if the BFD is not
4245 of the right type.
4246 (bfd_xcoff_import_symbol): Likewise.
4247 (bfd_xcoff_export_symbol): Likewise.
4248 (bfd_xcoff_link_count_reloc): Likewise.
4249 (bfd_xcoff_record_link_assignment): Likewise.
4250 (bfd_xcoff_size_dynamic_sections): Likewise.
4251
4252 * sunos.c (sunos_scan_ext_relocs): Only check the reloc symbol
4253 table index against the number of symbols for a base relative
4254 reloc.
4255
4256 * coff-rs6000.c (_bfd_xcoff_sizeof_headers): Change from macro to
4257 static function.
4258 * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Set
4259 full_aouthdr flag here...
4260 (_bfd_xcoff_bfd_final_link): ...not here.
4261
4262 Tue Oct 31 12:52:02 1995 Fred Fish <fnf@cygnus.com>
4263
4264 * libelf.h: Rename to elf-bfd.h to avoid conflict with
4265 systems that have a system <libelf.h>.
4266 * Makefile.in: Globally replace libelf.h with elf-bfd.h.
4267 * bfd.c, elf.c, elf32-arc.c, elf32-gen.c, elf32-hppa.c,
4268 elf32-hppa.h, elf32-i386.c, elf32-i860.c, elf32-m68k.c,
4269 elf32-m88k.c, elf32-mips.c, elf32-ppc.c, elf32-sparc.c,
4270 elf64-gen.c, elf64-sparc.c, elfcode.h, elflink.c,
4271 elfxx-target.h: Include elf-bfd.h rather than libelf.h.
4272 * elfxx-target.h: Change libelf.h reference to elf-bfd.h.
4273
4274 Tue Oct 31 15:30:07 1995 David Mosberger-Tang <davidm@azstarnet.com>
4275
4276 * ecoff.c (ecoff_set_symbol_info): Add new parameter weak. If
4277 set, set BSF_WEAK in symbol. Change all callers.
4278 (ecoff_get_extr): Set weakext based on BSF_WEAK.
4279 (ecoff_link_add_externals): If weakext is set, pass BSF_WEAK to
4280 _bfd_generic_link_add_one_symbol.
4281 (ecoff_indirect_link_order): Check that the section tdata relocs
4282 are not NULL before using them.
4283
4284 * configure.in (alpha*-*-linux*): Set COREFILE to trad-core.o and
4285 define TRAD_HEADER as hosts/alphalinux.h.
4286 * configure: Rebuild.
4287 * hosts/alphalinux.h: New file.
4288 * trad-core.c (trad_unix_core_file_p): Cast u.u_ar0 to bfd_vma,
4289 not int.
4290
4291 Tue Oct 31 12:34:11 1995 Ian Lance Taylor <ian@cygnus.com>
4292
4293 * coffcode.h (coff_slurp_symbol_table): Accept C_BCOMM and
4294 C_ECOMM storage classes.
4295
4296 * xcofflink.c (xcoff_mark_symbol): New static function, broken out
4297 of xcoff_mark.
4298 (xcoff_mark): Call xcoff_mark_symbol.
4299 (bfd_xcoff_export_symbol): Call xcoff_mark_symbol.
4300 (bfd_xcoff_link_count_reloc): Call xcoff_mark_symbol rather than
4301 doing it by hand.
4302 (xcoff_build_ldsyms): Build a .loader symbol for an export symbol.
4303
4304 Mon Oct 30 14:53:48 1995 Ian Lance Taylor <ian@cygnus.com>
4305
4306 * xcofflink.c (struct xcoff_final_link_info): Add new line_filepos
4307 field.
4308 (xcoff_find_reloc): New static function.
4309 (xcoff_link_add_symbols): Use it.
4310 (_bfd_xcoff_bfd_final_link): Set finfo.line_filepos.
4311 (xcoff_link_input_bfd): Handle C_BINCL and C_EINCL. Don't
4312 relocate the value of C_DECL.
4313
4314 * elf.c (elf_fake_sections): Remove bogus BFD_ASSERT.
4315
4316 Sat Oct 28 01:25:34 1995 steve chamberlain <sac@slash.cygnus.com>
4317
4318 * cofflink.c (_bfd_coff_generic_relocate_section): Make
4319 callback decide what goes in .relocs.
4320 * pe[i]-i386.c (TARGET_UNDERSCORE): Define.
4321 * peicode.h (pe_mkobject_hook): Only copy aouthdr if
4322 there is one.
4323
4324 Sat Oct 28 01:51:02 1995 Ian Lance Taylor <ian@cygnus.com>
4325
4326 * xcofflink.c (xcoff_link_add_symbols): Handle csects in the
4327 absolute section.
4328
4329 Fri Oct 27 18:14:39 1995 Ian Lance Taylor <ian@cygnus.com>
4330
4331 * xcofflink.c: More improvements, mostly to fix handling of
4332 constructors and a few other special cases.
4333 * coff-rs6000.c (rs6000coff_vec): Set symbol_leading_char back to
4334 zero, reverting yesterday's change.
4335 * bfd-in.h (bfd_xcoff_link_record_set): Declare.
4336 (bfd_xcoff_link_count_reloc): Declare.
4337 (bfd_xcoff_record_link_assignment): Declare.
4338 * bfd-in2.h: Rebuild.
4339
4340 Fri Oct 27 14:42:15 1995 Niklas Hallqvist <niklas@appli.se>
4341
4342 * PORTING, aout-arm.c, aout-encap.c, aout-target.h,
4343 aoutx.h, gen-aout.c, host-aout.c, hp300bsd.c, i386aout.c
4344 i386bsd.c, i386dynix.c, i386linux.c, i386lynx.c, i386mach3.c,
4345 i386netbsd.c, m68klynx.c, m88kmach3.c, mipsbsd.c, newsos3.c,
4346 ns32knetbsd.c, pc532-mach.c, riscix.c, sparclynx.c, sparcnetbsd.c:
4347 Change PAGE_SIZE to TARGET_PAGE_SIZE.
4348
4349 * m68knetbsd.c: Ditto as well as add support for the m68k4k object
4350 format.
4351
4352 * netbsd.h: Double ditto (incl. m68k4k support). NetBSD's text
4353 segments includes the a.out header. See to that the magic number
4354 *always* is big-endian.
4355
4356 * config.bfd: Add m68*-hp*-netbsd* case. Cross-pollinate m68k and
4357 m68k4k NetBSD configurations.
4358
4359 * configure.in, configure: Separate i386 & mips NetBSD
4360 configurations from other BSD ones. Don't assume DEC is the only
4361 thing NetBSD/mips run on. Add {m68k,ns32k,sparc}-*-netbsd*
4362 configurations. Add support for m68k4k NetBSD object format.
4363
4364 * libaout.h: Added M_68K4K_NETBSD magic.
4365
4366 * m68k4knetbsd.c: New file.
4367
4368 * hosts/{m68k,sparc}nbsd.h: Don't define HOST_BIG_ENDIAN_P.
4369
4370 * hosts/nbsd.h: Define HOST_BIG_ENDIAN_P according to
4371 <machine/endian.h>.
4372
4373 * hosts/mipsnbsd.h: New file.
4374
4375 start-sanitize-gm
4376 Fri Oct 27 09:41:51 1995 Stu Grossman (grossman@cygnus.com)
4377
4378 * config.bfd: Add config stuff for mips*-*-magic* to set
4379 targ_defvec to ecoff_big_vec.
4380
4381 end-sanitize-gm
4382 Thu Oct 26 14:16:47 1995 Ian Lance Taylor <ian@cygnus.com>
4383
4384 * xcofflink.c: Numerous changes to get closer to a working XCOFF
4385 linker.
4386 * libcoff-in.h (struct xcoff_tdata): Add full_aouthdr,
4387 toc_section, and entry_section fields.
4388 (struct xcoff_section_tdata): Remove ldrel_count field.
4389 * libcoff.h: Rebuild.
4390 * coffcode.h (coff_mkobject_hook): Initialize new xcoff_data
4391 fields.
4392 (coff_compute_section_file_positions): If RS6000COFF_C, generate
4393 full a.out header if full_aouthdr is set in xcoff_data.
4394 (coff_write_object_contents): Likewise. Set o_snentry and o_sntoc
4395 based on sections stored in xcoff_data.
4396 * coff-rs6000.c (xcoff_copy_private_bfd_data): Copy new xcoff_data
4397 fields.
4398 (xcoff_reloc_type_lookup): Handle BFD_RELOC_CTOR.
4399 (rs6000coff_vec): Set symbol_leading_char to '.'.
4400 * coffgen.c (coff_get_symbol_info): If fix_value is set, fix the
4401 value stored in ret rather than returning a pointer value.
4402
4403 Wed Oct 25 23:10:39 1995 Michael Meissner <meissner@tiktok.cygnus.com>
4404
4405 * config.bfd (powerpc{,le}-{elf,sysv4,eabi,solaris2}): Remove MAC
4406 format for now.
4407
4408 Wed Oct 25 16:19:27 1995 Jeffrey A Law (law@cygnus.com)
4409
4410 * som.c (som_slurp_string_table): Allocate the strings with malloc
4411 since they're free'd by free_cached_info.
4412 (som_slurp_symbol_table): Similarly for the symbol table.
4413
4414 Wed Oct 25 14:59:22 1995 Per Bothner <bothner@kalessin.cygnus.com>
4415
4416 * Makefile.in (diststuff): Don't make headers.
4417
4418 Wed Oct 25 11:32:54 1995 Ian Lance Taylor <ian@cygnus.com>
4419
4420 * Makefile.in: Rebuild dependencies.
4421
4422 * sunos.c (bfd_sunos_record_link_assignment): Don't do anything if
4423 output_bfd is not SunOS.
4424 (bfd_sunos_size_dynamic_sections): Likewise. Don't scan relocs of
4425 non-SunOS input files.
4426
4427 * xcofflink.c: Extensive changes to support linking shared objects
4428 and generating a .loader section.
4429 * libcoff-in.h (struct xcoff_tdata): Add import_file_id field.
4430 (struct xcoff_section_tdata): Add lineno_count, first_symndx,
4431 last_symndx, and ldrel_count fields.
4432 * libcoff.h: Rebuild.
4433 * coff-rs6000.c (xcoff_howto_table): Correct reloc names.
4434 * coffcode.h (styp_to_sec_flags): Don't set any flags if STYP_PAD
4435 is set.
4436 * bfd-in.h (bfd_xcoff_import_symbol): Declare.
4437 (bfd_xcoff_export_symbol): Declare.
4438 (bfd_xcoff_size_dynamic_sections): Declare.
4439 * bfd-in2.h: Rebuild.
4440
4441 Tue Oct 24 17:44:20 1995 Stan Shebs <shebs@andros.cygnus.com>
4442
4443 * configure.in: Add xcofflink.o to pmac_xcoff_vec.
4444 * configure: Rebuild.
4445 * mpw-config.in: Add xcofflink.c.o to powerpc-apple-macos.
4446 * coff-pmac.c: Include coff-rs6000.c instead of duplicating its
4447 contents.
4448 (pmac_xcoff_vec): Update to use new xcoff support.
4449 * coff-rs6000.c (xcoff_generic_stat_arch_elt): Make static.
4450 (xcoff_write_armap): Declare buf as unsigned char.
4451 * xcofflink.c (xcoff_link_add_symbols): Declare a local as PTR.
4452
4453 * mpw-make.sed: Generalize subdir_do edit.
4454
4455 Tue Oct 24 10:25:01 1995 Jeffrey A Law (law@cygnus.com)
4456
4457 * hppabsd-core.c (make_bfd_asection): Initialize asect->filepos
4458 correctly. Don't initialize asect->vma.
4459
4460 Fri Oct 20 13:23:48 1995 Ken Raeburn <raeburn@cygnus.com>
4461
4462 * opncls.c (_bfd_new_bfd): If _bfd_chunksize wasn't preset, use
4463 something a little less than the page size.
4464
4465 Thu Oct 19 13:06:09 1995 Ian Lance Taylor <ian@cygnus.com>
4466
4467 * coff-i960.c (coff_i960_adjust_symndx): Clear *adjustedp.
4468
4469 Wed Oct 18 16:20:08 1995 steve chamberlain <sac@slash.cygnus.com>
4470
4471 * coff-i386.c (coff_i386_reloc_type_lookup): New.
4472 * coffcode.h (coff_write_object_contents): If .bss is before
4473 .data us that as data_start.
4474 * cofflink.c (_bfd_coff_generic_relocate_section): Get reloc
4475 calc correct.
4476 * peicode.h (add_data_entry): Use _cooked_size of data directory.
4477 (coff_swap_outhdr_out): Hardwire in version number.
4478
4479 Wed Oct 18 16:50:54 1995 Ken Raeburn <raeburn@cygnus.com>
4480
4481 * sunos.c (sunos_add_dynamic_symbols): Rename local variables
4482 major and minor to *_vno, since the former are also macros in
4483 SunOS header files. Cast result of bfd_alloc to appropriate
4484 type.
4485
4486 * coffgen.c (coff_find_nearest_line): Cast used_by_bfd value
4487 before assigning to sec_data.
4488
4489 Wed Oct 18 13:25:17 1995 Ian Lance Taylor <ian@cygnus.com>
4490
4491 * ecoff.c (_bfd_ecoff_find_nearest_line): The offset argument is
4492 now relative to the section, not absolute.
4493 * ecofflink.c (_bfd_ecoff_locate_line): Use the right symbol to
4494 get the file name when there is a N_SO directory name. When
4495 handling stabs, remember that section->vma was added to the
4496 offset.
4497
4498 Tue Oct 17 18:24:54 1995 Ian Lance Taylor <ian@cygnus.com>
4499
4500 * sunos.c (struct sunos_link_hash_table): Add needed field.
4501 (sunos_link_hash_table_create): Call bfd_release, not free.
4502 (sunos_link_hash_table_create): Initialize needed field.
4503 (sunos_add_dynamic_symbols): Record needed objects.
4504 (bfd_sunos_get_needed_list): New function.
4505 * bfd-in.h (bfd_sunos_get_needed_list): Declare.
4506 * bfd-in2.h: Rebuild.
4507
4508 Mon Oct 16 14:43:59 1995 steve chamberlain <sac@slash.cygnus.com>
4509
4510 * libcoff-in.h (pe_data_type.in_reloc_p): New.
4511
4512 Mon Oct 16 10:52:50 1995 Ian Lance Taylor <ian@cygnus.com>
4513
4514 * bfd-in.h (struct bfd_link_needed_list): Rename from
4515 bfd_elf_link_needed_list.
4516 * bfd-in2.h: Rebuild.
4517 * elf.c, elflink.h, libelf.h: Corresponding changes.
4518
4519 Add start at AIX linker support; no shared libraries yet.
4520 * xcofflink.c: New file.
4521 * configure.in (rs600coff_vec): Use xcofflink.o.
4522 * configure: Rebuild.
4523 * libcoff-in.h (struct xcoff_tdata): Add csects and debug_indices
4524 fields.
4525 (struct xcoff_section_tdata): Define.
4526 (xcoff_section_data): Define macro.
4527 (_bfd_xcoff_bfd_link_hash_table_create): Declare.
4528 (_bfd_xcoff_bfd_link_add_symbols): Declare.
4529 (_bfd_xcoff_bfd_final_link): Declare.
4530 (_bfd_ppc_xcoff_relocate_section): Declare.
4531 * libcoff.h: Rebuild.
4532 * coff-rs6000.c: Clean up a bit.
4533 (xcoff_mkobject): Default modtype to 1L, not RE. Initialize
4534 cputype, csects, and debug_indices.
4535 (xcoff_copy_private_bfd_data): Copy cputype.
4536 (xcoff_howto_table): Rename from rs6000coff_howto_table.
4537 (xcoff_rtype2howto): Rename from rs6000coff_rtype2howto.
4538 (xcoff_reloc_type_lookup): Rename from
4539 rs6000coff_reloc_type_lookup.
4540 (coff_relocate_section): Define.
4541 (_bfd_xcoff_sizeof_headers): Define.
4542 (_bfd_xcoff_bfd_get_relocated_section_contents): Define.
4543 (_bfd_xcoff_bfd_relax_section): Define.
4544 (_bfd_xcoff_bfd_link_split_section): Define.
4545 (rs6000coff_vec): For BFD_JUMP_TABLE_LINK, use _bfd_xcoff, not
4546 coff.
4547 * coffcode.h (coff_compute_section_file_positions): If AIX,
4548 increment sofar by SMALL_AOUTSZ if not executable.
4549 (coff_write_object_contents): If AIX, always output an a.out
4550 header; if not executable, header size of SMALL_AOUTSZ.
4551 * hash.c (struct bfd_strtab_hash): Add xcoff field.
4552 (_bfd_stringtab_init): Initialize xcoff field.
4553 (_bfd_xcoff_stringtab_init): New function.
4554 (_bfd_stringtab_add): In XCOFF mode, leave two bytes for length.
4555 (_bfd_stringtab_emit): In XCOFF mode, write out length.
4556 * libbfd-in.h (_bfd_xcoff_stringtab_init): Declare.
4557 * libbfd.h: Rebuild.
4558 * Makefile.in: Rebuild dependencies.
4559 (BFD32_BACKENDS): Add xcofflink.o.
4560 (CFILES): Add xcofflink.c.
4561
4562 * elf32-mips.c (mips_elf_symbol_processing): Set SEC_ALLOC, not
4563 SEC_NO_FLAGS, for .acommon section. From Peter Schauer
4564 <Peter.Schauer@Regent.E-Technik.TU-Muenchen.DE>.
4565
4566 Sat Oct 14 21:36:02 1995 Michael Meissner <meissner@tiktok.cygnus.com>
4567
4568 * coff-ppc.c (in_reloc_p): Add, clone from coff-i386.c.
4569
4570 Fri Oct 13 17:48:43 1995 Ken Raeburn <raeburn@cygnus.com>
4571
4572 * acconfig.h (HAVE_SYS_PROCFS_H): Undef, with comment.
4573 * config.in: Regenerated.
4574
4575 * opncls.c (getpagesize) [!HAVE_GETPAGESIZE]: Define as 2048.
4576 (_bfd_chunksize): New variable.
4577 (_bfd_new_bfd): Set it to getpagesize() if negative, and use it
4578 for obstack chunk size.
4579 * configure.in: Check for getpagesize.
4580 * configure: Regenerated.
4581
4582 Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4583
4584 * trad-core.c (rawptr): Make it a local variable of
4585 ptrace_unix_core_file_p.
4586
4587 Fri Oct 13 11:22:01 1995 steve chamberlain <sac@slash.cygnus.com>
4588
4589 * coff-arm.c (in_reloc_p): New.
4590 * coff-i386.c (in_reloc_p): New.
4591 * coffcode.h: Allways include peicode.h if COFF_WITH_PE.
4592 (coff_write_object_contents): Only set has_reloc_section
4593 if PE_IMAGE.
4594 * cofflink.c (_bfd_coff_generic_relocate_section): Call
4595 in_reloc_p to decide if reloc should be emitted.
4596 * libcoff.h (pe_data_type.in_reloc_p): New.
4597 * peicode.h (pe_mkobject): Initialize in_reloc_p.
4598
4599 Wed Oct 11 00:49:29 1995 Ian Lance Taylor <ian@cygnus.com>
4600
4601 * cofflink.c (_bfd_coff_internal_syment_name): Move to coffgen.c.
4602 (_bfd_coff_read_internal_relocs): Likewise.
4603 * coffgen.c (_bfd_coff_internal_syment_name): Copy from coffgen.c.
4604 (_bfd_coff_read_internal_relocs): Likewise.
4605
4606 * elflink.h (elf_link_add_object_symbols): Correct conditions
4607 under which type and size change warnings are issued.
4608
4609 Tue Oct 10 18:32:46 1995 Ian Lance Taylor <ian@cygnus.com>
4610
4611 * coffgen.c (coff_count_linenumbers): Don't count line numbers for
4612 a symbol which is not in a real section.
4613 (coff_write_native_symbol): Corresponding change.
4614
4615 * cofflink.c (_bfd_coff_link_hash_newfunc): Rename from
4616 coff_link_hash_newfunc and make non-static.
4617 (_bfd_coff_link_hash_table_init): New function, broken out of
4618 _bfd_coff_link_hash_table_create.
4619 (_bfd_coff_link_hash_table_create): Use it.
4620 (process_embedded_commands): Make static.
4621 * libcoff-in.h ((_bfd_coff_link_hash_newfunc): Declare.
4622 (_bfd_coff_link_hash_table_init): Declare.
4623 * libcoff.h: Rebuild.
4624
4625 * coffcode.h (coff_mkobject_hook): If RS6000COFF_C, set cputype
4626 field in XCOFF tdata.
4627 (coff_set_arch_mach_hook): Check ifdef RS6000COFF_C, not ifdef
4628 U802ROMAGIC, for clarity. Try to set arch and machine correctly
4629 based on cputype stored in a.out header, or in n_type of initial
4630 .file symbol.
4631 (coff_write_object_contents): Set cputype correctly in a.out
4632 header.
4633 (coff_slurp_symbol_table): Add casts to file_ptr to avoid
4634 warnings.
4635 * coffswap.h (coff_swap_aouthdr_in): Swap in cputype field.
4636 (coff_swap_aouthdr_out): Swap out cputype field. Don't clear
4637 old resv1 field.
4638 * libcoff-in.h (struct xcoff_tdata): Add cputype field.
4639 * libcoff.h: Rebuild.
4640
4641 * cpu-rs6000.c (rs6000_compatible): New static function.
4642 (bfd_rs6000_arch): Use it.
4643 * cpu-powerpc.c (powerpc_compatible): New static function.
4644 (arch_info_struct): Define various flavours of PowerPC.
4645 (bfd_powerpc_arch): Use powerpc_compatible. Point at
4646 arch_info_struct.
4647
4648 Tue Oct 10 10:50:46 1995 Fred Fish <fnf@cygnus.com>
4649
4650 * Makefile.in (FLAGS_TO_PASS): Remove BISON.
4651
4652 Tue Oct 10 01:28:29 1995 Ian Lance Taylor <ian@cygnus.com>
4653
4654 * elflink.h (elf_link_add_object_symbols): Don't warn about
4655 changing the size or type if the old definition was weak.
4656
4657 Mon Oct 9 11:24:08 1995 Ian Lance Taylor <ian@cygnus.com>
4658
4659 * coffcode.h (combined_entry_type): Add fix_line field.
4660 (coff_slurp_line_table): Warn if we try to set the lineno field of
4661 a symbol twice.
4662 (coff_slurp_symbol_table): If RS6000COFF_C, handle C_BINCL and
4663 C_EINCL by setting fix_line. Fix C_BSTAT symbol value.
4664 * coffgen.c (coff_mangle_symbols): Handle fix_line.
4665 (coff_write_symbol): Only use N_DEBUG if the symbol is in the
4666 absolute section.
4667 (coff_print_symbol): Print fix_value symbols in a useful fashion.
4668 * libcoff.h: Rebuild.
4669
4670 * libcoff-in.h (struct xcoff_tdata): Define.
4671 (xcoff_data): Define.
4672 * bfd.c (struct _bfd): Add xcoff_obj_data field to tdata union.
4673 * bfd-in2.h, libcoff.h: Rebuild.
4674 * coff-rs6000.c (xcoff_mkobject): New static function.
4675 (coff_mkobject): Define.
4676 (xcoff_copy_private_bfd_data): New static function.
4677 (coff_bfd_copy_private_bfd_data): Define.
4678 (rs6000coff_howto_table): Change R_TOC complain_on_overflow from
4679 signed to bitfield.
4680 (rs6000coff_vec): Add DYNAMIC to object_flags.
4681 * coffcode.h (sec_to_styp_flags): If RS6000COFF_C, handle .pad and
4682 .loader sections specially.
4683 (coff_new_section_hook): If RS6000COFF_C, get the .text and .data
4684 section alignment from the XCOFF tdata information.
4685 (coff_mkobject_hook): If RS6000COFF_C, set DYNAMIC based on
4686 F_SHROBJ, and copy the extra a.out header information into the
4687 XCOFF tdata structure.
4688 (coff_write_object_contents): If RS6000COFF_C, set F_SHROBJ,
4689 F_DYNLOAD and the extra a.out header information.
4690 (coff_slurp_symbol_table): Set BSF_NOT_AT_END for a C_EXT or
4691 C_HIDEXT symbol with attached csect information.
4692 * coffswap.h (coff_swap_aouthdr_in): If RS6000COFF_C, swap
4693 in the o_maxdata field.
4694 (coff_swap_aouthdr_out): If RS6000COFF_C, swap extra XCOFF fields.
4695 * coffgen.c (coff_renumber_symbols): Don't move any symbol to the
4696 end if BSF_NOT_AT_END is set.
4697
4698 * targets.c (bfd_target): Rename _bfd_read_ar_hdr field to
4699 _bfd_read_ar_hdr_fn.
4700 * libbfd-in.h (_bfd_read_ar_hdr): Update accordingly.
4701 * bfd-in2.h, libbfd.h: Rebuild.
4702 * archive.c (_bfd_get_elt_at_filepos): Cast _bfd_read_ar_hdr
4703 return value.
4704 (do_slurp_bsd_armap, do_slurp_coff_armap): Likewise.
4705 (bfd_slurp_bsd_armap_f2): Likewise.
4706 (_bfd_slurp_extended_name_table): Likewise.
4707
4708 Fri Oct 6 16:18:35 1995 Ken Raeburn <raeburn@cygnus.com>
4709
4710 Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
4711
4712 * archive.c (bfd_get_next_mapent): Return BFD_NO_MORE_SYMBOLS
4713 when the symbol table is empty.
4714
4715 * elf32-m68k.c (elf_m68k_size_dynamic_sections): Don't reserve
4716 space for section symbols, since we don't output them either.
4717 (elf_m68k_adjust_dynindx): Removed.
4718
4719 * ptrace-core.c (rawptr): Make it a local variable of
4720 ptrace_unix_core_file_p.
4721
4722 Fri Oct 6 12:24:47 1995 Michael Meissner <meissner@tiktok.cygnus.com>
4723
4724 * coff-rs6000.c (xcoff_write_archive_contents): Return false, not
4725 NULL.
4726
4727 * config.bfd (powerpc{,le}-{elf,sysv4,eabi,solaris2}): Add NT, and
4728 Mac object file formats.
4729
4730 Fri Oct 6 12:04:02 1995 Ian Lance Taylor <ian@cygnus.com>
4731
4732 * coffgen.c (coff_fix_symbol_name): Don't try to set up file
4733 auxent if there isn't one.
4734 (coff_write_symbols): If there is no file auxent, use SYMNMLEN
4735 rather than FILNMLEN as the maximum name length.
4736
4737 * coffcode.h (bfd_coff_backend_data): Add new field
4738 _bfd_coff_print_aux.
4739 (bfd_coff_print_aux): New static function.
4740 (coff_pointerize_aux_hook (RS6000COFF_C version)): Pointerize the
4741 scnlen field of an XTY_LD csect aux entry.
4742 (coff_print_aux): New static function.
4743 (coff_slurp_symbol_table): Don't pointerize scnlen field; now done
4744 in coff_pointerize_aux_hook.
4745 (bfd_coff_std_swap_table): Initialize new field.
4746 * coffgen.c (coff_print_symbol): Call bfd_coff_print_aux.
4747 * libcoff.h: Rebuild.
4748 * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
4749 * coff-mips.c (mips_ecoff_backend_data): Likewise.
4750
4751 * coffcode.h (coff_write_object_contents): On AIX, clear F_RELFLG
4752 if there are symbols, for native AIX ld compatibility.
4753
4754 * coffcode.h (bfd_coff_backend_data): Add new field
4755 _bfd_coff_pointerize_aux_hook.
4756 (coff_pointerize_aux_hook): Define as a function if RS6000COFF_C
4757 or I960, and as 0 otherwise.
4758 (bfd_coff_std_swap_table): Initialize new field.
4759 * libcoff.h: Rebuild.
4760 * coffgen.c (coff_pointerize_aux): Change parameters to take
4761 symbol pointer instead of type and class, and to take aux index.
4762 Call _bfd_coff_pointerize_aux_hook if it is defined.
4763 (coff_get_normalized_symtab): Always call coff_pointerize_aux.
4764 * coff-alpha.c (alpha_ecoff_backend_data): Initialize all fields.
4765 * coff-mips.c (mips_ecoff_backend_data): Likewise.
4766
4767 * coff-rs6000.c: Add full support for AIX archives. Rewrite old
4768 read-only/host-only support.
4769
4770 * coffcode.h (coff_slurp_symbol_table): Set C_HIDEXT symbols to be
4771 BSF_LOCAL.
4772 (OTHER_GLOBAL_CLASS): Do not define to be C_HIDEXT if
4773 RS6000COFF_C.
4774
4775 * targets.c (bfd_target): Add _bfd_read_ar_hdr field. Modify
4776 BFD_JUMP_TABLE_ARCHIVE accordingly.
4777 * libbfd-in.h (_bfd_snarf_ar_hdr): Don't declare.
4778 (_bfd_compute_and_write_armap): Declare.
4779 (_bfd_generic_read_ar_hdr): Declare.
4780 (_bfd_read_ar_hdr): Define.
4781 (_bfd_noarchive_read_ar_hdr): Define.
4782 (_bfd_archive_bsd_read_ar_hdr): Define.
4783 (_bfd_archive_coff_read_ar_hdr): Define.
4784 * archive.c: Change all callers of _bfd_snarf_ar_hdr to call
4785 _bfd_read_ar_hdr instead.
4786 (_bfd_generic_read_ar_hdr): Rename from _bfd_snarf_ar_hdr.
4787 (_bfd_compute_and_write_armap): Rename from
4788 compute_and_write_armap. Make non-static. Change all callers.
4789 * ecoff.c (_bfd_ecoff_slurp_armap): Call _bfd_read_ar_hdr rather
4790 than _bfd_snarf_ar_hdr.
4791 * aout-target.h (MY_read_ar_hdr): Define if not defined.
4792 * ieee.c (ieee_read_ar_hdr): Define.
4793 * libecoff.h (_bfd_ecoff_read_ar_hdr): Define.
4794 * oasys.c (oasys_read_ar_hdr): Define.
4795 * som.c (som_read_ar_hdr): Define.
4796 * bfd-in2.h, libbfd.h: Rebuild.
4797
4798 Thu Oct 5 14:04:07 1995 steve chamberlain <sac@slash.cygnus.com>
4799
4800 * peicode.c (coff_swap_filehdr_in): If symptr is
4801 zero, there aren't any symbols, even if nsyms is set.
4802
4803 Thu Oct 5 11:45:02 1995 Ian Lance Taylor <ian@cygnus.com>
4804
4805 * libecoff.h (struct ecoff_backend_data): Add adjust_headers
4806 field.
4807 * ecoff.c (ecoff_sec_to_styp_flags): Check for various Alpha
4808 sections, and set styp correctly for them: .got, .hash, .dynamic,
4809 .liblist, .rel.dyn, .conflic, .dynstr, .dynsym, .comment.
4810 (_bfd_ecoff_styp_to_sec_flags): Check for various Alpha section
4811 types.
4812 (ecoff_sort_hdrs): New static function.
4813 (ecoff_compute_section_file_positions): Return boolean, not void.
4814 Sort the sections by VMA before looking through them. Put the
4815 first non SEC_ALLOC section on a new page. Put every SEC_ALLOC
4816 section on an appropriate boundary within the page.
4817 (ecoff_compute_reloc_file_positions): Check return value of
4818 ecoff_compute_section_file_positions.
4819 (_bfd_ecoff_set_section_contents): Likewise.
4820 (_bfd_ecoff_write_object_contents): Check for various Alpha
4821 section types when incrementing text_size and data_size. Call
4822 adjust_headers backend function if it exists.
4823 * coff-alpha.c (alpha_adjust_headers): New static function.
4824 (alpha_ecoff_backend_data): Initialize adjust_headers field.
4825 * coff-mips.c (mips_ecoff_backend_data): Likewise.
4826
4827 * hosts/i386bsd.h: Restore file incorrectly deleted on Sep 6.
4828
4829 Wed Oct 4 18:15:02 1995 Jeff Law (law@hurl.cygnus.com)
4830
4831 * rs6000-core.c (CORE_VERSION_1): Use CORE_VERSION_1 instead
4832 of ALTERNATE_AIX_CORE_FORMAT.
4833 * configure.in (aix4): No longer need CORE_FLAGS.
4834 * configure: Updated.
4835
4836 Wed Oct 4 15:36:36 1995 Ken Raeburn <raeburn@cygnus.com>
4837
4838 NS32k changes from Ian Dall:
4839 * aoutx.h (MY_final_link_relocate, MY_relocate_contents): New
4840 macros.
4841 (aout_link_input_section_std, aout_link_input_section_ext,
4842 aout_link_reloc_link_order): Call them instead of _bfd_*
4843 versions.
4844 * aout-target.h (MY_exec_header_not_counted): New macro, defaults
4845 to zero.
4846 (backend_data): Use it instead of hardcoded zero.
4847
4848 * aout-ns32k.c (CTOR_TABLE_RELOC_HOWTO): New macro.
4849 (MY_swap_std_reloc_out): Use udata.i for KEEPIT, don't call stoi.
4850
4851 * ns32knetbsd.c: Include bfd.h.
4852 (MY_text_includes_header, MY_bfd_reloc_type_lookup): New macros.
4853 (MY_bfd_reloc_type_lookup): Declare function too.
4854 * pc532-mach.c (set_sizes): Don't declare.
4855 (MY_text_includes_header, MY_exec_header_not_counted): Define.
4856 (backend_data, MY_backend_data): Don't define.
4857
4858 * config.bfd: Treat ns32k-pc532-ux* like ns32k-pc532-mach*, and
4859 ns32k-*-lites* like ns32k-*-netbsd*.
4860
4861 * hosts/nbsd.h: Swap order of sys/vmparam.h and sys/param.h, to
4862 compile on lites.
4863
4864 Wed Oct 4 14:15:52 1995 Ian Lance Taylor <ian@cygnus.com>
4865
4866 * coffcode.h (coff_write_object_contents): Restore setting
4867 f_timdat to 0, deleted on August 22.
4868
4869 Tue Oct 3 16:28:32 1995 steve chamberlain <sac@slash.cygnus.com>
4870
4871 * coffcode.h (coff_bfd_copy_private_symbol_data,
4872 coff_bfd_copy_private_section_data,
4873 coff_bfd_copy_private_bfd_data): ifdef to allow overrides.
4874 * peicode.h (coff_bfd_copy_private_bfd_data): New
4875 (pe_bfd_copy_private_bfd_data): New.
4876 (coff_swap_scnhdr_in): Swap bss size into the right place.
4877 (pe_print_private_bfd_data): Add some newlines.
4878
4879 Tue Oct 3 11:53:04 1995 Jeff Law (law@hurl.cygnus.com)
4880
4881 * som.c (setup_sections): Don't die if a space has no subspaces.
4882
4883 Mon Oct 2 14:08:55 1995 Ian Lance Taylor <ian@cygnus.com>
4884
4885 * elflink.h (elf_link_add_object_symbols): Don't let a weak
4886 dynamic symbol override a common symbol. Don't change the size or
4887 type if they have been set and the new symbol is not a definition.
4888 Warn if the size or type changes.
4889
4890 Sun Oct 1 01:34:41 1995 Jeff Law (law@hurl.cygnus.com)
4891
4892 * som.c (som_begin_writing): Don't write the symbol table or
4893 symbol strings.
4894 (som_finish_writing): Write them here. Place them after the
4895 subspace data, but before the relocs.
4896
4897 Fri Sep 29 11:01:55 1995 Ian Lance Taylor <ian@cygnus.com>
4898
4899 * sunos.c (sunos_add_one_symbol): Just pass false, not
4900 info->shared_library, to sunos_create_dynamic_sections.
4901 (sunos_scan_ext_relocs): Don't warn about a reloc in the .text
4902 section.
4903 (sunos_check_dynamic_reloc): Remove .text section assertion.
4904
4905 Thu Sep 28 18:48:47 1995 Stan Shebs <shebs@andros.cygnus.com>
4906
4907 * config.bfd: Add powerpc-*-macos*, powerpc-*-mpw*.
4908 * configure, configure.in: Add pmac_xcoff_vec case.
4909 * Makefile.in (BFD32_BACKENDS): Add coff-pmac.o.
4910 * coff-pmac.c: New file, PowerMac XCOFF support.
4911 * coffcode.h (coff_set_arch_mach_hook): Add PowerMac case.
4912 * targets.c (pmac_xcoff_vec): Declare.
4913
4914 * mpw-config.in: Various changes to be compatible with the
4915 autoconf-based configury.
4916 * mpw-make.sed: New file, sed commands to translate Unix
4917 makefile into MPW syntax.
4918 * mpw-make.in: Remove.
4919 * hosts/mpw.h: Remove.
4920 * bfd-in.h, bfd-in2.h: If MPW, include the file that defines
4921 true and false as enums, then define TRUE_FALSE_ALREADY_DEFINED.
4922
4923 Thu Sep 28 17:06:23 1995 steve chamberlain <sac@slash.cygnus.com>
4924
4925 * binary.c (binary_get_symtab): Return an empty string on error.
4926 * opncls.c (bfd_fdpenr): Change WIN32 restriction to WINGDB.
4927
4928 Thu Sep 28 15:30:44 1995 Kim Knuttila <krk@nellie>
4929
4930 * coff-ppc.c: Reformatted according to gnu conventions
4931 Removed irrelevant "if 0" code
4932
4933 Thu Sep 28 11:19:53 1995 Ian Lance Taylor <ian@cygnus.com>
4934
4935 * hp300hpux.c (convert_sym_type): Treat secondary symbols as weak
4936 symbols rather than as indirect symbols.
4937 (MY(slurp_symbol_table)): Don't do anything special about
4938 secondary symbols.
4939
4940 * coffcode.h (coff_new_section_hook): Make sure that the alignment
4941 of .ctors and .dtors sections is no larger than 2.
4942
4943 * sunos.c (sunos_add_one_symbol): Don't change
4944 bfd_link_hash_common to bfd_link_hash_new, since it may be on the
4945 undef list.
4946 (bfd_sunos_record_link_assignment): Don't put __DYNAMIC in the
4947 dynamic symbols when creating a shared library.
4948 (sunos_scan_ext_relocs): Handle relocs correctly when creating a
4949 shared library.
4950 (sunos_scan_dynamic_symbol): Don't mark the __DYNAMIC symbol as
4951 written even if it is not defined in a regular object.
4952 (sunos_write_dynamic_symbol): Use plt_offset for the address of
4953 the jump table reloc. Add an assertion. Use RELOC_JMP_SLOT
4954 rather than the constant 22.
4955 (sunos_check_dynamic_reloc): Handle creating a shared library.
4956 (sunos_finish_dynamic_link): Set the first entry in the GOT to
4957 zero when creating a shared library.
4958 * aoutx.h (NAME(aout,final_link)): If there is a symbol __DYNAMIC,
4959 write it out at the start of the symbol table.
4960
4961 * Makefile.in (BFD32_BACKENDS): Add coff-arm.o.
4962
4963 Thu Sep 28 00:58:05 1995 Doug Evans <dje@deneb.cygnus.com>
4964
4965 * config.bfd: Add arm-*-coff.
4966 * configure.in, configure: Add armcoff_{little,big}_vec.
4967 * targets.c (armcoff_{little,big}_vec): Declare.
4968 (bfd_target_vector): Add armcoff_{little,big}_vec.
4969 * coff-arm.c (armcoff_{little,big}_vec): Always define.
4970
4971 Wed Sep 27 10:37:14 1995 Ian Lance Taylor <ian@cygnus.com>
4972
4973 * targets.c (bfd_find_target): Remove debugging code.
4974
4975 Wed Sep 27 07:23:39 1995 Kim Knuttila <krk@nellie>
4976
4977 * coff-ppc.c, pe-ppc.c, pei-ppc.c: Initial bfd for coff/PE
4978 support on powerpc.
4979 * Makefile.in: added *-ppc files
4980 * coffcode.h: ppc MAGIC, and use peicode.h rather than coffswap.h to
4981 allow pe based .o's to be shared with other tools on ppc/NT
4982 * config.bfd: added powerpc[le]-[pe|winnt] config support
4983 * configure, configure.in: added bfd_powerpc[le]_pe[i]_vec
4984 * peicode.h: Added more section flags for PE on ppc
4985 Added coff_swap_filehdr_out to allow peicode.h to be
4986 used for non-image PE files on ppc.
4987 Check for image, or not, before copying pe_opthdr
4988 * targets.c: Added new bfd's
4989 * targets.c: Removed two inactive bfds that shouldn't have made it this
4990 far.
4991
4992 Tue Sep 26 14:06:41 1995 Michael Meissner <meissner@tiktok.cygnus.com>
4993
4994 * elf32-ppc.c (ppc_reloc_type): Rename from reloc_type, and use
4995 explicit values to initialize all relocs. Change all users.
4996 (ppc_elf_brtaken_inner): New function to handle branch predicition
4997 relocs.
4998 (ppc_elf_brtaken_reloc): Ditto.
4999 (ppc_elf_howto_raw): Use new functions. Make sure all unsupported
5000 relocs use ppc_elf_unsupported_reloc.
5001 (ppc_elf_merge_private_bfd_data): Keep track of whether an error
5002 needs to be reported.
5003 (ppc_elf_relocate_section): Support branch prediction relocs.
5004
5005 Tue Sep 26 12:48:05 1995 Ian Lance Taylor <ian@cygnus.com>
5006
5007 * bfd.c (bfd_assert): Remove \n from string passed to
5008 _bfd_error_handler.
5009
5010 * coff-i386.c: (TWO_DATA_SECS): Don't define.
5011 * coffcode.h (bfd_coff_backend_data): Remove _bfd_make_section_hook.
5012 (bfd_coff_make_section_hook): Don't define.
5013 (coff_make_section_hook): Remove.
5014 (sec_to_styp_flags): Remove TWO_DATA_SECS case.
5015 (styp_to_sec_flags): Likewise.
5016 (coff_write_object_contents): Likewise.
5017 (bfd_coff_std_swap_table): Don't initialize make_section_hook
5018 field.
5019 * libcoff.h: Rebuild.
5020 * coffgen.c (make_a_section_from_file): Just call
5021 bfd_make_section_anyway, not bfd_make_section or
5022 bfd_coff_make_section_hook.
5023 * ecoff.c (_bfd_ecoff_make_section_hook): Remove.
5024 * libecoff.h (_bfd_ecoff_make_section_hook): Don't declare.
5025 * coff-alpha.c (alpha_ecoff_backend_data): Don't initialize
5026 make_section_hook field.
5027 * coff-mips.c (mips_ecoff_backend_data): Likewise.
5028
5029 * aoutx.h (translate_from_native_sym_flags): Don't try to stuff
5030 pointers into value field for warning and indirect symbols; just
5031 leave the value field alone.
5032 * linker.c (generic_link_add_symbol_list): Use next symbol for
5033 warning and indirect symbols, rather than looking in symbol value.
5034 * ecoff.c (ecoff_set_symbol_info): Remove indirect_ptr_ptr
5035 parameter. Change all callers. Remove support for indirect
5036 symbols; it didn't work anyhow.
5037 (_bfd_ecoff_slurp_symbol_table): Remove indirect_ptr variable.
5038 * syms.c: Change comments about BSF_WARNING and BSF_INDIRECT.
5039 * bfd-in2.h: Rebuild.
5040
5041 Mon Sep 25 16:04:09 1995 Michael Meissner <meissner@tiktok.cygnus.com>
5042
5043 * elf32-ppc.c (ppc_elf_howto_raw): For all 14-bit branch relocs,
5044 go back to telling the tools this reloc operates on 32 bits.
5045
5046 Mon Sep 25 11:48:02 1995 Ian Lance Taylor <ian@cygnus.com>
5047
5048 * aout-adobe.c (aout_adobe_callback): Use _bfd_error_handler
5049 rather than a direct fprintf.
5050 * archive.c (_bfd_write_archive_contents): Likewise.
5051 * coffcode.h (coff_slurp_symbol_table): Likewise.
5052 * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Likewise.
5053 (ppc_elf_unsupported_reloc): Likewise.
5054 (ppc_elf_relocate_section): Likewise.
5055 * i386linux.c (linux_tally_symbols): Likewise.
5056 (linux_finish_dynamic_link): Likewise.
5057 * osf-core.c (osf_core_core_file_p): Likewise.
5058 * rs6000-core.c (rs6000coff_get_section_contents): Likewise.
5059 * som.c (som_sizeof_headers): Likewise.
5060 * srec.c (srec_bad_byte): Likewise.
5061 * bfd.c (bfd_assert): Likewise. Also change file to be const.
5062 * libbfd-in.h (bfd_assert): Declare first parameter const.
5063 * libbfd.h: Rebuild.
5064 * coff-a29k.c (a29k_reloc): Don't bother to fprintf; returning
5065 bfd_reloc_overflow is enough.
5066 * coff-h8300.c (rtype2howto): Don't bother to fprintf; just abort.
5067 * coff-h8500.c (rtype2howto): Likewise.
5068 * coff-z8k.c (rtype2howto): Likewise.
5069 * coffcode.h (dummy_reloc16_extra_cases): Likewise.
5070 * elf.c (_bfd_elf_get_lineno): Likewise.
5071 (_bfd_elf_no_info_to_howto): Likewise.
5072 (_bfd_elf_no_info_to_howto_rel): Likewise.
5073 * hp300hpux.c (convert_sym_type): Likewise.
5074 (MY(swap_std_reloc_in)): Likewise.
5075 * elf.c (bfd_section_from_shdr): Remove #if 0 sections.
5076
5077 * libaout.h (struct aoutdata): Add line_buf field.
5078 * aoutx.h (NAME(aout,find_nearest_line)): Remove statics buffer
5079 and filename_buffer. Instead, use a malloc buffer stored in the
5080 new line_buf field. Remove length restrictions.
5081
5082 * coffgen.c (string_size): Remove static variable.
5083 (debug_string_size, debug_string_section): Likewise.
5084 (coff_fix_symbol_name): Add string_size_p, debug_string_section_p,
5085 and debug_string_size_p parameters. Use them instead of the
5086 global variables. Change all callers.
5087 (coff_write_symbol): Likewise.
5088 (coff_write_alien_symbol, coff_write_native_symbol): Likewise.
5089 (coff_write_symbols): Add local variables to replace removed
5090 global variables.
5091
5092 * libcoff-in.h (struct coff_section_tdata): Add offset, i,
5093 function, and line_base fields.
5094 * libcoff.h: Rebuild.
5095 * coffgen.c (coff_find_nearest_line): Use section tdata to cache
5096 information, rather than using static variables.
5097
5098 * sunos.c (sunos_read_dynamic_info): Adjust offsets in an NMAGIC
5099 file. From Peter DeWolf <pld@amt.tay1.dec.com>.
5100
5101 * init.c (initialized): Remove static variable.
5102 (bfd_init): Don't bother setting initialized.
5103 (bfd_check_init): Remove.
5104 * opncls.c (_bfd_new_bfd): Don't call bfd_check_init.
5105 * libbfd.h: Rebuild.
5106
5107 Sat Sep 23 01:22:23 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
5108
5109 * rs6000-core.c (rs6000coff_core_p): Don't check the core file
5110 size for full core dumps. Copy core file header to private data.
5111 (rs6000coff_core_file_failing_command,
5112 rs6000coff_core_file_failing_signal): New functions to extract
5113 the file name and terminating signal from the core file.
5114 * coff-rs6000.c: Use them.
5115
5116 Fri Sep 22 17:44:47 1995 Ian Lance Taylor <ian@cygnus.com>
5117
5118 Change arch info to be const, initialized at compile time.
5119 * archures.c: Reindent many functions. Change CONST to const.
5120 (bfd_arch_info_type): Make arch_name const. Remove disassemble;
5121 nothing set it anyhow. Make next const.
5122 (bfd_arch_info_list): Remove.
5123 (bfd_archures_list): Rename from archures_init_table. Change from
5124 a table of function pointers to a table of bfd_arch_info_type
5125 structure addresses.
5126 (bfd_scan_arch): Rewrite accordingly. Return a const pointer.
5127 (bfd_lookup_arch): Likewise.
5128 (bfd_set_arch_info): Rewrite accordingly. Change argument to be a
5129 const pointer.
5130 (bfd_default_arch_struct): Make const.
5131 (bfd_arch_init, bfd_arch_linkin): Remove.
5132 (bfd_get_arch_info): Return a const pointer.
5133 * init.c (bfd_init): Don't call bfd_arch_init.
5134 * bfd.c (struct _bfd): Make arch_info const.
5135 * bfd-in2.h: Rebuild.
5136 * libbfd.h: Rebuild.
5137 * configure.in: Put & before everything in $selarchs.
5138 * configure: Rebuild.
5139 * cpu-*.c: Change bfd_*_arch from a function which calls
5140 bfd_arch_linkin to a const structure.
5141 * ieee.c (ieee_object_p): Make arch const.
5142
5143 Fri Sep 22 16:23:18 1995 Michael Meissner <meissner@tiktok.cygnus.com>
5144
5145 * reloc.c (bfd_reloc_code_type): Add relocations to support all of
5146 PowerPC V.4.
5147 * bfd-in2.h: Regenerate.
5148 * libbfd.h: Regenerate.
5149
5150 * elf32-ppc.c (reloc_type): Update names to match current draft.
5151 (ppc_elf_howto_raw): Mark 14 bit relocs as short sized and PC
5152 relative. Update names to current V.4 draft.
5153 (ppc_elf_reloc_type_lookup): Add support for more relocations.
5154 (ppc_elf_relocate_section): Rename relocations to match draft.
5155
5156 Thu Sep 21 21:53:18 1995 Michael Meissner <meissner@cygnus.com>
5157
5158 * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Allow modules
5159 compiled with -mrelocatable-lib to be linked with either normal
5160 modules or -mrelocatable modules.
5161
5162 Wed Sep 20 12:03:26 1995 Ian Lance Taylor <ian@cygnus.com>
5163
5164 * coffcode.h (coff_write_object_contents): Clear the vstamp field
5165 in the a.out header.
5166
5167 * aoutx.h (NAME(aout,swap_ext_reloc_out)): Don't set r_extern for
5168 a reloc against a local symbol, even if it's not a section.
5169
5170 Tue Sep 19 17:02:26 1995 Ian Lance Taylor <ian@cygnus.com>
5171
5172 * targets.c (bfd_target): Remove unused align_power_min field.
5173 * bfd-in2.h: Rebuild.
5174 * All backends: Remove initialization of align_power_min.
5175
5176 Tue Sep 19 14:02:21 1995 steve chamberlain <sac@slash.cygnus.com>
5177
5178 * peicode.h (coff_swap_scnhdr_out): Get sizes for BSS right.
5179
5180 Mon Sep 18 14:35:01 1995 Arne H. Juul <arnej@pvv.unit.no>
5181
5182 * config.bfd (mips-dec-netbsd*): New target.
5183 * configure.host (mips-dec-netbsd*): New host.
5184 * configure.in (mips-dec-netbsd*): New native.
5185 * configure: Rebuild.
5186
5187 Fri Sep 15 10:24:36 1995 Ian Lance Taylor <ian@cygnus.com>
5188
5189 Make the COFF backend linker merge common types:
5190 * cofflink.c (struct coff_debug_merge_element): Define.
5191 (struct coff_debug_merge_type): Define.
5192 (struct coff_debug_merge_hash_entry): Define.
5193 (struct coff_debug_merge_hash_table): Define.
5194 (coff_debug_merge_hash_table_init): Define.
5195 (coff_debug_merge_hash_table_free): Define.
5196 (coff_debug_merge_hash_lookup): Define.
5197 (struct coff_final_link_info): Add debug_merge field.
5198 (coff_debug_merge_hash_newfunc): New static function.
5199 (_bfd_coff_final_link): Allocate and free debug_merge table.
5200 (coff_link_input_bfd): Merge identical enum, struct and union
5201 types.
5202
5203 Thu Sep 14 14:53:58 1995 Ian Lance Taylor <ian@cygnus.com>
5204
5205 Convert i960 COFF to use COFF backend linker.
5206 * coff-i960.c (coff_i960_relocate): Use a coff_section_data
5207 structure to store the symbol being used.
5208 (coff_i960_start_final_link): New static function.
5209 (coff_i960_relocate_section): New static function.
5210 (coff_i960_adjust_symndx): New static function.
5211 (coff_start_final_link): Define.
5212 (coff_relocate_section): Define.
5213 (coff_adjust_symndx): Define.
5214 * coffcode.h (bfd_coff_backend_data): Add new callback function
5215 _bfd_coff_start_final_link.
5216 (bfd_coff_start_final_link): Define.
5217 (coff_start_final_link): Define if not defined.
5218 (bfd_coff_std_swap_table): Add coff_start_final_link.
5219 * cofflink.c (_bfd_coff_internal_syment_name): Make globally
5220 visible.
5221 (_bfd_coff_final_link): Call bfd_coff_start_final_link if the
5222 function callback is not NULL.
5223 * libcoff-in.h (struct coff_section_tdata): Add tdata field.
5224 (_bfd_coff_internal_syment_name): Declare.
5225 * libcoff.h: Rebuild.
5226 * configure.in (icoff_big_vec): Add cofflink.o.
5227 (icoff_little_vec): Likewise.
5228 * configure: Rebuild.
5229
5230 Wed Sep 13 17:38:23 1995 Fred Fish <fnf@rtl.cygnus.com>
5231
5232 * Makefile.in (clean-info): Remove extraneous tab from line
5233 following action.
5234
5235 Wed Sep 13 13:27:53 1995 Ian Lance Taylor <ian@cygnus.com>
5236
5237 * cofflink.c (coff_link_input_bfd): Fail if a section with no
5238 contents has relocs.
5239
5240 Thu Sep 12 12:45:34 1995 steve chamberlain <sac@slash.cygnus.com>
5241
5242 * coffcode.h (coff_compute_section_file_positions): Keep the
5243 raw size safe.
5244 (coff_write_object_contents): Remember if it's a relocatable
5245 file.
5246 * libcoff-in.h (pe_data_type): New member 'has_reloc_section'
5247 * peicode.h (coff_swap_filehdr_out): Clear not-reloc flag
5248 if relocatable file. Swap out saved raw size.
5249
5250 Tue Sep 12 12:14:33 1995 Ian Lance Taylor <ian@cygnus.com>
5251
5252 * Makefile.in (do_maintainer_clean): Rename from do_realclean.
5253 (maintainer-clean): Rename from realclean, passing
5254 maintainer-clean down to subdirectories, but leave realclean as a
5255 synonym.
5256
5257 * linker.c (_bfd_generic_link_add_one_symbol): Pass symbol name to
5258 warning callback.
5259
5260 * dep-in.sed: Remove config.h from generated dependencies.
5261
5262 * sunos.c (sunos_slurp_dynamic_symtab): New static function,
5263 broken out of sunos_canonicalize_dynamic_symtab.
5264 (sunos_canonicalize_dynamic_symtab): Call new function
5265 sunos_slurp_dynamic_symtab.
5266 (sunos_add_dynamic_symbols): Add three new parameters. Return the
5267 dynamic symbol table to the caller.
5268 * aoutx.h (aout_link_add_symbols): Permit add_dynamic_symbols
5269 callback to override the symbols being read.
5270 * libaout.h (struct aout_backend_data): Add three new parameters
5271 to add_dynamic_symbols callback.
5272
5273 Extensive minor changes to avoid various gcc warnings. Also:
5274 * Makefile.in (BFD32_BACKENDS): Remove coff-arm.o.
5275 * archures.c (bfd_arch_info_type): Change mach field from long to
5276 unsigned long.
5277 (bfd_lookup_arch): Change machine parameter from long to unsigned
5278 long.
5279
5280 Mon Sep 11 10:55:47 1995 Ian Lance Taylor <ian@cygnus.com>
5281
5282 * sunos.c (sunos_scan_std_relocs): Fix BFD_ASSERT: it's OK to find
5283 a symbol with a non-zero plt_offset.
5284
5285 Fri Sep 8 11:47:24 1995 Ian Lance Taylor <ian@cygnus.com>
5286
5287 * elfcode.h (align_file_position): Remove; not used.
5288
5289 * configure.in: Only check for <sys/procfs.h> on a native system,
5290 and make sure it defines prstatus_t.
5291 * configure: Rebuild.
5292
5293 Thu Sep 7 12:48:01 1995 Ian Lance Taylor <ian@cygnus.com>
5294
5295 * sunos.c (sunos_write_dynamic_symbol): Correct m68k abort test.
5296
5297 * config.in: Rename from config.h.in.
5298 * configure.in: Call AC_CONFIG_HEADER with config.h:config.in.
5299 Check for config.h:config.in when creating stamp-h.
5300 * configure: Rebuild.
5301 * Makefile.in (stamp-h): Depend upon config.in rather than
5302 config.h.in. Set CONFIG_HEADERS to config.h:config.in when
5303 calling config.status.
5304
5305 * Makefile.in (do_distclean): Remove config.h and stamp-h.
5306 (Makefile): Just rebuild Makefile.
5307 (config.h, stamp-h): New targets.
5308 * configure.in: Create stamp-h when rebuilding config.h.
5309 * configure: Rebuild.
5310
5311 Wed Sep 6 15:00:33 1995 Ian Lance Taylor <ian@cygnus.com>
5312
5313 * configure.in: Call AC_CONFIG_HEADER. Substitute
5314 HOST_64BIT_LONG. Check that various header files exist. Check
5315 that fcntl exists. Call BFD_BINARY_FOPEN. Check whether malloc
5316 and/or free need to be declared. Don't make a link to sysdep.h.
5317 Define TRAD_HEADER for various hosts.
5318 * configure: Rebuild.
5319 * configure.host: Don't set my_host. Add definitions taken from
5320 host header files for various entries. Remove entries which now
5321 do nothing.
5322 * acconfig.h: New file.
5323 * config.h.in: New file, built by autoheader.
5324 * sysdep.h: New file.
5325 * Makefile.in (do_distclean): Don't remove sysdep.h.
5326 (RECONFIG): Remove.
5327 (LOCAL_H_DEPS): New variable.
5328 ($(BFD_LIBS)): Use $(LOCAL_H_DEPS) rather than libbfd.h and
5329 $(RECONFIG).
5330 ($(BFD_MACHINES), $(BFD_BACKENDS)): Likewise.
5331 ($(OPTIONAL_BACKENDS)): Likewise.
5332 (stmp-bfd.h): Just substitute for BFD_HOST_64BIT_LONG, rather than
5333 looking through sysdep.h.
5334 * bfd-in.h (BFD_HOST_64BIT_LONG): Define; set by Makefile.
5335 (BFD_HOST_64_BIT): Define based on BFD_HOST_64BIT_LONG.
5336 (fprintf_vma, sprintf_vma): Likewise.
5337 (int64_type, uint64_type): Don't define.
5338 * bfd-in2.h: Rebuild.
5339 * archures.c, bfd.c, srec.c: Include <ctype.h>.
5340 * elfcore.h: Check HAVE_SYS_PROCFS_H rather than HAVE_PROCFS.
5341 * lynx-core.c: Include stuff from old hosts/lynx.h.
5342 * opncls.c (bfd_fdopenr): Check HAVE_FNCTL and defined (F_GETFL),
5343 rather than NO_FCNTL.
5344 * targets.c (bfd_target_list): Check HOST_HPPAHPUX and ! __STDC__
5345 rather than NATIVE_HPPAHPUX_COMPILER.
5346 * trad-core.c: Don't include <errno.h>. Include TRAD_HEADER if it
5347 is defined.
5348 * hosts/*.h: Remove all header files which merely include,
5349 declare, and define things. Leave header files which define
5350 information needed by trad-core.c.
5351
5352 * aclocal.m4 (BFD_BINARY_FOPEN): Define.
5353 (BFD_CC_FOR_BUILD): Define.
5354 * configure.in: Use BFD_CC_FOR_BUILD.
5355 * configure: Rebuild.
5356
5357 Tue Sep 5 19:35:28 1995 Ian Lance Taylor <ian@cygnus.com>
5358
5359 * aclocal.m4: Don't try to grep ../Makefile if it doesn't exist.
5360 * configure: Rebuild.
5361
5362 * coff-sparc.c (CALC_ADDEND): Don't set the addend to the value of
5363 a global symbol.
5364
5365 Tue Sep 5 12:48:26 1995 Jason Molenda (crash@phydeaux.cygnus.com)
5366
5367 * config.bfd: i386pe_ve -> i386pe_vec.
5368
5369 Mon Sep 4 14:02:43 1995 Ian Lance Taylor <ian@cygnus.com>
5370
5371 * configure.host: Incorporate host Makefile fragments by setting
5372 shell variables.
5373 * configure.in: Call AC_PROG_CC. Substitute CFLAGS, HDEFINES and
5374 AR. Call AC_PROG_INSTALL. Substitute CC_FOR_BUILD, choosing a
5375 value based on whether the code is being compiled by a cross
5376 compiler. Don't substitute host_makefile_frag or frags.
5377 * aclocal.m4: New file to define local AC_PROG_CC.
5378 * configure: Rebuild.
5379 * Makefile.in (INSTALL): Set to @INSTALL@.
5380 (INSTALL_PROGRAM): Set to @INSTALL_PROGRAM@.
5381 (INSTALL_DATA): Set to @INSTALL_DATA@.
5382 (AR): Set to @AR@.
5383 (CC): Define as @CC@.
5384 (CFLAGS): Set to @CFLAGS@.
5385 (CC_FOR_BUILD): Set to @CC_FOR_BUILD@.
5386 (@host_makefile_frag@): Remove.
5387 (ALL_CFLAGS): Change $(HDEFINES) to @HDEFINES@. Move $(CFLAGS)
5388 after other options.
5389 (config.status): Remove dependency upon @frags@.
5390 * config/*.mh, config/README: Remove.
5391
5392 * config.bfd: Rewrite to incorporate the contents of the Makefile
5393 fragments by setting shell variables, rather than merely returning
5394 the name of a Makefile fragment.
5395 * configure.in: Use shell variables set by config.bfd rather than
5396 looking at the target Makefile fragment files. Don't substitute
5397 target_makefile_frag. Do substitute TDEFINES.
5398 * configure: Rebuild.
5399 * Makefile.in (@target_makefile_frag@): Remove.
5400 (ALL_CFLAGS): Change $(TDEFINES) to @TDEFINES@.
5401 * config/*.mt: Remove.
5402
5403 Mon Sep 4 03:13:28 1995 Ken Raeburn <raeburn@cygnus.com>
5404
5405 * configure.in: Put changequote lines around "i[345]86" patterns
5406 section of core file support.
5407
5408 Sun Sep 3 11:31:58 1995 Jeff Law (law@snake.cs.utah.edu)
5409
5410 * som.c (som_bfd_print_private_bfd_data): Define to use the
5411 generic version.
5412
5413 Fri Sep 1 17:08:40 1995 steve chamberlain <sac@slash.cygnus.com>
5414
5415 * peicode.h (coff_swap_aouthdr_in): Add ImageBase to
5416 entry, text_start and data_start.
5417
5418 Fri Sep 1 18:06:28 1995 Ian Lance Taylor <ian@cygnus.com>
5419
5420 * Makefile.in (OFILES): Remove $(TDEPFILES).
5421 * config/apollo.mt (TDEPFILES): Remove.
5422 * config/README: Update.
5423
5424 * configure.in: For a native configuration, set COREFILE and
5425 COREFLAG based on the canonical host name.
5426 * configure: Rebuild.
5427 * Makefile.in: Rebuild dependencies.
5428 (ALL_CFLAGS): Add @COREFLAG@.
5429 (OFILES): Replace $(HDEPFILES) with @COREFILE@.
5430 * coff-rs6000.c: Check AIX_CORE rather than HOST_AIX for core file
5431 support routines. Check LYNX_CORE rather than HOST_LYNX.
5432 * lynx-core.c: Check LYNX_CORE rather than HOST_LYNX.
5433 * i386lynx.c: Likewise.
5434 * m68klynx.c: Likewise.
5435 * sparclynx.c: Likewise.
5436 * rs6000-core.c: Check AIX_CORE rather than HOST_AIX.
5437 * *-core.c: Comment changes.
5438 * config/decstation.mh (HDEPFILES): Remove.
5439 (HDEFINES): Remove -DTRAD_CORE.
5440 * config/irix3.mh (RANLIB): Remove.
5441 * config/irix4.mh (HDEPFILES, RANLIB): Remove.
5442 (HDEFINES): Remove -DIRIX_CORE.
5443 * config/riscos.mh (RANLIB, HDEPFILES): Remove.
5444 (HDEFINES): Remove -DTRAD_CORE.
5445 * config/ncr3000.mh (AR_FLAGS, RANLIB): Remove.
5446 * config/ultra3.mh (RANLIB): Remove.
5447 * config/aix4.mh, config/alphaosf.mh, config/amix.mh: Remove.
5448 * config/apollo.mh, config/delta68.mh, config/delta88.mh: Remove.
5449 * config/dpx2.mh, config/esix.mh, config/harris.mh: Remove.
5450 * config/hp300.mh, config/hp300bsd.mh, config/hppabsd.mh: Remove.
5451 * config/hppahpux.mh, config/hppaosf.mh: Remove.
5452 * config/i386aix.mh, config/i386bsd.mh: Remove.
5453 * config/i386linux.mh, config/i386mach3.mh: Remove.
5454 * config/i386sco.mh, config/i386v.mh, config/i386v4.mh: Remove.
5455 * config/irix5.mh, config/m88kmach3.mh, config/mipsbsd.mh: Remove.
5456 * config/mipsmach3.mh, config/news-mips.mh: Remove.
5457 * config/news.mh, config/pc532mach.mh, config/riscix.mh: Remove.
5458 * config/rs600.mh, config/rs6000lynx.mh: Remove.
5459 * config/solaris2.mh, config/stratus.mh: Remove.
5460 * config/symmetry.mh, config/sysv4.mh, config/tahoe.mh: Remove.
5461 * config/vaxbsd.mh, config/vaxult.mh, config/vaxult2.mh: Remove.
5462
5463 Fri Sep 1 15:18:50 1995 Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>
5464
5465 * elflink.h (elf_bfd_final_link): Don't change a DT_INIT or
5466 DT_FINI entry if the appropriate symbol is not in the hash table.
5467
5468 * libelf.h (struct elf_backend_data): Add create_program_headers
5469 and want_hdr_in_seg fields.
5470 * elfxx-target.h (elf_backend_want_hdr_in_seg): Define if not
5471 defined.
5472 (elf_backend_create_program_headers): Likewise.
5473 (elfNN_bed): Initialize create_program_headers and
5474 want_hdr_in_seg.
5475 * elf.c (get_program_header_size): Call create_program_headers
5476 backend routine.
5477 (map_program_segments): Check want_hdr_in_seg backend field. Call
5478 create_program_headers backend routine.
5479
5480 * elf.c (assign_file_positions_except_relocs): Align non allocated
5481 sections when creating an executable.
5482
5483 * elfcode.h (elf_swap_phdr_in): Make non static.
5484 (elf_swap_phdr_out): Make non static.
5485 * libelf.h (bfd_elf32_swap_phdr_in): Declare.
5486 (bfd_elf32_swap_phdr_out): Declare.
5487 (bfd_elf64_swap_phdr_in): Declare.
5488 (bfd_elf64_swap_phdr_out): Declare.
5489
5490 * ecofflink.c (ecoff_collect_shuffle): New static function.
5491 (_bfd_ecoff_get_accumulated_pdr): New function.
5492 (_bfd_ecoff_get_accumulated_sym): New function.
5493 (_bfd_ecoff_get_accumulated_ss): New function.
5494 * libbfd-in.h (_bfd_ecoff_get_accumulated_pdr): Declare.
5495 (_bfd_ecoff_get_accumulated_sym): Declare.
5496 (_bfd_ecoff_get_accumulated_ss): Declare.
5497 * libbfd.h: Rebuild.
5498
5499 Fri Sep 1 13:20:25 1995 Ian Lance Taylor <ian@cygnus.com>
5500
5501 * libecoff.h (_bfd_ecoff_bfd_print_private_bfd_data): Fix typo.
5502
5503 * elflink.h (elf_link_add_object_symbols): Handle indirect and
5504 warning symbols. If any section is named .gnu.warning.XXX, treat
5505 the contents as a warning to be issued if the symbol XXX is
5506 referenced.
5507 (elf_link_output_extsym): For an indirect or warning symbol, just
5508 output the symbol it points to.
5509
5510 * linker.c (_bfd_link_hash_newfunc): Don't bother to set bfd_error
5511 if bfd_hash_allocate fails, since it will already be set.
5512 (generic_link_hash_newfunc): Likewise.
5513 (archive_hash_newfunc): Likewise.
5514 (hash_entry_bfd): New static function.
5515 (_bfd_generic_link_add_one_symbol): Pass new arguments to warning
5516 callback. Allocate a new warning using the hash table newfunc.
5517 Use bfd_hash_replace to update the entry in the hash table, rather
5518 than assuming we can copy the fields with structure assignment.
5519
5520 * hash.c (bfd_hash_replace): New function.
5521 * bfd-in.h (bfd_hash_replace): Declare.
5522 * bfd-in2.h: Rebuild.
5523
5524 Fri Sep 1 08:12:50 1995 James G. Smith <jsmith@beauty.cygnus.com>
5525
5526 * config.bfd: Add mips*vr4300-*-elf* target.
5527 * config/mipsbvr4300.mt: Added.
5528
5529 See file ChangeLog.2
5530
5531 \f
5532 Local Variables:
5533 mode: indented-text
5534 left-margin: 8
5535 fill-column: 74
5536 version-control: never
5537 End: