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