]> Git Repo - binutils.git/blob - bfd/ChangeLog
* linker.c (generic_link_check_achive_element): Set SEC_ALLOC flag
[binutils.git] / bfd / ChangeLog
1 Mon Jan 24 14:41:23 1994  David J. Mackenzie  ([email protected])
2
3         * format.c (bfd_check_format_matches): New function.
4         (bfd_check_format): Call it.
5         (bfd_matching_formats): Function removed.
6         * targets.c: Replace the vector added on Jan 21 with a count of
7         entries in default_vector.
8         * bfd-in2.h: Regenerated.
9
10 Mon Jan 24 12:38:54 1994  Ian Lance Taylor  ([email protected])
11
12         * linker.c (generic_link_check_achive_element): Set SEC_ALLOC flag
13         for a created common section.
14         (_bfd_generic_link_add_one_symbol): Likewise.
15
16         * elfcode.h (swap_out_syms): Use elf_section_from_bfd_section to
17         get the index of a common section, rather than always using
18         SHN_COMMON (MIPS has multiple common sections).
19
20         * elf32-hppa.c (hppa_elf_gen_reloc_type): Typo (== for =).
21
22         * bfd/aoutx.h (aout_link_input_section_std,
23         aout_link_input_section_ext): Pass additional arguments to
24         reloc_overflow callback.
25         * coff-alpha.c (alpha_ecoff_get_relocated_section_contents,
26         alpha_relocat_section): Likewise.
27         * coff-h8300.c (h8300_reloc16_extra_cases): Likewise.
28         * coff-h8500.c (extra_case): Likewise.
29         * coff-mips.c (mips_relocate_section): Likewise.
30         * coff-z8k.c (extra_case): Likewise.
31         * elf32-hppa.c (hppa_elf_stub_finish): Likewise.
32         * reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
33
34         * bout.c (calljx_callback, callj_callback): Use get_value to get
35         the symbol value and check for undefined symbols.
36         (get_value): If the symbol is undefined, look it up in the linker
37         hash table.
38         (b_out_get_relocated_section_contents): For PCREL24 and PCREL13
39         use get_value to get the symbol value and check for undefined
40         symbols.
41         * reloc16.c (bfd_coff_reloc16_get_value): If the symbol is
42         undefined, look it up in the linker hash table.
43
44         * aoutx.h (translate_symbol_table): The string index 0 has a
45         special meaning for normal symbols, but not for dynamic symbols.
46
47 Sat Jan 22 12:26:01 1994  Stu Grossman  (grossman at cygnus.com)
48
49         * sparclynx.c:  Setup appropriate macros to enable core file
50         support.
51
52 Fri Jan 21 16:25:35 1994  David J. Mackenzie  ([email protected])
53
54         * targets.c: Add a vector of matching format names.
55         * format.c (bfd_matching_formats): New function to return it.
56         (bfd_check_format): Set it.
57         * bfd-in2.h: Regenerated.
58
59         * bfd-in.h: Remove decls of bfd_ec type and error printing functions.
60         Remove decl of type symclass; wasn't used.
61         * bfd.c: Document error handling, including code fragments
62         containing the error decls that were in bfd-in.h.
63         Remove DEFUNs.
64         * bfd-in2.h: Regenerated.
65
66 Fri Jan 21 14:11:16 1994  Sean Fagan  ([email protected])
67
68         * nlmcode.h, liblnm.h, nlm32-alpha.c nlm32-i386.c nlm32-sparc.c:
69         The sparc (and possibly other?) NLM format requires a different
70         way to write exports, so add a write_export field to the backend
71         data (and set it to NULL for everything but the sparc).
72
73 Fri Jan 21 14:11:16 1994  Jim Kingdon  ([email protected])
74
75         * sunos.c (MY(read_dynamic_relocs)): Compare info->dynrel with NULL,
76         not (struct external_nlist *) NULL.  info->dynrel is a PTR, not
77         a struct external_nlist *.
78
79 Fri Jan 21 09:29:01 1994  David J. Mackenzie  ([email protected])
80
81         * bfd.c: Remove error strings for errors removed below.
82         * aoutx.h (translate_to_native_sym_flags), bfd-in.h (bfd_ec),
83         oasys.c (oasys_write_sections): Rename
84         bfd_error_nonrepresentable_section to nonrepresentable_section.
85         None of the other bfd error names start with "bfd_error".
86         Remove errors symbol_not_found and no_relocation_info, which seem
87         to be unused.
88         * bfd-in2.h: Regenerated.
89
90 Fri Jan 21 01:11:55 1994  Ian Lance Taylor  ([email protected])
91
92         * bfd.c (bfd_get_gp_size): Added support for ELF.
93
94         * syms.c (BSF_DYNAMIC): New symbol flag.
95         (bfd_print_symbol_vandf): Print it.
96         * bfd-in2.h: Rebuilt.
97         * libaout.h (struct aout_backend_data): New read_dynamic_symbols
98         and read_dynamic_relocs fields.
99         (struct aoutdata): New dynamic_info field.
100         (obj_aout_dynamic_info): New accessor macro.
101         * sunos.c (struct sunos_dynamic_info): New structure.
102         (sunos_read_dynamic_info, MY(read_dynamic_symbols),
103         MY(read_dynamic_relocs)): New functions to read dynamic symbols
104         and relocs.
105         * aoutx.h (NAME(aout,some_aout_object_p)): If the object is
106         dynamically linked, set SEC_RELOC for both the .text and .data
107         sections.
108         (translate_from_native_sym_flags): Don't set BSF_LOCAL for an
109         undefined symbol.
110         (translate_symbol_table): New function, split out of
111         slurp_symbol_table; set the BSF_DYNAMIC flag appropriately.
112         (NAME(aout,slurp_symbol_table)): Read dynamic symbols, if any.
113         (NAME(aout,slurp_reloc_table)): Read dynamic relocs, if any.
114         (NAME(aout,get_reloc_upper_bound)): Include dynamic reloc count in
115         return value.
116         * aoutf1.h (NAME(aout,sunos4_write_object_contents)): Don't write
117         out dynamic symbols or relocs against reloc symbols, since they
118         are already in the .text section and we wouldn't know where to
119         write them anyhow.
120         (sunos4_aout_backend): Initialize read_dynamic_symbols and
121         read_dynamic_relocs fields.
122         * aout-target.h (MY(backend_data)): Initialize
123         read_dynamic_symbols and read_dynamic_relocs fields.
124
125 Thu Jan 20 20:57:27 1994  Ken Raeburn  ([email protected])
126
127         * hosts/alphaosf.h (uint64e_type, uint64_type, int64_type): Delete
128         typedefs, since HOST_64_BIT will take care of defining them in
129         bfd.h.
130
131 Wed Jan 19 17:28:59 1994  Ken Raeburn  ([email protected])
132
133         * config/alphaosf.mh (HDEFINES): Don't define HOST_64_BIT here;
134         that's dealt with elsewhere.
135         * hosts/alphaosf.h (sprintf_vma, fprintf_vma): New macros.
136         (uint64_typeHIGH, uint64_typeLOW): Comment with HOST_64_BIT so
137         they get copied to bfd.h.
138
139         * reloc.c (enum bfd_reloc_code_real): Add some Alpha relocation
140         types.  Reorganized some of the existing ones.
141         * coff-alpha.c (alpha_howto_table): Construct 64-bit negative one
142         values in case of compilation on a 32-bit machine.  Fix pcrel
143         fields of some reloc types.
144         (alpha_bfd_reloc_type_lookup): Handle more relocation types.
145
146         * bfd-in.h (uint64_typeHIGH, uint64_typeLOW): Supply default
147         definitions when not defined, regardless of whether uint64_type is
148         a defined macro or not.
149         (fprintf_vma, sprintf_vma): Define only if fprintf_vma is not
150         already defined.
151
152 Wed Jan 19 00:02:54 1994  Ian Lance Taylor  ([email protected])
153
154         * aoutx.h (translate_to_native_sym_flags): Set the type of a
155         BSF_WARNING symbol to N_WARNING.
156
157 Tue Jan 18 16:43:19 1994  Ian Lance Taylor  ([email protected])
158
159         * aoutx.h (aout_link_add_symbols): Increment sym_hash as well as p
160         for an indirect or warning symbol.
161         (aout_link_write_symbols): Update sym_hash with the target of an
162         indirect or warning symbol.  If an indirect symbol is defined,
163         output the calculated value and don't output the target symbol.
164
165 Tue Jan 18 03:54:59 1994  David J. Mackenzie  ([email protected])
166
167         * aoutx.h (translate_from_native_sym_flags): Give warning symbols
168         an (unused) nonzero section value, needed for check below.
169
170 Mon Jan 17 15:12:07 1994  David J. Mackenzie  ([email protected])
171
172         * aoutx.h (translate_from_native_sym_flags,
173         aout_link_add_symbols): Treat N_SET[ABDT] | N_EXT like
174         N_SET[ABDT].
175
176 Fri Jan 14 16:45:43 1994  Ian Lance Taylor  ([email protected])
177
178         * elfcode.h (elf_object_p): If there is a SHT_DYNAMIC section, set
179         the DYNAMIC flag for the BFD.
180         (NAME(bfd_elf,write_object_contents)): Don't try to write out a
181         BFD with the DYNAMIC flag set, since we don't generate the program
182         header table correctly.
183
184 Fri Jan 14 01:04:36 1994  Peter Schauer  ([email protected])
185
186         * elfcode.h (elf_slurp_symbol_table):  Free x_symp at the end
187         of the function to avoid storage leak.
188
189 Thu Jan 13 23:07:32 1994  Ian Lance Taylor  ([email protected])
190
191         * ecoff.c (ecoff_link_write_external): An ifd can be -1.
192
193 Thu Jan 13 12:33:27 1994  Jeffrey A. Law  ([email protected])
194
195         * som.c (som_set_reloc_info): Provide a default symbol for
196         relocations which don't actually have an associated symbol.
197
198         * som.c (hppa_som_reloc): Add new "error message" argument.
199
200 Wed Jan 12 13:36:43 1994  Peter Schauer  ([email protected])
201
202         Enable gdb to write to core files on more core file readers.
203         * libbfd.c (bfd_generic_set_section_contents):  Remove range check
204         for section size, it is already done in bfd_set_section_contents
205         with bfd_get_section_size_now.
206         * aix386-core.c, hppabsd-core.c, hpux-core.c, irix-core.c,
207         osf-core.c, ptrace-core.c, trad-core.c (*_set_section_contents):
208         Use bfd_generic_set_section_contents instead of bfd_false.
209
210 Wed Jan 12 15:31:57 1994  Ian Lance Taylor  ([email protected])
211
212         * linker.c: Added initial documentation.
213
214         * linker.c (default_indirect_link_order): Don't expect space for
215         output relocations if there aren't any input relocations.
216
217 Tue Jan 11 14:37:12 1994  Ian Lance Taylor  ([email protected])
218
219         * aoutx.h (NAME(aout,final_link)): Set a_entry before computing
220         file offsets.
221
222         * elfcode.h (swap_out_syms): A common symbol is STT_OBJECT, not
223         STT_NOTYPE.
224
225 Tue Jan 11 09:10:56 1994  Jim Kingdon  ([email protected])
226
227         * config.bfd: Use ELF, not COFF for m88*-*-dgux*.
228         Combine m88k-*-* and m88110-*-* cases into m88*-*-*.
229
230 Tue Jan 11 00:07:19 1994  Ian Lance Taylor  ([email protected])
231
232         * ecofflink.c: Extensive changes to compress and merge debugging
233         information, and to write some of out directly rather than saving
234         it in memory.  Several new functions and structures, and new
235         arguments to existing functions.
236         * ecoff.c (ecoff_compute_reloc_file_positions): Compute
237         sym_filepos as well.
238         (ecoff_get_extr): Use ifdmap instead of ifdbase.
239         (ecoff_write_object_contents): Don't compute sym_filepos here.
240         Only output symbols if outsymbols is not NULL.
241         (ecoff_bfd_final_link): Adjust for changes in ecoff_debug_info and
242         bfd_ecoff_debug functions.  Write out debugging information here.
243         (ecoff_final_link_debug_accumulate): Adjust for changes in
244         bfd_ecoff_debug functions.
245         (ecoff_link_write_external): Use ifdmap rather than ifdbase.
246         * elf32-mips.c (mips_elf_read_ecoff_info): Read external symbols
247         first, to put them in the first memory buffer.  Clear fdr field.
248         (mips_elf_get_extr): Use pointer to unswapped external symbol.
249         (mips_elf_final_link): Adjust for changes in bfd_ecoff functions.
250         Preserve .text, .data and .bss even if they are empty.  Save
251         pointer to unswapped external symbol rather than copying it.
252         Don't free up the external symbols.
253         * libelf.h (elf_symbol_type): Change mips_extr to PTR.
254         * bfd-in.h (bfd_ecoff_debug_init, bfd_ecoff_debug_free): Declare.
255         (bfd_ecoff_debug_accumulate): Update declaration.
256         (bfd_ecoff_debug_accumulate_other): Rename declaration from
257         bfd_ecoff_debug_link_other and update.
258         (bfd_ecoff_write_accumulated_debug): Declare.
259         * bfd-in2.h: Rebuilt.
260         * Makefile.in: Rebuilt dependencies.
261
262 Mon Jan 10 20:46:53 1994  Jim Kingdon  ([email protected])
263
264         * Makefile.in (install): Remove "@" which follows a backslash.  In
265         this position it just causes errors, not suppresses echoes.
266
267 Mon Jan 10 09:06:21 1994  Jeffrey A. Law  ([email protected])
268
269         * som.c (hppa_som_gen_reloc_type): Fix handling of LT and RT
270         field selectors.
271
272 Sun Jan  9 04:32:25 1994  Ken Raeburn  ([email protected])
273
274         * config/i386-netbsd.mt (SELECT_VECS): Include i386bsd_vec.
275
276 Fri Jan  7 10:27:27 1994  David J. Mackenzie  ([email protected])
277
278         * aoutx.h (adjust_z_magic): Don't merge the start of bss with the
279         end of data if they are not contiguous.
280
281         * aoutf1.h (sunos4_aout_backend): Comment the fields' meanings.
282
283 Fri Jan  7 15:40:16 1994  Ian Lance Taylor  ([email protected])
284
285         * ecoff.c (ecoff_mkobject_hook): Don't set SEC_SHARED_LIBRARY flag
286         for .reginfo section here.
287         (ecoff_new_section_hook): Set it here instead.
288
289 Fri Jan  7 10:29:27 1994  Stan Shebs  ([email protected])
290
291         * bfd-in.h: (bfd_boolean): Add workaround for systems that also
292         define true and false as enums.
293         (ALMOST_STDC): Add as alternative to __STDC__.
294         * bfd-in2.h: Rebuilt.
295         * syms.c (bfd_print_symbol_vandf): Convert a PTR to FILE*.
296
297 Thu Jan  6 14:24:44 1994  David J. Mackenzie  ([email protected])
298
299         * aoutx.h (translate_to_native_sym_flags): Catch the case where
300         there is no output section.
301
302 Thu Jan  6 14:37:42 1994  Ian Lance Taylor  ([email protected])
303
304         * nlmcode.h (nlm_object_p): If we can't read the fixed header,
305         count it as a wrong format error, not a system call error, since
306         the object file might simply be too small.
307
308         * targets.c (target_vector): Added nlm32_alpha_vec inside #ifdef
309         BFD64.
310         * Makefile.in (BFD32_BACKENDS): Remove nlm32-alpha.o.
311         (BFD64_BACKENDS): Add nlm32-alpha.o.  It depends on 64 bit
312         support, even though it is for an Alpha in 32 bit mode.
313         * configure.in (nlm32_alpha_vec): Set target64 to true.
314
315         * nlm32-gen.c, nlm64-gen.c: Removed.  All nlm targets are
316         different, so there is no point to providing a generic one.
317         * libnlm.h: Don't bother to check for nlm_backend(bfd) being NULL
318         in the backend accessor macros; that should no longer be possible.
319         * targets.c (target_vector): Removed nlm32_big_generic_vec,
320         nlm64_big_generic_vec, nlm64_little_generic_vec.
321         * configure.in (nlm32_big_generic_vec, nlm32_little_generic_vec,
322         nlm64_big_generic_vec, nlm64_little_generic_vec): Removed.
323         * Makefile.in: Rebuilt dependencies, and
324         (BFD32_BACKENDS): Removed nlm32-gen.o.
325         (BFD64_BACKENDS): Removed nlm64-gen.o.
326         (CFILES): Removed nlm32-gen.c and nlm64-gen.c.
327
328         * hp300hpux.c (ARCH_SIZE): Define before including aoutx.h.
329
330         * linker.c (_bfd_generic_link_add_one_symbol): Add constructor and
331         bitsize arguments.  Changed all callers (aoutx.h).
332         * libbfd-in.h (_bfd_generic_link_add_one_symbol): Add constructor
333         and bitsize arguments to declaration.
334         * libbfd.h: Rebuilt.
335
336         * ecoff.c: First cut at new style of linker backend for
337         ECOFF--added a bunch of functions.  Also:
338         (ecoff_sec_to_styp_flags): Set flags for .pdata and .xdata.
339         (ecoff_slurp_symbolic_header): New function.
340         (ecoff_slurp_symbolic_info): Call ecoff_slurp_symbolic_header.
341         (ecoff_compute_reloc_file_positions): New function.
342         (ecoff_set_section_contents): Get out quickly if count is zero.
343         Check errors better.
344         (ecoff_write_object_contents): Put .xdata section in data segment.
345         Call ecoff_compute_reloc_file_positions.  Don't output relocs or
346         external symbols if outsymbols is NULL.
347         (ecoff_bfd_final_link): Completely rewritten.
348         * libecoff.h: Include bfdlink.h.
349         (struct ecoff_backend_data): Add relocate_section field.
350         (ecoff_data_type): Add sym_hashes and symndx_to_section fields.
351         (struct ecoff_link_hash_entry): Define.
352         (struct ecoff_link_hash_table): Define.
353         (ecoff_bfd_link_add_symbols): Declare as function, not macro.
354         (ecoff_bfd_link_hash_table_create): Likewise.
355         * ecofflink.c (bfd_ecoff_debug_one_external): New function.
356         (bfd_ecoff_debug_externals): Call bfd_ecoff_debug_one_external.
357         * bfd-in.h (bfd_ecoff_debug_one_external): Declare.
358         * bfd-in2.h: Rebuilt.
359         * coff-alpha.c (alpha_howto_table): Mark BRADDR as
360         partial_inplace, and set the src_mask to 0x1fffff.
361         (alpha_ecoff_get_relocated_section_contents): Remove unused
362         variable gp_warned.
363         (alpha_convert_external_reloc): New static function.
364         (alpha_relocate_section): New static function.
365         (alpha_ecoff_backend_data): Initialize relocate_section field.
366         * coff-mips.c (mips_relocate_refhi): New static function.
367         (mips_relocate_section): New static function.
368         (mips_ecoff_backend_data): Initialize relocate_section field.
369
370         * reloc.c (_bfd_relocate_contents): Corrected signed overflow
371         checking when there is an addend.
372
373         * aoutx.h (NAME(aout,final_link)): Don't abort when trying to link
374         a non a.out file, just pass it to _bfd_default_link_order.
375         (aout_link_input_section_std): When doing a final PC relative link
376         against a section symbol, subtract the VMA of the input section.
377         (aout_link_input_section_ext): Likewise.
378
379         * linker.c (default_indirect_link_order): Renamed from
380         _bfd_generic_indirect_link_order and made static.
381         (_bfd_generic_final_link): Don't switch on link_order type, just
382         call _bfd_default_link_order.
383         (_bfd_default_link_order): Handle bfd_indirect_link_order type.
384         * genlink.h: Removed declaration of
385         _bfd_generic_indirect_link_order.
386         * elf32-mips.c (mips_elf_final_link): Don't switch on link_order
387         type, just call _bfd_default_link_order.
388
389 Tue Jan  4 21:23:37 1994  Ian Lance Taylor  ([email protected])
390
391         * linker.c (generic_link_check_archive_element): Base the name of
392         the created common section on the name of the section the symbol
393         came from.
394         (_bfd_generic_link_add_one_symbol): (case BIG): A common symbol
395         must have a section, so don't bother to create one.
396
397 Mon Jan  3 15:32:16 1994  David J. Mackenzie  ([email protected])
398
399         * aout-target.h (MY(vec)): Add DYNAMIC to mask of object flags.
400         * aoutf1.h (NAME(aout,sunos4_write_object_contents)):
401         If the DYNAMIC flag is set, set it in the exec header.
402         * aoutx.h (NAME(aout,some_aout_object_p)): If the object is
403         dynamically linked, set the DYNAMIC flag in the BFD.
404         * libaout.h (N_SET_DYNAMIC): New macro.
405         (N_DYNAMIC): Add missing 0 in mask.
406
407 Mon Jan  3 11:41:45 1994  Ian Lance Taylor  ([email protected])
408
409         * ecoff.c (ecoff_get_extr): Don't output section symbols as
410         external symbols.
411
412         * bfd-in.h, hash.c: Change bfd_hash_allocate argument from size_t
413         to unsigned int, because size_t may not be defined in bfd.h.
414         * bfd-in2.h: Rebuilt.
415
416         * bfd-in.h (bfd_get{b,l}[_signed_]{16,32,64}): Declare argument to
417         be a const pointer.
418         * bfd-in2.h: Rebuilt.
419         * libbfd.c (bfd_get{b,l}[_signed_]{16,32,64}): Declare argument to
420         be a const pointer.
421         * targets.c (bfd_target): Change swap function pointers
422         accordingly.
423         * archive.c (do_slurp_coff_armap): Change swap accordingly.
424         * aix386-core.c: Change NO_GET and NO_GETS accordingly.
425         * hppabsd-core.c, hpux-core.c, irix-core.c, osf-core.c,
426         ptrace-core.c, trad-core.c: Change NO_GET and NO_SIGNED_GET
427         accordingly.
428
429         * libbfd-in.h (struct artdata): Added tdata field.
430         (_bfd_add_bfd_to_archive_cache): Declare.
431         (_bfd_get_elt_at_filepos): Declare.
432         (_bfd_snarf_ar_hdr): Renamed from snarf_ar_hdr.
433         * libbfd.h: Rebuilt.
434         * archive.c: Cleaned up some more.
435         (_bfd_generic_mkarchive, bfd_generic_archive_p): Initialize
436         pointer elements of artdata.
437         (_bfd_add_bfd_to_archive_cache): Renamed from add_bfd_to_cache.
438         (_bfd_snarf_ar_hdr): Renamed from snarf_ar_hdr.
439         (_bfd_get_elt_at_filepos): Renamed from get_elt_at_filepos.
440         (get_extended_arelt_filename, bfd_construct_extended_name_table,
441         bfd_ar_hdr_from_filesystem, compute_and_write_armap): Made static.
442         * ecoff.c: Some comment changes.
443         (ecoff_slurp_armap): Handle rename of snarf_ar_hdr.  Set
444         ardata->tdata to raw_armap.
445         (ecoff_archive_p): Initialize pointer elements of artdata.
446         * coff-rs6000.c (rs6000coff_get_elt_at_filepos): Handle rename of
447         add_bfd_to_cache.
448
449         * hash.c: Added some documentation.
450
451 Mon Jan  3 11:09:28 1994  Jim Kingdon  ([email protected])
452
453         * aout-target.h, netbsd386.c: Replace NO_SWAP_MAGIC with SWAP_MAGIC,
454         and do the swapping here rather than calling ntohl from the N_*
455         macros.  This cleans up assumptions about the size of a host long,
456         the existence to ntohl, etc.
457
458 Sat Jan  1 13:50:05 1994  Rob Savoye  ([email protected])
459
460         * config.bfd: Add support for VSTa micro-kernel. It currently uses
461         i386-aout.
462
463 Sat Jan  1 10:18:54 1994  David J. Mackenzie  ([email protected])
464
465         * hosts/i386mach3.h (HOST_SEGMENT_SIZE): Fix value.
466         * i386mach3.c (SEGMENT_SIZE): Fix value.
467
468 Fri Dec 31 16:23:43 1993  Ian Lance Taylor  ([email protected])
469
470         Minor cleanups suggested by CodeCenter.
471         * aoutx.h, coffgen.c, ecoff.c, ecofflink.c, elf.c, libbfd.c,
472         linker.c, reloc.c, section.c, srec.c: Added /*ARGSUSED*/ as
473         appropriate.
474         * aoutx.h (struct external_exec): Removed unnecessary declaration.
475         (NAME(aout,some_aout_object_p)): Set some tdata pointers to NULL.
476         (adjust_z_magic): Removed useless variable data_vma.
477         (stringtab_init): Initialize hash_zero.
478         (add_to_stringtab): Removed unused fourth argument.
479         (NAME(aout,swap_std_reloc_out)): Removed useless variable
480         r_addend.
481         (aout_link_input_section): Added some casts.
482         * archive.c (get_extended_arelt_filename, do_slurp_coff_armap,
483         bfd_ar_hdr_from_filesystem, bsd_write_armap, coff_write_armap):
484         Minor code rewriting to make it more C like.
485         (do_slurp_bsd_armap): Added some casts.
486         * ecoff.c (ecoff_write_object_contents): Removed useless variable
487         scn_base.
488         (ecoff_write_armap): Added some casts.  Use "" rather than "\0".
489         * ecofflink.c (bfd_ecoff_write_debug): Added a cast.
490         * libaout.h (struct internal_exec): Removed unnecessary
491         declaration.
492         * linker.c (_bfd_generic_indirect_link_order): Added a cast.
493         * opncls.c (new_bfd): Removed a cast.
494         * reloc.c (bfd_generic_get_relocated_section_contents): Added
495         some casts.
496         * srec.c (internal_srec_write_object_contents): Removed useless
497         variable bytes_written.
498
499 Fri Dec 31 11:46:13 1993  David J. Mackenzie  ([email protected])
500
501         * i386mach3.c (N_TXTADDR): Don't define after all.
502         (TEXT_START_ADDR): Don't include exec header size in value.
503
504 Thu Dec 30 15:47:54 1993  David J. Mackenzie  ([email protected])
505
506         * i386mach3.c (N_TXTADDR): Define.
507
508 Thu Dec 30 13:37:24 1993  Ian Lance Taylor  ([email protected])
509
510         Extensive changes to move the bulk of the linker into BFD so that
511         more efficient backend code can be written for specific object
512         files.  Only existing efficient backend is a.out.
513         * seclet.c, seclet.h: Removed.
514         * hash.c, linker.c, genlink.h: New files.
515         * bfd-in.h: Removed bfd_error_vector.  Declared hash table
516         structures and functions.
517         (JUMP_TABLE): Removed bfd_seclet_link, added
518         bfd_link_hash_table_create, bfd_link_add_symbols and
519         bfd_final_link.
520         * All backends: Changed accordingly.
521         * bfd-in2.h: Rebuilt.
522         * bfd.c (struct _bfd): Added link_next and archive_pass fields.
523         Removed ld_symbols field.
524         (bfd_nonrepresentable_section, bfd_undefined_symbol,
525         bfd_reloc_value_truncated, bfd_reloc_is_dangerous,
526         bfd_error_vector): Removed.
527         (bfd_default_error_trap, bfd_error_trap,
528         bfd_error_nonrepresentabltrap): Removed.
529         (bfd_get_relocated_section_contents): Pass link_info.  Pass
530         link_order instead of seclet.  Pass symbols.
531         (bfd_relax_section): Pass link_info.
532         (bfd_seclet_link): Removed.
533         (bfd_link_hash_table_create, bfd_link_add_symbols,
534         bfd_final_link): New macros.
535         * libbfd-in.h: If __GNUC__ is defined and alloca is not, define
536         alloca as __builtin_alloca.  Declare internal linking functions.
537         * libbfd.h: Rebuilt.
538         * libbfd.c (bfd_seek): Comment out fseek assertion.  It's worked
539         for months.
540         * reloc.c (reloc_howto_type): Added error_message argument to
541         special_function field.  Changed all callers and all definitions.
542         (bfd_get_reloc_size): Make argument a const pointer.
543         (bfd_perform_relocation): Add error_message argument to hold
544         string set if return value if bfd_reloc_dangerous.  Changed all
545         callers.
546         (_bfd_final_link_relocate, _bfd_relocate_contents): New functions.
547         * section.c (asection): Renamed seclets_head and seclets_tail to
548         link_order_head and link_order_tail.
549         * targets.c (bfd_target): Replaced seclet argument with link_info
550         and link_order and symbols arguments in
551         bfd_get_relocated_section_contents.  Added symbols argument to
552         bfd_relax_section.  Removed bfd_seclet_link.  Added
553         bfd_link_hash_table_create, bfd_link_add_symbols and
554         bfd_final_link.
555         * libaout.h (struct aoutdata): Added external_syms,
556         external_sym_count, external_strings, sym_hashes fields.
557         (obj_aout_external_syms, obj_aout_external_sym_count,
558         obj_aout_external_strings, obj_aout_sym_hashes): New accessor
559         macros.
560         (WRITE_HEADERS): Only output symbols if outsymbols is not NULL.
561         * aoutx.h: Wrote new back end linker routines.
562         (translate_to_native_sym_flags): Return boolean value.  Don't use
563         bfd_error_vector.
564         (NAME(aout,write_syms)): Return boolean value.  Check return value
565         of translate_to_native_sym_flags and bfd_write.
566         * aout-target.h (final_link_callback): New function.
567         (MY_bfd_final_link): New function.
568         * aout-adobe.c (aout_adobe_write_object_contents): Check return
569         value of aout_32_write_syms.
570         * hp300hpux.c (MY(write_object_contents)): Likewise.
571         * i386lynx.c (WRITE_HEADERS): Likewise.
572         * libaout.h (WRITE_HEADERS): Likewise.
573         * bout.c: Changed functions to use link_info->callbacks rather
574         than bfd_error_vector, and link_orders rather than seclets.
575         * coff-alpha.c: Likewise.
576         * coff-h8300.c: Likewise.
577         * coff-h8500.c: Likewise.
578         * coff-sh.c: Likewise.
579         * coff-z8k.c: Likewise.
580         * elf32-hppa.c: Likewise.
581         * reloc16.c: Likewise.
582         * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Look
583         up _gp in the hash table rather than in outsymbols.
584         * coff-a29k.c (a29k_reloc): Pass errors back in new error_message
585         argument rather than printing them.
586         * coffcode.h (bfd_coff_reloc16_extra_cases): Take link_info and
587         link_order arguments rather than seclet.  Changed all uses and
588         definitions.
589         (bfd_coff_reloc16_estimate): Pass link_info arguments.  Changed
590         all uses and definitions.
591         * libcoff.h: Rebuilt.
592         * ecoff.c (ecoff_get_extr): If symbol is defined by linker, but
593         not by ECOFF, make it scAbs.
594         (ecoff_bfd_final_link): Renamed from ecoff_bfd_seclet_link and
595         rewritten.
596         * elf32-mips.c (mips_elf_final_link): Renamed from
597         mips_elf_seclet_link and rewritten.
598         * elf32-hppa.c (elf32_hppa_stub_description): Added link_info
599         field.
600         (new_stub, add_stub_by_name, hppa_elf_build_arg_reloc_stub,
601         hppa_elf_build_long_branch_stub, hppa_look_for_stubs_in_section):
602         Added link_info arguments.  Changed all callers.
603         * elfcode.h (elf_slurp_symbol_table): Don't quit if outsymbols is
604         not NULL.
605         * oasys.c (oasys_write_sections): Return boolean value rather than
606         using bfd_error_vector.
607         (oasys_write_object_contents): Check return value of
608         oasys_write_sections.
609         * hosts/std-host.h: Don't declare qsort or strtol.
610         * Makefile.in: Rebuild dependencies.
611         (BFD_LIBS): Removed seclet.o.  Added hash.o and linker.o.
612         (CFILES): Removed seclet.c.  Added hash.c and linker.c.
613         (HFILES): Removed seclet.h.  Added genlink.h.
614
615 Thu Dec 30 07:41:36 1993  Peter Schauer  ([email protected])
616
617         * section.c (bfd_get_section_contents):  Return zero filled buffer
618         if section has no contents.
619
620 Tue Dec 28 12:43:54 1993  Ian Lance Taylor  ([email protected])
621
622         * elf.c (bfd_elf_generic_reloc): If this is not an inplace reloc,
623         then skip bfd_perform_relocation even if the addend is non-zero.
624
625 Tue Dec 21 09:22:19 1993  Ken Raeburn  ([email protected])
626
627         * coffcode.h (coff_write_relocs) [SWAP_OUT_RELOC_OFFSET]: Copy
628         addend to r_offset field.
629
630         * Makefile.in (CFILES): Added coff-sparc.c.  Rebuild dependencies.
631
632         * coff-sparc.c (SWAP_IN_RELOC_OFFSET, SWAP_OUT_RELOC_OFFSET,
633         CALC_ADDEND): Define.
634
635         * aix386-core.c (aix386_core_file_p): Use cd_regs[0] for computing
636         the offsetof because AIX /bin/cc does not like to take the address
637         of an array.  (From Minh Tran-Le.)
638
639 Thu Dec 16 13:06:32 1993  Jeffrey A. Law  ([email protected])
640
641         * Thu Dec 16 15:41:06 1993  Peter Hoogenboom  ([email protected])
642
643         * elf32-hppa.c (hppa_elf_build_arg_reloc_stub): Make sure to copy
644         the return pointer into %r2 if no jump-in-call-delay-slot
645         optimization was done.
646
647         * hosts/hp300bsd.h: Correctly identify 4.3BSD vs 4.4BSD.
648
649 Wed Dec 15 08:04:16 1993  David J. Mackenzie  ([email protected])
650
651         * hosts/std-host.h: (time): Don't declare; conflicts on Mach3.
652
653         * hosts/i386mach3.h (HOST_PAGE_SIZE): Set to 1 to avoid padding.
654         (HOST_SEGMENT_SIZE): Set to 0 for same reason.
655
656         * i386mach3.c (PAGE_SIZE, SEGMENT_SIZE): Same changes as above.
657         (TEXT_START_ADDR): Correct.
658         (MY_backend_data): Define.
659
660         * aoutx.h (adjust_o_magic, adjust_z_magic, adjust_n_magic):
661         New functions; code moved from aout_<size>_adjust_sizes_and_vmas.
662
663 Tue Dec 14 21:48:33 1993  Jeffrey A. Law  ([email protected])
664
665         * som.c (som_begin_writing): Fix thinkos in auxiliary header
666         support.
667         (bfd_som_attach_aux_hdr): Likewise.
668
669 Mon Dec 13 23:34:48 1993  Jeffrey A. Law  ([email protected])
670
671         * elf32-hppa.c (hppa_elf_gen_reloc_type): Handle 'T' field
672         selectors for PIC code.
673
674         * som.c (hppa_som_gen_reloc_type): Handle 'T' field selectors.
675         (som_write_fixups): Handle R_DLT_REL, R_FSEL, R_RSEL, R_LSEL
676         relocations needed by PIC.
677
678 Tue Dec  7 15:47:51 1993  Stu Grossman  (grossman at cygnus.com)
679
680         * nlmcode.h:  Fixes to avoid compiler warnings...
681
682 Tue Dec  7 15:10:54 1993  Ian Lance Taylor  ([email protected])
683
684         * libnlm.h (nlm_backend_data): Removed macro definition.
685         (nlm_alpha_backend_data): Adjusted accordingly.
686
687 Sun Dec  5 19:32:08 1993  Jeffrey A. Law  ([email protected])
688
689         * som.c (som_begin_writing): Flesh out code for handling simple
690         auxiliary headers.
691         (bfd_som_attach_aux_hdr): New function.
692
693         * som.h (struct somdata): Add fields for attaching version and
694         copyright headers.  Add accessor macros.
695
696         * som.c (R_DLT_REL, R_AUX_UNWIND, R_SEC_STMT): Add protected
697         definitions for old versions of HPUX which fail to define them.
698         (som_hppa_howto_talbe): Add R_DLT_REL, R_AUX_UNWIND, and R_SEC_STMT
699         now that they're safe.  Delete bogus R_STATEMENT relocations.
700
701         * som.c (som_hppa_howto_table): Add missing R_END_TRY.  Delete 
702         extra R_DATA_OVERRIDE.
703         (hppa_som_gen_reloc_type): Generate a relocation for the rounding
704         mode selector if needed.
705         (som_write_fixups): Handle requests for a change in the default
706         rounding mode.  Rounding modes do not consume input bytes, but
707         are just markers much like R_ENTRY and R_EXIT.
708
709 Sat Dec  4 19:40:32 1993  Jeffrey A. Law  ([email protected])
710
711         Fri Dec  3 09:55:17 1993  Pete Hoogenboom  ([email protected])
712
713         * elf32-hppa.c: (hppa_elf_reloc):  Do not do code reordering when
714         the branch instruction as originally been nullified.
715         hppa_elf_reloc):  Avoid useless call to bfd_put_32 () in the
716         case of no code reordering due to an LDO instruction in the
717         delay slot of the branch.  Make sure to relocate the correct
718         instruction.  Do not perform instruction reordering for millicode
719         calls.
720         (hppa_elf_build_arg_reloc_stub):  Change the relocation type
721         to R_HPPA_STUB_CALL_17 when special processing might be needed.
722         (hppa_elf_build_long_branch_stub): Prevent code reordering on
723         a call from a linker stub to another linker stub and for millicode
724         calls.  Do not trash the return register for calls from one linker
725         stub to a second linker stub.
726
727         * elf32-hppa.c: (elf_hppa_howto_table):  PLABEL and DLT
728         relocations are not pc-relative.
729
730         * hppa_stubs.h: (BLE_N_XXX_0_31):  New instruction used in
731         linker stub code. 
732         (COPY_2_31):  Likewise.
733
734 Fri Dec  3 18:40:58 1993  Ian Lance Taylor  ([email protected])
735
736         * config/solaris2.mh (HDEFINES): Remove -Dconst=
737         * hosts/solaris.h: If not __GNUC__, define const as empty.
738
739 Thu Dec  2 15:43:32 1993  Ian Lance Taylor  ([email protected])
740
741         * ecoff.c: Added various casts for 32/64 bit cross targeting.
742         (ecoff_mkobject_hook): Set SEC_SHARED_LIBRARY for the .reginfo
743         section so that the linker ignores it.
744         * ecofflink.c: Added various casts for 32/64 bit cross targeting.
745         (ecoff_add_bytes): Changed need argument to size_t.
746         (bfd_ecoff_debug_link_other): Check return value of
747         ecoff_add_string.
748
749         * libbfd-in.h (new_bfd): Use void rather than an empty parameter
750         list.
751         * libbfd.h: Rebuilt.
752
753         * libnlm.h (struct nlm_obj_tdata): New field backend_data.
754         (nlm_backend_data, nlm_alpha_backend_data): New accessor macros.
755         (struct nlm_backend_data): New field no_uninitialized_data.
756         (nlm_no_uninitialized_data): New accessor macro.
757         * nlmcode.h (nlm_compute_section_file_positions): Handle
758         no_uninitialized_data.
759         (nlm_external_reloc_compare): Sort relocs by address for a
760         particular symbol, to make the sort more stable.
761         (nlm_write_object_contents): Cast the arguments to qsort.  Get the
762         value of a debugging symbol the same way we get the value of a
763         normal symbol.
764         * nlm32-alpha.c: Various changes.  Write out GP and .lita relocs.
765         Set no_uninitialized_data to true.
766         * nlm32-i386.c (nlm32_i386_backend), nlm32-sparc.c
767         (nlm32_sparc_backend): Set no_uninitialized_data field false.
768         * nlmswap.h (nlm_swap_fixed_header_out): Zero out destination
769         before filling it in.
770
771 Wed Dec  1 21:47:58 1993  Jeffrey A. Law  ([email protected])
772
773         * som.c (som_section_type, som_decode_symcalss): New functions.
774         (som_get_symbol_info): Use them.
775         (som_slurp_symbol_table): Set the section of common and undefined
776         symbols correctly.
777
778 Wed Dec  1 14:15:10 1993  Ken Raeburn  ([email protected])
779
780         * elfcode.h (write_relocs): Initialize local var LAST_SYM_IDX, to
781         make gcc happy.
782
783         * mipsbsd.c: Changes from Ralph Campbell:
784         (mips_howto_table_ext): MIPS_RELOC_LO16 should use
785         complain_overflow_dont.
786         (aout_mips_*_vec): Make name use "a.out" instead of "aout", to
787         make gdb happy.
788
789         * bfd.c (bfd_errmsgs): Reword invalid-target message.
790
791         * config.bfd: For sparc*-*-coff, use sparc-coff.
792         * configure.in: Handle sparccoff_vec.
793         * targets.c (sparccoff_vec): Declare.
794
795         * reloc.c (bfd_get_reloc_size): New function.
796         (struct reloc_howto_type): Update documentation of size field.
797
798 Wed Dec  1 14:39:05 1993  Ian Lance Taylor  ([email protected])
799
800         * nlm32-alpha.c: New file; preliminary Alpha NetWare support.
801         * config.bfd (alpha-*-netware*): New target; use alpha-nlm.
802         * config/alpha-nlm.mt: New file.
803         * configure.in (nlm32_alpha_vec): New vector; use nlm32-alpha.o,
804         nlm32.o, and nlm.o.
805         * Makefile.in (BFD32_BACKENDS): Added nlm32-alpha.o.
806         (CFILES): Added nlm32-alpha.c.
807         Rebuilt dependencies.
808         * targets.c (nlm32_alpha_vec): Declare.
809
810         * libnlm.h (struct nlm_backend_data): New fields
811         optional_prefix_size, nlm_backend_object_p, nlm_write_prefix,
812         nlm_set_public_section, nlm_get_public_offset.  Removed unused
813         nlm_write_reloc field.  Changed nlm_write_import to remove
814         unnecessary symbol argument.  Renamed nlm_write_externals to
815         nlm_write_external, and changed cound argument from bfd_vma to
816         bfd_size_type.
817         (nlm_optional_prefix_size, nlm_backend_object_p_func,
818         nlm_write_prefix_func, nlm_set_public_section_func,
819         nlm_get_public_offset_func): New accessor macros.
820         (nlm_write_reloc_func): Removed.
821         (nlm_write_external_func): Adjusted for field renaming.
822         * nlm32-i386.c (nlm_i386_write_import): Renamed from
823         nlm_i386_write_reloc.  Removed old nlm_i386_write_import which
824         just called old nlm_i386_write_reloc.
825         (nlm_i386_write_external): Renamed from nlm_i386_write_externals.
826         Declared.  Changed second argument from bfd_vma to bfd_size_type.
827         (nlm32_i386_backend): Adjusted for changes to fields and names.
828         * nlm32-sparc.c (nlm_sparc_mangle_relocs): Removed unused,
829         ifdeffed out code.
830         (nlm_sparc_write_import): Removed second argument.
831         (nlm_sparc_write_external): Renamed from
832         nlm_sparc_write_externals.  Changed second argument from bfd_vma
833         to bfd_size_type.
834         (nlm32_sparc_backend): Adjusted for changes to fields and names.
835         * nlmcode.h: Removed some unused code.
836         (nlm_object_p): Don't destroy tdata pointer.  Call
837         backend_object_p function if it exists.
838         (nlm_slurp_symbol_table): Removed unused variable rcount.  Call
839         set_public_section_func if it exists instead of checking
840         NLM_HIBIT.
841         (nlm_compute_section_file_positions): Account for
842         optional_prefix_size.
843         (nlm_write_object_contents): Account for optional_prefix_size.
844         Removed useless variable write_reloc_func.  Changed declaration
845         and call of write_import_func.  Call write_prefix_func if it
846         exists.  Removed unused variables len and temp.  Call
847         get_public_offset_func if it exists rather than setting NLM_HIBIT.
848         * nlmswap.h: Declare functions.
849
850         * bfd-in.h (uint64_typeLOW, uint64_typeHIGH): Fully parenthesize
851         for clarity.
852         (fprintf_vma, sprintf_vma): Use %lx, not %x.
853         * bfd-in2.h: Rebuilt.
854         * hosts/alphaosf.h (uint64_typeLOW, uint64_typeHIGH): Cast results
855         to unsigned long.
856
857         * config.bfd: Don't set target64 here, as the setting is ignored.
858         * configure.in (ecoffalpha_little_vec): Set target64.
859
860         * config/alphaosf.mt (TDEFINES): Removed; setting host parameters
861         in TDEFINES is wrong.
862
863         * coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
864         Remove unused variable output_section.
865
866 Tue Nov 30 16:45:23 1993  Ian Lance Taylor  ([email protected])
867
868         * irix-core.c: New file for Irix 4 and Irix 5 core support.
869         Functions taken out of coff-mips.c.  Handle vmap type VMAPFILE.
870         * coff-mips.c: Irix 4 core file support moved to irix-core.c.
871         * targets.c: If IRIX_CORE defined, include irix_core_vec in
872         target_vector.
873         * config/irix4.mh (HDEFINES): Add -DIRIX_CORE.
874         (HDEPFILES): Define to be irix-core.o.
875         * config/irix5.mh (HDEFINES): Define to be -DIRIX_CORE.
876         (HDEPFILES): Define to be irix-core.o.
877         * Makefile.in (OPTIONAL_BACKENDS): Added irix-core.o.  Removed
878         sco-core.o, which no longer exists.
879         (CFILES): Added all *-core.c files.
880         Rebuilt dependencies.
881
882 Wed Nov 24 02:02:41 1993  Ian Lance Taylor  ([email protected])
883
884         * elfcode.h (map_program_segments): Restore check of file_size !=
885         mem_size, but only if SHT_PROGBITS.
886
887         * ecofflink.c: New file to hold ECOFF debug information linking
888         routines.
889         * ecoff.c (ecoff_clear_output_flags, ecoff_rel, ecoff_dump_seclet,
890         ecoff_add_string, ecoff_get_debug): Removed.  Functionality now in
891         ecofflink.c.
892         (ecoff_get_extr, ecoff_set_index): New functions.
893         (ecoff_slurp_symbolic_info): Don't save raw_size.
894         (ecoff_bfd_seclet_link): Rewrote to use ecofflink.c functions.
895         (ecoff_compute_section_file_positions): Don't set EXEC_P just
896         because there is a start address.
897         (ecoff_write_object_contents): Handle external symbols here.  Use
898         ecofflink.c functions to write out debugging information.
899         * elf32-mips.c (mips_elf_read_ecoff_info, mips_elf_get_extr,
900         mips_elf_set_index): New functions.
901         (mips_elf_seclet_link): Discard empty sections, the .options
902         section and .gptab sections.  Handle linking .mdebug section.
903         * libecoff.h (ecoff_data_type): Removed raw_size and ifdbase.
904         * libelf.h (elf_symbol_type): Added mips_extr to tc_data union.
905         * bfd-in.h: Added prototypes for routines in ecofflink.c (some are
906         called by gas, so they are public).
907         * bfd-in2.h: Rebuilt.
908         * Makefile.in (BFD_LIBS): Added ecofflink.o.
909         (CFILES): Added ecofflink.c.
910         (ecofflink.o): New target.  Rebuilt dependencies.
911
912 Mon Nov 22 22:26:42 1993  Jeffrey A. Law  ([email protected])
913
914         * som.c (hppa_object_p): Also recognize SHARED_MAGIC_CNX as
915         a valid magic number if it's been defined.
916
917 Mon Nov 22 14:17:36 1993  Ian Lance Taylor  ([email protected])
918
919         * ecoff.c (ecoff_mkobject): Don't create .scommon section; linker
920         no longer requires it.
921         (ecoff_bfd_seclet_link, ecoff_sizeof_headers,
922         ecoff_write_object_contents): Don't treat .scommon section
923         specially.
924
925 Mon Nov 22 10:54:27 1993  Fred Fish  ([email protected])
926
927         Merged changes from [email protected] (Kevin A. Buettner):
928         * bfd/config/delta88.mh (HDEFINES): Define this to be -DPTRACE_CORE.
929         * bfd/config/delta88.mh (HDEPFILES): Defined to be ptrace-core.o.
930         * bfd/ptrace-core.c:  New file for dealing with core files with
931         start with the ptrace_user structure found on BCS compliant systems.
932         * bfd/targets.c (ptrace_core_vec):  New vector.
933
934 Mon Nov 22 02:33:12 1993  Jeffrey A. Law  ([email protected])
935
936         * Minimal support for reading SOM fixup streams.  Allows
937         objdump -r to do something reasonable.
938         * som.c (som_get_reloc_upper_bound): Implement.
939         (som_canonicalize_reloc): Implement.
940         (som_set_reloc_info, som_slurp_reloc_table): New functions.
941
942 Sun Nov 21 13:46:55 1993  Ken Raeburn  ([email protected])
943
944         * hosts/lynx.h (FPRINTF_ALREADY_DECLARED): Define.
945         * hosts/sparclynx.h: Include lynx.h instead of duplicating it.
946
947 Fri Nov 19 14:34:04 1993  Ian Lance Taylor  ([email protected])
948
949         * coff-a29k.c (a29k_reloc): For R_IREL, don't left shift
950         signed_value before sign extending it.  Don't subtract out
951         reloc_entry->address.  This makes it compatible with what gas is
952         generating.
953
954         * elfcode.h (elf_fake_sections): Accept .sbss as the name for a
955         SHT_NOBITS sections.
956         (map_program_segments): Don't leave the loop after the first
957         SHT_NOBITS section.
958         (assign_file_positions_except_relocs): Only force sh_offset and
959         sh_addr to match modulo maxpagesize for a section which is not
960         SHT_NOBITS.  Changed the method used to force page alignment after
961         a SHT_NOBITS section to only do it for the last such consecutive
962         section, and to really force page alignment.
963
964 Fri Nov 19 04:02:01 1993  Ken Raeburn  ([email protected])
965
966         * coffcode.h (coff_slurp_symbol_table): Print more verbose message
967         in the case of an unknown (or unhandled) storage class.
968
969         * config/i386-lynx.mt (TDEFINES): FPRINTF_ALREADY_DECLARED should
970         not be defined here, since it is a host attribute, not a target
971         one.
972         * config/m68k-lynx.mt, config/sparc-lynx.mt: Ditto.
973
974         * coffcode.h (coff_bfd_reloc_type_lookup): Don't define if already
975         defined.
976
977         * coff-sparc.c: Define some relocations, based on ELF relocations.
978         (enum reloc_type, bfd_coff_generic_reloc, coff_sparc_howto_table,
979         struct coff_reloc_map, sparc_reloc_map,
980         coff_sparc_reloc_type_lookup): Borrowed from elf32-sparc.c and
981         elf.c, renamed.
982         (coff_bfd_reloc_type_lookup): Define to be coff_sparc_reloc_....
983         (rtype2howto): Index into coff_sparc_howto_table using
984         dst->r_type.
985
986 Thu Nov 18 11:45:39 1993  Ian Lance Taylor  ([email protected])
987
988         * config.bfd (mips*-*-irix5*): New target; use mipsbelf.
989         * configure.host (mips-sgi-irix5*) New host; use irix5 (no
990         hosts/irix5.h created; just use std-host.h).
991         * config/irix5.mh: New file; like irix4.mh, but don't use -G or
992         -lmalloc.
993         * Makefile.in: Rebuilt dependencies.
994
995         * ecoffswap.h: Changed type of internal pointers for swap out
996         functions to const *.
997
998         * elf32-mips.c (mips_elf_got16_reloc): New function.  Handle GOT16
999         correctly for assembler, but linker support not implemented.
1000         (elf_mips_howto_table): Use mips_elf_got16_reloc for GOT16.
1001         (mips_elf_sym_is_global): New function; at least on Irix 5, all
1002         non section symbols are considered global.
1003         (elf_backend_sym_is_global): Define.
1004         (mips_elf_final_write_processing): New function.  Set the MIPS
1005         architecture level correctly.
1006         (elf_backend_final_write_processing): Define.
1007         (mips_elf_section_from_shdr): Handle SHT_MIPS_OPTIONS.
1008         (mips_elf_fake_sections): Set entsize of .mdebug or .reginfo
1009         section to 1.  Handle .options section.
1010         (mips_elf_acom_section, mips_elf_acom_symbol,
1011         mips_elf_acom_symbol_ptr): New static variables, used to build a
1012         generic .acommon section to hold SHN_MIPS_ACOMMON symbols.
1013         (mips_elf_symbol_processing): Handle SHN_MIPS_ACOMMON symbols by
1014         putting them all in a global .acommon section.
1015
1016         * elfcode.h (bfd_section_from_shdr): Don't dump core if target
1017         section has no ELF section data.
1018         (elf_make_sections): Set addralign of reloc section to 4.
1019         (elf_fake_sections): Likewise.
1020         (map_program_segments): Don't consider section 0.
1021         (assign_file_positions_except_relocs): Don't consider section 0.
1022         In the main loop, skip the symtab and strtab sections, since their
1023         positions are set elsewhere.
1024         (swap_out_syms): Set addralign of symtab section to 4.  Set
1025         addralign of strtab sections to 1.
1026         (assign_file_positions_for_relocs): Don't consider section 0.
1027         (write_object_contents): Don't write out section 0.
1028
1029         * libelf.h (struct elf_backend_data): Added fields
1030         elf_backend_sym_is_global and elf_backend_final_write_processing.
1031         * elf32-target.h (elf32_bed): Added corresponding initializers.
1032         * elf64-target.h (elf64_bed): Likewise.
1033         * elfcode.h (sym_is_global): Take abfd argument.  Call
1034         elf_backend_sym_is_global if it is not NULL.
1035         (elf_map_symbols): Pass abfd to sym_is_global.
1036         (write_object_contents): Call elf_backend_final_write_processing
1037         if it is defined.
1038
1039 Wed Nov 17 18:43:28 1993  Ian Lance Taylor  ([email protected])
1040
1041         * libecoff.h: Include coff/ecoff.h.
1042         (struct ecoff_backend_data): Move external debugging information
1043         fields into a single field pointing to an ecoff_debug_swap
1044         structure.
1045         (ecoff_data_type): Move debugging information fields into a single
1046         field pointing to an ecoff_debug_info structure.
1047         * coff-alpha.c, coff-mips.c, ecoff.c: Corresponding changes.
1048
1049 Wed Nov 17 17:38:58 1993  Sean Eric Fagan  ([email protected])
1050
1051         * nlmswap.h: New file to swap fixed header.  Included by NLM
1052         backends.
1053         * libnlm.h (struct reloc_and_sec): Define.
1054         (struct nlm_backend_data): Add fields fixed_header_size,
1055         nlm_read_import, nlm_write_import, nlm_swap_fhdr_in,
1056         nlm_swap_fhdr_out.
1057         (nlm_fixed_header_size, nlm_read_import_func,
1058         nlm_write_import_func, nlm_swap_fixed_header_in_func,
1059         nlm_swap_fixed_header_out_func, nlm_write_external_func): New
1060         accessor macros.
1061         * nlmcode.h: Use new functions.
1062         * nlm32-i386.c: Provide new functions.
1063         * nlm32-sparc.c: New file; SPARC NLM backend.
1064
1065 Wed Nov 17 13:56:10 1993  Stan Shebs  ([email protected])
1066
1067         * i386lynx.c (swap_std_reloc_in, swap_ext_reloc_in): Ignore
1068         garbage bits appearing in the upper end of symbolnums.
1069
1070         * config/sparc-lynx.mt (TDEFINES): Add -DFPRINTF_ALREADY_DECLARED.
1071
1072 Tue Nov 16 17:03:41 1993  Stu Grossman  (grossman at cygnus.com)
1073
1074         * lynx-core.c (lynx_core_file_p):  Change bfd_zalloc to bfd_alloc.
1075         * m68klynx.c:  Define core file macros.
1076         * hosts/i386lynx.h, hosts/m68klynx.h, hosts/lynx.h:  Move all
1077         non-architecture specific stuff into lynx.h.
1078
1079 Tue Nov 16 15:45:54 1993  Jim Kingdon  ([email protected])
1080
1081         * i386linux.c: Define new macro ZMAGIC_DISK_BLOCK_SIZE to 1024, and
1082         change PAGE_SIZE to 4096.
1083
1084 Mon Nov 15 11:48:08 1993  Ken Raeburn  ([email protected])
1085
1086         * Makefile.in (diststuff): New target.
1087
1088         * VERSION: Updated.
1089
1090 Sun Nov 14 23:33:01 1993  Jeffrey A. Law  ([email protected])
1091
1092         * som.c (som_object_setup): Do not create dummy ".text", ".data",
1093         and ".bss" sections.
1094         (setup_sections): Do not set SEC_HAS_CONTENTS if a section's size
1095         is zero.  Recognize BSS type sections and turn off SEC_LOAD and
1096         SEC_DATA (so binutils/size works).  Set the correct value for
1097         a section's _raw_size.
1098         (som_slurp_symbol_table): Program entry points, and millicode are
1099         also functions.  Mark them as such.  Also mark L$* symbols as
1100         debugging symbols.
1101
1102         * bfd-in2.h: Rebuilt.
1103
1104 Sat Nov 13 15:27:15 1993  Jeffrey A. Law  ([email protected])
1105
1106         * som.c (som_bfd_reloc_type_lookup): Add missing prototype.  Returns
1107         a pointer to constant data.  Delete bogus #define which made the 
1108         function useless.
1109
1110         * som.c (som_prep_for_fixups): New function.
1111         (som_write_fixups): New function.
1112         (som_write_space_strings): New function.
1113         (som_write_symbol_strings): New function.
1114         (som_begin_writing): New function.
1115
1116 Fri Nov 12 15:29:36 1993  Jeffrey A. Law  ([email protected])
1117
1118         * som.c (som_write_object_contents): Do not abort.  Flesh out.
1119         (som_set_section_contents): Do not abort.  Flesh out.
1120
1121         * som.c (som_write_headers): New function.
1122         (som_prep_headers): New function.
1123         (som_build_and_write_symbol_table): New function.
1124
1125         * som.c (som_sizeof_headers): Add missing prototype.
1126         (som_set_arch_mach): Do not abort.
1127
1128         * som.c (som_count_spaces): New function.
1129         (som_count_subspaces): New function.
1130         (compare_syms): New function.
1131         (som_compute_checksum): New function.
1132
1133         * som.c (hppa_som_gen_reloc_type): New function.
1134         (som_bfd_reloc_type_lookup): New function.
1135
1136         * som.c (try_prev_fixup): New function.
1137         (som_reloc_skip): New function.
1138         (som_reloc_addend): New function.
1139         (som_reloc_call): New function.
1140
1141         * som.c (som_initialize_reloc_queue): New function.
1142         (som_reloc_queue_insert): Likewise.
1143         (som_reloc_queue_fix): Likewise.
1144         (som_reloc_queue_find): Likewise.
1145
1146         * som.c (som_hppa_howto_table): SOM howto relocation table.
1147         (hppa_som_reloc): New function.
1148
1149         * som.c (struct reloc_queue): New structure to keep track of
1150         the last four multibyte relocations emitted.
1151         (enum pa_symbol_type): Type to fully describe the symbol types
1152         associated with .import/.export assembler directives.
1153
1154         * som.c: Include libhppa.h
1155
1156         * som.c (bfd_som_set_section_attributes): New function.
1157         (bfd_som_set_subsection_attributes): Likewise.
1158         (bfd_som_set_symboL_type): Likewise.
1159         (bfd_som_attach_unwind_info): Likewise.
1160         * som.h: Declare new exported functions.
1161
1162         * som.h (struct som_symbol): Add new fields to hold additional
1163         information needed to build/write symbol tables and fixup streams.
1164         (struct som_section_data_struct): Add new fields to hold additional
1165         information needed to build/write space and subspace headers.
1166         (som_symbol_data): New accessor macro for SOM symbol information.
1167         (R_HPPA_*): Basic relocation types to be used by the assembler.
1168
1169 Fri Nov 12 11:00:28 1993  Jim Kingdon  ([email protected])
1170
1171         * trad-core.c (trad_unix_core_file_p): If new hook
1172         TRAD_CORE_ALLOW_ANY_EXTRA_SIZE defined, then skip the check for the
1173         corefile being too big.
1174         * hosts/i386sco.h: Define it.
1175
1176 Thu Nov 11 15:16:28 1993  Jeffrey A. Law  ([email protected])
1177
1178         * bfd.c (struct _bfd): Add hppabsd_core_data.
1179         * targets.c (target_vector): Add hppabsd_core_vec.
1180         * hpux-core.c (hpux_core_core_file_p): Fail if an unknown core
1181         section is encountered during core section scanning.
1182         * hppabsd-core.c: New file.
1183         * config/hppabsd.mh: Enable HPPA BSD core files.
1184
1185         * elf32-hppa.c (hppa_elf_reloc): Remove DEFUN crud.  Remove code
1186         which is either commented out or ifdef'd out.  Add, update and
1187         clean comments.  Fix various indention and spacing problems.  Handle
1188         problems related to using "ble" to jump to a stub rather than "bl"
1189         (%r31 is trashed by "ble", but not by "bl").
1190         (NEW_INSTRUCTION): Put inside curly braces.
1191         (CURRENT_STUB_OFFSET): Fix indention problems.
1192         (hppa_elf_build_arg_reloc_stub): Fix indention and spacing problems.
1193         Add, update and clean comments.  Handle "ble" %r31 lossage problems.
1194         (hppa_elf_build_long_branch_stub): Likewise.
1195         (hppa_look_for_stubs_in_section): Likewise.
1196         (hppa_elf_stub_check): Remove obsolete function.
1197
1198         * hppa_stubs.h: Add new instructions to deal with %r31 lossage
1199         problems.  Delete unused instructions.
1200         
1201 Tue Nov  9 11:40:27 1993  Stan Shebs  ([email protected])
1202
1203         * m68klynx.c (TARGET_IS_BIG_ENDIAN_P): Define.
1204
1205 Tue Nov  9 11:26:05 1993  Ian Lance Taylor  ([email protected])
1206
1207         * elfcode.h (elf_object_p): Rather than looking through an array
1208         of architectures, get the ELF EM_xxx code from the backend
1209         information.  Let the generic ELF target match any EM_xxx code not
1210         matched by another ELF target.  Call elf_backend_object_p to let
1211         the backend do more checks and set global information.
1212         * libelf.h (struct elf_backend_data): Added elf_machine_code and
1213         elf_backend_object_p fields.
1214         (struct bfd_elf_arch_map): Removed.
1215         (bfd_elf_arch_map, bfd_elf_arch_map_size): Don't declare.
1216         * elf32-target.h, elf64-target.h: Initialize elf_machine_code
1217         field with ELF_MACHINE_CODE.  Initialize elf_backend_object_p
1218         field with elf_backend_object_p (if it is defined).
1219         * elf32-gen.c, elf32-hppa.c, elf32-i386.c, elf32-i860.c,
1220         elf32-m68k.c, elf32-m88k.c, elf32-mips.c, elf32-sparc.c,
1221         elf64-gen.c (ELF_MACHINE_CODE): Defined.
1222         * elf32-mips.c: Include ecoffswap.h to get ECOFF swapping
1223         routines.
1224         (mips_elf_object_p): Set the right machine number.
1225         (mips_elf_ecoff_debug_swap): Defined.
1226         (elf_backend_object_p): Defined to be mips_elf_object_p.
1227         (elf_backend_ecoff_debug_swap): Defined to be
1228         mips_elf_ecoff_debug_swap.
1229         * elf.c (bfd_elf_arch_map, bfd_elf_arch_map_size): Removed.
1230
1231         * libbfd-in.h (target_vector, default_vector): Declare.
1232         * libbfd.h: Rebuilt.
1233         * format.c (target_vector, default_vector): Don't declare.
1234
1235         * elf32-mips.c (elf_mips_howto_table): Don't complain on overflow
1236         for R_MIPS_26.  Correct overflow detection requires matching the
1237         upper four bits of the destination against the PC.  From Ted Lemon
1238         <[email protected]>.
1239
1240         * bout.c (b_out_reloc_type_lookup): Return type should point to
1241         const data.
1242         * coff-i960.c (coff_i960_reloc_type_lookup): Likewise.
1243         * elf32-hppa.c (elf_hppa_reloc_type_lookup): Likewise.
1244         * mipsbsd.c (MY(reloc_howto_type_lookup)): Likewise.
1245         * coff-i386.c (coff_i386_reloc): Made howto const.
1246         * oasys.c (oasys_write_data): Made how const.
1247
1248         * libelf.h: Added some comments.
1249         (struct elf_backend_data): Added elf_backend_ecoff_debug_swap
1250         field.  Removed unused write_relocs field.
1251         * elf32-target.h: Adjusted elf_backend_data initialization
1252         accordingly.
1253         * elf64-target.h: Corrected elf_backend_data initialization to
1254         fill in all fields and to set elf_64_p to 1.
1255
1256 Mon Nov  8 18:13:14 1993  Ian Lance Taylor  ([email protected])
1257
1258         * elfcode.h (bfd_section_from_shdr): Remove duplicate assignment
1259         to filepos in SHT_STRTAB case.
1260         (assign_file_position_for_section): Set BFD section filepos as
1261         well as ELF section sh_offset.
1262
1263         * reloc.c: Use const instead of CONST.
1264         (bfd_perform_relocation): Make variable howto a const pointer.
1265         * bfd-in2.h, libbfd.h: Rebuilt.
1266
1267 Mon Nov  8 12:19:15 1993  Jim Kingdon  ([email protected])
1268
1269         * Makefile.in (realclean): Don't remove generated headers.  Reverts
1270         change of 2 Jul 1993.
1271
1272 Mon Nov  8 06:08:31 1993  D. V. Henkel-Wallace  ([email protected])
1273
1274         * configure.bfd: make unixware equivalent to sysv4.
1275
1276         * config/i386-nlm.mt: bring in elf config; make it the default.
1277
1278 Sun Nov  7 20:21:38 1993  Jeffrey A. Law  ([email protected])
1279
1280         * libbfd.c (bfd_put_8): Add parens around reference to "val"
1281         argument.
1282
1283 Fri Nov  5 21:45:09 1993  David J. Mackenzie  ([email protected])
1284
1285         * hosts/i386mach3.h (HOST_SEGMENT_SIZE),
1286         i386mach3.c (SEGMENT_SIZE, TEXT_START_ADDR): Correct values (?).
1287
1288 Fri Nov  5 15:17:57 1993  Ian Lance Taylor  ([email protected])
1289
1290         * coffcode.h (coff_write_object_contents): Zero out internal_a.
1291
1292 Fri Nov  5 10:41:07 1993  David J. Mackenzie  ([email protected])
1293
1294         * aoutx.h, archive.c, archures.c, bfd.c, cache.c, coffcode.h,
1295         core.c, ctor.c, format.c, init.c, libbfd.c, opncls.c, reloc.c,
1296         section.c, syms.c, targets.c:
1297         Doc cleanup (spelling, punctuation, grammar, formatting).
1298         * bfd-in2.h, libbfd.h: Rebuild.
1299
1300 Thu Nov  4 14:46:14 1993  John Gilmore  ([email protected])
1301
1302         * bfd-in.h (bfd_get_cacheable, bfd_set_cacheable):  New accessors.
1303         * bfd.c, opncls.c:  Improve comments on file descriptor cacheing.
1304
1305 Thu Nov  4 08:54:30 1993  Jeffrey A. Law  ([email protected])
1306
1307         * From Pete Hoogenboom ([email protected])
1308         * elf32-hppa.c (hppa_elf_get_section_contents): Fix logic error
1309         in last change.  Always rebuild symbol extension section the first
1310         time though if output sections exist (fixes ld -r problems).
1311
1312 Thu Nov 04 08:08:46 1993  Jeffrey Wheat  ([email protected])
1313
1314         * Makefile.in: Add .PHONY for check and installcheck rules.
1315
1316 Tue Nov  2 14:42:27 1993  Bill Cox ([email protected])
1317
1318         * libbfd-in.h (artdata): Use long, not time_t for portability, at
1319           least to HPUX.  File below is a derived file.
1320
1321 Tue Nov  2 14:42:27 1993  Bill Cox ([email protected])
1322
1323         * libbfd.h (artdata): Use long, not time_t for portability, at
1324           least to HPUX.
1325
1326 Tue Nov  2 09:32:25 1993  Jim Kingdon  ([email protected])
1327
1328         * config.bfd: Use bigmips for mips*-*-bsd*.
1329
1330 Mon Nov  1 14:30:09 1993  Ian Lance Taylor  ([email protected])
1331
1332         * elfcode.h (elf_slurp_reloca_table, elf_slurp_reloc_table):
1333         Handle symbol number of zero.
1334
1335         * reloc.c (enum bfd_reloc_code_real): Added
1336         BFD_RELOC_MIPS_LITERAL, BFD_RELOC_MIPS_GOT16,
1337         BFD_RELOC_MIPS_CALL16, BFD_RELOC_MIPS_GPREL32.
1338         * bfd-in2.h: Rebuilt.
1339         * coff-mips.c (mips_bfd_reloc_type_lookup): Handle
1340         BFD_RELOC_MIPS_LITERAL.
1341         * elf32-mips.c (mips_reloc_map): Handle new relocs.
1342         (mips_elf_hi16_reloc, mips_elf_lo16_reloc): Rearrange _gp_disp
1343         checks slightly.
1344
1345         * aout-target.h (MY_bfd_debug_info_start, MY_bfd_debug_info_end,
1346         MY_bfd_debug_info_accumulat [sic]): Remove unused definitions.
1347         (MY_bfd_get_relocated_section_contents, MY_bfd_relax_section,
1348         MY_bfd_seclet_link): Define.
1349         (MY_bfd_reloc_type_lookup): Rename from
1350         MY_reloc_howto_type_lookup.
1351         (MY_bfd_make_debug_symbol): Rename from MY_make_debug_symbol.
1352         (MY(vec)): Use JUMP_TABLE rather than listing functions.
1353         * hp300hpux.c (MY_get_symtab, MY_get_symtab_upper_bound,
1354         MY_canonicalize_reloc, MY_write_object_contents): Don't define in
1355         terms of MY, because that causes a recusive invocation of CAT when
1356         expanded within JUMP_TABLE, and ANSI compilers don't expand
1357         recursive macros.
1358         * mipsbsd.c (MY_bfd_reloc_type_lookup): Rename from
1359         MY_reloc_howto_type_lookup, and don't define in terms of MY.
1360         (MY_canonicalize_reloc): Don't define in terms of MY.
1361         (aout_mips_little_vec, aout_mips_big_vec): Use JUMP_TABLE rather
1362         than listing functions.
1363
1364 Mon Nov  1 09:12:25 1993  Jim Kingdon  ([email protected])
1365
1366         * config.bfd: Use m68k-elf for m68*-*-sysv4*.
1367
1368 See file ChangeLog.1
1369
1370 \f
1371 Local Variables:
1372 mode: indented-text
1373 left-margin: 8
1374 fill-column: 74
1375 version-control: never
1376 End:
This page took 0.112601 seconds and 4 git commands to generate.