1 Mon Jan 3 15:32:16 1994 David J. Mackenzie (djm@thepub.cygnus.com)
3 * aout-target.h (MY(vec)): Add DYNAMIC to mask of object flags.
4 * aoutf1.h (NAME(aout,sunos4_write_object_contents)):
5 If the DYNAMIC flag is set, set it in the exec header.
6 * aoutx.h (NAME(aout,some_aout_object_p)): If the object is
7 dynamically linked, set the DYNAMIC flag in the BFD.
8 * libaout.h (N_SET_DYNAMIC): New macro.
9 (N_DYNAMIC): Add missing 0 in mask.
11 Mon Jan 3 11:41:45 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
13 * bfd-in.h, hash.c: Change bfd_hash_allocate argument from size_t
14 to unsigned int, because size_t may not be defined in bfd.h.
17 * bfd-in.h (bfd_get{b,l}[_signed_]{16,32,64}): Declare argument to
20 * libbfd.c (bfd_get{b,l}[_signed_]{16,32,64}): Declare argument to
22 * targets.c (bfd_target): Change swap function pointers
24 * archive.c (do_slurp_coff_armap): Change swap accordingly.
25 * aix386-core.c: Change NO_GET and NO_GETS accordingly.
26 * hppabsd-core.c, hpux-core.c, irix-core.c, osf-core.c,
27 ptrace-core.c, trad-core.c: Change NO_GET and NO_SIGNED_GET
30 * libbfd-in.h (struct artdata): Added tdata field.
31 (_bfd_add_bfd_to_archive_cache): Declare.
32 (_bfd_get_elt_at_filepos): Declare.
33 (_bfd_snarf_ar_hdr): Renamed from snarf_ar_hdr.
35 * archive.c: Cleaned up some more.
36 (_bfd_generic_mkarchive, bfd_generic_archive_p): Initialize
37 pointer elements of artdata.
38 (_bfd_add_bfd_to_archive_cache): Renamed from add_bfd_to_cache.
39 (_bfd_snarf_ar_hdr): Renamed from snarf_ar_hdr.
40 (_bfd_get_elt_at_filepos): Renamed from get_elt_at_filepos.
41 (get_extended_arelt_filename, bfd_construct_extended_name_table,
42 bfd_ar_hdr_from_filesystem, compute_and_write_armap): Made static.
43 * ecoff.c: Some comment changes.
44 (ecoff_slurp_armap): Handle rename of snarf_ar_hdr. Set
45 ardata->tdata to raw_armap.
46 (ecoff_archive_p): Initialize pointer elements of artdata.
47 * coff-rs6000.c (rs6000coff_get_elt_at_filepos): Handle rename of
50 * hash.c: Added some documentation.
52 Mon Jan 3 11:09:28 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
54 * aout-target.h, netbsd386.c: Replace NO_SWAP_MAGIC with SWAP_MAGIC,
55 and do the swapping here rather than calling ntohl from the N_*
56 macros. This cleans up assumptions about the size of a host long,
57 the existence to ntohl, etc.
59 Sat Jan 1 13:50:05 1994 Rob Savoye (rob@darkstar.cygnus.com)
61 * config.bfd: Add support for VSTa micro-kernel. It currently uses
64 Sat Jan 1 10:18:54 1994 David J. Mackenzie (djm@thepub.cygnus.com)
66 * hosts/i386mach3.h (HOST_SEGMENT_SIZE): Fix value.
67 * i386mach3.c (SEGMENT_SIZE): Fix value.
69 Fri Dec 31 16:23:43 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
71 Minor cleanups suggested by CodeCenter.
72 * aoutx.h, coffgen.c, ecoff.c, ecofflink.c, elf.c, libbfd.c,
73 linker.c, reloc.c, section.c, srec.c: Added /*ARGSUSED*/ as
75 * aoutx.h (struct external_exec): Removed unnecessary declaration.
76 (NAME(aout,some_aout_object_p)): Set some tdata pointers to NULL.
77 (adjust_z_magic): Removed useless variable data_vma.
78 (stringtab_init): Initialize hash_zero.
79 (add_to_stringtab): Removed unused fourth argument.
80 (NAME(aout,swap_std_reloc_out)): Removed useless variable
82 (aout_link_input_section): Added some casts.
83 * archive.c (get_extended_arelt_filename, do_slurp_coff_armap,
84 bfd_ar_hdr_from_filesystem, bsd_write_armap, coff_write_armap):
85 Minor code rewriting to make it more C like.
86 (do_slurp_bsd_armap): Added some casts.
87 * ecoff.c (ecoff_write_object_contents): Removed useless variable
89 (ecoff_write_armap): Added some casts. Use "" rather than "\0".
90 * ecofflink.c (bfd_ecoff_write_debug): Added a cast.
91 * libaout.h (struct internal_exec): Removed unnecessary
93 * linker.c (_bfd_generic_indirect_link_order): Added a cast.
94 * opncls.c (new_bfd): Removed a cast.
95 * reloc.c (bfd_generic_get_relocated_section_contents): Added
97 * srec.c (internal_srec_write_object_contents): Removed useless
98 variable bytes_written.
100 Fri Dec 31 11:46:13 1993 David J. Mackenzie (djm@thepub.cygnus.com)
102 * i386mach3.c (N_TXTADDR): Don't define after all.
103 (TEXT_START_ADDR): Don't include exec header size in value.
105 Thu Dec 30 15:47:54 1993 David J. Mackenzie (djm@thepub.cygnus.com)
107 * i386mach3.c (N_TXTADDR): Define.
109 Thu Dec 30 13:37:24 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
111 Extensive changes to move the bulk of the linker into BFD so that
112 more efficient backend code can be written for specific object
113 files. Only existing efficient backend is a.out.
114 * seclet.c, seclet.h: Removed.
115 * hash.c, linker.c, genlink.h: New files.
116 * bfd-in.h: Removed bfd_error_vector. Declared hash table
117 structures and functions.
118 (JUMP_TABLE): Removed bfd_seclet_link, added
119 bfd_link_hash_table_create, bfd_link_add_symbols and
121 * All backends: Changed accordingly.
122 * bfd-in2.h: Rebuilt.
123 * bfd.c (struct _bfd): Added link_next and archive_pass fields.
124 Removed ld_symbols field.
125 (bfd_nonrepresentable_section, bfd_undefined_symbol,
126 bfd_reloc_value_truncated, bfd_reloc_is_dangerous,
127 bfd_error_vector): Removed.
128 (bfd_default_error_trap, bfd_error_trap,
129 bfd_error_nonrepresentabltrap): Removed.
130 (bfd_get_relocated_section_contents): Pass link_info. Pass
131 link_order instead of seclet. Pass symbols.
132 (bfd_relax_section): Pass link_info.
133 (bfd_seclet_link): Removed.
134 (bfd_link_hash_table_create, bfd_link_add_symbols,
135 bfd_final_link): New macros.
136 * libbfd-in.h: If __GNUC__ is defined and alloca is not, define
137 alloca as __builtin_alloca. Declare internal linking functions.
139 * libbfd.c (bfd_seek): Comment out fseek assertion. It's worked
141 * reloc.c (reloc_howto_type): Added error_message argument to
142 special_function field. Changed all callers and all definitions.
143 (bfd_get_reloc_size): Make argument a const pointer.
144 (bfd_perform_relocation): Add error_message argument to hold
145 string set if return value if bfd_reloc_dangerous. Changed all
147 (_bfd_final_link_relocate, _bfd_relocate_contents): New functions.
148 * section.c (asection): Renamed seclets_head and seclets_tail to
149 link_order_head and link_order_tail.
150 * targets.c (bfd_target): Replaced seclet argument with link_info
151 and link_order and symbols arguments in
152 bfd_get_relocated_section_contents. Added symbols argument to
153 bfd_relax_section. Removed bfd_seclet_link. Added
154 bfd_link_hash_table_create, bfd_link_add_symbols and
156 * libaout.h (struct aoutdata): Added external_syms,
157 external_sym_count, external_strings, sym_hashes fields.
158 (obj_aout_external_syms, obj_aout_external_sym_count,
159 obj_aout_external_strings, obj_aout_sym_hashes): New accessor
161 (WRITE_HEADERS): Only output symbols if outsymbols is not NULL.
162 * aoutx.h: Wrote new back end linker routines.
163 (translate_to_native_sym_flags): Return boolean value. Don't use
165 (NAME(aout,write_syms)): Return boolean value. Check return value
166 of translate_to_native_sym_flags and bfd_write.
167 * aout-target.h (final_link_callback): New function.
168 (MY_bfd_final_link): New function.
169 * aout-adobe.c (aout_adobe_write_object_contents): Check return
170 value of aout_32_write_syms.
171 * hp300hpux.c (MY(write_object_contents)): Likewise.
172 * i386lynx.c (WRITE_HEADERS): Likewise.
173 * libaout.h (WRITE_HEADERS): Likewise.
174 * bout.c: Changed functions to use link_info->callbacks rather
175 than bfd_error_vector, and link_orders rather than seclets.
176 * coff-alpha.c: Likewise.
177 * coff-h8300.c: Likewise.
178 * coff-h8500.c: Likewise.
179 * coff-sh.c: Likewise.
180 * coff-z8k.c: Likewise.
181 * elf32-hppa.c: Likewise.
182 * reloc16.c: Likewise.
183 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Look
184 up _gp in the hash table rather than in outsymbols.
185 * coff-a29k.c (a29k_reloc): Pass errors back in new error_message
186 argument rather than printing them.
187 * coffcode.h (bfd_coff_reloc16_extra_cases): Take link_info and
188 link_order arguments rather than seclet. Changed all uses and
190 (bfd_coff_reloc16_estimate): Pass link_info arguments. Changed
191 all uses and definitions.
192 * libcoff.h: Rebuilt.
193 * ecoff.c (ecoff_get_extr): If symbol is defined by linker, but
194 not by ECOFF, make it scAbs.
195 (ecoff_bfd_final_link): Renamed from ecoff_bfd_seclet_link and
197 * elf32-mips.c (mips_elf_final_link): Renamed from
198 mips_elf_seclet_link and rewritten.
199 * elf32-hppa.c (elf32_hppa_stub_description): Added link_info
201 (new_stub, add_stub_by_name, hppa_elf_build_arg_reloc_stub,
202 hppa_elf_build_long_branch_stub, hppa_look_for_stubs_in_section):
203 Added link_info arguments. Changed all callers.
204 * elfcode.h (elf_slurp_symbol_table): Don't quit if outsymbols is
206 * oasys.c (oasys_write_sections): Return boolean value rather than
207 using bfd_error_vector.
208 (oasys_write_object_contents): Check return value of
209 oasys_write_sections.
210 * hosts/std-host.h: Don't declare qsort or strtol.
211 * Makefile.in: Rebuild dependencies.
212 (BFD_LIBS): Removed seclet.o. Added hash.o and linker.o.
213 (CFILES): Removed seclet.c. Added hash.c and linker.c.
214 (HFILES): Removed seclet.h. Added genlink.h.
216 Thu Dec 30 07:41:36 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
218 * section.c (bfd_get_section_contents): Return zero filled buffer
219 if section has no contents.
221 Tue Dec 28 12:43:54 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
223 * elf.c (bfd_elf_generic_reloc): If this is not an inplace reloc,
224 then skip bfd_perform_relocation even if the addend is non-zero.
226 Tue Dec 21 09:22:19 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
228 * coffcode.h (coff_write_relocs) [SWAP_OUT_RELOC_OFFSET]: Copy
229 addend to r_offset field.
231 * Makefile.in (CFILES): Added coff-sparc.c. Rebuild dependencies.
233 * coff-sparc.c (SWAP_IN_RELOC_OFFSET, SWAP_OUT_RELOC_OFFSET,
234 CALC_ADDEND): Define.
236 * aix386-core.c (aix386_core_file_p): Use cd_regs[0] for computing
237 the offsetof because AIX /bin/cc does not like to take the address
238 of an array. (From Minh Tran-Le.)
240 Thu Dec 16 13:06:32 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
242 * Thu Dec 16 15:41:06 1993 Peter Hoogenboom (hoogen@cs.utah.edu)
244 * elf32-hppa.c (hppa_elf_build_arg_reloc_stub): Make sure to copy
245 the return pointer into %r2 if no jump-in-call-delay-slot
246 optimization was done.
248 * hosts/hp300bsd.h: Correctly identify 4.3BSD vs 4.4BSD.
250 Wed Dec 15 08:04:16 1993 David J. Mackenzie (djm@thepub.cygnus.com)
252 * hosts/std-host.h: (time): Don't declare; conflicts on Mach3.
254 * hosts/i386mach3.h (HOST_PAGE_SIZE): Set to 1 to avoid padding.
255 (HOST_SEGMENT_SIZE): Set to 0 for same reason.
257 * i386mach3.c (PAGE_SIZE, SEGMENT_SIZE): Same changes as above.
258 (TEXT_START_ADDR): Correct.
259 (MY_backend_data): Define.
261 * aoutx.h (adjust_o_magic, adjust_z_magic, adjust_n_magic):
262 New functions; code moved from aout_<size>_adjust_sizes_and_vmas.
264 Tue Dec 14 21:48:33 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
266 * som.c (som_begin_writing): Fix thinkos in auxiliary header
268 (bfd_som_attach_aux_hdr): Likewise.
270 Mon Dec 13 23:34:48 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
272 * elf32-hppa.c (hppa_elf_gen_reloc_type): Handle 'T' field
273 selectors for PIC code.
275 * som.c (hppa_som_gen_reloc_type): Handle 'T' field selectors.
276 (som_write_fixups): Handle R_DLT_REL, R_FSEL, R_RSEL, R_LSEL
277 relocations needed by PIC.
279 Tue Dec 7 15:47:51 1993 Stu Grossman (grossman at cygnus.com)
281 * nlmcode.h: Fixes to avoid compiler warnings...
283 Tue Dec 7 15:10:54 1993 Ian Lance Taylor (ian@cygnus.com)
285 * libnlm.h (nlm_backend_data): Removed macro definition.
286 (nlm_alpha_backend_data): Adjusted accordingly.
288 Sun Dec 5 19:32:08 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
290 * som.c (som_begin_writing): Flesh out code for handling simple
292 (bfd_som_attach_aux_hdr): New function.
294 * som.h (struct somdata): Add fields for attaching version and
295 copyright headers. Add accessor macros.
297 * som.c (R_DLT_REL, R_AUX_UNWIND, R_SEC_STMT): Add protected
298 definitions for old versions of HPUX which fail to define them.
299 (som_hppa_howto_talbe): Add R_DLT_REL, R_AUX_UNWIND, and R_SEC_STMT
300 now that they're safe. Delete bogus R_STATEMENT relocations.
302 * som.c (som_hppa_howto_table): Add missing R_END_TRY. Delete
303 extra R_DATA_OVERRIDE.
304 (hppa_som_gen_reloc_type): Generate a relocation for the rounding
305 mode selector if needed.
306 (som_write_fixups): Handle requests for a change in the default
307 rounding mode. Rounding modes do not consume input bytes, but
308 are just markers much like R_ENTRY and R_EXIT.
310 Sat Dec 4 19:40:32 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
312 Fri Dec 3 09:55:17 1993 Pete Hoogenboom (hoogen@cs.utah.edu)
314 * elf32-hppa.c: (hppa_elf_reloc): Do not do code reordering when
315 the branch instruction as originally been nullified.
316 hppa_elf_reloc): Avoid useless call to bfd_put_32 () in the
317 case of no code reordering due to an LDO instruction in the
318 delay slot of the branch. Make sure to relocate the correct
319 instruction. Do not perform instruction reordering for millicode
321 (hppa_elf_build_arg_reloc_stub): Change the relocation type
322 to R_HPPA_STUB_CALL_17 when special processing might be needed.
323 (hppa_elf_build_long_branch_stub): Prevent code reordering on
324 a call from a linker stub to another linker stub and for millicode
325 calls. Do not trash the return register for calls from one linker
326 stub to a second linker stub.
328 * elf32-hppa.c: (elf_hppa_howto_table): PLABEL and DLT
329 relocations are not pc-relative.
331 * hppa_stubs.h: (BLE_N_XXX_0_31): New instruction used in
333 (COPY_2_31): Likewise.
335 Fri Dec 3 18:40:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
337 * config/solaris2.mh (HDEFINES): Remove -Dconst=
338 * hosts/solaris.h: If not __GNUC__, define const as empty.
340 Thu Dec 2 15:43:32 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
342 * ecoff.c: Added various casts for 32/64 bit cross targeting.
343 (ecoff_mkobject_hook): Set SEC_SHARED_LIBRARY for the .reginfo
344 section so that the linker ignores it.
345 * ecofflink.c: Added various casts for 32/64 bit cross targeting.
346 (ecoff_add_bytes): Changed need argument to size_t.
347 (bfd_ecoff_debug_link_other): Check return value of
350 * libbfd-in.h (new_bfd): Use void rather than an empty parameter
354 * libnlm.h (struct nlm_obj_tdata): New field backend_data.
355 (nlm_backend_data, nlm_alpha_backend_data): New accessor macros.
356 (struct nlm_backend_data): New field no_uninitialized_data.
357 (nlm_no_uninitialized_data): New accessor macro.
358 * nlmcode.h (nlm_compute_section_file_positions): Handle
359 no_uninitialized_data.
360 (nlm_external_reloc_compare): Sort relocs by address for a
361 particular symbol, to make the sort more stable.
362 (nlm_write_object_contents): Cast the arguments to qsort. Get the
363 value of a debugging symbol the same way we get the value of a
365 * nlm32-alpha.c: Various changes. Write out GP and .lita relocs.
366 Set no_uninitialized_data to true.
367 * nlm32-i386.c (nlm32_i386_backend), nlm32-sparc.c
368 (nlm32_sparc_backend): Set no_uninitialized_data field false.
369 * nlmswap.h (nlm_swap_fixed_header_out): Zero out destination
370 before filling it in.
372 Wed Dec 1 21:47:58 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
374 * som.c (som_section_type, som_decode_symcalss): New functions.
375 (som_get_symbol_info): Use them.
376 (som_slurp_symbol_table): Set the section of common and undefined
379 Wed Dec 1 14:15:10 1993 Ken Raeburn (raeburn@cygnus.com)
381 * elfcode.h (write_relocs): Initialize local var LAST_SYM_IDX, to
384 * mipsbsd.c: Changes from Ralph Campbell:
385 (mips_howto_table_ext): MIPS_RELOC_LO16 should use
386 complain_overflow_dont.
387 (aout_mips_*_vec): Make name use "a.out" instead of "aout", to
390 * bfd.c (bfd_errmsgs): Reword invalid-target message.
392 * config.bfd: For sparc*-*-coff, use sparc-coff.
393 * configure.in: Handle sparccoff_vec.
394 * targets.c (sparccoff_vec): Declare.
396 * reloc.c (bfd_get_reloc_size): New function.
397 (struct reloc_howto_type): Update documentation of size field.
399 Wed Dec 1 14:39:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
401 * nlm32-alpha.c: New file; preliminary Alpha NetWare support.
402 * config.bfd (alpha-*-netware*): New target; use alpha-nlm.
403 * config/alpha-nlm.mt: New file.
404 * configure.in (nlm32_alpha_vec): New vector; use nlm32-alpha.o,
406 * Makefile.in (BFD32_BACKENDS): Added nlm32-alpha.o.
407 (CFILES): Added nlm32-alpha.c.
408 Rebuilt dependencies.
409 * targets.c (nlm32_alpha_vec): Declare.
411 * libnlm.h (struct nlm_backend_data): New fields
412 optional_prefix_size, nlm_backend_object_p, nlm_write_prefix,
413 nlm_set_public_section, nlm_get_public_offset. Removed unused
414 nlm_write_reloc field. Changed nlm_write_import to remove
415 unnecessary symbol argument. Renamed nlm_write_externals to
416 nlm_write_external, and changed cound argument from bfd_vma to
418 (nlm_optional_prefix_size, nlm_backend_object_p_func,
419 nlm_write_prefix_func, nlm_set_public_section_func,
420 nlm_get_public_offset_func): New accessor macros.
421 (nlm_write_reloc_func): Removed.
422 (nlm_write_external_func): Adjusted for field renaming.
423 * nlm32-i386.c (nlm_i386_write_import): Renamed from
424 nlm_i386_write_reloc. Removed old nlm_i386_write_import which
425 just called old nlm_i386_write_reloc.
426 (nlm_i386_write_external): Renamed from nlm_i386_write_externals.
427 Declared. Changed second argument from bfd_vma to bfd_size_type.
428 (nlm32_i386_backend): Adjusted for changes to fields and names.
429 * nlm32-sparc.c (nlm_sparc_mangle_relocs): Removed unused,
431 (nlm_sparc_write_import): Removed second argument.
432 (nlm_sparc_write_external): Renamed from
433 nlm_sparc_write_externals. Changed second argument from bfd_vma
435 (nlm32_sparc_backend): Adjusted for changes to fields and names.
436 * nlmcode.h: Removed some unused code.
437 (nlm_object_p): Don't destroy tdata pointer. Call
438 backend_object_p function if it exists.
439 (nlm_slurp_symbol_table): Removed unused variable rcount. Call
440 set_public_section_func if it exists instead of checking
442 (nlm_compute_section_file_positions): Account for
443 optional_prefix_size.
444 (nlm_write_object_contents): Account for optional_prefix_size.
445 Removed useless variable write_reloc_func. Changed declaration
446 and call of write_import_func. Call write_prefix_func if it
447 exists. Removed unused variables len and temp. Call
448 get_public_offset_func if it exists rather than setting NLM_HIBIT.
449 * nlmswap.h: Declare functions.
451 * bfd-in.h (uint64_typeLOW, uint64_typeHIGH): Fully parenthesize
453 (fprintf_vma, sprintf_vma): Use %lx, not %x.
454 * bfd-in2.h: Rebuilt.
455 * hosts/alphaosf.h (uint64_typeLOW, uint64_typeHIGH): Cast results
458 * config.bfd: Don't set target64 here, as the setting is ignored.
459 * configure.in (ecoffalpha_little_vec): Set target64.
461 * config/alphaosf.mt (TDEFINES): Removed; setting host parameters
462 in TDEFINES is wrong.
464 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
465 Remove unused variable output_section.
467 Tue Nov 30 16:45:23 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
469 * irix-core.c: New file for Irix 4 and Irix 5 core support.
470 Functions taken out of coff-mips.c. Handle vmap type VMAPFILE.
471 * coff-mips.c: Irix 4 core file support moved to irix-core.c.
472 * targets.c: If IRIX_CORE defined, include irix_core_vec in
474 * config/irix4.mh (HDEFINES): Add -DIRIX_CORE.
475 (HDEPFILES): Define to be irix-core.o.
476 * config/irix5.mh (HDEFINES): Define to be -DIRIX_CORE.
477 (HDEPFILES): Define to be irix-core.o.
478 * Makefile.in (OPTIONAL_BACKENDS): Added irix-core.o. Removed
479 sco-core.o, which no longer exists.
480 (CFILES): Added all *-core.c files.
481 Rebuilt dependencies.
483 Wed Nov 24 02:02:41 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
485 * elfcode.h (map_program_segments): Restore check of file_size !=
486 mem_size, but only if SHT_PROGBITS.
488 * ecofflink.c: New file to hold ECOFF debug information linking
490 * ecoff.c (ecoff_clear_output_flags, ecoff_rel, ecoff_dump_seclet,
491 ecoff_add_string, ecoff_get_debug): Removed. Functionality now in
493 (ecoff_get_extr, ecoff_set_index): New functions.
494 (ecoff_slurp_symbolic_info): Don't save raw_size.
495 (ecoff_bfd_seclet_link): Rewrote to use ecofflink.c functions.
496 (ecoff_compute_section_file_positions): Don't set EXEC_P just
497 because there is a start address.
498 (ecoff_write_object_contents): Handle external symbols here. Use
499 ecofflink.c functions to write out debugging information.
500 * elf32-mips.c (mips_elf_read_ecoff_info, mips_elf_get_extr,
501 mips_elf_set_index): New functions.
502 (mips_elf_seclet_link): Discard empty sections, the .options
503 section and .gptab sections. Handle linking .mdebug section.
504 * libecoff.h (ecoff_data_type): Removed raw_size and ifdbase.
505 * libelf.h (elf_symbol_type): Added mips_extr to tc_data union.
506 * bfd-in.h: Added prototypes for routines in ecofflink.c (some are
507 called by gas, so they are public).
508 * bfd-in2.h: Rebuilt.
509 * Makefile.in (BFD_LIBS): Added ecofflink.o.
510 (CFILES): Added ecofflink.c.
511 (ecofflink.o): New target. Rebuilt dependencies.
513 Mon Nov 22 22:26:42 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
515 * som.c (hppa_object_p): Also recognize SHARED_MAGIC_CNX as
516 a valid magic number if it's been defined.
518 Mon Nov 22 14:17:36 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
520 * ecoff.c (ecoff_mkobject): Don't create .scommon section; linker
521 no longer requires it.
522 (ecoff_bfd_seclet_link, ecoff_sizeof_headers,
523 ecoff_write_object_contents): Don't treat .scommon section
526 Mon Nov 22 10:54:27 1993 Fred Fish (fnf@cygnus.com)
528 Merged changes from kev@spuds.geg.mot.com (Kevin A. Buettner):
529 * bfd/config/delta88.mh (HDEFINES): Define this to be -DPTRACE_CORE.
530 * bfd/config/delta88.mh (HDEPFILES): Defined to be ptrace-core.o.
531 * bfd/ptrace-core.c: New file for dealing with core files with
532 start with the ptrace_user structure found on BCS compliant systems.
533 * bfd/targets.c (ptrace_core_vec): New vector.
535 Mon Nov 22 02:33:12 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
537 * Minimal support for reading SOM fixup streams. Allows
538 objdump -r to do something reasonable.
539 * som.c (som_get_reloc_upper_bound): Implement.
540 (som_canonicalize_reloc): Implement.
541 (som_set_reloc_info, som_slurp_reloc_table): New functions.
543 Sun Nov 21 13:46:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
545 * hosts/lynx.h (FPRINTF_ALREADY_DECLARED): Define.
546 * hosts/sparclynx.h: Include lynx.h instead of duplicating it.
548 Fri Nov 19 14:34:04 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
550 * coff-a29k.c (a29k_reloc): For R_IREL, don't left shift
551 signed_value before sign extending it. Don't subtract out
552 reloc_entry->address. This makes it compatible with what gas is
555 * elfcode.h (elf_fake_sections): Accept .sbss as the name for a
557 (map_program_segments): Don't leave the loop after the first
559 (assign_file_positions_except_relocs): Only force sh_offset and
560 sh_addr to match modulo maxpagesize for a section which is not
561 SHT_NOBITS. Changed the method used to force page alignment after
562 a SHT_NOBITS section to only do it for the last such consecutive
563 section, and to really force page alignment.
565 Fri Nov 19 04:02:01 1993 Ken Raeburn (raeburn@cambridge.cygnus.com)
567 * coffcode.h (coff_slurp_symbol_table): Print more verbose message
568 in the case of an unknown (or unhandled) storage class.
570 * config/i386-lynx.mt (TDEFINES): FPRINTF_ALREADY_DECLARED should
571 not be defined here, since it is a host attribute, not a target
573 * config/m68k-lynx.mt, config/sparc-lynx.mt: Ditto.
575 * coffcode.h (coff_bfd_reloc_type_lookup): Don't define if already
578 * coff-sparc.c: Define some relocations, based on ELF relocations.
579 (enum reloc_type, bfd_coff_generic_reloc, coff_sparc_howto_table,
580 struct coff_reloc_map, sparc_reloc_map,
581 coff_sparc_reloc_type_lookup): Borrowed from elf32-sparc.c and
583 (coff_bfd_reloc_type_lookup): Define to be coff_sparc_reloc_....
584 (rtype2howto): Index into coff_sparc_howto_table using
587 Thu Nov 18 11:45:39 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
589 * config.bfd (mips*-*-irix5*): New target; use mipsbelf.
590 * configure.host (mips-sgi-irix5*) New host; use irix5 (no
591 hosts/irix5.h created; just use std-host.h).
592 * config/irix5.mh: New file; like irix4.mh, but don't use -G or
594 * Makefile.in: Rebuilt dependencies.
596 * ecoffswap.h: Changed type of internal pointers for swap out
597 functions to const *.
599 * elf32-mips.c (mips_elf_got16_reloc): New function. Handle GOT16
600 correctly for assembler, but linker support not implemented.
601 (elf_mips_howto_table): Use mips_elf_got16_reloc for GOT16.
602 (mips_elf_sym_is_global): New function; at least on Irix 5, all
603 non section symbols are considered global.
604 (elf_backend_sym_is_global): Define.
605 (mips_elf_final_write_processing): New function. Set the MIPS
606 architecture level correctly.
607 (elf_backend_final_write_processing): Define.
608 (mips_elf_section_from_shdr): Handle SHT_MIPS_OPTIONS.
609 (mips_elf_fake_sections): Set entsize of .mdebug or .reginfo
610 section to 1. Handle .options section.
611 (mips_elf_acom_section, mips_elf_acom_symbol,
612 mips_elf_acom_symbol_ptr): New static variables, used to build a
613 generic .acommon section to hold SHN_MIPS_ACOMMON symbols.
614 (mips_elf_symbol_processing): Handle SHN_MIPS_ACOMMON symbols by
615 putting them all in a global .acommon section.
617 * elfcode.h (bfd_section_from_shdr): Don't dump core if target
618 section has no ELF section data.
619 (elf_make_sections): Set addralign of reloc section to 4.
620 (elf_fake_sections): Likewise.
621 (map_program_segments): Don't consider section 0.
622 (assign_file_positions_except_relocs): Don't consider section 0.
623 In the main loop, skip the symtab and strtab sections, since their
624 positions are set elsewhere.
625 (swap_out_syms): Set addralign of symtab section to 4. Set
626 addralign of strtab sections to 1.
627 (assign_file_positions_for_relocs): Don't consider section 0.
628 (write_object_contents): Don't write out section 0.
630 * libelf.h (struct elf_backend_data): Added fields
631 elf_backend_sym_is_global and elf_backend_final_write_processing.
632 * elf32-target.h (elf32_bed): Added corresponding initializers.
633 * elf64-target.h (elf64_bed): Likewise.
634 * elfcode.h (sym_is_global): Take abfd argument. Call
635 elf_backend_sym_is_global if it is not NULL.
636 (elf_map_symbols): Pass abfd to sym_is_global.
637 (write_object_contents): Call elf_backend_final_write_processing
640 Wed Nov 17 18:43:28 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
642 * libecoff.h: Include coff/ecoff.h.
643 (struct ecoff_backend_data): Move external debugging information
644 fields into a single field pointing to an ecoff_debug_swap
646 (ecoff_data_type): Move debugging information fields into a single
647 field pointing to an ecoff_debug_info structure.
648 * coff-alpha.c, coff-mips.c, ecoff.c: Corresponding changes.
650 Wed Nov 17 17:38:58 1993 Sean Eric Fagan (sef@cygnus.com)
652 * nlmswap.h: New file to swap fixed header. Included by NLM
654 * libnlm.h (struct reloc_and_sec): Define.
655 (struct nlm_backend_data): Add fields fixed_header_size,
656 nlm_read_import, nlm_write_import, nlm_swap_fhdr_in,
658 (nlm_fixed_header_size, nlm_read_import_func,
659 nlm_write_import_func, nlm_swap_fixed_header_in_func,
660 nlm_swap_fixed_header_out_func, nlm_write_external_func): New
662 * nlmcode.h: Use new functions.
663 * nlm32-i386.c: Provide new functions.
664 * nlm32-sparc.c: New file; SPARC NLM backend.
666 Wed Nov 17 13:56:10 1993 Stan Shebs (shebs@rtl.cygnus.com)
668 * i386lynx.c (swap_std_reloc_in, swap_ext_reloc_in): Ignore
669 garbage bits appearing in the upper end of symbolnums.
671 * config/sparc-lynx.mt (TDEFINES): Add -DFPRINTF_ALREADY_DECLARED.
673 Tue Nov 16 17:03:41 1993 Stu Grossman (grossman at cygnus.com)
675 * lynx-core.c (lynx_core_file_p): Change bfd_zalloc to bfd_alloc.
676 * m68klynx.c: Define core file macros.
677 * hosts/i386lynx.h, hosts/m68klynx.h, hosts/lynx.h: Move all
678 non-architecture specific stuff into lynx.h.
680 Tue Nov 16 15:45:54 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
682 * i386linux.c: Define new macro ZMAGIC_DISK_BLOCK_SIZE to 1024, and
683 change PAGE_SIZE to 4096.
685 Mon Nov 15 11:48:08 1993 Ken Raeburn (raeburn@rtl.cygnus.com)
687 * Makefile.in (diststuff): New target.
691 Sun Nov 14 23:33:01 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
693 * som.c (som_object_setup): Do not create dummy ".text", ".data",
695 (setup_sections): Do not set SEC_HAS_CONTENTS if a section's size
696 is zero. Recognize BSS type sections and turn off SEC_LOAD and
697 SEC_DATA (so binutils/size works). Set the correct value for
698 a section's _raw_size.
699 (som_slurp_symbol_table): Program entry points, and millicode are
700 also functions. Mark them as such. Also mark L$* symbols as
703 * bfd-in2.h: Rebuilt.
705 Sat Nov 13 15:27:15 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
707 * som.c (som_bfd_reloc_type_lookup): Add missing prototype. Returns
708 a pointer to constant data. Delete bogus #define which made the
711 * som.c (som_prep_for_fixups): New function.
712 (som_write_fixups): New function.
713 (som_write_space_strings): New function.
714 (som_write_symbol_strings): New function.
715 (som_begin_writing): New function.
717 Fri Nov 12 15:29:36 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
719 * som.c (som_write_object_contents): Do not abort. Flesh out.
720 (som_set_section_contents): Do not abort. Flesh out.
722 * som.c (som_write_headers): New function.
723 (som_prep_headers): New function.
724 (som_build_and_write_symbol_table): New function.
726 * som.c (som_sizeof_headers): Add missing prototype.
727 (som_set_arch_mach): Do not abort.
729 * som.c (som_count_spaces): New function.
730 (som_count_subspaces): New function.
731 (compare_syms): New function.
732 (som_compute_checksum): New function.
734 * som.c (hppa_som_gen_reloc_type): New function.
735 (som_bfd_reloc_type_lookup): New function.
737 * som.c (try_prev_fixup): New function.
738 (som_reloc_skip): New function.
739 (som_reloc_addend): New function.
740 (som_reloc_call): New function.
742 * som.c (som_initialize_reloc_queue): New function.
743 (som_reloc_queue_insert): Likewise.
744 (som_reloc_queue_fix): Likewise.
745 (som_reloc_queue_find): Likewise.
747 * som.c (som_hppa_howto_table): SOM howto relocation table.
748 (hppa_som_reloc): New function.
750 * som.c (struct reloc_queue): New structure to keep track of
751 the last four multibyte relocations emitted.
752 (enum pa_symbol_type): Type to fully describe the symbol types
753 associated with .import/.export assembler directives.
755 * som.c: Include libhppa.h
757 * som.c (bfd_som_set_section_attributes): New function.
758 (bfd_som_set_subsection_attributes): Likewise.
759 (bfd_som_set_symboL_type): Likewise.
760 (bfd_som_attach_unwind_info): Likewise.
761 * som.h: Declare new exported functions.
763 * som.h (struct som_symbol): Add new fields to hold additional
764 information needed to build/write symbol tables and fixup streams.
765 (struct som_section_data_struct): Add new fields to hold additional
766 information needed to build/write space and subspace headers.
767 (som_symbol_data): New accessor macro for SOM symbol information.
768 (R_HPPA_*): Basic relocation types to be used by the assembler.
770 Fri Nov 12 11:00:28 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
772 * trad-core.c (trad_unix_core_file_p): If new hook
773 TRAD_CORE_ALLOW_ANY_EXTRA_SIZE defined, then skip the check for the
774 corefile being too big.
775 * hosts/i386sco.h: Define it.
777 Thu Nov 11 15:16:28 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
779 * bfd.c (struct _bfd): Add hppabsd_core_data.
780 * targets.c (target_vector): Add hppabsd_core_vec.
781 * hpux-core.c (hpux_core_core_file_p): Fail if an unknown core
782 section is encountered during core section scanning.
783 * hppabsd-core.c: New file.
784 * config/hppabsd.mh: Enable HPPA BSD core files.
786 * elf32-hppa.c (hppa_elf_reloc): Remove DEFUN crud. Remove code
787 which is either commented out or ifdef'd out. Add, update and
788 clean comments. Fix various indention and spacing problems. Handle
789 problems related to using "ble" to jump to a stub rather than "bl"
790 (%r31 is trashed by "ble", but not by "bl").
791 (NEW_INSTRUCTION): Put inside curly braces.
792 (CURRENT_STUB_OFFSET): Fix indention problems.
793 (hppa_elf_build_arg_reloc_stub): Fix indention and spacing problems.
794 Add, update and clean comments. Handle "ble" %r31 lossage problems.
795 (hppa_elf_build_long_branch_stub): Likewise.
796 (hppa_look_for_stubs_in_section): Likewise.
797 (hppa_elf_stub_check): Remove obsolete function.
799 * hppa_stubs.h: Add new instructions to deal with %r31 lossage
800 problems. Delete unused instructions.
802 Tue Nov 9 11:40:27 1993 Stan Shebs (shebs@rtl.cygnus.com)
804 * m68klynx.c (TARGET_IS_BIG_ENDIAN_P): Define.
806 Tue Nov 9 11:26:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
808 * elfcode.h (elf_object_p): Rather than looking through an array
809 of architectures, get the ELF EM_xxx code from the backend
810 information. Let the generic ELF target match any EM_xxx code not
811 matched by another ELF target. Call elf_backend_object_p to let
812 the backend do more checks and set global information.
813 * libelf.h (struct elf_backend_data): Added elf_machine_code and
814 elf_backend_object_p fields.
815 (struct bfd_elf_arch_map): Removed.
816 (bfd_elf_arch_map, bfd_elf_arch_map_size): Don't declare.
817 * elf32-target.h, elf64-target.h: Initialize elf_machine_code
818 field with ELF_MACHINE_CODE. Initialize elf_backend_object_p
819 field with elf_backend_object_p (if it is defined).
820 * elf32-gen.c, elf32-hppa.c, elf32-i386.c, elf32-i860.c,
821 elf32-m68k.c, elf32-m88k.c, elf32-mips.c, elf32-sparc.c,
822 elf64-gen.c (ELF_MACHINE_CODE): Defined.
823 * elf32-mips.c: Include ecoffswap.h to get ECOFF swapping
825 (mips_elf_object_p): Set the right machine number.
826 (mips_elf_ecoff_debug_swap): Defined.
827 (elf_backend_object_p): Defined to be mips_elf_object_p.
828 (elf_backend_ecoff_debug_swap): Defined to be
829 mips_elf_ecoff_debug_swap.
830 * elf.c (bfd_elf_arch_map, bfd_elf_arch_map_size): Removed.
832 * libbfd-in.h (target_vector, default_vector): Declare.
834 * format.c (target_vector, default_vector): Don't declare.
836 * elf32-mips.c (elf_mips_howto_table): Don't complain on overflow
837 for R_MIPS_26. Correct overflow detection requires matching the
838 upper four bits of the destination against the PC. From Ted Lemon
839 <mellon@pepper.ncd.com>.
841 * bout.c (b_out_reloc_type_lookup): Return type should point to
843 * coff-i960.c (coff_i960_reloc_type_lookup): Likewise.
844 * elf32-hppa.c (elf_hppa_reloc_type_lookup): Likewise.
845 * mipsbsd.c (MY(reloc_howto_type_lookup)): Likewise.
846 * coff-i386.c (coff_i386_reloc): Made howto const.
847 * oasys.c (oasys_write_data): Made how const.
849 * libelf.h: Added some comments.
850 (struct elf_backend_data): Added elf_backend_ecoff_debug_swap
851 field. Removed unused write_relocs field.
852 * elf32-target.h: Adjusted elf_backend_data initialization
854 * elf64-target.h: Corrected elf_backend_data initialization to
855 fill in all fields and to set elf_64_p to 1.
857 Mon Nov 8 18:13:14 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
859 * elfcode.h (bfd_section_from_shdr): Remove duplicate assignment
860 to filepos in SHT_STRTAB case.
861 (assign_file_position_for_section): Set BFD section filepos as
862 well as ELF section sh_offset.
864 * reloc.c: Use const instead of CONST.
865 (bfd_perform_relocation): Make variable howto a const pointer.
866 * bfd-in2.h, libbfd.h: Rebuilt.
868 Mon Nov 8 12:19:15 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
870 * Makefile.in (realclean): Don't remove generated headers. Reverts
871 change of 2 Jul 1993.
873 Mon Nov 8 06:08:31 1993 D. V. Henkel-Wallace (gumby@cirdan.cygnus.com)
875 * configure.bfd: make unixware equivalent to sysv4.
877 * config/i386-nlm.mt: bring in elf config; make it the default.
879 Sun Nov 7 20:21:38 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
881 * libbfd.c (bfd_put_8): Add parens around reference to "val"
884 Fri Nov 5 21:45:09 1993 David J. Mackenzie (djm@thepub.cygnus.com)
886 * hosts/i386mach3.h (HOST_SEGMENT_SIZE),
887 i386mach3.c (SEGMENT_SIZE, TEXT_START_ADDR): Correct values (?).
889 Fri Nov 5 15:17:57 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
891 * coffcode.h (coff_write_object_contents): Zero out internal_a.
893 Fri Nov 5 10:41:07 1993 David J. Mackenzie (djm@thepub.cygnus.com)
895 * aoutx.h, archive.c, archures.c, bfd.c, cache.c, coffcode.h,
896 core.c, ctor.c, format.c, init.c, libbfd.c, opncls.c, reloc.c,
897 section.c, syms.c, targets.c:
898 Doc cleanup (spelling, punctuation, grammar, formatting).
899 * bfd-in2.h, libbfd.h: Rebuild.
901 Thu Nov 4 14:46:14 1993 John Gilmore (gnu@rtl.cygnus.com)
903 * bfd-in.h (bfd_get_cacheable, bfd_set_cacheable): New accessors.
904 * bfd.c, opncls.c: Improve comments on file descriptor cacheing.
906 Thu Nov 4 08:54:30 1993 Jeffrey A. Law (law@snake.cs.utah.edu)
908 * From Pete Hoogenboom (hoogen@cs.utah.edu)
909 * elf32-hppa.c (hppa_elf_get_section_contents): Fix logic error
910 in last change. Always rebuild symbol extension section the first
911 time though if output sections exist (fixes ld -r problems).
913 Thu Nov 04 08:08:46 1993 Jeffrey Wheat (cassidy@cygnus.com)
915 * Makefile.in: Add .PHONY for check and installcheck rules.
917 Tue Nov 2 14:42:27 1993 Bill Cox (bill@tarkas.cygnus.com)
919 * libbfd-in.h (artdata): Use long, not time_t for portability, at
920 least to HPUX. File below is a derived file.
922 Tue Nov 2 14:42:27 1993 Bill Cox (bill@tarkas.cygnus.com)
924 * libbfd.h (artdata): Use long, not time_t for portability, at
927 Tue Nov 2 09:32:25 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
929 * config.bfd: Use bigmips for mips*-*-bsd*.
931 Mon Nov 1 14:30:09 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
933 * elfcode.h (elf_slurp_reloca_table, elf_slurp_reloc_table):
934 Handle symbol number of zero.
936 * reloc.c (enum bfd_reloc_code_real): Added
937 BFD_RELOC_MIPS_LITERAL, BFD_RELOC_MIPS_GOT16,
938 BFD_RELOC_MIPS_CALL16, BFD_RELOC_MIPS_GPREL32.
939 * bfd-in2.h: Rebuilt.
940 * coff-mips.c (mips_bfd_reloc_type_lookup): Handle
941 BFD_RELOC_MIPS_LITERAL.
942 * elf32-mips.c (mips_reloc_map): Handle new relocs.
943 (mips_elf_hi16_reloc, mips_elf_lo16_reloc): Rearrange _gp_disp
946 * aout-target.h (MY_bfd_debug_info_start, MY_bfd_debug_info_end,
947 MY_bfd_debug_info_accumulat [sic]): Remove unused definitions.
948 (MY_bfd_get_relocated_section_contents, MY_bfd_relax_section,
949 MY_bfd_seclet_link): Define.
950 (MY_bfd_reloc_type_lookup): Rename from
951 MY_reloc_howto_type_lookup.
952 (MY_bfd_make_debug_symbol): Rename from MY_make_debug_symbol.
953 (MY(vec)): Use JUMP_TABLE rather than listing functions.
954 * hp300hpux.c (MY_get_symtab, MY_get_symtab_upper_bound,
955 MY_canonicalize_reloc, MY_write_object_contents): Don't define in
956 terms of MY, because that causes a recusive invocation of CAT when
957 expanded within JUMP_TABLE, and ANSI compilers don't expand
959 * mipsbsd.c (MY_bfd_reloc_type_lookup): Rename from
960 MY_reloc_howto_type_lookup, and don't define in terms of MY.
961 (MY_canonicalize_reloc): Don't define in terms of MY.
962 (aout_mips_little_vec, aout_mips_big_vec): Use JUMP_TABLE rather
963 than listing functions.
965 Mon Nov 1 09:12:25 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
967 * config.bfd: Use m68k-elf for m68*-*-sysv4*.
976 version-control: never