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