* elf32-mips.c (mips_elf_size_dynamic_sections): Initialize c.
[deliverable/binutils-gdb.git] / bfd / ChangeLog
1 Mon Jun 3 11:01:53 1996 Ian Lance Taylor <ian@cygnus.com>
2
3 * elf32-mips.c (mips_elf_size_dynamic_sections): Initialize c.
4 From Per Fogelstrom <per.fogelstrom@mailbox200.swipnet.se>.
5
6 Sat Jun 1 21:49:58 1996 Ian Lance Taylor <ian@cygnus.com>
7
8 * elf64-mips.c (bfd_mips_elf64_swap_reginfo_in)
9 (bfd_mips_elf64_swap_reginfo_out): Move from here...
10 * elf32-mips.c (bfd_mips_elf64_swap_reginfo_in)
11 (bfd_mips_elf64_swap_reginfo_out): ...to here.
12
13 Fri May 31 13:51:28 1996 Ian Lance Taylor <ian@cygnus.com>
14
15 * elf64-mips.c: Improve reloc special_functions and handling of
16 SHT_MIPS_OPTIONS section.
17 * elf32-mips.c (_bfd_mips_elf_hi16_reloc): Rename from
18 mips_elf_hi16_reloc and make globally visible.
19 (_bfd_mips_elf_lo16_reloc): Rename from mips_elf_lo16_reloc and
20 make globally visible.
21 (_bfd_mips_elf_got16_reloc): Rename from mips_elf_got16_reloc and
22 make globally visible.
23 (_bfd_mips_elf_gprel16_reloc): Rename from mips_elf_gprel16_reloc
24 and make globally visible.
25 (gprel16_with_gp): Check howto->src_mask before using value in
26 insn.
27 (_bfd_mips_elf_gprel32_reloc): Rename from mips_elf_gprel32_reloc
28 and make globally visible.
29 (gprel32_with_gp): Check howto->src_mask before fetching value.
30 (bfd_mips_elf_swap_options_in): New function.
31 (bfd_mips_elf_swap_options_out): New function.
32 (_bfd_mips_elf_set_private_flags): Rename from
33 mips_elf_set_private_flags and make globally visible.
34 (_bfd_mips_elf_copy_private_bfd_data): Rename from
35 mips_elf_copy_private_bfd_data and make globally visible.
36 (_bfd_mips_elf_merge_private_bfd_data): Rename from
37 mips_elf_merge_private_bfd_data and make globally visible.
38 (_bfd_mips_elf_section_from_shdr): Accept .MIPS.options as a name
39 for a SHT_MIPS_OPTIONS section.
40 (mips_elf32_section_from_shdr): Handle SHT_MIPS_OPTIONS section.
41 (_bfd_mips_elf_fake_sections): Consider .MIPS.options to be the
42 name of a SHT_MIPS_OPTIONS section.
43 (_bfd_mips_elf_set_section_contents): New function.
44 (mips_elf32_section_processing): Set the GP value in a
45 SHT_MIPS_OPTIONS section.
46 (_bfd_mips_elf_find_nearest_line): Rename from
47 mips_elf_find_nearest_line and make globally visible.
48 (bfd_elf32_set_section_contents): Define.
49 * elf-bfd.h (_bfd_mips_elf_hi16_reloc): Declare.
50 (_bfd_mips_elf_lo16_reloc): Declare.
51 (_bfd_mips_elf_gprel16_reloc): Declare.
52 (_bfd_mips_elf_got16_reloc): Declare.
53 (_bfd_mips_elf_gprel32_reloc): Declare.
54 (_bfd_mips_elf_set_private_flags): Declare.
55 (_bfd_mips_elf_copy_private_bfd_data): Declare.
56 (_bfd_mips_elf_merge_private_bfd_data): Declare.
57 (_bfd_mips_elf_find_nearest_line): Declare.
58 (_bfd_mips_elf_set_section_contents): Declare.
59
60 * elf32-hppa.c (elf32_hppa_info_to_howto): Rename from
61 elf_info_to_howto.
62 (elf_info_to_howto): Define.
63 * elf32-sparc.c (elf32_sparc_info_to_howto): Rename from
64 elf_info_to_howto.
65 (elf_info_to_howto): Define.
66 * elf64-sparc.c (sparc64_elf_info_to_howto): Rename from
67 elf_info_to_howto.
68 (elf_info_to_howto): Define.
69
70 * coff-w65.c (h8300_reloc16_estimate): Rename R_MOVB[12] to
71 R_MOV16B[12], to match change in coff/internal.h.
72
73 Thu May 30 12:38:49 1996 Ian Lance Taylor <ian@cygnus.com>
74
75 * elf64-mips.c: Extensive additions to provide better support for
76 writing files and for gas.
77 * elf32-mips.c (_bfd_mips_elf_object_p): New function, broken out
78 of mips_elf_object_p.
79 (mips_elf32_object_p): Rename from mips_elf_object_p; call
80 _bfd_mips_elf_object_p.
81 (_bfd_mips_elf_final_write_processing): Rename from
82 mips_elf_final_write_processing and make globally visible.
83 (_bfd_mips_elf_fake_sections): Rename from
84 mips_elf_fake_sections and make globally visible.
85 (_bfd_mips_elf_section_from_bfd_section): Rename from
86 mips_elf_section_from_bfd_section and make globally visible.
87 (_bfd_mips_elf_section_processing): New function, broken out of
88 mips_elf_section_processing.
89 (mips_elf32_section_processing): Rename from
90 mips_elf_section_processing; call
91 _bfd_mips_elf_section_processing.
92 (_bfd_mips_elf_symbol_processing): Rename from
93 mips_elf_symbol_processing and make globally visible.
94 (_bfd_mips_elf_read_ecoff_info): Rename from
95 mips_elf_read_ecoff_info and make globally visible.
96 (mips_elf32_ecoff_debug_swap): Rename from
97 mips_elf_ecoff_debug_swap.
98 * elf.c (_bfd_elf_symbol_from_bfd_symbol): Use asymbol rather than
99 struct symbol_cache_entry.
100 (_bfd_elf_validate_reloc): New function, moved in from
101 elfcode.h:validate_reloc.
102 * elfcode.h (validate_reloc): Remove; moved into elf.c and renamed
103 to _bfd_elf_validate_reloc. Change all callers.
104 * elf-bfd.h (bfd_section_from_shdr): Declare.
105 (_bfd_elf_symbol_from_bfd_symbol): Declare.
106 (_bfd_elf_validate_reloc): Declare.
107 (_bfd_mips_elf_object_p): Declare.
108 (_bfd_mips_elf_fake_sections): Declare.
109 (_bfd_mips_elf_section_from_bfd_section): Declare.
110 (_bfd_mips_elf_section_processing): Declare.
111 (_bfd_mips_elf_symbol_processing): Declare.
112 (_bfd_mips_elf_read_ecoff_info): Declare.
113 (_bfd_mips_elf_final_write_processing): Declare.
114 * elfxx-target.h (bfd_elfNN_get_reloc_upper_bound): Don't define
115 if already defined.
116
117 * elf32-mips.c (mips_elf_object_p): Handle E_MIPS_ARCH_4.
118 (mips_elf_final_write_processing): Likewise.
119
120 Wed May 29 16:15:29 1996 Ian Lance Taylor <ian@cygnus.com>
121
122 64-bit MIPS ELF ABI objdump support:
123 * elf64-mips.c: New file.
124 * Makefile.in: Rebuild dependencies.
125 (BFD64_BACKENDS): Add elf64-mips.o.
126 (BFD64_BACKENDS_CFILES): Add elf64-mips.c.
127 * config.bfd (mips*el-*-elf*) Add bfd_elf64_bigmips_vec and
128 bfd_elf64_littlemips_vec to targ_selvecs.
129 (mips*-*-elf*): Likewise.
130 * confingure.in: Add bfd_elf64_bigmips_vec and
131 bfd_elf64_littlemips_vec to vector switch.
132 * configure: Rebuild.
133 * elf32-mips.c (_bfd_mips_elf_section_from_shdr): New function,
134 broken out of mips_elf_section_from_shdr.
135 (mips_elf32_section_from_shdr): Rename from
136 mips_elf_section_from_shdr. Call new function.
137 (elf_backend_section_from_shdr): Update name of renamed function.
138 * elf-bfd.h (struct elf_size_info): Change second parameter of
139 write_out_phdrs to be const. Likewise for second parameter of
140 swap_symbol_out.
141 (struct bfd_elf_section_data): Add rel_hdr2 field.
142 (bfd_elf32_swap_symbol_in): Change second parameter to be const.
143 (bfd_elf32_swap_symbol_out): Likewise.
144 (bfd_elf32_swap_reloc_in): Likewise.
145 (bfd_elf32_swap_reloc_out): Likewise.
146 (bfd_elf32_swap_reloca_in): Likewise.
147 (bfd_elf32_swap_reloca_out): Likewise.
148 (bfd_elf32_swap_phdr_in): Likewise.
149 (bfd_elf32_swap_phdr_out): Likewise.
150 (bfd_elf32_swap_dyn_in): Likewise.
151 (bfd_elf32_swap_dyn_out): Likewise.
152 (bfd_elf32_slurp_symbol_table): Declare.
153 (bfd_elf32_write_shdrs_and_ehdr): Declare.
154 (bfd_elf32_write_out_phdrs): Declare.
155 (bfd_elf64_swap_symbol_in): Change second parameter to be const.
156 (bfd_elf64_swap_symbol_out): Likewise.
157 (bfd_elf64_swap_reloc_in): Likewise.
158 (bfd_elf64_swap_reloc_out): Likewise.
159 (bfd_elf64_swap_reloca_in): Likewise.
160 (bfd_elf64_swap_reloca_out): Likewise.
161 (bfd_elf64_swap_phdr_in): Likewise.
162 (bfd_elf64_swap_phdr_out): Likewise.
163 (bfd_elf64_swap_dyn_in): Likewise.
164 (bfd_elf64_swap_dyn_out): Likewise.
165 (bfd_elf64_slurp_symbol_table): Declare.
166 (bfd_elf64_write_shdrs_and_ehdr): Declare.
167 (bfd_elf64_write_out_phdrs): Declare.
168 (_bfd_mips_elf_section_from_shdr): Declare.
169 * elf.c (bfd_section_from_shdr): Remove assertion requiring
170 SHT_REL/SHT_RELA to match use_rela_p. If there is already a reloc
171 section for the section, add the new one to rel_hdr2. Increment
172 reloc_count rather than setting it.
173 * elfcode.h (elf_slurp_symbol_table): Define name as macro.
174 Remove static declaration.
175 (elf_write_shdrs_and_ehdr): Define name as macro.
176 (elf_write_out_phdrs): Likewise.
177 (elf_swap_ehdr_in, elf_swap_ehdr_out): Declare.
178 (elf_swap_shdr_in, elf_swap_shdr_out): Declare.
179 (elf_swap_symbol_in): Change second parameter to be const.
180 (elf_swap_symbol_out): Likewise.
181 (elf_swap_ehdr_in, elf_swap_ehdr_out): Likewise.
182 (elf_swap_shdr_in, elf_swap_shdr_out): Likewise.
183 (elf_swap_phdr_in, elf_swap_phdr_out): Likewise.
184 (elf_swap_reloc_in, elf_swap_reloc_out): Likewise.
185 (elf_swap_reloca_in, elf_swap_reloca_out): Likewise.
186 (elf_write_out_phdrs): Rename from write_out_phdrs. Change second
187 parameter to be const. Make non-static.
188 (elf_write_shdrs_and_ehdr): Rename from write_shdrs_and_ehdr.
189 Make non-static.
190 (elf_slurp_symbol_table): Make non-static.
191 (NAME(_bfd_elf,size_info)): Update names of renamed functions.
192 * elfxx-target.h (elf_info_to_howto): Define if not defined.
193 (elf_backend_size_info): Likewise.
194 (elfNN_bed): Use elf_backend_size_info.
195 * targets.c (bfd_elf64_bigmips_vec): Declare.
196 (bfd_elf64_littlemips_vec): Declare.
197 (bfd_target_vector): Add bfd_elf64_bigmips_vec and
198 bfd_elf64_littlemips_vec if BFD64 is defined.
199
200 * libbfd.c (bfd_get_file_window): Add cast to fprintf argument.
201
202 Tue May 28 11:42:08 1996 Ian Lance Taylor <ian@cygnus.com>
203
204 * coff-sh.c (sh_relax_delete_bytes): Insert nop instructions, not
205 zeroes, in alignment holes.
206
207 * configure: Rebuild with autoconf 2.10.
208
209 * aoutx.h (NAME(aout,find_nearest_line)): Make room for the
210 potential leading underscore in the allocated buffer.
211
212 Fri May 24 14:28:38 1996 Michael Meissner <meissner@tiktok.cygnus.com>
213
214 * elf32-ppc.c (ppc_elf_add_symbol_hook): Do not put small common
215 symbols into .sbss if this is a relocatable link.
216
217 Thu May 23 12:26:24 1996 Ian Lance Taylor <ian@cygnus.com>
218
219 * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Warn about
220 undefined symbols when creating a shared library.
221
222 Fri May 17 13:54:15 1996 Ian Lance Taylor <ian@cygnus.com>
223
224 * coff-sh.c: Add a bunch of new code and static const arrays to
225 support aligning loads and stores on four byte memory boundaries.
226 Also:
227 (sh_coff_howtos): Add entries for R_SH_CODE, R_SH_DATA and
228 R_SH_LABEL.
229 (sh_relax_section): Look for R_SH_CODE relocs. If we find one,
230 call sh_align_loads.
231 (sh_relax_delete_bytes): Don't mark R_SH_CODE or R_SH_DATA relocs
232 as unused.
233
234 Thu May 16 16:34:13 1996 Ian Lance Taylor <ian@cygnus.com>
235
236 * cache.c (bfd_open_file): Unlink the file before opening it for
237 write. From Marty Leisner <leisner@sdsp.mc.xerox.com>.
238
239 * opncls.c (bfd_fdopenr): Set opened_once.
240
241 Tue May 14 12:35:32 1996 Ian Lance Taylor <ian@cygnus.com>
242
243 * som.c (som_slurp_reloc_table): Clear external_relocs cache after
244 freeing it.
245
246 * libbfd.c: Remove #ifdef FILE_OFFSET_IS_CHAR_INDEX, and compile
247 the code unconditionally.
248
249 Mon May 13 19:51:37 1996 Ian Lance Taylor <ian@cygnus.com>
250
251 * libcoff-in.h (struct pei_section_tdata): Define structure.
252 (pei_section_data): Define macro.
253 * libcoff.h: Rebuild.
254 * coffcode.h (coff_set_alignment_hook): If COFF_IMAGE_WITH_PE,
255 store s_paddr field in pei_section_data.
256 (coff_compute_section_file_positions): Use pei_section_data rather
257 than _cooked_size, and don't overwrite an existing value.
258 (coff_write_object_contents): If COFF_OBJ_WITH_PE, set s_paddr to
259 0. If COFF_IMAGE_WITH_PE, set s_paddr to pei_section_data.
260 * peicode.h (coff_bfd_copy_private_section_data): Define if
261 COFF_IMAGE_WITH_PE.
262 (pe_bfd_copy_private_section_data): New static function if
263 COFF_IMAGE_WITH_PE.
264
265 Wed May 8 16:10:38 1996 Ian Lance Taylor <ian@cygnus.com>
266
267 * srec.c (srec_set_arch_mach): Write as a function rather than a
268 macro definition.
269
270 * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): If an archive has
271 no map, just check each member in turn to see whether it is
272 required.
273
274 Wed May 8 09:17:34 1996 Michael Meissner <meissner@tiktok.cygnus.com>
275
276 * ppcboot.c (ppcboot_object_p): Check for type 0x41 in partition
277 table. Call BFD_ASSERT to validate header size, instead of
278 calling fatal.
279 (ppcboot_bfd_print_private_bfd_data): Put quotes around partition
280 name.
281
282 Tue May 7 16:10:19 1996 Michael Meissner <meissner@tiktok.cygnus.com>
283
284 * ppcboot.c: New target for looking at PPCbug boot records.
285
286 * config{ure.in,.bfd}: Add support for ppcboot target.
287 * targets.c: Ditto.
288 * configure: Regenerate.
289
290 Tue May 7 11:15:19 1996 Jeffrey A Law (law@cygnus.com)
291
292 * coff-h8300.c (howto_table): Update names to match recent
293 changes to include/coff/internal.h. Fix minor errors in the
294 existing relocs. Add R_MOVL1 and R_MOVL2.
295 (rtype2howto): Similarly.
296 (h8300_reloc16_estimate): Rewrite to simplify, fix bugs in the
297 existing relaxing code and peform more relaxing.
298 (h8300_reloc16_extra_cases): Likewise.
299
300 Mon May 6 18:24:09 1996 Jeffrey A Law (law@cygnus.com)
301
302 * reloc16.c (bfd_coff_reloc16_get_value): Handle common
303 symbols correctly.
304
305 Sat May 4 05:08:45 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
306
307 * elfcode.h (elf_object_p): Reject generic ELF target if
308 e_machine matches an alternate machine code in a specific backend.
309
310 * netbsd-core.c (netbsd_core_vec): Remove initializer for
311 obsolete align_power_min field.
312
313 Fri May 3 13:07:35 1996 Jeffrey A Law (law@cygnus.com)
314
315 * coff-h8300.c (reloc_howto_type): Add howto entry for
316 R_PCRWORD_B.
317 (rtype2howto): Handle R_PCRWORD_B.
318 (h8300_reloc16_extra_cases): Handle R_PCRWORD_B.
319 (h8300_reloc_16_estimate): Likewise. Try to turn a 16bit
320 pc-relative branch (R_PCRWORD) into an 8bit pc-relative
321 branch (R_PCWORD_B).
322
323 Fri May 3 10:47:41 1996 Ian Lance Taylor <ian@cygnus.com>
324
325 * aoutx.h (translate_from_native_sym_flags): Set the section for
326 BSF_CONSTRUCTOR symbols.
327
328 * cofflink.c (_bfd_coff_link_input_bfd): Correct setting of
329 last_bf_index.
330
331 Wed May 1 18:39:32 1996 Doug Evans <dje@canuck.cygnus.com>
332
333 * coffcode.h (coff_write_object_contents): In comdat section lookup,
334 stop looking when section is found.
335
336 Wed May 1 14:17:57 1996 Ian Lance Taylor <ian@cygnus.com>
337
338 * coffcode.h (STRING_SIZE_SIZE): Define.
339 (styp_to_sec_flags): Handle long symbol names when looking for the
340 section symbol.
341 (bfd_coff_backend_data): Add _bfd_coff_long_section_names field.
342 (bfd_coff_long_section_names): Define.
343 (coff_write_object_contents): Handle long section names.
344 (bfd_coff_std_swap_table): Initialize new field.
345 * libcoff.h: Rebuild.
346 * coffgen.c (make_a_section_from_file): Handle long section
347 names.
348 (coff_write_symbols): Handle long section names.
349 * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
350 * coff-mips.c (mips_ecoff_backend_data): Likewise.
351 * pe-arm.c (COFF_LONG_SECTION_NAMES): Define.
352 * pei-arm.c (COFF_LONG_SECTION_NAMES): Define.
353 * pe-i386.c (COFF_LONG_SECTION_NAMES): Define.
354 * pei-i386.c (COFF_LONG_SECTION_NAMES): Define.
355 * pe-ppc.c (COFF_LONG_SECTION_NAMES): Define.
356 * pei-ppc.c (COFF_LONG_SECTION_NAMES): Define.
357
358 * bout.c (b_out_callback): Set lma of sections.
359 (b_out_bfd_get_relocated_section_contents): Rename in_abfd
360 parameter to output_bfd. Used input_bfd instead of output_bfd in
361 several places.
362
363 Tue Apr 30 17:56:39 1996 Ian Lance Taylor <ian@cygnus.com>
364
365 * aoutx.h (translate_from_native_sym_flags): Don't create
366 SEC_CONSTRUCTOR sections.
367 * ecoff.c (ecoff_set_symbol_info): Likewise.
368
369 * elf32-mips.c (mips_elf_copy_private_bfd_data): Copy elf_gp.
370 From Don Bowman <bowman@waterloo.hp.com>.
371
372 Tue Apr 30 17:06:32 1996 Doug Evans <dje@canuck.cygnus.com>
373
374 * coff-arm.c (armcoff_little_vec): If COFF_WITH_PE is defined, add
375 SEC_LINK_ONCE and SEC_LINK_DUPLICATES to section_flags.
376
377 Mon Apr 29 13:15:17 1996 Ian Lance Taylor <ian@cygnus.com>
378
379 * elf32-mips.c (struct mips_elf_link_hash_entry): Add
380 mips_32_relocs field.
381 (mips_elf_link_hash_newfunc): Initialize mips_32_relocs field.
382 (mips_elf_relocate_section): Copy R_MIPS_REL32 and R_MIPS_32
383 relocs against a global symbol which is not defined in a regular
384 file.
385 (mips_elf_check_relocs): For a R_MIPS_REL32 or R_MIPS_32 reloc
386 against a global symbol, increment mips_32_relocs.
387 (mips_elf_adjust_dynamic_symbol): If mips_32_relocs is set, and
388 the symbol is not defined in a regular file, make room in the
389 .rel.dyn section.
390
391 Fri Apr 26 18:00:37 1996 Ian Lance Taylor <ian@cygnus.com>
392
393 * ecoff.c (ecoff_compute_section_file_positions): Track the real
394 file position and the virtual file position separately. Set
395 filepos information bsaed on the real file position.
396 (_bfd_ecoff_set_section_contents): Handle .lib sections like the
397 Jan 23 change to coffcode.h.
398
399 * som.c (som_slurp_symbol_table): Set the symbol count to the
400 number of BFD symbols created.
401
402 Fri Apr 26 12:34:29 1996 Michael Meissner <meissner@tiktok.cygnus.com>
403
404 * elf32-ppc.c (ppc_elf_check_relocs): Forward relocations to the
405 output file if linking shared objects. Loop to check all relocs,
406 rather than returning false on first error.
407
408 Thu Apr 25 13:25:12 1996 Michael Meissner <meissner@tiktok.cygnus.com>
409
410 * elf32-ppc.c (ppc_elf_create_linker_section): Add PLT case.
411 (ppc_elf_additional_program_headers): If .interp section, bump #
412 of program headers by 1.
413 (ppc_elf_adjust_dynamic_symbol): Flesh out support.
414 (ppc_elf_size_dynamic_sections): Add support for .plt section.
415 (ppc_elf_check_relocs): Print out filename in debug code. Enable
416 PLT support.
417 (ppc_elf_finish_dynamic_symbol): Add support for PLT's, beef up
418 debug output.
419 (ppc_elf_relocate_section): If the output section isn't defined,
420 don't abort, just give an error message.
421
422 * elflink.c (_bfd_elf_create_dynamic_sections): If the section
423 being created is .sdata or .sdata2, don't make the symbol dynamic.
424
425 Wed Apr 24 14:04:07 1996 Ian Lance Taylor <ian@cygnus.com>
426
427 * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Look through the
428 members of an archive for dynamic objects with no symbols, and
429 pass them directly to check_archive_element.
430 (xcoff_link_check_ar_symbols): Pass dynamic objects to
431 xcoff_link_check_dynamic_ar_symbols.
432 (xcoff_link_check_dynamic_ar_symbols): New static function.
433
434 * coff-rs6000.c (rs6000coff_vec): Change BFD_JUMP_TABLE_DYNAMIC
435 from _bfd_nodynamic to _bfd_xcoff.
436 * libcoff-in.h (_bfd_xcoff_get_dynamic_symtab_upper_bound):
437 Declare.
438 (_bfd_xcoff_canonicalize_dynamic_symtab): Declare.
439 (_bfd_xcoff_get_dynamic_reloc_upper_bound): Declare.
440 (_bfd_xcoff_canonicalize_dynamic_reloc): Declare.
441 * libcoff.h: Rebuild.
442 * xcofflink.c (xcoff_swap_ldrel_in): New static function.
443 (xcoff_get_section_contents): New static function.
444 (_bfd_xcoff_get_dynamic_symtab_upper_bound): New function.
445 (_bfd_xcoff_canonicalize_dynamic_symtab): New function.
446 (_bfd_xcoff_get_dynamic_reloc_upper_bound): New function.
447 (xcoff_dynamic_reloc): New static variable.
448 (_bfd_xcoff_canonicalize_dynamic_reloc): New function.
449 (xcoff_link_add_dynamic_symbols): Use xcoff_get_section_contents.
450
451 Tue Apr 23 12:48:42 1996 Ian Lance Taylor <ian@cygnus.com>
452
453 * coff-sparc.c (bfd_coff_generic_reloc): Return bfd_reloc_ok even
454 if reloc_entry->addend is not 0.
455 (CALC_ADDEND): Just set the addend to reloc.r_offset.
456
457 Mon Apr 22 18:29:01 1996 Doug Evans <dje@canuck.cygnus.com>
458
459 * elf32-sparc.c (_bfd_sparc_elf_howto_table): Fix spelling of
460 R_SPARC_GLOB_JMP.
461 * elf64-sparc.c (sparc64_elf_howto_table): Likewise.
462 Add entries for R_SPARC_[56].
463 (sparc_reloc_map): Add entries for R_SPARC_[56].
464
465 Mon Apr 22 15:07:24 1996 Ian Lance Taylor <ian@cygnus.com>
466
467 Optimize linking of stabs in sections as used in ELF and COFF.
468 * stabs.c: New file.
469 * libbfd-in.h (_bfd_link_section_stabs): Declare.
470 (_bfd_write_section_stabs): Declare.
471 (_bfd_write_stab_strings): Declare.
472 * libbfd.h: Rebuild.
473 * libcoff-in.h (struct coff_section_tdata): Add stab_info field.
474 (struct coff_link_hash_table): Add stab_info field.
475 * libcoff.h: Rebuild.
476 * cofflink.c (_bfd_coff_link_hash_table_init): Initialize
477 stab_info field.
478 (coff_link_add_symbols): Call _bfd_link_section_stabs if
479 appropriate.
480 (_bfd_coff_final_link): Write out stab strings hash table.
481 (_bfd_coff_link_input_bfd): Handle optimized stabs sections.
482 * coff-ppc.c (ppc_bfd_coff_final_link): Write out stab strings
483 hash table.
484 * elf-bfd.h (struct elf_link_hash_table): Add stab_info field.
485 (struct bfd_elf_section_data): Add stab_info field.
486 * elf.c (_bfd_elf_link_hash_table_init): Initialize stab_info
487 field.
488 * elflink.h (elf_link_add_object_symbols): If appropriate, call
489 _bfd_link_section_stabs.
490 (elf_bfd_final_link): Write out stab strings hash table.
491 (elf_link_input_bfd): Handle optimized stabs sections.
492 * reloc.c (_bfd_final_link_relocate): Check address against
493 _raw_size rather than _cooked_size.
494 * Makefile.in: Rebuild dependencies.
495 (BFD_LIBS): Add stabs.o
496 (BFD_LIBS_CFILES): Add stabs.c.
497
498 * VERSION: Increment for bfdlink.h change.
499
500 * coffgen.c (coff_renumber_symbols): Correct handling of
501 BSF_NOT_AT_END common symbols.
502
503 Fri Apr 19 19:21:56 1996 Ian Lance Taylor <ian@cygnus.com>
504
505 * coff-ppc.c (record_toc): Add cast to avoid warning.
506 (ppc_allocate_toc_section): Likewise.
507 (coff_ppc_relocate_section): Remove ANSI C string concatenation.
508 (ppc_coff_reloc_type_lookup): Remove unreached code.
509 * coffcode.h (coff_write_object_contents): Don't take the address
510 of an array.
511 * peicode.h (pe_print_idata): Add casts to avoid warning.
512 (pe_print_edata): Likewise.
513 (pe_print_reloc): Remove ANSI C string concatenation.
514
515 Thu Apr 18 18:51:18 1996 Ian Lance Taylor <ian@cygnus.com>
516
517 * libcoff-in.h (struct coff_final_link_info): Add last_bf_index
518 and last_bf fields.
519 * libcoff.h: Rebuild.
520 * coffswap.h (coff_swap_aux_in): Swap endndx field for C_FCN
521 symbols.
522 (coff_swap_aux_out): Likewise.
523 * peicode.h (coff_swap_aux_in): Likewise.
524 (coff_swap_aux_out): Likewise.
525 * coffgen.c (coff_pointerize_aux): Check endndx field for C_FCN
526 symbols.
527 * cofflink.c (_bfd_coff_final_link): Initialize last_bf_index
528 field.
529 (_bfd_coff_link_input_bfd): Check endndx field for C_FCN symbols.
530 Fix up .bf endndx link fields.
531 * coff-ppc.c (ppc_bfd_coff_final_link): Initialize last_bf_index
532 field.
533 * xcofflink.c (xcoff_link_input_bfd): Check endndx field for C_FCN
534 symbols.
535
536 Wed Apr 17 12:08:24 1996 Michael Meissner <meissner@tiktok.cygnus.com>
537
538 * pe{,i}-ppc.c (PPC_PE): Define instead of PPC, so that compiling
539 on Solaris PowerPC systems doesn't get confused.
540
541 * ccffcode.h (coff_write_object_contents): Use #ifdef PPC_PE, not
542 #ifdef PPC.
543
544 * elfcore.h (bfd_prstatus, bfd_fpregset): Add thread argument.
545 (elf_corefile_note): If HAVE_SYS_PROCFS_H is not defined, don't
546 update did_reg and did_reg2.
547
548 Wed Apr 17 13:07:37 1996 Ian Lance Taylor <ian@cygnus.com>
549
550 * xcofflink.c (xcoff_link_input_bfd): Check for TOC overflow.
551
552 * linker.c (_bfd_generic_link_add_one_symbol): When calling the
553 callback routines, pass h->root.string rather than name, in case
554 copy is true and name is transient.
555
556 Tue Apr 16 16:36:38 1996 Stu Grossman (grossman@lisa.cygnus.com)
557
558 * elfcore.h: Add support for core files with multiple threads.
559 (Primarily for Solaris.)
560
561 Tue Apr 16 13:44:08 1996 Ian Lance Taylor <ian@cygnus.com>
562
563 * aoutx.h (NAME(aout,squirt_out_relocs)): Don't do anything if
564 section->orelocation is NULL.
565
566 * coffgen.c (bfd_coff_get_syment): New function.
567 (bfd_coff_get_auxent): New function.
568 * bfd-in.h (bfd_coff_get_syment): Declare.
569 (bfd_coff_get_auxent): Declare.
570 * bfd-in2.h: Rebuild.
571
572 Mon Apr 15 19:06:59 1996 Ian Lance Taylor <ian@cygnus.com>
573
574 * elf32-mips.c (struct mips_hi16): Define.
575 (mips_hi16_addr, mips_hi16_addend): Remove.
576 (mips_hi16_list): New static variable.
577 (mips_elf_hi16_reloc): Maintain a list of unmatched HI16 relocs.
578 (mips_elf_lo16_reloc): Process mips_hi16_list.
579 (mips_elf_relocate_section): Permit an arbitrary number of HI16
580 relocs before the associated LO16 reloc.
581
582 Wed Apr 10 00:23:53 1996 Ian Lance Taylor <ian@cygnus.com>
583
584 * versados.c (versados_scan): Check bfd_alloc return value.
585 (versados_object_p): Check all bfd_read return values. Require
586 that lang field be less than 10, to avoid confusion with Intel Hex
587 files.
588
589 * libaout.h (WRITE_HEADERS): Write out the relocs even if there
590 aren't any symbols.
591 * aoutx.h (NAME(aout,swap_std_reloc_out)): Set r_index to N_ABS,
592 not 0, for an absolute symbol.
593 (NAME(aout,swap_ext_reloc_out)): Likewise.
594
595 * ihex.c (ihex_scan): Accept a length of 4 for record type 5.
596 (ihex_write_object_contents): For a large start address, output
597 the full 32 bit address in record type 5.
598
599 * ieee.c (ieee_write_byte): Change second parameter from bfd_byte
600 to int to avoid promotion problems in prototype.
601
602 Tue Apr 9 11:44:21 1996 Ian Lance Taylor <ian@cygnus.com>
603
604 * configure.host: Use ${srcdir} when looking for picfrag.
605
606 * configure.host: Switch on ${libdir}, not $(libdir). From
607 alan@spri.levels.unisa.edu.au (Alan Modra).
608
609 * aoutx.h (aout_link_add_symbols): Always call add_dynamic_symbols
610 entry point, not just for DYNAMIC objects.
611 * sunos.c (sunos_add_dynamic_symbols): Always call
612 sunos_create_dynamic_sections. If called with a non DYNAMIC
613 object, don't do anything else.
614 (sunos_add_one_symbol): Don't call sunos_create_dynamic_sections.
615
616 Mon Apr 8 12:09:36 1996 Ian Lance Taylor <ian@cygnus.com>
617
618 * configure.in: Permit --enable-shared to specify a list of
619 directories.
620 * configure: Rebuild.
621
622 * configure.host: Set HLDFLAGS and SHLIB_CFLAGS for *-dec-osf*
623 host when configuring with --enable-shard.
624
625 Fri Apr 5 12:24:13 1996 Ian Lance Taylor <ian@cygnus.com>
626
627 * config.bfd: Add i[345]86-*-freebsdelf* target; from John Polstra
628 <jdp@polstra.com>.
629
630 * linker.c (link_action): For WARN_ROW/warn, use MWARN, not CYCLE,
631 to avoid crashing in bfd_hash_replace.
632
633 * sysdep.h: Use #ifdef, not #if.
634
635 Thu Apr 4 23:32:23 1996 Ian Lance Taylor <ian@cygnus.com>
636
637 * config.in: Rebuild.
638
639 Thu Apr 4 18:49:09 1996 Fred Fish <fnf@cygnus.com>
640
641 * configure.in (mips-sony-bsd*): Fix typo in AC_DEFINE.
642 (AC_CHECK_HEADERS): Check for sys/time.h
643 (AC_HEADER_TIME): Add macro.
644 * configure: Rebuild.
645 * sysdep.h: Use TIME_WITH_SYS_TIME and HAVE_SYS_TIME_H
646 to control what combination of <time> and <sys/time.h>
647 get included.
648
649 Tue Apr 2 13:11:53 1996 Doug Evans <dje@canuck.cygnus.com>
650
651 * aoutf1.h (sunos_32_set_arch_mach): Handle M_SPARCLET.
652 (aout_32_sunos4_write_object_contents): Likewise.
653 * aoutx.h (NAME(aout,machine_type)): Handle
654 bfd_mach_sparc_{sparclet,sparclite}.
655 * archures.c (bfd_mach_sparc_{sparclet,sparclite}): Define.
656 (bfd_mach_sparc_v9_p): Update.
657 * cpu-sparc.c (arch_info_struct): Add entries for sparclet,sparclite.
658 * libaout.h (enum machine_type): Add M_SPARCLET.
659 * sunos.c (MACHTYPE_OK): Define.
660 * bfd-in2.h: Regenerated.
661
662 Tue Apr 2 00:33:18 1996 Ian Lance Taylor <ian@cygnus.com>
663
664 * elf-bfd.h (struct elf_link_hash_table): Add hgot field.
665 * elf.c (_bfd_elf_link_hash_table_init): Initialize hgot field.
666 * elflink.c (_bfd_elf_create_got_section): Store the
667 _GLOBAL_OFFSET_TABLE_ hash table entry in the hgot field.
668 * elf32-sparc.c (elf32_sparc_check_relocs): If the size of the
669 global offset table goes over 0x1000, set the value of
670 _GLOBAL_OFFSET_TABLE_ to 0x1000 into the section.
671 (elf32_sparc_relocate_section): Subtract the offset of
672 _GLOBAL_OFFSET_TABLE_ when handling GOT relocations.
673
674 * elfcode.h: Don't include <string.h>.
675
676 Mon Apr 1 10:39:24 1996 Jeffrey A Law (law@cygnus.com)
677
678 * linker.c (_bfd_generic_link_hash_newfunc): Renamed from
679 generic_link_hash_newfunc. All references changed.
680 * genlink.h (_bfd_generic_link_hash_newfunc): Declaration
681 moved here from libbfd-in.h.
682 * libbfd-in.h: Corresponding changes.
683 * libbfd.h: Regenerated.
684
685 Mon Apr 1 12:35:36 1996 Ian Lance Taylor <ian@cygnus.com>
686
687 * aoutx.h (aout_link_input_section_std): When reporting an
688 overflow error, use the name of the symbol in the hash table if
689 available.
690 (aout_link_input_section_ext): Likewise.
691
692 * elflink.h (elf_adjust_dynamic_symbol): If a common symbol got
693 defined in a regular file, set ELF_LINK_HASH_DEF_REGULAR.
694
695 Sun Mar 31 01:58:41 1996 steve chamberlain <sac@slash.cygnus.com>
696
697 * peicode.h (coff_swap_aouthdr_out): Delete test for .junk.
698 * coffcode.h (coff_compute_section_file_positions): Likewise.
699 (coff_write_object_contents): Likewise.
700
701 Fri Mar 29 12:44:36 1996 Ian Lance Taylor <ian@cygnus.com>
702
703 * section.c (SEC_LINK_ONCE): Define.
704 (SEC_LINK_DUPLICATES): Define.
705 (SEC_LINK_DUPLICATES_DISCARD): Define.
706 (SEC_LINK_DUPLICATES_ONE_ONLY): Define.
707 (SEC_LINK_DUPLICATES_SAME_SIZE): Define.
708 (SEC_LINK_DUPLICATES_SAME_CONTENTS): Define.
709 * bfd-in2.h: Rebuild.
710 * coffcode.h (sec_to_styp_flags): If COFF_WITH_PE, turn
711 SEC_LINK_ONCE into IMAGE_SCN_LNK_COMDAT.
712 (styp_to_sec_flags): If COFF_WITH_PE, turn IMAGE_SCN_LNK_REMOVE
713 into SEC_EXCLUDE. If IMAGE_SCN_LNK_COMDAT is set, set
714 SEC_LINK_ONCE, and look through the symbol table for the setting
715 for SEC_LINK_DUPLICATES.
716 (coff_write_object_contents): If COFF_WITH_PE, if SEC_LINK_ONCE is
717 set for a section, find the section symbol in the symbol table,
718 and set the aux entry based on SEC_LINK_DUPLICATES.
719 * coffgen.c (coff_print_symbol): Add a space before "checksum".
720 * coff-arm.c (armcoff_big_vec): If COFF_WITH_PE is defined, add
721 SEC_LINK_ONCE and SEC_LINK_DUPLICATES to section_flags.
722 * coff-i386.c (i386coff_vec): Likewise.
723 * coff-ppc.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Likewise.
724
725 * VERSION: Bump to 2.6.1.
726 * Makefile.in (stamp-h): Depend upon VERSION.
727
728 Thu Mar 28 23:48:49 1996 Jeffrey A Law (law@cygnus.com)
729
730 * libbfd-in.h (generic_link_hash_newfunc): Add declaration.
731 * libbfd.h: Rebuilt.
732 * linker.c (generic_link_hash_newfunc): No longer static.
733 * coffcode.h (coff_bfd_link_hash_create): Allow specific targets
734 to override.
735 * coff-h8300.c: Add two derived hash tables and their associated
736 funtions and #defines for use by the h8300 linker.
737 (h8300_reloc16_extra_cases, case R_MEM_INDIRECT): Create entries in
738 the function vector as needed. Place the address of the function
739 vector entry in the location specified by the R_MEM_INDIRECT reloc.
740 Rewrite the vectors section contents as necessary.
741 (h8300_bfd_link_add_symbols): New function for the h8300 linker.
742 (coff_bfd_link_add_symbols): Define to use h8300 specific version.
743 (coff_bfd_link_hash_table_create): Likewise.
744
745 Thu Mar 28 17:44:08 1996 Ian Lance Taylor <ian@cygnus.com>
746
747 * libhppa.h: If gcc 2.7 or higher, declare all the functions with
748 __attribute__ ((__unused__)) so that -Wall doesn't warn about
749 them.
750 (hppa_rebuild_insn): Pass pointer to correct type to
751 low_sign_unext and dis_assemble_21.
752
753 Thu Mar 28 11:00:36 1996 Doug Evans <dje@canuck.cygnus.com>
754
755 * config.bfd (sparc64-{sysv4*,solaris2*}): Delete.
756 Stick with sparc-*-{sysv4*,solaris2*}.
757
758 Wed Mar 27 10:43:34 1996 Ian Lance Taylor <ian@cygnus.com>
759
760 * peicode.h (coff_swap_aux_in): Swap in extra PE x_scn fields.
761 (coff_swap_aux_out): Swap out extra PE x_scn fields.
762 * coffswap.h (coff_swap_aux_in): Zero out extra PE x_scn fields.
763 * coffgen.c (coff_print_symbol): If any of the extra PE x_scn
764 fields is non-zero, print them.
765
766 * coff-ppc.c (ppc_record_toc_entry): Put inside COFF_IMAGE_WITH_PE
767 ifdef. Remove unused variables.
768 (ppc_record_data_in_toc_entry): Ifdef out. Removed unused
769 variables.
770 (ppc_mark_symbol_as_glue): Put inside COFF_IMAGE_WITH_PE ifdef.
771 (get_symbol_value): Ifdef out.
772 (pe_ppc_reloc): Ifdef out. Remove unused variables.
773 (coff_ppc_relocate_section): Remove unused variables. Make
774 fprintf strings and argument types correspond. Put before_addr in
775 DEBUG_RELOC ifdef.
776 (dump_toc): Make fprintf strings and argument types correspond.
777 (ppc_process_before_allocation): Remove unused variables. Always
778 return a value.
779 (ppc_reflo_reloc): Ifdef out.
780 (ppc_addr32nb_reloc): Ifdef out.
781 (ppc_coff_rtype2howto): Make fprintf strings and argument types
782 correspond.
783 (coff_ppc_rtype_to_howto): Likewise.
784 (ppc_coff_swap_sym_in_hook): Remove unused variables.
785
786 * peicode.h (pe_print_idata): Move otherwise unused variables into
787 the #ifdef where they are used. Always return a value.
788 (pe_print_edata): Make fprintf strings and argument types
789 correspond. Always return a value.
790 (pe_print_pdata): Removed unused variable addr_value. Always
791 return a value.
792 (pe_print_reloc): Remove unused variable onaline. Make fprintf
793 strings and argument types correspond. Always return a value.
794
795 * elf32-ppc.c (ppc_elf_fake_sections): Return true.
796 (ppc_elf_finish_dynamic_symbol): Move definition of unused
797 variable rela inside #if 0 section where it is used.
798
799 * ns32k.h: New file.
800 * cpu-ns32k.h: Include ns32k.h. Rename externally visible
801 functions to start with _bfd_.
802 * aout-ns32k.c: Include ns32k.h. Change references to renamed
803 functions in cpu-ns32k.h.
804 * Makefile.in: Rebuild dependencies.
805 (HFILES): Add ns32k.h.
806
807 * section.c (struct sec): Add linker_mark field. Change
808 user_set_vma and reloc_done to be single bit fields.
809 (STD_SECTION): Update accordingly.
810 * bfd-in2.h: Rebuild.
811 * aoutx.h (NAME(aout,final_link)): Mark sections included in the
812 link.
813 (aout_link_input_bfd): Don't link unmarked sections.
814 * cofflink.c (_bfd_coff_final_link): Mark sections included in the
815 link.
816 (_bfd_coff_link_input_bfd): Don't link unmarked sections.
817 * coff-ppc.c (ppc_bfd_coff_final_link): Mark sections included in
818 the link.
819 * elflink.h (elf_bfd_final_link): Mark sections included in the
820 link.
821 (elf_link_input_bfd): Don't link unmarked sections.
822 * xcofflink.c (_bfd_xcoff_bfd_final_link): Mark sections included
823 in the link.
824 (xcoff_link_input_bfd): Don't link unmarked sections.
825
826 * coffswap.h (coff_swap_scnhdr_out): Include section name in
827 overflow error messages.
828
829 Tue Mar 26 15:46:18 1996 Ian Lance Taylor <ian@cygnus.com>
830
831 * bfd.c (_bfd_default_error_handler): If _bfd_error_program_name
832 is not set, print "BFD: " before the error message.
833
834 * configure.in: Use AC_CHECK_TOOL to find ar and ranlib. From
835 Miles Bader <miles@gnu.ai.mit.edu>.
836 * configure: Rebuild.
837
838 Fri Mar 22 12:17:00 1996 Ian Lance Taylor <ian@cygnus.com>
839
840 * xcofflink.c (xcoff_link_input_bfd): Fix scan for C_BINCL/C_EINCL
841 symbols.
842
843 * config.bfd: Add ieee_vec to targ_selvecs for i960 targets and
844 m68k-aout, m68k-coff, and m68k-elf targets.
845
846 Fri Mar 22 11:33:44 1996 Martin Anantharaman <martin@goofy.imech.uni-duisburg.de>
847
848 * ieee.c: Changed #ifdef KEEPMINUSPCININST to #if KEEPMINUSPCININST.
849 (ieee_generic_stat_arch_elt): Restructured to prevent
850 ieee_object_p from being called repeatedly.
851
852 Thu Mar 21 11:00:47 1996 steve chamberlain <sac@slash.cygnus.com>
853
854 * coffcode.h (coff_write_object_contents): Allocate
855 buffers large enough for any FILEHDR or AOUTHDR.
856
857 Thu Mar 21 16:28:17 1996 David Mosberger-Tang <davidm@azstarnet.com>
858
859 * ecofflink.c (lookup_line): New static function, renamed and
860 slighly changed from old _bfd_ecoff_locate_line.
861 (_bfd_ecoff_locate_line): Cache line number information. Use
862 lookup_line for actual lookup.
863
864 Thu Mar 21 14:59:11 1996 Michael Meissner <meissner@tiktok.cygnus.com>
865
866 * peicode.h (pe_print_pdata): Warn if the .pdata section is not a
867 multiple of 20 bytes.
868
869 Thu Mar 21 13:54:40 1996 Ian Lance Taylor <ian@cygnus.com>
870
871 * ecoff.c (_bfd_ecoff_find_nearest_line): Use bfd_zalloc to
872 allocate ecoff_find_line, and don't initialize by hand.
873 * elf32-mips.c (mips_elf_find_nearest_line): Use bfd_zalloc for
874 mips_elf_find_line, and don't call memset.
875
876 * coffcode.h (coff_compute_section_file_positions): If not
877 producing a final executable, don't consider sofar when aligning
878 the section to the correct size.
879
880 Wed Mar 20 16:53:12 1996 Ian Lance Taylor <ian@cygnus.com>
881
882 * coffcode.h (coff_add_missing_symbols): Ifdef out.
883 (coff_write_object_contents): Don't call coff_add_missing_symbols.
884 * coffgen.c (coff_section_symbol): Ifdef out.
885
886 Mon Mar 18 12:54:41 1996 Ian Lance Taylor <ian@cygnus.com>
887
888 * elf32-mips.c (mips_elf_gprel32_reloc): Initialize gp if
889 output_bfd is not NULL.
890
891 Thu Mar 14 17:12:06 1996 Doug Evans <dje@charmed.cygnus.com>
892
893 * coffgen.c (coff_get_normalized_symtab): Call bfd_zalloc instead
894 of bfd_alloc (fixes fix_line not being initialized).
895 Delete zeroing of fix_{value,tag,end,scnlen} fields.
896
897 Thu Mar 14 16:06:06 1996 Jeffrey A Law (law@cygnus.com)
898
899 * coffcode.h: Allow specific backends to override the
900 bfd_link_add_symbols routine.
901
902 * coff-h8300.c: Include genlink.h.
903 (howto_table): Add R_MEM_INDIRECT.
904 (rtype2howto): Support R_MEM_INDIRECT.
905 (h8300_reloc16_extra_cases): Handle R_MEM_INDIRECT like R_RELBYTE
906 for now.
907
908 Tue Mar 12 12:41:17 1996 David Mosberger-Tang <davidm@koala.azstarnet.com>
909
910 * coff-alpha.c (alpha_relocate_section): Use
911 info->callbacks_warning, rather than _bfd_error_handler, for
912 "multiple gp" warning.
913
914 Tue Mar 12 12:10:55 1996 Ian Lance Taylor <ian@cygnus.com>
915
916 * linker.c (bfd_wrapped_link_hash_lookup): New function.
917 (_bfd_generic_link_add_one_symbol): Remove BFD_ASSERT on hash
918 table string. Use bfd_wrapped_link_hash_lookup.
919 (_bfd_generic_link_write_global_symbol): Remove BFD_ASSERT on hash
920 table string.
921 * aoutx.h (aout_link_write_symbols): Use the name from the hash
922 table, if any, when writing out symbols.
923 (aout_link_input_section_std): Use the name from the hash table,
924 if any, when reporting undefined symbols.
925 (aout_link_input_section_ext): Likewise.
926 (aout_link_reloc_link_order): Use bfd_wrapped_link_hash_lookup.
927 * bout.c (get_value): Likewise.
928 * cofflink.c (_bfd_coff_reloc_link_order): Likewise.
929 * ecoff.c (ecoff_reloc_link_order): Likewise.
930 * elflink.h (elf_link_add_object_symbols): Likewise.
931 (elf_reloc_link_order): Likewise.
932 * linker.c (_bfd_generic_link_output_symbols): Likewise.
933 (_bfd_generic_reloc_link_order): Likewise.
934 (default_indirect_link_order): Likewise.
935 * reloc16.c (bfd_coff_reloc16_get_value): Likewise.
936 * sunos.c (sunos_add_one_symbol): Likewise.
937 * xcofflink.c (xcoff_link_add_symbols): Likewise.
938 (bfd_xcoff_link_count_reloc): Likewise.
939 (xcoff_reloc_link_order): Likewise.
940
941 * ecoffswap.h (ecoff_swap_fdr_in): If ECOFF_64, turn 0xffffffff
942 into -1 for intern->rss.
943
944 * configure: Rebuild with autoconf 2.8.
945
946 Mon Mar 11 12:28:31 1996 Ian Lance Taylor <ian@cygnus.com>
947
948 * stab-syms.c (__define_stab_duplicate): Define.
949 (bfd_get_stab_name): Rename from aout_stab_name. Rewrite to use a
950 switch.
951 * bfd-in.h (bfd_get_stab_name): Declare.
952 * bfd-in2.h: Rebuild.
953 * Makefile.in: Rebuild dependencies.
954 (BFD_LIBS): Add stab-syms.o.
955 (BFD_LIBS_CFILES): Add stab-syms.c.
956 (BFD32_BACKENDS): Remove stab-syms.o.
957 (BFD32_BACKENDS_CFILES): Remove stab-syms.c.
958 * configure.in: Don't list stab-syms.o in bfd_backends.
959 * configure: Rebuild.
960 * libaout.h (aout_stab_name): Don't declare.
961 * aoutx.h (NAME(aout,get_symbol_info)): Call bfd_get_stab_name,
962 not aout_stab_name.
963
964 Fri Mar 8 11:26:20 1996 Ian Lance Taylor <ian@cygnus.com>
965
966 * elf.c (assign_file_positions_for_segments): Adjust file offset
967 for section alignment even if SEC_LOAD is not set.
968
969 Tue Mar 5 12:02:23 1996 Ian Lance Taylor <ian@cygnus.com>
970
971 * configure.in: Don't set SHLIB or SHLINK to an empty string,
972 since they appear as targets in Makefile.in.
973 * configure: Rebuild.
974
975 * sunos.c (sunos_scan_ext_relocs): If not making a shared library,
976 don't fiddle with a symbol which is not defined anywhere.
977
978 Mon Mar 4 12:49:16 1996 Ian Lance Taylor <ian@cygnus.com>
979
980 * xcofflink.c (xcoff_mark): Treat undefined imported symbols as
981 though they are defined in a shared library.
982 (xcoff_build_ldsyms): Likewise.
983
984 * coffgen.c (coff_find_nearest_line): Don't look at the line
985 numbers for the section if section->lineno is NULL.
986
987 * elf.c (_bfd_elf_symbol_from_bfd_symbol): Print a useful error
988 message rather than calling BFD_ASSERT.
989 * elfcode.h (write_relocs): Check return value of
990 _bfd_elf_symbol_from_bfd_symbol.
991
992 Fri Mar 1 09:42:59 1996 Michael Meissner <meissner@tiktok.cygnus.com>
993
994 * elf32-ppc.c (ppc_elf_add_symbol_hook): Don't set SEC_LOAD flag
995 for .sbss section.
996
997 Wed Feb 28 11:25:47 1996 Jeffrey A Law (law@cygnus.com)
998
999 * libhppa.h (hppa_reloc_field_selector_type): Add R_HPPA_NLSEL
1000 and R_HPPA_NLRSEL.
1001 (e_nsel, e_nlsel, e_nlrsel): Undefine. Add to
1002 hppa_reloc_field_selector_type_alt.
1003 (hppa_field_adjust): Handle e_nlsel, e_nlrsel. Fix e_nsel handling.
1004 * som.c (hppa_som_gen_reloc_type): Handle N', NL' NLR' field
1005 selectors.
1006 (som_write_fixups): Finish handling of R_N0SEL and R_N1SEL.
1007
1008 Wed Feb 28 11:00:24 1996 Ian Lance Taylor <ian@cygnus.com>
1009
1010 * elf.c (assign_file_positions_for_segments): Adjust the segment
1011 memory size for the alignment of a SEC_ALLOC section, not just a
1012 SEC_LOAD section.
1013
1014 Tue Feb 27 14:17:31 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1015
1016 * m68klinux.c: New file.
1017 * hosts/m68klinux.h: New file.
1018 * config.bfd (m68*-*-linuxaout*, m68*-*-linux*): New targets.
1019 * configure.in (m68*-*-linux*): New native host.
1020 (m68klinux_vec): New vector.
1021 * configure: Rebuild.
1022 * targets.c (m68klinux_vec): Declare.
1023 * i386linux.c (bfd_i386linux_size_dynamic_sections): Renamed from
1024 bfd_linux_size_dynmic_sections to avoid clash with m68klinux.c.
1025 * bfd-in.h (bfd_i386linux_size_dynamic_sections): Rename
1026 declaration from bfd_linux_size_dynamic_sections.
1027 (bfd_m68klinux_size_dynamic_sections): Declare.
1028 * bfd-in2.h: Rebuild.
1029 * Makefile.in: Rebuild dependencies.
1030 (BFD32_BACKENDS): Add m68klinux.o.
1031 (BFD32_BACKENDS_CFILES): Add m68klinux.c.
1032
1033 Tue Feb 27 11:31:34 1996 Jeffrey A Law (law@cygnus.com)
1034
1035 * libhppa.h (pa_arch): Add pa20.
1036 (hppa_reloc_field_selector_type): Add R_HPPA_NSEL.
1037 (e_nsel): Undefine. Add to hppa_reloc_field_selector_type_alt.
1038 (hppa_field_adjust): Handle e_nsel.
1039 * som.c: Provide default definitions for many new relocs found only
1040 in hpux10 include files.
1041 (som_fixup_formats): Add several new relocs from hpux10.
1042 (som_hppa_howto_table): Add hpux10 relocs.
1043 (som_write_fixups): Handle R_N0SEL and R_N1SEL hpux10 relocs.
1044
1045 Mon Feb 26 12:52:48 1996 Stan Shebs <shebs@andros.cygnus.com>
1046
1047 * mpw-make.sed: Edit out recent shared library support, and
1048 rules to rebuild .h files using doc/chew.
1049
1050 Mon Feb 26 14:48:39 1996 David Mosberger-Tang <davidm@AZStarNet.com>
1051
1052 * ecoff.c (ecoff_compute_section_file_positions): Adjust the file
1053 size even of sections with no contents.
1054
1055 Mon Feb 26 14:01:13 1996 Ian Lance Taylor <ian@cygnus.com>
1056
1057 * cofflink.c (_bfd_coff_link_input_bfd): When merging, skip names
1058 starting with '$' the way we skip names starting with '.'. When
1059 updating x_endndx, don't be fooled by an index which has been
1060 merged.
1061
1062 * cofflink.c (_bfd_coff_link_input_bfd): Don't try to optimize a
1063 struct/union/enum type with no elements.
1064
1065 Sat Feb 24 11:38:58 1996 Ian Lance Taylor <ian@cygnus.com>
1066
1067 * bfd.c (bfd_errmsg): Handle a NULL return from strerror.
1068
1069 * archive.c (bfd_generic_archive_p): If the first file in the
1070 archive can not be recognized as an object, don't assume that this
1071 is the wrong format.
1072
1073 * elf.c (bfd_elf_set_dt_needed_name): Don't do anything if the
1074 format is not bfd_object.
1075 (bfd_elf_get_dt_soname): Likewise.
1076
1077 Wed Feb 21 13:58:04 1996 Ian Lance Taylor <ian@cygnus.com>
1078
1079 * coff-sh.c (sh_relax_delete_bytes): Correct range of R_SH_USES
1080 reloc.
1081
1082 Tue Feb 20 16:22:44 1996 J.T. Conklin <jtc@rtl.cygnus.com>
1083
1084 * bfd.c (tdata): Add netbsd_core_data.
1085 * bfd-in2.h: Regenerated.
1086
1087 Tue Feb 20 16:50:02 1996 Ian Lance Taylor <ian@cygnus.com>
1088
1089 * sunos.c (SUNOS_CONSTRUCTOR): Define.
1090 (sunos_add_one_symbol): Don't let a symbol from a dynamic object
1091 override a constructor symbol. Set SUNOS_CONSTRUCTOR when
1092 appropriate.
1093
1094 * bout.c (b_out_squirt_out_relocs): Use udata.i rather than flags
1095 to get the symbol index, matching 14 Jul 95 change.
1096
1097 Tue Feb 20 08:26:27 1996 Fred Fish <fnf@phydeaux.cygnus.com>
1098
1099 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
1100 Remove duplicate definition of gp.
1101
1102 Mon Feb 19 12:37:41 1996 Ian Lance Taylor <ian@cygnus.com>
1103
1104 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Don't
1105 assume that we can set the GP value and then get the same value,
1106 since it won't be true if the output file is neither ELF nor
1107 ECOFF.
1108 * coff-mips.c (mips_adjust_reloc_in): Don't bother to use
1109 _bfd_get_gp_value here.
1110 (mips_gprel_reloc): Don't assume we can set and get the GP value.
1111 * elf32-mips.c (mips_elf_hi16_reloc): Get gp value from
1112 mips_elf_final_gp.
1113 (mips_elf_lo16_reloc): Likewise.
1114 (mips_elf_final_gp): Add pgp parameter. Set it to the GP value.
1115 Don't require that the BFD be ELF.
1116 (mips_elf_gprel16_reloc): Get gp value from mips_elf_final_gp.
1117 (mips_elf_gprel32_reloc): Likewise.
1118 (mips_elf_relocate_section): Don't assume we can set and get the
1119 GP value.
1120 (mips_elf_finish_dynamic_symbol): Don't bother to use
1121 _bfd_get_gp_value here.
1122
1123 * elf32-mips.c (mips_elf_create_procedure_table): Initialize sv.
1124 Don't change epdr between malloc and free. Be careful not to free
1125 NULL pointers. Zero out the first RPDR.
1126
1127 * configure.host: On Linux, only pass -rpath option if $(libdir)
1128 is neither /lib nor /usr/lib. From Alan Modra
1129 <alan@mullet.Levels.UniSA.Edu.Au>.
1130
1131 * elf-bfd.h (struct elf_obj_tdata): Rename dt_needed_name to
1132 dt_name.
1133 (elf_dt_name): Rename from elf_dt_needed_name.
1134 * elf.c (bfd_elf_set_dt_needed_name): Use elf_dt_name, not
1135 elf_dt_needed_name.
1136 (bfd_elf_get_dt_soname): New function.
1137 * elflink.h (elf_link_add_object_symbols): Use elf_dt_name, not
1138 elf_dt_needed_name. Save the SONAME back in elf_dt_name.
1139 * bfd-in.h (bfd_elf_get_dt_soname): Declare.
1140 * bfd-in2.h: Rebuild.
1141
1142 Mon Feb 19 02:50:23 1996 Doug Evans <dje@charmed.cygnus.com>
1143
1144 * elf32-sparc.c (elf32_sparc_reloc_type_lookup): Renamed from
1145 _bfd_sparc_elf_reloc_type_lookup.
1146 (bfd_elf32_bfd_reloc_type_lookup): Update.
1147 * elf64-sparc.c (SPARC64_OLD_RELOCS): Define.
1148 (sparc64_elf_howto_table): Define.
1149 (sparc_reloc_map): Define.
1150 (sparc64_elf_reloc_type_lookup): New function.
1151 (sparc_elf_wdisp16_reloc): New function.
1152 (elf_info_to_howto): Use sparc64_elf_howto_table.
1153 (sparc64_elf_relocate_section): Likewise.
1154 (bfd_elf64_bfd_reloc_type_lookup): Update.
1155
1156 Sun Feb 18 15:02:25 1996 Ian Lance Taylor <ian@cygnus.com>
1157
1158 * configure.host: Check for 'do not mix' from native linker before
1159 trying to use -rpath.
1160
1161 Fri Feb 16 12:46:18 1996 Ian Lance Taylor <ian@cygnus.com>
1162
1163 * bfd.c (_bfd_get_gp_value): New function.
1164 (_bfd_set_gp_value): New function.
1165 * libbfd-in.h (_bfd_get_gp_value): Declare.
1166 (_bfd_set_gp_value): Declare.
1167 * libbfd.h: Rebuild.
1168 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Use
1169 _bfd_get_gp_value and _bfd_set_gp_value rather than referring
1170 directly to the fields in the tdata information.
1171 (alpha_relocate_section): Likewise.
1172 * coff-mips.c (mips_adjust_reloc_in): Likewise.
1173 (mips_gprel_reloc): Likewise.
1174 (mips_relocate_section): Likewise.
1175 * elf32-mips.c (mips_elf_hi16_reloc): Likewise.
1176 (mips_elf_lo16_reloc): Likewise.
1177 (mips_elf_final_gp): Likewise.
1178 (mips_elf_gprel16_reloc): Likewise.
1179 (mips_elf_gprel32_reloc): Likewise.
1180 (mips_elf_relocate_section): Likewise.
1181 (mips_elf_finish_dynamic_symbol): Likewise.
1182
1183 * bout.c (b_out_set_arch_mach): Recognize bfd_mach_i960_jx.
1184
1185 Thu Feb 15 11:29:13 1996 Ian Lance Taylor <ian@cygnus.com>
1186
1187 * configure.in: Call AC_PROG_CC before configure.host.
1188 * configure: Rebuild.
1189 * configure.host: Don't set information which autoconf should
1190 figure out, namely CC, CFLAGS, LDFLAGS, AR, and RANLIB.
1191
1192 * configure.host: Remove go32 and win32 host information, since it
1193 should no longer be needed.
1194
1195 * elf.c (map_sections_to_segments): If we have a .dynamic section,
1196 then start a new segment rather than put a writable section in a
1197 readonly segment.
1198
1199 * configure.host: Set RPATH_ENVVAR.
1200
1201 * Makefile.in: Rebuild dependencies.
1202
1203 * elflink.c (_bfd_elf_create_linker_section): Remove unused
1204 zero_section variable.
1205
1206 Thu Feb 15 10:39:17 1996 H.J. Lu <hjl@zoom.com>
1207
1208 * Makefile.in ($(srcdir)/bfd-in2.h): Rename target from bfd-in2.h.
1209 ($(srcdir)/libbfd.h): Rename from libbfd.h.
1210 ($(srcdir)/libcoff.h): Rename from libcoff.h.
1211
1212 Wed Feb 14 16:29:07 1996 Martin Anantharaman <martin@mail.imech.uni-duisburg.de>
1213
1214 * ieee.c (ieee_write_expression): Only use an R variable for a
1215 local symbol. Don't output a zero offset. Handle a zero address.
1216 (SRC_MASK, PCREL_OFFSET): Define based on KEEPMINUSPCININST.
1217 (rel32_howto, rel16_howto, rel8_howto): Use SRC_MASK and
1218 PCREL_OFFSET.
1219 (parse_expression): Don't try to handle multiple occurrences of a
1220 P variable. Handle I variables differently from X variables. Fix
1221 the order of minus expressions.
1222 (ieee_slurp_external_symbols): Generate an I variable for an NN
1223 record. Fix handling of ATI and ATX records.
1224 (ieee_slurp_sections): Only set minimal section attributes.
1225 Adjust them later, based on the section contents.
1226 (ieee_object_p): Read in the file until just after the ME record.
1227 Call ieee_slurp_section_data to set the section flags.
1228 (do_one): Add iterations parameter. Only repeat the first load
1229 item. Set the section and file reloc flags.
1230 (ieee_slurp_section_data): Set section flags. Pass iterations to
1231 do_one.
1232 (ieee_canonicalize_reloc): Handle I variables.
1233 (do_with_relocs): Only emit relocation size when necessary.
1234 Increase MAXRUN to 127. Change ov to be assigned, and take
1235 src_mask and pcrel_offset into account.
1236 (ieee_write_data_part): Skip sections that are not loaded.
1237 (ieee_write_external_part): Don't output optional last entry of WX
1238 records.
1239 (ieee_write_me_part): Make setting of me_record neater.
1240 (ieee_generic_stat_arch_elt): Get the size of an archive element.
1241
1242 * syms.c (stt): Add entries for zerovars, vars, and code.
1243
1244 * elfcode.h (validate_reloc): New static function.
1245 (write_relocs): Call validate_reloc for non ELF relocs.
1246
1247 * elfxx-target.h (elf_symbol_leading_char): Define if not defined.
1248 (TARGET_BIG_SYM): Use elf_symbol_leading_char.
1249 (TARGET_LITTLE_SYM): Likewise.
1250
1251 * config.bfd (m68*-*-psos*): New target.
1252
1253 Tue Feb 13 15:56:22 1996 Bryan Ford <baford@snake.cs.utah.edu>
1254
1255 * i386msdos.c: Remove some #if 0 code.
1256 (msdos_write_object_contents): Don't include empty sections in the
1257 size computation, regardless of their address.
1258
1259 Tue Feb 13 15:36:37 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1260
1261 * elf32-ppc.c (ppc_elf_relocate_section): Don't segfault if dynboj
1262 is NULL, ie, the -r switch is used.
1263
1264 Tue Feb 13 14:35:15 1996 Ian Lance Taylor <ian@cygnus.com>
1265
1266 * reloc.c (BFD_RELOC_MIPS_GOT_HI16): Define.
1267 (BFD_RELOC_MIPS_GOT_LO16): Define.
1268 (BFD_RELOC_MIPS_CALL_HI16, BFD_RELOC_MIPS_CALL_LO16): Define.
1269 * bfd-in2.h, libbfd.h: Rebuild.
1270 * elf32-mips.c (mips_reloc_map): Map new relocs.
1271
1272 * configure.host: Set HDLFLAGS for *-*-hpux with --enable-shared.
1273
1274 * Makefile.in ($(SHLINK)): Check ts against $(SHLIB), not
1275 $(SHLINK).
1276
1277 * ieee.c (get_symbol): Set the section to bfd_abs_section.
1278 (do_with_relocs): If EXEC_P is set and there are no relocs, use a
1279 simple number for the section address, rather than an expression.
1280 Limit the number of bytes between relocs to MAXRUN.
1281 (ieee_write_me_part): Set me_record to the file offset after the
1282 start address.
1283 (ieee_write_processor): New static function.
1284 (ieee_write_object_contents): Use ieee_write_processor.
1285
1286 Fri Feb 9 10:53:00 1996 Ian Lance Taylor <ian@cygnus.com>
1287
1288 * configure.host: Use ${CC-gcc} when testing for -rpath on SunOS.
1289
1290 * coff-aux.c: Change include of aux.h to aux-coff.h.
1291
1292 Thu Feb 8 14:01:03 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1293
1294 * elf32-m68k.c (elf_m68k_relocate_section): For a R_68K_RELATIVE
1295 relocation put the addend both in the reloc entry and the data.
1296 (elf_m68k_finish_dynamic_symbol): Likewise. Mask out marker in
1297 GOT offset value.
1298
1299 * elf32-m68k.c (elf_m68k_relocate_section): If -Bsymbolic, resolve
1300 a R_68K_PCxx reloc against a defined global symbol directly.
1301 (elf_m68k_check_relocs): Don't count such a reloc.
1302
1303 * elf32-m68k.c (elf_m68k_check_relocs): Don't record a symbol with
1304 a PLTxx reloc as dynamic. Disallow PLTxxO reloc against a local
1305 symbol for now, otherwise always record the symbol as dynamic.
1306 (elf_m68k_adjust_dynamic_symbol): If a symbol with a PLTxx reloc
1307 is not referenced by a dynamic object, and we are not making a
1308 shared object, then don't make a PLT entry. If we do make a PLT
1309 entry, make sure the symbol has been recorded as dynamic.
1310
1311 Wed Feb 7 13:56:06 1996 Ian Lance Taylor <ian@cygnus.com>
1312
1313 * configure.host: When making a shared library, set HLDFLAGS to
1314 pass an appropriate -rpath option. Use the make variable SONAME
1315 as the shared library soname, rather than computing it here. On
1316 SunOS, build stamp-tshlink in place of $(SHLINK).
1317 * Makefile.in (SONAME): New variable.
1318 ($(SHLINK)): Make a link to the transformed name, as well.
1319 (stamp-tshlink): New target.
1320 (install): Skip stamp-tshlink during install.
1321
1322 Wed Feb 7 13:37:39 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1323
1324 * elf32-ppc.c (ppc_elf_add_symbol_hook): Do not assume that the
1325 linker sections have been set up yet.
1326
1327 * elf.c (make_mapping): Add an additional argument to suppress
1328 making the first section include the program headers.
1329 (map_sections_to_segments): If the user used -Ttext such that the
1330 program headers are on a different page, do not set the flags
1331 saying that this section includes the program headers.
1332
1333 Tue Feb 6 14:04:49 1996 J.T. Conklin <jtc@rtl.cygnus.com>
1334
1335 * configure.in (*-*-netbsd*): Set COREFILE to netbsd-core.c.
1336 don't define TRAD_HEADER.
1337 * configure: Rebuild.
1338
1339 * netbsd-core.c: New file, support for NetBSD core files.
1340 * hosts/*nbsd.h: Removed.
1341
1342 Tue Feb 6 11:47:49 1996 Doug Evans <dje@charmed.cygnus.com>
1343
1344 * reloc.c (BFD_RELOC_SPARC_[567]): New reloc types.
1345 (BFD_RELOC_SPARC_LO7 reloc type): Deleted.
1346 * libbfd.h, bfd-in2.h: Regenerated.
1347 * elf32-sparc.c (_bfd_sparc_elf_reloc_type_lookup): Renamed from
1348 bfd_elf32_bfd_reloc_type_lookup.
1349 (reloc_type{,_names}): Deleted.
1350 (_bfd_sparc_elf_howto_table): Renamed from elf_sparc_howto_table.
1351 Add sparc64 relocs.
1352 (sparc_reloc_map): Add sparc64 relocs.
1353 (sparc_elf_notsupported_reloc): New static function.
1354 (sparc_elf_wdisp16_reloc): New static function.
1355 (elf32_sparc_check_relocs): Handle R_SPARC_WDISP{16,19}.
1356 (elf32_sparc_relocate_section): Likewise.
1357 (bfd_elf32_bfd_reloc_type_lookup): Define.
1358 * elf64-sparc.c (sparc64_elf_wdisp16_reloc): Deleted.
1359 (reloc_type{,_names}): Deleted.
1360 (elf_sparc_howto_table): Deleted.
1361 (sparc_reloc_map): Deleted.
1362 (_bfd_sparc_elf_howto_table): Renamed from elf_sparc_howto_table.
1363 (bfd_elf64_bfd_reloc_type_lookup): Change from function to #define.
1364
1365 Tue Feb 6 12:12:22 1996 Ian Lance Taylor <ian@cygnus.com>
1366
1367 * configure.host: Make SHLIB_CFLAGS include $(PICFLAG) on a
1368 *-*-hpux* host.
1369
1370 * Makefile.in (program_transform_name): New variable.
1371 (install): Transform library name before installing it.
1372
1373 Mon Feb 5 10:38:27 1996 Ian Lance Taylor <ian@cygnus.com>
1374
1375 * archures.c (bfd_mach_i960_hx): Define.
1376 * bfd-in2.h: Rebuild.
1377 * cpu-i960.c (scan_960_mach): Accept machine "hx".
1378 (MATRIX): Expand entries for HX.
1379 (arch_info_struct): Add i960:hx entry.
1380 * bout.c (b_out_set_arch_mach): Handle bfd_mach_i960_hx.
1381 * coffcode.h (coff_set_arch_mach_hook): Handle F_I960HX.
1382 (coff_set_flags): Handle bfd_mach_i960_hx.
1383
1384 Support for building as a shared library, based on patches from
1385 Alan Modra <alan@spri.levels.unisa.edu.au>:
1386 * configure.in: Add AC_ARG_ENABLE for shared and commonbfdlib.
1387 New substitutions: ALLLIBS, PICFLAG, SHLIB, SHLIB_CC,
1388 SHLIB_CFLAGS, COMMON_SHLIB, PICLIST, SHLINK.
1389 * configure: Rebuild.
1390 * configure.host: If --enable-shared, adjust shared library stuff
1391 based on the host. If the host is SunOS, and the linker supports
1392 -rpath, set HLDFLAGS to use it.
1393 * Makefile.in (ALLLIBS): New variable.
1394 (PICFLAG, SHLIB, SHLIB_CC, SHLIB_CFLAGS): New variables.
1395 (COMMON_SHLIB, SHLINK): New variables.
1396 (.c.o): If PICFLAG is set, compile twice, once PIC, once normal.
1397 (STAGESTUFF): Remove variable.
1398 (all): Depend upon $(ALLLIBS) and @PICLIST@ rather than
1399 $(TARGETLIB).
1400 (stamp-ofiles): New target, like old ofiles target, but build
1401 using a temporary file and move-if-change, and touch stamp-ofiles
1402 when done.
1403 (ofiles): Just depend upon stamp-ofiles.
1404 (stamp-piclist, piclist): New targets.
1405 ($(SHLIB), $(SHLINK)): New targets.
1406 (targets.o, archures.o): Build twice if PICFLAG is set.
1407 (do_mostlyclean): Remove pic/*.o.
1408 (do_clean): Remove stamp-ofiles, $(SHLIB), $(SHLINK), piclist, and
1409 stamp-piclist.
1410 (do_distclean): Remove pic and stamp-picdir.
1411 (install): Install shared libraries.
1412 ($(OFILES)): Depend upon stamp-picdir.
1413 (stamp-picdir): New target.
1414
1415 * libcoff-in.h: Add comment reminding people that libcoff.h is a
1416 generated file.
1417 * libcoff.h: Rebuild.
1418
1419 * elflink.h (elf_adjust_dynamic_symbol): Don't try to get the
1420 flavour of a section with no owner.
1421
1422 * elf32-mips.c (mips_elf_create_dynamic_sections): Clear
1423 ELF_LINK_NON_ELF flag.
1424 (mips_elf_create_got_section): Likewise.
1425
1426 * elf.c: Revert last change, since it breaks dynamic linking.
1427 * elf-bfd.h (struct elf_backend_data): Remove want_hdr_in_seg
1428 field.
1429 * elf32-mips.c (elf_backend_want_hdr_in_seg): Don't define.
1430 * elfxx-target.h (elf_backend_want_hdr_in_seg): Don't define.
1431 (elfNN_bed): Don't initialize want_hdr_in_seg field.
1432
1433 Sun Feb 4 20:45:13 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1434
1435 * elf.c (assign_file_positions_for_segments): If the backend does
1436 not want the elf header or the program headers in the address
1437 space, do not include them in the calculations.
1438
1439 * elf32-ppc.c (ppc_elf_additional_program_headers): New hook
1440 function to determine if we need additional program headers.
1441 (ppc_elf_modify_segment_map): Define as a NOP function for now.
1442 (ppc_elf_create_linker_section): .sdata2 is a read-only section.
1443
1444 Sat Feb 3 23:00:03 1996 Ian Lance Taylor <ian@cygnus.com>
1445
1446 * coffcode.h: Move today's libcoff.h change into coffcode.h.
1447
1448 Sat Feb 3 15:43:44 1996 Fred Fish <fnf@cygnus.com>
1449
1450 * libcoff.h (bfd_coff_link_add_one_symbol): Combine macro args
1451 back into one line. Some compilers (sunos 4.1.3 for example)
1452 won't accept args split across more than one line.
1453
1454 Fri Feb 2 11:42:15 1996 Steve Chamberlain <sac@slash.cygnus.com>
1455
1456 * aclocal.m4 (BFD_BINARY_FOPEN): Understand cygwin32.
1457 * configure: Regenerate.
1458
1459 Fri Feb 2 12:12:16 1996 Jeffrey A Law (law@cygnus.com)
1460
1461 * elf32-hppa.c (elf32_hppa_backend_symbol_table_processing): Don't
1462 try to do arithmetic on a void *, cast it to a unsigned char * first.
1463
1464 Thu Feb 1 16:04:06 1996 Ian Lance Taylor <ian@cygnus.com>
1465
1466 * elf-bfd.h (ELF_LINK_NON_ELF): Define.
1467 * elf.c (_bfd_elf_link_hash_newfunc): Set elf_link_hash_flags to
1468 ELF_LINK_NON_ELF.
1469 * elflink.h (elf_link_add_object_symbols): Reset ELF_LINK_NON_ELF
1470 flag for a newly defined symbol.
1471 (NAME(bfd_elf,record_link_assignment)): Likewise.
1472 (elf_adjust_dynamic_symbol): If ELF_LINK_NON_ELF is set, try to
1473 set the DEF or REF_REGULAR flags correctly.
1474
1475 * Makefile.in (bfd-in2.h): Make bfd.h, not protos, in docdir.
1476 (libbfd.h, libcoff.h): Corresponding change.
1477
1478 * elf32-i386.c (elf_i386_check_relocs): Don't record a symbol with
1479 a PLT32 reloc as dynamic.
1480 (elf_i386_adjust_dynamic_symbol): If a symbol with a PLT32 reloc
1481 is not referenced by a dynamic object, and we are not making a
1482 shared object, then don't make a PLT entry. If we do make a PLT
1483 entry, make sure the symbol has been recorded as dynamic.
1484
1485 Wed Jan 31 17:23:32 1996 Steve Chamberlain <sac@slash.cygnus.com>
1486
1487 * coff-i386.c (coff_i386_reloc_type_lookup): Add BFD_RELOC_32_PCREL.
1488 * config.bfd (i[345]86-*-win32): Becomes i[345]86-*-cygwin32.
1489 (powerpcle-*-cygwin32): New.
1490 * peicode.h (add_data_entry): Get address from vma.
1491
1492 Wed Jan 31 16:23:57 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1493
1494 * elflink.c (_bfd_elf_create_linker_section): If the symbol
1495 attached to the section has already been created as an undefined
1496 symbol, treat it as if it hasn't been created yet.
1497
1498 Wed Jan 31 16:16:53 1996 Ian Lance Taylor <ian@cygnus.com>
1499
1500 * elflink.h (elf_bfd_final_link): Don't output initial dummy
1501 symbol or section symbols if stripping all symbols and this is not
1502 a relocateable link. Don't output the symbol string table if
1503 there are no symbols.
1504 (elf_link_flush_output_syms): Don't do anything if there are no
1505 symbols to flush.
1506
1507 Wed Jan 31 12:55:49 1996 Richard Henderson <rth@tamu.edu>
1508
1509 * coff-aux.c: New file.
1510 * hosts/m68kaux.h: New file.
1511 * config.bfd (m68*-apple-aux*): New target.
1512 * configure.in (m68*-apple-aux*): New native host.
1513 (m68kaux_coff_vec): New vector.
1514 * configure: Rebuild.
1515 * targets.c (m68kaux_coff_vec): Declare.
1516 * coffcode.h (bfd_coff_backend_data): Add field
1517 _bfd_coff_link_add_one_symbol.
1518 (bfd_coff_link_add_one_symbol): Define.
1519 (compare_arelent_ptr): New static function if TARG_AUX.
1520 (coff_write_relocs): If TARG_AUX, sort the relocs.
1521 (coff_write_object_contents): Set A/UX aouthdr magic number.
1522 (coff_link_add_one_symbol): Define if not defined.
1523 (bfd_coff_std_swap_table): Initialize new field.
1524 * libcoff.h: Rebuild.
1525 * cofflink.c (coff_link_add_symbols): Call
1526 bfd_coff_link_add_one_symbol rather than
1527 _bfd_generic_link_add_one_symbol.
1528 * coff-m68k.c (COFF_PAGE_SIZE): Don't define if already defined.
1529 * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
1530 * coff-mips.c (mips_ecoff_backend_data): Likewise.
1531 * Makefile.in: Rebuild dependencies.
1532 (BFD32_BACKENDS): Add coff-aux.o.
1533 (BFD32_BACKENDS_CFILES): Add coff-aux.c.
1534
1535 Wed Jan 31 11:37:46 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1536
1537 * elf32-m68k.c (elf_m68k_relocate_section): Fix R_68K_GOT*
1538 relocation; ignore addend with R_68K_{GOT,PLT}*O relocation.
1539
1540 Tue Jan 30 12:09:04 1996 Ian Lance Taylor <ian@cygnus.com>
1541
1542 * Makefile.in (do_maintainer_clean): Remove $(srcdir)/bfd-in2.h,
1543 $(srcdir)/libbfd.h and $(srcdir)/libcoff.h.
1544 (maintainer-clean): Warn about deleting special files.
1545 (bfd-in2.h, libbfd.h, libcoff.h): New targets.
1546
1547 * elf32-hppa.c (elf32_hppa_relocate_section): Handle indirect and
1548 warning symbols correctly.
1549 * elf32-i386.c (elf_i386_relocate_section): Likewise.
1550 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
1551 * elf32-mips.c (mips_elf_relocate_section): Likewise.
1552 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
1553 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
1554 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
1555
1556 * syms.c (_bfd_stab_section_find_nearest_line): Add casts to avoid
1557 warnings.
1558
1559 Mon Jan 29 14:27:24 1996 Kim Knuttila <krk@cygnus.com>
1560
1561 * libcoff-in.h: aligned newly exported names with bfd naming
1562 conventions. Removed an erroneous define of POWERPC_LE_PE.
1563 * libcoff.h: Rebuild.
1564 * cofflink.c, coff-ppc.c: the above function name changes
1565
1566 Mon Jan 29 13:06:28 1996 Ian Lance Taylor <ian@cygnus.com>
1567
1568 From Basim Kadhim <kadhim@spock.cs.colorado.edu>:
1569 * ecoff.c (struct extsym_info): Define.
1570 (_bfd_ecoff_bfd_final_link): Pass a pointer to struct extsym_info
1571 to ecoff_link_write_external.
1572 (ecoff_link_write_external): Accept a struct extsym_info pointer.
1573 Strip symbols when appropriate.
1574
1575 Based on patches from Ronald F. Guilmette <rfg@monkeys.com>:
1576 * syms.c (BSF_OBJECT): Define.
1577 (bfd_print_symbol_vandf): Print 'O' for BSF_OBJECT.
1578 * bfd-in2.h: Rebuild.
1579 * elfcode.h (elf_slurp_symbol_table): Set BSF_OBJECT for an
1580 STT_OBJECT symbol.
1581 * elf.c (swap_out_syms): Only set type to STT_OBJECT if BSF_OBJECT
1582 is set.
1583
1584 * elf32-i386.c (elf_i386_relocate_section): If -Bsymbolic, when
1585 copying relocs into a shared object, treat a defined global symbol
1586 as a local symbol.
1587 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
1588 * elf32-mips.c (mips_elf_relocate_section): Likewise.
1589 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
1590
1591 * elflink.h (elf_link_add_object_symbols): Only set weakdef to a
1592 real defined symbol, not to a weak defined symbol.
1593
1594 Mon Jan 29 11:34:36 1996 Kim Knuttila <krk@cygnus.com>
1595
1596 * cofflink.c: removed the POWERPC_LE_PE hack, promoted some types
1597 and made a few static functions externs.
1598
1599 * coff-ppc.c (ppc_bfd_coff_final_link): new function, replaces the
1600 POWERPC_LE_PE hack in cofflink.
1601
1602 * libcoff-in.h: promoted the following from cofflink.c to allow
1603 _bfd_coff_final_link to be overridden - STRING_SIZE_SIZE,
1604 coff_debug_merge_element, struct coff_debug_merge_type,
1605 coff_debug_merge_hash_entry, coff_debug_merge_hash_table,
1606 coff_debug_merge_hash_table_init, coff_debug_merge_hash_table_free,
1607 coff_debug_merge_hash_lookup, coff_link_section_info,
1608 coff_final_link_info, coff_debug_merge_hash_newfunc,
1609 coff_write_global_sym, coff_link_input_bfd, coff_reloc_link_order.
1610
1611 * libcoff.h: re-gen'd
1612
1613 Fri Jan 26 18:33:35 1996 Ian Lance Taylor <ian@cygnus.com>
1614
1615 * syms.c: Include "bfdlink.h".
1616 (struct stab_find_info): Define.
1617 (_bfd_stab_section_find_nearest_line): New function.
1618 * libbfd-in.h (_bfd_stab_section_find_nearest_line): Declare.
1619 * libbfd.h: Rebuild.
1620 * elf-bfd.h (struct elf_obj_tdata): Add line_info field.
1621 * elf.c (_bfd_elf_find_nearest_line): Try calling
1622 _bfd_stab_section_find_nearest_line before searching the ELF
1623 symbol table. Find the closest STT_FUNC symbol, not the last one.
1624 * libcoff-in.h (coff_data_type): Add line_info field.
1625 * libcoff.h: Rebuild.
1626 * coffgen.c (coff_find_nearest_line): Try calling
1627 _bfd_stab_section_find_nearest_line before searching the COFF
1628 symbol table.
1629 * Makefile.in: Rebuild dependencies.
1630
1631 Fri Jan 26 16:11:19 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1632
1633 * elf32-ppc.c (R_PPC_EMB_SDA21 relocations): Make relocation size
1634 4 bytes, so we get the correct value when updating the register
1635 field in little endian mode.
1636
1637 Thu Jan 25 12:14:16 1996 Ian Lance Taylor <ian@cygnus.com>
1638
1639 * libcoff-in.h (struct xcoff_tdata): Remove toc_section and
1640 entry_section fields. Add sntoc and snentry fields.
1641 * libcoff.h: Rebuild.
1642 * coffcode.h (coff_mkobject_hook): Initialize sntoc and snentry,
1643 not toc_section and entry_section (the COFF file does not have any
1644 sections at this point).
1645 (coff_write_object_contents): Set o_snentry and o_sntoc from
1646 snentry and sntoc rather than entry_section and toc_section.
1647 * coff-rs6000.c (xcoff_copy_private_bfd_data): Copy sntoc and
1648 snentry, not toc_section and entry_section.
1649 * xcofflink.c (bfd_xcoff_size_dynamic_sections): Don't set
1650 entry_section from hentry.
1651 (xcoff_link_input_bfd): If a defined symbol has XCOFF_ENTRY set,
1652 set snenty.
1653 (xcoff_link_input_bfd): Set sntoc, not toc_section.
1654 (xcoff_write_global_symbol): Get toc_section from sntoc, rather
1655 than using toc_section directly.
1656
1657 * archures.c: Add missing `.' in enum bfd_architecture.
1658 * bfd-in2.h: Rebuild.
1659
1660 * config.bfd (i[345]86-*-sco*elf*): Use bfd_elf32_i386_vec. From
1661 Robert Lipe <robertl@arnet.com>.
1662
1663 Thu Jan 25 12:08:51 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1664
1665 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Add .rela.sdata{,2}
1666 to sections we allocate. Use bfd_zalloc to allocate initialial
1667 sections, not bfd_alloc.
1668 (ppc_elf_check_relocs): Remove BFD_ASSERTs for !shared from
1669 SDA{,2}I16 relocations.
1670 (ppc_elf_add_symbol_hook): Use the value of -G nn to determine
1671 whether to put something in .sbss or not.
1672 (ppc_elf_relocate_section): Add support for more relocations. Add
1673 in sec->output_offset where appropriate. Make error messages
1674 include the symbol name.
1675
1676 * elflink.c (_bfd_elf_create_linker_section): Lookup symbol before
1677 trying to add it to the symbol table, so _GLOBAL_OFFSET_TABLE_
1678 doesn't get redefined messages if -shared.
1679
1680 * elflink.h (elf_create_pointer_linker_section) Only bump RELA
1681 section if the rel_section field has been set up.
1682
1683 Wed Jan 24 20:40:26 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1684
1685 * elf32-ppc.c (ppc_elf_relocate_section): Fix typo in eabi
1686 relocations.
1687
1688 Wed Jan 24 10:38:34 1996 Doug Evans <dje@charmed.cygnus.com>
1689
1690 * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Delete checking
1691 of flags, only flags used are controlled by mach number. Bump up
1692 output file mach number to highest of input file mach numbers.
1693 (elf32_sparc_object_p): Watch for EF_SPARC_SUN_US1.
1694 (elf32_sparc_final_write_processing): Set EF_SPARC_SUN_US1 if v8plusa.
1695
1696 * config.bfd (sparc64-*-{sysv4*,solaris2*}): Comment out
1697 bfd_elf64_sparc_vec support.
1698
1699 Tue Jan 23 14:33:05 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1700
1701 * elf32-ppc.c (ppc_elf_copy_private_bfd_data): Don't complain if
1702 the embedded bit is set on some objects and not on others. Just
1703 or it together.
1704 (ppc_elf_relocate_section): Implement R_PPC_EMB_{SDA21,RELSDA}
1705 relocations.
1706
1707 Tue Jan 23 14:22:45 1996 Ian Lance Taylor <ian@cygnus.com>
1708
1709 * coffcode.h (coff_new_section_hook): Don't try to align the
1710 .stabstr section.
1711
1712 * coffcode.h (coff_set_section_contents): Fix the handling of the
1713 .lib section to work even if the entire section contents are
1714 written at once. From Gvran Uddeborg <gvran@uddeborg.pp.se> and
1715 Robert Lipe <robertl@arnet.com>.
1716
1717 Mon Jan 22 18:45:51 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1718
1719 * elflink.h (elf_finish_pointer_linker_section): Don't allocate
1720 memory here for contents.
1721
1722 * elf32-ppc.c (ppc_elf_relocate_section): Bump up _SDA_BASE_ and
1723 _SDA2_BASE_ by 32768.
1724 (ppc_elf_size_dynamic_sections): #if out PLT code which we haven't
1725 started using. Allocate contents for .sdata and .sdata2 sections
1726 also.
1727 (ppc_elf_check_relocs): Use bfd_get_section_name in debug message,
1728 rather than _name.
1729 (ppc_elf_finish_dynamic_symbol): Remove code that attempted to
1730 size _SDA{,2}_BASE_.
1731 (ppc_elf_relocate_section): Change how sdata{,2} relocations are
1732 done.
1733
1734 Mon Jan 22 08:52:04 1996 Doug Evans <dje@charmed.cygnus.com>
1735
1736 * elflink.h (elf_finish_pointer_linker_section): Fix typo.
1737
1738 * archures.c (bfd_mach_sparc_v9): Renamed from bfd_mach_sparc64.
1739 (bfd_mach_sparc_{v8plus,v8plusa}): Define.
1740 (bfd_mach_sparc_v9a): Define.
1741 (bfd_mach_sparc_v9_p): Define.
1742 * bfd-in2.h: Regenerated.
1743 * aoutx.h (aout,machine_type): bfd_mach_sparc64 renamed to
1744 bfd_mach_sparc_v9.
1745 * elf64-sparc.c (sparc64_elf_object_p): Likewise.
1746 * config.bfd (sparc64-*-sysv4*,sparc64-*-solaris2*): Set targ_defvec
1747 to bfd_elf32_sparc_vec.
1748 * cpu-sparc.c (arch_info_struct): Renamed from sparc_arch_info.
1749 Add v8plus{,a} support.
1750 Add v9a support.
1751 (sparc_compatible): New function.
1752 * elf32-sparc.h: #include "elf/sparc.h".
1753 (elf32_sparc_merge_private_bfd_data, elf32_sparc_object_p,
1754 elf32_sparc_final_write_processing): New functions.
1755 (bfd_elf32_bfd_merge_private_bfd_data, elf_backend_object_p,
1756 elf_backend_final_write_processing): Define.
1757
1758 Mon Jan 22 11:21:51 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1759
1760 * elf-bfd.h (struct elf_link_hash_entry): Add
1761 linker_section_pointer field.
1762 (enum elf_linker_section_enum): Enumeration for new way of
1763 creating linker dynamic sections and symbols.
1764 (elf_linker_section{,_pointers}): New structures for creating
1765 dynamic sections and symbols.
1766 (elf_obj_tdata): Add linker_section_pointers and linker_section
1767 fields.
1768 (elf_local_ptr_offsets,elf_linker_section): New accessor macros.
1769 (_bfd_elf_create_linker_section): New declarations.
1770 (_bfd_elf_find_pointer_linker_section): Ditto.
1771 (bfd_elf{32,64}_{create,finish}_pointer_linker_section): Ditto.
1772 (_bfd_elf_make_linker_section_rela): Ditto.
1773
1774 * elf.c (_bfd_elf_link_hash_newfunc): Initialize new fields.
1775
1776 * elf32-ppc.c (ppc_elf_create_dynamic_sections): Delete.
1777 (ppc_elf_create_linker_section): New function to create the
1778 sections .got, .sdata, and .sdata2.
1779 (ppc_elf_size_dynamic_sections): Zap .rela.{sdata,sdata2} if
1780 needed.
1781 (ppc_elf_check_relocs): Support more of the eabi relocations.
1782 (ppc_elf_relocate_section): Ditto.
1783 (ppc_elf_finish_dynamic_symbols): Adjust _SDA{,2}_BASE_ by 32768
1784 if the .sdata{,2} + .sbss{,2} section size is > 32k.
1785
1786 * elflink.h (elf_create_pointer_linker_section): New function to
1787 create initialized pointers in dynamic linker sections.
1788 (elf_finish_pointer_linker_section): Actually intialize the
1789 pointers created above.
1790
1791 * elfcode.h (bfd_elf{32,64}_create_pointer_linker_section): New
1792 macros to provide both 32 and 64 bit versions of
1793 elf_create_pointer_linker_section.
1794 (bfd_elf{32,64}_finish_pointer_linker_section): New macros to
1795 provide both 32 and 64 bit versions of
1796 elf_finish_pointer_linker_section.
1797
1798 * elflink.c (_bfd_elf_create_linker_section): New function to
1799 create a linker section.
1800 (_bfd_elf_find_pointer_linker_section): Find a unique pointer to a
1801 given address in the linker pointer offsets created for a given
1802 symbol.
1803 (_bfd_elf_make_linker_section_rela): Make a RELA section
1804 corresponding to the generated linker section.
1805
1806 Sat Jan 20 08:36:10 1996 Doug Evans <dje@canuck.cygnus.com>
1807
1808 * elf32-sparc.c (ELF_MACHINE_ALT1): Define.
1809
1810 Thu Jan 18 18:25:34 1996 Kim Knuttila <krk@cygnus.com>
1811
1812 * coff-ppc.c (coff_ppc_relocate_section): changed TOCDEFN relocs.
1813 (coff_ppc_relocate_section): Handle special values for gcc built dlls.
1814 (dump_toc): fix diagnosing code to identify out-of-toc-bounds entries.
1815 Also begin the toc at 4 as an eye catcher ('31313131' marks the first
1816 toc entry in an objdump) for now.
1817 (ppc_do_last, ppc_get_last): New function - needed to save processing
1818 the toc owner to the end.
1819 (ppc_coff_swap_sym_in_hook): Removed an incorrect hack for doing the
1820 toc owner last.
1821
1822 * cofflink.c (_bfd_coff_final_link): Added a new hack to keep the
1823 toc owner from being done till last. Must define POWERPC_LE_PC
1824 to enable it.
1825
1826 * coffcode.h (coff_set_alignment_hook): alignment setting for .stab
1827
1828 * peicode.h (coff_swap_scnhdr_out): set section flags for stab/str
1829 to INFO.
1830 (coff_swap_aouthdr_out): Removed a non-working hack for computing the
1831 SizeOfImage for PowerPC. Ignore the size of the .junk section.
1832
1833 Thu Jan 18 17:42:12 1996 Ian Lance Taylor <ian@cygnus.com>
1834
1835 * elfcore.h: Include <signal.h> before <sys/procfs.h>.
1836
1837 Wed Jan 17 12:40:14 1996 Ian Lance Taylor <ian@cygnus.com>
1838
1839 * cpu-powerpc.c (arch_info_struct): Change last entry to not point
1840 back to first.
1841 (bfd_powerpc_arch): Point at first entry in arch_info_struct.
1842
1843 Tue Jan 16 15:10:49 1996 Ian Lance Taylor <ian@cygnus.com>
1844
1845 * elf.c (assign_file_positions_for_segments): Don't increment file
1846 offset for a segment which contains no loadable sections.
1847
1848 Mon Jan 15 17:46:27 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1849
1850 * reloc.c: Add new PowerPC relocations.
1851 * {bfd-in2,libbfd}.h: Regenerate.
1852
1853 * elf32-ppc.c (ppc_elf_howto_raw): Add more PPC relocations.
1854 (ppc_elf_reloc_type_lookup): Lookup new relocations.
1855
1856 Mon Jan 15 14:29:44 1996 Ian Lance Taylor <ian@cygnus.com>
1857
1858 * aoutx.h (howto_table_ext): Fix RELOC_BASE10 and RELOC_BASE22
1859 entries.
1860
1861 * sunos.c (sunos_scan_ext_relocs): Don't fail assert if
1862 info->shared.
1863
1864 * coffgen.c (coff_find_nearest_line): Don't try to cache
1865 information in sections that are not owned by a BFD. From Richard
1866 Henderson <richard@atheist.tamu.edu>.
1867
1868 * elf32-mips.c: Numerous changes to dynamic linking code, mostly
1869 from Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>.
1870 * elflink.h (elf_link_output_extsym): Remove special check for
1871 _rld_new_interface.
1872
1873 * ecoffswap.h: Add prototypes for static functions.
1874
1875 Sun Jan 14 21:36:08 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1876
1877 * elf32-ppc.c (ppc_elf_{unsupported,std}_reloc): Remove functions.
1878 (ppc_elf_howto_raw): Remove ppc_elf_{unsupported,std}_reloc
1879 references.
1880 (ppc_elf_relocate_section): No longer allow .sdata/.sbss sections
1881 to satisfy a TOC16 relocation. Rewrite unsupported relocation
1882 support. Begin support for R_PPC_SDA{2,}REL.
1883
1884 Sat Jan 13 09:36:52 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1885
1886 * elf32-ppc.c (ppc_elf_create_dynamic_sections): New function to
1887 create the .got and .got.neg sections.
1888 (ppc_elf_size_dynamic_sections): Call it.
1889 (ppc_elf_check_relocs): Call it.
1890 (ppc_elf_size_dynamic_sections): Support .got.neg, just like .got.
1891 (ppc_elf_check_relocs): Add error messages for relocations we
1892 don't yet support. Do not include R_PPC_SDAREL16 like a GOT
1893 relocation.
1894
1895 Fri Jan 12 15:27:59 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1896
1897 * elf32-ppc.c (ppc_elf_fake_sections): Define, and handle the new
1898 section flags for V.4 and eabi.
1899
1900 Fri Jan 12 13:59:16 1996 Ian Lance Taylor <ian@cygnus.com>
1901
1902 * elf.c (assign_file_positions_for_segments): If a segment
1903 contains no sections, don't mark it as readable.
1904
1905 * elf-bfd.h (_bfd_elf_section_from_bfd_section): Declare.
1906 * elfcode.h (_bfd_elf_section_from_bfd_section): Don't declare.
1907
1908 * elf.c (_bfd_elf_print_private_bfd_data): Dump contents of
1909 dynamic section, if there is one.
1910 * elf-bfd.h (struct elf_size_info): Add swap_dyn_in field.
1911 (bfd_elf32_swap_dyn_in): Change type of second parameter to PTR.
1912 (bfd_elf64_swap_dyn_in): Likewise.
1913 * elfcode.h (elf_swap_dyn_in): Change type of second parameter to
1914 PTR.
1915 (NAME(_bfd_elf,size_info)): Initialize swap_dyn_in field.
1916
1917 * elf32-i386.c (elf_i386_size_dynamic_sections): Don't create a
1918 DT_TEXTREL entry because of .rel.plt. From Martin Pirker
1919 <pirker@eiunix.tuwien.ac.at>.
1920
1921 Thu Jan 11 17:06:14 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1922
1923 * section.c (SEC_{EXCLUDE,SORT_ENTRIES}): New section flags for
1924 PowerPC V.4 and eabi.
1925 * bfd-in2.h: Regenerate.
1926 * libfd.h: Regenerate.
1927
1928 * elfxx-target.h (TARGET_{BIG,LITTLE}_SYM): Add new flags.
1929
1930 * elf32-ppc.c (ppc_elf_section_from_shdr): Support SHT_ORDERED
1931 section type and SHF_EXCLUDE section flag, turning them into the
1932 appropriate bfd section flag.
1933
1934 Thu Jan 11 11:23:30 1996 Ian Lance Taylor <ian@cygnus.com>
1935
1936 * xcofflink.c (xcoff_link_add_symbols): Create the special
1937 sections if we see a DYNAMIC object, in case that is the only
1938 XCOFF input object we see.
1939
1940 * elf32-mips.c: Extensive changes for a start at dynamic linking
1941 support, from Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>.
1942
1943 * elf-bfd.h (struct elf_backend_data): Add type_change_ok field.
1944 (struct elf_backend_data): Remove
1945 elf_backend_create_program_headers field. Add
1946 elf_backend_additional_program_headers and
1947 elf_backend_modify_segment_map fields.
1948 * elfxx-target.h (elf_backend_type_change_ok): Define if not
1949 defined.
1950 (elf_backend_additional_program_headers): Likewise.
1951 (elf_backend_modify_segment_map): Likewise.
1952 (elf_backend_create_program_headers): Don't define.
1953 (elfNN_bed): Change to account for field changes.
1954 * elf.c (assign_file_positions_for_segments): Call new
1955 modify_segment_map backend function. Don't call old
1956 create_program_headers backend function.
1957 (get_program_header_size): Call additional_program_headers rather
1958 than create_program_headers.
1959 * elflink.h (elf_link_add_object_symbols): Initialize
1960 type_change_ok from new backend field.
1961 (elf_link_output_extsym): Don't warn if _rld_new_interface is
1962 defined.
1963 (elf_reloc_link_order): Treat a reloc against a defined symbol as
1964 a reloc against the appropriate section.
1965
1966 * elf-bfd.h (struct bfd_elf_section_data): Add tdata field.
1967 (struct elf_obj_tdata): Rename ppc_flags_init field to flags_init.
1968 (elf_flags_init): Rename from elf_ppc_flags_init.
1969 * elf32-ppc.c (ppc_elf_set_private_flags): Use elf_flags_init, not
1970 elf_ppc_flags_init.
1971 (ppc_elf_copy_private_bfd_data): Likewise.
1972 (ppc_elf_merge_private_bfd_data): Likewise.
1973
1974 * elf32-m68k.c (howto_table): Change src_mask to 0 for all
1975 relocation entries.
1976
1977 Tue Jan 9 15:22:53 1996 David Mosberger-Tang <davidm@azstarnet.com>
1978
1979 * coff-alpha.c (alpha_relocate_section): During final link, allow
1980 output .lita section to be bigger than 64k by adjusting gp value
1981 on a per-input section basis.
1982 * libecoff.h (struct ecoff_tdata): Add issued_multiple_gp_warning
1983 field.
1984 (struct ecoff_section_tdata): Add gp field.
1985
1986 Tue Jan 9 12:00:36 1996 Ian Lance Taylor <ian@cygnus.com>
1987
1988 Handle Alpha ECOFF changes in OSF/1 3.2.
1989 * libecoff.h (struct ecoff_backend_data): Add get_elt_at_filepos
1990 field.
1991 * coff-alpha.c: Include "aout/ar.h".
1992 (alpha_ecoff_get_relocated_section_contents): Don't require an
1993 ALPHA_R_IGNORE reloc after an ALPHA_R_GPDISP reloc, since OSF/1
1994 3.2 doesn't generate one.
1995 (alpha_relocate_section): Likewise.
1996 (alpha_ecoff_slurp_armap): Define.
1997 (alpha_ecoff_slurp_extended_name_table): Define.
1998 (alpha_ecoff_construct_extended_name_table): Define.
1999 (alpha_ecoff_truncate_arname): Define.
2000 (alpha_ecoff_write_armap): Define.
2001 (alpha_ecoff_generic_stat_arch_elt): Define.
2002 (alpha_ecoff_update_armap_timestamp): Define.
2003 (ARFZMAG): Define.
2004 (alpha_ecoff_read_ar_hdr): New static function.
2005 (alpha_ecoff_get_elt_at_filepos): New static function.
2006 (alpha_ecoff_openr_next_archived_file): New static function.
2007 (alpha_ecoff_get_elt_at_index): New static function.
2008 (alpha_ecoff_backend_data): Initialize get_elt_at_filepos field.
2009 (ecoffalpha_little_vec): Change BFD_JUMP_TABLE_ARCHIVE from
2010 _bfd_ecoff to alpha_ecoff.
2011 * ecoff.c (ecoff_link_add_archive_symbols): Use get_elt_at_filepos
2012 field from backend structure, rather than always calling
2013 _bfd_get_elt_at_filepos.
2014 * coff-mips.c (mips_ecoff_backend_data): Initialize
2015 get_elt_at_filepos field.
2016 * archive.c (_bfd_generic_read_ar_hdr_mag): New function, copied
2017 from _bfd_generic_read_ar_hdr with minor changes.
2018 (_bfd_generic_read_ar_hdr): Use _bfd_generic_read_ar_hdr_mag.
2019 * libbfd-in.h (_bfd_generic_read_ar_hdr_mag): Declare.
2020 * libbfd.h: Rebuild.
2021
2022 * bfd-in.h (BFD_IN_MEMORY): Define.
2023 * libbfd-in.h (struct bfd_in_memory): Define.
2024 * libbfd.c (bfd_read): Handle BFD_IN_MEMORY flag.
2025 (bfd_get_file_window): Don't try to map a BFD_IN_MEMORY file.
2026 (bfd_write, bfd_stat): Abort if BFD_IN_MEMORY is set.
2027 (bfd_tell, bfd_flush, bfd_seek): Handle BFD_IN_MEMORY flag.
2028 * bfd.c (struct _bfd): Change iostream field from char * to PTR.
2029 (bfd_get_size): Handle BFD_IN_MEMORY flag.
2030 * cache.c (bfd_cache_close): Ignore BFD_IN_MEMORY files.
2031 (bfd_open_file): Cast to PTR, not char *, when setting iostream.
2032 (bfd_cache_lookup_worker): Abort if BFD_IN_MEMORY is set.
2033 * opncls.c (bfd_fdopenr): Cast to PTR, not char *, when setting
2034 iostream.
2035 (bfd_openstreamr): Likewise.
2036 * aoutx.h (NAME(aout,some_aout_object_p)): Only fstat iostream if
2037 BFD_IN_MEMORY is not set.
2038 * riscix.c (riscix_some_aout_object_p): Likewise.
2039 * bfd-in2.h, libbfd.h: Rebuild.
2040
2041 * targets.c (bfd_target): Add _bfd_get_elt_at_index field.
2042 (BFD_JUMP_TABLE_ARCHIVE): Add _get_elt_at_index.
2043 (bfd_get_elt_at_index): Define.
2044 * archive.c (_bfd_generic_get_elt_at_index): Rename from
2045 bfd_get_elt_at_index. Change index parameter from int to
2046 symindex.
2047 * libbfd-in.h (_bfd_generic_get_elt_at_index): Declare.
2048 (_bfd_noarchive_get_elt_at_index): Define.
2049 (_bfd_archive_bsd_get_elt_at_index): Define.
2050 (_bfd_archive_coff_get_elt_at_index): Define.
2051 * bfd-in2.h, libbfd.h: Rebuild.
2052 * aout-target.h (MY_get_elt_at_index): Define if not defined.
2053 * coff-rs6000.c (xcoff_get_elt_at_index): Define.
2054 * ieee.c (ieee_get_elt_at_index): Define.
2055 * libecoff.h (_bfd_ecoff_get_elt_at_index): Define.
2056 * oasys.c (oasys_get_elt_at_index): Define.
2057 * som.c (som_get_elt_at_index): Define.
2058
2059 * ecoff.c (_bfd_ecoff_find_nearest_line): Don't restrict line
2060 numbers to the .text section.
2061
2062 Mon Jan 8 17:00:57 1996 Ian Lance Taylor <ian@cygnus.com>
2063
2064 * ieee.c (ieee_write_debug_part): Change return type to boolean.
2065 If there is a SEC_DEBUGGING section, get the contents of the debug
2066 information part from it.
2067 (ieee_set_section_contents): Store the contents of a SEC_DEBUGGING
2068 section in memory.
2069 (ieee_write_object_contents): Check ieee_write_debug_part return.
2070
2071 Thu Jan 4 17:12:37 1996 Fred Fish <fnf@cygnus.com>
2072
2073 * config.bfd (i[345]86-*-freebsd*): Add target.
2074 * configure.in (i386freebsd_vec): Add vec.
2075 * configure: Regenerate.
2076 * Makefile.in (BFD32_BACKENDS): Add i386freebsd.o.
2077 (BFD32_BACKENDS_CFILES): Add i386freebsd.c.
2078 Rebuild dependencies..
2079 * freebsd.h: New file.
2080 * i386freebsd.c: New file.
2081 * targets.c (i386freebsd_vec): Declare.
2082 (bfd_target_vector): Add i386freebsd_vec.
2083 * i386linux.c (SEGMENT_SIZE): Define as TARGET_PAGE_SIZE
2084 * i386netbsd.c (SEGMENT_SIZE): Define as TARGET_PAGE_SIZE
2085
2086 Thu Jan 4 16:27:46 1996 Ian Lance Taylor <ian@cygnus.com>
2087
2088 * ieee.c (ieee_slurp_debug): New static function.
2089 (ieee_object_p): Call it.
2090 (ieee_slurp_section_data): Skip debugging sections.
2091 (ieee_get_reloc_upper_bound): Likewise.
2092 (ieee_get_section_contents): Likewise.
2093 (ieee_canonicalize_reloc): Likewise.
2094 (ieee_write_section_part): Likewise.
2095 (ieee_write_debug_part): Likewise.
2096 (ieee_write_data_part): Likewise.
2097 (init_for_output): Likewise.
2098
2099 Wed Jan 3 19:42:47 1996 Michael Meissner <meissner@wogglebug.tiac.net>
2100
2101 * elf32-ppc.c (ppc_elf_relocate_section): Make @GOT relocations
2102 work.
2103 (ppc_elf_howto_raw): Just use bfd_elf_generic_reloc for all howto
2104 relocs, since ppc_elf_relocate_section handles the linker case.
2105 (ppc_elf_{addr16_ha,got16,toc16,brtaken}_reloc): Delete, no longer
2106 used.
2107 (ppc_elf_{addr16_ha,got16,toc16,brtaken}_inner): Merge these into
2108 ppc_elf_relocate_section since that is now the only caller.
2109 (ppc_elf_relocate_section): Ditto.
2110
2111 Wed Jan 3 15:11:30 1996 Ian Lance Taylor <ian@cygnus.com>
2112
2113 * coffcode.h (coff_write_object_contents): If we don't know the
2114 section of the entry point for an XCOFF executable, always set the
2115 entry address to -1.
2116
2117 Tue Jan 2 14:17:15 1996 Michael Meissner <meissner@tiktok.cygnus.com>
2118
2119 * elf.c (bfd_section_from_shdr): Add support for note sections.
2120
2121 Tue Jan 2 13:10:25 1996 Ian Lance Taylor <ian@cygnus.com>
2122
2123 * bfd-in.h (struct _symbol_info): Add stab_type field.
2124 * bfd-in2.h: Rebuild.
2125 * aoutx.h (NAME(aout,get_symbol_info)): Set stab_type.
2126
2127 * elf32-ppc.c: Remove trailing newline from calls to
2128 _bfd_error_handler.
2129 (ppc_elf_merge_private_bfd_data): Only warn about endianness
2130 difference if target endianness is known.
2131
2132 Thu Dec 21 12:43:49 1995 Michael Meissner <meissner@tiktok.cygnus.com>
2133
2134 * elf32-ppc.c (ppc_elf_howto_raw): Add a phony reloc to handle the
2135 old style TOC16 references without using R_PPC_GOT.
2136 (ppc_reloc_type): Ditto.
2137 (ppc_elf_reloc_type_lookup): Add support for TOC16.
2138 (ppc_elf_toc16_inner): Renamed from ppc_elf_got16_inner.
2139 (ppc_elf_toc16_reloc): Renamed from ppc_elf_toc16_reloc.
2140 (ppc_elf_got16_{inner,reloc}): Stubs for real GOT support.
2141 (ppc_elf_check_relocs): New function for GOT/PLT support that is
2142 work in progress.
2143 (ppc_elf_adjust_dynamic_symbol): Ditto.
2144 (ppc_elf_adjust_dynindx): Ditto.
2145 (ppc_elf_size_dynamic_sections): Ditto.
2146 (ppc_elf_finish_dynamic_symbol): Ditto.
2147 (ppc_elf_finish_dynamic_sections): Ditto.
2148 (ELF_DYNAMIC_INTERPRETER): Define.
2149
2150 Wed Dec 20 19:14:18 1995 Ken Raeburn <raeburn@cygnus.com>
2151
2152 * elf.c (copy_private_bfd_data): When attaching sections to
2153 segments ignore sections that won't be allocated. Patch from
2154 Andreas Schwab.
2155
2156 Tue Dec 19 20:01:43 1995 Ken Raeburn <raeburn@cygnus.com>
2157
2158 * config.bfd: Match on m68k-cbm-* only if OS doesn't match
2159 anything else.
2160
2161 Tue Dec 19 16:38:59 1995 Ian Lance Taylor <ian@cygnus.com>
2162
2163 * coff-i960.c (CALC_ADDEND): Define.
2164 (coff_i960_relocate_section): Add the input section VMA to the
2165 addend for PC relative relocs.
2166
2167 Sun Dec 17 20:11:55 1995 Kim Knuttila <krk@cygnus.com>
2168
2169 * peicode.h (pe_print_pdata): Must test the entire entry for zero
2170 to correctly terminate.
2171
2172 Fri Dec 15 12:05:57 1995 Ian Lance Taylor <ian@cygnus.com>
2173
2174 * targets.c (enum bfd_endian): Define.
2175 (bfd_target): Rename byteorder_big_p to byteorder, and change it
2176 from boolean to enum bfd_endian. Change header_byteorder_big_p
2177 correspondingly.
2178 * bfd-in.h (bfd_big_endian, bfd_little_endian): New macros.
2179 (bfd_header_big_endian, bfd_header_little_endian): New macros.
2180 * bfd-in2.h: Rebuild.
2181 * All targets: Change initialization of byteorder and
2182 header_byteorder to use enum bfd_endian values rather than
2183 booleans.
2184 * All files: Change all references to byteorder_big_p and
2185 header_byteorder_big_p to use new bfd_*_endian macros.
2186
2187 * coffgen.c (make_a_section_from_file): Set lma to s_paddr, not
2188 s_vaddr.
2189 * coffcode.h (coff_write_object_contents): Set s_paddr to lma, not
2190 vma.
2191 * ecoff.c (_bfd_ecoff_write_object_contents): Likewise.
2192
2193 Fri Dec 15 07:32:09 1995 steve chamberlain <sac@slash.cygnus.com>
2194
2195 * pe[i]-i386.c (TARGET_UNDERSCORE): Define to '_'.
2196
2197 Thu Dec 14 13:45:37 1995 Ian Lance Taylor <ian@cygnus.com>
2198
2199 * ieee.c: Lots of minor cleanups. Make many functions return
2200 errors rather than calling abort. Also:
2201 (ieee_write_twobyte): Remove; change callers to call existing
2202 ieee_write_2bytes function.
2203 (ieee_write_expression): Don't output the section twice when
2204 outputting a local symbol. Don't emit an extraneous zero if there
2205 is only one term.
2206 (ieee_slurp_sections): Set the lma as well as the vma.
2207 (ieee_archive_p): Use bfd_alloc_grow rather than an obstack.
2208
2209 * ihex.c (ihex_set_arch_mach): Don't accept any architecture, just
2210 a recognized one or bfd_arch_unknown.
2211 (ihex_get_symtab_upper_bound): Define as bfd_0l, to permit objcopy
2212 to succeed.
2213 (ihex_get_symtab): Likewise.
2214
2215 Wed Dec 13 15:44:06 1995 Ian Lance Taylor <ian@cygnus.com>
2216
2217 * aoutx.h: Include <ctype.h>.
2218 (struct aout_link_includes_table): Define.
2219 (struct aout_link_includes_totals): Define.
2220 (struct aout_link_includes_entry): Define.
2221 (aout_link_includes_lookup): Define macro.
2222 (struct aout_final_link_info): Add includes field.
2223 (aout_link_includes_newfunc): New static function.
2224 (NAME(aout,final_link)): Initialize includes hash table.
2225 (aout_link_write_symbols): Eliminate duplicate N_BINCL entries.
2226
2227 Wed Dec 13 10:52:14 1995 Stan Shebs <shebs@andros.cygnus.com>
2228
2229 * mpw-config.in: Match on mips-*-* instead of mips-idt-ecoff.
2230
2231 Wed Dec 13 11:07:45 1995 Kim Knuttila <krk@cygnus.com>
2232
2233 * coff-ppc.c (coff_ppc_relocate_section): removed debugging code.
2234
2235 Tue Dec 12 17:42:06 1995 Kim Knuttila <krk@cygnus.com>
2236
2237 * peicode.h (pe_print_reloc): New function to dump the .reloc section.
2238 (pe_print_private_bfd_data): call pe_print_reloc.
2239 * coffcode.h (coff_set_alignment_hook): .reloc section alignment.
2240 * coff-ppc.c (in_reloc_p): Added missing non-eligible relocs. Spiffed
2241 up some debugging as well.
2242
2243 Tue Dec 12 11:34:23 1995 Ian Lance Taylor <ian@cygnus.com>
2244
2245 * config.bfd: Handle sparc-*-elf*. From Ronald F. Guilmette
2246 <rfg@monkeys.com>.
2247
2248 Fri Dec 8 17:47:07 1995 Ian Lance Taylor <ian@cygnus.com>
2249
2250 * elflink.h (elf_link_add_object_symbols): Set section_count to 0
2251 when setting sections to NULL.
2252
2253 Wed Dec 6 17:05:37 1995 Ian Lance Taylor <ian@cygnus.com>
2254
2255 * xcofflink.c (struct xcoff_loader_info): Add export_defineds
2256 field.
2257 (bfd_xcoff_size_dynamic_sections): Add export_defineds parameter.
2258 (xcoff_build_ldsyms): If export_defineds is set, set XCOFF_EXPORT
2259 for all symbols.
2260 * bfd-in.h (bfd_xcoff_size_dynamic_sections): Update declaration.
2261 * bfd-in2.h: Rebuild.
2262
2263 Mon Dec 4 16:40:47 1995 Kim Knuttila <krk@cygnus.com>
2264
2265 * coffcode.h (coff_set_alignment_hook): Removed some debugging printf's
2266
2267 Mon Dec 4 11:25:39 1995 Ian Lance Taylor <ian@cygnus.com>
2268
2269 * ihex.c (ihex_scan): Handle record types 4 and 5.
2270 (ihex_object_p): Permit types 4 and 5.
2271 (ihex_set_section_contents): Remove check for out of range
2272 addresses.
2273 (ihex_write_object_contents): Generate types 4 and 5.
2274
2275 * elflink.h (elf_link_output_extsym): Just ignore warning and
2276 indirect references to symbols which don't really exist.
2277
2278 Sun Dec 3 19:00:27 1995 Kim Knuttila <krk@cygnus.com>
2279
2280 * peicode.h (pe_print_idata): Minor format fixes
2281 (pe_print_edata): New function. Under private printing, this formats
2282 the edata section of a PE file.
2283 (pe_print_private_bfd_data): Added call to pe_print_edata.
2284
2285 Sun Dec 3 16:46:54 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
2286
2287 * aout-arm.c (MY_swap_std_reloc_out): Use KEEPIT to get the symbol
2288 index, don't call stoi.
2289
2290 Fri Dec 1 14:46:51 1995 Ian Lance Taylor <ian@cygnus.com>
2291
2292 * srec.c (srec_scan): Set lma as well as vma.
2293
2294 * ihex.c: New file; support for Intel Hex format.
2295 * targets.c (enum bfd_flavour): Add bfd_target_ihex_flavour.
2296 (ihex_vec): Declare.
2297 (bfd_target_vector): Always include ihex_vec.
2298 * bfd.c (struct _bfd): Add ihex_data field to tdata union.
2299 * Makefile.in: Rebuild dependencies.
2300 (BFD_LIBS): Add ihex.o
2301 (BFD_LIBS_CFILES): Add ihex.c.
2302 * bfd-in2.h: Rebuild.
2303
2304 * elf.c (assign_file_positions_for_segments): Sort the sections in
2305 each segment.
2306 (get_program_header_size): Return the right size if segment_map is
2307 not NULL.
2308 (copy_private_bfd_data): Don't bother to sort the sections.
2309
2310 * bfd.c (bfd_record_phdr): New function.
2311 * bfd-in.h (bfd_record_phdr): Declare.
2312 * bfd_in2.h: Rebuild.
2313
2314 * elf32-sparc.c (elf32_sparc_relocate_section): Remove bogus
2315 BFD_ASSERT.
2316
2317 * libbfd.c (bfd_malloc, bfd_realloc): New functions.
2318 (bfd_zmalloc): Return PTR, not char *. Take size_t, not
2319 bfd_size_type.
2320 * libbfd-in.h (bfd_malloc, bfd_realloc): Declare.
2321 (bfd_zmalloc): Change declaration.
2322 * libbfd.h: Rebuild.
2323 * Many files: Use bfd_malloc and bfd_realloc rather than malloc
2324 and realloc. Don't set bfd_error_no_memory if they fail.
2325
2326 Thu Nov 30 19:32:26 1995 Kim Knuttila <krk@cygnus.com>
2327
2328 * coff-ppc.c: Added macros to tidy up toc cell treatment. Numerous
2329 uses as well. Added a new howto to deal with TOCREL16 relocs that
2330 are TOCDEFN as well.
2331 (coff_ppc_relocate_section): Expanded treatment of ADDR32NB relocs
2332 to handle RVA relocs from dlltool.
2333 (ppc_coff_rtype2howto): TOCDEFN reloc addition.
2334 (coff_ppc_rtype_to_howto): TOCDEFN reloc addition.
2335 (ppc_coff_reloc_type_lookup): TOCDEFN reloc addition.
2336
2337 * coffcode.h (coff_set_alignment_hook): check idata$X sections
2338 to get the right section alignment.
2339
2340 Thu Nov 30 16:48:18 1995 Ian Lance Taylor <ian@cygnus.com>
2341
2342 * elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on
2343 p_paddr if p_paddr is zero.
2344 (make_mapping): Set includes_filehdr and includes_phdrs for first
2345 PT_LOAD segment.
2346 (map_sections_to_segments): Set includes_phdrs for PT_PHDR
2347 segment.
2348 (assign_file_positions_for_segments): Handle includes_filehdr and
2349 includes_phdrs. Remove special handling of PT_PHDR and first
2350 PT_LOAD segments.
2351 (copy_private_bfd_data): Set includes_filehdr and includes_phdr
2352 when appropriate. Remove special handling of PT_PHDR segment.
2353 Use a more complex condition for when a section is included in a
2354 segment to handle Solaris linker oddities.
2355
2356 Thu Nov 30 11:17:33 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
2357
2358 * coff-m88k.c (howto_table): Reformatted for easier reading;
2359 special_function now points to new function m88k_special_reloc.
2360 (howto_hvrt16): Function previously used for handling HVRT16 relocs
2361 removed.
2362 (rtype2howto): Do not add reloc's r_offset to the addend, this will
2363 be done correctly by m88k_special_reloc.
2364 (reloc_processing): New function to be used by RELOC_PROCESSING.
2365 (RELOC_PROCESSING): Define to call reloc_processing.
2366
2367 Wed Nov 29 12:42:36 1995 Ian Lance Taylor <ian@cygnus.com>
2368
2369 * peicode.h (pe_print_idata): Call malloc rather than xmalloc.
2370 (pe_print_pdata): Likewise.
2371
2372 * opncls.c (bfd_alloc_by_size_t): Set bfd_error_no_memory if
2373 obstack_alloc fails.
2374 (bfd_alloc_finish): Set bfd_error_no_memory if obstack_finish
2375 fails.
2376 * libbfd.c (bfd_zmalloc): Set bfd_error_no_memory if malloc fails.
2377 * Many files: don't set bfd_error_no_memory if one of the above
2378 routines fails.
2379
2380 * elf.c (assign_file_positions_for_segments): Don't adjust p_paddr
2381 if p_paddr_valid is set.
2382 (copy_private_bfd_data): New static function.
2383 (_bfd_elf_copy_private_section_data): Call copy_private_bfd_data.
2384
2385 * elf.c (assign_file_positions_for_segments): Fix case where extra
2386 program headers were allocated.
2387
2388 * elf.c (_bfd_elf_print_private_bfd_data): New function.
2389 * elf-bfd.h (_bfd_elf_print_private_bfd_data): Declare.
2390 * elfxx-target.h (bfd_elfNN_bfd_print_private_bfd_data): Define to
2391 _bfd_elf_print_private_bfd_data.
2392
2393 * coff-alpha.c (alpha_ecoff_swap_reloc_in): Don't abort if
2394 r_symndx is RELOC_SECTION_NONE for an ALPHA_R_IGNORE reloc.
2395 Change a RELOC_SECTION_LITA symndx to RELOC_SECTION_ABS.
2396 (alpha_ecoff_swap_reloc_out): Change RELOC_SECTION_ABS to
2397 RELOC_SECTION_LITA for ALPHA_R_IGNORE.
2398 (alpha_adjust_reloc_out): For ALPHA_R_IGNORE, don't change
2399 RELOC_SECTION_ABS to RELOC_SECTION_NONE.
2400
2401 Tue Nov 28 16:59:50 1995 Ian Lance Taylor <ian@cygnus.com>
2402
2403 * elf-bfd.h (struct elf_obj_tdata): Add segment_map field.
2404 * elf.c (make_mapping): New static function.
2405 (map_sections_to_segments): New static function.
2406 (elf_sort_sections): New static function.
2407 (assign_file_positions_for_segments): New static function.
2408 (map_program_segments): Remove.
2409 (get_program_header_size): Remove sorted_hdrs, count, and
2410 maxpagesize parameters. Simplify.
2411 (assign_file_positions_except_relocs): When generating an
2412 executable, use assign_file_positions_for_segments.
2413 (elf_sort_hdrs): Remove.
2414 (_bfd_elf_sizeof_headers): Remove eliminated parameters from call
2415 to get_program_header_size.
2416
2417 Mon Nov 27 12:27:46 1995 Ian Lance Taylor <ian@cygnus.com>
2418
2419 * hp300hpux.c (MY(callback)): Set lma as well as vma.
2420
2421 * configure, config.in: Regenerate with autoconf 2.7.
2422
2423 * elf32-i386.c (elf_backend_plt_readonly): Set correctly, to 1.
2424 * elf32-sparc.c (elf_backend_plt_readonly): Set correctly, to 0.
2425
2426 Wed Nov 22 12:02:09 1995 Ian Lance Taylor <ian@cygnus.com>
2427
2428 * ecoff.c (_bfd_ecoff_new_section_hook): Handle .rconst section.
2429 (ecoff_sec_to_styp_flags): Likewise.
2430 (_bfd_ecoff_styp_to_sec_flags): Handle STYP_RCONST.
2431 (ecoff_set_symbol_info): Handle scRConst.
2432 (ecoff_slurp_reloc_table): Handle RELOC_SECTION_RCONST.
2433 (ecoff_compute_section_file_positions): Handle .rconst section.
2434 (_bfd_ecoff_write_object_contents): Likewise.
2435 (ecoff_link_check_archive_element): Handle scRConst.
2436 (ecoff_link_add_externals): Likewise.
2437 (ecoff_link_write_external): Handle .rconst section.
2438 (ecoff_reloc_link_order): Likewise.
2439 * ecofflink.c (bfd_ecoff_debug_accumulate): Handle scRConst.
2440 * coff-alpha.c (alpha_convert_external_reloc): Handle .rconst
2441 section.
2442 (alpha_relocate_section): Handle RELOC_SECTION_RCONST.
2443
2444 * sunos.c (sunos_scan_dynamic_symbol): Only set written if the
2445 DEF_DYNAMIC flag is set.
2446
2447 Tue Nov 21 13:25:29 1995 Ken Raeburn <raeburn@cygnus.com>
2448
2449 * host-aout.c: If TRAD_HEADER is defined, include it.
2450
2451 Tue Nov 21 13:03:57 1995 Ian Lance Taylor <ian@cygnus.com>
2452
2453 * aclocal.m4 (AC_PROG_CC): Remove local definition.
2454 (BFD_BINARY_FOPEN): Require AC_CANONICAL_SYSTEM.
2455 (BFD_NEED_DECLARATION): New function.
2456 * configure.in: Use BFD_NEED_DECLARATION.
2457 * acconfig.h: Put NEED_DECLARATION_* in @TOP@ section.
2458 * configure, config.in: Rebuild with autoconf 2.6.
2459
2460 * xcofflink.c (bfd_xcoff_size_dynamic_sections): Clear
2461 special_sections before returning when called with a non XCOFF
2462 BFD.
2463
2464 * coffgen.c (coff_renumber_symbols): Sort common symbols with
2465 global symbols.
2466
2467 * coffcode.h (coff_compute_section_file_positions): Only pad the
2468 previous section to force file alignment when creating an
2469 executable.
2470
2471 Mon Nov 20 14:54:09 1995 Ian Lance Taylor <ian@cygnus.com>
2472
2473 * coffcode.h (coff_compute_section_file_positions): If
2474 RS6000COFF_C, set up the .debug section.
2475
2476 * xcofflink.c (xcoff_link_input_bfd): Adjust the TOC anchor value
2477 if it is not large enough to accomodate the entire TOC area with
2478 signed 16 bit offsets.
2479 (xcoff_write_global_symbol): Handle negative TOC offsets in global
2480 linkage code.
2481 (_bfd_ppc_xcoff_relocate_section): Adjust relocations against a
2482 TOC anchor to use the TOC value used in the output file.
2483
2484 Sat Nov 18 18:01:41 1995 Ian Lance Taylor <ian@cygnus.com>
2485
2486 * coffgen.c (_bfd_coff_get_external_symbols): Cast malloc return.
2487 (_bfd_coff_read_string_table): Likewise.
2488
2489 Sat Nov 18 19:43:04 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
2490
2491 * pe-arm.c: Fix typos.
2492 * coff-arm.c: Likewise.
2493
2494 Fri Nov 17 16:22:04 1995 Kim Knuttila <krk@cygnus.com>
2495
2496 * coff-ppc.c (list_ele): Added "cat"egory member.
2497 (record_toc): New category parameter (priv or pub).
2498 (ppc_record_toc_entry): Check to see if toc bounds exceeded.
2499 (ppc_process_before_allocation): Removed embrionic data-in-toc from
2500 the mainline. It addes extra toc cells in error.
2501 (ppc_coff_swap_sym_in_hook): Added some documentation.
2502 (dump_toc): Can now diagnose "virtual toc" chicanery.
2503
2504 Fri Nov 17 10:41:25 1995 Philippe De Muyter <phdm@info.ucl.ac.be>
2505
2506 * elf-bfd.h (struct elf_link_hash_table): Change type of
2507 dynsymcount and bucketcount fields from size_t to bfd_size_type.
2508
2509 Fri Nov 17 10:02:58 1995 Ian Lance Taylor <ian@cygnus.com>
2510
2511 * coffcode.h (coff_pointerize_aux_hook): I960 version: don't
2512 pointerize C_LEAFSTAT or C_LEAFEXT entries.
2513
2514 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Only create
2515 DT_INIT and DT_FINI entries if the _init or _fini symbol is
2516 defined or mentioned in a regular file.
2517
2518 Thu Nov 16 15:16:42 1995 Kim Knuttila <krk@cygnus.com>
2519
2520 * coff-ppc.c (ppc_record_data_in_toc_entry): new function
2521 (coff_ppc_relocate_section): Handle TOCDEFN attribute
2522 (coff_ppc_relocate_section): Correct REL24 handling
2523 (ppc_process_before_allocation): Correct TOCDEFN handling
2524
2525 * peicode.h (dir_names): Added name descriptions
2526
2527 Thu Nov 16 03:38:03 1995 Ken Raeburn <raeburn@cygnus.com>
2528
2529 * VERSION: Updated to cygnus-2.6.
2530
2531 Wed Nov 15 19:30:07 1995 Ken Raeburn <raeburn@cygnus.com>
2532
2533 * targets.c (m68k4knetbsd_vec): Declare.
2534
2535 Wed Nov 15 18:05:52 1995 Ian Lance Taylor <ian@cygnus.com>
2536
2537 * targets.c (bfd_target): Change type of second argument to
2538 _bfd_print_private_bfd_data from void * to PTR.
2539 * libbfd-in.h (_bfd_generic_bfd_print_private_bfd_data): Cast
2540 using PTR rather than void *.
2541 * bfd-in2, libbfd.h: Rebuild.
2542 * peicode.h (pe_print_private_bfd_data): Change vfile from void *
2543 to PTR.
2544 * elfxx-target.h (bfd_elfNN_bfd_print_private_bfd_data): Define as
2545 _bfd_generic_bfd_print_private_bfd_data rather than casting
2546 bfd_true.
2547
2548 Wed Nov 15 04:09:14 1995 Ken Raeburn <raeburn@cygnus.com>
2549
2550 * Makefile.in (.dep1): Fix stupid typo in last change. Remove any
2551 "DO NOT DELETE" lines or blank lines that mkdep writes on some
2552 systems.
2553 (BFD_LIBS_CFILES, ALL_MACHINES_CFILES, BFD32_BACKENDS_CFILES,
2554 BFD64_BACKENDS_CFILES): New variables.
2555 (CFILES): Use them.
2556
2557 Tue Nov 14 11:52:23 1995 Ian Lance Taylor <ian@cygnus.com>
2558
2559 * peicode.h (coff_swap_aouthdr_out): For PPC PE, start isize at 0,
2560 not at the file position of the first section.
2561 * coffcode.h (coff_compute_section_file_positions): Avoid using
2562 unportable #elif.
2563 (coff_write_object_contents): When generating a PPC PE executable
2564 with no symbols, round up the file size to a COFF_PAGE_SIZE
2565 boundary.
2566 * cofflink.c (_bfd_coff_final_link): If there are no symbols,
2567 don't write out a string table.
2568
2569 * elf.c (bfd_section_from_shdr): When using a different section
2570 header, pass the new one to _bfd_elf_make_section_from_shdr.
2571 (elf_fake_sections): Don't set sh_info and sh_entsize fields.
2572 (elf_map_symbols): Add section VMA to symbol value when comparing
2573 against 0.
2574 (_bfd_elf_compute_section_file_positions): Only build symbol table
2575 if there are some symbols. Set file offset of symtab and strtab
2576 sections.
2577 (assign_file_positions_except_relocs): Remove dosyms parameter.
2578 Change all callers. Never set file offset of symtab and strtab
2579 sections.
2580 (_bfd_elf_copy_private_section_data): New function.
2581 (MAP_ONESYMTAB, MAP_DYNSYMTAB, MAP_STRTAB, MAP_SHSTRTAB): Define.
2582 (_bfd_elf_copy_private_symbol_data): New function.
2583 (swap_out_syms): Check for special mapping of st_shndx created by
2584 copy_private_symbol_data.
2585 * elfxx-target.h: Use new copy routines.
2586 * elf-bfd.h (_bfd_elf_copy_private_symbol_data): Declare.
2587 (_bfd_elf_copy_private_section_data): Declare.
2588
2589 * config.bfd (sh-*-*): Set targ_defvec to shcoff_vec.
2590
2591 * coffcode.h (coff_slurp_symbol_table): If COFF_WITH_PE, handle
2592 C_NT_WEAK.
2593
2594 * coff-sh.c (shlcoff_vec): Use _bfd_generic_archive_p, not
2595 _bfd_dummy_target, matching the recent change to archive
2596 recognition.
2597
2598 Mon Nov 13 13:24:38 1995 Ian Lance Taylor <ian@cygnus.com>
2599
2600 * libbfd.c (bfd_get_file_window): Use casts to avoid doing
2601 arithmetic on PTR types.
2602
2603 * aout-target.h (MY(callback)): Set the lma of the sections.
2604
2605 * ecoff.c (ecoff_reloc_link_order): Turn a reloc against a defined
2606 symbol into a reloc against the section.
2607
2608 Mon Nov 13 07:31:35 1995 Kim Knuttila <krk@cygnus.com>
2609
2610 * coff-ppc.c (ppc_coff_link_hash_entry): added support for inline
2611 glue for the relocs: IMGLUE and IFGLUE.
2612 (record_toc): new function - tracks toc contents
2613 (ppc_mark_symbol_as_glue): new function - supports the IMGLUE reloc
2614 (coff_ppc_relocate_section): Added support and fixes for IMGLUE/IFGLUE
2615 (ppc_coff_rtype2howto): removed invalid IMGLUE hack
2616 (coff_ppc_rtype_to_howto): removed invalid IMGLUE hack
2617 (ppc_record_toc_entry): Removed a debug define (duh)
2618
2619 * peicode.h (coff_swap_scnhdr_out): Fixed invalid strcmp for ".reldata"
2620 (pe_print_idata): New function - formats the idata section data
2621 (pe_print_pdata): New function - formats the pdata section data
2622 (pe_print_private_bfd_data): calls to above
2623
2624 Sun Nov 12 12:23:24 1995 Stan Shebs <shebs@andros.cygnus.com>
2625
2626 * Makefile.in (bfd_libs_here, etc): Provide empty definitions.
2627 * coff-rs6000.c (rs6000coff_vec): Add conditional defines
2628 TARGET_SYM and TARGET_NAME for vector and BFD name.
2629 * coff-pmac.c (pmac_xcoff_vec): Remove.
2630 (TARGET_SYM, TARGET_NAME): Define.
2631 * coffcode.h (coff_set_arch_mach_hook) [POWERMAC]: Set the
2632 machine to 0, not all PowerMacs are 601s.
2633
2634 Fri Nov 10 12:10:14 1995 Ian Lance Taylor <ian@cygnus.com>
2635
2636 * elfcode.h (elf_object_p): Read in any program headers.
2637 * elf.c (_bfd_elf_make_section_from_shdr): Adjust section lma
2638 based on the program headers, if any.
2639 (elf_fake_sections): Set sh_addr from the vma, not the lma.
2640 (map_program_segments): Set p_paddr of program headers based on
2641 the lma.
2642
2643 Thu Nov 9 13:01:31 1995 Ian Lance Taylor <ian@cygnus.com>
2644
2645 * archive.c (bfd_generic_archive_p): Preserve tdata in case of
2646 failure.
2647
2648 * aoutx.h (NAME(aout,final_link)): Report a reasonable error when
2649 trying to do a relocateable link with a non-a.out object file.
2650
2651 * archive.c (bfd_generic_archive_p): Check the first object file
2652 in an archive even if target_defaulted is set. If the object file
2653 has the wrong xvec, reject it.
2654
2655 * aoutx.h (NAME(aout,set_section_contents)): If a section can not
2656 be represented, report the name via _bfd_error_handler.
2657 (translate_to_native_sym_flags): Likewise.
2658 * elf32-mips.c (mips_elf_final_link): Likewise.
2659 * oasys.c (oasys_write_sections): Likewise.
2660
2661 * coffcode.h (coff_set_alignment_hook): Write RS6000COFF_C version
2662 which checks for STYP_OVRFLO sections.
2663 (coff_compute_section_file_positions): If RS6000COFF_C, handle
2664 reloc and lineno count overflows.
2665 (coff_write_object_contents): Call coff_count_linenumbers before
2666 coff_compute_section_file_positions. If RS6000COFF_C, handle
2667 reloc and lineno count overflows.
2668 * xcofflink.c (_bfd_xcoff_bfd_final_link): Count line numbers and
2669 relocs before dealing with .pad sections. Count overflow section
2670 headers when handling .pad sections.
2671
2672 * coffcode.h (coff_write_object_contents): Set a.out vstamp to 1
2673 if RS6000COFF_C.
2674
2675 * xcofflink.c (XCOFF_DESCRIPTOR): Define.
2676 (struct xcoff_link_hash_table): Add descriptor_section and
2677 special_sections fields.
2678 (_bfd_xcoff_bfd_link_hash_table_create): Initialize new fields.
2679 (xcoff_link_add_symbols): Set linkage section alignment. Create
2680 descriptor section. Check for magic symbol names (_text, etc.),
2681 and record them in special_sections if found. Set
2682 XCOFF_DESCRIPTOR flag for a function descriptor, and set its
2683 descriptor field to point back to the function code symbol.
2684 (xcoff_sweep): Always mark the special descriptor_section.
2685 (bfd_xcoff_export_symbol): Check whether the symbol might be a
2686 function descriptor, and mark it if it is.
2687 (bfd_xcoff_size_dynamic_sections): Add new special_sections
2688 parameter, and fill it in. Allocate space for the descriptor
2689 section.
2690 (xcoff_build_ldsyms): Set XCOFF_DEF_REGULAR flag when defining
2691 global linkage code. If an undefined function descriptor is
2692 exported, arrange to define it. Warn about any other undefined
2693 exported symbol.
2694 (_bfd_xcoff_bfd_final_link): Write out the descriptor section.
2695 (xcoff_write_global_symbol): Create a function descriptor when
2696 necessary.
2697 * bfd-in.h (bfd_xcoff_size_dynamic_sections): Update declaration.
2698 * bfd-in2.h: Rebuild.
2699
2700 Thu Nov 9 08:40:23 1995 Kim Knuttila <krk@cygnus.com>
2701
2702 * coff-ppc.c (ppc_coff_link_hash_entry): new types for hashing
2703 (ppc_coff_link_hash_table): new types for hashing
2704 (ppc_coff_link_hash_newfunc): hash entry constructor
2705 (ppc_coff_link_hash_table_init): hash table initializer
2706 (ppc_coff_link_hash_table_create): hash table constructor
2707 (ppc_record_toc_entry): changed references to hash table
2708 (coff_ppc_relocate_section): changed references to hash table
2709
2710 * libcoff-in.h (coff_link_hash_entry): removed toc_offset
2711 * libcoff.h: Rebuild
2712
2713 * cofflink.c (_bfd_coff_link_hash_newfunc): removed toc_offset init
2714 (coff_link_add_symbols): removed toc_offset init
2715
2716 Thu Nov 9 04:00:38 1995 Ken Raeburn <raeburn@cygnus.com>
2717
2718 * Makefile.in (.dep1): Make sure the file mkdep is to write exists
2719 first.
2720
2721 * configure.in: Added new option --with[out]-mmap. Set USE_MMAP
2722 if it is given and mmep is available.
2723 * acconfig.h: Undef USE_MMAP.
2724 * configure, config.in: Regenerated.
2725 * aoutx.h: If USE_MMAP is not defined, do all symbol and string
2726 table handling the old way.
2727 (aout_get_external_symbols): Don't complain if last byte of string
2728 table is nonzero.
2729 * libbfd.c [HAVE_MADVISE]: Include sys/types.h and sys/mman.h.
2730 (bfd_free_window) [! USE_MMAP]: Don't define.
2731 (bfd_get_file_window,
2732 _bfd_generic_get_section_contents_in_window) [! USE_MMAP]: Abort.
2733
2734 Wed Nov 8 20:03:44 1995 Eric Freudenthal <freudenthal@nyu.edu>
2735
2736 * coff-a29k.c (SIGN_EXTEND_HWORD): Use ~0xffff rather than
2737 0xffff0000.
2738
2739 Wed Nov 8 11:31:11 1995 Ian Lance Taylor <ian@cygnus.com>
2740
2741 * coff-a29k.c (a29k_reloc): Change handling of R_IREL reloc to be
2742 compatible with AMD generated COFF files. Try to support both AMD
2743 and GNU formats simultaneously.
2744 (coff_a29k_relocate_section): Likewise.
2745
2746 * libbfd.c (bfd_get_file_window): Change writable parameter from
2747 int to boolean; update all callers. Pass MAP_SHARED if not
2748 writable--it's required on Solaris. Cast fprintf argument to
2749 avoid warning.
2750 * bfd-in.h (bfd_get_file_window): Update declaration.
2751 * bfd-in2.h: Rebuild.
2752 * aoutx.h: Update calls to bfd_get_file_window.
2753
2754 * xcofflink.c (XCOFF_DEF_DYNAMIC): Rename from XCOFF_REF_DYNAMIC.
2755 Change all uses.
2756 (xcoff_swap_ldhdr_in): New static function.
2757 (xcoff_swap_ldsym_in): New static function.
2758 (xcoff_find_reloc): Handle the case of a single reloc correctly.
2759 (xcoff_link_add_symbols): If we just created a descriptor, pass it
2760 to _bfd_generic_link_add_one_symbol, to save a hash lookup.
2761 Handle XTY_ER/XMC_XO symbols correctly.
2762 (xcoff_link_add_dynamic_symbols): Rewrite to read .loader symbols
2763 rather than normal symbol table.
2764 (bfd_xcoff_import_symbol): It's not an error if the symbol is
2765 already defined with the same absolute value.
2766 (xcoff_mark): When considering called symbols, check whether the
2767 descriptor is from a dynamic object, rather than the symbol
2768 itself.
2769 (xcoff_build_ldsyms): Likewise.
2770
2771 * libbfd.c (bfd_get_file_window): Change return type to boolean.
2772 Cast realloc and malloc return values. If malloc or realloc fail,
2773 set bfd_error_no_memory.
2774 * bfd-in.h (bfd_get_file_window): Change type to boolean.
2775 * bfd-in2.h: Rebuild.
2776
2777 Tue Nov 7 11:53:48 1995 Kim Knuttila <krk@cygnus.com>
2778
2779 * coff-ppc.c (ppc_record_toc_entry): new function.
2780 (in_reloc_p): changed return value.
2781 (coff_ppc_relocate_section): much rework.
2782 (ppc_allocate_toc_section): new function.
2783 (ppc_process_before_allocation): new function.
2784 (ppc_coff_swap_sym_in_hook): new function.
2785
2786 * cofflink.c (_bfd_coff_link_hash_newfunc): initialize toc_offset.
2787 (coff_link_add_symbols): initialize toc_offset.
2788
2789 * peicode.h (coff_swap_sym_in): Added coff_swap_sym_in_hook
2790 (coff_swap_aouthdr_out): Added more sections to the data
2791 dictionary for the pe file header. Also changed linker version
2792 number on the ppc side.
2793 (dir_names): small improvements to the dictionary printing.
2794 (pe_mkobject_hook): save the file level flags.
2795
2796 * libcoff-in.h (coff_link_hash_entry): added toc_offset field
2797 (pe_tdata): added real_flags field
2798 (coff_tdata): added local_toc_sym_map and access macro
2799
2800 * libcoff.h (coff_link_hash_entry): added toc_offset field
2801 (pe_tdata): added real_flags field
2802 (coff_tdata): added local_toc_sym_map and access macro
2803
2804 * coffcode.h (coff_set_alignment_hook): added hook for PE.
2805 (coff_mkobject): init for local_toc_sym_map
2806 (coff_write_object_contents): set the internal_a.magic to
2807 IMAGE_NT_OPTIONAL_HDR_MAGIC which appears to be what other
2808 ppc compilers use.
2809
2810 Tue Nov 7 13:48:58 1995 Ian Lance Taylor <ian@cygnus.com>
2811
2812 * ecofflink.c (_bfd_ecoff_locate_line): Keep looking through stabs
2813 entries until both the line number address and the function name
2814 address are too large.
2815
2816 * configure.in: Call AC_CHECK_PROG to find and cache AR.
2817 * configure: Rebuilt.
2818
2819 * aclocal.m4 (BFD_CC_FOR_BUILD): Don't define CC_FOR_BUILD if it
2820 is defined in the environment.
2821
2822 Tue Nov 7 10:57:24 1995 Jeffrey A Law (law@cygnus.com)
2823
2824 * som.c (som_get_section_contents_in_window): Define to use
2825 generic version.
2826
2827 Mon Nov 6 17:13:15 1995 Harry Dolan <dolan@ssd.intel.com>
2828
2829 * coff-i860.c: New file, based on coff-i386.c.
2830 * cpu-i860.c: New file, based on cpu-i386.c.
2831 * hosts/i860mach3.h: New file, based on hosts/i386mach3.h.
2832 * config.bfd (i860-*-mach3*, i860-*-osf1*, i860-*-coff*): New
2833 targets, using i860coff_vec.
2834 * configure.in (i860-*-mach3*, i860-*-osf1*): New hosts, using
2835 trad-core.o and hosts/i860mach3.h.
2836 (i860coff_vec): Use coff-i860.o and cofflink.o.
2837 * configure: Rebuild.
2838 * Makefile.in: Rebuild dependencies.
2839 (ALL_MACHINES): Add cpu-i860.o.
2840 (BFD32_BACKENDS): Add coff-i860.o.
2841 (CFILES): Add cpu-i860.c and coff-i860.c.
2842 * targets.c (i860coff_vec): Declare.
2843 (bfd_target_vector): Add &i860coff_vec.
2844 * archures.c (bfd_i860_arch): Declare.
2845 (bfd_archures_list): Add &bfd_i860_arch.
2846 * coffcode.h (coff_set_arch_mach_hook): Handle I860 magic number.
2847 (coff_set_flags): Handle bfd_arch_i860.
2848 (coff_write_object_contents): Handle I860 a.out magic number.
2849
2850 Mon Nov 6 14:34:07 1995 Ian Lance Taylor <ian@cygnus.com>
2851
2852 * xcofflink.c (xcoff_link_add_symbols): Set the alignment power of
2853 the created .tc section to 2.
2854 (xcoff_mark): Don't keep a .loader reloc for a call to an
2855 undefined symbol when creating a shared library.
2856 (xcoff_build_ldsyms): When creating a shared library, generate
2857 global linkage code for a call to an undefined symbol.
2858
2859 Sun Nov 5 21:44:13 1995 Ken Raeburn <raeburn@cygnus.com>
2860
2861 * Makefile.in (CFILES): Rebuild list from BFD_LIBS, ALL_MACHINES,
2862 BFD32_BACKENDS, BFD64_BACKENDS.
2863 (.dep1): Put mkdep output in a separate file.
2864 Rebuilt dependencies.
2865
2866 * ecoff.c (_bfd_ecoff_slurp_armap): Cast _bfd_read_ar_hdr return
2867 value.
2868
2869 Permit use of mmap when available:
2870
2871 * configure.in: Check for mmap, madvise, mprotect.
2872 * config.in, configure: Regenerated.
2873
2874 * libbfd.c (struct _bfd_window_internal): Define type.
2875 (bfd_init_window, bfd_free_window, bfd_get_file_window): New
2876 functions.
2877 (ok_to_map): New static variable for debugging.
2878 (_bfd_generic_get_section_contents_in_window): New function.
2879 * bfd-in.h (bfd_window_internal): Declare type.
2880 (bfd_window): Define type.
2881 (bfd_init_window, bfd_free_window, bfd_get_file_window): Declare.
2882 * libbfd-in.h (_bfd_generic_get_section_contents_in_window):
2883 Declare.
2884
2885 * libaout.h (struct aoutdata): Add two window fields.
2886 (obj_aout_sym_window, obj_aout_string_window): New macros.
2887 * aoutx.h (some_aout_object_p): Initialize windows.
2888 (aout_get_external_symbols): Get symbol data and strings in
2889 windows instead of explicitly allocated buffers.
2890 (slurp_symbol_table): Free window instead of memory.
2891 (bfd_free_cached_info): Release windows instead of freeing storage
2892 directly.
2893 (aout_link_free_symbols): Ditto.
2894
2895 * targets.c (bfd_target): Add new field for
2896 get_section_contents_in_window.
2897 (BFD_JUMP_TABLE_GENERIC): Updated.
2898 * aout-adobe.c, aout-target.h, binary.c, bout.c, coff-alpha.c,
2899 coff-mips.c, elfxx-target.h, i386msdos.c, i386os9k.c, ieee.c,
2900 libcoff-in.h, oasys.c, srec.c, tekhex.c, versados.c: Added new
2901 macros for get_section_contents_in_window field.
2902
2903 Sat Nov 4 12:23:26 1995 Fred Fish <fnf@cygnus.com>
2904
2905 * core.c: Renamed to corefile.c
2906 * makefile.dos (OBJS): Change core.o to corefile.o
2907 * Makefile.in (CFILES, BFD_LIBS): Use corefile.c instead of core.c
2908
2909 start-sanitize-gm
2910 Sat Nov 4 10:16:54 1995 Stu Grossman (grossman@cygnus.com)
2911
2912 * config.bfd (mips*-*-magic*): Add bfd_elf32_bigmips_vec to
2913 targ_selvecs to allow debugging under Irix-5 native.
2914
2915 end-sanitize-gm
2916 Fri Nov 3 15:54:59 1995 Ian Lance Taylor <ian@cygnus.com>
2917
2918 * xcofflink.c (xcoff_link_add_symbols): Rename local variable sub
2919 to o. Clobber and restore the list of new csects around the call
2920 to _bfd_generic_link_add_one_symbol, in case it wants to report a
2921 linker error and the linker wants to read the symbol table. Reset
2922 the line number count of a real section even if it has no relocs.
2923 (_bfd_xcoff_bfd_final_link): If shared, set the DYNAMIC flag.
2924
2925 * coffgen.c (_bfd_coff_read_string_table): Warn if the string size
2926 is too small.
2927
2928 Thu Nov 2 23:16:39 1995 Ian Lance Taylor <ian@cygnus.com>
2929
2930 * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Don't warn about
2931 an undefined symbol in a shared link.
2932
2933 * linker.c (_bfd_generic_link_add_one_symbol): Correct type of
2934 oldtype from bfd_link_order_type to bfd_link_hash_type. From
2935 phdm@info.ucl.ac.be (Philippe De Muyter).
2936
2937 Wed Nov 1 14:26:02 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de>
2938
2939 * coff-m88k.c (rtype2howto): New static function.
2940 (RTYPE2HOWTO): Use it rather than a macro definition.
2941
2942 * coffcode.h (coff_write_object_contents): set internal_a.magic
2943 to PAGEMAGICPEXECPAGED #if defined (M68) && !defined (LYNXOS).
2944
2945 * configure.in: m68*-motorola-sysv* does not use ptrace-core.o;
2946 define TRAD_HEADER to new file hosts/delta68.h.
2947 m88*-motorola-sysv*, however, does use ptrace-core.o.
2948 * hosts/delta68.h: New file.
2949
2950 * ptrace-core.c (ptrace_unix_core_file_p): change bfd_zmalloc to
2951 bfd_zalloc; provide proper parm abfd to calls to bfd_zalloc.
2952
2953 Wed Nov 1 13:51:54 1995 Ken Raeburn <raeburn@cygnus.com>
2954
2955 * i386linux.c (MY(vec)): Declare before use.
2956
2957 Wed Nov 1 11:45:07 1995 Ian Lance Taylor <ian@cygnus.com>
2958
2959 * reloc16.c (bfd_coff_reloc16_get_relocated_section_contents):
2960 Pass input_bfd, not in_bfd, to bfd_coff_reloc16_extra_cases.
2961
2962 * elf.c (bfd_elf_set_dt_needed_name): Don't do anything if the
2963 BFD is not of the right type.
2964 (bfd_elf_get_needed_list): Likewise.
2965 * i386linux.c (bfd_linux_size_dynamic_sections): Likewise.
2966 * sunos.c (bfd_sunos_get_needed_list): Likewise.
2967 * xcofflink.c (XCOFF_XVECP): Define.
2968 (bfd_xcoff_link_record_set): Don't do anything if the BFD is not
2969 of the right type.
2970 (bfd_xcoff_import_symbol): Likewise.
2971 (bfd_xcoff_export_symbol): Likewise.
2972 (bfd_xcoff_link_count_reloc): Likewise.
2973 (bfd_xcoff_record_link_assignment): Likewise.
2974 (bfd_xcoff_size_dynamic_sections): Likewise.
2975
2976 * sunos.c (sunos_scan_ext_relocs): Only check the reloc symbol
2977 table index against the number of symbols for a base relative
2978 reloc.
2979
2980 * coff-rs6000.c (_bfd_xcoff_sizeof_headers): Change from macro to
2981 static function.
2982 * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Set
2983 full_aouthdr flag here...
2984 (_bfd_xcoff_bfd_final_link): ...not here.
2985
2986 Tue Oct 31 12:52:02 1995 Fred Fish <fnf@cygnus.com>
2987
2988 * libelf.h: Rename to elf-bfd.h to avoid conflict with
2989 systems that have a system <libelf.h>.
2990 * Makefile.in: Globally replace libelf.h with elf-bfd.h.
2991 * bfd.c, elf.c, elf32-arc.c, elf32-gen.c, elf32-hppa.c,
2992 elf32-hppa.h, elf32-i386.c, elf32-i860.c, elf32-m68k.c,
2993 elf32-m88k.c, elf32-mips.c, elf32-ppc.c, elf32-sparc.c,
2994 elf64-gen.c, elf64-sparc.c, elfcode.h, elflink.c,
2995 elfxx-target.h: Include elf-bfd.h rather than libelf.h.
2996 * elfxx-target.h: Change libelf.h reference to elf-bfd.h.
2997
2998 Tue Oct 31 15:30:07 1995 David Mosberger-Tang <davidm@azstarnet.com>
2999
3000 * ecoff.c (ecoff_set_symbol_info): Add new parameter weak. If
3001 set, set BSF_WEAK in symbol. Change all callers.
3002 (ecoff_get_extr): Set weakext based on BSF_WEAK.
3003 (ecoff_link_add_externals): If weakext is set, pass BSF_WEAK to
3004 _bfd_generic_link_add_one_symbol.
3005 (ecoff_indirect_link_order): Check that the section tdata relocs
3006 are not NULL before using them.
3007
3008 * configure.in (alpha*-*-linux*): Set COREFILE to trad-core.o and
3009 define TRAD_HEADER as hosts/alphalinux.h.
3010 * configure: Rebuild.
3011 * hosts/alphalinux.h: New file.
3012 * trad-core.c (trad_unix_core_file_p): Cast u.u_ar0 to bfd_vma,
3013 not int.
3014
3015 Tue Oct 31 12:34:11 1995 Ian Lance Taylor <ian@cygnus.com>
3016
3017 * coffcode.h (coff_slurp_symbol_table): Accept C_BCOMM and
3018 C_ECOMM storage classes.
3019
3020 * xcofflink.c (xcoff_mark_symbol): New static function, broken out
3021 of xcoff_mark.
3022 (xcoff_mark): Call xcoff_mark_symbol.
3023 (bfd_xcoff_export_symbol): Call xcoff_mark_symbol.
3024 (bfd_xcoff_link_count_reloc): Call xcoff_mark_symbol rather than
3025 doing it by hand.
3026 (xcoff_build_ldsyms): Build a .loader symbol for an export symbol.
3027
3028 Mon Oct 30 14:53:48 1995 Ian Lance Taylor <ian@cygnus.com>
3029
3030 * xcofflink.c (struct xcoff_final_link_info): Add new line_filepos
3031 field.
3032 (xcoff_find_reloc): New static function.
3033 (xcoff_link_add_symbols): Use it.
3034 (_bfd_xcoff_bfd_final_link): Set finfo.line_filepos.
3035 (xcoff_link_input_bfd): Handle C_BINCL and C_EINCL. Don't
3036 relocate the value of C_DECL.
3037
3038 * elf.c (elf_fake_sections): Remove bogus BFD_ASSERT.
3039
3040 Sat Oct 28 01:25:34 1995 steve chamberlain <sac@slash.cygnus.com>
3041
3042 * cofflink.c (_bfd_coff_generic_relocate_section): Make
3043 callback decide what goes in .relocs.
3044 * pe[i]-i386.c (TARGET_UNDERSCORE): Define.
3045 * peicode.h (pe_mkobject_hook): Only copy aouthdr if
3046 there is one.
3047
3048 Sat Oct 28 01:51:02 1995 Ian Lance Taylor <ian@cygnus.com>
3049
3050 * xcofflink.c (xcoff_link_add_symbols): Handle csects in the
3051 absolute section.
3052
3053 Fri Oct 27 18:14:39 1995 Ian Lance Taylor <ian@cygnus.com>
3054
3055 * xcofflink.c: More improvements, mostly to fix handling of
3056 constructors and a few other special cases.
3057 * coff-rs6000.c (rs6000coff_vec): Set symbol_leading_char back to
3058 zero, reverting yesterday's change.
3059 * bfd-in.h (bfd_xcoff_link_record_set): Declare.
3060 (bfd_xcoff_link_count_reloc): Declare.
3061 (bfd_xcoff_record_link_assignment): Declare.
3062 * bfd-in2.h: Rebuild.
3063
3064 Fri Oct 27 14:42:15 1995 Niklas Hallqvist <niklas@appli.se>
3065
3066 * PORTING, aout-arm.c, aout-encap.c, aout-rce.c, aout-target.h,
3067 aoutx.h, gen-aout.c, host-aout.c, hp300bsd.c, i386aout.c
3068 i386bsd.c, i386dynix.c, i386linux.c, i386lynx.c, i386mach3.c,
3069 i386netbsd.c, m68klynx.c, m88kmach3.c, mipsbsd.c, newsos3.c,
3070 ns32knetbsd.c, pc532-mach.c, riscix.c, sparclynx.c, sparcnetbsd.c:
3071 Change PAGE_SIZE to TARGET_PAGE_SIZE.
3072
3073 * m68knetbsd.c: Ditto as well as add support for the m68k4k object
3074 format.
3075
3076 * netbsd.h: Double ditto (incl. m68k4k support). NetBSD's text
3077 segments includes the a.out header. See to that the magic number
3078 *always* is big-endian.
3079
3080 * config.bfd: Add m68*-hp*-netbsd* case. Cross-pollinate m68k and
3081 m68k4k NetBSD configurations.
3082
3083 * configure.in, configure: Separate i386 & mips NetBSD
3084 configurations from other BSD ones. Don't assume DEC is the only
3085 thing NetBSD/mips run on. Add {m68k,ns32k,sparc}-*-netbsd*
3086 configurations. Add support for m68k4k NetBSD object format.
3087
3088 * libaout.h: Added M_68K4K_NETBSD magic.
3089
3090 * m68k4knetbsd.c: New file.
3091
3092 * hosts/{m68k,sparc}nbsd.h: Don't define HOST_BIG_ENDIAN_P.
3093
3094 * hosts/nbsd.h: Define HOST_BIG_ENDIAN_P according to
3095 <machine/endian.h>.
3096
3097 * hosts/mipsnbsd.h: New file.
3098
3099 start-sanitize-gm
3100 Fri Oct 27 09:41:51 1995 Stu Grossman (grossman@cygnus.com)
3101
3102 * config.bfd: Add config stuff for mips*-*-magic* to set
3103 targ_defvec to ecoff_big_vec.
3104
3105 end-sanitize-gm
3106 Thu Oct 26 14:16:47 1995 Ian Lance Taylor <ian@cygnus.com>
3107
3108 * xcofflink.c: Numerous changes to get closer to a working XCOFF
3109 linker.
3110 * libcoff-in.h (struct xcoff_tdata): Add full_aouthdr,
3111 toc_section, and entry_section fields.
3112 (struct xcoff_section_tdata): Remove ldrel_count field.
3113 * libcoff.h: Rebuild.
3114 * coffcode.h (coff_mkobject_hook): Initialize new xcoff_data
3115 fields.
3116 (coff_compute_section_file_positions): If RS6000COFF_C, generate
3117 full a.out header if full_aouthdr is set in xcoff_data.
3118 (coff_write_object_contents): Likewise. Set o_snentry and o_sntoc
3119 based on sections stored in xcoff_data.
3120 * coff-rs6000.c (xcoff_copy_private_bfd_data): Copy new xcoff_data
3121 fields.
3122 (xcoff_reloc_type_lookup): Handle BFD_RELOC_CTOR.
3123 (rs6000coff_vec): Set symbol_leading_char to '.'.
3124 * coffgen.c (coff_get_symbol_info): If fix_value is set, fix the
3125 value stored in ret rather than returning a pointer value.
3126
3127 Wed Oct 25 23:10:39 1995 Michael Meissner <meissner@tiktok.cygnus.com>
3128
3129 * config.bfd (powerpc{,le}-{elf,sysv4,eabi,solaris2}): Remove MAC
3130 format for now.
3131
3132 Wed Oct 25 16:19:27 1995 Jeffrey A Law (law@cygnus.com)
3133
3134 * som.c (som_slurp_string_table): Allocate the strings with malloc
3135 since they're free'd by free_cached_info.
3136 (som_slurp_symbol_table): Similarly for the symbol table.
3137
3138 Wed Oct 25 14:59:22 1995 Per Bothner <bothner@kalessin.cygnus.com>
3139
3140 * Makefile.in (diststuff): Don't make headers.
3141
3142 Wed Oct 25 11:32:54 1995 Ian Lance Taylor <ian@cygnus.com>
3143
3144 * Makefile.in: Rebuild dependencies.
3145
3146 * sunos.c (bfd_sunos_record_link_assignment): Don't do anything if
3147 output_bfd is not SunOS.
3148 (bfd_sunos_size_dynamic_sections): Likewise. Don't scan relocs of
3149 non-SunOS input files.
3150
3151 * xcofflink.c: Extensive changes to support linking shared objects
3152 and generating a .loader section.
3153 * libcoff-in.h (struct xcoff_tdata): Add import_file_id field.
3154 (struct xcoff_section_tdata): Add lineno_count, first_symndx,
3155 last_symndx, and ldrel_count fields.
3156 * libcoff.h: Rebuild.
3157 * coff-rs6000.c (xcoff_howto_table): Correct reloc names.
3158 * coffcode.h (styp_to_sec_flags): Don't set any flags if STYP_PAD
3159 is set.
3160 * bfd-in.h (bfd_xcoff_import_symbol): Declare.
3161 (bfd_xcoff_export_symbol): Declare.
3162 (bfd_xcoff_size_dynamic_sections): Declare.
3163 * bfd-in2.h: Rebuild.
3164
3165 Tue Oct 24 17:44:20 1995 Stan Shebs <shebs@andros.cygnus.com>
3166
3167 * configure.in: Add xcofflink.o to pmac_xcoff_vec.
3168 * configure: Rebuild.
3169 * mpw-config.in: Add xcofflink.c.o to powerpc-apple-macos.
3170 * coff-pmac.c: Include coff-rs6000.c instead of duplicating its
3171 contents.
3172 (pmac_xcoff_vec): Update to use new xcoff support.
3173 * coff-rs6000.c (xcoff_generic_stat_arch_elt): Make static.
3174 (xcoff_write_armap): Declare buf as unsigned char.
3175 * xcofflink.c (xcoff_link_add_symbols): Declare a local as PTR.
3176
3177 * mpw-make.sed: Generalize subdir_do edit.
3178
3179 Tue Oct 24 10:25:01 1995 Jeffrey A Law (law@cygnus.com)
3180
3181 * hppabsd-core.c (make_bfd_asection): Initialize asect->filepos
3182 correctly. Don't initialize asect->vma.
3183
3184 Fri Oct 20 13:23:48 1995 Ken Raeburn <raeburn@cygnus.com>
3185
3186 * opncls.c (_bfd_new_bfd): If _bfd_chunksize wasn't preset, use
3187 something a little less than the page size.
3188
3189 Thu Oct 19 13:06:09 1995 Ian Lance Taylor <ian@cygnus.com>
3190
3191 * coff-i960.c (coff_i960_adjust_symndx): Clear *adjustedp.
3192
3193 Wed Oct 18 16:20:08 1995 steve chamberlain <sac@slash.cygnus.com>
3194
3195 * coff-i386.c (coff_i386_reloc_type_lookup): New.
3196 * coffcode.h (coff_write_object_contents): If .bss is before
3197 .data us that as data_start.
3198 * cofflink.c (_bfd_coff_generic_relocate_section): Get reloc
3199 calc correct.
3200 * peicode.h (add_data_entry): Use _cooked_size of data directory.
3201 (coff_swap_outhdr_out): Hardwire in version number.
3202
3203 Wed Oct 18 16:50:54 1995 Ken Raeburn <raeburn@cygnus.com>
3204
3205 * sunos.c (sunos_add_dynamic_symbols): Rename local variables
3206 major and minor to *_vno, since the former are also macros in
3207 SunOS header files. Cast result of bfd_alloc to appropriate
3208 type.
3209
3210 * coffgen.c (coff_find_nearest_line): Cast used_by_bfd value
3211 before assigning to sec_data.
3212
3213 Wed Oct 18 13:25:17 1995 Ian Lance Taylor <ian@cygnus.com>
3214
3215 * ecoff.c (_bfd_ecoff_find_nearest_line): The offset argument is
3216 now relative to the section, not absolute.
3217 * ecofflink.c (_bfd_ecoff_locate_line): Use the right symbol to
3218 get the file name when there is a N_SO directory name. When
3219 handling stabs, remember that section->vma was added to the
3220 offset.
3221
3222 Tue Oct 17 18:24:54 1995 Ian Lance Taylor <ian@cygnus.com>
3223
3224 * sunos.c (struct sunos_link_hash_table): Add needed field.
3225 (sunos_link_hash_table_create): Call bfd_release, not free.
3226 (sunos_link_hash_table_create): Initialize needed field.
3227 (sunos_add_dynamic_symbols): Record needed objects.
3228 (bfd_sunos_get_needed_list): New function.
3229 * bfd-in.h (bfd_sunos_get_needed_list): Declare.
3230 * bfd-in2.h: Rebuild.
3231
3232 Mon Oct 16 14:43:59 1995 steve chamberlain <sac@slash.cygnus.com>
3233
3234 * libcoff-in.h (pe_data_type.in_reloc_p): New.
3235
3236 Mon Oct 16 10:52:50 1995 Ian Lance Taylor <ian@cygnus.com>
3237
3238 * bfd-in.h (struct bfd_link_needed_list): Rename from
3239 bfd_elf_link_needed_list.
3240 * bfd-in2.h: Rebuild.
3241 * elf.c, elflink.h, libelf.h: Corresponding changes.
3242
3243 Add start at AIX linker support; no shared libraries yet.
3244 * xcofflink.c: New file.
3245 * configure.in (rs600coff_vec): Use xcofflink.o.
3246 * configure: Rebuild.
3247 * libcoff-in.h (struct xcoff_tdata): Add csects and debug_indices
3248 fields.
3249 (struct xcoff_section_tdata): Define.
3250 (xcoff_section_data): Define macro.
3251 (_bfd_xcoff_bfd_link_hash_table_create): Declare.
3252 (_bfd_xcoff_bfd_link_add_symbols): Declare.
3253 (_bfd_xcoff_bfd_final_link): Declare.
3254 (_bfd_ppc_xcoff_relocate_section): Declare.
3255 * libcoff.h: Rebuild.
3256 * coff-rs6000.c: Clean up a bit.
3257 (xcoff_mkobject): Default modtype to 1L, not RE. Initialize
3258 cputype, csects, and debug_indices.
3259 (xcoff_copy_private_bfd_data): Copy cputype.
3260 (xcoff_howto_table): Rename from rs6000coff_howto_table.
3261 (xcoff_rtype2howto): Rename from rs6000coff_rtype2howto.
3262 (xcoff_reloc_type_lookup): Rename from
3263 rs6000coff_reloc_type_lookup.
3264 (coff_relocate_section): Define.
3265 (_bfd_xcoff_sizeof_headers): Define.
3266 (_bfd_xcoff_bfd_get_relocated_section_contents): Define.
3267 (_bfd_xcoff_bfd_relax_section): Define.
3268 (_bfd_xcoff_bfd_link_split_section): Define.
3269 (rs6000coff_vec): For BFD_JUMP_TABLE_LINK, use _bfd_xcoff, not
3270 coff.
3271 * coffcode.h (coff_compute_section_file_positions): If AIX,
3272 increment sofar by SMALL_AOUTSZ if not executable.
3273 (coff_write_object_contents): If AIX, always output an a.out
3274 header; if not executable, header size of SMALL_AOUTSZ.
3275 * hash.c (struct bfd_strtab_hash): Add xcoff field.
3276 (_bfd_stringtab_init): Initialize xcoff field.
3277 (_bfd_xcoff_stringtab_init): New function.
3278 (_bfd_stringtab_add): In XCOFF mode, leave two bytes for length.
3279 (_bfd_stringtab_emit): In XCOFF mode, write out length.
3280 * libbfd-in.h (_bfd_xcoff_stringtab_init): Declare.
3281 * libbfd.h: Rebuild.
3282 * Makefile.in: Rebuild dependencies.
3283 (BFD32_BACKENDS): Add xcofflink.o.
3284 (CFILES): Add xcofflink.c.
3285
3286 * elf32-mips.c (mips_elf_symbol_processing): Set SEC_ALLOC, not
3287 SEC_NO_FLAGS, for .acommon section. From Peter Schauer
3288 <Peter.Schauer@Regent.E-Technik.TU-Muenchen.DE>.
3289
3290 Sat Oct 14 21:36:02 1995 Michael Meissner <meissner@tiktok.cygnus.com>
3291
3292 * coff-ppc.c (in_reloc_p): Add, clone from coff-i386.c.
3293
3294 Fri Oct 13 17:48:43 1995 Ken Raeburn <raeburn@cygnus.com>
3295
3296 * acconfig.h (HAVE_SYS_PROCFS_H): Undef, with comment.
3297 * config.in: Regenerated.
3298
3299 * opncls.c (getpagesize) [!HAVE_GETPAGESIZE]: Define as 2048.
3300 (_bfd_chunksize): New variable.
3301 (_bfd_new_bfd): Set it to getpagesize() if negative, and use it
3302 for obstack chunk size.
3303 * configure.in: Check for getpagesize.
3304 * configure: Regenerated.
3305
3306 Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3307
3308 * trad-core.c (rawptr): Make it a local variable of
3309 ptrace_unix_core_file_p.
3310
3311 Fri Oct 13 11:22:01 1995 steve chamberlain <sac@slash.cygnus.com>
3312
3313 * coff-arm.c (in_reloc_p): New.
3314 * coff-i386.c (in_reloc_p): New.
3315 * coffcode.h: Allways include peicode.h if COFF_WITH_PE.
3316 (coff_write_object_contents): Only set has_reloc_section
3317 if PE_IMAGE.
3318 * cofflink.c (_bfd_coff_generic_relocate_section): Call
3319 in_reloc_p to decide if reloc should be emitted.
3320 * libcoff.h (pe_data_type.in_reloc_p): New.
3321 * peicode.h (pe_mkobject): Initialize in_reloc_p.
3322
3323 Wed Oct 11 00:49:29 1995 Ian Lance Taylor <ian@cygnus.com>
3324
3325 * cofflink.c (_bfd_coff_internal_syment_name): Move to coffgen.c.
3326 (_bfd_coff_read_internal_relocs): Likewise.
3327 * coffgen.c (_bfd_coff_internal_syment_name): Copy from coffgen.c.
3328 (_bfd_coff_read_internal_relocs): Likewise.
3329
3330 * elflink.h (elf_link_add_object_symbols): Correct conditions
3331 under which type and size change warnings are issued.
3332
3333 Tue Oct 10 18:32:46 1995 Ian Lance Taylor <ian@cygnus.com>
3334
3335 * coffgen.c (coff_count_linenumbers): Don't count line numbers for
3336 a symbol which is not in a real section.
3337 (coff_write_native_symbol): Corresponding change.
3338
3339 * cofflink.c (_bfd_coff_link_hash_newfunc): Rename from
3340 coff_link_hash_newfunc and make non-static.
3341 (_bfd_coff_link_hash_table_init): New function, broken out of
3342 _bfd_coff_link_hash_table_create.
3343 (_bfd_coff_link_hash_table_create): Use it.
3344 (process_embedded_commands): Make static.
3345 * libcoff-in.h ((_bfd_coff_link_hash_newfunc): Declare.
3346 (_bfd_coff_link_hash_table_init): Declare.
3347 * libcoff.h: Rebuild.
3348
3349 * coffcode.h (coff_mkobject_hook): If RS6000COFF_C, set cputype
3350 field in XCOFF tdata.
3351 (coff_set_arch_mach_hook): Check ifdef RS6000COFF_C, not ifdef
3352 U802ROMAGIC, for clarity. Try to set arch and machine correctly
3353 based on cputype stored in a.out header, or in n_type of initial
3354 .file symbol.
3355 (coff_write_object_contents): Set cputype correctly in a.out
3356 header.
3357 (coff_slurp_symbol_table): Add casts to file_ptr to avoid
3358 warnings.
3359 * coffswap.h (coff_swap_aouthdr_in): Swap in cputype field.
3360 (coff_swap_aouthdr_out): Swap out cputype field. Don't clear
3361 old resv1 field.
3362 * libcoff-in.h (struct xcoff_tdata): Add cputype field.
3363 * libcoff.h: Rebuild.
3364
3365 * cpu-rs6000.c (rs6000_compatible): New static function.
3366 (bfd_rs6000_arch): Use it.
3367 * cpu-powerpc.c (powerpc_compatible): New static function.
3368 (arch_info_struct): Define various flavours of PowerPC.
3369 (bfd_powerpc_arch): Use powerpc_compatible. Point at
3370 arch_info_struct.
3371
3372 Tue Oct 10 10:50:46 1995 Fred Fish <fnf@cygnus.com>
3373
3374 * Makefile.in (FLAGS_TO_PASS): Remove BISON.
3375
3376 Tue Oct 10 01:28:29 1995 Ian Lance Taylor <ian@cygnus.com>
3377
3378 * elflink.h (elf_link_add_object_symbols): Don't warn about
3379 changing the size or type if the old definition was weak.
3380
3381 Mon Oct 9 11:24:08 1995 Ian Lance Taylor <ian@cygnus.com>
3382
3383 * coffcode.h (combined_entry_type): Add fix_line field.
3384 (coff_slurp_line_table): Warn if we try to set the lineno field of
3385 a symbol twice.
3386 (coff_slurp_symbol_table): If RS6000COFF_C, handle C_BINCL and
3387 C_EINCL by setting fix_line. Fix C_BSTAT symbol value.
3388 * coffgen.c (coff_mangle_symbols): Handle fix_line.
3389 (coff_write_symbol): Only use N_DEBUG if the symbol is in the
3390 absolute section.
3391 (coff_print_symbol): Print fix_value symbols in a useful fashion.
3392 * libcoff.h: Rebuild.
3393
3394 * libcoff-in.h (struct xcoff_tdata): Define.
3395 (xcoff_data): Define.
3396 * bfd.c (struct _bfd): Add xcoff_obj_data field to tdata union.
3397 * bfd-in2.h, libcoff.h: Rebuild.
3398 * coff-rs6000.c (xcoff_mkobject): New static function.
3399 (coff_mkobject): Define.
3400 (xcoff_copy_private_bfd_data): New static function.
3401 (coff_bfd_copy_private_bfd_data): Define.
3402 (rs6000coff_howto_table): Change R_TOC complain_on_overflow from
3403 signed to bitfield.
3404 (rs6000coff_vec): Add DYNAMIC to object_flags.
3405 * coffcode.h (sec_to_styp_flags): If RS6000COFF_C, handle .pad and
3406 .loader sections specially.
3407 (coff_new_section_hook): If RS6000COFF_C, get the .text and .data
3408 section alignment from the XCOFF tdata information.
3409 (coff_mkobject_hook): If RS6000COFF_C, set DYNAMIC based on
3410 F_SHROBJ, and copy the extra a.out header information into the
3411 XCOFF tdata structure.
3412 (coff_write_object_contents): If RS6000COFF_C, set F_SHROBJ,
3413 F_DYNLOAD and the extra a.out header information.
3414 (coff_slurp_symbol_table): Set BSF_NOT_AT_END for a C_EXT or
3415 C_HIDEXT symbol with attached csect information.
3416 * coffswap.h (coff_swap_aouthdr_in): If RS6000COFF_C, swap
3417 in the o_maxdata field.
3418 (coff_swap_aouthdr_out): If RS6000COFF_C, swap extra XCOFF fields.
3419 * coffgen.c (coff_renumber_symbols): Don't move any symbol to the
3420 end if BSF_NOT_AT_END is set.
3421
3422 * targets.c (bfd_target): Rename _bfd_read_ar_hdr field to
3423 _bfd_read_ar_hdr_fn.
3424 * libbfd-in.h (_bfd_read_ar_hdr): Update accordingly.
3425 * bfd-in2.h, libbfd.h: Rebuild.
3426 * archive.c (_bfd_get_elt_at_filepos): Cast _bfd_read_ar_hdr
3427 return value.
3428 (do_slurp_bsd_armap, do_slurp_coff_armap): Likewise.
3429 (bfd_slurp_bsd_armap_f2): Likewise.
3430 (_bfd_slurp_extended_name_table): Likewise.
3431
3432 Fri Oct 6 16:18:35 1995 Ken Raeburn <raeburn@cygnus.com>
3433
3434 Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
3435
3436 * archive.c (bfd_get_next_mapent): Return BFD_NO_MORE_SYMBOLS
3437 when the symbol table is empty.
3438
3439 * elf32-m68k.c (elf_m68k_size_dynamic_sections): Don't reserve
3440 space for section symbols, since we don't output them either.
3441 (elf_m68k_adjust_dynindx): Removed.
3442
3443 * ptrace-core.c (rawptr): Make it a local variable of
3444 ptrace_unix_core_file_p.
3445
3446 Fri Oct 6 12:24:47 1995 Michael Meissner <meissner@tiktok.cygnus.com>
3447
3448 * coff-rs6000.c (xcoff_write_archive_contents): Return false, not
3449 NULL.
3450
3451 * config.bfd (powerpc{,le}-{elf,sysv4,eabi,solaris2}): Add NT, and
3452 Mac object file formats.
3453
3454 Fri Oct 6 12:04:02 1995 Ian Lance Taylor <ian@cygnus.com>
3455
3456 * coffgen.c (coff_fix_symbol_name): Don't try to set up file
3457 auxent if there isn't one.
3458 (coff_write_symbols): If there is no file auxent, use SYMNMLEN
3459 rather than FILNMLEN as the maximum name length.
3460
3461 * coffcode.h (bfd_coff_backend_data): Add new field
3462 _bfd_coff_print_aux.
3463 (bfd_coff_print_aux): New static function.
3464 (coff_pointerize_aux_hook (RS6000COFF_C version)): Pointerize the
3465 scnlen field of an XTY_LD csect aux entry.
3466 (coff_print_aux): New static function.
3467 (coff_slurp_symbol_table): Don't pointerize scnlen field; now done
3468 in coff_pointerize_aux_hook.
3469 (bfd_coff_std_swap_table): Initialize new field.
3470 * coffgen.c (coff_print_symbol): Call bfd_coff_print_aux.
3471 * libcoff.h: Rebuild.
3472 * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
3473 * coff-mips.c (mips_ecoff_backend_data): Likewise.
3474
3475 * coffcode.h (coff_write_object_contents): On AIX, clear F_RELFLG
3476 if there are symbols, for native AIX ld compatibility.
3477
3478 * coffcode.h (bfd_coff_backend_data): Add new field
3479 _bfd_coff_pointerize_aux_hook.
3480 (coff_pointerize_aux_hook): Define as a function if RS6000COFF_C
3481 or I960, and as 0 otherwise.
3482 (bfd_coff_std_swap_table): Initialize new field.
3483 * libcoff.h: Rebuild.
3484 * coffgen.c (coff_pointerize_aux): Change parameters to take
3485 symbol pointer instead of type and class, and to take aux index.
3486 Call _bfd_coff_pointerize_aux_hook if it is defined.
3487 (coff_get_normalized_symtab): Always call coff_pointerize_aux.
3488 * coff-alpha.c (alpha_ecoff_backend_data): Initialize all fields.
3489 * coff-mips.c (mips_ecoff_backend_data): Likewise.
3490
3491 * coff-rs6000.c: Add full support for AIX archives. Rewrite old
3492 read-only/host-only support.
3493
3494 * coffcode.h (coff_slurp_symbol_table): Set C_HIDEXT symbols to be
3495 BSF_LOCAL.
3496 (OTHER_GLOBAL_CLASS): Do not define to be C_HIDEXT if
3497 RS6000COFF_C.
3498
3499 * targets.c (bfd_target): Add _bfd_read_ar_hdr field. Modify
3500 BFD_JUMP_TABLE_ARCHIVE accordingly.
3501 * libbfd-in.h (_bfd_snarf_ar_hdr): Don't declare.
3502 (_bfd_compute_and_write_armap): Declare.
3503 (_bfd_generic_read_ar_hdr): Declare.
3504 (_bfd_read_ar_hdr): Define.
3505 (_bfd_noarchive_read_ar_hdr): Define.
3506 (_bfd_archive_bsd_read_ar_hdr): Define.
3507 (_bfd_archive_coff_read_ar_hdr): Define.
3508 * archive.c: Change all callers of _bfd_snarf_ar_hdr to call
3509 _bfd_read_ar_hdr instead.
3510 (_bfd_generic_read_ar_hdr): Rename from _bfd_snarf_ar_hdr.
3511 (_bfd_compute_and_write_armap): Rename from
3512 compute_and_write_armap. Make non-static. Change all callers.
3513 * ecoff.c (_bfd_ecoff_slurp_armap): Call _bfd_read_ar_hdr rather
3514 than _bfd_snarf_ar_hdr.
3515 * aout-target.h (MY_read_ar_hdr): Define if not defined.
3516 * ieee.c (ieee_read_ar_hdr): Define.
3517 * libecoff.h (_bfd_ecoff_read_ar_hdr): Define.
3518 * oasys.c (oasys_read_ar_hdr): Define.
3519 * som.c (som_read_ar_hdr): Define.
3520 * bfd-in2.h, libbfd.h: Rebuild.
3521
3522 Thu Oct 5 14:04:07 1995 steve chamberlain <sac@slash.cygnus.com>
3523
3524 * peicode.c (coff_swap_filehdr_in): If symptr is
3525 zero, there aren't any symbols, even if nsyms is set.
3526
3527 Thu Oct 5 11:45:02 1995 Ian Lance Taylor <ian@cygnus.com>
3528
3529 * libecoff.h (struct ecoff_backend_data): Add adjust_headers
3530 field.
3531 * ecoff.c (ecoff_sec_to_styp_flags): Check for various Alpha
3532 sections, and set styp correctly for them: .got, .hash, .dynamic,
3533 .liblist, .rel.dyn, .conflic, .dynstr, .dynsym, .comment.
3534 (_bfd_ecoff_styp_to_sec_flags): Check for various Alpha section
3535 types.
3536 (ecoff_sort_hdrs): New static function.
3537 (ecoff_compute_section_file_positions): Return boolean, not void.
3538 Sort the sections by VMA before looking through them. Put the
3539 first non SEC_ALLOC section on a new page. Put every SEC_ALLOC
3540 section on an appropriate boundary within the page.
3541 (ecoff_compute_reloc_file_positions): Check return value of
3542 ecoff_compute_section_file_positions.
3543 (_bfd_ecoff_set_section_contents): Likewise.
3544 (_bfd_ecoff_write_object_contents): Check for various Alpha
3545 section types when incrementing text_size and data_size. Call
3546 adjust_headers backend function if it exists.
3547 * coff-alpha.c (alpha_adjust_headers): New static function.
3548 (alpha_ecoff_backend_data): Initialize adjust_headers field.
3549 * coff-mips.c (mips_ecoff_backend_data): Likewise.
3550
3551 * hosts/i386bsd.h: Restore file incorrectly deleted on Sep 6.
3552
3553 Wed Oct 4 18:15:02 1995 Jeff Law (law@hurl.cygnus.com)
3554
3555 * rs6000-core.c (CORE_VERSION_1): Use CORE_VERSION_1 instead
3556 of ALTERNATE_AIX_CORE_FORMAT.
3557 * configure.in (aix4): No longer need CORE_FLAGS.
3558 * configure: Updated.
3559
3560 Wed Oct 4 15:36:36 1995 Ken Raeburn <raeburn@cygnus.com>
3561
3562 NS32k changes from Ian Dall:
3563 * aoutx.h (MY_final_link_relocate, MY_relocate_contents): New
3564 macros.
3565 (aout_link_input_section_std, aout_link_input_section_ext,
3566 aout_link_reloc_link_order): Call them instead of _bfd_*
3567 versions.
3568 * aout-target.h (MY_exec_header_not_counted): New macro, defaults
3569 to zero.
3570 (backend_data): Use it instead of hardcoded zero.
3571
3572 * aout-ns32k.c (CTOR_TABLE_RELOC_HOWTO): New macro.
3573 (MY_swap_std_reloc_out): Use udata.i for KEEPIT, don't call stoi.
3574
3575 * ns32knetbsd.c: Include bfd.h.
3576 (MY_text_includes_header, MY_bfd_reloc_type_lookup): New macros.
3577 (MY_bfd_reloc_type_lookup): Declare function too.
3578 * pc532-mach.c (set_sizes): Don't declare.
3579 (MY_text_includes_header, MY_exec_header_not_counted): Define.
3580 (backend_data, MY_backend_data): Don't define.
3581
3582 * config.bfd: Treat ns32k-pc532-ux* like ns32k-pc532-mach*, and
3583 ns32k-*-lites* like ns32k-*-netbsd*.
3584
3585 * hosts/nbsd.h: Swap order of sys/vmparam.h and sys/param.h, to
3586 compile on lites.
3587
3588 Wed Oct 4 14:15:52 1995 Ian Lance Taylor <ian@cygnus.com>
3589
3590 * coffcode.h (coff_write_object_contents): Restore setting
3591 f_timdat to 0, deleted on August 22.
3592
3593 Tue Oct 3 16:28:32 1995 steve chamberlain <sac@slash.cygnus.com>
3594
3595 * coffcode.h (coff_bfd_copy_private_symbol_data,
3596 coff_bfd_copy_private_section_data,
3597 coff_bfd_copy_private_bfd_data): ifdef to allow overrides.
3598 * peicode.h (coff_bfd_copy_private_bfd_data): New
3599 (pe_bfd_copy_private_bfd_data): New.
3600 (coff_swap_scnhdr_in): Swap bss size into the right place.
3601 (pe_print_private_bfd_data): Add some newlines.
3602
3603 Tue Oct 3 11:53:04 1995 Jeff Law (law@hurl.cygnus.com)
3604
3605 * som.c (setup_sections): Don't die if a space has no subspaces.
3606
3607 Mon Oct 2 14:08:55 1995 Ian Lance Taylor <ian@cygnus.com>
3608
3609 * elflink.h (elf_link_add_object_symbols): Don't let a weak
3610 dynamic symbol override a common symbol. Don't change the size or
3611 type if they have been set and the new symbol is not a definition.
3612 Warn if the size or type changes.
3613
3614 Sun Oct 1 01:34:41 1995 Jeff Law (law@hurl.cygnus.com)
3615
3616 * som.c (som_begin_writing): Don't write the symbol table or
3617 symbol strings.
3618 (som_finish_writing): Write them here. Place them after the
3619 subspace data, but before the relocs.
3620
3621 Fri Sep 29 11:01:55 1995 Ian Lance Taylor <ian@cygnus.com>
3622
3623 * sunos.c (sunos_add_one_symbol): Just pass false, not
3624 info->shared_library, to sunos_create_dynamic_sections.
3625 (sunos_scan_ext_relocs): Don't warn about a reloc in the .text
3626 section.
3627 (sunos_check_dynamic_reloc): Remove .text section assertion.
3628
3629 Thu Sep 28 18:48:47 1995 Stan Shebs <shebs@andros.cygnus.com>
3630
3631 * config.bfd: Add powerpc-*-macos*, powerpc-*-mpw*.
3632 * configure, configure.in: Add pmac_xcoff_vec case.
3633 * Makefile.in (BFD32_BACKENDS): Add coff-pmac.o.
3634 * coff-pmac.c: New file, PowerMac XCOFF support.
3635 * coffcode.h (coff_set_arch_mach_hook): Add PowerMac case.
3636 * targets.c (pmac_xcoff_vec): Declare.
3637
3638 * mpw-config.in: Various changes to be compatible with the
3639 autoconf-based configury.
3640 * mpw-make.sed: New file, sed commands to translate Unix
3641 makefile into MPW syntax.
3642 * mpw-make.in: Remove.
3643 * hosts/mpw.h: Remove.
3644 * bfd-in.h, bfd-in2.h: If MPW, include the file that defines
3645 true and false as enums, then define TRUE_FALSE_ALREADY_DEFINED.
3646
3647 Thu Sep 28 17:06:23 1995 steve chamberlain <sac@slash.cygnus.com>
3648
3649 * binary.c (binary_get_symtab): Return an empty string on error.
3650 * opncls.c (bfd_fdpenr): Change WIN32 restriction to WINGDB.
3651
3652 Thu Sep 28 15:30:44 1995 Kim Knuttila <krk@nellie>
3653
3654 * coff-ppc.c: Reformatted according to gnu conventions
3655 Removed irrelevant "if 0" code
3656
3657 Thu Sep 28 11:19:53 1995 Ian Lance Taylor <ian@cygnus.com>
3658
3659 * hp300hpux.c (convert_sym_type): Treat secondary symbols as weak
3660 symbols rather than as indirect symbols.
3661 (MY(slurp_symbol_table)): Don't do anything special about
3662 secondary symbols.
3663
3664 * coffcode.h (coff_new_section_hook): Make sure that the alignment
3665 of .ctors and .dtors sections is no larger than 2.
3666
3667 * sunos.c (sunos_add_one_symbol): Don't change
3668 bfd_link_hash_common to bfd_link_hash_new, since it may be on the
3669 undef list.
3670 (bfd_sunos_record_link_assignment): Don't put __DYNAMIC in the
3671 dynamic symbols when creating a shared library.
3672 (sunos_scan_ext_relocs): Handle relocs correctly when creating a
3673 shared library.
3674 (sunos_scan_dynamic_symbol): Don't mark the __DYNAMIC symbol as
3675 written even if it is not defined in a regular object.
3676 (sunos_write_dynamic_symbol): Use plt_offset for the address of
3677 the jump table reloc. Add an assertion. Use RELOC_JMP_SLOT
3678 rather than the constant 22.
3679 (sunos_check_dynamic_reloc): Handle creating a shared library.
3680 (sunos_finish_dynamic_link): Set the first entry in the GOT to
3681 zero when creating a shared library.
3682 * aoutx.h (NAME(aout,final_link)): If there is a symbol __DYNAMIC,
3683 write it out at the start of the symbol table.
3684
3685 * Makefile.in (BFD32_BACKENDS): Add coff-arm.o.
3686
3687 Thu Sep 28 00:58:05 1995 Doug Evans <dje@deneb.cygnus.com>
3688
3689 * config.bfd: Add arm-*-coff.
3690 * configure.in, configure: Add armcoff_{little,big}_vec.
3691 * targets.c (armcoff_{little,big}_vec): Declare.
3692 (bfd_target_vector): Add armcoff_{little,big}_vec.
3693 * coff-arm.c (armcoff_{little,big}_vec): Always define.
3694
3695 Wed Sep 27 10:37:14 1995 Ian Lance Taylor <ian@cygnus.com>
3696
3697 * targets.c (bfd_find_target): Remove debugging code.
3698
3699 Wed Sep 27 07:23:39 1995 Kim Knuttila <krk@nellie>
3700
3701 * coff-ppc.c, pe-ppc.c, pei-ppc.c: Initial bfd for coff/PE
3702 support on powerpc.
3703 * Makefile.in: added *-ppc files
3704 * coffcode.h: ppc MAGIC, and use peicode.h rather than coffswap.h to
3705 allow pe based .o's to be shared with other tools on ppc/NT
3706 * config.bfd: added powerpc[le]-[pe|winnt] config support
3707 * configure, configure.in: added bfd_powerpc[le]_pe[i]_vec
3708 * peicode.h: Added more section flags for PE on ppc
3709 Added coff_swap_filehdr_out to allow peicode.h to be
3710 used for non-image PE files on ppc.
3711 Check for image, or not, before copying pe_opthdr
3712 * targets.c: Added new bfd's
3713 * targets.c: Removed two inactive bfds that shouldn't have made it this
3714 far.
3715
3716 Tue Sep 26 14:06:41 1995 Michael Meissner <meissner@tiktok.cygnus.com>
3717
3718 * elf32-ppc.c (ppc_reloc_type): Rename from reloc_type, and use
3719 explicit values to initialize all relocs. Change all users.
3720 (ppc_elf_brtaken_inner): New function to handle branch predicition
3721 relocs.
3722 (ppc_elf_brtaken_reloc): Ditto.
3723 (ppc_elf_howto_raw): Use new functions. Make sure all unsupported
3724 relocs use ppc_elf_unsupported_reloc.
3725 (ppc_elf_merge_private_bfd_data): Keep track of whether an error
3726 needs to be reported.
3727 (ppc_elf_relocate_section): Support branch prediction relocs.
3728
3729 Tue Sep 26 12:48:05 1995 Ian Lance Taylor <ian@cygnus.com>
3730
3731 * bfd.c (bfd_assert): Remove \n from string passed to
3732 _bfd_error_handler.
3733
3734 * coff-i386.c: (TWO_DATA_SECS): Don't define.
3735 * coffcode.h (bfd_coff_backend_data): Remove _bfd_make_section_hook.
3736 (bfd_coff_make_section_hook): Don't define.
3737 (coff_make_section_hook): Remove.
3738 (sec_to_styp_flags): Remove TWO_DATA_SECS case.
3739 (styp_to_sec_flags): Likewise.
3740 (coff_write_object_contents): Likewise.
3741 (bfd_coff_std_swap_table): Don't initialize make_section_hook
3742 field.
3743 * libcoff.h: Rebuild.
3744 * coffgen.c (make_a_section_from_file): Just call
3745 bfd_make_section_anyway, not bfd_make_section or
3746 bfd_coff_make_section_hook.
3747 * ecoff.c (_bfd_ecoff_make_section_hook): Remove.
3748 * libecoff.h (_bfd_ecoff_make_section_hook): Don't declare.
3749 * coff-alpha.c (alpha_ecoff_backend_data): Don't initialize
3750 make_section_hook field.
3751 * coff-mips.c (mips_ecoff_backend_data): Likewise.
3752
3753 * aoutx.h (translate_from_native_sym_flags): Don't try to stuff
3754 pointers into value field for warning and indirect symbols; just
3755 leave the value field alone.
3756 * linker.c (generic_link_add_symbol_list): Use next symbol for
3757 warning and indirect symbols, rather than looking in symbol value.
3758 * ecoff.c (ecoff_set_symbol_info): Remove indirect_ptr_ptr
3759 parameter. Change all callers. Remove support for indirect
3760 symbols; it didn't work anyhow.
3761 (_bfd_ecoff_slurp_symbol_table): Remove indirect_ptr variable.
3762 * syms.c: Change comments about BSF_WARNING and BSF_INDIRECT.
3763 * bfd-in2.h: Rebuild.
3764
3765 Mon Sep 25 16:04:09 1995 Michael Meissner <meissner@tiktok.cygnus.com>
3766
3767 * elf32-ppc.c (ppc_elf_howto_raw): For all 14-bit branch relocs,
3768 go back to telling the tools this reloc operates on 32 bits.
3769
3770 Mon Sep 25 11:48:02 1995 Ian Lance Taylor <ian@cygnus.com>
3771
3772 * aout-adobe.c (aout_adobe_callback): Use _bfd_error_handler
3773 rather than a direct fprintf.
3774 * archive.c (_bfd_write_archive_contents): Likewise.
3775 * coffcode.h (coff_slurp_symbol_table): Likewise.
3776 * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Likewise.
3777 (ppc_elf_unsupported_reloc): Likewise.
3778 (ppc_elf_relocate_section): Likewise.
3779 * i386linux.c (linux_tally_symbols): Likewise.
3780 (linux_finish_dynamic_link): Likewise.
3781 * osf-core.c (osf_core_core_file_p): Likewise.
3782 * rs6000-core.c (rs6000coff_get_section_contents): Likewise.
3783 * som.c (som_sizeof_headers): Likewise.
3784 * srec.c (srec_bad_byte): Likewise.
3785 * bfd.c (bfd_assert): Likewise. Also change file to be const.
3786 * libbfd-in.h (bfd_assert): Declare first parameter const.
3787 * libbfd.h: Rebuild.
3788 * coff-a29k.c (a29k_reloc): Don't bother to fprintf; returning
3789 bfd_reloc_overflow is enough.
3790 * coff-h8300.c (rtype2howto): Don't bother to fprintf; just abort.
3791 * coff-h8500.c (rtype2howto): Likewise.
3792 * coff-z8k.c (rtype2howto): Likewise.
3793 * coffcode.h (dummy_reloc16_extra_cases): Likewise.
3794 * elf.c (_bfd_elf_get_lineno): Likewise.
3795 (_bfd_elf_no_info_to_howto): Likewise.
3796 (_bfd_elf_no_info_to_howto_rel): Likewise.
3797 * hp300hpux.c (convert_sym_type): Likewise.
3798 (MY(swap_std_reloc_in)): Likewise.
3799 * elf.c (bfd_section_from_shdr): Remove #if 0 sections.
3800
3801 * libaout.h (struct aoutdata): Add line_buf field.
3802 * aoutx.h (NAME(aout,find_nearest_line)): Remove statics buffer
3803 and filename_buffer. Instead, use a malloc buffer stored in the
3804 new line_buf field. Remove length restrictions.
3805
3806 * coffgen.c (string_size): Remove static variable.
3807 (debug_string_size, debug_string_section): Likewise.
3808 (coff_fix_symbol_name): Add string_size_p, debug_string_section_p,
3809 and debug_string_size_p parameters. Use them instead of the
3810 global variables. Change all callers.
3811 (coff_write_symbol): Likewise.
3812 (coff_write_alien_symbol, coff_write_native_symbol): Likewise.
3813 (coff_write_symbols): Add local variables to replace removed
3814 global variables.
3815
3816 * libcoff-in.h (struct coff_section_tdata): Add offset, i,
3817 function, and line_base fields.
3818 * libcoff.h: Rebuild.
3819 * coffgen.c (coff_find_nearest_line): Use section tdata to cache
3820 information, rather than using static variables.
3821
3822 * sunos.c (sunos_read_dynamic_info): Adjust offsets in an NMAGIC
3823 file. From Peter DeWolf <pld@amt.tay1.dec.com>.
3824
3825 * init.c (initialized): Remove static variable.
3826 (bfd_init): Don't bother setting initialized.
3827 (bfd_check_init): Remove.
3828 * opncls.c (_bfd_new_bfd): Don't call bfd_check_init.
3829 * libbfd.h: Rebuild.
3830
3831 Sat Sep 23 01:22:23 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
3832
3833 * rs6000-core.c (rs6000coff_core_p): Don't check the core file
3834 size for full core dumps. Copy core file header to private data.
3835 (rs6000coff_core_file_failing_command,
3836 rs6000coff_core_file_failing_signal): New functions to extract
3837 the file name and terminating signal from the core file.
3838 * coff-rs6000.c: Use them.
3839
3840 Fri Sep 22 17:44:47 1995 Ian Lance Taylor <ian@cygnus.com>
3841
3842 Change arch info to be const, initialized at compile time.
3843 * archures.c: Reindent many functions. Change CONST to const.
3844 (bfd_arch_info_type): Make arch_name const. Remove disassemble;
3845 nothing set it anyhow. Make next const.
3846 (bfd_arch_info_list): Remove.
3847 (bfd_archures_list): Rename from archures_init_table. Change from
3848 a table of function pointers to a table of bfd_arch_info_type
3849 structure addresses.
3850 (bfd_scan_arch): Rewrite accordingly. Return a const pointer.
3851 (bfd_lookup_arch): Likewise.
3852 (bfd_set_arch_info): Rewrite accordingly. Change argument to be a
3853 const pointer.
3854 (bfd_default_arch_struct): Make const.
3855 (bfd_arch_init, bfd_arch_linkin): Remove.
3856 (bfd_get_arch_info): Return a const pointer.
3857 * init.c (bfd_init): Don't call bfd_arch_init.
3858 * bfd.c (struct _bfd): Make arch_info const.
3859 * bfd-in2.h: Rebuild.
3860 * libbfd.h: Rebuild.
3861 * configure.in: Put & before everything in $selarchs.
3862 * configure: Rebuild.
3863 * cpu-*.c: Change bfd_*_arch from a function which calls
3864 bfd_arch_linkin to a const structure.
3865 * ieee.c (ieee_object_p): Make arch const.
3866
3867 Fri Sep 22 16:23:18 1995 Michael Meissner <meissner@tiktok.cygnus.com>
3868
3869 * reloc.c (bfd_reloc_code_type): Add relocations to support all of
3870 PowerPC V.4.
3871 * bfd-in2.h: Regenerate.
3872 * libbfd.h: Regenerate.
3873
3874 * elf32-ppc.c (reloc_type): Update names to match current draft.
3875 (ppc_elf_howto_raw): Mark 14 bit relocs as short sized and PC
3876 relative. Update names to current V.4 draft.
3877 (ppc_elf_reloc_type_lookup): Add support for more relocations.
3878 (ppc_elf_relocate_section): Rename relocations to match draft.
3879
3880 Thu Sep 21 21:53:18 1995 Michael Meissner <meissner@cygnus.com>
3881
3882 * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Allow modules
3883 compiled with -mrelocatable-lib to be linked with either normal
3884 modules or -mrelocatable modules.
3885
3886 Wed Sep 20 12:03:26 1995 Ian Lance Taylor <ian@cygnus.com>
3887
3888 * coffcode.h (coff_write_object_contents): Clear the vstamp field
3889 in the a.out header.
3890
3891 * aoutx.h (NAME(aout,swap_ext_reloc_out)): Don't set r_extern for
3892 a reloc against a local symbol, even if it's not a section.
3893
3894 Tue Sep 19 17:02:26 1995 Ian Lance Taylor <ian@cygnus.com>
3895
3896 * targets.c (bfd_target): Remove unused align_power_min field.
3897 * bfd-in2.h: Rebuild.
3898 * All backends: Remove initialization of align_power_min.
3899
3900 Tue Sep 19 14:02:21 1995 steve chamberlain <sac@slash.cygnus.com>
3901
3902 * peicode.h (coff_swap_scnhdr_out): Get sizes for BSS right.
3903
3904 Mon Sep 18 14:35:01 1995 Arne H. Juul <arnej@pvv.unit.no>
3905
3906 * config.bfd (mips-dec-netbsd*): New target.
3907 * configure.host (mips-dec-netbsd*): New host.
3908 * configure.in (mips-dec-netbsd*): New native.
3909 * configure: Rebuild.
3910
3911 Fri Sep 15 10:24:36 1995 Ian Lance Taylor <ian@cygnus.com>
3912
3913 Make the COFF backend linker merge common types:
3914 * cofflink.c (struct coff_debug_merge_element): Define.
3915 (struct coff_debug_merge_type): Define.
3916 (struct coff_debug_merge_hash_entry): Define.
3917 (struct coff_debug_merge_hash_table): Define.
3918 (coff_debug_merge_hash_table_init): Define.
3919 (coff_debug_merge_hash_table_free): Define.
3920 (coff_debug_merge_hash_lookup): Define.
3921 (struct coff_final_link_info): Add debug_merge field.
3922 (coff_debug_merge_hash_newfunc): New static function.
3923 (_bfd_coff_final_link): Allocate and free debug_merge table.
3924 (coff_link_input_bfd): Merge identical enum, struct and union
3925 types.
3926
3927 Thu Sep 14 14:53:58 1995 Ian Lance Taylor <ian@cygnus.com>
3928
3929 Convert i960 COFF to use COFF backend linker.
3930 * coff-i960.c (coff_i960_relocate): Use a coff_section_data
3931 structure to store the symbol being used.
3932 (coff_i960_start_final_link): New static function.
3933 (coff_i960_relocate_section): New static function.
3934 (coff_i960_adjust_symndx): New static function.
3935 (coff_start_final_link): Define.
3936 (coff_relocate_section): Define.
3937 (coff_adjust_symndx): Define.
3938 * coffcode.h (bfd_coff_backend_data): Add new callback function
3939 _bfd_coff_start_final_link.
3940 (bfd_coff_start_final_link): Define.
3941 (coff_start_final_link): Define if not defined.
3942 (bfd_coff_std_swap_table): Add coff_start_final_link.
3943 * cofflink.c (_bfd_coff_internal_syment_name): Make globally
3944 visible.
3945 (_bfd_coff_final_link): Call bfd_coff_start_final_link if the
3946 function callback is not NULL.
3947 * libcoff-in.h (struct coff_section_tdata): Add tdata field.
3948 (_bfd_coff_internal_syment_name): Declare.
3949 * libcoff.h: Rebuild.
3950 * configure.in (icoff_big_vec): Add cofflink.o.
3951 (icoff_little_vec): Likewise.
3952 * configure: Rebuild.
3953
3954 Wed Sep 13 17:38:23 1995 Fred Fish <fnf@rtl.cygnus.com>
3955
3956 * Makefile.in (clean-info): Remove extraneous tab from line
3957 following action.
3958
3959 Wed Sep 13 13:27:53 1995 Ian Lance Taylor <ian@cygnus.com>
3960
3961 * cofflink.c (coff_link_input_bfd): Fail if a section with no
3962 contents has relocs.
3963
3964 Thu Sep 12 12:45:34 1995 steve chamberlain <sac@slash.cygnus.com>
3965
3966 * coffcode.h (coff_compute_section_file_positions): Keep the
3967 raw size safe.
3968 (coff_write_object_contents): Remember if it's a relocatable
3969 file.
3970 * libcoff-in.h (pe_data_type): New member 'has_reloc_section'
3971 * peicode.h (coff_swap_filehdr_out): Clear not-reloc flag
3972 if relocatable file. Swap out saved raw size.
3973
3974 Tue Sep 12 12:14:33 1995 Ian Lance Taylor <ian@cygnus.com>
3975
3976 * Makefile.in (do_maintainer_clean): Rename from do_realclean.
3977 (maintainer-clean): Rename from realclean, passing
3978 maintainer-clean down to subdirectories, but leave realclean as a
3979 synonym.
3980
3981 * linker.c (_bfd_generic_link_add_one_symbol): Pass symbol name to
3982 warning callback.
3983
3984 * dep-in.sed: Remove config.h from generated dependencies.
3985
3986 * sunos.c (sunos_slurp_dynamic_symtab): New static function,
3987 broken out of sunos_canonicalize_dynamic_symtab.
3988 (sunos_canonicalize_dynamic_symtab): Call new function
3989 sunos_slurp_dynamic_symtab.
3990 (sunos_add_dynamic_symbols): Add three new parameters. Return the
3991 dynamic symbol table to the caller.
3992 * aoutx.h (aout_link_add_symbols): Permit add_dynamic_symbols
3993 callback to override the symbols being read.
3994 * libaout.h (struct aout_backend_data): Add three new parameters
3995 to add_dynamic_symbols callback.
3996
3997 Extensive minor changes to avoid various gcc warnings. Also:
3998 * Makefile.in (BFD32_BACKENDS): Remove coff-arm.o.
3999 * archures.c (bfd_arch_info_type): Change mach field from long to
4000 unsigned long.
4001 (bfd_lookup_arch): Change machine parameter from long to unsigned
4002 long.
4003
4004 Mon Sep 11 10:55:47 1995 Ian Lance Taylor <ian@cygnus.com>
4005
4006 * sunos.c (sunos_scan_std_relocs): Fix BFD_ASSERT: it's OK to find
4007 a symbol with a non-zero plt_offset.
4008
4009 Fri Sep 8 11:47:24 1995 Ian Lance Taylor <ian@cygnus.com>
4010
4011 * elfcode.h (align_file_position): Remove; not used.
4012
4013 * configure.in: Only check for <sys/procfs.h> on a native system,
4014 and make sure it defines prstatus_t.
4015 * configure: Rebuild.
4016
4017 Thu Sep 7 12:48:01 1995 Ian Lance Taylor <ian@cygnus.com>
4018
4019 * sunos.c (sunos_write_dynamic_symbol): Correct m68k abort test.
4020
4021 * config.in: Rename from config.h.in.
4022 * configure.in: Call AC_CONFIG_HEADER with config.h:config.in.
4023 Check for config.h:config.in when creating stamp-h.
4024 * configure: Rebuild.
4025 * Makefile.in (stamp-h): Depend upon config.in rather than
4026 config.h.in. Set CONFIG_HEADERS to config.h:config.in when
4027 calling config.status.
4028
4029 * Makefile.in (do_distclean): Remove config.h and stamp-h.
4030 (Makefile): Just rebuild Makefile.
4031 (config.h, stamp-h): New targets.
4032 * configure.in: Create stamp-h when rebuilding config.h.
4033 * configure: Rebuild.
4034
4035 Wed Sep 6 15:00:33 1995 Ian Lance Taylor <ian@cygnus.com>
4036
4037 * configure.in: Call AC_CONFIG_HEADER. Substitute
4038 HOST_64BIT_LONG. Check that various header files exist. Check
4039 that fcntl exists. Call BFD_BINARY_FOPEN. Check whether malloc
4040 and/or free need to be declared. Don't make a link to sysdep.h.
4041 Define TRAD_HEADER for various hosts.
4042 * configure: Rebuild.
4043 * configure.host: Don't set my_host. Add definitions taken from
4044 host header files for various entries. Remove entries which now
4045 do nothing.
4046 * acconfig.h: New file.
4047 * config.h.in: New file, built by autoheader.
4048 * sysdep.h: New file.
4049 * Makefile.in (do_distclean): Don't remove sysdep.h.
4050 (RECONFIG): Remove.
4051 (LOCAL_H_DEPS): New variable.
4052 ($(BFD_LIBS)): Use $(LOCAL_H_DEPS) rather than libbfd.h and
4053 $(RECONFIG).
4054 ($(BFD_MACHINES), $(BFD_BACKENDS)): Likewise.
4055 ($(OPTIONAL_BACKENDS)): Likewise.
4056 (stmp-bfd.h): Just substitute for BFD_HOST_64BIT_LONG, rather than
4057 looking through sysdep.h.
4058 * bfd-in.h (BFD_HOST_64BIT_LONG): Define; set by Makefile.
4059 (BFD_HOST_64_BIT): Define based on BFD_HOST_64BIT_LONG.
4060 (fprintf_vma, sprintf_vma): Likewise.
4061 (int64_type, uint64_type): Don't define.
4062 * bfd-in2.h: Rebuild.
4063 * archures.c, bfd.c, srec.c: Include <ctype.h>.
4064 * elfcore.h: Check HAVE_SYS_PROCFS_H rather than HAVE_PROCFS.
4065 * lynx-core.c: Include stuff from old hosts/lynx.h.
4066 * opncls.c (bfd_fdopenr): Check HAVE_FNCTL and defined (F_GETFL),
4067 rather than NO_FCNTL.
4068 * targets.c (bfd_target_list): Check HOST_HPPAHPUX and ! __STDC__
4069 rather than NATIVE_HPPAHPUX_COMPILER.
4070 * trad-core.c: Don't include <errno.h>. Include TRAD_HEADER if it
4071 is defined.
4072 * hosts/*.h: Remove all header files which merely include,
4073 declare, and define things. Leave header files which define
4074 information needed by trad-core.c.
4075
4076 * aclocal.m4 (BFD_BINARY_FOPEN): Define.
4077 (BFD_CC_FOR_BUILD): Define.
4078 * configure.in: Use BFD_CC_FOR_BUILD.
4079 * configure: Rebuild.
4080
4081 Tue Sep 5 19:35:28 1995 Ian Lance Taylor <ian@cygnus.com>
4082
4083 * aclocal.m4: Don't try to grep ../Makefile if it doesn't exist.
4084 * configure: Rebuild.
4085
4086 * coff-sparc.c (CALC_ADDEND): Don't set the addend to the value of
4087 a global symbol.
4088
4089 Tue Sep 5 12:48:26 1995 Jason Molenda (crash@phydeaux.cygnus.com)
4090
4091 * config.bfd: i386pe_ve -> i386pe_vec.
4092
4093 Mon Sep 4 14:02:43 1995 Ian Lance Taylor <ian@cygnus.com>
4094
4095 * configure.host: Incorporate host Makefile fragments by setting
4096 shell variables.
4097 * configure.in: Call AC_PROG_CC. Substitute CFLAGS, HDEFINES and
4098 AR. Call AC_PROG_INSTALL. Substitute CC_FOR_BUILD, choosing a
4099 value based on whether the code is being compiled by a cross
4100 compiler. Don't substitute host_makefile_frag or frags.
4101 * aclocal.m4: New file to define local AC_PROG_CC.
4102 * configure: Rebuild.
4103 * Makefile.in (INSTALL): Set to @INSTALL@.
4104 (INSTALL_PROGRAM): Set to @INSTALL_PROGRAM@.
4105 (INSTALL_DATA): Set to @INSTALL_DATA@.
4106 (AR): Set to @AR@.
4107 (CC): Define as @CC@.
4108 (CFLAGS): Set to @CFLAGS@.
4109 (CC_FOR_BUILD): Set to @CC_FOR_BUILD@.
4110 (@host_makefile_frag@): Remove.
4111 (ALL_CFLAGS): Change $(HDEFINES) to @HDEFINES@. Move $(CFLAGS)
4112 after other options.
4113 (config.status): Remove dependency upon @frags@.
4114 * config/*.mh, config/README: Remove.
4115
4116 * config.bfd: Rewrite to incorporate the contents of the Makefile
4117 fragments by setting shell variables, rather than merely returning
4118 the name of a Makefile fragment.
4119 * configure.in: Use shell variables set by config.bfd rather than
4120 looking at the target Makefile fragment files. Don't substitute
4121 target_makefile_frag. Do substitute TDEFINES.
4122 * configure: Rebuild.
4123 * Makefile.in (@target_makefile_frag@): Remove.
4124 (ALL_CFLAGS): Change $(TDEFINES) to @TDEFINES@.
4125 * config/*.mt: Remove.
4126
4127 Mon Sep 4 03:13:28 1995 Ken Raeburn <raeburn@cygnus.com>
4128
4129 * configure.in: Put changequote lines around "i[345]86" patterns
4130 section of core file support.
4131
4132 Sun Sep 3 11:31:58 1995 Jeff Law (law@snake.cs.utah.edu)
4133
4134 * som.c (som_bfd_print_private_bfd_data): Define to use the
4135 generic version.
4136
4137 Fri Sep 1 17:08:40 1995 steve chamberlain <sac@slash.cygnus.com>
4138
4139 * peicode.h (coff_swap_aouthdr_in): Add ImageBase to
4140 entry, text_start and data_start.
4141
4142 Fri Sep 1 18:06:28 1995 Ian Lance Taylor <ian@cygnus.com>
4143
4144 * Makefile.in (OFILES): Remove $(TDEPFILES).
4145 * config/apollo.mt (TDEPFILES): Remove.
4146 * config/README: Update.
4147
4148 * configure.in: For a native configuration, set COREFILE and
4149 COREFLAG based on the canonical host name.
4150 * configure: Rebuild.
4151 * Makefile.in: Rebuild dependencies.
4152 (ALL_CFLAGS): Add @COREFLAG@.
4153 (OFILES): Replace $(HDEPFILES) with @COREFILE@.
4154 * coff-rs6000.c: Check AIX_CORE rather than HOST_AIX for core file
4155 support routines. Check LYNX_CORE rather than HOST_LYNX.
4156 * lynx-core.c: Check LYNX_CORE rather than HOST_LYNX.
4157 * i386lynx.c: Likewise.
4158 * m68klynx.c: Likewise.
4159 * sparclynx.c: Likewise.
4160 * rs6000-core.c: Check AIX_CORE rather than HOST_AIX.
4161 * *-core.c: Comment changes.
4162 * config/decstation.mh (HDEPFILES): Remove.
4163 (HDEFINES): Remove -DTRAD_CORE.
4164 * config/irix3.mh (RANLIB): Remove.
4165 * config/irix4.mh (HDEPFILES, RANLIB): Remove.
4166 (HDEFINES): Remove -DIRIX_CORE.
4167 * config/riscos.mh (RANLIB, HDEPFILES): Remove.
4168 (HDEFINES): Remove -DTRAD_CORE.
4169 * config/ncr3000.mh (AR_FLAGS, RANLIB): Remove.
4170 * config/ultra3.mh (RANLIB): Remove.
4171 * config/aix4.mh, config/alphaosf.mh, config/amix.mh: Remove.
4172 * config/apollo.mh, config/delta68.mh, config/delta88.mh: Remove.
4173 * config/dpx2.mh, config/esix.mh, config/harris.mh: Remove.
4174 * config/hp300.mh, config/hp300bsd.mh, config/hppabsd.mh: Remove.
4175 * config/hppahpux.mh, config/hppaosf.mh: Remove.
4176 * config/i386aix.mh, config/i386bsd.mh: Remove.
4177 * config/i386linux.mh, config/i386mach3.mh: Remove.
4178 * config/i386sco.mh, config/i386v.mh, config/i386v4.mh: Remove.
4179 * config/irix5.mh, config/m88kmach3.mh, config/mipsbsd.mh: Remove.
4180 * config/mipsmach3.mh, config/news-mips.mh: Remove.
4181 * config/news.mh, config/pc532mach.mh, config/riscix.mh: Remove.
4182 * config/rs600.mh, config/rs6000lynx.mh: Remove.
4183 * config/solaris2.mh, config/stratus.mh: Remove.
4184 * config/symmetry.mh, config/sysv4.mh, config/tahoe.mh: Remove.
4185 * config/vaxbsd.mh, config/vaxult.mh, config/vaxult2.mh: Remove.
4186
4187 Fri Sep 1 15:18:50 1995 Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>
4188
4189 * elflink.h (elf_bfd_final_link): Don't change a DT_INIT or
4190 DT_FINI entry if the appropriate symbol is not in the hash table.
4191
4192 * libelf.h (struct elf_backend_data): Add create_program_headers
4193 and want_hdr_in_seg fields.
4194 * elfxx-target.h (elf_backend_want_hdr_in_seg): Define if not
4195 defined.
4196 (elf_backend_create_program_headers): Likewise.
4197 (elfNN_bed): Initialize create_program_headers and
4198 want_hdr_in_seg.
4199 * elf.c (get_program_header_size): Call create_program_headers
4200 backend routine.
4201 (map_program_segments): Check want_hdr_in_seg backend field. Call
4202 create_program_headers backend routine.
4203
4204 * elf.c (assign_file_positions_except_relocs): Align non allocated
4205 sections when creating an executable.
4206
4207 * elfcode.h (elf_swap_phdr_in): Make non static.
4208 (elf_swap_phdr_out): Make non static.
4209 * libelf.h (bfd_elf32_swap_phdr_in): Declare.
4210 (bfd_elf32_swap_phdr_out): Declare.
4211 (bfd_elf64_swap_phdr_in): Declare.
4212 (bfd_elf64_swap_phdr_out): Declare.
4213
4214 * ecofflink.c (ecoff_collect_shuffle): New static function.
4215 (_bfd_ecoff_get_accumulated_pdr): New function.
4216 (_bfd_ecoff_get_accumulated_sym): New function.
4217 (_bfd_ecoff_get_accumulated_ss): New function.
4218 * libbfd-in.h (_bfd_ecoff_get_accumulated_pdr): Declare.
4219 (_bfd_ecoff_get_accumulated_sym): Declare.
4220 (_bfd_ecoff_get_accumulated_ss): Declare.
4221 * libbfd.h: Rebuild.
4222
4223 Fri Sep 1 13:20:25 1995 Ian Lance Taylor <ian@cygnus.com>
4224
4225 * libecoff.h (_bfd_ecoff_bfd_print_private_bfd_data): Fix typo.
4226
4227 * elflink.h (elf_link_add_object_symbols): Handle indirect and
4228 warning symbols. If any section is named .gnu.warning.XXX, treat
4229 the contents as a warning to be issued if the symbol XXX is
4230 referenced.
4231 (elf_link_output_extsym): For an indirect or warning symbol, just
4232 output the symbol it points to.
4233
4234 * linker.c (_bfd_link_hash_newfunc): Don't bother to set bfd_error
4235 if bfd_hash_allocate fails, since it will already be set.
4236 (generic_link_hash_newfunc): Likewise.
4237 (archive_hash_newfunc): Likewise.
4238 (hash_entry_bfd): New static function.
4239 (_bfd_generic_link_add_one_symbol): Pass new arguments to warning
4240 callback. Allocate a new warning using the hash table newfunc.
4241 Use bfd_hash_replace to update the entry in the hash table, rather
4242 than assuming we can copy the fields with structure assignment.
4243
4244 * hash.c (bfd_hash_replace): New function.
4245 * bfd-in.h (bfd_hash_replace): Declare.
4246 * bfd-in2.h: Rebuild.
4247
4248 Fri Sep 1 08:12:50 1995 James G. Smith <jsmith@beauty.cygnus.com>
4249
4250 * config.bfd: Add mips*vr4300-*-elf* target.
4251 * config/mipsbvr4300.mt: Added.
4252
4253 See file ChangeLog.2
4254
4255 \f
4256 Local Variables:
4257 mode: indented-text
4258 left-margin: 8
4259 fill-column: 74
4260 version-control: never
4261 End:
This page took 0.135788 seconds and 5 git commands to generate.