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