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